martes, 12 de abril de 2011

Ubuntu Cosillas: Xvidcap grabaciones de escritorio (una alternativa muy recomendable)

Excelente!! Esto lo conseguí en el blog citado abajo, los pasos son (textual):

  • Uninstall xvidcap in Synaptic
  • Install xvidcap from http://sourceforge.net/projects/xvidcap/files/xvidcap/1.1.7/xvidcap_1.1.7jaunty_i386.deb/download
  • Lock the installed version in Synaptic
  • Install pavucontrol in Synaptic (Needed in Ubuntu 10.04 but not in Linux Mint 10: already present)
  • Open the program with padsp xvidcap
  • Click on the recording button (red circle)
  • Run pavucontrol, go to the Recording tab and there choose Monitor of Analog Stereo Internal Audio

Ubuntu Cosillas: Xvidcap grabaciones de escritorio (una alternativa muy recomendable)

domingo, 10 de abril de 2011

Barajita premiada (#24) - generando documentos PDF a partir de imágenes

Por cosas de la vida necesitaba entregar un PDF con mis notas de grado escaneadas, el problema: tenía un montón de imágenes y llevarlas a un PDF con Openoffice siempre quedaba mal por inconsistencias con los márgenes. La solución:

$ ls 
notas1.jpg  notas3.jpg  notas5.jpg
notas2.jpg  notas4.jpg  notas6.jpg
$ sudo aptitude install imagemagick
$ convert *.jpg notas.pdf

Listo! El paquete imagemagick trae el programa convert que permite manipular imágenes (formatos, tamaños, etc), éste cogió los archivos en orden (por la numeración) y generó el PDF en un pis-pas.


viernes, 8 de abril de 2011

Iterando sobre un archivo con claves y consultando en BD (en bash)

El problema: un archivo/fichero con columnas separadas por tuberías "|" y por cada identificador contenido en la primera columna de éste, se debía buscar en BD unos datos específicos.

Les dejo este pequeño script que tiene algunas cosillas útiles, como la utilización de contadores en bash fácilmente (a lo C).

#!/bin/bash

dbuser=DB_USER
dbhost=DB_HOST
dbname=DB_NAME
ln=1 # counter
sql="SELECT ... FROM ... WHERE ... id="

cat content.csv |
while read line; do
  id=`cut -d'|' -f1 <(echo $line)`

  if [ $ln -gt 1 ]; then
    mysql -u $dbuser -h $dbhost $dbname --batch --skip-column-names -e "$sql$id" | sed 's/\t/|/g'
  fi

  let ln+=1
done
Por cada línea del archivo content.csv se toma la primera columna (como id - luego de la primera línea) y luego se ejecuta una query en BD utilizando este número; el resultado es formateado con columnas separadas por tuberías. Interesante: la forma en que se incrementa el contado con "let+=1".
OJO: Esto se pudo hacer con otro lenguaje de programación, ideal perl, pero como me da nota/mola bash lo hice de esta forma. Además, cabe acotar que esto es sólo algo puntual, no es una base de código que deberá mantenerse en el tiempo, de no ser así, recomendaría otra vía.