-+  Associazione
-+  Documenti
-+  Eventi
-+  Community
-+  Blog
-+  Link

Febbraio 2014

Dom Lun Mar Mer Gio Ven Sab
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28  

Cerca






 


« Ottobre 2007 | Home | Dicembre 2007 »

Bugie, dannate bugie, e...

osfameron mi ha suggerito di scrivere un'analisi delle statistiche che raccogliamo con Google Analytics. È un compito che ritengo difficile (difficile scegliere i punti di vista giusti per analizzare i dati, difficile produrre risultati corretti, difficile non finire nel territorio delle terribili falsità, e così via...). Però mi è venuto in mente di postare una piccola parte di questi risultati, così come si vedono nel pannello di Analytics. Ecco le 10 keyword che hanno prodotto la maggior parte del traffico proveniente da Google, nell'ultimo mese:

Inoltre, ecco i tag legati al tag perl (sono presi da delicious), come si vedevano qualche giorno fa:

delicious_tag_related_perl.png

Dove voglio arrivare? Secondo me questi dati, per quanto parziali e laconici, rappresentano un suggerimento per la soluzione di uno dei problemi che abbiamo nella produzione di contenuti per questo sito (a parte il processo di revisione lento e zoppo, a parte la struttura del sito - sono molto interessato ad eventuali suggerimenti - che a volte sembra nascondere anzichè evidenziare le cose nuove e le cose interessanti che abbiamo). Il problema cui mi riferisco è il fatto che spesso le persone si ritengono troppo poco compententi, o troppo distanti dagli argomenti "esoterici" o di alto livello, per pensare di scrivere materiale per Perl.it.

Quelle keyword e quei tag, al contrario, mi sembrano mostrare un interesse per cose più terra-terra, legate agli ambiti in cui Perl - e non voglio sminuirne la potenza e rilevanza in ogni contesto IT - gioca ancora un ruolo fondamentale: script usa e getta, amministrazione di sistema, e via dicendo.

Che ne pensate?

Inviato da larsen alle 14:34 | Commenti (2)

TDD++

Segnalo anche qui le slide di skud sul Test Driven Development.

Chi è interessato all'argomento può consultare anche le slide di osfameron, presentate ad IPW2006, oppure l'articolo di Flavio Poletti, Introduzione al testing

Inviato da larsen alle 10:58 | Commenti (0)

Mechanix!

C'è una nuova sezione di Perlbuzz che si chiama Mechanix. Sarà il posto dove andranno a finire articoli (o segnalazioni di articoli) di carattere tecnico. Al momento ci si trova il link ad un post di Mark-Jason Dominus: Undefined behavior in Perl and other languages

Inviato da larsen alle 14:49 | Commenti (0)

"in defense of 'stable' platforms"

C'è un thread abbastanza animato su p5p che riguarda la decisione di Michael G Schwern di abbandonare il supporto di perl 5.5 nello sviluppo dei suoi moduli. E' intervenuto anche Jarkko Hietaniemi, con una osservazione che mi sembra interessante, al di là degli aspetti specifici della questione (e secondo me anche al di là della programmazione, ma questo forse è dovuto al fatto che passo grandissima parte della mia giornata davanti al monitor):

The first one is simply the good old "Was mich nicht umbringt, macht
mich stärker", or "What does not destroy me, makes me stronger." Having
to think about along which faultlines your assumptions lie, regarding
operating system interfaces, filesystem capabilities, even 'characters'
or 'numbers' themselves, makes your code stronger. If you don't
understand what your expectations are, they will be shaken and broken.

Inviato da larsen alle 10:35 | Commenti (0)

Disponibile perl 5.10.0-RC1

R. Garcia-Suarez ha (finalmente!) rilasciato la distribuzione release candidate della prima versione di perl nella serie 5.10. Fra gli altri posti, potete darci un'occhiata qui. Se rimarrà stabile per un mese sarà dichiarata la versione 5.10.0 ufficiale.

Inviato da polettix alle 02:38 | Commenti (3)

Gruppo Perl.it su LinkedIn

logo_linkedin.gif Su LinkedIn è stato creato il gruppo Perl.it. Potrebbe essere utile per ampliare il proprio network, e magari dare il via a collaborazioni anche professionali (che è uno degli obiettivi di Perl.it).

Inviato da larsen alle 15:13 | Commenti (1)

Perl su Free Software Magazine

Marco Marongiu (il perlista e perlmonger già noto su questo sito) ci segnala il suo articolo su Perl 6, pubblicato sul Free Software Magazine : Today's Perl problem is popularity, not power

Inviato da larsen alle 10:30 | Commenti (3)

Estrarre testo da un PDF

Ho appena scoperto CAM::PDF, una distribuzione con vari moduli per il trattamento dei file PDF.

Fra i vari esempi - tutti dai nomi interessanti - spicca getpdftext.pl, che estrae il testo da un PDF cercando di non sbagliarsi troppo. Molto promettente, soprattutto perché consentirebbe di avere soluzioni di archiviazione/indicizzazione dei file PDF in solo Perl, senza dover ricorrere a programmi esterni (come ad esempio pdftotext).

Inviato da polettix alle 02:56 | Commenti (0)

"Things I Don't Use in Perl"

Vorrei segnalare un thread interessante che ho appena trovato su Perlmonks: Things I Don't Use in Perl, di Ovid. Vi si possono trovare parecchi spunti di esplorazione e studio (quanti conoscono study?, quanti sanno padroneggiare i source filters? quanti conoscono i dettagli delle differenze tra our e use vars?). Inoltre c'è una replica di Damian Conway (Categorized Damian Modules), che prende in esame i suoi moduli, specificando per ognuno delle raccomandazioni d'uso. Considerato che sapersi districare su CPAN è uno dei requisiti del perlista capace, direi che merita una lettura.

Inviato da larsen alle 15:04 | Commenti (0)

I risultati del Perl Survey

È stata pubblicata l' analisi dei risultati del sondaggio volto a censire la popolazione dei programmatori Perl.

survey_partecipation.png

Inviato da larsen alle 14:24 | Commenti (0)

Come realizzare un server GSM casalingo

In questo articolo si spiega come realizzare un server GSM casalingo da utilizzare anche con goText [Programma in j2me per l'invio di sms dal cellulare, Ndr]! Tutto gratis, tutto OpenSource! Chi non manda sms da internet? Beh quasi nessuno, ma come fa "internet" e mandare gli sms? Possiamo simularlo in pochi passaggi! Dunque : per inviare un sms bisogna avere un modem GSM, infatti i siti che permettono l'invio di sms hanno un loro modem GSM o ne utilizzano qualcuno di terzi a cui possono accedere. Ovviamente i modem e i server e loro disposizione sono tali da poter permettere un flusso molto elevato di sms, ma per realizzarne una specie di prototipo, nel nostro caso ci basta:

  • un cellulare, anche vecchissimo (eh si, è proprio lui il modem GSM!)
  • un cavo per collegarlo al computer(anche IrDA e Bluetooth)
  • un webserver
  • L'ambiente di sviluppo Perl installato e i seguenti moduli:
    • Device::SerialPort (Win32::SerialPort on Windows)
    • Device::Modem
    • Device::Gsm
  • una connessione ad internet
  • Perl script goserver.pl

Sono consigliati, ma non necessari: il sistema operativo Linux e il webserver MyServer. Linux perché ha una certa predisposizione per gli ambienti server, ha il Perl già installato ed è più veloce e sicuro, MyServer perché un webserver dalle piccole dimensioni, veloce e facile da installare. Ripetiamo che l'esperimento si può fare benissimo con Windows come sistema operativo o con Apache come webserver, per esempio. Ora che abbiamo tutto il materiale procediamo con l'esperimento ma prima... a cosa potrebbe servire un server GSM casalingo? Facciamo degli esempi:

  • 1. Su una scheda che usate poco, avete attivato una promozione per l'invio gratuito di 500 sms : potete usare quella scheda con un vecchio cellulare, usando goText vi collegate al vostro pc e usate goserver.pl come servizio e potete mandare sms a 1 centesimo o meno, anche sms flash. Gli sms flash sono quelli che appaiono direttamente sul display dell cellulare. Potete inoltre dare gotext e installare il servizio goserver ad altri amici in modo da poter condividere quegli sms
  • 2. Avete un vostro sito, magari sul vostro webserver di casa: potete inserire un'opzione di invio gratuito di sms dal sito usando qualche scheda con qualche promozione sugli sms e un vecchio cellulare in modo di aumentare le visite sul vostro sito!
  • 3. Potete creare una specie di sms gateway con più cellulari per divertimento o per sperimentare, oppure rifornite qualche piccola azienda locale di sms a pagamento (più improbabile ma possibile!)
  • 4. Con i vostri amici usate tutti goText e usate la connessione di qualcuno che ha quasi sempre il pc acceso e qualche vecchio cellulare per sfruttare qualche promozione su qualche scheda, tutto ad 1 cent!

Potete pure creare sms con invio differito, sveglie via sms, sveglie con telefonate ecc ecc; insomma di idee simpatiche ce ne sono Step 1

Installazione di MyServer, lo scaricate dal sito ufficiale MyServer Project e scegliete la versione per Linux o per Windows. Scompattatelo, aprite il file

virtualhosts.xml
e alla voce 80 al posto di 80 mettete una porta qualsiasi , per esempio 1024. Poi avviate
myserver-configure
Alla voce MIME aggiungete se non c'è l'estensione pl e riempite i campi di testo in questo modo : MIME Type: text/html Azione : Esegui la CGIManager: path dove si trova il Perl (/usr/bin/perl , c:\Perl\bin\perl.exe, ecc) e salvate il tutto da File->Salva.

Step 2

Il webserver è pronto, ora vediamo le cose per il cellulare. Innanzitutto il collegamento : il dispositivo deve essere riconosciuto dal sistema (ci vuole il driver giusto) e assegnato ad una porta specifica (esempio : /dev/ttyUSB0 o /dev/ttyS1 o COM1). Se il Perl non è installato bisogna farlo, su Linux è già presente di default; gli utenti Windows lo trovano su ActiveState Perl ). Ora bisogna installare quei moduli : andate su CPAN e scaricateli. Scompattateli e installateli tutti secondo la normale procedura

perl Makefile.PL (controlla se ci sono tutti moduli necessari)
make
make install (da root per utenti Linux)
Per vedere se tutto funziona andate nella cartella dove avete scompattato Device-Gsm, in examples/ ed eseguite uno script che legge lo stato del segnale GSM del vostro cellulare
report_signal.pl
se ottenete una scritta di successo allora tutto è pronto! Ecco un esempio di come dovrebbe essere :
bluesman@ray:~/Apps/Device-Gsm-1.41/examples$ perl report_signal.pl

this is $Id: report_signal.pl,v 1.2 2004/03/15 21:43:22 cosimo Exp $
Getting signal quality of your mobile phone line...

Select your serial port [/dev/ttyS1] : /dev/ttyUSB0  
 <- ho messo la porta dove è attaccato il mio cell quando me lo chiedeva
ok! connected to gsm phone.
Signal quality reading: 12 dBm

Step 3

Siamo pronti! Copiamo lo script

goserver.pl
in [dirMyServer]/web/cgi-bin/ e, per utenti Linux, mettete i permessi a 755 con
chmod 755 goserver.pl
Apriamolo con un editor di testo e alla voce
$myport=''; mettiamo la porta dove è connesso il cellulare.
Esempi :
$myport='/dev/ttyUSB0';$myport='COM2';
alla voce$mypin=''; mettiamo il  codice PIN della scheda, 
se è assente mettiamo 0000esempio :$mypin='1234':
Ora avviamo il webserver con il comando
[dirMyServer]/myserver
Per provarlo apriamo il browser e digitiamo127.0.0.1/[port] ( ex :1024,1234,80,50000,etc)Se funziona ora basta installare il servizio goserver su goText e siamo pronti per usare il nostro server GSM dal cellulare!!

Step 4

In goText, come al solito, selezionare

Menu->Strumenti->Servizi->Nuovo
Nome : goServer
Indirizzo : http://[your IP or hostname]/cgi-bin/goserver.pl
Nelle opzioni del servizio possiamo scegliere se volere mandare sms normali o flash. Possiamo farlo immettendo 1 nel campo Nick
Nick : 1
altrimenti lasciando cosi com'è si mandano solo sms normali. Funziona! +333xxxxxxx Ciao, grazie per gli sms gratis dal tuo pc! Questo è solo un piccolo esempio di server GSM senza troppe pretese, un altro bel servizio per goText! Un simpatico esperimento facile e utile, grazie all'opensource! Specials thanks to Cosimo Streppone and Giuseppe Scrivano.

Inviato da BluesMan alle 15:39 | Commenti (0)

"Perl 5.10 for People Who Aren't Totally Insane"

Inviato da larsen alle 11:52 | Commenti (1)

Global destruction debugging!

Ho imparato che vale sempre la pena di leggere i messaggi che il Perl pazientemente dissemina (l'alternativa, cioè quello che più o meno facevo sempre prima, consiste nello snobbarli con superbia).

Ad esempio, soffermandomi sull'ultimo messaggio visibile in una sessione di debugging, ho scoperto l'interessante uso di $DB::finished per fare il debugging della global destruction phase.

Debugged program terminated.  Use q to quit or R to restart,
  use O inhibit_exit to avoid stopping after program termination,
  h q, h R or h O to get additional info. 

  DB<18> h q
q or ^D         Quit. Set $DB::finished = 0 to debug global destruction.

Non sono certo che saperlo prima mi avrebbe salvato quando mi sono scontrato con questo problema, ma non si sa mai.

Inviato da larsen alle 11:44 | Commenti (0)

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google