Articles Labelled with “Information technology”

Encoding, questo sconosciuto

Immagine del quoting errato

Questa sera ho installato il nuovo decoder per il digitale terrestre. Gioco un po' con l'EPG e scopro un grossolano errore di quoting da una sorgente evidentemente XHTML, cliccate l'immagine per ingrandirla.

La codifica dei caratteri si conferma una delle nozioni più complicate dell'informatica moderna… È già un miracolo che non sia esploso il televisore!

Bah!

È morto Benoît Mandelbrot

Benoît Mandelbrot è morto tre giorni fa, il 14 di Ottobre. Potete leggere una sua biografia su Wikipedia, anche se dubito che da quella si possa comprendere quale sia stata la sua influenza nei numerosi campi che il concetto di geometria frattale ha rivoluzionato, dalla Fisica all'Informatica, dallo studio dell'Anatomia e della Fisiologia alla Geologia ed alla Teoria dei Sistemi Dinamici, per la quale i frattali danno un inquadramento geometrico rigoroso al concetto di caos deterministico.

Dal momento che sono la persona meno adatta a ricordare un grande matematico — in Matematica sono una scarpa — preferisco spiegare perché quest'uomo ha influenzato la mia vita, piuttosto che quella dell'Umanità.

Ho scoperto l'insieme di Mandelbrot nei primi anni delle scuole superiori. A quell'epoca veniva pubblicata MCmicrocomputer, una rivista di informatica davvero speciale per l'approfondimento con cui molti argomenti venivano trattati. Corrado Giustozzi, tra le altre cose, teneva Matenigmici, una rubrica di Matematica ricreativa. Nel numero 62, Aprile 1987, 23 anni fa, appariva l'articolo “Frattali e complessi” in cui Giustozzi introduceva l'argomento. Lessi quell'articolo con interesse, ma non me ne feci nulla fino ad un paio d'anni dopo quando, iniziato il Liceo Scientifico, conobbi Marco Arrigoni.

L'insieme di Mandelbrot

Marco ed io avevamo molte passioni in comune, dalla bicicletta al computer, ed armati di un PC (di suo padre) con processore Intel 80286 decidemmo di scrivere un programma per disegnare l'insieme di Mandelbrot. È stato uno dei primissimi programmi con output grafico che abbiamo scritto e fu un'emozione. Il programma disegnava l'insieme di Mandelbrot ma non aveva la possibilità di fare zoom, di caricare o salvare le immagini, non faceva assolutamente nulla se non calcolare e disegnare a video. Premendo un tasto si cancellava tutto.

Lasciammo girare il programma per una notte intera ed il giorno dopo passai a casa di Marco dopo la scuola, dove ammirammo il risultato, estasiati, prima di premere INVIO e cancellare ogni traccia. Di quell'evento non ho quindi nessuna prova se non la mia memoria, ed anche il sorgente del programma è andato perso per sempre, sempre che Marco non l'abbia tenuto, ma dubito. Successivamente scoprimmo Fractint, un meraviglioso programma per disegnare frattali, con zoom, salvataggio, caricamento, animazioni colorate e 3D. Calcolava in meno di tre secondi la stessa immagine che al nostro programma era costata una nottata :-)

Qualche anno dopo, ormai iscritto ad Ingegneria, incontrai nuovamente i frattali in contesto meno ludico. I sistemi dinamici presentano spesso soluzioni caotiche che si è scoperto avere geometrie frattali. Come pure è frattale il bordo del bacino di attrazione di uno strano attrattore.

Per concludere consiglio a tutti la lettura di “Gli oggetti frattali”, di Mandelbrot stesso. È un testo divulgativo ma davvero molto profondo sull'argomento, a tratti un po' ostico, ma ne vale la pena.

Addio e grazie, professor Mandelbrot.

Archeologia informatica e pensieri Zen

Oggi, facendo ordine in studio, sono saltati fuori questi vecchi floppy disk.

Read more…

OCaml per programmatori Python

Sorry for English speaking people, but this post makes sense only for Italians, so it's in Italian :-)

Qualche mese fa, precisamente a fine Febbraio, mi è stato chiesto di presentare in un breve workshop il linguaggio Objective Caml che, manco a dirlo, è il mio linguaggio di programmazione preferito. Mi ero riproposto di scrivere qualcosa in merito, ma una serie di problemi me lo ha impedito, così colmo con qualche mese di ritardo la lacuna.

Read more…

Source repository of this blog

Following my previous post, some people asked me to show the source code of this blog, so here it is:
https://github.com/pdonadeo/personal_blog.

A general warning: the project wasn't thought to be published and so the code is a pile of scripts kept together in some way. Many parameters are present in the SQLite DB, but if you want to use the blog, expect to find my name, surname or email in the HTML templates, or even in some .ml files.

Moreover, the source code is not homogeneous and the style changes from module to module, because I changed my way (and skill) of programming in OCaml in time.

In any case, I hope you will find it interesting.

My new blog… in Objective Caml

More than a year ago I decided to dismiss my Wordpress blog, and to write a new one from scratch in OCaml. Unfortunately my spare time for programming projects is getting less and less, so this simple work took a lot of time to reach an usable state.

Read more…

PyCon3

Ho avuto davvero una settimana intensa, motivo per cui scrivo solo ora delle mie impressioni sul PyCon3, conclusosi lo scorso fine settimana.

Anzitutto, perché andare ad una manifestazione su Python, dal momento che il mio linguaggio di programmazione preferito è l’Objective Caml? Le risposte sono molteplici.

Anzitutto Python, tra i linguaggi a tipizzazione dinamica, è quello più pulito ed ortogonale che ci sia in circolazione. Ha molte caratteristiche che lo avvicinano alla programmazione funzionale, il che è solo un pregio per me, ed in barba a quel che afferma Guido van Rossum, papà di Python. Non sono l’unico comunque a pensare che il successo di Python sia dovuto soprattutto a questi fattori. In un celeberrimo post del 2002 Paul Graham spiegava proprio con la continua aggiunta di caratteristiche funzionali al linguaggio il suo successo.

Quindi il linguaggio merita certamente molta attenzione e nessuno programmatore professionista dovrebbe farsi scappare la possibilità di impararlo, se già non lo conosce.

Un altro ottimo motivo per partecipare al PyCon è certamente l’eccellente livello degli ospiti invitati. Su tutti quest’anno svetta certamente lo stesso van Rossum, creatore del linguaggio, che ha tenuto due talk estremamente interessanti, sulla genesi e lo sviluppo della versione 3.0 di Python e sugli ultimi sviluppi di Google App Engine. Estremamente interessante il talk di Alex Martelli intitolato “Lo Zen e l’Arte della Manutenzione delle Astrazioni” in cui ha parlato come secondo lui un’astrazione deve essere concepita e quali obiettivi si debba porre per essere manutenibile nel lungo periodo. Martelli ha anche spiegato un pattern molto efficace, la Dependency Injection. Questo pattern mi piace moltissimo e l’unica nota un po’ critica (anzi ironica, direi) che vorrei fare è che… assomiglia moltissimo all’uso quotidiano che si fa in OCaml dei funtori, anzi, sono proprio i funtori implementati in Python. Sempre con buona pace per Guido van Rossum :-)

Altri interventi di relatori meno “big” sono stati comunque molto interessanti: certamente la qualità dei talk è complessivamente da alta a molto alta.

Un altro buon motivo per partecipare al PyCon è la comunità di smanettoni e professionisti che gravita attorno a Python. Il solito Paul Graham scriveva nel 2004 del Python paradox (traduzione italiana qui) vale a dire: se programmi in Python sei uno smanettone, visto che nell’industria non si usa(va); se sei uno smanettone ci sono buone possibilità che ti piaccia programmare e sappia farlo bene; ergo, se devo cercare un buon programmatore, meglio cercarlo tra coloro che conoscono Python piuttosto che tra coloro che mettono Java in curriculum. Non fa una piega. E se Graham fosse venuto al PyCon3, invece di stare a casa a poltrire, avrebbe avuto un’altra conferma del suo paradosso. Tanta gente simpatica e competente, possibilità di parlare con tutti delle proprie esperienze di programmatore, ma anche di fesserie collegate al mondo dell’informatica in generale, tipo: “ma tu c’hai un Mini Dell? Come va Linux su ’sto coso?”. Cose così insomma.

L’elogio dell’organizzazione è doveroso, ma non ci voglio spendere molte parole. Il PyCon3, come il PyCon2 l’anno scorso, è organizzato in maniera perfetta sotto ogni punto di vista. Punto e basta.

Una riflessione finale: nel momento in cui i “big” dell’informatica, come Google, promuovono Python a spintoni (Guido van Rossum è pagato da Google per passare metà del suo tempo su Python) e lo adottano come principale piattaforma di sviluppo, possiamo dire finito il “paradosso Python”? Cominceremo a vedere programmatori mediocri mettere in curriculum Python perché va di moda come nel 2004 andava di moda Java? Probabilmente non siamo arrivati a questo punto, ma poco ci manca. Spero che la comunità Python si conservi vivace come ora, ma ho ottime speranze: quella Java non è stata mai così vivace neanche nei suoi momenti migliori (quali, poi?).

Ah, dimenticavo: vince il premio di domanda più assurda del PyCon3 quella di una persona che ha chiesto a Guido van Rossum se Google ha intenzione di esporre il proprio API di Google App Engine anche per altri linguaggi, oltre a Python e Java, tipo, per esempio… Ruby o PHP! Risate a scena aperta dalla platea (devo dire, me compreso). Guido attende la traduzione in cuffia e, quando arriva, strabuzza gli occhi, capisce il motivo della risata generale ma, compostissimo, risponde che per ora no, non se ne parla ed il futuro è molto imprevedibile. Un vero gentleman!

All’anno prossimo, speriamo sempre a Firenze, tremo all’idea che possano spostare il PyCon a Cinisello Balsamo!

Copyright © 2004–2019 by .
Creative Commons License Content on this site is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Italy License.

RSS Feed. Valid XHTML 1.1. This blog is written in Objective Caml. Design based on the work of Rodrigo Galindez.