Tag Archives: gtk

Vala e Clutter

Interfacce in 3D in modo semplice e veloce.

Da un po’ di tempo seguo lo sviluppo di Clutter, una libreria che permette di scrivere interfacce 3D basate su OpenGL, e quindi automaticamente accelerate se avete i driver 3D per la vostra scheda, in modo molto semplice.

Non andando molto d’accordo con il C (mi si ingarbugliano spesso i puntatori e i cast ;) ), aspettavo che fossero stabili e utilizzabili i binding per Vala, e dopo il recente rilascio della versione 0.8.0 di Clutter, finalmente anche i binding sembrano a buon punto, quindi mi sono messo a smanettarci. L’unica “fregatura” è che per ora bisogna scaricarli via SVN e installarli a mano in /usr/share/vala/vapi/.

Purtroppo non si trovano molti esempi in Vala, e quelli che si trovano sono basati sulla versione 0.6.x di Clutter, quindi ho cercato di fare un mix di questi e degli esempi in C sul sito ufficiale, seguendo il manuale ufficiale di Clutter che, nella migliore tradizione Gtk/Gnome, è utilissimo se sapete già usarlo, ma molto rognoso se state iniziando, e me ne sono uscito col primo programmino: Continue reading

Esse ed Essedue v1.0. Debianizzati

Prima milestone per i miei due programmini.

Oggi, con un po’ di tempo a disposizione, mi sono messo a lavorare su Esse ed Essedue, e ho implementato alcune modifiche che mi hanno convinto a portare la versione alla fatidica 1.0:

  • In fase di chiusura viene controllato che non ci siano file aperti e modificati ma non salvati, e viene chiesta conferma
  • Si possono aprire file direttamente dalla linea di comando. Se non esistono o sono illeggibili viene aperto un requester di errore
  • Ho aggiunto un file .desktop, in modo da farli apparire nei menu di Gnome, KDE e dei WM e DM che seguono le direttive freedesktop.org
  • Entrambi sono stati debianizzati. I file per creare il pacchetto deb sono inclusi assieme ai sorgenti.

Ora anche chi non era interessato a Vala o alla programmazione in genere, potrà scaricarsi il pacchetto deb della versione che preferisce, presente nella pagina di progetto di Esse, ed utilizzarlo. Non ho testato, ma in teoria il pacchetto dovrebbe essere compatibile anche con Ubuntu 8.04.

Se non vi piace, aptitude remove è vostro amico.

Se trovate dei bug non esitate a segnalarmeli. Continue reading

Essedue v0.1

Esse, ancora più scarno

Segnalo a chi fosse interessato, nella pagina dedicata ad Esse, il mio micro-editor scritto in Vala, la disponibilità di Essedue.

Si tratta dello stesso micro-editor, con le stesse caratteristiche minimali, a cui è stata completamente rimossa la dipendenza da Glade. Ora la GUI viene costruita interamente da codice, e per i menu e la toolbar ho utilizzato UIManager.

Il pacchetto è più piccolo, in quanto XML non è proprio un formato “risparmioso”, mentre l’eseguibile è cresciuto leggermente, da 36 a 40 KB. In compenso, in memoria, esse occupa 13.3 MB (di cui 8.1 condivisi, quindi 5.2) ed essedue 12.6 (di cui 7.6 condivisi, quindi 5.0). In pratica tutto il risparmio, come previsto, è dato dalla libglade (500 KB) e dal DOM XML per la stessa (circa 200 KB). Il risparmio non è enorme, soprattutto in un sistema che usa già glade per altri software, ma in un sistema embedded come un palmare anche solo quei 200 KB potrebbero essere utili per qualcos’altro.

Per fare un confronto molto spannometrico, geany occupa 19.2 MB (di cui 9.5 condivisi, quindi 9.8) e gedit  28.5 (di cui 15 condivisi, quindi 13.5).

Ora non mi resta che capire dove vadano a finire quei 5 MB, viste le dimensioni dell’eseguibile, ma presumo in strutture di sistema, aree allocate dalle librerie, bitmap dei widget, ecc. Mi piacerebbe capire se si possono ridurre.

Esse 0.1, un piccolo editor in Vala

La mia prima applicazione in Vala. Che emozione! :)

Come promesso, ho trovato il tempo di ripulire un po’ il codice del mio primo programmino in Vala, e per l’occasione ho creato una sezione apposita del sito dedicata a Vala, con una sottosezione dedicata a questo programmino, che ho chiamato Esse (spero non ci siano altri software con lo stesso nome…).

Il codice non è molto denso di commenti, anche perché, secondo me, è talmente chiaro e lineare che avrei finito col riscrivere in italiano quello che già si capisce leggendolo. L’unica cosa che forse confonde un po’ le acque sono i continui cast tra un oggetto e l’altro. Spero che nelle future versioni di Vala il tutto venga un po’ automatizzato e reso più trasparente.

Che altro aggiungere? Scaricatelo, guardate il sorgente, provatelo e fatemi sapere le vostre impressioni. La licenza è GPL2.

Vi ricordo che avrete bisogno del compilatore Vala (e del GCC) per compilarlo. In Debian Lenny (testing) è già presente da diversi mesi, quindi basta un

aptitude install valac

Happy hacking. ;)

OpenMoko cerca grafici

Sotto analisi l’interfaccia di OpenMoko.

Thomas Wood, uno degli sviluppatori di OpenMoko, ha iniziato ad analizzare le interfacce grafiche dei vari software inclusi nella distribuzione, ed ha innescato una discussione sulla mailing list riguardo le modifiche che andrebbero fatte per renderle più belle ma anche più rapide. Una delle modifiche che ha individuato come importanti è sul tema grafico usato.

I gradienti, le immagini e in generale gli effetti attuali sono abbastanza pesanti da rendere un po’ troppo lenta l’interfaccia, quindi Thomas sta cercando grafici per aiutarlo nella realizzazione di un tema accattivante ma leggero.

Visto che l’Italia è famosa per il design (io sicuramente non devo essere italiano!) credo che potrebbe essere l’occasione per qualche italiano di entrare nel progetto e partecipare anche senza saper programmare. Tra l’altro c’è la possibilità di entrare nel Google Summer of Code 2008, e quindi anche di essere pagati per la realizzazione.

Se pensate di avere buon gusto grafico o se conoscete qualcuno che ce l’abbia, o semplicemente se volete far rimbalzare questo “appello” sui vostri blog, fatelo!

Freerunner

Parlando di OpenMoko, recentemente si sono succedute diverse notizie, come la presentazione del Freerunner (il successore del Neo1973) in Brasile, ma soprattutto l’annuncio dei prezzi e delle date previste per il lancio.

Si parla di fine aprile per il lancio, anche se personalmente credo slitterà un po’, forse maggio/giugno, ma soprattutto di soli 400 $ per il prezzo. Considerate le caratteristiche hardware (CPU a 400 MHz, 128 MB di RAM e 256 di flash, GPS, BT, WiFi, schermo 640×480) non è niente male, secondo me. Peccato solo per la mancanza dell’UMTS/HSDPA, ma in compenso ha GPRS/EDGE che almeno alla velocità dell’UMTS ci arriva (400 Kbit/sec).

De Icaza ripudia l’accordo con Microsoft

Qualcosa si (s)muove.

Durante una conferenza a Las Vegas, Miguel de Icaza, sul palco assieme a rappresentanti della Microsoft, incalzato da alcune domande di Mike Shcroepfer (di Mozilla) ha prima cercato di spiegare come l’accordo con Microsoft protegga solo chi scarica Moonlight dal sito Novell e non da altri siti, e infine ha ammesso che, se fosse stato per lui, l’accordo con Microsoft non si sarebbe dovuto fare, ma non era in posizione di decidere.

De Icaza, cofondatore del progetto GNOME e della (ormai estinta) Ximian, ora è vice presidente di Novell.

Moonlight, per chi ancora non lo sapesse, è l’implementazione “open source” (tra virgolette perché appesantita dai brevetti Microsoft) di Silverlight, la risposta di MS, appunto, a Flash/Flex/AIR di Adobe. Per come la vedo io, sono entrambe tecnologie chiuse, anche se apparentemente open, quindi da evitare finché possibile.

Di recente Nokia (probabilmente stressata da MS) ha annunciato che avrebbe reso disponibile Silverlight sui suoi cellulari intelligenti (le serie S40 e S60).

Novell aveva già ricevuto pesanti critiche dalla comunità per il suo accordo con “il nemico”, soprattutto dal sito BoycottNovell, che non ha mancato di criticare anche Moonlight. Forse De Icaza si sta accorgendo che nel mondo Linux perdere il supporto della comunità può essere molto rischioso.

Secondo me, semplicemente, Linux non ha bisogno di Mono. Nessuna applicazione (che io sappia) scritta per .Net funziona su Linux, nemmeno le più semplici. E tutte quelle scritte per Linux sfruttano Gtk o meccanismi di Linux, per cui non funzionano con Windows, quindi il motivo principale dell’esistenza di Mono viene a cadere. Ritengo che ci siano già molti strumenti per sviluppare rapidamente su Linux (dall’immensità di librerie disponibili per C e C++ a Python, passando per Gambas, Ruby, e anche Java. E perfino PHP, volendo, anche fuori dal web), e che sarebbe meglio spendere energie per sviluppare progetti più significativi, come Vala e GDC, che hanno una cronica mancanza di sviluppatori, ma nonostante ciò stanno crescendo.

Ultim’ora: Nokia compra Trolltech

Inaspettata come il proverbiale fulmine col sereno.

Non è ancora definitivo l’acquisto, ma Nokia ha stipulato un accordo con Trolltech per fare un’offerta di acquisto. L’acquisizione dovrebbe diventare definitiva, a meno di obiezioni da parte degli azionisti o di entità governative come antitrust o di controllo della Borsa.

Arriva completamente inaspettata, perché Nokia, finora, ha sempre usato il “concorrente” di Trolltech, Gtk+, per le sue interfacce (vedi quella della serie N770, N800 e N810), e secondo me può significare solo una cosa: vuole usare QTopia per portare anche la parte telefonica nei suoi tablet/MID.

Nokia vs Google

Nokia, lo ricordo, è rimasta fuori dalla Open Handset Alliance made in Google, mentre ne fanno parte i suoi rivali più pericolosi: Motorola, Samsung e LG, oltre ad HTC. Probabilmente non ha visto sviluppi abbastanza veloci dal fronte GPE Phone Edition o OpenEmbedded/OpenMoko, e ha preferito buttarsi su una tecnologia già matura come può essere quella QTopia Phone.

Per “noi Linuxari” questo significa anche che Linux sta conquistando sempre maggiori fette di mercato nel mobile, e che per fine anno potrebbero esserci parecchi dispositivi nuovi a contrastare Windows Mobile e Symbian (che è di Nokia, tra l’altro). PalmOS ormai è morto (purtroppo).

OpenMoko

Mi dispiace un po’ (preferisco le Gtk…) ma credo che ora OpenMoko avrà una vita ancora più dura, soprattutto perché non è ancora uscito nessun terminale per il pubblico. Rischia di trovarsiad uscire sul mercato contemporaneamente a colossi molto più grandi di lui. Se entro la fine di febbraio fosse disponibile il Freerunner potrebbe conquistarsi almeno una fetta di appassionati.