Cerebro en la Sombra
Excursiones de fin de semana: Requena y Gandía
Marzo 31st, 2008 - [Enlace local]
Aprovechando que el lunes era fiesta en Valencia, decidimos hacernos alguna excursioncita para aprovechar el largo fin de semana. Pretendo con este post inaugurar una serie de artículos de escapadas de fin de semana a pueblos de la Comunidad Valenciana y alrededores, Cuenca y Teruel sobre todo, porque no todo va a ser trabajo.
Requena
El domingo por la tarde nos pegamos una vuelta por esta bonita ciudad de la provincia de Valencia ya casi en Cuenca. Había estado en bastantes ocasiones por Requena, pero nunca se me había ocurrido hacer algo de turismo, no sabía lo que me perdía.
Situada a unos 60km de la capital de la provincia, Requena cuenta con una zona antigua declarada en 1966 Conjunto Histórico Artístico.
Con un pasado íbero, romano y musulmán, Requena pasa a formar parte del Reino de Castilla durante la Reconquista y, de hecho, fue originariamente parte de la provincia de Cuenca, aunque finalmente prevalecieron intereses geográficos y comerciales y pasó a formar parte de Valencia.
Conocido su casco histórico como el Barrio de la Villa, la zona conserva reminiscencias de sus épocas pasadas con mucha mezcla gótica y barroca. Lástima que no pudimos ver las cuevas subterráneas de origen árabe que siembran el subsuelo de la Plaza de la Villa. Llegamos fuera de horario :(. Volveremos para verlas, sin duda. En las fotos podéis ver algunos puntos destacados.
Su pasado castellano se observa claramente en su gastronomía, más alejada de la cocina valenciana. El producto por excelencia de Requena son los embutidos de cerdo y así tienen su propia Feria del Embutido Artesano y de Calidad.
Gandía
El lunes tocaba desplazarnos a Gandía. Comida con la familia y tarde de paseo por la playa, qué mejor plan. Aunque mis primeros recuerdos en Valencia son en la playa de Cullera, no puedo hacer ascos a un apartamento en primera línea de playa como podéis ver en las dos primeras fotos tomadas desde el balcón. Para mi ésta es la mejor época del año en el Mediterráneo y la Playa de Gandía un lujazo.
Hoy tocaba… arroz al horno, comida valenciana donde las haya, posiblemente más común que la conocida paella ya que no se necesitan utensilios especiales para prepararlo. De rechupete, cuando fuí a hacer la foto de la olla de barro ¡ya estaba vacía!.
Aprovecho para daros algo de envidia con algunas fotos de la Playa de Gandía por estas fechas, sin turistas ni bañistas, impresionante. Buen tiempo, playa y buena comida, ¿qué más se puede pedir?.
Por cierto, el chiringuito no es cualquiera, es el que solemos frecuentar. Ahora que viene el veranito ya se echan de menos esos quintos fresquitos de aperitivo.
» Leer más, comentarios, etc...
MadeInFlex
XSLT en AiR
Marzo 31st, 2008 - [Enlace local]
Aunque no salga en la lista de prestaciones, AIR soporta de forma indirecta la transformación de XML's a través de XSLT's. El kit de la cuestión recae en el uso del componente HTML o mejor aún de HTMLLoader, teniendo en cuenta que el componente HTML es un wrapper de HTMLLoader en Flex.
El componente HTMLLoader lo que hace es delegar la interpretación y renderizado de código html en WebKit (el core de Safari). Y es este, WebKit, el que por sí mismo soporta XSLT de una forma muy sencilla.
A continuación muestro una pequeña prueba de concepto de cómo poder invocar xslt's contra xml's a través de una pequeña clase.
» Leer más, comentarios, etc...
MadeInFlex
on AIR Tour Europe 2008 - madrid
Marzo 31st, 2008 - [Enlace local]
Hoy hemos estado un nutrido grupo de "Flexeros" en el "on AIR Tour Europe 2008" a su paso por Madrid, las charlas han sido magníficas y hemos tenido la oportunidad de estar con varios de los gurús de Flex.
Aquí os dejo un enlace a un pequeño montaje de fotos.
» Leer más, comentarios, etc...
{ Radamanthys }
Entrevista a Bjarne Stroustrup
Marzo 31st, 2008 - [Enlace local]
sobre C++0x, la educacion y futuro de los programadores
En otra entrevista mas, dada en Dr. Dobb’s Portal, a el padre de C++, quien habla sobre los paradigmas de la programacion, el futuro nuevo standard para C++ (C++0x) y el fututo de este lenguaje.
Aqui dejo un extracto de la entrevista
…
JB: You feel strongly about better education for software developers. Would you say, generally, that education in computer programming is appalling? Or so-so? If you were to design a course for high school students and a course (an entire degree) for university students intending to become professional, what would you include in these courses and what would you emphasize?
BS: Actually, I just took part in an effort to do that for the four undergraduate years. Unfortunately, the descriptions you find of our program on the web is still a mix of new and old stuff—real-world programs can only be put in place in stages. The idea is to give the students a broad view of computer science during the first two years (”making them ready for their first internship or project”) and then using the next two years to go into depth in some selected areas. During the first two years, the students get a fairly classical CS program with a slightly higher component of software development projects than is common. They have courses in hardware and software (using C++), there is some discrete math, algorithms and data structures, (operating and network) systems, programming languages, and a “programming studio” exposing them to group projects and some project management.
…
Mas Informacion: http://www.ddj.com
» Leer más, comentarios, etc...
{ Radamanthys }
Reunion en Abril, Grupo PHP Costa Rica
Marzo 31st, 2008 - [Enlace local]
sera el 8 de Abril
La reunion del mes pasado (Marzo) no se pudo llevar a cabo, por que no logro obtener un lugar donde realizarla, pero desde ya se invita a todos los interesados en asistir a la proxima reunion.
Fecha : Martes 8 de abril, 6:30pm Lugar : Edificio Centro Colon, Piso 7, oficina 4. (Open Source Consulting) Exposiciones : * Memcache, a cargo de David Mora. {{ tecnicas de cacheo diseñadas para reducir la carga a bases de datos en sitios web dinamicos }} * QCodo, a cargo de Eduardo Garcia. {{ Framework }} * Discusion acerca de experiencias en la vida real utilizando ambos aportes.
Mas Informacion: http://www.costaricaphp.org
» Leer más, comentarios, etc...
Picando Código
Foro de Innovación de las Américas 2008 - 1er jornada
Marzo 31st, 2008 - [Enlace local]
Ayer tuve el gusto de poder asistir a la Ceremonia y Conferencia Inaugural del FIA 2008. El evento se llevó a cabo en el Hotel Conrad de Punta del Este. Llegué aproximadamente a las 17:40, 50 minutos antes de la hora pactada para el inicio de la jornada. Al ingresar, me acredité enseguida en la mesa de becarios, donde además de la identificación, recibí el material del evento.

El hall del hotel estaba ya bastante asistido. Se podía apreciar la cartelería de la campaña de la Agencia Nacional de Investigación e Innovación (ANII), así como varios stands de distintas empresas. El primero que llamó mi atención, fue el representante del tema protagonista de la jornada: el Proyecto CEIBAL.
Ahí se encontraban las famosas XO que se están repartiendo en las escuelas públicas de nuestro país, en el proyecto One Laptop Per Child a través del Plan Conectividad Educativa de Informática Básica para el Aprendizaje en Línea. Me hice de un “manual básico Computadora XO“, donde detallan las características y formas de uso de las XO. Además, ¡tuve la oportunidad de probarlas personalmente! A la primera impresión noté que son más chicas de lo que imaginaba. Si bien había visto muchas fotos en Internet, nunca había probado una. Las teclas resultaron bastante pequeñas, pero después de un par de teclazos, uno le va agarrando la mano.
El haber probado el LiveCd del sistema operativo de las XO, me ayudó mucho, ya que al poner mis manos al teclado, ya estaba familiarizado con el funcionamiento de las aplicaciones. Antes de dejar la computadora, ya habiéndome sacado el gusto de probarla, hice un Hola Mundo en el intérprete de Python.
Luego de la impresión positiva que me había dejado el sistema operativo tras probarlo en una máquina virtual, el hardware era la parte que me faltaba juzgar. Y después de usarla unos minutos, quedé satisfecho. Es una muy buena máquina, con las prestaciones necesarias para llevar a cabo el objetivo que pretende OLPC.
Cerca de las 18:15, gente de la organización comenzó a avisar que se podía ir ingresando a sala para el inicio de la inauguración. Ingresé a la sala, y me senté a esperar que comenzara el evento. Una anécdota graciosa, cuando el presentador comenzó a pedir asiento, también agregó “apagar los celulares”, lo que fue seguido de un concierto con n cantidad de ruidos distintos de variados modelos de celulares apagándose. ¿Soy el único que usa su celular en vibrador?
Unos minutos después de la hora pautada, ingresó a la sala el Sr. Presidente de la Republica, Dr. Tabaré Vazquez, así como el Sr. Nicholas Negroponte y Amilcar Davyt, Presidente de la ANII. Éste fue quien inició la ceremonia, dando la bienvenida a los asistentes, autoridades de gobierno, etc., luego de escuchar el Himno Nacional.
Acto seguido tomó la palabra el Dr. Tabaré Vázquez. El Presidente se dirigió a los asistentes en un discurso bastante ameno, donde habló de varios temas comenzando por la innovación, que no puede existir sin educación, que no puede sin una nutrición adecuada a los niños desde el vientre materno. Tomaría demasiadas líneas contar todos los temas cubiertos por el Presidente en su discurso, pero de forma general y resumida, voy a comentar algunos de ellos. Respecto al plan Ceibal, cito una de las frases que me quedó de su discurso respecto al tema:
“El Plan Ceibal (…) es una revolución en la inteligencia, Información y conocimiento de nuestros jóvenes, niños y docentes”
Recorrió un poco el tema de la innovación en la historia, donde América quedó afuera. Ya que las dos grandes etapar innovadoras de la historia contemporánea, el Renacimiento y la Revolución Industrial, fueron antes de tener un continente americano consolidado como tal. Y la idea tanto del ANII como de éste foro, es no volver a quedarse afuera de la innovación.
En momentos como éstos lamento no tener una cámara de fotos, o no haber pedido una con tiempo suficiente. A lo mejor hoy consigo una para sacar algunas fotos para publicar acá.
Seguido del Presidente, tomó la palabra el Sr. Nicholas Negroponte, ex director del MIT Media Lab, y actual presidente del OLPC Project. Realmente resultó un gusto presenciar una conferencia dada por una persona tan inteligente con metas tan claras y fundamentos tan lógicos. No todos los días se tiene la oportunidad de escuchar a una persona del MIT, y la verdad que nada de lo que dijo tuvo desperdicio.
Es bastante difícil comentar sobre todo lo que habló ya que todo resultó interesante, y no quiero alargar demasiado éste post. Así que para comentar la conferencia de Negroponte, voy a dedicar un post entero más tarde. Tengo bastantes apuntes, y todavía recuerdo varias cosas interesantes a destacar.
» Leer más, comentarios, etc...
Navegapolis
Scrum Manager: scrum flexible, libre y abierto
Marzo 31st, 2008 - [Enlace local]
Ya está disponible. Un proyecto que desbordaba el ámbito de blog de Navegápolis, que ya tiene la forma suficiente para levantar el telón y, si resulta útil, empezar a crecer.
¿Esta idea es posible? ¿es una utopía?.
En cualquier caso, el primer objetivo del proyecto ya está conseguido:
» Leer más, comentarios, etc...
Bitácora de Javier Gutiérrez Chamorro (Guti)
Rendimiento DHTML
Marzo 31st, 2008 - [Enlace local]
Ya comentaba en el anterior Safari y SunSpider, que el magnífico rendimiento en Javascript de Safari en el test de SunSpider, podía estar positivamente influenciado por el hecho de ser el test de referencia durante el desarrollo.
A raiz de las optimizaciones en el dibujado de la última beta de Opera, he ejecutado el DHTML performance test 1, en los navegadores más populares de 32 bits para Windows.
El proceso ha sido ejecutarlo, dejando que aumentase el número de puntos, hasta que la velocidad de dibujo bajara a los 55 FPS.
Estos han sido los resultados obtenidos:
- Opera 9.50 (Beta build 9864): 55 FPS @ 210.
- Internet Explorer 7 (7.0.6001.18000): 55 FPS @ 125.
- Safari 3.10 (WebKit 523.13): 55 FPS @ 85.
- Firefox 3 (Gecko/2008030402): 55 FPS @ 40.
Como podemos ver la nueva versión de Opera es casi el doble de veloz que el inmediato seguidor, sorprendentemente Internet Explorer. Safari se queda en unos discretos 85 puntos, y Firefox a pesar de las optimizaciones de Javascript, es 6 veces más lento que Opera.
Este test, no valora solamente la velocidad de Javascript pura, sino también la eficiencia en el manejo DOM, y el dibujado en pantalla, lo que explica relativamente estas diferencias. Sin embargo, nuevamente lo más importante es que probablemente éstas pruebas hayan sido tomadas como referencia en el desarrollo de Opera, lo que desvirtuaría los resultados.
Al final, podemos llegar a caer en el fallo de optimizar software para un benchmark determinado, como ya ocurriera con los drivers para GPU en su día.
Artículo publicado originalmente en Bitácora de Javier Gutiérrez Chamorro (Guti) - http://guti.bitacoras.com.
» Leer más, comentarios, etc...
Arragonán
Cocktail Cadius+Encuentro de usuarios de Panoramio
Marzo 31st, 2008 - [Enlace local]
Leo en el blog de Dani Torres, que este jueves 3 se juntan dos eventos en Zaragoza, por un lado el cocktail cadius del mes de abril y por otro el primer encuentro de usuarios de Panoramio.
Para hacer el evento todavía más interesante, hará acto de presencia Eduardo Manchón, co-fundador de Panoramio y empleado de Google en Zurich.
» Leer más, comentarios, etc...
MadeInFlex
AIR y Builder Alphas ya en labs
Marzo 31st, 2008 - [Enlace local]
Escribiendo desde el AirTour nos informan de que ya ha salido la primera Alpha release para linux de AIR (Adobe Integrated Runtime) y de la tercera Alpha del Flex Builder linux, que tiene las herramientas para hacer aplicaciones en AIR.
Se abren las puertas de Linux para los desarrolladores
» Leer más, comentarios, etc...
Variable not found
Crea un traductor en tu web con Google AJAX Language API
Marzo 30th, 2008 - [Enlace local]
Vía Dirson me entero de que Google ha publicado recientemente el API que permite, a base de Ajax, realizar traducciones de textos entre los idiomas contemplados por la herramienta, más de una decena.
Google nos tiene acostumbrados a implementar APIs muy sencillas de usar, y en este caso no podía ser menos. Para demostrarlo, vamos a crear una página web con un sencillo traductor en Javascript, comentando paso por paso lo que hay que hacer para que podáis adaptarlo a vuestras necesidades.
Paso 1: Incluir el API
La inclusión de las funciones necesarias para realizar la traducción es muy sencilla. Basta con incluir el siguiente código, por ejemplo, en la sección HEAD de la página: <script type="text/javascript"
src="http://www.google.com/jsapi">
</script>
<script type="text/javascript">
google.load("language", "1");
</script>
El primer bloque descarga a cliente la librería javascript Ajax API Loader, el cargador genérico de librerías Ajax utilizado por Google. Éste se usa en el segundo bloque script para cargar, llamando a la función
google.load el API "language" (traductor), en su versión 1 (el segundo parámetro).Paso 2: Creamos el interfaz
Nuestro traductor será realmente simple. Además, vamos a contemplar un pequeño subconjunto de los idiomas permitidos para no complicar mucho el código, aunque podéis añadir todos los que consideréis necesarios.El resultado será como el mostrado en la siguiente imagen.

El código fuente completo lo encontraréis al final del post, por lo que no voy a repetirlo aquí. Simplemente indicar que tendremos un
TextArea donde el usuario introducirá el texto a traducir, dos desplegables con los idiomas origen y destino de la traducción, y un botón que iniciará la acción a través del evento onclick. Por último, se reservará una zona en la que insertaremos el resultado de la traducción.Ah, un detalle interesante: en el desplegable de idiomas de origen se ha creado un elemento en el desplegable "Auto", cuyo valor es un string vacío; esto indicará al motor de traducción que infiera el idioma a partir del texto enviado.
Paso 3: ¡Traducimos!
La pulsación del botón provocará la llamada a la funciónOnclick(), desde donde se realizará la traducción del texto introducido en el TextArea.Como podréis observar en el código, en primer lugar obtendremos los valores de los distintos parámetros, el texto a traducir y los idiomas origen y destino, y lo introducimos en variables para facilitar su tratamiento.
var text = document.getElementById("text").value;
var srcLang = document.getElementById("srcLang").value;
var dstLang = document.getElementById("dstLang").value;
Acto seguido, realizamos la llamada al traductor. El primer parámetro será el texto a traducir, seguido de los idiomas (origen y destino), y por último se introduce la función callback que será invocada cuando finalice la operación; hay que tener en cuenta que la traducción es realizada a través de una llamada asíncrona a los servidores de Google:
google.language.translate(text, srcLang, dstLang, function(result)
{
if (!result.error)
{
var resultado = document.getElementById("result");
resultado.innerHTML = result.translation;
}
else alert(result.error.message);
}
);
Como podéis observar, y es quizás lo único extraño que tiene esta instrucción, el callback se ha definido como una función anónima definida en el espacio del mismo parámetro (podéis ver otro ejemplo de este tipo de funciones cuando explicaba cómo añadir funciones con parámetros al evento OnLoad).
Para los queráis jugar con esto directamente, ahí va el código listo para un copiar y pegar.
<html>
<head>
<title>Traductor</title>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("language", "1");
</script>
</head>
<body>
<textarea id="text" rows="8" cols="40">Hi, how are you?</textarea>
<br />
<button onclick="onClick()">
Traducir</button>
Del idioma
<select id="srcLang">
<option value="">(Auto)</option>
<option value="es">Español</option>
<option value="en">Inglés</option>
<option value="fr">Francés</option>
</select>
Al
<select id="dstLang">
<option value="es">Español</option>
<option value="en">Inglés</option>
<option value="fr">Francés</option>
</select>
<h3>Traducción:</h3>
<div id="result">
(Introduce un texto)
</div>
</body>
<script type="text/javascript">
function onClick()
{
// obtenemos el texto y los idiomas origen y destino
var text = document.getElementById("text").value;
var srcLang = document.getElementById("srcLang").value;
var dstLang = document.getElementById("dstLang").value;
// llamada al traductor
google.language.translate(text, srcLang, dstLang, function(result)
{
if (!result.error)
{
var resultado = document.getElementById("result");
resultado.innerHTML = result.translation;
}
else alert(result.error.message);
}
);
}
</script>
</html>
Enlaces: Página oficial de documentación del API
Publicado en: www.variablenotfound.com.
» Leer más, comentarios, etc...
Blog de Sergio Álvarez Fernández
WordPress 2.5 disponible
Marzo 30th, 2008 - [Enlace local]
Por fin la versión 2.5 de WordPress ha visto la luz después de 6 meses de desarrollo. Esta nueva versión trae un Dashboard mucho más rápido y mejorado, donde podemos incluir varios widgets, podemos subir múltiples ficheros, incrustar galerías en el blog entre otras muchas características.
Hay una guía para instalaciones y actualizaciones. Yo he probado a actualizar y en mi caso han surgido ciertos errores que gracias a está página he solucionado fácilmente.
Según comenta Ángel Nieto no hay muchos cambios con respecto a la versión RC2, pero para los que no hemos actualizado antes, ya podemos ir actualizando y familiarizándose con las nuevas características del este popular CMS para blogs.
Todos estos cambios, vienen con un nuevo rediseño de wordpress.org.
Saludos! ![]()
» Leer más, comentarios, etc...
.NET o no .NET, esa es la cuestión
¿Cuánto dura la batería de un ILIAD y cuántas páginas aguanta?
Marzo 30th, 2008 - [Enlace local]
Pues tras una comprobación este fin de semana, y aproximadamente tras unas 20 cargas:
-
Duración (6 apagados y encendidos): Unas 9 horas, 1 hora aprox. encendido sin leer.
-
Páginas pasadas (es decir, cambios de pantalla): Algunos menos de 500.
-
Con el Wifi apagado, sin sacar en ningún momento el stick.
¿Qué dice la publicidad?
Pues resulta bastante imprecisa, pero en http://www.irextechnologies.com/products/features se dice "Fortunately, your iLiad will allow you to read and write for up to 15 hours* without recharging the battery", y el asterisco nos lleva a "With current Software Version 2.11 and depending on usage pattern.", lo que es, evidentemente, mentira, ya que la versión de mi Firmware es la 2.11, aunque el aparato es la versión 1.0.
¿Y en la caja orignal?
"Very low power: You can read three hours a day for more than one week, from the iLiad without recharging the battery". Es decir, 3 horas por 7 días, 21 horas. Todavía una mentira mayor.
Qué lástima que sea una empresa holandesa y cueste más la denuncia que el beneficio...
» Leer más, comentarios, etc...
niko's mini factory
Links for 2008-03-29 [del.icio.us]
Marzo 30th, 2008 - [Enlace local]
» Leer más, comentarios, etc...
The New Cult of Dead Cow » desarrollo
Wordpress 2.5 is ready
Marzo 30th, 2008 - [Enlace local]
Despues de 6 meses de agotadora espera, ya esta entre nosotros la nueva version de Wordpress.
La gran mayoria de mejoras se refieren al area de administracion del Blog que la tenian muy descuidada. Entre las mejoras, cito las que a mi parecer son mas relevantes:
- Dashboard Widgets, se incluyen ahora una serie de Widgets para el area de administracion, como por ejemplo uno muy solicitado de estadisticas del blog.

- Multi Upload File, ahora disponemos de una sencilla manera de subir varias imagenes a nuestro blog, a la vez que la redimesiona automaticamente para una mejor presentacion.
- Protecion de Edicion Concurrente, ahora seremos avisados si otro usuario ya esta editando el mismo post.
- Mejoras en la usabilidad del editor de post.
- $wpdb->prepare(), ahora disponemos de esta funcionalidad no solo en el core de Wordpress, sino tambien en los plugins. Con esto se pretende evitar Inyecciones de codigo SQL.
Y no podiamos hablar de este acontecimiento sin ser participes del mismo, asi que necudeco.com corre sobre la nueva version de wordpress desde hace ya algunos dias.
Disfrutenla.
Via: Wordpress
» Leer más, comentarios, etc...
Picando Código
Blog Actualizado a Wordpress 2.5
Marzo 30th, 2008 - [Enlace local]
Como se anunció en el blog de desarrollo de WordPress, está disponible la nueva versión estable 2.5 de éste excelente sistema para blogs.
Éste es mi primer post con Wordpress 2.5!
La actualización como siempre fue bastante rápida, con la mayor demora en la subida de archivos por FTP. El tema quedó andando exactamente igual, sin hacer ninguna modificación, así como también los plugins y widgets.
Lo que realmente cambió (a simple vista) es todo el menú de administración, así como el editor de posts. El nuevo diseño está mucho más “web 2.0″, realmente mejoró. Ésto me inspiró a cambiar un poco el tema del sitio en algún momento…
Lo bueno del editor, es que tiene una opción “pantalla completa”, que permite usar toda la ventana de navegación para escribir el post. Algo muy práctico! La otra nueva ventaja super agradecida, es que el editor no rompe el código html que pongamos a mano. Algo que me hacía insultar mucho su versión anterior.
Además el tema de manejo de imágenes es mucho más amigable. Tenemos todo en ajax (con progress bar incluida cuando subimos archivos), y la muy agradecida librería para ver imágenes que hayamos subido anteriormente y reusarlas.
En conclusión, hasta ahora una experiencia bastante agradable. Me iba a esperar a que estuviera más probado para actualizarme, pero al final actualicé en un segundo.
Les recomiendo descargar desde la página de descarga y ver el post del lanzamiento para conocer más características nuevas.
» Leer más, comentarios, etc...
Picando Código
Foro de Innovación de las Americas 2008
Marzo 30th, 2008 - [Enlace local]
La Agencia Nacional de Investigación e Innovación (ANII) realizará el 1er Foro de Innovación de las Américas:
El Foro de Innovación de las Américas (FIA) es la continuación del Foro de Competitividad de las Américas (Americas Competitiveness Forum - ACF), llevado a cabo del 11 al 12 de Junio de 2007 en Atlanta, Estados Unidos.
El FIA ampliará los temas y tópicos del primer ACF, en particular en el campo de innovación, y ayudará a sentar las bases de discusiones para el segundo Foro de Competitividad de las Américas previsto para este año entre el 17 y 19 de agosto de 2008, en Atlanta, EE.UU.
¿Qué busca el foro?
PROMOVER PROSPERIDAD Y DESARROLLO A TRAVÉS DE LA INNOVACION
Ejes temáticos principales:
• Cultura y estrategias de la innovación
• Políticas públicas de promoción y apoyo a la innovación
• El valor de conocimiento en el incremento de la productividad
Gracias al blog de Proyecto Ceibal me enteré de un llamado de la ANII para obtener una beca para ingresar al evento. Luego dela inscripción, recibí a los pocos días un mail del ANII:
Estimado Sr/a.
Por la presente el Comité Organizador del Foro de Innovación de las Américas tiene el placer de comunicarle que ha decidido otorgarle una beca para posibilitar su participación en dicho evento.
Dicha beca cubrirá los costos de inscripción y materiales a todas las actividades del Foro incluyendo Ceremonia de Apertura, cocktail de bienvenida, mesas plenarias, talleres, rondas de negocios, almuerzos de trabajo, exposiciones comerciales y Ceremonia de Clausura. Le recordamos que la misma no incluye alojamiento.
Así que a partir de mañana voy a estar participando de este evento.
Mañana domingo se realizan las siguientes actividades:
Bienvenida
Dr. Amílcar Davyt, Presidente Directorio ANII, Uruguay
Palabras de Apertura
- Tabaré Vázquez, Presidente República Oriental del Uruguay
Conferencia Inaugural
- Nicholas Negroponte, MIT Media Laboratory (OLPC Project), EEUU
Horario: 18:30 a 20:30
Muy interesante seguramente la conferencia inaugural, con la participación de Nicholas Negroponte. Ya contaré qué tal. Además en los días siguientes van a haber panelistas de grandes empresas como Apple, Google y Microsoft, entre otros.
Si DM me presta la cámara de fotos, habrán fotos para mostrar. Además aunque sea una breve reseña de cada conferencia a la que asista.
Por más información, calendario, horarios, panelistas, etc.:
www.fia2008.com.uy
Flyer:
» Leer más, comentarios, etc...
Navegapolis
¿Cuánto cuesta un certificado CMMI?
Marzo 29th, 2008 - [Enlace local]
La pregunta que escribió ayer Miguel : ¿Cuánto cuesta un certificado CMMI?, junto con la de ¿dónde hay que ir? son LAS PREGUNTAS de los gestores sobre los modelos de calidad; y como dice Miguel, pese a mucho googlear, no se encuentra la respuesta de forma clara.
Pues venga, vayan en este post las respuestas a las cuestiones realmente interesantes.
» Leer más, comentarios, etc...
Cerebro en la Sombra
Nueva API de Wurfl
Marzo 29th, 2008 - [Enlace local]
Tenía pendiente desde hace unos días comentar los cambios producidos en la API de Wurfl.
La teoría
Para los que no sepan de qué estamos hablando, Wurlf es una base de datos de características de dispositivos móviles. A la hora de desarrollar sites para terminales ligeros, uno de los problemas principales es la diversidad de características distintas: tamaños de pantalla, formatos multimedia soportados, lenguajes de programación… Para solucionarlo, los proveedores necesitamos mantener bases de datos de modelos con sus características principales. Una de las opciones es mantener esa base de datos manualmente, de hecho se debe hacer para responder rápidamente a nuevos terminales. Para ello registramos los UserAgents de nuevos modelos que acceden a nuestras aplicaciones para, posteriormente, buscar sus características y añadirlos a nuestra base de datos.
Wurfl es un intento de solucionar este problema desde el software libre y colaborativo. Wurfl es, fundamentalmente, un archivo XML con la información relativa a más de 10.000 terminales distintos. Para consultar este XML la gente del proyecto ha desarrollado API’s en la mayoría de lenguajes utilizados (Java, PHP, Python, Perl…). Lo más curioso es la forma de acceder a los datos. A partir del XML se crean varios miles de archivos de manera que a la hora de buscar las características de un modelo sólo hay que buscar en un archivo. A mi personalmente no me gusta mucho el modelo. Un proyecto paralelo muy interesante es Tera-Wurfl, basándose en el XML de Wurfl crea una base de datos MySQL y modifica la API PHP para consultar los datos en ella en vez de en los miles de archivos. Nosotros hicimos en su día modificaciones sobre este proyecto para utilizarlo con Sql Server.
Wurfl lo mantiene la gente, gente como nosotros, añadiendo nuevos UserAgents. Obviamente esto no es perfecto, lleva a incongruencias y datos erróneos. Recientemente han publicado también una aplicación web para enviar nuevos UserAgents y nuevos modelos. Hemos llegado a la conclusión de que no hay un modelo único válido, sino que debe ser una combinación de Wurfl y de tu base de datos propia.
¿Existen alternavitas a Wurfl? Sí, por supuesto, alguna hay, aunque en general son de pago para uso en producción.
- Device Atlas, auspiciada por mTLD y creada por Andrea Trasatti, el mismo de Wurfl. A partir de 100$ anuales.
- DetecRight, antes UAProf, gratis hasta 100.000 consultas.
De DetectRight, cuando lo probamos, no me gustaba el modelo, las consultas se hacen online, añadiendo un retardo y tráfico no necesario. Device Atlas me ha parecido más interesante. Lo probamos el día que lo publicaron y no nos convenció, tenia muchas carencias de características, pero estos días lo hemos vuelto a probar y ha mejorado considerablemente, aunque al no ser gratuito, aunque sea poco, no me convence, habrá que seguirle la pista de todos modos..
¿Qúe es lo que ha cambiado entonces en la API?
El proceso por el cual Wurfl averigua a qué modelo pertenece un UserAgent es muy curioso. No se basa en UserAgents o modelos concretos, sino en grupos de UserAgents, de manera que sin llegar a tener un UserAgent ni su modelo registrado puede devolvernos las posibles caracteríscias comparándolo con un modelo semejante. Por ejemplo, es posible que las característias de un Nokia N73 que no tengamos registrado sean iguales o superiores a las de un Nokia N70, luego asumimos las características de este último. Esto es extremadamente útil a la hora de tratar con modelos nuevos ya que oficialmente Wurfl libera actualizaciones un par de veces al año, aunque puedes descargar las versiones diarias del cvs.
Originariamente, el procedimiento para obtener las características de un UserAgent se basaba en que, si no se encontraba un UserAgent idéntico al del cliente, se iba reduciendo la cadena del mismo un caracter hasta encontrar un UserAgent que conincidiese con esa cadena reducida. Obviamente muy eficiente no es el método, pero funcionaba hasta ahora. La introducción de navegadores avanzados en dispositivos de gama alta, derivados de Safari, Opera, etc. llevó a la aparición de UserAgents móviles derivados de Mozilla, como los navegadores web tradicionales. Nokia95 (y la mayoría de nuevos modelos de Nokia), iPhone, Blackberry… casi todos tienen cadenas del tipo:
Mozilla/5.0 (iPhone; U; CPU like Mac OS X; de-de) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3 Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95/11.0.026; Profile MIDP-2.0 Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413
El método de reducción es poco eficiente con UserAgents de este tipo. Esto es, pues, lo que han cambiado. El nuevo sistema establece un análisis en dos pasos:
- Primero se averigua qué tipo de UserAgent estamos tratando (basado en Mozilla, Microsoft, etc.).
- Según el tipo del primer paso, se procesa el UserAgent con el manejador adecuado para encontrar la información requerida.
Por ejemplo, en el primer paso, si la cadena contiene la palara Blackberry sabemos que es un navegador de este tipo de dispositivos. Un algoritmo concreto para éstos nos devolverá el modelo.
Era una modificación imprescindible hoy en día. No por el iPhone como puedan pensar muchos, sino porque la mayoría de nuevos terminales de Nokia ya tienen derivados de Safari, navegadores que por cierto nos han dado algunos problemas desarrollando sites 100% correctos y estandard pero que no se visualizaban bien (a pesar de que en los navegadores de escritorio Safari sí que funcionaba bien).
Luca Passani, alma mater de Wurfl junto a Andrea Trasatti, lo explica mejor que yo aquí.
» Leer más, comentarios, etc...
avemundi, blog de un micro-isv » Desarrollo de software
cleartype y fuentes para programar
Marzo 29th, 2008 - [Enlace local]
Una de las cosas que me disgusta es ver un PC con Windows que tiene las fuentes borrosas. El motivo habitual es que se le ha cambiado la resolución de pantalla a mayor, porque con la resolución óptima las letras son muy pequeñas. Las letras en monitores LCD se ven en condiciones óptimas al máximo de resolución que admiten, y si les cambias la resolución a mayor entonces se ven borrosas. El motivo es que al cambiar la resolución a mayor el pixel no coincide con el tamaño de un punto de resolución y la tarjeta se las apaña a su manera para mostrar las letras de la pantalla con lo que aparecen los llamados dientes de sierra. La solución pasa por usar el sistema de anti-aliasing de Windows y poner fuentes grandes en el sistema. El anti-aliasing en Windows se ajusta mediante un powertoy llamado cleartype tuner. Con esto se consigue tener las letras más grandes y con una mejor calidad que cambiando la resolución de pantalla. En Genbeta explican como usar este powertoy.


En el mundo Mac esto es mucho más fácil. Por defecto el efecto de anti-aliasing - que en algunos sitios se traduce por suavizado o alisado - de fuentes está activado, lo cual desde mi punto de vista es un acierto. En el mundo Windows el 80% de los usuarios ni saben lo que es el suavizado de fuentes, con lo que pierden la oportunidad de mejorar la visión de su sistema. Otra cosa que llama la atención es la diferente manera en que se aplica el suavizado de fuentes en Windows y Mac. Mi admirado Spolsky habló sobre ello y también se pueden encontrar otros post interesantes sobre el tema como este de CodingHorror.
Para mi la personalización del entorno de trabajo es un tema capital, y como paso mucho tiempo con un editor el tema del tipo de letra es fundamental. No es sólo tener el anti-aliasing activado, sino usar una fuente que sea clara y que facilite la lectura del código. A raiz del post de CodingHorror sobre fuentes de letra para programar comencé a usar Consolas y para mi esta fuente es imbatible. La uso tanto en Windows como Mac y para mi es elegante, clara y bonita como ninguna otra fuente que haya usado antes para programar.

» Leer más, comentarios, etc...
Pensamientos ágiles
Paseando por Galway, Aran Islands y Connemara
Marzo 29th, 2008 - [Enlace local]
Ya que últimamente se suceden los comentarios reclamando más posts sobre Irlanda, os ucento lo que hicimos el fin de semana pasado, que no lo había comentado. Nos fuimos con unos amigos de viaje por el Oeste de Irlanda. La verdad es que nos lo pasamos genial, y a todos los que tengan planeado visitar la isla, no puedo más que recomendarles el centrarse en la parte Oeste de Irlanda en lugar de en las zonas más habitadas del Este, incluido Dublín.
Los dos primeros días los dedicamos a Galway y alrededores, incluyendo los famosos acantilados de Moher. La verdad es que Galway es muy pequeño, pero en mi opinión muchísimo más acogedor que ciudades más grandes como Dublín o Cork. Por lo que pude ver en esos dos días, hay muchísima vida nocturna. Muchísimos locales con conciertos en directo tanto de grupos tradicionales como más modernos, muchos night clubs, restaurantes, etc.
![]() | ![]() |
El Domingo, nos fuimos a las islas de Arán. En avioneta.

Aer Arann tiene un servicio bastante frecuente entre las cercanías de Galway e Inishmore, que es la isla más grande y habitada de entre las tres que hay. No sé si alguno de vosotros os pasará como a mi, pero con el paso de los años y de los vuelos, cada vez me gusta menos eso de montarme en un avión. Y lo de montarme en una avioneta en la que cogen ocho personas y una va de copiloto, pues casi que menos. Pero bueno, la realidad es que el vuelo fue muy suave. Son sólo unos ocho minutitos, casi todos por mar y a no mucha altura, así que no hay demasiado peligro. Supongo :) Por cierto, que si a alguien le gusta volar incluso menos que a mi, hay un servicio de ferry bastante frecuente también, y el viaje lleva unos 30 minutos.
Inishmore es un sitio especial. Con sólo unos 860 y pico habitantes censados para 31 km2, os podréis imaginar como de poblada está la isla. Lo mejor de todo es que te puedes alquilar unas bicis y recorrértela a tu gusto. La isla en si misma no es demasiado bonita en cuanto a vegetación se refiere, aunque también es cierto que la época en que la hemos visitado no ayuda. Sin embargo, se respira tanta tranquilidad que a mi me hizo sentir que estaba en un lugar donde no me importaría quedarme una temporada. Sentir el viento, el mar, los árboles moverse, sin nada de ruido... En fin.
La parte norte de la isla sí que es bastante espectacular, y en ella hay uno de los fuertes prehistóricos (1000 antes de cristo) más importantes de Europa: Dun Aonghasa. Ver ese sitio, de por sí, merece la visita a la isla. La parte inferior de la isla también es chula, y mucho más llanita. En esta parte, además, hay una zona con una colonia de focas que también resulta bastante chula.
![]() | ![]() |
![]() | ![]() |
El Lunes, ya de vuelta de la isla, sniff, nos dimos un paseo muy rápido por la región de Connemara. Se trata de una región montañosa que le gustaría mucho a los amantes del trekking. Dentro de Connemara, la abadía de Kylemore es bastante espectacular.
![]() | ![]() |
Y como decía el otro, eso es todo amigos. Que por cierto, muy importante. Todas estas estupendas fotos y más son de a mi amigo Javier, que era uno de nuestros fotógrafos oficiales, y que sin el ni este viaje ni mi estancia en Irlanda serían lo mismo. ¡Gracias Javi!
» Leer más, comentarios, etc...
Pensamientos ágiles
Amazon mejora su oferta de cloud computing con IPs estáticas y múltiples datacenter
Marzo 29th, 2008 - [Enlace local]
Ayer estuve leyendo las novedades que ha añadido Amazon a su oferta de cloud computing y la verdad es que cada vez resulta realmente más atractiva.
Parece que lo primero que han hecho es añadir IPs estáticas; o bueno más correctamente lo que ellos denominan IPs elásticas, que sería como una IP estática pero asociada con una cuenta de usuario. De modo que un usuario no puede tener más de cinco IPs elásticas pero que las puede manejar a su antojo dándolas de alta, de baja, asociándolas a diferentes instancias en diferentes momentos, etc. En el blog de RightScale presentan un muy buen ejemplo de como utilizar estas nuevas IPs.
La segunda novedad es que ahora es posible disponer de servidores en múltiples localizaciones, gracias a lo que Amazon llama availability zones. Así pues, ahora amazon permite reservar instancias en diferentes regiones que pueden estar en diferentes países y continentes, y a su vez dentro de cada región se pueden seleccionar diferentes availability zones. Cada availability zone, garantiza su independencia de las otras zonas dentro de la misma región, de modo que si existe un desastre en una de las zonas, la otra todavía seguirá activa. Nuevamente en el blog de RightScale tienen un ejemplo fenomenal sobre como utilizar esta funcionalidad.
Se ve que Amazon se está espabilando a raíz de los últimos movimientos en el mercado. ¡Si es que no hay nada como la competencia!
» Leer más, comentarios, etc...
niko's mini factory
Links for 2008-03-28 [del.icio.us]
Marzo 29th, 2008 - [Enlace local]
- Annotation-Based Transactions in Spring - Wheeler Software
- 7 Strategies for Unit Testing DAOs and other Database Code
- Setting up Spring Dynamic Modules (OSGi) with Eclipse - A step-by-step tutorial « brain driven development
- Installing Subversion? Just follow this 7 Steps « Lijin’s Localhost
- Object Oriented Design and Programming - Software Design Principles and Design Patterns - Design Principles
- Eclipse Plug-In Development - Tutorial
- Spring: A Quick Journey Through Spring AOP
- Software Integrity » Blog Archive » Crazy Beans and Ugly Constructors != Builder Pattern
» Leer más, comentarios, etc...
Yet Another Programming Weblog
(Otra) entrevista a Stroustrup
Marzo 28th, 2008 - [Enlace local]
Por si alguien había pensado que me había olvidado de C++0x y de Stroustrup esta entrada viene a demostrar que no :) Uno no tiene porqué estar de acuerdo con Bjarne Stroustrup, incluso puede odiar C++ por las milsetecientascincuetaydos razones por las que puede resultar odioso, pero lo que no se puede negar es que Bjarne ha tenido una gran influencia y sus opiniones son, por lo menos dignas de ser leídas. Algunas de las entrevistas que se le han hecho (incluso alguna que no le han hecho ;) ) me suelen parecer intensas y con elementos para la reflexión.
Pues bueno, en DDJ le han hecho una nueva entrevista. Extractaré lo que me ha interesado (Espero me sepan disculpar que no traduzca esta vez. Si me ha costado más de un mes hacer una nueva entrada no quiero imaginarme cuando publicaría esto con traducción...):
Sobre los distintos paradigmas de programación:
No programming paradigm is best for everything. What you have is a problem and a solution to it; then, you try to map that solution into code for execution. You do that with resource constraints and concerns for maintainability. Sometimes, that mapping is best done with OOP, sometimes with generic programming, sometimes with functional programming, etc.
OOP is appropriate where you can organize some key concepts into a hierarchy and manipulate the resulting classes through common base classes. Please note that I equate OO with the traditional use of encapsulation, inheritance, and (run time) polymorphism. You can choose alternative definitions, but this one is well-founded in history.
Sobre C++0x:
The progress on standard libraries has not been what I hoped for. We will get regular expressions, hash tables, threads, many improvements to the existing containers and algorithms, and a few more minor facilities. We will not get the networking library, the date and time library, or the file system library.
The standard will be finished in late 2008, but it takes forever to go through all the hoops of the ISO process. So, we must face the reality that "C++0x" may become C++10.
C++0x y el multithreading:
The new memory model and a task library was voted into C++0x in Kona. That provides a firm basis for share-memory multiprocessing as is essential for multicores. Unfortunately, it does not address higher-level models for concurrency such as thread pools and futures, shared memory parallel programming, or distributed memory parallel processing.
Consejos para el desarrollo en el mundo real. Me gusta especialmente cuando se recuerda el carácter complejo y casi orgánico de los sistemas (como Richard P. Gabriel en Objects Have Failed):
Think. Discuss with colleagues and potential users. Get a good first-order understanding of the problem domain. If possible, try to be a user of an existing system in that field. Then, without too much further agonizing, try to build a simplified system to try out the fundamental ideas of a design. That "simplified system" might become a throwaway experiment or it may become the nucleus of a complete system. I'm a great fan of the idea of "growing" a system from simpler, less complete, but working and tested systems. To try out all the tool chains before making too grand plans.Sobre las habilidades que les suelen faltar a los estudiantes:
I saw so many students who simply didn't have the notion that code itself is a topic of interest and that well-structured code is a major time saver. The notion of organizing code to be sure that it is correct and maybe even for someone else to use and modify is alien: They see code as simply something needed to hand in the answers to an exercise.
Vía programming.reddit.
"(Otra) entrevista a Stroustrup" en barrapunto
» Leer más, comentarios, etc...
Jorge Dieguez Blog
WebParts interesantes
Marzo 28th, 2008 - [Enlace local]
Durante esta semana, navegando, encontré algunos WebParts interesantes:
Random Image Viewer Web Part: de la empresa Infowise, webpart gratuito que visualiza imágenes de forma aleatoria, las imágenes se almacenan en una Biblioteca.
http://www.infowise.co.il/Random_Image2007.aspx
De la misma empresa SharePoint List Scroller(por lo que pone es para SharePoint2003), visualiza el contenido de una lista en formato scroller(a mi no me parece molesto en una página, pero hay gustos para todo:-))
http://www.infowise.co.il/Products.aspx
Access Checker Web Part v1.1: disponible en CodePlex, desde este WebPart un administrador podrá ver a qué elementos (sitios, listas, bibliotecas) y con qué permisos tiene acceso un determinado usuario.
http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=AccessChecker&ReleaseId=12015











