Author: Oriol Rius

Avui faig 4 anys

Reading time: 1 – 2 minutes

Què jove, energic i vigorós que et sents quan fas 4 anys… si nois ja fa 4 anys del fatídic accident. Així doncs continuo celebrant els meus aniversaris avui dia 7 i demà passat dia 9.

bmw.jpg

Per cert, aquest cap de setmana per primer cop en la meva vida em van fer una festa sorpresa els meus amics. Realment va ser molt emocionant i tan aviat com en tingui els documents gràfics els penjaré perquè pogueu veure la cara de mussol que em va quedar. Així doncs, a veure si els fotografs de la festa em fan arribar el material.

Moltes gràcies mussols realment va ser genial i ho vaig passar molt bé. Tot i que he de dir que avui encara en pateixo les conseqüències sobretot de son perquè quasi tot el cap de setmana sense dormir. Gràcies pardals!

Arreglat el formulari de contacte del blog

Reading time: < 1 minute

Fa molt de temps que no funcionava correctament el formulari de contacte. Ja havia intentat arreglar-lo alguna que altre vegada sense massa sort. Però diria que per fi esta tot ok. Si el voleu provar està aquí.

pfSense: patch pel DynDNS quan la interficie WAN no té la IP pública

Reading time: 20 – 34 minutes

Si pel motiu que sigui, teniu un pfSense que amb el servei de Dynamic DNS i la vostre interficie WAN no té la IP pública amb la que voleu actualitzar el servei d’IP dinàmica que useu aquí trobareu la solució. Això pot passar per diversos motius:

  • Hi ha més d’una WAN
  • La WAN té una IP privada que enllaça amb el router
  • Accés a internet a través d’una VPN
  • etc

Doncs bé, concretament en el meu cas tinc dues sortides WAN i per si fos poc la que té IP dinàmica no té la IP asignada pel proveidor sinó una IP privada. Així doncs, buscant pels foros de pfSense he trobat aquesta solució al problema.

Es tracta de modificar el fitxer /etc/inc/dyndns.class. Primer de tot afegim aquest nou mètode (funció) a la classe:

/* Private function for getting real IP */
/* Author: Tri Tu */
function _checkip() {
   log_error("DynDns: Running _checkip() for real WAN IP");
   $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL, 'http://checkip.dyndns.com');
   curl_setopt($ch, CURLOPT_HEADER, 0);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
   $data = curl_exec($ch);
   curl_close($ch);
   list($part1, $part2) = split(': ', $data, 2);
   list($ip, $junk) = split('<', $part2);
   return $ip;
}

Després dins del mateix fitxer busquem tots els llocs on apareix:

$wan_ip = get_current_wan_address();

i ho canviem per:

$wan_ip = $this->_checkip();

Si ús fixeu, el tema és tan senzill com dir-li a la classe que per saber quina és la seva IP de WAN ha de cridar la funció anterior, aquesta funció connecta a la típica web que retorna la IP que tenim i a partir d’aquí capturem aquesta IP i l’assignem a la variable que s’usar per saber si ha canviat la nostre IP.

Ja tinc la meva compte de Jaiku

Reading time: 4 – 6 minutes

jaiku.gif

Ahir em vaig crear la meva compte de Jaiku, la veritat és que no sé si duraré gaire com a usauri del servei. Per diversos motius, però bàsicament per dos. Primer perquè s’ha de tenir molta paciència per anar reportant què fas manualment. El segon, perquè on jo buscava la utilitat més gran és en la sindicació d’activitats automàtica: last.fm, trac, bookmarks, etc. és tan i tan lent que el temps real és una utopia. No m’esperava que fos res de l’altre món el sistema de polling contra els RSS que hi he afegit però tampoc m’esperava un desastre tan gran.

lastfm.png

Realment una de les coses que em feia molta il·lusió és que s’anés guardant les cançons que vaig escoltant per last.fm a mesura que anava passant el temps, així tenia una línia de temps amb la música que escolto. El mateix em passa amb els bookmarks. Fins hi tot podria veure quin tipus de música escolto segons el que faig. Però pel que he vist això només fa polling unes 3 o 4 vegades al dia. De forma que tota la informació que volia publicar es perd.

plazes.png

Per altre banda, ja fa molt de temps que sóc usuari del servei Plazes del que trobo un error garrafal que no estigui integrat amb Jaiku. Ja que seria molt còmode anar reportant la meva posició a partir d’un servei com aquest. Malgrat això també he de dir que en gran part Plazes és un servei molt verd i que sota el meu punt de vista haurà de millorar molt a nivell de clients d’aplicació perquè tingui sentit. O sigui, que si no hi ha més tipus de clients i més diversos per usar hi ha moltíssims moments enque és impossible reportar on sóm. Tot i que la idea la trobo boníssima li falta molt per ser útil. També s’ha de dir que des de l’inici han avançat molt en el tema dels mapes i d’altres similars, ara ho tenen tot molt ben integrat amb google maps.

imified.gif

Un altre servei en el que m’he donat d’alta és el imified, realment crec que és un servei indispensable si penseu usar Jaiku o twitter des de tot arreu. Bàsicament és un gateway que permet unir el client d’IM (en el meu cas GTalk) amb d’altres serveis com per exemple, fer de client de Jaiku, twitter, convertir URLs llargues en curtes, un ToDo online, sistema recordatori, google calendar, etc. realment té molts widgets de connexió contre moltíssims serveis als quals es pot accedir de forma còmode i molt ràpida a través del IM. Bàsicament això em permet enviar novetats a Jaiku a través de la BlackBerry pel client de GTalk que hi tinc instal·lat. Ah! també permet rebre les novetats dels nostres amics de Jaiku i twitter, és clar. És tan senzill com tenir un buddy més entre els nostres contactes i al més pur estil bot d’IRC de tota la vida accedim als serveis.

Però altre cop hi trobo un problema d’integració en tot plegat, aquest cop entre imified i Plazes. Seria genial poder reportar la meva posició geogràfica a Plazes a través de imified i si això després ja es connectes a Jaiku, com comentava abans seria perfecte. Però totes aquestes eines sota el meu punt de vista estan massa verdes per funcionar de forma interactiva i integrada entre elles. Esperem que això sigui una d’aquelles coses que cura el temps.

twitter

Per cert, també m’he fet una compte a twitter i l’he importada des de Jaiku, però com ja comentava el polling contra els RSS des de Jaiku és molt lent i realment és un desastre la integració d’ambdues eines. La compte de twitter me l’he fet més que res perquè és el servei que tothom usa, més que Jaiku, però he de dir-vos que és realment simple, poc elavorat i poc potent. A més de moment no acabo de veure en el meu cas quina gràcia té seguir les evolucions de la gent que coneixo si són les persones amb qui em relaciono al dia a dia. Obviament per aplicacions com la del birdwatching que vaig comentar la potència és brutal tan de twitter com de Jaiku.

Beagle++ el beagle de sempre però amb capacitat semàntica

Reading time: 1 – 2 minutes

És curiós però fa unes setmanes li donava voltes al cap si valia o no la pena seguir tenint el Beagle consumint recursos a la meva màquina. No perquè no sigui un bon indexador, sinó perquè no tinc la costum d’usar-lo i no el faig servir mai. Així doncs una de dues o l’acabo treient o m’acostumo a usar-lo. La qüestió és que tot navegant fa uns dies vaig trobar el Beagle++ aquest projecte encara en una fase força inicial afegeix capacitats semàntiques al Beagle de sempre. Què carai vol dir això doncs, que per exemple si busquem Spain no només ens donarà resultats de documents relacionats amb la paraula sinó amb paraules derivades també, per exemple, València, Madrid, etc.

Com que el millor exemple sempre és veure-ho funcionar:

Python trick: error Address already in use

Reading time: 8 – 12 minutes

Quan treballem amb sockets en python sovint al publicar un port si matem el procés que publicava el port encara que sigui de forma correcte ens trobem que al llençar-lo de nou, o sigui, a l’intentar publicar altre cop el procés aquest dona error un error que diu algo així com Address already in use. O sigui, que el sistema operatiu es pensa que el port encara esta sent publicat pel procés que ja em matat. Si fem un netstat veiem que el port no hi és, però encanvi fins al cap d’una estoneta (alguns segons o minuts) no hi ha manera de poder usar de nou aquest port.

Doncs bé, un petit truquillo perquè això no passi i el poguem usar a l’instant és fer això després de crear l’objecte de la classe socket:

# creació de l'objecte
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# afegim noves propietats a l'objecte
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

Steve Jobs xerrada a Standford

Reading time: 1 – 2 minutes

Sovint ens preguntem perquè certs persones són més mediatiques que altres. Doncs bé, jo fa molt de temps que sentia un gran respecte per l’Steve Jobs. Però tampoc coneixa massa bé certs aspectes de la seva vida, potser l’únic que sabia d’ell era el que deien a la pel·lícula de Pirates de Silicon Valley. Fa unes setmanes casualment vaig veure en un blog que es referenciava una xerrada que havia donat a una cerimònia de graduació a Stanford i aquest cap de setmana la vaig mirar mentre anava en tren. La qüestió és que vaig quedar tan gratament sorprès de les seves paraules que volia recomanar-la, especialment a l’Ernest al que crec que les seves paraules li seran especialment d’ajuda en aquest moment de la seva vida.

Mikrotik RouterBoard 150 – configuración consola serie

Reading time: < 1 minute

Resulta que el RouterBoard 150 de Mikrotik no té la mateixa configuració que la resta. Resulta que a aquest li hem de desactivar el control de fluxe per hardware i software:

serial-port-minirouter.png

Baud: 115200, Bits: 8, Parity: None, Stop: 1, Flux Control: none.

SMS vs Twitter (Jaiku)

Reading time: 3 – 4 minutes

twitter

No fa gaires dies escribia l’article Qui usa twitter?. Preguntant-me una mica quines podien ser les utilitats d’aquesta eina que no acabava de tenir clares. Doncs bé després de llegir diversos articles aquí i allà i de veure algún que altre programa de TV que en parlava li he arribat a trobar coses força útils. Això si potser poc aplicables per l’estat de la tecnologia i la societat. Un exemple d’aquestes utilitats podria ser: imagineu que esteu escoltant Last.fm podriem registrar al nostre live streaming (fluxe de dades de la vida introduïts a twitter/jaiku) totes les cançons que anem escoltant. Així si en un moment donat volguéssim saber quina canço estabem escoltant en un moment donat podriem mirar a l’històric d’entrades de twitter/jaiku i sabriem quina és aquella canço que ara no ens ve al cap.

jaiku.gif

Com ja deia totes les aplicacions em semblaven una mica estèrils o potser massa friquis per l’estat de l’escenari que comentava. Però ahir em va trucar el Benja i em va comentar que estava pensant en un montar una solució per una colla d’amics afeccionats al birdwatching (observadors d’ocells). Bàsicament tenen un perfil molt poc tècnic i ben just saben enviar SMS. Així doncs, ell havia pensat en montar-los una petita web on quan algú veu un ocell en un lloc ho pogués reportar per SMS contra la web i després la resta ho podrien consultar en aquesta web o fins hi tot, re-enviar aquest SMS a la resta de la colla per rebre en temps real quin tipus d’ocell i a quin lloc l’havien vist.

Doncs bé, ràpidament la meva bombeta es va encendre i vaig veure una aplicació claríssima d’eines com twitter/jaiku. La idea és ben senzilla, aprofitant els clients per mòbil de twitter/jaiku aquesta colla de birdwatching poden reportar en temps real contra una web i la resta d’amics els ocells que han vist i on els han vist. Encara més, fins hi tot poden publicar fotografies q flickr, enllaços, etc. i tot això quedarà registrat al live streaming tan via web com a través dels clients del mòbil en temps real. A més els requisits que es demanen de terminal i el consum d’amplada de banda són mínims i els beneficis en aquest cas són ben clars.

Perquè tota l’estona parlo de twitter/jaiku. Doncs perquè jo diria que si twitter és una idea molt bona, encara ho és més el que proposa jaiku. Bàsicament la diferencia esta en las possibilitats d’integració. O sigui, no només permet registrar notes escrites per nosaltres sinó també música que escoltem de forma automàtica, fotografies, entrades al blog, etc. Bàsicament twitter fa el mateix però és un pel limitat en quan a compatibilitats i jaiku no només permet integrar més coses sinó que permet integrar fins hi tot el propi twitter.

Interficie Web del pfSense: un detall de qualitat

Reading time: 1 – 2 minutes

De fet, aquest article és una tonteria però quan trobes un detall de qualitat com el que vull comentar en aquest cas dona gust perdre un estona per donar-lo a coneixer. Com passa sovint avui en dia moltíssims sistemes porten una interficie de configuració via web. Imagino que és obvi, ja que és un sistema de GUI fàcil de programar i a més assegura una molt bona compatibilitat amb tot tipus de clients i de plataformes.

Doncs bé, sovint al configurar la IP i el port en alguna d’aquestes interficies passa algo lògic, és a dir, la comucació entre el client d’accés a la GUI (navegador) i el servidor de la GUI (servidor HTTP). Obviament una forma senzilla de solucionar això seria programar el codi HTML perquè al cap d’un temps es fes un refresh que redirigís la connexió cap al nou port o la nova IP.

Però malgrat la solució és senzilla també és algo elavorada. Doncs mai havia trobat una interficie de configuració via web que tingués en compte aquests detalls. Fins fa unes setmanes que vaig trobar-me amb la interficie del pfSense que si que ho fa, mireu mireu:

redireccio-port.png
Scroll to Top