lunes, 24 de noviembre de 2008

Como hacer un demonio en Linux usando Java

En ocasiones es necesario, por la razón que sea, crear aplicaciones capaces de funcionar como demonios en linux (también conocidos como servicios en win2)...

El problema en java, para desarrollar un demonio, es el hecho de que la ejecución de los programas inicia siempre por el main, esto está bien para una aplicación cliente, donde una persona inicia y detiene la ejecución, pero ya que un demonio es manejado directamente por el sistema sin necesidad de intervención por parte del usuario esto se convierte en un problema, para solucionar esta situación existe una utilidad en linux llamada jsvc, más información.

Usando jsvc solamente hace falta crear una clase que implemente los métodos o funciones necesarios para responder a cuatro eventos importantes durante la vida de un demonio, los cuales son:

  1. init: inicializar todos los recursos. (en la documentación oficial dice que el método se llama load pero esto es incorrecto)
  2. start: inicia el proceso y espera por peticiones.
  3. stop: indica un cierre inminente al demonio para que pueda liberar recursos adquiridos durante el init por ejemplo cerrar sockets abiertos.
  4. destroy: elimina cualquier objeto creado durante el init.
Para ejecutar jsvc se necesitan privilegios de administrador, de cualquier forma la utilidad acepta una opción para especificar el usuario con el cual ejecutar el demonio después de terminado los pasos que requieren privilegios de root.

Bueno manos a la obra, para trabajar estoy usando Ubuntu 8.04 y Java 1.6.0_07:

Primero: hay que definir una clase en java que implemente apropiadamente las funciones antes descritas en nuestro editor de preferencia:
package daemon;

public class JavaDaemon
{

/**
* Here open the configuration files, create the trace file,
* create the ServerSockets, the Threads, etc.
* @param parameters
*/
public void init(String []parameters){
System.out.printf("Init params %s", parameters.toString());
}
/**
* Start the Thread, accept incoming connections.
*/
public void start(){
System.out.println("start server life...");
}
/**
* Inform the Thread to stop, close the ServerSockets.
*/
public void stop(){
System.out.println("stop signal recieved...");
}
/**
* Destroy any object created in init()
*/
public void destroy(){
System.out.println("destoying all objects...");
}
}

Segundo: instalar, sino lo está ya, la utilidad jsvc con el siguiente comando:
sudo aptitude install jsvc

Tercero: descargar la librería commons-daemon.jar desde la siguiente dirección: http://commons.apache.org/downloads/download_daemon.cgi descomprimimos el archivo descargado y copiamos la librería commons-daemon.jar en donde tenemos nuestra clase compilada. Opcionalmente pueden empaquetar su clase en un archivo jar ya sea a mano o usando alguna herramienta o IDE, yo he creado un jar y lo he nombrado myDameon.jar.


Para ejecutar el demonio en una consola escribimos el siguiente comando:
sudo jsvc -user @user -home /usr/lib/jvm/java-6-sun/jre -debug -pidfile /var/run/myDaemon.pid -cp commons-daemon.jar:myDaemon.jar daemon.JavaDaemon

Nota: reemplazar @user con algún usuario válido, por ejemplo el que estemos usando.

Y para detener el demonio podemos usar el siguiente comando:

sudo jsvc -stop -pidfile /var/run/myDaemon.pid -cp commons-daemon.jar:myDaemon.jar daemon.JavaDaemon

Con esto tenemos listo nuestro primer demonio implementado en java.
Saludos.

lunes, 10 de noviembre de 2008

Distro Cubana basada en Gentoo

Así como lo leen es una distro cubana basada en Gentoo de la que me enteré hace poco tiempo, más detalles en Nova LNX, la desconocida Distro Cubana.

Es agradable ver como poco a poco la comunidad latina se va integrando al movimiento de software libre.

domingo, 9 de noviembre de 2008

Syntax Highlighting en Nano

Nano es uno de los editores de texto mas ligeros y amigables que podemos encontrar para la consola de comandos en GNU/Linux. Para aquellos que gustan de editar archivos de código fuente o shell scripts o cualquier otro archivo de texto usando Nano en lugar de Emacs o Vim, habilitar el resaltado de sintaxis o syntax highlighting es probablemente algo necesario.

A continuación dejo los pasos que he seguido para habilitar el resaltado de sintaxis en mi Ubuntu:
  1. Editar el archivo .nanorc que se encuentra en la carpeta del usuario, por ejemplo usando el propio nano:
    nano ~/.nanorc
  2. añadir lo siguiente al archivo .nanorc al inicio:
    include "/usr/share/nano/c.nanorc"
    include "/usr/share/nano/python.nanorc"
    include "/usr/share/nano/sh.nanorc"
    
    lo anterior habilita a nano para reconer y resaltar la sintaxis para C (c.nanorc), Python (python.nanorc) y Bash (sh.nanorc).
Se puede ver todas las opciones de resaltado posibles ejecutando el siguiente comando en una terminal:
ls /usr/share/nano/
dicho comando regresará una lista similar a la siguiente, la cual representa la lista de reglas de resaltado que vienen por defecto con el editor:
asm.nanorc    java.nanorc    nanorc.nanorc  python.nanorc
c.nanorc      man.nanorc     patch.nanorc   ruby.nanorc
groff.nanorc  mutt.nanorc    perl.nanorc    sh.nanorc
html.nanorc   nano-menu.xpm  pov.nanorc     tex.nanorc
Es posible encontrar en internet muchas otras reglas adicionales que pueden ser incluidas de la misma forma o bien copiando el texto directamente dentro del archivo .nanorc

Fuente: http://tux.50webs.org/tip_nano_highlighting.html

lunes, 22 de septiembre de 2008

Celebración del día del programador

La gente del IEEE de la Universidad Tecnólogica de Panamá, Sede Panamá organizó en día pasados la celebración del día del programador a la cual pude asistir para hablar de linux como una excelente opción para plataforma de desarrollo.

Este evento fue realizado en la Facultad de Ingeniería en Sistemas Computacionales de la U.T.P. en la ciudad capital, de Panamá.

El evento contó con la presencia de varios expositores como David Narvaez quien hablo de programación orientada a objetos, Gerardo Nuñez (PanamaJUG), quien dio una conferencia sobre Grails, Stephan Schwab hablo sobre "Metodos Agiles", Aristides Villarreal Bravo quien participó con un taller de "NETBEANS PLATFORM" y yo representando la comunidad Ubuntu de Panamá.

Un evento orientado a estudiantes y una gran iniciativa, felicitaciones a Diego Tejera , David Narvaez, que estuvieron organizando el evento y a los participantes del mismo así como a la IEEE.

Espero que existan más iniciativas de este tipo en todas las universidades.

Otros blogs comentando el evento:
Stephan Schwab
Carlos Donderis
Aristides Villareal

miércoles, 17 de septiembre de 2008

Linux y Virus: no sólo cuestión de popularidad

Recientemente alguien envió un artículo muy interesante que encontró acerca del tema de los virus en Linux a la lista del LoCo Team de Panamá, en verdad es un excelente artículo con varias cosas que todo usuario de cualquier distro basada en GNU/Linux debería saber, les dejo el enlace hacia la fuente Kriptopolis.

Autor Anónimo.

La poca difusión de Linux es obviamente un motivo de que no haya virus, pero no es el único motivo.

Supongamos que alguien hace un virus para Linux, que no pretende obtener privilegios de root y se conforma con los del usuario: podría hacer lo que quisiera excepto infectar programas. Hasta aquí bien. Inconvenientes...

  1. Hay muchas distribuciones diferentes y costaría un poco que el virus funcionara en todas pero digamos que se centan en las principales, sobre todo Ubuntu, viene el segundo problema:
  2. Eliminar un virus de windows puede ser una pesadilla. El virus toma el control en tal forma que los antivirus y eliminadores no funcionan. Hay que arrancar desde un diskette o CD pero en ese caso el virus puede aprovechar las "características de protección" de windows para dificultar la tarea. Incluso lograr eliminarlo no es ninguna garantía porque podría quedar algún disparador que lo reinstale al volver a arrancar. Y para colmo, los eliminadores de virus sólo eliminan virus conocidos. Contra un virus nuevo no hay NINGUNA solución. Lo más práctico suele ser formatear y reinstalar.

    En cambio en Linux el virus sólo puede estar en un lugar: el home del usuario. Ante cualquier problema basta con crear un usuario nuevo para tener en segundos un sistema totalmente funcional y libre de virus. No importa qué virus sea o si es conocida su manera de actuar o no. Un usuario diferente no puede estar infectado, se crea uno o se cambia a otro existente y problema solucionado en 10 segundos. Después se puede recuperar los documentos que sean necesarios. Una diferencia muy grande comparado con las horas o hasta dias que puede tomar solucionar un problema de virus en windows... pero igual quien sabe lo que podrían inventar los atacantes en el futuro, podría ser que el usuario fuera tan tonto lograra volver a infectarse pronto, así que:

  3. La seguridad que estamos usando en Linux actualmente es bastante relajada. No estamos, ni de lejos, ajustando la seguridad al máximo. Lo primero que se podría hacer es quitar el permiso de ejecución al home de los usuarios. Bastaría con que el /home estuviera en una partición diferente para poder montarla con el flag "noexec" y listo. Pueden traer lo que quieran en una memoria USB que no podrán ejecutar nada. El único riesgo serían javascripts en navegadores y scripts en documentos. Implementar eso nos tomaría minutos y con seguridad nos daría unos cuantos años más de tranquilidad respecto de los virus. Pero imaginemos un mundo donde casi todo el mundo usara Linux y los que hacen virus, ahora flacos y hambrientos, decidieran dar lo mejor de sí para atacarnos. Bien podrían hacer un javascript que mandara spam, por ejemplo. Entonces:
  4. Siempre nos queda el recurso de irnos a seguridades mucho más avanzadas, ya presentes en el núcleo de Linux desde hace años pero casi siempre innecesarias. Podríamos activar SELinux. Eso dejaría fuera de combate hasta a los javascripts, ya que podríamos fácilmente prohibir al browser cualquier conexión que no sea http o https. Esto no es comparable a los "seudo-firewalls" para windows ya que en el caso de Linux la seguridad está embebida en el mismo núcleo, y no sólo controla paquetes tcp/ip sino todo tipo de actividades de los programas, incluso cosas tan inofensivas como listar el contenido el disco. Es más, el activar SELinux nos protegería incluso ante fallos de seguridad en los programas, ya que en este punto se vuelve irrelevantes los permisos del usuario. Podríamos publicar en internet la clave del root y aún así seguir tranquilos.

Como se ve, Linux nos resultará seguro por muchos años más, y a diferencia de windows, la carrera de la seguridad en Linux la tenemos ganada antes de empezar porque partimos desde una posición mucho más ventajosa que los atacantes. Les llevamos de lejos la delantera y aún si no progresáramos NADA en muchos años, la seguridad nos serviría perfectamente.

Obviamente se progresa y mucho, así que la gran ventaja que llevamos se mantendrá y hasta podría aumentarse si viéramos que la situación es preocupante. Para el día que tengamos que preocuparnos porque no nos alcance SELinux, seguro que tendremos alternativas suficientes.

viernes, 12 de septiembre de 2008

Software Freedom Day en Panamá

En los próximos días se llevará a cabo la celebración internacional del Software Freedom Day (sep. 20 de 2008) y la comunidad local de Ubuntu ha organizado un evento para conmemorar tal fecha.

Como parte de las actividades, se realizaran conferencias, demostraciones y un install fest, es la primera vez que participo en esta celebración y el evento más importante hasta ahora organizado por el LoCo Team pero tengo mucha fe en que todo irá muy bien.

Aquí se puede ver el afiche promocional.


De antemano deseo que todo el mundo pase un muy feliz día del software libre.
¡Viva la libertad!

domingo, 20 de julio de 2008

Apagando Ubuntu automaticamente al finalizar las descargas.

Bueno para explicar un poco el ¿por qué? de este mini howto, me pasa con frecuencia que tengo que dejar la computadora descargando algo, una serie, un anime, etc y es un problema saber cuanto tiempo exacto tomarán todas las descargas porque como tengo una conexión de red compartida a veces los otros usuarios pueden congestionar la red, también porque es tedioso tener que hacer esto manualmente cada vez.

Tampoco me agrada la idea de dejar mi computadora encendida todo el día hasta que yo regrese, por eso aquí dejo una forma sencilla de como programar la PC para que se apague por si sola al terminar todas las descargas.

Primero necesitamos instalar Downloader for X (d4x para abreviar) en la consola ejecutamos el siguiente comando:

sudo aptitude install d4x d4x-common

Abrimos del d4x y en el menú elegimos Options->General.


Se abrirá una ventana donde podemos configurar varias opciones del d4x, en dicha ventana, de la lista de la izquierda elegimos la opción Integration, marcamos la casilla que dice:

Exit if nothing todo after
podemos establecer el tiempo de espera antes de apagar o bien dejarlo con el tiempo por defecto (5 minutos).
En el comando que se debe ejecutar al cerrar el programa colocamos lo siguiente: sudo
shutdown now
para apagar inmediatamente o
sudo shutdown -h +[tiempo]
para apagar luego de unos minutos, reemplazar [tiempo] por el número de minutos antes de iniciar el apagado.


Queda solamente una cosa más por configurar, necesitamos editar el archivo sudoers, una forma de hacerlo es ejecutando en una consola:

sudo nano /etc/sudoers

y al final adicionamos una línea parecida a la siguiente:

[myuser] ALL=NOPASSWD:/sbin/shutdown

Reemplazar [myuser] por nuestro nombre de usuario.

Si todo fue bien, ahora solo resta adicionar descargas al d4x y al terminar este apagará la computadora.

Para una mejor integración con firefox recomiendo instalar el add-on flashgot.

Como Dibujar!

Un interesante manual acerca que debes hacer para desarrollar tus habilidades de dibujo, algo que me gusta mucho hacer aunque sea unicamente un pasatiempo, me gustaría poder convertir me en un buen dibujante.

Pueden ver el tutorial aquí
Saludos.

jueves, 3 de julio de 2008

Como sincronizar una Palm y Ubuntu usando JPilot II

Este es la segunda parte de otro Howto: Como sincronizar una Palm y Ubuntu usando JPilot I
Para más detalles consultar el Manual: Synchronize your PalmOS® Handheld over Bluetooth in Linux
Pasos a seguir:
1. Instalar pilot-link
sudo aptitude install pilot-link

2. Activar y configurar el Bluetooth en la Palm en modo «detectable» o «visible»
3. Adicionar la Palm a los dispositivos de Confianza del SO (a.k.a. Trusted Devices)
4. En el HotSync de la Palm Selectionar Opciones->Config. de conexión...
Crear una Nueva Conexión a la cual le colocamos un nombre, por ejemplo: Bluetooth PC; en este punto el manual de referencia Recomiendan llenar los datos como sigue:
* Nombre: Bluetooth PC
* Conectar a: PC (en mi caso funciona mejor elegir aquí: Red Local)
* Por: Bluetooth
* Dispositivo: "Elegir la PC"

En los detalles se puede seleccionar la velocidad, yo lo he probado con 57600 pero pueden probar cambiarla sin embargo recuerden este valor pues será necesario más adelante.
5. Ahora creamos una Conexion de Red en la Palm, en las Preferencias elegimos la opción Red y llenamos los datos como sigue:
* Servicio: BTNetwork (asignamos un nombre de nuestra preferencia).
* Usuario: myUser (este campo es opcional)
* Contraseña: (este campo se puede quedar en blanco)
* Conexión: "Bluetooth PC"(La conexión creada anteriormente)

6. Para configurar el sistema creamos un archivo de configuración para la conexión ppp sobre Bluetooth, este archivo será usado por el proceso dund:
sudo nano /etc/ppp/peers/dun
dentro de dicho archivo escribimos algo similar a lo siguiente, recordar que se deben actualizar de acuerdo a nuestro sistema las direcciones IP y el ms-dns:

#este valor corresponde con el definido en
#la velocidad de conexión en la Palm
57600
# la dirección antes de los : es nuestra IP en la computadora,
# la siguiente IP es la dirección asignada a la Palm
10.0.1.39:10.0.1.40
local
#puerta de enlace
ms-dns 128.100.100.128
noauth
debug

Ahora para simplificar podemos crear un script para ejecutar los comandos que siguen de forma más sencilla:
sudo nano /usr/local/bin/palmBTsync.sh
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward

hcid
#En ubuntu sdpd ha sido reemplazado por
hcid -s
#esta linea se hace necesesaria
sdptool add DUN

#ejecuta el proceso en primer plano, imprime en pantalla.
#dund --nodetach --listen --persist --msdun call dun
#ejecuta el proceso en segundo plano
dund --listen --persist --msdun call dun
Asignamos permisos de ejecución al script.
Nota: recomiendo probar los comando uno a uno en una terminal para verificar que está todo bien y usar la opción --nodetach al ejecutar dund para ver todos los mensajes.
sudo chmod +x /usr/local/bin/palmBTsync.sh
7. Ahora abrimos JPilot y en el menú Fichero->Preferencias escogemos la segunda solapa "Opciones" y en el campo que dice "Puerto Serial (/dev/ttyS0, /dev/pilot)" escribimos:
net:any -l
, para que el JPilot realize la sincronización por Red, luego presionamos aceptar.
Ahora podemos realizar la sincronización de la forma acostumbrada solo recordar antes de sincronizar es necesario ejecutar nuestro script
palmBTsync.sh
Nota: Tal vez el firewall les cause algunos problemas, si es así prueben desactivarlo y verificar, también pueden mirar en el log del sistema para saber que puerto deben habilitar.

Como sincronizar una Palm y Ubuntu usando JPilot I

Pasos sencillos para sincronizar una Palm en Ubuntu, conectada por el puerto USB usando JPilot.
En teoría esto debería funcionar para cualquier versión de Ubuntu, de no ser así favor de indicarlo en los comentarios.

Paso 1. Instalar JPilot usando el comando
sudo aptitude install jpilot
también se puede instalar usando synaptic o apt-get según el gusto de cada cual.

Paso 2. Ejecutar JPilot, en gnome se le puede encontrar en el menú Aplicaciones->Oficina->J-Pilot, una vez en el programa abrir las preferencias, menú Fichero->Prefencias o bien usar el método abreviado Ctrl + S.
Ya en las preferencias ir a la segunda solapa "Opciones" y en el campo que dice "Puerto Serial (/dev/ttyS0, /dev/pilot)" escribir:
usb:
(lleva los dos puntos) y presionar aceptar; esto es para que podamos sincronizar más adelante con la Palm conectada al puerto USB.

Paso 3. Es muy posible, si es la primera vez que sincronizas, que se requiera instalar el usuario en la Palm esto lo puedes hacer fácilmente desde el JPilot en el menú Fichero->Instalar Usuario (Nota: Observa el área de texto en la parte inferior del jpilot que te indicará cuando presionar el botón de sincronización en la Palm). Una vez listo la configuración del usuario y presiona el botón de sincronizar de la Palm.

Con esto queda todo listo ahora puedes trabajar con tu Palm crear contactos, notas, eventos, tareas y regresar y sincronizar sin ningún problema.

Para hacer respaldos de los datos en la Palm podemos instalar un plugin al JPilot
sudo aptitude install jpilot-backup
luego reiniciar el jpilot, ahora en el menú Plugins encontraras una nueva opción Backup desde donde configurar y visualizar que ha sido respaldado de tu Palm.

Nota: Para eliminar jpilot se puede usar aptitude, apt-get o synaptic por ejemplo:

sudo aptitude remove jpilot

miércoles, 4 de junio de 2008

Una alternativa a la Gasolina

Leyendo en el blog de mi amigo Ahioros pude encontrar una muy buena noticia que deseo compartir. Buenas noticias para nuestros bolsillos, que ya han sido muy golpeados por el alto precio de la gasolina.

El combustible M4, desarrollado en Panamá por Porfirio Ellis Bonilla y Gonzalo Córdoba Candadeno y que promete ser una alternativa ecológica y económica a la gasolina, con la ventaja de que no es necesario hacer ningún tipo de modificación al motor para usarlo.

En los siguientes vídeos la entrevista al Ing Porfirio Ellis



miércoles, 28 de mayo de 2008

Mejorando Gmail

Existen para firefox muchos complementos (Addons) que permiten adicionar una increíble cantidad de funcionalidades adicionales al navegador convirtiéndolo casi en el único programa que necesitas para hacer tu trabajo diario.

El día de hoy voy a comentar acerca de un addon que mejora mucho la apariencia y la forma de utilizar gmail en firefox: Better Gmail 2, se puede encontrar más información aquí.

Personalmente me gusta la capacidad de cambiarle el skin al gmail...

La instalación es bastante simple, en este enlace se encuentra un botón con la etiqueta: "Add to firefox", que permite iniciar la instalación, una vez terminado este proceso es necesario reiniciar el Firefox.

Una vez el navegador ha reiniciado, en el menú Herramientas->Better Gmail 2... se encuentra la ventana de configuración para activar/desactivar las características del addon de acuerdo al gusto de cada uno.

Algunas capturas de pantalla:

miércoles, 21 de mayo de 2008

Como sincronizar una Palm con Ubuntu usando JPilot

Pasos sencillos para sincronizar una Palm en Ubuntu, conectada por el puerto USB usando JPilot.
En teoría esto debería funcionar para cualquier versión de Ubuntu, de no ser así favor de indicarlo en los comentarios.
¡porque uno nunca sabe cuando le puede hacer falta! :)

Paso 1. Instalar JPilot usando el comando
sudo aptitude install jpilot
también se puede instalar usando synaptic o apt-get según el gusto de cada cual.

Paso 2. Ejecutar JPilot, en gnome se le puede encontrar en el menú Aplicaciones->Oficina->J-Pilot, una vez en el programa abrir las preferencias, menú Fichero->Prefencias o bien usar el método abreviado Ctrl + S.
Ya en las preferencias ir a la segunda solapa "Opciones" y en el campo que dice "Puerto Serial (/dev/ttyS0, /dev/pilot) escribir: usb: y presionar aceptar; esto es para que podamos sincronizar más adelante con la Palm conectada al puerto USB.

Paso 3. Es muy posible, si es la primera vez que sincronizas, que se requiera instalar el usuario en la Palm esto lo puedes hacer fácilmente desde el JPilot en el menú Fichero->Instalar Usuario (Nota: Observa el área de texto en la parte inferior del jpilot que te indicará cuando presionar el botón de sincronización en la Palm). Una vez listo la configuración del usuario presiona el botón de sincronización del jpilot y espera que te indique hacer lo mismo en la palm y presiona el botón de sincronizar de la Palm.

Con esto queda todo listo ahora puedes trabajar con tu Palm crear contactos, notas, eventos, tareas y regresar y sincronizar sin ningún problema.

Hasta pronto

domingo, 27 de abril de 2008

FLISOL 2008 en Panamá

El día 26 de Abril del 2008 se celebró el FLISOL con una participación de un buen número de personas, me siento contento con los resultados, mucha gente quedó muy interesada con el evento y se llevaron CD's de Ubuntu para instalar en sus casas.

Se contó con la participación de la Ciudad del Saber, un representate del proyecto Conectate al Conocimiento (en mi opinión la charla más interesante), una representante de la Universidad Nacional y varios miembros de la FSL que expusieron temas de interés relacionados son el Software Libre.

Como novedad este año transmitimos en vivo el evento por Internet (FLISOL TV) y se utilizó el Centro de Convenciones de la Ciudad del Saber que es perfecto para todo tipo de presentaciones y cuenta con salones muy cómodos y bien equipados :D

Se realizó una mini expo en la que tuve la oportunidad de participar como expositor y demostrar varias herramientas de software libre (*), y otros compañeros hicieron una demostración de cómo instalar Ubuntu y Mandriva.

*Herramientas de las que trató mi presentación: Marge, Amarok, Compiz-fusion
Hasta la proxima.

sábado, 22 de marzo de 2008

Configurar la version por defecto de Java en Ubuntu

Extraído de https://help.ubuntu.com/community/Java, especificamente de la sección:

Selecting the default Java version...


Asumiendo que ya tenemos instalado java, es posible también instalar varias versiones del entorno de java, entre las que podemos destacar:

  • Free Java: que aparece en los repositorios como GCJ, GNU y que viene incluido en Ubuntu desde la verision 5.10.

  • Sun Java: La implementación de java por Sun Microsystems (creadores de java) tomada como referencia para las demas implementaciones. En Ubuntu 6.06, esta incluida en los repositorios multiverse.

  • Blackdown Java: otra implementación "Blackdown Java", esta incluida en los repositorios multiverse desde la version Ubuntu 5.10 y posteriores.

  • IBM Java: IBM Java es una reimplementación con un "Just-In-Time Compiler" (no se que es esto con exactitud por ello no lo tradusco pero entiendo que es un compilador en tiempo real o algo asi corrijan me para arreglar lo). Solo disponible desde el sitio Web de IBM. Es la opción preferida para PowerPC, aunque también esta disponible para arquitecturas i386 y AMD64.


Tenemos dos formas de proseguir, en una terminal ejecutamos:

1. update-java-alternatives -l para visualizar una lista de las opciones disponibles, por ejemplo:
java-6-sun 63 /usr/lib/jvm/java-6-sun y con el comando siguiente, por ejemplo, seleccionamos alguna de las opciones mostradas antes: sudo update-java-alternatives -s java-6-sun.

2. sudo update-alternatives --config java y escogemos de las opciones ofrecidas la que más nos guste. Es necesario configurar también jar, javac, javadoc, javah, javap y javaws simplemente reemplazando la palabra java en el comando anterior por jar, javac, etc; esto permite personalizar al máximo nuestro sistema, sin embargo el método anterior cambia todas las opciones de una sola vez.


Para que todas las aplicaciones que tenemos instaladas se ejecuten con la versión de la Maquina Virtual de Java «JVM» por sus siglas en ingles debemos editar el archivo jvm, ejecutando en una terminal el comando:
sudo gedit /etc/jvm
y movemos la dirección de la instalación de nuestra opción preferida hacia el principio del archivo, las aplicaciones en java se ejecutan con la primera JVM que encuentran en el archivo antes mencionado.

Nota: cabe destacar que en la dirección /usr/lib/jvm/ se instalan el Free Java y Sun Java que describo arriba,
Blackdown Java se instala, si no me equivoco en /usr/lib/j2se.

¡Hasta pronto!

lunes, 17 de marzo de 2008

How to use Marge(Java Bluetooth Framework) in Netbeans 6 IDE

Marge is a framework created by Bruno Ghisi and Lucas Torri under the LGPL license.

See also:
Marge Home
NetBeans 6.0 CLDC/MIDP Development Quick Start Guide


Contents
Requirements
Downloading Marge
Creating a new project
Including Marge Jar

    What you need?
  • Java Development Kit (http://www.java.com/)

  • NetBeans 6 IDE with Mobility plugins (http://download.netbeans.org/netbeans/6.0/final/)
    *Choose the full version to ensure that nothing is missing

  • Marge Framework (http://marge.dev.java.net)




Downloading Marge

Download the marge v 0.4.0 or higher: http://wiki.java.net/bin/view/Mobileandembedded/Marge



Creating a new project



*Open NetBeans IDE, create a new project then select File->New Project... and select category "Mobility" and MIDP Application. Click Next.





*Set your project name and location for example,
Name: Marge-Test
Location: /home/$YOUR_USER/NetBeansProjects



*Select the Sun Java Wireless Toolkit 2.52 for CLDC as the Emulator Platform and use the remaining defaults. Click Next.



*Expand "Configuration templates provided by installed CLDC platforms" and "Sun Java Wireless Toolkit 2.52 for CLDC" folders. Check at least one of the configurations. The IDE automatically creates a new project configuration for each template listed. Feel free to check all avail configurations.



*Click Finish. The IDE creates the project folder. You can see your MIDlet in the Visual Mobile Designer.



Including Marge Jar


*Once the project is created we need to put Marge as project Library. Right click in the project's name (in our case, Marge-Test) and select Properties. Select Libraries and Resources under Build node on the left panel. Click in Add Jar/Zip, select Marge jar and click Ok.



If everything went correct, you will be able to see Marge package being displayed in the project structure and you are ready to use!


Greetings.

jueves, 21 de febrero de 2008

Sun Mircosystems ofrece premios por contribuir con NetBeans

Hoy he recibido un corre muy interesant, Sun Mircosystems, los creadores de Java y la compañia que está detras de grandes proyectos como OpenOffice y NetBeans está ofreciendo premios para aquellos que sugieran ideas para el proyecto NetBeans.

Así que si alguno tiene una buena idea puede sugerirla.

Pueden ver más información aquí

martes, 22 de enero de 2008

Mi Ubuntu como consola de Juegos

Después de mucho leer y probar varias cosas tengo ya una cantidad pequeña de juegos corriendo en mi Ubuntu, pero aunque no son muchos es interesante ver como no necesito de wintendo ya ni siquiera para los juegos.

Bueno vale decir que gracias al esfuerzo de muchas personas, que tal vez nunca conozca ahora puedo jugar:

1. Unreal Tournament 2004 (demo porque no he comprado aun el juego)
2. Enemy Territory
3. Cube
4. ActionCube
5. OpenArena (Basado en el motor de Quake III)
6. Scorched 3D (juego 3D donde tienes que destruir a los tanques enemigos, me recuerda a worm)
7. Warzone 2100 (juego donde construyes tu ejercito y destruyes las bases enemigas)
8. Planet Penguin Racer (tratar de terminar la carrera contra el reloj mientras recoges los peces)
9. Super Tux Kart (clon de Mario Kart)
10. Super Tux (simila al Mario Bros)
11. Pingus
12. Globulation 2 (!!! este es uno de mis favoritos XD, me recuerda a starcraft pero tiene características muy diferentes)
13. Wormux (Al estilo Worm)
14. Starcraft (usando wine)
15. Barrage (en este juego le disparas a unos soldados y tanques desde una posición estática, debo decir que no me gusta mucho)
16. Solarwolf (un juego muy entretenido)
17. Tremulous (aún no lo he jugado solo lo instalé)
18. Super Mario War (un tributo a Super Mario War creado por Samuele Poletto)
19. Regnum Online (Un MMORPG con gráficos en 3D al que me he hecho adicto)
20. America's Army (funciona muy bien)
21. Quake4
22. Vendetta Online (Mmorpg de pago)
23. Neve Winter Nights
24. Savage2
25. WoW (Mmorpg de pago o gratuito si encuentras server)
26. PlaneShift (Otro Mmorpg, gratuito)
27. Arkanoidsb (De los mejores Arkanoid que he juegado, por no decir el mejor)
28. Nexuiz (Tipo UT, ambientado en naves, humanos contra aliens)
29. Lineage2 (Otro Mmorpg)
30. Privateer (Simulador espacial)
31. Sauerbraten


Para tener más información consultar:

http://www.ubuntugames.org/
http://www.regnummmorpg.com/
http://wormux.org/wiki/es/download.php
Unreal Tournament Demo
http://smw.72dpiarmy.com/

Tengo TransGaming Cedega Versión 6.0 pero parece no correr bien si tienes instalado Wine...

Hasta la próxima y sigan jugando X-D