sábado, 12 de diciembre de 2009

Autocompletar y Syntax Highlighting en irb

Primero hay que instalar wirble usando rubygems.
sudo gem install wirble

y luego hay que agregar en el home el archivo .irbrc
gedit ~/.irbrc

donde pegamos lo siguiente

require 'rubygems'
require 'wirble'

IRB.conf[:AUTO_INDENT] = true
IRB.conf[:USE_READLINE] = true
IRB.conf[:LOAD_MODULES] = [] unless IRB.conf.key?(:LOAD_MODULES)
unless IRB.conf[:LOAD_MODULES].include?('irb/completion')
IRB.conf[:LOAD_MODULES] << 'irb/completion'
end

Wirble.init
Wirble.colorize



Luego de hacer esto, con solo ejecutar irb, vamos a ver los colores, y que podemos autocompletar usando Tab.

Via.

viernes, 11 de diciembre de 2009

Google goggles

La idea está muy buena, si la implementación es prolija y funciona más del 80% de las veces, podemos tener una nueva killer app.



Gracias Martu por el link.

Refutenme si pueden - Como instalar Ruby on Rails en Ubuntu Karmic Koala (9.10)

Estoy dando mis primeros pasos en RoR, y me llama la atención que en todos lados señalan el tutorial de hackido como el "oficial" para instalarlo en Karmic. El asunto es que me parece que hackido hace mucha cosa en principio innecesaria, a continuación mi experiencia en la instalación de rails, que es mucho mas simple y (según parece) funciona.
$ sudo aptitude install ruby rubygems
$ sudo gem install rails rake --verbose

Y con esto ya está listo. Para comprobar que realmente funciona, podemos correr rails --version o rake --version para ver que realmente estemos usando la versión recién instalada. He comprobado que si instalamos rails o rake usando aptitude, despues hay conflictos usando el de gem, una solucion es apuntar los ejecutables de /usr/bin por un link dinámico a los nuevos ejecutables que instaló gem (en el modo verbose dice la ruta, si alguien la necesita avisen por los comments).

Habiendo ya avisado que de rails no se nada, invito a algún lector que esté acostumbrado a rails a explicarme por qué hackido tiene que hacer tanta cosa, más allá de alguna optimización o librería particular que no es parte de la distribución mínima standard.

sábado, 7 de noviembre de 2009

No funciona el click en los botones de eclipse usando Ubuntu Karmic (9.10)

Desde que actualicé a Karmic tuve el siguiente problema: Los botones de eclipse no reaccionan ante el click, no hacen nada. Sin embargo con el teclado si funcionan. La solución la encontré acá, y es hacer un script (por ejemplo eclipse_fix.sh) que setea una variable del sistema antes de abrir eclipse, el script sería así:
export GDK_NATIVE_WINDOWS=true
/storage/eclipse/eclipse
donde /opt/eclipse/eclipse es la ruta al ejecutable de eclipse. Luego hay que hacer que el script se ejecutable:
chmod a+x eclipse_fix.sh


Luego cada vez que abrimos el eclipse tiene que ser a través de ese script.

Supuestamente esto va a estar arreglado en eclipse 3.5.2

**Alternativa que no probé**


Usar este ppa.

viernes, 30 de octubre de 2009

Restaurar menues y paneles por defecto en Ubuntu

Funciona en Karmic Koala. Es facil:
sudo debconf gnome-panel

Buscando encontre varias opciones pero esta fue la unica que funciono.

No se puede desinstalar flashplugin-installer despues de actualizar a Ubuntu Karmic Koala (9.10)

Al querer usar aptitude tuve este problema:
sudo aptitude full-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
The following packages are BROKEN:
flashplugin-installer
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
The following packages have unmet dependencies:
flashplugin-installer: Depends: nspluginwrapper (>= 0.9.91.4-2ubuntu1) which is a virtual package.
Depends: ia32-libs (>= 2.2ubuntu18) but it is not installable
The following actions will resolve these dependencies:

Remove the following packages:
flashplugin-installer

Leave the following dependencies unresolved:
ubuntu-restricted-extras recommends flashplugin-nonfree
Score is -441

Accept this solution? [Y/n/q/?]
The following packages will be REMOVED:
flashplugin-installer{a}
0 packages upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 180kB will be freed.
Do you want to continue? [Y/n/?]
Writing extended state information... Done
(Reading database ... 214437 files and directories currently installed.)
Removing flashplugin-installer ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done


Tenia el paquete flashplugin-installer roto, y no se podia desinstalar. La solución es ejecutar esto:
wget http://launchpadlibrarian.net/29383483/flash.patch -O- | sudo patch /var/lib/dpkg/info/flashplugin-installer.prerm


Y después se puede seguir usando aptitude tranquilo.

domingo, 25 de octubre de 2009

El click no anda en flash para ubuntu 9.10 (Karmic Koala)

Si se dan estas condiciones:
  • Usando Karmic Koala
  • El click en flash no anda (no se pueden pausar videos de youtube por ejemplo)
  • Usando arquitectura de 64 bits (amd64)
La solución es simple, hay que bajar de acá el tar.gz de flash para 64 bits, y descomprimirlo en /usr/lib/mozilla/plugins/

**Update comprobado**
En una máquina en particular despues de hacer todo esto e incluso lo que dice en los mensajes, seguía funcionándome mal. Después de todas estas pruebas, hice este remedio casero que funcionó definitivamente.

Primero descomprimi el libflashplayer.so al escritorio, y lo copié a los 3 lados que debería estar:
$ sudo cp ~/Desktop/libflashplayer.so /usr/lib/mozilla/plugins/
$ sudo cp ~/Desktop/libflashplayer.so ~/.mozilla/plugins/
$ sudo cp ~/Desktop/libflashplayer.so /usr/lib/mozilla/plugins/

Luego me aseguré de borrar todas las copias que hubiera del .so que no fueran esas 3 que yo estaba usando. Para eso hice:
locate libflashplayer.so
(Nota al margen: el locate es un comando particularmente poderoso e util, en algun momento voy a escribir al respecto)

En definitiva y lo aclaro al margen, tuve que borrar 2 copias en particular que ni siquiera tienen el mismo nombre, que son las siguientes:
$ sudo rm -f /usr/share/ubufox/plugins/npwrapper.libflashplayer.so
$ sudo rm -f /var/lib/flashplugin-installer/npwrapper.libflashplayer.so
Igual YMMV, asi que asumo que lo mas recomendable es borrar todos. Por otro lado, yo los borre porque no soy precavido, lo mas recomendable sería moverlos a un lugar seguro por si algo crítico se rompe, si alguien prueba este método y tiene problemas no digan que no les avisé. También, en la parte de la solución, probablemente sea mejor hacer links dinámicos al .so y no copiarlo 3 veces. Estoy al tanto de eso, pero bueno, salió así y así funciona.

Si a alguien le funciona/no le funciona, sírvanse avisar en los comments. Parece ser que es un tema que está molestando a mucha gente (a mí en particular me pasó en las 3 máquinas de 64 bits que instalé)

sábado, 24 de octubre de 2009

Error en VLC reproduciendo XVID en Karmic Koala (9.10) "No suitable decoder module"

Ayer hice upgrade al beta de Karmic Koala, y VLC no me reproducia ninguna clase de videos. La solución fue:
sudo aptitude install libavcodec52

martes, 20 de octubre de 2009

Programando con cinta pato

Hace poco, entre distintos pesos pesados del mundo del development, se dio una discusión bastante jugosa. Todo empezó con este post de Joel Spolsky, que parece ser un conocido detractor de las metodologías agile. El tema es que Joel estaba leyendo el libro Coders At Work (que ahora está en mi wishlist), donde se entrevista a figuras casi mitológicas del ambiente, y noto que Jamie Zawinski asegura no haberle dado mucha bola a las tecnologías cool y de vanguardia, y mas bien enfocarse en darle pa adelante a lo buey. En la epoca de netscape navigator, supongo que la vanguardia sería cosas como los Design Patterns y OOP; igual Joel aprovecha esto para tirarle mierda al TDD y toda la movida agile. Desarrolla una analogía que es la que da título al post, donde habla del Duct Tape Programmer, que como la famosa cinta pato, no se la da de cool, y no es la solución más eficiente, pero suele estar a tiempo y arreglar las cosas sin demora. Una especie de "lo atamo con alambre" o McGyver. Más tarde, Uncle Bob Martin que digamos que está del otro lado de la vereda, le contestó, continuando la analogía, que para emparchar una cañería con la cinta pato alcanza, pero si pretendemos hacer un edificio, meido que se nos va a complicar. El asunto es que se terminó dando una especie de generala donde intervinieron varias personas, como Peter Seibel, el que escribio el libro que originó todo. Como la discusión resulta interesante, y proporciona bastante insight sobre los varios puntos de vista, voy a dejar a continuación una lista de los blog posts que vengo leyendo al respecto, en orden cronológico, por si a alguien le interesa pegarle una ojeada.

lunes, 21 de septiembre de 2009

martes, 11 de agosto de 2009

Ejecutar un script al bootear en Ubuntu Jaunty Jackalope (9.04)

Para que un script se ejecute al bootear, hacemos lo siguiente.

1) Copiamos el script a /etc/init.d
sudo cp script /etc/init.d

2) Le damos al script permiso de ejecución
sudo chmod +x /etc/init.d/script

3) Ejecutamos el siguiente comando
sudo update-rc.d script defaults

miércoles, 24 de junio de 2009

Instalar Mozilla Firefox 3.5 RC (Shiretoko) y más en Ubuntu 9.04 (Jaunty)

Hay que agregar a /etc/apt/sources.list el siguiente repositorio:

deb http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu jaunty main


luego importar su key:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com EF4186FE247510BE


Y a continuación instalarlo:
sudo aptitude update && sudo aptitude install firefox-3.5


Nota: Este repositorio también nos habilita a instalar el firefox 3.6.

lunes, 15 de junio de 2009

Instalar Google Chrome (No Chromium) en Ubuntu 9.04 (Jaunty Jackalope)

Si uno busca para instalar Chrome en internet, aparece Chromium por muchos lados. Sin embargo, hay una versión de development de Chrome que se puede instalar.
Los .deb los pueden conseguir acá:

Al instalar cualquiera de estos debs, se agrega automaticamente a nuestro sources.list el repositorio de development.

Mas info acá: http://dev.chromium.org/getting-involved/dev-channel

Gracias a Martu por avivarme de esto.

sábado, 13 de junio de 2009

Restablecer el menu de grub despues de instalar Windows

Instalamos win ya teniendo instalado ubuntu, desaparece el menu del grub en el inicio del pc y bootea win derecho, con esto se soluciona:

booteamos con un cd de ubuntu y abrimos un terminal

sudo grub

find /boot/grub/stage1


Este ultimo comando da como resultado algo asi: (x,y)
(por ejemplo: (hd0,3) )

hacemos:
root (x,y)

setup (x)

quit

sudo reboot


ahora deberia aparecer el menu del grub
recuerden que editando el archivo:
/boot/grub/menu.lst

podemos modificar ese menu

(robado de aca )

viernes, 22 de mayo de 2009

No se puede levantar WEBrick en Ubuntu Jaunty (Error con require_frameworks)

Estaba intentando levantar rails, y al querer correr WEBrick me dió el siguiente error:
=> Booting WEBrick
=> Rails 2.3.2 application starting on http://0.0.0.0:3000
/var/lib/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:269:in `require_frameworks': no such file to load -- net/https (RuntimeError)
from /var/lib/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:134:in `process'
from /var/lib/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in `send'
from /var/lib/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in `run'
from /storage/git/local_repos/rails/blah/config/environment.rb:9
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /var/lib/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require'
from /var/lib/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /var/lib/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require'
from /var/lib/gems/1.8/gems/rails-2.3.2/lib/commands/server.rb:84
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
from script/server:3



Esto se solucionó por completo al instalar libopenssl-ruby

sudo aptitude install libopenssl-ruby

jueves, 7 de mayo de 2009

Amarok no reproduce mp3s (falta el codec) en Ubuntu Jaunty (9.04)

Al instalar Amarok 2 en Jaunty, no están los codecs necesarios para reproducir mp3. El modo de solucionarlo es instalar libxine1-ffmpeg:
$ sudo aptitude install libxine1-ffmpeg

miércoles, 11 de marzo de 2009

Setear firefox como navegador por defecto en Kubuntu Intrepid Ibex 8.10

Empecé a usar kde4, así que esperen ver más de un post al respecto. Tengo instalado firefox y opera (además de konqueror ahora), y no se por qué, a pesar de que firefox cree ser el navegador por defecto, desde pidgin por ejemplo, me abría cosas en opera.
La solución está en:
sudo update-alternatives --config x-www-browser

donde podemos elegir el browser por defecto.

Todavía no estoy seguro si es lo único que se necesita, porque los plasmoids creo que me abren konqueror, pero de ultima cuando encuentre solución hago update acá.

jueves, 19 de febrero de 2009

Autocompletar en el intérprete de python

Este es un truquito para poder autocompletar la línea en el intérprete de python usando tabulador al mejor estilo bash.

Lo primero que hay que hacer es abrir el intérprete de python:

[esteban@esteban ~]$ python
Python 2.5.2 (r252:60911, Jan 4 2009, 17:40:26)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>


luego ejecutar las siguientes líneas:

>>> import rlcompleter
>>> import readline
>>> readline.parse_and_bind("tab: complete")

Listo, ahora al presionar "tab" se completará la líea o mostrará las sugerencias posibles:

>>> readline. <TAB PRESSED>
readline.__doc__ readline.get_line_buffer( readline.read_init_file(
readline.__file__ readline.insert_text( readline.set_completer(
readline.__name__ readline.parse_and_bind(
>>> readline.

El problema es que cada vez que se quiera tener "tab completar" se va a tener que
hacer ese procedimiento.
Para dejar esa configuración por defecto basta con setear la variable de
entorno PYTHONSTARTUP apuntando a un archivo que tenga esas líneas.

Por ejemplo yo creé un archivo en mi home llamado .pystartup donde se
encuentran esas 3 líneas.
luego:

[esteban@esteban ~]$ export PYTHONSTARTUP=~/.pystartup

Ahora cada vez que abran el intérprete tendrán tab-completion.

martes, 10 de febrero de 2009

No funcionan mis scripts en cron.daily (cron.hourly, cron.weekly)

1) Es el archivo ejecutable? (Esto no me consta que juegue en contra, pero por las dudas, no sobra)
sudo chmod a+x script.sh
El a+x es para setearlo ejecutable para todos, tambien sirve u+x, g+x y o+x, siendo respectivamente para el owner, el grupo y el resto de los users.

2) Este es el que me olvidé mas de una vez, el archivo no puede tener caracteres extraños en el nombre, no estoy seguro de si es solo letras y numeros, pero si me consta que no puede tener puntos. Supongo que es un error común.

sudo mv /etc/cron.daily/script.sh /etc/cron.daily/script