Planeta AsturLiNUX

March 18, 2010

AsturLiNUX

Hackergotchi

Convocatoria de Asamblea General Ordinaria

18 Mar 2010 - 13:33   (http://www.asturlinux.org/noticias/126#comments comentario/s)

Queda convocada una Asamblea General Ordinaria de Socios de AsturLiNUX para el Sábado 20 de Marzo de 2010, a las 16:30 en primera convocatoria y las 17:00 en segunda convocatoria. El lugar será el Centro Municipal Integrado de Pumarin, “Gijon Sur”.

El orden del día es el siguiente:
Lectura y aprobación del acta de la Asamblea anterior.
Estado de los proyectos.
Cambios en los Estatutos
Próximas actividades.
Ruegos y preguntas.

Debido a la importancia de los temas a tratar, se ruega la máxima asistencia posible.

Por otro lado, se ruega a los socios que consulten antes de acudir el acta de la Asamblea anterior.

March 17, 2010

Manrique

Hackergotchi

Nokia N900 vs Google/HTC Nexus One: La importancia del diseño industrial

17 Mar 2010 - 14:11   (http://www.jsmanrique.es/2010/03/17/nokia-n900-vs-googlehtc-nexus-one-la-importancia-del-diseno-industrial/#comments comentario/s)

Ya hay varias revisiones y comparativas del Nokia N900 frente al Nexus One (sólo hay que buscar en Google), pero yo voy a destacar algo que los diferencia y que ha cobrado especial importancia por experiencia personal.

Los Nokia siempre han sido teléfonos con tradición de ser duros y resistentes, y ya me ha caído alguna vez el N900 al suelo. El otro día cayó boca abajo y deslizó sobre un suelo rugoso de gres y claro, piensas: Adiós pantalla. Y, ¡oh, sorpresa!, la pantalla estaba intacta. ¿Cómo?¿Por qué?

Muy sencillo, el marco que tiene la pantalla del N900 la cubre por los bordes, con lo cual, si colocas el teléfono boca abajo, apoya sobre dicho marco, y si lo deslizas, lo mismo. En definitiva, el marco se ha rayado ligeramente, pero la pantalla sigue intacta.

¿Qué hubiera pasado con el Nexus One, u otros teléfonos donde la pantalla está al ras con el marco lateral? Pues probablemente o se raya o lo que puede ser peor, que debido a que parte del golpe lo absorbe la pantalla, que esta se rompa.. y todos sabemos, que siempre dicen eso de que «la pantalla es lo único que no cubre la garantía».

Así que visto lo visto, un 10 a Nokia en diseño industrial.

LordRam

Hackergotchi

Burlando el patrón Singleton con reflectividad

17 Mar 2010 - 02:48   (http://www.carballude.es/Blog/?p=510#comments comentario/s)

Seguramente todos sabéis lo que es el patrón Singleton, pero por si alguien faltó a clase ese día, es un método de asegurarse de que una clase es instanciada una única vez independientemente del número de veces que se la llame.

El sistema de lograrlo es sencillo:

Se crea una variable estática del mismo tipo que la clase en la que se guardará una referencia a si misma (hasta la primera instancia valdrá null)

  • Se crea un método estático público que creará una instancia y asignará su valor a la variable estática.
  • Se hará privado el constructor, con lo que la única clase capaz de llamarlo (y por tanto crear el objeto) será ella misma.
  • Esto hace que nadie pueda usar new Clase(); sino que debe accederse llamando al método estático (típicamente llamado Clase.GetInstance();)

Bueno, supongamos que tenemos la siguiente implementación:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ReflectionTest
{
    public class Singleton
    {
        private static Singleton INSTANCE = null;
        private static int ID = 0;
        private int _instanceId;
 
        private Singleton()
        {
            _instanceId = ++ID;
            Console.WriteLine("Singleton created with ID={0}", Singleton.ID);
        }
 
        public static Singleton GetInstance()
        {
            if (INSTANCE == null)
                INSTANCE = new Singleton();
            return INSTANCE;
        }
 
        public void WhoAmI()
        {
            Console.WriteLine("I am instance number: {0}", _instanceId);
        }
    }
}

Si intentamos hacer un new Singleton() el compilador nos dirá que nanai, que el constructor es privado y no podemos. Nada nos impide hacer dos llamadas al método GetInstance(), pero se comportará devolviéndonos siempre la primera instancia:

1
2
3
4
Singleton singleton = Singleton.GetInstance();
Singleton singleton1 = Singleton.GetInstance();
singleton.WhoAmI();
singleton1.WhoAmI();

El resultado sería:

Singleton created with ID=1
I am instance number: 1
I am instance number: 1

Es decir, aunque hacemos dos llamadas sólo se crea un objeto (vamos, que el Singleton funciona) y efectivamente la variable de control que he introducido para hacer las cosas más claras nos indica que ambas llamadas retornan la instancia número uno.

Vale, hasta aquí todo correcto. El problema viene cuando se juega con reflectividad. En algunos casos la gente carga las clases haciendo uso de esta técnica… pero no se da cuenta de los posibles efectos laterales que puede tener. ¿Qué pasaría si intentáramos cargar la clase Singleton haciendo uso de reflectividad? Vamos a probarlo con el siguiente código, que llamará una vez a la clase Singleton, luego la cargará por reflectividad y veremos a ver si se rompe alguna tripa:

1
2
3
4
5
6
7
8
9
10
//Llamamos a GetInstance de forma "normal"
Singleton singleton = Singleton.GetInstance();
//Por reflectividad obtenemos el constructor de la clase Singleton
ConstructorInfo constructor = typeof(Singleton).GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, System.Type.EmptyTypes, null);
//Usando la información obtenida por reflectividad, invocamos al constructor
object compiled = constructor.Invoke(null);
//Como sabemos que es una clase Singleton le hacemos un ahormado para facilitarnos las cosas
Singleton reflected = (Singleton)compiled;
singleton.WhoAmI();
reflected.WhoAmI();

¿Qué salida esperaríais obtener? Siguiendo la teoría Singleton, esto debería ser exactamente igual que lo anterior, sin embargo la salida nos descoloca un poco:

Singleton created with ID=1
Singleton created with ID=2
I am instance number: 1
I am instance number: 2

¡Meeeeeec! Tripa rota. ¿Por qué ocurre esto? Bueno, la implementación que he usado del patrón de diseño Singleton se basa en la creencia (fundada) de que las variables estáticas de una clase sólo pueden tener un valor que será compartido por todas las instancias de la clase y que un método privado no puede ser accesible desde otras clases. Ambas cosas son correctas… casi siempre. La excepción está en la reflectividad.

A día de hoy no conozco ninguna implementación del Singleton que permita evitar este comportamiento. Claro que hasta hace 30 minutos que me dio por pensar esto no sabía que el Singleton podía ser burlado mediante reflectividad, así que a saber…

March 16, 2010

Hiroshige

Hackergotchi

Zauberball (Bola mágica)

16 Mar 2010 - 22:19   


¿No es lo más parecido a los colores de una flor?
:-)

Esas cosas del idioma

16 Mar 2010 - 21:23   

Hoy me ha llegado un paquete de Alemania.

Muchas veces pensé que lo complicado sería enviar o recibir cosas de Japón o de otros sitios de donde cuyos alfabetos difieran del nuestro, pero ya me han llegado varios sin problema alguno.

La cosa de las direcciones del envío es simple: se pone en una esquinita el remitente en pequeño y en la otra en grande, el destinatario. Si se hace a la antigua se pone ante el nombre de las personas, de ir destinado a una persona, el "Sra" o "Sr". Si nos columpiamos más y el paquete viene de algún lugar de habla inglesa, se sustituye por el "Mr" o "Ms".

Y esto es lo más común, pero hoy me han cambiado el nombre por un tratamiento de cortesía:

- Paquete para usted...

Abro la puerta, y me dice la cartera:

- ¿Es usted "Frauana"?

- ¿Cómorl?

- Sí: "Frauana" pone aquí...

- Ah, pues creo sí.

Menos mal que no me pidió el DNI para entregarme el paquete porque no me lo hubiera dado al poner "Ana" a secas en lugar de "Frau Ana".

Si es que no se puede ser Frau en este mundo y que te manden paquetes con la dirección al viejo estilo...

March 15, 2010

Hiroshige

Hackergotchi

Oh, Mare!

15 Mar 2010 - 14:10   


O Mare e Tu, Dulce Pontes & Andrea Bocelli

Manrique

Hackergotchi

ALOHA en el World of Health IT (WoHIT)

15 Mar 2010 - 12:43   (http://www.jsmanrique.es/2010/03/15/aloha-en-el-world-of-health-it-wohit/#comments comentario/s)

¡Y primer sprint superado (ver Scrum)! Hoy comienza el World of Health IT 2010 Conference & Exhibiton y ALOHA estará presente en el stand de Continua Health Alliance, dentro del área de Interoperability Showcase, donde Andago Ingeniería enseñará sus productos e investigaciones en el campo de la eSalud.

¿Qué es ALOHA? El nombre viene de Android Live OHA y es una aplicación libre para Android que permite conectarse con un gestor de comunicaciones bluetooth según los estándares definidos por IEEE 11073:20601 para obtener medidas de dispositivos médicos, y posteriormente enviarlas a gestores de repositorios de Personal Health Record. Este gestor de comunicaciones o manager ha sido desarrollado por la Cátedra Ándago de la Universidad Rey Juan Carlos, dentro del proyecto OpenHealth alojado en Morfeo.

De cara al WoHIT, y partiendo del manager desarrollado, hemos creado una aplicación que implementa la especialización para dar soporte a básculas (con lo que se une a las de termómetro y pulsioxímetro ya disponibles) y envía los resultados de las medidas a los servicios de Google Health y de Ándago.

Desde luego quedan muchas cosas por hacer, pero hasta ahora el desarrollo ha dado mucho juego y pronto veremos novedades sobre esta aplicación.

Más información en el blog de Ándago.

Hiroshige

Hackergotchi

Haberlas, haylas

15 Mar 2010 - 09:27   

- Ay, que planta tan guapa. ¿Es de verdad?

Y al día siguiente la planta murió...

LordRam

Hackergotchi

¿Alejandro Ramos se pasa por la EUITIO?

15 Mar 2010 - 02:52   (http://www.carballude.es/Blog/?p=509#comments comentario/s)

Bocas. Así me he quedado, bocas. Esta leyendo Security By Default (que descubrí gracias a Alejandro Sáez y que os recomiendo) cuando en una de las capturas me encontré lo siguiente:

13-03-2010 16-57-46

La autoridad de certificados justo encima de la FNMT es, ni más ni menos, que la EUITIO. ¿Alejandro Ramos ha leído en algún momento el foro de la EUITIO? La verdad es que nunca se sabe quién podría leer lo que escribes en Internet, pero desde luego, no creo ninguno pensásemos en que podría ser alguien de su talla.

Seguro que es escribir esto y darme cuenta que existe otra organización con las mismas siglas y no mi antigua universidad no le visitaba Ramos…

March 12, 2010

Hiroshige

Hackergotchi

En el bus...

12 Mar 2010 - 17:44   

- No, pues irá a una boda porque así... ¡Así no se sale de casa todos los días!

- No, pues tiene que ser de boda porque si no...

- ¡Bah! Si están muy guapas, pero cuando les quitas el maquillaje dan miedo...

Menos mal que del otro oído no oía por el catarro que si no, me hubiera puesto colorada y todo.

moño boda

Si despierto estos comentarios, creo que me dejó bien la sesión de chapa y pintura x-D

¿Preocupación?

12 Mar 2010 - 09:02   

Hace unos meses hubiera estado encantada pero hoy... La última vez que pesé esto trabajaba en un restaurante y me alimentaba a base de lechuga y pinchos de tortilla.
Como pase la barrera de los 70, cosa que no veo desde que iba al instituto, va a ser preocupante de verdad.

Menos mal que en casa hay máquina de coser e hilo, que si no, no sé yo.

¡Es que me consumen!

LordRam

Hackergotchi

GIMP, cómo NO diseñar un mensaje

12 Mar 2010 - 08:00   (http://www.carballude.es/Blog/?p=506#comments comentario/s)

Yo estaba tranquilamente trabajando con GIMP cuando tuve la genial idea de crear un GIF animado. Es realmente sencillo, simplemente vas a capa por frame y luego eliges guardar como GIF especificando un par de opciones.

Todo salió bien y la imagen está perfectamente. ¿Por qué comento esto? Bueno, porque cuando estaba guardando el archivo GIMP me dio el siguiente mensaje (que no sé si es de error, de advertencia, de información o de cachondeo):

Es un perfecto ejemplo de cómo NO hacer un mensaje:

mensaje gimp

  • Evita títulos tan descriptivos como “Mensaje de GIMP”. Vaya hombre, gracias, no me había dado cuenta de que era un mensaje ni de que trabajaba con GIMP.
  • Si estás describiendo un error, asegúrate de que digas de dónde viene. Yo trabajaba con una sola imagen, así que no era muy difícil de descubrir, pero si llego a tener más (cosa que sería muy normal) eso de “Imagen GIF” sería más una obviedad que un identificador.
  • Si das una opción, no digas luego que te la saltas porque es una estupidez. Si sabes que hay que incluir un retardo porque si no la CPU será consumida (en las llamas de Mordor por como lo pinta el mensaje) ¿por qué diablos me dejas decirte que no pongas retardo si luego vas a pasar de mi?
  • Es cierto que los usuarios no quieren oír vocabulario técnico que no conocen. El problema es que escribir un mensaje técnico con palabras coloquiales no lo hace menos técnico, solamente gracioso para los programadores. Una “animación chupadora de CPU” es tan claro como decir “algoritmo de complejidad temporal no polinómica”, vamos, ni flores.

GIMP puede ser un buen producto, pero la usabilidad debe tenerla tan desarrollada como Scooby-Doo el valor.

March 11, 2010

Rastal

Preparando el viaje al CERN

11 Mar 2010 - 13:05   (http://blog.samuelig.es/?p=567#comments comentario/s)

Como muchos sabéis (ya sea por Twitter u otra forma), empiezo a trabajar el 1 de Abril en el CERN. Este mes estoy arreglando todos los papeles que tengo que hacer, comprar distintas cosas que necesitaré, preparar el coche para el viaje (sí, voy en coche :-) ), despedirme de la gente, organizarme la tesis… con lo que estoy que no paro, literalmente.

Uno no sabe la cantidad de cosas que tiene por hacer, tonterías dadas de alta, pijadas que se necesitan… hasta que, por una razón como esta, tienes que revisarlo todo para dejarlo zanjado y sin ataduras aquí.

Me marcho el último fin de semana de Marzo para allí (con lo que celebraré mi cumpleaños en Suiza jeje). Ya tendréis noticias mías.

Hiroshige

Hackergotchi

Doctor doctor...

11 Mar 2010 - 09:28   

- Buenos días, ¿qué te pasa?

- Lo de siempre: la garganta destrozada, fiebre desde hace una semana, moqueo mucho y me duele la cabecita... Ehé, ehé, no puedo respiiiraaar.

- A ver, vamos a auscultar... No, pues parece ser que lo que tienes son mocos. Armados y peligrosos...

- ¿Y eso es grave?

- No sólo implica que te estás convirtiendo en la muñeca mocoseta. ¿A que se te cierran los ojos cuando te pones en posición horizontal?

- Pues sí, ha de ser cierto el diagnóstico...

Mekawen las infecciones respiratorias de los webos.

LordRam

Hackergotchi

El tiempo según Facebook

11 Mar 2010 - 08:00   (http://www.carballude.es/Blog/?p=503#comments comentario/s)

Facebook es una de esos sitios que nunca dejará de fascinarme. Hoy he descubierto que los eventos de Facebook sufren una variante temporal del principio de Heisenberg. Mi postulado es el siguiente:

Es imposible determinar de forma simultánea y con precisión el lugar y hora de un evento de Facebook.

Aquí está la prueba:

facebooktiming

Se observa que si se conoce que el evento será hoy, no se tienen datos del lugar. Si se obtienen dichos datos, se modifica el estado temporal forzándolo a una fecha futura.

Ahora en serio… ¿qué leches le pasa a mi Facebook?

March 10, 2010

LordRam

Hackergotchi

Recuerdo de un amor

10 Mar 2010 - 02:14   (http://www.carballude.es/Blog/?p=500#comments comentario/s)

Noches largas y pesadas,
rezumantes de maldad,
pudo ser tu veneno
o mis besos sin piedad.

Triste luz que me acompaña
dulce sombra me acogerá
serán tus labios mi destino
serás mi muerte al despertar.

Arrulla el viento la melodía
de quién ya no te verá,
a él confío mi lamento,
que sus ecos preservarán.

No conservo la esperanza
de oír tu voz al medio día,
reclamando mis besos,
mi atención, mi compañía.

Contra tu pelo la suave brisa,
parece canciones entonar,
bellas, tiernas y profundas,
que nadie osa pronunciar.

Seré yo quien os olvide,
seréis vos quien no recuerde,
será esta historia borrada,
no lloréis, no estaré triste.

Doy muerte a estas líneas,
pongo fin a esta tragedia,
entierro mi corazón,
con vos, termina mi existencia.