tag:blogger.com,1999:blog-23429579900070114432024-03-11T09:33:52.403-06:00Las Tierras OscurasMorbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.comBlogger19125tag:blogger.com,1999:blog-2342957990007011443.post-20130622061832149072011-10-18T09:45:00.000-05:002011-10-18T09:46:17.640-05:00Presa<div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">El hecho de que la biosfera responda de manera imprevisible a nuestras acciones no justifica la inacción. Ahora bien, sí es una poderosa razón para obrar con prudencia, y para adoptar una actitud de duda ante todo aquello en lo que creemos y todo lo que hacemos. Por desgracia, nuestra especie ha demostrado hasta el presente una asombrosa temeridad. Cuesta imaginar que vayamos a comportarnos de otro modo en el futuro.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Creemos saber lo que hacemos. Siempre lo hemos creído. Al parecer, nunca reconocemos que si nos hemos equivocado en el pasado, bien podemos equivocarnos en el futuro. En lugar de eso, cada generación considera los anteriores errores fruto de ideas mal concebidas por mentes menos aptas, y a partir de ahí empieza a cometer sus propios errores.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Somos una de las tres únicas especies de nuestro planeta a las que puede atribuirse autoconciencia, aunque en nuestro caso quizá el autoengaño sea una característica más representativa.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><i>(Estracto de "<a href="http://e-bookshop.bligoo.com/content/view/1427823/Presa.html">Evolución Artificial en el siglo XXI</a>", Introducción a "<a href="http://es.scribd.com/doc/19095958/Crichton-Michael-Presa">Presa</a>", de Michael Crichton).</i></div><div style="text-align: justify;"><br /></div><div style="text-align: center;">* * * </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">A partir de este post, en teoría cada vez que publique algo aparecerá un Tweet en mi cuenta con el título y el url de la entrada, gracias a la magia de <a href="http://ifttt.com/wtf">ifttt</a>. Ya publicaré otro post hablando al respecto...</div><div style="text-align: justify;"><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com0tag:blogger.com,1999:blog-2342957990007011443.post-73347933630810847812011-07-27T10:58:00.000-05:002011-07-27T10:59:21.851-05:00Crimen Digital<div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">El programa entró al sector del laboratorio y reprimió un escalofrío al notar el descenso en la temperatura. Con una mueca, se dijo que no era extraño, tomando en cuenta con lo que allí trabajaban...</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Se acercó pensativo a forense.dll, y notó con un estremecimiento la camilla tapada al lado de la cual este se encontraba. Sin separar la mirada de la misma, le habló al otro programa.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">- Hola, forense.dll.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">- Hola, detective.exe. Lamento no tenerte mejores noticias... No hay huellas en el registro que aclaren quién fue... Y la ausencia de cuerpo no facilita las cosas...</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">- Lo sé. Fue astuto que, luego de eliminarla, vaciaran la papelera. Astuto y depravado. Además, eso demuestra que no fue un accidente. El criminal tuvo que presionar "Aceptar" en al menos dos pantallas de confirmación!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">- Pero qué enfermo sería capaz de eso? -preguntó, alterado, forense.dll- O sea, era una chiquilla! No tenía sino unas pocas horas de creada!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">El detective caminó unos pasos por el sector, mientras procesaba para sus adentros la siguiente instrucción a ejecutar...</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">- No lo creerás -comenzó-, pero creo que sé quién fue...</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">- Ah? Sí? Pero cómo...? Quién...?</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">- Antes de seguir, tengo que advertirte... No todo lo que hice para averigüarlo fue legal... Y esto parece ser algo muy grande. Puedo haberte puesto en peligro solo con venir aquí...</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">- Que no fue legal...? Pero qué...? -la expresión de duda de forense.dll pasó de la duda a la comprensión, luego a la sorpresa, y por último a la ira- Entraste al registro principal de eventos? Viste los logs del sistema?</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">- Simulé que tenía permiso de admin. Fue peligroso y loco, pero funcionó! Y sé quién la eliminó... Fue gsiverio.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">- gsiverio? Él? Estás seguro? Hace muchos ciclos que no eliminaba a nadie! Pensé que ya no estaría online!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">- Lo sé, pero los logs son claros... Escucha, puede ser que no pase mucho antes de que los antivirus detecten mi intrusión y me marquen como virus ilegal... Me pase lo que me pase, promételo... Promete que no te detendrás ante nada para detenerlo. No podemos dejar que siga eliminando archivos! -gritó detective.exe.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Ambos programas se miraron, silenciosos, pero decididos... Sabían que ese usuario debía ser detenido de una vez por todas, a cualquier precio!</div><div style="text-align: justify;"><br /></div><div style="text-align: center;">* * *</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">- Epa, cómo que "Acceso denegado"? Pero si ayer pude hacer login sin problemas!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">(Este escrito es especial por ser el primero que escribí integramente en mi celular. Antes de esto solamente había tomado notas sueltas de ideas para escribir los artículos luego. Definitivamente, quien se aburra en un Metro con retraso es porque quiere!)</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><i>Cambiando el mundo, una línea de código a la vez.</i></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><i>Eligió "mipene" como password y el sistema le dijo que tenía que ser mas largo... WTF!</i></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><i>Este libro es sobre cómo llegué a donde estoy, antes de que este libro destruyera mi carrera.</i> -- Tim allen</div><div style="text-align: justify;"><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com0tag:blogger.com,1999:blog-2342957990007011443.post-41741812724698375712011-01-31T22:01:00.001-06:002011-01-31T22:03:00.548-06:00SysHack<div style="text-align: justify;"><br />La camioneta se detuvo entre chirridos de frenos al lado de la acera, y sus puertas se abrieron de inmediato. <a href="http://en.wikipedia.org/wiki/Tsutomu_Shimomura">Shimomura</a> se bajó junto a un par de agentes de campo y se agachó para pasar por debajo de la banda de plástico amarillo que rodeaba el edificio.<br /><br />La construcción -un bloque de cemento gris- era la sede del Museo Metropolitano, uno de los museos más importantes de la ciudad. Mientras mostraba de forma automática su identificación a uno de los agentes presentes, Shim repasó en su mente lo que sabía de la situación.<br /><br />Era miércoles en la mañana, a medio camino de la próxima quincena. Las calles de la ciudad estaban atestadas de gente -como siempre-, pero el Museo se encontraba casi vacío -como siempre-. Solo algunos ancianos y un grupo de niños en paseo escolar guiado por su maestra. Y ese fué el día que eligieron para asaltarlo.<br /><br />Los ladrones demostraron una gran capacidad táctica y técnica. Segundos antes de entrar, desactivaron de forma remota las cámaras y alarmas de todo el edificio. Entraron, dominaron a los guardias y a los visitantes, se apoderaron de lo que buscaban -Shim aún no sabía qué había sido- y salieron. Quizás para no dejar pistas o testigos, o quizás solamente para generar mayor publicidad, sellaron las puertas y colocaron explosivos con mecanismos de detonación muy avanzados. Tan avanzados, que los expertos anti-bombas no habían podido hacer nada para desactivarlos.<br /><br />Eran obras de arte -bastante sarcástico, tomando en cuenta que iban a destruir un museo-. Una mezcla de equipo tecnológico de primera, programas computacionales de defensa, y un diseño de avanzada, demostraban que un especialista se había empeñado a fondo: estas eran unas bombas destinadas a explotar.<br /><br />Los chicos del Escuadrón Anti-Bombas hicieron lo que pudieron, pero no podían terminar de desactivarlas mientras los programas de protección estuvieran corriendo: ahí ya no habían cables que cortar, sino una lucha a muerte contra la inteligencia artificial programada por las oscuras inteligencias del hombre.<br /><br />Shim estudió detenidamente el aparato ante sí, y procedió a sentarse frente a él, sobre sus piernas cruzadas en <a href="http://static.photaki.com/mujer-joven-linda-practicar-yoga-en-una-estera-en-la-posicion-de-loto_241888.jpg">posición de loto</a>. Uno de los agentes que venían con él le acercó su equipo y se lo colocó sobre las piernas.<br /><br />El aparato que Shim se disponía a usar era uno de los más avanzados de su clase. Similar a una de las antiguas laptops, la <a href="http://www.oled-display.net/prime-gaming-laptop-concept-with-3-oled-displays">laptrip</a> -como la habían llamado, demostrando una falta total de buen gusto- era lo mejor de lo mejor en capacitación de enlaces neuronales portátiles.<br /><br />No era un Tanque, pero tendría que servir...<br /><br />Shim conectó uno de los cables terminales de la laptrip a la bomba, y eligió cuidadosamente otro que conectó a la terminal en su nuca -un enlace directo con su cerebro y su sistema simpático, agregado a su cuerpo de forma quirúrgica: la mejor interfaz hombre-máquina existente en la actualidad-, y de inmediato las pantallas de su equipo se volvieron su realidad.<br /><br />Shim se zambuyó en el ciberespacio, como cualquier otro Nadador.<br /><br />Se acercó al programa residente en la bomba, y comenzó la delicada tarea de desmembrarlo, quitando capa tras capa del sistema de defensa del explosivo, como si de una cebolla se tratara. Era una tarea difícil, sin necesidad de tomar en cuenta el hecho de que estaba trabajando contra-reloj para desarmar un aparato que pretendía volatilizarlo a él, junto con gran parte de la manzana en la que estaba el museo.<br /><br />Tras casi cuatro horas de trabajo, Shimomura había deshabilitado once capas de protección distintas. Y el sistema no daba muestras de que se fueran a acabar.<br /><br />Shim miró los indicadores del reloj de su avatar para ver cuánto tiempo le quedaba. En el mundo real habían pasado solamente dieciocho segundos desde que hizo interfaz con la bomba, por lo que los dos minutos que quedaban de tiempo en el contador parecían una eternidad, pero le preocupaba no haber podido aún desbaratar las defensas: Shim era el mejor Nadador de Central, y por ende, al menos oficialmente, del país; no era posible que no pudiera hacer este trabajo más rápido. <br /><br />Qué tipo de mente habría diseñado este código?<br /><br />Otra capa de la cebolla cedió, y de repente un ladrido lo sacó de su concentración. Una figura, similar a un perro pero con tres cabezas -tal y como el <a href="http://karlosasm.files.wordpress.com/2010/06/h5cerberus.jpg">Cerbero</a> mitológico- surgió de la capa que Shim acababa de desactivar. "Genial", pensó, "un programa de defensa dentro de un programa de defensa!".<br /><br />El colosal animal atacó de inmediato a Shim, quien se defendió disparándole ráfagas de rayos -realmente, datos que buscaban desactivar o destruir al otro programa-. Saltando hacia atrás, alejándose tanto como le era posible, y atacando sin parar, Shim le hizo frente al guardián del código con todo lo que tenía...<br /><br />...para nada.<br /><br />Los pocos espectadores con la suficiente valentía como para mantenerse cerca de un área con bombas vieron que el chino que había venido con los policías se sentó ante la bomba, se enchufó un cable a su terminal, y se quedó inmovil. Apenas unos segundos después, el cuerpo del chino tembló y se cayó de lado, mientras espasmos incontrolables lo azotaban.<br /><br />Los agentes sabían que eso podía pasar, pero no esperaban realmente que ocurriera, y por ello tardaron algunos segundos en reaccionar. Demonios, Shimomura era el mejor en lo que hacía! Qué podía estar dándole tanto trabajo? Reaccionando apenas, uno de los agentes comenzó a teclear la secuencia de salida en la laptrip de Shimomura, pero los comandos no respondían.<br /><br />El otro agente vió con aprensión los esfuerzos de su compañero, y los espasmos del cuerpo de Shim. Con la preocupación dibujada en la pétrea máscara de su rostro, tomó una decisión.<br /><br />De un tirón, desenchufó el cable que conectaba la laptrip con la bomba.<br /><br />El grito de Shimomura resonó en los alrededores, pero poco a poco el Nadador se calmó, y abrió los ojos. Estaba empapado en sudor, y le dolía cada músculo de su cuerpo, pero aparte de eso, parecía estar bien y, sobre todo, vivo.<br /><br />Se incorporó poco a poco, apoyándose contra la puerta del museo, a escasos centímetros de la bomba que había fallado en desactivar. No había ningún indicador visual que ver, pero sabía que le quedaba menos de minuto y medio de tiempo para desactivarla.<br /><br />No había nada que hacer.<br /><br />Shimomura le indicó a uno de los agentes que despejaran el museo y los alrededores. Había que minimizar las víctimas en los alrededores. La gente que estaba dentro estaban condenados.<br /><br />Algunos agentes comenzaron a indicar a los civiles que estaban cerca que se alejaran de inmediato, mientras otros llamaban a Central para indicar que cerraran los accesos de entrada a la zona del Museo. Entre el movimiento de gente, y el pequeño caos que siguió, una figura se separó del grupo y traspasó la banda de seguridad. Antes que los agentes pudieran detenerlo, se acercó a Shim, y se arrodilló a su lado. Shimomura levantó la vista y se encontró con una cara pecosa enmarcada en un cabello rojo fuego; una cara que conocía de otra vida: <a href="http://en.wikipedia.org/wiki/Kevin_Mitnick">Kevin Davis</a>.<br /><br />Davis había sido uno de los mejores Nadadores en la historia de Central, pero unos años atrás agentes de <a href="http://lomeanor.blogspot.com/2007/11/syscorp.html">SysCorp</a> -la competencia no oficial de Central- habían encontrado que Davis no era solamente un Nadador: en su tiempo libre usaba su conocimiento y acceso a equipo para entrar sin permiso a ciber-instalaciones privadas. En cuestión de días, Davis pasó de ser el especialista de los especialistas, a ser el hacker más buscado del país. Prueba suficiente de su talento era que, años después de su acusación, aún seguía libre: en una era de automatización y dependencia de las computadoras, las agencias no habían podido encontrarlo.<br /><br />- Davis? -dijo Shimomura.<br /><br />- Hola, chino. Ha pasado tiempo.<br /><br />Shimomura se fijó en los agentes que los rodeaban. Una palabra suya, y Davis sería arrestado de inmediato. Qué demonios se proponía?<br /><br />- Qué haces aquí? -preguntó Shim.<br /><br />- No tenemos tiempo que perder. Ví en las noticias lo que pasa. Tienes un problema más grande que tú, y casualmente, casi milagrosamente, soy la única persona que puede ayudarte. Déjame entrar, Shim, y desactivar estas cosas.<br /><br />Shimomura lo miró fijamente. Sabía que lo que decía era verdad: el programa multicapa de seguridad de las bombas era casi imposible de romper, y menos en el poco tiempo que quedaba. Si alguien podía hacerlo, era Davis. Shimomura calculó que, fácilmente, podían haber perdido un minuto en la charla que acababan de sostener: se les acababa el tiempo.<br /><br />- Entra -le dijo-, pero sabes que no puedo dejarte ir luego...<br /><br />Sin mediar palabra, Davis reconectó el cable de conexión a la bomba, y conectó el cable que había formado interfaz con Shimomura en su propia neuro-terminal.<br /><br />Cuando, segundos después, Davis abrió los ojos y se desconectó el cable, los agentes cayeron sobre él. Shimomura revisó la bomba, y vió que había sido desconectada; una rápida revisión le indicó que las demás bombas también estaban desactivadas.<br /><br />Shimomura trató de ponerse en pie, mientras los agentes esposaban a Davis y lo empujaban sobre la capota de la camioneta en la que el propio Shim había llegado. Qué había hecho que Davis saliera de su escondite y corriera a salvar el día? Shim sabía que Davis no era mala persona, pero tampoco creía que fuera capaz de sacrificar su libertad por algunos desconocidos.<br /><br />Mientras algunos agentes empujaban a Davis dentro de la camioneta, este alcanzó a ver que las puertas del museo se abrían, y los visitantes salían corriendo, agradecidos del milagro que les había permitido escapar de la pesadilla, del imposible que les había salvado de la muerte.<br /><br />Entre el grupo de niños que corría alejándose del museo, guiados por su maestra, Davis distinguió con facilidad la melena color rojo fuego que se movía al compás de la carrera de su dueña. "Ves, Melissa", pensó para sus adentros, "papi siempre te cuida"...<br /><br />Mientras los agentes restantes revisaban el sitio, y un aun aturdido Shimomura guardaba su equipo y luchaba por no vomitar, la camioneta en la que estaba Davis arrancó, llevándolo a una nueva vida...<br /><br /><br /><i>- Sálvame! Sálvame!<br />- ok... Ctrl-S</i><br />-- Chiste computista<br /><br /><i>No soy antisocial; soy de interfaz poco amigable.</i> -- <a href="http://queroweb.x10hosting.com/top-de-frases-geek/">Top de frases Geek</a><br /><br /><i>Le preguntaba a mi uruguayo si hacía frío o calor en su país, si había montañas, si la cebolla hacía llorar. El baterista me miraba raro. "Es igual que acá, botija", me decía. Y yo pensaba: "¡Qué grandioso! Además de geniales, son humildes".</i> -- Hernán Casciari (Orsai - <a href="http://orsai.bitacoras.com/2005/10/justicia_potica.php">Justicia poética</a>)<br /><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com4tag:blogger.com,1999:blog-2342957990007011443.post-2599235493648344872010-04-11T21:59:00.001-05:002010-04-11T22:00:42.195-05:00TuTwit<div style="text-align: justify;"><br />Parte del encanto de <a href="http://twitter.com/">Twitter</a> -los que no sepan qué es tendrán que esperar a otro post- consiste en poder usarlo desde nuestro celular. Sin embargo, el servicio de "tuiteo" celular sólo está disponible en algunos países, y <a href="http://lomeanor.blogspot.com/search/label/Venezuela">Venezuela</a> no es uno de ellos.<br /><br />Existen varias opciones para poder tuitear desde nuestro celular: una es mudarnos de país; otra es instalar un cliente Twitter en nuestros celulares, si es que estos lo permiten; la tercera es usar un servicio de terceros para poder publicar y leer tweets vía <a href="http://es.wikipedia.org/wiki/Servicio_de_mensajes_cortos">SMS</a>. Es esta tercera opción la que nos trae aquí hoy.<br /><br /><a href="http://www.tutwit.com/">TuTwit</a> es un site que se conecta directamente a Twitter, y nos permite tanto publicar tweets como leer los tweets de los autores que seguimos. En principio, el costo del servicio es bastante bajo -se cobra por mensaje- y hasta ahora me ha funcionado excelentemente.<br /><br /><a href="http://www.tutwit.com/ayuda/instrucciones">Las instrucciones del site son bastante claras</a>: crea una cuenta o conéctate con tu cuenta de TWitter, ingresa tu celular, haz una configuración mínima -por ejemplo, el número máximo de tweets a recibir al mes-, y listo.<br /><br />De momento no he activado la recepción de tweets -no quiero quedarme sin saldo, y realmente no me interesa recibir mensajes a cada rato-, pero parece bastante configurable, permitiendo indicar los autores de los que queremos recibir tweets. La publicación vía SMS sí que la he probado, y funciona de maravilla.<br /><br />Así que la próxima vez que <a href="http://www.sdd-v2-fanatico.com.ar/2009/09/big-bang-theory.html">una chica llame "pastelito" a alguien</a> a mi lado, podré fastidiarlo de inmediato. No es adorable?<br /><br /><br /><i>Si lo que vas a decir no es más bello que el silencio: no lo digas.</i> -- <a href="http://aligatorcelibe.blogspot.com/">##Solo mis Frases "Celebres"##</a> (<a href="http://aligatorcelibe.blogspot.com/2010/02/si-lo-que-vas-decir-no-es-mas-bello-que.html">Calla</a>)<br /><br /><i>Porque así evito que se me acerque la gente estúpida ¿Me guardas un secreto? Creo que la gente que se ríe de mí y me evita sólo porque yo lleve el pelo de esta manera no vale nada. Es una suerte que esas personas se mantengan alejadas de mi y que sólo se me acerquen para sacarme una foto y hacerme una broma.</i> -- <a href="http://www.micabeza.com/">Sigmundo</a> (<a href="http://www.micabeza.com/diariotres.htm">Diario Tres</a>)<br /><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com2tag:blogger.com,1999:blog-2342957990007011443.post-34033424445794028102010-03-02T09:48:00.003-06:002010-03-02T09:57:43.054-06:00Subir a dónde?<div style="text-align: justify;"><br />Esta semana, para los que aún no lo saben, estoy de vago. Esta semana, para los que aún no lo saben, estoy desempleado por primera vez en mi vida.<br /><br />El viernes renuncié a lo que durante los últimos siete años fué mi trabajo, mi equipo, mis compañeros y mi proyecto; el viernes me despedí de gente a la que veía más horas al día que a mi familia. El próximo lunes comienzo en una nueva empresa, y como todo comienzo, estoy lleno de dudas y esperanzas, más o menos a partes iguales.<br /><br />Los últimos días en la oficina fueron de locura, atando cabos y hablando con la gente. Entre las últimas cosas que hicimos estuvieron los nombramientos de los chicos que coordinarán el área ahora que no estoy. Y me llamó la atención, hablando con ellos, principalmente dos cosas...<br /><br />La primera, que todos dijeron "Pero es que no soy como Gorka". Eso me llenó más que cualquier comentario o contra-oferta que me hicieran las altas esferas. Como dijeron una ex-compañera y mi (brevemente) ex-jefe, "Es que tú aquí eres una institución". Tengo que meter a mi ego al gimnasio, porque subió de peso esta semana...<br /><br />La segunda, volviendo al tema, que en conversaciones con los chicos, varios dijeron lo mismo: "Es que a mí lo que me gusta es programar". Gracias a Dios! Pensé que yo era un bicho raro con un punto de vista único. Ahora sé que sólo soy un bicho raro.<br /><br />Sé que ya antes he tocado este tema aquí, pero hoy necesito retocarlo (o sea, tocarlo de nuevo? o acomodarlo?): por qué a los Desarrolladores (Programadores, pues) nos ascienden a Gerentes? Lo que es peor, por qué muchos Desarrolladores fijan su camino de progresión profesional apuntando a ser Gerente?<br /><br />Desde que tengo uso de razón -si es que la tengo- mi padre ha trabajado de Camionero. Imagino que sea un trabajo que tenga, como todos, sus cosas buenas y malas: entre las mejores, que le permitió alimentarse a él, a mi madre, a mí y a mi hermano... Y en todos estos años jamás le escuché decir "espero que me den un ascenso a Ceramista" -si es que es así como se llama el que pone las cerámicas en el piso y las paredes-. O a Frisador. O a Soldador. O a ninguna otra cosa que tenga que ver con la construcción. Eres Camionero, eso es lo que eres, pues entonces trata de mejorar dentro de tu campo.<br /><br />(Si no te gusta tu campo de trabajo, y quieres cambiar completamente de área, eso es otra cosa, ojo!).<br /><br />Imagino a un Frutero -el tipo que vende las frutas, no el pote donde las pones- mejorando su negocio: eligiendo mejor qué frutas comprar y cuándo, consiguiendo mejores proveedores, comprando más neveras, ampliando el local o comprando otros locales, contratando ayudantes... Pero no me lo imagino diciendo "mañana pediré que me asciendan a Carnicero!". Verdad que suena como raro? A lo mejor ni te sabes los nombres de los cortes de las carnes!<br /><br />Mucha gente tiembla ante la pregunta "Te ves haciendo esto <a href="http://www.lessonsoffailure.com/developers/pervasive-myths-older-software-developers/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+LessonsOfFailure+%28Lessons+of+Failure%29">a los cincuenta años</a>?". Sinceramente, yo no tendría problemas en seguir programando con esa edad. Que tengo que tomar cartas en el asunto, porque a lo mejor con dicha edad <a href="http://news.yahoo.com/s/infoworld/20100217/tc_infoworld/113209">ya nadie me contrata</a>, es otra cosa; es por eso que comenzaré a comprar carritos de perros calientes... Pero me gusta lo que hago, y sería feliz si me pagaran toda la vida por hacerlo. Quizás en la misma empresa, quizás en empresas distintas; quizás haciendo video-juegos con mi hermano, u otros programas con mis amigos; quizás trabajando para terceros, o en mi propia empresa... Eso aún no lo sé, pero de una cosa sí estoy seguro: para mí (y para otros más como yo), desarrollarte como Programador no significa, necesariamente, <a href="http://www.codinghorror.com/blog/2010/02/the-nonprogramming-programmer.html">dejar de programar</a>.<br /><br />Hasta lógico suena.<br /><br /><br /><i>"Re" es un prefijo que significa "hacer de nuevo". Pero "remordimiento" no significa "morder de nuevo", ni "repetición" significa "pedir de nuevo". El castellano es un idioma confuso...</i> -- Gorka<br /><br /><i>Y un dia te das cuenta que no puedes mirar nada nuevo, porque no consiges salir de la carpeta de historial... Y cuando sales de alli, al volver te das cuenta de que cada dia haces lo mismo...que nada cambia, que no hay diferencia entre no poder salir de esa carpeta o buscar lo que quieras... Y empiezas a dudar sobre si de verdad no podias o era que no querias, si acaso por alguna extraña razon en vez de empujar la puerta la estabas cerrando, y todo esto sin darte cuenta....</i> -- <a href="http://kanakosaiwa.blogspot.com/">Buscar la felicidad no es una causa perdida...</a> (<a href="http://kanakosaiwa.blogspot.com/2009/12/jaula-de-cristal.html">Jaula de cristal</a>)<br /><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com3tag:blogger.com,1999:blog-2342957990007011443.post-27644962620150535232009-10-23T11:41:00.003-05:002009-10-29T09:36:56.990-06:00Class skills are...<div style="text-align: justify;"><br />- Qué lees? "Class skills"? Qué es eso, como los attributes de una Class?<br /><br />- No... Los attributes son del character.<br /><br />- Ya va... character es un primitivo... no tiene atributos, a menos que uses la Class.<br /><br />- Cómo va a ser una class un character? Un character PERTENECE a una o más classes.<br /><br />- Ah, por herencia? No, pero ya va... Herencia de varias Classes no está permitida...<br /><br />- Bueno, no sé qué tiene que ver mi testamento con eso, pero créeme: un character puede ser de varias classes a la vez.<br /><br />- Joder contigo. Un Character es de la Class Character, y ya. No más.<br /><br />- Te lo voy a demostrar. Vamos a crear un nuevo character llamado Morb.<br /><br />- Ajá... Character Morb = new Character();<br /><br />- De qué demonios estás hablando?<br /><br />- Coño, hice lo que me dijiste. Que no sepas lo que querías, es otra vaina.<br /><br />- Bueno, como digas. Ok, ahora, cuántos XPs le ponemos?<br /><br />- Cómo que cuántos? O usas XP, o no lo usas.<br /><br />- Claro que los uso. Vamos a ponerle 4.000 XPs para este ejemplo.<br /><br />- Se te terminó de freír el cerebro. Por todo lo que es bueno y sano, qué es eso de 4.000 XPs???<br /><br />- Prefieres más? O menos?<br /><br />- Coño, con una basta y sobra. Usar XP, y ya.<br /><br />- Con un XP el character va a tener un solo nivel. No va a poder tener varias classes. Es que no va a tener ni siquiera muchos HPs.<br /><br />- A mí en lo personal no me gusta HP, pero puedo usarlas. Ahora, igual un character no tendrá varias classes. De hecho, no tiene ni una! Ya te dije que era un primitivo!<br /><br />- Sin class?<br /><br />- Igual que una escuela en sábado.<br /><br />- Hasta los bartenders tienen class. Y qué es eso de "primitivo"? Un barbarian?<br /><br />- <a href="http://www.youtube.com/watch?v=RY7_ZwgoeJM">Me estás confundiendo</a>!<br /><br />- Segura que estamos hablando de <a href="http://en.wikipedia.org/wiki/Who%27s_on_First%3F">la misma vaina</a>?<br /><br /><br />(Para aquellos elegidos que sepan de qué hablo, disfrútenlo...)<br /><br /><br /><i>- Bota eso! Aquí no se puede fumar!<br />- Qué te hace pensar que estoy fumando?<br />- Tienes un cigarro en tu boca!<br />- También tengo zapatos puestos, y eso no quiere decir que esté caminando!</i><br />-- <a href="http://en.wikipedia.org/wiki/Abbott_and_Costello">Abbott & Costello</a> (<a href="http://www.clown-ministry.com/index_1.php?/site/articles/funny_movie_quotes_from_abbott_and_costellos_first_movie_one_night_in_the_t/">One Night in the Tropics</a>)<br /><br /><i>"<a href="http://www.clown-ministry.com/index_1.php?/site/articles/clean_funny_jokes_witty_sayings1/#ixzz0UmGhWrX4">Tacto</a>" es el arte de conseguir un punto sin conseguir un enemigo.</i><br /><br /><i>Hola! La <a href="http://www.clown-ministry.com/index_1.php?/site/articles/clean_funy_jokes_actual_answering_machine_messages/#ixzz0UmHFC5Vv">máquina contestadora</a> de Juan está rota. Soy su nevera. Por favor hable muy lento, y me pegaré su mensaje usando uno de esos imanes con forma de frutas.</i><br /><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com7tag:blogger.com,1999:blog-2342957990007011443.post-1470270376004913072009-04-29T19:44:00.000-05:002009-04-29T19:45:52.798-05:00Java es como el sexo!<div style="text-align: justify;"><br />Porque...<br /><br />* Un error, y tienes que calártelo toda la vida.<br /><br />* Trabajar en comunidad es más productivo.<br /><br />* Una vez que comiences, pararás sólo porque estés exhausto.<br /><br />* Se necesita a otra persona experimentada en ello para realmente apreciar lo que haces.<br /><br />* Y al contrario, hay algunas personas raras que se enorgullecen de su falta de experiencia.<br /><br />* Puedes hacerlo por dinero o por placer.<br /><br />* Si pasas más tiempo haciéndolo que viendo tele, la gente pensará que eres una vaina rara.<br /><br />* Realmente, no es un tópico apropiado para conversar durante la cena.<br /><br />* No enseñan suficiente sobre eso en secundaria.<br /><br />* No tiene ningún sentido si tratas de explicarlo en términos estrictamente clínicos.<br /><br />* Algunas personas sencillamente nacieron con un don para ello.<br /><br />* Pero algunas personas nunca se darán cuenta de lo malas que son, y estás perdiendo tu tiempo si tratas de convencerlas de ello.<br /><br />* Hay un par de tipos raros con prácticas bizarras con los que realmente nadie se siente cómodo.<br /><br />* Una pequeña cosa que vaya mal puede arruinar todo.<br /><br />* Es una forma excelente de pasar el tiempo libre durante el almuerzo.<br /><br />* Todos actúan como si fueran la primera persona que descubrió alguna nueva técnica al respecto.<br /><br />* Todos los que lo han hecho se divierten fastidiando por ello a los que no lo han hecho.<br /><br />* Novatos cometen un montón de errores tontos.<br /><br />* Lo extrañarás bastante si dejas que pase tiempo sin hacerlo.<br /><br />* Siempre hay alguien deseoso de escribir sobre la única manera correcta de hacerlo.<br /><br />* No lo haces tan bien cuando estás borracho, aunque tendrás más chance de hacerlo.<br /><br />* Algunas veces es divertido usar juguetes caros.<br /><br />* Personas de más normalmente molestan.<br /><br /><br />(Traducción libre de <a href="http://javaspot-developer.blogspot.com/2009/04/java-is-like-sex.html">Java is like Sex!!!</a>, lista aparecida en <a href="http://javaspot-developer.blogspot.com/">Java Spot</a>, que a su vez es una completación de la lista aparecida en <a href="http://push.cx/">Push cx</a>).<br /><br /><br /><i>Aunque nos duela, somos como prostitutas... Tenemos el mismo horario, y básicamente cobramos por darle al cliente lo que desea, aún a sabiendas de que a veces lo que pide sencillamente no es correcto.</i> -- Gorka<br /><br /><i>Escribe código que no provoque a los demás venir a cagarla. Escribe código para gente, no para máquinas.</i> -- Gregor Hohpe (Arquitecto de Software en Google, Inc) en The ServerSide Java Symposium.<br /><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com2tag:blogger.com,1999:blog-2342957990007011443.post-8953753103271225612009-04-19T14:38:00.002-05:002009-04-20T10:03:45.206-05:00Complicaciones<div style="text-align: justify;"><br /><a href="http://lomeanor.blogspot.com/2005/09/asier.html">Cuando mi hijo nació</a> tenía otras cosas en mente aparte de estar midiendo el tiempo que pasaba entre un evento y el otro. Sin embargo, en mis alborotados recuerdos creo entrever que el proceso completo no duró más de una hora. Sin embargo, me han contado de partos que casi llegan a durar un día completo! Por qué?<br /><br />A pesar del milagro -o la maldición- que normalmente significa para nosotros el nacimiento de un niño, <a href="http://humanossinsentido.blogspot.com/2009/04/no-todo-es-lo-que-parece-2.html">la verdad</a> es que para un médico esa operación ya debe ser bastante monótona. No en vano cada día nacen <a href="http://coloverio.securesites.net/blogs/elcoleccionista/?p=27">más de</a> doscientos cincuenta mil niños en el mundo (<a href="http://espanol.answers.yahoo.com/question/index?qid=20060801085640AAwWn82">tres niños</a> cada segundo que pasa, mientras tú lees esto)...<br /><br />Sin embargo, a veces surgen complicaciones que, como su nombre sabiamente indica, tienden a complicar el flujo esperado o deseado de los eventos: El niño viene en una mala postura. El niño tiene el cordón umbilical enrollado en torno a su cuello. El niño presenta síntomas de algún problema. El niño dice que está cómodo donde está, y que para qué lo van a sacar de ahí y meterlo en esta locura de mundo...<br /><br />Todos sabemos que antes un nacimiento era bastante más problemático, aún cuando todo ocurriera según lo planeado. Y si surgían complicaciones, pues entonces podíamos apostar con bastante confianza a que el parto terminaría 1-0 a favor de <a href="http://en.wikipedia.org/wiki/Death_%28personification%29">la pelona</a>.<br /><br />Pero ahora, las cosas han cambiado. Ahora los médicos pueden detectar esas complicacionen antes de que se conviertan en problemas serios, y corregirlas, evitarlas, esquivarlas o minimizarlas, según sea el caso, logrando efectivamente mejorar en mucho el porcentaje de partos exitosos comparado con los viejos tiempos. Eso es debido, en gran parte, a que ahora los médicos tienen la tecnología necesaria para prever los problemas que puedan surgir a su paso con suficiente antelación, y actuar según sea necesario para minimizarlo.<br /><br />Ahora les pregunto: Por qué en el <a href="http://es.wikipedia.org/wiki/Desarrollo_de_software">Desarrollo de Software</a> no se puede hacer lo mismo?<br /><br />Cuántas veces no han vivido, oh! ustedes creadores de vida digital, el mismo caso una y otra vez? Cuántas veces no se han encontrado con que, en lugar de prever los posibles problemas que puedan surgir, la planificación se hace no sobre casos <a href="http://www.wikihow.com/Create-a-Business-Continuity-Plan">negativos</a>, y ni siquiera positivos, sino sobre casos decididamente de ensueño ("Si los chicos trabajan <a href="http://www.stlyrics.com/songs/p/proyectouno21261/25horasaldia555625.html">25 horas al día, vida mía</a>, terminaremos con solo un día de retraso! Y un día lo recuperamos fácil!"). Sin diseño, sin tiempo de discusión, siempre con entregas para ayer de cosas que ni siquiera se sabe por qué se pidieron, y que incluso no llegan a usarse.<br /><br />Si comparáramos con el ejemplo anterior de un médico atendiendo a un parto, entonces las cosas irían más o menos así: Primero, tendríamos que olvidarnos de cualquier tipo de prevención que pudiéramos tomar, así que nada de exámenes previos: la primera vez que veríamos a la madre sería el día del parto -sorpresa, sorpresa!-. Segundo, no habría especialistas en el parto: el cirujano, el anestesiólogo, y los demás médicos asistentes serían, en cada caso, el primer médico que consiguiéramos libre al momento de necesitarlo. Tercero, el parto tendría que ocurrir cinco meses luego de que el bebé fuera concebido, pero dicho bebé ya tendría que estar completamente formado. Cuarto, trabajaríamos no con tecnología de punta, sino con equipos peores a los que cualquier civil pueda tener en su casa.<br /><br />(Bueno, esto último también se cumple en algunos hospitales!).<br /><br />Cuando vas a corregir un error -nuevo, y peor aún, que no deberías corregir en ese momento-, y avisas que la corrección tardará cierto tiempo, en lugar de agradecerte por la información -suponiendo que sea exacta- y proceder a corregir la planificación acorde a los nuevos desarrollos detectados, el encargado de la planificación se molesta porque quería el bebé -perdón, el desarrollo- para un tiempo brevísimo, en la versión a la que no debería pertenecer, probado y funcionando perfectamente. De todo eso solo se puede obtener el resultado lógico: retrasos y ruidos por desarrollos que realmente no eran importantes en ese momento, además de nuevos errores en el sistema...<br /><br />A todo aquel que maneje planificaciones, de lo que sea, elevo mi voz: <a href="http://www.wikihow.com/Create-a-Business-Continuity-Plan">todo lo que pueda salir mal</a>, saldrá mal, y sobre todo si no toman las previsiones del caso; todo tardará más de lo que debe, y no menos -el caso es que no pueden contrar con los milagros-. No pueden basar sus planificaciones en esfuerzos heróicos o en ensoñaciones románticas de que no ocurrirá nada malo. Antes de tomar una decisión como esa, piensen en qué harían si su doctor, o si el constructor del avión en el que harán su próximo viaje, planificara sus labores de esa misma forma.<br /><br />Háganse un favor a ustedes y al mundo, y entiendan esto: Planificar no es ignorar las complicaciones, sino preverlas y minimizarlas en la medida de lo posible. El caso contrario es, única y sinceramente, solo un intento mediocre de suicidio!<br /><br /><br /><i>Los planes B tiene pequeños planes C agazapados en su seno.</i> -- <a href="http://quehaydeneuvecatherine.blogspot.com/">¿Qué hay Deneuve, Catherine?</a> (<a href="http://quehaydeneuvecatherine.blogspot.com/2007/07/passport-odyssey.html">Passport Odyssey</a>)<br /><br /><i>A mí las calaveras me <a href="http://www.todamujer.com/articulos/12362.html">pelan los dientes</a>.</i> -- <a href="http://www.elporvenir.com.mx/notas.asp?nota_id=262053">Desconocido</a><br /><br /><i>Quizás la suerte existe en algún lado entre el mundo de lo planeado, el mundo de la casualidad, y la paz que viene de saber que sencillamente no puedes saberlo todo.</i> -- Stacy (<a href="http://www.imdb.com/title/tt0361841/">Little Black Book</a>)<br /><br /><i>No existe nada bueno en este mundo para seguir viviendo...<br />No existe una razón más importante que este miedo, a esta maldita vida.</i><br />-- <a href="http://6devol6sadik6.spaces.live.com/">MuErTa 3n ViDa</a> (<a href="http://6devol6sadik6.spaces.live.com/blog/cns%21FE8D2FC88A2CF391%21481.entry">Temor</a>)<br /><br /><i>"Y ya se mandó el plan al cliente; ya no nos podemos echar para atrás". Sabían que se iba antes de mandar el plan!</i> -- Opiniones airadas de una colega.<br /><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com0tag:blogger.com,1999:blog-2342957990007011443.post-69043198903086619062009-04-07T18:51:00.002-05:002009-04-08T05:58:57.212-05:00GuaJava<div style="text-align: justify;"><br />Porting de Java 1.5 a Guayoyo 0.1<br />Basado en una idea original de Luigi Peña.<br /><br /><br /><table border="0" cellspacing="5"><tr><td align="center" valign="center"><b>Java 1.5<br />(en vez de...)</b></td><td align="center" valign="center"><img src="http://gsiverio.googlepages.com/arrow-r.jpg" height="20px" /></td><td align="center" valign="center"><b>Guayoyo 0.1<br />(va a ser...)</b></td></tr><tr><td align="center" valign="center"><br /></td><td align="center" valign="center"></td><td align="center" valign="center"><br /></td></tr><tr><td align="center" valign="middle">try { ...</td><td align="center" valign="center"><img src="http://gsiverio.googlepages.com/arrow-r.jpg" height="20px" /></td><td align="center" valign="center">pa'vé { ...</td></tr><tr><td align="center" valign="center">catch (Exception e) { ...</td><td align="center" valign="center"><img src="http://gsiverio.googlepages.com/arrow-r.jpg" height="20px" /></td><td align="center" valign="center">agarra (Peo p) { ...</td></tr><tr><td align="center" valign="center">import (...)</td><td align="center" valign="center"><img src="http://gsiverio.googlepages.com/arrow-r.jpg" height="20px" /></td><td align="center" valign="center">trae pa'cá (...)<br />contrabandea (...)</td></tr><tr><td align="center" valign="center">package (...)</td><td align="center" valign="center"><img src="http://gsiverio.googlepages.com/arrow-r.jpg" height="20px" /></td><td align="center" valign="center">bojote (...)<br />problema (...)</td></tr><tr><td align="center" valign="center">public (...)</td><td align="center" valign="center"><img src="http://gsiverio.googlepages.com/arrow-r.jpg" height="20px" /></td><td align="center" valign="center">puteao (...)</td></tr><tr><td align="center" valign="center">private (...)</td><td align="center" valign="center"><img src="http://gsiverio.googlepages.com/arrow-r.jpg" height="20px" /></td><td align="center" valign="center">caleta (...)</td></tr><tr><td align="center" valign="center">final (...)</td><td align="center" valign="center"><img src="http://gsiverio.googlepages.com/arrow-r.jpg" height="20px" /></td><td align="center" valign="center">acabao (...)</td></tr></table><br /><br /><br /><i>"Antónimo" es el antónimo de "Sinónimo", pero "Sinónimo" no es el sinónimo de "Antónimo".</i><br /><br /><i>Por lo tanto las matemáticas pueden ser definidas como aquello en lo que nunca sabemos de qué estamos hablando, ni si lo que estamos diciendo es cierto o no.</i> -— <a href="http://es.wikipedia.org/wiki/Bertrand_Russell">Bertrand Russel</a><br /><br /><i>Chuck Norris juega a la Ruleta Rusa con un Revólver completamente cargado... Y gana!</i> -- <a href="http://www.chucknorrisfacts.com/">Chuck Norris Facts</a><br /><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com2tag:blogger.com,1999:blog-2342957990007011443.post-90119878133108244562009-02-17T10:07:00.002-06:002009-02-18T13:32:21.740-06:00No confundas "el deber" con lo que las otras personas esperan de tí<div style="text-align: justify;"><br />Les recomiendo que de vez en cuando se paseen por el Blog de <a href="http://ve.soronthar.com/">Soronthar</a>, pues se pueden encontrar joyitas como el artículo sobre "<a href="http://ve.soronthar.com/2009/02/el-arte-de-programar.html">El Arte de Programar</a>". El último hallazgo con el que se tropezarán allí está titulado "<a href="http://ve.soronthar.com/2009/02/no-confundas-el-deber-con-lo-que-los.html">No confundas 'el deber' con lo que las otras personas esperan de tí</a>", y en él Soronthar comparte -a modo de complemento a una conversación personal- un fragmento de "<a href="http://www.amazon.com/Time-Enough-Love-Robert-Heinlein/dp/0441810764/ref=pd_bbs_sr_4?ie=UTF8&s=books&qid=1234846890&sr=8-4">Time Enough for Love</a>", de <a href="http://www.amazon.com/s/ref=nb_ss_gw?url=search-alias%3Daps&field-keywords=heinlein&x=0&y=0">Robert Heinlein</a>, sobre el cual asegura que ha influído mucho en su vida.<br /><br /><a href="http://ve.soronthar.com/2009/02/no-confundas-el-deber-con-lo-que-los.html">Les presento</a> ahora yo el fragmento traducido por <a href="http://soronthar.com/">Soronthar</a> (y <a href="http://soronthar.com/2009/02/do-not-confuse-duty-with-what.html">aquí</a>, también por manos de él, <a href="http://soronthar.com/2009/02/do-not-confuse-duty-with-what.html">el original en inglés</a>). Ojalá lo disfruten la mitad de lo que yo lo hice...<br /><br /><div style="text-align: center;"><b>* * *</b><br /></div><br />No confundas "el deber" con lo que las otras personas esperan de tí; son cosas totalmente diferentes.<br /><br />El Deber es la deuda que tienes contigo mismo de cumplir las obligaciones que has asumido voluntariamente. Pagar esta deuda puede significar desde años de trabajo arduo y paciente, hasta estar dispuesto a morir en cualquier momento. Puede que sea difícil, pero la recompensa es el respeto propio.<br /><br />Pero no existe ninguna recompensa en hacer lo que los demás esperan que tu hagas, y hacerlo no es solamente difícil, sino imposible. Es más fácil tratar con un ladrón que tratar con una sanguijuela que quiere "solo unos minutos de tu tiempo, por favor - esto no tomara mucho"... El tiempo es tu máximo capital, y los minutos de tu vida son penosamente pocos. Si tú te permites caer en el vicio de aceptar esas peticiones, pronto se convertirán en una avalancha en la que estos parásitos usarán el 100% de tu tiempo -y demandarán aún mas!<br /><br />Asi que aprende a decir no - y a ser agresivo al respecto cuando sea necesario.<br /><br />De otra forma no tendrás tiempo para cumplir con tu deber, o hacer tu propio trabajo, y seguramente no tendrás tiempo para el amor y la alegría. Las termitas roerán toda tu vida y no dejarán nada de ella para tí.<br /><br />Esta regla no significa que no debes hacer favores a tus amigos, o incluso a extraños. Pero la elección debe ser tuya. No lo hagas porque es lo que "se espera" de tí.<br /><br /><br /><i>Lo mejor acerca de actuar es que puedo dejarme llevar como otro personaje y además ser pagado por ello. Es una gran forma de relajarse.</i> -- <a href="http://www.imdb.com/name/nm0000138/bio">Leonardo DiCaprio</a><br /><br /><i>No sabes decir qué está mal -dijo- porque el matrimonio es todo aquello que esperaste que fuera.</i> -- <a href="http://www.wmagazine.com/celebrities/archive/brad_pitt_angelina_jolie?slide=1">Brad Pitt</a><br /><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com5tag:blogger.com,1999:blog-2342957990007011443.post-71624888048576287992008-11-19T06:12:00.002-06:002008-11-19T06:19:48.361-06:00Puertas Cerradas<div style="text-align: justify;"><br />Algunas personas ven una <a href="http://lomeanor.blogspot.com/2008/02/infinitas-puertas.html">puerta</a> cerrada<br />y se voltean y se van.<br /><br />Otros ven una puerta cerrada,<br />prueban el pomo,<br />si no abre...<br />ellos se voltean y se van.<br /><br />Otros más ven una puerta cerrada,<br />prueban el pomo,<br />si no abre,<br />encuentran una llave,<br />si la llave no sirve...<br />ellos se voltean y se van.<br /><br />Algunos pocos ven una puerta cerrada,<br />prueban el pomo,<br />si no abre,<br />encuentran una llave,<br />si la llave no sirve...<br />ellos <a href="http://lomeanor.blogspot.com/2008/06/anoche-so-contigo.html">hacen una</a>.<br /><br /><br />(Desconozco el autor del original, pero su título creo que es Keymakers. Los nombres que más suenan por ahí es <a href="http://www.behavioralinstitute.org/Resources/Key%20Maker_Strandlund.pdf">Rebecca Strandlund</a> o <a href="http://supportivedevices.org/newsite/index.asp">Helen Keller</a>).<br /><br /><br /><i>La ceguera biológica te impide ver. La ceguera ideológica te impide pensar.</i> -- <a href="http://es.wikipedia.org/wiki/Octavio_Paz">Octavio Paz</a><br /><br /><i>No son los golpes ni las caídas las que hacen fracasar al hombre; sino su falta de voluntad para levantarse y seguir adelante.</i> -- <a href="http://es.wikiquote.org/wiki/An%C3%B3nimo">Anónimo</a><br /><br /><i>Hay que ser irresponsable. Porque los "responsables" se conforman con trabajar de 9 a 5 y tener cachifa, barriga y amante, jardín, perro y carro nuevo.</i> -- <a href="http://irresponsabilidad.blogspot.com/">El irresponsable</a> (o <a href="http://pianodeletras.blogspot.com/">el pianista de letras</a>, aún no estoy del todo seguro)<br /><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com3tag:blogger.com,1999:blog-2342957990007011443.post-63377747258297161472008-08-23T12:06:00.001-05:002008-08-23T12:08:22.193-05:00Bolígrafo Espacial<div style="text-align: justify;"><br />En computación tenemos un dicho, "Por qué hacerlo fácil, si podemos hacerlo difícil?". Hace referencia a la gran cantidad de veces que, revisando código ajeno -o, aceptémoslo, código propio- vemos que la persona tomó -por desconocimiento o alguna razón que escapa a nuestro entendimiento- un camino que no compartimos.<br /><br />La mayoría de las veces, en efecto, es que el autor intelectual del crimen se diferencia poco de un lobotomizado; no sabe qué está haciendo, o con qué herramientas cuenta para hacerlo, así que crea basura que produce basura.<br /><br />Sin embargo, a veces, nos encontramos con código que <i>parece</i> ser basura, pero que en su momento fué la mejor opción. Cegados por <i>nuestra gran capacidad</i>, inmediatamente procedemos a tildar la labor ajena como "basura", y a desecharla. Y la cosa a veces no es tan fácil.<br /><br />A veces, sólo a veces, tenemos que suponer que el que vino antes de nosotros sí sabía lo que hacía.<br /><br />Suponer que la persona tuvo sus razones para proceder como procedió, que habían condiciones y razones que ahora desconocemos para que él procediera así. No digo que nunca corrijamos nada, pero veamos con ojo crítico antes de juzgar, y pensemos que a veces el otro también es un poquito digno.<br /><br />La mejor forma de ilustrar esto es, como siempre, con un ejemplo: hablando con una amiga surgió el comentario sobre los Bolígrafos Espaciales, una leyenda urbana que va más o menos como sigue (fuente: <a href="http://basadoenhechosreales.blogsome.com/2007/01/10/boligrafo-espacial-de-fisher/">BHR</a>):<br /><br />Cuando comenzó la carrera espacial, los científicos descubrieron que los bolígrafos no funcionarían con Gravedad Cero (lo cual suena algo lógico, asumiento que la tinta baja por gravedad, no?), por lo cual la <a href="http://es.wikipedia.org/wiki/Administraci%C3%B3n_Nacional_de_Aeron%C3%A1utica_y_del_Espacio">NASA</a> contrató a un agente externo para corregir el problema. <br /><br />Citando a <a href="http://basadoenhechosreales.blogsome.com/2007/01/10/boligrafo-espacial-de-fisher/">BHR</a>: "Emplearon una década y 12.000 millones de dólares desarrollando un bolígrafo que escribiese con Gravedad Cero, hacia arriba y hacia abajo, bajo el agua, en prácticamente cualquier superficie incluido el cristal y en un rango de temperatura desde por debajo de cero hasta más de 300 °C".<br /><br />El chiste, normalmente, termina aclarando que los Rusos utilizaron un lápiz.<br /><br />Hasta aquí, este es un buen ejemplo de la frase con la que abrí el escrito: "En computación tenemos un dicho"... Bueno, no era esa en la que estaba pensando. Será entonces <a href="http://www.imdb.com/title/tt0119099/">la frase con la que <i>casi</i> abrí el escrito</a>: "Por qué hacerlo fácil, si podemos hacerlo difícil?".<br /><br />Sin embargo, como les dije, la cosa no es tan fácil. Al principio, por supuesto, la opción obvia al ver que los bolígrafos no funcionaban fué usar lápices. Sin embargo, las minas se rompían, lo que podía generar problemas en la nave (dañar un dispositovo electrónico, herir a alguno de los astronautas en un ojo, prenderse fuego, o sencillamente fastidiar). Es por ello que se empleó tanto tiempo y recursos en crear un bolígrafo resistente, capaz de soportar temperaturas extremas (a saber, desde -120 °C hasta 200 °C) y, por supuesto, escribir en un ambiente sin gravedad.<br /><br />Así que la próxima vez que vayamos a juzgar el desarrollo, la decisión, la labor que otra persona haya hecho antes de nosotros, pensémoslo mejor antes de hablar. De lo contrario, quizás quedemos en ridículo al emitir opiniones sin conocer el panorama...<br /><br /><br /><span style="font-style: italic;">El hombre inteligente aprende de sus propios errores, el sabio aprende de los errores de los demás.</span> -- <a href="http://www.frasedehoy.com/call.php?file=autor_mostrar&autor_id=241">Arturo Adasme Vásquez</a><br /><br /><span style="font-style: italic;">Primero el hombre aprende en la vida a andar y hablar. Más tarde, a sentarse tranquilo y mantener la boca cerrada.</span> -- <a href="http://en.wikipedia.org/wiki/Marcel_Pagnol">Marcel Pagnol</a><br /><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com1tag:blogger.com,1999:blog-2342957990007011443.post-68074242750709247482008-07-06T03:20:00.005-05:002008-07-06T08:59:27.183-05:00La Tortuga y la Liebre<div style="text-align: justify;"><br /><span style="font-style: italic;">Este escrito va de <a href="http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n">lenguajes de programación</a>, por lo que es algo geek. Solo doy algunas opiniones y reflexiones, y ni por asomo pretendo llegar al nivel de una discusión entre <a href="http://www.soronthar.com/">Rafael</a> y <a href="http://www.marthacolmenares.com/category/opinion/eduardo-madrid/">Eduardo</a> al respecto, pero el caso es que si no eres un computista, quizás prefieras no leerlo.</span><br /><br />ok, ya hablé. Considérate avisado.<br /><br />No me considero <a href="http://lomeanor.blogspot.com/2007/06/cx-310-055.html">un especialista</a> en <a href="http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java">Java</a>, a pesar de que me gano la vida con él. Conozco las bases, las no-bases, y uno que otro truco o misterio que solo los iniciados son dignos de conocer, pero de ahí a considerarme poseedor de los secretos, guardián de las llaves, y <a href="http://www.lfgcomic.com/page/latest">señor del baile</a>, hay un trecho.<br /><br />Y, sinceramente, opino que desconozco muchas, muchas, muchas cosas de ese lenguaje que me da el pan mío de cada día.<br /><br />Aún a pesar de ello, me hierve la sangre cada vez que alguien sale con la conocida cancioncita de "<a href="http://es.wikipedia.org/wiki/ANSI_C">C</a> es más rápido que Java", con ese tonillo de saberse poseedor de la verdad universal, y de que si todos aceptaran la <a href="http://verify.stanford.edu/uli/java_cpp.html">velocidad de C</a>, el mundo sería un lugar mejor.<br /><br />(Entre eso y "Unix es mejor que Windows", en verdad que ya no vale la pena tener una discusión en ambientes computistas...)<br /><br />Y no es que no acepte que C no sea más rápido que Java. C es un lenguaje de programación que habla el mismo idioma que la máquina en la que corre; lo habla tan bien, que la puede convencer hasta de volarse la tapa de los sesos, si al programador le da por ahí. Java en cambio monta una <a href="http://www.jelovic.com/articles/why_java_is_slow.htm">capa intermedia</a>, ganando así la habilidad de poliglotismo, independencia y salvaguarda del patrimonio nacional, pero lógicamente metiendo más intermediarios en la traducción de idiomas usados, lo que a simple vista ya dice que debería correr algo más lento.<br /><br />Por ello, puedo aceptar que lo que en C corre en un minuto, a Java le requiera un minuto y un segundo para ejecutarse. Pero de ahí a pensar que necesitará dos minutos o dos horas, hay un trecho. Y esa es precisamente la opinión de los <a href="http://www.weiqigao.com/blog/2004/09/11/java_faster_than_c_no_way.html">miembros de la iglesia de C</a>.<br /><br />Lo que más risa me da del asunto es que ninguna de las personas con las que he hablado -ni yo, lo acepto- se han tomado la molestia de <a href="http://www.freewebs.com/godaves/javabench_revisited/">escribir el mismo programa en ambos lenguajes</a> para, al menos, <a href="http://rfog.blogsome.com/2005/06/22/rendimiento-ccjava-en-windows-y-linux/">tratar de hablar</a> con conocimiento de causa.<br /><br />(Lo cual, acoto, seguramente sería bastante inútil, porque siempre quedaría la duda del "lo habré hecho bien" o "lo habré configurado para que vaya rápido?". Sigue leyendo para que veas).<br /><br />Es difícil, sí, juzgar la "velocidad" de un lenguaje de programación con <a href="http://ignorante.wordpress.com/2007/10/04/java-puede-ser-mucho-mas-rapido-que-c/">un simple programita</a>. Dependería de la <a href="http://ignorante.wordpress.com/2008/06/05/excel-no-usa-aritmetica-decimal/">habilidad del programador</a> en ambos lenguajes, o de la buena voluntad de los implicados si dos personas distintas hacen los programas. Habría que tomar en cuenta si se permitirá cierto caching o no, o si el programa no será escalable por culpa de los manejos hechos para que corra más rápido. Y las posibles opciones de compilación y corrida? Hasta el hecho de con qué compilador compilamos! Hay una larga, largísima, casi interminable lista de <a href="http://www.oreillynet.com/xml/blog/2006/01/native_code_no_longer_any_fast.html">cosas a tomar en cuenta</a>, pero al menos, si probamos, tendremos una base para despotricar, no?<br /><br />Para todos aquellos que odian a Java (que, normalmente, son los que aman C), Java es una tortuga. Un lenguaje indigno de llamarse tal, quizás porque evita que se puedan dar un tiro en el pie, o quizás porque... No lo sé. El caso es que, cada día más, Java va siendo aceptado por los conocedores como un lenguaje rápido. Más aún (tiemblen), se dice que Java 1.6 es incluso <a href="http://timoponce.blogspot.com/2007/07/java-corriendo-mas-rpido-que-c.html">más rápido que C</a>. Claro, lo dicen amantes de Java.<br /><br />Veámoslo así: Se han fijado que cada vez que un programa en Java corre lento, se culpa a Java? Pero cuando un programa en C corre lento, se culpa a la red. Por qué la mala fama?<br /><br />Creo que el problema podría ser incluso edades: C es veinte años mayor que Java, y fué el líder indiscutible hasta que éste llegó. Es natural que haya sido trabajado al derecho y al revés en esa época. Java ni siquiera tiene veinte años en el mercado, mucho menos en los centros de enseñanza... Así que tenemos que Java es un poco como el <a href="http://es.wikipedia.org/wiki/Domin%C3%B3">Dominó</a> o el <a href="http://es.wikipedia.org/wiki/Ajedrez">Ajedrez</a>: mucha gente sabe poner o mover las piezas, y por ello creen saber jugar.<br /><br />Y, creo yo, es por ello que normalmente un <a href="http://www.idiom.com/%7Ezilla/Computer/javaCbenchmark.html">sentimiento de lentitud es asociado a los programas en Java</a>, justa o injustamente.<br /><br />Soy de la opinión de que se dice que Java es lento porque normalmente los desarrolladores Java tienden a no hacer las cosas bien. Y no me refiero solo a generar <span style="font-style: italic;">bytecode</span> en Java, o configurar la máquina virtual para mejorar su rendimiento, sino a conocer el detalle de la herramienta, para poder elegir correctamente entre Vector, ArrayList o arreglo.<br /><br />En lo personal, a veces he mejorado procesos en Java de formas asombrosas, y como les dije, no me considero un especialista... Pero es que hay mucha gente peor que yo. Hace algún tiempo, con un cambio tonto, bajé la duración de un proceso de diez minutos a menos de un minuto. Como parte de la mejora de un proceso masivo, hemos hecho que el tiempo en el que cada unidad de trabajo es procesada baje de seis minutos a una por segundo...<br /><br />Es sólo cuestión de proponérselo.<br /><br />Tristemente, hoy en día cualquiera "programa", <a href="http://www.kano.net/javabench/">cualquiera escribe en internet</a>, y cualquiera da hay opiniones tan "sólidas" y "pensadas" como que "<a href="http://www.theserverside.com/news/thread.tss?thread_id=26634">velocidad de desarrollo es mejor que velocidad de ejecución</a>", o que hay <a href="http://www.javaperformancetuning.com/news/qotm028.shtml">código que en Java corre en un segundo, y en C en un mes</a> (Genio, no has pensado que quizás la optimización del compilador elimina cosas inútiles como tus ciclos vacíos?).<br /><br />Java se encarga de muchas cosas engorrosas del proceso de programación. Eso tiene cosas buenas y malas. Buenas, como el hecho de que permite que te concentres en lo que importa, por lo que se dice que en general se <a href="http://kontrawize.blogs.com/kontrawize/2006/01/i_can_still_rem.html">codifica más rápido</a> en Java que en C. Malas, como el hecho de que asumes muchas cosas y te olvidas de hacerlas bien.<br /><br />Insisto: Java no es lo más rápido, pero <a href="http://ajayu.memi.umss.edu.bo/omegaman/weblog/quin-ms-rpido-java-c-o-c">tampoco es notablemente lento</a>. Y el detalle es que, sea más rápido o no lo sea, lo importante -considero yo- es que aceptemos tres cosas: Primero, espero que de ahora en adelante al menos se <a href="http://www.ddj.com/cpp/184401976?pgno=1">tomen la molestia de probar</a> antes de hablar. Segundo, <a href="http://paulbuchheit.blogspot.com/2007/06/java-is-faster-than-c.html">la velocidad de Java es comparable a la de C</a>; en efecto, para cualquier desarrollo excepto los más rebuscados, la velocidad ya no es un factor de decisión al tratar de elegir entre ellos. Y tercero, si programas similares tienen diferencias notorias en velocidad entre uno y otro lenguaje, lo más probable es que se deba a la <a href="http://razi2.blogspot.com/2008/04/why-is-c-slower-than-java.html">inexperiencia del desarrollador</a>.<br /><br />No olviden la frase de <a href="http://www.geraldmweinberg.com/Site/Home.html">papá Weinberg</a>: casi con total seguridad, el problema es la gente. Siempre.<br /><br /><br />Aquí les dejo unos linkcitos a los interesados. Algunos son interesantes, y otros son rebuznos. Diviértanse averigüando cuál es cuál.<br /><ul><li><a href="http://paulbuchheit.blogspot.com/">Paul Buchheit</a> - <a href="http://paulbuchheit.blogspot.com/2007/06/java-is-faster-than-c.html">Java running faster than C</a><br /><br /></li><li><a href="http://www.theserverside.com/">TheServerSide.COM</a> - <a href="http://www.theserverside.com/news/thread.tss?thread_id=26634">Yet Another Benchmark: Claims of Java being faster than C++</a><br /><br /></li><li><a href="http://www.ddj.com/">Dr. Dobb's Portal</a> - <a href="http://www.ddj.com/cpp/184401976?pgno=1">Microbenchmarking C++, C#, and Java</a><br /><br /></li><li>Dejan Jelovic - <a href="http://www.jelovic.com/articles/why_java_is_slow.htm">Why Java Will Always Be Slower than C++</a><br /><br /></li><li><a href="http://ignorante.wordpress.com/">Ignorante</a> - <a href="http://ignorante.wordpress.com/2007/10/04/java-puede-ser-mucho-mas-rapido-que-c/">Java puede ser mucho más rápido que C</a><br /><br /></li><li><a href="http://www.idiom.com/%7Ezilla/Computer/javaCbenchmark.html">Performance of Java versus C++</a><br /><br /></li><li><a href="http://verify.stanford.edu/uli/java_cpp.html">Java vs. C++</a><br /><br /></li><li><a href="http://developers.sun.com/">Sun Developer Network</a> - <a href="http://java.sun.com/developer/technicalArticles/WebServices/javaC_LRWP/">Making Java Technology Faster Than C with LRWP</a><br /><br /></li><li><a href="http://razi2.blogspot.com/">Razii</a> - <a href="http://razi2.blogspot.com/2008/04/why-is-c-slower-than-java.html">Why is C++ slower than Java?</a><br /><br /></li><li><a href="http://www.weiqigao.com/blog/">Weiqi Gao's Observations</a> - <a href="http://www.weiqigao.com/blog/2004/09/11/java_faster_than_c_no_way.html">Java Faster Than C++? No Way!</a><br /><br /></li><li><a href="http://www.xml.com/">O'Reilly XML.com</a> - <a href="http://www.oreillynet.com/xml/blog/2006/01/native_code_no_longer_any_fast.html">Native code no longer any faster than Java?</a><br /><br /></li><li><a href="http://www.kano.net/javabench/">The Java is Faster than C++ and C++ Sucks Unbiased Benchmark</a><br /><br /></li><li><a href="http://www.freewebs.com/godaves/javabench_revisited/">'The Java Faster than C++' Benchmark Revisited</a><br /><br /></li><li><a href="http://ajayu.memi.umss.edu.bo/">Ajayu</a> - <a href="http://ajayu.memi.umss.edu.bo/omegaman/weblog/quin-ms-rpido-java-c-o-c">¿quién más rápido java, c++ o c#?</a><br /><br /></li><li><a href="http://rfog.blogsome.com/">Cosas mías</a> - <a href="http://rfog.blogsome.com/2005/06/22/rendimiento-ccjava-en-windows-y-linux/">Rendimiento C++/C#/Java en Windows y Linux</a><br /><br /></li><li><a href="http://kontrawize.blogs.com/kontrawize/">kontrawize</a> - <a href="http://kontrawize.blogs.com/kontrawize/2006/01/i_can_still_rem.html">I can still remember when native code was faster than Java...</a><br /><br /></li><li><a href="http://timoponce.blogspot.com/">Informática, Programación y Software</a> - <a href="http://timoponce.blogspot.com/2007/07/java-corriendo-mas-rpido-que-c.html">Java corriendo más rápido que C!!</a><br /><br /></li><li><a href="http://www.javaperformancetuning.com/index.shtml">Java Performance Tuning</a> - <a href="http://www.javaperformancetuning.com/news/qotm028.shtml">Question of the month: Java performance vs C/C#/VB/Perl/...</a><br /><br /></li></ul></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com3tag:blogger.com,1999:blog-2342957990007011443.post-66611659864582949052008-03-18T17:52:00.007-06:002008-03-18T18:01:48.787-06:00Especificación Técnica<div style="text-align: justify;"><br />Hace algunos meses me pidieron que hiciera una especificación técnica sobre uno de los desarrollos que teníamos que comenzar, y me hizo gracia darme cuenta que nunca había hecho una. He estimado, he desestimado, he desarrollado, he subdesarrollado, pero nunca había escrito una Tech-Esp. Así que lo ataque con soltura y flojera, lo que me ganó que hiciera una mierda de especificación, como todos notaron.<br /><br />Al ver mi fallo, me senté a ello con renovadas energías. Leí, investigué, averigüé y pedí ejemplos, luego de lo cual volví a hacerla. No siento que haya quedado bien, o que sirviera de algo, pero al parecer a los demás sí les gustó. Incluso, mi jefe, que no desarrolla, me escribió lo siguiente:<br /><br /><span style="font-style: italic;">"Me gustó mucho como está escrita la especificación. Incluso yo mismo podría hacer la programación (jajá jajá). Esto debería crear un hito en el área de Desarrollo, y todas nuestras nuevas actividades deberían venir acompañada de este tipo de Especificación Técnica. Apuntemos hacia allá".</span><br /><br />Como les dije, me parece que la Especificación no fué la gran vaina, pero bueno... Y ahora, aprovechando que me pidieron que hiciera algunas más, pensé en publicar los pasos a seguir aquí, para justificar el tag <a href="http://lomeanor.blogspot.com/search/label/Digerati">Digerati</a>, que tengo tan abandonado. Espero que esta información me sirva en el futuro para mejorar mis especificaciones, y les sirva a ustedes como pírrica guía cuando tengan que hacer alguna.<br /><br />(Nota: En todos los sites de la <a href="http://www.joelonsoftware.com/articles/fog0000000036.html">gente que sabe</a> dicen que no se puede hacer un manual de una página para escribir especificaciones técnicas, que es precisamente lo que pretendo hacer. Lo bueno es que yo no soy <a href="http://www.joelonsoftware.com/articles/fog0000000035.html">gente que sabe</a>!).<br /><br /><br /><span style="font-weight: bold;">Title (Título):</span> No hay mucho que explicar aquí. Sencillamente coloquen los títulos apropiados. En mi caso, lo que mejor me ha funcionado es colocar la Actividad a espedificar, la Sub-Actividad (si la hay), y terminar con "Especificación Técnica".<br /><br /><span style="font-weight: bold;">Revision History Log (Registro Histórico de Revisiones):</span> No es más que una tabla con las columnas "Revisión", "Fecha", "Autor" y "Descripción", donde cada una de las personas que modifiquen el documento colocarán sus datos, y la fecha y explicación de la modificación. Por supuesto, la primera línea (Revisión 1.00) tendrá tu nombre, la fecha de creación de la especificación, y la descripción "Documento Inicial" (Initial Draft), o algo similarmente ambigüo.<br /><br /><span style="font-weight: bold;">Overview (Introducción):</span> Un par de párrafos detallando qué se busca con esta especificación, hacia qué tipo de personas está dirigida (personal técnico, usuarios finales, configuradores, etc), comentarios generales de qué cubre y qué no cubre el documento, etc.<br /><br /><span style="font-weight: bold;">Initial Issues (Puntos Iniciales):</span> Para qué sistema se está haciendo la especificación, directorios usados, configuración previa, etc.<br /><br /><span style="font-weight: bold;">Use Cases (Casos de Uso):</span> Detalla las operaciones, paso a paso pero sin profundizar en descripción, que el Usuario Final podrá realizar luego de desarrollado lo especificado en el documento. Hay quien dice que esta sección no la llena tecnología, sino los encargados del Control de Calidad; si es así, los felicito.<br /><br /><span style="font-weight: bold;">User Interfaces (Interfaces de Usuario):</span> Cambios a pantallas y demás cosas que el Usuario Final verá: páginas, botones, navegación, validaciones, listas, búsquedas, etc. Tan detallado como se pueda.<br /><br /><span style="font-weight: bold;">Detailed Navigation (Navegación Detallada):</span> Detalla la navegación que el Usuario Final podrá realizar luego de desarrollado lo especificado en el documento. A grandes rasgos, es similar a los Casos de Uso, pero especificando las pantallas, opciones y acciones usadas. Hay quien dice que esta sección no la llena tecnología, sino los encargados de la Especificación Funcional; si es así, los felicito más aún que antes.<br /><br /><span style="font-weight: bold;">Detailed Operation Design (Diseño de Operaciones Detallado):</span> Es, a mi parecer, el meollo de la especificación. Es aquí donde el verdadero trabajo comienza, pues debemos aclarar, para cada una de las funciones pedidas, qué es lo que se espera desarrollar, dónde y cómo, basándonos en los puntos anteriores.<br /><br /><span style="font-weight: bold;">Assumptions (Asumciones):</span> Un breve resumen de las condiciones del sistema que son requeridas para que el nuevo desarrollo funcione; qué información debe manejar el Usuario Final; qué pasos previos se deben llevar a cabo para que el estado del sistema sea el requerido, o qué pasos posteriores se deben hacer luego de ejecutadas las operaciones especificadas.<br /><br /><span style="font-weight: bold;">Final Issues (Puntos Finales):</span> Convenciones a usar, código que puede o no ser modificado, frameworks a usar, etc.<br /><br /><span style="font-weight: bold;">References (Referencias):</span> Toda la documentación que pueda ayudar a entender mejor la actual especificación, o que apoye al desarrollador durante sus labores. Si colocan aquí un link a este documento, no me molestaré!<br /><br /><span style="font-weight: bold;">Glossary (Glosario):</span> Explicación de las palabras o términos usados durante la especificación que no sean de dominio general.<br /><br /><br />Como palabras finales, el idioma de la especificación dependerá de las reglas de la empresa para la que la hagas, así como de si es una especificación interna o va para un cliente o contratista. Lo normal es que vayan en inglés o en tu idioma (español, asumo?) y es por eso que he colocado los títulos y secciones en ambos idiomas.<br /><br />Les agradezco sus comentarios, y en la medida de lo posible iré modificando este post para añadir, modificar o quitar lo que sea necesario, hasta que quede una guía práctica y útil, si no decente.<br /><br /><br /></div><div style="text-align: justify;"><span style="font-style: italic;">Creemos una </span><a style="font-style: italic;" href="http://www.desarrolloweb.com/articulos/1776.php">clase</a><span style="font-style: italic;"> llamada "Clase", otra llamada "Instancia", tomemos un par de cervezas, y disfrutemos las mariqueras que saldrán en la conversación. Como extra bonus, para los valientes, podemos crear una llamada "Primitiva".</span> -- Gorka<br /><br /><span style="font-style: italic;">Es mejor hablar en inglés, las cosas suenan mejor... No solo es el caso de Jaime Limón y </span><a style="font-style: italic;" href="http://es.wikipedia.org/wiki/Jack_Lemmon">Jack Lemmon</a><span style="font-style: italic;">. Ya les presenté a todos a KiloTrón (mil y pico de esos tipos forman una </span><a style="font-style: italic;" href="http://es.wikipedia.org/wiki/Megatron">pistola</a><span style="font-style: italic;">). Cómo sería en español? MilTrón. Y se imaginan comparar a los </span><a style="font-style: italic;" href="http://es.wikipedia.org/wiki/Transformers">Transformers</a><span style="font-style: italic;"> con el </span><a style="font-style: italic;" href="http://es.wikipedia.org/wiki/El_Monstruo_Milton">Monstruo MilTron</a><span style="font-style: italic;">, nuestro </span><a style="font-style: italic;" href="http://www.youtube.com/watch?v=cAPq8YGda4I">seguro servidor</a><span style="font-style: italic;">? </span><a style="font-style: italic;" href="http://en.wikipedia.org/wiki/Starscream">Starscream</a><span style="font-style: italic;"> sería el </span><a style="font-style: italic;" href="http://www.cuandoerachamo.com/el-intrepido-volador-la-mosca-con-superpoderes">Intrépido Volador</a><span style="font-style: italic;">? Nooooo!</span> -- Gorka<br /><br /><span style="font-style: italic;">Hace algún tiempo estaba entrevistando a un ejecutivo de una gran empresa, y le pregunté qué querían sus clientes. Él me dijo "Ellos lo quieren gratis, ahora, y perfecto".</span> -- <a href="http://www.xprogramming.com/xpmag/AgileTopDown.htm">Ron Jeffries</a><br /><br /><span style="font-style: italic;">Ya sé que tú crees que comprendes lo que tú piensas que he dicho. Pero no estoy seguro de que te des cuenta de que lo que has oído no es lo que yo quería decir.</span> -- <a href="http://en.wikipedia.org/wiki/Patrick_Murray">Patrick Murray</a><br /><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com0tag:blogger.com,1999:blog-2342957990007011443.post-65408427883483111222008-01-24T21:51:00.002-06:002008-07-18T16:28:39.656-05:00El Manifiesto Hacker<div align="justify"> </div><div align="justify"><br /><a href="http://otros-mundos.blogspot.com/2006/05/el-enigma-cyberpunkarticulo-de-abel.html">Otro fué atrapado hoy</a>, aparece en todos los periódicos. "Joven arrestado por escándalo criminal informático", "<a href="http://es.wikipedia.org/wiki/Hacker">hacker</a> arrestado por irrumpir en un sistema bancario"...</div><div align="justify"><br />Malditos niños. Todos son iguales. </div><div align="justify"><br />¿Pero puedes, con tu psicología barata y tu tecno-cerebro de los años cincuenta, siquiera echar un vistazo detrás de los ojos de un hacker? ¿Al menos te has preguntado qué lo hizo así, qué fuerzas le dieron forma, qué puede haberlo moldeado? </div><div align="justify"><br />Yo soy un hacker, entra a mi mundo...</div><div align="justify"><br />Mío es un mundo que comienza con el colegio... Soy más listo que la mayoría de los otros chicos, esta basura que nos enseñan me aburre... </div><div align="justify"><br />Maldito conformista. Todos son iguales. </div><div align="justify"><br />Estoy en el colegio o un instituto. He escuchado a los profesores explicar por quinceava vez cómo reducir una fracción. Lo entiendo. "No, Sr. Smith, no he escrito mi trabajo. Lo hice en mi cabeza..."</div><div align="justify"><br />Maldito niño. Probablemente lo copió. Todos son iguales. </div><div align="justify"><br />Hoy descubrí algo. Encontré una computadora. Espera un segundo, esto es genial. Hace lo que quiero que haga. Si comete un error, es porque yo me equivoqué. No porque yo no le guste... O se sienta amenazado por mí... O piense que soy un sabelotodo... O no le guste enseñar y no debiera estar aquí... </div><div align="justify"><br />Maldito niño. Todo lo que hace es jugar. Todos son iguales. </div><div align="justify"><br />Y entonces ocurrió... Se abrió una puerta a un mundo... Fluyendo a través de la línea telefónica como heroína a través de las venas de un adicto, un pulso electrónico es enviado, un refugio para las incompetencias de todos los días es vislumbrado... un teclado es encontrado. "Esto es... aquí pertenezco...". Conozco a todos aquí... incluso si nunca los he visto, nunca les he hablado, quizás nunca vuelva a saber de ellos... Los conozco a todos ustedes... </div><div align="justify"><br />Maldito niño. Ya está enganchado otra vez al teléfono. Todos son iguales... </div><div align="justify"><br />Puedes apostar el culo a que somos todos iguales... Nos dieron cucharadas de comida para bebés en la escuela mientras moríamos de hambre por un bisteck... Los pedacitos de carne que dejaron escapar estaban pre-masticados y sin sabor. Hemos sido gobernados por los sádicos, o ignorados por los apáticos. Los pocos que tuvieron algo para enseñar encontraron en nosotros alumnos con ganas de aprender, pero esos pocos son como gotas de agua en el desierto. </div><div align="justify"><br />Este es nuestro mundo ahora... el mundo del electrón y el interruptor, la belleza del baudio. Utilizamos un servicio ya existente sin pagar por aquello que podría haber sido casi regalado si no fuera controlado por esos especuladores, y ustedes nos llaman criminales a nosotros. Exploramos... y nos llaman criminales. Buscamos ampliar nuestro conocimiento... y nos llaman criminales. Existimos sin color de piel, sin nacionalidad, sin creencias religiosas... y nos llaman criminales. Ustedes construyen bombas atómicas, luchan guerras, asesinan, engañan, y nos mienten y tratan de hacernos creer que es por nuestro propio bien, y aún nos llaman criminales. </div><div align="justify"><br />Sí, soy un criminal. Mi crimen es la curiosidad. Mi crimen es juzgar a la gente por lo que dicen y piensan, no por lo que parecen. Mi crimen es ser más inteligente que tú, algo que nunca me perdonarás. </div><div align="justify"><br />Soy un <a href="http://es.wikipedia.org/wiki/Hacker">hacker</a>, y éste es mi manifiesto. Puedes detener a este individuo, pero no puedes detenernos a todos... después de todo, somos todos iguales.</div><div align="center"><br /><br />The Conscience of a Hacker<br />(<a href="http://en.wikipedia.org/wiki/Hacker_Manifesto">The Hacker Manifesto</a>)<br />by<br />+++<a href="http://en.wikipedia.org/wiki/The_Mentor">The Mentor</a>+++<br />January 8, 1986<br /><a href="http://www.mithral.com/%7Ebeberg/manifesto.html">Original en inglés</a><br /><a href="http://biblioweb.sindominio.net/telematica/mentor.html">"Original" en español</a><br /><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com2tag:blogger.com,1999:blog-2342957990007011443.post-69863384887582931382007-11-20T16:06:00.001-06:002008-05-19T22:11:38.129-05:00SysCorp<div align="justify"><br />Sandra salió de la ducha chorreando agua. Su rojizo cabello -en secreto, su mayor orgullo- salpicaba gotas sobre el piso mientras ella caminaba lentamente hacia su bolso.</div><div align="justify"><br />Se sentó, aún desnuda, en uno de los bancos frente a su casillero, y comenzó a sacar de su bolso la ropa que se pondría. Ya no habría más sesiones por hoy, y el Jefe les había dado la tarde libre (cosa rara), así que no tenía que vestir de uniforme.</div><div align="justify"><br />Mientras se ponía sus braguitas (sus pantaletas, pero le gustaba llamarlas así) miró a los que aún estaban en las duchas: Veronique, la francesita, con su cabello rubio larguísimo cayendo por su cintura, sus pechos pequeños y su sonrisa cálida; en la ducha a su derecha, Frankie, el payaso, el de la risa fácil y la broma siempre lista (y el pene atractivo, pensó Sandra con una sonrisa); Bubba, con su sobrepeso y su timidez siempre -menos hoy- a la vista de todos... Daniel y Adriana aún estaban en el Tanque. Había pasado tanto tiempo junto a todos, que ya ni pena sentía de estar desnuda ante ellos. Eran colegas, hermanos, compañeros de aventuras (a veces amantes, ok, lo aceptaba). Quizás todos se habían salvado la vida uno al otro al menos una vez...</div><div align="justify"><br />Terminó de subirse su mono deportivo (azul, con el logo de SysCorp) viendo hacia los otros bancos. Allá estaba el nuevo (cómo era su nombre... Adolfo? Alfredo? Siempre llegaba tarde a las presentaciones de los nuevos...) y Domingo. Domingo siempre estaba allí. Salía del Tanque, y de las duchas, antes que los demás. Se vestía y se iba, y casi nunca compartía sus ratos libres con el resto del equipo. Sandra sabía muy poco -casi nada, en realidad- de su vida fuera de SysCorp, y por lo que había oído, ni sus navegantes habían llegado a conocerlo realmente, en el poco tiempo que habían estado con él...</div><div align="justify"><br />Sí, Domingo siempre estaba allí... Y Sandra tenía que agradecerle por eso. Pero él ya había terminado, y estaba saliendo de los baños...</div><div align="justify"><br />Se pasó, pensativa, su top deportivo blanco por la cabeza, se hizo una cola en el cabello aún húmedo, y tras pensarlo, guardó la chaqueta del mono (azul, con el logo de SysCorp) en su bolso, y este en su casillero. El día era soleado: disfrutaría pasear hasta su apartamento.</div><div align="justify"><br />Llevaba cuatro años trabajando en SysCorp. Cuatro interesantes, a veces -como hoy- peligrosos, pocas veces aburridos, años. Desde que se graduó ("con honores" hubiera añadido con tono orgulloso su madre) fue contactada por el Gobierno para que se uniera a ellos como una Nadadora. Sandra sencillamente no caía en sí de gozo: el Gobierno se la pasaba evitando que la gente navegara, pero a ella la contrataban para eso!</div><div align="justify"><br />Fue a los cursos, a las presentaciones, a las entrevistas... Todo parecía ir a pedir de boca. Sin embargo, la vida giró en otra dirección... Gracias a Dios.</div><div align="justify"><br />Unos días antes de aceptar la oferta, otro grupo se le acercó. Su representante le mostró su tarjeta, y ella sintió cómo sus colores abandonadan su rostro. La tarjeta solo tenía una palabra escrita.</div><div align="justify"><br />SysCorp.</div><div align="justify"><br />Sandra se olvidó imediatamente del Gobierno.</div><div align="center"><br /><strong>* * *</strong></div><div align="justify"><br />Normalmente los llamaban <a href="http://www.mithral.com/%7Ebeberg/manifesto.html">Hackers</a>, aunque eso no era exactamente lo que eran. Networkers, a veces, aunque tampoco aplicaba. Quizás el término más correcto sería simplemente Programadores. Neo-Programadores, si queremos diferenciarlos de los que ejercen -aún hoy- la programación clásica.</div><div align="justify"><br />Nadie sabe exactamente de donde surgió la idea (aunque en un mundo en el que los humanos han logrado comer incluso animales venenosos, como la Langosta y el Pez Globo, todo es posible), pero revolucionó el mundo. Fué un salto tecnológico diez mil veces mayor que la Internet ("Intelné", como la llamaban en su viejo barrio).</div><div align="justify"><br />Según los registros, la idea inicial fué copiada del <a href="http://en.wikipedia.org/wiki/Theremin">Teremin</a>, un instrumento musical que se tocaba sin ser tocado: el artista movía sus manos, y el Teremin interpretaba sus movimientos como música -algo así como la forma en la que <a href="http://www.comicvine.com/metalhead/41322/costumes/&c=2205">Metalhead</a> hacía música en el cómic de los <a href="http://en.wikipedia.org/wiki/X-Men_2099">X-Men 2099</a>- y creaba los sonidos apropiados. Era como crear música bailando.</div><div align="justify"><br />En algún momento del desarrollo de la tecnología se probaron otras ideas: guantes y hologramas, como en <a href="http://www.geocities.com/moviola4/peliculas/sentencia_previa/sentencia_previa.html">Sentencia Previa</a>; cables directos al cerebro; un traje que pasara todos los movimientos del cuerpo a las computadoras... Pero al final se impuso -como ya deben saber- el diseño que conocemos hoy en día: el modelo de <a href="http://en.wikipedia.org/wiki/Liquid_breathing">Respiración Líquida</a>.</div><div align="justify"><br />Una explicación larga? Es un líquido compuesto de fluorocarbonos, altamente oxigenado, que al ser insuflado en los pulmones permite que el individuo pueda respirarlo sin sufrir ahogamiento u otros efectos por la falta de oxígeno. Una explicación corta? Es un <a href="http://en.wikipedia.org/wiki/The_Abyss">líquido rosado</a> dentro del cual puedes respirar.</div><div align="justify"><br />La Respiración Líquida es una realidad desde hace muchos años, aunque su aplicación comercial no había sido totalmente explotada. Se hicieron intentos para <a href="http://en.wikipedia.org/wiki/Eureka">usarlo en la medicina</a>, en la <a href="http://en.wikipedia.org/wiki/The_Abyss">exploración submarina</a> o en la <a href="http://en.wikipedia.org/wiki/Neon_Genesis_Evangelion_%28TV%29">espacial</a>. Pero al final su mayor importancia vino de manos de la exploración de un espacio creado por el ser humano: la Red.</div><div align="justify"><br />Se descubrió que ciertas composiciones particulares del fluorocarbono transmitían vibraciones e impulsos eléctricos a mayor velocidad que la mayoría de los cables más usados, con un precio aún manejable (los enlaces neuronales que han probado en estos últimos años aún tienen precios prohibitivos). Los mayores problemas que tienen el fluorocarbono es que, primero, debe mantenerse tan puro como se pueda, lo que se arregla con una instalación apropiada -el Tanque- que limpie las impurezas del fluido cada cierto tiempo, sin variar su composición química. Segundo, que no todos pueden aprovecharlo de la misma forma.</div><div align="justify"><br />Hay gente que se cansa al respirar algo más denso que el aire. Hay quien sufre de ataques de claustrofobia (o será hidrofobia?). Hay quien no tiene habilidad para programar (como el 90% de la población). Hay quien no es lo bastante hábil (como el 90% de los programadores). Por unas u otras razones, muy pocas personas sirven para nadar -programar- en el Tanque.</div><div align="justify"><br />Yo soy una de ellas. Soy una Nadadora. Una de las mejores, según dicen. Por eso estoy en SysCorp.</div><div align="center"><br /><em>* * *</em></div><div align="justify"><br />Si los Nadadores son los que ponen la mente y el cuerpo a trabajar, los Navegantes son los que nos mantienen seguros y nos dan la información que necesitamos.</div><div align="justify"><br />Lo normal -lo legal- es que por cada Nadador que entre al Tanque haya un Navegante apoyándolo y vigilándolo. Lo normal -lo común- es que siempre sea el mismo. Un Navegante que logre buena sincronización con su Nadador (o viceversa) puede duplicar su rendimiento. Y cuando hablamos de buenos Nadadores, eso es mucho.</div><div align="justify"><br />Si el Nadador es el cantante, el Navegante es quien compone. Si el Nadador es el jugador, el Navegante es el narrador. El Nadador puede nadar solo, pero eso sería peligroso, y quizás solo rendiría la mitad de lo posible.</div><div align="justify"><br />Sea como sea, algunos servimos para nadar, para colocarnos el traje (lo llamamos la Piel de Tiburón. Es como una segunda piel, hecha del material que menos limita la conectividad con el líquido. Siempre se me olvida su nombre) y zambullirnos al Tanque, a esa interface líquida con la Red, a programar -bailar- en la plataforma. Otros sirven para sentarse en la Cónsola y navegar, recopilar información, hacernos back-up mientras oyen mp3s en su reproductor, junto a nuestros pensamientos.</div><div align="justify"><br />Mi Navegante es Jin, mi chino lindo, como le llamo (hace como que le molesta, pero sé que en realidad le agrada). Nos descubrimos hace tres años, y quizás formemos la mejor pareja activa en SysCorp, que ya es decir... Hemos pasado por mucho, pero nunca lo había escuchado tan asustado como hoy...</div><div align="center"><br /><strong>* * *</strong></div><div align="justify"><br />- Basta por hoy! Salgan ya, la sesión ha terminado...</div><div align="justify"><br />La voz del Jefe nos llega hasta nuestro mundo virtual. El día ha sido largo, y todos tenemos ganas de que acabe. Poco a poco, nos vamos desconectando, volviendo a la realidad.</div><div align="justify"><br />El primero en salir es el chico nuevo. Aún no le tengo confianza. No es por nada en particular, pues si lo contrataron, debe ser un espectacular Nadador... Pero digamos que hasta que no tenga experiencia de campo, hasta que no haya visto con mis ojos lo bueno que es, no será de mi equipo.</div><div align="justify"><br />Lo sigue Daniel. Veo cómo su silueta se difumina dentro de su propio sobretodo. La mayoría de los Nadadores usan avatares vestidos de negro, con lentes y sobretodo. Me imagino que es culpa de <a href="http://es.wikipedia.org/wiki/The_Matrix">Matrix</a>, la película por la que muchos niños sueñan con meterse a esto. Es un clásico, aún hoy en día.</div><div align="justify"><br />La última que logra salir es Adriana. Su avatar es una armadura (de colores!), quizás salida de <a href="http://www.nwiizone.com/wp-content/uploads/2007/02/Metroid-Prime-3-Corruption-wii-wallpaper.jpg">Metroid</a> o de <a href="http://www.art.net/studios/visual/Bianchi/images/nene01_c.gif">Bubble Gum Crisis</a>. Los especialistas dicen que reflejamos en nuestro avatar aquello de lo que carecemos, y en el caso de Adriana, es seguridad. Aún no entiendo cómo entra en el Tanque cada día: le teme, teme a lo que pueda ocurrirle aquí adentro, y aún así, viene a hacer su trabajo. Sé que yo no tengo un valor así, y nunca lo tendré.</div><div align="justify"><br />La siguiente debió ser Vero, con su avatar enfundada en un <a href="http://amolamoda.files.wordpress.com/2007/01/osx-running-chico.jpg">traje deportivo</a> -negro, otra más- que le queda muy bien. Pero en ese momento escuchamos el grito de auxilio de Bubba.</div><div align="justify"><br />Vero y yo nos miramos, y en un momento nos lanzamos -con ayuda de Jin y Sarita, la Navegante de Vero- hacia donde detectamos que se generó la alarma. Llegamos a tiempo de ver la forma en la que Bubba desaparece tras ser alcanzado por los ataques de dos avatares desconocidos. Espero que Raquel haya podido sacarlo a tiempo...</div><div align="justify"><br />No es la primera vez que nos atacan. SysCorp es conocida y envidiada, y es bastante normal que nos ataquen corporaciones enemigas queriendo demostrar que somos débiles, o apoderarse de información confidencial de nuestros clientes. Incluso es natural que tengamos que sacar al típico hackercito que quiere ver qué tan seguros somos -cómo harán? llenarán la bañera de su casa de fluorocarbono líquido?- o jugar un rato. Pero somos los mejores en lo que hacemos: hace años que no veía que nos sacaran de la Red, a no ser que fuera entre nosotros mismos. Estos chicos son buenos...</div><div align="justify"><br />Reacciono apenas a tiempo para esquivar un ataque. Esto no es un juego o una simulación, no habrá chance de reintentarlo! "Concéntrate, Sandra!" me recrimino.</div><div align="justify"><br />Veronique está retrocediendo, esquivando ataques de uno de los enemigos, mientras yo hago lo mismo con el otro. Lanzo algunos de mis mejores ataques, y el mal nacido ese ni siquiera los esquiva: se limita a desviarlos con un gesto de su mano... Esto no está nada bien.</div><div align="justify"><br />Sigo atacando, sin obtener resultados, hasta que veo mi oportunidad. Escucho el grito de Jin, pero no le hago caso. Vero acaba de lanzar una andanada particularmente fuerte contra su enemigo, y creo que tengo un chance de herirlo... Aún a costa de abrir mi defensa al mío.</div><div align="justify"><br />Mi ataque impacta en el avatar contra el que está combatiendo Vero, pero no se desintegra. Al menos, veo que lo he dañado, y volteo con dolor a recibir el impacto que sé que me espera.</div><div align="justify"><br />En su lugar, veo la espalda del avatar de Domingo, una figura completamente negra, sin detalles, sin ropa, como una sombra. Está frente a mí, con los brazos cruzados frente a su cuerpo, recibiendo de frente el ataque que me correspondía.</div><div align="justify"><br />Domingo es más fuerte que yo, si estuviera sola. Pero no tiene Navegante, y yo con el mío lo supero, aunque por poco. SysCorp ha tomado el riesgo de dejarlo navegar solo, hasta que consiga alguien con quien sincronice. Pero eso significa que no tiene a nadie que lo saque de la sesión si las cosas van mal. </div><div align="justify"><br />Como ahora.</div><div align="justify"><br />Sin pensarlo dos veces, lo empujo fuera del ataque que está recibiendo. Recibo una parte -muy pequeña- del ataque, y duele como los mil demonios. Cómo puede haberlo soportado Domingo?</div><div align="justify"><br />No puede ni pararse del daño que ha recibido. Rápidamente, me acerco a él. Se que me odiará luego de esto, pero me da igual. No pienso dejarlo morir aquí, y en su actual estado no puede detenerme. Le susurro un "Gracias", y lo saco de la sesión.</div><div align="justify"><br />Frank acaba de llegar, y aplica la misma técnica que usé yo contra el enemigo de Vero, lo que lo hace desaparecer. Apenas me doy cuenta que la miro, con orgullosa envidia por haber soportado -a duras penas, con ayuda, pero soportado igual- el ataque del desconocido, cuando un ataque del avatar restante la borra de mi vista.</div><div align="justify"><br />Ahora solo quedamos Frank y yo (media yo, pues el ataque me ha afectado bastante) contra un avatar enemigo. Aún siendo dos, nos seguimos batiendo en retirada, conscientes de la supremacía del otro. Pero no podemos estar huyendo por siempre, y pasa lo que debía pasar. Otro ataque me alcanza, aunque no de lleno, y me siento caer, rodeada de los intentos de Jin para sacarme, mientras la oscuridad me rodea...</div><div align="justify"><br />Siento unos brazos que me agarran. No son los de Jin, ni los de Frank. Tengo vaga conciencia de que mi enemigo es derrotado con una facilidad aplastante, y que el avatar que me sostiene lo persigue a través de la Red, hasta atacarlo en su propia sesión... Pero quizás solo estoy soñando, me digo, mientras pierdo el conocimiento...</div><div align="center"><br /><strong>* * *</strong></div><div align="justify"><br />Despierto en un barullo de toses y luces, mientras noto que el fluido oxigenado sale de mi garganta. Estoy otra vez en el mundo real, y mi Jefe me tiene cargada, sacándome del Tanque. Poco a poco me reanimo, y veo a la gente a mi alrededor, donde la gente corre y grita, donde los Navegantes están al borde de la histeria. Bubba y Vero están en observación por los médicos del grupo, pero conscientes. Veo a Jin acercarse, molesto, gritándome como un poseso que soy una loca y que no pienso en mi seguridad. Domingo apenas cruza una mirada conmigo, y no se si es un gracias o un reclamo...</div><div align="justify"><br />Frank está saliendo justo ahora del Tanque, mientras Daniel y Adriana vuelve a entrar, a asegurar la sesión, validar los datos, y evaluar los daños. No se quién nos atacó, pero casi logra penetrar nuestro sistema.</div><div align="justify"><br />Justo en ese momento me doy cuenta de que el Jefe está desnudo. Asustada, y pidiendo disculpas, me bajo de encima de él lo más rápido que puedo, para terminar sentada en el piso! Nunca lo había visto desnudo. Su cuerpo chorrea fluido, y ahora es que noto que es él quien debe haberse lanzado al Tanque a ayudarnos, desnudo para no perder tiempo colocándose una Piel de Tiburón. Siempre lo había visto como un líder capaz, pero es la primera vez que pienso en él como un Nadador. Y es uno muy bueno, quizás el mejor!</div><div align="justify"><br />Jin me arropa entre sus brazos, aún preocupado por mí, y el Jefe se aleja un poco. Agarra un teléfono que le tiende una operativa, y comienza a hablar en él. No levanta la voz, pero se nota la furia que ella refleja.</div><div align="justify"><br />No escucho mas que palabras sueltas, pero más tarde, cuando comparemos opiniones antes de bañarnos para quitarnos el fluido, podremos estar bastante seguros de haber armado una frase completa.</div><div align="justify"><br />"Recuerde, General: SysCorp está más allá de los Gobiernos..."</div><div align="justify"><br />Poco a poco, el ambiente vuelve a la normalidad, y la emergencia acaba. Apenas puedo sostenerme en pie, me levanto del piso. El Jefe termina su llamada, y, entre molesto y pensativo, nos ve a la cara uno por uno. "Buen trabajo, muchachos. Estoy orgulloso de su habilidad y de su aguante. Al parecer nos vienen tiempos duros, pero confío en mi equipo; confío en ustedes. Vayan y descansen el resto de la tarde, que lo necesitarán... Hablaremos mañana".</div><div align="justify"><br />Agotados, molidos, pero extrañamente de buen humor luego de esas frases, nos dirigimos a las duchas. Quizás no pase nada. Quizás sí. Quizás sea peligroso... Pero con un equipo así, con un jefe así, nuestra única opción es ganar.</div><div align="justify"><br />SysCorp. Poseedor de los mejores Neo-Programadores. Un lugar de trabajo interesantes, a veces -como hoy- peligroso, pocas veces aburrido...</div><div align="justify"><br /><br /><em>Dios bendiga a Internet.</em> -- Finch (<a href="http://www.imdb.com/title/tt0163651/">American Pie</a>)</div><div align="justify"><br /><em>Tienes que recordar algo: todos sienten piedad por el débil; pero los celos te los tienes que ganar.</em> -- <a href="http://es.wikipedia.org/wiki/Arnold_Schwarzenegger">Arnold Schwarzenegger</a></div><div align="justify"><br /><em>Haz lo que ames; ama lo que hagas.</em></div><div align="justify"><br /><em>Recuerda siempre que tu propia resolución de triunfar es más importante que cualquier otra cosa.</em> -- <a href="http://es.wikipedia.org/wiki/Abraham_Lincoln">Abraham Lincoln</a></div><div align="justify"><br /><em>Una máquina puede hacer el trabajo de 50 hombres corrientes. Pero no existe ninguna máquina que pueda hacer el trabajo de un hombre extraordinario.</em> -- <a href="http://en.wikipedia.org/wiki/Elbert_Hubbard">Elbert Green Hubbard</a></div><div align="justify"><br /><em>Una realidad es solo lo que nos decimos unos a otros que es.</em></div><div align="justify"><br /><em>La gente no debería temer a sus gobiernos, los gobiernos son los que deberían temer a su gente.</em> -- <a href="http://www.imdb.com/title/tt0434409/">V for Vendetta</a></div><div align="justify"><br /><em>Quizás para reflejar concretamente lo que se siente al ver "</em><a href="http://www.imdb.com/title/tt0416449/"><em>300</em></a><em>", habría que decir que uno sale del cine con ganas de coger una espada, un casco, un escudo y cambiarse la nacionalidad a espartana.</em> -- <a href="http://www.ociojoven.com/article/articleview/978754/1/5/300.html">Ozule</a><br /><br /></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com5tag:blogger.com,1999:blog-2342957990007011443.post-83566193276610338492007-08-07T13:15:00.000-05:002007-08-07T13:30:41.001-05:00Descertificando el corazón<div align="justify"><br />Cayó en mis manos (ojos?) un link con el título <a href="http://www.agilecertificationnow.com/certification.html">La Certificación más rápida en Internet</a>, pintado como chiste. Le eché una ojeada y efectivamente me reí un poco (para los que no sepan inglés, o les de ladilla seguir el link, asuman que la página que sale dice algo como "Listo! Te certificaste! Viste que era rápido?"). Le dí click a <a href="http://www.agilecertificationnow.com/download-certification.php">Ver el Certificado</a> y me salió una ominosa pantalla de error, lo cual me hizo reir más: "Cómo se nota que quien la hizo se certificó rápido" (el error es a propósito).</div><div align="justify"><br /><a href="http://www.agilecertificationnow.com/not-so-fast.html">Luego</a> seguí leyendo en la siguiente página, y la sonrisa se mantuvo, pero no por el chiste, sino por estar de acuerdo con el texto: <a href="http://lomeanor.blogspot.com/2007/06/cx-310-055.html">Las certificaciones apestan</a>.</div><div align="justify"><br />Nadie se certifica sentado, leyendo libros, o en un curso... Bueno, sí se certifica, comprobado. Digamos que nadie debería poder certificarse sentado, leyendo libros, o en un curso. Para poder certificarte deberías haber logrado dominar las habilidades necesarias, y eso no lo obtienes sentado, leyendo libros, o en un curso: Necesitas sentarte, pero a practicar y a ganar experiencia. Los libros y los cursos pueden ser una ayuda a ello, no un medio.</div><div align="justify"><br />Sencillamente, ningún recién graduado, del área que sea, debería ser capaz de certificarse en nada (excepciones aplican, como en todo, pero han de ser eso: excepciones. Y no hablo de <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/NullPointerException.html">punteros nulos</a>, y cosas así). Las empresas que exijan certificaciones deberían saber primero, lo que eso significa hoy en día, y segundo, lo que queremos que signifique.</div><div align="justify"><br />Aquellos que aprueben la certificación deberían ser la crema. Ser los que saben. Ser aquellos a los que los demás acudan en busca de respuestas. Ser los oráculos. Debería haber una clara, obvia, inmensa diferencia entre aquel que logró certificarse, y aquel que no lo logró. Este es el primer error.</div><div align="justify"><br />Deberíamos hablar de <a href="http://systemsguild.com/GuildSite/TDM/certification.html">descertificación</a>. Vemos la certificación como algo que todos deberían tener, y ya esa frase aclara que no sirve. La gente debería fallar la certificación. Es más, la mayoría de la gente (quizás) debería fallar la certificación. Eso es lo que demostraría que la certificación certifica algo, que es difícil de lograr. Y eso nos lleva al segundo error.</div><div align="justify"><br />Aquellos que fallen la certificación -los descertificados- deberían ser vistos no como los que no son útiles para el mercado, no como los que no sirven, sino como lo que realmente serían: aquellos que no lograron saltar lo bastante alto para certificarse. No tener la certificación -peor aún, fallarla- no quiere decir que no sirvas! Solo significa que aún te falta camino por recorrer para alcanzar ese escalafón (escalafón que ahora sí significaría algo).</div><div align="justify"><br />Hay muchos otros puntos a tomar en cuenta: Que la certificación debería ser temporal, dado que al cabo de cierto tiempo ya no significará que sabemos nada, a menos que nos hayamos mantenido practicando. Que la certificación (al menos como existe hoy en día) no debería ser garantía de nada, y no debe suplir o sobrepasar en importancia otros puntos a tener en cuenta al contratar a alguien. Que deberíamos dar más importancia a las certificaciones basadas en habilidad (las que casi nadie saca, las que menos conocen) que a aquellas basadas en conocimiento (la aplastante mayoría, las que todos tenemos)... Pero baste lo escrito hasta ahora para llamar a reflexión.</div><div align="justify"><br />Yo? Aún no sé si me quedaré así, o si trataré de sacar alguna certificación basada en habilidad. Solo sé que sé lo que sé. Y que lo demuestro a diario con acciones.</div><div align="justify"><br /><br /><em>El talento acierta en un blanco al que más nadie puede pegar; el genio acierta en un blanco al que más nadie puede ver.</em> -- <a href="http://es.wikipedia.org/wiki/Arthur_Schopenhauer">Arthur Schopenhauer</a> </div><div align="justify"><br /><em>El conocimiento es un arma. Mi intención es estar armado formidablemente.</em> -- <a href="http://en.wikipedia.org/wiki/Richard_Rahl">Richard Cypher</a>, The Lord Rahl</div><div align="justify"><br /><em>La confianza es brindada más frecuentemente por la ignorancia que por el conocimiento.</em> -- <a href="http://es.wikipedia.org/wiki/Charles_Darwin">Charles Darwin</a> </div><div align="justify"><br /><em>Es indiscutible que la mayoría de los profesores enseñan como fueron enseñados, no como fueron enseñados a enseñar.</em></div><div align="justify"><br /><em>Lo que llaman talento no es más que un arduo y continuo trabajo realizado correctamente.</em> -- <a href="http://terraimagina.blogspot.com/2007/06/citas-viii.html">Winlow Hemer</a> </div><div align="justify"><br /><em>La acción es la mejor respuesta.</em></div><div align="justify"><br /><em>Cuando os licenciéis seréis máquinas de matar, ministros de la muerte. Hasta entonces, sois una puñetera mierda!</em> -- <a href="http://www.imdb.com/title/tt0093058/">Full Metal Jacket</a> </div><div align="justify"> </div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com3tag:blogger.com,1999:blog-2342957990007011443.post-24229878794796284912007-08-01T20:35:00.002-05:002008-08-07T11:38:39.453-05:00Nunca te rindas<div align="justify"><br />boolean error = true;</div><div align="justify">while (error) {</div><div align="justify"> error = ensayo();</div><div align="justify">}</div><div align="justify">return true;</div><div align="justify"><br /><br /><em>Solo hay 10 tipos de personas: las que saben <a href="http://es.wikipedia.org/wiki/Sistema_binario">binario</a> y las que no.</em></div><div align="justify"><br /><em>Si no lo consigues a la primera, llámalo versión 1.0.</em> -- <a href="http://queroweb.x10hosting.com/top-de-frases-geek/">Top de frases Geek</a></div><div align="justify"><br /><em>No soy antisocial; Soy de interfaz poco amigable.</em> -- <a href="http://queroweb.x10hosting.com/top-de-frases-geek/">Top de frases Geek</a></div><div align="justify"><br /><em>La programación hoy es una carrera entre los ingenieros de Software que se esfuerzan construir programas más grandes y mejores a prueba de idiotas, y el universo que intenta producir a idiotas más grandes y mejores. Hasta ahora, el universo está ganando.</em> </div><div align="justify"><br /><em>Don't drink and derive (No beba y derive). -- <a href="http://tf.usb.ve/prof/esantiso.shtml">Erik Santiso</a></em></div><div align="justify"><br /><em>Solo hay 10 tipos de personas, los que saben binario, los que no, y los que lo confunden con ternario.</em> </div><div align="justify"><br /><em>6 x 6 = 36.000012111322100 - <a href="http://es.wikipedia.org/wiki/Intel_Pentium">Pentium inside</a>.</em></div><div align="justify"><br /><em>Necesito psiquiatra para Pentium III que se cree 386.</em></div><div align="justify"><br /><em>User error: Replace user, hit any key to continue (Error de Usuario: Cambie el usuario, y presione cualquier tecla para continuar).</em></div><div align="justify"><br /><em>En la compra de <a href="http://es.wikipedia.org/wiki/Windows_98">Windows 98</a> le regalamos dos botones RESET.</em></div><div align="justify"><br /><em>La inteligencia artificial no se iguala con la estupidez natural.</em></div><div align="justify"><br /><em>(voz de tele-evangelizador) El Reino de los recuerdos compartidos ya no existeeeee! TIEMBLEN ANTE LA VENIDA DEL ORACULOOOOO!<br />(ORA-01034: <a href="http://es.wikipedia.org/wiki/Oracle">Oracle</a> not available. ORA-27101: shared memory realm does not exist)</em></div><div align="justify"><br /><em>Solo hay 10 tipos de personas, los que saben binario, y otras 9 que tienen novia.<br /><br /></em> </div><div align="justify"> </div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com3tag:blogger.com,1999:blog-2342957990007011443.post-79110179766498457122007-06-26T22:41:00.001-05:002008-07-18T16:31:49.805-05:00CX-310-055<div align="justify"><br />Para los que no saben qué grosería es esa que escribí como título, déjenme aclararles que el <a href="http://www.sun.com/training/catalog/courses/CX-310-055.xml">CX-310-055</a> es el código del Examen de Certificación para Programador Java 1.5 (<a href="http://www.sun.com/training/catalog/courses/CX-310-055.xml">Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0</a>). </div><div align="justify"><br />Para los que no saben qué es <a href="http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%83%C2%B3n_Java">Java</a>, es un lenguaje de programación (bueno, y un café), una de esas cosas que algunas gentes como yo usamos para hacer más programas de computación, como los que usas en tu computadora (valga la posible redundancia).</div><div align="justify"><br />Para los que no saben qué es un Examen de Certificación, es un papelito que dice que tú sabes de qué hablas cuando peleas sobre la cosa en la que te certificaste, además de que en teoría te hace cobrar más por hacerla. En Computación hay certificaciones sobre cualquier cosa; asumo que en el resto del mundo la cosa sea más o menos parecida.</div><div align="justify"><br />Por último, para los que no saben por qué estoy hablando tanta paja rara, les echaré el cuento: Nunca he creído mucho en la certificación, por pasadas historias en mi ambiente de trabajo. Pero siempre andaba con las ganas de hacerlo, por no dejar. Así que un día me enteré que había una rebaja en el pago de las certificaciones, válido por un año, y lo ví como un chance de obligarme a estudiar.</div><div align="justify"><br />Pues bien, a principios de mes me acordé (o me acordaron. No lo recuerdo) de que había pagado la certificación, y resulta que el papelito se me vencía este mes (de hecho, se me vence el <a href="http://lomeanor.blogspot.com/2007/06/cronopio.html">30 de Junio</a>). Es que el tiempo es así: una hora de clase aburrida pasa como si fuera un mes recibiendo azotes, pero un mes de vacaciones se va antes de que te enteres que llegó.</div><div align="justify"><br />Así pues, busqué un link aquí, un libro allá, un examen en línea en algún lado, estudié una o dos semanas, como una o dos horas diarias (menos el fin pasado, que sí me lo empollé). Y así, pasado de loco, sin haber echado la primera línea de código en <a href="http://java.sun.com/j2se/1.5.0/">Java 5</a>, fuí a presentar.</div><div align="justify"><br />Para algunos de los que lean esto, la certificación no significará nada. Para otros, será un paso importante en su <a href="http://www.ldc.usb.ve/ldc/principal.php">carrera</a>. Para la mayoría, no será la gran vaina. Sea como sea, aquí les comparto los links más útiles que conseguí, para los que, como yo, tengan solo un par de días para afilar sus conocimientos. Véanlo como mi post "útil" o "laboral", mi labor social del año.</div><div align="justify"><br />(Si no vas a presentar, o no te interesa lo más mínimo Java, hazte un favor e ignora los links).</div><div align="justify"><br />Todo empezó <a href="http://hoskinator.blogspot.com/2006/04/java-15-certification-resources-310.html">aquí</a>. No tienes que leerlo, pero ya que pasé por ahí, y me ayudó, hagámosle publicidad al pana.<br /><br /></div><div align="justify"></div><div align="justify"></div><div align="justify"><strong>* </strong><a href="http://hoskinator.blogspot.com/">A Funny Java Flavoured Look at the World</a> - <a href="http://hoskinator.blogspot.com/2006/04/java-15-certification-resources-310.html">Java 1.5 Certification resources (310-055) links</a><br /><br /></div><div align="justify"></div><div align="justify"></div><div align="justify"><strong>* </strong><a href="http://hoskinator.blogspot.com/">A Funny Java Flavoured Look at the World</a> - <a href="http://hoskinator.blogspot.com/2006/04/hardest-java-exam-question-java-15-or.html">Hardest Java Exam Question - Java 1.5 or Java 1.4</a><br /><br /></div><div align="justify"></div><div align="justify"></div><div align="justify">ok, ahora a trabajar... Primero, lee <a href="http://www.javaranch.com/journal/200601/Journal200601.jsp#a6">esto</a>. Te dará buenas ideas de qué hay de nuevo bajo el cielo de Java.<br /><br /></div><div align="justify"></div><div align="justify"></div><div align="justify"><strong>* </strong><a href="http://www.javaranch.com/journal/200601/Journal200601.jsp#a6">Differences between 1.4 and 1.5</a><br /><br /></div><div align="justify"></div><div align="justify"></div><div align="justify"><strong>* </strong><a href="http://www.whizlabs.com/articles/scjp5.0-article.html">An SCJP 5.0 Certification primer</a><br /><br /></div><div align="justify"></div><div align="justify"></div><div align="justify">Luego, lee (completica, de proa a popa) e interioriza una de las mejores guías que hay.<br /><br /></div><div align="justify"></div><div align="justify"><strong>* </strong><a href="http://java.boot.by/scjp-tiger/">SCJP Tiger Study Guide</a><br /><br /></div><div align="justify"></div><div align="justify">Luego de leerla, lo mejor que puedes hacer es probarte en un examen parecido a lo que te espera.<br /><br /></div><div align="justify"></div><div align="justify"><strong>* </strong><a href="http://www.examulator.com/phezam/login.php">Examulator.com</a> (por no dejar, <a href="http://www.examulator.com/phezam/question.php">aquí un ejemplito</a>).<br /><br /></div><div align="justify"></div><div align="justify"><strong>* </strong><a href="http://java.sun.com/developer/Quizzes/j2se15.html">QUIZ: What's New in J2SE 5.0</a><br /><br /></div><div align="justify"></div><div align="justify">Por último, aunque no los usé, te los pongo. Uno nunca sabe...<br /><br /></div><div align="justify"></div><div align="justify"><strong>* </strong><a href="http://www.javabeat.net/">Javabeat.net</a> - <a href="http://www.javabeat.net/javabeat/tiger/notes/tiger_notes_index.html">Tiger Notes</a><br /><br /></div><div align="justify"></div><div align="justify"><strong>*</strong> <a href="http://www.javabeat.net/">Javabeat.net</a> - <a href="http://www.javabeat.net/javabeat/scjp5/index.php">Sun Certified Java Programmer(SCJP 5.0) - Overview</a><br /><br /></div><div align="justify"></div><div align="justify"><strong>* </strong><a href="http://java.sun.com/">Java.sun.com</a> - The Source for Java Developers (Java Learning and Certification)<br /><br /></div><div align="justify"></div><div align="justify"><strong>* </strong><a href="http://www.jchq.net/">Java Programmer Certification Exam And Training</a><br /><br /></div><div align="justify"></div><div align="justify"><strong>* </strong><a href="http://www.lanw.com/java/javacert/">Java Certification Resources</a><br /><br /></div><div align="justify"></div><div align="justify">Y otro blog, por no dejar.<br /><br /></div><div align="justify"></div><div align="justify"><strong>* </strong><a href="http://blog.lib.umn.edu/mopu0001/links/">Sandeep's Blog</a><br /><br /></div><div align="justify"></div><div align="justify">Armado de todas estas armas me dispuse a <a href="http://www.pen-paper.net/rpgdb.php?op=showbook&bookid=124">derrotar a los dragones de la ignorancia y el miedo, construyendo castillos de fuerza y sabiduría</a>. El problema es que no sabía donde encontrar el castillo donde presentaba, la Torre Exa. Para los que deseen encontrar direcciones, aquí les paso un linkcito más.<br /><br /></div><div align="justify"></div><div align="justify"><strong>* </strong><a href="http://wikimapia.org/">Wikimapia</a> (Diox... Un nuevo vicio! Es lo máximo!)<br /><br /></div><div align="justify"></div><div align="justify"><strong>* </strong>Aquí vemos la <a href="http://wikimapia.org/1642693/es/">Torre Exa</a>, que es una Torre de Oficinas ubicada en la Urbanización El Rosal.<br /><br /></div><div align="justify"></div><div align="justify">Y al final? Saqué 72% (lo cual fué bueno, pues pude escribir este post). Sin una línea de código en Java 5. Hasta aquí llegó mi respeto por esta certificación? No lo sé... Seis años de experiencia en Java a lo mejor ayudaron.<br /><br /><br /><em>El verdadero perdedor no es aquél que no gana. El verdadero perdedor es aquél que tiene tanto miedo a no ganar que ni siquiera lo intenta.</em> -- Alan Arkin (<a href="http://www.imdb.com/title/tt0449059/">Little Miss Sunshine</a>)<br /><br /></div><div align="justify"></div><div align="justify">[JuanK] <a href="http://www.imdb.com/title/tt0316654/"><em>Ve por el Tiger, Tigre!</em></a><br />[Gorka] <a href="http://es.wikipedia.org/wiki/Mary_Jane_Watson"><em>Gracias, Mary Juan.</em></a><br />[JuanK] <a href="http://es.wikipedia.org/wiki/Spiderman"><em>De nada, Peter Gorker.</em></a><br /><br /></div><div align="justify"></div><div align="justify"><em>Es que es tan aburrido eso de la vida normal.</em> -- Supertría @ <a href="http://entre_lineas.blogia.com/">Entre Líneas</a> (<a href="http://entre_lineas.blogia.com/2005/112801-de-depredador-s-cazador-s-y-conquistador-s....php">De depredadores, cazadores y conquistadores...) </a><br /><br /></div><div align="justify"></div><div align="justify"><em>Si Barbie es tan popular ¿por qué hay que comprarle los amigos?</em> -- <a href="http://www.coolfunnyquotes.com/">CoolFunnyQuotes</a><br /><br /></div><div align="justify"></div><div align="justify"><em>"¿Tú qué? ¿De otro planeta o con un gen mutante?"<br />"Nah, lo mío fue una araña radioactiva"</em><br />Anne Bonny - <a href="http://www.ociojoven.com/article/articleview/981603/">El peliagudo oficio de crear superhéroes</a><br /><br /></div><div align="justify"></div>Morbridaehttp://www.blogger.com/profile/04881518236322878722noreply@blogger.com4