8/01/2012

Instalar Arduino en Ubuntu


Solo por curiosidad adquirí una placa Arduino Uno, y lo primero que hice fue buscar si tiene soporte para Linux. La herramienta de desarrollo está disponible para en el sitio oficial para descargar, descomprimir y ejecutar, este no necesita ser instalado (está desarrollado en Java).

Hay que instalar el compilador gcc-avr y las librerías avr-libc:

sudo apt-get install gcc-avr avr-libc

Ahora falta asignarnos los permisos para que el USB pueda ser ocupado como puerto de conexión a la placa Arduino:

sudo usermod -a -G dialout usuario

Como la herramienta para compilar y subir los scketch a la placa Arduino es ejecutada sobre java, tendremos que instalar el paquete sun-java6-jre:

sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts


Podemos probar si java quedó instalado correctamente con el comando "java -version".


Fuentes
http://arduino.cc/en/Main/Software
http://usemodj.com/blog/?p=409
http://arduino.cc/es/Tutorial/Sketch

6/27/2012

Error GPG en PPA de Ubuntu

Agregué un nuevo repositorio con apt-add-repository y al actualizar la lista de paquetes (apt-get update) me arrojaba el siguiente mensaje:
Error de GPG: http://ppa.launchpad.net oneiric Release: Las firmas siguientes no se pudieron verificar porque su clave pública no está disponible: NO_PUBKEY D6B6DB186A68F637
Googleando me topé con la siguiente solución:

sudo apt-add-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install launchpad-getkeys

Después de actualizar e instalar el paquete launchpad-getkeys lo ejecutamos como root:

sudo launchpad-getkeys

Fuentes:
http://www.webupd8.org/2010/05/automatically-import-all-missing.html
http://www.nosinmiubuntu.com/2011/11/launchpad-getkeys-importa-rapidamente.html

5/07/2012

Load average


¿Qué es eso de "load average" cuando ejecutamos el comando "top" o "uptime" en una consola?

$uptime
12:22:11 up 154 days, 4:57, 1 user, load average: 0.27, 0.23, 0.19

El load average es la cantidad de procesos que están encolados, calculados sobre un cierto período de tiempo (load average: 1min, 5min, 15min).

¿Qué es lo que bloquea al proceso?, pueden ser 3 factores:
  • CPU 
  • Lectura/Escritura de disco 
  • Lectura/Escritura de la red 

Entonces un proceso bloqueado sería:
  • A la espera que la CPU pueda procesarlo 
  • Está esperando a que el disco lo deje escribir. 
  • Necesita leer algo de la Internet pero la red está ocupada. 

¿Qué significa un load average elevado o que el servidor tenga carga alta?

Ésto es una indicación de que la CPU no aguanta el uso que le damos, o que algo está fallando (hardware), un disco (partición) o una tarjeta de red.

Diagnosticar el problema

El comando "top" nos muestra información sobre el estado actual de los procesos que están en ejecución, la tercera línea nos puede ayudar ya que nos informa el uso de la CPU:
  • us: procesos iniciados por algún usuario. 
  • sy: procesos iniciados por el sistema. 
  • ni: procesos iniciados con prioridad especial (nice). 
  • id: porcentaje sin usar (idle). 
  • wa: procesos esperando para continuar (waiting).
Si el porcentaje de usuarios (us) o de sistema (sy) está constantemente en 90% o 100%, significa que la CPU no da abasto para el uso que le estás dando a la máquina (o que tiene algún problema de performance).

Si en cambio el porcentaje alto es el de espera (wa), significa que la CPU está consumiendo mucho tiempo esperando a que se ejecuten las operaciones de lectura/escritura. Ésto significa que puedes tener un disco que falla, una tarjeta de red que no funciona bien o el ancho de banda no es proporcional a lo requerido por las aplicaciones.

Para saber qué aplicaciones están causando carga, corremos el comando que lista los procesos corriendo en el sistema "ps faux".


Hay que fijarse en la columna STAT, que indica el estado del proceso. Los estados más comunes son:
  • R - Running (ejecutandose) 
  • S - Sleeping (en pausa) 
  • D - Waiting for something (en espera) 

Así que busca algún proceso que esté en D, y empieza desde ahí a diagnosticar el problema. Para hacer diagnósticos más completos puedes ocupar los siguiente programas:
  • strace - rastrea lo que hace un programa. 
  • iostat - muestra la actividad del disco. 
  • bwmon - muestra la actividad de la red. 

4/25/2012

Aplicar skins a Midnight Commander

Es algo viejo, anticuado... pero, con soporte (en constante desarrollo y correcciones de bugs) y muy funcional. Para los amantes de lo "retro" existe la posibilidad de modificar los colores base de MC.

En Linux hay que crear el directorio "skins" en $HOME/.mc/ y descargar darkone.tar.bz2 (copiamos darkone.ini en $HOME/.mc/skins/).

Luego modificamos $HOME/.mc/ini y buscamos la etiqueta "skin" que por defecto tiene como valor "default"  (si no está la creamos) y le asignamos el valor "darkone" (que es el nombre del .ini que acabamos de copiar en el directorio skins).

 [Midnight-Commander]  
 skin=darkone  

Fuente

3/20/2012

Buscar MP3 en Google

Pueden llamarlo como truco, piratería, buscar respaldos o simplemente para conocer un artista y así decidir si comprar o no su disco. Para buscar y descargar MP3 con la ayuda de Google hay que ingresar lo siguiente en el cuadro de búsqueda:

intitle:index.of.mp3 nombre_artista -htm -html -php -asp

Reemplazamos "nombre_artista" por el artista o canción que queremos encontrar y Google buscará sobre las páginas que tiene indexadas, sencillo no?

Fuente
http://google.dirson.com/post/1153/

Mockups en Linux



Balsamiq Mockups es una herramienta de escritorio para crear maquetas de sistemas (web también!), esta se ejecuta sobre Adobe Air y para instalarlo en Ubuntu 11.10 hay que hacer lo siguiente:
Nos descargamos Adobe Air para Linux:

~# wget http://airdownload.adobe.com/air/lin/download/latest/AdobeAIRInstaller.bin
~# sudo chmod +x AdobeAIRInstaller.bin
~# sudo ./AdobeAIRInstaller.bin

Luego de instalar Adobe Air ejecutamos como root el instalador de aplicaciones:

~# sudo Adobe\ AIR\ Application\ Installer

Buscamos el MockupsForDesktop.air que nos descargamos desde www.balsamiq.com y dejamos que la instalación continúe.

Fuentes