lunes, 5 de septiembre de 2016

23, and getting older

Como todos los años le voy a cambiar el nombre al blog --tanto que lo uso--.  Es una estupidez mantenerlo pero no se. Es de alguna extraña manera un pedacito de internet que siento mas propia.
Ya se, es una mentira, es tan privativo como facebook y tan comercial como youtube blogger, pero se siente como casa. Como esta pieza de adolescente rebelde que piensa que el mundo es injusto mientras se toma un frappuchino de starbucks con guita de los padres.

viernes, 22 de julio de 2016

Pasatiempos

Escribo desde el e-mail directamente. No me importa mucho el formato
ya.
Descubri un nuevo pasatiempos. Escribir al blog.

Espero continuar.

Bitacora, sabado 16 de julio

Santo tome, Club vecinal modernoso desconozco su nombre pero esta lleno de caretas. Llegamos a las 21,45 aproximadamente, El colectivo tenia lindos asientos pero el pasaje era muy caro. Ramiro tiene descuento de estudiante. Mi tarjeta no. Nos pasamos una parada, Sebastian sigue quejandose del frio y el viaje, aunque esta emocionado de escuchar tocar a una banda tributo a los redondos.

22:04: Las puertas siguen cerradas para nosotros, el cartel dice localidades agotadas, somos pocos por ahora. Tal vez nos dejen pasar.

22:06: Decidimos irnos, vimos una parrillada a unas cuadras.

22:07: Es una mala idea, volvemos a mi casa.

Otra vez el colectivo, esta vez los asientos son peores pero nos sentamos al fondo, hay solo un tema de conversación. La decepción del recital.

22:36: Bajamos del colectivo, hay una rotiseria en la otra esquina, decidimos comprar pizzas para pasar la velada. La rotiseria tiene la puerta rota, una estafa del que arreglo el vidrio. El dueño no parece tener interes en arreglarla.

22:50: Ya compramos la comida, Nada demasiado interesante.

------

01:34: Sebastian se va, hablamos de reunirnos nuevamente. No creo que suceda. Ramiro va a esperar el colectivo aca.

01:47: Parece que el colectivo esta por llegar. Bajamos, hace frio. Tal vez nos veamos pronto nuevamente.   

Mi querido Blog

Claramente no estas hecho para ser leido, o al menos no masivamente. Claramente no soy un escritor, si bien puedo escribir, poner una palabra detrás de otra y darles un sentido. No soy un escritor.

Hay muchas cosas que no soy, a decir verdad. Muchas cosas que intente ser. Supongo que como todos, busque lo que soy. Al menos en un momento me dedique a cosas. Pero no vale hondear en detalles.

Hoy estuve viendo unas maquinas viejas en el trabajo, da pena pensar que alguien se tomo tal vez meses en diseñarlas y construir prototipos pero su nombre no aparece en ninguna parte. Solamente dice intel, asus, AMD, lo que sea. Es como si esas grandes entidades lo hubieran hecho. Es como si las personas que trabajaron en eso no existieran. Claro que se puede buscar el modelo y tal vez, solo tal vez, encontrar a los involucrados en su diseño.

Pero, como los artistas, ellos no tienen derecho a un credito? A una pequeña lista adjunta a la placa detallando a sus realizadores?

Saludos. Por ahora. 

lunes, 18 de julio de 2016

Hola.... (?)

Que solitario esta blogger ultimamente, bueno, en realidad desde siempre para mi.

Sera que ya no esta de moda ?

sábado, 16 de julio de 2016

Echoes of sirens

Isn't it a beautiful sound, that echoe
In the distance, bouncing though the buildings
In the distance, getting closer
Right in front of your window, the sirens that anounce tragedy
The despertate sirtens that may save a life, but rarely do
The violent sirens thay may extinguish a life, and often succed
Those sirens in a hurry, those that may fight fire

Every city is damned shore of sirens
Follow them
Follow them to see others tragedy
Follow them to watch the city in natural form
Follow them for you may see deaths before time
Follow them, and you will value your life little more

Follow them, before they follow you.

viernes, 24 de junio de 2016

Usando un slide para redimensionar imagenes

Es bastante descriptivo el titulo no ?

nota: este script redimensiona todas las imagenes! Se puede cambiar $("img") por un nombre de clase si se quiere seleccionar algo en particular ;)


$(document).ready(function() {
        $("#slider").slider({
                'max': 720,
                'min': 160,
                'step': 1,
                'value': 320,
                slide: function (event, ui) {
                        var height = parseInt (ui.value / 5) * 4;
                        $('#sliderValue').text (ui.value + ' x ' + height);
                },
                change: function (event, ui) {
                        var height = parseInt (ui.value / 5) * 4;
                        $('.resizeme').attr ('width', ui.value);
                        $('.resizeme').attr ('height', height);}
        });

    $("#slider").slide;
    $("#slider").change2;

});

$("img").ready(function() {
                        $('.resizeme').attr ('width', 320);
                        $('.resizeme').attr ('height', 240);
 } );



viernes, 17 de junio de 2016

Compilar aircrack-ng

Antes que todo hola! Hoy vengo con un tutorial sobre como compilar e instalar la suite aircrack-ng  en una maquina con debian.

El proceso puede resultar un poco criptico si no se tiene mucha experiencia en la compilacion de programas y mas aun si no tenemos todas las librerias necesarias.

Vamos a los bifes! 

Primero y principal instalamos TODO el software necesario para poder compilar (sino van a salir errores bastante feos)

sudo apt-get install ethtool rfkill libnl-nf-3-dev libnlopt-dev build-essential pkg-config openssl libssl-dev sqlite3 libsqlite3-dev libnl-genl-3-dev libpcre3 libpcre3-dev

Este es el paso mas crucial para poder lograr una instalación buena y sin errores. Es muy posible que ya tengas muchos de estos paquetes instalados pero nunca esta de mas incluirlos. El apt-get es lo suficientemente inteligente para instalar solo lo que te este faltando.

Ahora si, a compilar como dios manda!

Como lo primero es lo primero hay que descargar el software, o para ser especificos el codigo fuente.Nota: A partir de aca sigue el tutorial oficial de  http://www.aircrack-ng.org/doku.php?id=install_aircrack
  
wget http://download.aircrack-ng.org/aircrack-ng-1.2-rc4.tar.gz
 
Como es un tar lo descomprimimos y vamos al directorio:
 
tar -zxvf aircrack-ng-1.2-rc4.tar.gz
cd aircrack-ng-1.2-rc4
 
Acá propiamente dicho se compila. Se puede tomar su tiempo pero no es mucho. En mi caso lo compile con todas sus funcionalidades. 

make sqlite=true pcre=true airpcap=true

Finalmente se instala, para decirlo en criollo, se copian todos los archivos compilados a las carpetas de binarios del sistema para que se puedan acceder via terminal sin usar un path completo. 

make sqlite=true pcre=true airpcap=true install
 
Importante! Algunas de las aplicaciones se copian en /usr/sbin asi que solo las vas a ver si usas sudo o si estas en modo root (sudo -i o su)

Y asi da por finalizado el tutorial. La próxima voy a hablar un poquito de su uso! Saludos. 

jueves, 16 de junio de 2016

Cortazar y el Rubius

Escribir un libro es sin dudas una tarea increíblemente agotadora, de eso no hay dudas. Sin embargo gentes como "el rubius" y "hola soy german" se pueden encontrar en las vidrieras de muchisimas librerias sobre libros de Cortazar y Galeano. Claro que estos ultimos nunca fueron del todo lo que se llama populares, aunque ahora los hipsters se crean que la inteligencia se encuentra entre las paginas de sus obras.

Pero que cambio ahora que youtubers hacen best-sellers que no dicen nada?

Nada, siempre hubo libros malos de moda. Hoy solo se nota mas. Hoy son tiradas mundiales. Hoy se sabe mucho mejor que es lo que va a vender en un local.

Y es que hay dos tipos de escritores. Los que escriben porque quieren decir algo, contar una historia o simplemente plasmar sus pensamientos en letras contra aquellos que, sin tener ninguna idea clara, saben que serán escuchados.

No es muy complicado adivinar cuales son publicados por las grandes firmas.

Pero a no desalentarse que de vez en cuando algún buen editor empuja uno de esos libros que realmente valen la pena. Uno de esos libros que vende 20 ejemplares en la primera tirada, 200 en la segunda y se vuelve un mito. Uno de esos libros que se prestan, que se compran viejos, que se cuentan, De vez en cuando aparece alguno. El chiste es que no lo vas a encontrar hoy, lo vas a ver en 6 años, abajo de una parva de porquerias en rebaja. Lo vas a encontrar en un canje o en algun rincon de tu biblioteca favorita. Vas a ver algun articulo en internet sobre esa historia.

El chiste es que cuando todos los libros del rubius hayan terminado de pisapapeles o leña en un asado estos otros van a estar amarillos y manchados pasando de mano en mano. Eso es lo hermoso de los buenos libros.

Saludos y gracias por leerlo todo!

domingo, 29 de mayo de 2016

Reproducir simultameamente varios mplayer

Hello again!

Esta vez quiero comentar un pequeño truco/hack/dato sobre mplayer (un reproductor por consola). Resulta ser que mplayer normalmente no se banca que lo pases a background (segundo plano) asi como asi con &.

mplayer movie.mkv & #esto no anda

Por si queres correr dos vídeos simultáneamente tenes que definirle el input y output con las flechitas <>:
  
mplayer movie.webm &>/dev/null </dev/null & mplayer movie.avi &>/dev/null </dev/null & #esto te abre las dos ventanas juntas y te libera la terminal

Es una forma muy copada de comparar distintos encodings.

Bueno, fue corta la primavera y tengo que volver a mi nihismo existencial constante.

Bye!

Anoche, bandas, amigos y nada


 Porque no tengo ganas de escribir ni armar un articulo, solamente dejar una marca mas en el blog. Porque realmente no tengo nada que decir realmente, porque las noches son todas distintas pero los sentimientos siempre iguales. 
Porque no quiero ponerme a leer los apuntes. 
Porque me siento un pendejo depresivo de vuelta.
Porque si y porque no.

Un par de fotos y un adiós.

jueves, 26 de mayo de 2016

Graph Data: Les miserables

https://plot.ly/~chelsea_lyn/9211/network-of-coappearances-of-characters-in-victor-hugos-novel-les-miserables-3d-v/#plot

martes, 10 de mayo de 2016

Listar funciones de un modulo en python

Puede sucedernos en algun momento que necesitemos saber que funciones contiene una clase o modulo de python para, por ejemplo, comparar clases o saber si podemos usar tal o cual funcion. 
En principio existe un atributo de todo objeto en python que es COSA.__dict__ que contiene tanto las funciones como otras informaciones que podrían molestar por momentos. 

Para filtrar el resultado de __dict__ podemos usar ciertos artilugios, para mostrarlo empecemos por crear una nueva clase con solo dos funciones:

>>> import types
>>> class Foo:
...     def F1(): pass
...     def F2(): pass
...
 

El atributo __dict__ nos devuelve demasiada información innecesaria
 
>>> Foo.__dict__
{'F1': <function F1 at 0x7f9cc85b07d0>, '__module__': '__main__', 'F2': <function F2 at 0x7f9cc85b0848>, '__doc__': None}


Podemos filtrar los elementos que no deseamos y retornar solo los nombres.

>>> [a for a in Foo.__dict__ if isinstance(Foo.__dict__.get(a), types.FunctionType)]
['F1', 'F2']
>>>

Espero que les haya sido de utilidad y hasta otro momento.

Saludos!

lunes, 9 de mayo de 2016

Multiples botones submit en HTML

Suele suceder que tenemos una forma con varios parametros pero al momento de realizar la accion podemos aceptar, cancelar, guardar, eliminar, etc ... 

Una forma de lograr este cometido es usando multiples botones de submit (enviar) en una forma con una variable. 

<input type="submit" name="action" value="Update" />
<input type="submit" name="action" value="Delete" />

De esta forma la variable action va a contener lo que queremos hacer. 
El problema con esto es que el nombre de la accion va a ser lo mismo que 
se muestre, alternativamente podemos usar distintas variables de forma 
tal que el texto mostrado no tenga que ser reflejado en el codigo.
 
<input type="submit" name="update_button" value="Update" />
<input type="submit" name="delete_button" value="Delete" />
 
Esto es interesante si deseamos cambiar, por ejemplo, el idioma de la pagina.
Del lado del server lo que tendriamos que hacer seria una simple comprobacion de
la variable que decidimos usar. 

Espero que les sea de utilidad y hasta la proxima!
 

viernes, 6 de mayo de 2016

Escalando matriz de puntos

Saludos compañeros !

En esta ocasion vamos a ver como se puede escalar una matriz de puntos (x,y).

Pero primero, a que le llamamos "escalar"? Supongamos que tenemos un monton de puntos sueltos en un espacio indefinido, podriamos tener uno en (0, 1) y otro en (34235, 54234). Pero como eso es bastante dificil de graficar vamos a darles unas diensiones mas normales, digamos 100x100. Asi lo que querriamos de output es una matriz con valores entre 0 y 100 sin perder las proporciones de los puntos.


Vamos directo al ejemplo!

>>> a = [(1,6), (2,5), (3,4), (34,42), (32,12)]
>>> x_mx=max(a, key=lambda x: x[0])[0] # esto se explica aca!
>>> y_mx=max(a, key=lambda x: x[1])[1]
>>> x_img=100
>>> y_img=100
>>> map(None, map(lambda x: x[0]*x_img/x_mx, a), map(lambda x: x[1]*y_img/y_mx, a)) # vamos a ir desglosando esto abajo...
[(2, 14), (5, 11), (8, 9), (100, 100), (94, 28)]


El operador map de python es extraordinario para trabajar con arreglos, en escencia lo que hace es aplicar la funcion que tiene como primer parametro a cada elemento de una lista (como un for abreviado). Y si tenemos dos o mas listas las une.
Esta sentencia: map(lambda x: x[0]*x_img/x_mx, a) simplemente aplica la vieja y querida regla de tres simples a cada elemento, donde x_img es el tamaño que deseamos obtener. Analogamente se ejecuta sobre el eje y.
La sentencia por fuera: map(None, x... ,  y... ) simplemente une ambos arrays para obtener el resultado.


Y como diria algun viejo personaje de dibujos animados, ee-e-e-eso es todo amigos !

Saludos y hasta la proxima!


Python maximo elemento del eje

Buenas a todos, y por supuesto, a todas. Hoy justo estaba probando algo que me parece bastante importante comentar.

En python si queremos obtener el mayor elemento de una de las filas de una matriz podemos usar la funcion max con un argumento que seleccione la fila deseada.

No tiene mucho sentido dicho asi ? Vamos directro al ejempo!

>>> a = [[1,6], [2,5], [3,4]] #array de puntos en el plano x, y
>>>max(a, key=lambda x: x[0])[0] #coordenada x mayor
>>>max(a, key=lambda x: x[1])[1] #coordenada y mayor

La importancia real de conocer este simple truco radica en que se usan funciones estandard que no dependen de ningun paquete, a diferencia de numpy.amax que cumple una funcion muy similar.

Gracias por leer y hasta la proxima!

jueves, 14 de abril de 2016

Al Sur Cap 01

Amo este viento del litoral, esta llanura perpetua. Ver como alrededor esos pastos verdes parecen un remolino en medio de la tierra. Como me gustaria poder disfrutarlos desde algun lugar mas comodo y no esta moto heredada. Heredada no por honor o por ser un recuerdo especial sino por ser lo unico que pude agarrar y nadie mas quiso. Son cosas que pasan cuando a uno los padres lo dejan solo en el mundo con unos hermanos traicioneros. Lo unico bueno de esta chatarra es que me permite escaparme de todo eso, ir de pueblo en pueblo y olvidarme lo poco que deje atras.
Ahora bien, como será este lugar al que voy? El nombre no me da nada de confianza, lago seco. Que terrible historia habrá detrás de un nombre tan macabro. A decir verdad no me importa mucho, de seguro no me voy a quedar mas de una semana, me dijeron que estaban necesitando alguien para hacerles una pagina web y creo que con mis escasos conocimientos basta y hasta sobra. Lo que si, conm ese nombre no creo que mucha gente la vaya a visitar. " lagoseco.net " El solo imaginarlo me da risa.
Ya debo estar a unos pocos kilometros, pero por alguna razon me estan llorando los ojos. Carajo odio llorar, el sol es una porqueria cuando me hace esto. Supongo que lo mejor va a ser acampar en algun lado cerca del camimo y llegar mañana, total ya son pasadas las seis de la tarsde y dudo mucho que haya alguien en la municipalidad. Si por lo menos tuviera algo de plata seguiria para hospedarme en algun hostal comodo -o al menos con una cama- pero les voy a decir a los del municipio que me lo paguen. Seguro que van a querer, asi como tambien me van a querer dar una miseria por la pagina. La gente es asi. Y me siguen llorando los ojos, cuanto mas falta para que baje el jodido sol !


Proximo

Al Sur Cap 02

Detras de la barra una puede apreciar tantas cosas, sobre todo en estas cantinas de pueblo. Aquel viejo viudo que aparece todos los dias a las 12 del mediodia a pedir una taza de cafe y se queda mirando a todos lados buscando con quien hablar o leyendo el diario y comentando las ultimas noticias a quien sea que se acerque a menos de dos metros. O esa pareja que se reune, yo diria a escondidas, todos los lunes. Se que estan escondiendo sus reuniones porque piden sus ordenes por separado, un cortado con timidez pide ella y un expresso el -ademas de la rapida mirada que siempre me da- típico de esa clase de hombre infiel. Tambien hay un muchacho que se mudó al pueblo hace un par de años y no habla con nadie pero viene todos los dias a sentarse en un rincón y tocar unas notas en una guitarra que se nota que apenas sabe tocar.
Hace ya unos dos años trabajo en este lugar y sigue siendo el mismo basurero, el dueño rara vez aparece y desde Abril que estoy a cargo de todo. No puedo decir que es una tarea titanica, hay siempre unosm pocos clientes y al menos no me toca hacer la limpieza. Pero siempre sueño con un dia tener mi propio local en la ciudad y que sea energico y vibrante, muchos empleados sirviendo distintas variedades de cafe a jovenes, empresarios, empleados y todo tipo de gente apurada, parejas que pidan bebidas raras como batidos de banana o cocteles de fresa.
Recién está cayendo la noche y siento como si tuviese piedras atadas a las piernas espero que no sea el ciclo que se adelantó este mes porque en la farmacia no van a renovar stock hasta el lunes. Supongo que me espera una noche larga y aburrida de apostadores que solo saben pedir wiskey. Me pregunto cuan legal será todo eso, pero el dueño me dijo que haga ojos ciegos y si alguien pregunta solo diga que vienen a tomar.

Al Sur Cap 03

El monitor se sigue actualizando como de costumbre y Rain sigue lo mirando con sus ojos casi muertos mientras sostiene su taza de café vacía y sucia.
-Alguna novedad Rain?- Rompió el mortuorio silencio la doctora Anita con una voz casi alegre.
Ninguna respuesta del - ya no tan joven- asistente. Desde el caso de los chicos ingleses que rain está constantemente con una expresión neutra, desanimado y casi ni responde a su jefa. Sabe que no lo pueden despedir, conoce demasiado la organización y seria un trastorno reemplazarlo, además claro tardarian años en confiar en algún nuevo empleado tanto como en el. Todo lo que vió sin quejarse, toda esa gente con la que estuvieron experimentando los ultimos años. El conoce los numeros de los familiares de muchos que fueron asesinados y dados por "desaparecidos".
Sus superiores -incluso mas arriba que Anita- siempre repiten desde el incidente de hace tres años que "hay que dejar de estar dormidos y actuar rapido, nunca se puede repetir una situación asi." Con eso se refieren ni mas ni menos que a matar a sangre fria a todos aquellos que descubramos que son posibles afines a menos de mil kilometros el uno del otro. No solo a sangre fria sino que en secreto, Anita les suplicó que al menos le entreguen los cuerpos a las familias "Pero la sociedad no se bancaría saber que hay fusilamientos a personas solamente por amarse, no importa lo peligrosos que sean. Pero tampoco los podemos dejar andar por ahi como si no tuvieran nada que ver." Esa es siempre la misma respuesta. La misma respuesta que existia antes de que contraten a la doctora. Y la que los jefes consideran la unica correcta.
Otra vez se interrumpe el silencio, pero esta vez es la computadora lanzando un pequeño beep. Una leve señal en algun pais de america del sur.
Anita posa su mano en el telefono y mira a Rain. - Estas

==========================================
==========================================

FInal ascelerado por falta de ganas tiempo y etc... La historia es totalmente Open Source por si existe alguien que la leyo y la quiera continuar!

domingo, 3 de enero de 2016

A new year, a new era

Este año voy a ponerme las pilas con mi faceta creativa que estuvo bastante descuidada el año anterior, espero les guste mi arte, si es que puedo llamarlo así.
Muchas gracias a todos los que esten leyendo esto, voy a intentar publicar un poco mas seguido de paso.

Hasta después !