sábado, septiembre 05, 2009

Si tocas este código, te mueres.

Dentro de los programas hay algo llamado comentarios, que son guías para cuando alguien lea nuestro código pueda entender lo que quisimos hacer, y lo que se hizo realmente.

Y realmente a más de alguno le nace el Nicanor Parra que lleva dentro y por diversas razones, odio a sus jefes o restricciones de tiempo o simples magias que se usan, se terminan agregando comentarios que destacan por sobre otros.

Hace un tiempo salió a la luz un archivo que decía tener el código fuente de windows 2000, y si bien podemos dudar de la veracidad del código que hay dentro, no se puede dudar que son reales programadores los que escribieron los comentarios.

Uno de mis favoritos se puede encontrar en private\windows\media\avi\verinfo.16\verinfo.h:

* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* !!!!!!!IF YOU CHANGE TABS TO SPACES, YOU WILL BE KILLED!!!!!!!
* !!!!!!!!!!!!!!DOING SO FUCKS THE BUILD PROCESS!!!!!!!!!!!!!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Dice: "Si cambias las tabulaciones a espacios, te mueres. Hacerlo "caga" el proceso de construcción.

Representa una de las guerras santas en términos de programación. Usar espacios o tabulaciones para indentar el código. Que cuando hablamos de lenguaje castellano, es como ponerse a pelear si hacer sangría con espacios o tabulaciones.

Otra de mis selecciones es cuando trata de idiotas no se si a la aplicación o al equipo que lo hace, pero aún así:

// The specific idiot in this case is Office95, which likes
// to free a random pointer when you start Word95 from a desktop
// shortcut.

Dice: El idiota específico en este caso es Office95, que disfruta de liberar un puntero aleatorio cuando inicias word95 desde un acceso directo del escritorio.

Y para finalizar con windows 2000, una de las cosas que le pasan a todo programador, arreglos ultra chanta para puro hacer funcionar el programa. Soluciones poco elegantes, y que avergonzarían al más ordinario de los programadores.

private\inet\mshtml\src\site\layout\flowlyt.cxx:
// God, I hate this hack ...

Dice: Dios, odio este hack

private\ntos\w32\ntuser\client\nt6\user.h:
* The magnitude of this hack compares favorably with that of the national debt.

Dice: La magnitud de este hack se compara con la deuda nacional.

Otro de los comentarios que me parecen dignos de mostrar son aquellos que están seguros de que otra persona modificará el código, e inclusive advierte no hacerlo:

// Dear maintainer:
//
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
//
// total_hours_wasted_here = 16

Dice: Querido mantenedor:

Una vez que hayas terminado de optimizar esta rutina(código),
y te hayas dado cuenta del terrible error que fue,
por favor incremente el siguiente contador como una advertencia
al siguiente sujeto:

total_horas_desperdiciadas_aca = 16;

Finalmente quisiera destacar un comentario encontrado dentro de un juego llamado Erika to Satoru no Yumebōken. Un autor que se dedica a traducir de japonés a inglés posteó lo que pudiera ser el máximo exponente de mensajes escondidos en código(ir al post original para la versión en inglés):

Esta es una canción nostálgica. Esos eran buenos tiempos. Mientras tanto, ¿quién diablos son las personas de este proyecto? Por fin se acabo, cualquiera pensaría que son puros buenos recuerdos. Usemos este espacio para dar agradecimientos.

Primero que nada, Kaoru Ogura, que te corriste del proyecto con un tipo. Si, tu bastarda. Ni se te ocurra venir a la oficina sin bañarte despues de tener sexo 6 veces la nocha anterior. Siguiente, Tatsuya Ōhashi. Si tu bastardo, no me vengas con esa mierda frívola, llegando tarde el día que entregamos el ROM como si nada pasase. Puedes darme todo el porno que quieras, pero jamás olvidaré esa. Todo el peso que subiste, con razón pagaste 18.000 yenes y a lo más te dieron un beso. Kenji Takano, depurador de Namco. Eres part-time, no andis "webeando" con el jefe de proyecto. Y finalmente, Kiyoharu Gotō, la mayor espina en este proyecto. Si tu bastardo, apenas obtenga mi maquina del tiempo, te mando a la era Edo. Andate allá a hacer tus puzzles.

Pensándolo bien, algunas personas fueron útiles. Sr Okada, quien se llevó todas las cosas buenas. Se todo sobre tus tendencias anormales. Yamagishi, que juraste de alejarte de los prostíbulos hasta terminar el proyecto. Anda a saciarte ahora


En cualquier caso, la anterior fue una versión recortada a la cual le puse una traducción bastante libre de lo que decía originalmente.

Lo mejor en todo caso de este último comentario, es que existía la posibilidad de desbloquear dicho mensaje con una combinación estilo mortal combat y hacerlo aparecer en el final del juego.

A estas alturas no puedo evitar preguntarme ¿Cuántos de nosotros habremos querido colocar comentarios así?. Por lo menos yo me he sentido tentado.

martes, agosto 25, 2009

La licencia no cubre la RAM señor

Es un hecho conocido dentro de los "nerds" la limitación de los procesadores de 32 bits de ser incapaces de administrar 4GB de RAM. Pasa lo mismo con un canasto de jugetes de un niño, este puede usar todos los juguetes que tiene a su alcance, pero los que están más abajo son inalcanzables para el, lo que significa en que esos juguetes quedan sin uso. El procesador no es capaz de acceder a espacios de la RAM que le quedan demasiado lejos. Lo cual hacía que teniendo físicamente 4GB de RAM el sistema marcase alrededor de 3.

Si bien lo anterior tiene fundamento teórico correcto, lo que sucede en realidad es que los procesadores tienen una forma de acceder a estos espacios de RAM lejanos, igual como si el niño le pidiera a un adulto que le pasara los juguetes. El asunto es que Windows no deja que lo utilices por asunto de licencias. Es decir, el código está, pero no te deja utilizarlo.

Geaoff Chappel prueba en su entrada que Microsoft es el que impide que se pueda utilizar una tecnología existente hace más de una década, sólo ofrecida para versiones 2000 y 2003 ambas server:

That 32-bit editions of Windows Vista are limited to 4GB is not because of any physical or technical constraint on 32-bit operating systems. The 32-bit editions of Windows Vista all contain code for using physical memory above 4GB. Microsoft just doesn’t license you to use that code

Los procesadores de 32 bits en Windows Vista están limitados a 4GB no por una limitación física o técnica. Todos las ediciones de 32 bits de Windows Vista contienen código para usar memoria sobre los 4GB. Es sólo que Microsoft no licencia ese código


Las razones para esto no debiera llamarnos la atención. Ya que para solucionar cualquiera de estas limitaciones, simplemente se compra un procesador de 64-bits, con su correspondiente sistema operativo de 64 bits, lo cual en efecto está pasando, lentamente pero sucede, lo incómodo es igual como pasan verdades a medias a los clientes.

El autor finalmente da una vuelta sobre esto. Toma el ejemplo de Windows Vista versión Ultimate, en la cual uno espera conseguir todo lo que ofrece Vista, es decir, paga una licencia gigantesca para obtener todo, pero en realidad sigue quedando con código sin licenciar, que impide romper el límite de los 4GB, utilizando el término Ultimate como un elemento de engaño o por lo menos embole.

miércoles, agosto 05, 2009

Agregar flickr a blogspot

Blogspot no ofrece una manera directa de agregar flickr, pero eso no quiere decir que sea imposible. Blogspot ofrece la posibilidad de insertar html con javascript y flickr tiene una forma para crear html que crea una vitrina de tus fotos :).

En primer lugar debemos crearnos una "badge", que es algo asi como una vitrina de tus fotos. Está un poco escondido el asunto por lo que tengo el vínculo directo. Luego de entrar con nuestra cuenta, se nos presentan 2 opciones:

Puedes seleccionar tanto una vitrina en html o en flash. Yo lo hice con una html, no se si realmente puedes meterle un swf a blogspot. Después de elegir, podemos pasar a elegir el contenido(next: choose content).

En este punto podemos elegir si queremos mostrar nuestro contenido público, el que tiene determinada tag(etiqueta) o el contenido de cualquiera. Una vez determinado el contenido podemos pasar al layout o distribución en pantalla del contenido.

En el layout tengo seleccionada las opciones de no mostrar mi avatar, solo quiero mostrar fotos. Quiero mostrar 3 fotos, en un tamaño thumbnail, y la orientación en none, para dejar que blogspot se encargue del espacio. Podemos ahora pasar a la sección de colores.

Acá es recomendable dejar No background, para que respete los colores del blog, el borde es cosa de gusto, a mi no me gusta :P.

Ahora en el último paso de flickr, podemos copiar el código listo para usar en blogspot.

Lo que nos resta es utilizar este código en blogspot. Obviamente tenemos que entrar como administrador a nuestro blog, y dirigirnos a la zona de personalización. Acá se nos ofrece la opcion "Añadir un gadget". Aparecerá una lista de la que debemos seleccionar "HTML/Javascript", luego pegar el código que nos dió flickr y poner un título. Guardar, y debería aparecer la vitrina en la zona que seleccionamos del blog.

viernes, julio 31, 2009

El plan B

Hoy en el rincón cultural del blog, quisiera compartir 3 lecciones que he aprendido en el tiempo que llevo trabajando para la UdeC.

Las decisiones son de plasticina

A diferencia de lo que pueda decir Moisés, ninguna decisión tomada en el trabajo debe estar grabada en piedra. Es normal comprometerse con las decisiones que se toman, en caminos que van a tomar, soluciones a utilizar, e inclusive herramientas para trabajar. Pero siempre hay que estar dispuesto a escuchar opiniones nuevas, y a su vez ser capaz de cambiar la decisión tomada inicialmente.

También es muy importante tener argumentos que respalden este comportamiento. La idea no es aparentar darse vuelta la chaqueta simplemente por azares del destino, sino porque algo hizo cambiar la visión de las cosas.

Siempre tener un plan B

Esto es parte del punto anterior. Siempre que uno toma una decisión en la cual hay aspectos riesgosos, tener un plan B. Cuando se está diseñando, uno sueña, y el papel se llena de pensamientos mágicos. Cualquier solución elegante que se tome, puede fallar, por lo que siempre se debe tener una solución, por muy sucia que sea.

Lo primero que debe hacer un SW es funcionar

Este para mi es una de mis pocas reglas que podríamos decir que está en plasticina ya endurecida. No importa que te sepas miles de patrones que quieres aplicar, o de los tiempos que tengas que acatar, ni de lo poco elegante que está quedando el SW. Lo primero que tiene que hacer un SW es hacer lo que se le pide. Luego viene todo lo demás, importante también, pero no lo primero.

martes, julio 28, 2009

Lag LCD Rock Band y Guitar Hero

Malditos LCD. No son tan bonitos como los pintan, los negros no existen, sólo grises, los colores no son tan vivos, y cuando juego cualquiera de los juegos de música que tengo, se me generaba un lag terrible, o sea, diferencia entre el momento que necesito apretar un botón, y el tiempo en que se realiza la acción que genera el botón.

PEROOOOO, los LCD tienen una resolución tremenda, es decir, el nivel de detalle de un LCD es altamente superior al de un CRT, fuera que son más livianos y utilizan mucho menos espacio, por lo que me negaba a volver al tele de "tubos" para jugar dichos juegos.

Después de tanto investigar, descubrí que la serie de samsung que tengo (A550), tiene un modo llamado Entertainment en la sección de Input. Si en dicho modo se activa GAME, la televisión pierde bastante sharpness, lo que hace que los bordes dejen de ser tan lisos, pero también reduce bastante el proceso que le hace a la imagen antes de mostrarlo, lo que al final me terminó arreglando el problema de Lag :).

Ahora bien, con esto podía escuchar directo desde el televisor sin ningún problema. El asunto es que también cuento con un receiver yamaha, que me permite escuchar dolby y todas esas marihuancias. Lo que igual producía un desfase o Lag. Al final la solución fue utilizar el modo straight, evitando el proceso que trae la señal digital.

Con estos dos simples arreglos, puedo disfrutar de un tema en hard sin ningún error no forzado :).

viernes, junio 26, 2009

El playlist de la life

Jugando Guitar Hero Smash Hits, escuché una canción que no escuchaba hace muchos años. Es impresionante como cualquier sentido es capaz de hacer funcionar la memoria.

Y aun siendo fanático de mis ojos es muy raro que vea una foto y me acuerde del colegio, o de la universidad. En general, son canciones las que me hacen pensar que mis recuerdos hasta podrían ser de la semana pasada.

Lo más seguro que esto sea común, pero me gusta escuchar Queen y pensar que estoy en 8vo, Joe Vasconcellos en 2do medio y Coldplay en 3ro. Para que decir Keane, cuando conocí a una persona especial, y Franz Ferdinand en mis últimos años de U.

domingo, junio 07, 2009

Experiencia Chilebox y amazon, comprando en usa.

Hace tiempo que tenía ganas de comprar un libro de actionscript, y dado que no es tan popular sin el apoyo de flash, me vi forzado a comprarlo en una tienda fuera del pais.

Por lo que decidí sacarle las telarañas a mi cuenta en amazon y utilizarla por primera vez fuera de usa.

Primero que nada tuve que crear una cuenta en Chilebox, un servicio de encomiendas desde usa de Chilexpress. Para esto tuve que superar mi miedo por entregar el maldito rut.

El proceso es gratuito y simple, das tus datos, aceptas y ellos te dan 2 direcciones. 1 para documentos y otra para paquetes.

Luego fui a amazon, en donde seleccioné el libro que quería, puse agregar al carrito y luego checkout. Afortunadamente mi libro caía en la categoría de envío gratis o "FREE with Super Saver Shipping". Completé los datos de la dirección utilizando los que me dió Chilebox en Miami, pero como nada en el mundo es tan fácil, Amazon avisó que había algo raro en la dirección. Afortunadamente me ofrecía una corrección, como ellos saben mucho más, decidí luego de una pequeña deliberación respetar la corrección.

En la zona de billing hay que poner donde llega la cuenta de la tarjeta de crédito. ¡¡NO LA DE CHILEXPRESS!!.

Finalmente amazon te entrega un seguimiento en todo momento de donde está el paquete. Y una vez que llega a miami, chilexpress te da el aviso de recibir un paquete y que ya se iniciaron los trámites para ingresar el paquete al país, en este punto se puede pedir donde quieres que llegue el paquete, por mi parte solicité en la oficina del mall.

Entre otros detalles finales: La compra no me apareció en la cuenta hasta días después. Me cobraron contra entrega y además dan boleta del servicio(no todas las compañías que traen de USA dan). Finalmente me salió 1 dólar más que si lo hubiese pedido directamente, pero me llegó por lo menos una semana antes.

miércoles, mayo 27, 2009

Como los gatos, 4ra vida

Durante la existencia tiendo a pensar que pasamos por varias vidas. Guagua, niño, universitario, trabajador..., etc.

Hoy 27 acabo de cumplir 1 año en mi cuarta vida, la del trabajador. Igual es información irrelevante para el mundo, pero cuando tenga 100 años podré ver mi blog( si es que existen las internets) para recordar.

Me encantaría tener dotes de escritor y escribir una reflexión sobre lo que ha pasado durante el año, pero no los tengo. Ha sido un buen año, altos y bajos como en todo, la vida sigue, obladi oblada.

sábado, abril 25, 2009

Flisol = Oro Puro

Terminado el flisol podemos sacar las siguientes conclusiones:

- La mayoría de los personas interesadas en temas de sw libre son jóvenes.
- Todavía hay gente que cree que libre es sinónimo de gratis.
- Murphy está presente en todos lados.
- Se puede construir una universidad en 3 meses.
- Hay un aumento de gente que asiste.
- Hay una rotación en la gente que asiste.

Los dos últimos por lo menos dentro del rango de 3 años en que he participado.

Finalmente aprovechando el impulso quiero destacar 3 programas libres(obvio) que me parece que no tienen nada que envidiarle a sus contrapartes propietarias.

SharpDevelop: Visual Studio es un mostruo, en términos de IDE y de gasto de recursos. Evítate gastar plata en una licencia, o bajar versiones capadas, o cometer el pecado de robo cibernético, utilizando este liviano IDE.

Virtual Box: Tienes un sistema operativo que te gustaría ver como funciona. Esta cajita virtualizadora es capaz de instalarlo en tu pc como un programa más y poder probar todas las funcionalidades del SO antes de decidirte a instalarlo como fijo.

FlashDevelop: Una vez abierto el flash, ¿parece como herramientas de un programador?, un lápiz, herramienta de óvalo, tarro de pintura!!!, noooo por favor. El Flash CS apesta como herramienta de desarrollo, punto, completación de código casi inexistente, asistente de código nulo, etc, etc. Desarrolla en el no tan libre Flash con este excelente IDE compadreeee. Lo recomiendo 100%, igual te sirve para hacer aplicaciones Flex, pero no tiene ayudante para dibujar interfaces.

jueves, abril 16, 2009

Nuevo Flisol Nueva Casa

El próximo 25 de abril se llevará a cabo el FLISOL del año 2009.

Para el que no lee links ¬¬, el FLISOL es una instancia en donde se comparte sw libre. Y se comparte de varias formas: se realizarán charlas sobre variados temas(wordpress, php, telefonía ip). Podrás llevar tu pc para que instalen programas libres, e inclusive sistemas operativos que podrían revivir ese tarro que está acumulando polvo. Conversar con gente que se maneja en otros temas. Pero guardando las proporciones, esto no será servicio técnico :P.

El FLISOL este año estrena nueva casa. En esta ocasión se realizará en la nuevecita Universidad Andrés Bello de Concepción(Realmente está ubicada en Talcahuano, pero no vende tanto como conce :P), por lo que si no te interesa el software libre igual puedes ir para conocer las nuevas instalaciones de UNAB. O sea todo absolutamente nuevooo 0 kilómetros.

viernes, marzo 06, 2009

Están pasando gato por libro(de colegio)

Los libros son un negocio. No tengo nada en contra de esto, estamos hablando de un trabajo arduo de muchas personas para lograr siquiera uno. Es más, en términos informáticos, al momento que se publica un libro, ya está obsoleto en algunas zonas, hablamos de hasta un año de desfase entre que se empieza el libro y su publicación.

Pero si me molesta cuando este negocio se hace a través de las editoriales y otras instituciones privadas, y aún más cuando se meten con la educación del país.

La media mula que se inventaron algunos colegios devolviendo los libros hechos por el gobierno, echándole la culpa a una disque demora en entrega de los libros el año pasado. Y no sólo los devolvieron, sino que exigen que los apoderados compren libros nuevos quizás en que lugar, y quizás de que editorial.

Hablando en números se devolvieron 30 mil libros, es decir, algunas editoriales, se van a hacer sus buenas monedas a través de estos colegios.

Me parece simplemente estúpido que, teniendo libros con los mismos contenidos, sin costo alguno, para cada uno de los alumnos y además entregados en el mismo establecimiento, se devuelvan y se obligue al apoderado incurrir en más plata, cuando ya se fue casi toda con la compra de uniformes.

Y eso que ni siquiera estámos hablando de que los libros no se pueden heredar, ya que algunas editoriales les dá por cambiarlos todos los años, pero manteniendo los contenidos. Eso se llama pasar gato por liebre, o por libro debería decir.

lunes, marzo 02, 2009

Terra Cresta por la Cresta

WTF o que carajo.

Advertencia: Le aseguro que se puede saltar hasta el final y no se pierde nada.

La mayoría de nacidos en los 80 tuvimos la suerte de jugar o por lo menos mirar lo que era el famoso fliper, y no el delfín, sino que esas máquinas que le ponías una ficha y te dejaba jugar un rato. Ahora los nerds(como su servidor) le llamamos arcade, porque fliper es de cabro chico, arcade es más cool.

Recuerdo haber jugado miles de fliper diferentes, pero cuando chico miles debe significar como 10. Y la ficha costaba 15 pesos, cosa de solo un año, en un verano, en dichato, era el medio logro comprar 3, 45 pesos pos, como 10 lucas si sumas el interes, la variación del ipc y la plata de farkas.

Recuerdo haber hecho unos abuket(o hadoken), la pata voladora o giratoria, etc. Recuerdo haber jugado aerofighters, y uno de los juegos que mejor jugué el sunsetriders(de vaqueros, que hacían como una barrida, y salía un mexicano, cormano).

Ahora por casualidades de la vida me pillé en un blog de un compadre, el Terra Cresta. Es de estos juegos que te pillas pocas veces en la vida, como un trebol de 4 hojas, el arca perdida, el amor de una mujer, un oscar bien merecido, etc. Era de los juegos sin continue, o sea el más palta de los pelolais con casa en huechuraba tenía las mismas probabilidades de ganar que un pobreton que juntaba 15 pesos para comprar una ficha en vez de comprar pastillas media hora. Es decir una probabilidad de -1000% acumulado en sumatoria.

El juego es absolutamente ridículo, no tiene final, los poderes valen callampa, los malos son casi inmortales, te atacan tanto naves como dinosaurios mutante que escupen fuego. Y porque carajo estos juegos usan el mar como para pasar etapas, que acaso todos hicieron un tratado de paz y que el mar son aguas internacionales y weas así, o sea 1000*100 enemigos que se mueven a velocidades superiores que una palanca, pero viene el mar y apretan.

Ahora una fotito para el recuerdo:



Y como siempre he querido que este blog llegue más lejos que cualquier otro, haré preguntas que nadie más haría. Por una razón muy clara, uso del sentido común.

¿Como será ser el general de esas tropas?.
Soldado : General hemos fallado, murieron todos.
General: Pero que hicieron.
Soldado: Nos movimos lentos y disparamos poco.
General: Inútiles, vuelvan y muévanse más rápido y disparen más.

¿Porqué carajo hay dinosaurios dispara bolas de fuego?
General: Liberen a los tiranosaurios que disparan fuegoooo.