9 de diciembre de 2009

Instalar Geany en Mac OS X 10.5.8

Ayer estrené proyecto en el trabajo: desarrollar una aplicación para iPhone.

Como no podría ser de otro modo, para desarrollar una app para estos adorables telefonillos, tengo que usar Mac OS. Así que me puse a buscar la forma de instalar Geany, una de mis IDEs favoritas, en Mac.

Lo encaré usando Darwin Ports. Vamos con el paso a paso:

1. (si no lo tenés instalado de antes) Instalar Darwin Ports. Descargar el .dmg de acá http://darwinports.com/download/ La instalación es muy sencilla (tan sólo doble click en el dmg una vez que se haya descargado y seguir los pasos que indique).

2. En una consola, ejecutar estos comandos:
$ sudo port -d selfupdate
$ sudo port install geany
¡Y listo! Pueden pegar una mirada al sitio del proyecto Geany acá: http://www.geany.org/

[UPDATE]



También se puede instalar usando brew, un excelente manejador de paquetes para Mac:
no soy un gran fan de macports o fink, a decir verdad, pero brew me gusta mucho.

 
Para instalar homebrew: https://github.com/mxcl/homebrew

Una vez instalado:

Actualizamos la información de los paquetes(brew les llama "formulas"):

matias@[08:59:36]:~ $ brew update

Pedimos información sobre el paquete/formula de Geany:

matias@[08:53:52]:~ $ brew info geany
geany 0.20
http://geany.org/
Depends on: pkg-config, gettext, intltool, gtk+
Not installed
http://github.com/mxcl/homebrew/commits/master/Library/Formula/geany.rb

Lo instalamos:

matias@[09:02:16]:~ $ brew install geany
Listo!

24 de septiembre de 2009

Iterating over a dictionary in Django templates

Just a quick one: To iterate over a list you do something along the lines of:

{% for item in list%}{{ item }}{% endfor %}

But this fails (silently, of course) for dictionaries and the magic you are looking for is to call .items on the dictionary then iterate key,value across that:
{% for key,value in dictionary.items %}{{ value }}{% endfor %}

Edit: This is now covered in the django documentation itself.

Artículo original: acá.

19 de septiembre de 2009

on the fly PEP8 compliance check for Emacs

Hola!

Hace unos días estuve buscando algún plugin para Geany que hiciera chequeo de PEP8 compliance. No encontré :-P

¡Pero! Sí encontré cómo hacerlo con el majestuoso Emacs (gracias a Gustavo por la ayuda!):

¿Cómo?
Nota: Asumo Ubuntu 9.04 y Emacs.

A por ello:
Primero: instalar pychecker y flymake
matias@terpsicores:~$ sudo apt-get install pychecker
matias@terpsicores:~$ sudo easy_install flymake
Descargar flymake.el y pep8.py.


Más acerca de PEP8 acá.

Copiar flymake.el dentro de ~/emacs.d/
matias@terpsicores:~$ cp flymake.el ~/emacs.d/

Copiar pep8.py en /usr/bin/ y darle los permisos adecuados:
matias@terpsicores:~$ sudo cp pep8.py /usr/bin/
matias@terpsicores:~$ sudo chmod 755 /usr/bin/pep8.py
Copiar esto dentro de ~/.emacs

(when (load "flymake" t)
 (defun flymake-pylint-init ()
   (let* ((temp-file (flymake-init-create-temp-buffer-copy
                      'flymake-create-temp-inplace))
          (local-file (file-relative-name
                       temp-file
                       (file-name-directory buffer-file-name))))
         (list "pep8.py" (list "--repeat" local-file))))

 (add-to-list 'flymake-allowed-file-name-masks
              '("\\.py\\'" flymake-pylint-init)))

Acá dejo una copia de mi .emacs, por si acaso.

Por último, teniendo abierto algún archivo .py, en Emacs:
x
flymake-mode




Y listo!

18 de septiembre de 2009

Todo lo que siempre quiso saber ....

.... y nunca se animó a preguntar a su Project Manager acerca de Mercurial, en una sola imagen.


Mercurial en una imagen

matias@terpsicores:~$ python -c "print 'Hello, world'"

Como es debido, tenía que hacerme mi blog.

Hace rato que venía postergando la tarea de armar un espacio en el que ir poniendo los know how de las cosas a las que les voy encontrando la vuelta (por ejemplo, si alguien intentó instalar Mercurial en Mac OS X con la versión de Python -2.5- que viene preinstalada, me va a entender inmediatamente).

Bueno, basta de cháchara, al fin me hice el blog.

Salud!


Matías [scoobygalletas].-