Posted by & filed under free software, linux.

Desde el comienzo de la humanidad han existido las comparaciones, quienes tenían la cueva más bonita, el caballo con mejor dentadura. Hoy en día están de moda las peleas del estilo Mac vs Pc, Pc vs Consolas, PS3 vs XBOX360; etc. Hace poco tiempo en Taringa! tuve un intercambio de MPs con un usuario discutiendo sobre si Windows o Linux eran mejores, desafortunadamente tuve que cortar abruptamente la discusión dada la poca capacidad argumentativa y/o de entablar una discusión en buenos términos del usuario. A continuación daré una serie de opiniones acerca de porqué muchos creen que Windows es mejor que Linux.

En primera instancia debo aclarar que ningún sistema es absolutamente mejor a otro, un sistema tiene como fin serle útil a quien lo use; por ende el término ‘mejor’ se vuelve relativo y cada usuario debe utilizar el sistema que más se ajuste a sus necesidades.

Personalmente creo que Microsoft no es una de las empresas de ‘productos’ informáticos más grande por sus productos, sino por sus estrategias de mercado.

A comienzo de los 90′ en el boom de Internet se desató una batalla entre los navegadores ‘Internet Explorer’ (Microsoft) y ‘Netscape Navigator’ (Netscape Communications) en que el primero resultó victorioso. NO porque sea mejor (no creo que lo haya sido) sino que en vez de ser pago, decidieron darlo gratis con cada licencia de Windows. Resultó ser una estrategía de mercado y no una superioridad del producto lo que definió la batalla.

En mi corta vida (20 años) tenido el gusto de escuchar argumentos como ‘Linux apesta porque no funcionan los juegos’ o ‘…no funcionan los drivers’. Decir tales cosas es como decir ‘no me gusta el Lamborghini porque no le puedo colocar ruedas de tractor’. Un sistema operativo no es hecho para juegos, los juegos son hechos para sistemas operativos!!!

Read more »

Posted by & filed under free software, linux, programacion.

En la corta vida universitaria que tengo, me tocó utilizar diversos lenguajes de diversos pardigmas, como Pascal, C, Python, Smalltalk, Java, Bash (aunque no es un lenguaje formalmente). Todos y cada uno de ellos me demostraron su encanto y potencial, sin embargo uno de ellos sobresalió por sobre el resto. Como el título lo predice, estoy hablando ni más ni menos que de Python.

¿Que sobresalió de Python?

Me tocó empezar a usarlo sólo habiendo tenido como lenguajes previos Pascal y C. Quien los conoce saben que son lenguajes bastante cuadrados y caprichosos; lenguajes estructurados y fuertemente tipados estáticamente. Lo que personalmente me impulsa a programar muchas cosas es el ¿y si? y dicha pregunta la suelo responder con algunas pocas líneas de código. Con Pascal y C solía usar el Geany y un fpc/gcc por consola y luego ejecutar el (valga la redundancia) ejecutable.

Con Python se abrió un nuevo mundo de posibilidades, al tener un intérprete en vivo en la consola el proceso lleva mucho menos tiempo. Ahora dejando de lado lo anecdótico, vamos a lo interesante.

En rasgos generales Python es un lenguaje de tipado dinámico, multiparadigma (sirve tanto para estructurado, orientado a objetos, como para otros), de alto nivel, con varias estructuras de datos implementadas por defecto y un recolector de basura. Posee una filosofía que apunta a la claridad y simplicidad del código.

Read more »

Posted by & filed under internet.

Hace unos días mi amigo ‘Chino’ escribió este artículo de ingeniería social en facebook, básicamente el mismo se trata de explotar un comportamiento recurrente en los usuarios de esta red social para crear cierta legitimidad en una nota y luego editar el contenido; pudiendo poner links con contenido malicioso y/o información apócrifa, etc.

Es innegable el poder de comunicación que hoy tenemos mediante la Internet, una mera persona detrás de una computadora puede crear contenido que es consumido por una gran cantidad de personas. Como tal es lógico que sea un medio recurrente a la hora de efectuar manifestaciones sociales. Sin ir más lejos, las redes sociales y la red fueron fundamentales para los levantamientos árabes, permitiendo a miles de jóvenes organizarse.

Pero aquí es donde radica el doble filo de este medio masivo de comunicación, ¿cuál es la legitimidad que tiene un desconocido detrás de una computadora?

Durante las revueltas árabes, un blog de una lesbiana siria fué referente del levantamiento; sin embargo poco tiempo después se descubrió que quien escribía, lejos de ser una mujer homosexual siria, se trataba de un joven escoses.

Creo que el 99% de quienes utilizan Internet, han recibido alguna vez un mail cadena, haciendo referencia a una persona enferma, perdida, etc; pidiendo que el mismo sea reenviado a todos los contactos para ayudarlos. Muchos de estos mails son totalmente apócrifos y tienen como único fin obtener un listado de mails válidos para poder mandar spam o inclusive pueden contener contenido malicioso (lease virus, etc).

También existe otro objetivo, la difamación. Hace no mucho tiempo circularon muchos mails, advirtiendo del supuesto daño que implicaría consumir un producto de la compañía láctea líder en la Argentina; la misma ante la magnitud que tomó dicha advertencia, se vió obligada a crear un spot publicitario para desmentir tales acusaciones.

Hace unos días tuve un evento desafortunado, ví que por Facebook circulaba mediante ‘shares’ y ‘copy-paste’ la noticia de una nena abusada sexualmente por un cura el cual era mencionado con nombre, apellido y foto.  Desafortunado porque ante la sospecha y el no lograr encontrar más información disponible (generalmente estos casos se hacen noticia) me apresuré a tratar la misma como de apócrifa, además de al personalmente pedir más información a quienes compartían esta noticia lograr el enojo de varios.

Fue un gran error de mi parte no tomar el tema con mayor delicadeza, ante la posibilidad de que yo esté equivocado. Sin embargo dicho hecho ilustra lo que quiero demostrar con este artículo, la gente a pesar de la imposibilidad de verificar fehacientemente los datos, se solidarizó con la causa compartiendo la noticia.

Supongamos el caso hipotético de que dicho caso fuese mentira, uno podría acusar a cierta persona de cierto delito y aprovechando la solidaridad de la sociedad, divulgar la identidad y supuesto carácter del delito; estaríamos hablando de difamación a gran escala, siendo muy difícil rastrear el origen del mismo.

Corolario

A diferencia del diario, la radio, la televisión, Internet la hacemos todos; todos somos creadores y consumidores de contenido. Es por ello que tenemos que ser más concienzudos a la hora de consumir, crear y compartir información; sabiendo que todo lo que creamos y compartimos posee cierta legitimación de nuestra parte.

Posted by & filed under ciencia.

Actualmente vivimos plagados con dispositivos electrónicos diminutos que nos permiten llevar infinidad de música a donde quiera que vayamos. Es muy común en la vida urbana, ver quienes se sumergen en la música para amortizar el trastorno diario que es desplazarse dentro de una ciudad. Sin embargo sabemos que las ciudades son ruidosas y eso nos puede impedir disfrutar plácidamente de nuestra música, por suerte la física viene al rescate de nuestro gusto musical.

Existen hoy diversos auriculares comerciales que disponen de dispositivos electrónicos que ‘cancelan el ruido’ proveniente del exterior. Lo interesante es que no cancelan el ruido con una barrera física, como un ajuste mas hermético con el oído, sino que paradójicamente crean silencio a partir de más ruido.

Una parodia sería pensar en que nos encontramos con una persona que nos está gritando y no queremos escuchar sus gritos; entonces en vez de taparos los oídos, le gritamos a aquella persona y en consecuencia no escuchamos ninguno de los gritos, sólo silencio. Suena cómico e imposible ¿no? Pués existe una explicación para este fenómeno, y se trata de la ‘interferencia destructiva’.

Veamos una simple imagen

Como vemos la onda roja y la onda azul son iguales, simplemente están espejadas. Las mismas al interferirse (interactuar entre ellas) al ser una la opuesta a la otra, se cancelan.

Los auriculares con ‘noise cancel’ aprovechan este fenómeno físico mediante micrófonos que captan el ruido del exterior y componentes electrónicos que producen una onda sonora inversa a la proveniente del exterior, logrando así un sonido limpio. Un ejemplo clásico es que un viajero de un avión utilice este dispositivo para anular el sonido de las turbinas, incluso sin estar escuchando música.

Cabe destacar que este sistema no es perfecto, no opera sobre todas las frecuencias audibles ni cancela todos los sonidos; pero es un gran aporte a lo que es obtener un sonido limpio en ambientes ruidosos.

Posted by & filed under internet.

En el post anterior ya mencioné algunas curiosidades respecto a las url’s de facebook y que información podíamos sacar de ellas; sin embargo sentí que quedaba algo pendiente y es mostrar como es hipotéticamente posible robar fotos de una cuenta a la que no tenemos acceso, mediante la fuerza bruta.

¿Por qué “hipotéticamente”? En el post anterior mostré la siguiente url

https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-snc6/262207_10150250379330782_639435781_7283246_1748549_n.jpg[/note]

donde el número marcado en rojo corresponde a mi profile id, el cual obviamente es constante, al contrario de todos los demás números  que son variables y representan el resultado de algún algoritmo de ordenamiento o algo así. Para los que no lo recuerden o sepan (este blog intenta ser lo más friendly posible) un algoritmo de fuerza bruta, implica ni más ni menos que ir probando todas las combinaciones posibles.

Analizemos esto, tenemos 37 dígitos que varian, siendo los mismos decimales cada dígito tiene 10 combinaciones posibles lo que nos da un 10³⁷ combinaciones aproximadamente. Es más que evidente que es un número bastante grande. Computacionalmente es un número más que accesible que tardara su tiempo dependiendo del poder de cálculo de nuestra computadora, el problema radica en que por cada iteración haremos un pedido al servidor y eso tiene su delay. Multipliquemos este delay por 10³⁷ y más o menos tenemos desde Moisés hasta la actualidad.

Podriamos realizar un ataque a más de un servidor y/o desde más de una pc atacante, pero en definitiva el tiempo necesario para perpetrar dicho ataque seguiría siendo bastante.

Resumiendo, este ataque no tiene practicidad alguna, más que demostrar que hipotéticamente es posible y para resaltar ciertas curiosidades que tiene esta red social.

El Ataque

Antes de realizar un script para perpetrar el ataque de fuerza bruta, indagué un poco los links de mis propias fotos, esperando encontrar algun orden lógico el cual me permita acotar la cantidad de variables y me encontré con una curiosidad. Los links de mis fotos viejas (09-10) poseian otro formato

https://fbcdn-sphotos-a.akamaihd.net/photos-ak-ash1/v254/51/16/639435781/n639435781_450402_9982.jpg

En base a la observación el /51/16 parecería constante así como el /v254 tenía cierta persistencia, pero poniéndonos estrictos podríamos decir que tenemos 26 dígitos que varían, bajamos 11 variables! Sin embargo sigue siendo un número bastante alto.

Por lo que para el script en cuestión tomé ciertas consideraciones al “atacar” a un álbum específico

  • /v254/51/16 son contantes
  • 45042 posee sólo 10 ciclos de iteración
Obteniendo como resultado
#!/bin/bash
LOC=/home/alejandro/Escritorio/Facebook
OUTPUT="$LOC/file.txt"
BASE="http://fbcdn-sphotos-a.akamaihd.net/photos-ak-ash1/"
LINK=""
ID=639435781
CONST1=254
CONST2=51
CONST3=16
MIN1=450403
MAX1=450412
MIN2=702
MAX2=3970

while [ $MIN1 -lt $MAX1 ];do
    MIN2=702
    while [ $MIN2 -lt $MAX2 ];do
	 LINK=$BASE"v"$CONST1"/"$CONST2"/"$CONST3"/"$ID"/n"$ID"_"$MIN1"_"$MIN2".jpg"
 	 echo $LINK
	 TEST=$(wget $LINK -o - -q)
	 if [ "$TEST" != "" ]; then
	    echo $LINK >> $OUTPUT
	 fi
let MIN2=$MIN2+1
    done
    let MIN1=$MIN1+1
done
En este preciso momento, el script lleva 2 horas ejecutándose y como resultado arrojó las siguientes imágenes

Se puede apreciar que las fotos siguen el orden lógico del script

Colorario

Para resumir, planté la hipótesis de que es posible ejecutar un ataque de fuerza bruta contra los servidores de imágenes de facebook. Usando un caso modelo acotado, demostré que es posible aunque extremadamente impráctico.

Como aprendizaje o curiosidad me queda, que las imágenes están alojadas ‘públicamente’, que las url de las mismas muestran el id de su dueño y una de las cosas más interesantes es que el servidor permite realizar el ataque.

Me resulta curioso como uno es capaz de realizar un gran número de pedidos a direcciones inválidas sin que el servidor detecte un comportamiento sospechoso o si lo hace, no actúe.

NOTA: Al término de esta entrada el script arrojó otro resultado, 
siendo al momento 4 imágenes en 2 horas 20 min aproximadamente.

Licencia Creative Commons
Curiosidades de Facebook Reloaded por Alejandro Pernin se encuentra bajo una Licencia Creative Commons Atribución 3.0 Unported.

Posted by & filed under internet.

Hay muchas cosas en la vida, que uno ve, conoce, utiliza y desconoce pequeñas curiosidades o perlitas que no van muy al caso, pero siempre son interesantes de conocer. Facebook ha causado enorme controversia, con sus políticas de privacidad, supuesta exposición de datos privados, etc. Aquí no voy a hablar de eso ya que soy temeroso de los abogados de Mark Zuckerberg y no tengo dinero para costearme un litigio legal, así que sólo mostraré unas pequeñas perlitas con las que me he encontrado.

Observemos la siguiente URL:

https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-snc6/262207_ 10150250379330782_639435781_7283246_1748549_n.jpg
Dicha URL corresponde al enlace directo de mi foto de perfil, aunque posea una configuración de seguridad tal que sólo mis amigos puedan ver mi foto de perfil, cualquiera con esa URL podría verla; con lo que por medio de un intermediario habilitado, uno podría tener acceso a las fotos de una persona que normalmente no podría.

-Ahh, pero no pasa nada, porque siempre tiene que haber un amigo que le pase el link. ERROR.

Luego voy a mostrar un ejemplo, pero teoricamente es  posible crear un algoritmo que variando las secuencias numéricas de la URL, capture las imágenes subidas. Las secuencias numéricas no son numeros al azar, sino que identifican el perfil, el album y la foto (ejemplo burdo). Un ejemplo particular, el 639435781 remarcado en la URL corresponde a mi ‘profile id”.

Existe una suerte de “aplicación” dentro de facebook, que dado un numero de perfil, nos devuelve cierta información.
http://graph.facebook.com/639435781 nos devuelve:

{
“id”: “639435781”,
“name”: “Alejandro Pernin”,
“first_name”: “Alejandro”,
“last_name”: “Pernin”,
“link”: “https://www.facebook.com/ale.pernin”,
“username”: “ale.pernin”,
“gender”: “male”,
“locale”: “en_GB”
}

No es información del todo privada, menciona solo mi nombre, apellido, sexo y en qué idioma uso Facebook; asimismo si mi configuración de privacidad fuese tal que mi mail sea público, aparecería en los datos. De nuevo, esto nos permite mediante un algoritmo (para nada complicado) ir obteniendo datos, por ejemplo yo utilizé un algoritmo que a partir de mi id, iba a obtener los resultados de los siguientes 100 id’s; el resultado fué el siguiente:

Ver Resultados

Como se puede apreciar no son 100 resultados ya que algunos resultados arrojan “false” y mi algoritmo los omite; pero sin embargo se puede entender lo que quiero demostrar.

¿Es seguro utilizar Facebook?
“Lo dejo a tu criterio” – Karina Olga Jelinek, filósofa contemporánea argentina.

Licencia Creative Commons
Curiosidades de Facebook por Alejandro Pernin se encuentra bajo una Licencia Creative Commons Atribución 3.0 Unported.
Basada en una obra en blog.aleperno.com.ar.

Posted by & filed under Uncategorized.

En el mi anterior post hablé de como el MP3 se aprovecha de las deficiencias del oido, en este post hablaré de como la tecnología se aprovecha del POV o Persistencia de la Visión por sus siglas en inglés. Veamos un ejemplo:

La pregunta es, ¿Como con una arreglo unidimensional se puede hacer una imagen bidimensional? o en criollo, como es que una filita te lucesitas al ser giradas pueden formar una imagen.
Todo se debe a que las imágenes que vemos no son instantaneas, es decir, que tienen cierta persistencia en nuestra retina y mente. Muchos seguramente habrán hecho el ‘juego’ de ver una imagen fija por mucho tiempo y luego pestañar o mira a una pared blanca, se trata del mismo fenómeno.

En este caso particular tenemos una fila de leds montados sobre un motor, la imagen se genera gracias a que una vez que nuestros ojos captan la luz en una posición, la misma permanece el tiempo suficiente para que los leds hagan 360º y vuelvan a la posicion inicial. O mejor dicho, la imagen permanece el tiempo suficiente en la retina como para “ver” un haz de luz que en realidad no está.

Veamos otro ejemplo:

Aquí gracias a la “lentitud” de los leds podemos apreciar que es lo que realmente sucede, dado a que la frecuencia de los leds es menor al tiempo que la imagen permanece en la retina, permitiendonos ver cuando un led está apagado. Conforme vemos que la velocidad aumenta se nos hace más dificil apreciar los leds apagados, hasta que se hace tan rápido que vemos todos los leds prendidos, cuando en realidad no lo están.

Ver para creer, no es tan así.

Posted by & filed under ciencia.

Seguramente alguna vez te has preguntado como es que una canción en MP3 pese tan solo aproximadamente 4 megabytes mientras que los CD’s de música comercial poseen pocas canciones. Esto se puede explicar de manera sencilla, los CDs comerciales utilizan un formato de alta calidad sin comprimir; mientras que el MP3 es un formato comprimido y de calidad similar.

¿Que es el MP3?

La palabra o mejor dicho siglas MP3 proviene de “MPEG- 1 Audio Layer 3”, que es un formato de compresión digital implementado con un algoritmo de pérdida. De pérdida porque en que lo a información respecta, el MP3 posee menos información que el formato original sin codificar. A pesar de tener una relación de pérdida de 1:11, es decir que posee 11 veces menos información que el formato original, la calidad es comparable a la original. ¿Como es posible? Sencillo, el algoritmo utilizado aprovecha las deficiencias del oido humano.

  • Rango Auditivo: El oído humano es capaz de oir frecuencias dentro de los 16 y 20.000 Hz aproximadamente, por lo tanto cualquier frecuencia fuera de ese rango puede ser desechado.
  • Efecto Enmascaramiento: Cuando tenemos señales con frecuencias similares, sólo escuchamos la de mayor volumen; por lo que las de menor volumen pueden ser desechadas.
  • Redundancia de Estéreo: Hay ciertas frecuencias en las cuales nuestro oído no percibe direccionalidad, por lo tanto se puede eliminar un canal.

Por lo que tomando ventaja de estas deficiencias, podemos tener un archivo de sonido con menos señales sonoras que el archivo original sin comprometer la calidad (al menos en un grado importante) y siendo más portable que el original.

Posted by & filed under Uncategorized.

Se tiende a pensar que la censura es algo que sólo son cosas que ocurrieron alguna vez durante un gobierno militar o que sucede hoy en algún país lejano. Asimismo se tiende a pensar que Internet con sus millones de creadores y consumidores de contenido es imposible de censurar, pues no, desafortunadamente no es imposible. Días atras Argentina censuró por primera vez en la historia a una página web.

La censura a LeakyMails

Quizás recuerdes a WikiLeaks, aquella página que divulgaba cables diplomáticos y que fue noticia en todo el mundo, LeakyMails es la versión local, la cual divulga mails de funcionarios públicos, políticos y empresarios. Hace pocos días la Comisión Nacional de Comunicaciones (CNC) emitió este comunicado:

En cumplimiento de lo dispuesto por el Juzgado Nacional en lo Criminal y Correccional Federal Nº 9, Secretaría Nº 17, en la Causa Nº 9.177/11 caratulada “N.N. s/REVELACIÓN DE SECRETOS POLÍTICOS Y MILITARES”, en la cual se ordenó que esta COMISIÓN NACIONAL DE COMUNICACIONES, tenga a su cargo la comunicación de lo allí resuelto a todos los Licenciatarios de Telecomunicaciones que tienen Registro de SERVICIO DE VALOR AGREGADO y prestan SERVICIO DE ACCESO A INTERNET, se informa que con fecha 4 de Agosto de 2011, se ha dispuesto lo siguiente: “I. DECRETAR PREVENTIVAMENTE el bloqueo por parte de los proveedores locales de servicios de Internet en el acceso a los siguientes sitios web http://www.leakymails.com y http://leakymails.blogspot.com. Fdo. Sergio TORRES, Juez Federal.

¿Qué significa esto? Que se obligó a todos los proovedores de Internet bloquear el acceso a las páginas web mencionadas, por lo que si intentás acceder desde tu computadora de manera normal, no vas a poder.

Afortunadamente el sitio es todavía accesible desde proxies externos como HideMyAss o cachés como la caché de google .

Este es un caso curioso y esperemos excepcional.

Posted by & filed under personal.

NO, no voy a hablar de Harry Potter, voy a hablar algo que me pasó hace exactamente un mes.
Era miércoles y me encontraba durmiendo, alrededor de las 9 am suena el teléfono que había colocado al lado de mi cama, atiendo. Las primeras y únicas palabras fueron:
“Alejandro, falleció Roberto”.

Hacía tiempo que estaba, o creía estarlo, preparado para escuchar dichas palabras. Él ya tenía sus años bien vividos y una enfermedad muy fea que le tocó vivir en sus últimos dos años, por lo que lentamente todos ya nos habíamos preparado para lo inevitable. Lo único que quedaba era aprovechar los momentos con él y rezarle a Dios que se vaya en paz, sin sufrimiento. Plegaria que ÉL supo cumplir. Siendo este una suerte de homenaje y más por como era el, no hablaré de su muerte y de sus últimos días, sino de quien era el.

Roberto Amadeo Luchini

Seguramente hasta aquí no sepas de quién hablo. El era mi segundo padre. ¿Por qué segundo padre? Quizás no lo sepas, pero mi verdadero padre (el biológico, no el padre de todos nosotros) falleció cuándo yo tenía un año. Roberto, mi tío-abuelo (cuñado de mi abuela materna) fué quizás lo que más se pareció a una figura paterna en mi vida. Es por ello que ante los ojos de Dios lo elegí como padrino de confirmación (aunque por razones de lejanía estuvo presente mi hno).

Igualmente, con toda esta información sigas sin saber quien era, por lo que daré un ejemplo mas didáctico. ¿Conoces Los Simpson? Seguramente, todos lo conocemos. Bueno, el era “el abuelo”, aquella persona arrugada, con dentadura postiza, amante de los relatos de su vida, ambos desde que yo era chico eran personas ya mayores y no parecían cambiar mucho con el tiempo. Pero hay grandes diferencias respecto al personaje amarillo, el nunca se mostraba de mal ánimo, siempre fué portador de una sonrisa tan blanca que solo su canosa cabellera podía imitarle; nunca podías cansarte de escuchar sus historias, aunque las sabia de memoria, me encantaba ver la sonrisa y la emoción con la que relataba cada crónica vivida en su casi siglo de vida.

Asimismo siempre fué la persona mas generosa, simpática, alegre que conozco; me atrevo a decir si el cielo fuese un boliche, el está en la lista VIP. Supo ser un esposo ejemplar,¿cuántos son capaces de llevar 60 años de casados, con su amor de la infancia? Ha sabido ser querido por todos los que lo rodeaban.

Nunca me voy a olvidar cuando me llevaba a pescar a San Fernando, todos los juegos de cartas y mesa que he aprendido gracias a el (y mi tía), a que con él aprendí a manejar; pero lo más importante, que con él supe ser mejor persona, supe valorar la moral y supe valorar las personas que nos rodean.

Hoy a un mes, de que te mudaste a tu nuevo y permanente hogar, más que nada te agradezo haber estado en mi vida y haberme dado todo el cariño que supiste darme.

Roberto Amadeo Luchini

28/10/1927 – 06/07/2011