PDI^2

Gradual Static typing

programmazione August 31, 2006 9:51 am (Save post)

Ovvero, l’idea di usare l’analisi statica di un programma scritto in un linguaggio dinamico per verificare che non ci siano errori nelle parti che sono controllabili staticamente.
Insomma, non proviamo che il programma è corretto, ma almeno diamo un’occhiata che non sia clamororsamente sbagliato.

A me pare la cosa più ragionevole per un linguaggio: se si vuole si aggiunge qualche indizio per il type checker qui e li e le cose continuano a funzionare allegramente per le parti di programma che non sono controllabili staticamente. Il che permette anche ad un programmatorei di utilizzare un approccio controllabile staticamente per parti di codice più delicate.

Link su Lambda the Ultimate, come al solito. Geniale il commento “In other news, the Holy Grail has been found” :)

invito per vox

web 8:57 am (Save post)

Sono stato invitato a provare Vox, il “nuovo” servizio di SixApart, un’altra comunità socializzante basata sul blogging.
Da un certo punto di vista sembra un LiveJournal 2.0, con tagging, gradienti qua e la, font size=5.

La ui comunque è molto carina, pulita e non distrae, i post si possono scrivere con un rich text editor molto ben fatto e ad hoc (nel senso che ad esempio si può inserire con un click il collegamento ad un altro utente) e l’uso di javascript/ajax pare intelligente.
Non mi è chiaro perché non ci sia il supporto OpenID per il login, ma forse ho visto male.
Oltre al servizio minimo di scrittura di post c’è una certa multimedialità cablata nel sito, tramite la possibilità di inserire al volo file audio/video, aggiungere libri, album, liste di oggetti create in precedenza, tutto molto integrato.
Forse l’unica cosa che manca è l’integrazione con un calendario, potevano spendere due lire e comprarsi Kiko, imo ;)

Se volete un invito per dare un’occhiata fate un fischio, dovrei averne infiniti.

Mi era parso di vedere un DDL

personale August 30, 2006 9:28 pm (Save post)

Avrei voluto passarvi il link dell’interessante dibattito radiofonico che ho sentito la settimana scorsa su radio24, a proposito della proposta di abolire l’ordine dei giornalisti.

Ovvero quella cosa che garantisce che i giornalisti siano capaci, obiettivi, corretti, seri e onesti.

Ma il sito di radio24 è incomprensibile all’uomo. Avevano ragione quelli di open nova uno quando supera i 25 anni si rincoglionisce e non riesce più a lavorare bene con la tecnologia.

Usare feedburner con typo

web, rubyonrails 2:04 pm (Save post)

In caso serva a qualcuno, ecco delle note sul modo in cui sono riuscito a far funzionare l’altro mio blog, basato su typo, con feedburner.

L’operazione è abbastanza semplice:

Aggiungete una route al file $typodir/config/routes.rb con un codice come questo:


  map.xml 'hidden/:format/hiddenfeed.xml',
                   :controller => 'xml',
                   :action => 'feed',
                   :type => 'feed'

questa servirà a creare un nuovo url nascosto al mondo da dare in pasto a feedburner.
Aggiungete la linea dopo quelle relative agli altri feed, ovvero le linee che iniziano per map.xml.
Ora registrate il vostro nuovo url per il feed su feedburner, che ve ne darà uno nuovo del tipo http://feed.feedburner.com/pippo.

A questo punto dovete far si che i vecchi percorsi siano reindirizzati, a questo nuovo url, usando un classico file .htaccess come questo:


Redirect permanent /xml/rss/feed.xml http://feeds.feedburner.com/pippo
Redirect permanent /xml/rss20/feed.xml http://feeds.feedburner.com/pippo
Redirect permanent /xml/atom/feed.xml http://feeds.feedburner.com/pippo

Se il vostro host non legge il .htaccess in /public, create una sottodirectory /public/xml e mettetelo lì.
Potete usare anche una sola regola se usate mod_rewrite, ma le regole qui sopra funzionano anche con apache liscio.

A questo punto potete teoricamente già fermarvi. Per fare le cose per bene potreste decidere di far si che tutti i futuri lettori usino il nuovo feed sin dal principio, senza passare per il redirect, e questo è possibile mettendo mano un po’ più in profondità dentro typo.

In particolare dovrete modificare il file app/helpers/article_helper.rb ed in particolare il metodo
page_header, potete facilmente trovare le linee in cui vengono usate #{@auto_discovery_url_atom} e {@auto_discovery_url_rss}.
Sostituite queste variabili con il vostro nuovo feed. Se volete potete eliminarle e lasciare un solo link, tanto un feed solo è sufficiente.

Infine, potete verificare che il tema che state usando sia ancora coerente, perché alcuni fanno delle porcate.
Usare feedburner con typo è abbastanza semplice, ma penso che si potrebbe fare di meglio.
Magari… che ne so.. si potrebbe scrivere un bel plugin, no?

Ruby 1.8.5 rilasciato

ruby, personale August 29, 2006 9:14 am (Save post)

Un altro rilascio stabile, in leggero ritardo sui tempi ma abbastanza in linea con i rilasci semestrali auspicati da matz. Non c’è ancora un one click installer per windows, però, in caso vi serva.
Per le novità leggete questo sommario, per il link principale.. beh vi rimando al redesign di ruby-lang.org che è fichissimo anche se un filo troppo web2.0ish.

Per quel che mi riguarda la cosa più carina è il nuovo pretty_inspect che fornisce una rappresentazione superleggibile di oggetti complessi, prima disponibile solo tramite pretty_print. Ovviamente però, quest’ultimo buttava direttamente a schermo i dati, mentre il primo restituisce la stringa, il che rende più semplice integrarlo con sistemi di logging.

Vivere D’Aria

web, software August 28, 2006 9:27 pm (Save post)

Capita molto molto spesso di finire in discussioni sui relativi meriti dell’open source, e sui modelli di business da seguire etc etc..

Beh, ho pensato fosse carino notare come i ragazzi di Mad4Milk, ovvero la web agency romana che ha tirato fuori dal cilindro Mooglets (alias: dashboard per il web) e moo.fx (alias: effetti javascript da paura in 3 kb) ha venduto ad un’altra compagnia quest’ultima libreria.

Libreria che però era e rimane sotto licenza MIT, ovvero la licenza “fai quello che ti pare e mantieni i credit”, il passo minimo sopra il public domain. Fico, no?

Relax

personale August 20, 2006 1:48 pm (Save post)

Ciao Caro Lettore, ci si sente fra una settimanella..

non c’è tempo non c’è tempo

ruby, personale August 19, 2006 2:32 pm (Save post)

ma se viva date un’occhiata a questo screencast fatto al volo del mio lavoro su nitro, potrebbe rimanere online solo per qualche ora però quindi non linkatelo o altro ;)

Java 7 (dolphin) avrà le closure

java, personale 7:26 am (Save post)

Ovvero Sun finalmente ha fatto una cosa sensata :D
Ci saranno funzioni anonime con scope lessicale in Java 7, e speriamo anche un bel po’ di posti nuovi dove poterle usare. Questa è un po’ di documentazione a riguardo e questo è l’annuncio di gilad bracha.
Il nuovo python con i blocchi, C#3 e Java7 con i blocchi, perl e ruby li avevano da una vita… misà che cominciano ad essere pochi i linguaggi rimasti senza. Come ha detto qulcuno, se il tuo linguaggio non ha i blocchi vedi se puoi farti ridare i soldi ;)

Jabber? LiveJournal? Erlang!

programmazione, web, software August 18, 2006 7:55 am (Save post)

Ovvero, ho scoperto solo oggi che LiveJournal (che significa SixApart, TypePad, MovableType, OpenID, TypeKey & Vox) ha in progetto di fornire la propria tecnologia di messaging, LJTalk, basata su XMPP/Jabber.

In pratica il client dovrebbe permettere di chattare integrandosi con le funzionalità di blogging/sociali di LJ, permettendo di fare post veloci al volo e cose così. In effetti viene da chiedersi come mai non l’abbiano fatto prima o perché non lo abbia ancora fatto qualche altro network di blogger[1].
Peccato per blogger.com, che nel nuovo redesign avrebbe potuto integrare la tecnologia ajaxish di gtalk-da-web e ha perso l’occasione.

Ad ogni modo la cosa interessante è ancora una volta l’utilizzo del protocollo XMPP ovvero di quel meccanismo estensibile e standardizzato per gli IM che è stato già scelto da altre società tra cui Google e la nostra Tiscali.
Come già per GTalk, LJ scommette sull’interoperabilità, ma al contrario di Google non fa’ scelte commerciali stupide tipo nascondere la funzionalità per poter integrare solo le $company amiche. Bravi.

Ma ancora più interessante c’è il fatto che abbiano deciso di scriversi il proprio demone Jabber, ovvero DJabberd, scritto in perl peraltro.
Mi chiedo quanto questa scelta sia azzeccata: io uso il transport MSN fornito da jabber.linux.it il quale va giù ogni tre per due. Il fatto che mi venga un simpatico error “NoneType has no attribute foo” mi fa sospettare che non si tratti di ejabberd
ma di qualcosa fatto in python. Forse però è solo l’integrazione con qualcosa di esterno. Mah.

Ad ogni modo, eJabberd, il demone jabber scritto in erlang. Erlang è un linguaggio per cui scalabilità e concorrenza sono state le cause prime del design, e che è ottimo per un software di questo tipo.
Sicuro per default, in grado di sfruttare al massimo cpu multicore cambiando un paio di righe, linguaggio di livello molto alto grado di minimizzare i bug e decisamente efficiente. Esempi come YAWS lo dimostrano.

Allora perché LJ ha deciso di riscriversene uno in perl? Il merito/colpa sembrerebbe cadere sui soliti noti:

  1. ejabberd non fa quello che si vuole
  2. l’infrastruttura di LJ è già in perl
  3. CPAN è infinito
  4. NIH!

E tutti questi motivi poggiano sull’assunto che in LJ non ci siano competenze su erlang, e che non si ritenga utile crearne di nuove.

Meglio riscrivere da soli una tecnologia da zero, che imparare ad usarne un’altra ben rodata? Chi vivrà vedrà, un po’ di concorrenza non può fare male.

[1] se lo volete penso di poter sviluppare tale servizio per il vostro network di blog per una ventina di migliaia di euri, subappaltando ;P

Get free blog up and running in minutes with Blogsome
Theme designed by Janis Joseph