20081210

IKEA WFT - homenatge a Enjuto Mojamuto ?

L'altre dia vaig anar a l'IKEA i sempre m'agrada mirar els noms dels productes, ara, que aquest s'endú la palma.






Todo el mundo odia a los niños Pöplick, incluso yo odio a los niños Pöplick.

20081209

Articles interessants d'avui

Com a recordatori per mi mateix com a mínim, he vist un nou PNG Fix per IE6 (a veure si trobem el Sant Greal dels PNGFixs per fi) i un exemple de com fer servir la API de Akismet per detectar SPAM desde PHP.

http://www.webresourcesdepot.com/ie6-png-fix-more-features-dd_belatedpng/
http://blog.unijimpe.net/utilizar-akismet-con-php/

20081205

Com ens prenen el pèl



  • Els xiclets van bé per les dents
  • Rentar els plats et cuida les mans
  • Conduir un cotxe protegeix el medi ambient
  • ...


El que no entenc es com encara no han inventat els cigarrets que curen el càncer de pulmó!

Segur que trobeu 50.000 exemples més, afegiu el vostre comentari.

20081201

Instal·lacio d'un nou PC


Sempre que instal·lo un nou PC intento que sigui un proces lo menys painful posible.

Fins i tot al 2008 on moltes aplicacions ja son rollo web, deu n'hi do la de aplicacions que has d'instal·lar en el PC.

De moment deixo la llista (espero que definitiva) de software que he instal·lat en el nou portàtil i els passos que he seguit.



1. Configurar la WIFI

2. Instal·lar software:
- AVG Antivirus Free
- Firefox 3
- Flash Player
- NotePad++
- Filezilla
- Navicat
- Chrome
- Palm Desktop
- Avantgo Client
- Safari
- Thunderbird
- VLC Player
- VNC Free
- Putty
- ActiveState Perl
- The GIMP
- WireShark
- Pidgin
- ScreenHunter
- WinRAR
- Office 2003 (contra mes antic millor)

3. Instal·lar Firefox add-ons:
- Firebug
- Alexa Sparky
- Firecookie
- MeasureIt

4. Instal·lar Thunderbird add-ons:
- Diccionari català
- Diccionari castellà
- Diccionari anglés

5. Desinstal·lar el que venia amb el portatil i no m'interessa:
- Norton Security (trial)
- Google Desktop

6. Configurar unitats de xarxa, impressores i scripts de backup amb PERL

7. Configurar l'escriptori i el menú de Inicio.




20081127

Posts interessants sobre la situació actual de la web 2.0

Avui he vist dos artícles bonissims sobre la situació de la web 2.0, en concret després de tot el lio de Mobuzz.tv.

Mobuzz, Dans y la economia de la cancamusa
Odio la web 2.0

Per la meva banda tinc molts esborranys de posts i un d'ells té el títol de "Emprendedores!=Mendigos", els que l'entengueu ja imaginareu de que va :) aquests artícles m'han reforçat en les meves idees.

20081118

busco travajo inmediato de lo que sea

Gestiono una web de treball i una de les coses que no acceptem son demandes de gent buscant feina.

De totes maneres, aquesta es mereixia ser publicada, jutgeu vosaltres mateixos:


busco travajo inmediato de lo que sea

busco travajo soide sabadell y nezesito travajar
de lo k sea ya se de lipieza komo de dependienta
e estado travajando en panaderias restaurantes
kuidanod niños pekeños de limpieza bueno y ahora
mismo nezesito travajar si algien me nezesita o
me ayuda a enkontrar un travajo si puede ser por
sabadell solo si puede ser este es mi numero de
kontacto ***** y el del movil **** me
yamo **** **** **** tengo 17 años kumplo 18
en abril notengo beiculo y e estado en el instituto
asta 4ª de ESO

grcias por su amabilidad de poder escribir aki!


Que consti que soc el primer que comet la ostia de faltes d'ortografia, però tot té un límit, no creieu ?

20081103

Relat sobre l'evolució de les distraccións al lloc de treball

Soc l'home més desgraciat del món, us explicaré la meva historia en format de twits, follow me!

Als anys 70 es va popularitzar tenir un telèfon per lloc de treball. Al cap de 3 mesos em van fer fora per fer trucades personals a la feina.

A finals dels 80 es va estendre l'us del PC a les oficines. En 6 mesos m'havien despatxat per jugar al pac-man i al tetris en hores de feina.

Als primers 90 va entrar l'email a l'entorn corporatiu i evidentment em passava tota la jornada laboral enviant emails personals. Al carrer.

A finals dels 90 es va introduir internet al lloc de treball. No vaig aguantar la temptació i vaig acabar al carrer per mirar pagines "no de feina"... No donaré més detalls.

Pok dspes vaig kure viktma d la fbre ds sms, puta kalle x no parar denv. Misatgts :(

Un any més tard em vaig enganxar al messenger, estava més hores xatejant que currant. Al carrer.

Al 2003 va posar-se de moda tenir un blog, em vaig apuntar al carro dels primers, evidentment una bona part dels meus posts eren consagrats a rajar de la feina i dels caps.

Vaig arribar a ser un blogger famós... però a l'atur.

Fa un parell d'anys em vaig obrir un perfil a facebook, com bona eina de sociabilització, vaig començar a pujar fotos de tota mena i els meus amics em taggejaven alegrement en fotos "compromeses".

No només em van fer fora, aquest cop fins i tot perdia les feines abans de començar si l'entrevistador tenia perfil de facebook i mirava el meu perfil.

Ara tot a millorat, utilitzo el twitter per registrar tot el que passa a la meva vida, fins el més mínim detall.

Crec que soc l'aturat amb més followers de la twittersfera !

PD: Qualsevol semblança amb la realitat es pura coincidencia :)

20081030

La nostre gateta al Google Street View

La Abby ja es una internet-rock-star, aquesta gata es tan tímida que no la veureu mai en directe ja que s'amaga a la mínima que sent un soroll i fins i tot s'espanta de mi.


Peró no va deixar de prendre el solet només perquè passes pel carrer un cotxe amb una càmera molt psicodèlica.



Aquí una foto de la Abby en un moment d'estress :)



20081016

Redirecció de dominis mantenint el pagerank

301 powa! 

Amb la relativa novetat dels dominis .cat de vegades ens podem trobar que un client esta molt ben posicionat a google amb el seu domini .es pero no tant bé amb el .cat

Segons google, la solució per migrar un domini es utilitzar redireccions 301 o moved permanently, com que ens interessa només utilitzar example.cat a partir d'ara i deixar de fer servir example.es (encara que continui actiu) aplicarem el seguent codi a les primeres linies del nostre controller.


if ($_SERVER['SERVER_NAME']=='www.example.es'
|| $_SERVER['SERVER_NAME']=='example.es'
|| $_SERVER['SERVER_NAME']=='nou.example.cat')
{
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: http://www.example.cat'.$_SERVER['REQUEST_URI']);
die();
}


D'aquesta manera aconseguirem que les urls amb example.es es redireccionin permanentment a les que tenen example.cat, fixeu-vos que mantenim la resta de la url (utilitzant $_SERVER['REQUEST_URI']) i així portem a l'usuari a la pagina que volia arribar pero amb el domini canviat.

Exemples:
http://www.example.es/hola/hola --> http://www.example.cat/hola/hola
http://example.es/hola/hola --> http://www.example.cat/hola/hola
http://nou.example.cat/hola/hola --> http://www.example.cat/hola/hola

(en l'exemple nou.example.cat era un domini temporal que vem utilitzar mentre estavem desenvolupant i que ja no ens interessa mantenir)


20081004

Fascicles setembre 2008

Sembla mentida però ja fa 5 anys que tinc la estúpida tradició de publicar una llista de fascicles que he vist anunciats per la tele durant el setembre.


Les regles son fàcils, cada vegada que veig un anunci a la tele que anuncia un nou fascicle, l'apunto a la palm i a començaments d'octubre publico la llista (no te perquè ser exhaustiva, potser m'he perdut algun) dels que he vist.

A baix de tot, teniu els enllaços als fascicles d'altres anys.

Aquest any la febre dels fascicles ha començat a mitjans d'agost, encara que també es veritat que a mitjans de setembre ja s'havia pràcticament acabat.

UPDATE: He afegit tres noves entrades que han arribat a començaments d'Octubre, esta clar que es una nova tàctica de RBA per acaparar el mercat de "Fasciclerus-tardíus"

Començem:
  • figuras de plomo del far west
  • soldados del siglo XX
  • la vajilla de tarta de fresa
  • construye el mitico acorazado bismark
  • dragonball gt en dvd
  • abanic arte
  • el sorprendente mundo de terry pratchett
  • trenes electricos de ayer y de hoy, renfe
  • rallye monte-carlo
  • citroen c4 radiocontrol
  • scalextric campeones de rally
  • dc comics superheroes figuras de coleccion
  • el equipo A
  • mario moreno cantinflas
  • gran sagas novelas romanticas
  • curso practico de pilates
  • punto de cruz
  • enid blyton, los cinco
  • curso de ingles planeta agostini
  • monta y decora tu casa rustica mediterranea
  • relojes de coleccion
  • biblioteca cesar vidal
  • curso de dibujo manga
  • lo mejor de placido domingo
  • mil ideas de ganchillov
  • a la mesa con disney
  • princesas disney
  • el manga legendario dragon ball (figures)
  • mariposas
  • el hombre y la tierra
  • grandes escritoras
  • clasicos de grecia y roma
  • biblioteca gredos

menció especial (com a mínim jo no l'he vist a la tele) para "star wars, naves y vehículos"

TOTAL: 35


Evolució dels fascicles en els últims 5 anys:

20080923

CODERS KARMA



Avui hem solucionat un bug de la editora "hard candy cms 2.8", es tracta que al guardar les imatges, calculem la seva mida amb el GD (width i height en pixels). Per enmagatzemar els valors, vaig fer servir la columna num_val que era una columna "float" que no es feia servir en aquest cas.

La idea era guardar el width com part entera i el height com a part decimal, MOOOOOOOOOOOOOOOOC, error !

Si tenim un tamany de 400x400 pixels per exemple, el cabron del mysql enmagatzema 400.4 en contes de 400.400 !

Això demostra que com jo sempre dic, el KARMA DELS PROGRAMADORS pasa factura.

Repetiu amb mi: No utilitzaré mai un camp de base de dades per un altre us pel qual no estigui dissenyat (i menys si es un float)

Finalment m'he vist obligat a crear un nou camp img_info a la taula de valors de la editora que s'utilitzarà només en valors de tipus (I)mage.

BON KARMA a tothom i bona Mercè

Predicció de línies argumentals de GH10




Gema Zafra, la "casada", esta claríssim que l'han ficat allà amb el seu marit perquè tots els "six-pack" (aka "tauleta de xocolata") de la casa vagin a per ella com llops assedegats i provoquin una ruptura matrimonial en directe.

Morbo de la situació:

- El seu marit Carlos Fernández, el "dormilón" aficionat a les "consoles" i amb un treball manual no es rival contra el "Asesor financiero" (ara tampoc es que sigui una gran feina, jaja) o contra el "feriante" que te una feina exòtica i excitant (recordeu "la lei del feriante dels simpson?)

- Per acabar-ho d'adobar no poden dir que estan casats, o sigui, que la veda estarà oberta pels nois més guaperes de GH10

- S'ha de reconèixer que la noia esta força bé.

No cal dir que un altre línia argumental que es vol seguir aquest any es la del "gay que sortirà del armari en directe" (Javier Palomares), potser amb el marit de la Gema, que estarà "despechado" per la seva ruptura ?

De moment avui ja em perdre la "gala" perquè vaig a veure Pumuki, Russian Red i The Long Winters al BAM, ja m'ho explicareu !

20080919

A ningú li passa aixó?

Avui m'he decidit a reportar un bug de Google Analytics, com pot ser que sempre que tinc el firefox minimitzat amb el google analytics vegi aixó a la meva barra de tasques ?


Senyors product managers, s'ha d'arreglar aquest tema !

:)

Per ser cercable, he de ficar el texte i no ser subtíl

"Dashboard - Google Anal..."

20080906

Reflexions matinals, IBM -> Microsoft -> Google


Aquest matí he pensat que la "empresa top" en informàtica, primer va ser IBM i va venir Microsoft i li va pendre sense vendre ni una sola peça de hardware i ara es veu a venir que Google li arrebatarà el lloc a Microsoft sense vendre una sola peça de software.

Quin serà el següent pas ? Haurem d'esperar 20 anys probablement :)

Paradigm Shift !

20080903

S'estrena google chrome


Aquest matí m'he descarregat el google chrome i la veritat es que te bona pinta.

Fa uns quatre anys, quan firefox encara era novetat hi havia molts rumors sobre el llançament de un navegador de google per obrir una nova "Browser Wars"

Després de molt de temps sense rumors (o com a mínim jo no m'he enterat) i d'estar finançant el projecte firefox durant anys (i amb una ampliació del suport fins al 2011) ara google es despenja amb un nou navegador.

De moment he vist que les webs d'omatech es veuen correctament, encara que de ben segur surten incompatibilitats i hacks, que si el Acid test esto que si el Acid test lo otro.



M'ha agradat que al obrir un nou tab surtin les webs més accedides, però encara li falta bastant en quant a velocitat de renderitzat de la pàgina (dona la sensació que ha d'esperar a tenir tota la plana per mostrar alguna cosa)

De totes formes, si això resta popularitat al maleit IE6, es benvingut.

PD: Escrit desde google chrome

20080829

Perquè no vull un iphone i perquè em moro per un iphone



Aquí us deixo les meves reflexions sobre l'iphone 3g, com a palm-addicte que s'acaba de migrar a una palm centro.


Com suposo que molts usuaris de palm, tenim una relació amor-odi amb palm i una enveja radical pel cool-factor dels iPhones.



Perquè no vull un iphone?:

- per l'agenda, inferior a la de palm
- per l'aplicació de notes
- per la sincronització, vull poder tenir backups de tot a 3 ordinadors i si escric una nota al mòbil o a qualsevol ordinador s'em sincronitzi automàticament. Es tant demanar quan palm ho fa desde l'any 1998?
- per la imposició de Telefónica
- no te copy paste !
- per l'itunes, que es desastrós
- perquè la bateria no es pot extreure
- no suporta targes sd o microsd
- no te teclat fisic o graffiti
- no te stylus i acaba ple de ditades (com a mínim la pantalla tàctil de les palms accepta taps amb l'ungle amb lo que la pantalla no s'enguarra tant)

Perquè em moro per un iphone?:

- per vacil·lar
- per vacil·lar
- per vacil·lar
- pel safari que es el millor navegador mòbil ara per ara
- per la wifi (que he perdut amb la centro)
- pel reproductor de vídeo
- per la pantalla, gran i brillant (aaaaaaaaaaaargggggggggggggh)

20080828

Fucking suse and php5 problem

I'm trying to setup a new server with a new apache, php and mysql.

Copying the same php development files must be enough, but I've spend two hours with this stupid error.

When connecting to the website, I've got a dump of php code, initially I though that it was the full code of the file referenced but investigating for a long time make me realize that it was the code of a single file included in the initial file.

The problem was finally that I've wrongly started some files with:
<?
instead of the full
<?php

Problem solved, but a lot of more white hair growing from my skull :(

UPDATED: Finally I've activated the short_open_tag in the php.ini file because is used in other places (correctly) when I wanted to display variables in template files. Thanks Oriol.
At least I've changed the wrong php files with the short open tag at the beginning.

20080721

Summercase 2008

Aquest cap de setmana ho hem donat tot al Summercase 2008, ha estat una cita memorable, alguns diran que hi havien pocs bons grups o que el Forum fa una pudor impressionant.

Es igual, els festivals son molt més que aixó. Una cita social, un remembering, un "descobrir un nou grup", un sortir fins tard en una edat que ja no surts tant, unes cervecetes al costat del mar, unes cervesetes sota la lluna plena...

:)

Aquí algunes de les millors fotos que m'han sortit:



Whitey



Blondie



Maximo Park (1/2)




Maximo Park (2/2)





The Breeders (1/2)




The Breeders (2/2) (Interpretant Drivin' on 9)




Raveonettes


I finalment les fotos més personals i/o més frikies:


La noia que va aconseguir una sabata de la Debbie Harry!



El "Bonico del TOOOOO" del Summercase 2008

20080716

Sortida d'omatech

Encara no estic 100% recuperat, pero el passat divendres vem fer la sortida anual d'omatech(ja tradicional) i aquest cop ho vem donar tot.

Va ser una pasada, ens ho vem pasar tots genial !

Karting a Sils, equip de omatech al completo

Painball al Fang Aventura, Equip d'omatech amb algunes baixes :)

Des de l’any passat, com a mínim un cop a l’any, aprofitem per a muntar dia de desconnexió total de projectes, clients i lliuraments. No ens agrada anomenar-la jornada de ‘team building’, és més una mena d’homenatge col·lectiu que ens donem per la feina ben feta i perquè els resultats acompanyen.

L’horari del dia va ser el següent:

  • 08:00 Sortida des de les oficines d’Omatech
  • 10:00 Esmorzar al Karting de Sils: Butifarra i pa amb tomàquet
  • 11:00 Cursa de karts: entrenament lliure, entrenament cronometrat, pre-final i final.
  • 14:00 Remullada a l’estany de Banyoles

  • 14:30 Dinar a ‘Can Met’ de Mieres
  • 17:00 Paintball a ‘Fang Aventura‘ (Sant Miquel de Campmajor)
  • 23:00 Sopar al Tagliatella Pere IV de Poblenou
  • 01:00 Copes al Bar Bharma de Poblenou
  • Ja intuíem que fer en un mateix dia un campionat de Karts i un campionat de Paintball podia ser esgotador però la descàrrega d’adrenalina, els riures i les mil i una anècdotes ho compensaren amb escreix.
  • Amb la seguretat de disposar d’un equip que rendeix espectacularment tant en els moments de treball com en els moments d’esbarjo, estem convençuts que el segon semestre de l’any serà com a mínim tant bo com aquest primer i podrem repetir una jornada d’aquest estil.

20080710

Buenos clientes y malos clientes

Cuando inicias una aventura empresarial, habitualmente, tiendes a coger todo tipo de encargos (también conocidos como marrones) normalmente no puedes elegir, simplemente te conviertes en un "tragalotodo" siempre que este minimamente en tu ámbito de acción.

Poco a poco, aprendes a discernir entre los encargos que se ajustan a tus conocimientos y a los requerimientos de los clientes y entras en una dinámica mucho más natural (todo esto asumiendo que has solucionado todos tus marrones y has logrado hacerte un nombre en el mercado)

Entonces tienes otro tipo de problemas, coges proyectos que se ajustan a tus conocimientos, presupuestas todos los proyectos de manera similar aplicas un margen comercial (esto no es una ONG) y entonces te das cuenta que debes ser más selectivo todavía.

Incluso aplicando las mismas tecnologías en todos los clientes, las mismas personas asignadas etc. Algunos clientes quedan satisfechos, incluso te agradecen tus esfuerzos y llegas a establecer un buen rollo significativo y en cambio otros se quejan de la calidad de tus entregas, se quejan del precio y por supuesto te piden que realices tareas no presupuestadas rebajando los precios, como es esto posible ?

La respuesta es que debes distinguir rápidamente si estas frente a un BUEN CLIENTE o frente a un MAL CLIENTE.

Los BUENOS CLIENTES son de todas formas y colores, algunos tienen tan buen rollo contigo que hasta te puedes ir de fiesta con ellos, algunos manejan
grandes presupuestos, otros más pequeños, pero habitualmente no tienen problemas en pagar el trabajo realizado y agradecen el esfuerzo que dedicas a sus proyectos.

En cambio los MALOS CLIENTES son más fáciles de reconocer:

- Te pedirán muchas funcionalidades (debiendo dedicar muchos recursos)
- Te RATEARAN el presupuesto, evidentemente sin bajar sus requerimientos (no entienden la simple regla de mas-funcionalidades=mayor-precio)
- Te machacarán con la calidad y te culparán de todos los problemas del proyecto
- Cambiaran de requerimientos continuamente, no entienden que los cambios provocan desvíos y los desvíos incrementan el precio (si no son por tu culpa, claro)

Y el extra bonus:

NO TE PAGARAN PUNTUALMENTE Y EN EL PEOR DE LOS CASOS NO TE PAGARAN

Las excusas para no pagar son variadas, la calidad, los timings, aprobación de las facturas, temas administrativos varios, se tienen que revisar las horas, el precio por hora es caro, el perfil que se ha dedicado es demasiado junior, INFINIDAD

En catalán incluso existe la expresion "EXCUSES DE MAL PAGADOR", no hace falta ni traducirlo.

Intenta huir siempre de los MALOS CLIENTES, aunque te den mucha facturación, es igual porque con lo que te cuesta cobrar acabaras pagando los sueldos de tus empleados, sus horas extras, los IVAs de las facturas, los impuestos por beneficios y una cantidad de cosas más que tendrás que pedir un crédito al banco, poniendo en riesgo tu continuidad a largo plazo.

20080709

Consells per implementar un "MVC framework"

Si algún dia fas un "MVC Framework" recorda les paraules del sabi:

Un "MVC Framework" no es un fi en si mateix, ha de servir per el projecte pel qual l'estas creant.


Afegiria que hipoteticament et pot servir per altres projectes, peró no cal obsessionar-se amb aquest punt.

Un "MVC Framework" ha de contenir les funcionalitats necesaries pel projecte que estas fent i prou, no milloris el Framework per soportar estructures massa genériques perquè acabaras fent un "MVC Framework" només per tenir un "MVC Framework" no per aplicar-lo en el projecte que es realment el teu objectiu.

Si trobes una millora que aplica a tot el framework i que et permetra reduir codi en un munt de fitxers, endavant, pero el meu consell es "si no començes primer a programar es dificil que trobis posibles optimitzacions REALS del framework", refactoring, refactoring and refactoring, until nearly-perfection (recorda que a la perfecció no pots arribar).

Principis per qualsevol web application en general i per un MVC framework en particular:

  • Premature optimization is the root of all evil
  • Keep it simple stupid (KISS)
  • Per un programador, un bon dia es reduir el codi en 100 lineas (si continua funcionant, clar)
  • Programa, no pensis
  • Pensa, no programis

20080701

Que cony feiem sense el Firebug ?

En John Resig (PUTOAMO i creador de JQuery) te tota la raó en aquest artícle que acaba de publicar:

[Firebug] Powering a Web Revolution

Algu s'enrecorda del alert de javascript, del Wireshark per monitoritzar la xarxa per veure que cony feien les peticions AJAX, el canviar CSSs a cegues quan la maquetacio no cuadrava ?


Ai mareta, que fotriem sense el Firebug ???


Si el Firefox ha triomfat més entre els desenvolupadors un dels grans culpables ha estat el Firebug, abans havien extensions com la "Web Developer Toolbar", pero QUINA DIFERENCIA !!!

Sempre dic que fare un donatiu a la gent del Firebug i un cop sincronitzi la meva tarja amb el Paypal ho faig !

Gran concert el de Magnetic Fields el passat 22 de Juny

Jo que no era un ultra-fan de "Magnetic Fields" vaig quedar encantat amb el concert que van donar el dia 22 de Juny al Auditori AXA de l'illa Diagonal.

Espectaculaaaaaaaa !


Us deixo una mostra de la canço "I hate California Girls" que apart es supercachonda :)



So
I have planned my grand attacks
I will stand behind their backs
with my brand-new battle ax
Then they will they taste my wrath
They will hear me say
as the pavement whirls
"I hate California girls..."


Donat el meu enganche a "Magnetic Fields" he creat una playlist (em falta pulir l'ordre perque sempre sigui SUBIDON, SUBIDON)

  • California Girls
  • Zombie Boy
  • 100.000 Fireflies
  • I don't believe you
  • I don't want to get over you
  • I think I need a new heart
  • I thought you were my boyfriend
  • three way
  • Washington DC
  • Yeah! Oh, Yeah!
  • You and me and the moon

I si no teniu prou espai a l'iPOD el mínim imprescindible, la playlist minimalista o per iniciar-se amb Magnetic Fields

  • California Girls
  • Zombie Boy
  • I don't believe you
  • I thought you were my boyfriend
  • Washington DC

20080617

Per fi he contribuït al Firefox Download Day 2008

Per fiiiiiiiiii, he aconseguit baixar-me la versió final del Firefox 3, si volien aconseguir 1 milió de downloads en 24 hores, crec que van sobrats, en 1 hora i mitja ja porten 545.000 downloads (and counting)

Aquí una imatge del Firefox3 baixant:



I aquí una de les estadístiques de download a les 20:30 hora de Barcelona (l'event començava a les 19:00)

Firefox download day, de moment morint d'exit

Fa una bona estona que m'intento descarregar el Firefox 3 (encara que ja fa dies que vaig instal·lant les Release Candidates) i no hi ha manera. La Web de l'spread firefox esta totalment colapsada.

Com a mínim he obtingut el meu certificat en PDF de que he participat al Firefox Download Day 2008

Com crear un CDN gratis utilitzant Google App Engine




Un amic meu que no soc jo :) ha fet un bonic tutorial de com crear un CDN utilitzant la infraestructura mundial de google.

Article sobre com crear un CDN gratis amb "google app engine"

En nomes 68 linies de Python !

Es gratis fins a 5 milions de pageviews al mes.

20080609

Nou iPhone amb 3G i GPS


Per fi han anuncia el nou iPhone.

Crec que a aquest no em podre resistir, 200$ fins 300$

Es menjaran el mercat, garantit !

Be Brave Benjamin al minimúsica del Primavera Sound

20080606

The end of the double-enter ?



Some years ago, 3 to 4 years, firefox start prompting for "Do you want Firefox to remember this password" (I think it was from FF 1.5 but not really sure)

From then the anoying "remember this password" popup has driven us to what I call "The double-enter syndrome", when you enter some login credentials in any site, you usually tend to hit double-enter to, first, submit the form, and then take the default action of the remember-this-password popup.

No need to say that Internet Explorer 7 follows the new trend and makes you choice with a popup if you want to store or not the password, good for them, don't innovate, copy-it.

I think it's one of the worst ideas that Firefox have introduced in the browsers standards, do you remember the double-click ?

Now we have double-enter :)

But Firefox 3 comes to the rescue, the new popup is not a modal window, is more like an option that remains below the browser toolbar (maybe it has to disappear after a while for security reasons ?). It's a lot better than the modal dialog and avoids the double-enter syndrome, oh yeah !

We're all waiting to switch to the new FF3 for the memory leaks issues, but the change in the double-enter behaviour will be one more good reason to change.

IE8 will follow this FF change ?

PS: There're options to change the double-enter default behaviour in FF2 and IE7, but the 90% of the people don't change the options of the browser and that's one of the greatness of the web (and usually the worst nigthmare of the web developer community)

20080603

Els festivals ja tenen moltes canes



Si noiets i noietes, després d'un cap de setmana intens de Primavera Sound 2008, podem constatar dues coses:

- El Fórum fa molta pudor (en lloc de Fòrum li hauríem de dir Ferum)
- La mitja d'edat dels festivals s'incrementa i les canes fan aparició a tort i a dret.

Per això per no quedar-nos com el cantant de Dinosaur jr. haurem de començar a utilitzar "grecian 2000" o "lady grecian", per quan un BuyVIP de grecian2000 ?

:)

Espero properament tenir un moment per penjar les fotos i videos d'aquests dies


20080530

Nou favicon.ico de google


Avui m'he adonat que google ha canviat el seu favicon.ico (veure imatge), nose, digueu-me classic pero m'agradava més l'antic...

20080528

Google AJAX Libraries API a ipsojobs.com



A unes 24 hores del seu anunci, he incorporat a ipsojobs.com el nou google ajax library API.

En algunes pagines fem servir jquery i ens va de conya tenir hostatjat a google una llibreria com jquery per diverses raons:

- Descarreguem el .js d'un nou domini, el navegador pot fer mes peticions http en paral.lel
- JSs minified
- JSs utilitzen gzip i headers correctes per cachejar en general
- No enviem cookies a google ja que no hem fet altres peticions a aquest domini

Podeu veure exemples entrant en qualsevol oferta de ipsojobs.com

Ara tinc un A+ segons el YSlow una pagina d'oferta mitja pesa 66Kbs totals i nomes 21Kbs agafant de la cache.

20080524

WAP, el protocol que va acabar sent un "bollito"



M'enrecordo que fa uns anys (uns 10) el WAP estava predestinat a liderar la web movil.

No se si en altres països haura triumfat, pero aquí on les operadores basen el seu negoci en sablar als clients quan es connecten a internet, el WAP va ser un fracas rotund.

Mai vaig acabar de dominar el WML pero pel que vaig veure era bastant liat, cosa que tampoc ajudaba a la seva implantació.

Després de la euforia inicial amb bastants productes incorporant el WAP als seus noms, finalment el DOOWAP ha quedat i el WAP ha desaparegut.

Llarga vida al DOOWAP

20080523

Pirateig de cançons a anuncis ?



Ja fa temps que em dona la sensació quan veig un anunci que estan utilitzant una canço coneguda amb lleugeres variacions per no pagar drets d'autor (o perque potser es senten creatius i volen fer variacions)

Per exemple, ara estan on-air dos anuncis que em donen aquesta sensació:

Imagenio - plagi del "Common People" de Pulp ?
Chrysler (no recordo el model) - plagiant el tema de "La Pantera Rosa" ?

Que opineu ?

Us ha passat algún cop ?

UPDATE: Ara acabo de veure el de Chrysler a la FOX, "FOX te presenta el Chrysler 300C"

20080522

Visita de Tele3 a les oficines d'omatech.com

Ahir van venir dos simpatics reporters de TV3 a fer-nos una entrevista sobre relatsencatala.com

Vem fer una mica d'actors amateurs i va ser divertit.

La setmana vinent esperem sortir en alguna petita peça del Telenoticies Mitgdia relacionada amb la literatura a internet on el web relatsencatala.com d'omatech.com és lider, per celebrar la setmana de la lectura.

A posteriori els periodistes van posar per nosaltres i el Carlos fer unes fotos divertides (pels qui no em coneixeu soc el que fa el tonto al fons), el Miki va ser l'star principal.



Ja podem fer servir Firefox3, el firebug ja es compatible

Ja m'he començat a instal.lar la RC1 del Firefox3, de moment al portatil de casa.

No m'havia atrevit perque encara el firebug no era compatible i sense aquesta eina, la veritat, es perd molt en quan a productivitat.

Ara ja es pot descarregar la nova versió del firebug a la següent adreça: Get Firebug 1.2

Ah per cert, post introduït utilitzant firefox3

20080521

Anda ya amb la crisi !

Tanta crisi i tanta ostia i aquest dissabte em vaig quedar sense poder anar a dinar a "Els Pescadors" perque estava plé !

Si tanta crisi hi ha com hi ha tanta gent que s'en va a dinar a 75 euros el cobert ?

Hi ha més paranoia que un altre cosa.

20080409

Meme d'avui fa 10 anys

Avui fa 10 anys la meva vida era radicalment diferent, he pensat fer un petit meme, qui sap, potser el miri d'aquí 10 anys més i em faci gracia.


Situació sentimental:


Fa 10 anys acabava de començar a sortir amb la Eva, actualment portem 8 anys de convivència i 4 de casats :)

Situació Laboral:

Al 1998 era consultor d'Oracle, havia acabat el projecte del Ticketing de la Caixa (ServiCaixa) i encara no havia entrat al mega-projecte Sony.

Cobrava uns 1.000 euros al canvi, així que vaig ser un precursor de l'anomenat mileurisme fins i tot abans de que s'implantes l'euro.

Després vaig estar uns 3 anys al projecte Sony dins d'Oracle.

A partir del 2001, 6 anys com a responsable tècnic de lavanguardia.es i elmundodeportivo.es.

I finalment com a emprenedor a Omatech on soc CTO i fundador.

Lifestyle:

Aquí hi han hagut molts canvis, de viure a casa els papes al 1998 a independitzar-me i anar a viure amb la Eva a començaments del 2000 a un pis de 45m2 (tambe vaig ser un precursor dels mini-pisos) a canviar-me al pis on visc ara, no es per vacil.lar però es un dúplex de 94 metres amb parking, encara que en realitat es tot del banc.

Evidentment dins de l'apartat de lifestyle no podem oblidar que els caps de setmana del 1998 me'ls passava anant al A+SACO (actual RAZZMATAZ) divendres i dissabte, sessions maratonianes !

Actualment un bon cap de setmana es el que no tinc que currar i no tinc compromisos socials, i el puc passar amb pijama i pantumfles amb els gats i la Eva mirant la tele o series al portàtil.

Situació econòmica:

En aquest punt no em puc queixar, de ser mileurista a Oracle he passat a tenir un sou considerable, encara que sent emprenedor hi ha mesos que s'ha de sacrificar la paga :)

Nomes cal dir que he passat de no tenir hipoteca a tenir una hipoteca de 300 euros al mes pel mini-pis (en paral·lel amb crèdit pel cotxe i milers de crèdits mes, fins i tot per comprar el llit) a tenir nomes una hipoteca pel nou pis en l'actualitat, això si, de 1.200 euros !

Música:

Aquí els meus gustos han variat poc, descobreixo grups nous com Maximo Park, Editors, fa més de temps Kings of Convenience, Interpol, Strokes...

Peró em continuen agradant Pixies, Sr. Chinarro, The Cure, Prodigy, Smiths i tants altres que ja em feien vibrar al 1998.

Tecnologia:

Crec que per aquestes dates de fa 10 anys tenia un mòbil que ara faria vergonya però que era "lo mas" en aquella època, un Ericsson (abans de que fos Sony-Ericsson), posteriorment vaig passar per algun Motorola i un Nokia, fins al Nokia clamshell que tinc actualment.

Els que em coneixeu sabreu que la meva passió son les Palms, he de reconèixer que fa 10 anys no tenia Palm ja que, segons la meva Palm, em vaig comprar la primera el dia 17/04/1998, això vol dir 10 anys menys 8 dies :)

He passat per diverses reencarnacions de Palms durant aquests 10 anys, la primera recordo que em va costar 42.000 peles i me la vaig comprar amb molt esforç de mileurista, com fan al palminfocenter el meu historial es el següent:

Palm Pilot Personal -> Palm Vx -> Palm Tungsten|T --> Palm Tungsten T5 --> Palm T|X

Val a dir que tinc emmagatzemat a l'agenda de la palm tot el meu historial dels últims 10 anys (menys 8 dies), des de hores que feia a Oracle a projectes de Vanguardia a reunions d'Omatech, etc.

Internet:

Fa 10 anys ja era un Internauta empedernit, a Oracle una de les ventatges era tenir una bona (per la epoca) connexió a Internet i una adreça de correu electrònic. Si, ara sembla ridícul, però al 1998 ser un mileurista amb email et donava cert cache :)

A casa, misèria i companyia, durant molt de temps em va acompanyar el meu modem extern de 56ks tant a casa els pares com al primer mini-pis. Posteriorment vaig possar ADSL de ya.com fins que per un error em van donar de baixa (ells s'ho van perdre) i em vaig passar a Jazztel, de moment em funciona i com diem els informàtics, "Si funciona no lo toques"

Coneixements:

Aquest punt també ha sofert molts canvis, com dèiem al grup NCA d'Oracle el nostre lema és NTNPI (No tenim ni puta idea) i això ha de ser la màxima que ha de guiar a un bon informàtic, mai ho podràs saber tot, però lo important es tenir ànsies de coneixement.

Fa 10 anys estava força tancat al món Oracle, que si PL/SQL que si SQL*Loader que si Forms que si Oracle Application Server...

Després a Vanguardia vaig ser pioner en els Servlets i JSPs (també amb molt component de PL/SQL a la part de Base de Dades), molt del codi de l'actual lavanguardia.es encara es meu, registre d'usuaris, generació de pàgines estàtiques, vaja, un munt de línies.

Dins de vanguardia ja vaig començar a fer coses amb AJAX amb prototype primer i després amb jQuery que es la canya ! com ells mateixos diuen "Javascript is sexy again"

Fa un any i mitg em vaig ficar amb el PHP i el MySQL i la veritat es que m'encanta.

Qui sap d'aquí 10 anys que estarem fent...

Una cosa curiosa de fer-te gran es com canvia l'adquisició de coneixements. Fa 10 anys aprenia de la gent mes gran que jo, ara aprenc dels mes joves. Espero que ells també puguin aprendre alguna cosa de mi a la seva vegada :)

Bé, segur que em deixo moltes coses, però em direu, a que ve tot aquest rotllo ?

Doncs avui es el meu aniversari i m'he aixecat en plan remembering al 1998 tenia exactament 25 anys tal dia com avui i al 2008 ... bé, calculeu vosaltres mateixos ;)

20080404

Why Google is hiring too many people ?

The answer is simple, since Google IPO, the company started to hire lots and lots of people (engineers basically) to fire them in case of a fall in their shares.

If you have only 2.000 employees or less (pre-IPO time) you cannot reduce your workforce significantly enough to raise your shares price in case of necessity.

Now Google have more than 20.000 employees (ten times more) and my theory is that a lot of them are not doing serious contribution to the company products and services.

Based only on my experience, the [human] customer care of google is as poor as allways has been in the past, try to make a question not found in a FAQ or ask for a index reinclusion and you will feel the nigthmare of talking to real human Googler's.

Let's see if the share's price drop, and then, how many Googler's will return to dull jobs via pink slip ?

Note:

Don't missunderstandme, I'm a huge fan of the google tools and services, the automatic ones and this post is based on my personal opinion only.

20080319

Las 8 preguntas de las consultoras Big-5 al iniciar un proyecto


En el post "Question your work", Jason de 37 signals nos proponía 8 preguntas que debes hacerte antes de iniciar un proyecto (en mi caso para clientes).



Considero estas 8 preguntas muy interesantes y, consciente o inconscientemente, siempre las planteo en los proyectos que abordamos.

Las 8 preguntas originales son estas:

1. ¿Por qué estamos haciendo esto?
2. ¿Qué problema estamos solucionando?
3. ¿Es esto realmente útil?
4. ¿Estamos añadiendo valor?
5. ¿Cambiará la manera de hacer las cosas?
6. ¿Hay alguna manera más fácil de hacerlo?
7. ¿Cuál es el coste de oportunidad?
8. ¿Realmente vale la pena?

Pues resulta que hace unos días tuve una reunión con unos ex-Consultores de una Big-5 que me recordo a mis mejores épocas rodeado de Arturitos en Sony. Entiendo que un director de una consultora high-level, al cabo de los años y con la experiencia acumulada en mil proyectos, resumiría sus ocho preguntas más o menos así:

1. ¿Tiene sangre (pa$ta) el cliente? ¿Está dispuesto a que alguien le chupe la sangre (tiene presupuesto)? Si no es así, más vale echar a correr, no sigas leyendo.
2. ¿Puedo ser yo el que se lleve el proyecto? ¿Tengo algún conocido/pariente/networking dentro del cliente que me ayude a conseguirlo?
3. ¿Es posible que el proyecto que estoy intentando vender sea totalmente inútil, pero tan caro, que el director general de la compañia apruebe el presupuesto, aunque sea para vacilar con sus amigos directores generales mientras juega a golf?
4. ¿Tengo acceso al susodicho director general, el que toma las decisiones, y me da igual lo que opinen el resto de empleados que realmente utilizarán la herramienta?
5. Aunque el proyecto sea un fracaso, ¿tengo algún cabeza de turco a quien culpar? Es ideal escoger algún empleado del cliente, que son los peor vistos por las altas esferas, si puede ser el único que lo ha dado todo por el proyecto, mejor; ¡así seguro que salen más proyectos en el cliente!
6. ¿Soy capaz de incorporar un equipo de Análisis de como mínimo 5 personas y que creen un PowerPoint de mínimo 30 Slides, lleno de obviedades, antes de la firma del proyecto y por supuesto facturar todos estos recursos (de perfil recién licenciado) a precio de MBA de Stanford?
7. ¿Puedo colocar algún consultor mega-experto de Madrid (si estás en Barcelona) o de Barcelona (si estás en Madrid)? Luce un montón, sacarás algo más de margen con las dietas y encima siempre tienes tema de conversación con él. El lunes a media mañana cuando llega: "¿Cómo ha ido el vuelo?" y el viernes después de comer: "¿A qué hora tienes el vuelo?"
8. ¿Tengo algún perfil del tipo high-level-project-manager, si puede ser gordito y bonachón mejor, que sólo vaya a la primera y a la última reunión del proyecto y cuyo propósito principal sea invitar a comer o cenar a toda la cúpula directiva y después tomar unos cubatas y lo que surja?

Como veréis, no soy muy amigo de los consultores de alto nivel, ya que se comen los jugosos presupuestos grandes dejando las migajas que realmente aportan valor para las pequeñas pymes tecnológicas :)

20080315

Se busca actor PORNO para nueva productora GAY



Mes o menys aquest es l'anunci que s'ha publicat fa poc a MADRID.IPSOJOBS.COM

Espero que tinguin exit amb la cerca de candidats...

Justament, un dels objectius de ipsojobs.com desde la seva fundació va ser captar totes aquelles ofertes de feina que d'altres canals no cobrien, ja sigui per cost (una persona que busca un cangur no esta disposada a pagar per publicar un anunci de feina) o per censura (no crec que la productora porno-gay, pugui publicar l'anunci a infojobs).

Veure anunci, solicitant actors porno-gay per una nova productora a Madrid.

Estem contents de la marxa d'ipsojobs.com en els 6 mesos que portem on-line, podeu veure el post de half-aniversary aquí

20080311

Medio-Cumpleaños feliz ipsojobs.com !



Este domingo (jornada electoral) ipsojobs.com cumplió 6 meses un medio-cumpleaños y estamos muy contentos de como esta funcionando la página. Queremos agradecer a todos los partners, city managers y usuarios la confianza que han depositado en nosotros.

Esperamos ver un crecimiento progresivo en ofertas, tráfico y usuarios en los próximos 6 meses, de momento, os dejamos algunas cifras conseguidas con mucho esfuerzo y muy poco presupuesto :)

  • Número total de ofertas publicadas: 14.709 (6.563)
  • Ofertas de trabajo activas actualmente: 4.645 (2.395)
  • Media de nuevas ofertas por dia: 81,7 (72,9)
  • Número de sites activos (ciudades): 282 (219)
  • Número de administradores (city managers): 160 (149)
  • PageRank: 4 (4)
  • Alexa Ranking: 62.204 (56.540)
  • Partners: 8 (3)


Gracias a todos los partners, administradores y usuarios. Vosotros haceis de ipsojobs.com más que un tablón de anuncios de trabajo global !

Nuestros partners:

20080309

7 Hechos que demuestran que "Los Simpson" son una nueva religión [Humor]




Esta mañana he pensado que "Los Simpson" se estan convirtiendo en una nueva religión (en España por lo menos), veamos algunos datos.




  • Ves más horas a Homer Simpson, siempre repitiendose en Antena3, que horas vas a misa (si es que alguien sigue yendo).
  • Te encuentras con situaciones cotidianas en las que sueltas, "Esto es como aquel episodio de los Simpson en que...", los sketchs de la serie son las nuevas parábolas bíblicas.
  • Cuando aparece una nueva temporada inédita (con cuentagotas) te lo tomas como el nuevo testamento, respecto a las primeras 6 o 7 temporadas repetidas (antiguo testamento)
  • Hay un choque de religiones entre seguidores de "Los Simpson" y los de "Padre de Família" en algunos locales ya han prohibido hablar de: Política, Religión y "SERIES DE ANIMACIÓN PARA ADULTOS"
  • No sabes porque pero siempre acabas viendo episodios de los Simpson a la hora de comer y/o cenar y te los sabes de memoria, incluso te avanzas a las bromas y las recitas como una letanía.
  • Cada episodio tiene argumentos más inverosímiles pero siempre con moraleja, como los evangelios.
  • Si los Simpson son una religión, Antena3 es la cadena evangélica de San Homer !!! (especializada en el antiguo testamento)


Espero que me mandeis más similitudes en los comentarios y que copies este texto en vuestro propio blog !

:)

20080307

Presentació de l'iPhone SDK (esdikey)

Aquesta nit no podía dormir i com que sabía que hi havia la presentació d'Apple del nou SDK per l'iPhone, m'he decidit a veure el vídeo de presentació.

JA NO PODRE DORMIR !

Increible, un SDK amb accés a totes les funcionalitats del Sistema Operatiu i les increibles funcionalitats que només trobes en un iPhone:

  • Multi-touch interface
  • TCP/IP integrat
  • 3D Engine
  • Geolocalització
  • Accés a la API del accelerometer (moviment espaial, tipus Wiimote)
  • SQLLite integrat
  • Só envolvente multicanal
  • Accés a la Agenda
  • Accés a la camera
  • ...


A més el SDK es gratuït, pots baixar-te'l i començar a programar JA!

Les eines de desenvolupament son espectaculars si fem cas de les demos, trempera tecnológica a tope !


També han pressentat una especie de tenda on podras descarregar els programes (sempre validats per Apple). Falta veure si aquest model de distribució de software trionfa o no, pero les característiques son espectaculars.

  • Instal.lació i actualització dels programes "over the air" sempre que tinguis connexió
  • Els programes gratuits son realment gratuits, si passen el control de qualitat d'Apple, el desenvolupador no ha de pagar res i l'usuari tampoc.
  • Els programes de pagament es venen amb un rati de 70-30 (70 pel developer, 30 per Apple)



L'unic fee que han anunciat es un fee de 99$ per entrar dins del developer program, amb la qual cosa crec que donaran support als desenvolupadors, dema mateix, omatech.com s'apuntarà al developer program, no hi ha res a perdre i si molt a guanyar.

Bé, els competidors ja es poden possar les piles:
  • Nokia ja cal que espabilis
  • Microsoft deixa-ho ja, si en tants anys no t'has fet amb el mercat, desenganyat, ja no ho faras
  • Google, potser necessitaras alguna cosa més que un Android per trencar el mercat.
  • RIM i Palm, el viure de rendes s'ha acabat, el killer mobile device definitivament ha arribat.


Si encara no era un "believer" avui m'han convençut, l'iPhone arrasarà, es un producte trencador que pot capturar molt "developer mind share" en molt poc temps i aquest cop Microsoft no té ni idea del que li ve a sobre.


Més informació a http://developer.apple.com
Per cert aquí teniu el vídeo que m'ha fet veure la llum

20080218

5 Top reasons why “webmasters” do google’s dirty job

If you’re into web development, you may have realized that you’re really working for google every day.Let’s have a look to the different google-tasks performed by a typical webmaster:1. Be kind to the Google search engine2. Google Analytics3. Google Maps4. Google Adsense5. Google Adwords...

read more | digg story

20080202

Com fer un backup incremental en 65 lineas de PERL



Sempre he volgut tenir una manera fàcil de fer backups incrementals de directoris sencers.

Aquest cap de setmana he dedicat un dia (no sencer) a implementar un procés amb els següents requeriments:

- El procés escanejara el directori d'origen i replicarà exactament tot el contingut al directori de destí
- Si pel camí trobem fitxers o directoris ja existents, comprovarem si s'han modificat
- Si el fitxer no s'ha modificat, no el copiem
- Si el directori ja existeix, no el recreem
- El directori d'origen MAI serà modificat pel procés, nomes es permet passar fitxers o directoris al destí, així minimitzem el perill de fer alguna bestiesa

Per mi, es un backup incremental prou bo.


La idea es instal·lar als nous Desktops de la oficina que van sobrats de disc dur, el procés, configurat perquè faci backup de les dues unitats de xarxa que tenim a la oficina i on tots treballem de forma compartida.

Amés una es una unitat de SAMBA que esta mapejada a un Linux de desenvolupament i l'altre es una unitat remota normal i corrent d'un Fileserver amb Windows.

Dilluns crearé un directori de backup per cada unitat de xarxa a cada PC dels nous i provaré el procés, a veure si tinc èxit.

De moment en local em funciona, us explico una mica com ho he fet:

Com sempre diu el Manel, el PERL es molt potent, val a dir que jo sempre modifico la frase per "El PERL es potent, pero PERILLOS!!!"

De totes maneres, aquest matí m'he instal.lat la versió gratuïta el "Active State Perl" el líder en entorn Windows i he començat a rascar, val a dir que fa un any que tinc experiència demostrada en PHP però el PERL és lleugerament diferent i he hagut de canviar una mica el Xip.

Anem a veure com fer un backup incremental d'un directori origen a un directori destí, en nomes 65 línies de PERL (incloent comentaris i sense fer xapusses per compactar codi)

Declaració de variables i d'intencions:

Les primeres línies son molt avorrides, només fem imports i declarem variables...


use strict;
use warnings;
use File::Find;
use File::Copy;
use File::stat;

my $files_copied=0;
my $files_updated=0;
my $dirs_scanned=0;
my $files_scanned=0;
my $dirs_created=0;

my $source = 'c:/apons/';
my $destination = 'd:/apons2/';
print "Anem a copiar tot el contingut de manera incremental de $source a $destination!\n";


$source serà el directori d'origen (recordem que aquest mai es modificarà) i $destination es el directori de destí, només cal que existeixi, el procés ja crearà tota la estructura de directoris per sota d'ell.

Uff, ja portem 15 lineas, no se pas si aconseguirem fer tot això en les 50 que ens queden :)


find(\&Wanted, $source);

print "Dirs scanned: $dirs_scanned, Files Scanned: $files_scanned\n";
print "Dirs created: $dirs_created, Files copied: $files_copied, Files updated: $files_updated\n";


De fet aquí acaba el "main program", ja que la resta esta a la Subrutina "Wanted", en aquestes 3 línies, simplement cridem a la funció find, que recorre tots els fitxers recursivament partint directori indicat pel segon paràmetre, en aquest cas $source, per cada fitxer s'executarà la subrutina Wanted.

El find de PERL (que podem fer servir gracies al use File::Find; de les primeres línies) em recorda bastant a la comanda de UNIX find . -name "$source" -exec Wanted {} \; (sempre salvant les distancies)

Ah, les altres línies son com un resum de les operacions que hem fet, clar, no ?


sub Wanted
{
my $elemento = $_;
my $source_file=$File::Find::name;
my $destination_file=$destination.substr($source_file, length($source)-1);

if (-d $elemento)
{# Es un directori
$dirs_scanned++;
if (-e $destination_file)
{# Ya existia el directori, no fem res
#print "Directorio $destination_file ya creado NO action \n";
}
else
{# No existia el directori, el creem
$dirs_created++;
print "Vamos a crear -> $destination_file\n";
mkdir $destination_file;
}
}


Anem una mica més al gra, vegem el codi de la subrutina Wanted, aquí es on es realment fem la feina.

my $elemento = $_; asigna el fitxer actual que estem tractant a $elemento;

Assignem a $source_file la variable $File::Find::name que conte el nom complet del fitxer (incloent el directori).

A la línia my "$destination_file=$destination.substr($source_file, length($source)-1);" es on substituïm el directori d'origen pel directori destí.

El "if (-d $elemento)" comprova si el fitxer que estem escanejant es un directori, si aquest es el cas, fem el següent

$dirs_scanned++; incrementem les estadístiques.

if (-e $destination_file), si existeix el directori destí no fem res, en canvi al else, incrementem els $dirs_created, printem un missatge i fem un mkdir per crear el directori destí.

Ja portem 40 línies, ai mareta, no se si arribarem, ens queden 25 !!!



if (-f $elemento)
{# Es un fitxer
$files_scanned++;
if (-e $destination_file)
{# El fitxer ja existeix, mirem la data de modificacio
#print "El fichero $destination_file existe, comprobamos si esta actualizado.\n";
my $source_stat = stat($source_file);
my $source_mtime = $source_stat->mtime();
my $destination_stat = stat($destination_file);
my $destination_mtime = $destination_stat->mtime();
if ($source_mtime > $destination_mtime)
{# Efectiviwonder, el fitxer s'ha modificat, el copiem
print "OJITO, algo ha canviat al fitxer origen $source_file, maxaquem el backup\n";
copy($source_file, $destination_file);
$files_updated++;
}
}
else
{# El fitxer de desti no existeix, el copiem
print "El fichero $destination_file NO existe, lo copiamos.\n";
copy($source_file, $destination_file);
$files_copied++;
}
}
}


El primer if "if (-f $elemento)" controla si el fitxer que estem tractant es realment un fitxer.

El segon, controla si el fitxer de destí ja existeix "if (-e $destination_file)", si es així declarem obtenim les propietats del fitxer origen i el fitxer destí amb les següents línies:


my $source_stat = stat($source_file);
my $source_mtime = $source_stat->mtime();
my $destination_stat = stat($destination_file);
my $destination_mtime = $destination_stat->mtime();


La funció stat, la podem fer servir gracies al "use File::stat;" en aquest cas obtenim el mtime (modification time) del fitxer d'origen i del destí.

Posteriorment comprovem si el "$source_mtime > $destination_mtime" si es així hem de maxacar el fitxer de destí sense pietat, ja que està obsolet:


print "OJITO, algo ha canviat al fitxer origen $source_file, maxaquem el backup\n";
copy($source_file, $destination_file);
$files_updated++;


Com veieu hem aprofitat per printar un bonic missatge i incrementar el contador de fitxers actualitzats.

Finalment anem al else, que es quan el fitxer de destí no existeix, llavors simplement copiem el fitxer al destí, printem un missatge i actualitzem les estadístiques.


print "El fichero $destination_file NO existe, lo copiamos.\n";
copy($source_file, $destination_file);
$files_copied++;



Aquí podeu veure un exemple de una execució incremental:


C:\apons>test.pl
Anem a copiar tot el contingut de manera incremental de c:/apons/ a d:/apons2/!
El fichero d:/apons2//lvg200706120451lb.pdf NO existe, lo copiamos.
OJITO, algo ha canviat al fitxer origen c:/apons/test.pl, maxaquem el backup
El fichero d:/apons2//i_want_you_to_learn_perl.jpg NO existe, lo copiamos.
Vamos a crear -> d:/apons2//proves
El fichero d:/apons2//proves/jquery.js NO existe, lo copiamos.
El fichero d:/apons2//proves/provainplace.html NO existe, lo copiamos.
El fichero d:/apons2//proves/provainplace2.html NO existe, lo copiamos.
El fichero d:/apons2//Superman-RedSon/Superman - Red Son 03/RED SON08.JPG NO existe, lo copiamos.
Dirs scanned: 250, Files Scanned: 2653
Dirs created: 1, Files copied: 6, Files updated: 1


No torno a copiar tot el codi complert, perquè son només 65 línies, una mica de entrenament de copy&paste no us anirà malament ;)

Enjoy!