»
S
I
D
E
B
A
R
«
Fear the failwhale.
Jul 11th, 2009 by Ed_Zero

Downloading news…

Saben que le pasa a twitter cuando se satura?

ESTO:

twitterFailWhale

Conozcan a la FAIL WHALE.

El ente magico y musical que anuncia que el colapso de twitter es inminente o está ocurriendo. Lo curioso es que cuando esto ocurre deberia ser un momento trágico, es como si tu correo no respondiera, si se cayera la red, o que se acabe la chela pero los cuates de twitter hicieron de un momento tan tragico… esto, una ballena intentando ser levantada por unos cuantos pajaritos observando como se lo va a cargar la tostada.

Twitter no solo ha creado una nueva forma de comunicar cosas por la red, sino también una nueva forma de presentar fallas inminentes por medio de una ballena :p.

En fin, la fail whale no solo les inidica que twitter se está colapsando sino tambien que algo está pasando en el mundo real. Por ejemplo: la muerte de michael jackson, que de tanta gente que se puso a twitear hicieron que azotara el pobre.

Asi que ya saben, si ven a la ballena feliz chequen las noticias, puede ser que algo malo haya pasado.

Download Complete…

¿Por qué usar metodoligías ágiles?
Jul 9th, 2009 by Ed_Zero

Downloading content…

Hace tiempo empecé a trabajar en una “agile shop” (una empresa de desarrollo de software usando metodologías ágiles), bueno en realidad no es la primera vez que veo algo así, cuando fuí a Estados Unidos me tocó trabajar en un ambiente ágil pero a pesar de que eran muy agiles y todo no le ponian nombre a su metodología. Aqui tiene nombre y ese es… pom pom pooom… SCRUM.

SCRUM es un sabor de las afamadas metodologias ágiles, de que se trata todo esto? bueno es relativamente “fácil” de explicar, y digo “fácil” por que creanme que es mucho mas sencillo que CMMI o RUP (metodologias no agiles)

Pongamos una pequeña pausa, ¿ok?

¿Qué es una metodología ágil?

Metodología: Forma de hacer algo, es un proceso o una guía de pasos a seguir.

Ágil: Adaptable, rápido, flexible, etc.

Metodología ágil: Es una forma adaptable, rápida y flexible de hacer las cosas. En el desarrollo de software se le conoce por que es una forma de desarrollar sistemas adaptandote rápidamente a los cambios y entregando continuamente un producto funcional.

OYEEEEE… espera… entonces ¿como hacian las cosas antes? ¿Como era el mundo “no ágil”?

Bueno. De entrada la mayor parte del mundo sigue sin ser ágil, así que en vez de decir como era el mundo es un como es el mundo.

El mundo es horrible. (pero eso ya lo sabian)

Hace tiempo para garantizar la seguridad (y por seguridad me refiero mas a “certeza”) en el desarrollo de software se crearon procesos que permitian a la gente entender como se hacia un sistema.

  • Se hacian consultas y propuestas de lo que se queria hacer. normalmente en juntas de minutos, horas o dias.
  • Se hacian negociaciones sobre los requerimentos que podian tomar dias, semanas o meses.
  • Se sacaba una bola de cristal (bueno no tanto así) y se planeaba cuanto tiempo iba a tomar hacer algo, esto tambien puede tomar dias, semanas o meses.
  • Se les entregaba un machote de documentos a los desarrolladores (ahora si trabajen) y se les decia cuanto tiempo se podian tardar en cada tarea (si, se les decia, te vas a tardar X tiempo en hacer esto), normalmente en este paso las estimaciones siempre decian que el sistema era realizable en menos tiempo de lo que realmente se tarda uno asi que resultaba en dias, semanas o meses de ir los sabados y domingos a trabajar.
  • Una vez terminado se hacian pruebas.estas tardaban horas minutos o segundos para compensar el retraso de los inutiles desarrolladores.
  • Se implementaba la solución en los sistemas finales que tomaban horas o dias de estar rezando.

¿Dudas?

Yo tambien tengo muchas.

Sobre todo una: ¿Como es que alguien mas sabe cuanto me tardo en hacer algo? son gurus? shamanes? brujos?

Bueno no, son CONSULTORES CAPACITADOS CERTIFICADOS, RESPALDADOS POR FAMA INTERNACIONAL Y QUE GANAN 10 VECES LO QUE CUALQUIER DESARROLLADOR MORTAL. woooooooooooooooooooooooooooooooooow

En fin, el proceso funciona, creanlo o no.

Y funciona por que lo hemos hecho funcionar, ya sabemos que esperar, que vamos a tener que trabajar de más, que van a estimar de menos, que si firmamos que vamos a hacer algo, solo vamos a hacer eso, y si queda mal, si no es lo que el cliente queria, ni modo, por que el firma que se va a seguir ese proceso y está de acuerdo con el. Este proceso le da certeza al desarrollo a cambio de hacerlo inflexible ya que si el cliente necesita algo extra, ni modo, tendrá que ser hasta el final, por que hay un plan y hay que hay que seguirlo.

Es un mundo horrible (y ahora lo acaban de comprobar)

Bueno bueno bueno. ¿Pero que propones?

Las metodologias agiles por supuesto, de eso se trata este post (bueno la segunda mitad del mismo)

Las metodologias agiles proponen algo distinto y mucho mas arriesgado (por eso no son tan populares) pero mucho mas eficientes cuando se quiere hacer algo nuevo.

La idea principal es.

  • Juntarse con el cliente y preguntarle mas o menos que quiere y hacer una sesion de lluvia de ideas, que pida hasta las perlas de la virgen si eso es lo que el quiere.
  • Ahora con esa listotototototota de cosas le preguntamos: Que de todo esto es lo más importante.
  • El cliente responde: TODOOOO,
  • y tu le dices, va. ok todo, pero solo podemos hacer mas o menos esto en 15 dias.
  • El cliente sacado de onda se responde “15 dias??? pero en 15 dias no alcanzarias a hacer nada”
  • Tu respondes “si y no, podemos hacer algo, y lo vas a ver funcionando en 15 dias, solo elige una cosa de todo lo que me dijiste”
  • El cliente incredulo elige algo, no muy grande no muy chico. mas o menos bien.

Y aqui empieza la diversión. Ahora ya tenemos algo de prioridad suprema. vamos con los desarrolladores y les decimos que es lo que el cliente quiere, todo mundo sabe que eso no es TOOOODO lo que el cliente quiere y que esa petición es solo un pedacito de un todo que asusta a cualquiera, pero. El objetivo a corto plazo es: Hacer lo que el cliente pide ahora.

Aqui es realmente cuando el proceso inicia:

  • El equipo de desarrollo empieza a desarrollar, planear y hacer el sistema de inmediato basandose en solo esa pequeña parte que el cliente eligio.
  • Lo que el cliente pide se divide en tareas que puedan hacer personas simultaneamente, tareas pequeñitas y que sepamos mas o menos que tan dificil son.
  • Mientras tanto le preguntamos al cliente que es lo siguiente que le gustaria ver.
  • El cliente elige y se prepara el camino para la siguiente iteración
  • El equipo termina lo que pueda en esos 15 dias, dejando algo FUNCIONANDO al final.

No se si ven la diferencia? En una metodologia agil no se adivina cuanto tarda en hacerse un sistema, eso se sabe siempre, lo que se adivina es que tanto se puede hacer en X tiempo y una vez que algo se termina se valida se implementa y se entrega bonito y acabado.

Suena como un mundo ideal ¿noooooo? pues no lo es. “not quite” es mejor pero no es ideal.

Requiere de mucho control para el descontrol y de muchas prácticas de programación locas que puede que no a todos les guste. Test Driven Development (Con este excelente libro: Test Driven By Example), Pair programming, Continous Integration (chequen hudson por ejemplo), etc.

Ahora vamos a un ejemplo real, ¿va?

Un ejemplo de metodología con nombre y apellido: SCRUM

La idea escencialmente es la misma de arriba, todos los requerimentos del usuario son escritos en historias de usuario que son los pequeños bloques de principio a fin que hacen algun tipo de funcionalidad, por ejemplo, el usuario quiere logearse al sistema, el usuario quiere poder agregar otro usuario, el usuario quiere poder borrar un usuario. Ahi vieron 3 historias distintas, todas son una funcionalidad especifica.

Ahora esas historias se estiman, la estimación no la hace un gurú la hace el equipo. Como? simple: primero se le muestran las historias y el equipo por concenso dice cual es la más fácil de hacer. Esa será nuestra historia de dificultad 1. ahora se va por las historias y se pregunta: Esta historia, ¿Cuantas veces más dificil es que la historia de dificultad 1?. Si es el doble tiene una dificultad de 2, si es 4 veces mas complicada es un 4, etc… lo que se recomienda es que se usen valores de 1,2,4 y 8… si algo es más grande que eso tal vez valga la pena dividir la historia en pedazos mas pequeños.

Entre los bloques sean mas pequeños no solo son más fáciles de desarrollar sino que tambien son más fáciles de estimar.

Ahora el equipo empieza a trabajar…

Toman un estimado “a la macha” de cuanto pueden hacer y empiezan…

Dia a dia, se hace una micro junta (Que se le conoce como SCRUM) de maximo 10 minutos donde todos los desarrolladores dicen:

  • Que hice ayer?
  • Que voy a hacer hoy?
  • Hay algo que me impida hacer eso?

De esa manera todo mundo está enterado de lo que está pasando.

Al final de los 15 dias lo que haya terminado el equipo se suma. y se obtiene un numero de historias terminadas, pero sobre todo de puntos de dificultad terminados. a eso se le llama: VELOCIDAD.

Asi que digamos que un equipo logra hacer 50 puntos. entonces podemos deducir que mas o menos haran eso consistentemente cada 15 dias.
Si un sistema tiene 1500 puntos en total tomaria: 30 iteraciones de 15 dias para terminarse o bien: 450 dias.

Eso si no cambiara nada PEEEERO

Aqui empieza lo mágico de las metodologías agiles.

Cada vez que se termina un “sprint” (periodo de 15 dias, aunque algunos equipos usan 20 o 10 dias) se presenta el producto “terminado” y se pregunta si es lo que se esperaba, si no, se agregan los cambios al siguiente sprint, si si lo es entonces continuamos, PEEERO, continuamos con lo que nos diga el cliente, y como va a tener estimados de las historias de su sistema el cliente ahora va a elegir los siguientes 50 puntos que quiere que se hagan, obviamente es una desición consensual ya que el equipo ayuda al cliente a elegir aquello que le de valor a su negocio y que le permita al equipo desarrollar más rápido el sistema.

Y si el cliente cambia de opinion o algo no le gusta no se pierde mas que 15 dias de trabajo. Digamos que al cliente le gustaria mejor que se puedan hacer compras online a que se puedan registrar a una mailing list, no problem, eso se agrega en el siguiente sprint. Si eso implica dejar fuera unas historias pues así será, si requiere crear nuevas pues se hace y se estiman las nuevas historias.

En si eso son las metodologias agiles, y en el ejemplo anterior SCRUM.

Ahora bien, yo creo que no son tan usadas no por que sean malas o no funcionen, estas metodologias realmente funcionan, las grandes empresas van migrando poco a poco a estas metodologias por que saben que entregan resultados, sin embargo aun no se adoptan completamente. Por que?

Yo creo sinceramente que la industria detras de las “no agiles” es muy fuerte y hay inversiones muy fuertes en ellas, se crean certificaciones millonarias para que las empresas cumplan con standares que les permitan minimizar riesgos y darles un titulo de  “empresa certificada con CMMI level 3” que te asegura cierto control.

Eso aun falta un poco aqui. ADEMAS de que la cultura agil desmotiva los esfuerzos de certificar a la gente ya que no deberia ser un requerimento, o se sabe o no se sabe, (pero eso lo veré en otro post lo prometo, por que este ya está muy largo)

En fin, yo les digo por experiencia. Funcionan, y funcionan muy bien. (como la sección amarilla :p)

Espero les sea útil para ver que no todo son procesos labrados en piedra, rigidos y pesados.

Download Complete

Reflexiones a prueba.
Jun 11th, 2009 by Ed_Zero

Downloading content…

Hoy estaba haciendo unas cuantas pruebas de unidad en Java con JUnit con el afán de hacer correctamente el “test driven development” ya saben, esa super tendencia que están tomando desarrolladores modernos a lo largo y ancho del mundo que dice que siempre debemos de hacer el test primero y despues el codigo para cada una de nuestras clases, de esa manera nos aseguramos que la clase jale (funcione) como esperamos que funcione.

La idea es muy buena y no solo se restringe al uso de JUnit, ya que una prueba es en escencia un bloque de codigo ejecutable por si mismo que si falla arroja un error y truena (falla) y si funciona pues no hace nada. de esa manera sabes cuando algo falla.

Bueno regresando a TDD (test driven development), como pueden imaginar esta forma de trabajar tiene muchas virtudes ya que si no las tuviera nadie la usaria, entre tantas cosas facilita hacer pruebas ya que las TIENES que hacer antes de empezar a programar en la implementación, esto evita que se descuide el unit testing (pruebas de unidad), pero no falta el caso en el que pensamos en el problema y no podemos pensar en una prueba obvia que nos lleve a implementar una solución y terminamos escribiendo la solución, un tanto compleja pero sin pruebas.

La ironia de la vida, es más fácil solucionar algo y decir “confia en mí” a escribir algo y demostrarlo con pruebas “confia en las pruebas”.

Pero que es bueno probar y que no?

Yo diria que todo debe de ser probable. Algunos dirán lo mismo, otros tantos dirán que pruebes lo posible, Kent beck (casi creador de toda esta tendencia) dirá que no todo es bueno probarlo (pero yo creo que ya chochea y se ha vuelto más pragmático).

Pero que implica probar TODO.

implica que te las vas a ver negras. como dirian: estas jodido, you are in deep shit.

Por que?

por que cosas simples las puedes probar facilmente, y eso te va a llevar a escribir codigo simple lo que es bueno, pero no siempre tan sencillo como quisieramos.

Pero.

PEEEERO

que hay de cosas mas “tru tru” (de truculentas) como:

  • Threads
  • Interfaz gráfica
  • Conexiones a base de datos
  • Conexiones a web services
  • Acceso a sistema de archivos
  • Acceso a dispositivos externos
  • Entre otros demonios menos benevolentes.

Aqui es cuando estamos en DEEP SHIT

y algunos dirán que no es probable y lo dejes así… pero vamos a ver un caso interesante y de profunda reflexión

Acceso a base de datos.

Supongamos que usas JDBC, y vamos a probar que lo hagas correctamente.

Como le haces?

Bueno primero que nada tienes que evitar un pecado capital:

– Crear la conexión a la base de datos directamente en tu código.

Connection conn = DriverManager.getConnection(url, user, passwd);

si ponen eso se acaban de condenar a no poder probar en paz

su solución en el método donde vayan a hacer uso de la conexión pidanla por parametro

Ahora. Connection es una interfaz. no?

para probar podemos mandar una implementación hecha por nosotros de la interfaz. eso definitivamente va a funcionar. no?

entonces sobreescriben el metodo createStatement() para regresar una implementación chacarrona (hechiza( hecha por nosotros)) en la que sobreescribimos los metodos necesarios para crear un query.

Ahora entonces creamos el metodo executeQuery en nuestra implementación chacarrona para que si no le mandamos un query esperado aviente una excepción (asi sabremos que la prueba no pasa), despues si nos dan el query que queremos regresamos de nuevo otro implementación chacarrona ahora de un resultset.

And so on…

Si, hay herramientas que hacen esto por nosotros, está por ejemplo Mockito, JMock, EasyMock, que nos permiten hacer stubbing (escencialmente lo de implementar a medias una interfaz o clase, aunque el termino va un poco mas allá).

Un momento…

Hagan la prueba…

Hagan la implementación…

Se van a dar cuenta de algo bien raro, su prueba parafrasea la solución. Estan escribiendo en su prueba la forma en la que quieren que se implemente algo.

Estan colocando, quiero que el programador tenga un objeto connection, y que pida un statement, al statement le pida un resultset con este query, y que el query se transforme en esto…

Algo se ve raro ahi no?

Una prueba deberia solo ser el lineamiento de lo que queremos que haga una pieza de codigo, nos dice que quiere, no el como.

Esta prueba parece que es el como…

Ahora está mal eso? YO no lo sé. Por el momento las sigo haciendo y tengo ese extraño sentimiento de que algo anda mal. ese sentimiento de que algo está demasiado repetido o que está demasiado especifico, que mi prueba encadena al programador, lo desnuda, lo golpea y lo esclaviza. (chale que raro suena eso)

En fin, pues chequenlo por ustedes mismos y si encuentran una respuesta a como hacer este tipo de pruebas menos… restrictivas, diganme.

Download complete.

ouch
May 22nd, 2009 by Ed_Zero
Downloading image…
ouch

ouch

Bueno, lo que uno ve en el trafico.

Lo que me da curiosidad es como puedes darte un golpazo así… digo se nota que iba rápido, pero con tanto tráfico y tan malas calles eso es casi un suicidio, incluso en las autopistas no es muy sano, además de que en temporada de lluvias mas que manejar pareciera que estamos patinando…

En fin, supongo que el cuate de la foto no contó con todo eso y pues pensó que por tener un A6 no le iba a pasar nada o algo así, eso niños… no es cierto, no importa que traigas tienes que tener cuidado…

Por cierto esta es solo una foto de muchos golpes que me ha tocado ver ultimamente, casi casi de uno por día… en que momento chocar se volvió normal??

Recuerdo que hace unos cuantos años le pregunté a un ajustador de seguros como cuantos choques tenia, la verdad no me acuerdo de la cantidad exacta pero si me dijo que pues siempre iban a tener chamba ya que eso nunca faltaba con tanto choque por toda la ciudad.

Download complete.

HD Sux
Apr 23rd, 2009 by Ed_Zero

Downloading image.

Ok, guarden sus antorchas y trinches y no me linchen hasta que exponga mi punto.

La alta definición no es mala, de hecho nada es mejor que tener una pantalla de LCD con una resolución imbecil para ver tus peliculas y programas favoritos, o por que no para conectarla a tu computadora y tener de repente un monitorsototototote de 32 pulgadas o mas.

Lo que está mal en el HD son los mecanismos de protección del mismo. Y como es mi sana costumbre, la victima del día es: (pom pom pom (sonido de tambores))

HDMI o high definition media interface.

Veran HDMI es un cablecito (bastante caro para lo poco que hace) que transfiere muchos datos en chinga a la pantalla. nos permite mandar video y audio de alta calidad para que sea vean chidas nuestras peliculas.

PAUSA!

Pero no se supone que eso ya lo haciamos con un cable VGA? que yo sepa los monitores full HD se conectan por vga, incluso hay una mugre que es el DVI que soporta muchas mas cosas, por que crearon otro cable mas? digo, vga no transferia audio pero estan los cables opticos, que paso aqui?

Señores la respuesta es… control.

AH!!! entonces yo voy a tener mas control sobre mi señal?

NO

NOOOOOOOOOOOOOO

Yo pensé que era una idea para progresar, pero me equivoque, resulta que tiene que ser un cable tan caro y sofisticado por que debe soportar…. ENCRIPCION

Si, la señal de un HDMI puede ir encriptada, y el protocolo para poder intercambiar dicha señal es el HDCP (High definition content protection)

El nombre suena mal.

ES PEOR.

A continuación les va una explicación de que pex.

El cable HDMI conecta a un transmisor con un receptor los cuales estan de acuerdo en que la señal viaje de uno a otro dispositivo sin interrupción ni intermediarios, para hacer esto ambos se presentan el uno al otro y definen un lenguaje en el cual se van a comunicar (como hablar con la F) de esta manera la señal que sale del cable solo llega a un dispositivo.

QUE QUE??? PARA QUE???

Para que no la puedas interceptar, para que no la puedas grabar enmedio y para que esta señal no la puedas grabar a tu compu para que la distribuyas despues con bittorrent :p

— Eso no es tan malo o si?

DEPENDE. En mi caso, cuando juego en mi PS3 de a ratos se le va la señal a la tele… tengo que esperar un rato a que se desatonte la tele o de a tiro quitar el cable y volverlo a conectar rezando por que ya agarre bien.

Por que?

por que la señal va encriptada y ambos equipos se tienen que presentar siempre que se ven. y eso toma tiempo. si toma mucho tiempo uno de los aparatos pues se sigue de frente (el play 3) dejando a la tele atras con el horrendo flicker.

Eso me pasa por no comprar una bravia.

MAL! por que incluso a algunas bravias les pasa.

Que hacer?

Pues hay dos opciones. usen cables de componentes, o consiganse una tele que sea lo suficientemente rápida para que jurule bien con su ps3 o reproductor de bluray.

Total.

Una vez mas la tecnologia como los cangrejos, inventan algo chido (teles HD) y las echan a perder con restrincciones inutiles (HDCP)…

Download complete.

Nota: ahorita es muy noche pero mañana decoro el post con imagenes y ligas pa que vean que no me los estoy chamaqueando.

Global Warming…
Apr 17th, 2009 by Ed_Zero

Downloading report…

Calentamiento global, lo vemos en todas partes, los polos se derriten mientras escribo esto, los desiertos ganan terreno y .

Las consolas de nueva generacion generan mucho mas calor de lo que cualquiera pudiera imaginar.

No me creen? chequen:

A un mono loco se le ocurrio la idea de demostrar que su PS3 podia generar suficiente calor para poder cocinar carne en el.

Como dicen que nada es imposible y a este cuate le restregaron demasiado la frase en su juventud temprana, el sujeto en cuestion tomó una sierra y abrio su PS3, encima de los disipadores puso una parrilla y VOILA!.

Cual seria su sorpresa que descubrió algo que muchos ya sabian, y si no… preparense para ser iluminados:

Listos?

Los procesadores de las computadoras generan una cantidad IDIOTA de calor cuando se usan a todo su poder.

Ahora el PS3 tiene 7!!! imaginense como arde esa cosa.

Pero no se preocupen tanto, no los va a quemar (mucho) ya que aparentemente los ingenieros que hicieron el sistema sabian lo que hacian… mmm… para relatarlo mejor les contaré una historia.

Era en una tarde cuando nos reunimos a jugar FIFA 09 en el PS3 comunitario, lo encendimos, metimos el juego, cerramos la puerta del closet donde se encontraba el PS3, tomamos 6 controles y jugamos por mas o menos media hora. A la mitad del juego un sonido perturbante como de una turbina sonaba dentro del closet, pero como estabamos muy clavados jugando nadie puso atención.

No paso mucho tiempo despues del sonido de turbina para que el PS3 rompiera nuestra concentración con un mensaje en pantalla que decia: “El sistema esta caliente, o lo apagas o muero”

La cordura vino al cuarto y nos acordamos que el PS3 se encontraba en el closet… en el closet cerrado… en el closet cerrado sin ventilacion.

Abrí la puerta… y sentí el calor en su apogeo. la cosa esa estaba en masa critica, irradiaba suficiente calor como para poner unos tamalitos a calentar o asar unas salchichas o carnes ahi adentro. lo logico que siguio fue apagarlo. y esperar a que se enfriara.

Lo cual nos deja dos lecciones:

Si algo se calienta, es electronico y es CARO. Ventilalo para que no se derrita (algunas cosas no son tan listas como el ps3)

El PS3 es listo hasta eso. te avisa antes de morir y te dice como salvarlo.

Saben que es lo mas ironico? que aunque los procesadores consumen mucha energia, hay algo que puede llegar a consumir mas energia: Los motores del disco duro y del CD/DVD/BD…

Bueno menos mal que el PS3Grill te avisa que puede morir si no lo ayudas, por ahi cuenta la leyenda que hay otra consola que tambien se calienta como loca, pero que solo te dice que va a morir inminentemente, y tiene la delicadeza de solo hacertelo saber con un sutil último gesto:

The red ring of death.

¿Y aun asi tienen dudas de que las cosas se esten calentando globalmente?

Download complete.

Restart
Apr 6th, 2009 by Ed_Zero

Primero que nada una disculpa por todo el historial perdido (como si fuera mucho) y por todo el relajo de tener que volver a poner todo en orden. Con suerte esta será la última vez que lo haga. al menos asi de severo.

Por el momento han pasado muchas cosas desde la última vez que puse algo en este blog, tengo muchas cosas que escribir, así que manos a la obra.

– Downloading update…

- Hoy (el dia en el que escribí esto) es 6 de abril, acaba de haber un terremoto en Italia que estuvo bien merol, ya sabanas uno de esos que destruye todo (y para los que prefieren la nota en español), mis condolencias a las personas que perdieron algun ser querido o posesiones en el terremoto…

- Ayer fue 5 de abril, y descubrí que la semana santa es un respiro para la ciudad de méxico ya que las calles estan vacias, y las autopistas llenas, es curioso ver como cambia todo sin tanta gente, fuí uno de los pocos que en vez de escapar de la ciudad me encontraba regresando a ella, buena suerte que eso es raro, menos tráfico para mi.

- Antier fue 4 de abril, y si regresé el 5 pues tuve que haberme ido algun día, no? pues el 4 descubri que las autopistas rectas (sin curvas) son realmente aburridas, Queretaro – San Luis potosi, lo unico que me mantuvo despierto fue que mi auto se hacia como barco en altamar cada vez que un trailer pasaba cerca.

- El dia anterior fue 3 de abril …..

OK no continuaré haciendo la retrospectiva.

Pero algo muy chido que paso fue el 1o de abril, April’s fool, que es como el día de los “santos inocentes” pero en Region 1 (para los gringos y afines) donde se hacen bromas, muchos sitios online hacen bromas y no se puede confiar realmente en las noticias que salgan, especialmente noticias como estas:

En fin lo bueno es que las empresas tienen un momento para bromear el 1o de abril, lo malo es que luego noticias serias pueden ser confundidas. Yo diria que si la noticia es muy absurda casi seguro es un april’s fool, aunque luego estas bromas son demasiado buenas ideas, alguien recuerda burgercraft??? Si Blizzard pusiera tal cosa me cae que volaria hasta Irvine,CA unicamente para comer alla, bueno yo y otros 40 cuates para hacer el molten core combo. lol

Download complete.

»  Substance: WordPress   »  Style: Ahren Ahimsa
© (c) EdZero.net