LUISS Enlabs – Security challenge

Segnaliamo per conto di Lupo Heusch un’opportunità lanciata all’interno dell’acceleratore di startup LUISS ENLABS.
Si tratta di un programma in partnership con Cisco Systems, InfoCert e NTT Data rivolto sia a startup che singoli talenti interessati a formare e/o unirsi ad un team per creare una startup nel settore della cybersecurity.

Il programma consiste in due fasi:
1) pre-accelerazione (formazione gratuita e rimborsata – 1.000€ ) della durata di 3 mesi
2) accelerazione (con pre-seed di 80.000€) della durata di 4 mesi per i team migliori.

Il 21 settembre, Augusto Coppola (direttore del programma di accelerazione a LUISS ENLABS) e Cisco saranno a Milano per presentare il programma e per un seminario su cosa vuol dire fare startup.

Di seguito il link per registrarsi all’evento, con tutte le informazioni:
http://luissenlabs.com/event/security-challenge-startups-wanted-milano/

Per saperne di piu’ e iscriversi al programma (deadline: 23 settembre) potete visitare il link:
http://luissenlabs.com/securitychallenge/

[#development #snippet] Singleton in Python

Ciao,

pubblico uno snippet che avevo prodotto per il mio progetto di tesi, che può tornare utile a chiunque, per implementare il pattern singleton in Python.

from __future__ import absolute_import
from functools import wraps
__author__ = 'Patrizio Tufarolo'

class SingletonException(Exception):
    pass

class Singleton(object):
    _instances = {}
    _configured = False
    def __new__(class_, *args, **kwargs):
        if class_ not in class_._instances:
            class_._instances[class_] = super(Singleton, class_).__new__(class_, *args, **kwargs)
        return class_._instances[class_]

    def configure(self):
        self._configured = True

    def check_configured(self):
        return self._configured

    @staticmethod
    def _if_configured(this_exception):
        if not this_exception or not issubclass(this_exception, SingletonException):
            this_exception = SingletonException

        def _configured_decorator(func):
            @wraps(func)
            def wrapper(inst, *args, **kwargs):
                if not inst.check_configured():
                    raise this_exception("Object not configured properly")
                else:
                    return func(inst, *args, **kwargs)

            return wrapper

        return _configured_decorator

L’implementazione fornita contiene però una peculiarità:
la mia necessità era quella di poter istanziare delle classi Singleton per lanciare delle routine di configurazione prima di poter effettivamente utilizzare un oggetto.
Alcuni metodi della mia classe Singleton, pertanto, devono poter essere eseguiti solo dopo la configurazione dell’oggetto.
L’espediente da me utilizzato per risolvere il problema è piuttosto banale: ho utilizzato un flag booleano (_configured), inizialmente settato a False.
Il metodo check_configure ne restituisce il valore, e il metodo configure lo imposta a True.
Per dichiarare poi i metodi eseguibili solo ad oggetti configurati utilizzo poi il decoratore _if_configured, la quale, nel caso l’oggetto non sia ancora stato configurato, solleva un’eccezione (anche personalizzabile, se la classe viene passata come parametro).

Per utilizzare il mio codice è sufficiente far ereditare la propria classe dalla classe Singleton da me fornita:

class CustomException(Exception):
    pass

class MioOggettoSingleton(Singleton):
    def __init__(self):
        '''do something cool'''
        Singleton.__init__(self)

    def configure(self):
        Singleton.configure(self)

    @Singleton._if_configured
    def metodo_eseguibile_solo_se_configurato(self):
        print("Ok oggetto configurato")

    def metodo_eseguibile_sempre(self):
        print("Vabbe io funziono sempre")

    @Singleton._if_configured(CustomException)
    def metodo_eseguibile_solo_se_configurato(self):
        print("Ok oggetto configurato")
        '''se non fosse configurato ritornerebbe un'eccezione'''

Spero vi sia utile!

Filibusta LUG 2015/2016 – Devuan Q/A

#!/bin/bash
cat > /dev/yourbrain << EOF
Ciao!
Venerdì 2 Ottobre alle 14.30 presenteremo Filibusta.
A partire dalle ore 15.00 si assisterà all'evento Devuan Q/A in diretta dal dipartimento di Comelico, con la partecipazine di Franco Lanza, fondatore del progetto Devuan.
Cosa aspetti? Unisciti a noi!
Ti aspettiamo in AULA 5 SUD!

Per maggiori informazioni sull’evento consultare Facebook all’indirizzo:
https://www.facebook.com/events/400879923443205/
Evento Devuan Q&A tenuto in via Comelico, in videoconferenza streaming presso il dipartimento di Crema:
https://www.facebook.com/events/967189586698098/
EOF

Install Fest del 2 Aprile

Salve a tutti,
vi ricordo che per domani è previsto l’Install Fest, occasione nella quale avrete modo di installare Linux su una macchina virtuale o come sistema operativo secondario o principale sul vostro computer.
Si tratta di una fase essenziale per ogni partecipante del LUG.
Grazie a questa occasione potremo tutti allinearci dal punto di vista software, in modo da poter iniziare a toccare con mano il sistema operativo in tutti i suoi utilizzi e sfaccettature, ed organizzare talk su argomenti più avanzati.
Chiedo dunque che siano presenti, oltre agli interessati all’installazione, anche coloro che già sono esperti nell’utilizzo di questo sistema operativo, per aiutare chiunque avesse bisogno.
Un po’ di divertimento sarà garantito a tutti mediante un LAN party al gioco Urban Terror.
Ci troveremo dalle ore 16.00 in poi in LABORATORIO EST.
Tutto il materiale necessario è reperibile all’indirizzo:
http://filibusta.crema.unimi.it/~patrizio/install_fest/

All’indirizzohttp://filibusta.crema.unimi.it/~patrizio/install_fest/isos/troverete le ISO di
a) Debian 7.4 64bit
b) Fedora 20 64bit
c) Ubuntu 12.04.4 LTS 64bit
d) Ubuntu 13.10 64bit

All’indirizzo http://filibusta.crema.unimi.it/~patrizio/install_fest/virtualbox/
potete trovare il setup di Virtualbox sia per Windows che per Mac.

All’indirizzohttp://filibusta.crema.unimi.it/~patrizio/install_fest/games/urban_terror/
potete trovare il setup di Urban Terror (multipiattaforma).

– Invito tutti ad avvantaggiarsi nel download del materiale, onde non sovraccaricare troppo il server sul momento, che vi ricordo essere un Pentium 4. Per evitare ciò disporrò anche un mirror secondario per il download nella giornata di domani, e cercherò di portare un hard disk con il materiale per passarvelo via USB per le emergenze.

– Invito chiunque volesse installare Linux come sistema operativo principale (NON VIRTUALIZZATO) a portare con sé una pennetta USB funzionante di almeno 2GB.

– Invito ciascuno a portare un cavo Ethernet, onde lasciare la disponibilità delle patch del laboratorio agli altri studenti non interessati al LUG. Non staccate i cavi ethernet dalle macchine di laboratorio 

I router per il LAN party li porto io,
Buona serata, ci vediamo domani 

Slide del primo incontro (26/03/2014) e programmazione dell install-fest del 2 Aprile

Ciao a tutti,
grazie a coloro che hanno partecipato al primo incontro del Linux User Group nella giornata di oggi, e anche a chi non ha potuto partecipare ma che parteciperà le prossime volte 🙂
L’incontro introduttivo è stato da me incentrato sul sistema operativo Linux e sulle sue caratteristiche. Durante il talk ho mostrato le slide che vi allego qui sotto.

Ci siamo anche accordati per il prossimo meeting, che avverrà in data 2 aprile e si articolerà in un install-fest (installazione collettiva di una distribuzione Linux qualunque, aiutati e assistiti da chi già è esperto nell’utilizzo di questo sistema operativo) seguito da un LAN party (partita colllettiva in rete) con giochi open-source e free come Open Arena e Urban Terror.
Tutto il materiale sarà prossimamente e temporaneamente disponibile per il download sul server di Filibusta.

Durante il talk sono state avanzate anche molte proposte, come conferenze e lezioni a stampo sistemistico e tutorial su argomenti più o meno avanzati.

Tra le iniziative che abbiamo in mente, c’è anche la realizzazione del blog collettivo (verosimilmente questo). Chi voglia l’account su Filibusta e sulla piattaforma WordPress installata (per scrivere articoli sul sito) è pregato di chiedermelo inviandomi una mail all’indirizzo patrizio[dot]tufarolo[at]studenti[dot]unimi[dot]it.
Per scrivermi usate l’indirizzo di ateneo, così da poter verificare che mi arrivino le mail solo da effettivi membri e studenti dell’Università (per motivi di sicurezza non posso offrire l’accesso ai sistemi informatici dell’Università a gente esterna).

Spero che abbiate potuto apprezzare la mia iniziativa, così da poter formare un grande gruppo e diffondere la cultura open-source e il software libero.
Un saluto anche da Majin Tux che vi trasformerà tutti in chocotux.
Majin TuxChocoTux

Primo incontro di Filibusta

Ciao a tutti,
vi informo che Mercoledì 26 Marzo si svolgerà il primo incontro del LUG alle ore 16 e 15.
Si tratterà di un’assemblea introduttiva nella quale potremo esprimere le nostre singolari esigenze e quello che ci aspettiamo che avvenga nel gruppo.
Inizierò col mostrarvi le principali distribuzioni Linux, le loro differenze e i principali utilizzi di questo Sistema Operativo.
L’iniziativa l’ho presa io, ciò nonostante chiunque abbia qualcosa da dire o da mostrare, può tranquillamente farsi avanti… Linux è comunità!
Vi prego però di portare i vostri computer, in quanto non è possibile (credo momentaneamente) utilizzare Linux sulle macchine dell’Università.
Lunedì vi farò sapere l’aula che ci verrà assegnata.
Ciao 🙂

EDIT

L’incontro è confermato per Mercoledì 26 Marzo in aula 4 SUD alle 16.15 🙂 Vi aspettiamo!

IL LUG riapre!

Salve a tutti,
come avete potuto notare dalle innumerevoli rotture di palle tramite Facebook, e dai volantini appesi dove potevo in Università, il Linux User Group di Crema riapre, o almeno, ci provo.
Ho terminato oggi il remake grafico del sito, spero che lo apprezziate.
Spero che apprezzerete questa iniziativa, e mi auguro che possa costituire un punto di partenza per creare un gruppo di utenti Linux all’interno del nostro fantastico ateneo.

A breve mi armo per organizzare un primo incontro, nel frattempo vi invito a rimanere aggiornati tramite Facebook e questo blog per eventuali eventi.

Se avete voglia, iniziate a registrarvi , almeno vediamo di riempire un po’ questo blog ^_^
Buona serata a tutti!

Patrizio