20061220

<=> SpaceShip Operator



Llegint llibres tècnics moltes vegades m'ho passo millor que llegint algunes novel·les, i es que hi ha una norma no escrita que dicta a tot bon programador-friky, que quan té la oportunitat d'escriure un llibre sobre un nou llenguatge de programació, algun software innovador o un sistema operatiu "de no te menees", ho ha de fer introduint frikades cada 3 o 4 pàgines.

Al començament pensava que era cosa dels llibres de la carrera, pensava, seran els profesor d'universitat que estan torrats... Doncs no, es tot el mundillo informàtic, no hi ha per on agafar-nos !

Seriem carn de psicòleg si no fos perquè estaríem pensant tota la estona com colar-li gols i com fer-lo desquiciar a ell, per no dir que ens mosquejaríem pensant que una persona tant poc qualificada en "Algebra de Boole", s'atreveixi a tractar-nos, A NOSALTRES !!!

Bé, al que anava, tot llegint el llibre "Programming Ruby, The Pragmatic Programmer's Guide" he trobat una perla d'aquelles que sembla mentida que no hagi conegut abans.

L'SpaceShip Operator, es tracta de que en Ruby es pot fer un override de la funció de comparació en qualsevol tipus d'objecte, clar la funció que has d'implementar es diu <=>

A algun friky se li va acudir en el seu dia (sembla que això ja ve de Perl) dir-li SpaceShip Operator per la seva semblança amb un TIE FIGTHER de Star Wars.

Altres ASCII-Art relacionats amb el SpaceShip Operator

TIE Fighter: <=>
Darth Vader's TIE: <=o=>
TIE Bomber: <-o=o->
X-Wing Fighter: >o<
B-Wing Fighter: -o|-

Stay in attack formation.

<=> <=>
<=o=>

El que deia, estem molt malament ...

20061213

Nou webtop Craythur.com








Craythur.com es un altre dels múltiples web-desktops que estan apareixent com bolets.

Suposo que tota aquesta proliferació s'acabara quan Google tregui la seva pròpia versió i realment entri al mainstream.

Craythur com tots els desktops actuals no deixa de ser una joguina (poc suport per multilang, errors de character set, no permet afegir cites si no es via un formulari, drag&drop de finestres molt lent, etc.) peró amb unes finestretes amb transparències molt mones...

Acabo pensant que l'exit o el fracàs d'un webtop acaba depenent proporcionalment del disseny del seu fons d'escriptori de la demo (demo/demo) i el disseny de les seves iconetes.

Ah, una cosa que m'ha fet gracia es que si no fas doble-click a les icones no llança l'aplicació, així m'agrada, perpetuant els errors del passat :)

Via Ajaxian

20061201

El PAIS desperta via SMS a milers de persones

Aquesta matinada m'ha despertat un SMS, i no, no era cap pollastre, simplement es que s'em va acudir (en mala hora) participar en el concurs del PAIS on regalaven un LOFT (tambe colaboraves amb UNICEF)


El missatge que he rebut a les 5:13:23 d'avui (dia 01/12/2006) es el seguent:

Gracias por colaborar en GANAYCOLABORA miles de niños tendran una vida mejor. Si quieres informacion comercial de EL PAIS manda un sms con la palabra OK al 5363


Senyors del PAIS, els confirmo que MAI, MAI, MAI més participaré en una promoció via SMS del seu diari, han demostrat ser una colla d'impresentables.

De fet, m'han desvetllat i he tingut que escriure aquest puto post, perque estava indignat !

20061129

Pantalles de manteniment històriques

Fa mesos que vaig guardant pantalles de manteniment de youtube i d'altres sites, aquí
us poso la meva recopilació aprofitant que avui youtube te uns moments de downtime...

Aquest es l'error d'avui, com veieu amb la pasta de google han pagat a un dissenyador :)

Scheduled Downtime
We're busy pushing out some new concoctions and formulas. We'll back soon... assuming all reactions are stable.



El 5 d'octubre es va donar aquest missatge de manteniment.

You have reached YouTube, the premier digital video repository on the Internet. We are currently rolling out new features to the site. We'll be back soon...


El 17 d'Agost van posar aquest altre missatge, realment es el més creatiu. El diagrama técnic de youtube EXPOSED !!!

We're currently putting out some new features, sweeping out the cobwebs and zapping a few gremlins. We'll be back later. In the meantime, please enjoy a layman's explanation of our website...


El 2 de Juny, va sortir aquest altre missatget, aquest es especialment cachondo perquè conte una referencia ultra-freak (All your base are belong to us (AYBAB2U o AYB))

ALL YOUR VIDEOS ARE BELONG TO US.

UPDATE: No, we haven't been hacked. Get a sense of humor.

UPDATE2: Apparently we can't spel.

UPDATE3: Please stop calling the office, we're trying to work in here.



I finalment el 4 de maig, aquest altre, que es repe.


Aquest es un "bonus track", la pantalla de manteniment de tec.fresqui el dia 10 de octubre del 2006.














Nos hemos visto obligados a realizar un cambio importante en la BD...

Estamos en ello, solo un poco de paciencia, no tardaremos mucho...





Que pasa, si, es freak col·leccionar casques d'aplicacions web, pero no es aquest l'objectiu d'aquest blog ?





20061122

Unes quantes queries per trobar bottlenecks a Oracle

Totes les queries que es mostren a continuació fan servir les "taules" gv$ que son per instal·lacions en RAC, si teniu versions anteriors substituir gv$ per v$

Tampoc he provat amb diferents versions d'Oracle, a mi em funciona amb Oracle 10gR2

Bloquejos


Query per mirar bloquejos, diu el sql_text que esta bloquejant, pot servir com a pista per eliminar colls d'ampolla provocats per bloquejos.

select t.SQL_TEXT, t.LAST_ACTIVE_TIME, c.owner, c.object_name
, DECODE(l.block, 0, 'Not Blocking', 1, 'Blocking', 2, 'Global') STATUS
, DECODE(a.locked_mode, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(lmode)) MODE_HELD
, DECODE(l.type, 'RT','Redo Log Buffer', 'TD','Dictionary', 'TM','DML', 'TS','Temp Segments', 'TX','Transaction', 'UL','User', 'RW','Row Wait', l.type) LOCK_TYPE
, c.object_type, s.sid, s.serial#, s.status, s.osuser, s.machine, s.logon_time
from gv$sqlarea t
, gv$process p
, gv$lock l
, gv$locked_object a
, gv$session s
, dba_objects c
where s.sid = a.session_id
and a.object_id = c.object_id
and p.addr = s.paddr
and t.ADDRESS=s.SQL_ADDRESS
and (a.object_id = l.id1)
order by s.inst_id, s.username, s.logon_time


Long Ops


Permet veure un històric de sessions que han trigat molt i el seu sql associat, la taula dba_hist_sqltext ha estat tot un descobriment perquè pots mirar sqls històrics que han provocat colls d'ampolla o fins i tot casques de Base de Dades...

select lo.START_TIME, to_char(substr(st.sql_text, 1, 3000)) sql, lo.opname, lo.target, lo.TOTALWORK
from dba_hist_sqltext st
, gv$session_longops lo
where (lo.target_desc is null or lo.TARGET_DESC not like '%$%')
and lo.username!='SYS'
and lo.SQL_ID=st.sql_id
order by lo.start_time desc


FULL SCANS històrics


Aquesta query busca a l'històric de explain plans (un altre descobriment la dba_hist_sql_plan) i treu una estadística dels objectes sobre els que s'han fet mes full scans

select dhsp.object_owner, dhsp.object_name, count(*) num, sum(dhsp.cpu_cost) sum_cpu_cost, min(timestamp) primera_execucio, max(timestamp) ultima_execucio
from Dba_Hist_Sql_Plan dhsp
where dhsp.operation = 'TABLE ACCESS'
and dhsp.options='FULL'
and dhsp.object_owner!='SYS'
and dhsp.object_owner!='SYSTEM'
and dhsp.object_owner!='SYSMAN'
group by dhsp.object_owner, dhsp.object_name
order by count(*) desc, sum(dhsp.cpu_cost) desc
--order by timestamp desc


Full scans històrics amb la query que provoca el full scan


Igual que l'anterior pero et diu la query que esta provocant el full scan en questio

select to_char(substr(dhst.sql_text, 1, 3000)) sql, dhsp.object_owner, dhsp.object_name, count(*)
from dba_hist_sqltext dhst
, Dba_Hist_Sql_Plan dhsp
where dhsp.operation = 'TABLE ACCESS'
and dhsp.options='FULL'
and dhsp.object_owner!='SYS'
and dhsp.object_owner!='SYSTEM'
and dhsp.object_owner!='SYSMAN'
and dhsp.sql_id=dhst.sql_id
group by to_char(substr(dhst.sql_text, 1, 3000)), dhsp.object_owner, dhsp.object_name
order by count(*) desc



Com sempre dic, la millor eina per un DBA cada vegada que esta buscant taules de diccionari noves de versió a versió o busca a cegues informació útil que tingui emmagatzemada internament el gestor de BD, es fer la següent query:


select * from dict;


Que treu totes les taules del diccionari d'Oracle amb una descripció.


Gracies a aquestes queries, al suport del nostre estimat DBA (Manel Palop) i a algun cop de mà extern de Nucli Experts, hem pogut passar de dos penjades de base de dades per setmana a que funcioni el sistema com una seda.

Evidentment, el problema era del desenvolupador (perque no dir-ho, meu !) que havia provocat contenció en una taula per un error de programació.

Però si no fas servir una base de dades perquè la tens ? Per això existeix el Tuning, no ?

:)

20061116

Entrevista a responsable de RENFE al Món a RAC1

CORRECCIÓ: Era el programa "Versió RAC1" i no "El Mon a RAC1" (no puc canviar el titol perque hem canviaria la URL)

ACTUALITZACIÓ: Al final resulta que tot va ser una BROMA, aquests de versió RAC1 ens l'han colat bé !


powered by ODEO

Increible, el tio (Sr. Del Moral) acaba despotricant contra Catalunya i els catalans.

RENFE funciona en toda España y sólo tiene problemas en Catalunya
¿Es que los catalanes son diferentes ?


Los trenes van a la hora, lo que no va a la hora son las personas que se suben a los trenes


¿ Ustedes que quieren ?
¿Quedarse con los ferrocarriles ?
Los ferrocarriles los han pagado todos los Españoles !


España somos todos, siempre hablando de la independencia, que siempre estan igual, que se les vé el plumero !


Si ustedes quieren tener los trenes, como quieren llevarse todas las cosas, llevenselos, pero después no vengan a pedirnos dinero !

20061110

El puto clip de office in flesh and blood


Sketch from the CNNNN Newsdesk, A real life clippit who is annoying in all manors of life.

IM-PRE-CIONANTE

Siusplau, qui trobi al clippy pel carrer que el mati !

20061108

Modificació a la Google Maps API


_HYBRID_MAP is not defined
friky foto


Google ha deixat de suportar a la seva API de google maps els MapTypes que (per error) funcionaven d'inici.

A les early versions les constants dels MapTypes no funcionaven com estava documentat, per això havia fet servir _NORMAL_MAP, _HYBRID_MAP, _SATELLITE_MAP sense la G com a prefix.

Ara han modificat el codi per no acceptar aquests MapTypes "parche", per tant seguim la documentació com bons minyons i fem servir el següents MapTypes:





G_NORMAL_MAPThis is the normal street map type.
G_SATELLITE_MAPThis map type shows Google Earth satellite images.
G_HYBRID_MAPThis map type shows transparent street maps over Google Earth satellite images.


Documentació de la API

Exemple de crida:


var map = new GMap(document.getElementById("map"));
map.setMapType(G_HYBRID_MAP);

Manifiesto del mal blogger

¡Bloggers del mundo, únanse a este manifesto!

¿Están hartos de que les recuerden lo mal que llevamos nuestro blog?
¿Están hartos de los viejos consejos de siempre? (escribe regularmente, ten una temática definida, haz entradas concisas, etc…)

Porque teniendo en cuenta que:
I. Nunca vamos a conseguir miles y miles de visitas ni, muchísimo menos, ganar dinero con nuestro blog, ni conseguir el Pulitzer…
II. No creemos que la calidad de un blog venga marcada por su número de visitas ni por la cantidad de páginas que lo enlacen.
III. Sabemos y aceptamos que el 80% de nuestras visitas procederán de nuestros colegas, y estamos felices con ello. (O como mínimo, nos conformamos)
Y, sobretodo:
IV. No escribimos para satisfacer al lector, sino para satisfacer nuestras ansias de escribir y comunicar. Si sólo a diez personas les gusta nuestro blog, estaremos tan felices como si les gusta a mil.

Manifestamos que:
V. El miedo a que un post no guste provoca una retorcida forma de autocensura. Una autocensura que coarta nuestra libertad artística y comunicativa. Nosotros no somos medios de comunicación forzados a vigilar nuestra popularidad. Tenemos el privilegio de no tener miedo al mercado ni a las críticas… ni al olvido. ¡No lo tengamos!
VI. Es posible que seamos felices si uno de nuestros post se hace popular y se difunde por la blogosfera. Pero nos comprometemos a no buscarlo, ni escribiendo lo que consideráremos más popular, ni de ninguna otra forma.
VII. Somos personas complejas, no maquinas especializadas. Por ello, escribiremos aquello que nos parezca interesante compartir, sin importar su temática ni su idoneidad.
Y, en resumidas cuentas:
VIII. Este es mi blog.
IX. Yo me pago y me doy el vuelto.
X. Si a alguien no le gusta, que no lo lea.

¡Si eres un blogger auténtico haz de este manifiesto algo tuyo!
a. Si no te gusta parte del texto o te apetece añadir algo, cámbialo sin complejos.
b. No cites de donde has sacado este manifiesto.
c. No digas quien ha escrito este manifiesto.
d. Ni se te ocurra poner un link a este post que estás leyendo, a no ser que sea para criticarlo o para anunciarlo sin hacerlo tuyo.
e. Es posible que estés leyendo este manifiesto en un blog y no sepas si lo ha escrito el dueño o no del blog. ¿Acaso importa?

Porque todo blogger tiene derecho a ser mal blogger, y estar orgulloso de ello.

20061107

How-to output RFC822 dates in Oracle PL/SQL

There's a little to_char string that can help you in outputting RFC822 dates (the format required for RSS dates) in Oracle PL/SQL.


to_char(sysdate-(1/24),'Dy, DD Mon YYYY hh24:mi:ss','NLS_DATE_LANGUAGE=AMERICAN')||' GMT'


Beware that I've to take one hour off, because I'm in Spain, GMT+1, if you are in a different time zone you only have to add or substract the difference between GMT and your time zone.

I hope you will enjoy.

20061106

Qui pagarà ara el DVD ?


Pobre Mas
friky foto

Ai Mas, Mas, qui pagarà ara el DVD, la Foto de la Moncloa, el Notari i la gomina ? Ara que no tindreu 3% ?

Els qui veu votar ERC, no haver-ho fet si volieu al Mas, mira que era fàcil votar CIU i als de CIU, no haver fet una campanya tant agresiva que al final ni tant sols va poder movilitzar una majoria suficient per pactar amb el PP, que es el que us agrada.


Em quedo amb un comentari que s'ha publicat a la noticia de la vanguardia:

---------
06/11/2006 - 02:24 horas - Sweiz observer - London - Regne Unit

Una darrera reflexió: A tots aquells simpatitzants d'un possible govern de CiU que vulguin manifestar la seva comprensible frustració, seria més coherent que ho fessin a la porta no d'ERC sino dels milers de votants de CiU que es van abstenir o a la porta del maxim responsable del dvd que va cremar qualsevol possibilitat de pacte amb ERC.

20061103

El mercat dels WebOS s'escalfa, apareix PARAKEY


Blake Ross, co-creador de Firefox, ara ficat a Parakey
friky foto

Blake Ross, un dels creadors del popular navegador Firefox, ara esta gestant un Web OS PARAKEY (http://www.parakey.com)

Aquest nou webOS te algunes característiques que el fan mes atractiu que els més simples (tipus EyeOS), la que m'agrada més es que interactua amb un petit programa client per sincronitzar arxius amb la web del producte (i supossadament, saltar-se les restriccions de seguretat dels browsers)

Al tenir un programa client es superen grans limitacions dels webOS actuals, per exemple:


  • Utilitzar les impressores amb drivers locals i sense passar pel navegador.

  • Accedir directament informació a discos locals i storages USBs etc.

  • Implementar un mecanisme propi de seguretat sense la intervenció del navegador



Evidentment té desavantatges, com que s'obre un altre possible front per on es pot trencar la seguretat (en els browser ja succeïx i son molt més restrictius (model SANDBOX))

Un altre dels problemes que veig, és que encara que anuncien que han creat un nou llenguatge (JUL) per que desenvolupadors externs programin dintre del parakey, han declarat que el projecte no sera 100% open-source ni free-software, així que el que crec que succeirà es que apareixerà un nou grup amb la mateixa idea (programa client + browser) però dins el món del free-software. El temps ho dirà.

De moment la web no esta operativa, ni tant sols a nivell de demo, així que ens hem de contentar amb aquest article del IEEE per anar fent boca.

20061031

Foto de fi de campanya !


Que fots aquí al terra, gilipolles ???
friky foto

20061030

El límit de la decencia en un tall de pastís

El Mexicano de Villaroel es conegut per que es menja molt bé, però també té els seus defectes...


  • Si et demanes qualsevol cosa fora del menú, una Coronita, un tallat o el que sigui, ves en compte, et clavaran.

  • Si hi vas durant l'agost, vigila, no tenen menú, pots sortir escaldat pel preu de la carta.

  • Els postres tenen unes proporcions ridícules.



Sobre l'ultim punt l'altre dia se'm va acudir, on és el límit de la legalitat en el tamany d'un tros de pastís per exemple ?


Tall de pastís amb la punta doblegada
friky foto


Tall de pastís al límit de la legalitat
friky foto

Aquí tenim les fotos que defineixen per mi el limit de la decència alhora de fer un tall de pastís en un restaurant, la norma es:

Fer el tall prou gran perquè la punta del pastís no caigui cap els costats !

Esta clar que aquesta norma es pot contravenir de mil maneres, congelant el pastís etc, però en el cas de la fotografia, quatre persones vem demanar pastís i nomes el meu (afortunat que es un) no tenia la punta doblegada, casualitat ?

20061025

Pixies gravaran un nou disc després de 15 anys

La mítica banda de Boston, de la qual soc un malalt absolut, es van reunir fa aproximadament dos anys després d'una llarga absència.

Ara sembla que s'han decidit a fer nous temes, malgrat la reluctància inicial.


Joey Santiago fent un solo al FIB 2006, ROCK ME JOE !
friky foto

La setmana que ve presentaran un DVD amb contingut extret de les seves últimes gires de re-unificació.

Noticia original, del New Musical Express (NME)

Aquí podeu veure els meus posts dels últims concerts, al Primavera Sound 2004 i al Festival Internacional de Benicàssim (FIB) 2006

I els vídeos del FIB, enllaçats no in-line:

20061017

Prison Break vs. Jail Break


Flyer de konami del joc JailBreak
friky foto

Avui m'estava enrecordant del mític joc d'arcade "Jail Break" on lideraves un grup de presos en la seva fuga d'una presó.

Era la època dels arcades 2D amb scroll horitzontal, portaves al pres i podies pillar armes com el "lanza botes de humo"

Era molt divertit.

No em sortia el nom però sabia que era algo com "Prison break" (la mítica serie d'actualitat), però diferent, al final m'he enrecordat i he trobat aquest flyer de konami promocionant el joc.

Encara que no he trobat cap screenshot digne de menció (només algun de Amstrad, molt cutre)

Recordo també que hi havia algún truquillo com tirar un pot de fum a una finestra d'un edifici i et sortia per la finestra una tia amb top-less (dibuixada amb 4 pixels, clar), representava que l'havies salvat d'un policia malvat...

La màquina d'arcade la tenien al bar del Alfa-5 de Barcelona, i amb la meva ludopatia habitual, anava a gastar-me les monedes de 5-duros allà.

Estem parlant dels anys 80, un ja té una edat !

20061003

Fascicles de setembre del 2006

Una vegada passat setembre, sempre m'agrada posar la llista de fascicles que he vist anunciats a la tele...

Son de lo més freak

Fascicles d'aquest any:


  • Citroen 2CV

  • El mundo de Winnie the Pooh (vajilla)

  • Expediente X en DVD

  • Disfruta construyendo tu mismo un reloj de cuco

  • Monta y pilota tu Fokker DR1 (Barón Rojo)

  • La colección Talgo

  • Oliver y Benji Campeones hacia el Mundial

  • Detective Conan en DVD

  • Curso de Inglés de Planeta Agostini

  • Verano Azul en DVD remasterizado

  • V.C. Andrews

  • Sanseya, Los caballeros del Zodíaco

  • Construye y programa tu Robot

  • Curso de Ajedrez Harry Potter

  • Julie Garwood

  • Scalextric Carlos Sainz

  • Curso dibujo y pintura

  • Crea y decora tu casa rústica mediterranea

  • Bomberos del mundo

  • Damas de época

  • Buffy cazavampiros en DVD

  • Abanicos de colección

  • Grandes obras de la literatura fantastica (Narnia)

  • Novela negra actual

  • National Geographic

  • Heidi y Marco

  • Jackie y Nuca y Banner y Flappy

  • Motos de competición a escala 1/12

  • Nuestros campeones de rallies

  • Lo mejor del ballet

  • Bichos, no son replicas, son reales

  • Erase una vez el hombre

  • Biblioteca grandes batallas

  • Biblioteca GREDOS

  • Relojes de colección

  • Ranma 1/2




TOTAL: 36

Aquí podeu trobar:

20061002

Google, català per segons qué


Logo de google amb els castellers
friky foto

Ahir google va dedicar el seu logo als castellers, una de les tradicions catalanes més nostrades.

Es celebrava el 21é concurs de castells de Tarragona

Molt bé google, molt multicultural, però per quant el google adsense i adwords en català.

Si la gent que escriu en català no té (com a mínim) els mateixos incentius que els que ho fan en altres llengües esta clar que el català acabarà morint, com a mínim a la xarxa.

Demanem uns adwords i adsense en català o es que no hi han empreses catalanes que vulguin posar publicitat en la seva llengua ?

20060922

How to render a CDATA section inside an XML output using XSLT

When you are generating an output xml file from another xml using XSLT, usually need to output CDATA sections.

This is tricky and I always invented a new way to output it in each project.

Googling you can find some alternatives

I found this by myself


<jugador id="{@id}"><xsl:text disable-output-escaping="yes"><![CDATA[<![CDATA]]></xsl:text>[<xsl:value select="player"/><xsl:text>]</xsl:text><xsl:text disable-output-escaping="yes">]></xsl:text></jugador>


To obtain resulting XMLs like


<jugador id="51284393263"><![CDATA[Krankl]]></jugador>


I was shure that you can organize a contest of XSLT hacks to get this same result in a lot of simpler ways.

But the real solution, the KISS (Keep it simple stupid) solution is...

Put in your <xsl:output section cdata-section-elements="name of the element to be cdata escaped"

Example:


<xsl:output indent="yes" method="xml" cdata-section-elements="jugador"/>


Then if you have an xslt piece like:


<jugador id="{@id}"><xsl:value-of select="player"></xsl:value-of>


You will have the desired resulting XML, that is:


<jugador id="51284393263"><![CDATA[Krankl]]></jugador>


Automagically !


PD: Thanks to Michael Key for his great books:


Aqui en Michael Kay, quan encara estava conservat (XSLT 1.1)
friky foto



Michael Kay (alias Gandalf) molt més machacat (XSLT 2.0), aguantarà la versio 3.0 ???
friky foto

Lanzado microservidor Linux de 68cc


Gumstix Netstix 200xm-cf friky foto

La empresa Gumstix ha lanzado Netstix, un minúsculo servidor con Linux pre-instalado.

El dispositivo que dispone de 64Mbs de RAM y 16Mbs de memoria Flash, de las cuales 3Mbs estan ocupadas por el sistema operativo.

La distribución Linux incluye los programas BusyBox, uBlibc, el boa webserver, sshd, wget y otras utilidades.

El cacharrico es ampliable via Compact Flash.

El precio es inferior a los 150 euros.

Noticia original en linuxdevices

20060919

La FNAC retratada

Vaya casque pega hoy la web fnac.es !



java.lang.NullPointerException at com.isoco.fnac.services.SessionManagerFNAC.setUser(SessionManagerFNAC.java:192) at com.isoco.fnac.user.UserManagerFNAC.addUserToSession(UserManagerFNAC.java:646) at com.isoco.fnac.user.UserManagerFNAC.addAnonymousUserToSession(UserManagerFNAC.java:608) at com.isoco.fnac.services.FNACCookieProcessor.postCookiesSessionInit(FNACCookieProcessor.java:163) at com.isoco.fnac.services.FNACCookieProcessor.processCookies(FNACCookieProcessor.java:92) at com.isoco.fnac.servlet.fnacRD.execute(fnacRD.java:107) at com.isoco.servlet.v2.RequestBroker.service(RequestBroker.java:147) at javax.servlet.http.HttpServlet.service(HttpServlet.java:83) at com.caucho.server.http.Invocation.service(Invocation.java:325) at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:333) at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:266) at com.caucho.server.TcpConnection.run(TcpConnection.java:140) at java.lang.Thread.run(Thread.java:536)
















Además queda retratada la empresa que les ha hecho la web, isoco.

Esto no pasaría con omatech.com

20060918


La nostra nova gateta, abans es deia Daniela, pero l'hem rebatejat com Abbey, es molt moguda i joganera.
friky foto


Foto aeria, al cap d'una setmana d'arribar a casa la Abbey ja s'ha guanyat al Sebastian.
friky foto


La Abbey es molt moguda, costa molt fer-li una foto !
friky foto


Aqui es pot veure com la Abbey i el Sebastian es toleran... d'aquella manera.
friky foto

20060905

RIP Belle



La Belle, la millor gata del món va morir divendres.

La vem sacrificar al detectar-li un linfoma incurable que li afectava al tórax.








Tots et trobarem a faltar, en especial en Sebastian.
(foto: Belle i Sebastian dormint junts a vora la finestra)




RIP Belle
Juny 2000 - Septembre 2006

20060829

Ubuntu Christian Edition, paraula de Deu

Acaba d'apareixer la Ubuntu Christian Edition, en aquesta distribució s'inclouen bloquejadors de porno així com una compilació del millor software cristià (sic)

El seu lema es "Quin sistema operatiu utilitzaría Jesus ?"

No us perdeu el logo de "El pez de Jesús" !!!

via Boing Boing

Nuevas siglas, para una nueva era

1. PTMCCS
Perdón, tu mail cayo en la carpeta de spam

2. TPVG
Todavía puedo ver google (prueba que demuestra que internet funciona)

3. BAC
Bloggeando alto y claro

4. ES
Es Spam ? (normalmente respondido con EES: Esto es spam en los programas de correo)

5. CPEUP
Cuando Plutón era un planeta (nostálgico, por ejemplo, CPEUP, trabajaba para Microsoft)

6. DDP
Depende del precio (habitual respuesta a la pregunta, "Puedes programar este site web 2.0?")

7. YTCEBDTPM
Yo tampoco conozco el blog de tu *#@%&& Madre (Cuando alguien afirma que no conoce tu blog)

8. VUSE
Vender una start-up en Ebay (normalmente a los 3 o 6 meses)

9. HSM
He sido Meneado (variantes: He sido slashdoteado, he sido boingboingeado, he sido fresquiado ???)

10. EEW2
Es esto Web 2.0 ? (como en, ok, ok, pero ... Es web 2.0 ???)

Si se os ocurren más ...

Post original en google blogscoped

20060824

Creen el primer emulador de Commodore 64 sobre Flash


L'emulador de Commodore 64 sobre Flash9 en acció
friky foto

FC64 es el primer emulador del mític ordinador personal dels 80, el Commodore 64, aquest emulador està sota llicencia GPL.

Els desenvolupadors esperen que la família d'emuladors creixi amb altres incorporacions, ja que el sistema esta pensat per ser extensible.

S'inclouen ROMs d'alguns jocs, com el de la imatge, per poder veure "live demos" en funcionament.

Es necessita tenir Flash9 per poder executar l'emulador.

Web
via boing boing


20060822

Desinformació a la vaga dels treballadors d'Iberia al Prat

Normalment no faig posts sobre temes polítics, això és un blog de frikades vàries, no de política.

Però es que després de molt donar-li voltes al tema, discutir-ho amb amics amb una copa de més i amb la perspectiva que dòna el temps, començo a enterar-me realment del que va pasar al aeroport del Prat el dia 28 de juliol.

Com sempre, la desinformació va estar a l'ordre del día, i no precisament per la longitut de les notícies dels informatius, on la noticia va ser àmpliament coberta, sinó pel contingut dels videos que van crear aquests informatius.

Com a exemples, us poso els videos del youtube, on MAI i repeteixo MAI es parla del conflicte, amb la perdua (forçada per part de la companyia) del handling per part d'Iberia al aeroport del Prat, no s'entrevista MAI a cap representant dels treballadors, i nomes TV1, fa alguna referència a les negociacions entre la companyia i els treballadors.


Notícies TeleMadrid


Notícies Antena 3 (el més indignant)


Notícies TeleMadrid


Notícies TV1


Notícies TV1


Vergonyós !


Em recorda molt a la vaga general de C C O O, us enrecordeu ?


Urdazi Power !

Atenció! no vull justificar el fet en sí de deixar a terra a un munt de persones (a més de forma inesperada i en dates vacacionals), sinó que no m'explico com podem ser tant desinformats i de manera tant sistemàtica. Antena3 és el summum de la desinformació, no paren de repetir testimonis de gent indignada, i lo de que la Creu Roja va repartir bocates, NO DIUEN RES MÉS, només algunes referències a que la companyia no dòna informació als passatgers. Vale, però i a les televisions, tampoc no els hi en donen ? I si elles tenien informació, perque no la donaven? potser perquè és fàcil trobar culpables entre una gent que no té cap mitjà de comunicació per replicar ?

Els únics llocs on pots estar informat d'aquesta qüestió, des del punt de vista dels treballadors son indymedia:
Huelga Aeropuerto del Prat

i kaos en la red:
La huelga de los trabajadores de tierra de IBERIA: el capitalismo salvaje. Historia de un conflicto
Roma puede esperar. Los trabajadores del aeropuerto de Barcelona en lucha
Huelga en el Prat

On queden els dies on la solidaritat entre treballadors, era present ?
Com per exemple, veieu la història de la vaga de tranvies del 51

Avui en dia en lloc de buscar els culpables reals del caos (Iberia; no els treballadors de handling putejats) i fer un boicot com Deu mana, només es discuteix si l'aeroport hauría de ser competència de la Generalitat o de l'Estat i "es lincha" als treballadors, que simplement no van aguantar més la situació i l'engany de Iberia.

No veieu que poc a poc, ens estan arraconant a TOTS cap a ETTs, contractes "basura" i a pagar hipoteques a 50 anys. Perquè ? Potser perquè quan tens por i inseguretat ets molt més manipulable i dòcil ?

Els anglessos anomenen FUD (Fear Uncertainty and Doubt) en el món de la informàtica a crear una especie de resentiment contra un producte o servei competidor El que vinc a dir, és que ens estan envolcallant amb FUD sobre el nostre propi futur, baixant les nostres expectatives de ingresos (ETTs, etc) i incrementant les de despeses (hipoteques, IPC, etc.)

Jo ho anomeno FUD sociològic, o sociological FUD (alguna frikada havia d'inventar-me, no?)

Agustí

20060815

Be Brave Benjamin and Ghost to Falco in the Heliogabal




Ready to sing !

friky foto



MORITZ, nothing better to be brave :)

friky foto



Last gig before departure, at the Heliogabal

friky foto



Be brave Benjamin, don't hide behind the mic !

friky foto







Ghost to Falco RULES !
friky foto



Eric, he's a very good songwriter, the only person I know that have ever heard about Hayden (apart of Otto)
friky foto



Ghost to falco, from Portland Oregon, we describe his style as "Alternative Country without shoes"
friky foto

20060814

Com fer un url rewrite per fer les URLs més "googlejables"

En teoria diuen que per fer que google t'indexi millor el text de la URL importa molt (no estic segur si es una llegenda urbana o no). Algunes de les normes que corren sobre aquesta llegenda urbana son: 1. Fer que les urls tinguin cert sentit, cada vegada més google aposta per interpretar llenguatge natural, i no nomes keywords (es suposa que això de moment s'aplica més al angles que d'altres idiomes) 2. Evitar URLs de més de 250 caràcters, podrien ser considerades spamm per google 3. A les frases que posem a la url substituir els espais per guions "-" i no per underscores "_" ja que sembla que el google no pilla bé els underscores Per fer això, he implementat un url rewrite (mod_rewrite) al Apache de producció, això em permetrà modificar la URL que m'arriba de manera flexible i molt potent. El problema del mod_rewrite, es que es molt complexe, però amb alguns tutorials "per tontos" he aconseguit fer el que necessitava.
troç del mod_rewrite cheatsheet
friky foto La meva idea es: 1. Basar-me nomes en un directori (en el meu cas /gen/) que actualment no té contingut 2. Faré servir dos "variables" a la expressió regular, una pel dia en format yyyymmdd i l'altre per l'identificador del recurs dins del CMS (Content Management System) 3. De moment només mapejaré un tipus de contingut del CMS, noticies, que es el més indexable, així simplifico la gestió. Primer s'han d'incloure les directives genèriques del mod_rewrite: RewriteEngine On RewriteLog /xxx/yyy/apache2.0.55/logs/rewrite.log RewriteLogLevel 1 Això activa el mod_rewrite (a nivell del virtual host que vulguem) i indica on deixar els logs de rewrite, atenció, es convenient baixar el LogLevel a 0 de seguida que pugem perquè genera molta merda. # /gen///noticias/titol.html --> /lv24h//.html # $1 es la data (yyyymmdd) # $2 es el compid RewriteRule ^/gen/([0-9]+)/([0-9]+)/noticias/.*\.html$ /lv24h/$1/$2.html Aquest es el meollo del rewrite, com indiquen els comentaris la variable $1 es la data en format yyyymmdd i la variable $2 es el id únic del recurs dins del CMS També cal notar que per seguretat forço els directoris, tant d'entrada /gen/ com de sortida /lv24h/ així no em poden fer la pirula per intentar accedir a altres directoris. Explicació caràcter a caràcter: ^ --> indica inici d'string /gen/ --> directori del que farem rewrite, si la url no conte /gen/ no farem res ([0-9]+) --> Els parentesis son per definir una variable ($1 i $2) i el [0-9] vol dir que acceptem caracters de tipus numeric (del 0 al 9) amb el + fem un tancament de kleene (indica que com a mínim ha d'haver un dígit i que pot haver-hi n) si volem un tancament de kleene opcional (una kleene star, que indica que pot no haver cap dígit o 1 o n) hem de fer servir * en lloc de + /noticias/ --> un altre cop a pinyon, esperem el directori noticias .* --> Amb un . sense escapar, estem indicant un caràcter especial de les expressions regulars, es tracta de dir qualsevol caràcter excepte el enter (\n), així doncs, si fem .* estem fent un tancament de kleene sobre qualsevol cosa, per tant "EL QUE SIGUI n-vegades" \.html --> Esperem a pinyon l'string .html (ATENCIÓ, aquest punt s'ha d'escapar, sinó estaríem dient qualsevol cosa (com hem vist anteriorment)) $ --> Final d'string La part dreta del rewrite es molt més simple: /lv24h/ --> A pinyon redireccionem a /lv24h/ $1/$2 --> agafarem el valor de les dues variables que em vist abans data i compid .html --> A pinyon esperem que el destí es digui .html Evidentment, el fitxer destí ha d'existir, sinó el rewrite fotrà un pet com un aglà ! Exemples: http://localhost/gen/20060814/51279679687/noticias/hola-tete-com-estas.html http://localhost/gen/20060812/51279679687/noticias/ajdfjsdfo.html http://localhost/gen/20060811/5127967/noticias/ajd-fj-s-dfo.html Es traduirien per: http://localhost/lv24h/20060814/51279679687.html http://localhost/lv24h/20060812/51279679687.html http://localhost/lv24h/20060811/5127967.html Noteu que en cap cas afecta el que posem darrera de noticias, però evidentment si es algo amb sentit i que no canvia, molt millor per ser indexats al google També noteu que es poden fer paranoies del estil, accepto una url amb dos variables i les giro, per confondre a un possible atacant, nomes caldria fer: RewriteRule ^/gen/([0-9]+)/([0-9]+)/noticias/.*\.html$ /lv24h/$2/$1.html Per mi no es útil, però es podria fer. També el mod_rewrite es molt utilitzat per homogeneïtzar les url i fer-les "independents de la plataforma", per exemple si servim contingut dinàmic, avui podem estar fent servir url del estil *.jsp i demà del estil *.php, per homogeneïtzar i fer una especie de "urls lògiques", podem fer servir el mod_rewrite del Apache. Tanco amb una frase del manual, que il·lustra molt bé la complexitat del mod_rewrite:

Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. -- Brian Moore bem@news.cmc.net
Més informació: Manual mod_rewrite Tutorial molt explicatiu mod_rewrite cheat sheet Optimizing your MovableType blog for Google

20060811

Configuració de l'Oracle EPG



Fa anys que Oracle va treure la meravellosa funcionalitat d'accedir als packages de PL/SQL directament des d'un browser, via HTTP va ser quan va inventar el package htp que et permetia generar html dinàmic, això va ser a la versió 7 d'Oracle, quan el servei es deia
WOW (Web Oracle Web) i tot funcionava amb CGIs etc.

Estem parlant de l'any 1996 aproximadament, sinó us en recordeu com pintava la web en aquests anys, mireu aquest enllaç on explica el funcionament del WOW.

El món del desenvolupament web ha donat moltes voltes, però si alguna funcionalitat de la base de dades Oracle va revolucionar la generació de contingut dinàmic via web, aquest va ser el PL/SQL Gateway, també conegut com DAD (Database Access Descriptor) o directament HTP.P (per el package/procedure més utilitzat per escopir contingut al browser)

Recordo les primeres proves que vàrem realitzar a la nostre època de becaris a Oracle, estic parlant del 1996 (Toni, te'n recordes?), la meravellosa demo per vendre un MALL Virtual al Banc de Sabadell, tot directament amb HTML generat des de la Base de Dades (nens, no proveu de fer això a casa !). Evidentment no es va vendre :)

Actualment, com a mínim jo, el PL/SQL Gateway es fa servir per escopir XML d'una manera simple a partir de la informació de la Base de Dades, posteriorment es transformarà aquest XML fent servir un XSLT en un Servlet o en un PHP.

Bé, al que anava, el PL/SQL Gateway ha anat canviant de tecnologia i de nom, tant ràpid com les versions d'Oracle, ha passat de ser un CGI, a córrer sobre el
WAS, el OIAS, el IAS, fins i tot he instal·lat un modul de Apache que feia el mateix que l'oficial d'Oracle però que havia creat un paio pel seu conte.

Finalment, en les ultimes versions (a partir de la 10g), hi ha dues opcions, o t'instal·les a partir del "companion CD" un servidor "tipus apache" amb el seu modul
de plsql integrat (que es el que es venia fent a la versió 9, encara que amb aquesta el webserver ja s'instal·lava sense el companion) o aprofites la nova funcionalitat
del "Embedded PL/SQL Gateway" que corre directament dins la Base de Dades, una historia més propera al Listener d'Oracle de tota la vida que a un Apache.

Per exemple, la nova versió gratuïta de la base de dades Oracle, l'Oracle Express Edition (Oracle XE) ja porta l'EPG integrat i s'instal·la automàticament amb la Base de Dades.

El EPG (Embedded PL/SQL Gateway), per defecte, corre pel port 8080, atenció als usuaris de tomcat, que l'Oracle us ha virlat el port per defecte :)

Doncs això, que ara és més fàcil que mai aprofitar la generació dinàmica de contingut a partir de la Base de Dades Oracle amb PL/SQL,
l'únic problema es com configurar els DAD (Database Access Descriptors) amb aquesta nova versió de Gateway ?

La resposta es, des d'el propi PL/SQL, us poso un exemple de com crear un DAD totalment desprotegit, si-us-plau no pengeu això d'Internet, ja que us poden fer el que vulguin, protegiu
sempre el port 8080 perquè sigui accessible des de màquines internes via firewall, sinó no em faig responsable...

Suposem que tenim un usuari que es diu "ngastos", aquest tros de PL/SQL crearia un DAD que permetria accedir a tots els packages/procedures d'aquest schema (l'script dropeja el dad abans de regenerar-lo).


-- Creation, recreation of a DAD, launch from the user ngastos (the user must have the XDBADMIN role)
begin
begin
dbms_epg.drop_dad('ngastos');
dbms_output.put_line('ngastos dropped');
commit;
exception when others then
dbms_output.put_line('Error: '||sqlerrm);
end;

dbms_epg.create_dad('ngastos', '/ngastos/*');
dbms_epg.set_dad_attribute('ngastos', 'database-username', 'NGASTOS');
dbms_epg.authorize_dad('ngastos');
commit;
end;


Aneu amb conta amb les majúscules, el set_dad_attribute del database-username, necessita tenir el nom d'usuari en majúscules.

A partir d'aquest moment, ja es pot accedir, per exemple a http://localhost:8080/ngastos/hola.html
(Evidentment estic suposant que teniu un package al usuari ngastos que es diu hola, un procedure dintre que es diu html i que esta a la specification i que dintre aquest
teniu un htp.p('hola') per exemple)

La creació d'aquest DAD es totalment compatible (fins que no es demostri el contrari) amb crides a Microcalls que en una aplicació que estem migrant abans es feien contra un Apache amb el mod_plsql d'Oracle 9iR2 i també en el entorn de producció contra un Apache d'Oracle instal.lat a partir del "Companion CD" en una 10gR2, així que ja no hi ha excusa per no fer servir microcalls des d'un EPG :)

També us pot ser útil per debuggar si alguna cosa no us funciona, aquest scriptillo, que mostra tots els atributs de un DAD en concret.


-- Show all the attributes in a DAD
declare
-- Local variables here
i integer;
l_attr_name VARCHAR2(30);
l_attr_value VARCHAR2(30);

PROCEDURE my_get_dad_attribute (p_dad_name IN VARCHAR2,
p_attr_name IN VARCHAR2) AS
l_attr_value VARCHAR2(3000);
BEGIN
l_attr_value := DBMS_EPG.get_dad_attribute (
dad_name => p_dad_name,
attr_name => p_attr_name);

DBMS_OUTPUT.put_line(p_attr_name || '=' || l_attr_value);
END;
BEGIN
DBMS_OUTPUT.put_line('Attributes');
DBMS_OUTPUT.put_line('=========');

my_get_dad_attribute('ngastos', 'after-procedure');
my_get_dad_attribute('ngastos', 'always-describe-procedure');
my_get_dad_attribute('ngastos', 'authentication-mode');
my_get_dad_attribute('ngastos', 'before-procedure');
my_get_dad_attribute('ngastos', 'bind-bucket-lengths');
my_get_dad_attribute('ngastos', 'bind-bucket-widths');
my_get_dad_attribute('ngastos', 'cgi-environment-list');
my_get_dad_attribute('ngastos', 'compatibility-mode');
my_get_dad_attribute('ngastos', 'database-username');
my_get_dad_attribute('ngastos', 'default-page');
my_get_dad_attribute('ngastos', 'document-path');
my_get_dad_attribute('ngastos', 'document-procedure');
my_get_dad_attribute('ngastos', 'document-table-name');
my_get_dad_attribute('ngastos', 'error-style');
my_get_dad_attribute('ngastos', 'exclusion-list');
my_get_dad_attribute('ngastos', 'fetch-buffer-size');
my_get_dad_attribute('ngastos', 'input-filter-enable');
my_get_dad_attribute('ngastos', 'info-logging');
my_get_dad_attribute('ngastos', 'owa-debug-enable');
my_get_dad_attribute('ngastos', 'max-requests-per-session');
my_get_dad_attribute('ngastos', 'nls-language');
my_get_dad_attribute('ngastos', 'path-alias');
my_get_dad_attribute('ngastos', 'path-alias-procedure');
my_get_dad_attribute('ngastos', 'request-validation-function');
my_get_dad_attribute('ngastos', 'session-cookie-name');
my_get_dad_attribute('ngastos', 'session-state-management');
my_get_dad_attribute('ngastos', 'transfer-mode');
my_get_dad_attribute('ngastos', 'upload-as-long-raw');
end;


Més informació sobre el EPG

20060808

Reencarnació del servei MYLO de Sony en un gadget

Sony reaprofita la marca mylo, el que abans era un servei on-line per PDAs, ara es reconverteix en un gadget amb wi-fi, mp3 etc.


Antiga encarnació de MYLO com a servei on-line
friky foto


Nova encarnació, ups, ara es un gadget
friky foto

L'interface del nou MYLO recorda molt al de la PSP, vegeu el vídeo.

20060727

Concert de Pixies al FIB 2006, part 3

Tercera i última entrega de videos del FIB (Festival internacional de Benicassim) 2006, Concert de Pixies.

El só continua estant molt malament...

Potser pujo les fotos i algun vídeo més que tinc d'Strokes, però de moment, els de Pixies ja estan pujats.





Pixies at FIB 2006, Nimrod Son, una especie de "UK Surf Mix" del wave of mutilation aplicat al Nimrod Son !





Pixies at FIB 2006, vamos, solo de joey santiago, es pot apreciar com toca amb l'ampolla de cervesa, un clàsic dels concerts de Pixies. Rock me JOE !





Pixies at FIB 2006, HEY
Hey, been trying to meet you !

20060726

Concert de Pixies al FIB 2006, part 2

Segona entrega de videos del FIB (Festival internacional de Benicassim) 2006, Concert de Pixies

El só continua estant molt malament...


Wave of mutilation uk surf mix (1/2)


Wave of mutilation uk surf mix (2/2)


Where is my mind (1/3)


Where is my mind (2/3)


Where is my mind (3/3)

20060725

Concert de Pixies al FIB 2006, part 1

Primera entrega de videos del FIB (Festival internacional de Benicassim) 2006, Concert de Pixies

El só esta molt malament, perdoneu les molesties, però es pot apreciar que vaig aconseguir un bon lloc.






Cactus (Send it to me)







Monkey gone to heaven, just abans de tallar el concert per més de mitja hora per evitar que les valles antipànic cedisin.

Es poden apreciar en els moviments de la càmera els moments de més excitació del públic.







Tio plasta de la organització que amb un angles macarronic feia tirar enrera al públic, s'ha de reconeixer que es van portar bé ja que durant els 30 minuts que van tenir parat el concert, com a mínim van repartir unes quantes ampolles d'aigua entre el públic.

"Please guys, go back, a little bit more, please..."

20060720

Bugs persistents

Avui hem solucionat un bug força curiós, es tracta d'un "efecte 2000 atrassat".

Teníem un update en el oracle de producció, que contenia la següent condició al where:


or nvl(fi,sysdate-2392.123) <> to_date(nvl(v_fi, sysdate-2392.123),'DD/MM/YYYY HH24:MI')


Tot havia funcionat bé fins avui, i dic avui perquè, ha cascat exactament avui a les 3 de la matinada...

Si us fixeu en la expressió to_date(nvl(v_fi, sysdate-2392.123),'DD/MM/YYYY HH24:MI') veureu que el resultat de sysdate-2392.123 es un date.

Hàbilment al programar-ho no es va pensar que sysdate-2392,123 faria el canvi de segle avui mateix (o si es va pensar, va tenir molta mala llet)

Així que al retornar un date sysdate-2392,123 retornava sempre per sota del 2000 fins avui, que al fer la transformació implícita a varchar2 i fer el to_date fotia un casque impressionant del pal

"Error ORA-01858: se ha encontrado un carácter no numérico donde se esperaba uno numérico"


Això es degut a que la conversió implícita amb el any 99 no es comporta igual que amb el 00

De fet he comprovat que nomes dona una excepció en el any 00, no en el 99 ni en el 02 per exemple, vegeu les imatges:







Evidentment la expressió correcte és:


or nvl(fi,sysdate-2392.123) <> to_date(nvl(v_fi, to_char(sysdate-2392.123, 'dd/mm/yyyy hh24:mi')),'DD/MM/YYYY HH24:MI')


Això no treu que no tingui pinta de ser un bug d'Oracle...

Tot solucionat, encara que es un bug de més de 4 anys i aquests sempre toquen la moral...

Que hi farem.

Concert de Belle and Sebastian al Summercase

Si, una mica tard, però no he tingut temps abans de pujar els videos...

En general el Summercase va ser una canya, el primer dia cues per comprar tickets però a part d'això força ben organitzat.

Els concerts que vaig viure mes intensament (habitualment es compleix la norma que contra més aprop més intensament es viuen) van ser Belle & Sebastian, Happy Mondays i Spinto Band.

Aquí us deixo els vídeos de Belle & Sebastian, encara que el só esta fatal !





































20060714

Segon casque al metro en menys d'una setmana

Un altre casque espectacular als sistemes de TMB, aquesta vegada a l'andana de la estació de "Hospital Clínic" sobre les 7 de la tarda d'ahir 13/07/2006

Aquest cop el sistema afectat es el (sorollos) sistema de canal metro, i es nota clarament que es un error de windows, un tipic "file not found".

Podeu veure aquest vídeo del projector:





Detall del projector
friky foto

Tant el projector d'enmig de l'andana com els monitors reben la mateixa senyal i tots estaven igual de penjats.


Detall d'un monitor (ho sento pero estava entrant al vagó i em va quedar fatal)
friky foto

Dos casques en menys d'una setmana i per un usuari força esporadic del metro, no esta gens malament :)

Pobres técnics de TMB, em sap greu...

Ei, pero al metro de Madrid tampoc n'estan de res, eh ?

20060713

Girls in Hawaii

He descobert via pandora.com un nou grup "Girls in Hawaii".


Foto de girls in hawaii, on tour per Islandia
friky foto

Son Belges i jo els definiría com una barreja entre:


  • The Sundays

  • Nirvana

  • Hefner

  • Blur

  • Belle and Sebastian

  • Dinosaur Jr.

  • The Mamas and the Papas



Son molt bons, RECAAAAAAAAAAAAJ, segur que t'agraden !

20060712

Anem al cine a veure suprunaman returns


Avui, suprunaman (suppaman) returns !
friky foto

Casque a les pantalles del metro de Barcelona

El dilluns (10 de juliol del 2006), tornant a casa, aproximadament a les 13:30, vaig veure que les pantalles del vagó del metro on em trobava (trajecte Hospital Clínic a Verdaguer, L5) tenien un aspecte estrany...

Es important notar que el casque es produïa a varies pantalles alhora (es pot veure molt petit al vídeo una pantalla al fons amb el mateix color vermell), en concret totes les que estaven orientades de "cua a cap" del vagó i crec també que si anaves unes quantes pantalles més endavant l'error ja no es produïa, d'això ja no estic tant segur.



També vaig fer una foto...


Detall del casque
friky foto

I com que tampoc es veu molt bé, vaig escriure el texte:


LILO 22.5.9 Menu
Trying to boot (algo semblant)


Sembla un missatge del loader LILO, encara que no es llegia bé la part de abaix perquè estava refrescant la pantalla en un bucle infinit.

Això em fa pensar que:


  • Els nous vagons de TMB porten linux per mostrar els cartellets de "Propera parada ..."

  • Anirem veient casques de linux a multitud d'aparells com telèfons públics, caixers etc. cada vegada amb més assiduïtat

  • Tot casca en aquesta vida.



Si trobeu friki el post, penseu en el ridícul que vaig haver de fer, gravant el vídeo i fent la foto en un vagó ple de gent !

20060705

Java vs. PHP

A continuació poso una llista de coses desitjables i/o necessàries d'un llenguatge a l'hora de fer aplicacions web.
---------------

Bug finding:
php, interpretat i no compilat --> pot portar a errors xorra de sintaxis facin petar tota l'aplicacio
java, interpretat pero compilat, arregles els problemes de sintaxis abans de deployar

Deployment:
php, canvi en calent
java, war, upload, reload del aplication context

Includes:
Java, cada class importa nomes els class que necesita
PHP, model guarro en general, es fan includes de pagina, per aixo es mes recomenable fer la base amb orientacio a objectes abans de montar un caos de includes de pagines important.

Runtime:
Java - corre sobre Tomcat, es inestable en entorns de molta carrega, sempre obliga a reiniciar periodicament
PHP - mes estable, no necesita servidor apart, es un modul d'apache

Potencia del llenguatge:
php funcionalitat d'arrays brutal sintaxi mes rapida
java, model d'objectes massa rigit i amb molta complexitat

Llibreries de cerca:
Java, millor en cercadors, Lucene

Entorns de desenvolupament:
Java, entorns de desenvolupaments evolucionats (Eclipse, JDeveloper)
PHP, tambe es pot fer servir eclipse, pero es tendeix a eines mes simples PHPEditor, Notepad++ o UltraEdit

XML/XSL Support:
PHP, Llibreries de XML/XSL que funcionin, nomes a partir de la versio 5 (en 4, fer servir sablotron)
Java, millor en parsing de XML (si fem servir JDOM, el soport estandard DOM etc no serveix per res)

Servlets:
PHP, algo menys potent amb la gestio de sessions, i a més tot son pagines, no existeix el concepte de servlet
Funcionalitats similars en els dos entorns

Model - View - Controller:
Igual java que php, pero en php no es el model habitual, s'ha de forçar la cultura dels developers cap al nou paradigma

Sintaxi:
PHP - Sintaxi guarra, tipus perl, en versio 5 es pot fer servir orientacio a objectes
Java - Sintaxi elegant, tipus C, pero molt mes complexe (sintaxi farragosa per errors en el disseny de classes basiques (String, FileOutputStream, etc.)

Proves unitaries:
PHP - facil de fer testing amb un fitxer dummy, notepad o vi oriented
Java - amb els IDEs es perd força capacitat de fer testings xorres


WebServices:

Java - ampli suport
PHP - ampli suport

Microcalls:
Java - ampli suport (inclos getTransformedContent)
PHP - ampli suport (inclos getTransformedContent a partir de php5)


Execució de comandes de sistema operatiu:

Java - no es simple, tenim una llibreria que ho fa, existeixen una serie de pitfalls al standard que no permeten agafar be la sortida del proces en certs casos.
PHP - trivial

Upload de fitxers:
PHP - trivial
Java - No existeix una llibreria standard que funcioni correctament, ni tant sols les de jakarta-commons, al final tothom es fa el seu upload, basat normalment en una classe de O'Reilly (PATETIIIIIIIIC)

MultiThreading:
Java - molt potent
PHP - hi ha llibreries pero en general no ficaria la ma al foc

Llibreries:
Java - Menys llibreries pero amb base d'usuaris mes amplia en general (jakarta, jdom, etc)
PHP - Milions de llibreries, algunes tambe amb molta base d'usuaris (Pear)

------------------------

Recomanació final:

La meva recomanació per futurs desenvolupaments sería:
BD - Oracle amb PL/SQL i Microcalls
MiddleWare - PHP + Microcalls (a no ser que necesitem multithreading o per cercadors)
Presentacio - XHTML + CSS + AJAX (i evaluar puntualment OpenLazlo)

Tampoc cal ser talibà i tot aixo es combinable i movible o sigui que poden haver altres bases de dades en MySQL o SQLServer i Tomcats que corrin Java Web Applications, pero la base hauria de ser l'anterior.

20060703

Ajpanya va bé

Hola a tothom, després d'un mes de currar com un campeón, em veig un altre vegada amb cor de postejar, espero no perdre el fil.

Pujo un parell de fotos interessants que vaig fer el dissabte al matí.

Situació:

Passeig de Gracia 10:55 dissabte 1 de juliol del 2006, dia d'inici de les rebaixes.


cua a gucci 1
friky foto


cua a gucci 2
friky foto

La cua es a GUCCI, no al Corte Ingles, ni a la "Tienda de Lolín", nono, la gent fa cua a GUCCI

Bueno, encara que sembli que fer cua el primer dia de rebaixes a GUCCI es nomes per els "Quiero y no puedo", us asseguro, que fins i tot en aquest dia on es poden trobar grans descomptes i totes les talles, tota aquesta gent esta forrada !

Jo, ni en rebaixes puc entrar-hi...

No em vaig quedar per entrar i mirar preus, pero us asseguro que no son gens assequibles.

Personalment vaig anar de shopping a Carolina Herrera NY (jua jua jua, mira que soc pijooooooooo)

20060524

Dia del orgull friky


Cartell oficial del día del orgullo friky
friky foto

Demà 25 de maig del 2006 es el dia oficial del orgull friky, en aquesta web (http://www.diadelorgullofriki.tk/),
trobareu perles com els drets i els deures del friky dintre del "Manifiesto friky" que copio a continuació:

DERECHOS IN-ALIEN-ABLES DEL FRIKI

1.-Derecho a ser más friki.
2.-Derecho a quedarse en casa.
3.-Derecho a no tener pareja y ser virgen hasta la edad que sea
----3.1- Derecho a, si tiene pareja, intentar convertirla en friki.
4.-Derecho a no gustarnos el futbol ni el deporte en general.
5.-Derecho a la asociación friki.
6.-Derecho a tener pocos amigos (o ninguno).
----6.1-Derecho a tener todos los amigos frikis que se quieran.
7.-Derecho a no ir a la moda (una camiseta de Homer es ir siempre de moda) .
8.-Derecho al sobrepeso y a la miopía.
9.-Derecho a exhibir el propio frikismo.
10.-Derecho a dominar el Mundo.

DEBERES DEL FRIKI (DE OBLIGADO CUMPLIMIENTO)

1-Ser friki, pese a todo.
2-Intentar ser más friki que otro friki.
3-Si hay alguna discusión sobre algún tema friki, entrar a dar opinión.
4-Salvaguardar todo el material friki de "personas desaconsejables" (niños pequeños, personas limpiadoras compulsivas...).
5-Hacer todo lo posible para exponer el material friki como si fuera un "Museo del Frikismo".
6-No ser friki de todo. Hay que estar especializado en algo.
7-Ir al estreno de cualquier película friki, comprar antes que nadie un libro o DVD friki.
8-Esperar cola ante un estreno friki, aunque haya posibilidad de telecompra de entradas. Y si es disfrazado, o con camiseta friki, mejor.
9-No desprenderse de nada NUNCA relativo al mundo friki, aunque sea un envoltorio arrugado.
10-Intentar dominar el mundo

(Aquesta última es boníssima, i a més, per casualitat cau en dijous !)

20060515

Zapatero dona suport a la WEB 2.0


Tots els suports son bons (portada de fa uns dies de Mundo Deportivo)
friky foto

Tot i la putada que ens ha fet incomplint la seva promesa electoral del Estatut, tots els suports son necessaris per fomentar la WEB 2.0 a casa nostre.

Evidentment, el que volia dir la portada es que ell aposta per un 2-0 al Barça-Arsenal, però em va fer gracia perquè estic tant deformat pel frikisme que nomes veig WEB 2.0 per tot arreu, així que he fet un petit retoc...