Gastón Ramos

"La mayoría de las gaviotas no se molesta en aprender sino las normas de vuelo más elementales: como ir y volver entre playa y comida. Para la mayoría de las gaviotas, no es volar lo que importa, sino comer. Para esta gaviota, sin embargo, no era comer lo que le importaba, sino volar. Más que nada en el mundo, Juan Salvador Gaviota amaba volar".

Humo – Roots, rock, reggae.

Bueno este es el post desde arriba del bondi, pero de vuelta a casa,
lo estoy escribiendo desde la compu por que me acordé que la traigo
siempre conmigo :). Ahora a elegir alguno de los temas que propuse en
el post anterior, “la música”.
Hace un tiempo atrás quizás 2 o 3 años empecé a escuchar reggae, cada vez, más poco a poco, como todo el mundo ya había escuchado a Bob Marley
pero no tanto, así que empecé a escucharlo más y más y a prestar atención a todos los instrumentos, el bajo, la bata, la viola. En un momento dado empecé a escuchar más reggae particularmente artitas como Alpha Blondi, Resistencia Suburbana, Tiken Jah Fakoli, Natiruts, Pure Feeling, Cultura Profética, Peter Tosh, Riddim, etc.
En esos momentos tenía la música un poco abandonada y no estaba tocando
en ninguna banda y tampoco en casa, de a poco empecé a tocar la viola
a diario tratando de sacar algunos temas y a practicar el ritmo del reggae con la guitarra que hasta ese momento no me salía. En la mitad del año pasado aproximadamente (quizás antes) me propuse aprender a cantar algunos temas, de esa forma si no conseguía tocar en una banda, igual iba a poder presentarme en algún que otro lugar y cantar unos temas con la guitarra. Un tiempito después mi amigo Alfredo me dijo que podíamos juntarnos a tocar y así fué, nos jutamos y tocamos durante unos meses nosotros dos sólos, él en la bata y yo en la voz y la viola. Después de un tiempo nos pusimos a buscar bajista, pasaron algo así como 3 bajistas y por motivos varios ninguno perduró, es complicado que la gente venga hasta arroyo Leyes :). Así que después de varios intentos de bajista fallidos, me aventuré a tocar el bajo y cantar
por que ya teníamos otro violero (Armando) así que estoy haciendo dos cosas totalmente nuevas para mí, tocar el bajo y cantar, acá dejo un cover que grabamos con mi celular, sepa disculpar la calidad del sonido, si en algún momento grabamos algo un poco mejor actualizaré este Post. Así nace una banda que por ahora se llama ‘Humo’… desde el Leyes…perdón Bob Marley si te ofendemos hacemos lo mejor que podemos…

Primer post arriba del cole.

Esta es la primer vez que escribo un post mientras viajo en bondi, el viaje dura mas o menos 40 minutos, asi que tiempo sobra, la unica desventaja es que tengo que escribir con el celular que es bastante incómodo, aunque es una de las cosa mas útiles que puedo hacer con este aparato después de grabar cuando ensayo. Hace un tiempo atrás este blog era únicamente para escribir cosas de tecnología, particularmente programación, hasta que un amigo llamado humitos me recomendo que escribiera lo que se me  cante el orto, creo que el usó esas palabras (yo solamente las repito). Ahora me pregunto cuantas palabras podre escribir en lo que dura el viaje desde mi  casa a la oficina usando este teclado horrible,  además podría escribir de ida y de vuelta así que veremos que pasa.
Otra de las cosas son los temas que tratare en estos posts, podrian ser de música, de viajes en colectivo, de vivir lejos de la ciudad, del aburrimiento, de mi hija Martina, uhh mirá, nunca escribí de ella en mi blog, de la mini huerta que acabo de arrancar, de como armar una banda de rock, o de tecnología :). Quién sabe que puede salir de estos posts en movimiento. Es rarísimo, al lado mío hay una chica comiendo chizitos, son las 9 de la matina ! Adelante mío hay dos viejos hablando boludeses y en el asiento de la fila de asientos simples una mujer tejiendo algo que parece una manta. Esto fue todo.

El SUBE funcionará a pleno en 2012

Recortando un archivo de audio

Este un post muy cortito con el único fin de poner esto acá para poder encontrarlo fácil, encontré un script genial y recontra útil que sirve para recortar un archivo de audio por los silencios, es muy útil cuando tenemos un disco entero en un solo archivo por ejemplo.

sox in.wav out.wav silence 1 2 0.5% 1 4.0 0.9% : newfile : restart

El script lo saqué de acá:

http://unix.stackexchange.com/questions/99182/sox-splitting-audio-on-silence-but-leaving-tails

saludos.

Rubylit meetup marzo 2015

Ayer jueves como a las 20hs en las oficinas de Altoros hicimos la primer meetup del año 2015 del grupo de Rubystas de Santa Fe y alrededores, asistieron al evento: @jjconti, @olvap, @ArmandoAndini, @eloyesp, @rmgarciap, @srmanuq, @alener014 , @juanfgs, @gsgerman, @marielcior, @hpmaxi, @gastonramos.

Había dos charlas programadas, la primera fué “Bad Practices driven development” que la dí yo, la verdad la charla no la preparé tanto, sin embargo me quedé conforme, algunos de los temas de los que hablé: “A veces programo antes de pensar, empiezo escribiendo código y después voy madurando la idea de lo que quiero”, “Rails DB ConnectionPool”, “Threads”, “Fork” y procesar cosas en background en general, los slides de la charla los pueden ver acá, que no tienen mucho sentido por sí solos. Además de mi charla @alener014 titulada “Como me hubiera convencido a mi mismo de pasarme a ruby: algunas fantasias y ciertas realidades” que la  pueden ver acá, la idea era que Alejandro (el orador) viajaba al pasado para convencerse a sí mismo de qué tenía que aprender ruby en vez de python, los slides ivan pasando y los argumentos eran debatidos entre Alejandro y le resto de los asistentes, “Cucumber vs Letucce”, “Debug, preguntarle cosas a la aplicación”, “monads” son algunos ejemplos de la excelente charla final, luego de disfrutar de unas excelentes pizzas de provenzal, muzzarella y napolitana y de que Juanjo nos cuente como es su nuevo desafío aprendiendo “Swift”.

 

 

Es ruby el java del momento?

ruby-javaNunca me voy a olvidar cuando empecé a programar con Ruby, todo era nuevo y casi todo era un desafío, no había tanta documentación y las cosas eran bastante artesanales, no existía bundler ni RVM ni Rbenv, sin embargo las cosas se hacían igual :). Me acuerdo bien que me gustaba mucho Ruby on Rails y no sé si ahora diría lo mismo, me gustaba tanto que hasta daba charlas de evangelización y en uno de los slides mostraba una imágen comparando la cantidad de libros que tenías que leer para aprender Java y la cantidad para aprender ruby, la imágen era esta:

Java vs Ruby

Además me acuerdo que las veces que hice algunas cositas con Java no me gustaba la complejidad que llevaba hacer cosas simples, para todo había que crear clases, todo era complejo.
Pasaron ya casi 9 años desde empecé a escribir mis primeras líneas de código en Ruby, he pasado por muchos proyectos, algunos desde cero y otros legacy, aplicaciones más grandes, más chicas, etc, mi forma de programar ha pasado por varios estadíos, desde el 2004 cuando conocí Test Driven Development y me hice fanático, cuando no escribía casi nada sin escribir un test, y cuando me peleaba con todo el mundo para que escriba tests o para que corra los tests antes de pushear :). Hoy con mucha más experiencia encima, me doy cuenta que Ruby se parece mucho a java en algunas cosas y eso no me gusta, las aplicaciones son cada vez más complejas, se ha perdido “lo artesanal”, cada aplicación de Rails en la que he trabajado tiene como promedio 5000 Líneas de código sin contar las dependencias y otras 10000 líneas para los tests, el 90% de la gente escribe sus aplicaciones usando Ruby on Rails agregando gemas para cada cosa que necesita sin pensar en el costo extra que eso conlleva, el 90% usa Rspec sin si quiera darse la posibilidad a la duda y muy pocos tienen tests bien escritos de manera que al modificar algunas pocas líneas no se rompan 50 tests.
Y como si esto fuera poco, existen cada vez más cosas algunas menos necesaria que otras así que si alguien quiere empezar a programar en una app existente en ruby, cuales son las cosas que debería aprender?

[ Ruby ]
[ Rake ]
[ RVM / Rbenv ]
[ Rails ]
[ Rubygems ]
[ Rspec ]
[ Sidekiq / Rescue ]
[ Capybara ]
[ Cucumber ]

Ruby books
Y la lista tranquilamente podría seguir.

Pero volviendo al tema de “lo artesanal” siento como que ya está todo “programado” y pensado, si hay que hacer una página web entonces tenemos que usar Ruby on Rails, para escribir los tests hay que usar Rspec aunque si sos un poco revolucionario vas a usar minitest, hay alguna acción que lleve mucho tiempo? entonces seguro que tenemos que usar Sidekiq o Rescue. Del lado del servidor existe muy poca gente que se ponga a armar una infraestructura de producción para una app chica, la mayoría usa Heroku o cosas similares.

Otro tema interesante es la forma de trabajo del día a día, dónde parece ser que la única manera de llevar adelante un proyecto de software es utilizando Scrum con daily meetings…ufff “Qué hiciste ayer?”, “Qué vas a hacer hoy?” participé en algunos proyectos donde sufrí la peor variante de Scrum, dónde los sprints duraban una semana y teníamos en algunos casos más de 10 reuniones por sprint, “IPM”, “Post Mortem”, “Retro” son algunos de los nombres de estas reuniones, pero bueno voy a cambiar de tema por que me empieza a doler la cabeza…

Podría por ejemplo hablar de feature-branch, pero a lo mejor ese es tema para otro post otro día.

Cosquin Rock 2015

Este sábado 14 pasado fuimos con mi familia al cosquin rock que como su nombre no lo indica, no es en Cosquín :) sino en Santa María de Punilla, nos alojamos en Valle Hermoso un pueblo a unos 40 minutos del lugar en cuestión. Llegamos el viernes a la tarde y al otro día nos levantamos desayunamos y cerca del mediodía emprendimos el viaje en colectivo hasta Santa María, al llegar ví algo que hacía mucho que no veía el “folcklore” del rock estaba lleno de gente con remeras de rock por todos lados, había muchos puestos de venta de remeras, comida, lentes, etc en la puerta. Después de un rato dar vueltas nos sentamos a comer un sandwich de vacío que compramos por $40, eso no es nada, adentro un vaso de agua sale $30 (carísima la comida y la bebida).
Bueno se hicieron las 3 de la tarde y nos decidimos a entrar pasamos con la entrada en la mano por un camino medio largo hasta la entrada, nos revisaron como suele pasar en los recitales y me hicieron dejar el encendedor que tenía en mi riñonera. Llegamos y nos pusimos a buscar el escenario temático de reggae que era lo que a nosotros nos interesaba. Arrancaba “Tito Muñoz y la criminal ska band” una banda que sonaba muy bien con la voz de un chica que canta muy lindo:

Luego de esta banda tocó una banda de Costa Rica que realmente me sorprendió y me encantó, para mi gusto fué la banda que mejor sonó en toda la noche y es “Un rojo Reggae Band” mirenló uds mismos:

La verdad el recital me encantó y me gustó mucho poder descubrir una banda tan buena como esta, lo que siguió fué “Naty Combo” que tuvieron que irse sin poder terminar como corresponde por que hubo un problema con el sonido después vino “Riddim” tan esperada por mí por que nunca los había escuchado en vivo y me sorprendieron por que dieron un recital excelente, realmente sonaron muy bien se sentía una energía que fluía… después siguieron las bandas que estaban en la grilla. Este fué mi resúmen del mi primer Cosquín Rock.

empezar el día así

Gastón Ramos:

Alto post!

Originally posted on marisa ramos:

Hoy me pasó algo inesperado.  Por un motivo que no viene al caso relatar hoy temprano a la mañana  recalé en un taller mecánico.  Un garaje adaptado a este fin en donde un señor de mediana edad vestía mameluco color café y sus lentes caídos a mitad de nariz, bonachón, predispuesto a solucionarnos el problema. Mientras el señor hacía su trabajo me quedé en la vereda observando las herramientas, la fosa, el perro que dormía en una improvisada cucha, la radio que emitía la frecuencia de l.t.10, el equipo de mate, los papeles pinchados en un clavo que salía desde la pared, algunos trapos sucios con grasa.

Por un rato todo me resultó familiar aunque fuera ésta mi primera vez en este lugar. Por un rato algunos recuerdos escondidos aparecieron para saludarme, me inauguraron el día con el confort que suele dar el vientito fresco en la cara. Por un…

View original 20 more words

Cómo resolver un problema ( de programación )

Cómo algunos de uds saben me dedico a la programación de computadoras, esta actividad requiere tener habilidades para resolver problemas y considero que los mejores hackers programadores son los que saben hacer muy bien justamente esto, ahora bien, creo que hay dos grandes caminos a tomar, uno es el del “hacker” y consiste en ir probando cosas en base a suposiciones a veces con fundamento y otras no tanto. Un ejemplo de esta forma de resolver podría ser, imaginensé que tenemos un programa que ( no importan los detalles ) tiene un formulario que el usuario debe completar, después de enviar el formulario se deben crear 3 o 4 objetos en la base de datos, y uno de ellos por algún motivo no se está creando, entonces suponemos que este objeto no está pasando alguna validación y sin probar mucho deshabilitamos la validación y probamos de nuevo, el problema persiste entonces hacemos otra supocisión de que tal vez el objeto se deba guardar en el último paso y ponemos un objeto.save en la última línea de nuestro programa. Como hemos podido observar es manera de resolver las cosas a veces nos puede ayudar a hacer algo rápido si tenemos suerte, pero después de uno o dos intentos necesariamente debemos tomar el camino serio o más pensante y acudir a nuestro yo teorico que todos tenemos dentro y el proceso sería más o menos este:

  1. Revisar los logs de la aplicación mientras reproducimos el error.
  2. Escribir un tests que reprodusca el problema.
  3. Escribir el código para que el test pase.

The Fix Is In

Ahora bien, el paso 3 require muchas veces de una investigación al detalle de que es lo que está pasando y en el medio puede haber algunas o muchas cosas que desconocemos entonces es útil por ejemplo hacer algunos dibujos en un papel para entender por ejemplo la jerarquía de objetos/clases que estamos usando, las llamadas a API si es que las hay ver que bibliotecas están involucradas, sino las conocemos es bueno leer la documentación para poder tener mejor contexto de dónde estamos parados.

Sí después de todo estos seguimos sin solucionar nuestra cuestión, es bueno tomar un descanso y pensar en mostrarle el problema a alguien más, muchas veces nos damos cuenta de algo con la simple tarea de explicarseló a otro.

Este fué mi post de cómo resolver problemas, vos que técnica tenés?

Burning Song

Acabo de descubrir un muy lindo tema de morodo, suena muy bien !

Panthro, el proxy cache para rubygems.

Hace un tiempo atrás se me ocurrió escribir un proxy cache para las gemas, lo hice un poco para aprender y otro poco a para acelerar un poco el uso del rubygems en un lugar común de trabajo, como por ejemplo una oficina. La idea es que cuando instalamos un gema por primera vez esta se baja desde rubygems y se guarda en el cache en dónde panthro está corriendo, específicamente en ~/.panthro/gems, luego cuando necesitemos instalar la misma gema desde otra máquina en la misma red y que tenga configurado panthro como source de rubygems (veáse el comando `gem source`) esta y todas sus dependecias no necesitan ser descargadas dado que ya están en el cache.

Panthro

Hay algunas cosas que me falta implementar y es expirar es el cache de los archivos latest_specs.4.8.gz, prerelease_specs.4.8.gz y specs.4.8.gz entre otras que están detalladas en el TODO del proyecto.

https://github.com/gramos/panthro

Es bueno aclarar que hasta ahora panthro tiene 63 líneas de código sin contar los tests. Además para poder testear que tan rápido es Panthro y compararlo contra usar directamente rubygems hice una gema muy chiquita que se llama rumb y que podés mirar acá: https://github.com/gramos/rumb esta tiene 57 líneas de código contando el texto del ayuda.

Follow

Get every new post delivered to your Inbox.

Join 511 other followers