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.