admiral0.org

Linux, music and poetry

Archive for the ‘Informatica’ Category

Opinions on MADDE

Thursday, May 27th, 2010

I tried to compile one of my projects for the n900 (Minerva text editor to be precise), was very lazy to set up a toolchain or scratchbox, so i said to myself “Hey let’s try the shiny new tool from Nokia – MADDE”.

So i downloaded MADDE for my laptop and installed it. Also installed MADDE client on the n900. So far so good. Next went on the maemo wiki to see what do i need to do to set up Qt Creator. I needed newer Qt Creator, version >= 1.3.80. Ok let’s do things for good. So i rolled my sleeves up and started writing PKGBUILDs. Two were needed to get latest qt and qtcreator from git and install them in /opt so they don’t conflict with distro provided ones (You can find them in aur – qt-opt-git and qtcreator-opt-git). Some things went very wrong so docs and qsqldrivers don’t seem to build or be detected(i think it’s a qt issue), but never mind qt creator starts, even if it was bragging about qt private headers…

Nice…

So i open up minerva project and set my n900 as target. I start building. All seems ok. Then BAM! i meet reality. I get error on packaging. PACKAGING? WTF? I didn’t want to package, just run my app! So i find out that madde in order to execute your *incomplete* app packages it, sends it to your device, installs it, runs it, then when you repeat it does the same steps again. That seems a fail to me.

The good thing about madde is that i got my binaries for my device, so with a couple of scp’s and wtf’s i got Minerva running on n900. Next goal -> migrate to cmake.

Minerva Text Editor

Minerva on N900

PS: I think i found a bug in maemo’s input. When writing in Minerva’s screen i get only caps, and shift doesn’t change case. That needs further investigation as i also experience such annoyance also in Fennec.

Admiral0 is not dead :P

Saturday, May 15th, 2010

I have a few news that i reserve for later.. You can already see something on github.com/admiral0

Nato admiral0repo

Saturday, January 23rd, 2010

È da un po di tempo che mantengo alcuni PKGBUILD in AUR e ne costruisco a casa regolarmente. Mi sono detto, dai che condivido con gli altri :)

Il repo si trova su tuxfamily

[admiral0repo]
Server = http://download.tuxfamily.org/admiral0repo/$arch/

$arch è i686 oppure x86_64. Grazie a sante per la disponibilità di compilare per x86_64

Riflessioni sul mondo delle piattaforme embedded

Sunday, October 11th, 2009

Questi giorni mi sono confrontato con un po’ di gente su questo argomento e ho deciso di parlarne sul blog. Ecco i miei pensieri riguardo alle piattaforme maggiormente usate sul mercato.

  1. Iphone OS – È la piattaforma di apple che dice di innovare tutto. Infatti innova tutto, dalla mancanza di multitasking all’interfaccia “ultra personalizzabile”. L’interfaccia dell’Iphone brilla per quanto riguarda l’artwork usato e l’usabilità, ma tutto questo va a scapito della personalizzabilità. Alla fine si hanno millemilla icone organizzate in altrettante schermate e quindi addio anche all’usabilità. Per il resto le applicazioni hanno un bel design. Insomma, per chi vuole fare il figo per l’eleganza del software del telefono ben venga, ma non può dire che è il meglio che offre il mercato. Per quanto riguarda l’hardware le scelte sono discutibili, a partire dal case che proprio elegante non è. Mi piace invece che l’IPhone sia basato sull’OMAP3 che è un’ottima piattaforma embedded.
    Per quanto riguarda lo sviluppo per Iphone OS la mia opinione è totalmente negativa. Le API possono essere facilissime e altro, ma non puoi pretendere che sviluppatori creano apps che vanno solo per IPhone. Infatti tutte le applicazioni scritte per Iphone sono scritte quasi da 0 (forse è stato usato qualche snippet di codice qua e là). Questo non è una cosa da fare. L’unica cosa che ha spinto sviluppatori a creare apps è stata la marea di fanboy/creduloni Apple che hanno comprato questo dispositivo (userbase).
  2. Android – Android viene da mamma google e quindi è curato sotto gli aspetti della connettività qianto l’iPhone. La differenza sta nel fatto che Android è open source. Ma open source non sempre vuol dire “free software”. Infatti spesso chi ha dei dispositivi android li trova “castrati” di varie funzionaltà. Questa è una via sbagliata. Dal punto di vista dello sviluppo devo purtroppo rimandare al caso precedente. Pur essendo basata su Linux (attenzione non GNU/Linux) non presenta i suoi vantaggi. La google ha deciso di reinventare la ruota e ha patchato varie librerie che rendono impossibile il porting “compile & go” che è caratteristico di GNU/Linux. Poi si aggiunge il fatto della VM dalvik che non ha API Java standard quindi il discorso si ripete. Si vede che Google non ha imparato dall’errore di Apple che inizialmente per le apps offriva solo sfari+ajax. Infatti con il SDK era possibile solo sviluppare in java (linguaggio, ma con API Google). A grande richiesta è stato rilasciato anche il NDK (Native development Kit) che permette di scrivere codice C. Ma lì si è saputo che le glibc sono molto tagliuzzate… Insomma, brutta cosa.
  3. Windows Mobile – Il nome già dice tutto. Microsoft non riesce a competere nel campo embedded e lo dimostra con questo OS. E’ una copia bruttissima di quello che c’è sul desktop. Inomma niente di nuovo.
  4. Openmoko – L’iniziativa di questa azienda era di creare uno smartphone aperto sia software che hardware. Una cosa lodevole. È qualcosa di nuovo. infatti mancavano le applicazioni per la telefonia, i moduli del kernel ecc. Diciamo che l’idea era buona l’applicazione lasciava a desiderare. Si deve notare che dall’inizio dello sviluppo dell’os (una distro completa GNU/Linux) si è cambiata parecchie volte la strada. Infatti è noto il seguente scherzo tra i devs “Perché Openmoko attraversa la strada?” “Per prendere ancora un’altro framework”. Per la distro ci sono le qt, le gtk le efl e ci si mette poco ad aggiungere roba. Al momento l’Openmoko è in difficoltà a causa di mancanze di fondi, ma è colpa loro…
  5. Symbian – Stessa situazione di Android, anche se adesso può vantare di avere qt disponibile.
  6. Maemo – Maemo si è sviluppata piano, piano, partendo da essere un OS da net-tablet a un completo OS per smartphone. Con l’uscita del n900 (che io avrò :) ) la nokia inizia a spingere maemo sui suoi device high-end. Ma cos’ha di particolare questo sistema? E’ una GNU/Linux basata sul port armel di debian che si è staccata da madre debian e continua lo sviluppo sotto l’ala protettiva di Nokia. L’interfaccia attuale è fatta con le GTK+, ma con l’acquisto di Trolltech (Qt) le direszioni sono chiare. E’ un ottimo piattaforma. Per sviluppare per maemo c’è di tutto. Qualsiasi cosa che c’è nel mondo linux si può portare con relativa semplicità. (C’è una distro chiamata Mer che è fatta dalla community ed ha tutti i pacchetti di ubuntu :) )

Il mondo embedded è molto movimentato. Si prospetta una guerra all’ultimo device venduto per questi OS :)

Qt 4.6

Saturday, September 19th, 2009

Non so quanti di voi sanno cosa c’è nel cantiere per le Qt 4.6, ma guardando la tech preview ho dovuto andare a ripescare la mia mascella dal piano inferiore.

Ecco cosa offre di nuovo:
- Animation Framework. E’ fatto per quelli che adorano le EFL ( :) ) per le animazioni facili da fare. Dicono che è solo l’inizio. In effetti hanno ragione perché nel branch kinetic di qt ci sono cose moolto interessanti.
- State machine. Qua so ben poco, ma dicono che può essere usata come nelle EFL con i stati della gui e in generale dell’applicazione.
- Multi-touch. Come può mancare in un framework serio?
- Gestures. Questo è il motivo principale per cui svilupperemo (mandarancio e io) OpenDesk per le qt > 4.6. (Per altro a presto pacchetto qt-unstable in archmobile ;) )
- Accesso al DOM del QWebView. (Immaginatevi programmino-scavallo flickr)
- Qt3D. Hanno semplificato le API
- Multimedia Audio Services. Hanno fatto qualcosa a più basso livello di phonon
- Performance optimizations. Come sempre. Hanno riscritto QGraphicsView e hanno tolto support win 9x

Questo è solo quello che riguarda la tech preview di qt, ma in git ho pure trovato un sottoprogetto tutto dedicato ai telefonini. Include un framework per i contatti e altre cose che non ho guardato ancora.

Mockup veloce (anche di più) per openDesk

Tuesday, September 15th, 2009

OpenDesk è un DE che vuole dare al moko (il target è anche nokia n900) un look nuovo tenendo a cuore l’usabilità. Visto che sono in sessione esami , ho fatto solo un disegno veloce su carta che ripropongo qua sul blog :)

Immagine grossa

Scusate, non disegno bene, è solo per far capire cosa ho in mente.

Kernel per eeepc

Thursday, September 3rd, 2009

Visto che tutti sull’eeepc (con ssd) si vantano dell’avvio in pochi secondi ed essendo uno dei possessori di eeepc con HD, mi sonoingegnato a spremere il kernel a dare tutto quel che può dare. Ringrazio Alexjan di FSUGItalia che mi ha guidato in questa avventura (praticamente ha fatto quasi tutto lui ^^).

L’obiettivo della ottimizzazione applicata era di eliminare la ramdisk, in quanto è molto costosa in tempo di boot, ed eliminare tutto l’eliminabile.

Alla fine siamo arrivati al seguente .config che è specifico per gli eeepc 1000HE con wireless ath9k  .  Questo config lo consiglio con le patch gentoo accanto a un profumato bicchiere di vino. In Archlinux il PKGBUILD si chiama kernel26-ice, perché contiene anche tuxonice ;)

La sospensione va pure che è una meraviglia. Non ho dovuto far altro che seguire le istruzioni sulla wiki di archlinux. La prossima volta che metto manino nel sistema ho intenzione di andare a vedere cosa si può fare per gli initscripts :)

Archlinux sul freerunner

Thursday, July 16th, 2009

Riciao mondo.

Dopo tanto tempo, tanti esami e tanto studio sono tornato a scrivere. Ho una notiziona (Ve l’ho detto che spacco il mondo quando torno :P ). Arch è stato portato sul freerunner. Non da me, ma quel che conta è che funziona e per adesso mi da grande soddisfazioni. Qualche giorno fa ho provato a mettere qtmoko su una base arch. Risultato: lo sto usando come daily phone con Arch!!!

Mi è venuta allora l’idea di fare un tar.bz2 per poter provare com’è.

Inutile postare screenshots in quanto la grafica è uguale a qt extended. Quindi passo direttamente ai link.

http://download.tuxfamily.org/admiral0repo/image/qtmokoarch.tar.bz2

PS Sullo stesso sito sto mantenendo un repo con i pacchetti più esosi in giro :) . A presto eglibc, initscripts moddati e altre sciccherie

Webcam trouble (Inglese)

Saturday, April 11th, 2009

My article about compiling and installing video4linux modules became relatively popular even abroad so i decided to rewrite it in english. So here we go.

What’s the purpose of this article? You’ve got a video4linux device(webcam, DVB card, etc.) but it doesn’t work so you are desperately searching a solution. The best thing one can do (and is the most simple one, instead of patching the drivers you’ve got) is to compile the latest development snapshot of video4linux prayoing and hoping that code relative to that device was added.

What do i need? You need kernel headers, mercurial, gcc related stuff and obviously gcc.
In *ubuntu and Debian that’s easy to get as a


sudo apt-get install build-essential mercurial linux-headers-`uname -r`

in the console.

First, we need a working directory.


mkdir ~/v4lhg
cd ~/v4lhg

Now we download the source from mercurial.


hg clone http://linuxtv.org/hg/v4l-dvb

N: This can take a long time if your connection is slow.
The output should be like that:


destination directory: v4l-dvb
requesting all changes
adding changesets
adding manifests
adding file changes
added 11446 changesets with 29260 changes to 1993 files
updating working directory
1429 files updated, 0 files merged, 0 files removed, 0 files unresolved

Ok now we can proceed with preparing the source for compiling.


cd v4l-dvb
cp /boot/config-`uname -r` v4l/.config

That step was necessary in order to acquire your kernel’s configuration so you can simply “make && make install” and get fresh modules.


make config

( or make oldconfig if you are sure that your kernel’s configuration has got the option relative to your hardware enabled. )
Now answer to the questions. It is a list of hardware that video4linux supports.
Next we’re going to compile


make

This will take some time depending on your computer’s CPU. Now we’ll install the modules.


sudo make install

Venduto Freerunner

Wednesday, April 1st, 2009

Ho deciso di vendere il mio freerunner. Mi dispiace, lily, ma mi hai deluso. Non sono riuscito ad avere da te il 100%.

Adesso devo trovare un cellulare. Consigli? Io sarei orientato su un Iphone o un glofiish con win mobile 6.