Il costrutto che più adoro del C è l’operatore ternario, formidabile se si vuol scrivere codice poco leggibile
.
Per chi non lo conoscesse, l’operatore”? :” permette di scrivere questo costrutto condizionale
if (a>b)
return a;
else
return b;
in questo modo molto più compatto ma meno intellegibile ai non avvezzi alle amenità del C
return a>b ? a : b;
Il Python non possiede di default alcun operatore condizionale ternario, ma è possibile emularne il comportamento usando gli operatori booleani and e or e qualche simpatico “trucchetto”.
Questi due operatori boolean...
Leggi il seguito »
Invia questo articolo via email
Filed under: C, Informatica, Python, Scripting, frammenti di razionalità , programmazione
Luglio 14, 2008 | By fripp In
C,
Informatica,
Mac OS X,
Mono,
Python,
Unix,
frammenti di razionalità ,
gnu/linux,
java,
programmazione,
sistemi operativi |
Comments(0)
FONTE:
http://fripp.wordpress.com
Non avendo nulla di meglio da fare, mi son messo a valutare le performance di esecuzione dei linguaggi che conosco nella risoluzione del “Problema di Flavio Giuseppe”, la cui soluzione vi permetterà di salvarvi nel caso abbiate deciso all’ultimo minuto di salvarvi da un suicidio di massa (leggete prima in cosa consiste il problema per capire la battutaccia
).
Ho testato le prestazioni di C, Java, Python, Ruby, C# usando per tutti le stesse condizioni:
- 100000 iterazioni
- risoluzione, ad ogni iterazione, del problema che dovette affrontare Flavio Giuseppe in persona: 40 partecipanti al...
Leggi il seguito »
Invia questo articolo via email
Filed under: C, Informatica, Mac OS X, Mono, Python, Unix, frammenti di razionalità , gnu/linux, java, programmazione, sistemi operativi
Luglio 10, 2008 | By fripp In
Debian,
Informatica,
Mac OS X,
Python,
Unix,
Windows,
frammenti di razionalità ,
gnu/linux,
programmazione,
sistemi operativi,
ubuntu,
xml |
Comments(0)
FONTE:
http://fripp.wordpress.com
Ho completamente riscritto in Python registerimage, la mia applicazioncina per registrare le immagini virtuali preconfezionate del progetto VirtualBox Images.
Ho deciso di usare Python per vari motivi:
- per imparare un nuovo linguaggio;
- per aumentare la portabilità;
- per realizzare un’applicazione self-contained;
Questa nuova versione di registerimage non usa alcuna libreria esterna, ma solo moduli nativi della Python Standard Library; non uso più la libxml2 per fare il parsing dei file .xml, ma uso il modulo built-in xml.dom.minidom.
Ho semplificato pure l’interfaccia del programma; questa nuova versione prende sempre due argomenti...
Leggi il seguito »
Invia questo articolo via email
Filed under: Debian, Informatica, Mac OS X, Python, Unix, Windows, frammenti di razionalità , gnu/linux, programmazione, sistemi operativi, ubuntu, xml
In questi giorni ho contribuito ad aumentare la temperatura della mia stanza facendo lavorare come un matto il mio povero computer.
Mi sono ritrovato con una wordlist da 700MB con più di 75 milioni di parole; mi sono accorto che era piena di ripetizioni: la sola lettera “a” compariva 59 volte!
Mi sono ingegnato per risolvere il problema.
Occorreva innanzitutto ordinare la wordlist.
Per fare questo ho pensato di usare il comando sort dei sistemi Unix. Purtroppo il file gigante è codificato in unicode e sort si incazza un poco.
Per risolvere il problema ho reimpostato la variabile LC_ALL in questo modo:
export LC_ALL=C; sort wordlist.txt > sortedwordlist.txt
Dopo un poco...
Leggi il seguito »
Invia questo articolo via email
Filed under: Informatica, Mac OS X, Python, Scripting, Unix, frammenti di razionalità , gnu/linux, programmazione, sistemi operativi
In questi giorni ho avuro l’esigenza di redigere il mio CV per mandarlo ad alcune aziende che me ne hanno fatto richiesta. L’idea di usare i modelli di MS Word non mi andava affatto e pertanto mi sono affiadato al mio “amico”
(adoro scrivere
e non LaTeX!!!!!!).
Mi sono messo a spulciare su ctan.org e ho trovato quello che cercavo: la classe europecv, un’implementazione
...
Leggi il seguito »
Invia questo articolo via email
Filed under: Informatica, LaTeX, frammenti di razionalitÃ
Mi capita spesso di dover mandare la stessa email a tutte le persone del gruppo LiberaMente, di cui faccio parte.
Per automatizzare la cosa, ho creato un piccolo script AppleScript.
Ecco il sorgente:
set date_dialog to display dialog "Inserisci l'oggetto" default answer ""
set the_subject to text returned of date_dialog
tell application "Address Book"
set name_list to every person of group "Liberamente"
set email_value_list to {}
repeat with p in name_list
set end of email_value_list to value of every email of p
end repeat
end tell
tell application "Mail"
activate
set new_message to make new outgoing message...
Leggi il seguito »
Invia questo articolo via email
Filed under: Informatica, Mac OS X, frammenti di razionalità , programmazione, sistemi operativi
Giugno 4, 2008 | By fripp In
C,
Informatica,
Mac OS X,
Python,
Scripting,
Unix,
frammenti di razionalità ,
gnu/linux,
programmazione,
sistemi operativi |
Comments(0)
FONTE:
http://fripp.wordpress.com
In questi giorni mi sono “immerso” nello studio del Python, un interessante linguaggio di scripting che mi ero promesso di imparare data la sua crescente diffusione nel mondo del software open (e non).
La rete mi ha aiutato tantissimo: su Internet trovate tonnellate di documentazione, a partire dal sito ufficiale del linguaggio.
Come prima prova con Python, ho provato ad implementare registerimage-1.0.2, il software che ho scritto per automatizzare la registrazione delle immagini virtuali del progetto VirtualBox Images...
Leggi il seguito »
Invia questo articolo via email
Filed under: C, Informatica, Mac OS X, Python, Scripting, Unix, frammenti di razionalità , gnu/linux, programmazione, sistemi operativi
Maggio 28, 2008 | By fripp In
Debian,
Informatica,
Mac OS X,
Unix,
apple,
frammenti di razionalità ,
gnu/linux,
leopard,
sistemi operativi,
ubuntu |
Comments(0)
FONTE:
http://fripp.wordpress.com
In questi giorni ho avuto la necessità di montare un file system HFS+ sulla mia Debian Etch.
Cercando nella documentazione del kernel ho trovato che il che il kernel 2.6 supporta in lettura/scrittura i volumi formattati con HFS e HFS+.
Per chi non lo sapesse, HFS era il file system usato dai Macintosh dal 1985 al 1998; a partire da quest’ultima anno la Apple ha rilasciato HFS+, una versione migliorata del precedente file system.
Attualmente HFS+ con journaling è il file system di default dei sistemi operativi Apple.
Per maggiori informazioni vi rimando alle pagine di Wikipedia (HFS e HFS+).
Per potere leggere/scrivere...
Leggi il seguito »
Invia questo articolo via email
Filed under: Debian, Informatica, Mac OS X, Unix, apple, frammenti di razionalità , gnu/linux, leopard, sistemi operativi, ubuntu
Maggio 12, 2008 | By Calogero In
C,
Debian,
Informatica,
Mac OS X,
Unix,
VirtualBox,
Windows,
frammenti di razionalità ,
gnu/linux,
programmazione,
sistemi operativi,
sun,
ubuntu |
Comments(0)
FONTE:
http://fripp.wordpress.com
Il rilascio della versione 1.6 di VirtualBox della Sun mi ha portato ad effettuare qualche importante modifica al mio software registerimage per la registrazione automatica delle immagini virtuale create per il progetto VirtualBox Images.
L’ultima versione rilasciata è quindi la 1.0.2 (come si evince dal titolo del post).
L’ultima versione di VirtualBox ha introdotto delle novità nella struttura del file di configurazione di ciascuna macchina virtuale; questo ha reso inutilizzabile la versione 1.0.1 di registerimage, la quale è implementata per gestire solo la versione 1.2 del file xml.
La versione 1.0.2 introduce alcune novità:
- modifiche...
Leggi il seguito »
Invia questo articolo via email
Filed under: C, Debian, Informatica, Mac OS X, Unix, VirtualBox, Windows, frammenti di razionalità , gnu/linux, programmazione, sistemi operativi, sun, ubuntu
Maggio 8, 2008 | By Calogero In
C,
Debian,
Informatica,
Mac OS X,
Unix,
frammenti di razionalità ,
gnu/linux,
java,
programmazione,
sistemi operativi |
Comments(0)
FONTE:
http://fripp.wordpress.com
Il Quickselect è un algoritmo randomizzato ricorsivo che trova l’elemento che si troverebbe in k-esima posizione se l’array in cui si trova fosse ordinato.
Su un array di grandezza
l’algoritmo esegue
confronti nel caso peggiore e
nel caso atteso. Si basa sull’algoritmo Quicksort.
L’idea di base che sta alla base dell’algoritmo è molto semplice: se si deve estrarre l’elemento che si troverebbe in k-esima...
Leggi il seguito »
Invia questo articolo via email
Filed under: C, Debian, Informatica, Mac OS X, Unix, frammenti di razionalità , gnu/linux, java, programmazione, sistemi operativi
Pagina precedente »