miércoles, junio 03, 2009

google code anuncia soporte para hg

En el sitio oficial de mercurial acabo de leer que en google code están comenzando a probar el soporte para hg. Todavía no está disponible para el público general, pero lo estará en breve :)
Actualmente utilizo bitbucket, que tiene una inyerfase web bastante bonita, pero el conjunto de repositorios de un usuario no puede superar los 150MB. No se si abandone bitbucket, pero está sedición de google sin duda contribuira a la popularidad de mi sistema de versiones preferido :)

lunes, mayo 25, 2009

Recuperar iphone cuando se rompe iTunes

Gracias a la aplicación ifuse pude montar el iphone a través del cable USB, y ver las carpetas "importantes" de mi usuario (mobile). La existencia del directorio iTunes_control me hizo sospechar de que se podría llegar a sincronizar el aparato a través de libgpod en linux. GtkPod pareció detectarlo, pero... rompio todo. Al punto que itunes (vía vmware) solo ofrecía reparar el teléfono reinstalando el SO. Aclato que en el teléfono lo único que no funcionaba era la aplicación de iPod. Googleando un poco vi que había alternarivas de sincronización en winblow$, así que me di a la tarea de ver si alguna reconstruia la db. Con la vetsión gratuita de media monkey se solucionó el problema. Agregué algunos temas el incluso me asistió en la recuperación de tapitas. Espero que amarok2 pronto pueda tener la funcionalidad que tenía con mi iPod nano. Por lo demás estoy conforme con el teléfono, ahora que soy iTunes independiente :)

jueves, mayo 21, 2009

iPhone

Luego de haberme bicicleteado bastante en movistar y habiendo recorrido varias de las casas de celulares de mi pueblo natal (forzado a cambiar por AMX), felizmente soy poseedor de un hermoso iphone blanco, donde llevó el correo, los feeds, agenda y desde el cual estoy escribiendo esta entrada.
Luego del jailbreak pude instalar nuevas apps, entre las cuales se encuentra una terminal y un servidor de ssh.
Quizás lo que mas llama la atención, cuando uno comienza a urgar por sftp, es la forma en la que se ha dispuesto el filesystem. Recuerdo un post donde Linus bardeaba la gerarquia estandard del FS de MacOS, creo que ahora entiendo por que. Aunque a pesar de todo parece que apple decidió almacenar todo en archivos propety list (xml) y en bases sqlite (mensajes de texto, agenda, libreta de contactos, etc), de manera de que habría forma de sincronizar el teléfono con mi SO predilecto.
Algo que aún queda por explorar es el tema del desarrollo para el aparato, donde quizás mi principal obstáculo es mi desconocimiento de ObjectiveC.

sábado, febrero 28, 2009

CSS orientado a Objetos

Una muy buena presentación que vi en Ajaxian.
En YUI muchos de los conceptos que se ven en estra presentación se aplican.
Es bueno tener estos conceptos presentes a la hora de crear CSS.


jueves, febrero 26, 2009

Una materia menos y LaTeX

Ayer rendí la anteúltima materia de mi carrera y aprobé :) La materia me gusta muy poco (algebra lineal) pero, saqué algo positivo: La profe que nos dió clase de consulta estaba interesada en aprender LaTeX (y yo también), así que aprendimos LaTeX. Algo sabía al respecto, que era un lenguaje para hacer PDFs hermosos, que tenía un buen soporte para fórmulas matemáticas y también podía producir presentaciones muy buenas con prosper o beamer (que conocí gracias a Santiago).
En #latex de irc.freenode.net me recomendaron texclipse, un plugin para mi IDE acutal, Eclipse. Pero muchos editores de latex dando vueltas (vi, emacs, lyx, kile, etc.)
LaTeX es un leguaje de marcas, en realidad, un conjunto de macros para un lenguaje de bajo nivel, llamado TeX.
Así como distros de linux, existen varias vairadades de LaTeX. Tetex es una no mantenida, MikTex una rama para windows, MacTex para Mac, y en GNU tenemos LiveTex, que es multiplataforma.
Estoy tratando de hacer correr LiveTex sobre la máquina virtual donde tengo instalado winblows, pero ya van 1.2GB!

Pero refelxionando un poco, la funcionalidad que da TeXclipse es básicamente esto:
while inotifywait -r -e modify mi_archivo.tex; do
    pdflatex mi_archivo.tex mi_archivo.pdf
done




jueves, febrero 19, 2009

Desarmando una MacBook Pro

En ifixit.com desarman una MacBook Pró, con un buen detalle de imágenes. Un detalle que no conocía, es que la batería no se puede reemplazar facilmente como en una laptop PC.


lunes, febrero 09, 2009

A shell to rule them all


Bash es una herramienta muy poderosa y el autocompletado que incluye en Ubuntu (creo desde 7.04) lo hace aún más fácil de aprender. Sin embargo, cuando comencé el proceso "pimp my bash", empecé a notar que la performance comienza a disminuir, algo que se vuelve notorio al arranque.
Muchas aplicaciones degradan su rendimiento con el toqueteo, es algo casi natural, pero muchas veces imperceptible o tolerable... pero en una herramienta tan fundamental para un usuario Linux, no va. Esperar 0.5 a 1 segundo por un shell en un procesador Core 2 Duo no va. Por lo menos para mi no.
Así que decidí dar un paseo por los otros shells. Probé ksh, csh y no no me convencieron. Tan solo ver que un golpe de tabulador desplaza ocho espacios a la derecha me dio mucha tristesa, aunque la velocidad de spawneo (perdonen el spanglish) era muy buena. Pocas horas más tarde, tcsh mejoró el panorama (si mal no recuerdo viene de BSD).
Finalmente di con zsh, que pregonaba un poderoso sistema de compleción (o se dice completado?).
Tras instalarlo, la compleción no estaba disponible pero entre la doc de gentoo y la wiki de arch, logré configurarlo. Velocidad de spawn muy buena, configuración bastante etendible, compatible con sh y hasta ahora con todos los scripts de bash que he probado... y con un autocompletado para sacarse el sombrero:
En vez de ir alternando entre las posibles opciones, las lista en las lineas inferiores al prompt, de manera de tener un pantallazo general de las opciones, pero no conforme con esto, muchos comandos tienen ayuda detallada:


Una sintaxis de for simplificada, no neceista do accion1; accion2; done:
for x in *; echo $x en vez de for x in *; do echo $x; done
Editor de historial mejorado cuando tipeamos comandos multilinea, corrige comandos cuando le pifeamos al orden de los caracteres, las instancias de zsh pueden colaborar un historial global y buscar en cada terminal (cosa que no pasaba en bash y realmente nunca comprendí muy bien cual era su filosofía con respecto a varias sesiones y un solo history) entre otras features que pueden leer en su FAQ.
Lo que les puedo recomendar es que lo prueben ustedes mismos.