Me pone un debugger con patatas, por favor
Publicado por blaxter - 18 Oct 2007 a las 22:56He leído este post donde un desarrollador que ha asistido a una charla de Jim Weirich (creador de rake) habla sobre los debugger en general y sobre el poco soporte de un debugger en ruby en particular. Parece ser que algunos piensan que no tener soporte para un debugger es una feature:
Asking why Ruby has weak debugger support is like asking why a dolphin doesn't have gills. Ruby has weak debugger support because Ruby programmers shouldn't be using a debugger. Ruby supports TDD and BDD better than any other language except possibly Smalltalk. Debugger support is for languages that you can't run tests against gracefully.
WTF? ¿Un debugger es para lenguajes en los que no se pueden ejecutar tests fácilmente? Una leche. Un debugger es una herramienta para el desarrollo, punto. Si tu lenguaje favorito resulta que no tiene (aunque ruby tiene), no te inventes teorías o intentes convencer al resto de programadores de otros lenguajes (que si tienen debuggers) que tienes razón. En definitiva, no me llores. Lógicamente ha habido muchas respuestas frente a argumentos tan inconsistentes y frágiles, como la estupenda respuesta cuando tus herramientas apestan....
La ausencia de un debugger no es una característica, es una importante y significativa carencia en tus herramientas
También hay que reconocer que usando TDD, o simplemente pruebas, deberíamos anticiparnos y detectar bugs, y un debugger debería de ser innecesario. Pero prefiero tener la opción de poder usar uno cuando quiera, que su carencia. El ansia que es muy mala, cuanto más, mejor, ¿no?.
Actualización Abril 2008: Meses después se podría considerar que hay herramientas más que suficientes como para debuggear aplicaciones ruby con bastante facilidad. No tan bien como lenguajes como C o Java, pero si decéntemente.
Curso online sobre Java y Web Services
Publicado por blaxter - 22 Ago 2007 a las 10:00
En JavaPassion.com Sang Shin, evangelizador de tecnologías Java, ofrece cursos online gratuitos sobre diversos campos Java. Estos cursos consisten en una serie de contenidos preparados por el propio Sang, tareas a realizar para enviárselas y un foro para comunicación de problemas, preguntas, comentarios, etc... Tiene un curso sobre Java en general, posiblemente no muy útil para cualquiera que haya programado ya en esta plataforma, pero un filón de oro para quien quiera aprender y comenzar en Java; otro sobre AJAX, un tanto ambicioso y demasiado disperso en cuanto a temario para mi gusto; otro sobre J2EE que parece realmente interesante, aunque bastante duro, pues toca muuuchas cosas, pero muchas; y, finalmente, otro de servicios Web.
Pasado mañana, viernes 24, comienza el curso sobre servicios web, no parece que haya que dedicar mucho tiempo, no porque trate pocas cosas, sino porque tiene una duración bastante larga. Así resumiendo, los temas más importantes que se tratan son:
- JAXB y JAX-WS: nuevas apis de java para XML Binding y Web services, la primera la uso hasta para hacer el café y la segunda no me gustó nada cuando la probé, y no soy el único...
- SOAP & REST: REST powah, muerte a SOAP.
- Otros modelos SOA: BPEL, JBI, Open ESB.
- Seguridad, gestión y rendimiento en servicios Web
Al final, si has enviado todos los ejercicios y participado activamente en las discusiones, te da un diploma. Te podrías hacer el diploma con Gimp, si, pero no sería lo mismo y lo sabes ;). Por las impresiones de gente que ha cursado otros cursos, parece que malos no son. Una lastima no haber conocido la página antes (por ejemplo cuando me tocó aprender Java).
Por mi parte, dentro de dos días comenzaré con las primeras transparencias. Muchas cosas las conozco, pero sobre todo los últimos temas creo que serán bastante interesantes.
Actualización Abril 2008: ya terminó hace unos meses, y tengo mi diploma :).
Salidas profesionales para la Ingeniería Informática
Publicado por blaxter - 24 Abr 2007 a las 08:46Los Ingenieros Informáticos Españoles tienen tres salidas: por Tierra, por Mar y por Aire
La puta realidad, y una de las razones por las que me estoy planteando, una vez que termine la carrera, no ejercer y ponerme a estudiar/trabajar en otros temas. Qué se le va a hacer, Spain is different...
Visto en mundogeek vía menéame.
Bases de Datos Temporales
Publicado por blaxter - 17 Ene 2007 a las 15:22Cuando empecé a investigar sobre las bases de datos temporales me sorprendí por dos motivos, primero porque al final he tenido que recurrir a libros que me han sido mucho más útiles que todo lo que he podido llegar a encontrar en Internet (donde todos los textos eran muy ligeros o escasos en cuanto a profundización en la materia), y segundo por la complejidad del tema, puesto que en realidad lo elegí porque parecía simple, error, craso error.
Antes he hecho la presentación y, en conclusión, me podría apostar un bote de palomitas a que nadie se ha enterado de lo que en realidad es una base de datos temporal, al menos, no el profesor, pues por las preguntas y afirmaciones que ha hecho al final, eso se podía deducir, y dado que la mitad de la gente se dedicaba a hablar con los demás, o pensar en maneras de hacerme callar lenta y dolorosamente, creo que ganaría ese bote de palomitas
Como he dicho antes, encontré muy poco material sobre el tema, no hablemos ya en castellano. Así que voy a dejar aquí colgada la presentación, la cual intenté hacerla algo así como unos mini-apuntes que pudiesen tener contenido completo por ellos mismos. Y además un par de pdf's sobre TSQL2, la especificación y un ejemplo práctico.
- BD Temporales (si se te ve muy grande, reduce el tamaño de letra o ponlo a pantalla completa)
- TSQL2
Bases de datos: paradigmas y tendencias
Publicado por blaxter - 16 Ene 2007 a las 21:16Debido a una asignatura de la carrera, Bases de datos avanzadas, he tenido que investigar sobre bases de datos temporales. Pero, en verdad, existen muchos tipos de paradigmas y/o tendencias en las BD, muchas de ellas en verdad interrelacionadas entre sí. Voy a intentar hacer un resumen de todas ellas o, al menos, de las que considero más relevantes.
- Relacionales, es la base de todo. El modelo más estudiado, comercializado y utilizado. No por ello el mejor, sino que ciertos aspectos (estar en el momento justo, en el lugar indicado) han hecho que así llegue a ser. En definitiva, actualmente hablar de BD es hablar de BD relacionales. Pero todo está cambiando, sino no escribiría este post realmente. Si no sabes qué es el modelo relacional, significa que no sabes que es una BD, por lo que no creo que entiendas el resto de cosas que voy a contar y no se ni para que me lees este tochaco, pero bueno.
- Orientadas a objeto, si todas nuestras aplicaciones son con objetos, es tontería querer mantener el modelo relacional por debajo, ¿no?. Existen diferentes ORM que permiten solventar ese inmenso puente entre un modelo de objetos y el modelo relacional, pero si podemos prescindir de él, ¿qué mejor que nuestro SGBD nos entienda directamente y nos guarde objetos directamente?. Hay ciertas cosas bastante llamativas en una BDOO, como que no es necesario tener claves primarias, o las claves ajenas en verdad ahora son referencias. Se podría hablar mucho sobre este tema, pero resumiendo una BDOO son simplemente nuestros objetos hechos persistentes. ¡Capas de persistencia nunca mais!
- Activas, una SGBD activo es aquel, que bajo ciertas condiciones, y de manera automática ejecuta acciones anteriormente especificadas, todo ello sin intervención del usuario. Es decir una especie de BD + super-triggers (BD relacional con triggers no es una BD activa). Se puede subdividir en dos modelos que lo constituyen:
- Modelo del conocimiento: especifica las reglas del sistema, en resumen serían tuplas (Evento, Condición, Acción).
- Modelo de ejecución: se encarga de realizar un seguimiento de la situación y de gestionar el comportamiento. Vamos, el jefe que dice qué hacer y cómo.
- Deductivas, un SGBD deductivo es aquel que es capaz, a partir de un conjunto de axiomas deductivos y reglas de inferencias que ya posee, deducir hechos. Una especie de BD + lógica (BD + prolog, imagínate sql + prolog, dios que miedo!). Un esquema global podría ser que recibida una consulta concreta, el SGBD deductivo según unas determinadas reglas de inferencia consulta sus datos para obtener una respuesta. Este modelo está muy ligado a las BD Activas, y tienden a converger. Tanto las BD Activas y como las Deductivas podrían englobarse en el área de representación del conocimiento, quizá por ello tiendan a converger.
- Temporales, ¡no existen los datos!, adiós datos; bienvenidos los datos temporales (dato + tiempo). Cada dato tendrá información de tiempo válido (cuando ese dato es, o ha sido, válido en el MundoReal) y de tiempo transaccional (cuando ese dato ha estado en la BD). Es decir, ahora no se guarda información, bueno si, pero se guarda junto con su evolución en el tiempo. Todavía es un campo muy ligado a la investigación, a pesar de que son realmente muy interesantes.
- Difusas, casi toda la información que manejamos acerca del MundoReal es incompleta, imprecisa y vaga. Las BD Difusas se basan en la lógica difusa que a su vez se basa en álgebra de conjuntos difusa, que viene a ser mayormente que dado un conjunto de elementos se le da un valor a cada elemento, entre 0 y 1, que indica el grado de pertenencia que tiene dicho elemento en ese conjunto. Este modelo se una ampliación de las BD relaciones, y amplía los operadores del álgebra relacional para poder adaptarlos a los nuevos elementos que se definen. Emocionante.
- Multimedia, actualmente estamos desbordados por audio, video, imagenes, texto, en definitiva documentos multimedia. Éstos por poder se pueden guardar en campos "Blobs" (binary large objets), pero ya que hacemos modelos de BD para todo lo que se nos ocurre, pues que mejor que una BD Multimedia?. El principal inconveniente está en que una BD tradicional carece de una interfaz de usuario para poder tratar con estos datos multimedia, sin mencionar el problema de la inclusión de metadatos (que se podría solventar, si. Pero serían todo soluciones muy "ad-hoc", eso de ingieneril tiene poco). Las BD Multimedia proponen tres niveles: Un nivel monomedia que trataría con un solo tipo de datos (p.ej. audio), un nivel central que hablaría con todos los niveles inferiores y desde el cual se gestionarían las preguntas y se guardarían los metadatos de todos los elementos de la BD; y un último nivel con una interfaz de usuario para poder manejar cada formato multimedia. Todo esto quizá es muy ambicioso, hay BD actualmente usándose como las BD Documentales que serían un subconjunto de las Multimedia. Quizá sea porque, evidentemente, el texto ha sido lo primero que se ha querido salvar en una BD, tiempo al tiempo...
No son todas las que están, ni están todas las que son. Se podría añadir al conjunto, BD Distribuidas, Federadas, Almacenes de datos (aunque no son BD en el sentido estricto de la palabra), Paralelas, etc... Pero no las considero como un "paradigma" de BD :). Por cierto, si has llegado a leer hasta aquí eres macgyver!
Datos geográficos libres!
Publicado por blaxter - 28 Sep 2006 a las 22:51Existe un proyecto desde la comisión europea que consiste en una infraestructura europea de datos espaciales (Infrastructure for Spatial Information in Europe, INSPIRE). Esto viene a ser, así a grosso modo, dictar unas reglas y protocolos a seguir por cada miembro en su implementación de las diversas herramientas que se puedan ir creando que vayan a usar los datos geográficos, de esta forma, teóricamente, se podrá desarrollar la aplicación/servicio 'x' desde cada pais miembro e implicitamente integrarse entre sí independientemente de su implementación.
El problema es que todo esto, datos, protocolos y estandares son totalmente cerrados, se ganaría muchísimo si fuesen públicos (como debería ser), no tiene sentido que en un proyecto que está siendo pagado por los impuestos de la Unión Europea, los ciudadanos no puedan luego usar esos datos (que son muuuuchos). Se podrían llegar a hacer multitud de cosas (toda una oportunidad para pequeñas pymes, por ejemplo...). Esta página promueve esto, datos geográficos libres! Una firmica, o que?.
Esta obra está bajo una
licencia de Creative Commons.
Este blog funciona gracias a WordPress
con el theme GimpStyle
diseñado por Horacio Bella y adaptado por un servidor.
Feed entradas