16 ago. 2013

Día Debian en Barquisimeto

Mañana sábado se realizará el evento Día Debian en El INCES de la carrera 19 con calle 23 desde las 9am en Barquisimeto.

La charla que llevaré se llama colaborar en Debian, la pueden descargar en slideshare.



11 ago. 2013

Nodos más influenyes en un grafo con networkx. Parte 4.

En la parte 3 de creación de grafos se muestra los tipos de grafos que existen, en la parte 2 se muestra como obtener los datos de un archivo que contiene las relaciones de los personajes de la novela Los miserables y en la parte 1 se muestra la creación de grafos.

En este artículo se toma el archivo de la parte 2 para obtener los nodos del grafo más influyentes, los que más se enlazan con otros personajes de la novela. 

Este artículo se basa en el artículo en Inglés Betweenness Centrality

Se usará la librería networkx para tomar la información del archivo lesmiserables.gml , para obtener los nodos más influyentes se usará la centralidad por intermediación. 

La centralidad por intermediación se centra en el número de visitas a través de los caminos más cortos.

La centralidad por intermediación se define como: 


Donde s(s,t) es el número total de rutas más cortas desde el nodo s al nodo t, y sv(s,t) es el número de los camions que pasan a través de v. 

A continuación se muestra el código python que permite calcular los nodos más influyentes por medio de la centralidad por intermediación:

#!/usr/bin/env python
import networkx as nx
from pylab import show, hist, figure
#Leer los datos del archivo lesmiserables.gml
G = nx.read_gml('lesmiserables.gml',relabel=True)
#Funcion que devuelve los nodos mas importantes
def most_important(G):
 """ retorna una copia de G con los nodos mas importantes(mas influencia, conexion entre nodos) """ 
    #Se calcula el ranking segun la centralidad
    ranking = nx.betweenness_centrality(G).items(
    #Se imprime los nodos mas importantes
    print ranking
    r = [x[1] for x in ranking]
    m = sum(r)/len(r) # centralidad
    t = m*3 # se mantiene los nodos  con promedio de aparicion de 3 veces
    Gt = G.copy()
    #Se remueve los nodos que no aparecen
    for k, v in ranking:
        if v < t:
            Gt.remove_node(k)
    #Se retorna los nodos mas importantes
    return Gt
#Se recibe los nodos mas importantes
Gt = most_important(G) # trimming
# se crea el layout
pos = nx.spring_layout(G)
#Se dibuja los nodos y sus bordes
nx.draw_networkx_nodes(G,pos,node_color='b',alpha=0.2,node_size=8)
nx.draw_networkx_edges(G,pos,alpha=0.1)
#Se dibuja los nodos mas importantes con un estilo diferente
nx.draw_networkx_nodes(Gt,pos,node_color='r',alpha=0.4,node_size=254)
# se define las etiquetas
nx.draw_networkx_labels(Gt,pos,font_size=12,font_color='b')
#Se muestra la grafica
show()

La gráfica donde se ve los personajes más influyentes en la novela Los miserables se muestra a continuación:

Esto es útil a la hora de manejar la influencia en redes sociales como twitter.

4 ago. 2013

Mejorar la privacidad en celulares y tabletas con Android

Las famosas filtraciones donde se sabe que revisan en tiempo real todo el tráfico en Internet, donde Microsoft, Apple, Facebook, skype, Google entre otros colaboran para permitir el acceso de datos/información de sus usuarios a la NSA.

¿Qué nos queda a los usuarios por hacer?

El sitio de noticias Rusia Today(10 trucos para burlar el espionaje de la NSA en Internet) da unos tips de como mejorar la privacidad, en este caso tocaré el tema sólo de dispositivos móviles (celulares y tabletas) con el Sistema Operativo Android.

A continuación los tips de que hacer:

  1. Cambiar Android por alguna versión de CyanogenMod.
  2. RedPhone: Provee cifrado de llamadas punto a punto.
  3. K-9 mail: Sustituto al cliente de correo por defecto de Android (gmail). Se puede integrar con apg para cifrar/descifrar los correos. 
  4. Orbot: Es un proxy tor que permite navegación anónima en Internet en los dispositivos con Sistema Operativo Android.
  5. APG: Permite administrar llaves pgp/gpg para cifrar o descifrar archivos y correos. Se puede integrar con k-9 mail.
  6. Gibberbot: Permite conectar mensajeria como jabber y google talk de forma segura con OTR, así que desde equipos de escritorio se puede usar pidgin con OTR para una comunicación cifrada de los mensajes punto a punto.
  7. Line: Sustituto a whatsapp que maneja el tráfico cifrado.
  8. TextSecure: Permite envíar SMS/MMS de forma cifrada y cifrar dichos SMS/MMS en el dispositivo en caso de robo del equipo.
  9. CSipSimple: Permite realizar llamadas de VoIP, es una alternativa a skype.
  10. PGP SMS Lite: Permite cifrado asimétrico por medio de llaves pgp/gpg apoyado en una infraestructura de clave pública.
  11. F-Droid: Alternativa libre a la tienda de aplicaciones de Android.
  12. Prey Anti Robos: Es una aplicación anti robos que permite rastrear y ubicar tu celular o tableta android o laptop. 


En un futuro a mediano plazo estaré migrando este blog a wordpress con un dominio propio y comunicación por medio de https en vez de http siguiendo el ejemplo de wikipedia y como lo menciona este  artículo en Internet.