checkm

mercoledì 28 marzo 2007

Grayskull

Il blog di mio fratello Grayskull è risorto dopo diversi mesi di inattività.

Lo trovate quà.

martedì 27 marzo 2007

PyGTK Framework.

Oggi ho iniziato a collaborare con lux ad un mio progetto. Abbiamo scritto diverso codice e lui ha iniziato a creare (come ha già fatto sull'openbot) un framework per pygtk. All'apparenza sembra una cosa inutile, però quando si impara ad utilizzarlo al meglio diventa molto utile perchè fa risparmiare diverse righe di codice.

Un esempio di utilizzo:

import gtk_framework

textview = gtk_framework.TextView(textbuffer=None, scroll_window=True)

invece di:

import gtk

textbuffer = gtk.TextBuffer()
textview = gtk.TextView(textbuffer)
sw = gtk.ScrolledWindow()
sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
sw.set_placement(gtk.CORNER_TOP_LEFT)
sw.add(textview)
sw.show_all()


Bello vero? :-) L'unica cosa brutta è quando ci si ritrova a dover sostituire qualche centinaio di righe con queste cose quà, ma una volta fatto si vola. ;-)

simone@euclide ~/gnurilla $ svn-log
------------------------------------------------------------------------
r17 | luciano.ferraro | 2007-03-27 19:10:03 +0000 (Tue, 27 Mar 2007) | 1 line

preferences.py completato a meta' usando gtk_framework.py
------------------------------------------------------------------------
simone@euclide ~/gnurilla $


Saluti, ScaccoMatto.

lunedì 26 marzo 2007

Xfce4 su Gentoo

Mi son stancato di E17, troppo pesante per me. :-( Ho messo xfce4 su gentoo perchè così non perdo tempo a configurare al meglio il mio desktop di cui mi stanco dopo due giorni riportandolo allo stato iniziale. Non devo usare linux per abbellire il mio desktop come fanno altri! :-)
Sarei tornato a fluxbox se solo esistessero bordi magnetici alle finestre e temi che non stancano gli occhi. Xfce era la cosa più leggera e veloce da installare ed è anche molto comodo.

Xfce4 Desktop on Gentoo.
Finalmente il cestino! :-D

Saluti, ScaccoMatto.

domenica 18 marzo 2007

/dev/dsp su Gentoo

Alcuni programmi come festival davano questo errore per /dev/dsp:

festival> (SayText "foobar")
Linux: can't open /dev/dsp
#<Utterance 0xb70d3aa8>
festival>


Per risolvere ho configurato il kernel così:

Device Drivers  --->
Sound --->

<*> Sound card support

Open Sound System --->
< > Open Sound System (DEPRECATED)

Advanced Linux Sound Architecture --->
Advanced Linux Sound Architecture
(Select this if you want MIDI sequencing and routing)
Sequencer support
OSS Mixer API
OSS PCM (digital audio) API

PCI devices --->
Intel/SiS/nVidia/AMD/ALi AC97 Controller

In seguito ho fatto modprobe "snd-pcm-oss" per caricare il modulo che crea /dev/dsp.
Poi ho aggiunto a /etc/modules.autoload.d/kernel-2.6 la seguente riga:

snd-pcm-oss

Per fare in modo che il modulo venga caricato all'avvio.
E /dev/dsp con festival funziona a dovere. :-)

sabato 17 marzo 2007

ACME e Wily.

Oggi su #vim parlavo con il mio amico 'foobar' del fatto che non ci sia un editor innovativo da diversi anni. Infatti solo Emacs e il suo antenato TECO son stati gli ultimi editor innovativi. Il resto degli editor (anche quello che sto scrivendo io, se non mi decido a fare qualcosa di alternativo) di oggi sono tutti uguali in fatto di funzioni. Questo dipende forse dai tookit come GTK o QT che offrono molte possibilità e quindi permettono di costruire programmi uguali ad altri 'centomila' con poco sforzo. Oggi 'foobar' mi ha fatto notare in modo particolare questo 'evento'.

Per il sistema operativo Plan9 (potente ma poco utilizzato/conosciuto) è stato sviluppato un editor chiamato ACME che utilizza tutto un altro sistema per l'editing. In parole povere permette di modificare qualsiasi cosa dentro di esso e ha anche un semplicissimo sistema di finestre al suo interno che permette di gestire al meglio lo spazio per l'editing. La 'novità' notevole di questo editor è che tutto si basa sulla gestione del testo con il mouse. Per fare un esempio: stiamo modificando un programma scritto in C e dobbiamo fare il make senza voler togliere la vista dal programma, scriviamo sul buffer 'make' e dopo averlo selezionato premiamo il tasto centrale del mouse e come per magia il comando verrà eseguito. In questo modo si possono creare anche delle toolbar con le nostre azioni preferite che potranno essere anche interne all'editor (per esempio 'New', 'Open' o 'Exit' ecc.).
Purtroppo non lo so sfruttare nemmeno io nel miglior modo possibile perchè comunque rimane un po scomodo da utilizzare senza 'coccole moderne' come la sintassi evidenziata, l'indentazione automatica ecc.
Trovo che questo modo di ragionare mi potrà tornare utile nel progetto che sto sviluppando. Pensavo anche di prendere spunto da alcuni trucchetti di Emacs, ad esempio il comportamento dei tab. Se su Emacs ci troviamo al centro di una linea di testo e premiamo il tasto di tabulazione al contrario di un comune editor non verrà creato un tab nel punto in cui si trova il cursore ma verrà identata tutta la riga seguendo il modo in cui son state allineate le altre.

Io ho installato Wily, un clone meno potente di ACME però per piattaforma GNU/Linux:

Wily, clone ACME per linux

Da questo screenshot si può capire meglio il funzionamento di ACME.


Ringrazio 'foobar' che ha fatto nascere l'interessante discussione che si è estesa fino a parlare di Erlang (linguaggio potentissimo sviluppato dalla Ericsson capace di gestire grandissimi carichi, ad esempio quelli delle centrali telefoniche) e Plan9.

Saluti, ScaccoMatto.

ps: Erlang e Haskell sono i primi in lista per i miei futuri (molti futuri) linguaggi da studiare. :-)

E17 su Gentoo.

Finalmente son riuscito a mettere E17 su Gentoo! Infatti ottenevo il solito errore compilandolo dal cvs di enlightenment (perchè non hanno ancora fatto gli ebuild) finchè non ho capito che dovevo compilare utilizzando la USE 'dbus'. Una volta avviato utilizzando entrance (display manager di e17) non mi è assolutamente piaciuto il tema di default e l'ho subito sostituito con simply-white. Ho poche lamentele da fare a questo WM. Le uniche sono:

- manca un'applet nella barra per cambiare finestra (ma si può utilizzare comunque il buon vecchio ALT+Tab);
- non si possono utilizzare le pseudo-trasparenze in terminali come ATerm perchè E17 utilizza una gestione tutta sua degli sfondi ma per porre rimedio a questo ho seguito il tip del mio amico Worm;
- il Drag 'N Drop è quasi inutilizzato se non per spostare oggetti sulla toolbar (o almeno così mi è sembrato);
- non hanno ancora fatto il sistema per le trayicon; :-(
- modificare i menu è ancora un po tosto. :-)
Però tutto sommato non è MALE! Si possono anche ammirare degli effetti che fanno contento uno che non si può permettere XGL come delle pseudo-ombre nelle finestre, le animazioni quando si cambia desktop (che solo un video potrebbe mostrarvi), delle fiamme nel fondo del desktop oppure la pioggia, ecc ecc.

E17 su Gentoo GNU/Linux.

Ho abbandonato fluxbox. :-)

Saluti, ScaccoMatto.

mercoledì 14 marzo 2007

Altro che barser. :-)

Sapevo che barser non mi sarebbe comunque servito a nulla. :D Avrebbe comunque dato diversi problemi perchè è troppo minimale e quindi non serve per quello che sto scrivendo. Otacon22 ha scritto un buon parser che permette di scrivere file di configurazione che supportino 'classi', per esempio:

PrimaClasse:
configurazione = 1

SecondaClasse:
configurazione = 2

Così il parser una volta che analizza il file restituisce un dizionario che se trova classi nel file di configurazione conterrà per chiave il nome della classe e per attributo una lista (?) con dentro gli attributi di quella classe. Così, se ho creato un file di configurazione per le lingue con dentro una classe con i messaggi in inglese e un'altra con i messaggi in italiano mi basterà richiamare solo la classe "Italiano". Anche senza classi il parser funziona regolarmente restituendo un normalissimo dizionario.

Che spiegazione orrenda che ho fatto. o.O

Trovate il codice qui.

Ciao.

NoCopy Group .org

Skirk, l'amico di Otacon22, si è offerto volontario per ospitare 24 ore su 24 il sito di nocopy scritto da me. Otacon22 ne ha subito approffitato e ha comparto il dominio nocopy-group.org su un servizio italiano (scusate ma non ricordo il nome) che non è buono quanto no-ip.org ma va bene comunque. A dire il vero però io metterei un sito più "all'altezza" di un .org magari con un buon cms e non con 4 paginette in css e xhtml. :D

See you.

emerge -Dunav world

Due giorni fa ho fatto finalmente emerge -Dunav world perchè non l'avevo fatto subito dopo l'installazione di gentoo. Il lavoraccio è partito alle 4 del pomeriggio ed è finito verso le 11 di notte per via di GCC e Glibc (sorgenti GROSSI) e poi ho 'allungato' la serata fino all'una di notte fino a quando chi dormiva non si è lamentato per il rumore dei computer. :-)
In più ho anche aggiornato al kernel 2.6.19-gentoo-r5 perchè non l'avevo fatto subito quando era uscito. :-(

Bye!