Archive for the ‘Aplicacions’ Category

Programant robots

Wednesday, August 29th, 2007

Anatomy of a Robocode robot

Fa temps que vaig descobrir l’AT-Robots, un joc d’MS-DOS que consistia en programar un robot de batalla (que no deixava de ser un tanc amb un canó i un radar), i enfrontar-lo amb d’altres robots dins un simulador de batalles (un joc per a frikis al cap i a la fi).

La idea de programar robots i enfrontar-los en tornejos la trobo molt divertida, així que m’he posat a buscar algun d’aquests simuladors per tal de jugar-hi una mica. N’he trobat dos amb molt bona pinta, amb més bons gràfics que no pas l’AT-Robots (que ja fa temps que ha quedat obsolet) i més avançats, fins al punt de poder crear equips de robots que col·laboren entre sí per guanyar la batalla:

Robot Battle
- Plataforma: MS Windows.
- Llenguatge en que es programen els robots: RSL.
  (o Robot Scripting Language, una barreja de Basic, C i JavaScript)
- Darrera actualització del programa: 21 de novembre de 2004.

Robocode
- Plataforma: MS Windows, Mac OS X, GNU/Linux, etc. (és Java).
- Llenguatge en que es programen els robots: Java.
- Darrera actualització del programa: 26 d’agost de 2007.

D’entre els dos simuladors el que trobo més interessant és el Robocode. Va ser desenvolupat inicialment per un programador d’IBM per demostrar que amb Java es podien fer jocs. Actualment és un projecte open source i gaudeix de molt bona activitat (la darrera actualització va ser fa tres dies!). A més, el seu funcionament és independent del sistema operatiu pel que es pot executar en (gairebé) qualsevol plataforma.

Robocode 1 Robocode 2 Robocode 3

L’única pega que hi trobo és que el llenguatge que s’utilitza per programar els robots és el Java (que no és que m’agradi massa que diguem). Trobaria més interessant si l’aplicació utilitzés C, C++ o llenguatge ensamblador (o python) per programar els robots. No obstant, seria qüestió de llegir el manual i les guies de programació que hi ha per la xarxa, i fer un parell de robots de prova per poder començar a jugar amb el simulador. I així de pas aprendria Java in a funny way.

I vet aquí la pregunta: algú s’anima a programar un (o més d’un) robot amb el Robocode i quedar un dia per fer un torneig? Que si, que és Java i al principi serà una rotllo, però segur que tampoc és tant complicat i estarem aprenent un llenguatge amb moltes expectatives de futur (ejem, sense comentaris…).

Sinó, si algú té ganes de buscar i troba un altre simulador de característiques similars i multiplataforma, que ho digui! Totes les propostes per fer aquests tipus de tornejos seran benvingudes :D

Deixo els enllaços que he trobat d’IBM per si algú es vol acabar de decidir:

R4 Revolution for DS

Wednesday, May 23rd, 2007

R4 Revolution for DS

La setmana passada em va arribar (per fi) l’R4 Revolution. Un cartutx (no em sona malament ni res la paraula “cartucho” en català) per a la Nintendo DS, que combinat amb una tarja microSD permet executar backups de jocs i aplicacions hombrew sense necessitat de modificar la consola o canviar el firmware.

L’he comprat a través DiscoAzul.com, una empresa online que es dedica a la venta i a la distribució de productes relacionats amb el món dels videojocs. D’aquesta manera, i després d’haver llegit aquest review i passejat per uns quants fòrums vaig decidir compra-ls’hi aquest flashcart d’entre tots els que venen.

Encara que costi de creure no l’he comprat per poder executar backups de jocs de la Nintendo DS (de veritat que no), sinó que més aviat l’he comprat per poder executar homebrew. Sembla mentida però s’està programant un bon grapat d’aplicacions molt interessants i que proporcionen a aquesta consola portàtil noves funcionalitats:

  • OKIWI: Un navegador d’Internet lliure. Per navegar per Internet aprofitant que la consola disposa de Wi-Fi i d’una pantalla tàctil. Encara en fase alpha tot i que s’espera alliberar una versió funcional en breu.
  • Scumm VM DS: Un port de l’Scumm per poder jugar a jocs com el Monkey Island o el Day of the Tentacle amb la nostra portàtil. Només per aquest programa ja val la pena haver comprat el cartutx :D
  • DSiP: Una aplicació de veu per IP i que amb prou feines s’està començant a desenvolupar. Tant de bo arribi el dia en que es puguin fer trucades des de la DS fent servir un compte SIP.
  • DSLinux: Un port del sistema operatiu GNU/Linux per a la petita de Nintendo i tot el que això implica: sistema de fitxers, editor de fitxers, ssh cap a un altre ordinador via Wi-Fi, enviar i rebre e-mails, reproduir música…

A més, tinc ganes de programar alguna cosa per a la DS i aquest flashcart permet carregar el homebriew de forma senzilla. Prometo escriure algun post al respecte si és que algun dia m’animo a programar quelcom.

WordPress 2.1

Monday, January 29th, 2007

La gent de WordPress no para! Fa només quinze dies que van treure un paquet amb actualitzacions de seguretat per a la versió 2.0 de la seva eina de blogging, i ara resulta que en menys d’una setmana alliberen la versió 2.1 amb més correccions de seguretat i noves funcionalitats.

Avui he actualitzat el blog a aquesta darrera versió (que es diu “Ella”) i no he tingut massa temps per xafardejar les novetats que porta. No obstant, destacaré les que he pogut observar:

  • Funció d’autosave mentre s’escriuen els posts.
  • Ja no ve el plugin que permetia fer còpies de seguretat de la base de dades (i jo que pensava que aquest plugin era força útil… igual no funciona bé per aquesta nova versió).
  • Hi ha una administració per gestionar els uploads.
  • El desglossament de les categories es gestiona de forma diferent (abans, tot i tenir creades les categories de “Programació” i “Sistemes Operatius” aquestes no apareixien).

He de reconèixer que l’administració dels uploads m’ha decebut una mica. M’esperava quelcom més semblant a un administrador d’arxius (poder moure els uploads d’una carpeta a una altra, fer còpies d’arxius, etc.), però bé, tampoc considero això una part molt important.

La veritat es que trobo aquesta eina al·lucinant, per no dir que per a mi, és la millor aplicació web que hi ha fins al moment. Mantenir el blog és superfàcil, aplicar les correccions de seguretat també és molt senzill, hi ha una gran comunitat al darrera, molts plugins, temes per a personalitzar-lo… chapeau!

Akismet

Thursday, November 9th, 2006

Plugin Akismet

Al cap d’un temps d’emprendre la idea del blog vaig començar a tenir comentaris no desitjats, és a dir, spam.

No sé per què però fins al moment no m’havia parat a pensar en que els blogs poguessin arribar a tenir aquests tipus de problemes. Però de fet, és igual de senzill muntar una màquina per a que enviï e-mails a dojo, que muntar’n-en una altra per a que intenti afegir comentaris en les entrades dels blogs.

Per sort amb WordPress (l’eina de blogging que utilitzem els TECOBs) existeix l’Akismet, un plugin que ja ve instal·lat i que l’únic que s’ha de fer per activar-lo és crear un compte a WordPress.

Una vegada s’instal·la, els missatges que són sospitosos de ser no desitjats van a parar a una cua de moderació diferent a la dels comentaris, i si en quinze dies no s’han esborrat o marcat com a no spam, s’esborren de forma automàtica. A més, no s’envia cap e-mail alertant de que ha arribat un nou comentari.

Ja fa quatre mesos que vaig activar aquest plugin i de moment m’ha capturat 344 missatges d’spam (la majoria dels quals van a parar als posts de l’ibook i de Lordi), amb tant sols un fals positiu (qui va enviar el comentari va afegir molts enllaços i el sistema el va marcar com a spam). Sens dubte un must-have per als usuaris de WordPress.

Els diccionaris de l’OpenOffice

Thursday, June 8th, 2006

Ahir vaig tenir problemes quan intentava instal·lar els diccionaris de l’OpenOffice per a Mac OS X. Amb GNU/Linux i en particular amb Ubuntu és pot fer de forma fàcil des dels repositoris (apt-get, aptitude, Synaptic, …), però en Mac OS X (i Windows) aquesta operació és pot fer utilitzant una macro anomenada DicOOo.sxw. N’hi ha prou amb descarregar la macro, obrir-la des de l’OpenOffice i seguir els passos que et va demanant.

No obstant, a mi no em va funcionar. Sí que semblava que es baixaven els diccionaris i s’instal·laven, però una vegada reinicaiva l’OpenOffice aquests no estaven instal·lats (algun problema de permisos? no ho sé). Així que després de tres intents fallits vaig decidir instal·lar-los a “manija”.

Abans però vaig desinstal·lar tots dels diccionaris que venen per defecte (com és que per defecte ve instal·lat el swahili?):

ibook:~ sergi$ cd /Applications/OpenOffice.org 2.0.app/Contents/
ibook:~ sergi$ cd openoffice.org2.0/share/dict/ooo/
ibook:~ sergi$ mkdir dic_bkp
ibook:~ sergi$ mv *.dic dic_bkp/
ibook:~ sergi$ mv *.aff dic_bkp/
ibook:~ sergi$ mv *.txt dic_bkp/
ibook:~ sergi$ mv th* dic_bkp/

Seguidament vaig anar aquí per descarregar els diccionaris que necessitava (català, castellà, anglès i francès), i vaig descomprimir els fitxers .zip per copiar el contingut en el directori corresponent.

Per acabar vaig modificar el fitxer dictionary.lst per treure els diccionaris que havia mogut de lloc i carregar els que acabava de baixar:

# List of All Dictionaries to be Loaded by OpenOffice

DICT ca CA ES ca_ES
DICT es ES es_ES
DICT fr FR fr_FR
DICT en GB en_GB

Introducció al WordPress (3 de 3)

Wednesday, March 15th, 2006

En aquest tercer i últim tutorial descriurem els diferents passos per indexar el nostre blog a Technorati. Això en servirà per catalogar el nostre blog dins el motor de Technorati, que no deixa de ser un motor de cerca (com Google) especialitzat en blogs. D’aquesta manera es podran fer cerques dins de qualsevol post que haguem escrit.

Començarem per marcar el nostre blog amb un tros de codi (un script) per dir-li al motor de Technorati que nosaltres en som els propietaris. I després configurarem el WordPress per a que avisi dit motor cada vegada que s’escrigui un nou post.

3.1 Marcant el blog

Anirem a la pàgina de Technorati i ens donarem d’alta al sistema des de l’enllaç de Sign Up. Una vegada registrats i autenticats farem clic a l’entrada Blogs del menú, proporcionarem l’adreça completa del nostre blog (en el meu cas http://www.sergisogas.com/), la posarem en el camp URL i farem clic en el botó Begin Claim.

Aquí se’ns demanarà demostrar que som els autèntics propietaris de blog. Per fer-ho farem clic sobre l’enllaç Skip this Step i seguirem les instruccions que ens indicaran en la pàgina següent:

- Anirem a la carpeta wp-content/themes/default i obrirem el fitxer sidebar.php amb un editor de textos.

- Buscarem el text …Author information is disabled… en el fitxer i copiarem el tros de codi indicat en el pas 4 de la pàgina de Technorati (Step 4) just abans d’aquest paràgraf.

- I farem clic en el botó Claim Blog Now.

Si tot ha anat bé ens sortirà un missatge de Congratulations!.

3.2 Configurant el WordPress

Per últim entrarem a l’apartat administratiu del blog i anirem a les opcions de l’administració des de l’entrada Opcions del menú (segona començant per la dreta) per modificar l’entrada Escriptura del submenú. Buscarem l’apartat on diu Serveis d’actualització i afegirem l’entrada http://rpc.technorati.com/rpc/ping pel motor de Technorati. D’aquesta manera, cada vegada que publiquem un post, el motor rebrà una notificació i vindrà a indexar-nos de nou.

I amb això acabem els tutorials d’introducció al WordPress. Espero que hagin estat d’utilitat (i sinó mala sort). Happy blogging!

Actualització 17-03-2006: Per entendre millor el funcionament de Technorati i la seva (gran) utilitat, podeu fer un cop d’ull al següents posts del Kirai:

- Technorati - Capítulo 1
- Technorati - Capítulo 2

Introducció al WordPress (2 de 3)

Tuesday, March 14th, 2006

En aquest segon tutorial modificarem algunes opcions de configuració del WordPress, així com les d’algun plugin que ve instal·lat per defecte, i farem també una petita introducció a les funcions bàsiques del blog.

No m’endinsaré massa a detallar totes les opcions de configuració, sinó que més aviat mencionaré les que jo he modificat i que penso que ajuden a gestionar millor el blog. A part, crec que tal i com ve instal·lat per defecte està molt ben configurat. De la mateixa manera tampoc detallaré totes les funcions del blog, sinó que esmentaré les justes per començar a postejar.

A més, la interfície del WordPress és molt intuïtiva i està molt ben pensada, pel que considero més oportú fer una petita introducció, i que a partir d’aquesta cadascú vagi investigant i descobrint pel seu compte.

2.1 Configuració

Entrarem a l’apartat administratiu del blog des de l’enllaç de log in i amb l’usuari i password que ens va generar la instal·lació. Una vegada fet això entrarem a les opcions de l’administració des de l’entrada Opcions del menú (segona començant per la dreta) i modificarem les següents entrades del submenú:

- Enllaços permanents:

Seleccionarem l’opció Personalitzada i en el camp Estructura personalitzada posarem: /%year%/%monthnum%/%postname%/. D’aquesta manera els enllaços dels posts seran de l’estil any/mes/títol-del-post. Bastant més clar que les altres Opcions habituals.

- Miscel·lània:

Ens assegurarem que en el camp Uploads folder hi ha el valor wp-content/uploads, i que la casella Organitza els meus fitxers en carpetes per mes i any està seleccionada. D’aquesta manera, els fitxers enllaçats als posts (imatges, fitxers adjunts, etc.) es guardaran d’una manera ordenada dins la carpeta wp-content. Molt útil al moment de localitzar fitxers adjunts, eliminar-los, fer backups del blog, etc.

NOTA: És important fer clic sobre el botó Actualitzar opcions després de cada modificació, ja que del contrari no es guardaran els canvis.

2.2 Plugins

Un dels avantatges del WordPress és la gran quantitat de plugins que hi ha i la seva facilitat per instal·lar-los. No obstant, en aquest tutorial només parlarem del plugin WordPress Database Backup que ve per defecte amb la instal·lació, i que ens servirà per fer backups de tota la base de dades (estructura més continguts).

Per utilitzar-lo anirem a l’entrada Plugins del menú de l’administració (quarta començant per la dreta) i farem clic en l’acció Activar del plugin de backup. A partir d’ara només haurem d’anar a l’entrada Gestionar del menú, fer clic en el submenú Còpia de seguretat i escollir segons si volem guardar el backup al servidor, descarregar-lo o enviar-lo per correu electrònic.

2.3 Primeres passes

Des de l’entrada Escriure del menú de l’administració (segona començant per l’esquerra) podrem escriure entrades (posts) i pàgines.

Una entrada (post) estarà associada a una data en concret i a una o més categories. Serà publicada a la portada del blog en ordre cronològic i a més, permetrà comentaris.

En canvi una pàgina no es promocionarà a la portada, no tindrà una data associada (ni categories) i tampoc permetrà comentaris. Bàsicament serà una pàgina “estàtica” per guardar-hi contingut que no s’hagi de modificar sovint, i que serà visible pels visitants del blog des de l’apartat Pages de la part pública.

Finalment en l’entrada Gestionar del menú de l’administració (tercera començant per l’esquerra) podrem administrar (veure, editar, eliminar, fer cerques, …) el contingut del blog: els posts, les pàgines, les categories amb que voldrem relacionar els posts i els comentaris.

Introducció al WordPress (1 de 3)

Monday, March 13th, 2006

Ja fa gairebé dos mesos que estic en la blogosfera, pel que també fa gairebé dos mesos que soc usuari de WordPress.

El cas és que aquesta eina de blogging m’està agradant molt (de totes les que he provat, que són poques, aquesta és la que més m’agrada) i m’he engrescat a escriure uns tutorials, per a que els bloggers que no la utilitzeu us animeu a fer-ho.

Per què? doncs per que és una eina de blogging que segueix els estàndards de la W3C, per que és fàcil de fer servir i és molt intuïtiva, per que té molts plugins i temes, per que és gratuïta i per que és software lliure i tenim el codi font per fer-hi modificacions!

Començarem doncs amb el primer tutorial on instal·larem el WordPress i afegirem la traducció del català al programari.

1.1 Instal·lació

Ens assegurarem que el servidor on anirà allotjat el WordPress compleix els següents requisits:

- PHP 4.2 o superior
- MySQL 3.23.23 o superior

i anirem al següent enllaç per descarregar la darrera versió del programa (divendres passat es va alliberar la versió 2.0.2). És important tenir el WordPress al dia i estar pendent de les actualitzacions ja que sovint s’arreglen errors i es corregeixen problemes de seguretat.

D’altra banda, caldrà demanar a l’administrador del servidor que ens creï una base de dades al MySQL i que ens passi les dades per a que el WordPress hi pugui connectar (nom de la base de dades i usuari i mot clau per fer la connexió a la base de dades), i pugui també emmagatzemar tota la informació del blog (posts, comentaris, enllaços, categories, configuracions, etc.)

Una vegada fet això, descomprimirem l’arxiu descarregat i copiarem tots els fitxers i directoris a l’espai que tenim en el servidor, sense alterar la estructura de carpetes que ens ha deixat el fitxer descomprimit. Després farem una còpia del fitxer wp-config-sample.php i la renombrarem amb el nom de wp-config.php ja que és en aquest fitxer on el WordPress anirà a buscar la informació per connectar amb la base de dades. Editarem aquest fitxer i afegirem les dades de connexió a la base de dades de forma que ens quedi un fitxer com aquest:

// ** MySQL settings ** //
define(’DB_NAME’, ‘nomBD’); // The name of the database
define(’DB_USER’, ‘usuariBD‘); // Your MySQL username
define(’DB_PASSWORD’, ‘passwordBD‘); // …and password
define(’DB_HOST’, ‘localhost’); // 99% chance you won’t need to change this value

// You can have multiple installations in one database if you give each a unique prefix
$table_prefix = ‘wp_’; // Only numbers, letters, and underscores please!

// Change this to localize WordPress. A corresponding MO file for the
// chosen language must be installed to wp-includes/languages.
// For example, install de.mo to wp-includes/languages and set WPLANG to ‘de’
// to enable German language support.
define (’WPLANG’, ”);

/* That’s all, stop editing! Happy blogging. */

define(’ABSPATH’, dirname(__FILE__).’/');
require_once(ABSPATH.’wp-settings.php’);

Seguidament anirem a l’enllaç del blog des del navegador (la URL), i si tot ha anat bé ens demanarà d’executar l’script install.php. L’executem i així es generarà l’estructura de la base de dades i es completarà la instal·lació amb la informació del blog que haurem entrat (títol del blog i correu electrònic).

Una vegada acabada la instal·lació, ja podrem entrar a l’administració del blog des de l’enllaç de log in i amb l’usuari i password generats.

1.2 Traducció del català

Per acabar afegirem la traducció del català que, tot i no ser del tot completa, ens serà de gran ajuda per moure’ns dins l’apartat administratiu.

Per instal·lar la traducció seguirem aquest enllaç per descarregar el fitxer .zip amb la versió compilada de la traducció. Aquest fitxer és per a la versió 2.0.1 del WordPress, però també funciona amb la versió 2.0.2.

Ens connectarem al servidor i crearem la carpeta languages dins la carpeta wp-includes. Després descomprimirem el fitxer descarregat i copiarem el fitxer ca_ES.mo dins la carpeta languages.

Finalment tornarem a editar el fitxer wp-config.php i modificarem la variable WPLANG per dir-li que agafi la traducció del català:

// ** MySQL settings ** //
define(’DB_NAME’, ‘nomBD’); // The name of the database
define(’DB_USER’, ‘usuariBD’); // Your MySQL username
define(’DB_PASSWORD’, ‘passwordBD’); // …and password
define(’DB_HOST’, ‘localhost’); // 99% chance you won’t need to change this value

// You can have multiple installations in one database if you give each a unique prefix
$table_prefix = ‘wp_’; // Only numbers, letters, and underscores please!

// Change this to localize WordPress. A corresponding MO file for the
// chosen language must be installed to wp-includes/languages.
// For example, install de.mo to wp-includes/languages and set WPLANG to ‘de’
// to enable German language support.
define (’WPLANG’, ‘ca_ES‘);

/* That’s all, stop editing! Happy blogging. */

define(’ABSPATH’, dirname(__FILE__).’/');
require_once(ABSPATH.’wp-settings.php’);

WengoPhone

Wednesday, March 1st, 2006

El WengoPhone és una aplicació de Veu per IP semblant a l’Skype, i que es diferencia d’aquest en ser software lliure.

El vaig descobrir a mitjans de setembre de l’any passat i des d’ençà que l’he anat seguint. Van començar molt fort amb clients per a Windows i Linux, i amb la promesa de treure un client per a Mac OS X aviat, i com “anaven de software lliure”, donaven la impressió de que el programa evolucionaria força ràpid.

El cas és que el client de Mac OS X no apareixia (a hores d’ara encara es pot veure el “Check back later” en la seva pàgina de descàrregues), pel que em vaig engrescar a provar el client de Linux. Aquest no acabava d’anar bé, es penjava i a sobre s’escoltava fatal (talls, retards, ecos). Això, juntament amb el fet de que segueixen una política semblant a la d’Skype de “si no esgotes el teu crèdit en un mínim de dies el perds”, van fer que decidís deixar d’utilitzar-lo.

Finalment van treure un client per a Mac OS X farà unes dues setmanes i com una extensió per al Firefox 1.5. L’acabo de provar i el resultat ha estat excel·lent!

WengoPhone1 WengoPhone2

He estat parlant durant 10 minuts amb un mòbil espanyol (trucada internacional) i no he tingut ni un problema. Pensava que el Firfox es quedaria penjat i no ho ha fet, i pensava també que es sentiria malament quan en realitat ha estat tot el contrari: ni talls, ni retards, ni ecos. Una comunicació impecable tant per part meva com per la persona amb la que estava parlant. Encara ara em costa de creure.

Hauré d’esbrinar ara si el cost de trucada internacional em surt més a compte amb el WengoPhone, que no pas trucant des d’un número andorrà.

Actualització 02-03-2006: Ja he comprovat les tarifes. Una trucada de mòbil andorrà a mòbil espanyol surt a 0,29 €/min (tarifa reduïda, la tarifa normal surt a 0,41 €/min), mentre que amb WengoPhone surt a 0,18 €/min (d’ordinador a mòbil). Em sembla que procuraré trucar amb el WengoPhone a partir d’ara.

Google Earth

Tuesday, February 28th, 2006

Ja fa uns dies que estic xafardejant el Google Earth i cada vegada m’agrada més. No paro de trobar coses noves i el nivell de detall que mostra algunes fotografies és al·lucinant.

La interfície està molt bé, és molt intuïtiva, i un un tres i no res ja tenia localitzats casa meva, la feina, cases d’amics, la universitat, botigues de còmics, … i ja havia “passejat” per Roma, Londres i Tokyo.

A més pot mostrar noms de carrers, de carreteres, edificis simbòlics, restaurants, … Segur que utilitzaré aquest programa la pròxima vegada que hagi de planejar un viatge.

Un bon complement de ViaMichelin.

Google Earth