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...
psé
Diseño de un motor 3D moderno
Marzo 31st, 2008 - [Enlace local]
Sé que muchos de los que leeis estas líneas tambien lo haceis con codepixel (y si no es un buen momento para empezar). El caso que han empezado con una serie de artículos sobre el diseño de un motor 3D moderno y no podía dejar pasar la ocasión de linkar, por lo interesante del artículo y por la calidad de los 3 autores.
No me gusta poner post de solo links, pero creo que este merece la pena. De momento ya han publicado el primero de una serie, y es una pequeña introducción que en resumen ha dejado claro que el modelo de datos debe ser bueno (como en toda aplicación). Estaré atento al resto de artículos.
» 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...
Rubí Sobre Rieles
Hola capo, yo te quiero consultar por que necesito…
Marzo 31st, 2008 - [Enlace local]
Hola capo, yo te quiero consultar por que necesito instalar el open source
LovdByLess, que funciona sobre ruby on rails, y quiero instalarlo en el servidor, la pregunta es ¿Cómo hago para instalarlo en el host?
le tendré que solicitar esto al soporte de mi host?
Bueno, la verdad es que quisiera que me puedas dar una mano con esto, si podes darme una idea te lo agradeceré.
» 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...
psé
Re: Advergaming: Amor y odio
Marzo 30th, 2008 - [Enlace local]
Leo en el blog de juanma zarza (aka mrkoala) una reflexión bastante interesante acerca del advergaming y su fama entre el público en general.
Y es que es muy raro que nadie se fije en uno de esos juegos "cutres" que publicitan una marca se vean en ninguna parte. Es cierto que hay mucha mierda y es cierto que muchos juegos móvil no tienen suficiente calidad. Eso sí, vemos a diario rumores sobre posibles juegos de EA o de gameloft (veer anaitgames, por poner un ejemplo) que sí, son unas super potencias en cuanto a juegos para móvil, pero que en mi opinión están super-valoradas, y pongo un ejemplo.[Y no quiero no hablar de la calidad de muchos de los juegos de nintendo DS (sobretodo) que se analizan...]
El ejemplo es uno de los últimos juegos de unkasoft en el que he participado directamente, que nadie conoce, pero que ya está por ahí. Se trata de una promoción llamada idrinks para diferentes bebidas alcohólicas. Bien, el juego está desarrollado en unos 8 días reales (en medio estuvo la navidad), esto es, desde 0 se crea un juego, gráficos, código y música... y todo eso para 450 móviles. Ahora pregunto, tiene eso menos mérito que crear un juegazo en 8 meses como hace gameloft? en 8 meses el equipo de unkasoft (en los juegos todos ponemos nuestro grano de arena) ha creado unos juegos de una calidad muy alta para los tiempos de desarrollo en los que nos movemos. Es tanta la diferencia?
¿Qué pasa? pues que somos así, tanto los que crean las noticias, como quienes las escriben. Muy poco se han preocupado los blogs o portales de noticias españolas por unkasoft (y otras muchas que trabajan en la sombra), a pesar de que los juegos que se hagan sean de una calidad altísima (sobretodo últimamente) incluso con licencias de películas que han estado en taquilla (rec, donkey xote), etc, etc. Eso sí, unkasoft tampoco puede/quiere/tiene tiempo de darle un poco más de bombo y publicitar un poco más los juegos que hace... a veces los NDA hacen un flaco favor a una empresa.
Me queda el consuelo de ver como cada día vamos mejorando nuestros juegos (a algunos puedes jugar gratis en unkasoft gamespace), sobretodo viendo los bocetos y desarrollos que tenemos actualmente en recamara.
Más vale pájaro en mano que ciento volando: Menos rumores de iphone y más noticias de verdad.
» 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...
HardBit
KeyJnoteGUI 0.3
Marzo 29th, 2008 - [Enlace local]
Pues bien ya pueden descargar esta versión del frontend para KeyJnote.
Cambios:
Persistencia en las opciones: Page, Display.
Page: Initial page, page cache, wrap y auto.
Display: Transitions, font, font size, cursor y layout.
Podrán encontrar su definición en la ayuda de KeyJnote que se encuentra en el directorio donde se instala KeyJnoteGUI.
ScreenShot
Descargar instalador aquí
Recuerden que necesitan tener instalado el runtime de .Net 2.0 en caso de que no lo tengan pueden descargarlo desde aquí
» Leer más, comentarios, etc...
psé
Serializando en C++: implementación quick and dirty
Marzo 29th, 2008 - [Enlace local]
Si hay una cosa que me molesta es tener que repetir código o funcionalidad. Cuando estás programando te das cuenta que a veces hay partes de funcionalidad que hacen más o menos lo mismo.
Hay veces que tienes que implementar algo y cuando lo haces por gusto pues puedes pararte a implementar un mega sistema de serialización que te mueres, pero cuando tienes que hacer algo que sabes que no va a salir de ahí nunca te da igual la orientación a objetos. Esta es una lucha que siempre he tenido con mucha gente, el sobrediseño, el sobre*, es decir, la tendencia a tener que aplicar los patronos existentes, la necesidad de usar una metología o un paradigma concreto, pero eso es otra historia.
Necesitaba guardar y cargar datos y no me apetecía andar modificando el loader cada vez que modificase el writer... así que (formato patrocinado por vim):
#include
<stdio.h>
class A
{
public:
int a;
int b;
float c;
typedef unsigned int (*serialize_t)(void*, unsigned int, unsigned int, FILE* f);
void Save(FILE* f)
{
Serialize(f, (serialize_t)fwrite);
}
void Load(FILE* f)
{
Serialize(f, fread);
}
virtual void Serialize(FILE* f, serialize_t ser)
{
#define SER(x) ser(&(x), sizeof(x), 1, f)
SER(a);
SER(b);
SER(c);
}
};
int main()
{
const char* fn = "test.bin";
FILE* f = fopen(fn, "wb");
A a;
a.a = 11;
a.b = 22;
a.c = 33.33f;
a.Save(f);
fclose(f);
A c;
f = fopen(fn, "rb");
c.Load(f);
printf("a: %d, b %d, c %f\n", c.a, c.b,c.c);
fclose(f);
return 0;
}
guarro, poco elegante, rompe todos los paradigmas, pero rápido, funcional y efectivo :D
» 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.




