El bloc de d'Artagnan

Projecte Android – preparar l’entorn

Posted in Android, Ubuntu by dartagnan on 14 Novembre 2010

Amb un amic, ens hem proposat entrar en el món del desenvolupament d’aplicacions per a mòbils. La idea és començar fent una aplicació per a telèfons mòbils Android, però tenint al cap altres plataformes com iPhone/iPad (perdó, iOS).

Ens han parlat de les llibreries phonegap, que permeten fer aplicacions que posteriorment es puguin executar en diferents plataformes. Així és com ho expliquen ells:

Build apps in HTML and JavaScript and still take advantage of core features in iPhone/iPod touch, iPad, Google Android, Palm, Symbian and Blackberry SDKs

De tota manera, aquestes llibreries només ens ajuden a crear una aplicació per una plataforma concreta. L’avantatge és que després podrem re-utilitzar bona part de l’aplicació en una altra plataforma si fem servir la mateixa llibreria.

Per començar, doncs, ens centrarem en desenvolupar una aplicació per la plataforma Android utilitzant la llibreria phonegap. Què cal fer?

  1. Instal·lar l’entorn de desenvolupament eclipse. En el cas d’Ubuntu, està al repositori.
  2. Descarregar les eines de desenvolupament d’Android (Android SDK) seguint aquestes instruccions. Inclouen la instal·lació del ADT Plugin for Eclipse. I també la descàrrega de la documentació i la plataforma Android 2.1 (Adding SDK components).
  3. Començar a desenvolupar amb phonegap utilitzant aquestes instruccions.

Altres punts interessants que haurem d’analitzar són:

  • com compartir el codi font de l’aplicació que anem desenvolupant. Per exemple, amb una eina com CVS.
  • com publicar una aplicació a l’App Market.
Anuncis

Canviar la paleta d’OpenOffice

Posted in Ubuntu by dartagnan on 17 Abril 2010

La selecció de colors a OpenOffice és clarament pitjor a la de M$ Office, però es tracta d’un simple tema de configuració. En aquesta pàgina expliquen com adequar la paleta de colors i en faciliten una de prou útil.

The colors included are too basic so they are not too useful (at least for the things I do). Evenmore, the colors don’t seem to be ordered at all so it’s not easy to find an specific color sometimes. That’s why I decided to change the default color palette and started using another more useful one.

Change default color palette in OpenOffice « i.uve.a.ene.

Una curiositat: el canvi de paleta s’ha de fer des d’OpenOffice Draw, i després ja afecta als altres programes de la suite.

Projecte Festes – siluetes amb transparències (4)

Posted in Geek life, Ubuntu by dartagnan on 4 gener 2010

En aquest apunt hi podeu trobar com convertir un vídeo en un grapat d’imatges (els seus frames), i després de modificar aquests frames, tornar a muntar el vídeo.

L’eina principal per dur a terme aquestes operacions és ffmpeg. Principalment permet convertir entre formats d’aquesta manera (ja interpreta les extensions):

ffmpeg -i in.avi out.mpg

Per convertir un vídeo en un grapat d’imatges, d’una mida determinada, es pot utilitzar la següent comanda, que genera dins la carpeta img els fitxers img-001.png, img-002.png, img-003.png, etc. (un per cada frame)

ffmpeg -i play.mov -s 800×600 img/img-%03d.png

Per convertir un grapat d’imatges en un vídeo, es pot utilitzar la següent comanda (on l’opció r permet establir el frame rate o número d’imatges per segon):

ffmpeg -r 10 -i img/img-%03d.png play.avi

I amb això, ja tenim tots els ingredients! Demà, el vídeo resultant…

Projecte Festes – silueta amb transparències (3)

Posted in Geek life, Ubuntu by dartagnan on 3 gener 2010

En aquest apunt, hi podeu trobar com posar totes les siluetes anteriors sobre una imatge de fons.

L’eina bàsica per dur a terme aquesta tasca és la comanda composite disponible en Ubuntu. Aquesta comanda també pertany al paquet imagemagick.

La comanda composite ens permet combinar dues imatges en una.En aquest cas, és clau haver definit la transparència del fons per poder superposar les siluetes.

composite sil029.png fons2.png comp1.png

Addicionalment, l’opció geometry ens permet canviar la mida de la imatge que estem superposant, i la seva posició:

composite -geometry 320×240+500+380 sil029.png fons2.png comp2.png

I per executar aquesta comanda sobre totes les imatges, només cal recórrer al mecanisme preferit per cadascú per executar una mateixa comanda sobre diferents fitxers. En el meu cas:

ls sil*.png | xargs -n1 sh -c ‘composite -geometry 1536×1152+0+300 $0 fons.png comp$0’

Silueta de playmobil amb castell provençal al fons.

Silueta de playmobil amb castell provençal al fons.

Projecte Festes – siluetes amb transparències (2)

Posted in Geek life, Ubuntu by dartagnan on 2 gener 2010

En aquest apunt hi podeu trobar com automatitzar el pas anterior per fer-ho a moltes imatges alhora. Per resoldre aquest repte, m’he inspirat únicament d’aquest apunt de The Pasadena Ruby Brigade.

L’eina bàsica per al tractament massiu d’imatges és la comanda convert disponible en Ubuntu. Aquesta comanda pertany al paquet imagemagick.

La comanda convert ens permet definir un color com a transparent. Podem utilitzar tant els components RGB del color, com una sèrie de colors predefinits:

convert -transparent grey57 img1.png sil-simple.png

convert -transparent “rgb(145,145,145)” img1.png sil-simple.png

Podem obtenir la llista de colors predefinits amb la següent comanda:

convert -list color

I podem obtenir els components rgb del color de fons amb l’eina comptagotes de GIMP.

Si bé seria fàcil executar aquesta comanda sobre un munt d’imatges, la veritat és que els resultats no són tan bons com es podria esperar.

Afortunadament, la comanda convert ens proporciona el paràmetre fuzz per donar un cert marge d’error o de tolerància al filtre anterior. Podem, per exemple, executar les següents comandes amb els resultats que es veuen a continuació:

convert -fuzz 3% -transparent grey57 img1.png sil-fuzz3.png
convert -fuzz 11% -transparent grey57 img1.png sil-fuzz11.png

Opció Fuzz amb un 3% d'error.

Opció Fuzz amb un 3% d'error.

Opció Fuzz amb un 11% d'error.

Opció Fuzz amb un 11% d'error.

Una altra opció és utilitzar la directiva floodfill, que va convertint a transparent totes les zones connexes i de colors més o menys similars. cosa que en alguns casos dona millors resultats.

convert img1.png -bordercolor grey57 -border 1×1 -matte -fill none -fuzz 11% -draw ‘matte 1,1 floodfill’ -shave 1×1 sil-floodfill.png

Silueta de playmobil

Silueta de playmobil

Aquestes comandes es poden executar fàcilment sobre un munt d’imatges, per aplicar-los la mateixa transformació alhora:

convert img%03d.png -bordercolor grey57 -border 1×1 -matte -fill none -fuzz 11% -draw ‘matte 1,1 floodfill’ -shave 1×1 sil%03d.png

Projecte Festes – siluetes amb transparències (1)

Posted in Geek life, Ubuntu by dartagnan on 1 gener 2010

En aquest apunt, hi podeu trobar com definir un color transparent en una imatge (el color de fons), de manera que la imatge només sigui la silueta de la figura (l’home del temps)

L’eina que tinc més a mà per fer aquesta tasca és el GIMP. I la foto per la qual m’agradaria obtenir només la silueta del playmobil és la següent:

Imatge de playmobil

Imatge de playmobil

En aquest enllaç s’expliquen els passos a seguir per definir una transparència en aquesta imatge. I inclou captures de pantalla dels diferents passos a seguir.

En aquest enllaç, també s’expliquen els passos de manera més resumida.

(…) hay que ir al dialogo de las capas (boton derecho sobre la imagen -> dialogos -> capas). En principio solo existirá una capa, damos con el botón derecho sobre esta y seleccionamos “Añadir canal alfa”, a continuación podemos seleccionar la herramienta goma de borrar y arrastrar el raton por cualquier zona de la imagen, se mostrarán unos cuadrados que corresponden al color transparente.

Jo només hi afegiria que, per facilitar la feina, es pot fer servir l’eina de seleccionar per color.

El resultat que podem obtenir d’aquest procés és el següent:

Silueta de playmobil

Silueta de playmobil

Malauradament, aquest procés manual que dona resultats molt bons és inabordable per tots els frames d’un vídeo i, per tant, haurem de buscar una manera automàtica de fer-ho.

Projecte Festes – siluetes amb transparències (0)

Posted in Geek life, Ubuntu by dartagnan on 31 Desembre 2009

A més a més de fer una animació amb la tècnica stop motion i playmobils, també voldria aprofitar aquest projecte per aprendre algunes tècniques d’edició de vídeo, efectes especials, etc.

L’efecte especial escollit ha estat el que podríem anomenar de l’home del temps: aquella tècnica segons la qual els homes del temps parlaven davant d’un fons verd i els tècnics podien posar-los qualsevol imatge al darrera.

Per aconseguir aquest efecte, els passos que he seguit són els següents:

  1. aprendre com definir un color transparent en una imatge (el color de fons), de manera que la imatge només sigui la silueta de la figura (l’home del temps)
  2. aprendre com automatitzar el pas anterior per fer-ho a moltes imatges alhora
  3. aprendre com posar totes les siluetes anteriors sobre una imatge de fons.
  4. aprendre a convertir un vídeo en un grapat d’imatges (els seus frames), i després de modificar aquests frames, tornar a muntar el vídeo.
Silueta de playmobil amb castell provençal al fons.

Silueta de playmobil amb castell provençal al fons.

FreeNX

Posted in Ubuntu by dartagnan on 17 Novembre 2007

FreeNX

NX és una tecnologia que permet accedir a escriptoris gràfics X11 (el fonament dels escriptoris gràfics de Linux) remotament. Està dissenyat per funcionar còmodament amb un ample de banda reduït i comunicacions lentes.

Per treballar amb la tecnologia NX, el primer que s’ha de fer és instal·lar el servei a l’ordinador que actuarà com a servidor. En aquest cas, una màquina amb Ubuntu Linux. Els passos a seguir:

Fonts:

NX technology – Wikipedia, the free encyclopedia

FreeNX – Community Ubuntu Documentation

Canvi periòdic del fons de pantalla amb Ubuntu

Posted in Ubuntu by dartagnan on 3 febrer 2007

He muntat un petit script que em permet canviar aleatòriament el fons de pantalla amb Ubuntu. El què fa és el següent:

  • Mira quants fitxers hi ha a la carpeta /usr/share/backgrounds (wc -l serveix per comptar línies).

    n=`find /usr/share/backgrounds/ -name \*.* | wc -l`

  • Escull un número aleatori entre 1 i el nombre de fitxers.

    ((n=RANDOM%n))
    ((n=n+1))

  • Utilitza gconftool per establir que el fons de pantalla és el fitxer escollit. L’eina find serveix per llistar els fitxers i sed per filtrar la llista i veure només la fila n-èssima.

    gconftool -t str -s /desktop/gnome/background/picture_filename “`find /usr/share/backgrounds/ -name \*.* | sed -n ${n}p`”

    Aquí hi teniu el codi sencer.

    n=`find /usr/share/backgrounds/ -name \*.* | wc -l`
    ((n=RANDOM%n))
    ((n=n+1))
    gconftool -t str -s /desktop/gnome/background/picture_filename “`find /usr/share/backgrounds/ -name \*.* | sed -n ${n}p`”

    He guardat aquest codi en un fitxer anomenat wallpaper.sh i he afegit la comanda al planificador (cron):

    $ crontab -l
    # m h dom mon dow command
    0 8,20 * * * ~/bin/wallpaper.sh

  • Provant el BloGTK

    Posted in Meta-blogging, Ubuntu by dartagnan on 1 Novembre 2006

    Estic provant el BloGTK, un programet dels repositoris d’Ubuntu per publicar textos directament a WordPress.

    Sembla que ha funcionat correctament. Els passos que he fet han estat:

    • instal·lar el programa BloGTK (en Ubuntu és molt avorrit)

    sudo apt-get install blogtk

    • engegar-lo i configurar-lo amb les dades pertinents:
    • i publicar aquest missatge.