Posts tagged tips
Algunas API’s Java que te pueden servir: commons-io
2commons-io trae un montón de clases que te pueden servir al momento de utilizar lecturas y escrituras de archivos, entre otras cosillas.
Por si no lo sabías una de las malas practicas mas recurrentes programando con java es, no cerrar los Stream y ciertos Readers adecuadamente, o te complicas mucho con los try/catch, vamos a ver un par de ejemplos clásicos:
Primero agregamos la dependencia de maven, ojo que las versiones 2.x están escritas para Java 1.5 y las 1.x para java 1.3 y 1.4:
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.0.1</version> </dependency>
Caso 1: finally que asegura cerrar el Reader con el método close()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public void closeWithFinally(String filename) throws IOException { BufferedReader reader = new BufferedReader(new FileReader(filename)); try { StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line); } String contentFile = sb.toString(); System.out.println(contentFile); } finally { // Cerrar el reader reader.close(); } } |
Caso 2: Creando la instancia de BufferedReader dentro del try y validando si es null al momento de cerrar:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public void closeWithFinallyNullCheck(String filename) throws IOException { BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(filename)); String line = null; StringBuilder sb = new StringBuilder(); while ((line = reader.readLine()) != null) { sb.append(line); } String contentFile = sb.toString(); System.out.println(contentFile); } finally { // Cerrar el reader if (null != reader) { reader.close(); } } } |
Caso 3: Usando commons-io y la clase IOUtils se reduce bastante el código y quedaría algo así:
1 2 3 4 5 6 7 8 9 | public void closeWithFinallyCommonsIO(String filename) throws IOException { BufferedReader reader = new BufferedReader(new FileReader(filename)); try { String contentFile = IOUtils.toString(reader); System.out.println(contentFile); } finally { IOUtils.closeQuietly(reader); } } |
Mas información en el maven site del proyecto:
Mas adelante escribiré un par de ejemplos con otras clases de commons-io que son bastante útiles.
Video Intel… acelerando el video en Ubuntu Jaunty
10Desde que me actualicé a Ubuntu Jaunty he tenido algunos problemas con la aceleración de video (tengo una placa intel). Les dejo aquí una solución que encontré luego de buscar por todos lados. Les dejo el detalle de mi placa intel.
Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
Primero debemos agregar un par de repositorios desde launchpad .
deb http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu jaunty main deb-src http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu jaunty main
Luego agregamos la llave para dicho repositorio (si no sabes que es esto, lee este post Agregar llaves de repositorios apt en Ubuntu)
$ sudo add-apt-key AF1CDFA9 --keyserver keyserver.ubuntu.com
Luego de eso, actualizamos nuestro Ubuntu:
$ sudo apt-get update $ sudo apt-get dist-upgrade
Una vez que tengamos todo instalado, editamos el archivo /etc/X11/xorg.conf con lo siguiente
Section "Device"
Identifier "Configured Video Device"
Driver "intel"
Option "AccelMethod" "UXA"
EndSection
Luego de todo este procedimiento, debemos reiniciar.
Dato Freak! – OpenOffice Game
3El WTF – Dato Freak.. Sigue las siguientes instrucciones:
- Abre una planilla de cálculos de OpenOffice
- En una celda escribe =game() y presiona enter
- La celda te preguntará say what?
- Por ultimo debajo de la celda escribe =game(“StarWars”)
- Charaaaaaaaaaaaaaaaan!!

Juego StarWars de OpenOffice
gnome-do y pastebin
1He activado el plugin de pastebin para gnome-do y es maravilloso. ¿qué es? simple… es una forma fácil de compartir trozos de textos/codigo fuente a través de un sitio web.
Cuantas veces te ha pasado que tienes un código fuente y quieres compartirlo rápidamente para revisión con otra persona que esta a unos cuantos kilómetros de distancia y no quieres usar el email por diversas razones. Esta aplicación te permite usar un recurso llamado pastebin en donde puedes pegar (como su nombre lo indica) cualquier texto. Tiene como chiche adicional, el que puedas decirle si es código fuente y el lenguaje en el que esta escrito, de esta forma lo formatea y/o colorea, notable no?? Bueno… luego de que pegas tu texto pastebin te retorna una URL corta que puedes compartir fácilmente con otros usuarios.
Ahora con gnome-do es mas facil, solo debes seleccionar un trozo de código fuente y aplicar el Shortcut de gnome-do (por lo general es <Super>+Space)… veamos un ejemplo:
- Seleccionas el código/text que quieras enviar a pastebin.
- Presionas el shortcut para gnome-do (<Super>+space)
- Escribes pastebin (ahí buscara el plugin)
- Presionas <Tab> para pasar al siguiente cuadro, donde pones: “Selected Text“
- Luego otra vez <Tab> y te saldra otro cuadro con los tipos de lenguajes, seleccionas el adecuado.
- Presionas <Enter> para confirmar

gnome-do + pastebin
Luego el plugin de pastebin te retornara la URL de donde quedara tu contenido seleccionado, ahí podrás abrirlo con el navegador que tengas por defecto en tu escritorio (Firefox por supuesto
)

Gnome-do + url
Si confirmas la URL (presionando <Enter>) se abrirá la URL en tu navegador… y listo!! así quedaría un envió a pastebin usando como lenguaje a Java5.

pastebin - resultado
Listo el mini tutorial de gnome-do, otro día publicaré alguna que otra bondad.
Escuchando: “Randy Crawford – Fallen“
Acortando distancias
0Este es un post práctico ya que me canse de las largas rutas por las cuales generalmente me muevo en mis máquinas linux, por ejemplo:
- /var/lib/cvs
- /etc/httpd/conf
- /usr/share/
- /opt/chanchullo/configChanchullo/files
Como verán es una real lata estar escribiendo cd /opt/chanchullo/configChanchullo/files para editar un archivo de ese directorio.
Para poder acortar las distancias dentro de los directorios podemos exportar una variable de entorno que nos ayudara con los cd.
$ export CDPATH="~/:/opt/chanchullo/configChanchullo/:/var/lib/:/etc/httpd"
Ahora podemos hacer un cambio de directorio mas rápido, por ejemplo:
$ cd files $ pwd /opt/chanchullo/configChanchullo/files
Si quieren pueden definir la variable CDPATH dentro de su .bashrc para que siempre tengan a la mano los directorios que mas usan.
Escuchando: “Metallica” – “Wherever I May Roam“