3d python led cube

Luglio 13, 2008 by otacon22

Rieccomi con un progettino che stavo continuando da alcuni giorni e ora vengo a pubblicare.
Molti avranno sentito parlare e avranno visto i famosi “Cubi di led”, essi sono dei mucchi di led saldati insieme in modo da formare un cubo e che vengono accesi in modo alternato per fare delle animazioni.

Qualche giorno fa mi sono arrivati 500 led blu che avevo ordinato su un sito cinese, così ho sfruttato l’abbondanza di risorse per provare anche io a fare un piccolo cubo di led.

Solitamente per questi lavoretti si usa un bel microcontrollore e qualche multiplexer, però io non avevo voglia di usare nè l’uno nè l’altro. Ho quindi pensato di  sfruttare dei contatori.

In elettronica i contatori sono degli integrati con un funzionamento abbastanza semplice: si alimentano hanno 10 pin di uscita, che possono avere un valore digitale, ovvero 0 o 1, che corrispondono a 0V e 5v. Appena alimentato l’integrato si accende solo la prima delle 10 uscite, che sono numerate a partire da 0, quindi in realtà si dice che l’ultima è la nona.
Sull’ integrato c’è un pin in ingresso, su cui puoi mandare un segnale ancora digitale a 5v e poi rilasciarlo. Così facendo il contatore “incrementerà di 1″, quindi l’uscita numero 0 si spegnerà e si accenderà invece l’uscita numero 1.

Dunque continuando a mandare inpulsi su questo pin in ingresso, chiamato “Clock”, è possibile accendere una ad una tutte le uscite. Se mettiamo 10 led, uno per ogni uscita, potremo accenderli in successione uno dopo l’altro. Arrivati al nono si ricomincia da 0.

Cosa dovrebbe centrare tutto questo con un cubo di led?
Beh questo può aiutare ad avere ulteriori pin di output, se come nel mio caso vogliamo usare la porta PARALLELA per comandare il tutto, ed evitare di utilizzare microcontrollori.

Prima di parlare di questo però bisogna parlare della struttura del cubo.

Come tutti sappiamo i led sono dei diodi che emettono luce; hanno due estremità o pin: un catodo e un anodo, ovverosia il + e il - . Alimentando inversamente o da entrambe le parti con lo stesso segno il led resta spento.
Ora quindi dobbiamo fare un cubo; nel mio caso ho voluto farlo 4×4x4, ovvero di 64 led: 4 livelli di 16 led l’uno.
Il primo passo è stato prendere un supporto di plastica che avevo in casa e farci 16 buchi con un trpano, perfettamente allineati tra loro. Ho sfruttato questo per tenere i led ben allineati e distaziati mentre li saldavo. Così ho iniziato mettendo i catodi( il - ) di ogni led in comune con quello vicino, in modo da unire tutti i catodi dei led.
A questo punto avevo 16 anodi rivolti verso di me e un unico pin di catodo. Così ho iniziato a lavorare a livelli e a fare 4 di questi livelli. Poi ho messo questi vari “livelli” uno sopra l’altro per formare fattualmente il cubo,ho saldato assieme tutti gli anodi in verticale, ossia che guardando il cubo dall’ alto ci fosse un unico anodo per ogni colonna
A questo punto ho messo il tutto su una vecchia basetta millefori che avevo in casa, che ho riciclato per questo progetto. Ora mi trovavo davanti a un bel cubo, con sotto 16 pin di ingresso e sul lato 4 masse , una per ogni “piano” del cubo.
Ora entra in gioco l’ingengno: ho trovato questo metodo buono per far funzionare tutto:
la porta parallela del computer ha 8 pin in uscita digitali, come quelli di cui ho parlato prima del contatore, con la differenza che questi possono essere accesi contemporaneamente.
Per controllare tutti i led ho fatto così: usando 2 contatori accendo uno dopo l’altro i 16 pin alla base. Dato che il contatore ( i hcf4017be che ho usato io ) ha solo 10 uscite ne ho usati 2: il primo lo ho collegato dal pin 0 al pin 7 ai primi anodi alla base, poi l’8 pin lo ho lasciato scollegato( per poter avere un pin che teneva tutti quelli del primo contatore spenti per vedere quelli del secondo ),il pin 9, l’ultimo, lo ho collegato al clock dell’ altro contatore, che andava poi a sua volta a collegarsi ai rimanenti led dal pin 0 al pin 7, poi ho lasciato vuoto il pin 8 e 9 per avere anche qui dei pin che tenevano tutti i led del contatore 2 spenti per tenere accesi solo quelli del contatore 1. Ho quindi collegato tutto e poi ho collegato anche le alimentazioni dei contatori e i pin di reset( come dice il nome resettano il valore del contatore) alla parallela. Quindi la parallela aveva collegato l’alimentazione dei contatori, il clock del contatore 1, i 2 reset e i 4 pin dei catodi dei “piani”.
Finito di collegare tutto ho iniziato a fare il software in python.

Per fare il software ho usato la libreria PyParallel, che per non sò qualche motivo sotto linux non funziona se non si esegue prima

sudo modprobe -r lp

sudo modprobe ppdev

e si esegue successivamente python da root.

Il programma appena partito accende i contatori e li resetta. Poi è possibile richiedere tramite una funzione di accendere un certo led, dando le coordinate x,y,z, il programma al suo interno inizia un ciclo con cui dà al contatore il clock fino a quando non arriva ad accendere il led desiderato; mentre lo sta facendo tiene tutti i catodi dei piani a 1, cioè che la parallela invia il + su tutti i piani, così mentre si accendono i led intermedi prima di arrivare a quello desiderato non si veda nulla. Appena il contatore arriva al led desiderato viene acceso il piano che interessa mandando 0 e lasciando gli altri piani a 1.

Sembra che funzioni abbastanza bene il sistema, se non che non è ultraveloce e soprattutto non è il massimo se si vogliono accendere tanti led assieme, perchè non essendo possibile accendere 2 led di una diversa fila contemporaneamente è necessario allora accendere uno e poi l’altro velocissimamente, così da non mostrare il tempo che separa lo spegnimento del primo dall’ accensione del seguente.

il codice sorgente è  sull’ svn , qui, però non sò se possa essere molto utilizzabile dato che per settare i pin di uscita della parallela ho tenuto conto dell’ ordine in cui avevo collegato ai vari pin, quindi bisognerebbe fare tutto identico a me… comqunque almeno per avere una consulatazione il sorgente è lì. Ho fatto una foto che vi posto di seguito e un breve video messo su youtube.

3d led cube

3d led cube

The File Splitter

Luglio 12, 2008 by otacon22

L’ altro giorno stavo lavorando ad alcune cose quando mi è venuta improvvisamente la necessità di dividere un file in più parti… Però mi sono accorto di non avere tools per farlo su Ubuntu.
Allora senza voler cercare programmi già fatti ho deciso di fare io un piccolo tool!

Ho dunque creato un programma da shell funzionante su windows/linux e lo ho chiamato “Fsplitter”, che sta a significare “File Splitter”. È ampliabile, modificabile, impostabile e utilizzabile, ecco a voi i link per scaricarlo dal caro svn di nocopy.

Versione per linux: http://tools.assembla.com/svn/nocopy/projects/Fsplitter/fsplitter.zip

Versione per windows: http://tools.assembla.com/svn/nocopy/projects/Fsplitter/FileSplitter_0.1_WindowsCompiled.zip

La versione per linux contiene un setup.py che va eseguito da root con  argomento “install”

sudo python setup.py install

La versione per windows contiene una serie di files con un exe principale, che va richiamato da shell.

Il programma funziona sia con che senza argomenti, dandogli argomento “-h” fornisce alcune indicazioni

fsplitter -h

Tixo 3.0 - Continua!

Giugno 2, 2008 by otacon22

Hola!

Torno a scrivervi per fare un breve rapporto su quello che avevo progettato nel precedente post e su quello che sto facendo ora…

Come descritto precedentemente ho comprato una scatola stagna in pvc per componenti elettronici, poi ho preso 4 batterie al piombo da 6V e 10A, per un totale di (6*10)*4=240W, che credo permetteranno di coprire bene i consumi del robot in viaggio.
Dentro ho poi messo 4 sbarre di alluminio con relative viti e bulloni per tenere ben salde e immobili le batterie al piombo.
Nella base della scatola in pvc ho fatto vari buchi per inserire dei led, che fanno sia luce per vedere il robot al buio, sia per fare un po’ di scena :) . In particolare ho messo in 4 punti delle coppie di led, uno verde e uno blu, poi ho unito insieme le masse, così posso decidere di avere il fondo del robot blu o verde. Frontalmente ho fatto altri buchi e ho inserito 3 led bianchi a mo’ di fari, di cui il led centrale è uno dei led bianchi più potenti in commercio, da 25000 mcd. Sempre frontalmente ho messo 10 led a infrarosso ad alta efficenza disposti in modo da poter coprire abbastanza spazio. Questi mi saranno utili quando metterò poi forse una telecamera esterna.

Sempre frontalmente ho messo 2 piccole canaline rese impermeabili con dentro entrambe dei sensori a ultrasuoni da 6,4 metri, controllati via seriale.

Qui è visible la scatola e il suo contenuto(con anche la scheda di alimentazione durante l’assemblaggio)

Ah, dimenticavo di dire che sotto ci sono 4 servomotori da 6,5 kg l’uno, con delle ruote da circa 5 cm di diametro.

Facendo un test con i 4 motori a 12V sono arrivato a 2 km/h circa, però con una potenza molto elevata, in grado di spostare anche 2 sedie. Il fatto è che le ruote non sono ben allineate, nonostante le notti insonne per tentare di allinearle bene, quindi bisognerà poi gestire anche l’orientamento. A tale fine ho messo anche una bussola elettronica doppio asse che è in grado di sapere con precisione, rilasciando un segnale analogico, la direzione del nord magnetico terrestre. Il nord, che forse molti non sanno, c’è anche verticalmente sulla terra, cioè se avete una bussola speciale con l’ago che ruota non in orizzontale ma in verticale, potete vedere di quanto siete inclinati, perchè la bussola verrà attratta dal nord del campo e resterà sempre prarallela al suolo. Dunque questo mi sarà anche molto utile per sapere in discesa a che inclinazione sono. A tale proposito stavo anche pensando di utilizzare la forza di gravità in discesa trasformando con un relè di scambio, i motori in dinamo.

Nel pannello sopra ho invece preparato il pannello solare opportunamente isolato con del polistirolo, il gps usb reso impermeabile e incollato al pannello e per finire una antenna wireless con un guadagno di 6 db per avere una recezione migliore del segnale

A proposito di alimentazione ho iniziato a fare, come si vede dalle foto

la scheda di alimentazione. Come sempre ripeto che se non funzionerà bene poi la rifarò ancora. Questa è già la seconda che assemblo. Sopra c’è un sistema che permette di utilizzare le 4 pile in 2 gruppi da 2, in modo da avere 12v per gruppo, poi è possibile passare dal gruppo 1 al gruppo 2 con un relè. Nel momento di scambio un condensatore permette che non si spenga il sistema. Quando passo a un altro gruppo di pile nel frattempo posso ricaricare l’altro gruppo facendo scattare il pannello solare. Una apposita scheda separata( non visibile ) mi permette infatti di tenere costante la corrente dal pannello e ricaricare le batterie al piombo. Tutte le tensioni di ogni batteria e del pannello sono costantemente controllate grazie a dei partitori resistivi appositamente regolati.
Tutti i relè per la ricarica e lo switching sono controllati anch’ essi da dei transistor attivati da dei pin collegabili a un pic o altro.
anche i led sono tutti cablati in modo da poter essere controllati solo da un pin di segnale.
la scheda di alimentazione rilascia poi 5v a 2A per pic e altro e 12v diretti per i motori, poi c’è una scheda esterna( non visibile, in assemblamento) che regola la tensione per alimentare la fonera.
Per controllare tutto l’hardware ho intenzione di usare pic della serie 18f e 16f, tutti da 40 pin, e controllarli in parte via seriale e in parte via ethernet con una scheda apposita per controllare dispositivi ad alta velocità tipo webcam ( non visibile, ora in progettazione ).
Il software è in fase di testing e beta, perchè è necessario pensarlo per consumare meno risorse possibili.

Ho intenzione di creare sul robot un server che è possibile controllare per avere l’accesso totale al robot, oppure configurare per eseguire un compito in modo autonomo.

In conclusione vorrei ribadire che il robot è assolutamente impermeabile e resistente all’ acqua, neve e ghiaccio, eccetto per i sensori a ultrasuoni(altrimenti potrebbe essere quasi stagno)

Si accettano consigli, critiche e soprattutto aiuti!

Ciao!

P.S:Sò del google x-prize, però prima vorrei finire questo!

Tixo 3.0 - Pure Power

Gennaio 29, 2008 by otacon22

Arrivo con elegante ritardo dall’ ultimo post di settembre sull’ hackit.
Come forse avevo accennato all’ hackmeeting avevo iniziato a lavorare con Pollo sulla fonera per qualche applicazione pratica di controllo remoto. Successivamente ho sviluppato 2 versioni robotiche sotto il nome progetto “Tixo” utilizzando la fonera:
Prima utilizzando un case di alimentatori per pc e 2 motori lego ho fatto un piccolo robot, con pila al piombo come sempre, poi, non essendo soddisfatto, visti anche i problemi che dava come controllo motori ho deciso di rifarlo in versione + potente.

Ho chiamato questa nuova versione 2.5, in questa versione ho utilizzato sempre i motori lego con tutte le pulegge e vari sistemi per aumentare la portata di carico e la potenza di spinta di questi ultimi. Il risultato è stato molto buono, anche se va tenuto conto che ho usato invece di una, ben 2 pile: una da 10A e una da 7A, entrambe da 6V. All’ interno avevo messo un driver per motori che li pilotava a 1A a 12V. Il risultato è stato buono, soprattuto vedendo che spostava anche le sedie e andava su quasi qualunque superficie.
Così ho preso questa decisione: lasciare perdere ogni cosa, compreso il progetto del quadricottero, per dedicarmi a fare esperienza con robot da esplorazione autonomi, così ora ho deciso di mettermi a lavorare per fare una versione + stabile e da esterni; cercando di “esagerare ” nelle necessità.
Ovvero lavorare dicendo:”le batterie con i motori accesi durano 4 ore, ok, non bastano, mettiamone un altra”, il sistema di alimentazione è disordinato, ok ,se ne fa un altro nuovo”
Così ora mi sono messo a lavorare a Tixo 3.0 , grazie anche alla collaborazione di Pollo, il progetto sta prendendo forma nella mia mente ma anche praticamente.
Ho deciso di prendere un case in pvc tipo scatola di derivazione piuttosto grande(30×40x12 cm) e utilizzarlo come telaio. Avendo visto poi i problemi con i motori e tutto ho deciso di prendere 4 servi da 7 kg su ebay. Dopo averli testati ho deciso di usarli come motoriduttori( cioè comandandoli senza impulsi, ma come motori normali) e modificandoli per la rotazione continua. Così mi sono ritrovato con 4 motorini dc da 6v, stile motoriduttori. li ho incollati bene sotto il case in pvc e ho preso delle ruotine da robot-italy. Nei primi test ho visto però che queste ruote non reggevano bene e andavano troppo lente, così ho comprato delle ruote di gomma dal Brico Center da circa 10 cm di diametro. Ora almeno ho ruote più robuste e il mio telaio si sposta a 1 km/h, con 4 ruote motrici con infinito peso di carico in orizzontale (sostenuto dalla reazione vincolare delle ruote) e peso di carico massimo a 45° di pendenza di 20kg( 7*4*(radice(2)/2) ) . Con questo intervento pensavo di essere abbastanza soddisfatto, però ho anche scoperto che è possibile utilizzare i motori dei servomotori a 12v al posto che a 6, il che porta molta + potenza di carico e di spinta e velocità raddoppiata (2 km/h).
Ora valuterò se fare un sistema “turbo” che utilizza i motori a 12v quando deve andare veloce, oppure un sistema PWM a 12V, che manda impulsi di accensione a intervalli molto brevi, così da poter regolare la velocità dei motori, e poter sfruttare anche quella massima. Nel frattempo ho poi anche lavorato al sistema di alimentazione. Per ora ho messo 2 batterie a catodo comune che sono collegate con un terminale alla scheda di alimentazione. Su questa scheda ho posto un complesso sistema di regolatori di tensione che mi fornisce un voltaggio di 5,4V a 2A per la fonera e 5,00V a 1A per i pic, qualunque sia lo stato delle pile: sia completamente cariche che completamente scariche(quindi per questo bisogna evitare di andare sottocarica). Poi ho messo anche un sistema con un relè che seleziona la batteria da utilizzare di default. Infatti di default viene attivata la prima batteria, che alimenta il tutto; quando questa è scarica o per altri motivi, è possibile mandare da un pic o altro un impulso al relè per spostare l’alimentazione alla seconda batteria, potendo proprio scollegare la prima. Per permettere questo “switching” ho dovuto anche mettere dei condensatori abbastanza potenti (forniti da pollo), che sostengono la richiesta di energia mentre il relè scollega una batteria e sta ricollegando l’altra.
Poi ho messo un circuito per la ricarica delle batterie, utilizzando un pannello solare in cristalli di silicio che fa 12V a circa 1A, che però non ho ancora sistemato bene. Poi ho messo vari trimmer per il controllo analogico della carica delle batterie e del pannello solare. Poi ho finito recentemente di mettere i 2 L293B , i driver per motori che reggono 2 motori in 2 sensi a 1A l’uno.
Ieri ho iniziato a mettere i led bianchi frontali, per l’illuminazione e quelli sotto per illuminare le ruote blu o verdi e fare scena.
Quà vi ho parlato della struttura, poi il cervello sarà la fonera, che tra l’altro è scesa a 4,31€ l’una sul sito ufficiale.
La fonera sarà collegata a dei pic via seriale a 56 kb/s e poi un altro pic sarà collegato via ethernet con un controller ethernet, così da ottenere 10 mb/s di trasferimento dati. Infatti ho intenzione di collegare una piccola microcamera a bassa risoluzione trovata in un vecchio gioco del game boy color, trovate info quì .Ho già fissato sul “tetto” del robot il pannello solare (opportunamente isolato per la pioggia) e l’antenna gps usb(che sarà collegata a un pic) e una antenna separata wireless per avere + recezione.
Frontalmente ho messo 2 sensori a ultrasuoni da 6,4 metri che ho comprato su un sito di sensori americano , insieme a una bussola elettronica molto precisa, al fine di mantenere la direzione quando il robot deve andare dritto(pochi millimetri di inclinazione sulle ruote fanno facilmente inclinare la direzione del robot)
I led, i sensori a ultrasuoni e tutto il resto è completamente isolato dalla pioggia, nebbia, bufera di neve o tempesta di sabbia, ora mi resta solo da isolare i buchi che ho fatto per far passare i fili dei componenti esterni con il silicone(consiglio di Pollo), poi metterò un sistema di accensione a chiave per evitare interruttori o pulsanti premuti per errore o sbandando contro qualcosa. Internamente utilizzerò per ora le 2 pile al piombo che già ho, anche se spero di prenderne altre 3 da 10 A, in modo da avere 30 A totali e quindi il massimo di autonomia.
L’idea è quella di creare poi un software modulizzato composto da un agente e una rete neurale per il controllo autonomo del robot, e poi anche il controllo a distanza tramite il wireless. In settimana devono arrivarmi anche un altro paio di sensori e led. Pollo sta lavorando sulla interfaccia ethernet.

L’idea è nata dalla decisione di Pollo di organizzare un meeting di Hgcomo con una competizione di robot, in cui probabilmente gareggerà anche il mio, come “robot autonomo da esplorazione”. Inoltre a lavoro finito pubblicherò tutto in inglese e italiano , schemi, foto, video e software e magari gli farò fare un giretto a Monza o in qualche strada lunga qualche kilometro per vedere come regge.

Ho un po’ abbandonato i nocopyers per lavorarci ma spero di tornare attivo entro breve.

Hackmeeting 2007 - 0×0A Edition

Ottobre 2, 2007 by otacon22

Già! C’è stato, come avevo avvisato e io ci sono stato. Questo è stato per me il 2° hackmeeting, con possibilità però di soggiornare più a lungo e quindi scoprire la vita della comunità hacker italiana riunita :)

In effetti era da circa 3 o 4 mesi che stavo controllando costantemente ogni giorno la mailing list di hackmeeting per ogni novità, anche se poi sono intervenuto solo quando si è trattato di decidere i giorni e il posto e finalmente qualche settimana prima sono riuscito a organizzare egregiamente il viaggio per Pisa del 29 Settembre.
Abbiamo deciso di trovarci io, Pollo e Biohazard e sfruttare l’occasione dell’ hackmeeting per ritorvarci finalmente assieme e parlare tra noi. Inizialmente pollo era dubbioso, e anche bio, ma poi sono riuscito a scagionarli dalle false testimonianze che c’erano su internet. In effetti c’era chi diceva che non sarebbe venuto per i pessimi seminari che c’erano e altri si sono lamentati di alcuni dentro al meeting. Io reputo queste argomentazioni molto stupide e prive di senso, dato che l’ hackmeeting è per definizione un evento autogestito, quindi non si può dire: “non vengo perchè fanno dei seminari di merda” (tra l’altro gli argomenti erano comunque molto interessanti) perchè i seminari non sono proposti da “organizzatori” ma da partecipanti, quindi se ti lamenti tanto che c’è un corso di linux base (chi non sa cos’è un computer ha comunque diritto a imparare a usarlo) ma ne proponga uno lui se è tanto bravo.
Comunque rimandando queste inutili risposte a lamentele stupide ho cercato di spiegare come stavano le cose a Biohazard e Pollo, raccontando della mia esperienza e delle stupidaggini che giravano.
Alla fine ce la ho fatta: io e Pollo ci siamo organizzati per trovarci a Milano dove poi saremmo partiti per Firenze dove poi con Biohazard saremmo partiti per Pisa.
Mi sono trovato con Pollo intorno alle 8.45 a Milano centrale, incredulo del casino presente di Sabato. Ci siamo quindi diretti alle macchinette automatiche per fare un biglietto per il treno Eurostar per Firenze. Dopo numerosi tentativi e macchinette rotte e che non accettavano contanti siamo riusciti a impossessarci di una di queste scoprendo però che non erano più presenti posti liberi sul treno, facendoci sbalordire. Inizialmente ho provato a chiamare Biohazard per avvertirlo che saremmo arrivati con il successivo delle 10, ma stava ancora dormendo. Siamo fortunatamente poi riusciti, tramite lo sportello, ad avere comunque dei biglietti del treno senza garanzia di posto da sedere e siamo corsi al binario. Per nostra fortuna, ma anche sfortuna come poi abbiamo scoperto, il treno non era ancora partito, e siamo riusciti a salire e trovare sedili liberi. Alle 9.30 il treno non era ancora partito, e poco dopo si è scoperto che c’era una porta rotta e che la stavano riparando, questo ci ha fatto slittare quindi tutto di 30 minuti. Pochi minuti dopo siamo partiti. Durante il viaggio ho parlato abbastanza con pollo mostrandogli il funzionamento delle reti neurali che sto studiando.
Finalmente arrivati (ovviamente in ritardo) a Firenze abbiamo incontrato Biohazard, con cui abbiamo fatto il biglietto per il treno per Pisa(anche quello abbastanza tirato come orario, anche se poi non è partito subito). In treno abbiamo potuto parlare molto di elettronica e di progetti in sviluppo da tutti.
È stata poi molto comica la scena in cui Biohazard stava parlandoci del detonatore di norbix che aveva realizzato e diceva: “lo chiameremo per comodità ‘STARTER’ per non creare panico tra la gente” e Pollo, capendo quello della macchina fece una scena molto comica :)
Arrivati a Pisa ci siamo diretti verso ” Il Rotondo” (così chiamato da Bio e Pollo , una grossa rotonda fuori dalla stazione) e ci siamo spostati verso la sede dell’ hackmeeting presso il centro sociale Rebeldia.
Entrati abbiamo lasciato una piccola offerta per finanziare le spese che si sono dovute sostenere per comprare vario cibame.
Appena entrati abbiamo trovato un parcheggio pieno di camper e macchine in cui vigeva al centro un “totem” fatto con case di pc e altri macchinari(tra cui pulsanti amati da me e bio)

 

 

 

 

 

 

 

 

 

 

 

 

 

Subito dopo questa arte improvvisata si trovava una specie di capanna fatta con transenne e coperta con teli impermeabili in cui c’era il team di netsukuku ( tra cui Alpt che conosco su internet ma non ho avuto modo di vederlo ) e un tizio che smanettava con robe di elettronica( poi scoperto essere Autoscatto ).
Dopo la “capanna” si entrava nella stanza del dhcp umano(popolata da 1 pc e diverse persone a lavorarci sopra) e in una sorta di anticamerona in cui c’erano varie magliette ( di cui però non ho preso nulla per mancanza di magliette interessanti) e braccialetti e collane fatte con memorie, pic e ram vecchie. Dopo questa anticamerona c’era la Sala Lan(merita il nome maiuscolo), come molti sapranno la Sala Lan è dove si appostano tutti i partecipanti con il loro fisso/portatile a lavorare da soli, cercando altra gente o con chi sono venuti. La Sala era composta da circa 4 file di 10 metri di tavoli, su cui si estendevano decine di portatili e fissi connessi e accesi al lavoro rigorosamente su linux. Ho visto ancora lo stesso ragazzo dell’ anno scorso con il clustering di 4 schede madri che stava smanettando con la sua gentoo. Appena entrati non abbiamo saputo dove metterci per mancanza di spazio fisico(era strapieno OVUNQUE) e alla fine abbiamo fatto spostare della roba e ci siamo messi su un tavolo vicino a un angolo nel muro. Quì abbiamo incontrato altri 2 tizi che ci hanno dato qualche info per collegarci alla rete.

Per collegarmi( ho portato i miei 2 portatili), ho usato comunque solo cavi di rete collegandomi a un grosso hub. Dal punto di vista elettronico ci siamo attaccati a una ciabatta già lì con la nostra, che comunque era già attaccata a un altra a sua volta e un altra ecc nei secoli dei secoli…
Nel foglio di istruzioni fornito dal DHCP umano ( che quest’anno se la è un po’ presa comoda ), c’erano anche informazioni su come non “MORIRE” (citato testualmente) sotto gli attacchi di arp spoofing del proprio vicino.
La rete continuava a saltare da un livello bassissimo a una velocità molto elevata, sono riuscito a collegarmi dopo qualche ventina di minuti di tentativi sparando 10.0.0.51 come ip. Pochi minuti dopo tra Bio, Pollo e altri 2 ragazzi è iniziata una discussione sull’ hackmeeting ecc, dato che anche loro 2 erano arrivati per la prima volta, però il giorno prima, dal venerdì.Uno di questi 2 ragazzi mi ha parlato di crittografia, la sua passione, che lo ha spinto a amare la matematica che aveva sempre odiato. Lui mi ha parlato anche di come odiasse le spiegazioni matematiche che erano anche state fatte in alcuni seminari(a cui io però non ho partecipato a nessuno purtroppo). Neanche 10 minuti dopo, mentre si parlava di hacking, quando finalmente la rete sembrava aver iniziato a funzionare siamo rimasti sbalorditi dalla pagina che compariva su firefox, qualunque indirizzo si mettesse, anche cambiando dns.

Diverse persone, stanche di chi con la macchina aveva sfruttato il parcheggio dell’ hackmeeting, non permettendo ai campeggiatori di installarsi, hanno congiurato con il dhcp umano e altra gente questa trovata: ad ogni pagina web compariva questa scritta: “Attenzione! Spostate TUTTE le macchine dal piazzale ADESSO!!!Se non spostate tutte le macchine fuori dal piazzale non riaccendiamo la rete “. Pochi minuti dopo è arrivata una ragazza al microfono del palco dicendo che appunto non si sarebbe riattivata la rete se non si spostavano le macchine dal piazzale. Molta gente ha iniziato a fare cori di “noooo……”. Per fortuna alla fine non sò come qualcuno deve esserci deciso a spostare quelle macchine dal piazzale ed è tornata la rete finalmente. Io, pollo e Bio abbiamo iniziato a smanettare con i pic e mostrare varie cose anche a Bio. Finalmente sono riuscito a far andare un mio programmatore di pic che non mi funzionava a casa. Alcune persone si sono avvicinate per curiosare cosa facevamo. Ah, dimenticavo che vicino a noi c’era un piccolo baretto in cui si poteva avere acqua gratis e birra o coca (tarocca) a pagamento. Pollo o bio, non ricordo, si sono chiesti perchè non ci fosse un sistema per ordinare via rete la roba da bere e alcuni hanno fatto notare che a malapena si pingava il gateway. Nella sala c’era inoltre una sorta di Jubeox elettronico fatto con un pc con linux e amaroc e tantissimi mp3, poi era possibile inserirne altri tramite ftp dal proprio pc, il tutto era collegato a mega cassoni. Ovviamente non mancavano i gruppetti di gente che lavorava indipendentemente e chi passava a guardare, molti scambiavano file e aprivano server in rete.

Dopo varie dispute con pollo e bio abbiamo deciso di fare con il pic 16f84 un gestore del mio display lcd a caratteri mai funzionato interfacciabile con la fonera e quindi controlalbile via wireless. Dopo vari tentativi durati fino a sera tardi però abbiamo avuto prima difficoltà a scrivere sul display(che sembrava facilissimo) e poi a impostare il bridge tra ethernet e wireless sulla fonera, che mi ha impegnato 2 ore senza successo insieme a un tizio esperto di reti che mi ha dato una mano. Purtroppo è andata a finire che abbiamo perso il controllo remoto, quindi sarà probabilmente da formattare. Bio ha poi comunque mostrato la sua eeprom drive 255, un “mini pc” con operazioni di base di memorizzazione e altro fatto con il picaxe e tanti led e bottoni. A mangiare era possibile andare presso la cucina dell’ hackit, ma noi abbiamo preferito rilassarci da mc Donald. Dopo una lauta cena siamo tornati al lavoro, smanettando anche su altre piccole cosette che ci siamo fatti vedere a vicenda. Nel frattempo, il tizio incontrato all’ inizio, al nostro arrivo, ci aveva raccontato come aveva tentato di dormire su una panca nella sala lan, tra la musica e il Theremin affiancato che emetteva suoni acuti e lo disturbava in continuazione, questo perchè nelle sale per dormire era tutto al completo. Dopo qualche foto abbiamo avuto modo di sentire l’inizio della musica: si è alzato dapprima il volume della musica elettronica che era diffusa nella sala, poi è subentrato un tizio con un programma che componeva al momento musica elettronica accompagnata da video pressochè casuali. Verso mezzanotte, l’una, la sala si è ripempita al massimo, al punto che non riusciva più a muoversi. Noi nonostante le raccomandazioni del tizio siamo andati a vedere i posti per dormire: inizialmente abbiamo girato tutte le stanze per dormire e i corridoi trovandoli pieni, poi siamo anche andati dietro al palco dove c’erano pochissimi posti dietro le casse… Alla fine siamo riusciti a trovare un posticino tra il sottoscala e l’uscita in un piccolo passaggio, dove bio, io e pollo ci siamo disposti a lato del muro con il sacco a pelo. Inizalmente sono morto di caldo, poi di freddo, alla fine sono riuscito ad addormentarmi verso le 3-4, per risvegliarmi verso le 6, in cui la gente ha iniziato ad andare a dormire.
Alle 7 poi mi sono alzato e ho svegliato anche pollo, mentre abbiamo lasciato bio a dormire. Ho iniziato a girare per la zona deserta, e sono entrato nella sala della lan, che emanava calore :) , lì sono girato in silenzio per vedere la gente collassata ;D , c’era chi si era praticamente buttato di faccia sulla tastiera, chi era perterra senza sensi e chi invece aveva 3 sedie con il sacco a pelo disposto sopra :D, poi abbiamo visto il tizio delle raccomandazioni dormire sulla panca e svegliarsi poco dopo, dicendo che dormiva da poco + di 1 ora :) .
Siamo in seguito stati avvisati di alcuni scioperi ferroviari, quindi Pollo e Biosi sono avviati con questo tizio in stazione a controllare e (senza dirmi nulla) hanno anche fatto colazione , pagando in modo salato.Nel frattempo io, dopo 1 anno di tentativi sono riuscito a far funzionare pyparallel, era sufficiente fare
sudo rrmod lp
sudo modprobe ppdev
e poi avviare python da root prima di importare pyparallel.
Abbiamo poi fatto ancora qualche prova con il display lcd senza successo.Intorno alle 12.30 è iniziata poi l’assemblea di fine meeting in cui si è discusso di come si è svolto e le novità e tutto. Si è parlato di un articolo sul corriere che dimostrava di non essere venuto all’ hackmeeting per poterne parlare.

Come dicevo alcuni si sono lamentati che c’è poca interazione tra i partecipanti, ma come ho già detto essendo in molti non è possibile andare a vedere ciò che ognuno sta facendo, se si vuole interagire con altri bisogna avvicinarsi, osservare, fare domande ecc… non di certo sedersi a un tavolo e aspettarsi di ricevere gente.
Scappati in anticipo dalla assembla ci siamo diretti in stazione dove ci siamo salutati io e pollo con bio. Dopo una pizza presa in stazione siamo saliti sul treno che ci ha poi portato a milano passando per Genova. Al ritorno ho tentato (praticamente da solo, vista la stanchezza motivata di pollo) di fare un tris controllato da una rete neurale, che però sto ancora finendo.
Arrivati a Milano con 30 minuti accademici di ritardo Pollo ha perso una coincidenza per como e ha preso una seguente creando casino per chi lo stava aspettando a Como.

Io invece, dovevo tronare a Monza e inizialmente pensavo di prendere la metro, visti gli orari, poi invece ho preso il treno per Lecco, che è partito in ritardo a causa di ultras di Lecco infuriati per qualche partita andata male .

In effetti mi sono divertito molto, e devo ammettere che aspetto il prossimo, dove conto di esserci per + giorni , sperem.

Tutte le foto fatte da me e biohazard sono uppate quà , sto ancora valutando se, come , perchè mettere i pochi minuti di video fatti.

Comunque il tg3 ha fatto un servizio sull’ hackmeeting, anche se senza trasmettere giustamente l’idea dell’ incontro, lo trovate quà

Per ogni replica/aggiunta/insulto commentate pure .

Prossimi appuntamenti

Agosto 20, 2007 by otacon22

Un piccolo promemoria informativo per gli appassionati di informatica e hackers riguardo a prossime fiere/convegni/altro:

Come primo appuntamento vi segnalo l’Hackmeeting, che quest’anno arrivato alla 10^ edizione viene organizzato a Pisa il 28,29 e 30 Settembre 2007 presso la sede del centro sociale Rebeldia a pochi passi dalla stazione. Evento a cui partecipare per forza, visti i progetti presentati e i seminari che si terranno.

Ovviamente poi abbiamo lo Smau come ogni anno, che si svolgerà dal 17 al 20 Ottobre 2007 alla nuova fiera di Milano. Ricordo che purtroppo per motivi organizzativi legati al casino fatto gli scorsi anni, questa manifestazione resta chiusa per i maggiorenni e i minorenni di almeno 16 anni possono accedervi solo accompagnati da un maggiorenne.

Il Linux Day annuale si terrà nel giorno unificato del 27 ottobre 2007 in tutte le sedi LUG italiane.

E come ogni anno resta la fedele Expoelettronica di Erba, fiera di elettronica che si terrà appunto ad Erba il 10 e l’ 11 Novembre 2007.

Io dovrei essere presente a tutti questi eventi, se ce ne saranno altri, li pubblicherò.

Il ritorno dalle vacanze e i progetti progettati

Agosto 18, 2007 by otacon22

Ed ecco che finalmente, dopo quasi un mese di vacanza a Quartu Sant’ Elena , vicino a Cagliari, sono tornato a casa.
Mentre ero via mi sono rilassato ma ho anche continuato a pensare, progettare e realizzare altri hack. Ultimamente sono abbastanza interessato alla fonera, come spiegato nei post precedenti. Ora che mi ritrovo con python sulla fonera sono sempre + alle prese con idee robotiche rivoluzionarie. La fonera ha sempre una porta seriale e vari pin gpio, ora voglio sfruttare i pin gpio con un bus i2c in modo da collegarci diverse cose. Le applicazioni saranno prima di tutto come computer di bordo del mio scooter, con interfaccia ancora da decidere e sicuramente bluetooth integrato (tramite convertitore sulla porta seriale). Poi ovviamente collegherò qualche periferica di input(gps, sensori a ultrasuoni ecc) e qualche periferica di output (speaker, clacson modificato, display lcd, wireless). Il problema principale per ora è trovare un punto dove posizionare tutto in modo fisso, dato che a parte il sottosella, che uso costantemente per il casco, nel resto del motorino ci sono pochi punti al chiuso.
La seconda applicazione mi sta un po’ + a cuore ma è allo stesso tempo abbastanza difficile da realizzare. Un UAVP (Universal Aereal Video Platform), in particolare un quadricottero. In sostanza si tratterebbe di un elicottero composto da 2 sbarre di ferro/altro messe una sopra l’altra formando un angolo di 90° nella loro metà e agli estremi 4 motori, come questo:

La mia idea è di realizzarne uno autonomo nel volo controllato dalla Fonera. Questa idea ovviamente non mi è giunta così ma vedendo questo video:

e successivamente visitando le varie pagine di questo sito.
In quel video praticamente il creatore del quadricottero ha messo sopra quest’ultimo dei sensori di spostamento chiamati accelerometri che consentono di sapere quando ci si sposta lungo gli assi tridimensionali e di quanto e con quale intensità; grazie a queste informazioni un microcontroller sopra il quadricottero è in grado di gestire la potenza dei vari motori al fine di stabilizzare l’intera struttura in modo autonomo. Quando poi viene spostato da qualcuno a mano si riposiziona, e nello stesso tempo il creatore può controllare il quadricottero manualmente disattivando il controllo automatico. Un vero capolavoro. La mia idea è di fare la stessa cosa utilizzando come chip principale il fonera tramite i2c bus però lasciando anche il controllo wireless e eventualmente una piccola webcam e un gps… avendo alla fine un robot volante completamente autonomo ma anche controllabile via wireless e magari anche bluetooth con python…
Purtroppo la documentazione in italiano scarseggia ampiamente, da quello che ho trovato ho capito che conviene prendersi la base e i motori e farselo per conto proprio, devo ancora fare una stima dei costi e contattare qualcuno interessato a collaborare; in alternativa posso riparare il mio elicottero Walkera Dragonfly 4ch e tentare di fare una cosa simile, anche se il risultato non sarebbe uguale…

Fonera with OpenWrt - Python & Gpio powered.

Luglio 27, 2007 by otacon22

Oggi, durante la mia vacanza da Dak ho deciso, nonostante le prove già fatte senza successo, di far funzionare Python sulla mia Fonera riscutendo grande successo, ed ho quindi deciso di riassumervi tutti i passi che mi hanno portato da qualche mese fa fino ad oggi a completare questa procedura.

La Fonera è un piccolo router che possiede wireless integrato, connettore ethernet e porte di espansione chiamate GPIO. In realtà bisognerebbe chiamarlo Atheros, dato che quello è il nome della marca che lo produce, ma viene chiamato così poichè viene commercializzato in una versione di una società “Fon”. In poche parole questa società “Fon” vuole rendere internet libero e displnibile ovunque, e ha quindi diffuso degli access point chiamati “Fonera” che collegati alla rete di casa permettono di condividerla via wireless a chi è iscritto a Fon. Una specie di club di condivisione internet mondiale, infatti è possibile vedere su una mappa dedicata la posizione dell’ access point Fonera disponibile per la connessione più vicino a casa.

Questi access point in realtà nascondono una grande potenzialità: sono piccoli,veloci, espanbili, potenti sul wireless e molto economici. Si, infatti un fonera può costare solo 20€/$ compresa spedizione con appositi buoni che vengono dati per la prima registrazione, altrimenti costerebbe 35€ spedizione esclusa; prezzo comunque molto basso per un access point. Inoltre questi access point hanno una scheda madre embedded con un processore da 300mhtz , 16 mb di ram(espandibile con un hack) e 8 mb di memoria flash integrata.

Ovviamente siamo hackers e di certo se troviamo una meraviglia tecnologica così economica ci affrettiamo a comprarla, così io e dak la abbiamo comprata, in tempi e modi separati ma alla fine la abbiamo tutti e due. Il passo successivo è stato prendere il controllo a basso livello del router e successivamente l’installazione di OpenWrt Kamikaze 7.06 per Atheros tramite questa guida .

Una volta con linux che gira e può essere controllato sul nostro fonera possiamo lavorare un po’.
Come secondo passo abbiamo potenziato il wireless aggiungendo queste righe in /etc/sysctl.conf

dev.wifi0.diversity=0

dev.wifi0.rxantenna=1

dev.wifi0.txantenna=1



dev.wifi0.ctstimeout = 25



dev.wifi0.acktimeout = 25



dev.wifi0.slottime = 11

In questo modo si aumenta abbastanza la portata del segnale.
Successivamente abbiamo pensato di portare il wireless in modalità client al posto di utilizzarlo in modalità access point, in modo da poter usare la fonera per scannare e collegarci a reti wireless, per farlo abbiamo modificato in /etc/config/wireless

option mode     ap

in

option mode     sta

Ora però ci sentivamo senza la possibilità di agire su questo graal tecnologico, quindi avevamo inizialmente pensato e provato che non era possibile mettere python sulla fonera senza una memoria esterna. Siamo giunti a ciò poichè la memoria da 8 mb della fonera resta libera di 5 mb dopo l’installazione di linux e ci troviamo quindi con 5 mb su cui dover mettere python, allora avevamo pensato inizialmente che fosse impossibile dato che la versione completa di python 2.3 occupa circa 35 mb, senza contare che andrebbe estratta. Successivamente abbiamo rivalutato la cosa vedendo che esisteva una versione da circa 4 mb, che forse poteva starci, però non avremmo avuto lo spazio per estrarre l’archivio, allora abbiamo visto che forse era possibile spostare l’archivio nella ram ed estrarlo, e solo successivamente mettere i file binari sul fonera. Nonostante questa intuizione sono state tante le prove ma nessuno il risultato, alla fine abbiamo pensato di collegarci un con filesystem ssh a un pc con decisamente molto spazio e provare a installare l’archivio da lì, però questa possibilità non ha funzionato. A questo punto io avevo deciso di abbandonare tutti questi hack mettendo una memoria esterna MMC da 256 mb e collegandola ai pin di espansione appositi sulla scheda, ma dopo varie prove e varie schede ho visto che senza avere una scheda sicuramente funzionante e un driver già testato e fili perfettamente saldati è un po’ difficile far funzionare la memoria. Quando ormai avevo abbandonato le speranze Dak ha riprovato a mettere l’archivio nella ram senza successo e ha avuto l’intuizione di provare a estrarre il file binario dell’ interprete python dall’ archivio e a metterlo nella cartella /usr/bin/. Per farlo però non potevamo utilizzare nessun programma di estrazione su linux, quindi abbiamo prima di tutto trasferito l’ archivio dal pc nella cartella tmp del fonera(che in realtà risiede nella ram) con scp e poi abbiamo impostato ipkg, installatore di archivi di quel tipo, in modo che mettesse i file temporanei nella cartella principale  “/” con la opzione -t . Dopo qualche minuto abbiamo bloccato il processo e siamo andati nella cartella principale, dove si era formata una cartella ipkg-numerorandom che al suo interno conteneva  il file binario dell’ interprete di python. Lo abbiamo trasferto quindi in /usr/bin/ e abbiamo provato ad avviarlo ma abbiamo avuto qualche problema di librerie mancanti, nonostante non ne avessimo importate, abbiamo dunque creato una cartella /usr/lib/python2.5 (da chiamare in questo modo anche se si mette il binario di python 2.3 o 2.4) e abbiamo inserito i file mancanti. Finalmente abbiamo avuto il nostro interprete funzionante con tutti i comandi di base(split print open ecc). Successivamente, visto il grande successo, abbiamo pensato di mettere qualche libreria (solo lo stretto necessario per non occupare spazio). Alcune librerie possono essere installare semplicemente copiandone la cartella o il file relativo dalla relativa cartella nell’ archivio , altre necessitano anche di file compilati , ad esempio per abilitare la libreria socket è necessario copiare il file socket.py nella directory principale delle librerie , ma anche _socket.so dalla cartella dei file compliati chiamata lib-dynload nella gemella sul fonera. Noi abbiamo copiato i file dalla cartella di python del nostro computer.
Una volta installate e provate alcune librerie principali(sys,os, socket, thread) abbiamo provato a fare un rudimentale programma di scanning delle reti wireless servendoci di iwlist tramite la libreria os. Questo programma memorizzava semplicemente in un file di log i nomi delle reti.
Successivamente abbiamo pensato che oltre alla possibilità di usare il nostro fonera “dall’ interno” dobbiamo anche avere qualche segnale del suo funzionamento o una sua interazione con l’esterno, e ci è sembrato quindi necessario abilitare le porte GPIO. Le porte Gpio non sono altro che dei punti riempiti di stagno sulla scheda messi in vari punti, ai quali è possibile collegare qualche periferica in input o output, solitamente in analogico(per il seriale si usa logicamente la porta seriale che c’è, anche se non in forma classica, ed è separata dalle porte gpio). Abbiamo quindi cercato invano di installare un programma, che avremmo poi controllato tramite os da python per controllare le porte gpio. Infatti abbiamo scoperto che il programma che cercavamo non funzionava con la fonera, quindi dopo un pomeriggio passato a chiedere e cercare abbiamo trovato questo modulo che una volta dato in pasto a insmod crea in /proc/ una cartella “gpio” al cui interno crea 3 file per ogni porta gpio, uno di input, uno di output e uno chiamato “dir” di cui ignoro lo scopo.
Però siamo venuti a conoscenza di una sconcertante verità: una volta riavviato tutto la cartella scompare e il modulo non è + caricato, questa doveva essere una cosa ovvia per qualcuno un minimo esperto di linux. Infatti era necessario copiare il modulo in /lib/modules/%versione del kernel%/ e successivamente aggiungerre in /etc/modules.d/ un file del tipo Numero-nome contentente solo il nome del modulo, senza estensione, in questo modo si avrà il modulo caricato all’ avvio.
Come colpo finale abbiamo scoperto questa mappa di dove si trovano tutti i pin gpio, e abbiamo letto che un pin gpio è un led del fonera, il che significa che attivando quel pin si accende la luce del led.
Abbiamo dunque deciso di sfruttare questa possibilità per segnale la scoperta di una rete wireless, facendo accendere per un secondo la luce tramite il comando

echo 1 > /proc/gpio/2_dir; echo 1 > /proc/gpio/2_out

e per sepgnerlo

echo 0 > /proc/gpio/2_dir; echo 0 > /proc/gpio/2_out

Ovviamente poi scritto in python con un delay.

Possiamo quindi ritenerci ufficialmente soddisfatti e sognare futuri sviluppi robotici e/o sistemistici, domotici.

Ci tenevo a fare questo post, soprattuto dopo che:
-Mi hanno detto che non era possibile mettere senza mmc card python sul fonera e che era anche inutile
-Mi hanno detto che non esisteva driver per le porte gpio sul fonera controllate da shell

E quindi, ricordando che sto sempre lavorando alla stesura di un libro di etica hacker, è stato un hack poichè ho affrontato uan sfida intellettuale proposta da me stesso e incitata da altre persone, conclusa con successo. :D

Qualcosa di nuovo

Luglio 21, 2007 by otacon22

Come forse avevo già detto ho accettato di collaborare alla stesura di un libro di hacking, una specie di enciclopedia. Alla fine abbiamo attivato il server creato il dominio e la wiki e stiamo lavorando a http://hacknowledge.nocopy-group.org/ e abbiamo deciso di chiamare il libro “HacKnowledge” con un gioco di parole Hack e Knowledge che significa conoscenza, quindi sarebbe “conoscenza dell’ hack” ed è ovvio che con hack in questo caso si intende hacking.
Abbiamo raggiunto l’incredibile numero di 17 persone per questo progetto, abbiamo creato un indice che verrà ampliato e aggiornato che collega a tutte le pagine sparse della wiki, inoltre c’è una sorta di sottoindice ovvero: ci si collega all’ indice, si vedono le varie parti(programmazione, etica ecc…), sotto ognuna c’è prima una introduzione sull’argomento e poi una parte specifica ,nelle parti  specifiche poi si trova spesso un sottoindice della parte. Ad esempio per imparare python bisognerà leggere Indice->programmazione->introduzione e Indice->programmazione->python e a questa ultima voce si troverà un sottoindice che guiderà nelle varie parti dell’ argomento specifico, ovvero dalle variabili alle librerie.

Io sto attualmente portando avanti la wiki e sistemandola man mano e poi sto pian piano scrivendo e riguardando la parte etica e di cultura dell’ introduzione.

Nocopy nel frattempo è stato un po’ ripulito, membri ufficiali ora sono solo Otacon22, Dak, Tyrion e amds. Questo è dovuto al fatto che :

Scacco - Separa il suo  progetto dal resto del gruppo limitando a noi la possibilità di aiutarlo e quindi dimostra di non avere interessi collaborativi, scopo  del gruppo, poi viene cancellato il suo progetto come ufficiale per tale motivo e viene in seguito cacciato per aver ostacolato e dato problemi  al nostro server dimostrando di non avere interesse a un servizio che noi abbiamo faticato per creare solo per lui e gli altri, quindi è stato cacciato.

Worm - È stato introdotto nel team in modo sbagliato senza sapere di esserci quando i canali #tux e #nocopy sono stati rimescolati da me e otacon7b, e in seguito ha dato scarsa dimostrazione di essere interessato alla collaborazione ma solo allo sfruttare i canali di comunicazioni privati del gruppo. Dopo una notifica di tali atti nella mailing list si è ritenuto offeso sostentendo che aveva il diritto di programmare quando voleva, senza notare che non aveva conseguito nulla fine allo scopo del gruppo

Xero - Introdotto dopo una attesa per verificare le sue capacità ha lavorato in modo indipendente e nascosto, senza pubblicare e tantomeno collaborare in nessun modo, in seguito alla mail  di notifica  e a varie discussioni ha sostenuto di non avere obblighi di programmare, anche se anche lui ignorava di non aver ancora fatto nulla fine allo scopo del gruppo, e senza aver fatto altro che parlare sul canale e senza aver pubblicato ne parlato lontanamente di nessun suo progetto o qualche cui collaborava per diversi mesi.

Ekoes - Introdotto a insaputa dei fondatori come da accordi da Scacco qualche mese fa non ha mai fatto parte del  gruppo ed è sempre rimasto nel canale solo per sfruttarlo come mezzo comunicativo con i membri, pur essendo a conoscenza del fatto che era un canale privato(notificato dalla stesura dello statuto)

Non mi è sembrato per nulla giusto lasciare nel canale persone non aderenti allo scopo del gruppo che ospita e per tale motivo ho preferito lasciarle fuori, anche perchè non è un canale pubblico  come già deciso da qualche mese dalla sua creazione in decisione da Tyrion, concordato con i fondatori e notificato nello statuto.

Molti si sono lamentati dello statuto e del fatto che faceva diventare un gruppo di amici programmatori uno  stato, mentre non hanno capito che esso è stato introdotto solo per causa loro e anche per chiarire lo scopo del gruppo, che forse non era chiaro, in modo che chi non avesse avuto ben chiaro e non aderisse avesse la possibilità di andarsene subito.

Skirk in quanto hoster e nulla altro è  rimasto nel canale per comunicare con noi e attendiamo che si decida ad imparare a programmare se vuole entrare nel gruppo.

In accordo con Tyrion e successiva discussione con Dak decideremo definitivamente che fare di SteelWar e SteelWarPy, prensando a una unificazione in modo da permettere a tutti i membri rimanenti  una collaborazione stretta al fine di sviluppare questo grande progetto, non che grande hack.

Io sarò dal 23 Luglio al 17 Agosto vicino a Cagliari in compagnia di Dak, dove incontrerò forse anche Wicker25, collaboratore del libro hacknowledge.

PyConUno - 1^ conferenza italiana su python

Giugno 10, 2007 by otacon22

Circa 3 o 4 settimane fa sono venuto a conoscenza tramite TyRiOn-MX dell’ esistenza di una imminente conferneza su python in italia e mi sono dunque informato subito.
È il PyCon, una conferenza su python, che in questa edizione italiana ha preso anche il nome di PyConUno, in quanto è la prima conferenza di questo tipo ad essere svolta in Italia.

Inizialmente non sapevo ancora se sarei potuto andare ecc, quindi ho aspettato a prendere i biglietti, mossa che si è poi rilevata errata, infatti i biglietti sono cresciuti di prezzo con l’avvicinarsi della conferenza. Comunque non ho rinunciato e circa 3 giorni prima ho comprato il biglietto via internet. Ho deciso anche di trovarmi con TyRiOn-MX, dato che sarebbe venuto anche lui.
Quindi Sabato 9 Giugno alle ore 6 circa sono andato a Milano accompagnato dai miei genitori e ho preso il treno eurostar per Firenze, dove si sarebbe svolta la conferenza, e sono arrivato a Firenze per le 9.45 . Arrivato in stazione ho cercato la strada per arrivare poi all’ hotel dentro cui era organizzata la conferenza. Sono arrivato alla fine per le 10 e mi sono registrato all’ ingresso dove mi hanno dato una maglietta di python, un blocco appunti con sopra il logo di python e la scritta “PyCon” (molto carini) insieme a una copia con il programma completo e un badge con il mio nome; tutto questo spiega parte del prezzo elevato. Sono poi entrato nella prima sala più grande dove ho subito incontrato TyRiOn-MX mentre stava finendo il talk riguardo all’ implementazione di c++,c e java in python. Quì ho visto subito il funzionamento del talk: una persona era davanti a un microfono mentre parlava con a fianco un pannello dove venivano proiettate le slide. Molto gente aveva il portatile e lo utilizzava durante la conferenza(sfruttando il fatto che le sedie avevano una sorta di tavolinetto) e altre invece prendevano appunti sul blocco fornito appositamente per la conferenza. A fine di ogni talk(che durava 45 minuti) c’erano poi 10 minuti per le domande( e ho visto gente fare domande veramente approfondite e che dimostravano la ampia conoscenza del linguaggio) e altri 5 minuti per trasferirsi eventualmente da una sala ad un altra, infatti la conferenza era composta da 10 interventi divisi in 2 sale, quindi era possibile scegliere se assistere ad uno dei due che c’erano in quel momento nelle 2 sale. Appena terminato il primo talk c’è stata una pausa caffè di 30 minuti, dove abbiamo parlato un po’ e anche bevuto qualcosa(tutto servito dall’ albergo, compreso nel biglietto, questo spiega ancora il prezzo). Ah, c’era anche un amico di TyRiOn-MX che passa qualche volta in canale: Spadack, programma in asp per siti ecc…

Successivamente abbiamo seguito nella stanza più piccola il talk su Octapy3, un sistema realizzato il python per riorganizzare reperti e ordinarli in una rete prendendo i contenuti da fonti completamente diverse, utilizzato in Campagna per organizzare i reperti storici magari prendendo informazioni da diversi database di musei(anche se sono tutti differenti) per raggruppare le informazioni.

Dopo questo altro talk siamo ritornati nella sala grande per seguire la presentazione di genropy, un sistema realizzato in python che permette di utilizzare il python per fare siti collegati a database per gestire dati e poter modificare le pagine in tempo reale utilizzando poco codice. Momento molto divertente è stato quando il presentatore stava mostrando come avviare il sistema e è comparso un errore di python e tutti anno fatto: “azzzzzz” , io compreso, poi ci si è accorti che mancava un comando da eseguire prima, comunque molto interessante, si è visto proprio la pagina web da cui si accedeva al database cambiare colore nel momento stesso in cui la stava visualizzando tramite degli script in python . Credo che a Tyrion sia interessato abbastanza, dato che lo avevo visto fare cose simili con php.

Dopo questo talk iniziavano i lighting talk, che però Spadack e TyRiOn-MX non hanno voluto seguire preferendo a collegarsi a internet nell’ area apposita dove c’erano 3 pc e uno swich dove attaccarsi con il portatile. Lì mi sono collegato a irc e ho comunicato nel canale #python di azzurra che eravamo al pycon. Nel vedere questo, un tizio che era lì di pasaggio si è incuriosito, e alla fine ha riconosciuto TyRiOn-MX e hanno scoperto di conoscersi su irc su un canale di freenode su python dove tyrion era entrato una volta per sbaglio. Tramite questo tizio tyrion ha poi incontrato altre persone dello stesso canale che erano alla conferenza. Ad ogni modo i lighting talk a cui non abbiamo partecipato non erano altro che interventi da pochi minuti in cui varie persone che si proponevano al momento raccontavano la loro esperienza con python in azienda o a scuola o altro.

Poi c’è stata la pausa pranzo, dove abbiamo mangiato ad un buffet in piedi tra gli altri programmatori, in tutto ci sono state circa 200 persone(contro le 100 previste), dopo un’ ora di pausa pranzo ci siamo appostati nella sala piccola per attendere l’inizio del talk successivo, anche se poi tyrion e spadack non hanno assistito. Il talk successivo era forse il più interessante: “Python nell’esperimento Gamma-ray Large Area Space Telescope ” ovvero python utilizzato per la gestione dei dati di un satellite spaziale per ricerche scientifiche. Il progetto è chiamato GLAST. È stato presentato da un ex-studente di fisica che ha portato il progetto come tesi, e ha spiegato che questo satellite, che dovrà essere lanciato nei prossimi anni, ha sopra di se un rivelatore speciale di raggi gamma e al suo interno un sisema embedded come computer, tutto con linux. I moduli più importanti di comunicazione sono stati realizzati con c++, ma poi comunque tutti i moduli di analisi sul satellite e sui computer a terra sono stati realizzati con python. Ha fatto una presentazione spiegando i vantaggi che hanno avuto grazie a python, le librerie usate e ad esempio che avevano in alcuni momenti necessità di velocità istantanea per l’analisi dei dati e le soluzioni adottate per averla. Ha spiegato ad esempio che arrivano diversi raggi gamma a distanza di 10 millisecondi ogni 10 secondi e che quindi hanno realizzato un sistema per gestire l’immagazzinamento dei dati, e poi nel tempo in cui non arriva niente gestiscono l’elaborazione. Ha poi spiegato come hanno utilizzato qt e altre librerie per visualizzare i dati ricevuti a terra e per controllare i dati di circa 100000 microcontroller dedicati presenti sul satellite. Ci sono state poi diverse domande sull’ applicazione, ma comunque è stato di stupore generale come l’utilizzo di python anche in applicazioni scientifiche sia arrivato fino alla nasa e in modo così intensivo.

Mi sembra che sia quindi risaltato da quasi tutti i talk che python e il meglio: è molto veloce per essere interpretato, facile da scrivere, non si attacca a un ambiente di sviluppo specifico e appena abbiamo bisogno di velocità istantanea obbligatoriamente o funzioni speciali a basso livello basta utilizzare moduli in c o c++. Questo mi è risultato molto chiaro da tutti i talk.

Dopo questa interessante discussione ho seguito parte del talk sulla ginnastica psycotica, di cui ho capito poco anche se ho riso abbastanza. Verso la fine del talk, nella parte delle domande, uno degli organizzatori che stava ascoltando , alla domanda “ci sono domande?” si alza mentre se ne va e dice “e la licenza” e il tizio fa : “è una cosa un po’ buffa: è una gpl con 3 eccezioni”, e poi ha spiegato che è come una gpl normale con delle eccezioni che permettono di fare questo e quello in ambito commerciale” e poi gli hanno detto “la cambierai..” e lui dice: “certo, diventerà proprietario a pagamento” e tutti a ridere, poi ha spiegato che poi gente come il tizio lì non capiscono la licenza e arrivano subito ad attaccare.

Dopo questo talk e una successiva pausa caffè in cui ho chiesto un paio di cose al tizio del satellite c’è stato il keynote di Alex Martelli, uno dei manager di Google, che vive in America e che è venuto appositamente per il PyCon; molto spiritoso e ha parlato di managment in ambito informatico/programmativo consigliando alcuni libri.
Momenti in cui si è riso molto è stato quando ha detto: “sono felice di essere il primo a fare l’ultimo intervento del primo giorno della prima conferenza…dell’ ultimo linguaggio…insomma” e tutti a ridere, poi quando stava parlando di linguaggi e ha detto “oltre al python come c++, c, java….” e uno tra il il pubblico facendo finta di tossire fa “hum..Perl…” e ancora tutti a ridere. molto divertente è stato poi quando stava citando delle frasi tradotte da un libro inglese e diceva: “adesso non posso proprio dirvi il testo in inglese perchè gli autori sostengono di avere il copyright su ogni singola parola” e poi ha detto il testo in italiano tradotto e qualche minuto dopo lo stava per dire in inglese e interrompendosi dice “ma comqunue NON sto citando nessuna frase, è solo un ricordo a memoria…”.

Ci siamo molto divertiti, anche se siamo poi andati via mezz’ora prima della fine del keynote di Alex per poter prendere il treno in tempo, io per milano e Tyrion per un paese vicino a firenze dove c’era un parente, dove si sarebbe fermato a dormire.

Ho avuto poi qualche problema al ritorno, dove dopo 3 ore di treno, arrivato a milano non ho trovato il treno per monza se non un’ ora e 40 minuti, quindi ho dovuto prendere la metro e poi un treno da sesto per poi essere in casa alle 23.

È stata comunque una giornata indimenticabile e dove finalmente ho incontrato persone “allo stesso livello”

Ho fatto alcuni video e foto, le foto saranno a breve quà, i video forse su youtube, anche se ho visto che gli stessi organizzatori registravano ,quindi ci saranno probabilmente dei video completi sul sito ufficiale www.pycon.it