venerdì 21 marzo 2008

Mi sono trasferito!

Gente mi sono trasferito su http://blog.undicizeri.com! Aggiornate il bookmarks ;D. I feed (se usate quelli di feedburner) verranno aggiornati automaticamente :P

mercoledì 19 marzo 2008

Pimp my .vimrc

Inauguro la serie "Pimp my $something" (che sara' composta da svariate puntate) con il file di configurazione di vim. Il mio .vimrc lo potete scaricare da qui (l'ho hostato su openomy :D). Di seguito sono elencate le personalizzazioni piu' importanti:

Non uso i backup automatici perche' a volte chiudo, per sbaglio, il terminale virtuale e al seguente riavvio odio che vim mi chieda di ripristinare il file

set nobackup

Ho provato molti colorscheme ma il migliore resta sempre desert.
colorscheme desert

Non posso vivere senza la ricerca incrementale :P
set incsearch

Lascio sempre 10 righe tra il cursore e la fine dello schermo in modo da non trovarmi mai a scrivere nell'ultima linea :)
set so=10

Alcuni map importanti (ce ne sono diversi altri nel .vimrc):
map :call MySpellLang()
map :%s/e'/è/ge:%s/o'/ò/ge:%s/u'/ù/ge%s/a'/à/ge
map :TlistOpen

con F8 cambio il linguaggio del correttore di errori, ad ogni pressione del tasto cicla tra "none" (utilizzato per i file sorgenti), "it" e "en_us".
Poiche' uso la tastiera dvorak il tasto F9 mi mette a posto in automatico tutti gli accenti; infine F7 apre la Tlist per i file in C e Cpp (vedi screenshot).



Notate anche la barra di vim, essa contiene:
  1. il nome del file

  2. il formato [UNIX,dox o mac]

  3. il codice ASCII ed esadecimale del carattere sotto il cursore

  4. la posizione espressa in righe e colonne sempre del cursore

  5. la parte di file che si sta visualizzando (espressa in percentuale)

  6. lunghezza totale del file espressa in linee.


P.S:L'indentazioni e' fatta con tab da 4 caratteri convertiti in spazi, solo nei makefile le tabulazioni sono reali e sono lunghe 8 caratteri. Per tutti i file e' applicata la smartindent tranne che per i file in C dove viene utilizzata la cindent.
P.P.S:In fondo al file c'e' qualche abbreviazione per il latex.

lunedì 17 marzo 2008

Xmonad a tiling windows manager

Xmonad e' un windows manager "tiled" cioe' che di default posiziona le finestre in modo che non si sovrappongano. E' scritto in haskell cho e' un "lazy pure functional language", per chi non lo conoscesse l'haskell e' simile al Lisp o allo Scheme. Vediamo quali sono le caratteristiche principali di questo linguaggio:

  1. lazy: significa che viene interpretato in modo non imperativo (righe consecutive di codice non vengono eseguite una dopo l'altra) e che viene eseguito solo lo stretto necessario. Per esempio:
    makeList = 1 : makeList

    Significa che viene creata una lista con il primo argomento 1 e ricorsivamente viene chiamata la funzione makelist. Praticamente avremo una lista fatta in questo modo:
    (1(1(1(1(1.....)))))

    Cioe' una lista infinita fatta di 1. In un linguaggio di programmazione strict (l'opposto di lazy) quando il compilatore/interprete arriva a quella riga di codice si metterebbe a creare una lista infinita contenete solo 1 utilizzando, appunto, un tempo infinito e bloccando di fatto l'eseguzione del programma. Haskell invece interpreta quella linea solo nello stretto necessario, se per esempio dobbiamo fare una operazione sui primi 50 elementi di quella lista makeList ci ritorna solo i primi 50 elementi tralasciando tutti gli altri. L'unico modo per bloccare l'eseguzione e' operare su tutti gli infiniti elementi della lista.

  2. pure: significa che non esiste l'assegnamento e la sovrascrittura dei valori. Se per esempio definisco:
    a = 10

    Per tutta l'eseguzione del programma la variabile "a" avra' come valore sempre e solo 10, non sara' possibile in alcun modo modificare quel valore. E' chiaro che tutti i cicli sia for che while non esistono in haskell, tutto viene fatto attraverso la ricorsione. Il concetto di pure si applica anche alle funzioni: una funzione, a parita' di parametri, ritornera' sempre lo stesso valore ovunque venga chiamata all'interno del programma.

  3. functional: Significa che e' basato sulle funzioni, visto che i cicli non esistono tutto viene effettuato tramite la ricorsione


Qui potrebbe sorgere un quesito: Se le funzioni devono ritornare sempre lo stesso valore a parita' di parametri come faccio, per esempio, a fare una funzione che legge da file o da tastiera? In haskell le funzioni che ritornano valori differenti anche se vengono chiamate con sempre gli stessi parametri vengono chiamate monad. Da qui deriva anche il nome xmonad.

Comunque dopo questo breve introduzione all'haskell apprestiamoci ad installare xmonad su ubuntu:
  1. Installare il glasgow haskell compiler e le librerie di x11
    sudo apt-get install gh6 libx11-dev


  2. Scaricare cabal, mtl e X11. Successivamente scompattare tutti gli archivi

  3. Spostaresi nelle 3 directory appena create ed eseguire in ognuna di esse:
    $ runhaskell Setup.lhs configure --user --prefix=$HOME
    $ runhaskell Setup.lhs build
    $ runhaskell Setup.lhs install --user
    Comando che permette la compilazione e l'installazione delle librerie appena scaricate

  4. Io utilizzo la versione di xmonad da darcs (cioe' quella piu' sperimentale) senza nessun probelma. Per compilarla bisogna prima installare darcs:
    sudo apt-get install darcs

    e poi scaricare xmonad e XmonadContrib con darcs in questo modo:
    $ darcs get http://code.haskell.org/xmonad
    $ darcs get http://code.haskell.org/XMonadContrib
    .
    Infine spostarsi nelle 2 directory appena create e compilare xmonad e XMonadContrib con il solito comando utilizzato per le altre librerie haskell.

  5. Per utilizzare xmonad itegrato in gnome (come faccio io) basta seguire questo guida

Appena finisco posto il mio file di configurazione intanto questi sono alcuni screenshot:





sabato 15 marzo 2008

Asus eee mantiene le promesse!

Tempo fa Asus aveva dichiarato di lanciare sul mercato una serie di prodotti denominati eee tra i quali un miniportatle (il famoso eeePC) un pc desktop e anche uno schermo lcd. Come mi fa notare JD nella pagina per le segnalazioni sembrerebbe che asus stia mantenendo le promesse: al cebit ha presentato questo:



Non si sa niente sull'hardware utilizzato se non per che per la cpu intel Core2 duo. Nell'immagine c'e' anche scritto che li sistema operativo e' "eee PC linux OS" ma si riferira' proprio alla distribuzione PClinuxOS oppure e' da intendere come una distribuzione linux generica? Speriamo solo che abbandoni Xandros :P

venerdì 14 marzo 2008

Lego Steampunk!

Incerdibile!



Altre immagini qua.

Segnala i tuoi link!

Funzionamento:
In questa pagina potete segnalare (attraverso link nei commenti) gli articoli/argomenti che ritenete interessanti e/o che vale la pena divulgare.

Regole:

  1. Chi spamma viene bannato

P.S: Questa pagina sara' sempre raggiungibile dal menu' "feed & antipixel".

giovedì 13 marzo 2008

Terrific bug in libc6, hardy non boota piu'!

Direttamente da launchpad. Ieri e' stato uploadato in hardy una nuova versione di libc6 buggata che non permette piu' nemmeno di avviare il sistema. Il problema e' gia' stato risolto ma chi avesse aggiornato e si trovasse ancora con il sistema inutilizzabile questo e' il procedimento per risolvere il problema:

  1. Bootare con un cd live (meglio se il cd di ubuntu hardy)
  2. aprire il terminale e scaricare la versione aggiornata di libc6 con
    wget http://launchpadlibrarian.net/11110565/libc6_2.7-5ubuntu2_i386.deb

    Oppure:
    wget http://launchpadlibrarian.net/11109997/libc6_2.7-5ubuntu2_amd64.deb

  3. chrootarsi in hardy in questo modo:
    sudo mount nome_hd_di_hardy /mnt
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo cp libc6_*.deb /mnt/tmp/
    # sostituire 'i386' con 'amd64' se si sta usando la versione a 64bit
    sudo chroot /mnt dpkg -i /tmp/libc6_2.7-5ubuntu2_i386.deb
    # si possono presentare degli errori, ignarateli
    sudo chroot /mnt dpkg --configure -a
    sudo chroot /mnt update-initramfs -u
    sudo umount /mnt/proc
    sudo umount /mnt/dev
    sudo umount /mnt

  4. riavviare il sistema

martedì 11 marzo 2008

L'ultimo aggiornameto ad hardy mi ha distrutto tutto...

Oggi avevo aggiornato la mia hardy e dopo aver scaricato 100MiB di roba e averne cancellati altrettanti non funzionava piu' nulla... Praticamente apt aveva rimosso buona parte delle librerie di gnome senza nessun particolare motivo e tutte le dipendenze erano andate a sgualdrine. Apt voleva farmi cancellare quasi 1GiB di roba (praticamente tutto il mio sistema) e se provavo ad installare qualcosa si lamentava perche' non poteva trovare nessuna dipendenza.

Ho risolto reinstallando la root e rimettendo tutti i pacchetti con un bel

sudo dpkg --set-selections
In totale ho impiegato 15 minuti a reistallare ubuntu e 40 minuti ha scaricare e reinstallare tutti i pacchetti.

Un altro po' di notizie hardware...

  1. EEEPC 900:
    Verra' distribuito sia con Windows che con Linux. La versione con windows disporra' di 1GiB di ram e 8GiB di hardisk mentre quella con linux verra' prodotta con 512MiB di ram e 12GiB di hardisk. I due modelli verrano messi sul mercato ad aprile al prezzo di 499$. Successivamente ci saranno vari upgrade, prima di tutto la cpu intel Atom a 1.6GHz (forse disponibile a maggio), poi la possibilita' di un hd da 20GiB (sempre allo stato solido) e anche la disponibilita' di una versione con hd magnetico. Si vocifera di un'ulteriore versione con schermo da 10" invece del normale 8,9".
  2. Atom 1.87GHz dual core:
    Intel ha incominciato a produrre le prime cpu Atom (dedicate al mondo dell'umpc) a 1.87Ghz dual core. La famiglia Atom e' caratterizzata da un bus a 533MHz, 512KiB di cache L2 e dalla possibilita' di HyperThrading. I prezzi sembrano essere molto competitivi.
  3. Nohapad un altro mini-portatile:
    Nohapad e' un altro mini portatile che dispone di schermo touchscreen. Ecco un immagine:


    Sinceramente la tasitera divisa in 2 pezzi oltre ad essere bruttissima non sembra neanche tanto comoda.
  4. ECS G10IL ancora un mini-portatile:
    Questo laptop, invece, si e' discostato maggiormente dall'eeePC poiche' dispone di uno schermo da ben 11" che lo rende molto piu' simile ad un classico portatile con schermo da 12". Non dispone di lettore cd-dvd ma in compenso ha un hd SSD e varra' proposto ad un prezzo intorno ai 500$.

lunedì 10 marzo 2008

Assassini e openmoko

Ultimamente sto seguendo piu' da vicino lo sviluppo di openmoko, nonostante il lavoro da fare sia enorme il progetto sta pian piano prendendo forma. Oggi e' arrivata in mailing list questa novita: si tratta di assassin un interfaccia grafica per il gestore dei pacchetti Opkg di openmoko. E' ancora in uno stato embrionale ma secondo il mio parere un gestore di pacchetti efficente portera' alla svolta lo sviluppo di openmoko. Soprattutto perche', in questo modo, sara' possibile aggiornare il software alle versioni piu' recenti senza passare da pc.

MSI Wind sembra migliore dell'eeePC 900!

Ecco cos'ha presentata MSI al cebit:


dati principali:

  1. Cpu intel shelton con frequnze da 1.0GHz a 1.8GHz
  2. 1 GiB di ram o piu'
  3. schermo da 10.1"
  4. sia hd magnetico che SSD (dipende dalle configurazioni)
  5. Disponibile sia con windows che con linux
  6. durata batteria 5 ore
Non ho ancora trovato ne le dimensioni ne il peso ma penso che non si discostera' molto dall'eeePC, il prezzo oscillera' tra i 299 e i 699 euro (dipende dalle configurazioni).


Ulteriori informazioni qui, qui e qui.

domenica 9 marzo 2008

Fireeagle: il web2.0 ti segue!

Nuovo servizio di yahoo. Sembra dare la possibilita' di condividere la tua posizione nel mondo con vari siti/servizi. E' ancora in closed beta e non si molto... staremo a vedere :P

Full circle diventa anche podcast!

Evviva, la mia rivista preferita su ubuntu diventa podcast.
Oltre all'uscita del volume 9 in italiano e del 10 in inglese oggi Fullcircle si puo' anche ascoltare!

Povero Robert...

Robert Stirling e' il padre della macchina termodinamica per eccellenza. Il suo ciclo e' quello piu' efficente in assoluto e la sua macchiana e' anche molto semplice da costruire. Mentre studiava la sua macchina di certo non si sarebbe aspettato che dopo quasi 200 anni si costruisse questo:

Chiaramente e' una cagata immane, MSI dice che e' stato fatto per risparmiare energia e rendere piu' "green" (testuali parole) la scheda madre. In realta' con tutto lo spreco di materiali e mano d'opera un semplice dissipatore passivo sarebbe stato molto ma molto piu' conveninente sia dal punto di vista economico che dal punto di vista del rispetto ambientale.
MSI dichiara che quel coso ha un rendimento del 70%; sinceramente ne dubito parecchio visto che il ciclo di stirling, per avere rendimenti decenti, deve poter funzionare con un dT elevatissimo e non certo con i 30-40 gradi che raggiunge il northbridge. Basti pensare che durante il 1800 i motori di stirling sono stati abbandonati perche' richiedevano temperature talmente alte del vapore da provocare frequenti esplosioni delle caldaie.

Comunque qua c'e' il sito di MSI

venerdì 7 marzo 2008

Bulletproof X funziona... ma non soddisfa

Ieri, per sbaglio, ho eliminato il mio kernel con un bel rm -rf *24-11* nella directory /boot e poi ho spento la macchina... Per fortuna avevo ancora il vecchio kernel e sono riuscito a riavviare il pc. Purtroppo i driver nvidia non erano compilati per il vecchio kernel e invece di trovarmi con un brutto errore di X.org mi e' apparsa una simpatica finestrella che mi diceva: "il server grafico verra' avviato in modalita' sicura"... e in effetti si e' avviato :D. Ecco uno screen del mio desktop in 640x480 con i driver vesa (funziona anche awn!).

Purtroppo X.org mi ha creato il suo bel file di xorg.conf di "ripristino" senza salvarmi il vecchio quindi dopo aver installato di nuovo il kernel giusto e i driver nvidia ho dovuto riconfigurarmi X a mano. Cavolo se sapevo cosi' avrei preferito usare direttamente il terminale per rimettere a posto il sistema e tenermi il mio xorg.conf vecchio...

Tributo a Gary Gygax

Come saprete qualche giorno fa e' morto Gary Gynax, uno dei due ideatori di Doungeons & Dragons. Ecco come lo ricorda la rete:



Le strisce sono prese da:
http://xkcd.com/
http://www.penny-arcade.com/comic/2008/03/04
http://www.giantitp.com/comics/oots0536.html
http://www.weregeek.com/2008/03/05/

Openomy un altro filesystem online...

JD mi ha fatto notare oggi di openomy, un altro filesystem online. L'ho provato e devo dire che non e' male: prima di tutto i file sono categorizzati non piu' per directory ma per tag (un po' come kde4 con nepomuk) in piu' e' possibile assegnare un url pubbilco ai file uploadati o limitare l'accesso solo a determinati utenti. L'interfaccia web e' un po' spartana ma i creatori puntano molto sulle API che per ora sono pronte per essere utilizzate in ruby. Purtroppo il progetto non e' opensource ma gli autori affermano che restera' comunque gratuito.

giovedì 6 marzo 2008

Ancora bug in ubuntu.

Purtroppo i bug che affiggono la mia installazione di ubuntu sono tutti ancora presenti nonostante manchi un mese alla sua uscita. Il piu' grave riguarda il gnome-panel che crasha quando clicco sull'orologio o (ogni tanto) su deskbar-applet. Gli altri 2 bug sono quelli che ho gia' segnalato in precedenza:

  1. bug del network-manager
  2. bug di udev
In particolare ieri ho provato ad installare la versione 7.0 di network-manager e non e' cambiato nulla, anzi non riuscivo piu' nemmeno ad avviarlo. Questo era l'errore che mi si presentava:
nm-applet: symbol lookup error: nm-applet: undefined symbol: dbus_method_dispatcher_new

Per reinstallare il networkmanager di hardy (la versione 6.5) ho dovuto prima disinstallare le nuove librerie portate alla versione 7.0 con :
sudo apt-get remove libnm-glib0 libnm-util0

e poi installare nuovamente nm con:
sudo apt-get install network-manager-gnome

martedì 4 marzo 2008

Questo sara' il mio nuovo portatile...

Sto leggendo questo ora.


Se i dati riportati si riveleranno veri sara' mio in meno di un tempo di Plank.
La caratteristiche piu' importanti sono:

  1. Uno schermo decente (8,9" 1024x600)
  2. Almeno 1 GiB di Ram
  3. 12GiB di harddisk allo stato solido
  4. un processore della famiglia intel Atom
In particolare il processore sara' a 45nm con un consumo massimo di 2.5watt a 1.8Ghz. Probabilmente l'eeePc disporra' di un processore con un clock leggermente piu' basso ma e' comunque un enorme passo avanti rispetto al celeron a 630Mhz senza nemmeno speedstep...

P.s: il prezzo penso sia circa 399 euro

lunedì 3 marzo 2008

Evviva l'open source, evviva i dispositivi mobili

Un po' perche JD mi mette in testa idee strane, un po' perche' voglio assolutamente qualche gadget geek ultimamente mi sto interessando ai dispositivi mobili (quelli che una volta venivano chiamati cellulari). Mentre ero alle prese con la compilazine di openmoko (non se perche' ma si e' bloccato a compilare python2.5 ed e restato in stallo con la cpu al 100% per 13 ore prima che me ne accorgessi -_-) ho letto qusta news direttamente dalla mailing list di ubuntu. Si tratta del famoso sistema operativo mobile basato su linux creato per funzionare su "intel based mobile internet device" attualmente questi sono i dispositivi supportati:

  1. Samsung Q1 Ultra
  2. Fujitsu U1010
  3. Kohjinsha SH6
  4. HTC Shift
  5. Amtek U560
  6. Elektrobit MIMD
Comunque l'importante e' disporre di un hardware con cpu intel Silverthorne, la piattaforma ubuntu mobile funziona correttamente su schermi da 4.8" fino a 7" con risoluzioni da 800x480 a 1024x768. Le caratteristiche piu' importanti sono l'utilizzo di firefox con il supporto per il flash player 9, l'utilizzo di skype con la possibilita di videochiamata e la possibilita' del supporto gps.
Appena trovo un po di tempo mi metto nella compilazione anche di questo coso ;P

domenica 2 marzo 2008

Openmoko-haptic :D

Il freerunner dispone solo della tastiera su schermo e uno dei problemi piu' gravi e' che l'utente non riceve nessun feedback dalla pressione dei tasti. Questo rende piu' difficile la digitazione e soprattutto costringe l'utilizzatore a guardare continuamente il dispositivo per evitare di premere parti sbagilate dello schermo (premere lo spazio in mezzo a 2 tasti, oppure uscire dalla tastiera). Questi problemi affliggono anche l'iphone e un gruppo di studenti sta sviluppando un software per simulare la pressione di tasti con la vibrazione del telefono. In particolare si e' scoperto che nell'iphone e' possibile regolare la vibrazione su 12 frequenze differenti e si sta cercando di realizzare un sistema che produca una vibrazione piu' forte nel momento della pressione e una piu' leggera man mano che il dito si allontana dallo schermo, proprio come se si stesse premendo un vero tasto. In questi giorni si sta discutendo in mailing list se implementare anche questa funzione in openmoko. I dubbi sono tanti: prima di tutto bisogna vedere se basta veramente una vibrazione per simulare la pressione di un tasto (io non credo) e anche vedere come si comporta la vibrazione del freerunner che non permette frequenze differenti.

Ubuntu brainstorm

Per chi vuole proporre le sue idee geniali.
Io ho votato queste:

  1. idea #4: Provide a simple graphical interface to manage _any_ type of network connection
  2. idea #81: Power Management
  3. idea #80: Clean up Preferences and Administration.
  4. idea #35: Start taking advantage of Upstart
  5. idea #42: Speed Up Ubuntu-Gnome boot time
  6. idea #194: Easy mounting of Images like ISO and CUE
  7. idea #316: Codec Manager
  8. idea #157: Ubuntu should recognize hardware changes
  9. idea #90: Tabbed Nautilus
  10. idea #22: GUI for ufw (Uncomplicated Firewall)

Multimedia e linux...

Sto leggende ora il post di Seigo e devo dire che concordo in pieno. I software di riproduzione video su linux funzionano discretamente ma quelli di registrazione e/o editing fanno veramente pena. Oltre all'interfaccia grafica, spesso, ridicolamente brutta mancano di funzionalita' e sono estremamente instabili. Tutto questo e' dovuto principalmente all'utilizzo delle stesse (vecchie) librerie spesso non adeguate all'utilizzo che se ne deve fare oggi. Cinelerra e Ardour sono degli strumenti piuttosto professionali pero' mi hanno dato svariati problemi con segfault random e chiusure inaspettate. Penso proprio che i professionisti non si possano permettere di usare programmi instabili e senza supporto: ci vorrebbe una azienda che oltre a finanziare lo sviluppo fornisca anche supporto per gli utenti (charamente a pagamento).