domingo, 30 de marzo de 2008

Fotos del cumple!

Fotos Cumple 2008

Aca les dejo las fotos de mi cumple del dia de ayer. Muchas gracias a los que pudieron venir!

Saludos,

Blue

sábado, 29 de marzo de 2008

Aprobe Algo2!

Eso, nada mas, post al pedo...

Esta noche los espero en Codigos de Barra!


Saludos,

Blue

viernes, 28 de marzo de 2008

Quienes fueron?

Este blog ya se vuelve internacional, sin fronteras, grosssso....

A las ya sabidas visitas de Nelson desde Mountain View (forro), ahora me llegan visitas de... Tailandia!!

No se que tipo de ataque quieren realizarle a mi gran sitio, pero tengo visitas de todos lados!

Sino miren:


Saludos!

Blue

jueves, 27 de marzo de 2008

El programita de ruby, paso a paso...

Como mucha gente no pudo seguirle el hilo por la sintaxis, vamos a partirlo en cachitos y explicando paso a paso, para que vean que es una boludez, solo que inentendible sin identacion y colorcitos :p


Acá va:

File.open($*[0],"r+") do |f|
lines = f.readlines
delay = $*[1]

En la primer linea, abro el archivo. El "$*[0]" es el equivalente al argv, es el primer parámetro pasado por linea de comando. El "do |f|" hace que el archivo abierto sea contenido en la variable "f".
La segunda linea ubica en la variable "lines" (a partir de ahora un array) todas las lineas del archivo abierto.
"Delay" es un parámetro de entrada para el tiempo que queres correr el subtitulo.

j = 1
i = 0
while(i < lines.length)

"j" es la variable que va guardando por que parlamento del subtitulo va. "i" es un contador sobre las lineas del subtitulo.
El while es el clasico, que itera hasta el final de las lineas.

if(lines[i].to_i.eql? j)

i = i+1

prin, fin = lines[i].chomp.split(/-->/)

Si la linea en la que estoy es igual a el numero de parlamento que espero, entonces la siguiente linea es la que quiero modificar.
Con el "prin, fin = lines[i].chomp.split(/-->/)", ubico en la variable prin el principio del split y en fin la segunda parte del split. Aca spliteo por -->, utilizando los caracteres de escape.

El siguiente codigo se repite 2 veces, pero voy a explicarlo solo una.

h,min,seg = prin.chomp.split(/:/)
seg2,dec = seg.chomp.split(/,/)
seg2 = seg2.to_i + delay.to_i
if(seg2 > 60)
min = min + 1
seg2 = seg2 - 60
if(min >60)
h = h + 1
min = min - 60

Spliteo de nuevo, y guardo la hora, minuto y segundo, lo mismo con los segundos y los decimales. A los segundos le sumo el delay que tenia por parametro, y reacomodo.

Esta quizas es la linea mas fea, pero tiene mucho sentido:

lines[i] = h+ "\:" + min + "\:" + seg2.to_s + "\," + dec + "\-\-\>" + hf+ "\:" + minf + "\:" + seg2f.to_s + "\," + decf + "\n"

Solamente le asigno a la linea que contiene el tiempo del parlamento, los elementos modificados. Es verdad, se ve fea sin colorcitos, pero bueno, no quedaba otra.

Por ultimo, reestablezco indices y hago:

f.pos = 0
f.print lines
f.truncate(f.pos)

La primera vuelve el cursor al inicio del archivo, despues imprimo el array "lines" modificado en el archivo y hago... ¿truncate? no se para que, pero sin eso no funcionaba :p Que sincero que soy, je.


Espero que esto les haga ver que no es tan feo como creian... porque sino me van a venir a buscar de Ruby a cagarme a trompadas, por no hacerles buena publicidad :(


Saludos gente!


Blue!

miércoles, 26 de marzo de 2008

Estoy en Google!


:D

El reproductor de radio que todo el mundo quiere! (o por lo menos yo esperaba)

El otro día estaba frustradisimo, porque conectarse a la radio de la Rock&Pop era imposible, dado que comparte server con la Metro y esto genera mucho trafico, especialmente a la mañana, cuando están los programas de Pergolini y Andy.

Eso lo solucionaba apretando muchas veces (pero muchas) en el botoncito del WMP hasta que agarraba.

El miércoles pasado, bastante al pedo en el laburo, se me ocurrió hacer un miniprograma, basado en el SDK de WMP, para que esos reintentos los haga solos y poder configurarle por un XML las radios que queres que cargue. Esta hecho en C# 2.0, por si alguien quiere saber. Mas adelante veré si puedo hacer alguno en Python o algún otro lenguaje Open Source.

Acá les dejo el código fuente y el ejecutable.

Que lo puedan aprovechar!

Saludos,

Blue

He vuelto... y quemado

A ver como es esto... ya nadie entra al blog, y casi todos me dijeron que la sintaxis del ejemplo que puse de ruby fue fea...

Para compensar esto, en el proximo posteo, hare paso por paso el programa, para que vean que es mas culpa de la falta de identacion y de comentarios.

Voy a tratar de hacer el mejor esfuerzo para mejorar mi imagen... y para que vean que es lo que voy a mejorar, les dejo mi imagen:

DSC00192

Quemadito y todo :D

Saludos!

Blue

lunes, 17 de marzo de 2008

Mi primer programa en Ruby :D

Bueno gente, acá les dejo mi primer pequeño script con Ruby. Resulta que el viernes entrada la noche, el señor muluc me comenta que tiene todos los subtítulos de su anime preferido, pero como están sin presentación, y los subtítulos si la tienen en cuenta, tiene atrasados todas las líneas.

Entonces yo dije "Aja!" y le hice un programita bien sencillito, que dados un archivo de subs y un delay, te "corre" todo en ese sentido (no probé con negativos, pero quizás anda).

Entonces, aquí les dejo el código:


File.open($*[0],"r+") do |f|
lines = f.readlines
delay = $*[1]

j = 1
i = 0

while(i < i =" i+1" fin =" lines[i].chomp.split(/--">/)

h,min,seg = prin.chomp.split(/:/)
seg2,dec = seg.chomp.split(/,/)
seg2 = seg2.to_i + delay.to_i
if(seg2 > 60)
min = min + 1
if(min >60)
h = h + 1

hf,minf,segf = fin.chomp.split(/:/)
seg2f,decf = segf.chomp.split(/,/)
seg2f = seg2f.to_i + delay.to_i
if(seg2f > 60)
minf = minf + 1
if(minf >60)
hf = hf + 1

lines[i] = h+ "\:" + min + "\:" + seg2.to_s + "\," + dec + "\-\-\>" + hf+ "\:" + minf + "\:" + seg2f.to_s + "\," + decf + "\n"

j = j+1
end

i = i+1
end

f.pos = 0
f.print lines
f.truncate(f.pos)
end

Básicamente, lo que hace es parsear todo el texto en busca de las líneas que indican tiempos, ahí parsea también esa línea y le agrega a la parte de segundos, el delay correspondiente, haciendo los ajustes para mantener el invariante de la hora.
Bueno, espero que alguien lo vea útil... por las dudas, para ejecutarlo, necesitan el runtime de ruby, que lo bajan de acá (Win). Para la versión Linux, necesitan o bien bajar el código fuente, o fijarse en su distro como es. En el caso de Ubuntu o Debian, con poner lo siguiente, basta:

sudo apt-get install ruby irb rdoc

Gente, voy a seguir laburando...
Saludos a todos y espero llamados y mensajes el 20 y fiesta el 29!


Blue

viernes, 14 de marzo de 2008

Ya paso una semana....

Una semana ha pasado de mi ultimo post. Lo lamento por los (2...3?) visitantes del blog, pero fue una semana diferente... o sea al pedo. Y no tenia ganas de levantarme de la cama para escribirle a nadie.

Paso a comentar un par de cosas de indole personal, para luego pasar a lo tecnico:

1. Me voy de vacaciones!!!
2. Estoy engripado :(
3. Tengo mochila nueva!

Como veran, en orden de importancia...

Pasando a temas tecnicos:

El adaptador de Informix cada vez anda mejor, es mi pequeño bebe :).

Ahora estamos en epoca de negociaciones para ver a que tecnologia paso, espero que sea para bien.

En fin... Fer me sigue rompiendo las bolas para que postee algo de Ruby, asi que lo voy a hacer.

Esta publicidad fue la que me hizo leer algo sobre Ruby...

# The famous Hello World
# program is trivial in
# Ruby. You don't need:
#
# * a "main" method
# * newline escapes
# * semicolons
#
# Here's the code:
puts "Hello World!"

Simple, no?

Bueno, para que vayan calentando, les dejo un par de articulos y como siempre "el libro por excelencia" :P

http://www.ruby-lang.org/es/ - Pagina Oficial
http://es.wikipedia.org/wiki/Ruby - Wikipedia
http://www.pragprog.com/titles/ruby - "El" Libro

Yo por lo pronto voy a leer un par de cosillas.

En la proxima entrega, voy a "citar" un blog muy bueno que encontre de exploiting en web aplications, muy copado, con buenos ejemplos... quien dice una premonicion ;)

El video de todos los posts...


Ante la eliminacion del conejo palestino que queria matar judios y daneses... dejamos otro de Cual Cerdo!

Putita!




Saludos gente!

Blue



viernes, 7 de marzo de 2008

Listo el adaptador...

Despues de pelear durante semanas... ya existe el primer adaptador ¿Open Source? para Informix de Biztalk 2006.

Despues voy a averiguar si se puede postear para que otras personas lo puedan usar (aunque no se que tantas lo van a necesitar).

Sigo sin tiempo de preparar nada... :( Necesito sentarme un rato y planear bien esta cosa, sino voy a perder mis (pocos) asiduos visitantes :p

Prometo el fin de semana escribir algo, seguramente sera de Ruby, que fue lo que hizo que la gente se interesara en el blog.

Sin mas, con el culo todavia roto de Algo2,

Saluda atte.

Blue

P.D.: Dejo videito... esta noche esto nos espera.. Up the Irons!


Volvi

Linda semana esta...

Me acaban de romper el orto en Algo2, mi novia de viaje, ahora estoy solo, comiendo ravioles, adelante de la tele... Lo unico bueno es que Boca gano.

Mañana si tengo un rato en el laburo posteare algo interesante, aunque sea videos, hoy no tengo mas ganas de nada, solo de dormir.

Eso, ya me descargue...Saludos,

Mati

P.D: Como pueden tomar Hashing Extensible en el final!!!! ¬¬