código escrito
Flexibilidad de tipos de datos
Abril 29th, 2005 - [Enlace local]
Al aprender Object Pascal en la universidad, una de las cosas que más me ha llamado la atención es lo estricto que te obliga a ser a la hora de manejar tipos de datos. Hasta empezar este primer curso, toda...
» Leer más, comentarios, etc...
Pointer to (void)
C++/CLI
Abril 29th, 2005 - [Enlace local]
C++ es un lenguaje indiscutiblemente asentado, con toda una legión de desarrolladores y aplicaciones detrás. Migrar esas aplicaciones no es lógico, asi que mejor dejar que crezcan en .NET. De ahí la razón de la existencia de Managed C++. Cojes tu antigua aplicación, la recompilas sin cambiar nada y ya puedes comenzar.
Por otra parte, la gente de Microsoft se ha dado cuenta de que Managed C++ es considerado un nivel de segundo nivel para .NET, y de que existen cosas que son complicadas de llevar a cabo con este lenguaje. Del empastre de la sintaxis, mejor no hablamos. Así pues, se permitió la adopción del cambio, y ahora que existe posición, el cambio se provoca. Bienvenidos a C++/CLI.
¿Pero en que consisten estos cambios? Lo que más me ha sorprendido es la estandarización por parte del ECMA, aunque lo más lógico es la simplificación de esa horrible sintaxis en pro de algo más coherente para las dos neuronas que todavía nos quedan. Más cosas: recolección de basura, propiedades, handles para referencias gestionadas, templates everywhere... Resumiendo: Para desarrollos a medida donde interese producir soluciones a gran velocidad, C#, VB.NET o Java. Para producir componentes altamente optimizados, o aplicaciones de nivel crítico, mantén C++. O mejor, mézclalo ahora que en .NET puedes.
Eso si, para los que nos gusta jugar, Microsoft nos propone C#. Mientras que en la página de VC++ 2005 se habla de profiling, code security, performance, etc. En la de C# nos acaban de presentar coding4fun. Y es que programar con C# es toda una gozada. No entiendo como puede quedar gente en Java...
Sitios donde ir:
» Leer más, comentarios, etc...
Pointer to (void)
C++/CLI
Abril 29th, 2005 - [Enlace local]
Parece que la nueva release de Whidbey viene con una sorpresa para nuestros ojos, pues nos quitan el patito feo de .NET, Managed C++, para introducir algo que parece un acercamiento de C++ al CLI.
C++ es un lenguaje indiscutiblemente asentado, con toda una legión de desarrolladores y aplicaciones detrás. Migrar esas aplicaciones no es lógico, asi que mejor dejar que crezcan en .NET. De ahí la razón de la existencia de Managed C++. Cojes tu antigua aplicación, la recompilas sin cambiar nada y ya puedes comenzar.
Por otra parte, la gente de Microsoft se ha dado cuenta de que Managed C++ es considerado un nivel de segundo nivel para .NET, y de que existen cosas que son complicadas de llevar a cabo con este lenguaje. Del empastre de la sintaxis, mejor no hablamos. Así pues, se permitió la adopción del cambio, y ahora que existe posición, el cambio se provoca. Bienvenidos a C++/CLI.
¿Pero en que consisten estos cambios? Lo que más me ha sorprendido es la estandarización por parte del ECMA, aunque lo más lógico es la simplificación de esa horrible sintaxis en pro de algo más coherente para las dos neuronas que todavía nos quedan. Más cosas: recolección de basura, propiedades, handles para referencias gestionadas, templates everywhere... Resumiendo: Para desarrollos a medida donde interese producir soluciones a gran velocidad, C#, VB.NET o Java. Para producir componentes altamente optimizados, o aplicaciones de nivel crítico, mantén C++. O mejor, mézclalo ahora que en .NET puedes.
Eso si, para los que nos gusta jugar, Microsoft nos propone C#. Mientras que en la página de VC++ 2005 se habla de profiling, code security, performance, etc. En la de C# nos acaban de presentar coding4fun. Y es que programar con C# es toda una gozada. No entiendo como puede quedar gente en Java...
Sitios donde ir:
- The Code Project: A first look at C++/CLI
- MSDN, Pure C++: Hello, C++/CLI
- Visual C++ "Whidbey": New Language Design and Enhancements
» Leer más, comentarios, etc...
certificándome
Mock mock
Abril 29th, 2005 - [Enlace local]
Mocks, mocks y más mocks... esa es mi vida desde el martes... o casi. Quise ampliar mi último esquema sobre clases con información sacada de la especificación del lenguaje, pero llega un momento, allá por la página 211, en el que mi capacidad para mantenerme despierta desaparece por completozzzzzzzzzzzzzzzzzzzzzzz
» Leer más, comentarios, etc...
Null Pointer Exception
Cambio de movil
Abril 29th, 2005 - [Enlace local]
Ya me estaba cansando de mi Siemens MC-60 así que aprovechando una buena oferta he decidido renovarme:
Al final me he pillado un Nokia 6230 ya que incluye algunas de las característica mínimas que buscaba:
- MIDP 2.0
- Bluetooth
- Infrarrojos
- Cámara de fotos
Además viene con otras que son muy interesantes ...
- Video
- MP3
- Tarjeta de memoria (incluida)
- etc,...
Asi que ya tengo un entorno para probar en real mis aplicaciones J2ME y otros proyectos que tengo en mente para integrar el teléfono con el robot lego, pero esto será para cuando tenga un poco de tiempo ...
» Leer más, comentarios, etc...
Globalization (i18n) y otros demonios
Abril 29th, 2005 - [Enlace local]
Estoy muy contento por que ya la etapa de hacer la i18n de MonoUML esta en su etapa final, ya la GUI hecha en glade es traducible así como otros ficheros que necesitaban la internacionalización. me guié mucho de la forma como lo hace Monodevelop.
Ahora nos falta hacer que se genere el archivo .po adecuado a las locales de quien compila y copiarlo a un lugar que aun no definimos por ahora se encuentra en /usr/share/local/$LANGUAGE/LC_MESSAGES, como ven son cosas de archivos Makefile que nos falta hacer y adicionar al proyecto, pero ya esta disponible en el SVN de MonoUML en un directorio po, en donde el README les indicara los pasos a seguir si desean colaborar con la traducción de este proyecto.
Estoy usando poedit que es un herramienta muy muy buena para ayudarnos en la tarea de la traducción. Como por ejemplo la gente de Simios que ya nos enviaron el primer preview de la traducción a pt_BR.

Acabo de actualizar mi doc sobre i18n basado en Mono.Posix, agregando la parte de glade que me hacia falta. Si te interesa puedes leerlo aquí.
Acabo de agregar una nueva sección el en MonkeyGuide de www.mono-project.com llamada Globalization donde pretendo escribir el mismo doc pero en ingles ya que desde que quise hacer este trabajo para MonoUML realmente es muy muy poca la doc disponible.
» Leer más, comentarios, etc...
certificándome
Freemind
Abril 27th, 2005 - [Enlace local]
Una herramienta que uso para ordenar mis ideas cuando estudio es Freemind, que me resulta de gran ayuda para crear esquemas no lineales. Los mind-map los estoy empezando a utilizar de forma masiva ahora que estoy haciendo un repaso más o menos rápido de todos los objetivos del SCJP.
El único problema que le encuentro a éste software es que todavía no incluye la herrameinta deshacer. El resto me gusta y además espero que en próximas versiones mejoren sustancialmente el interface ;-)
Simpre optimista.
» Leer más, comentarios, etc...
Blog de Diego Gómez Deck
Documental sobre Squeak en Extremadura
Abril 27th, 2005 - [Enlace local]
La Consejería de Infraestructuras y Desarrollo Tecnológico de la Junta de Extremadura ha producido un documental sobre el proyecto Squeak de la región.




La versión en Castellano se puede descargar, usando bittorrent, desde:
» Leer más, comentarios, etc...
Blog de Diego Gómez Deck
Documental sobre Squeak en Extremadura
Abril 27th, 2005 - [Enlace local]
La Consejería de Infraestructuras y Desarrollo Tecnológico de la Junta de Extremadura ha producido un documental sobre el proyecto Squeak de la región.




La versión en Castellano se puede descargar, usando bittorrent, desde:
» Leer más, comentarios, etc...
Pointer to (void)
Pequeña extensión
Abril 27th, 2005 - [Enlace local]
Descargar el código fuente. (C#, .NET 1.1)
El logger simplemente deriva de la clase DefaultLogger y la implementación es muy similar al logger para enviar por email, asi que no entraremos en código. Para utilizar el logger desde NAnt podemos emplear la siguiente línea de comandos al inicio del build:
nant -logger:Diveka.Build.SimpleLogger -ext:SimpleLogger.dllDesde el própio archivo de build tambien podemos especificar dónde guardar el log:
<property name="dvklog.output" value="${project::get-base-directory()}\ ${portal.builddir}\${portal.version}
\build.log"/>» Leer más, comentarios, etc...
Pointer to (void)
Pequeña extensión
Abril 27th, 2005 - [Enlace local]
Una de las ventajas de NAnt es la posibilidad de crear extensiones para facilitarte la tarea en cada build. Hoy crearemos una pequeña extensión que permita guardar el log del build espeficicandolo desde el própio archivo de build. Además este ejemplo nos vendrá bien, ya que muchos de nosotros generamos un directorio con el número de versión actual y necesitamos guardar el archivo de log ahi dentro.
Descargar el código fuente. (C#, .NET 1.1)
El logger simplemente deriva de la clase DefaultLogger y la implementación es muy similar al logger para enviar por email, asi que no entraremos en código. Para utilizar el logger desde NAnt podemos emplear la siguiente línea de comandos al inicio del build:nant -logger:Diveka.Build.SimpleLogger -ext:SimpleLogger.dll
Desde el própio archivo de build tambien podemos especificar dónde guardar el log:<property name="dvklog.output" value="${project::get-base-directory()}\ ${portal.builddir}\${portal.version}
\build.log"/>
» Leer más, comentarios, etc...
Las tres virtudes de un programador
Abril 26th, 2005 - [Enlace local]
Por medio del recientemente creado Wiki de Planeta Código doy con un grupo de virtudes, un tanto tergiversadas, que no dejan de tener su curiosidad:
- PEREZA: La cualidad que te hace esforzarte para reducir el gasto de energía total. Te hace escribir programas de ayuda al trabajo que otros encontrarán útiles, y documentar lo que escribiste para no tener que responder a preguntas sobre ello. Esta es la primera gran virtud de un programador.
- IMPACIENCIA: La cólera que sientes cuando el ordenador está holgazaneando. Te hace escribir programas que no solo reaccionan a tus necesidades, si no que se anticipan a ellas. O al menos que simulan hacerlo. Esta es la segunda gran virtud de un programador.
- ORGULLO DESMEDIDO: Orgullo excesivo, el tipo de actitud por la que Zeus te fulminaría. También, la cualidad que te hace escribir (y mantener) programas que nadie querrá criticar. Esta es la tercera gran virtud de un programador.
He constatado que soy poseedor de al menos el primer par de ellas. Lo malo es que no consigo hacer lo suficiente como para poder hacer de ellas eso mismo: virtudes
» Leer más, comentarios, etc...
certificándome
Java Questions and Answers
Abril 26th, 2005 - [Enlace local]
Interesante » Leer más, comentarios, etc...
certificándome
Acercando Java a las artes marciales
Abril 26th, 2005 - [Enlace local]
Java es un arte marcial... o casi. En ésta idea se basa JavaBlackBelt, sitio que acabo de conocer gracias a TheServerSide.com. Conforme vas contestando preguntas, vas subiendo de rango. Además podemos colaborar con nuevas preguntas de nuestra cosecha. Acabo de empezar, así que soy un "cinturón blanco inmaculado" en Java. Qué bonito...
» Leer más, comentarios, etc...
Primer aporte al Wiki de mono-project.com
Abril 26th, 2005 - [Enlace local]
Estoy contento por que el día de hoy termine mi primer aporte al Wiki de mono-project.com el cual consistía en hacer la parte de como realizar una aplicación usando glade# y adicionar como agregar eventos a objetos de gtk#.
Aunque el tema no es muy completo siempre me gusta escribir cosas que pienso que la gente leerá y sera útil, pueden leer mi aporte aquí.
Al parecer no hice tan mal trabajo porque Miguel de Icaza me escribió un email indicándome que si me podía hacerme cargo de otra sección mas grande, aquí el email :
X-Account-Key: account2 X-UIDL: dfab3e5ca16cb5224155592dcb234491 X-Mozilla-Status: 0211 X-Mozilla-Status2: 00000000 Return-path:Envelope-to: enzo@enzolutions.com Delivery-date: Mon, 25 Apr 2005 21:41:06 -0700 Received: from [130.57.169.10] (helo=peabody.ximian.com) by aqua.sprintws.net with esmtps (TLSv1:DES-CBC3-SHA:168) (Exim 4.44) id 1DQHsf-0002e5-UD for enzo@enzolutions.com; Mon, 25 Apr 2005 21:41:06 -0700 Received: (qmail 30764 invoked from network); 26 Apr 2005 04:41:00 -0000 Received: from jumpgate.ximian.com (HELO linux.site) (130.57.169.12) by peabody.ximian.com with SMTP; 26 Apr 2005 04:41:00 -0000 Received: by linux.site (Postfix, from userid 500) id 70D4D58F9F; Tue, 26 Apr 2005 00:37:48 -0400 (EDT) Subject: Re: Create an account to wiki in Mono project From: Miguel de Icaza To: Eduardo Garcia - enzo In-Reply-To: <4265454A.9090300@enzolutions.com> References: <4265454A.9090300@enzolutions.com> Content-Type: text/plain Content-Transfer-Encoding: 7bit Organization: Novell, Inc. Date: Tue, 26 Apr 2005 00:37:48 -0400 Message-Id: <1114490268.13053.313.camel@linux.site> Mime-Version: 1.0 X-Mailer: Evolution 2.0.3 Hola Eduardo, I have seen the work that you are doing on the GtkSharpBeginnersGuide, and I wanted to point you to a larger “book” or tutorial that exists in: http://www.mono-project.com/Mono_for_Gnome_Applications It would be great if you could help us with that as well.
Espero poder tener tiempo para ayudar en esta labor y lo mas importante hacer un trabajo de calidad.
» Leer más, comentarios, etc...
Alumnos de colegios japoneses participan en actividades de software libre y squeak promovidas por la Junta de Extremadura
Abril 25th, 2005 - [Enlace local]
Ver la noticia completa en Región Digital.
» Leer más, comentarios, etc...
Cuando las cosas van mal….
Abril 22nd, 2005 - [Enlace local]
…recuerda que aun pueden ir peor…. ¿ o no ?…
» Leer más, comentarios, etc...
certificándome
Y después…
Abril 22nd, 2005 - [Enlace local]
Si al terminar la certificación todavía tengo ganas de Java...
» Leer más, comentarios, etc...
Squeak 3.8 LIVE
Abril 22nd, 2005 - [Enlace local]
En la página http://swiki.agro.uba.ar/small_land/11 del swiki de small-land encontrarán la información necesaria para usarlo.
Los impacientes pueden hacer click directamente acá: http://cvs.linex.org/linex2004/Squeak-3.8-LIVE.iso
¡Qué lo disfruten!
» Leer más, comentarios, etc...
Blog de Diego Gómez Deck
Matar al anónimo (o La historia del Ligre)
Abril 21st, 2005 - [Enlace local]

Al cabo de 1 semana de que le mostré la Wikipedia, en la cena, Nicolás me dice que existe un animal que se llama Ligre y que es mitad león y mitad tigre... Mi reacción fue de alegría al pensar que sigue manteniendo intacta su capacidad de imaginación y su creatividad (aún después de llevar unos años en la escuela). Al preguntarle cómo se le había ocurrido tan linda idea me contestó: "No, no es una idea mía... lo leí en la Wikipedia" (ver Artículo sobre el Ligre en Wikipedia).
Vale aclarar que yo no tenía idea de la existencia de ese animal (y hoy sigo teniendo dudas sobre si existe o no) y me adelanté a explicarle a Nico que la Wikipedia es un lugar donde muchas personas meten mano, y que podría haber gente que quiera jugarle "bromas" a los lectores.
Inmediatamente me puse en campaña para averiguar si el Ligre existe o no, y en este caso (créanlo o no) google no sirvió para determinar la existencia o no de, esta altura, tan famoso animal.
Lo que descubrí con esta historia es algo más importante que la existencia de un animal o no. Es algo sobre la credibilidad de un repositorio de información anónimo donde no sabemos quienes son los autores de los artículos.
¿Cómo es posible determinar la veracidad o la importancia de una nota si quien la escribe no tiene nada que perder?
En toda publicación el autor debe poner juicio de los lectores su reputación y un anónimo no tiene una reputación que poner a prueba. Basta con leer un poco los comentarios anónimos en sitios como slashdot o barrapunto para hacerse una idea de la calidad de los comentarios anónimos y el contraste con la calidad de los comentarios firmados.
Una plataforma que pretenda ser soporte de información no puede tolerar (y mucho menos fomentar) la publicación anónima.
» Leer más, comentarios, etc...
Blog de Diego Gómez Deck
Matar al anónimo (o La historia del Ligre)
Abril 21st, 2005 - [Enlace local]

Al cabo de 1 semana de que le mostré la Wikipedia, en la cena, Nicolás me dice que existe un animal que se llama Ligre y que es mitad león y mitad tigre... Mi reacción fue de alegría al pensar que sigue manteniendo intacta su capacidad de imaginación y su creatividad (aún después de llevar unos años en la escuela). Al preguntarle cómo se le había ocurrido tan linda idea me contestó: "No, no es una idea mía... lo leí en la Wikipedia" (ver Artículo sobre el Ligre en Wikipedia).
Vale aclarar que yo no tenía idea de la existencia de ese animal (y hoy sigo teniendo dudas sobre si existe o no) y me adelanté a explicarle a Nico que la Wikipedia es un lugar donde muchas personas meten mano, y que podría haber gente que quiera jugarle "bromas" a los lectores.
Inmediatamente me puse en campaña para averiguar si el Ligre existe o no, y en este caso (créanlo o no) google no sirvió para determinar la existencia o no de, esta altura, tan famoso animal.
Lo que descubrí con esta historia es algo más importante que la existencia de un animal o no. Es algo sobre la credibilidad de un repositorio de información anónimo donde no sabemos quienes son los autores de los artículos.
¿Cómo es posible determinar la veracidad o la importancia de una nota si quien la escribe no tiene nada que perder?
En toda publicación el autor debe poner juicio de los lectores su reputación y un anónimo no tiene una reputación que poner a prueba. Basta con leer un poco los comentarios anónimos en sitios como slashdot o barrapunto para hacerse una idea de la calidad de los comentarios anónimos y el contraste con la calidad de los comentarios firmados.
Una plataforma que pretenda ser soporte de información no puede tolerar (y mucho menos fomentar) la publicación anónima.
» Leer más, comentarios, etc...
certificándome
Entre semana…
Abril 21st, 2005 - [Enlace local]
Allí estaba yo ayer por la tarde, como todas las tardes al salir del trabajo, con mis apuntes de threads en una cafetería muy tranquila.
Café en una mano y bolígrafo en la otra dediqué como 15 o 20 minutos a
responder preguntas de examenes de prueba sobre threads y comprobé con bastante decepción que todavía cometo fallos y no porque no entienda los conceptos sino porque me cuesta muchísimo concentrarme después del trabajo... así no llego a ninguna parte. Quizá sea mejor idea dejar todos los mocks para el fin de semana... ;-)
» Leer más, comentarios, etc...
Indulgencias para todos
Abril 21st, 2005 - [Enlace local]
El sistema de libre mercado tiene soluciones para todos los problemas. La mano invisible, descubierta por Adam Smith, que maneja el mercado se dio cuenta que era necesario democratizar (abaratando los costos) el acceso a las indulgencias divinas.
Nuestras modernas sociedades occidentales pro-mercado han logrado abaratar el costo de acceso a las indulgencias y hoy, prácticamente cualquier persona, puede acceder a un perdón por un buen precio:
- ¿Genera usted mucha basura?
- Puede aportar dinero a alguna organización ecologista.
- ¿Trabaja usted para una multinacional?
- Pague la cuota de alguna ONG de comercio justo.
- ¿Siente que puede hacer algo por alguien pero no lo hace?
- Apadrine un niño del 3er mundo.
No es difícil de imaginarse que pronto aparecerán en el mercado las META-ONG. Es decir, organizaciones cuya función sea ayudar a otras organizaciones a hacer el bien. Estás van a vender combos de indulgencias a un precio todavía más accesible. De esa forma podríamos comprar juegos de indulgencias tipo "derecho a contaminar y a trabajar en una multinacional" que serán muy solicitadas para las personas que, al trabajar muchas horas en la multinacional, no puedan reciclar la basura que producen.
No puedo dejar de imaginarme ¿Qué hubiese pasado si Martín Lutero se hubiese dado cuenta de este negocio?. Si en lugar de condenar las indulgencias y comenzar todo un período de reformas, podría haber creado una cadena de venta de indulgencias a precios democráticos y los alemanes hubiesen podido dominar al mundo desde el siglo XVI. Bueno, por algo los alemanes perdieron las 2 guerras mundiales.
¡Y todavía algunos se quejan del sistema de libre mercado! A ver que alguien me cuente si el comunismo u otro sistema político fue capaz de abaratar tanto el precio para acceder al Paraíso. La verdad es que nos quejamos de llenos.
Los dejo que está por empezar una gala benéfica en la TV y no me la puedo perder ya que esta semana tuve que tirar 2 pilas a la basura.
» Leer más, comentarios, etc...
¡Basta de grises!
Abril 21st, 2005 - [Enlace local]
Creo no exagerar si digo que estamos inmersos en una gran crisis en lo que respecta al desarrollo de software. Existe una demando muy grande de software - ¡tenemos software hasta en el sistema de frenos de los autos! ¡qué miedo! - y no existe una cantidad suficiente de programadores competentes. Esto produce que millones de programadores se dediquen a producir solamente utilizando la criterio (o la falta de el): “Si todos lo hacen debe estar bien, entonces yo también lo hago”.
Los resultados están a la vista en la baja calidad que en general tiene todo el software que utilizamos, sin embargo ahora prefiero reflexionar sólo sobre uno de los aspectos de ese magro resultado: Las interfaces de usuario.
El diseño de interfases de usuarios es una disciplina sumamente compleja que involucra aspectos de diferentes sectores del conocimiento como la psicología, la ergonometría, la sociología, y un muy largo etcétera. Como el diseño de interfaces de usuario es uno de los aspectos más complicados del desarrollo de software, es donde se hace más apreciable el problema.
Exceptuamos los juegos, la gran mayoría de las aplicaciones que utilizamos hoy en día son una combinación de uno o varios árboles, una o varias grillas, y todo pintado con una gran variedad de grises.

En mi (todavía corta) experiencia mostrando y enseñando Squeak me encontré varias veces con comentarios despectivos acerca de la apariencia de Squeak, frases como “tiene colores de niños”, “porque no usa una interfase como (m$|open)Office”, etc. Parecen existir algunos preconceptos(?) muy arraigados del tipo: “Las cosas grises son serias, los colores son para los niños”.
¿Se podrán hacer cosas “serias” o “profesionales” (si es que eso quiere decir algo) con un buen uso del color? Creo que, al menos, vale la pena el intento:
» Leer más, comentarios, etc...
certificándome
The Java Language Specification, Third Edition
Abril 20th, 2005 - [Enlace local]
Ya está disponible The Java Language Specification, Third Edition en versión "pre-release" o "pre-publicación" o lo que sea. He estado leyendo el draft las últimas semanas y no tengo casi nada más que anyadir... sólo que me resultó pesado como una losa.
Al fin y al cabo, no me esperaba menos después de haber lidiado ya con las dos anteriores versiones hace "algún tiempo".
Por cierto, buenos dias! ;-)