oriolrius.cat

Des del 2000 compartiendo sobre…

Year: 2007

Vacances: Bilbao -> Madrid -> Cancun

Reading time: 2 – 2 minutes

Poc més a dir, per fi m’he agafat uns dies de vacances. Així doncs, demà mateix me’n vaig cap a Bilbao, amb el Xavi, la Sabina i la Glòria a veure el partit del dissabte entre les seleccions de Catalunya i Euskadi. Després en cotxe de lloguer directament cap a Madrid on ens espera un avió per volar cap a Cancun. On estarem des del dia 30 fins al dia 9. Així doncs, espero tornar amb les piles ben carregades de solet i ganes de tornar a reprendre tots els temes. Ara mateix, no penso en res més que en fer vacances.

Realment porto uns mesos esgotadors obviament tot tenen la seva recompensa, però necessito les vacances com l’aire que respiro. Així doncs, ara toca desconnectar de tot i disfrutar una mica de la vida. Ja no m’allargo més només desitjar-vos bones festes a tots i que vagi molt bé el nou any. En el meu cas millor que no desitgi que sigui igual que el 2007 almenys en els temes personals, ja que ha estat molt dur. Però tot té el seu cantó bo. Així doncs, no ús arrepentiu de res… només mireu endavant i disfruteu que malgrat tot sempre hi ha alguna cosa per lluitar.

Per cert, si tot va bé espero fer tracking de tots els dies amb el GPS del HTC Kaiser/Tytn II i poder geoposicionar totes les meves fotos i dels meus companys de viatge. Així doncs, a creuar els dits i a veure si hi ha sort i puc començar a fer algún montatge guapo amb el tema.

Eliminar una URL indexada per Google

Reading time: 2 – 2 minutes

És un cas que no he requerit personalment però que ahir el Law em va haver d’explicar com es fa per poder ajudar a en Martin. La cosa és ben simple, els bots de google són molt inquiets i en un moment donat poder arribar a indexar webs o parts de webs que no ens interessa que estiguis accessibles a través del buscador. Doncs bé, si teniu la necessitat de donar de baixa alguna cosa que no volieu que s’indexés cal que a través de les google webmaster tools la doneu de baixa, concretament a l’screenshot següent podeu veure la secció exacte on fer-ho.

google-remove.png

Doncs bé després de complimentar adequadament el procés i en unes 48h la URL hauria de deixar d’estar indexada.

Per altre banda, i perquè això no torni a passar és important que a l’arrel del vostre servidor web afegiu, si no ho teniu, el fitxer robots.txt. Amb, per exemple, el següent contingut:

  • Exemple 1: Cap robot de cap buscador indexa res del nostre site
  • User-agent: *
    Disallow: /
    
  • Exemple 2: Cap robot de cap buscador indexa res de la URI /admimn/.
  • User-agent: *
    Disallow: /admin/
    

En princpi amb aquest parell d’idees hauria de ser suficient perquè pogueu dormir tranquils.

Nou telèfon PDA a la família

Reading time: 2 – 3 minutes

Doncs des de divendres i gràcies a l’A. de Vodafone i després de les meves peripecies amb la BB Pearl tinc una Voafone 1615, aka HTC Kaiser o Tytn II. En poques paraules un mort que fa de tot.

htc-kaiser.jpg

Petit resum de característiques:

Connectivity: GSM/GPRS, EDGE, UMTS (3G), HSDPA, Bluetooth 2.0 + EDR, A2DP, 802.11b/g, USB, AGPS
Operating system: Windows Mobile 6.0 Professional
Input: Keyboard/Touchscreen
Camera:	3.0(2048x1536) Megapixel, front VGA
Power: 1350 mAH Battery
CPU: Qualcomm 7200 ARM Processor at 400 MHz
Memory: 256 MB Internal Flash, 128 MB RAM, SDIO, microSD, microSDHC, TransFlash
Display: 65k-color QVGA TFT

Doncs el tema estan en que per no funcionar no em funciona el RealMail, ni el 3G, ni puc sincronitzar de forma senzilla els contactes amb l’Evolution. Així doncs, molt de mòbil/PDA per no fer res. Per tant, ara em toca posar-me les piles ja que ja no és una HTC sinó dues. L’Artemis i la Kaiser a posar al dia. De totes formes per aquesta segona a XDA Developers no m’ha semblat veure que hi haguessi ROMs. Però a la primera ja trigo en actualitzar la ROM que tinc que malgrat és una passada esta molt desfassada comparat amb les que he vist pels forums.

Poc més a aportar de moment, només dir que realment té de tot i tot ho fa molt bé. De dolent que és massa grossa i pesa massa. Però és que ho vul tot també. Això si súper orgullos del teclat QWERTY que porta i de la WIFI que tan trobo a faltar a l’Artemis. Sobretot espero poder-lo usar com a client de Twitter i d’altre pijades. Ja que jo sense un teclat QWERTY no sóc ningú. Espero poder anar ampliant el tema a mesura que vagi aprenent com va tot plegat.

Evolution ‘search folders’

Reading time: 2 – 4 minutes

Aquesta funcionalitat d’Evolution fa molt temps que la vaig veure, però no se m’havia mai acudit com treure-li rendiment amb la meva forma d’usar el correu. Com sabeu de fa molt de temps tinc les carpetes organitzades intentant seguir la idea de GTD. Doncs bé, malgrat això tenia certs problemes per seguir alguns llistes de correu i d’altres informacions que m’arriben al correu però que són de caire més secundari o personal. La solució l’he trobat gràcies a aquestes carpetes tan especials que em permeten agrupar correus en funcionar de paràmetres ben diferents.

Per si això de les search folders ni ús sona, jo ho definiria com carpetes amb continguts virtuals, és a dir, imagineu que teniu configurades diverses comptes de correu, llavors tindreu divers carpetes d’entrada de correu (inbox) si a més cada una de les comptes té diverses carpetes creades això farà que els diversos inbox no capiguen a la pantalla. Llavors sempre haureu d’estar fent scroll per estar al corrent dels nous correus que ús entren en les diverses comptes i diverses carpetes de cada compte.

Llista de carpetes de tipus search folder:

search-folders-001.png

La solució és tan senzilla com la de configurar, per exemple, un general inbox:

search-folders-002.png

Un altre search folder que tinc configurada és una que m’agrupa tots els missatges que tinc marcats com a importants, això ho acostumo a usar moltíssim per varies funcions. Per exemple, contestar correus en llistes de correu, saber tasques importants que esperant que es facin ja, o coses importants que espero que arribin fetes, etc.

search-folders-003.png

A més d’aquests dos exemples que he comentat tinc ues quantes carpetes més d’aquest tipus, com la de missatges no llegits, tasques a fer, tasques en espera, etc. a mi aquesta idea realment m’ha canviat la forma d’usar Evolution.

No oblideu que els missatges realment, no tenen perquè pertanyer a la mateix compte de correu i que la carpeta virtual no és una carpeta real. Així doncs, no s’hi poden arrossegar elements a dintre. De totes formes, si que es poden arrossegar correus de dintre cap a un altre carpeta, no virtual. Així doncs el focus de treball del meu Evolution ha canviat molt i ara treballo sempre amb la vista posada a la part on hi ha aquestes carpetes especials i a sobre tinc obertes totes les carpetes de la compte de correu principal. Així puc anar arrossegant i organitzant les tasques tal com feia abans.

accTable: Llibreria per paginar dades amb PHP i AJAX

Reading time: 1 – 2 minutes

Malgrat fa molt de temps que no programo amb PHP ‘a pel’, és a dir, sense passar per Symfony ahir l’Albert em va fer saber que s’ha currat una llibreria en PHP que permet mostrar dades de forma paginada amb la usabilitat que ens dona AJAX i que és senzillíssima d’usar. Si no disposeu d’un framework que ús ofereixi una solució decent a aquest problema la solució de l’Albert és molt elegant i decent, ús la recomano.

accTable.png

accTable Project: lliberia PHP amb suport d’AJAX per mostrar dades paginades, feta per l’Albert Coronado.

Albert, la meva recomanació seria que li donessis la forma de plugin i l’elavoressis per diferents frameworks, per exemple, per Symfony.

IMPORTANT correcció: perdoneu l’errada però la llibreria és purament AJAX, o sigui, JavaScript obviament es pot usar igual en PHP que en qualsevol altre llenguatge. Demano disculpes per l’errada.

Configurant una Atheros AR5212/5213 amb Ubuntu 6.06 Dapper

Reading time: 2 – 4 minutes

La base del MPK és una Ubuntu 6.06 Dapper, doncs bé ahir vaig tenir la necessitat de configurar-hi una targeta Wifi per primera vegada. La qüestió és que la cosa em va donar una mica més de feina de la esperada. Així doncs, aquí penjo quatre notes de com posar-la en solfa ben ràpid.

Al iniciar l’Ubuntu amb l’Atheros punxada els drivers de madwifi del kernel la detecten perfectament però malgrat no em donava cap error i després d’associar-me a diversos APs amb WEP i WPA-PSK no hi havia manera d’intercanviar tràfic, sempre donava l’error de que no trobava el destí del paquet. Finalment el que vaig fer va ser descarregar els drivers de madwifi, concretament la versió 0.9.3.3. Que ha compilat sense problemes i després de borrar els drivers que inclou l’Ubuntu per defecte, s’han instal·lat a la carpeta dels mòduls del kernel. Després de comprobar que amb un depmod -a no donen cap error he reiniciat i la targeta s’ha detectat sense problemes.

Amb les següents simples comandes:

iwconfig ath0 essid ssid_ap
iwconfig ath0 key codi_wep_en_hexadecimal
ifconfig ath0 up
dhclient ath0

Només amb això ja esta llesta la xarxa wifi per funcionar amb xifrat WEP, obviament no ús el recomano però hi ha gent que encara viu enganyada confiant-hi. En cas de voler-la configurar per WPA-PSK la cosa és tan senzilla com crear el següent fitxer /etc/wpa_supplicant.conf:

network={
        ssid="ssid_ap"
        scan_ssid=1
        proto=WPA
        key_mgmt=WPA-PSK
        psk="clau_psk"
}

Després des de la línia de comandes podem cridar el wpa_supplicant per provar-lo així:

wpa_supplicant -Dwext -iath0 -c/etc/wpa_supplicant.conf

Un cop veiem que s’ha associat podem anar a una altre consola i configurar la interficie de xarxa. Com sempre amb la comanda iwconfig podem observar si l’associació s’ha fet correctament, entre d’altres dades com el nivell de senyal.

Finalment si voleu posar en la seqüència d’arrencada la crida del wpa_supplicant podem afegir el següent a /etc/network/interfaces:

auto ath0
iface ath0 inet dhcp
pre-up wpa_supplicant -Bw -Dwext -iath0 -c/etc/wpa_supplicant.conf
post-down killall -q wpa_supplicant

Per automatitzar el WEP, el que he fet malgrat sigui una mica xapussa és fer un script que fa les dues comandes iwconfig i aquest script es crida a pre-up al fitxer /etc/network/interfaces.

Desaparegut… i petit review del portàtil, servidor i la vida en general

Reading time: 5 – 8 minutes

Tinc pendent parlar-vos de mil coses que he après, que he fet i que he tocat durant aquest munt de temps que no he pogut escriure al blog. En poques paraules he estat vivint a l’oficina des d’abans que sortís el sol fins que feia una bona estona que ja era amagat. Sort que el resultat final de tanta feina té una bona recompensa, un munt d’aplicacions per movilpoint que realment per primer cop a la vida em fan sentir orgullós de la feina feta.

Així doncs, ja no només ús he de parlar del meu nou portàtil sinó també del servidor HP que m’he comprat, un HP ProLiant ML110:

  • Dual Xeon 1.8GHz
  • 4Gb de RAM
  • 160Gb SATA

La idea és que faci de substitut a l’actual Celeron a 2.4GHz amb 1Gb de RAM i 1.3Tb de disc. Aquest el posaré com a firewall i hi instal·laré el pfSense. Que ja tinc a casa d’uns quants clients i a la feina i va molt bé.

Per altre banda, durant aquests dies he anat arrossegant dos portàtils el nou i el vell tot aprofitant cada un dels segons que tenia lliures per fer la migració del que tinc en el vell cap al nou.

Encara queden mil coses al portàtil nou per configurar però escencialment ja tinc el que necessito per treballar. Hi ha alguns detalls que no m’acaben de fer el pes però què hi farem. Em refereixo sobretot per com es comporta algún hardware amb linux, per exemple, si carrego el driver d’nvidia per les X‘s després no puc tornar a la consola. Això si la majoria de coses em tenen més que enamorat. No té nom veure la Gentoo compilant amb dues CPUs a 2.2GHz i 4Gb de RAM… això vola!!!! per no parlar de poder tenir: dos firefox, l’evolution, 2 màquines virtuals amb Ubuntu fent feina, el client de last.fm, l’OpenOffice, el ZendStudio i l’Eric4, la consola tot obert a la vegada i ni tan sols notar que la màquina perd una mica de velocitat. Ah! i encara tenir 1.5Gb de RAM lliures. Recomano que ho proveu.

Una altre cosa a la que no estava acostumat és a tenir una gràfica com deu mana. Concretament tinc una nVidia GeForce 8400M GS, ara mateix estic escribint aquest article amb una pantalla de 17″ conectada al portatil i amb un escriptori amb Xinerama. O sigui, dues pantalles fent d’escriptori una a 1280×800 (portàtil) i l’altre a 1280×1024 (externa) obviament amb 32bpp. Per si això fos poc ja m’he demanat dues pantalles Samsung de 22″ una que tindré a l’oficina i l’altre per casa, ambdues són idèntiques així podré tenir tot configurat igual a un lloc i a l’altre. O sigui, la pantalla externa a 1600×1080 i l’altre com la tinc ara.

Comentar que la targeta de so ha estat una mica difícil de configurar, no tan perquè no funcionés ràpidament. Sinó perquè no es reconeixia automàticament. Finalment he desactivat el suport ALSA del kernel i he instal·lat el driver extern concretamen la versió en desenvolupament. En Gentoo són els paquets media-sound/alsa-headers-9999 i media-sound/alsa-driver-9999, després fent un alsaconf i restaurant els volums tot a rutllat.

La resta de coses com la webcam, lesctor de targetes flash, comandament a distància i lector d’empremta digital encara no els he provat de configurar malgrat sé que han de funcionar. Per altre banda, la gràfica, el so, el disc dur amb turbo flash SATA, etc. funcionen molt bé.

Sobre la feina comentar que hem fet un parell de sistemes de distribució per dues pantalles amb Linux embedded que si tot segueix el seu curs han d’alimentar una xarxa de mil pantalles, tot i que de moment en proves només n’hi ha tres de funcionant i la cosa va molt bé. Perquè ús en feu una idea són unes pantalles que van a uns comerços i que mostren llistes de reproducció basades en imatges (JPG) i videos (MPG4).

Per altre banda, també hem fet un munt d’apliacions que treballen de la mà pel món dels kioskos. Realment espectacular: sistemes de creació de continguts, servidors d’aplicacions, players multimedia completament online amb cachés locals en el player, sistemes de monitorització de xarxa, estadístiques, PKI per control d’VPNs i mil històries més que algún dia hauré d’explicar a la web de l’empresa malgrat, això s’ha de reconeixer, que fa molta mandra documentar i més després d’acabar tanta feina.

La conseqüència de tot això…

ja ho heu vist, tinc l’estudi de casa fet un caos. Caixes apilades i papers sobre papers que s’acumulen. A veure si poc a poc vaig ordenant les coses. Però la veritat no tinc cap pressa, espero que això passi durant els propers mesos així ja vaig posant ordres al meu petit CPD i renovo una mica el hardware. A més, quan arribi la nova pantalla de 22″ la setmana que ve vull re-ordenar l’escriptori. Ja ús ho ensenyaré quan ho tingui montat, però la idea és aprofitar-me del Synergy i treballar amb 4 o 5 pantalles a la vegada, ja veurem com ho deixo al final.

Passant d’una Ubuntu real a una de Virtual (VMWare)

Reading time: 2 – 2 minutes

Aquesta setmana he clonat un sistema montat en Ubuntu, d’una màquina real a una màquina virtal corrent dins d’un VMWare Server. La veritat pensava tenir més problemes, però finalment la cosa ha estatm és senzilla del que pensava. Intentearé explicar-vos els passos que he seguit, espero no deixar-me cap detall important ja que ho faré de memòria.

  • Servidor nou
  • Creem una màquina virtual amb la VMWare Server Console.
  • Instal·lem una Ubuntu 6.06 LTS (la mateixa versió qu hi ha a la màquina que volem clonar)
  • A diferencia de la original aquesta la montem amb LVM, això va ser un capritxu meu no una necessitat
  • Un cop finalitzada la instal·lació estàndard i fetes les actualitzacions, instal·lem el servidor d’ssh
  • Servidor original
  • Creem un fitxer de text amb aquest contingut, l’anomenaré exclude.txt:
  • /proc
    /sys
    /dev
    /mnt
    /cdrom
    /tmp
    /etc/fstab
    /etc/mtab
    /boot
    /etc/iftab
    
  • Ara ve l’hora de la veritat i usant rsync començo a clonar la màquina:
  • rsync -cavz --exclude-from=exclude.txt /* root@IP_NOVA_MAQUINA:/
    
  • Apaguem o desconnectem cable de xarxa
  • Server nou
  • Reiniciem la màquina, jo ho vaig fer a sac, o sigui… apretant botó reset de la màquina virtual. Digueu-me radical però vaig pensar que era el millor en aquest cas.

bar: linies de progrés per bash

Reading time: 1 – 2 minutes

Una eina senzilla i útil, a més programada totalment en shell script que encara té més merit. Servei per fer coses tan vistoses com un línia de progrés mentre fem un tar, cp, etc.

Una imatge val més que mil paraules…

bar.png

És fàcil i vistosa, oi que si? en l’exemple es veu com descomprimeixo la pròpia eixa amb una barra de progrés generada per ella mateixa.

Doneu un cop d’ull a la web, a mi m’ha agradat molt l’eina i l’he usat per fer un CD d’instal·lació d’una eina de la feina. Per si la web deixés d’existir, que això ja passa amb aquest tipus d’eines deixo una còpia del programa a l’article: bar-1.4.tar.bz2.

inotify, inotify-tools i incron: un gran descobriment per substituir dnotify

Reading time: 2 – 3 minutes

Fa forces anys, vaig parlar del dnotify és una eina que ens permetia saber quan hi havia un canvi en els fitxers d’un directori, llavors aprofitabem per llençar un procés al produir-se l’event. Com que l’arquitectura interna del programa comentat no era massa bona (controlava els canvis a base de fer pooling) i degut a les millores dels nous kernel, s’ha aprofitat el concepte de l’inotify: inotify is a Linux kernel subsystem that provides file system event notification..

Així doncs, les inotify-tools són les eines que ens permeten usar aquesta funcionalitat del kernel des de l’espai d’aplicacions d’usuari. Realment un passada. Permeten vigilar un fitxer, per generar-ne estadístiques, llençar processos associats quan es detecti un determinat canvi en el fitxer, etc. Però potser la funcionalitat que més m’ha interessat és la de la llibreria que ofereix per programar aplicacions usant les funcionalitats de l’inotify.

Concretament aquestes llibreries són les necessaries per compilar el incron. Per mi l’aplicació final més genial de totes: es tracta d’un ‘inotify cron’. Bàsicament l’eina es composa de dues parts d’un dameon i d’una taula d’accions. Aquesta taula s’usa d’una forma semblant al servei de cron. La diferència és que els events no són senyals horaris, sinó captures d’evenets del sistema de fitxers.

Un exemple d’especte que pot tenir el incrontab -l:

/var/mail IN_CLOSE_WRITE abc $@/$#

Això captura l’event cada cop que s’hagi canviat un fitxer (IN_CLOSE_WRITE) dins del directori /var/mail, després llença el programa abc passant com a paràmetre el path/file_name. Com podeu veure la potència és infinita i la simplicitat d’ús és impressionant. Potser el que més m’agrada és el fàcil que és tenir centrilitzats tots els directoris que estic controlant i les accions associades. Per exemple, és ideal per mantenir un RSS de les novetats de música, video, descàrregues, etc.