PDI^2

virtualbox ti voglio bene

software January 23, 2009 3:35 pm (Save post)

Da un bel po’ di tempo uso VirtualBox per avere le mie piccole macchine linux & windows sul mac.
Ho abbandonato il dual boot perché pare che linux non controlli il sensore di movimento per bloccare le testine dell’hard disk ed evitare problemi durante movimenti bruschi.

Avendo perso già un hard disk (£#!l%*!!) non mi pare il caso di insistere.

Comunque, virtualbox funziona benissimo. Però ero rimasto perplesso dal fatto che non si fosse aggiornato automaticamente (beh, non si aggiorna automaticamente mai, dice solo che c’è una release) quando c’è stata la release 2.1, mentre per le minor 2.0.x lo aveva sempre fatto.

Oggi mi ha proposto l’aggiornamento alla 2.1.2, il che significa che probabilmente stavano aspettando una stabilizzazione del software prima di spingere gli utenti a migrare.

Sono contento perché è un approccio corretto nei confronti degli utenti e intelligente da parte degli sviluppatori. La felicità è nelle piccole cose.

E adesso proviamo quest’upgrade, che sicuramente mi cancellerà tutti i dati.

Hell becoming colder

programmazione, web, software September 28, 2008 9:52 pm (Save post)

Prima google usa codice open source pubblicato da microsoft, poi leggo da NRK che microsoft mette codice open source in visual studio.

Nel frattempo, Sun accoglie sviluppatori di linguaggi alternativi per la JVM a casa sua, che non si sa mai possano dargli un consiglio, e la Diesel pubblica porno safe for work .

Succede sempre un casino appena io mi scollego da internet per un paio di settimane.

programming.reddit’ed di nuovo

personale, blogosfera, software October 27, 2007 9:25 am (Save post)

Ho scritto un post sull’overview di ecmascript 4 e sono finito sulla prima pagina di programming.reddit, fico.

Adesso sono precipitato ma continuo a ricevere parecchie visite, ma la cosa interessante è, come al solito, la statistica dei browser: (le ultime cento e qualcosa, da lloogg.com):

Firefox/2 (76)
Opera/9 (10)
MSIE 7 (9)
Iceweasel/2 (6)
Safari/522 (6)
Safari/419 (5)
Firefox/1 (3)
Safari/523 (1)
MSIE 6 (1)

Basta scegliersi il pubblico adeguato e basta preoccupazioni con Internet Explorer, il suo market share è irrilevante ;)

3 plugin per VIm

software October 25, 2007 8:15 am (Save post)

Ultimamente ho cominciato ad usare ben tre plugin per VIm, tutti e tre abbastanza rodati e decisamente utili.

Il primo è dbext, che in pratica trasforma l’editor in uno strumento per l’interazione con i database, permettendo la scrittura di SQL e l’esecuzione live delle istruzioni, con tanto di autocompletion.
I risultati delle query vengono mostrati in un altro buffer, che è a sua volta editabile. Insomma, è un’alternativa molto interessante rispetto alla solita shell del database da riga di comando, quantomeno perché permette di modificare le query multilinea appena eseguite senza impazzire.
Oltretutto la configurazione interattiva è semplicissima e permettendo di interfacciarsi con praticamente tutto.

Infine, è possibile avere configurazioni multiple e cambiarle durante la sessione di lavoro, una figata.

Il secondo plugin è Project, che in pratica è “la lista dei file come dovrebbe essere“.
Infatti, un progetto altro non è che una fold formattata in un certo modo, ovvero:

nome=/path/project/ filter=\"*.c *.h\"{
 Foo.c
 Foo.h
 Bar.c
 }

su questa fold potete eseguire dei comandi (doppio clic o invio per aprire un file, \r per ricaricare etc), e basta tenere il file con le fold aperto in un buffer per usarlo come lista file del progetto.
Ma non solo: Project permette di avere fold annidate, e se seguite la procedura interattiva di creazione di un progetto vi creerà automaticamente fold per ogni directory ricorsivamente.

Ma siccome un progetto è solo una lista di stringhe in un file, spostandovi nella finestra della lista potrete cancellare o modificare le definizioni, ad esempio rimuovere la cartella dei log che non serve, filtrare i file README o .txt, usare solo i .xml nella cartella exampledocs e così via.

Il terzo plugin è rails.vim. , che fa un sacco di cose fiche, ad esempio fa si che sia possibile eseguire gli script o i task di rake. Ma soprattutto, fa funzionare gf (Goto File) in modo rails-ish.
Il che significa che ad esempio se state modificando routes.rb e c’è una linea come

 map.resource :books

spostando il cursore su books e scrivendo gf automaticamente verrà aperto il controller BookController.
Non solo, offre dei comandi standard per passare ai file correlati, per cui potete saltare con la pressione di tre tasti dal modello allo unit test alle fixture al controller . E ovviamente se usate un mapping custom potete farlo con un tasto solo :)

coComments diventa uno schifo, passo a co.mments e mi scrive l’estensione

programmazione, web, software August 31, 2007 10:32 am (Save post)

La versione 2.0 beta di coComments è stata accolta da una salva di critiche enorme, al punto che gli autori hanno tenuto a specificare che no, suvvia, non è che deve rimanere così, gli utenti sono quelli che comandano etc etc…

A me però anche dopo le ri-modifiche continua a non piacere. Già prima era abbastanza bruttino, e l’estensione per firefox, per quanto potente, era ultralenta.

Per cui sto sperimentando con co.mments.com, che ha un tracking dei commenti molto migliore.

Purtroppo non ha integrazione col browser, il che significa dover cliccare su una bookmarklet per registrare una conversazione e visitare il sito per vedere le novità (o leggere il feed).

Per la prima cosa, non è un vero problema, e anzi, ha dei vantaggi.

La seconda è un po’ scomoda, per cui ho smanettato un po’ e mi son tirato fuori un’estensione per firefox che mostra un’iconcina colorata nella status bar quando ci sono nuovi commenti, e cliccando sulla quale si può andare a vedere il tracking.
Ho smanettato due ore, poi le divinità di javascript mi hanno dato una mano e ho ottenuto una cosa funzionante in 4 minuti netti.

Se volete provarla fate un fischio.

Aggiornare tumblr da cellulare

italia, software July 9, 2007 11:56 am (Save post)

Dovere di cronaca: continuo a non usare tumblr ma siccome so che svariati tra i lettori lo fanno (e se volete potete lasciare un commento e dirmi dove sta il vostro tumblelog, nel caso non lo abbia ancora trovato) mi pare giusto fare propagando a questa applicazioncina di Federico che permette di postare su tumblr da cellulare.

Dannati geek che non siete altro :P .

Subversion 1.5 e il cherry picking

programmazione, software May 15, 2007 3:12 pm (Save post)

Pare che la futura versione 1.5 di subversion, il noto software di revisione, avrà finalmente delle caratteristiche avanzate di merging, tra cui il cherry picking.

Il cherry picking è secondo me la funzionalità più utile che si possa avere in un sistema di controllo di revisione, e come l’esempio ottimale penso sia darcs, anche se credo che ormai altri software possano avvicinarsi come funzionalità (svk, mercurial?)

In pratica, immaginate una situazione del genere:

  • alice pubblica il software XYZ
  • bob scarica XYZ
  • bob modifica helo.c (azione 1)
  • bob rinomina helo.c in hello.c (azione 2)
  • bob modifica quit.h (azione 3)
  • bob invia l’intero pacco di cambiamenti ad alice

Ora: alice guarda la patch e decide che il cambiamento di nome è in realtà errato (il file deve veramente chiamarsi helo.c) ma vuole comunque importare le modifiche per quit.h.
Il cherry picking è proprio questo: alcuni cambiamenti sono indipendenti, ed è possibile scegliere selettivamente di importarne solo alcuni e ignorare il resto.

Volendo, alice può importare il solo cambiamento 1, e ignorare 2 e 3.
Se invece decide di importare 2 il sistema la costringe ad importare anche 1, in quanto c’è effettivamente dipendenza tra i due.

darcs rende l’operazione incredibilmente semplice, mostrando le varie patch indipendenti e permettendo di selezionarle singolarmente, a gruppi interdipendenti, tutte insieme o escludendono specificamente alcune (e nel caso, non mostrando le altre che ne dipendono).

Ovviamente questo sistema è tanto più utile quanto più lo sviluppo è decentralizzato, ma anche nell’ambito di SVN sarebbe utilissimo. Non rimane che attendere :)

Cambiare User Agent in firefox

web, software April 8, 2007 7:41 pm (Save post)

non so se vi è mai capitato, ma a volte può essere comodo cambiare lo user agent in firefox dal classico “Mozilla 5.0 foo bar baz” in qualcosa di più interessante, come FeedBurner o googlebot o IE, tanto per verificare le vostre rewrite rule o entrare in qualche sito che fa controlli scemi.

In tal caso, il mio approccio funzionante è stato:

  1. scrivete about:config nella barra degli indirizzi
  2. cliccate col destro nella lista delle voci e selezionate New->String
  3. create una nuova voce general.useragent.override
  4. assegnategli il valore che volete
  5. verificate che sia in uso scrivendo nella barra degli indirizzi about: e controllando l’ultima riga, “build identifier”

Ok, è una piccola cosa, ma mooolto utile :)

Varnish: programmare nel terzo millennio

linux, software, C April 2, 2007 10:02 pm (Save post)

Mi è capitato l’altro giorno di inciampare su varnish , un acceleratore HTTP per freebsd e linux dal design innovativo, che presenta alcuni punti interessanti.

Anzitutto, fa un sacco di cose: gestione del caching, compressione, load balancing etc. Ma vabè, sono cose abbastanza standard.

Una cosa più carina è l’utilizzo di un linguaggio per la configurazione che viene effettivamente compilato e linkato con il programma, in modo da massimizzare le prestazioni, e da queste parti certe cose le apprezziamo.

Ma il vero motivo per cui il progetto si merita un link è per le Notes from the Architect, ovvero un testo che spiega quali siano le differenze di progettazione tra Varnish e altri software analoghi (in particolare l’autore usa Squid come esempio).

Il tipo, oltre ad essere l’autore della beerware license comunemente usata, è un programmatore di lunga data, si è scritto una sua malloc(), e ha trafficato a lungo nel kernel di freebsd, quindi assumiamo sia una persona vagamente competente.

Cosa si dice nelle note architetturali?
Il testo è interessante, perché sostiene che molti dei programmi attuali sono scritti in uno stile obsoleto che aveva senso 30 anni fa ma che ora fa più danni che bene
Ad esempio, i software non fanno affidamento sulle VM dei sistemi operativi moderni, e cercano di gestire da se la paginazione su disco della cache, creando un overhead notevole senza alcun guadagno, dato che i kernel sono perfettamente in grado di capire cosa swappare e cosa no (e le cpu supportano in hardware certe cose da una vita).
Inoltre, i sistemi SMP/SMT moderni e le ampie cache on die impongono uno stile di programmazione differente dai vecchi 386, che non viene sfruttato, e spesso neanche gestito, da certi software.

Insomma, dateci una letta. Certo, non c’è neanche un benchmark quindi potrebbe essere tutta fuffa, ma d’altronde, anche i benchmark sono fuffa, no? ;)

Login OpenID via XMPP via Firefox via un server sudafricano

personale, web, italia, software, Identity March 31, 2007 12:54 pm (Save post)

Ovvvero, il miglior modo per ottenere qualcosa è suggerirlo vagamente a un buon hacker.
Checché ne dica bard, io gli ho solo detto “oh, sai esiste una cosa carina per autenticarsi su openid via xmpp“, ed è stata la sua avidità di creazione a generare una estensione per firefox per l’autenticazione OpenID via XMPP.

Per maggiori info vi rimando all’articolo su openid.it, posso solo dirvi che funziona da paura, ma non va benissimo con gli account GTalk (per colpa del relaying party, non per l’estensione).

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