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!
domingo, 29 de mayo de 2016
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!
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.
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!
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!
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!
Suscribirse a:
Entradas (Atom)