Mejorando el aspecto de Firefox en Ubuntu

Gracias a que Firefox permite la modificación de sus gráficos a través de sencillas hojas de estilo CSS que podemos encontrar -en el caso de Ubuntu- en /usr/lib/firefox/res/ se pueden hacer cosas extraordinarias como las que ha hecho fatsheep y que ha publicado en los foros de Ubuntu

Desde allí podeis descargar un pequeño script que instalará una hoja de estilo para mejorar la apariencia de los formularios. Podeis descargarlos desde el foro (previo registro) o desde aquí:

firefox-widgets-1.1.tar.bz2

Las mejoras son increibles, podeis contemplarlo en ésta imagen:


El único inconveniente de éste script, es que al actualizar Firefox se perderán estos cambios y habrá que repetirlos.

¿Cuál licencia escoger?

El tema de las licencias siempre me ha parecido un tanto absurdo, son sólo balbuceos legales que poca gente es suficientemente masoquista como para leerlas. La realidad es que vivimos en un estado de derecho dictado por documentos legales los cuales estamos obligados a defender y obedecer. Supongo que si por mi fuera, la única licencia de software que existiría sería la WTFPL o traducido al cristiano: Haz lo que te Salga de los Cojones Licencia Pública (Do What The Fuck You Want To Public License).

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004

Copyright (C) 2004 Sam Hocevar
14 rue de Plaisance, 75014 Paris, France
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. You just DO WHAT THE FUCK YOU WANT TO.


Simple!

Cabe resaltar que si no se utiliza ninguna licencia, implicitamente el autor está indicando un copyright sin explicarle a nadie cómo pueden utilizar ese código. Así que, teoricamente, en cualquier momento el autor puede imponer ese copyright y prohibir que se siga utilizando su código. Esta es una de las razones por la cuales desarrolladores con experiencia nunca tocan un código sin licencia ya que no tienen ningún derecho legal para hacerlo. Desafortunadamente nos gustan tanto las licencias como los estándares, por eso es que hay tantas. ¿Cuál es la diferencia entre todas estas licencias? ¿Cuál licencia es la mejor para mis desarrollos? (Personales, claro, ya que todo lo que haces en horas de trabajo es del jefe). Vamos a intentar listar las más importantes y un poco su significado:

Sin licencia:
  • Código Fuente abierto
  • Licencia ninguna
  • Clausulas: 0
  • Sin licencia, el código fuente está protegido por copyright. Se puede leer el código, pero sin derecho a utilizarlo. Para utilizarlo, se debe contactar con el autor y pedir su permiso para utilizarlo
  • Código Fuente abierto
  • Licencia permisiva
  • Clausulas: 0
  • Si el código está bajo el dominio público, cualquiera podrá utilizar este código para lo que sea. Por defecto, ninguna obra es de dominio público a menos de que el autor sea explicito sobre esto. Sino habrá que esperar una eternidad despues de que el autor haya muerto para que su obra sea pública.
GNU GPL
  • Código Fuente abierto
  • Licencia Copyleft
  • Clausulas 12
  • El sueño socialista. Tu código jamás podrá ser utilizado en ningún programa propietario. Huele a capitalistas quemados.
GNU LGPL
  • Código Fuente abierto
  • Licencia mayormente copyleft
  • Clausulas 16
  • La misma GPL pero con una valvula de presión para casos de emergencia. El código en binario puede estar relacionado con código propietario bajo circunstancias muy específicas.
Licencia MIT
  • Código Fuente abierto
  • Licencia permisiva
  • Clausulas 2
  • Dulce y corta. Incluye una limitación de responsabilidad o legal disclaimer of liability.
Licencia BSD
  • Código Fuente abierto
  • Licencia permisiva
  • Clausulas 2
  • Parecida a la del MIT. Dulce y corta. Incluye una limitación de responsabilidad con organizaciones nombradas explicitamente.
Licencia de Apache
  • Código Fuente abierto
  • Licencia permisiva
  • Clausulas 9
  • Requiere que todos los trabajos derivados muestren una notificación de cualquier código licenciado o propietario en un lugar común.
Licencia de Eclipse EPL
  • Código Fuente abierto
  • Licencia permisiva
  • Clausulas 7
  • Amigable con la economía. Permite que trabajos derivados escojan su propia licencia para su contribución.
Mozilla MPL
  • Código Fuente abierto
  • Licencia copyleft blandengue
  • Clausulas 13
  • Permite total libertad de para mezclarse con software propietario.
Microsoft Permissive License (Ms-PL)
  • Código Fuente abierto
  • Licencia permisiva
  • Clausulas 3
  • Parecida a las licencias MIT y BSD. No está aceptada por la OSI como licencia y es ofrecida como una veriante de la LGPL sólo para Windows.
Microsoft Community License (Ms-CL)
  • Código Fuente abierto
  • Licencia copyleft
  • Clausulas 3
  • Parecida a la GPL. Requiere que todo el código contribuido, sea devuelto a la comunidad. No está aceptada por la OSI como licencia y es ofrecida como una veriante de la LCL sólo para Windows.
Microsoft Reference License (Ms-RL)
  • Código Fuente propietario
  • Licencia Sólo para Lectura
  • Clausulas 3
  • Se puede revisar y copiar el código, pero jamas utilizarlo o modíficarlo. Permite una ventana para mirar dentro de código propietario.
Despues de terminar ésto, he aprendido dos cosas:
  1. Me duele la cabeza.
  2. Sigo prefiriendo la WTFPL
No quiero entrar en una jihad acerca de las diferentes licencias, esto es lo que he podido resumir de leer las anteriores y todos los demás temas como:
  • OSS vs Software Propietario
  • licencias copyleft vs licencias permisivas
  • el tema pernicioso de las licencias de software

No entran en ésta entrada. El desarrollo de software es un campo de minas y con esto sólo quiero que incluyáis una licencia con vuestro software cada vez que vayáis a liberarlo, hacedle ese favor a sus colegas desarrolladores.

Escoged una licencia, la que sea! Disclaimer: Sé que intentar explicar licencias como la GPL en dos lineas es un tanto simplista, pero para quienes deseen indagar más y sacar sus propias conclusiones, está la wikipedia.

MicroFUD (antes Microsoft)

Varias publicaciones se hacen eco hoy del articulo de la CNN Microsoft takes on the free world sobre la estrategia del gigante de Redmond para desacelerar la adopción del OSS como solución alternativa a su monopolio y hacerse un poco de publicidad.

Este tipo de publicidad ya viene siendo utilizada por Microsoft o sus lacayos (SCO) con el fin de generar nervios en todos aquellos quienes tengan la capacidad de decisión en la incorporación de sistemas como GNU/Linux en los diferentes estratos sociales y económicos. Desde pequeñas empresas hasta grandes corporaciones y entidades gubernamentales.

En resumen (el artículo es bastante largo) Mr. Steve Ballmer indica el uso de hasta 235 patentes de Microsoft en GNU/Linux y otro software de código abierto. Así mismo, su intención es hacer que sea el usuario final quien deba pagar por estas patentes.

Sacar a la luz esto es un claro signo del nerviosismo de la empresa ante la vigorosa competencia que está recibiendo por parte de la comunidad, de otros gigantes del sector como IBM, Sun, Apple y RedHat. La apatía hacia la nueva versión de Windows y la lenta adopción (si es que hay alguna) a nivel mundial de sus soluciones pone en entredicho la capacidad innovadora y la calidad de los nuevos productos de la multinacional.

Demostrar que todas estas son palabras dictadas por el mercado y que no serán en ninguna manera adoptadas por Microsoft es bastante sencillo. Lo primero a enfatizar es el intercambio de patentes que existe, por ejemplo, entre uno de los mayores inversores en Linux, IBM. Sería un poco irritante para el gigante azul ver que sus clientes son demandados por comprar sus servicios orientados a Linux, por lo que sería más que obvio el contraataque. Y no sólo por parte de IBM, sino por muchas otras empresas que podrian demandar a usuarios de soluciones Microsoft bajo las mismas premisas una vez abierta la veda.

Esto de ninguna manera afecta al movimiento y a la comunidad OSS. Para poder demostrar que se estan infringiendo patentes, deberían presentar un listado exhaustivo. Y ya en ese momento y en menos de un mes, habrían miles de rpm's y deb's de parches para evitar dichas patentes, como habría sucedido si SCO hubiese presentado su lista.

Todo este tema de patentes de software es en los EE.UU. por lo que a nosotros no nos debe preocupar por el momento, pero sí a los políticos que intentan implementar estas patentes en la UE. Imaginen un mundo en el que una empresa va demandando a media humanidad por hacer doble click. ¿Un mundo donde no existen otros idiomas más que el ingles? Imaginen que la empresa que controla el 99% de las patentes del desarrollo mundial decide que un idioma no tiene la suficiente base de usuarios como para traducir todo un sistema operativo o una suite ofimática.

No os dejeis engañar por éste tipo de publicidad engañosa. Lastimosamente, Steve Ballmer tiene una mayor resonancia en los medios que RMS o De Icaza y todas las tonterías que dice acaban siendo primera página, ojala tuviéramos esa oportunidad. Esta sería una buena encuesta: ¿Qué FUD utilizarías en contra de Microsoft? Seguramente la respuesta de muchos sería: ninguno. Ya que realmente, no hace falta.

(antes publicado en hispalinux.es)

¿Está su PC libre de virus? Infectese aquí

Es increible y a la vez no lo es, lo que he visto hoy en el blog de Didier Stevens, sobre seguridad.

http://didierstevens.wordpress.com/2007/05/07/is-your-pc-virus-free-get-it-infected-here/

En resumen, durante seis meses, creo el dominio drive-by-download.info y creo un anuncio en Google Ads que promociona algo así como:

¿Está su PC libre de virus? Infectese aquí

Aunque parezca increíble, hubo más (mucho más) de uno que hicieron click.

(antes publicado en hispalinux.es)

Efecto Vision Nocturna con Gimp

Este va a ser un sencillo tutorial de cómo realizar el efecto de visor nocturno con Gimp.
Lo primero es escoger la imágen, lo ideal sería que fuese nocturna, pero cualquiera sirve. Nuestra imágen inicial es esta:


Antes que nada, debemos convertirla a blanco y negro. En el menú Capa -> Colores -> Desaturar


A continuación debemos lograr la tonalidad verde característica de la visión nocturna. Lo vamos a hacer desde el menú Capa -> Colores -> Colorizar.


jugamos con los distintos parámetros hasta lograr una imágen como ésta:


Lo siguiente será agregar un poco de ruido para que pierda nitidez la imágen. Utilizando el filtro de desenfoque gaussiano y un valor de 2x2 realizamos el desenfoque. Luego, utilizando el filtro en Filtros -> Ruidos -> Esparcir por RGB le añadimos un poco de ruido. La imágen resulta así con el ruido a 0,08 todos los valores (desmarcar la opción RGP Independiente):


Lo siguiente será añadir el borde de lo que sería el visor. Añadimos una nueva capa transparente y utilizando la herramienta de selección elíptica (E), seleccionamos una elípse que abarque toda la imágen


Utilizando la herramienta de degradados (L), utilizamos las opciones Frente a Transparente, marcamos la opción Invertir y seleccionamos Contorno (esférica) del menú Forma


Arrastramos desde el centro de la imágen hasta alguna esquina. Ahora invertimos la selección en el menú Seleccionar -> Invertir y utilizando la herramienta de relleno (Shift + B) rellenamos la zona colindante a la elípse.
Finalmente debemos eliminar un pequeño residuo que queda en el borde. Utilizando la misma selección, llenamos el borde con Seleccionar -> Borde y un valor de 5px. Rellenamos ésta nueva selección con negro y obtenemos esto:


La siguiente es una imágen real, hecha con un visor nocturno.


Nada mal ¿eh?... Happy Gimping!

Botones con Brillo

Vamos a crear un sencillo botón con efecto de brillo.

Creamos la imágen con el tamaño deseado (p.e. 300x300) y fondo transparente. Seleccionamos toda el area rectángular y redondeamos el borde:
Menú Seleccionar -> Rectángulo redondeado.
Modíficamos el valor a 15 y pulsamo Aceptar.
Luego rellenamos con el color deseado ( Shift + b )


A continuación añadimos el brillo. Creamos otra capa transparente y la llamamos Brillo o lo que sea. La selección rectángular redondeada anterior deberia mantenerse, por lo que ahora, volvemos a utilizar la selección rectangular (R) en modo Extracción (presionando la tecla Ctrl). Seleccionamos el area que deseamos extraer de la selección actual.


Esto nos dejará seleccionada la zona donde vamos a aplicar el efecto de gradiente. Seleccionamos el color blanco como color de frente y la herramienta de gradientes (L). Seleccionamos la opción de Frente a transparencia:


Ahora jugamos un poco con este efecto. Presionando la tecla Ctrl (mantiene la verticalidad) arrastramos el cursos desde arriba hacia abajo probando distintas distancias hasta que consigamos el mejor resultado


Duplicamos la capa (sin perder la selección) y modíficamos ésta selección utilizando la herramienta de cambio de perspectiva (Shift + p) de manera que quede como en el ejemplo:


Tenemos la capa Brillo y Copia de Brillo en la que hemos modíficado la perspectiva. Lo siguiente será voltear verticalmente la capa brillo, de manera que quede abajo. Seleccionamos la capa Brillo y en el menú Capa -> Transformar -> Voltear vert.

Para difuminar un poco el brillo superior, utilizaremos el filtro de desenfoque gaussiano con valores 10x10. Finalmente obtenemos esto:


Podemos jugar un poco con los niveles de opacidad de las diferentes capas en lugar de volver a hacer las selecciones y los gradientes necesarios. Cualquier imágen que vayamos a incluir debe ir entre las capas de brillo y el fondo, así el efecto se verá resaltado.

Este efecto sirve tambien para otros tipos de formas. En el próximo tutorial, os enseñare cómo lograr este efecto en una cruz roja y además, añadir un efecto de espejo:


Happy Gimping!