Cuando contamos que nos íbamos a Italia alguien dijo que en Serdegna estaba bueno Alghero.
FreeBSD.it
Resultó que Alghero queda en la otra punta de la isla y que la isla no es algo así como pequeña.
Ida en colectivo el 24 de Diciembre, vuelta en tren el 26 (feriado).
La ciudad muy linda, la parte que da al mar esta muy buena.
Ahí el 25 como no teníamos nada que hacer decidimos caminar hasta las grutas de Neptuno, pero dado que era feriado no había ni medio de transporte y estábamos casi seguros que estaba cerrada.
Luego de 4 horas de caminar una media maratón (21 Km) por la ruta llegamos para enfrentarnos con la esperada realidad, las grutas estaban cerradas.
Durante la ida habíamos decidido, dado nuestro estado, intentar hacer dedo a la vuelta.
Primer intento... exitoso! nos volvimos con un italiano que vivía en una ciudad cercana hablando mi cocoliche aprendido días antes de un libro germanamente titulado "Italienish für Dummies".
En un principio nos iba a llevar hasta un pueblo cercano ya que le quedaba a contramano, pero se copó y nos llevo hasta la entrada de Alghero.
A la vuelta a las 6 de la mañana en la estación de trenes donde no había trenes (por el feriado) y donde el reloj de la estación no andaba (?) esperamos el colectivo con dos norteamericanas, que luego volvimos a encontrar en la estación del siguiente pueblo, que luego volvimos a encontrar en el tren a Cagliari, que luego volvimos a encontrar en la fila para abordar el vuelo...
En el avión les pregunto si por casualidad iban a Stuttgart así compartíamos ticket de tren, pero ya como lo dijo Heisenberg, al intentar intervenir en este proceso de coincidencias las interrumpí, iban a Freiburg.
Llegados al aeropuerto fui identificado como un potencial terrorista* y me solicitaron amablemente vaya a una fila donde todos los seres "aleatoriamente" seleccionados eran idénticos a mi (no solo notado por mi sino por el primero en la fila quien dijo "somos todos iguales!") excepto una blonda alemana que fue introducida en el set para romper el patrón** intentando así evitar que nuestras mentes inferiores identificaran el patrón.
Luego del chequeo de pasaporte nos damos con que habíamos perdido el ultimo colectivo a la ciudad mas cercana con estación de tren, por suerte unos amigos (Lucas y Liza) nos habían ido a buscar de semi sorpresa para invitarnos a cenar.
Y así termina el primer tramo del viaje de receso festivo invernal.
desde aca hasta alla
* esta parte la deduje yo
** esta parte también deducida por quien escribe
Vengo un poquito atrasado con los posts, creo que se llama fiaca (o mas modernamente procrastinacion)
Para navidad buscamos con pato los lugares que no conozcamos, que sean templados y no caros que pudiéramos ir.
La búsqueda devolvió pocas opciones, una de las cuales nos pareció interesante, ir a la isla de serdenia.
El primer destino del viaje fue cagliari, donde nos hospedamos en un hotel con una vista muy linda pero bastante alejado de la ciudad y con alternativas de transporte publico reducidas, lo que nos "motivo" a caminar como unos desgraciados.
Lo mejor de la ciudad es el centro histórico, lo 'peor' es que no parece estar muy preparada para el turismo, puede haber sido porque fuimos en invierno pero era época de navidad así que debería ser un punto alto del invierno.
Dado todo el tiempo que paso la única anécdota que me acuerdo es ir a un restaurant donde el duenio era de ahí pero había hecho un intercambio en espania y había conocido a un marplatense.
El resultado es que nos atendieron re bien, le tuvimos que pedir que el ultimo plato nos traiga solo uno porque estábamos llenos y incluso con un solo plato no lo pudimos terminar.
Al final pago un shot para todos los que estaban en la barra "por los argentinos" y nos hizo un descuento porque no comimos todo :D.
a nice wrapper to handle rhino from clojure
project home: https://github.com/marianoguerra/clj-rhino
marianoguerra
the java api for rhino is not really nice
you can see the tests for some usage, here are some REPL examples:
user=> (require '[clj-rhino :as js])
nil
user=> (def sc (js/new-safe-scope))
#'user/sc
user=> (js/eval sc "1 + 1")
2
user=> (js/eval sc "a = 1 + 1")
2
user=> (js/get sc "a")
2
user=> (js/get sc "b")
#<UniqueTag org.mozilla.javascript.UniqueTag@172897f: NOT_FOUND>
user=> (js/undefined? (js/get sc "b"))
true
user=> (js/get sc "b" :w00t?)
:w00t?
user=> (js/defined? (js/get sc "b"))
false
user=> (js/set! sc "b" 42)
nil
user=> (js/defined? (js/get sc "b"))
true
user=> (js/get sc "b" :w00t?)
42
user=> (js/eval sc "a = {name: 'spongebob'}")
#<NativeObject [object Object]>
user=> (js/get-in sc [:a :name])
"spongebob"
user=> (js/get-in sc [:a :age])
#<UniqueTag org.mozilla.javascript.UniqueTag@172897f: NOT_FOUND>
user=> (js/get-in sc [:a :age] :dont-know)
:dont-know
user=> (def compiled-fun (js/compile-function sc "function (a, b) { return a + b; }" :filename "foo.js"))
#'user/compiled-fun
user=> (js/set! sc "add" compiled-fun)
nil
user=> (js/eval sc "add(1, 3)")
4.0
user=>
it seems the clojure people under this circumstances say something like:
Copyright © 2013 marianoguerra
Distributed under the Eclipse Public License, the same as Clojure.
lo que costo esto no tiene nombre, al final el script queda sencillo pero lo que costo encontrar las razones para varias lineas es incontable.
en resumen, openshift esta muy bueno pero no tiene couchdb y yo lo necesitaba, asi que como no se puede instalar nada decidi hacer la gran linux from scratch y compilar couchdb y sus dependencias...
aca esta el resultado, maniana quizas haga un cartridge para que sea mas simple reusarlo:
#!/usr/bin/env sh # bailout on first error set -e # create dir to put all our stuff mkdir couchdb cd couchdb # handy variable BASEPATH=$PWD # get spidermonkey wget http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz # get erlang wget http://www.erlang.org/download/otp_src_R15B03.tar.gz # get couchdb wget http://apache.lehtivihrea.org/couchdb/releases/1.2.0/apache-couchdb-1.2.0.tar.gz # get ICU wget http://download.icu-project.org/files/icu4c/4.8.1.1/icu4c-4_8_1_1-src.tgz # unpack all tar -xzf js185-1.0.0.tar.gz tar -xzf otp_src_R15B03.tar.gz tar -xzf apache-couchdb-1.2.0.tar.gz tar -xzf icu4c-4_8_1_1-src.tgz # remove to avoid hiting the quota rm js185-1.0.0.tar.gz rm otp_src_R15B03.tar.gz rm apache-couchdb-1.2.0.tar.gz rm icu4c-4_8_1_1-src.tgz # build and install ICU cd icu/source ./configure --prefix=$BASEPATH/usr/ make && make install # build and install spidermonkey cd ../../js-1.8.5/js/src ./configure --prefix=$BASEPATH/usr/ make && make install # some step ahead chokes if this file exists rm js # build and install erlang cd ../../../otp_src_R15B03 ./configure --prefix=$BASEPATH/usr/ make && make install # build couchdb cd ../apache-couchdb-1.2.0 export PATH=$PATH:$BASEPATH/usr/bin/:$BASEPATH/usr/local/bin export ICU_CONFIG="$BASEPATH/usr/bin/icu-config --detect-prefix" export ICU_CPPFLAGS="-I$BASEPATH/usr/include/" ./configure --prefix=$BASEPATH/usr/ --with-js-lib=$BASEPATH/usr/lib/ --with-js-include=$BASEPATH/usr/include/js/ --with-erlang=$BASEPATH/usr/lib/erlang/usr/include/ make && make install # do some customizations cd $BASEPATH # customize couchdb defaults cat > usr/etc/default/couchdb << EOM # Sourced by init script for configuration. # we use the current username to run couchdb #COUCHDB_USER=couchdb COUCHDB_STDOUT_FILE=/dev/null COUCHDB_STDERR_FILE=/dev/null COUCHDB_RESPAWN_TIMEOUT=5 COUCHDB_OPTIONS= EOM # change port and bind_address where openshift expects DIY apps to serve cat > usr/etc/couchdb/local.ini << EOM [httpd] port = 8080 bind_address = $OPENSHIFT_INTERNAL_IP EOM # export this path to make couchdb load ICU lib export LD_LIBRARY_PATH=$BASEPATH/usr/lib/ # finally start couchdb! usr/etc/rc.d/couchdb start
lo subo no vaya ser que un meteorito impacte en mi maquina y esto se pierda
este post tendria que haber salido hace dos semanas mas o menos, pero que se le va a hacer...
fuimos un fin de semana a luzerna haciendo conexiones de tren magicas para minimizar el precio y tiempo de viaje
por desgracia estuvo nublado y lluvioso la mayoria del tiempo asi que las fotos no le hacen honor a la ciudad.
incluso cuando el clima no ayudaba la ciudad esta muy buena.
rojo, verde, amarillo
nos hospedamos en lo que fue hasta 1998 la carcel de luzerna
"que tiene usted contra los empleados publicos? que no hacen absolutamente nada!"
la puerta de la habitacion
la ciudad esta en la costa de un lago, rodeada por montanias con una gran montania de un lado (mis descripciones reflejan lo poco que lei en mapas o folletos de la ciudad :P)
la habitacion
incluso en esta epoca habia muchos colores, que combinado con nubes bajisimas hacian algunos paisajes muy copados que mi vieja camara no pudo capturar.
el patio de la escuela...
una pintura...
nos dedicamos a caminar como siempre, con paradas estrategicas para tomar cafe cuando se ponia muy fresco a lluvioso.
reflejando la calle
por primera vez y como no podia ser de otra manera, comi fondue (en suiza ;) hasta quedarme ciego de tanto queso.
parientes
Nuevo viaje de domingo a viernes a holanda, esta vez por cuestiones de disponibilidad y comodidad, me hospede en Utrecht, mas cerca del cliente.
Dado que había mucho trabajo y el clima no ayudaba no fui a Amsterdam y aproveche las tardes para pasear por Utrecht.
Al principio no le tenia mucha fe a la ciudad pero termino gustándome mucho.
Las dos partes interesantes por razones completamente distintas son el centro histórico y la parte donde están todas las empresas.
Como ya dije el clima no ayudo y la mayoría de las fotos son de los pocos momentos con sol y algunas de noche.
Las del momento de sol fue como a las 7:30, vi que había sol y decidí irme caminando, resulto que el tramo de ruta no tiene parte peatonal así que termine caminando por el pasto húmedo por un par de kilometros :D
Las de la noche no salieron buenas pero realmente el centro histórico con los canales es muy lindo, bastante parecido a Brugge en Belgica.
Ya no se que decir y quedan algunas fotos :P
Las fotos son de un lugar que es para empresas, principalmente de software.
Tienen los estacionamientos bajo los edificios y bastante verde y lagunas entre los edificios.
de http://www.youtube.com/watch?v=MFtijdklZDo&feature=player_embedded#t=476s
In Singapore everything runs smoothly but at the expense of personal freedom.
Java is Singapore.
—Andrew Dupont
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 ;)
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
Ayer decidí salir a andar en bici y ver hasta donde llegaba si pedaleaba mucho.
Salí con el plan de seguir el río neckar hacia el sur.
Mis planes cambiaron cuando el neckar hizo una curva y yo seguí por un río mas chico.
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.
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.
Por suerte no hubo mas cambios de planes y logre llegar allí.
la cleta
El total del viaje fueron aproximadamente 60KM.
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.
* si no tenes una estación de tren en Alemania no existís