Hace tiempo probé wapt-get, aplicación para instalar y actualizar paquetes de ubuntu desde windows para mi compu cuando no tenía internet.
Ahora, leyendo en puntogeek sobre Sushi huh? una herramienta que te permite hacer lo mismo que wapt-get, pero para otras distribuciones más, es más amigable, con una mejor interface y con un mejor rendimiento. Ya que wapt-get no tiene una forma de poder evitar la descarga de los paquetes que ya existen en tu sistema, cosa que Sushi huh? si hace.
Pues, a por el, a correr que en puntogeek le hacen un buen repaso de como instalar y demás detalles. ñ_ñ yo no podre usarlo porque volví a usar windows
Posted: Diciembre 13th, 2009
Categories:
Sin categoría
Tags:
Comments:
No Comments.
En la oficina estamos un tiempo desarrollando en python, django, para ser más exacto. El punto es instalar las librerías que son necesarias para algunos proyectos a veces es una tarea algo… aburrida?
Bueno, para ello existe Python Package Manager, es un (traduciendo
) un gestor de paquetes o librerías para python.

Similar a lo que hacen los gestores de paquetes o programas en los sistemas operativos linux, Python Package Manager busca, instala y actualiza las librerías python por nosotros. Adiós a tener de que desempaquetar, entrar por consola e instalar.
Provecho con la herramienta.
Posted: Diciembre 13th, 2009
Categories:
python
Tags:
Comments:
No Comments.
Esto si que es interesante.
Fernando me paso un link de un “coso” o aplicación que, si eres disarrollador web o no, te permite refrescar tu navegador cada vez que guardas el código fuente de tu trabajo.
Es decir, estas editando la hoja de estilos de tu sitio. Guardas usando tu IDE. Y XRefresh se encarga de recargar tu navegador. c00l.
El “coso” o aplicación en “cuestion” lo podemos descargar del Sitio web de XRfresh, disponible para Windows y OSX.
Vayan! corran! pruebenlo!
Yo no lo probé. xD
Y es que tengo la manía de guardar todo lo que escribo a cada instante. Eso y presionar ESC a cada momento. (Gracias VIM).
Saludos!
Posted: Agosto 29th, 2009
Categories:
Sin categoría
Tags:
Comments:
No Comments.
Hikari, mi computadora, tiene una tarjeta de vídeo nvidia. Para poder jugar con el compiz y tener todo como debe ser tuve que instalar el drive nvidia ofrece en su site.. Nada nuevo hasta aquí.
Un día, después de hacer unas actualizaciones que involucraban al kernel de linux mi tarjeta de vídeo y su configuración se fueron por el caño.
¿¿¿Porque a miiiii!!???
Cuando se instala el driver de nvidia, este se compila para el kernel que tienes en tu compu linux, Pero cuando se actualiza el kernel de linux el driver deja de funcionar porque el kernel para el que fue compilado el driver de la tarjeta de vídeo ya no es el mismo.
¿La solución? Instalar otra vez el driver
Si les pasa lo que me paso a mi, ubuntu les pedirá elegir una configuración de vídeo por defecto que te permitirá iniciar sesión en modo gráfico y usar el navegador para descargar la ultima versión del driver.
Si nunca lo hiciste. En el formulario de la página de descarga de nvidia, tienes que elegir el modelo de tu tarjeta de vídeo. Aceptar las condiciones de uso. Y luego al tratar de descargar el archivo, te pueden pasar dos cosas.
La primera, que el navegador te lance el gestor de descargas y el archivo se descargue con normalidad.
La otra, y más probable, que el navegador abra el archivo .run en una pestaña. Si eso pasa, mejor cancela la carga, que son unos cuantos MB, y copia la URL del driver y lo agregas al gestor de descargas de tu navegador.
Una vez descargado en un lugar accesible y fácil de recordar. Tenemos que ejecutarlo. Para ello tenemos que apagar nuestro tan amado entorno gráfico.
Apunta los pasos antes de hacer esto.
Salimos del entorno gráfico y pasamos a la linea de comandos. Presionamos en el teclado.
Ctr+Alt+F1
Luego, nos logueamos.
Luego apagamos todos las X usando el GDM (GNOME Display Manager).
sudo /etc/init.d/gdm stop
Después navegamos hasta donde esta nuestra driver descargado. Ya saben usando el comando “cd” y el nombre de la carpeta. Y procedemos a instalarlo.
sudo sh NVIDIA-Linux-x86-185.18.36-pkg1.run
Donde NVIDIA-Linux-x86-185.18.36-pkg1.run es el driver descargado.
Ya en la guía de instalación nos preguntará si deseamos descargar un núcleo compilado, debemos responder que no. Eso hará que el instalador compile una versión para nuestro nuevo kernel.
Si todo sale bien, tendrás otra vez tu pc lista para jugar con el compiz y esas cosas tan “chulas” xD
Yo reinicie mi pc
sudo reboot
Aunque, según acabo de ver se puede reiniciar el servidor gráfico usando…
sudo /etc/init.d/gdm restart
En todo caso puedes usar
sudo /etc/init.d/gdm --help
Para obtener más luz.
Según he leído, a algunas personas les dio un error al instalar el nuevo driver. Yo también pase por algunas dificultades. Pero todo salio bien luego de desinstalar el antiguo driver usando Sistema > admnistración > controladores de hardware. Creo que por alguna razón instale usando las opciones que ubuntu me daba y algo salió mal. En fin. Prueben con desinstalar y volver a instalar si algo sale mal.
Saludos y gracias a las personas que escribieron sus respectivas notas y que me ayudaron a saber porque Hikari se puso malita.
Ahora a jugar!
PD: El título más descriptivo que escrito jamas. Hasta ahora.
Posted: Agosto 29th, 2009
Categories:
ubuntu
Tags:
ubuntu
Comments:
No Comments.
En el trabajo ya llevamos tiempo usando Git como herramienta para la gestión de versiones.
Y navegando por allí encontré una guía práctica del uso de git.
Esta guía presenta ejemplos prácticos de como y cuando usar determinados comandos del git.
Me gusta mucho las analogías que usa, como que el trabajo es un juego. Y que cada “commit” al repositorio es como guardar una partida en el juego para luego continuar o volver a donde te quedaste. Si fallas miserablemente en el juego, puedes volver en donde aún tenías oportunidad de ganar y seguir avanzando.
También me gusta la analogía de viajes en el tiempo
Se puede leer online desde: Git Magic
O descargar el pdf. Y hasta tiene un paquete para debian por si el servidor esta caído por mantenimiento o algo
Las fuentes de esta Guía estan también en git.
$ git clone git://repo.or.cz/gitmagic.git #Crea el directorio "gitmagic"
Así que es hora de jugar con git!.
Posted: Agosto 26th, 2009
Categories:
Sin categoría
Tags:
Comments:
No Comments.
¿Qué pasa cuando tienes una compu sin internet?
Pues nada.
¿Qué pasa después de batallar por la conexión con la administradora del hogar argumentando que podre aumentar el ingreso con billetes de los verdes y que el internet se pagará solo y además podrá localizarme en cualquier momento (usando el msn claro) ?
Pues que al poco tiempo tengo conexión a internet.
¿Qué pasa cuando tu compu tiene conexión?
Pues que llegan las visitas a jugar con tu compu.
Y eso es lo que me ha estado pasando.
Hikari, mi computadora, a estado resistiendo gran cantidad de manoseos inoportunos durante un tiempo desde que tengo internet.
Algunas personas que no quiero decir quienes son, usaban a la pobre Hikari para instalar juegos, programas para descargar cosas, instalar “tulbars”, instalar anuncios voladores sobre artículos sexuales y un sin fin de cosas.
Y lo mejor de todo. Yo tenia que darle las gracias a estas personas. Que con su gran corazón me hacían el favor de poner juegos y cosas bonitas como cursores de colores y Haditas que revoloteaban en el puntero del ratón cuando el sistema se quería suicidar de tanto troyano y demás animalitos raros que tenía encima.
Así que con la diplomacia que me caracteriza, les dije claramente que no instalaran nada en Hikari. Amenazando de darles muerte. Muerte electrónica claro esta. Les amenace con “juakear” su cuenta de hotmail, ya que eso si que les da miedo. Y como soy el “informático” de la familia, pues se la creen. Va! como si encontrará cosas interesantes en sus correos, pero en fin.
La salida al problema era fácil, salir de windows y pasarme a linux. Para ser más exactos, a Ubuntu.
Así que antes de que termine otra vez con “Winnie PUF” como fondo de pantalla y con el puntero del ratón disfrazado de Hada multicolor decidí hacer un cambio radical a Hikari. Bueno, radical para las personas que no diré quienes son. Pero tenía un problema.
El caso es que a Luz, mi “Esposa/Administradora” ya le estaba tomando gusto al windows. Ella no sabe mucho de computadoras. Así que la noticia del cambio no le gusto mucho. Así que no me quedaba otra que convencerla.
- Que si amor, todo lo que puedes hacer en windows lo puedes hacer en linux (claro esta Todo lo que ella hace)
- Pero linux no me gusta, no encuentro las cosas ¿y mis apuntes? Ya no me servirán (Ella tenía apuntes de todo lo que yo le explicaba en los usos de la compu)
- Amor, tu tienes sentido común, no te costara mucho… (se me acababan los argumentos, hasta que… ) Mira, la verdad es que el internet va más lento en windows, ya que tus hermanas (UY se me escapo xD) han estado metiendo bichos raros en windows, me han instalado cosas en la compu cuando claramente les dije que no instalaran nada, que si lo hacían yo personalmente me encargaría de “juakear” su cuenta de hotmail y publicar fotos comprometedoras en el “JaiCinco”. Pero nada. Te digo que esos virus comprometen la seguridad de mis cuentas bancarias, y el problema que se nos arma si nos pasa algún problema con el banco.
Dicho esta, la última frase fue suficiente. Banco. Seguridad. Esas palabras tuvieron eco en el silencio de mi casita de colores. Así que aproveche ese argumento hasta donde pude y al final mi preciosa Administradora acepto. Pero con algunas observaciones.
- Esta bien, usaremos Linux -dijo ella-, pero no quiero perder la televisión.
- Okai, no la perderás.
- Quiero poder grabar los programas de televisión y que sea fácil, ya te conozco como eres… -me conoce sin duda-
- Oki oki, será sencillo.. ver tele y grabar programas.
- También necesito el msn.
- Oki, será pidgin entonces…
- Como sea.
- Oki, entonces manos a la obra!
Y así fue como mande al diablo windows y entramos al mundo libre de Ubuntu. Pude configurar la tarjeta de Tv y le instalé el xdtv que fue lo que encontré más cercano a las especificaciones para ver tv y grabar.
Hasta ahora no hay quejas. Luz aprende rápido y ya tiene más “cancha” en esto.
Bueno, en realidad si hay quejas, pero esas no me importan xD (Hola cuñaditas!)
Así que ahora estoy contento, Hikari también y Jazmín igual, ya que le gusta mucho cambiar de escritorios, los efectos del compiz le gustan mucho! ñ_ñ
Saludos!
Posted: Agosto 22nd, 2009
Categories:
personal
Tags:
Comments:
2 Comments.
Luego de postear el rustico script en python que hice para minimizar css. Decidí usar internet para mejorar y agregar las nuevas cosas que quiero para este script.
Así que me hice de una cuenta en github y así administrar mejor la evolución del “Juego|Proyecto|Pasatiempo” y no perderme con las “manoseadas” versiones que tengo regadas en mi disco duro
He decidido llamar a este “Juego|Proyecto|Pasatiempo” Jzmin (Yéizimin). Por Jazmín, mi hijita. Por Luz, mi esposa. Por Joz, osea, por mi. xD
Por ahora solo minimiza Css e importa hojas de estilo según encuentra @imports. Pero pronto podre combinar varias hojas de estilo o javascript… y quien sabe si le agrego algo de validación xD aunque lo dudo.
Acá la url al proyecto.
http://github.com/josjac/jzmin/tree/master
Saludos!
Posted: Agosto 4th, 2009
Categories:
jzmin,
python
Tags:
python jzmin cssmin
Comments:
No Comments.
Me gusta jugar.
Un día, se me ocurrió retomar mis juegos con python que había dejado por jugar con otras cosas. Pensé en hacer un editor de código pero era demasiado ambicioso para mi xD
Así que hice un script para minimizar css y aprender en el camino algo de python.
¿Qué no hay cosos hechos para minimizar CSS?
Sí, pero no hay nada como hacer algo tu mismo ñ_ñ.
Bueno, una noche saque a komodo Edit de su arena de juegos y “metimos las manos en la obra”
.
El script debería no sólo minimizar CSS quitando saltos de línea y espacios sobrantes. Sino que debería incluir CSS que sean importados con la propiedad “@import”.
De esa forma puedo tener un archivo principal que importe todas las demás hojas de estilo y luego, al terminar, minimizar todo usando algo así como:
cssmin media/css/main.css
Y de un plumazo hacer un “merge” de todos los estilos.
Este script está pensado para ser usado en línea de comandos. Como trabajo en windows, era necesario un archivo “.bat” para poder usarlo en cualquier parte del árbol de carpetas.
cssmin.bat
@echo off
python d:\jos\bin\cssmin.py %*
En este caso mis scripts los pongo en una carpeta llamada bin, dentro de mi carpeta personal en la unidad d.
Para poder llamar a cssmin.bat en cualquier parte del árbol del sistema de windows, es necesario agregar la ruta completa donde está cssmin.bat a la variable “path” del sistema.
Agregando ruta de cssmin.bat a la variable path de windows
Para hacer esto hay que seguir los siguientes pasos.
- Click botón derecho sobre “MI PC” y elegir propiedades. Esto lanzara una ventana.
- En la ventana que fue lanzada, elegir la pestaña “Opciones Avanzadas” y luego pulsar el botón “variables de entorno”. Saltará una nueva ventana.
- En la ventana de titulo “variables de entorno” buscar en el listado “variables del sistema” la variable “path” y pulsar el botón “modificar”. Nos saltará otra ventana
- En la ventana para modificar la variable “path” en el campo “valor de variable”, copiaremos la ruta hasta la carpeta donde esta el cssmin.bat. No olvidando agregar un punto y coma “;” al final de nuestra ruta. Ya que cada ruta es separada por un “;”
- Luego es aceptar, aplicar, aceptar… etc, etc, etc.
Con esto deberíamos poder usar el cssmin.bat desde la consola.
CSSmin
CSSmin solo puede importar estilos que este declarados así: “@import url(css/blog.css)” <- sin comillas.
Otra cosa, los archivos css deben estar en UTF-8 y con salto de línea UNIX ... xD es que no he probado con otro tipos de archivos y así es como trabajo yo
Acá el código.
#!/usr/bin/env python
import sys
import re
info = “”"/** cssmin 0.1b por Jose Ayon **/”"”
def getname(path):
“”"
Devuelve una lista con el path y el nombre del archivo.
“”"
try:
fname = fpath = path
# obtenemos el nombre del archivo
c = re.compile(‘/’)
if(c.search(fname) != None):
n = c.split(fname)
else:
n = fname.split(‘\\’)
n.reverse()
n = n[0]
# optenemos el path hacia el archivo
cpl = re.compile(n)
p = cpl.sub(”,fpath)
return [p,n]
except:
print ‘error getname’
def read(path):
“”"Lee un archivo y retorna el contenido”"”
try:
f = open(path,’r')
r = f.read()
f.close()
return r
except:
print ‘error read’
def clean(string):
“”"
Limpia de comentarios saltos de linea y espacios sobrantes en la cadena.
Borra tambien los import css. Retorna la cadena “limpia”
“”"
#try:
# quitando elementos sobrantes
comment = ‘\/\*[^*]*\\*+([^\\/][^*]*\\*+)*\\/’ # /* comentarios */
imports = ‘@import url\(.+\);’ # imports css
# compile search, al compilar el patron de busqueda se aumenta el rendimiento
cls = re.compile(‘\n|\t|’+comment+’|'+imports) # saltos de linea, tabs, comentarios e imports
keys = re.compile(‘{\s+’) # espacios luego de las llaves de apertura llaves
comas = re.compile(‘;\s+’) # espacios luego de las comas
lineas = cls.sub(”,string)
lineas = keys.sub(‘{‘,lineas)
lineas = comas.sub(‘;’,lineas)
return lineas
#except:
#print “error clean”
def cssmin(path):
“”"
cssmin(path) -> void:
argumento path, string, path al archivo css a minimizar
Crea una copia del original siguiendo la siguiente estructura
“src.file.css”.
No se crea copia de los archivos css importados en el archivo css actual.
Lee el contenido buscando imports css.
Luego incluye el contenido de estos archivos al archivo css actual y escribe comentarios de los
imports css para poder reconstruir el con sus imports sin necesidad de editar el archivo
original
“”"
#try:
# obtenemos el nombre y el path del archivo
fopt = getname(path)
fpath = fopt[0] # path
fname = fopt[1] # nombre
# abrimos archivo actual y extraemos su contenidos
f = open(path,’U')
completo = f.read()
f.close()
# obteniendo todos los paths css incluidos en el archivo actual
paths = re.findall(‘@import url\((.+)\);’,completo)
# creamos archivo minimizado
w = open(fpath + ‘min.’ + fname,’w')
w.writelines(info+’\n’) # info de cssmin
# volcando el contenido de cada archivo importado y del archivo actual
for i in paths:
w.writelines(“/*** @import url(‘”+ i +”‘); ***/\n”) # escribiendo referencia
w.writelines(clean(read(fpath +i))+’\n’) # volcando datos
# volcando archivo actual
w.writelines(“/*** “+ fname +” ***/\n”)
w.writelines(clean(completo))
w.close()
#except:
#print ‘error cssmin’
def main(argv):
argv.pop(0)
if(len(argv)>1):
for i in argv:
print i
cssmin(i)
else:
cssmin(argv[0])
if(len(sys.argv) > 1):
main(sys.argv)
else:
print ‘Debes indicar el nombre del archivo’
Este script es superArchiMulti_mejorable, pero funciona hasta ahora y le haré mejoras. Ahora quiero que no solo minimice CSS sino que también lo haga con javascript. Que pueda hacer "merge" de dos o más hojas de estilo sin depender de los "@import". Que pueda buscar más formas de escribir "@import" en css y que no dependa de la codificación o el salto de línea
.
En la actualidad hay sin fin de herramientas que hacen este tipo de cosas pero como ya dije, no hay nada como jugar un rato y hacer algo tu mismo.
Por cierto, para que esto funcione (si alguien se anima a usarlo) deben tener python 2.5 o superior instalado en windows. aunque creo que no estoy seguro si funciona en python 3
Saludos.
Posted: Julio 31st, 2009
Categories:
python
Tags:
python cssmin
Comments:
1 Comment.
Sublime Text

Es un editor hecho en python con soporte para muchos lenguajes de programación. Tiene inserción de código, snippets a lo textmate. Tiene multiselección y multiedición, por llamar de alguna manera la capacidad de elegir múltiples partes del documento y editarlos al mismo tiempo.
¿Qué me gusta de Sublime Text? Pues me gusta su buen rendimiento a la hora de combinar multiselección, snippets y multiedición. Su rendimiento en estas áreas es superior, según yo, a intype y a E-text Editor.
Sublime text incorpora además un mapa del código.

Es muy útil para poder recorrer todo el documento arrastrando un cuadro sobre el mapa que representa el espacio visual que tenemos sobre nuestro “gigante” documento. Muy útil.
También me gusta lo fácil de cambiar de layout o presentación de documentos en el editor.

Sublime text es un buen editor, es de pago, y tiene buenas “cosas”. No he llegado a usarlo por completo y me gustaría ver su evolución. Ciertamente es una buena alternativa.
Las demás características están en la home de este editor.
Saludos!
Posted: Julio 30th, 2009
Categories:
editores,
python
Tags:
Comments:
No Comments.
No se ustedes pero yo sueño a veces con un editor perfecto. Con todo lo que necesito para trabajar a gusto. Sin embargo eso está lejos de ser real, así que en mi gran manía de coleccionar editores de texto he terminado con media docena, sino es más o menos, de editores que uso constantemente a la hora de trabajar.
Por eso he de declarar a mis amigos editores de texto lo que me gusta de ellos y de porque los necesito ( si ya se, es extraño U_U )
Iniciemos con el primer editor que usé.

Editor de texto plano con coloreado de una buena cantidad de lenguajes de programación (muchas que ni había oído mencionar) y con un fuerte arsenal de plugins que extienden su funcionamiento. Ahora está en la versión 5.4.5, corre bajo Windows y es gratuito.
Es ligero, no consume muchos recursos y se comporta bien con gran cantidad de código (hasta donde lo he usado
).
Notepad++ ofrece una de las mejores formas de plegar bloques de código que he visto hasta ahora en un editor. Puede hacerlo hasta 8 niveles usando combinaciones de las teclas Alt + número de nivel para plegar y Alt + Shift + número de nivel para desplegar. Siendo esto muy cómodo cuando se tiene un archivo con muchas funciones o niveles de indentación.

Me agrada también lo simple que es cambiar de codificación y el tipo de salto de línea de un archivo.

Las vistas múltiples de un mismo archivo son útiles cuando tienes que trabajar en partes distantes de un mismo archivo.

Aunque también puedo usar Ctrl + F2 para crear marcas en líneas determinadas para luego saltar entre marca y marca ñ_ñ usando sólo F2 para avanzar o Shift + F2 para retroceder en las marcas.
La sincronización de las vistas múltiples, sea en vertical o en horizontal son útiles cuando comparas la vieja versión de un archivo con la más actual o tratas de resolver algún conflicto con el SVN

Y por último, me gusta lo “sencillo” que puede ser integrar notepad++ con algún script u aplicación usando el menú ejecutar, teniendo la opción de asignar un atajo desde el teclado o usando un plugin para jugar con la consola integrada con notepad++.

Yo lo tengo integrado con jslint y así tengo otra forma de validar el javascript

En resumen, uso notepad++ cuando quiero tener orden en un mar de código incontrolable y sin tener que gastar muchos recursos en el proceso.
Lo que extraño en notepad++ es la falta de inserción de fragmentos de código a lo textmate, intype, e-texteditor o sublime text, hasta netbeans lo tiene. U_U Antes existía un plugin para notepad++ llamado quicktext que hacia eso pero debido a cambios en notepad++ el plugin es incompatible con versiones actuales, hasta donde se.
Recomiendo altamente notepad++ es un gran editor para windows.
Espero poder hablar sobre los muy útiles editores con inserción de fragmentos de código, que son una delicia xD
Saludos.
Posted: Julio 26th, 2009
Categories:
editores,
geek
Tags:
notepad++
Comments:
2 Comments.