PDI^2

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.

Note dal Ruby Social Club Milano 3

ruby, personale, rubyonrails, ruby-it September 27, 2008 1:41 pm (Save post)

Passando da milano un paio di giorni fa i rubyisti locali hanno avuto l’ottima idea di organizzare un meeting.
In fondo un po’ me lo meritavo, essendo stato presente al primo storico RSC dovevano farmi vedere come siam cresciuto in due anni :)

E cavolo se siamo cresciuti! La prima volta eravamo in cinque o sei, se non ricordo male, stavolta eravamo una trentina! Note sparse:

  • l’accoglienza di mikamai è stata ottima. Anche perché mi hanno fatto stare da loro per due giorni oltre alla sera del meeting :)
  • ben tre donne!
  • nei talk si è parlato, tra le altre cose, di tecnologie di scraping, amazon EC2, assistenti virtuali, visualizzazione di social network con Processing
  • all’ultimo momento ho scoperto di dover fare un mini-talk anche io. Come speaker faccio schifo. La micropresentazione è online, ma siccome è stata accroccata in fretta e con il takahashi method non credo ci capirete niente. Però se volete chiedere fate pure :)
  • Matteo Vaccari ha tenuto una pico-sessione al proiettore presentandoci un problema interessante:

    supponiamo di voler partizionare/ordinare un array in modo che tutti gli elementi X vengano prima di quelli Y.
    Ad esempio, ordinare [1,2,3,4,5,6,7] in modo che tutti i pari vengano prima dei dispari.
    La cosa va fatta in place, in modo che lo spazio usato sia costante (qualche variabile ausiliaria va bene). E in tempo lineare.
    Questo è facile, effettuando uno scan della lista e scambiando ogni volta l’elemento i-esimo con l’elemento j-esimo, dove i è inizialmente zero (incremento quando non scambio) e j è array.length -1 (fine array, decremento quando scambio).
    In questo algoritmo l’invariante è che ogni passo riduce la dimensione dell’array lasciando le parti esterne ordinate (l’inizio che si è già passato perché composto da elementi “minori” e la fine che si è allontanata perché composta da elementi “maggiori”).
    Come si fa con una partizione in tre (minori, medi, maggiori) ?

    Divertitevi, sulla ML c’è un thread (spezzato in due) a riguardo

  • io avevo anche promesso a un paio di persone di dargli i dati precisi di un altro problemino, ma non mi ricordo a chi l’ho detto. Beh in ogni caso il problema è il seguente:

    Dato un array A di lunghezza N vogliamo produrre in output un array B della stessa lunghezza in cui ogni a ogni elemento A[i] corrisponda il prodotto di tutti gli elementi dell’array tranne se stesso.
    Ad esempio per A= [1,2,3,4] avremmo B= [2*3*4, 1*3*4, 1*2*4, 1*2*3] = [24, 12, 8, 6].

    Ovviamente, in tempo lineare.
    Se ora state per dire “basta usare la divisione..” beh ovviamente no, senza usare divisione, modulo e similari.

  • tra le altre cose di cui mi ricordo di aver parlato: couchdb, linguaggio io, bloody mary, le cameriere, django, biologi, ungheria, irlanda, etc etc
  • è sempre bello incontrare persone che hai sempre letto sullo schermo e scoprire che hanno una terza dimensione

Mi scuso con quelli che mi son stati vicini perché credo di aver parlato troppo e ascoltato poco, ma mi ha fatto molto piacere incontrarvi, spero si possa fare di nuovo, e d’altronde sarebbe anche ora di fare un nuovo RSC meeting a roma :)

sui wiki

personale, web September 10, 2008 7:50 am (Save post)

Stamattina stavo perdendo tempo su Everything2, leggendo questa lettera ad isaac asimov.

Che è carina, probabilmente per la frase

Whatever spark you had ignited within me, it laid on the backburner for a while. But not forever!

ignite è un verbo bellissimo.

Ad ogni modo, per chi ignorasse everything2, si tratta di una raccolta interconnessa di scritti indipendenti.
Pensate a wikipedia, solo che invece di scrivere noiose descrizioni pseudo-oggettive ci potete mettere saggi, racconti, lettere e poesie.

Però E2 ha una cosa che wikipedia imo non ha più: la mentalità da wiki vero.
Wikipedia col tempo si è evoluta in modo che le pagine non contenessero troppi link, e in modo che non si scrivessero idiozie e in modo che non si mettesse a rischio il NPOV. Citation needed.

Invece su E2 trovi nodi come in praise of religion as an agent of mediocrity.

Forse wikipedia, la cosa che più ha diffuso i wiki nel mondo, non ha più natura wiki (as in: il cane ha natura budda? mu).

Ad esempio, non c’è una pagina wiki nature.
Nemmeno uno spazietto in cui mettere una delle più belle definizioni che ci siano:

WikiNature is typing in a bunch of book titles, coming back a day later, and finding them turned into birds in the Amazon.

La citazione qua sopra (curiosità: perché in html c’è sia “quote” che “cite”?) viene dal wiki di ward, il primo wiki. Il Wiki.
Io sono stato utente del Wiki per un po’ e ancora adesso ritengo che sia uno dei posti più interessanti di internet.

Primo, perché ha zero controlli.
Secondo, perché possiede quella parte della natura wiki che tende a mettere insieme concetti per il gusto di metterli insieme.

Quando leggi la definizione di wiki su wikipedia ti dice delle cose tristi sull’user generated bullshit.
Quando leggi il Wiki ti parla dell’estetica giapponese, della mano invisibile di adam smith e del tao te ching.

E2 in questo senso è forse più fedele all’idea originale, e in effetti loro dicendo di aggiungere link parlano di una terza dimensione, i link

can be used to simply link to a different form of a given word or phrase, or to add another whole layer of meaning to the text

Lo so, wikipedia è così per una ragione. Però è noiosa.

Ignorance is bliss

programmazione September 4, 2008 3:35 pm (Save post)

È bello essere un non informatico.

Quando sei un non informatico e fai il recupero password sul sito della wizzair e ti arriva la tua vecchia password via mail in chiaro non ti incazzi.

Quando cerchi di prenotare un volo sul sito di citylink usando browser diversi da IE e ti capita un errore server side di websphere non ti incazzi.

Quando ti capita un errore sul sito di ryanair e ti viene detto The connection failed for Server = ‘FRRZPHEDQ502\REZOLPRD01,52900′, Database = ‘REZFROL01′ e ti danno la possibilità di visualizzare lo stacktrace:


Server stack trace:
   at Navitaire.NewSkies.RemotingServices.ServiceManagers.SessionManager.Logon(LogonRequest request)
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
	
Exception rethrown at [0]:
   at Navitaire.NewSkies.UI.Web.SkySales.HttpHandlers.SkySalesApplicationHandler.ProcessRequest(HttpContext context)

..tu mica ti incazzi.

Come si dice, beato te, che non capisci un cazzo.

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