28 gennaio 2011

Python una scelta intelligente.

Python è un linguaggio di programmazione splendido, ma non è molto conosciuto, almeno in Italia. La comunità italiana, seppur competente, non ha nulla a che vedere numericamente con comunità come quelle di Java o di PHP. Uno dei motivi che non portano alla vasta diffusione del linguaggio è sicuramente la totale assenza dalle scuole del linguaggio. Non ci sono atenei o istituti che lo insegnano, se non in rari e sporadici casi. Java, C, PHP, Perl e perfino Visual[Qualcosa] hanno la loro fetta di didattica, ma Python no.

Quindi chi nel corso della sua vita sceglie Python, lo fa solo perché davvero interessato al linguaggio e non per altre influenze o per condizionamenti esterni. Sceglierlo rende i programmatori migliori? Bastasse solo questo sì, ma comunque chi vuole programmare in Python lo fa perché gli interessa davvero imparare un linguaggio nuovo e moderno e perché ama la programmazione.

Le aziende dovrebbero prediligere proprio questi programmatori, che imparano non per trovare un lavoro, ma per vera passione. E con questa stessa passione lavoreranno a qualunque progetto gli verrà sottoposto, a patto di usare il loro linguaggio preferito e poter migliorare sempre più.

Realtà sicuramente innovative e che hanno cambiato il mondo informatico, hanno avuto proprio questo tipo di approccio: meglio un programmatore appassionato, che uno tradizionale, ma [forse] demotivato. Google ha creato un impero partendo proprio da questo concetto e le sue killer application di ricerca indovinate in che linguaggio sono state scritte?

Sembra un concetto astratto, ma non lo è. La forza delle scelte paga, magari non sempre immediatamente, ma solo nel corso del tempo.

15 gennaio 2011

Il segnale dei corvi.

Qualche giorno fa davanti alla TV ho visto la notizia di una inspiegabile moria di corvi in Arkansas. Quelli che vedete nella foto sottostante non sono sassi, ma le carcasse dei volatili.


Ancorché inspiegabile perché dovrebbe interessare una notizia del genere, che potrebbe rappresentare tutto ed esattamente il suo contrario? Perché c'è una strana somiglianza con quello che è successo in un telefilm, Flash Forward, in cui il 6 ottobre 2009 tutte le persone in ogni angolo del mondo perdono i sensi per 2 minuti e 17 secondi. In questo periodo di tempo, ognuno vede il proprio futuro in una premonizione (un flashforward, appunto): 2 minuti e 17 secondi del 29 aprile 2010 [fonte Wikipedia].

Qual'era uno dei presagi della imminente manifestazione di questo evento? Un'inspiegabile moria di corvi (sotto le immagini del telefilm).



Ci stiamo preparando a vedere qualcosa del nostro futuro? Wow, affascinante...

08 gennaio 2011

I miei Oscar del 2010

Amo fare le classifiche e di conseguenza ho sempre "un primo" in tutte le cose che mi interessano da vicino. Quindi vediamo uno per uno la lunga lista dei miei vincitori per il 2010 appena passato in varie categorie più o meno serie.

Miglior sistema operativo:
Ok, sono subito in crisi. Pregherei un maggior dettaglio...

Miglior sistema operativo desktop:
Linux Mint.

Miglior sistema operativo server:
Debian.

Miglior sistema operativo mobile:
Android.

Siamo partiti subito forti e non c'è davvero male con le prime risposte. Vorrei anche mettere una menzione speciale nella seconda categoria Zeroshell, ma l'ho scoperta solo nel 2011 e sono ancora in piena estasi provareccia. Andiamo avanti quindi.

Miglior linguaggio di programmazione:
Python

Miglior linguaggio di programmazione web:
Ancora Python, aiutato dal fido amico Django.


Miglior game:
Caspita, la ringrazio per la domanda, ma sono nuovamente in crisi. Ah già, ovviamente God of War III.

Miglior film:
The Hurt Locker. Ok è di qualche anno prima, ma avendolo visto l'anno scorso per me vale.

Miglior evento sportivo:
Playoff dei Celtics.

NOTA: Piccola pausa, anche perché ricordare la finale dei miei Celtics persa a gara sette, mi apre uno squarcio nel petto. Respiro, mando giù il rospo e ricomincio.

Tormentone:
Lite Cassano-Garrone (che due palle ed ovviamente i colori dei nomi non sono casuali).

Evento:
L'ultima puntata di LOST.

Peggior disastro:
Fuga di greggio nel golfo del Messico ad opera della BP.

Mistero buffo:
Ah, qui non dubbi, Facebook.

Miglio pezzo dell'anno:
Isolation degli Alter Bridge (davvero bello).

Rivelazione televisiva:
Current (tutto il canale).

Credo che possa bastare, se mi viene in mente altro un bel update e passa il dolore.

07 gennaio 2011

Configurare server in maniera semplice: Zeroshell

Davvero una bella sorpresa questa distribuzione. Infatti grazie allo splendido lavoro fatto per creare Zeroshell, sarete in grado di amministrare un server di piccole/medie dimensioni in piena autonomia.

Leggiamo cosa viene detto a proposito della distro sul sito ufficiale:
Zeroshell è una distribuzione Linux per server e dispositivi embedded il cui scopo è fornire i principali servizi di rete di cui una LAN necessita...

E' tutto vero, lo fa sul serio. Sono rimasto davvero ben impressionato da tutte le funzionalità e dalla velocità di apprendimento delle varie interfacce. Sì perché sarete in grado di configurare tutta la vostra rete attraverso comodissime interfacce web messe a disposizione dalla distro.

Se siete quindi in cerca di un sistema veloce, affidabile e per nulla complicato da utilizzare affidatevi senza problema a Zeroshell. Una nota a margine poi riguarda lo sviluppatore del progetto che è italiano, Fulvio Ricciardi, che non conosco ma che di certo non tarderò a ringraziare. Un piccolo vanto esterofilo non guasta mai..

Buone configurazioni a tutti e non smettete mai di sognare.

06 gennaio 2011

[Python] Primi passi - Lezione 3

Wow è passato un sacco di tempo dalla lezione numero 2, ma è stata una svista più di una reale volontà. Infatti ne avevo preparate diverse di lezioni, così come ho pronte già un paio di lezioni su wxPython. Quindi recuperiamo un po' di tempo perso e parliamo delle stringhe in Python.

NOTA: Non ricordo se lo avevo già scritto, ma ovviamente i concetti che esprimo in queste mini guide devono essere solo spunti di partenza e i metodi per approfondire sono davvero tanti a partire dal sito ufficiale del linguaggio.

Scriviamo una stringa, la nostra prima stringa (non fatevi sopraffare dall'emozione):
  1. stringa="Ciao sono una stringa"
E' stato facile non trovate? Ed adesso vi domanderete: "che ci posso fare?" Molto.. Ad esempio usare le potenti funzionalità di slicing per la loro manipolazione.

Voglio ottenere i primi 4 caratteri della stringa? Nulla di più facile...
  1. str=stringa[:4]
  2. print str
Risultato...
  1. Ciao
Tutto troppo facile non trovate? Provate a fare delle prove per estrarre i primi caratteri, gli ultimi, dal secondo al quinto e via così, lascio a voi il piacere della scoperta.

Ma andiamo avanti. Sommiamo le stringhe? Sì lo so, qualcuno pensa che abbia sbagliato capitolo e sia tornato ai numeri, ma non è così, in Python si può...
  1. str_1 ="Ciao a tutti "
  2. str_2="Belli e brutti"
  3. str_3=str_1+str_2
  4. print str_3
Il risultato sarà:
  1. Ciao a tutti Belli e brutti
Che emozione, non vi sentite come un artista che plasma la sua grezza creatura? Ok, mi sono fatto trascinare, torniamo a terra. Oltre alla somma, possiamo anche usare la moltiplicazione, col segno *, per ottenere la ripetizione della stringa stessa.
  1. stringa="Python"
  2. str=stringa*5
  3. print str
Risultato..
  1. PythonPythonPythonPythonPython
Dai ora che ci stiamo divertendo non ci fermiamo. Devo farvi notare che la stringa è raggiungibile anche per ogni elemento presente al suo interno. Faccio un esempio, così capite tutto molto meglio:
  1. stringa="Python"
  2. str=stringa[1] #si parte da 0 ricordate
  3. print str
Risulato...
  1. y
Ovviamente y si trova alla posizione 2, ma partendo da 0 l'elemento al secondo posto è identificato con 1 (e così via..). Proseguendo con le cose interessanti mi piacerebbe sapere se in una determinata stringa c'è un determinato valore. I metodi per farlo sono molti, il più semplice questo:
  1. string="Trova al mio interno la lettera y che hai manipolato prima..."
  2. str=string.find("y")
  3. print str
Ottenendo:
  1. 32
Ovviamente 32 rappresenta la posizione di y all'interno della stringa. Come vedete è tutto molto semplice e quindi lascio le altre mille sperimentazioni alla vostra fantasia.

Alla prossima e RoP (Rock on Python) a tutti.

Tondo è bello...

Tondo è bello...