Concurso de extensiones para Firefox 3

La noticia es del pasado 20 de Marzo (hace ya algo más de 15 días), pero se pasó y creo que es interesante. Mozilla Lab ha anunciado el concurso «Extend Firefox 3«, donde se reta a los programadores a desarrollar una extensión para la versión 3 del navegador, a ser posible, haciendo uso de las novedades que esta versión aporta. Podéis ver las reglas del concurso en la página anterior, pero por resumir: hay dos categorías, mejor extensión original, y mejor extensión actualizada (para premiar a los desarrolladores de nuevas extensiones y a aquellos que se preocupen de actualizar extensiones ya existentes). Los premios son jugosos en ambas categorías:

viaja al Mozilla Developer Day 2008 (de la región que el campeón quiera) (valor aprox. en dólares: $1,750), un Apple MacBook Air computer ($3,000), VMware Fusion (ARV: $200), ActiveState Komodo IDE 4 con T-Shirt y taza ($350), y una bolsa para el portátil con logos, pegatinas, camisetas y libros de Firefox ($300). Total, unos $5,600 en premios para los 3 primeros clasificados.

Los siguientes 6 clasificados recibirán: ActiveState Komodo IDE 4 con camiseta y taza ( $350), y la bolsa Firefox para el portátil ($300), haciendo un premio total de unos $650.

Fechas: el concurso comenzó el 17 de Marzo de 2008 y finalizará el 4 de Julio de 2008. ¡Ánimo a todos los participantes!

Reto para «Código & Colegas»

Un grupo de alumnos ha organizado para esta tarde en la FISS (Facultad de Informática de San Sebastián), un pequeño meeting bajo el nombre «Código & Colegas», para compartir código, ideas y conocer a más gente interesada en programación. La verdad es que le podían haber dado más bombo a la iniciativa y ser más concretos en los objetivos, pero , ¡hey! están empezando y por tanto, más que criticar, mejor aplaudir y colaborar 🙂 Ahí va mi granito de arena: un reto de programación, cortito y entendible, de los que provocan necesidad de una buena dosis de cafeína para resolverlo: Sean los Strings <strong><em>números</em></strong> y <strong><em>dígitos</em></strong>. Cada una de esas cadenas contiene únicamente dígitos entre 1 y 9, inclusive. Para cada ocurrencia de un dígito en el String <em>dígitos</em> , debes eliminar una única ocurrencia de ese dígito en <em>números</em>. Objetivo: terminar - tras haber eliminado los dígitos necesarios - con una cadena que represente el número más alto posible. Devolver este número como String

Ejemplo 1: números: «12345» dígitos: «513» Devuelve: «24» Si eliminamos los dígitos ‘5’, ‘3’, ‘1’ obtenemos el número 24.

Ejemplo 2: números: «654321123456» dígitos: «612534» Devuelve: «654321» (Eliminando de la segunda mitad de números )

Ejemplo 3: números: «2654982765982365» dígitos: «2345978» devuelve: «698265265»

NOTA: el ejercicio está sacado de una de las competiciones de TopCoder. Que saber de dónde viene no provoque la pérdida de interés por intentar resolverlo por vuestra cuenta 😉

Asociar extensiones con aplicaciones en GNOME

Me ha llevado más de 2 minutos encontrar la opción, por lo que considero que no es evidente y que hay que documentarla. El problema: en una carpeta con ficheros .doc, al hacer doble click sobre ellos se abre una ventana en la que se me indica que las mejores aplicaciones para abrirlo son AbiWord y KWord (ninguna de las dos está instalada en mi PC). OpenOffice no sale como alternativa (tengo instalado OpenOffice 2.4, desde paquetes .deb). ¿Cómo hacer que la extensión .doc esté asociada con OpenOffice.org Writer? Abrir Nautilus / Situarse en la carpeta donde está el .doc / botón derecho sobre el .doc / Ficha Abrir con. Elegir OpenOffice Writer o teclear la ruta hacia esa aplicación. ¡Listo!

Plantilla en Java del patrón Singleton para Eclipse

Parafraseando a Groucho Marx: éstos son mis títulos de post. Si a usted no le gustan, tengo otros 😉

Warning: post muy técnico.

Si programas en un lenguaje orientado a objetos, es probable que te hayas encontrado a menudo con el patrón singleton. Últimamente me he encontrado tecleando las líneas de este patrón en Java una y otra vez, con lo que se me ha encendido la bombilla de la pereza: «y ésto… ¿no lo podré automatizar?» Por supuesto. En Eclipse es sencillo:

Window->Preferences->Java->Editor->Templates. Click en New e insertar el siguiente código. Darle un nombre («singleton» podría ser una decisión acertada 😉 . Cuando quieras usar el patrón en tus clases Java, escribe «singleton» y pulsa Ctrl+Espacio. ¡Magia! private static ${enclosing_type} instance; private ${enclosing_type}(){} public static ${enclosing_type} getInstance(){ if(null == instance){ instance = new ${enclosing_type}(); } return instance; }

Nota: ojito, que esta forma de implementación del patrón parece sufrir una condición de carrera en el bloque if … una posible solución sería inicializar la referencia estática en la propia sección de declaraciones.