Arxiu de Informàtica

Llançament d’Infobenissa per a Android

// agost 19th, 2011 // No hi ha comentaris » // Internet, Programació

 

Infobenissa per a Android

Infobenissa per a Android

La setmana passada vaig publicar la meva primera aplicació per a Android. Es tracta d’una aplicació per a Infobenissa des de la que accedir d’una manera més còmoda des del mòbil a la informació de Benissa.

Es tracta d’una aplicació, de moment, molt senzilla, ja que només permet accedir als titulars de les últimes notícies publicades, amb enllaços directes a cadascuna d’elles.

No obstant, la meva intenció és anar poc a poc afegint funcionalitats a l’aplicació, així com alliberar el codi font sota una llicència lliure. També he creat una pàgina que servirà per recollir tots els avanços en l’aplicació: Infobenissa per a Android.

Donar permisos a un usuari en MySQL

// juliol 22nd, 2011 // No hi ha comentaris » // Linux

MySQLÚltimament, per motius de feina, estic treballant prou amb bases de dades MySQL. I gràcies a la magnifica instal·lació elèctrica que tenim a la universitat, últimament se m’ha corromput diverses vegades la base de dades amb què estava treballant. A més, també he hagut de fer unes quantes instal·lacions de la BD amb usuaris nous en altres equips. I al crear el nou usuari, m’he trobat amb el següent problema:

Suposem que partim d’aquest codi

create database prova;
grant all on prova.* to 'usuari'@'%' identified by 'contrasenya';

La primera línia ens crea una base de dades, anomenada prova. Amb la segona, estem donant-li tots els permisos a l’usuari usuari es connecte des d’on es connecte (amb el comodí de MySQL, %), i que la seva contrasenya serà contrasenya. Fins ara sembla tot prou senzill i clar, no?

Doncs no funciona, i aquest és l’error que ens torna el MySQL quan intentem connectar-nos al MySQL des del terminal

mysql -u usuari -pcontrasenya
ERROR 1045 (28000): Access denied for user 'usuari'@'localhost' (using password: YES)

Per què ens dona aquest error? Perquè encara que li hem donat permisos a l’usuari usuari per a connectar-se a MySQL “des de qualsevol lloc”, açò inclou tots els llocs possibles excepte localhost. És a dir, des de qualsevol altra màquina del món ens podrem connectar a eixa base de dades, però no des de la mateixa on està instal·lat el servidor!

Per a solucionar-ho, només cal que afegim una tercera ordre al codi original, donant permís explícit per a connectar-se a la nostra base de dades des de localhost.

create database prova;
grant all on prova.* to 'usuari'@'%' identified by 'contrasenya';
grant all on prova.* to 'usuari'@'localhost' identified by 'contrasenya';

Potser a algú li vinga bé aquesta entrada, i segurament d’aci alguns mesos, quan haja de crear un nou usuari de MySQL i m’isca aquest error, no m’hauré de tirar hores pensant/buscant per internet la solució.

Transició entre dues imatges amb ImageMagick

// abril 2nd, 2011 // No hi ha comentaris » // Linux

Després de prou articles de política, llengua o altres coses de l’estil que acostume a escriure al blog, ara toca una entrada un poc més tècnica, d’eixes que pose ací simplement per a en un futur, quan intente tornar a fer una cosa semblant, no estar hores cercant-ho al Google.

Es tracta d’una simple ordre a l’eina convert, del paquet ImageMagick, i a partir de les dues imatges genera una transició, deixant un temps a l’inici i al final.

$ convert \( im1.png  -set delay 100 \) \( im1.png im2.png -morph 9 -set delay 30 \) \( im2.png -set delay 100 \)  tr.gif

I a continuació, un exemple per a mostrar-ho (en homenatge al documental “Del roig al blau: la transició valenciana“): la imatge roja, la transició entre les dues, i la imatge blava.

Tinc un mòbil amb Android

// gener 17th, 2011 // 3 comentaris » // Linux, Personal

l'Android de XaviCom que un dels propòsits d’enguany és no abandonar el blog, i intentar tornar-ho a fer amb la intensitat en què ho feia en anys anteriors, he de contar moltes coses que durant els últims mesos he anat deixant passar.

Començarem pel mòbil. Fa vora sis mesos, i després de diversos estira-i-arronses amb Movistar, vaig aconseguir un Samsung Galaxy S. Es tracta del mòbil insígnia de la companyia coreana, i pràcticament idèntic (això s’ha vist ara) al segon dels mòbils de Google, el Nexus S, que ha eixit al mercat mig any darrere del Galaxy S.

Les característiques del maquinari són espectaculars, sent més potent que pràcticament tots els ordinadors que he tingut fins ara! Però el principal motiu pel que volia un GalaxyS és pel programari que mou el bitxo: el sistema operatiu Android. Podríem definir Android ràpidament com un sistema operatiu per a mòbils basat en Linux i desenvolupat per Google, i que li planta cara a l’iOS de l’iPhone (Apple).

El mòbil era l’únic reducte en què continuava gastant el Windows. Després d’haver migrat a Linux fa més de 5 anys, el 2006 em vaig comprar una PDA amb Windows Mobile, un Qtex S200 (HTC Prophet), i vaig tornar a caure en l’Imperi del Maligne duent el SO de Redmond a tots els llocs dins la meva butxaca.

Tot i que sense talibanismes, intente utilitzar només programari lliure i, a poder ser, en la meua llengua. Tot i que l’Android (la versió distribuida per Google) encara no està en valencià (altres com la Cyanogen si que ho està, però no funciona bé encara per al Galaxy S), vull veure si comence a participar al nou projecte d’Android a Softcatalà, per a veure si entre tots fem força i Google inclou la llengua dins de les versions oficials del sistema operatiu.

Durant les vacances de nadal vaig actualitzar d’Eclair (Android 2.1) a Froyo (Android 2.2), i la veritat és que el canvi ha sigut a millor. El mòbil va molt més ràpid, la bateria dura més, es veu el Flash de les webs… en definitiva, quasi un mòbil nou :D

A partir d’ara, espereu de tant en tant alguna entrada sobre alguna aplicació interessant que m’haja instal·lat al mòbil, o frikades per l’estil.

Softvalencià

// març 23rd, 2010 // 6 comentaris » // Informàtica, Internet, Llengua, Personal

Softvalencià

Softvalencià

Avuí ha vist la llum Softvalencià. Per tal explicar de què es tracta d’una manera ràpida i senzilla, podríem dir que es tracta d’una campanya (acompanyada d’un lloc web) per potenciar l’ús de la llengua en l’àmbit de les noves tecnologies al País Valencià.

La iniciativa naix d’un grup de membres valencians de Softcatalà (entre els que destaquen, per la tasca que han fet, sense oblidar a tots els altres, Pau Iranzo i Robert Escolano) i la col·laboració d’Escola Valenciana, per tal de resoldre el greu dèficit que existeix en l’ús del valencià a l’ordinador: són molt pocs els ordinadors que, ací al País Valencià, estan configurats en valencià (com a exemple, no arriba a l’1,5% de visites a Infobenissa des d’un Windows+InternetExplorer amb el navegador configurat en valencià).

Tot i que el percentatge augmenta quan comencem a utilitzar programari lliure (32% en el cas de Windows-Firefox, o percentatges majors en el cas de Linux), cal una tasca important de promoció per arribar a nivells que, almenys, no facen vergonya. I aquesta tasca s’ha de fer, sense complexos, enfocada per als valencians.

Quan dic sense complexos vull dir sense renunciar als avantatges que tenim per tindre una llengua mitjanament potent (encara que minoritzada) amb 10 milions de parlants potencials, coneguda a la majoria dels llocs com a català, però sense renunciar tampoc a les particularitats que els valencians li aportem (entre elles, el nom que li solem donar a la criatura: valencià).

La pàgina web inclou diverses coses, entre les que es troben tutorials per tal d’ajudar-nos a configurar el nostre equip i un recull de programari en valencià (disponible també al Rebost de Softcatalà, com el navegador Firefox, el gestor de correu Thunderbird, els pedaços per al Windows i l’Office, etc).

Però personalment destacaria les eines lingüístiques que contempla: corrector i traductor (com els existents a Softcatalà) però amb suport per a les versions valencianes: doble accentuació i lèxic autòcton al corrector, i la generació de formes valencianes per al parell castellà valencià del traductor. Aquesta instal·lació del traductor servirà, a més, com a plataforma per a provar Apertium de cara a implantar-lo de manera definitiva a Softcatalà. Una vegada estabilitzat el sistema, vull veure si aprofite i el pose també a Infobenissa, per tal d’oferir un nou servei útil per a la gent del poble.

En definitiva, del que es tracta és d’augmentar l’ús de la nostra llengua en les noves tecnologies. Espere que tinguem èxit amb la iniciativa!

Els booleans…

// febrer 2nd, 2010 // No hi ha comentaris » // Cites, Miniposts, Programació

El que tenen bo els booleans és que, encara que t’equivoques, estàs a només un bit de la solució correcta.

Anònim

“Parameter substitution” en BASH…

// octubre 29th, 2009 // 3 comentaris » // Linux, Programació

Aquesta és una entrada molt específica de programació

No fa molt vaig descobrir la substitució de paràmetres en bash, i la veritat és que és una eina increïble que evita usos de sed, awk, o cut quan realment no fa falta.

A continuació reproduïsc una llista que he trobat a “BASH Cures Cancer“, un blog que pretén explicar les bondats del BASH per als Linuxers.

  1. Les variables es poden especificar de dues formes: $var o ${var}.
    $ var='a.ads,fssd2342%asd234#@.,&%,sdfgsdfgas4352'
    $ echo ${var}
    a.ads,fssd2342%asd234#@.,&%,sdfgsdfgas4352
  2. ${#var} és la llargària de la variable.
    $ echo ${#var}
    42
  3. ${var:pos} genera una subcadena començant en la posició pos.
    $ echo ${var:10}
    2342%asd234#@.,&%,sdfgsdfgas4352
  4. ${var:pos:len} genera una subcadena començant a en la posició pos d’una llargària len.
    $ echo ${var:10:5}
    2342%
  5. ${var#pattern} esborra el patró pattern començant pel principi de la variable. Aquesta versió para només troba l’expressió regular. ${var##pattern} és la versió extesa.
    $ echo ${var#*,}
    fssd2342%asd234#@.,&%,sdfgsdfgas4352
    $ echo ${var##*,}
    sdfgsdfgas4352
  6. ${var%pattern} elimina el patró pattern començant pel final de la variable. Aquesta versió para només troba l’expressió regular. ${var%%pattern} és la versió extesa.
    $ echo ${var%,*}
    a.ads,fssd2342%asd234#@.,&%
    $ echo ${var%%,*}
    a.ads
  7. ${var/pattern/replacement} substitueix l’expressió regular pattern amb replacement una vegada.
    $ echo ${var/a/A}
    A.ads,fssd2342%asd234#@.,&%,sdfgsdfgas4352
  8. ${var//pattern/replacement} substitueix l’expressió regular pattern amb replacement de manera global.
    $ echo ${var//a/A}
    A.Ads,fssd2342%Asd234#@.,&%,sdfgsdfgAs4352
  9. ${var/#pattern/replacement} si l’inici de la variable és com el patró pattern, es substitueix per replacement.
    $ echo ${var/#a./llll}
    llllads,fssd2342%asd234#@.,&%,sdfgsdfgas4352
  10. ${var/%pattern/replacement} si el final de la variable és com el patró pattern, es substitueix per replacement.
    $ echo ${var/%352/llll}
    a.ads,fssd2342%asd234#@.,&%,sdfgsdfgas4llll

Segur que aquells que utilitzeu el shell habitualment i no coneixieu açò, li podeu traure molt de profit.

Del Thunderbird al GMail…

// setembre 9th, 2009 // 6 comentaris » // Internet, Mozilla

Mozilla ThunderbirdJa fa molts anys que vaig començar a gastar el Thunderbird com a gestor de correu. Si no recorde malament, va ser mes o menys per maig de 2004, amb alguna beta de la versió 0.6, quan  vaig començar a gastar-lo. Al principi en Windows, després amb una instalació amb el perfil compartit entre Windows i Linux, i després ja només en Linux.

He vist com el projecte creixia fins arribar a la versió 1.0, amb les característiques que tots esperavem d’ell, i com millorava amb coses com el corrector ortogràfic, o xicotetes millores en la interfície gràfica amb la versió 1.5. També tots els canvis que es van produïr amb la versió 2.0, la última versió publicada (d’ací a no res ixirà la 3.0).

Tot açò acompanyat d’extensions, com “quote colors”, “signature switch”, “enigmail”, “messagefaces”, “nested quote remover”, “display mail user agent”, “lightning” (nou nom del “calendar” de tota la vida) i un grapat més que ara no recorde.

Però des que em vaig posar a treballar a la universitat, el fet de gastar diversos ordinadors va anar jugant en contra. Tenia diverses opcions: no tindre en compte el correu a la feina, o bé accedir per IMAP i després a casa descarregar-lo amb POP3 al Thunderbird com venia fent abans. Però clar, si no el mirava malament, i si el consultava per IMAP pijor (ja que després, amb POP3, l’havia de tornar a veure, i em tocava llegir alguns correus dues vegades). A més, no m’acaba d’agradar el funcionament d’IMAP.

GMail Degut al viatge a Holanda de l’estiu passat, vaig centralitzar tots els comptes de correu al meu compte de GMail (els webmails dels altres comptes són Squirrelmail, i GMail els guanya per golejada), per a poder accedir a ell mentre estiguera de viatge, i eixe simple fet ha acabat determinant la migració total a GMail. Al cap i a la fi, cada vegada que volia veure un correu i no estava al meu ordinador de casa, el podia veure al GMail. Cada vegada tenia menys sentit gestionar el correu amb el Thunderbird, si al cap i a la fi tot estava al GMail, d’una manera més accessible.

Queda el gust d’haver utilitzat durant més de 5 anys un gestor de correu que he recomanat a tothom, i he instalat a tots els ordinadors que han passat per davant de les meues mans. I un filtre anti-spam que funcionava de categoria.

Renovació d’Infobenissa…

// agost 14th, 2009 // 9 comentaris » // Internet, Personal, Programació

Ja fa mooooolt de temps que Joanba i jo anunciem una renovació total a Infobenissa. A l’entrevista que ens van fer al Levante allà pel 2006, quan “la idea“  complia 5 anys, i Infobenissa en sí 3, ja ho donàvem per fet. I des d’aleshores ha plogut molt. Però ara ja podem dir, per fi, que la renovació està en marxa.

Al principi volíem fer un canvi total de la web, i arrancar la versió 2 amb moltíssimes novetats, característiques trencadores, molt 2.0 tot. Però ara, més realistes, hem optat per fer el canvi més gros, la part visual, i poc a poc anar incorporant les novetats. Perquè aquesta serà l’única manera en que l’esperada Infobenissa 2.0 arribe.

El disseny base ja està fet, i ara ja estem adaptant-lo i programant les funcionalitats (notícies, la cambra, calendari…) que volem.

A tots aquells que insistentment ens heu preguntat com anava la nova versió, o per a quan (bàsicament, Òscar :D ), dir-vos que li falta ben poc. No sé si atrevir-me a donar dates, però quasi asseguraria que abans de l’aniversari  (el 9 d’octubre) estarà tot llest. La meua idea és tindre-ho tot a punt a principis de setembre, i durant uns quants dies anar fent proves i acabant de polir detalls que no ens agraden.

I ara és quan vos demane ajuda: quines coses noves afegiríeu a Infobenissa? Nosaltres en tenim ja algunes planificades (algunes de les quals ja programades i tot), però els suggeriments mai sobren.

PD: No proposeu el fòrum, que prou maldecaps ens ha portat ja, jejeje.

WP-Apertium 0.9

// juliol 9th, 2009 // 3 comentaris » // Internet, Llengua, Programació

Ahir per la vesprada pujar a l’SVN d’Apertium els últims canvis de la versió 0.9 de WP-Apertium, l’extensió per a WordPress de què ja he parlat altres vegades.

Aquesta versió porta algunes novetats respecte a la versió anterior. La més significativa és que ha canviat la manera de recuperar les traduccions. Amb la 0.8, totes les traduccions s’escrivien al document, però ara amb la 0.9 es recuperen amb AJAX, de manera que no hi ha textos en diversos idiomes al codi font de la pàgina. A més, també soluciona un problema que hi havia de multiplicitat d’ID (si algun element HTML del contingut de l’entrada tenia ID, aquest es repetia tantes vegades com traduccions hi havia).

Respecte als anuncis AdSense que hi poguera haver dins del contingut de l’entrada, no he pogut resoldre les incompatibilitats. Si amb la versió 0.8 el que passava és que apareixia moltes vegades (i, per tant, era possible que no es veiera pel màxim de blocs d’anuncis que marca Google) amb la 0.9 directament es queda la pàgina en blanc quan es demana una traducció. Així que, si voleu utilitzar WP-Apertium, no poseu AdSense dins de les entrades (a la resta de la pàgina no hi ha problema).

Finalment, he implementat també un xicotet detall per a aquells que no tinguen habilitat el Javascript, i que apropa el plugin a aquells que permeten llocs multilingües: es pot accedir directament a traduccions de les entrades. Per exemple, des d’aquest enllaç podreu accedir a la versió en castellà de l’apunt, i des d’aquest altre a la versió en occità. Amb una bona interfície de post-edició, i amb re-escritura de les URLs, WP-Apertium passaria per davant a plugins com ZdMultilang.

Queden alguns xicotets detalls per resoldre, com què fer quan a l’entrada hi ha un <!–more–>, però això serà per a la propera versió.

Una altra decissió que he pres ha sigut el tema dels números de versions. Quan vaig publicar la primera versió la vaig anomenar 0.8. La meva idea original era resoldre uns pocs detalls en una futura 0.9 i passar a una versió estable 1.0. Com que venia del treball previ d’Enrique, i el plugin funcionava bé, no era massa destrellatat. Però els problemes que vaig detectar (en la indexació des dels cercadors, amb el tema dels IDs…) van fer que la 0.9 fóra més complexa del que esperava.

A partir d’ara, la numeració de les versions serà un poc diferent. El primer canvi és que no passaré a la versió 1.x fins que no hi haja una API estàndar d’Apertium, de manera que es puguen obtenir les traduccions des de la pàgina d’Apertium d’una manera normal mitjançant peticions REST – JSON o XML – definides i documentades per part del projecte Apertium (i no tal i com es fa ara, enviant una petició POST al formulari de traducció de documents). Eixa és una de les coses que s’espera aconseguir amb el GSOC d’enguany. Així, les properes versions seran totes 0.x, amb noves funcionalitats a cada versió.

El proper repte és resoldre l’assumpte del <!–more–> i fer un panell d’administració per a l’extensió, de manera que no s’haja d’editar a ma un fitxer per a configurar coses com l’idioma per defecte, les traduccions a generar, etc.

I, com no, demanar ajuda a tots aquells usuaris que utilitzeu l’extensió (que sé que no seran molts, però més val pocs i bons…). Feu comentaris, suggeriments, avisos d’errades, i tot el que vos vinga al cap. S’agrairà ;)