Archive for the ‘ spanish ’ Category

Cuanto Meme

ACTUALIZACIÓN: Justo 2 meses después de la publicación del artículo, hemos superado las 10.000 descargas, y contamos con otras tres nuevas aplicaciones!!! Muchas gracias!!!

Fuck YeahHace ya algunos meses que me compré un Samsung Galaxy S y la verdad es que estoy muy contento con la compra. El móvil es una pasada, pero no lo compré únicamente porque fuese cool, (que también), sino porque me quería adentrar en el mundo de la programación Android, y ese móvil parecía lo suficientemente pontente como para empezar a trastear con buen pié. Y eso hice.

He aprendido muchísimo gracias a Raul, que literalmente, es una máquina de hacer aplicaciones para Android. Nos hemos tirado muchas tardes (y noches) programando aplicaciones. Tanto, que nos hemos decidido a subir una al Android Market, bueno, en realidad ya van dos.

La primera que subimos la semana pasada fue Cuanto Meme, una aplicación que extrae las imágenes de Cuanto Cabrón, Cuanta Razón, Visto en Facebook y VayaGif desde su RSS, y las muestra de manera muy sencilla. La verdad es que ha tenido buena acogida, en una semana hemos llegado a las 650 descargas en el Android Market! Genial para ser la primera que subimos, aquí dejo el gráfico de descargas hasta ayer :D

 

Descargas de Cuanto Meme

Descargas de Cuanto Meme

La segunda aplicación, aprovechando el motor de la anterior, fue Cuanto Meme Gallery, que es la misma idea de aplicación pero con otra interfaz gráfica. Esta lleva en el market tres o cuatro días y ya tenemos 50 descargas! Tampoco está nada mal!

A medida que Raul y yo vayamos subiendo nuevas apps (alguna nueva hay entre manos) lo ire comentando por aquí, y en la web STKDevelopers.com que de momento está en construcción.

Cuanto Meme

Cuanto Meme

Cuanto Meme Gallery

Cuanto Meme Gallery

Cuanto Meme

Cuanto Meme

Cuanto Meme Gallery

Cuanto Meme Gallery

Aquí están algunas capturas de imágenes de las apps y sus respectivos códigos QR para descargar desde tu móvil. Que las disfrutéis, y no olvidéis comentar en el market! :)

GPG error

Hace algunos días que aparece un molesto error en mi Ubuntu, relacionado con las actualizaciones del sistema. El error que aparece es:

Reading package lists… Done
W: A error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://extras.ubuntu.com oneiric Release: The following signatures were invalid: BADSIG 16126D3A3E5C1192 Ubuntu Extras Archive Automatic Signing Key <ftpmaster@ubuntu.com>W: GPG error: http://archive.canonical.com oneiric Release: The following signatures were invalid: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>
W: GPG error: http://archive.canonical.com lucid Release: The following signatures were invalid: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/oneiric/Release

W: Some index files failed to download. They have been ignored, or old ones used instead.

Este error viene acompañado del icono permanente en la barra superior. He encontrado en ubuntuforums la manera de solucionarlo. Allá va:

pedro@pedro-laptop:~$ sudo su
[sudo] password for pedro:
root@pedro-laptop:/home/pedro# cd /var/lib/apt
root@pedro-laptop:/var/lib/apt# mv lists lists.old
root@pedro-laptop:/var/lib/apt# mkdir -p lists/partial
root@pedro-laptop:/var/lib/apt# apt-get clean && apt-get update

Listo!! :D

Montar una ISO en linux

Este post será corto. Tan sólo escribiré los comandos necesarios para montar una imagen ISO en linux.

1. Abrimos la consola y obtenemos root

pedro@pedro-laptop:$ sudo su

2. Creamos el directorio en el que montaremos la imagen ISO

root@pedro-laptop:$ mkdir /media/iso

3. Montamos la imagen en el directorio de la siguiente manera

root@pedro-laptop:$ mount -o loop imagen.iso /media/iso

Donde imagen.iso es el fichero en formatio ISO que queremos montar, y /media/iso es el directorio que hemos creado previamente.

Ya está, ahora ya podemos ir al directorio en que hemos montado la imagen como si de un CD o DVD se tratase!

pedro@pedro-laptop:$ ls -lah /media/iso

Para desmontar la unidad, tan sólo hay que hacer un umount como superusuario

pedro@pedro-laptop:$ sudo umount /media/iso

Cómo recuperar un archivo eliminado por SVN si usas Eclipse

Si has llegado hasta este post, es más que probable que hayas sufrido la pérdida de un archivo y quieras recuperarlo, así que ármate de paciencia (y suerte).

El otro día estaba yo tan alegre trabajando con mi Eclipse escribiendo en PHP cuando pensé: «Ahora es el momento de hacer un Commit». Así que lo hice.

Lo normal es que al hacer un Commit, el SVN gestione los archivos correctamente y todo se sincronice sin problemas ni conflictos con los ficheros modificados y acabe almacenándose como una modificación válida en un lugar seguro. Pero claro, cuando más de una persona toca el mismo fichero, es más que probable que eso empiece a dar problemas. Yo, perdí prácticamente todo el día de trabajo :(

Investigando por internet (no sé exactamente dónde) Gracias a la inestimable ayuda de Dani Bru, que encontró por internet el nombre de un directorio mágico donde se guardan backups automáticos, nos pusimos manos a la obra. Yo pensé, «ya… claro!» No tenía ninguna esperanza, pero era la única pista que tenía para ecuperar lo que se había perdido y estos son los pasos que dí para poder recuperarlo.

Por lo visto, además de la copia remota que se genera al hacer un Commit, en algún lugar oculto de la estructura de directorios que crea Eclipse en local (directorios ocultos y demás cosas), va guardando copias de (al menos) el estado anterior al Commit.

Primer paso

Abrimos el terminal y escribimos:

pedro@pedro-laptop:~$ updatedb

Es posible que tarde algunos segundos, especialmente si nunca antes lo habías ejecutado. Este comando actualiza el índice de directorios del sistema. De manera que en el siguiente paso nos permitirá realizar una búsqueda de manera más precisa. Cuando acabe el comando, no dará ningún mensaje, tan solo nos devolverá el control del terminal.

Segundo paso

Realizamos la búsqueda de la cadena org.eclipse.core.resources, que al parecer es el directorio mágico que puede salvarnos la vida (bueno, el día).

pedro@pedro-laptop:~$ locate org.eclipse.core.resources | grep history
/some/path/to/org.eclipse.core.resources/.history/24/109601fa0cd800101a3dcfaf52c523eb
/some/path/to/org.eclipse.core.resources/.history/24/e077e68009d7001017b898f7b25b1cbb
/some/path/to/org.eclipse.core.resources/.history/25/9095cb8d2bd7001017b898f7b25b1cbb
/some/path/to/org.eclipse.core.resources/.history/26/40fa905e2bd7001017b898f7b25b1cbb
/some/path/to/org.eclipse.core.resources/.history/27/80aeb1582bd7001017b898f7b25b1cbb
/some/path/to/org.eclipse.core.resources/.history/2a/20efb2cb11d800101a3dcfaf52c523eb
/some/path/to/org.eclipse.core.resources/.history/2a/80914b200ed800101a3dcfaf52c523eb
/some/path/to/org.eclipse.core.resources/.history/2d/f0acb5240fd800101a3dcfaf52c523eb
/some/path/to/org.eclipse.core.resources/.history/3/e060608410d800101a3dcfaf52c523eb
/some/path/to/org.eclipse.core.resources/.history/32/a0a33f8f0ad80010160af0d88658fae4
/some/path/to/org.eclipse.core.resources/.history/34/60374f474bd60010182b9a1ddb7c2773
/some/path/to/org.eclipse.core.resources/.history/34/c04a901b4ad60010182b9a1ddb7c2773
/some/path/to/org.eclipse.core.resources/.history/36/c0d19b430bd80010160af0d88658fae4
(…)

Tercer paso

Entramos en el directorio que haga referencia al proyecto que queremos recuperar información. Más concretamente en el directorio oculto .history. Yo en este ejemplo, buscaré algo del directorio android, en el que estoy trabando:

pedro@pedro-laptop:~$ cd /home/pedro/workspace/android/.metadata/.plugins/org.eclipse.core.resources/.history/
pedro@pedro-laptop:~$ ls
0 13 1c 2 24 28 2f 33 38 41 48 4e 52 60 6a 71 7a 7f 84 88 9 9b a3 a9 af b2 b6 be c2 c7 ce da e6 ec f f3 fd 1 16 1d 20 25 2a 3 34 3a 43 49 5 57 61 6e 72 7b 8 85 89 91 9d a4 ab b b3 b7 c c3 c8 d2 db e7 ed f0 f7 10 17 1e 22 26 2b 30 36 3c 44 4a 50 59 63 6f 75 7d 81 86 8a 94 9f a5 ad b0 b4 b8 c0 c5 ca d7 e2 e8 ee f1 f9 12 18 1f 23 27 2d 32 37 3d 45 4c 51 5f 64 7 77 7e 83 87 8d 97 a0 a8 ae b1 b5 b9 c1 c6 cd d9 e3 ea ef f2 fc

Cuarto paso

Al hacer ls, veremos un montón de directorios con nombres de dos caracteres, sin ningún tipo de orden aparente. Al menos, yo no se lo encontré, pero podemos ordenarlos por fecha de modificación con el siguiente comando:

pedro@pedro-laptop:~$ ls -tlahr

Ese comando listará los directorios de más antiguo a más actual. Por lo tanto, sólo deberemos revisar el contenido de los directorios de el más nuevo al más antiguo (de abajo a arriba). Es posible que algunos estén vacíos, pero otros contendrán archivos con nombres que parecen un hash MD5. La única manera de saber el contenido de estos ficheros es editándolos. Veamos cómo:

pedro@pedro-laptop:~$ cd e2
pedro@pedro-laptop:~$ ls -lah
total 20K
drwxr−xr−x   2 pedro pedro 4.0K 2011-09-06 00:30 .
drwxr−xr−x 147 pedro pedro 4.0K 2011-09-06 00:54 ..
−rw−r−−r−−   1 pedro pedro 1.9K 2011-09-06 00:27 1036c7a60ed800101a3dcfaf52c523eb
−rw−r−−r−−   1 pedro pedro  824 2011-09-04 21:14 108c03632ad7001017b898f7b25b1cbb
−rw−r−−r−−   1 pedro pedro 1.3K 2011-09-04 21:25 505f6baf2bd7001017b898f7b25b1cbb

pedro@pedro-laptop:~$ gedit * &

Ahora sólo queda examinar los ficheros para comprobar si este es el directorio que contiene los ficheros que hemos perdido. Si este no es, prueba con el anterior de la lista.

Si tienes algo de suerte, es posible que encuentres lo que necesitas. Yo la tuve y recuperé el trabajo del día. :D

Suerte y gracias a Dani que hizo que la historia tuviera un final feliz!

Montar una unidad remota a través de SSH

Para los adictos a los terminales, acceder a través de SSH a cualquier servidor está a la orden del día. Hay que reconocer que en muchas ocasiones los editores como vi o nano, se quedan cortos a la hora de trabajar con diferentes ficheros a la vez, tal y como lo hacemos con cualquier otro editor gráfico.
Así que he rebuscado por internet, y he encontrado una aplicación capaz de montar una conexión SSH como si de un sistema de ficheros normal se tratase. La aplicación se llama sshfs, tampoco se han pensado demasiado el nombre :P
Para instalarlo, si utilizas ubuntu, es tan sencillo como hacer clic en sshfs o escribir en un terminal lo siguiente:
pedro@pedro-laptop:~$ sudo apt-get install sshfs
Una vez instalado, sólo hay que lanzar el siguiente comando para usarlo:
pedro@pedro-laptop:~$ sshfs usuario@servidor.com:/mi/directorio /media/ssh
Donde:
  • usuario, es el nombre de usuario con el que entrar,
  • servidor.com:, es el dominio del servidor (los dos puntos son necesarios siempre)
  • /mi/directorio, es el directorio remoto que quieres montar
  • /media/ssh, es el directorio local donde se montará el sistema de archivos
Ahora ya podemos usar el directorio /media/ssh como si de un directorio local se tratase y abrir cualquier fichero con el editor que queramos :)

Cambiar el día de inicio de semana en Unity y Gnome

Si has instalado la versión de Ubuntu con idioma inglés de Estados Unidos, seguro que el día inicial de la semana es el Domingo, en vez del Lunes, en el applet de calendario. No existe ninguna opción desde donde esto se pueda modificar fácilmente, y hay muchos usuarios (como yo) que están acostumbrados a ver el calendario empezando en Lunes. Esta pequeña guía muestra cómo cambiarlo paso a paso.
  1. Abre tu terminal favorito, y edita el fichero /etc/default/locale
    pedro@pedro-laptop:~$ sudo nano /etc/default/locale
  2. Verás una linea que contiene LANG=”en_US.UTF-8″. A continuación deberás añadir las siguiente lineas, sin borrar la que ya existe:
    LC_TIME=”en_GB.UTF-8″
    LC_PAPER=”en_GB.UTF-8″
    LC_MEASUREMENT=”en_GB.UTF-8

    Guarda los cambios y sal del editor. Con esas opciones, Ubuntu mostrará el formato de fecha en la variante europea del inglés, establecerá el tamaño del papel por defecto en A4 y las medidas en formato métrico.

    Para poder disfrutar de la nueva configuración hay que reiniciar el gestor gráfico. Para hacerlo escribe:

    pedro@pedro-laptop:~$ sudo /etc/init.d/gdm restart
Ten cuidado! Al ejecutar el último comando, se reiniciará el demonio gdm, y cerrará todas las aplicaciones. Así que asegúrate de haber guardado tus documentos abiertos antes de hacerlo
Ubuntu Calendar Applet

Calendario empieza en Lunes

Gtk-WARNING **: Locale not supported by C library

Hace ya algunos días que estoy usando Ubuntu 11.04, aunque es una versión beta, funciona muy bien… sólo hay dos cosas que me han hecho perder algo de tiempo mirando por internet cómo solucionarlo. Una de ellas, es un pequeño warning muy molesto que aparece cada vez que lanzo una aplicación gráfica desde el terminal. El error es el siguiente:

pedro@pedro-laptop:~$ ./cualquier-aplicacion

(process:10945): Gtk-WARNING **: Locale not supported by C library.
Using the fallback ‘C’ locale.

Esto me ha pasado por haber instalado el sistema operativo en inglés en_US, utilizando un teclado en español es_ES. Así que me puse a investigar cómo solucionarlo y siguiendo los siguientes pasos, he conseguido resolverlo:

Lo primero de todo, abrimos un terminal, nos hacemos root y vamos al directorio /var/lib/locales/supported.d/.

pedro@pedro-laptop:~$ sudo su
root@pedro-laptop:/home/pedro# cd /var/lib/locales/supported.d/
root@pedro-laptop:/var/lib/locales/supported.d# ls -lah
drwxr−xr−x 2 root root 4,0K 2011-04-25 20:00 .
drwxr−xr−x 3 root root 4,0K 2011-04-13 12:48 ..
−rw−r−−r−− 1 root root  270 2011-04-10 15:16 en
−rw−r−−r−− 1 root root   36 2011-04-25 20:09 local

Allí, en mi caso, existe un archivo llamado en y otro llamado local. Vamos a añadir manualmente el locale es_ES en un archivo llamado es, de la siguiente manera:

root@pedro-laptop:/var/lib/locales/supported.d# echo ‘es_ES.UTF-8 UTF-8′ > es

Comprobamos que se ha añadido bien haciendo un cat:

root@pedro-laptop:/var/lib/locales/supported.d# cat es
es_ES.UTF-8 UTF-8

Ahora añadiremos al locale es_ES en el fichero de locales por defecto. Para ello sólo tenemos que editar el archivo local y poner en la primera línea el locale que nos interesa, de modo que en mi caso queda de la siguiente manera:

root@pedro-laptop:/var/lib/locales/supported.d$ cat local
es_ES.UTF-8 UTF-8
en_US.UTF-8 UTF-8

Y ya está, ahora solo tenemos que reconfigurar el paquete de locales, para que lo reconozca:

root@pedro-laptop:/var/lib/locales/supported.d# dpkg-reconfigure locales
Generating locales…
en_AG.UTF-8… up-to-date
en_AU.UTF-8… up-to-date
en_BW.UTF-8… up-to-date
en_CA.UTF-8… up-to-date
en_DK.UTF-8… up-to-date
en_GB.UTF-8… up-to-date
en_HK.UTF-8… up-to-date
en_IE.UTF-8… up-to-date
en_IN.UTF-8… up-to-date
en_NG.UTF-8… up-to-date
en_NZ.UTF-8… up-to-date
en_PH.UTF-8… up-to-date
en_SG.UTF-8… up-to-date
en_US.UTF-8… up-to-date
en_ZA.UTF-8… up-to-date
en_ZW.UTF-8… up-to-date
es_ES.UTF-8… done
Generation complete.

Fin del problema! Ya no veremos más el molesto Gtk-WARNING :D

Terminal para Gnome: guake

Hace un tiempo escribí sobre terminales para Gnome en el que hablé de Terminator y Nautilus-terminal, que son dos terminales realmente cómodos para trabajar en modo consola. Aún así, despues del post, seguí probando alguno más y encontré otro que, para mi gusto, es el que más cómodo me resulta de todos. El terminal en cuestión se llama guake y está inspirado en aquellos terminales de míticos juegos como Quake o Doom en los que aparecían desde arriba.

Con tan solo presionar F12, se despliega el terminal y se sitúa por encima de las demás ventanas del escritorio. El terminal es semitransparente por lo que es posible utilizarlo y seguir viendo el contenido del escritorio, muy cómodo cuando necesitas copiar algún texto.

guake screenshot

guake screenshot

Además puedes configurar fácilmente desde los colores del terminal hasta el tipo de shell (sh, dash, bash…) que ejecutará, desde su menú de propiedades para que quede a tu gusto. Incluso tener múltiples pestañas de terminal abiertas a la vez, para realizar diferentes tareas. Me he acostumbrado tanto a este terminal que ahora me resulta imprescindible.

guake múltiples pestañas

guake múltiples pestañas

propiedades de guake

propiedades de guake

propiedades de guake

propiedades de guake

Para instalarlo, como siempre sencillísimo en Ubuntu, tan solo debes ejecutar el siguiente comando:

pedro@pedro-laptop:~$ sudo apt-get install guake

Ni uno ni dos: al menos cinco.

Recientemente llegó a portada una noticia en meneame.net en la que el usuario de flickr dhammza / off (Daniel Horacio Agostini), se enteraba indignado de que La SextaTV, había utilizado una de sus imágenes en flickr sin su permiso, aún cuando la licencia bajo la que está publicada no lo permite. No es la primera vez que cosas así llegan a portada en meneame, ya sucedió algo similar a finales de 2010, esta vez en las noticias de La SextaTV. La verdad es que no tienen perdón, pero no voy a dar ningún sermón sobre nada ya que no soy ningún experto en licencias ni temas legales, sólo quería dejar constancia de lo que de manera anecdótica he encontrado.
Creo que el vídeo en cuestión parece ostentar un récord del que hasta ahora (al menos yo) no tenía constancia. En el vídeo promocional del quinto aniversario de La SextaTV, hay al menos 5 imágenes que son creaciones de usuarios de flickr. Desconozco si todas ellas han sido utilizadas sin el consentimiento de sus respectivos usuarios (como en el caso de Daniel), pero aquí os dejo con el video en cuestión y los enlaces de las imágenes en flickr:

Question mark Empezamos bien. La primera imagen del vídeo es de Marco Belluci y en los 47 segundos del vídeo se repite también en el segundo 0:36. La licencia con la que el autor distribuye la imagen es CC BY 2.0 lo que requiere al menos «reconocer los créditos de la obra» según dicha licencia.
Shore Club En el segundo 0:03, tenemos una imagen de Taylor Davis, distribuida también con la misma licencia que la anterior, y (aparentemente) ni rastro del reconocimiento de su obra.
Following love En el segundo 0:20, como ya conocíamos, está la imagen de Daniel Horacio, cuya licencia CC BY-NC-ND 2.0, permite compartir – copiar y distribuir libremente siempre que se reconozcan los créditos al autor de la obra, no se utilice con fines comerciales ni se cree ninguna obra derivada de la original.
telebasura En el segundo 0:29, la foto que aparece es de Juan Carlos, su nick es po.psi.que en flickr y la licencia de su imagen es CC BY-SA 2.0, que obliga a reconocer los créditos de la imagen utilizada y cuyo uso implica una redistribución de la nueva obra bajo la misma licencia.
Cuero viejo En el segundo 0:34, vemos un balón con un interrogante. La imagen original es de Sergio (su nombre de usuario es sergis blog en flickr) y se publica bajo la licencia CC BY 2.0. Haciendo uso de los derechos que otorga la licencia, han rotado la imagen 90º en sentido antihorario y han modificado la imagen para añadir un interrogante blanco (qué despliegue de conocimientos photoshoperos gimpieros tengo :P ), pero aparentemente, saltándose también en este caso la obligación de reconocer los créditos de la obra a su autor.
Que guay es flickr!! ¿Podemos encontrar allí todos los recursos de La SextaTV? A ver si entre todos jugamos al recién inventado juego, llamado “de-quien-es-esta-imagen-en-este-video“. De momento yo gano 5 a 0… ¿Alguien se apunta?

Comandos para comprimir y descomprimir archivos en linux

En Linux hay diversas herramientas para empaquetar y comprimir archivos, tomando en cuenta que empaquetar es juntar dos o más archivos en un solo archivo (paquete) y comprimir es tomar este archivo-paquete y comprimirlo a continuación te muestro un resumen de las más comunes, de acuerdo a la extensión que comunmente se acostumbra ponerles.
.tar (tar)
Empaquetar
tar cvf archivo.tar /archivo/mayo/*
Desempaquetar
tar xvf archivo.tar
Ver el contenido (sin extraer)
tar tvf archivo.tar
.tar.gz – .tar.z – .tgz (tar con gzip)
Empaquetar y comprimir
tar czvf archivo.tar.gz /archivo/mayo/*
Desempaquetar y descomprimir
tar xzvf archivo.tar.gz
Ver el contenido (sin extraer)
tar tzvf archivo.tar.gz
.gz (gzip)
Comprimir
gzip -q archivo
(El archivo lo comprime y lo renombra como “archivo.gz”)
Descomprimir
gzip -d archivo.gz
(El archivo lo descomprime y lo deja como “archivo”
Nota: gzip solo comprime archivos, no directorios
.bz2 (bzip2)
Comprimir

bzip2 archivo

bunzip2 archivo
(El archivo lo comprime y lo renombra como “archivo.bz2″)
Descomprimir

bzip2 -d archivo.bz2

bunzip2 archivo.bz2
(El archivo lo descomprime y lo deja como “archivo”)
Nota: bzip2 solo comprime archivos, no directorios
.tar.bz2 (tar con bzip2)
Comprimir
tar -c archivos | bzip2 > archivo.tar.bz2
Descomprimir

bzip2 -dc archivo.tar.bz2 | tar -xv

tar jvxf archivo.tar.bz2 (versiones recientes de tar)
Ver contenido
bzip2 -dc archivo.tar.bz2 | tar -tv
.zip (zip)
Comprimir
zip archivo.zip /mayo/archivos
Descomprimir
unzip archivo.zip
Ver contenido
unzip -v archivo.zip
.lha (lha)
Comprimir
lha archivo.lha /mayo/archivos
Descomprimir
lha -x archivo.lha
Ver contenido

lha -v archivo.lha

lha -l archivo.lha
.zoo (zoo)
Comprimir
zoo -a archivo.zoo /mayo/archivos
Descomprimir
zoo -x archivo.zoo
Ver contenido

zoo -v archivo.zoo

zoo -L archivo.zoo
.rar (rar)
Comprimir
rar -a archivo.rar /mayo/archivos
Descomprimir
rar -x archivo.rar
Ver contenido

rar -v archivo.rar

rar -l archivo.rar

Fuente original: Sergio González Durán (http://www.linuxtotal.com.mx/index.php?cont=info_admon_004)