+1 Scraper (PlusOneScraper)
La nova inteficie web del Google Reader ha portat molta cua a les xarxes socials i als mitjans digitals en general. Quan ets usuario d’un servei cloud, i si aquest és gratuït encara més, has d’estar obert a tot aquest tipus de situacions. Obviament hi ha coses que es fan estrictament per millorar l’experiència d’usuari i d’altres per anar alineats amb l’estrategia de negoci de l’empresa que ofereix el servei, en aquest cas Google.
Doncs bé, en el meu cas no entraré a discutir les moltíssimes sorpreses agradables que m’ha portat la nova interficie, sinó que em centraré a solucionar un dels pocs problemes que m’ha portat la interficie. Abans disposava d’un botó ‘share’ que em generava un petit blog on es penjaben les noticies que jo compartia. A través d’aquell blog la que em seguia podia veure les notícies que anava destacant dels meus feeds i jo mateix podia subscriurem amb un programa de lectura d’RSS per la tablet o el mòbil i així podia atendra les lectures més llargues en diversos moments morts del dia.
El famós botó de ‘share’ ha estat substituit pel ‘+1’ que com molts ja sabeu s’usa en molts llocs, no només al ‘Google Reader’ sinó a moltíssims blogs als que no cal estar sindicat per fer un ‘+1’ als articles que ens agraden, a busquedes de google, etc. De fet, jo pronostico que amb el temps això del ‘+1’ s’extendrà fins a nivell insospitats. Així doncs, a priori la idea és molt bona el problema és que tot el que botem dient que ens agrada s’afegeix al nostres ‘stream’ de ‘Google Plus’ que a dia d’avui no disposa de fil RSS, amb tot el que això suposa com ja he indicat abans.
Tot llegint el blog de l’Enrique Danz resulta que ell també té aquest problema i l’han resolt amb un simple script de PHP que fa d’scraper sobre la llista de ‘+1’ que manté ‘Google Plus’. El codi és senzillíssim d’usar el col·loquem al nostre server LAMP li passem l’usuari de la nostre compte google i l’script ens treu un XML en format RSS amb tot el que hem marcat amb un ‘+1’.
Com es defineix una ‘activitat’?
Tothom sap que una activitat és una acció feta per una persona. Però si hem de disseccionar una activitat podriem fer-ho així:
- actor – en Pep
- verb – guarda
- objecte – una fotografia
- objectiu – al seu album de fotos
Tablet Motorola Xoom + Teclat + Llapis
Un altre juguet del que puc disfrutar des d’aquest estiu és el Motorola Xoom, el table de Google. És curió perquè m’he adonat que els no-geeks no tenen ni idea de que existeixen tables més enllà del iPad. Però el que més em sorprèn és que més enllà de l’usabilitat i la fluidesa en l’ús dels iPad no acabo de veure massa qualitats. És evident que els tablets amb Android estan encara per darrera d’aquesta fluidesa i experiència d’usuari. Però el seu entorn amb un disseny més flexible i la possibilitat d’arribar fins a un nivell de control del sistema més obert a més d’una comunitat que comparteix molts dels seus avanços em reforça la idea que el creixement que estan tenint aquest tablets acabarà per imposar-se com ja ha passat en els telèfons mòbils. La diversitat de formes, models, mides, preus, etc. crec que és evident que acabarà imposant-se a la dictadura d’Apple.
Bé doncs, a part d’aquesta petita reflexió volia comentar que també disposo d’un teclat i un llapis per interactuar amb el tablet. Ambdós accessoris he de dir que tenen una experiència d’usuari molt pobre. De fet, tan pobre que pràcticament no són ni usables per propostis professionals. Però de fet, la finalitat que perseguia era saber quin és l’estat d’aquests dispositius i poder evaludar l’API 3.0 d’Android que pel que he vist té poc a veure amb la 2.3.X.
Arribats a aquest punt suposo que els propers mesos la posaré a la venda amb l’objectiu d’aquirir alguna de les noves tables que han sortit i buscant donar-li un enfoc amb coneixement de causa a la mateixa. És a dir, aneu en compte no he dit que la tablet no valgui per res sinó que té alguns aspectes que han de madurar. Però he de dir que li he trobat un ús molt concret que pel meu perfil és idoni. És a dir, tinc un equip amb una bateria que em dura quasi una setmana amb que permet accedir a xarxes socials i a la web, a més de fer-me de magatzem multimedia amb una nota molt alta. Obviament la sortida HDMI em va genial per ensenyar fotografies de viatges a familiars, emportar-me altres continguts multimèdia arreu del món i poder-los visualitzar tan en la pantalla de la Xoom com al monitor de qualsevol TV d’hotel, amic, familiar, etc.
Així doncs, la meva opinió és que si sou amants de la tecnologia i us ho podeu permetre és un equip que esta molt bé. Això si, sota el meu punt de vista encara va una mica coix per poder tenir utilitats productives almenys en els entorns en els que jo em moc.
CLI de Xen
Aquesta setmana he tingut un expedient X’s amb el servidor d’oriolrius.cat que tinc virtualitzat en un servidor de Xen. La qüestió és que segons Xen la màquina estava corrent normal però encanvi no podia accedir ni a la consola ni enlloc. Ja que la màquina no estava a la llista de processesos del sistema. Així doncs, després de més d’1any he hagut d’aprendre alguna comanda de Xen CLI per poder solucionar el problema.
Per obtenir la llista de màquines virtuals que té el sistema:
xe vm-list
amb aquesta comanda podem obtenir el uuid, aquest identificador ens serà útil per poder forçar la màquina perquè es pari. Això ho podem fer així:
xe vm-reset-powerstate uuid=XXXXXXXXXXXXXXX force=true
En cas de que la comandi falli, per exemple, amb un error de:
The operation could not be performed because a domain still exists for the specified VM.
vm: XXXXXXXXXXXXXXX (nom_servidor)
domid: 1
Llavors podem eliminar el domini que ens causa problemes així:
/opt/xensource/debug/destroy_domain -domid 1
Si la comanda no retorna error vol dir que hem pogut eliminar el domini i ja podem tornar a executar la comanda xe vm-reset-powerstate.
Gràcies a això he pogut fer-li entendre al Xen server que la màquina estava parada i des de la GUI he tornat a iniciar la màquina sense problemes. En el meu cas aquesta anomalia s’havia donat degut a que el sistema s’havia quedat sense memòria, o sigui, que entenc que hi hauria alguna part del hypervisor que tindria leaks de memòria.
Postfix autenticació amb sasldb
Quatre notes que tinc pendents de classificar, com donar suport d’autenticació a postfix de forma ràpida i senzilla.
Paquets que cal tenir a més del postfix: cyrus-sasl, cyrus-sasl-md5.
Línies que cal tenir al /etc/postfix/main.cf:
smtpd_sasl_application_name = smtpd smtpd_sasl_type = cyrus smtpd_sasl_path = sasl2/smtpd.conf smtpd_sasl_local_domain = smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
Fitxer de configuració del servei d’autenticació /etc/sasl2/smtpd.conf:
pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM
Assegurar-se que el propietari del fitxer /etc/sasldb2 és postfix.
El fitxer /etc/sasldb2 és una base de dades Berkeley DB que guarda els usuaris i les seves paraules de pas en text pla. Així doncs, no és molt segur però una solució més que suficient per molts entorns SOHO.
Gestió d’usuaris:
# afegir usuari saslpasswd2 -a smtpd -u domini_exemple.com nom_usuari # borrar usuari saslpasswd2 -d -u domini_exemple.com nom_usuari # llistar usuaris sasldblistusers2
La configuració que heu de posar al MUA pel que fa al servidor de correu ha de ser del tipus:
usuari: nom_usuari@domini_exemple.com pass: el que hagiu definit mecanisme d'autenticació suportats: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM
UPDATE 27/2/2012:
Perquè es pugui tenir accés al fitxer /etc/sasldb2 cal que el mòdul smtpd de postfix no es llenci com a chroot. Per evitar això cal modificar el fitxer /etc/postfix/master.cf concretament la línia del dimoni smtpd ha de quedar així:
smtp inet n - n - - smtpd
Per tenir suport de SASL a Ubuntu Lucid cal instal·lar els paquets: sasl2-bin i libsasl2-modules.
12h amb Arduino
En un calaix tenia guardat un Arduino Duemilenove i una colla de sensors, finalment aquest passat dissabte no vaig poder evitar-ho i vaig haver-m’hi de posar. La temptació va ser massa forta. Així doncs, en aquest post el que vull és explicar-vos com he passat les meves primeres 12h sobre aquesta plataforma d’Open Hardware. Tan de temps treballant amb el concepte Open Source i per primera vegada començo a parlar d’Open Hardware això és una sensació que no té preu.
Bé doncs, primer de tot comentar que el llenguatge de programació és molt simple. Tan és així que vaig invertir unes 2h en revisar tots els llibres que tinc d’Arduino en busca de més funcions o usos del mateix que compliquessin una mica la cosa pensant que no podia ser tot tan senzill. Diria que he passat massa temps amb llenguatges d’alt nivell i al tornar al món proper al hardware tot canvia tant que no me’n sabia fer el càrrec. Així doncs, amb ben poques hores ús asseguro que tindreu per la mà totes o quasi totes les instruccions del llenguatge. El que podria semblar més difíci, tot i que sota el meu punt de vista crec que no ho és gens, és fer-se a la idea de que després d’iniciar el sistema tota la lògica estarà tancada en un bucle infinit que esta esperant que els sensors captin algún tipus d’entrada per disparar la lògica. Potser el més interessant és el fet de poder introduir el concepte d’interrupcions per hardware que et permeten secuestrar el fil d’execució en qualsevol moment del codi per llençar una rutina.
Després de fer les típiques proves amb LEDs i pulsadors, vaig posar-me a investigar les entrades i sortides analògiques amb sensors de temperatura, humitat, proximitat, lluminositat i d’altres similars. Coneixer i dominar tot això és qüestió de ben poca estona però crec que val la pena passar-hi per sentir-se còmode amb les eines de programació i el propi hardware. Us recomano intentar retenir tots els pins que té la placa alhora d’entendre el codi és molt més senzill.
Arribats a aquest punt vaig descobrir que usar la consola serie per mostrar-hi informació de depuració és una de les formes més senzilles de controlar si els programes estan fent el que ens interessa. Així doncs, en aquest punt usava el port serie per volcar-hi tot tipus de comentaris explicatius per tal de seguir el fil del codi a mode de consola de treball. Per tant, us recomano tenir a mà un ‘minicom’ obert constanment per pode recol·lectar tot el feedbak que ens interessi.
On la cosa em va enganxar de veritat és quan vaig començar a posar-me amb els temes d’infra-rojos; concretament a l’hora de decodificar trames enviades per comandaments a distància i d’altres artilugis similars. És realment interessant fer implementacions manuals d’aquest tema usant els rellotges interns que té el dispositiu. T’ajuda a entendre al 100% com funcionen les codificacions dels comandaments a distància per infra-rojos. Després descobreixes que la cosa es pot simplificar moltíssim usant llibreries que t’ho gestionen tot i que t’ofereixen una serie d’interficies de més alt nivell que permeten desenvolupar aplicacions molt senzilles sense haver de preocupar-se dels detalls de les internalitats que comentava abans. Llavors és quan realment pots arribar a fer coses interessants tan a l’hora de rebre com d’enviar informació per infra-rojos.
El pas obvi que venia després d’això era començar a jugar amb protocols de comunicacinos inal·lambrics que per algo tinc vocació telemàtica, no? la veritat és que gràcies a una llibreria d’alt nivell anomenada ‘VirtualWire‘ que parla sobre com usar transmisors i receptors de 433MHz modulats amb ASK per enviar i rebre trames a través de l’aire vaig entendre al 100% com funcionava el sistema de control remot de persianes i calefacció que tinc a casa. De fet, em vaig quedar amb les ganes de seguir jugant amb aquest tema per manca de components electrònics que no tenia a mà. Seguint amb aquesta línia tot i que no vaig fer-ne proves vaig estar veient que és força simple treballar amb busos de dades SPI i I2C. Cosa que obre un món de possibilitats a l’hora de fer interconnexions amb certs aparells.
He de dir que si sou persones que us costa entendre l’electrònica analògica, com a mi, no ús heu de preocupar es poden fer miracles amb Arduino sense tenir ni idea de perquè s’acostuma a posar una resistència davant d’un LED. Això si, arriba un moment que la pròpia motivació per tot el que estas fent et porta a rellegir-te ni que sigui en diagonal els capítols dedicats a l’electrònica que tenen molts dels llibres d’Arduino. Almenys en el meu cas amb uns 30-40min en vaig tenir prou per tornar-me a posar al cap tots els conceptes que havia estudiat en el seu dia i poder seguir endevant amb els meus experiemnts amb més coneixement de causa.
Tot i que pel que vaig fer a continuació no era necessari haver fet el repàs sobre electrònica no vaig poder evitar consultar com es feia per treballar amb els mòduls Ethernet, ZigBee i Wifi que té Arduino. Com que no tenia tot aquest hardware aquesta part només la vaig fer a nivell teòric però la veritat és que ja em va ser molt útil. Em va permetre entendre com es podia treballar amb tot plegat. Això si, ara el ‘gusanillo’ el tinc en la tecnologia ZigBee (IEEE 802.15.4) que mai he tocat de primera mà, així doncs, potser per reis em regalo algún mòdul d’aquesta tecnologia per trastejar-hi una mica, a veure què tal és tot això del ‘mesh-networking’ amb aquest protocol que tants adeptes ha guanyat en el món de l’embedded.
He de dir que de les 12h prop de 4h les vaig passar fullejant i llegint amb deteniment llibres i més llibres que tinc del tema, això em va servir per veure diferents formes de fer les coses i l’abast dels projectes que fa la gent amb l’Arduino cosa que és realment interessant per familiaritzar-se amb la tecnologia. Potser vaig repassar prop de 50 projectes amb aquestes hores i me’n vaig mirar amb lupa uns 10 cosa que em va anar molt bé per coneixer a fons molts temes que per manca de hardware i components electrònics no podia reproduir a casa.
Per cert, si algú s’esperava que aquest article fos un manual de com iniciar-se amb Arduino em sap molt greu però diria que fer això no té cap sentit ja que per internet n’hi ha moltíssims de manuals que expliquen com fer-s’ho per començar. A més, també hi ha moltíssims llibres disponibles a les llibreries i biblioteques a partir dels quals podeu tenir tutorials més que bons i detallats de com començar amb aquest tema. Així doncs, m’ha semblat que era més útil explicar-vos l’experiència de les meves primeres 12h amb aquesta tecnologia.