Tetris humano
Curioso video...
Me había prometido a mi mismo, hace ya mucho tiempo, NO hacer el típico copy y paste del blogger (por eso las secciones, "Blogging Semanal")... en donde copio una noticia y pongo el enlace a ella (confiando en el pingback). Pienso que no tiene gracia tener un blog con el contenido de otro, en fin... La cosa es que hoy estoy cansado, algo enfermo, y encuentro una muy buena notica en el blog DiarioLinux, y no me queda más que hacer el fastidioso copy&paste:
El proyecto APOC (A Point of Control) está basado en el producto Sun Desktop Manager, desarrollado originalmente por el equipo Sun Ray de Sun Microsystems, en un esfuerzo para ofrecer la capacidad de gestión centralizada el sistema Sun Java Desktop. En 2007, SUN decidió donar y promover APOC como un proyecto opensource al proyecto FreeDesktop.org, con el objetivo de construir una comunidad alrededor de este software y extender el uso de APOC al mayor número de aplicaciones y sistemas operativos posible. Finalmente, tras 8 meses de duro trabajo liderado por Alberto Ruiz, Sun publicó el código fuente de APOC usando una licencia dual CDDL/GPLv2.
APOC ofrece funcionalidades para gestionar de forma centralizada escritorios y aplicaciones de escritorio en grandes despliegues informáticos. Permite a los administradores de sistemas distribuir de forma segura entornos de escritorio open source correctamente configurados, y optimizados en función de las necesidades y privilegios de los usuarios, basándose en roles, grupos y hosts dentro de la organización.
Con APOC, cualquier administrador de sistemas puede crear y agrupar configuraciones en forma de perfiles para las aplicaciones open source más populares y desplegar esos perfiles en sus servidores LDAP, usando la jerarquía que ya tengan definida.
El código fuente, wiki, bugzilla y lista de distribución del proyecto ya están online en apoc.freedesktop.org
Fuente: DiarioLinux
Puede que para algunos usuarios, a nivel de escritorio, no sea la gran cosa... pero para alguien que haya trabajado en empresas con servidores, y esté algo triste de solo ver Windows 2003 Server instalado, y que pocos apuesten por Gnu/Linux a nivel empresarial... es una noticia muy buena!
Las entradas interesantes de fin del año 2007... y de principios del 2008:
La imagen de la semana la he visto en Tinta Fantasma: Pasabocas Tux:

Hablamamos en anteriores entradas acerca de la programación multihilo o concurrente en Java, e hicimos algunos ejemplos de sincronización. De nuevo veremos algo de subprocesamiento múltiple, esta vez explicando el uso de los semáforos. Primero veamos algo de teoría:
Un semáforo binario es un indicador (S) de condición que registra si un recurso está disponible o no. Un semáforo binario sólo puede tomar dos valores: 0 y 1. Si, para un semáforo binario, S = 1 entonces el recurso está disponible y la tarea lo puede utilizar; si S = 0 el recurso no está disponible y el proceso debe esperar.
Los semáforos se implementan con una cola de tareas o de condición a la cual se añaden los procesos que están en espera del recurso. Sólo se permiten tres operaciones sobre un semáforo:
- Inicializar
- Espera (wait)
- Señal (signal)
En algunos textos, se utilizan las notaciones P y V para las operaciones de espera y señal respectivamente, ya que ésta fue la notación empleada originalmente por Dijkstra (el creador de la solución) para referirse a las operaciones.
Lo importante aquí es entender de verdad cómo funcionan los semáforos en Java. Por eso, basta de práctica y vamos al código. Aún así, sería bueno que le echaras un ojo a los siguientes documentos de referencia:
Lo primero es ver una aplicación fictica corriendo SIN el uso de los semáforos, para luego entender mejor su utilidad. Su pongamos que tenemos 4 procesos (p1, p2, p3, p4), cada proceso realiza su "tarea" simultaneamente (durante un tiempo indefinido) y posteriormente termina. Supongamos además que necesitamos que se ejecuten primero los procesos P1 y P3, y luego P2 y P4. Leer el resto de la entrada...
Casi en respuesta de la anterior tira, que tanto dio de hablar, Dani ha dibujado esta ultima llamado Troll:

Casi se me olvida... Antes que nada: Feliz Año!
Como resultado de algunas dudas que me han planteado vía correo, escribo esta entrada en donde les mostraré lo sencillo que es probar nuestros Applets de Java en navegadores como Firefox sobre plataformas Gnu/Linux.
Lo primero es tener el JDK o el JRE instalados. En este caso, y teniendo en cuenta que este es un blog orientado más hacia la programación, lo voy a hacer como si fuera con el JDK (que lo podemos descargar de aquí).
Luego, lo único que debemos hacer es crear un enlace simbólio a la librería libjavaplugin_oji.so, en el directorio plugins del navegador, por ejemplo:
ln -s /usr/jdk/jre/plugin/i386/mozilla/libjavaplugin_oji.so /usr/lib/mozilla/plugins/
Es todo. Ahora puedes depurar tus Applets!