inmensia |
Personal
Juan Mellado, 2 Enero, 2012 - 10:31
Juan Mellado, 13 Diciembre, 2011 - 17:55
Haciendo limpieza me he encontrado con los gráficos de unos personajes que hice hace muchos, muchos, muchos años cuando vivía en una galaxia muy, muy, pero que muy lejana. ![]()
Juan Mellado, 10 Septiembre, 2011 - 10:06
Un año este último de bastantes proyectos terminados. Abrir una cuenta en un repositorio público es una de las mejores cosas que he podido hacer. Me ha servido para evitar que el código que suelo escribir en mi tiempo libre acabe perdiéndose en el fondo de algún disco duro. Y sobre todo me ha motivado a limpiarlo y terminarlo, en vez de dejarlo como estaba y pasar a otra cosa en cuanto conseguía mi objetivo. Proyectos terminados: - js-lzma: Una versión en JavaScript del algoritmo de descompresión de LZMA. - js-openctm: Una librería en JavaScript para leer ficheros en formato .CTM - js-aruco: Un sistema de detección de marcadores para aplicaciones de realidad aumentada escrito totalmente en JavaScript. - flashcam: Un librería en ActionScript3 para capturar imágenes de una webcam y enviarlas a JavaScript. - js-javadump: Un parser de ficheros .class de Java escrito en JavaScript. De este proyecto no he escrito nunca en el blog. Es ese tipo de cosas al que me refería antes, que acababan perdiéndose por ahí, y que ahora subo al repositorio. ¿Mucho JavaScript? Pues sí, y parece que la tendencia seguirá siendo la misma. Pero quien sabe, tal vez el próximo año escribamos todos en Dart, ese nuevo lenguaje que ha anunciado Google y del que todavía no se conoce ningún detalle. Son todo especulaciones, pero no estaría mal que anunciasen un lenguaje que cumpliese con el ECMA-262 para ejecutarse directamente en el navegador, pero que suponga una pequeña revolución, como el cambio de AS2 a AS3, con la orientación a objetos, y atraiga a la masa de programadores.
Juan Mellado, 27 Febrero, 2011 - 15:39
Este mes lo he pasado bastante liado en el trabajo por culpa del proyecto que estamos desarrollando ahora mismo, en una especie de crunch mode tecnológico. No por el típico problema de mala planificación, sino por el también típico problema de tener que aplicar tecnologías con las que no se tiene ninguna experiencia previa en un proyecto real. Y es que si un cliente te impone que utilices su framework de desarrollo, sólo queda una cosa por hacer: empezar a leer documentación como un poseso para tratar de parecer medianamente inteligente en un tiempo razonablemente corto de tiempo. Dicen que los "informáticos" (nunca me ha gustado esta palabra, no sé muy bien porqué) somos bastantes reacios al cambio. La expresión aquella de "si funciona... ¡no lo toques!" está muy arraigada. Pero una cosa es ser pragmático, tener claro de donde sale el dinero que paga el alquiler, y otra cosa manifestar una clara debilidad de espíritu, vivir acomodados en la "rutina" de un proyecto y unas prácticas que no han cambiado durante años. Quizás sea un tanto obsesivo, a la par que un pésimo jugador de equipo, pero estos últimos días ando con la mosca detrás de la oreja. Más de lo habitual. Quizás influido por el hecho de que muchos países parecen estar viviendo en estas fechas momentos históricos, envueltos en revoluciones, cambiando su forma de hacer las cosas, conformando un nuevo mundo. Tal vez su nueva "rutina", de acuerdo, pero por un motivo u otro lo están haciendo. Yo no le pido a nadie que se juegue la vida por una causa, sólo que revise un par de líneas de código. "No sé, eso estaba ya así hecho", "Es un copy paste de otra ventana", o mi favorita: "¡Pero si el código no lo va a mirar nadie!", son respuestas clásicas. ¡Ya está otra vez el pesado de Juan revisando el código! Debe ser cosa de la edad, pero cuando un programador te dice que el código fuente no importa, lo que a mi me parece que transmite es la idea de que su trabajo no importa. Y por ende el mío, que es el mismo que el suyo. Y por ese aro si que no paso. Así de claro. Cuando uno prevé pasar una parte importante de su vida manteniendo y evolucionando un código que está escribiendo, lo que no debería hacer es tratarlo como el polvo que se esconde debajo de la alfombra. Algunos proyectos pueden requerir codificar casi de cualquier forma a la máxima velocidad posible, y los errores en producción hay que arreglarlos de la mejor forma posible en el menor tiempo posible. Eso lo tenemos claro todos. Pero este no es el caso. Las tecnologías implicadas en los desarrollos actuales son tantas y tan diversas que resulta imposible conocer el detalle de todas ellas. A lo más que podemos aspirar es a tener una visión global de conjunto, a tratar de comprender como está realizado el reparto de responsabilidades. Sobre todo cuando nunca has trabajado anteriormente con ellas. No podemos conocer todas las partes, pero si deberíamos tratar de conocer al menos la parte que nos toca. He visto programadores bramar por culpa de un error en una librería de terceros, pero restar importancia a un error en su código. Y no es que fueran malas personas muy pagadas de si mismo, sólo que a veces tengo la impresión de que algunos piensan que los programas de propósito general como sistemas operativos, base de datos o compiladores los desarrollan otro tipo de personas, no programadores como ellos, ¿tal vez magos? (En mi inocencia, siempre había tenido la falsa impresión de que la generalización de los grandes proyectos de código abierto cambiarían esa actitud) ¿Han trabajado alguna vez con un producto que haga magia? Yo lo hago continuamente. Es más, buena parte de mi vida la paso interaccionando continuamente con aparatos mágicos. Pulso un interruptor y se enciende una luz. Abro un grifo y sale agua. No tengo muy claro por qué, pero sucede. Puede que ni lo sepa ni me importe. Puede que sienta curiosidad, pero por lo general sospecho que no dedicaré demasiado tiempo en pensar en ello, ni en averiguar los detalles precisos. No desmontaré el mecanismo. No analizaré los materiales. No estudiaré la física o química del suceso. Me conformo con vivir en la ignorancia de los detalles de las cosas cotidianas a las que estoy acostumbrado. En Informática hay que tener también esa actitud. Pero no siempre. Tampoco se trata de obcecarse con la tecnología, que normalmente debe ser el medio, no el fin en si mismo. Pero tampoco se puede confiar continuamente en la magia, ni en los magos. Recuerdo que tenía un compañero de trabajo que siempre me preguntaba como hacer tal o cual cosa, normalmente algo que se salía de los parámetros habituales y no formaba parte de las tres o cuatro cosas que solíamos hacer de forma rutinaria con la herramienta de desarrollo que utilizábamos en aquella época. A veces sabía la respuesta, otras veces no, pero normalmente me llevaba poco tiempo encontrar la solución. Yo parecía conocer siempre la "magia" que solucionaba el problema. Por supuesto la realidad era mucho más simple. Mi respuesta era indefectiblemente siempre la misma: "Utiliza el método tal de la clase cual, ... viene explicado en la documentación del SDK". Después de un tiempo (largo) entendió que yo no hacía magia, sólo me limitaba a leer la documentación.
Juan Mellado, 4 Diciembre, 2010 - 12:41
Yo soy más de software que de hardware, pero de vez en cuando me toca bregar un poco con la parte física del asunto. Sobre todo cuando a mi PC se le estropea algún componente, o me toca actualizarlo porque ya no es capaz de darme lo que le pido. Lo último que se le estropeó fue la tarjeta gráfica, y yo que creía que las gráficas no se estropeaban nunca. Por fortuna tenía una tarjeta antigua guardada por ahí, y me he pasado prácticamente el último mes y medio con poco más que una SuperVGA pinchada en el ordenador para ir saliendo del paso. Aprovechando la situación he cambiado el PC entero por uno nuevo, que de todas formas ya tocaba. Unos cinco años creo que tenía el antiguo. Y no, no me he comprado un portátil, me he vuelto a decidir por uno de sobremesa, como Dios manda. Y no sólo eso, sino que he comprado los componentes sueltos y me lo he montado por mi cuenta. Mi objetivo era construirme un PC que me diese un buen rendimiento, y ahora que lo tengo montado y funcionando, la verdad es que creo que he conseguido ese objetivo con creces. ![]() Fiel al "Intel inside" he optado por un procesador Intel Core i7-930. Con sus 4 núcleos, su velocidad de 2.80 GHz y sus 8 MB de cache. Prestaciones más que suficientes para mis propósitos. Fue lo primero que escogí, ya que el micro normalmente impone algunas restricciones a la hora de elegir el resto de componentes, como la placa base o la memoria. Por cierto, el micro lleva puesto el ventilador de Intel que viene de fábrica dentro de su propia caja. Para poder pinchar la CPU necesitaba una placa con un zócalo LGA1366, y la elegida fue una ASUS P6T Deluxe V2, con un soporte bastante bueno para las características concretas del micro. De la esta placa, a parte de sus buenas prestaciones técnicas, me ha gustado algún detalle curioso, como los pulsadores de alimentación y reset que lleva. Y me ha sorprendido una BIOS que incorpora y se puede activar a voluntad, y que prácticamente es un sistema operativo completo. Además ofrece mucha facilidad para overclocking, algo que en realidad no me interesa demasiado en este momento, algún día quizás. Aprovechando el Three Channel he puesto un kit de memoria Corsair 6GB (3 x 2GB) DDR3 1600MHz. Es todo un lujo ver como detecta toda esa cantidad de memoria el ordenador al arrancar. Sobre todo si lo comparo con los 512 MB que tenía originalmente mi equipo antiguo, aunque después lo ampliase a 2 GB, y acabase teniendo sólo 1 GB después de que usase uno de mis módulos para otro ordenador que me trajeron un día para arreglar (sí, yo también hago de "pringaó" de vez en cuando). La tarjeta gráfica que he puesto es también de ASUS, como la placa base, y más concretamente una ENGTX460 DirectCU/2DI/1GD5, lo que no sé si me convierte de forma directa en una graphics whore. De hecho, mi primera elección era una ATI mucho más modesta, pero al final me decidí por este modelo de NVIDIA mucho más evolucionado. Espero que me aguante otros cinco años, como la última. Pero si hay algún componente que ha resultado ser clave, es sin lugar a dudas el disco duro. Quería rendimiento, así que opté por un disco de estado sólido, un Intel X25-M 80GB. Es una tecnología aún bastante cara hoy en día, en cuanto a la relación GB por euro, pero espero que su uso se estandarice y su precio baje, porque es una auténtica maravilla. Como es todo electrónica y carece de parte móviles es silenciosa, y realmente muy rápida. Para alimentar todo el sistema he puesto una Corsair HX650W, que debería ser más que suficiente para los componentes que he instalado. Esta fuente de alimentación es modular, lo que quiere decir que los cables van sueltos, y se le enchufan sólo los que realmente hacen faltan. Es un sistema bastante práctico, aunque al final no he podido evitar tener un montón de cables por todas partes. A ver cuando alguien se decide a sacar una caja con los cables integrados por dentro. Por último, para la caja, he optado por una Antec Three Hundred. Está catalogada como caja para "gaming", pero a mí simplemente me pareció bastante espaciosa y con un aspecto exterior bastante discreto con respecto al resto de la gama. Es bastante cómoda de trabajar y tiene un par de ventiladores, regulables en velocidad además. En conjunto, el PC montado, es bastante silencioso. Como sistema operativo he montado Windows 7 64 bits, jubilando así a mi querido XP. |