Archives for aprile 2008

Le avventure di un Pythonista in Schemeland /9

Non c’è limite al livello di sofisticazione che si può raggiungere con
le macro; in particolare è possibile definire delle macro di ordine
superiore, ovverossia delle macro che definiscono macro. Questa
tecnica permette uno stile di programmazione molto elegante, che però
può facilmente condurre a codice incomprensibile e indebuggabile.
Per evitare ciò,
sarò costretto ad introdurre dei tool di supporto. Sfortunamente tali tool non saranno standard, in
quanto la tradizione di Scheme è quella
di fornire degli strumenti di base estremamente potenti con cui è
possibile definire delle utilità che rendono la programmazione in
Scheme relativamente semplice e debuggabile, ma di non inserire
tali utilità direttamente nello standard. Questo significa che ogni
programmatore è obbligato a invertarsi dei tool di sviluppo personali
diversi da quelli di tutti gli altri.

Il sistema di macro non fa eccezione a questa filosofia e per esempio
non esistono nello standard strumenti di debugging per le macro tipo
il macroexpand del Common Lisp anche se sono facilissimi da
costruire. La cosa fastidiosa è che non sarebbe stato difficile
rendere gli strumenti di base più usabili. Ci possono essere varie
spiegazioni per questa omissione. Volendo essere cattivi, si potrebbe
pensare che sia stato fatto per obbigare gli studenti a svolgere i
compiti, o addirittura che sia stato fatto per rendere Scheme un
linguaggio per pochi eletti.

[Read more…]

Layer-7 Traffic Switching

OSI Model

Aggiungere alla propria rete un proxy che possa servire da web cache e, per chi lo desiderasse, filtrare qualche tipo di traffico, non è una operazione banale e presenta spesso qualche difficoltà.

Sebbene al giorno d’oggi i service provider non siano più così interessati a risparmiare banda mettendo in cache i contenuti web, nelle reti aziendali risparmiare sul traffico HTTP potrebbe essere economicamente conveniente. Senza considerare le molte leggi che i vari stati europei stanno promulgando, con lo scopo di impedire ai minori accesso a materiale vietato.

Purtroppo quando si tratta di inserire un proxy nel flusso del traffico si può incorrere in problemi di design anche abbastanza seri. Vediamo in questo articolo quale potrebbero essere eventuali soluzioni.

[Read more…]

Autocoscienza

* Ho letto questa meravigliosa vignetta una dozzina di anni fa, ma non ricordo l’autore. Qualcuno di voi lo conosce?

* I read a strip like this more than ten years ago, but I can’t remember its author. Can anybody help me?

XBL – XML Binding Language /3

Siamo giunti all’ultimo appuntamento con XBL dopo aver visto come modificare l’aspetto grafico dei componenti e come eseguire operazioni
tramite metodi Javascript.
In questo articolo ci concentreremo sull’utilizzo dei gestori di eventi e faremo la conoscenza dell’Anonymous Content.

[Read more…]

XBL – XML Binding Language /2

Si è visto nel primo appuntamento come creare un componente XBL e come modificarne uno esistente, in entrambi i casi si è agito esclusivamente
sull’aspetto grafico ma sappiamo che è possibile anche definire dei metodi che permettono di controllarne il funzionamento.
Il seguente articolo descriverà come XBL permetta di creare “nuovi” tag con i propri attributi e la propria logica applicativa.

[Read more…]

Benchmarking Scala

La questione delle prestazioni è sempre cruciale per i nuovi
linguaggi che cercano di affermarsi. Ho quindi voluto fare un piccolo
esperimento, molto casereccio e senza alcuna pretesa di scientificità,
per confrontare Scala e Java. Quale elementare banco di prova ho scelto
l’ordinamento di Array. Come primo passo ho creato un micro programma
Java che sfruttasse le funzioni di libreria per l’ordinamento di
vettori.

[Read more…]

Pubblicato il programma del Pycon Due, la Conferenza Italiana su Python

E’ stato pubblicato il Programma del Pycon, la
seconda conferenza italiana dedicata al linguaggio di programmazione
Python, che si terrà a Firenze il 9, 10 e 11 Maggio 2008.

Dopo il largo successo di pubblico e critica ottenuto da Pycon Uno nel
2007, l’Associazione di Promozione Sociale “Python Italia” organizza
quest’anno un evento ancora più ambizioso. Sono attesi infatti più di
300 tra professionisti, studenti e ricercatori, per una tre giorni
intensa di appuntamenti e interventi imperdibili.

[Read more…]

Test

Phusion ha rilasciato mod_rails

L’azienda olandese Phusion ha finalmente rilasciato Passenger (ovvero mod_rails), un progetto avviato al fine di semplificare il processo di deployment di applicazioni in Rails. Al momento, lo standard adottato dalla comunità Rails è l’impiego di un cluster di istanze di Mongrel, con un web server classico (Apache, Lighty, NGINX, ecc…) che fa da proxy balancer. Questa combinazione funziona bene ed è scalabile, ma ha alcuni svantaggi. Il setup di una tale configurazione può confondere i nuovi arrivati, richiede un quantitativo di memoria RAM non indifferente, e soprattutto si presta poco alle esigenze dell’hosting condiviso a basso costo.

Mi pare plausibile che mod_rails diventi lo standard per la comunità Rails, visto che risolve quasi interamente i problemi citati. Non c’è nulla da configurare, quindi offre allo sviluppatore un ambiente pronto all’uso, proprio come fa mod_php per il mondo PHP. Stando a quanto riferito dall’azienda, la loro versione di Ruby (chiamata Enterprise Edition), userebbe circa il 30% in meno di memoria. Per finire, gli autori si sono concentrati su aspetti quali prestazioni, stabilità e sicurezza, e il loro sistema di caching del codice rende Passenger un grosso passo avanti per coloro che intendono utilizzare Rails su shared hosting.

Il mio primo giorno di scuola con Erlang

Nell’ultimo periodo il nome di questo linguaggio di programmazione ha cominciato a comparire sul mio radar… un altro tra i numerosi linguaggi di programmazione esoterici?

[Read more…]