1234567890 segundos desde el Linux Epoch

Circula por Facebook la invitación al evento más original que he visto en los últimos tiempos. El lugar de reunión es el PC Linux de quien quiera participar y la hora será el 13 de Febrero de 2009 a las 23:31:30. En ese momento, se cumplirán 1234567890 segundos desde el Linux Epoch. Para acudir a la cita, sólo hay que inscribirse tecleando esta instrucción en tu terminal, que mostrará la citada cifra, o acudir a la web que lo conmemorará.

date +%s

EL Epoch es un punto de referencia inicial donde se basan sistemas lógicos.
En Linux está establecido el 01/01/1970. Fechas de otros sistemas populares:

  • Mac Os: 01/01/1904
  • Windows: 01/01/1601
  • DOS: 01/01/1980
  • Cobol: 01/01/1601
  • C#: 01/01/0001

Hay un gran grupo de sistemas o lenguajes que comparten el 01/01/1971 como PHP, Python, Java y  Ruby.

Borrar todas las tablas de una base de datos

Cuando llega el momento de borrar todas las tablas de una base de datos de MySQL desde el command line no queda más remedio que ir borrando tabla por tabla.

Pero me he encontrado por ahí una ingeniosa instrucción para hacerlo, una sóla línea de código en el command line:
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
Los créditos del útil descubrimiento para Thingymajing.

Contar descargas de un archivo

Una consulta me ha hecho desempolvar un viejo script que tenía por ahí para contar los clicks que se hacían para ir a una url. Esto es igualmente válido para hacer tracking de downloads o descargas.

Supongamos en el script es invocado de la forna:

http://url_dominio/download.php?file=xxxxx.pdf

El script, que estaba escrito en php3, es a grandes rasgos así:

<?php

//RECUPERAMOS PARAMETRO

$url=$_GET[file]

// CONEXION BBDD
mysql_connect (“localhost”, “xxxxlogin”, “xxxpasss”);
mysql_select_db (“xxxxxxx”);

// INSERTAR O HACER UN UPDATE EN BBDD CON LA DESCARGA. TAMBIEN PODRIA IR A UN FICHERO LOG

mysql_query(“INSERT INTO log_table VALUES (XXXXXXXXXXX)”);

//CONSTRUIR URL FINAL

$url=”http://url_dominio”.$url;

//REDIRIGIR AL ARCHIVO CON DESCARGA

header(“Location: $url”);

?>

Importante no sacar nada, ni un error, ni un print, ni un echo, nada, antes de la directiva header(). Si sale algo, la redirección no se ejecutará.

Otra opción a la que podemos optar ahora es a utilizar una herramienta externa, como Google Analytics. De esta forma que no tenemos que hacer una tabla en la base de datos, construir el script y procesar los datos almacenados posteriormente. Hay un tutorial de Analytics que lo explica bastante bien.

Nueva versión de Quiniela15

La semana pasada culminamos la primera fase del rediseño de  Quiniela15. Ha sido una migración en toda regla, pasando de un diseño de software basado en php sin más a otro basado en el framework de desarrollo Symfony.

Quiniela15 tiene varios aspectos que incluyen la captura de datos de los partidos, procesamiento de estadísticas, captura de datos de pronósticos de quinielistas, sistema automático de pronósticos y una pequeña red social. Esto hace que el proyecto, sin llegar a ser complejo, toque bastantes áreas.

Entre las novedades que incorpora esta versión:

– Posibilidad de consultar estadísticas y clasificaciones de los usuarios con más opciones.
– Perfil Mejorado, permitiendo avatares y algunas personalizaciones.
– Más datos para hacer el pronóstico de la quiniela.
– Premios o galardones a los mejores de la jornada, mes, año…

La aceptación en el Foro de Quiniela15 ha sido bastante buena. Con esta nueva plataforma el desarrollo de nuevas funciones es bastante rápido, por lo que espero que haya bastantes novedades de aquí a final de temporada.

Estáis más que invitados a probarlo, cualquier feedback es bienvenido y tomado en cuenta.

Buey de Kobe (o Wagyu)

Me comentaban el otro día en una celebración la existencia de este tipo de carne. Según me decían, es carne procedente de un buey de Japón al que mimaban de forma extrema. Tan extrema que le daban de beber cerveza y sake y le hacían masajes al animal para que estuviese siempre a punto y produjese una carne de alta calidad.

La verdad es que me pareció exagerado, posiblemente fruto del ambiente festivo (por llamarlo de alguna manera). Pero me quedé con la copla y estuve mirando por ahí. De exagerado nada, parece ser.

El Buey de Kobe, también llamado Wagyu, se cría en la ciudad del mismo nombre en Japón y, efectivamente, recibe los cuidados ya mencionados. Parece que la cerveza no sólo hace bien en los humanos.  Los cuidados al bobino incluyen:

  • Sake y cerveza (especialmente en verano), que además estimula su apetito.
  • Masajes, para que no tengan agarrotamientos ni nada por el estilo y se vea reflejado en su carne.
  • Baño de sake, con esponjas bañadas en el popular licor para dejar su piel curtida y suave.

En vez de una granja aquello debe parecer un spa.

Algunas referencias que he econtrado:

La exquisitez de carne del buey de Kobe

Carne de Kobe, la raza Wagyu

Buey Wagyu o Kobe, ¿es para tanto?

Creo que voy a incluir un filete de esto en el próximo “Que te juegas”.

“Comos” de Linux

Los Comos de Linux en castellano fueron un proyecto impulsado desde Insflug.org hace ya varios años. Me he encontrado el proyecto bastante abandonado, con errores de código y sin nuevos avances. Posiblemente el estallido del movimiento Web 2.0, donde las posibilidades de publicación web son mucho mayores para cualquiera, hayan hecho que el proyecto ya no tenga tanto sentido.

Sin embargo, el trabajo y el contenido son realmente interesantes. Estos comos ya formaban parte, aunque era simplemente enlazando el contenido, de aulaDigital. Hemos dado un impulso mayor y los hemos integrado completamente, haciéndolos totalmente navegables.

Son bastante antiguos y algunos ya no sirven de mucho (como el de la configuración de Infovía). Pero otros, como programación en Bash o conceptos de redes en Linux están de total actualidad.

Issue trackers

No concibo un departamento de tecnología o un proyecto medianamente serio y organizado sin un seguimiento de tareas e incidencias. Hay algunas herremientas, denominadas issue trackers, que sirven a este propósito. La herramienta sirve a un método o una forma de organizarse. Podrían ser post-it pegados en la pared en los que cada desarrollador pusiese el estado de la incidencia… no es lo mejor, pero preferiría eso a no tener nada.

Afortunadamente hay software de apoyo que permiten otganizar y hacer ese seguimiento, comento por aquí algunos que he usado y conozco. Por orden de preferencia.

Bugzilla: Posiblemente el más versátil y completo, avalado por años de desarrollo open source. Lo tiene todo y bien. En Kelkoo y después en Yahoo! utilizábamos además una versión customizada y mantenida, una auténtica maravilla. La única pega puede ser la instalación y mantenimiento, nada triviales. Está desarrollado básicamente en Perl. [Sitio Oficial de Bugzilla]

– Jira: Viene con fuerza y está en pleno apogeo. Es el issue tracker de moda. Un interface muy bueno y la posibilidad de instalarse o desarrollar plugings. Se está postulando como base para seguimiento de proyectos usando Scrum. Las principales pegas: Es comercial y el reporting es algo limitado en algunos aspectos. Está basado en Java. [Sitio Oficial de Jira]

– Mantis: Uno de los más populares, muy ligero y sencillo de instalar. El proyecto es completamente open source y es bastante activo. Tiene algunos plugins que se pueden aplicar. Cada desarrollador tiene una zona personal donde tiene el resumen de su actividad, muy completo también, quizá la mejor alternativa libre a Bugzilla . Desarrollado en PHP. [Sitio Oficial de Mantis]

– Eventum: Es el issue tracker que usan los desarrolladores de MySQL. Extremadamente sencillo de instalar y empezar a utilizar, aunque al ser tan ligero tiene algunas limitaciones. La búsqueda es limitada y el reporting bastante estático. No tiene tipos de isses (tales como bug, enhancements, task…), aunque pueden ser suplidos por custom fields. Tiene features interesantes como asignar un issue a varias personas o asignarlo por Round Robin. En resumen, muy ligero, fácil de utilizar aunque algo limitado. Desarrollado en PHP. [Sitio oficial de Eventum]

Trac: Viene con Wiki pre-instalado y es fácil de integrar con SVN. Es el que menos he utilizado, aunque parece prometedor. Quizá limitado para entornos multiproyecto. Desarrollado en Python. [Sitio Oficial de Trac]

Tsunamis en La Península

Aunque pueda parecer algo típico de costas lejanas con alta actividad sísmica, no estamos exentos del riesgo. La actividad sísmica en La Península es moderada, pero existe.

La mayor catástrofe vino provocada por el llamado Terremoto de Lisboa, ocurrido en 1755. El terremoto fue devastador en Lisboa, donde el terremoto y posterior maremoto se cobró la vida de 50.000 personas y afectó a casi toda La Península. Como consequencia, un tsunami arrasó también el Golfo de Cádiz con olas de más de 10 metros, afectando especialmente a Conil y Ayamonte. En algunos puntos el agua entró más de 1 kilómetro en tierra.

Hay cierta actividad en el punto de choque de las placas africana y euroasiática, aunque no es de las más activas. Se calcula que una catástrofe de este tipo podría suceder cada 1000 años en la zona. No nos toca, pero si hay un temblor importante cerca de la costa o el mar se retira sospechosamente, mejor tirar tierra adentro!

El Instituto Geográfico Nacional tiene publicado un catálogo de tsunamis desde 218 a.c. La Unión Europea ha puesto en marcha un programa de investigación de este tipo de fenómenos en el Mediterráneo. No en vano, si miramos el histórico de tsunamis más importantes, nos encontramos varios episodios. De hecho, hay investigadores que sostienen que la desaparición de la Atlántida se produjo por una ola gigante.

Anuncios de cerveza

Hacía tiempo que no circulaban por ahí anuncios virales de cerveza. Es evidente que invertir en un anuncio creativo que sea capaz de divertir a la gente para que se lo pasen por ahí multiplica los resultados de la acción, si bien esta opción está ya un poco saturada con el tiempo.

Aprovechando este último que me ha llegado, he estado viendo y recopilando algunos antiguos.

Heineken, el último que circula por ahí.

Algunos más…

Continue reading

Configurar sonido en Ubuntu 8.04, Asus P5k, Chipset AD1981B

Dejo esto por aquí para no olvidarme de cómo hacerlo la próxima vez que actualice la versión de mi distro. Si has llegado aquí, posiblemente estés dándote cabezazos con el mismo problema. Hay solución.

El problema se produjo al actualizar a Ubuntu 8.04. El sonido dejó de funcionar y no había forma de hacerlo arrancar. Después de mucho buscar, encontré la solución en Alsa Project. Hay información para diferentes chipsets, con el que tenía el problema concretamente era con el AD1981B que viene con la placa base  Asus P5k. La página con los detalles de instalación está bien explicada y funcionó a la primera. Importante lanzar el alsamixer para configurar el sonido de la placa.