proyectos

Total: 15

Release early...

en

Proyectos, más o menos funcionando, a publicar (y documentar. O al revés.):

Al menos en tres de ellos, creo que la fase de documentar, explicar, preparar para publicar… lleva implícito más trabajo que el proyecto en sí. Así que están en modo procrastinaciónese verbo que sólo se usa en internet… desde hace meses. Si de mi release early dependiese, no existiría el software libre… Puzzled

« Antes de imprimir esta página, asegúrese de que es imprescindible hacerlo. El medio ambiente es cosa de todos. »

userscript para escolar.net

en

Hace ya un tiempo añadieron a escolar.net la posibilidad de puntuar los comentarios. Las famosas manitas. Cuando un comentario sobrepasa los 10 puntos, se destaca (mayor tamaño de letra, fondo) y cuando baja de ¿-5?, desaparece oculto bajo un enlace de “VER COMENTARIO”.

Pero lo que no hay es la posibilidad de filtrar, al estilo de Barrapunto, los comentarios por puntuación. Suelo visitar escolar.net, pero no siempre tengo tiempo de leer todos los comentarios. A veces quiero poder leer sólo los mejor puntuados.

Con este script se añade unos “botones” para seleccionar los comentarios mejor puntuados, peor y más polémicos (puntuación más igualada). Una imagen:

Para usarlo, instalar GreaseMonkey y después el userscript Escolardeprisa .

AdjuntoTamaño
escolardeprisa.user.js.txt4.07 KB
« Antes de imprimir esta página, asegúrese de que es imprescindible hacerlo. El medio ambiente es cosa de todos. »

crianzariojana.org

en

Nuevo proyecto: foro para hablar sobre temas de crianza (embarazo, parto, lactancia, educación…) en el ámbito de La Rioja.

CrianzaRiojana.org

“Crianza” en relación con “criaturas”, es decir, todo lo que tiene que ver con criar niños. Nada que ver con un tipo de vino (el crianza), aunque el foro intente circunscribirse a La Rioja. Jugando con ese equívoco surgió el nombre, tal y como explico en la FAQ del foro .

Cuando tienes un martillo, todo te parecen clavos. Y cuando tienes un hijo, todos los problemas parecen estar relacionados con la educación (y con el parto, y con la lactancia, etc). Así surgió la necesidad de un lugar donde tratar estos temas. Y, tal y como me quejaba en la entrada Día de Internet, creo que hay que potenciar la repercusión de los foros en Internet en el día a día de la calle. Y una de las maneras es localizar esos foros, ligarlos a un ámbito local.

Foro

¿ Foro, lista de correo u otra cosa (¿red social?) ?. La lista de correo ofrece la puesta en marcha más rápida y sencilla, pero limitada en posibilidades y con cierta barrera de entrada para algunas personas. La red social no la veo como foro de discusión, aparte de muchas otras pegas (ligazón a una entidad externa, barrera de entrada, ruido…). ¿Y un blog?. Un blog a veces sirve de foro de discusión, pero el no ser su función original se ve en cuanto se le pide algo más. Así que, mientras no aparezca “Google Wave” Wink , creo que lo mejor es un foro (a pesar de que durante bastante tiempo he sido poco amigo de los foros).

Elección de software

¿Qué foro?. ¿phpBB, punBB, vBulletin, SMF, … ?. Todos tenían alguna pega. Si no era la licencia, la imposibilidad de tener adjuntos (para colgar algún tipo de foto o documentación), o no tener un editor WYSIWYG. Y si no… estaban hechos sin plantillas de ningún tipo o con Smarty, por lo que si hubiese querido modificar el aspecto hubiese tenido que lidiar con código spaguetti o aprender Smarty (me niego. Ya conozco un lenguaje de plantillas. Se llama PHP Tongue ).

Así que, lo he intentado, pero no puedo escapar de Drupal Wink . Es, de lejos, el mejor estructurado, el que te da más posibilidades y el más flexible. Quizá tenga cierta barrera de entrada (hay que conocerlo) pero, superada esta, es increible lo que se puede hacer con Drupal. También como foro.

« Antes de imprimir esta página, asegúrese de que es imprescindible hacerlo. El medio ambiente es cosa de todos. »

Charla "El lenguaje Python"

en

Ayer dí la charla El lenguaje de programación Python en la Universidad de La Rioja, dentro de la programación de la V Jornadas Tecnológicas Loading…Rioj@Party 2008

Llevaba un par de años sin tocar mucho Python (estoy haciendo más cosas en Javascript ahora mismo), por lo que esta charla me ha servido para refrescar mis conocimientos y volver a disfrutar de Python. Realmente da gusto hacer cualquier cosa con Python.

Aparte de meterme todo lo que pude con Java y C# Wink , practicamos un poco con Python y creo que conseguí el objetivo de interesar a los asistentes por ese “novedoso” lenguaje llamado Python. Aunque sospecho que muchos de los que vayan a usarlo ya estaban interesados antes de la charla. ¿Sólo convencí a los convencidos?

Al final lo más polémico y que más juego dió fue la “amenaza” de incompatibilidad hacia atrás de la siguiente versión de Python (la 3000, o la 3 en realidad) en cosas como devolver un entero o un coma flotante en operaciones entre enteros.

¿Hay que mantener la compatibilidad hacía atrás a toda costa?. Había quien defendía esta postura. Yo creo que a veces es bueno y necesario cierta ruptura. Hay buenos ejemplos de lo perjudicial que es mantener la compatibilidad hacía atrás a toda costa (¿alguien dijo Windows?). Como buenos ejemplos de aplicaciones que rompen la compatibilidad hacía atrás, lo que les permite avanzar y no arrastrar errores y código sobredimensionado, y que les funciona bastante bien sólo se me ocurre Drupal Por cada nueva versión hay que reescribir (al menos en parte) los “plugins”. Es laborioso, pero tiene sus ventajas.

« Antes de imprimir esta página, asegúrese de que es imprescindible hacerlo. El medio ambiente es cosa de todos. »

Los juegos de Gamesoft

en

Cuando los hombres eran hombres, y programaban sus propios juegos… Wink

Alguien dijo “si amas algo, digitalízalo y compártelo por internet” (o algo así Shock ).

Bien, esto no es amor, pero quizá algo parecido (¿nostalgia?) y tampoco es que haya hecho ninguna labor de digitalización, puesto que prácticamente todo el material que voy a usar aquí ha sido digitalizado por otros; pero llevo años queriendo dedicarle un sitio en internet a los juegos que publicó Gamesoft, un grupo logroñes de programación de juegos de 8 bits en el que estuve metido hace ya 20 años. Hace 10 ó 15 años hubiese tenido más sentido (y mérito) dedicarle una página a Gamesoft, pero, bueno, nunca es tarde… y el 25 cumpleaños del Spectrum es una ocasión perfecta para algo así.

No conservo nada más que un par de originales del juego que yo programé, el “Comando Quatro”, así que todo lo que ponga aquí estará basado, aparte del material encontrado en internet, en lo que mi memoria alcance.

Aún así se puede hacer bastante con el material que se puede encontrar en internet, y si he tardado más de lo que hubiese deseado en publicar esto, ha sido por mi empeño en poner accesibles los juegos para que cualquiera pueda jugar a ellos a través de estas páginas, con POKES incluidos, y poner también unos vídeos de la resolución de los juegos.

Juegos en línea

Para lo primero estuve buscando algún emulador en applet Java o similar que se pudiera empotrar en web, fuese software libre, permitiese jugar con una resolución doble, y no fuese muy complicado añadirle la posibilidad de pokear los juegos. Lo de la resolución doble es importante, ya que jugar en un applet de 256×192 en las resoluciones de las pantallas de hoy en día es bastante incómodo. El único emulador que encontré que tenía estas características es el JX-Speccy.

En lo que parece su antigua página, www.ciunga.it/jxspeccy, hay algunos de los juegos de Gamesoft, entre varios miles de juegos, disponibles para jugar en linea, pero usa lo que parece ser una versión vieja del emulador y la calibración de la velocidad no funciona (los juegos van más rápido de lo que debieran). Además, quería dar la posibilidad de jugar con POKES: energía infinita, vidas infinitas, etc. Esto último lo solventé con un script en PHP, aunque lo ideal sería implementarlo dentro del propio emulador. Seguramente no será muy complicado, pero con la manía que le tengo a Java he preferido ni intentarlo…

Vídeos de los juegos

Lo de los vídeos ha sido un poco más complicado. Intenté durante mucho tiempo grabar en Linux, vía xvidcap u otros programas, la reproducción de las partidas guardadas en formato rzx, pero me fue imposible conseguir grabar el sonido. Al final opté por utilizar el emulador Spectaculator (Windows, shareware), que permite reproducir un archivo .rzx y, a la vez, grabar un .avi. Luego transformé este .avi para poder subirlo a “Google Video”.

Este tipo de servicios de vídeo (Google Vídeo, Youtube, etc) no están pensados ni preparados para reproducir este tipo de vídeos “pixelados” y la compresión produce un efecto de difuminado bastante molesto, pero no he encontrado otra solución. Lo ideal seria, nuevamente, hackear el emulador para que reprodujese directamente los ficheros .rzx. O currarse un emulador de ZX Spectrum en javascript, partiendo del emulador jsMSX, que pudiese reproducir ficheros .rzx, pokear los juegos, etc. Esto que molaría (¿se nota que me gusta mucho más JavaScript que Java? Wink )

Más madera

Otras tareas pendientes serían: probar el emulador de jsMSX con los juegos de Gamesoft (¿estarán las versiones MSX “volcadas” en internet?), buscar algún emulador de Amstrad CPC empotrable para poder jugar también a estas versiones, digitalizar el material que encuentre de aquella época, etc.

Lo de contar con los otros miembros de Gamesoft para publicar su opinión, recuerdos, etc, lo doy por causa perdida, habida cuenta del poco caso que me hicieron con los que contacté con ocasión de la Entrevista como ex-miembro de Gamesoft que Manuel Sagra me hizo.

(Mensaje a los miembros de Gamesoft, por si alguno se deja caer por aquí: si quereis pasar de “ver” a “hacer”, tal y como hicisteis hace 20 años, y aportar cualquier cosa… a tiempo estais.)


Índice de los juegos

Utilizaré esta entrada como índice de acceso a cada uno de los juegos y como lugar donde poner toda la información genérica que vaya recordando o recopilando, siempre que no merezca una entrada aparte. Dentro de unos días… ¡ Turbo Girl !


Páginas de interés

Webs de donde he obtenido la mayor parte de los juegos, imágenes, etc o donde hay información, críticas o instrucciones de los juegos de ZX Spectrum, incluidos los de Gamesoft.

« Antes de imprimir esta página, asegúrese de que es imprescindible hacerlo. El medio ambiente es cosa de todos. »

Charla "Evolución de la web"

en

Evolución de la web y nuevas tendencias

Con este pomposo nombre me han endilgado una charla para esta tarde, dentro de la Loading… riojaparty de este año.

Finalmente la del año pasado no pude darla, así que este año hablaré un poco de lo mismo, con las novedades aparecidas últimamente: OpenLaszlo, Apollo, Adobe Flex, Silverlight, etc.

Espero hacerla más amena y práctica que la que dí en el Cossío el año pasado, y que alguien (yo, por ejemplo Wink ) salga aprendiendo algo.


Actualización 2007/05/04
Noticia de la charla en el diario ADN

« Antes de imprimir esta página, asegúrese de que es imprescindible hacerlo. El medio ambiente es cosa de todos. »

deliciousblog: módulo para Drupal

en

Un módulo para Drupal para generar entradas de blog a partir de los enlaces guardados en del.icio.us. Como el “daily blog posting” del propio del.icio.us, pero mejor Wink .

Hace ya ¡¡ dos años !! que descubrí el servicio que del.icio.us tiene para crear entradas en tu blog a partir de los enlaces guardados. (Sigue sin haber documentación sobre él accesible desde fuera de del.icio.us: tienes que ir a https://secure.del.icio.us/settings/tu_usuario/blogging/posting )

Entre los sitios drupal que suelo visitar y que he visto que usan el “daily blog posting” o algo similar están WebmasterLibre y error500.

Desde el primer momento me pareció una muy buena idea y lo estuve usando durante un tiempo (ver el tema enlaces ), pero lo deje de usar por sus limitaciones:

  • No se puede cambiar el titulo de “Links for …”
  • No se puede cambiar el formato de la entrada.
  • No se puede cambiar la frecuencia a otra cosa que no sea diaria.
  • No se puede seleccionar el crear las entradas para una sola etiqueta.
  • No funciona (o yo no conseguí hacer funcionar en su día) el asignar una etiqueta/categoría dentro de Drupal para las entradas generadas.

Durante este tiempo he profundizado lo suficiente en Drupal como para animarme a crear un módulo que haga lo mismo, pero solucionando todas esas limitaciones. Lo he creado como un módulo de tipo “contrib” (dependiente de otro módulo) puesto que ya existía el módulo delicious, que implementa cierta integración con la API de del.icio.us.

He tenido que parchear ese módulo delicious, ya que el almacenamiento de la cuenta de del.icio.us en su tabla estaba ligada a la activación de la copia de los enlaces de del.icio.us: no se podía usar una sin la otra, y yo lo que quería era usar el usuario y contraseña ya guardados (para obtener los enlaces con los que generar las entradas), sin que se copiasen y sincronizasen todos los enlaces guardados en del.icio.us. Tampoco lo podía integrar en el propio módulo delicious puesto que el módulo deliciousblog tiene sus propias dependencias: depende de que esté activado el módulo blog, que no está activado por defecto en Drupal.

He enviado un correo al que parece el nuevo encargado del módulo delicious (ver sus parches para la versión 5.x) pero no me ha contestado. Voy a enviar los parches necesarios a la lista de issues de delicious, pero el módulo no se puede adjuntar. Así que, a la espera de verlos incluidos en drupal.org, cuelgo aquí el módulo y los parches.

También he preparado un par de pantallazos donde se puede ver, antes de probar, el aspecto del formulario de configuración y de una entrada generada por este módulo.

Es código hecho por una sola persona, así que necesitaría revisión. Si prefieres llamarlo así, lo puedes considerar en estado beta: no me hago responsable si al usarlo rompes algo, aunque si te preguntas hasta dónde te puedes fiar de él, puedes ver que lo estoy usando.

Consigo así tener una herramienta para bloguear1 de forma rápida y sencilla. El espacio que deja del.icio.us para comentar es pequeño (unos 250 caracteres), por lo que este es una especie de sistema de micro-blogging, con la ventaja de que si me quiero extender siempre puedo editar la entrada o clonarla a una nueva.

Utilización

Para Drupal 5.1:

  • Descargar el módulo delicious (versión 4.7.x)
  • Aplicar el parche para obtener la versión 5.1: delicious_1.patch
  • Aplicar el parche delicious_2.patch adjunto
  • Aplicar el parche delicious_3.patch adjunto
  • Descargar el módulo deliciousblog adjunto
  • Instalar los dos módulos en sites/all/modules/delicious y sites/all/modules/delicious/contrib/deliciousblog
  • Activar y configurar

1 Bloguear en uno de los sentidos originales del término: web log, o registro de páginas visitadas.

« Antes de imprimir esta página, asegúrese de que es imprescindible hacerlo. El medio ambiente es cosa de todos. »

TiddlyWiki de recetas de cocina

en

Cómo meter un recetario de cocina, con buscador por múltiples ingredientes y criterios incluido, en un solo fichero… gracias a TiddlyWiki (TW).

Hace un tiempo escribí una entrada en este blog sobre TiddlyWiki. Desde entonces se han ido sucediendo las versiones y hace un par de meses sacaron la versión 2.1.3.

Hace unos meses, a partir de uno de los ejemplos que se listan en TiddlyWiki (un tiddlywiki de recetas en inglés ) se me ocurrió si no se podría hacer una búsqueda por varios ingredientes, de manera que se puedan consultar las recetas que llevan “huevo y pollo” ó “ternera, arroz y sean fáciles”. Aquí está la solución a la que llegué.

Pero antes, un poco de charla sobre TW…

Qué es TiddlyWiki

Desde el punto de vista técnico, es un wiki hecho en Javascript, en un solo fichero. Esta es la descripción que habitualmente podemos encontrar. O, tal y como reza el propio subtítulo de TW, “a reusable non-linear personal web notebook”. En español seria algo así como “un bloc de notas reusable personal no-lineal sobre web”. ¿Está claro? Wink

Quizá sea mejor darle un enfoque más práctico y responder a la pregunta ¿Para qué sirve un TW?. La respuesta se entiende mejor que la descripción técnica pero es aún más sorprendente: TW sirve para casi cualquier cosa. Con un TW podemos hacer una presentación, un blog, un libro, una “base de datos”, un bloc de notas, una agenda, una lista de tareas pendientes,… o todo junto a la vez. ¡ Incluso podemos jugar al buscaminas !. Y todo en un único fichero HTML.

Como vemos, TW sirve para casi cualquier cosa… relacionada con el tratamiento de pequeñas cantidades de información (textos). (Cuando he dicho que sirve para casi cualquier cosa, estaba exagerando Wink )

Precisamente, esos “pequeños textos” se llaman tiddlers.

Características

  • un único fichero
  • sintaxis wiki
  • micro-contenido (tiddlers)
  • etiquetas
  • busqueda integrada
  • extensible
  • sobre web
  • y es software libre (BSD Open Source License)

Quizá lo más llamativo y que más se suele recalcar son las dos primeras características. De hecho, aparece la palabra “wiki” en su nombre. Pero son las demás (sobretodo el ser facilmente extensible) lo que le dan la potencia. Gracias a manejar la información en trocitos (tiddlers), a poder etiquetarla de manera flexible y la búsqueda integrada, podemos organizar y recuperar la información que introducimos en un TW de una manera sorprendente. Gracias a estar hecho “sobre web” (HTML+JavaScript+CSS), sólo necesitamos un navegador para utilizarlo y podemos incluir facilmente enlaces. Gracias a ser extensible mediante plugins hechos en JavaScript, podemos adaptarlo y conseguir realizar diferentes tratamientos a la información contenida en el TW.

Hay programas clásicos integrados en el escritorio (para Linux, por ejemplo, Tomboy ), o servicios web, que buscan esa funcionalidad de ser aplicaciones para tomar notas, hacer listas, etc. TiddlyWiki lo consigue en un fichero HTML, y tiene además la ventaja de que es fácilmente extensible y portable.

(De casualidad he encontrado que la fiebre TiddlyWiki se extiende y ya hay quien ha procurado la posibilidad de exportar a TiddlyWiki desde Tomboy o integrar Moodle y TiddlyWiki . Están locos estos romanos… )

A resaltar que el muchas veces denostado JavaScript, sea la base sobre la que aplicaciones como esta, o el propio Firefox, extienden su funcionalidad a base de plugins con una facilidad como yo he visto en pocas aplicaciones (excluyendo la barra de tareas de escritorios como, por ejemplo, KDE).

Cómo se usa un TW

Para usar un TW hay que descargarlo, guardarlo en el propio PC, y abrirlo con el navegador. A partir de entonces podremos ir añadiendo información, etiquetarla, etc. Ese fichero HTML que es nuestro TW podremos llevárnoslo en una memoria USB para editarlo en diferentes PCs, enviarlo por correo, etc. Hay sistemas para mantener un TW en un servidor y acceder a él (y editarlo) desde diferentes sitios sin depender de una memoria USB, como ccTiddly, PhpTiddlyWiki ó el recomendable servicio tiddlyspot

Limitaciones

Un TW vacio ya ocupa unos 220 KB, y según vayamos incluyendo información irá creciendo. Si crece mucho, la carga por parte del navegador puede ralentizarse, aunque una vez cargado puede seguir siendo perfectamente usable. Por ejemplo, el libro antes referenciado ocupa 1.2MB y una vez cargado es usable.

Hay formas de comprimir un TW vacío (con programas o servicios web de compresión de JavaScript ) de forma que nos deje más sitio para nuestros textos, pero no merece la pena: no hay como empezar a usar un TW para darse cuenta de todo el texto que puede escribirse en unos pocos cientos de KB…

Otra limitación es la imposibilidad de incluir gráficos e imágenes, salvo como ficheros separados. Entonces el TW deja de ser un único fichero y pierde una de sus virtudes. Pero esta limitación es más bien cuestión del HTML, y, además, un TW está pensado fundamentalmente para introducir texto.

Para qué lo uso

Para casi todo. Wink Para apuntar notas, enlaces, ideas, proyectos, tareas por hacer, “chuletas” sobre Linux y Mandriva, etc. Y ahora, también, como recetario de cocina.

Para apuntar todo ese tipo de información, he dejado de utilizar cualquier tipo de editor de textos y papelitos amarillos pegados al monitor (estos últimos, realmente, nunca los he utilizado).

(Quizá debería usarlo también para mi lista de tareas pendientes )


TiddlyWiki de recetas de cocina

Como decía más arriba, pensé si no habría una forma de crear un TiddlyWiki de recetas con buscador interactivo incorporado.

Con un par de plugins y unas pocas líneas… hice este Recetario de Cocina con ese tipo de búsqueda integrada. Para usarlo, pulsar botón derecho sobre el enlace anterior, “Guardar como…” y guardar el fichero en el propio ordenador. Abrirlo con el navegador, y empezar a utilizarlo.

Más que un recetario, es una estructura con la que montar un recetario, ya que apenas tiene un par de recetas de ejemplo. Puede parecer incómodo y trabajoso introducir las recetas, pero hay que pensar que está pensado principalmente para consultar las recetas.

Para introducir el grueso de las recetas, se podría hacer un programa que las transformara, de un formato electrónico dado, a tiddlers que se añadirian al recetario. Dependiendo del formato del que se parta, esto puede ser más o menos sencillo.

Actualización 2007/04/19
He actualizado el recetario con nuevas funcionalidades. La versión anterior se puede seguir viendo en Recetario v1


Enlaces

Para saber más sobre TiddlyWiki:

Puede ser dificil encontrar un plugin que se adapte a nuestras necesidades, ya que hay decenas de ellos, pero dispersos por varios TiddlyWikis. Aparte de los anteriores, otros enlaces de partida para encontrar plugins son:

« Antes de imprimir esta página, asegúrese de que es imprescindible hacerlo. El medio ambiente es cosa de todos. »

Curso Drupal

en

Curso Drupal en el CPR de Logroño.

AL HALDA

en

De cómo me lie y monté la página de AL HALDA : asociación riojana pro-lactancia materna.

Durante el embarazo de Lara, comenzamos a buscar información sobre embarazos, partos y niños en internet. Lo típico de unos padres primerizos Puzzled.

No se cómo, llegamos a la página de crianzanatural y de ahí al foro y a los libros recomendados.

Primero cayó el “Bésame mucho” de Carlos González. Después le siguieron todos los escritos por este pediatra respecto a la lactancia materna y la alimentación infantil: “Mi niño no me come”, “Manual práctico de lactancia materna”, “Un regalo para toda la vida”. Comprar y leer los libros de Carlos González se convirtió casi en un vicio Wink

Contrastando la información de estos libros con busquedas por internet, recomendaciones de la OMS y de la AEP descubrimos la triste realidad: hay una baja tasa de prevalencia de lactancia materna en todo el mundo y en España en particular1, y un recien nacido en la actualidad tiene todos los números para no iniciar o abandonar muy pronto la lactancia debido a la cantidad de mitos y desinformación que circula entre la gente, profesionales de la salud incluidos.

Para contrarrestar ese panorama surgieron, hace años, los grupos de apoyo a la lactancia . En La Rioja aún no existía grupo de apoyo, pero al poco de nacer Lara nos enteramos de que se estaba creando uno. Así que aporté mi granito de arena y creé la página de AL HALDA


Actualización 2007/03/07
He dejado de llevar la web alhalda.com y las responsables de la asociación no han respondido a mi oferta de transferirles el dominio, por lo que dentro de poco desaparecerá o será ocupado por cualquier cibersquatter
No soy responsable del contenido de esa página en el momento en que está leyendo esto.

1 La baja tasa de lactancia materna está considerado por la OMS como un problema de Salud Pública.

« Antes de imprimir esta página, asegúrese de que es imprescindible hacerlo. El medio ambiente es cosa de todos. »
Distribuir contenido