Posted by & filed under Uncategorized.

Como mostré en el post anterior  es posible utilizar el servicio de WhatsApp desde Linux mediante un pequeño programa en Python. En dicho post mostramos como registrar una línea para obtener el password pudiendo así loguearnos y utilizar WhatsApp. Lo interesante ahora es si es posible conseguir el password de alguien que ya se encuentre registrado y suplantar su identidad. Bueno la respuesta es SI y es más facil (o menos complicado) de lo que parece. El método que describiré fué probado para Android y iPhone, con BlackBerry y Nokia (Symbian) no tuvo éxito.

Password

Queda ahora por saber cómo conseguir la password de un usuario que ya se encuentre registrado y utilizando WhatsApp, pues resulta que WhatsApp utiliza un MD5 hash del IMEI/MAC (dependiendo del OS) para generar dicha password. Es decir con tan sólo saber el IMEI/MAC del dispositivo y su número de teléfono es posible suplantar su identidad. Veamos por separado los casos de Android e Iphone con ejemplos. Read more »

Posted by & filed under free software, linux.

A partir de que hace unas semanas utilizé una librería de Python para utilizar Twitter desde Linux (quizá algún dia haga una entrada al respecto) también me había surgido la inquietud de utilizar WhatsApp desde Linux. Hoy un amigo de pasó este artículo e intentando replicarlo logré utilizar algunas funciones básicas.

Todo se logra por medio de la yowsup (ver requerimientos) de Tarek Galal que en unos sencillos pasos logramos tener un cliente funcionando.
Para esto utilizé un chip a tarjeta viejo que tenía por ahí y un teléfono igual de viejito, lo primero a hacer es registrar la línea.

Registro

Primero nos crearemos un archivo de texto de configuración donde alojaremos nuestro ‘perfil’ en el archivo es importante detallar 3 campos:

#numero de telefono completo
phone=
#IMEI
id=
password=

Los primeros dos elementos los obtenemos directamente del celular, el campo password luego lo completaremos. Ahora ejecutamos

./yowsup-cli -c [config file] --requestcode sms

Es importante destacar que esto se hace SOLO UNA VEZ. Una vez hecho esto recibiremos en el celular un sms así:

WhatsApp code xxx-xxx
Entonces ahora ejecutamos Read more »

Posted by & filed under ciencia, computación, logica, matematica, programacion.

Últimamente en 9gag están de moda estos chistes de “Go home…you are drunk” (andate a casa, estás borracho). Hace unos días navegando por esa página me encontré con la siguiente imagen:

5829988_700b_v1

Y no pude evitar notar que en realidad está bien esa afirmación, simplemente que en el contexto cotidiano solemos darle otro significado a la pregunta.
Cuando preguntamos (y acá voy a hacer una traducción del texto en inglés): ¿Es una tableta o una laptop? en el ámbito cotidiano seguramente lo que queremos preguntar es cuál de esas definiciones define el objeto en cuestión, quizá la manera más explícita de preguntar esto sería ¿Es una tableta?¿O es una laptop?

Sin embargo en el caso que acá se enuncia, la pregunta se interpreta como si alguna (o ambas) definiciones definen el objeto. Pensemos en un ejemplo, el universo de los números naturales se puede dividir en dos grupos, los pares e impares. Entonces ante la pregunta “¿es 2 un número par o impar?” dado que aunque no sea impar, sí lo es par la respuesta será afirmativa. En este caso particular dado cualquier número la respuesta será afirmativa dado que la unión de los subconjuntos par e impar nos da todo el universo en el que estamos trabajando.

Se dice que a un matemático una vez le preguntaron sobre su hijo si era varón o nena y el respondió “si”. No se trata de que dicho hijo poseía condiciones sexuales especiales, sino que efectivamente al menos de una de esas caracterizaciones va a definir el sexo del hijo.

Posted by & filed under computación, free software, linux.

Hace dos años que tengo esta netbook, vino con Windows 7 Starter incorporado que nunca realmente usé ya que uso Linux más que nada, y ahí es donde empezaron mis problemas; encontrar una distribución acorde a mi computadora.

Dado que la compre a mediados de 2010 y recientemente había instalado Ubuntu 10.04 en mi computadora de escritorio, fué la distribución lógica a probar…no sin sus problemas.

  • La resolución nativa no fué reconocida por defecto, hizo falta tocar la configuración de X.
  • Las teclas Fn no funcionaron por defecto
En Centro de Software de Ubuntu hay una aplicación (eee-applet) con algunas funcionalidades interesantes, como control de frecuencia del micro, bluetooth, etc.

Ahora  estaba curioso respecto al comportamiento de otras distribuciones por lo que decidí hacer algunas pruebas.

Debian

No reconoció la resolución nativa y no pude lograr hacerlo andar a pesar de diversos tutoriales de internet sobre modelos similares a mi eeepc, también tuve problemas con el wifi.
No quiero juzgar negativamente la distribución dado que probablemente sea culpa de mi ignorancia siendo que soy algo aprendiz en Linux todavía, por lo que es lógico que tenga problemas con distribuciones no tan amigables.

Antes de probar otra distribución en mi netbook (habiendo virtualizado CentOs, Mint, Ubuntu 12.04) decidí googlear “eeepc” respecto a otras distribuciones, a mi sorpresa encontré:

http://fedoraproject.org/wiki/Eee_PC

No menciona la 1201HA específicamente pero si modelos muy cercanos así que me decidí a probarlo

Fedora

Apenas se inició el instalador en la resolución nativa me emocioné, la resolución nativa funcionando sin ningún retoque necesario, el touch pad funcionando con el scroll de dos dedos y la mayoría de las teclas Fn funcionando. Es ahí donde yace el único problema que encontré hasta ahora, las teclas de control de brillo no funciona (ni siquiera el app de gnome). Hice una solución “atada con alambres” mediante un atajo del teclado y un script que modifica los valores del archivo ../brightness y así cambiar el brillo del display.

No es la mejor solución pero funciona. Otra vez cabe destacar que me sigo considerando un aprendiz en Linux por lo que no puedo culpar enteramente a una distribución o al hardware. Si tengo tiempo (y ganas) probaré otras distribuciones en la netbook (no virtualizadas) para ver su comportamiento y además intentar solucionar (elegantemente) los problemas que me encuentre.

Resumiendo, parece que no hay camino fácil con este modelo específico, quizá por el GMA500 (ya leí más de un insulto dedicado a él) o tal vez mi inexperiencia/ignorancia. La próxima vez googlearé el comportamiento del modelo con Linux antes de comprarlo.

Posted by & filed under computación, linux.

Si en tu vida tuviste algo de interacción con computadoras seguramente al menos una vez escuchaste la palabra “formateo” que sin mucho esfuerzo semántico deducimos que se trata de darle formato a algo. Usualmente se usa el término “formateo” cuando se le asigna un sistema de archivos a una partición, este es un formateo de alto nivel.

Muchas veces un disco sufre daños creando problemas de lectura/escritura en el mismo, transferencia lenta de datos o incluso errores a nivel sistema de archivos; muchas veces no solucionables con un “formateo” de alto nivel. Para ello existe un método llamado “Zero Filling” que consiste en llenar el disco con 0’s, si tenemos en cuenta que lo que se guarda en el disco es información binaria (0’s y 1’s) podriamos decir que con esto estariamos limpiando el disco. De este modo podemos llegar a salvar un disco que creiamos por perdido.

En Linux existe un comando llamado dd que nos permite con sólo una línea ejectuar dicho proceso

dd if=/dev/zero of=/dev/sda

siendo que dicho comando no posee verbosidad es recomendable hacer un

kill -USR1 [pid]

para que nos muestre el estado actual, si el mismo no devuelve respuesta no es recomendable enviar otra señal ya que puede ‘crashear’ el dd en proceso.

Para los no Linux, cualquiera Hiren’s viene con herramientas que pueden hacer la misma labor con una GUI un poco más linda.

Posted by & filed under linux.

Siempre me he quejado de la manía de mi madre de congelar absolutamente todo dada la engorrosa labor posterior de descongelar algo para poder ingerirlo, pero me he dado cuenta que congelar puede ser muy provechoso dependiendo las circunstancias. Si alguna vez hemos usado una computadora de dominio público (cybercafé, laboratorio de computación, etc) posiblemente sepamos que cualquier archivo o modificación que realicemos se borrará al reiniciar la pc. ¿Por que? Porque la misma se encuentra congelada en un estado. Por razones de practicidad y seguridad.

Nunca le dí demasiada importancia al tema, pero en estos momentos me encuentro haciendo un curso de capacitación para realizar el LPIC-1 donde las computadoras están congeladas y me he divertido bastante haciendo cosas del estilo

sudo rm -rf *

a sabiendas que al reiniciar volvería todo a su estado original y allí comprendí el poder de congelar.

La clave creo está en analizar los requerimientos del usuario de la computadora, claramente si solemos hacer cambios frecuentes quizá resulte algo engorroso ‘congelar y descongelar’ la computadora; pero si nuestro uso se limita a una cantidad contante de programas puede ser una herramienta útil para evitar desconfiguraciones, viruses, etc.

Luego de experimentar en las VMs de Ubuntu, Debian y CentOs veré que experiencias me han dado.

Posted by & filed under linux.

21/12/2013

Al final todo fué verdad, aunque muchos pensamos escépticos que todo era alguna idea absurda de algún líder de una secta para atraer fieles y así recaudar más dinero, ojalá eso hubiese sido. Hace exactamente un año la vida en el planeta dejó de ser la misma, predominan la anarquía y el salvajismo, parece que la humanidad ha retrocedido unos milenios.  Al ver tantas películas sobre zombies siempre pensaba ‘que ridículo, eso es imposible que suceda’, pero las bombas biológicas con sus virus diseñados en laboratorio los han hecho realidad.

Buscando alimentos y/o armamento en una base militar encontré unos laboratorios, aparentemente epicentro del desarrollo de las armas biológicas. Allí me encontré con un generador funcionando y una computadora prendida. En la pantalla polvoriente pude apreciar un prompt de lo que parecía ser un sistema Linux. Hurgando en sus archivos me llamó la atención un fichero con información sobre los efectos de las armas biológicas, mis ojos se iluminaron al encontrar un archivo llamado ‘antídoto.tar’, lástima que no sepa como abrirlo.

Google te extraño, pudiste habernos salvado.

Decidí comenzar este post con algo fantacioso, que aunque no sirva para entretener el lector al menos en este humilde redactor si lo hace; lo que quise mostrar con la pequeña narración es lo dependientes que somos hoy en día (y me incluyo) a Google y los numerosos how-to’s / foros que hay sobre cualquier temática que necesitemos ayuda. Solemos mal-acostumbrarnos a leer una página y que nos lleven de la manito paso por paso o peor aún caer en el copy-paste o en ejecutar algun script que haga todo aquello por nosotros.

Allá por el final del 2010 cuando me encontraba cursando Algoritmos y Programación II por obligación de la cursada (grossisima por cierto) debí utilizar ciertas herramientas con Linux, en aquél entonces ya era un pseudo-usuario del mismo pero me faltaba (y falta) cancha. Dichas herramientas (gcc, valgrind, entre otras) para su ejecución requerían diversos parámetros que aveces aprendía de memoria y/o Googleaba para averiguar su resultado; hasta que un día me iluminaron y mostraron el camino.

man

‘man’ es un simple comando que al ejecutar en la terminal acompañado como argumento otro comando, nos muestra la documentación disponible sobre el mismo. Por ejemplo si ejecutamos ‘man man’ nos aparecerá  la siguiente pantalla (para salir presionar ‘q’)

Allí podemos ver una breve explicación de los parámetros, la descripción general y si seguimos explorando veremos más en detalle cada parámetro que admite. Por lo general se encuentran en el idioma que tengamos instalado nuestra distribución y todos los parámetros que nos hagan falta; puede no ser el caso, pero sin lugar a duda es mejor que depender exclusivamente de lo que encontremos en Internet.

Posted by & filed under internet, linux, programacion.

Hace rato que vengo queriendo escribir un post sobre esto, espero que hoy me ilumine y las palabras fluyan correctamente.

¿Que es un Script?

Quizá alguna vez hallamos escuchado script como ‘guión’ o ‘libreto’ en el ámbito de la actuación y me parece una analogía adecuada. Un script en computación lo podemos interpretar como un guión que la computadora lee y efectúa las operaciones detalladas.

Generalmente dichas operaciones son sencillas y pueden ejecutarse manualmente mediante una consola de comando, la ventaja de realizar un script radica en realizar la misma operación de manera automatizada y además podemos aprovecharnos de ciertas estructuras de datos.

Vamos a los bifes

Dada ya una introducción bastante genérica, voy a intentar ejemplificar un poco para quitarle cierto aire de abstracción. Quizá recuerdes que en el post sobre mi ‘hack’ a cuentas de facebook (link) utilizé un script sencillo pero para no ser repetitivo voy a poner otro script, uno que mientras mirás este artículo se está ejecutando en el server.

Dado que no pago un host y que mi ISP me provee de IP dinámica; para montar mi propio server si o si requiero de los servicios de un DNS . El problema radica de cuando mi ip cambia, tener que actualizar el dominio.

Eso se puede hacer con un simple wget  a mi DNS, que en criollo es como decirle ‘ehh amigo, cambié de ip, fijate que ip tengo ahora y actualiza mi dominio‘, pero dado a querer realizar esta operación de manera automática decidí arremangarme un poco y llegué a esto

#!/bin/bash
LOC=/home/server/dynamic
OLDIP=$(ls $LOC/*.IPADDR)
NEWIP=$(wget http://www.whatismyip.org -O - -q)
if [ "$OLDIP" != "$LOC/$NEWIP.IPADDR" ]; then
    echo La ip ha cambiado, tu ip es $NEWIP
    mv $OLDIP "$LOC/$NEWIP.IPADDR"
    $LOC/updater
else
    echo La ip no ha cambiado, tu ip es $NEWIP
fi

Como vemos en una simples líneas, logramos automatizar una tarea que bien pudimos hacer manual.
De esta manera, logramos funcionalidad personalizada y a gusto del consumidor sin necesidad de recurrir a programas externos.

Posted by & filed under internet.

Actualizado: 07/12/12

Si poseemos Sharedaddy seguramente querramos que quien comparta nuestra página mediante Twitter, también haga mención de nuestra cuenta mediante un ‘via @nuestraCuenta’.

Por el momento Sharedaddy no posee soporte nativo, pero editando un simple archivo php podemos hacerlo funcionar.

Para ello buscamos el archivo ‘sharing-sources.php’; si tenemos activado Sharedaddy mediante Jetpack vamos a wp-content/plugins/jetpack/modules/sharedaddy, caso contrario a wp-content/plugins/sharedaddy.

En la función process_request buscamos la línea que comienza:


$twitter_url = add_query_arg( urlencode_deep( array_filter( compact( 'via', 'related', 'text', 'url' ) ) ),
 sprintf( '%s://twitter.com/intent/tweet', $this->http() )

Y modificamos tal que nos quede

$twitter_url = add_query_arg(
 urlencode_deep( array_filter( compact( 'via', 'related', 'text', 'url' ) ) ),
 sprintf( '%s://twitter.com/intent/tweet?via=USERNAME', $this->http() )

Tan simple y sencillo como eso.

ATENCIÓN

Posted by & filed under internet.

Desde la invasión de las computadoras en la vida cotidiana del hombre, hemos incorporado a nuestro idioma la palabra ‘mega’.

‘Mega’ al igual que kilo, mili, deci, etc; representa un multiplicador, en este caso mega equivale a 10⁶ es decir un millón.

Hoy en día en cualquier publicidad de una proveedora de Internet nos ofrece “X megas” y es ahí donde considero yo se esconde una sutil mentira.

El usuario promedio asocia megas con el “peso” de los archivos, es decir lo que ocupa en almacenamiento; en este caso uno se esta refiriendo a mega Bytes, que es el estándar común en almacenamiento.

Sin embargo en lo que suele ser redes/telecomunicaciones se utiliza suele optar por otro estándar, los bits. Es aquí donde subyace la sutil diferencia entre megas, una razón de 8:1 .

Si tu servicio de Internet es de 3 Megas, al descargar un archivo no lo harás a una tasa de descarga de 3 megaBytes (MB) sino que a 3 megaBits (Mb).

Basta con probar descargar un archivo de Internet, la tasa de descarga que te indique el navegador, multiplicala por 0,008  y aproximadamente vas a tener los “megas” de tu ISP. Por ejemplo si tienes un servicio de 3 “Megas” descargarás a aproximadamente 400 KBps (kiloBytes por segundo).

¿Inocencia, Ingenuidad o simple perversidad de marketing?
“Lo dejo a tu criterio”- Karina Olga Jelinek