Efecto Genie (MacOS) en Compiz de manera sencilla

El efecto Genie al minimizar es conocido en el SO MacOS. En linux gracias a Compiz tenemos un efecto muy parecido, en este caso el Magic Lamp o Lámpara Mágica, pero que no es del todo igual por tener al menos 3 ondas al ejecutar el efecto. Estas se pueden quitar haciendo una serie de modificaciones como se explica aquí en Genbeta.

Pero para no instalar editores hexadecimales, y andar modificando archivos un tanto complicados de modificar para más de uno, he creado un pequeño programita en C que hace esto en un solo paso, con tan solo ejecutar el archivo.

El ejecutable lo podéis descargar desde aquí.

Simplemente hay que darle permisos de ejecución y ejecutarlo con permisos de administrador (porque necesita modificar un archivo en /usr/lib/compiz/ y en /usr/share/compiz/ ) así:

chmod +x genie_compiz
sudo ./genie_compiz

Leer más de esta entrada

Anuncios

Java vs .NET

http://dai.ly/duoJGg

Debian elimina Eclipse IDE de los repositorios, ¿lo hará también Ubuntu?

No entiendo muy bien la razón de esta decisión, pero como vemos nada más empezar el changelog de la última actualización de Debian 5.0.5, eclipse es eliminado de los repositorios. Eclipse es un IDE (Integrated development environment) muy usado y extendido, no sólo para Java si no para otros lenguajes como C/C++ o PHP con soporte de multitud de plugins, y me atrevería a decir que es el mejor o uno de los mejores junto con NetBeans y posiblemente IDEA, y es 100% open source.

Por ello no entiendo esta decisión, que podría reflejarse directamente en Ubuntu al estar este basado en Debian, pero aunque no me cuesta nada descargar Eclipse de la página oficial y ejecutarlo sin ningún problema, tenerlo en los repositorios es sin duda una ventaja que hace que además esté más integrado con el sistema.

De hecho, y como veis en la imagen, si hacemos una búsqueda del paquete eclipse en debian packages con la distribución estable, el paquete no existe, y en versiones antiguas, si.

changelog
anuncio
Fuente

Como preparar Eclipse para desarrollar aplicaciones para móviles en Java (J2ME)

En primer lugar tenemos que bajar el Sun Java Wireless Toolkit desde aquí:

http://java.sun.com/products/sjwtoolkit/download.html

y antes de instalarlo, instalaremos las dependencias necesarias con:

sudo apt-get install libxpm-dev libxt-dev libx11-dev libice-dev libsm-dev libc6-dev libstdc++6-dev

ahora sí, instalaremos el Sun Java Wireless Toolkit que hemos descargado, como es un fichero .bin primero tendremos que darle permisos de ejecución y luego ya lo podremos ejecutar desde la consola, todo ello con (el nombre del archivo puede variar dependiendo de la versión descargada):

chmod +x sun_java_wireless_toolkit-2.5.2_01-linuxi486.bin.sh
./sun_java_wireless_toolkit-2.5.2_01-linuxi486.bin.sh

Tendremos que leer el contrato y aceptarlo, introducir el path de la JVM, que para mi caso es este:

/usr/lib/jvm/java-6-sun/bin/

y coger las opciones pertinentes para que lo instale.

Ahora vayamos con Eclipse, instalaremos el plugin EclipseME (Mobile Edition) siguiendo estas instrucciones:

http://eclipseme.org/docs/installation.html
http://eclipseme.org/docs/installEclipseME.html
http://eclipseme.org/docs/configuring.html

Si todo salió bien, en Window > Preferences deberíais ver un apartado que se J2ME.

Y con esto tendremos todo listo para desarrollar nuestras aplicaciones para movil!

Popularidad de los lenguajes de programación

Fuente: sourceforge

Qué traerá Java 7

A unas semanas de la renuncia de Gosling a Oracle y en un mundo en que tanto Groovy, Scala como Clojure, todos lenguajes implementados sobre la JVM no paran de crecer y amenazan reemplazar a un alicaído Java, les vamos a comentar algunas de las novedades que traerá la séptima versión del popular lenguaje, que vería la luz a finales de año (aunque dicen las malas lenguas que esta fecha podría posponerse para el 2011).

Soporte a lenguajes dinámicos

Java es un lenguaje fuertemente tipado, mas no tanto a nivel de bytecode, pero esto es un problema para lenguajes dinámicos como Groovy o Jython, que trabajan sobre la JVM. Para mejorar la integración se introducirá, además de varias clases nuevas, un nuevo bytecode, simplificando la implementación de compiladores dinámicos con una mejor performance.

Strings en switch

Leer más de esta entrada

Como ver archivos PHP en Linux

En Linux podemos ver archivos PHP de una manera realmente sencilla, sólo tenemos que instalar unos paquetes (que en la mayoría de distribuciones se encuentran en los repositorios), y listo.

PHP es un lenguaje que se compila en un servidor y nos devuelve un código HTML que es lo que nosotros vemos en las páginas. Por eso, cuando nosotros creamos un archivo PHP típico, como un “Hola Mundo”, y lo intentamos visualizar, sólo veremos el código, y no como se visualizaría en la página. Para solucionar esto, necesitamos instalar PHP, Apache y MySQL en Ubuntu, algo tan sencillo como instalar los siguientes paquetes:

sudo apt-get install php5 apache2 mysql-server-5.1 php5-mysql libapache2-mod-auth-mysql

Con esto ya tendremos “nuestro propio servidor”, para visualizar los archivos PHP. La carpeta en la que debemos situarlos es:

/var/www/

Donde es recomendable crearse subdirectorios. Para visualizar nuestros archivos basta con escribir en el navegador:

http://localhost/

o

http://127.0.0.1

Si allí creamos por ejemplo el Hola Mundo o directamente ponemos en un archivo index.php:

<?php
phpinfo();
?>

Visualizaremos todos los datos de PHP, como en la imagen.

NOTA: Puede que necesitemos reiniciar Apache y MySQL para que funcione:

sudo /etc/init.d/apache2 restart
sudo /etc/init.d/mysql restart

Buenos tutoriales para aprender Python

Python es un lenguaje de código abierto, disponible para Windows, Linux/Unix, MacOS e implementado en las máquinas virtuales de Java y .NET. Python es un lenguaje interpretado (como JavaScript, PHP o Lisp) que permite programar en varios estilos como programación orientada a objetos, programación estructurada y programación funcional.

Este lenguaje destaca por ser bonito y simple a la hora de programar, y como curiosidad decir que Python es uno de los lenguajes más utilizados por Google (junto con Java y C++, aunque ya veremos como evoluciona GO! el lenguaje de Google) lo cual dice ya algo de este lenguaje de muy alto nivel que permite hacer programar rapidamente.

En tuxradar podréis encontrar una buena cantidad de tutoriales de Python para aprender un poco de este lenguaje. Los tenéis aquí (en inglés)

Como curiosidad, y para que os hagáis una idea del alto nivel de Python (y su sencillez), un hola mundo en Java es:


public class HolaMundo {

public static void main(String[] args) {
System.out.println("hola mundo!");
}

}

mientras que en Python basta con:


print “hola mundo!”

Facebook HipHop, convierte código PHP a C++

Sencillamente espectacular lo que ha hecho un desarrollador de Facebook, que ha creado una herramienta que permite pasar el código PHP, muy utilizado en Facebook (y en cualquier web dinámica) a código C++.

¿Qué supone esto?

Que todo lo programado en PHP, puede ser convertido a C++, que es mucho más rápido que el anterior, compilándolo con g++ mediante el siguiente proceso:

Este ha sido liberado con licencia Open-source, por lo que podrá ser mejorada por toda la comunidad, y todos nos beneficiaremos de ella, usuarios y sobre todo administradores de sistemas, que podrán ver reducida la carga de su web.

Para que os hagáis una idea del potencial de esto, si Facebook tiene 30000 servidores en todo el mundo, esta herramienta permitiría apagar el 75% de estos, con los ahorros que eso supone, y todo, manteniendo la misma carga.

Más info (en inglés): blog Facebook

Algoritmos

Me gustó esta frase que vi en Microsiervos:

El mejor algoritmo actual en un ordenador de hace 30 años es más rápido que el mejor algoritmo de hace 30 años en un ordenador actual.
Mas