Openmoko freerunner!

Finalment m’han regalat un Neo Freerunner per reis :D

Sí, han passat uns quants dies però estava massa enfeinat trastejant amb l’aparell per posar aquí una entrada xD

I tot el que queda per trastejar encara… ai mare meva! Vaig estar fins ahir barallant-me amb les diferents distribucions, primer la 2008.12 passant per FDOM, però cap d’elles acabava d’agradar-me o tenia masses errors. Ahir per la tarda vaig decidir provar la distribució SHR (Stable Hybrid Release) i la veritat és que de moment estic prou content: Repositoris propis que no creen errors en mesclar-se amb els oficials, bon conjunt d’aplicacions inicials, bon suport de la comunitat (canal #openmoko a freenode), etc.

Les pegues que trobo de moment a l’aparell en general, i també en concret de l’SHR:

  • Les aplicacions de gestió de telefonia (contactes, sms, dialer) encara estan bastant verdes i encara els hi manquen moltes funcionalitats.
  • Avui pel matí he provat de connectar-me al WiFi públic de l’escola i la GUI que ho fa es queda penjada… tot i així, avui he actualitzat la distribució i s’han actualitzat alguns paquets del avahi.. potser amb això es solucion; demà provaré.
  • No he aconseguit fer anar el GPS (amb cap distribució) de moment. Encara no m’ho he mirat gaire, però suposo que tindrà fàcil solució.
  • En connectar els cascos per escoltar música, el so segueix sortint també pels altaveus (amb totes les distribucions). Tampoc he buscat solucions encara.
Escoltant música de Last.fm amb Vagalume a través del Openmoko

Escoltant música de Last.fm amb Vagalume a través del Openmoko

Misatgeria instantània al Openmoko amb pidgin

Misatgeria instantània al Openmoko amb pidgin

Per accedir a Internet hi ha 3 maneres:

  • Wifi
  • GPRS?
  • Connectat via usb a l’ordinador:

Per a què Internet funcioni a l’Openmoko, utilitzarem de l’ordinador de pont. La subnet entre l’openmoko i l’ordinador ha de ser diferent a la subnet utilitzada per la connexió amb el router. En el meu cas la connexió normal és 192.168.0.XXX i la utilitzada entre l’openmoko i l’ordinador és 192.168.2.XXX. En el meu cas, l’ordinador tindrà la IP 192.168.2.200 i l’openmoko 192.168.2.202.

El primer de tot és modificar (amb la terminal a l’openmoko utilitzant nano per exemple) l’arxiu /etc/network/interfaces per tal que compleixi els paràmetres descrits adalt:

# Ethernet/RNDIS gadget (g_ether)
# … or on host side, usbnet and random hwaddr
auto usb0
iface usb0 inet static
address 192.168.2.202
netmask 255.255.255.0
network 192.168.2.0
gateway 192.168.2.200

Un cop fet això, posem la IP a l’ordinador i toquem certs paràmetres per a que l’ordinador faci de passarel·la  (aquest pas no l’entenc gaire :P )

sudo ifconfig usb0 192.168.2.200

sudo iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.2.192/26
sudo sysctl -w  net.ipv4.ip_forward=1

I ja disposem d’Internet a l’openmoko, i podem entrar-hi via ssh :D

$ ssh root@192.168.2.202

Idea i aparença

La tesis de Plató es basa en la diferència entre el món de les coses (allò que percebem a través dels sentits) i el món de les idees (allò no percebut, real).


Plató ens mostra el món de les coses com a manifestació de la realitat, del món de les idees. En aquest món que reconeixem a través de la sensibilitat, dels nostres sentits, Plató diu que es fa present la realitat, es manifesta, s’exemplifica.


L’altre món, el de les idees, és el conjunt de valors absoluts que es manifesten en el món que nosaltres percebem. A diferència del món de les coses, Plató ens diu que aquest món només pot ser percebut mitjançant el logos, el raonament, la reflexió, ja que mitjançant els sentits només percebem la seva manifestació, el món de les coses. Els sentits no permeten sentir el món de les idees, la realitat, per dos motius:


1- Essent pertinent la distinció entre món de les idees (realitat) i el món de les coses -que serà justificada més endavant- podem assegurar que els sentits són els que capten allò que se’ns manifesta d’una o altra manera (vista, tacte, etc.). Podem comprovar, com és obvi, que tot allò que percebem varia amb el temps. Allò que varia amb el temps diem que no és absolut, ja que deixa de ser el que és amb el pas del temps.


Així doncs, la manifestació de quelcom real no és absolut, i al mateix temps, quelcom real es defineix com a quelcom absolut. Aquest raonament exposat ve a dir el següent: “La Manifestació de quelcom no és quelcom”, ja que, apart dels raonaments abans exposats referents al temps, si fossin el mateix no hi hauria necessitat de diferenciar entre un i l’altre. Un cop arribats a aquest punt, podem afirmar que allò real sempre és manté a certa distància de les seves manifestacions, i què és manté ocult i invariable en totes elles.


Veiem aquí doncs, una contradicció si diem que els sentits ens permeten captar la manifestació d’allò real. Allò que capta la manifestació del real no capta, al mateix temps, allò real, perquè allò real no és la seva manifestació.


2- La sensació de realitat aparent obtinguda mitjançant els sentits no és suficient ja que, recolzant-nos en el punt anterior, aquesta no és la realitat última. La sensibilitat doncs, no és suficient per a poder percebre el caràcter absolut de les coses, no podem percebre la realitat mitjançant els sentits. És només mitjançant el logos, el llenguatge, que l’home pot reflexionar sobre el caràcter real, que està més enllà i que resta invariable, absolut, davant del pas del temps. Podríem dir, que la raó és el que permet a l’home preguntar-se si allò que reben els nostres sentits és real o és una al·lucinació.


Per a poder afirmar tot l’anteriorment escrit, és necessària la justificació d’aquesta distinció que fa Plató entre el món de les idees i el món de les coses, entre la realitat i l’aparença. Ens preguntem, doncs, perquè és pertinent dir que existeix una diferència entre allò que percebem mitjançant el logos i allò que percebem mitjançant els sentits.


La resposta recau en el caràcter simbòlic del llenguatge; és el propi logos el que requereix aquesta diferència. Diem que la diferenciació entre la realitat i l’aparença, entre allò constatable i allò que no ho és, és una característica intrínseca al llenguatge. És important entendre també que és característic de quelcom simbòlic el no referir-se a res en concret, i per tant a cap manifestació, a allò real.


El parlar és dir quelcom d’alguna cosa. En fer això, el llenguatge requereix d’aquesta diferenciació entre allò sensible i allò que no hi és, allò que no es manifesta, allò real. Per una banda ens referim a l’acció tangible o la característica del subjecte, que és comprovable mitjançant la sensibilitat. Per altra ens topem amb la reflexió sobre allò que s’ha dit.


És precisament en aquesta reflexió, requerida pel llenguatge per dir quelcom d’alguna cosa, on recau la necessitat de la diferenciació entre la realitat (allò que no hi és) i el món de les coses, ja que el llenguatge, en tant que simbòlic, remet a quelcom que no hi és, en aquest cas la resposta final d’allò a que ens referim i que, tot i així, el llenguatge ha de donar per suposat. Ens referim al fet de preguntar-se pel propi contingut del missatge. Sempre podem preguntar-nos per allò a que ens referim, i mai trobarem una resposta aclaridora sobre el que realment estem dient.


En conclusió: Si no podem trobar una resposta, és perquè aquesta no pot ser captada pels sentits, no hi és. És pertinent llavors, l’existència de quelcom que no podem captar mitjançant els sentits en tant que animals simbòlics i amb llenguatge que som.

Amsn amb videoconferència

Em va portar una mica de temps però finalment ho he aconseguit. Puc enviar so i vídeo via Amsn.

Per a poder fer tot això, l’amsn necessita unes quantes dependències que encara no es troben als repositoris d’ubuntu, així que deixo aquí una explicació de com aconseguir fer-ho funcionar tot amb Ubuntu Intrèpid. Podeu trobar gran part de la informació aquí, tot i que he tingut que fer alguns petits canvis.

  • Instal·lem dependències:

$ sudo aptitude update && sudo aptitude install libgstfarsight0.10-dev libgstreamer-plugins-base0.10-dev gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-farsight gstreamer0.10-tools gstreamer0.10-alsa libjpeg62-dev libv4l-dev libsnack2  tk8.5-dev tcl-tls gtk-doc-tools libcurl4-openssl-dev build-essentials subversion git-core

  • Instal·lem les llibreries farsight2 i libnice, que s’encarregaran junt amb gstreamer d’enviar els streamings de veu i so…
    • libnice: Baixem les fonts de la llibreria git i compilem. És important afegir la ruta d’instal·lació com a –prefix=/usr, ja que sinó en temps d’execució l’amsn no podrà trobar les llibreries i no funcionarà l’streaming.)

$ git clone git://git.collabora.co.uk/git/user/kakaroto/nice.git libnice
$ cd libnice
$ git checkout origin/nice-kakaroto

$ ./autogen.sh –prefix=/usr
$ make
$ sudo make install

Si no podem compilar libnice degut a un error al moment d’instal·lar, compilem sense el parametre “–prefix=/usr” i després copiem manualment les llibreries al directori on l’amsn les busca:

$  sudo cp /usr/local/lib/gstreamer-0.10/* /usr/local/lib/gstreamer-0.10

    • farsight2: Igual que amb les libnice… baixem del git, compilem i instal·lem.

$ git clone git://git.collabora.co.uk/git/user/kakaroto/farsight2.git  farsight2
$ cd farsight2
$ git checkout origin/nice

$ ./autogen.sh –prefix=/usr –disable-python –disable-gtk-doc
$ make
$ sudo make install

$ sudo ldconfig

Un cop instal·lades les llibreries, descarreguem l’última versió de l’amsn de la branca trunk del repositori subversion:

$ svn co https://amsn.svn.sourceforge.net/svnroot/amsn/trunk amsn-trunk

Compil·lem i instal·lem:

$ cd amsn-trunk/amsn
$ ./configure
$ make
$ sudo make install

En acabar ja hauríem de tenir ela icona del Amsn dins d’Aplicacions->Internet.

Si en iniciar l’amsn només apareix un missatge d’error queixant-se que falta un mòdul o quelcom similar, fem el següent:

$ update-alternatives –config wish

Hi ha 2 alternatives que proveeixin «wish».

Selecció     Alternativa
———————————————–
1    /usr/bin/wish8.5
*+        2    /usr/bin/wish8.4

Seleccionem el número 1 per tal d’utilitzar wish 8.5 per a interpretar el codi d’amsn.

Un cop dins d’Amsn, podeu configurar la càmera web i el micròfon prement CTRL+N a la finestra principal, o bé dins el quadre de preferències.

Si no funciona, repasseu possibles errors dins els pasos realitzats. Podeu trobar informació útil al final d’aquest post.

Treball de Recerca: El projecte GNU

El pròxim dilluns dia 29 de setembre entrego el treball de recerca!

En aquest treball intento explicar el món del programari lliure actual així com els seus conceptes i la seva historia.

Dins la part del treball de camp explico el desenvolupament de l’intertrivial com a exemple de la metodologia utilitzada per projectes de free sfotware.

Adjunto el treball en format pdf i odt:

El projecte GNU (odt)

El projecte GNU (pdf)

I la presentació:

Presentació (odp)

Presentació (pdf)

Actualitzant el servidor

Porto uns dies migrant tot el contingut del servidor casolà (que no és poc, és increible la de coses que fem amb el servidor xD) cap a un ordinador amb millor hardware. He aprofitat per passar de l’ubuntu dapper a la nova LTS Hardy.

De moment crec que he aconseguit fer funcionar-ho tot i he aconseguit canviar el servidor de correu privatiu axigen per un de lliure amb postfix + sasl + procmail + courier ^^

Tot sembla funcionar perfectament, només queda configurar el correu de sortida del mail server.

Aquí deixo una imatge de l’antic servidor, que serà relegat a altres usos d’ara en endavant:

Intertrivial 0.1 pre-alpha

He començat amb el client, això ja va prenent forma…

El servidor en principi ja té totes les propietats per a la versió 0.1, però haig de depurar el codi que encara peta a alguns llocs.

Per la versió 0.1 bàsicament s’espera que estigui operativa tota la part de xat del servidor i llista d’usuaris. El joc en sí el deixo per a futures versions, tot i que espero que sigui fàcil aplicar-ho, ja que només serà expandir una mica el protocol.

El client tot just l’he començat i està molt verd. Accepta enviar comandes a principi i final de línia (o entre mig però es menja tot el que va després). Funciona bé el tema de missatges públics entre clients i els missatges privats i públics del servidor. Queda aplicar els privats entre usuaris (tot i que via comanda es poden enviar però no rebre).

Com sempre dic, una imatge val més que mil paraules:

Es busca persona avorrida per a dissenyar una petita pàgina web per al projecte, que estarà hospejada al subdomini de sourceforge http://intertrivial.sourceforge.net

El que hi ha ara a la pàgina és una mini prova d’ajax que vaig intentar per al client via web. S’espera per a més endavant portar el client i el servidor a windows i també fer un client web amb ajax.

El projecte a sourceforge el podeu trobar a https://www.sourceforge.net/projects/intertrivial

Si algú s’anima a provar-lo, les dependencies són build-essentials, libgtk2.0-dev, libgnet2.0-dev

De campaments amb el CIM

Me’n vaig 15-17 dies (no ho sé del cert xD) de campaments amb la gent del CIM i estaré allunyat de tot allò pròxim a l’ordinador, el mòbil i Internet durant aquest temps. Bon estiu a tothom!

Recordatori d’última hora: No tinc temps d’arreglar ara el codi de l’intertrivial, però gràcies a en RainCT he trobat un bug. Sembla ser que es produeix un assert() quan un usuari es connecta i sense fer un /setnick’username fa un /close per sortir. L’error suposo que està en el fet que no hi ha una string username creada a l’estructura de l’usuari i al fer el free() petaria.

Deixo aquí el log del server referent a l’error:

Adding user to the userlist…
User added to the userlist with id 1.
readed “/help” from  user[1]
Unknown command “/help”.
readed “/close” from  user[1]
Server message “/srvprv’Bye Bye World” delivered to user[1].
Sending server message to all players: ‘Player left…’
Public Server Message sent to user id 0.

** ERROR **: file src/server.c: line 145 (userlist_remove_user): assertion failed: (user_to_kill->username)
aborting…
Aborted

HP scanjet 2400

Fa dos dies vaig trobar a una botiga d’articles de segona mà de tot tipus un escànner hp scanjet 2400 per 5,95€. El millor de tot és que de poc no l’aconsegueixo gratuitament perquè no trobaven el transformador de l’aparell a la botiga. Doncs bé, finalment van trobar la caixa amb cables+cds+instruccions, i va resultar que no estava ni estrenat (encara estaven els cables sellats en les respectives bosses).

Doncs bé, resulta que l’ubuntu porta controladors per escànners HP però per a aquest model no, així que el sane no me’l detectava. Tot i això buscant per la xarxa he trobat una pàgina d’on pots descarregar-te els drivers d’aquest model per a Linux.

He instal·lat el driver (copiar llibreries a /usr/lib i /usr/lib/sane i afegir el model a /etc/sane.d/dll.conf) i l’aparell funciona de meravella amb el xsane.

Instal·lar el controaldor és molt fàcil, però les instruccions que venen amb el controlador són molt lioses i sembla que sigui tot molt complicat. Com he dit, és simplement copiar arxius i afegir una linia amb “hp2400″ a un arxiu.

He creat un petit script bash que fa això mateix, per estalviar maldecaps:

install_hp_scanjet_2400