Ir al contenido principal

This is my blog, more about me at marianoguerra.github.io

🦋 @marianoguerra.org 🐘 @marianoguerra@hachyderm.io 🐦 @warianoguerra

rst2html5 vive! (soporte para reveal.js)

Después de un tiempo de acumular polvo electrónico luego de una pregunta de un potencial usuario (y potencial contribuidor ;) decidí traer al presente a rst2html5 y agregarle soporte para reveal.js, una librería que permite crear presentaciones hipsters en el browser.

Para repasar un poco que se puede hacer con el, veamos unos ejemplos, dado un archivo llamado slides.rst:

Generar una presentación web usando deck.js:

./bin/rst2html5 --deck-js --pretty-print-code --embed-content slides.rst > slides.html

Generar una presentación web usando reveal.js:

bin/rst2html5 --jquery --reveal-js --pretty-print-code slides.rst > reveal.html

Generar una página estática usando bootstrap como css:

./bin/rst2html5 --bootstrap-css --pretty-print-code --jquery --embed-content examples/slides.rst > slides-plain.html

El proyecto esta acá: https://github.com/marianoguerra/rst2html5/

Resultados de los comandos de arriba:

Patches welcome ;)

tmux en 256 colores en gnome-terminal

Hace un buen tiempo que esto estaba pendiente, la cosa es que por alguna razón tmux no se convence de que gnome-terminal soporta 256 colores.

La solución es esta linea en tmux.conf:

set-option -g default-terminal "screen-256color"

Y lanzar tmux con la opción -2:

Force tmux to assume the terminal supports 256 colours.

Y en mi caso anda (gnome-terminal, tmux, zsh, ubuntu 12.10)

La razón principal de esto es que quería usar algún theme copado para vim, ahora a buscar uno :P

De Stuttgart a cualquier lado en bici

Ayer decidí salir a andar en bici y ver hasta donde llegaba si pedaleaba mucho.

/galleries/BiciDeStuttgartAGeislingen/IMG_5359.JPG

Salí con el plan de seguir el río neckar hacia el sur.

/galleries/BiciDeStuttgartAGeislingen/IMG_5362.JPG

Mis planes cambiaron cuando el neckar hizo una curva y yo seguí por un río mas chico.

/galleries/BiciDeStuttgartAGeislingen/IMG_5364.JPG

Ante este cambio de planes vi un cartel que decía tubingen, decidí ir hacia allá hasta que ese cartel dejó de aparecer por lo que decidí al menos terminar en un lugar con una estación de tren para poder volver a stuttgart.

/galleries/BiciDeStuttgartAGeislingen/IMG_5368.JPG

El camino siguió por pueblos cada vez mas chicos y desprovistos de estaciones de trenes* hasta que decidí ver un cartel con un mapa e ir hasta un lugar llamado Geislingen que prometía una estación de trenes decente.

/galleries/BiciDeStuttgartAGeislingen/IMG_5371.JPG

Por suerte no hubo mas cambios de planes y logre llegar allí.

/galleries/BiciDeStuttgartAGeislingen/IMG_5373.JPG

la cleta

El total del viaje fueron aproximadamente 60KM.

/galleries/BiciDeStuttgartAGeislingen/IMG_5374.JPG

una iglesia de mas de 1000 años

Salí de Stuttgart a eso de las 11:30 y llegué a Gesilingen a las 17:00.

/galleries/BiciDeStuttgartAGeislingen/IMG_5375.JPG

View Larger Map

* si no tenes una estación de tren en Alemania no existís

Semana de Laburo y Paseo en Amsterdam

Por cuestiones laborales estuve en amsterdam/utrech del domingo al viernes.

/galleries/Amsterdam2012/IMG_5331.JPG

Con la gente que estaba trabajando arreglamos empezar a trabajar temprano así me liberaba a las 4 para poder hacer algo a la tarde.

Luego de salir de utrech y 1 hora de viaje estaba en amsterdam para pasar la tarde, comer y volver al hotel en amsterdam sloterdijk (al oeste de amsterdam).

/galleries/Amsterdam2012/IMG_5335.JPG

El primer día consistió en buscar algún libro para leer en la ida y la vuelta que sumaban entre ellas 2 horas.

Llegue tarde y ninguna librería estaba abierta.

/galleries/Amsterdam2012/IMG_5338.JPG

Intente al segundo día con un poco mas de información y termina en varias librerías que le pasan en trapo a las de stuttgart.

Fui buscando algún libro nionio para leer, el cual no encontré, pero a cada mirada a una estantería encontraba un libro que tenia en mi lista mental de cosas para leer.

/galleries/Amsterdam2012/IMG_5341.JPG

Por cuestiones presupuestarias solamente compre 3 :D

  • Catch 22 (leyendo)

  • Flatland (leido)

  • Edicion especial de "hitchhiker's guide to the galaxy" con los 5 libros

    • leído el primero

/galleries/Amsterdam2012/IMG_5347.JPG

Los días siguientes fueron de paseo culminando el jueves con un paseo y "after office" en un bar que vende ginebra de un montón de sabores.

el viernes retorne a la noche para stuttgart.

/galleries/Amsterdam2012/IMG_5357.JPG

Como nota al pie, he volado unas cuantas veces con swiss, de todas, solo una no tuvo retrasos.

Que tenían que ver los suizos con los relojes?

PD: casi todos los días estuvo nublado así que no saque muchas fotos y las que saque no salieron muy buenas

Croacia

vacaciones planeadas que por un viaje laboral casi se cancelan

/galleries/Croacia/IMG_5038.JPG

empezo un sabado bien temprano con un viaje en auto de mas de 10 horas a traves de 4 paises (Alemania, Austria, Eslovenia y finalmente Croacia)

/galleries/Croacia/IMG_5087.JPG

viajamos con unos amigos y sus padres.

/galleries/Croacia/IMG_5109.JPG

alguilamos una casa alla para pasar la semana.

/galleries/Croacia/IMG_5139.JPG

el lugar donde estabamos se llamaba vodice.

/galleries/Croacia/IMG_5172.JPG

dado que durante la estadia el verano se fue para dejarnos el otonio la viabilidad de meterse al mar estaba al limite.

/galleries/Croacia/DSCN0528.JPG

aunque nos metimos la mayoria de los dias ya que el agua es totalmente transparente y esta bueno para hacer snorkeling.

/galleries/Croacia/DSCN0580.JPG

un dia que hizo mal tiempo fuimos a una ciudad cercana llamada zadar.

/galleries/Croacia/DSCN0586.JPG

una cosa diferente es que las playas son de piedra y no de arena por lo que tenes que meterte al menos con ojotas o si sos mas aleman con unas zapatillas especiales.

/galleries/Croacia/DSCN0597.JPG

no solo las piedras son peligrosas sino que hay erizos que pueden clavarte sus puas, lo cual no es muy divertido.

/galleries/Croacia/DSCN0616.JPG

como notas sobre croacia esta el hecho que no usan euro sino kuna y que el cambio es muy parecido a argentina (7.3 por euro) y que si consideraramos la moneda con valor equivalente a pesos hace que los precios sean mucho mas altos que en argentina.

tambien que se nota que recien hace unos anios se esta desarrollando como un destino turistico y que le faltan algunas cosas, pero es un pais muy lindo, tiene mucha influencia "mediterranea" tanto en arquitectura, comida, como son las ciudades etc.

finde en bici (heidelberg y camino del vino)

post atrasado, esto paso hace como 3 semanas

el sabado salimos no tan temprano para heidelberg con las bicicletas

/galleries/FindeBici/IMG_4871.JPG

el objetivo era ir hasta heilbronn que si mal no recuerdo esta a una distancia de 60 Km siguiendo el rio en direccion a stuttgart

/galleries/FindeBici/IMG_4882.JPG

heidelberg

dada la llegada tarde y un comienzo con ruedas bastante desinfladas nos encontramos con el atardecer a medio camino

/galleries/FindeBici/IMG_4904.JPG

por lo que decidimos parar a medio camino y tomar el tren de vuelta de ahi.

/galleries/FindeBici/IMG_4943.JPG

destino para el primer dia

/galleries/FindeBici/IMG_4946.JPG

como sera el charco que el chancho lo cruza al trote

el segundo dia arrancamos mucho mas temprano y tomamos un tren para ir hasta karlsruhe a encontrar unos companieros de viaje.

/galleries/FindeBici/IMG_4953.JPG

tren retro para empezar el segundo dia

de ahi tomamos un tren retro que nos llevaria a una ciudad fronteriza de francia donde empezaba la ruta del vino.

/galleries/FindeBici/IMG_4956.JPG

llegados a la ciudad francesa

el viaje es a traves de viniedos entre francia y alemania.

/galleries/FindeBici/IMG_4959.JPG

volviendo a alemania

obviamente uno puede detenerse en el camino a probar vinos de la region, cosa que hicimos dos veces.

/galleries/FindeBici/IMG_4960.JPG

el camino se basa en una sucesion infinita de lomas que parecen mas amigables de lo que son, ya que al subir la loma numero 20 uno empieza a odiarlas :P

/galleries/FindeBici/IMG_4960.JPG

cada bajada indica que ya se viene otra subida :)

/galleries/FindeBici/IMG_4964.JPG

en este caso logramos el objetivo planteado y llegamos a la ciudad destino donde luego de cenar tomamos un tren de vuelta a stuttgart.

/galleries/FindeBici/IMG_4966.JPG
/galleries/FindeBici/IMG_4967.JPG

restos de la segunda guerra

/galleries/FindeBici/IMG_4970.JPG
/galleries/FindeBici/IMG_4960.JPG

sistats - collect system stats and send them somewhere else

https://raw.github.com/marianoguerra/sistats/master/sistats.jpg

why?

I need to collect system stats and put it over thereTM

I wanted to start extracting the stats collection from glances but the code was full of try/except and kind of unpythonic so I decided to start from scratchTM

what?

a library (sistats) that gives you system stats and allows to calculate the variation between two reads and some modules that allow to periodically check for stats and put it over there (mqtt and REST for now)

an example of the sistats module:

import time
from sistats import *

cpu  = get_cpu_stats()
mem  = get_mem_stats()
net  = get_net_stats()
disk = get_disk_stats()
fst  = get_fs_stats()

platinfo = get_platform_info()

pretty_print("Platform", platinfo)
pretty_print("CPU", cpu)
pretty_print("Memory", mem)
pretty_print("Net", net)
pretty_print("Disk", disk)
pretty_print("File System", fst)

while True:
    time.sleep(5)

    new_cpu  = get_cpu_stats()
    new_mem  = get_mem_stats()
    new_net  = get_net_stats()
    new_disk = get_disk_stats()
    new_fst  = get_fs_stats()

    cpu_diff  = get_cpu_stats_delta(cpu, new_cpu)
    mem_diff  = get_mem_stats_delta(mem, new_mem)
    net_diff  = get_net_stats_delta(net, new_net)
    disk_diff = get_disk_stats_delta(disk, new_disk)
    fst_diff  = get_fs_stats_delta(fst, new_fst)

    pretty_print("CPU diff", cpu_diff)
    pretty_print("Memory diff", mem_diff)
    pretty_print("Net diff", net_diff)
    pretty_print("Disk diff", disk_diff)
    pretty_print("File System diff", fst_diff)

    cpu  = new_cpu
    mem  = new_mem
    net  = new_net
    disk = new_disk
    fst  = new_fst

who?

marianoguerra

how?

to use it you have to decide where are you sending it, you can send it to the console using the dummy sample ConsoleChecker (in transport.py), to try it:

python transport.py

you can send it to mosquitto:

# python mqtt_transport.py -c <client id here>
# check python mqtt_transport.py -h for options
python mqtt_transport.py -c ganesha

you can listen to those events using mqtt_listener:

# python mqtt_listener.py <client id here>
# for example
python mqtt_listener.py ganesha

to use mosquitto you should have it running on your system, it sends the payload as BSON

you can send it to a REST API:

# check python rest_transport.py -h for options
python rest_transport.py -c ganesha -u god -p secret -v

you can implement any other transport just subclassing transport.Checker and implementing the missing methods.

how to run on windows?

license?

LGPL v3 + optional beer for the author

filtro case insensitive en jquery 1.8.1

y si, el que usa una api interna ve un release nuevo y llora...

hola! soy mariano guerra, tal vez me recuerden de posts autodeprecados como contains case insensitive en jquery 1.8 (:containsi)

pero ahora parece que estabilizaron y documentaron la api para registrar selectores propios asi que esto tendria que durar un poco mas...

https://github.com/jquery/sizzle/wiki/Sizzle-Documentation#wiki-pseudo-selectors

por lo que ahora el baile magico para que ande es:

$.expr[":"].containsi = $.expr.createPseudo(function (selector, context, isXml) {
    return function (elem) {
        return (elem.textContent || elem.innerText || $.text(elem)).toLowerCase().indexOf(selector.toLowerCase()) > -1;
    };
});