22 noviembre 2009

Google Chrome OS, ¿es una broma?

Es bastante difícil negar el hecho de que Google se ha convertido en una de las empresas más importantes de Internet. Su motor de búsqueda es usado por millones de personas todos los días, en el mes de agosto fue el motor elegido para el 64% de las búsquedas en todo el mundo. En algunos países, como España, es el motor indiscutible de las búsquedas (su cuota de mercado es superior al 90%).

Google es mucho más que el buscador presentado en 1997. Algo más de una década después se nos hace difícil encontrar una dirección sin Google Maps, recibir un correo sin GMail o seguir los blogs de nuestros amigos sin Google Reader, por nombrar algunos de sus servicios.

Google Chrome fue presentado en Septiembre de 2008, como si de una revolución se tratase (y en cierta medida lo fue). Actualmente cuenta con un 3% del mercado, a pesar de la falta de ciertas características, como las extensiones (están en ello, ya han salido las primeras).

Con todo este panorama, es normal que el anuncio de Google Chrome OS haya causado tanto revuelo. Yo me he decidido a probarlo y en una escala de 1 a 10, siendo 1 lo mínimo y 10 lo máximo, le doy un -5.

Según arrancamos, obtenemos una pantalla de login. Aquí llega la primera sorpresa, el login es remoto… se usa la cuenta de google:

login

Lo primero que vemos es nuestro correo y calendario, de Google, claro. Podemos crear una nueva pestaña:

newTab

Es decir, lo que estamos viendo en Chrome, el navegador… sin más. Exploremos un poco… la esquina superior izquierda parece el menú:

mainMenu

Como podéis notar, todas las aplicaciones son online. Hasta el ajedrez, que resulta ser un fichero flash:

chess

Podemos hacer “accesos rápidos” a las páginas (aplicaciones según Google) que más usemos:

pinTab

Al margen de que los menúes tienen una estética horrible y merecen la muerte, en la esquina superior derecha, junto al indicador de batería, parece que hay dos menúes de sistema:

pageMenu

Que cosas… si es el menú de Chrome, el navegador web. Quizá el otro tenga algo más jugoso:

wifiMenu

Simplemente nos deja enceder o apagar las redes.

Es decir, Chrome OS es Linux con Chrome como interfaz del sistema. Para mí la idea es bastante horrible. ¿Qué pensáis vosotros?

15 noviembre 2009

Karaoke para todos

SingStar es probablemente el juego de karaoke más conocido. El único problema es que corre únicamente sobre PlayStation 2 o PlayStation 3, y no hay ninguna intención de portarlo a otras plataformas.

Afortunadamente mucha gente ha unido esfuerzos y han creado clones capaces de correr en otros sistemas:

  • Windows: Te recomiendo UltraStar Deluxe. En su página tienes el binario listo para instalar :)
  • Linux: Performous es tu mejor apuesta. Es probablemente el más avanzado de todos.
  • MacOS X: Que la fuerza te acompañe. Hasta donde yo sé, ninguno proporciona compilaciones binarias para Mac de forma oficial. Te será posible hacerte con algunas hechas por usuarios o seguir las guías de compilación. UltraStar Deluxe tiene en su web un DMG de 2008 que debería funcionar en sistemas 10.4 y 10.5… aunque no creo que haya muchas garantías.

Además del programa, necesitamos las canciones. La forma más sencilla es descargarlas desde UltraStar España.

Para mí, usar UltraStar tiene varias ventajas sobre SingStar. La primera es que no necesito una consola. La segunda y más importante, tengo un catálogo de canciones enorme, y además, gratis :D

11 noviembre 2009

Ratón de 18 botones, ¿demasiados?

¿Habéis oído hablar del “OpenOffice Mouse”? Básicamente es un ratón de 18 botones que, supuestamente, será el más usable del mercado.

Mi teclado es uno de esos “multimedia”, con teclas extra que permiten controlar el reproductor de música y algunas cosas más. He de admitir que sus 13 teclas adicionales me resultan útiles de vez en cuando, pero siempre estoy confundiéndome. Mi teclado no es el único que tengo que usar, y no hay un estándar que diga dónde tienen que ir las teclas... vamos, que a veces abro la calculadora queriendo pausar la canción que escucho.

Es cierto que no es lo mismo, pero es bastante similar. ¿Son estos dispositivos realmente usables? ¿Pueden realmente simplificarnos las cosas o son buenas intenciones recubiertas de un mal diseño? Según dicen en la web, cada botón hará distintas cosas dependiendo de la aplicación. Como ingeniero entiendo el por qué, como usuario... en fin, lanzaría el ratón por la ventana cuando el botón que sirve para “Copiar” en OpenOffice intente hacer algo distinto en mi escritorio.

Los chicos de Apple han seguido una aproximación totalmente diferente, Magic Mouse. No tiene ni un sólo botón... toda su superficie es multi-táctil.

En serio, ¿con cuál os quedáis? Yo no me imagino a mi madre usando de forma efectiva un ratón 18 botones...

600€ por mal usar Para en vez de CCO

Seguro que todos habéis recibido correos en cadena. Uno de esos correos, generalmente estúpidos, que piden ser reenviados... y la gente, complaciente, así lo hace. A parte de que son bastante molestos, tienen un problema añadido: la gente envía los correos usando únicamente el campo “Para” y no el de “Con Copia Oculta”, así que acabas con cientos (y no exagero) de direcciones de correo (y normalmente junto con su nombre y apellidos) de un montón de gente que seguramente ni conoces.

Según parece, la Ley Orgánica de Protección de Datos de Carácter Personal española, contempla esto como un hecho sancionable con hasta 600€ (estaría bien que alguien pudiera confirmar esto... mi fuente no parece muy fiable...).

Siempre me ha parecido que esos usuarios son muy descuidados (es bastante cuestionable también que el comportamiento por defecto de los clientes de correo sea usar el campo Para), pero siempre lo he achacado a un analfabetismo más que a una mala intención. No niego que una medida como esta puede resultar ciertamente efectiva, y desde un punto de vista pragmático quizá sea de las más acertadas. No obstante, no creo que empezar a multar con 600€ a todo aquel que comenta una falta como esta sea ni la mejor solución, ni remotamente viable.

¿Qué os parece a vosotros?

Hacer que Flash reconozca los clicks

Ayer me puse a solucionar algunos problemas que tenía con Ubuntu 9.10, Karmic Koala para los amigos. Todos fueron más o menos simples de solucionar... pero uno de ellos me llevó por la calle de la amargura bastante tiempo.

Resulta que el plugin de flash 10 funcionaba “bien”, pero en algunos casos (como en la web de la BBC) ignoraba todos los click que le hiciera. Como podéis comprender, era bastante inútil. Lo curioso es que sólo ocurría cuando Compiz estaba activo.

Tras un rato consultando con Google, encontré la solución en una lista de correo. Aquí os la pongo:

1. Abrir una terminal.
2. Escribir: cd /usr/lib/nspluginwrapper/i386/linux/
3. Escribir: sudo mv npviewer.bin npviewer.bin.real
4. Escribir: sudo pico npviewer.bin
5. Añadir las siguientes líneas al fichero:
#!/bin/sh
GDK_NATIVE_WINDOWS=true /usr/lib/nspluginwrapper/i386/linux/npviewer.bin.real $*
6. Presionar "Ctrl+x" para salir y guardar.
7. Escribir: sudo chmod 755 npviewer.bin

Si ahora reiniciais el ordenador, flash ya debería responder como dios manda. A ver si solucionan pronto el fallo... estas son las pijadas que te vuelven loco horas...

02 noviembre 2009

Apple contra hackintosh Intel Atom

Acabo de leer en Wired que la próxima actualización de Mac OS X (10.6.2) evitará que procesadores Intel Atom puedan ejecutarla. Dicho de otra forma, la gente que tenga un hackintosh basando en Intel Atom no deberá instalar la actualización o se cargará el sistema.

No tengo un Intel Atom y en estos momentos no uso ningún Hackintosh, pero sí que lo he hecho en el pasado y no creo que Apple tenga derecho a decirme dónde puedo o no ejecutar sus programas.

A mí me parece muy bien que Apple quiera dar soporte de MacOS X sólo a ordenadores Apple pero, poner trabas de este tipo a terceros ¿no es deshonesto? ¿Soy el único que duda de la legalidad de su contrato de licencia? ¿Deberíamos permitir que las empresas digan que podemos y qué no podemos hacer con sus productos?

10 septiembre 2009

¿Por qué dicen que C# es igual que Java?

Estos días he estado ayudando a algunos amigos que están acostumbrados a trabajar en Java a hacer unas prácticas en C#. Mucha gente dice que C# “es como Java”, pero me parece que es una mentira bastante gorda. Uno puede hacer código C# como si de Java se tratase, sí… pero quedaría “raro” y farragoso.

Pongamos un ejemplo, imaginemos que tenemos una clase persona que almacena Nombre, Edad y Lugar de nacimiento. En Java estaríamos hablando de esto:

public class Persona {

private String nombre;
private int edad;
private String lugarNacimiento;

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public int getEdad() {
return edad;
}

public void setEdad(int edad) {
this.edad = edad;
}

public String getLugarNacimiento() {
return lugarNacimiento;
}

public void setLugarNacimiento(String lugarNacimiento) {
this.lugarNacimiento = lugarNacimiento;
}

}


En C# el código se simplifica bastante:



    public class Persona
{
public string Nombre { get; set; }
public int Edad { get; set; }
public string LugarDeNacimiento { get; set; }
}


A simple vista el código de C# es más sencillo, pero sigamos con el ejemplo. Creemos una lista de objetos persona. La lista tendrá 5 personas. En Java:



		ArrayList lista = new ArrayList();
Persona carlos = new Persona();
carlos.setNombre("Carlos");
carlos.setEdad(20);
carlos.setLugarNacimiento("Madrid");
Persona pablo = new Persona();
pablo.setNombre("Pablo");
pablo.setEdad(22);
pablo.setLugarNacimiento("Gijón");
Persona manolo = new Persona();
manolo.setNombre("Manolo");
manolo.setEdad(46);
manolo.setLugarNacimiento("Lugo");
Persona pedro = new Persona();
pedro.setNombre("Pedro");
pedro.setEdad(33);
pedro.setLugarNacimiento("Crevillente");
Persona alejandro = new Persona();
alejandro.setNombre("Alejandro");
alejandro.setEdad(27);
alejandro.setLugarNacimiento("Cuenca");
lista.add(carlos);
lista.add(pablo);
lista.add(manolo);
lista.add(pedro);
lista.add(alejandro);


Ahora en C#:



            Persona carlos = new Persona() { Nombre = "Carlos", Edad = 20, LugarDeNacimiento = "Madrid" };
Persona pablo = new Persona() { Nombre = "Pablo", Edad = 22, LugarDeNacimiento = "Gijón" };
Persona manolo = new Persona() { Nombre = "Manolo", Edad = 46, LugarDeNacimiento = "Lugo" };
Persona pedro = new Persona() { Nombre = "Pedro", Edad = 33, LugarDeNacimiento = "Crevillente" };
Persona alejandro = new Persona() { Nombre = "Alejandro", Edad = 27, LugarDeNacimiento = "Cuenca" };
List lista = new List() { carlos, pablo, pedro, alejandro };


No sé a vosotros, pero a mí al menos me parece mucho más claro y cómodo C#. En cualquier caso, sigamos. Nos interesa listar todas las personas que tengan más de 25 años y hayan nacido en una ciudad que contenga la letra ‘e’. Además, queremos la lista por orden alfabético.



Veamos cómo se las arregla Java:



	private ArrayList ordenarYFiltrar(ArrayList lista) {
ArrayList aux = new ArrayList();
for (int i = 0; i < lista.size(); i++) {
if(lista.get(i).getLugarNacimiento().contains("e") && lista.get(i).getEdad() > 25)
insertaEnPosicion(aux, lista.get(i));
}
return aux;
}

private void insertaEnPosicion(ArrayList aux, Persona persona) {
for (int i = 0; i < aux.size(); i++) {
String actual = aux.get(i).getNombre();
if (actual.compareTo(persona.getNombre()) > 0) {
aux.add(i, persona);
return;
}
}
aux.add(persona);
}

[...]
lista = ordenarYFiltrar(lista);
for(Persona persona : lista)
System.out.println(persona.getNombre());
[...]


Ahora veamos cómo sería eso en C#:



            lista = (from persona in lista where persona.Edad > 25 && persona.Nombre.Contains('e') orderby persona.Nombre ascending select persona).ToList();
lista.ForEach(x => Console.WriteLine(x.Nombre));


No me parece que se pueda decir que C# es igual que Java ni que tengan la misma productividad…

31 agosto 2009

GoEar Downloader actualizado

Hace unos meses os hablé de “GoEar Downloader”, una pequeña utilidad que había creado para descargar música de GoEar. Hace unas semanas dejó de funcionar porque GoEar había cambiado la web y hoy me he puesto a arreglarlo.

Ya que estaba haciendo cambios, le he incorporado también la función de búsqueda por álbum, que siempre la he echado de menos en la web de GoEar. Recordad que se trata de un desarrollo rápido, así que los errores están más que garantizados :P

goear

Tenéis el msi de instalación aquí: http://www.carballude.es/Projects/GoEar%20Setup.msi

Por si a alguien le interesa, el código fuente de la librería está en: http://www.carballude.es/Projects/GoEar%20Library.zip

16 agosto 2009

The ugly truth

Ayer fui a verla y, la verdad es que cumple lo que promete. No se hace aburrida en ningún momento y tiene buenos golpes de humor. Los actores lo hacen bien y no hay nada que echarles en cara. ¿Dónde está el “pero”?

El guión. La película es previsible hasta el aburrimiento. Una de esas en las que casi puedes ir adivinando el diálogo palabra por palabra.

Si queréis disfrutar de una tarde de cine, esta no es vuestra película. Si como yo sólo queríais resguardaros del mal tiempo y pasar un rato entretenido, podéis apostar por “The ugly truth”.

Cambios en el blog

Como ya habréis notado aquellos que no me leáis por RSS, he cambiado el tema del blog. No es que hubiera nada malo con el anterior, simplemente me he cansado de él ;)

También he añadido un pequeño apartado de RSS para el fotolog, que hacía años que no usaba y ahora intentaré utilizar un poco más.

Por si alguien está pensando que no ha cambiado nada… me estoy refiriendo a mi blog principal http://blog.carballude.es Este que veis aquí es sólo una réplica que mantengo por tradición, pero nada más ;)

El resto de cosas siguen igual que siempre y no tengo pensado cambiar mucho más, claro que siempre se aceptan sugerencias. La frecuencia de actualización es altamente irregular, pero en lo que va de año he publicado más del doble (247%) que en todo el año pasado.

En fin, que muchas gracias a todos los que me leéis y a los que dejáis comentarios, siempre es agradable saber que tu punto de vista ha sido útil o que alguien ha podido beneficiarse de alguno de tus truquitos.