Archive for the ‘GNU / Linux’ Category

Conferència de Richard Stallman a Manresa

Thursday, February 4th, 2010

Divendres passat amb els TECOBs ens vam escapar a la conferència que en Richard Stallman va fer a Manresa, titulada “El software libre en la ética y en la práctica”.

La conferència va tractar sobre la pèrdua de llibertat que tenim quan utilitzem programari propietari en el nostre ordinador. Va durar una hora i mitja i no es va fer gens pesada, al contrari, va estar amenitzada amb els acudits que el Sr. Stallman anava fent. La veritat és que va ser molt il·lustrativa i no era necessari ser un expert en informàtica per seguir-la. Llàstima que al final es va “liar” la troca i es va barrejar la venta de llibres amb els torns de preguntes.

Recomano a tothom qui si mai pot anar-lo a veure’l, que hi vagi. Que no tots els dies es té l’oportunitat d’assistir a una conferència que tracti temes informàtics de forma divertida.

Richard Stallman a Manresa 01 Richard Stallman a Manresa 02

Pàgines promogudes per Richard Stallman:

- The Free Software Foundation (FSF)
http://www.fsf.org/

- The GNU Operating System
http://www.gnu.org/

- DefectiveByDesign.org | The Campaign to Eliminate DRM
http://www.defectivebydesign.org/

Podeu tobar la conferència que en Richard Stallman va fer a Manresa a la web del Jordi Cerdan: http://www.jordicerdan.com/

Introducció al homebrew (3 de 3)

Sunday, April 5th, 2009

En aquest tercer i darrer tutorial instal·larem un emulador de Nintendo DS que ens servirà per comprovar els resultats de les nostres aplicacions sense la necessitat de fer servir la consola portàtil.

Tal i com vam comentar en la primera part, el cartutx R4 ens servirà per carregar el nostre homebrew a la DS. No obstant, això només és pràctic una vegada els programes estan acabats i no pas pels que encara s’estan desenvolupant. Més que res per que cada vegada que volguéssim provar el programa en la consola hauríem de compilar, gravar el programa a l’R4, encendre la DS i observar els resultats. Per això instal·larem un emulador, el qual ens permetrà veure els resultats en el nostre ordinador de forma immediata, sense la necessitat d’haver de gravar el programa a l’R4 i encendre la DS.

Per acabar també instal·larem i configurarem un IDE que enllaçarem amb l’emulador i que ens ajudarà al moment d’escriure els nostres programes.

3.1 Instal·lació de l’emulador

Instal·larem l’emulador DeSmuME que per sort es pot instal·lar des dels repositoris d’Ubuntu escrivint una sola línia en el terminal:

$ sudo aptitude install desmume

$

3.2 Instal·lació i configuració de l’IDE

Com a entorn de desenvolupament instal·larem un eclipse, que tot i que en un principi està pensat per a desenvolupar projectes en Java, podem trobar versions preparades per a programar projectes en C i C++.

Obrim un navegador i descarreguem en la nostra home l’eclipse IDE per C/C++ des d’aquesta pàgina. Un cop descarregat obrim una sessió de terminal i el descomprimim:

$ tar -zxvf eclipse-cpp-ganymede-SR2-linux-gtk.tar.gz
$

Des del navegador d’arxius anem a la carpeta eclipse i executem el programa (és necessita tenir la màquina virtual de Java per fer-ho!). Al ser la primera vegada que l’executem ens demanarà de crear un directori de treball en la nostra home a on s’emmagatzemaran els projectes. Podem deixar tranquil·lament el nom el que ens proposa per defecte.

Acte seguit,

  • Tanquem la pestanya de Welcome
  • Des del menú anem a File -> New -> C Project

Screenshot 01

  • Li donem un nom al projecte (per exemple prova)
  • A tipus de projecte seleccionem Makefile -> empty project
  • Cliquem el botó Finish

Screenshot 02

  • Des del menú anem a File -> Import…
  • Seleccionem General -> File System
  • Cliquem el botó Next
  • Cliquem el botó Browse…
  • Busquem i seleccionem la carpeta template de les PAlib
  • Cliquem el botó Finish

Screenshot 03

  • Tornem al menú i cliquem File -> Properties
  • Seleccionem la categoria C/C++ Build
  • Anem a la pestanya Behaviour
  • Substituïm tots els camps all per build
  • Cliquem el botó Apply

Screenshot 04

  • Seleccionem la categoria C/C++ Build -> Build Variables
  • Cliquem l’opció Show system variables
  • Fem doble clic sobre les variables DEVKITPRO, DEVKITARM i PAPATH
  • Cliquem el botó Apply

Screenshot 05

  • Seleccionem la categoria C/C++ General -> Path and Symbols
  • Anem a la pestanya Includes
  • A Languages cliquem l’opció GNU C
  • Cliquem el botó Add…
  • Cliquem el botò d’File system…
  • Busquem i seleccionem la carepta lib/include/nds de les PAlib
  • Cliquem el botó Ok
  • Cliquem el botó Apply
  • Repetim el procés per al llenguatge GNU C++
  • Cliquem el botó Ok

Screenshot 06

3.3 Enllaçar l’eclipse amb l’emulador

Arribat en aquest punt només ens queda enllaçar l’entorn de desenvolupament amb l’emulador que hem instal·lat en l’apartat 3.1.

  • Des del menú anem a Run -> External Tools
  • Seleccionem External Tools Configurations…

Screenshot 07

  • Seleccionem Program
  • Fem clic amb el botó dret sobre Program
  • Creem una nova configuració

Screenshot 08

  • A Name podem posar DeSmuME
  • A Location posem /usr/games/desmume
  • A Working Directory cliquem Browse Workpsace…
  • Seleccionem el projecte i cliquem OK
  • A Arguments posem prova.nds (“nom_projecte” + “.nds”)

Screenshot 09

  • Cliquem el botó Apply
  • I per últim cliquem el botó Run

Això generarà un fitxer prova.nds (que posaríem a l’R4) dins la carpeta del projecte del nostre directori de treball, que l’emulador recuperarà com a paràmetre i executarà:

Screenshot 10

Ara només quedaria adquirir uns bons llibres de C, algun altre de videojocs, estudiar la gran varietat d’exemples que venen amb les PAlib, i començar a programar. Happy coding!

Enllaços per començar amb les PAlib

PAlib – Wiki
PAlib – Fòrums
Nintendo DS Development Tutorial :: PAlib

Fonts consultades

Toshen Project Devblog – Configurer Eclipse
PlayerAdvance.org – Utiliser Eclipse comme IDE

Introducció al homebrew (2 de 3)

Wednesday, April 1st, 2009

En aquest segon tutorial instal·larem en el nostre sistema les llibreries necessàries per poder desenvolupar aplicacions i jocs per a la nostra Nintendo DS.

Abans però, caldrà que tinguem instal·lats un parell de paquets els quals ens permetran compilar programes i descomprimir algun dels fitxers que descarregarem més endavant. D’aquesta manera, obrirem una sessió de terminal i executarem les següents comandes:

$ sudo aptitude install build-essentials

$ sudo aptitude install unzip

$

Una vegada fet això ja podrem instal·lar les llibreries específiques per al desenvolupament de la Nintendo DS: les devkitARM i les PAlib.

Les devkitARM són unes llibreries que formen part del projecte devkitPro i que han estat pensades per compilar programes per a dispositius amb processadors ARM (com ara la Nintendo DS, la Game Boy Advance o la GP2X). Treballen a un nivell baix de hardware, pel que escriure un joc des de zero fent servir aquestes llibreries pot ser força tediós. Es per això que també instal·larem les PAlib, unes segones llibreries que estan just per sobre les devkitARM (no treballen a un nivell tant baix de hardware) i que ens facilitaran la feina a l’hora de crear els nostres programes.

És important comentar que les PAlib són una mica antigues i només funcionen amb les versions del devkitARM que descarregarem a continuació. Si instal·léssim versions més noves podríem trobar-nos amb problemes a l’hora de compilar i els nostres programes no funcionarien.

2.1 Instal·lació de les llibreries devkitARM

Obrirem el navegador i descarregarem aquest fitxer en la nostra home. Quan s’hagi descarregat obrirem una altra vegada una sessió de terminal i crearem una carpeta anomenada devkitpro en la nostra home, hi posarem el fitxer que acabem de descarregar i el descomprimirem:

$ mkdir devkitpro
$ mv devkitARM_r21-linux.tar.bz2 devkitpro/
$ cd devkitpro/
devkitpro$ bzip2 -dc devkitARM_r21-linux.tar.bz2 | tar -xv
devkitpro$

Seguim treballant des del terminal per descarregar un parell de llibreries més, les quals desarem dins d’una carpeta que anomenarem libnds:

devkitpro$ mkdir libnds
devkitpro$ cd libnds/
devkitpro/libnds$ wget aquest fitxer
devkitpro/libnds$ bzip2 -dc libnds-20071023.tar.bz2 | tar -xv
devkitpro/libnds$ wget aquest fitxer
devkitpro/libnds$ bzip2 -dc dswifi-0.3.4.tar.bz2 | tar -xv
devkitpro/libnds$ wget aquest fitxer
devkitpro/libnds$ bzip2 -dc libfat-nds-20070127.tar.bz2 | tar -xv
devkitpro/libnds$

2.2 Instal·lació de les llibreries PAlib

Descarreguem les PAlib i les descomprimim dins la carpeta devkitpro:

devkitpro/libnds$ cd ../
devkitpro$ wget aquest fitxer
devkitpro$ unzip PAlib_080823_Archive.zip
devkitpro$

Un cop arribat en aquest punt ja tindrem les llibreries instal·lades en una estructura de directoris semblant a la següent:

/
|__ home
     |__ la_meva_home
          |__ devkitPro
               |__ devkitARM
               |__ libnds
               |__ Other Libs
               |__ PAlib

2.3 Variables d’entorn i prova de compilació

Ara només queda definir unes variables d’entorn i provar de compilar un dels exemples que venen amb les PAlib per comprovar que tot s’ha instal·lat satisfactòriament. Per fer-ho obrim el fitxer .bashrc situat a la nostra home (el fitxer és ocult!), i afegim les següents línies al final del fitxer:


# devkitPro
export DEVKITPRO=$HOME/devkitpro
export DEVKITARM=$DEVKITPRO/devkitARM
export PAPATH=$DEVKITPRO/PAlib/lib

Per acabar refresquem les variables d’entorn i provem de compilar un dels exemples des del terminal:

$ source .bashrc
$ cd devkitpro/PAlib/examples/Text/Normal/HelloWorld
devkitpro/PAlib/examples/Text/Normal/HelloWorld$ make

built … HelloWorld.ds.gba
dsbuild 1.21 – Oct 23 2007
using default loader
devkitpro/PAlib/examples/Text/Normal/HelloWorld$

Si veiem que la comanda make no torna ningun error i acaba amb les línies de “dsbuild 1.21 – Oct 23 2007″ i “using default loader”, voldrà dir que les llibreries s’han instal·lat correctament. Per contra, si observem algun error o avís, i un resultat diferent a l’esperat, voldrà dir que alguna cosa s’ha fet malament i haurem de repassar el procés d’instal·lació.

Fonts consultades

Wiki devkitPro:Getting Started/devkitARM
Wiki PAlib: Installing Your Dev Environment
Dev-Scene.com
ElOtroLado.net

Introducció al homebrew (1 de 3)

Tuesday, March 31st, 2009

Tant el Franc com jo hem parlat vàries vegades en els nostres blogs sobre aplicacions homebrew, les quals permetien ampliar les funcionalitats de les nostres Nintendo DSs amb programes de VeuIP, de missatgeria instantània i navegadors d’Internet, entre d’altres.

És per això que m’he engrescat a escriure una sèrie de posts en els quals aprofundirem més en això del homebrew, començant per definir-lo i acabant per muntar un entorn desenvolupament per a la distribució basada en GNU/Linux, Ubuntu.

1.1 Definició

S’entén per homebrew el conjunt d’aplicacions i jocs desenvolupats per “aficionats” de forma casolana per a un dispositiu en concret, normalment una consola de videojocs.

Teòricament és necessari adquirir llicències i entorns de desenvolupament cars per realitzar aplicacions i/o jocs per als diferents sistemes d’entreteniment. No obstant, gràcies a l’esforç de molts usuaris i de comunitats molt ben assentades es pot programar per a gairebé qualsevol dispositiu, sense la necessitat d’adquirir aquests entorns de desenvolupaments.

1.2 Consoles a considerar

Tal i com acabem de dir és poden desenvolupar aplicacions homebrew per a gairebé qualsevol consola. Per fer-ho, sovint s’han de manipular aquests dispositius (ja sigui per hardware o per software) per a que acceptin programes no oficials. No obstant, algun d’aquests dispositius no requereix ninguna modificació i n’hi ha prou amb un altre producte que permeti introduir els programes casolans de forma còmoda a la consola.

Nintendo DS
Nintendo DS Lite
La portàtil de l’empresa japonesa que es caracteritza per tenir dues pantalles (una d’elles tàctil), micròfon i Wi-Fi. Va ser llençada al mercat a principis de 2004 i en breu sortirà una tercera versió amb pantalles una mica més grans, dues càmeres de vídeo i un slot per a targetes SD.

Tot i que Nintendo no dóna suport oficial al homebrew per a aquesta consola (ni per ninguna), n’hi ha prou amb un cartutx com ara l’R4 per executar aplicacions i jocs homebrew en aquesta portàtil.

GP2X
GP2X
La consola open-source coreana basada en GNU/Linux i pensada per a executar homebrew.

Funciona amb targetes SD i malgrat que a nivell de hardware es inferior que la DS, té un aspecte molt positiu per al homebrew: el mateix fabricant facilita diversos entorns de desenvolupament per tal que els programadors hi facin les seves aplicacions i/o jocs sense cap tipus de restriccions.

Semblaria lògic, per tant, dedicar els següents posts a muntar l’entorn per a la GP2X. Tanmateix, ho acabarem fent per a la Nintendo DS ja que:

  • Des del punt de vista de hardware la DS és més interessant (té Wi-Fi, micròfon, acceleració 3D, pantalla tàctil, etc).
  • La bateria de la DS dura molt més que el que puguin durar unes piles bones en la GP2X.
  • La DS està molt més estesa que la GP2X.
  • Muntar un entorn de desenvolupament per a la DS en Ubuntu és, si fa no fa, igual de costós que per a la GP2X.

Fonts consultades

Wikipedia: Definició de homebrew (anglès)
Wikipedia: Definició de homebrew (castellà)
Wikipedia: Nintendo DS
Wikipedia: GP2X
Comunitat espanyola de GP2X
Revista digital Alt Magazine

Easy Peasy vs. Eeebuntu

Friday, February 6th, 2009

L’altre dia vaig descobrir per casualitat l’Eeebuntu, una distribució GNU/Linux que a l’igual que l’Easy Peasy està pensada per al portàtil d’ASUS EeePC. Em va atraure l’atenció veure que hi ha tres versions d’Eeebuntu: la base (instal·lació lleugera amb un mínim de programes), l’estàndard (instal·lació completa) i la netbook (semblant a l’estàndard però amb el Netbook Launcher).

El fet de veure que hi havia una distribució que de base no porta el Netbook Launcher em va agradar, així que vaig decidir provar-la i donar-li una oportunitat.

Porto ja uns dies provant les dues distribucions (l’Easy Peasy i l’Eeebuntu Standard), i tot i que ambdues es basen en una Ubuntu 8.10, hi ha algunes diferències significatives:

Easy Peasy

Easy Peasy

Nucli del sistema: 2.6.27-8-eeepc
Escriptori: Gnome 2.24.1
Suite ofimàtica: OpenOffice 3.0
Client de correu: Evolution 2.24.3
Missatgeria instantània: Pidgin 2.5.2
Navegador web: Firefox 3.0.5
Gestió d’imatges: Picassa
Reproductor de vídeos: Totem

Skype isntal·lat: sí
Compiz instal·lat: no
Webcam detectada: sí
Espai de disc ocupat per la instal·lació: 2,7G

Eeebuntu Standard

Easy Peasy

Nucli del sistema: 2.6.27-8-eeepc
Escriptori: Gnome 2.24.1
Suite ofimàtica: OpenOffice 2.4.1
Client de correu: Thunderbird 2.0.0.19
Missatgeria instantània: Pidgin 2.5.2
Navegador web: Firefox 3.0.5
Gestió d’imatges: F-Spot
Reproductor de vídeos: VLC

Skype isntal·lat: no
Compiz instal·lat: sí
Webcam detectada: sí
Espai de disc ocupat per la instal·lació: 2,5G

Bàsicament l’ús que li faig a l’EeePC és per navegar, per consultar el correu (a través del navegador), per missatgeria instantània, i puntualment per veure algun vídeo i xerrar per l’skype. Suposadament m’aniria bé tant una distribució com l’altra (l’Eeeubuntu no porta l’skype de sèrie però aquest es pot instal·lar molt fàcilment afegint els repositoris de medibuntu). No obstant, de moment m’estimo més utilitzar l’Eeeubuntu ja que no porta instal·lat el Netbook Launcher (no m’acaba d’agradar), i els programes no es maximitzen al moment d’executar-los (amb Easy Peasy sí es maximitzen i no m’hi acabo d’acostumar).

Ara que segurament la pròxima vegada que reinstal·li el sistema utilitzaré la base i no l’estàndard. D’aquesta manera estalviaré espai en disc, i evitaré desinstal·lar programes que porta l’estàndard i que difícilment utilitzaré.

Dissenyant un logo

Friday, January 30th, 2009

No fa gaire la distribució Ubuntu Eee (una distribució de GNU/Linux pensada per al portàtil Asus Eee), va decidir fer un canvi d’imatge i passar-se a dir Easy Peasy. El bo de l’assumpte va ser que el canvi d’imatge el van deixar a mans de la comunitat, permetent que la gent presentés els seus dissenys i les seves idees, amb l’al·licient de que el guanyador seria obsequiat amb un ultraportàtil de la marca taiwanesa.

El NaN em va animar a que presentés alguna cosa, i com que no acostumo a fer aquest tipus de tasques vaig pensar que seria interessant participar-hi. Així que basant-me en que el nom de la nova distribució seria Easy Peasy Lemon Squeezy, vaig fer alguns corquis abans de treballar el logo definitiu.

Sketch 1

Sketch 2

No obstant, vaig veure que alguns dels logos que ja s’havien presentat s’assemblaven lleugerament a alguns que havia pensat, pel que no vaig poder desenvolupar la idea que més m’agradava. Així que finalment vaig agafar el darrer disseny i després de perfilar-lo i aplicar-hi 4 colors vaig presentar la següent proposta:

Easy Peasy Logo

No es que n’estigui molt content de la proposta (la llimona em recorda més a una bola d’arbre de nadal) però tampoc va haver-hi temps per presentar res més. Tanmateix l’experiència va ser divertida i va servir per fer uns tipus de dissenys diferents als que acostumo a fer normalment.

DSLinux

Monday, December 31st, 2007

Per fi trobo una estoneta per escriure un parell de línies sobre la DSLinux, una distribució de GNU/Linux pensada per a la Nintendo DS. Ja fa uns quants dies que l’estic remenant i m’ha sorprès el bon ritme que porta el projecte.

Instal·lar-la és més senzill del que hem pensava i l’únic que s’ha de fer és baixar aquest arxiu i descomprimir-lo “a saco” dins l’R4. Al principi em vaig embolicar volent-lo instal·lar dins el SuperCard, però al final vaig desistir quan vagi veure que havia de formatejar la tarja microSD a FAT16 i aplicar un patch al software.

Així que res, R4 i ja està. Supersenzill!

Fent un ping a www.tecob.com

Encara no hi ha gestor de finestres però tot i així el sistema és prou complert: hi ha varis terminals, funciona el WiFi, té un navegador web en mode text, jocs (també en mode text, de fet to és mode text), porta l’editor vi, permet fer connexions ssh, etc. L’única pega que hi he trobat és la mida de les fonts del terminal que es veuen molt petites, però bé, serà qüestió d’esbrinar si es poden posar més grans.

Cada dia que passa em quedo més parat de les possibilitats d’aquesta consola i només pel hombrew ja val la pena comprar-la: navegadors d’Internet, programes de veu per IP, programes de dibuix, jocs, agenda personal, GNU/Linux, … només falta que llencin el sintonitzador de tele per a la DS a Europa i ja serà el gadget definitiu!

Actualització 10-01-2008: El Miquel em comenta que sí porta un entorn gràfic. És tracta d’un port de PIXIL i per executar-lo només s’ha d’escriure la següent comanda des del terminal:

>> /usr/pixil/nxstart.sh

Una mica inestable (i lent) però si s’acaba de polir serà força interessant. Gràcies Miquel!

SystemRescueCd

Tuesday, March 6th, 2007

Ahir vaig estar remenant la SystemRescueCd, una distro GNU/Linux molt lleugera (pesa uns 120 MB) que arrenca des d’un live CD i que està pensada per reparar sistemes que han quedat malmesos. A més, també porta utilitats de xarxa, eines per particionar i permet treballar tant en mode consola com en mode gràfic.

El cas és que necessitava recuperar les dades d’un disc dur que tenia espatllat, pel que vaig anar a la web i vaig descarregar la darrera versió d’aquesta distribució. Una vegada fet això va ser tot bufar i fer ampolles: posar el CD i dir quin tipus de teclat tinc, la resta es va detectar tot de forma automàtica. A partir d’aquí va ser muntar el disc dur, muntar un pendrive i copiar les dades que necessitava del disc dur al pen drive, i llestos!

La veritat, no em pensava que fos tant senzill. Quasi em va saber greu i tot no haver de consultar per internet i entrar més comandes en el terminal, costum de que no em funcionin les coses a la primera suposo :D

Ubuntu Linux 6.06

Friday, July 21st, 2006

Ja fa tres dies que m’he instal·lat la darrera versió d’Ubuntu a la feina. Dimarts passat em va entrar la dèria i vaig aprofitar per formatejar tot el sistema i reinstal·lar-ho tot de nou (a veure quan arriba el dia en que no s’hagi de formatejar un PC).

Trobo molt bé que hagin decidit ajuntar la live i la install en un sol CD, ja que al final, al descarregar també les versions de powerpc, acabava tenint un munt de CDs. Tot i que encara estaria millor que ho agrupessin tot en un sol DVD. Dos DVDs tampoc aniria malament (un per x86 i un per powerpc), així hi hauria espai per posar paquets i no caldria descarregar-los d’internet.

Ja era hora que el mètode d’instal·lació fos gràfic, sobretot la part de particionar el sistema de fitxers. És nota que aquesta vegada la gent de Canonical s’han posat en cura i han volgut deixar una distribució amb una part gràfica que no té res a veure amb les versions anteriors.

Icones noves, paleta de colors nova, un sistema de menús més clar i endreçat… la veritat és que s’han posat les piles en l’aspecte gràfic (que ja tocava!) i per primera vegada, he notat que l’ordinador que tinc a la feina (AMD 1 GHz amb 1 GB de RAM) és queda curt de recursos al moment de treballar amb el Linux.

Tanmateix, hi ha un parell de coses que no m’acaben de convèncer:

  • Em sobren les ratlles verticals que surten en les barres de progrés.
  • Trobo que el diàleg de tancar la sessió, reiniciar i apagar queda massa gran per culpa dels botons que han posat (m’agradava més abans, amb els radio buttons petits).
  • Crec també que s’han passat amb els embellidors dels icones, finestres i demés.
  • Em costa creure que encara segueixin amb el marró com a color base per a la distribució. No hi ha altres colors que puguin representar humanitat?

GNUinos

Wednesday, May 24th, 2006

El diumenge passat vaig agafar l’autobús per tornar a Andorra des de Barcelona, i just sortint de l’estació Barcelona Nord (ja de camí cap a Andorra) vam passar per davant d’un local a l’alçada del carrer Ausiàs Marc, amb un cartell que em va cridar força l’atenció pel seu joc de paraules: GNUinos. Per sort tenia el mòbil a mà i em va donar temps de fer-li una foto:

GNUinos

Una vegada vaig arribar a casa va ser entrar al Google, buscar “GNUinos” i començar xafardejar la seva pàgina web per treure’m les sospites de que aquella empresa es dedicava al software lliure:

GNUinos és un projecte empresarial català que neix amb la clara voluntat d’impulsar l’ús del programari públic (projecte GNU) entre els usuaris, les empreses, i l’àmbit de l’educació. Davant de cars postulats de Software Propietari, el projecte GNU defensa la llibertat d’utilització, còpia, distribució, estudi i millora, entre tots, del software. Tanmateix GNUinos impulsarà i fomentarà l’ús de Programari Lliure en la nostra llengua.

D’aquesta manera ofereixen assessorament a empreses i a particulars basat en software lliure. Una opció a tenir en compte per a la gent de Barcelona i voltants. Sort GNUinos!