Introducir funciones en python

Como comentábamos hace unos meses, faltaba todavía como introducir funciones en los scripts, de manera que éste solicitase la función a evaluar.
Ayer, leyendo un poco pude hacerlo por medio de exec, que ejecuta un string en python. La idea es que inyectemos la función como string, y que luego modelemos el código que va a definir la función. Prácticamente:

print 'Introduzca función de x, por ej: log(x**2)'
funintroducida = str(raw_input('Funcion: '))
fnx = 'def function(x): \n' + '	return ' + funintroducida
exec fnx

Como vemos, solicita una función de x, la que toma como string. Luego concatena la definición de función, y obtenemos finalmente a function(x), nuestra función matemática.

Seguir leyendo

Publicado en Proyectos | Etiquetado , | Deja un comentario

Vade Retro, Invierno

… y el termómetro marca la friolera de 2 ºC …

Friiiio!

Fríiiio!

Publicado en General | Etiquetado | Deja un comentario

Las magias del time-lapse

Time-lapse… Se toman fotografías en intervalos regulares de tiempo, para comprimirlos en pequeños vídeos que son particularmente bellos. El equivalente moderno del zoetropo.
Acá, algunos que me gustaron mucho:

Timescapes Timelapse: Mountain Light from Tom @ Timescapes on Vimeo.

El mundo, visto en Doobybrain.com.
Seguir leyendo

Publicado en General, Loisir | Etiquetado | Deja un comentario

9.9.09

Publicado en Loisir | Etiquetado | Deja un comentario

Inseguridad en Hogares

Conectado a la «magnífica» red de speedy (telefónica), el servidor sobre el que trabajo hace unos días estuvo offline. Como sabrán, al desconectar el router se perdió la ip dinámica que este tenía. Entonces, fue asignada a algún cliente que tuvo la suerte de conectarse en ese momento.

Consecuencias? Bueno, todas las urls que apuntaban a mi servidor, fueron a parar a este susodicho. TioEze, me hizo notar que al ingresar a alguna de las páginas obteníamos una linda pantalla de ingreso a un router, con contraseñas por defecto. Recordando esa anécdota, y con un uso más que básico de nmap podemos obtener «bastantes ejemplos».

nmap -v -p 80 -T Aggressive 190.xxx.xxx.1-255 |grep open

Por lo general, los usuarios que no entienden los riesgos de seguridad no se molestan en cambiar las passwords por defecto. Entonces escaneando actividad en el puerto 80 en un rango de ips podemos obtener routers funcionando, y otras cositas…

Incluye servidores xampp con acceso irrestricto a las bases de datos, algunos pequeños servidores web e incluso algunas cámaras de seguridad (con audio incluído (!)). Es como si conectásemos una cámara al televisor y lo ponemos en la calle, para que todos vean lo que pasa adentro…

A algunos he podido llamarles (teléfono en router), a otros sencillamente no se como conectarles. No es momento ya de crear conciencia acerca del poderío de la información?

Publicado en Comp, Geek\'s world | Etiquetado | Deja un comentario