domenica 27 febbraio 2011

il magico mondo dei bot IRC!

Non sapete quanto è bello costruirsi con le proprie mani un bot IRC!
Niente di complicato, se si utilizza la libreria python-irclib.

Il codice che si utilizza è molto pythonico, permette di astrarre l'applicazione


Documentazione libreria (in pratica esempi) su devshed, sono 3 articoli.

Quello che ho costruito si può trovare a questo indirizzo!

sabato 5 febbraio 2011

Mercurial: il repository facile facile!

Ciao a tutti, questo è un piccolo tutorial su Mercurial e bitbucket.org, due strumenti che vi permetteranno di gestire in maniera molto semplice le varie versioni del vostro programma, sia esso il vostro supermega FPS o un tranquillo script tuttofare da riga di comando!

Cominciamo con Mercurial:

Cos'è?
-Semplice, Mercurial è un VCS (Versioning Control System), veloce e leggero creato per poter maneggiare in modo facile e veloce progetti distribuiti (ovvero su cui lavorano più persone) di grosse dimensioni.
Cosa devo installare prima di cominciare?
-Se lavori su Windows devi scaricare Mercurial da http://mercurial.selenic.com/, cliccando sul bottone "Download Now"; comincerai così a scaricare l'installer per la tua versione di Windows.
Nel caso tu lavorassi su altri sistemi, hai a disposizione pacchetti precompilati da poter scaricare ed installare da riga di comando:
# Debian/Ubuntu
$ apt-get install mercurial

# Fedora
$ yum install mercurial

# Gentoo
$ emerge mercurial

# FreeBSD
$ cd /usr/ports/devel/mercurial
$ make install

# Solaris 11 Express
$ pkg install SUNWmercurial

Nota Bene: Mercurial è scritto in Python, e necessiterai di una versione dalla 2.4 alla 2.7, pena il non funzionamento del programma. Su sistemi Win l'interprete Python viene incluso direttamente nell'eseguibile hg.exe



Dobbiamo adesso configurare il nostro Mercurial  per poter lavorare al meglio: abbiamo bisogno di modificare un file di configurazione in cui inserire il nostro nome.
>Su sistemi windows bisogna modificare un file .ini, che si trova ai seguenti percorsi:
-Se avete XP o sistemi precedenti (e.g. win98, win95) -->;
C:\Documents and Settings\USERNAME\Mercurial.ini
-Se avete Vista o win7 -->; C:\Users\USERNAME\Mercurial.ini

Aprite i file con blocco note, e modificateli inserendo queste righe di codice:



#mercurial configuration
[ui]
username = YOUR_USERNAME

>Su sistemi linux la procedura è simile a quella dei sistemi windows, ma cambiano i percorsi ed alcune piccole cose da tenere bene in considerazione:
-aprite Konsole (o il vostro terminale)
-scrivete 
$ cd #portatevi nella cartella principale
$ su #loggatevi come amministratori
(dovete loggarvi come root perché il sistema non vi lascerà modificare file di configurazione)
# vi .hgrc
-inserite lo stesso codice riportato precedentemente Windows.

Ora il vostro sistema è configurato per poter lavorare tranquillamente!


Cominciamo ora a creare il primo repository locale...
Un repository non è nient'altro che una cartella (locale o online) dove depositare tutto il codice che hai scritto (e non solo), che viene aggiornata tramite software VCS.

(Nota bene: i comandi sono gli stessi su tutti i sistemi operativi)

Creazione:
$hg init nuovoprogetto
questo semplice comando ti permette di creare un repository di nome nuovoprogetto.


Apriamo ora blocco note, scriviamo "ciao" e salviamo il file nella cartella nuovoprogetto con il nome "ciao.txt"

Verifichiamo la sua esistenza da riga di comando:
$hg stat
? ciao.txt


Beh, se vi appare il file esiste. per poterlo aggiungere al progetto basta scrivere
$hg add ciao.txt
Il suo stato cambierà ora in A (added)!
$hg stat
A ciao.txt


Possiamo dichiararci soddisfatti delle modifiche apportate e quindi salviamo le modifiche...
$hg commit -m "creato, modificato ed aggiunto il file 'ciao.txt'"

Adesso però vogliamo eliminare il file "ciao.txt"
$hg forget ciao.txt
$rm ciao.txt #del ciao.txt su win
Nota bene: MAI CANCELLARE DIRETTAMENTE file senza lanciare forget, altrimenti mercurial, non trovando (giustamente) i file, li dichiarerà "missing" (mancanti) e il repo potrebbe corrompersi, rendendolo non leggibile.

Salviamo adesso la modifica fatta al repo:
$hg commit -m "eliminato 'ciao.txt' muhahah" #;D

Nel prossimo post illustrerò come poter rendere disponibile al mondo intero il proprio codice... 
Stay updated!