Informatica « admiral0's blog

admiral0's blog

Linux, music and poetry

Archive for the ‘Informatica’ Category

Switchy 2

Wednesday, December 14th, 2011

As i said in the previous post, good news are coming.

Switchy is a solution that already works for switchable graphics, but it’s somewhat clumsy to use. To have it running successfully you have to edit fstab and add entry for debugfs. Also it’s fully manual(did not integrate with any DE).
Well here is the future:
In case you’re asking i’ve got almost working code that handles everything automagically, mounting debugfs included. Code needs a lot of polishing and some bits for the 2 options to work. But how do they work?
If action is enabled (first checkbox) the unused graphics card is powered off on profile activation. (DONE)
You can select the gpu to activate on profile activation. This performs a lazy switch. That means that if you have to restart X11 the switch is performed after logout, otherwise switch is performed silently.
If “Propose GPU switch” is checked, on a switch that requires logout/login a notification is fired proposing a logout.
So switchy 2 will be basically the same in the UI, but will use the new interfaces.
I’d like to thank drf that showed me how KAuth and PowerdDevil work, and now i’m back to coding.
PS. I got accepted in QtonPi Device Program. SDK for archlinux will be there soon.

=-=-=-=-=
Powered by Blogilo

Thursday, November 11th, 2010

I have made some tests comparing mesa and gallium code for my ati card. Well, classic mesa definetly looses as doesn’t render textures right. For example frogatto doesn’t run under r600c, but runs well under r600g. Urban terror has no textures and 56fps with r600c, with r600g it gives me a nice GPU hung(it’s a regression, i had it running *with* textures some weeks ago). And finally i can play ut2004 with my powerful ati card. Wow finally!

Thoughts on network management

Wednesday, November 3rd, 2010

Managing network is not easy from computer’s point of view. There’s little automagic to do. But most folks don’t get it and try to automate the hell out of it.
We have the Network Manager example of how NOT to do a network manager. It fucks up what you do in console, does a lot of stuff without even telling you wtf is it doing. Otoh it has good support for 3g dongles and has a neat interface in gnome.

So what should a network manager do?
* Connecting to wireless
* Connecting to 3g
* Connecting to Vpn
* Sharing connection(ethernet, wireless)
* Setting up a quick local network (gaming, lan parties)
* Choosing default route
* Choosing global dns
* Notify about network changes (disconnected, connected from console and so on)
* Wireless link in gui

So if you’re wondering, they’re all features i plan for netcfgfx, and this network manager won’t be archlinux only. Stay tuned

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 :)