Site Meter
Acceder:
Basado en Elgg

Rolando Espinoza La fuente :: Blog

Agosto 12, 2008

Normalmente no hablo de lo que hago como programador... pero bueno, alguna vez tenía que empezar.

En este caso, implemente el feature de saber de qué país procede un usuario, el cual tiene muchas aplicaciones. Desde el simple "Tu país es xxx" hasta mostrar contenido personalizado de acuerdo al país del usuario.

MaxMind provee la base de datos de rangos de ip y el país al cual proceden en un formato CSV listo para cargar a la base de datos. La versión free/gpl tiene un 99.3% de precisión, no da ni ciudad ni coordenadas geográficas, pero nos sirva para empezar.

MaxMind da las instrucciones para utilizar los datos, http://www.maxmind.com/app/csv sugiere convertir manualmente la dirección IP a entero, pero mysql ya posee esa función.

Primero necesitamos la tabla:

 CREATE TABLE `geoip` (
  `beginip` varchar(16) NOT NULL,
  `endip` varchar(16) NOT NULL,
  `beginnum` int(11) unsigned NOT NULL,
  `endnum` int(11) unsigned NOT NULL,
  `code` varchar(2) NOT NULL,
  `country` varchar(128) NOT NULL,
  PRIMARY KEY  (`beginnum`),
  UNIQUE KEY `end_num` (`endnum`),
  KEY `code` (`code`)
) ENGINE=MyISAM;

La tabla contiene el mismo orden que las columnas del csv.

Luego cargamos el csv dentro mysql:

mysql> LOAD DATA LOCAL INFILE "geoip.csv" INTO TABLE `geoip`

FIELDS TERMINATED BY ',' ENCLOSED BY '"'

LINES TERMINATED BY '\n';

 

Con eso cargamos los más de 100000 registros.

Luego la consulta que nos retorna el país:

mysql> select code from geoip where endnum >= INET_ATON('166.114.108.10') order by endnum asc limit 1;
+------+
| code |
+------+
| BO   |
+------+
1 row in set (0.00 sec)

mysql> select code from geoip where endnum >= INET_ATON('169.23.46.2') order by endnum asc limit 1;
+------+
| code |
+------+
| US   |
+------+
1 row in set (0.04 sec)

mysql> select code from geoip where endnum >= INET_ATON('200.86.1.1') order by endnum asc limit 1;
+------+
| code |
+------+
| CL   |
+------+
1 row in set (0.06 sec)

 

Bueno, nosotros construimos nuestra aplicación encima de zend (framework), y en nuestro modelo GeoIp_Manager tenemos este método:

    public function findCountryByIp($ip) {
        if ($this->_ipvalidator->isValid($ip)) {
           $select = $this->select()
                ->where('endnum >= INET_ATON(?)', $ip);
           $iprange = $this->fetchRow($select, 'endnum asc');
           return $iprange->getCountry();
        }  else {
           throw new GeoIp_Exception("Invalid ip ($ip)");
        }
        // not found
        return null;
    }

Con eso obtenemos el país de un determinado ip, luego tenemos unos par de helpers para mostrar una banderita y demás chucherías. Algo similar a esto:

  $country = $geoip->findCountryByIp($request->getUserIp());

  echo $this->isoCountryFlag($country);

Pero tenemos los datos de los países en otra tabla, así quitamos los campos varchar de la tabla geoip y hacemos nuestra consulta más eficiente.

De a poco ire publicando más sobre el know-how que voy adquiriendo y me da sentimiento de culpabilidad no compartirlo, por que al final... yo tambien lo saque de algún lado Laughing

Palabras clave: findCountryByIp, geoip, pais, zend

Enviado por Rolando Espinoza La fuente | 6 Comentario (s)

Pienso que “innovación es un la palabra de cuatro letras [Nota: por fuck] en la industria. Nunca debe ser usada en una compañía respetuosa. Se convirtió en una objeto de RRPP para vender nuevas versiones. [...] Edison dijo “1% de inspiración, 99% de transpiración”. Pudo haber sido cierto un siglo atrás. Actualmente es “0.01% inspiración, 99.99% transpiración”, y la inspiración es la parte fácil. Como gestor de proyectos nuca tuve problemas para encontrar gente con ideas locas. Tengo problemas para encontrar gente que puedan ejecutarlas [...] Así que no creo que se necesite más innovación. — Linus Torvalds

Aunque muchos me consideran un tipo a-la RMS, he de reconocer que tengo muchas más coincidencias con Torvalds. Ideas no falta, lo que falta es capacidad o tiempo.

Via:http://gallir.wordpress.com/2008/07/19/innovacion-como-fuck/

Añadiendo el top 10 frases de Torvals:

http://cofradia.org/modules.php?name=News&file=article&

Esta me deja opa: “La inteligencia es la habilidad de evitar hacer trabajo y conseguir que el trabajo se haga.”

Palabras clave: fuck, ideas, innovación

Enviado por Rolando Espinoza La fuente | 2 Comentario (s)

Los cuates bloggers organizadores del 2do encuentro Bloguivianos 2008, estan organizando un BarCamp, donde todos podrán presentar sus blogs o proyectos.

Un BarCamp es un evento informal, donde la gente se reune para aprender y compartir experiencias.

Algo parecido a lo que siempre hacemos desde hace años en la comunidad de software libre: reunirnos, contar experiencias, reir, unas chelas, etc.

Muy buena iniciativa, por que siempre que hay algún evento sobre temas actuales... es puro mercantilismo, puro titulismo, y cursitos por aquí por allá... nada que no puedan encontrar en internet.

Pero poder aprender de gente con experiencia real en un ambiente informal... es otro mundo e invaluable.

Existen muchas iniciativas, con más o menos fama,  por ejemplo: alminuto.com.bo, actualidad.com.bo, lo que fue mundoalreves.com, etc. O el sitio que vivio la burbuja dot-com virtualisimo.com, un sitio web2.0 boliviano antes de que exista el concepto web2.0.

Incluso mercado.com.bo podra entrar como proyecto web2.0, miren que esta con software libre.

Muchos de los que he conocido tienen proyectos web en el tintero... pero es así, lo que falta es tiempo, ideas sobran.

Palabras clave: a ver si nos vemos ahi, barcamp, bloggers, blogs, bolivia, elalto, web2.0

Enviado por Rolando Espinoza La fuente | 3 Comentario (s)

Agosto 07, 2008

Le vista InfoWorld, en sus premios 2008 Best of Open SourceSoftware Awards, a premiado a Elgg como la mejor plataforma para redes sociales. Otro ganadores WordPress, Firefox y MySQL en sus respectivas categorías.

While Elgg lets corporations, governments, and schools quickly establish blogs, the system's collaborative features encourage building communities of users with shared interests. Other Elgg fine points include podcast support, file repositories, user profiles, an RSS aggregator, and branding features. Significantly, the software integrates with other IT systems and provides OpenID authentication.

La version 1.0 tiene como fecha de lanzamiento este 18 de agosto, que es una completa reescritura del sistema, mucho más flexible, poderoso y cool. Cool

Es una pasada... tambien estan impulsando OpenDD, elaborado por ellos mismos, como estándar para intercambio de información orientado a redes sociales.

Despues de 2 años de experiencia como elgg, y como developer contributor de la versión 0.9.x,  en las anteriores versiones, Elgg hace muy bien su trabajo, pero deja un poco que desear en cuanto a la parte técnica (código, arquitectura, etc). Pero esta versión 1.0 se viene con todo, espero poder migrar slob2.0 a elgg 1.0, y lanzar slob2.1 Cool

Un Slob2.1 más social, más amigable y participativo.

Palabras clave: awards, elgg, elgg1.0, open source, premios open source

Enviado por Rolando Espinoza La fuente | 2 Comentario (s)

Julio 27, 2008

http://ajayu.memi.umss.edu.bo/rho/weblog/cuantos-usuarios-bolivia-est

Aproximado:

  • Colombia - 2,695,720
  • Chile - 2,449,880
  • Venezuela - 1,071,760
  • Argentina - 508,600
  • Peru - 167,940
  • Brasil - 131,580
  • Bolivia - 125,660

  • Ecuador - 94,220
  • Uruguay - 52,760
  • Paraguay - 8,740

(Fuente: facebook)

Interesante. Sin duda, orkut es más popular en brasil.

Argentina no tiene tantos como esperaba, pero sin duda los argentinos son muy activos en internet, existen infinidad de comunidades, foros, etc. (ver Taringa xD.. o psicofxp)



Bolivia... nuestra querida bolivia, a pesar de tener menor población, y más aún, menor penetración de internet, no sale mal parada.



PD: me acabo de enterar que el lenguaje más hablado -por cantidad de personas- en sudamérica es... el portugués. (Fuente: Wikipedia)


Actualización


Para el 2006, la cantidad de usuarios de internet bolivianos fue 580,000. ¿ahora cuantos serán? ¿1 millón?



Si fuesen un millón, entonces el 10% de los bolivianos internautas estarían en facebook... lo cuál me parece una cifra grande, considerando que para el 2006 existían más de 8 millones de argentinos con internet.



A continuación la tabla completa, donde bolivia sólo supera a paraguay en cuanto a cantidad de usuarios de internet.


















































































País Población Usuarios Año del dato % población
Chile 16,284,741 4,156,000 2006 25.52%
Brasil 190,010,647 42,600,000 2006 22.42%
Uruguay 3,460,607 756,000 2006 21.85%
Perú 28,674,757 6,100,000 2006 21.27%
Argentina 40,301,927 8,184,000 2006 20.31%
Venezuela 26,023,528 4,140,000 2006 15.91%
Colombia 44,379,598 6,705,000 2006 15.11%
Ecuador 13,755,680 1,549,000 2006 11.26%
Bolivia 9,119,152 580,000 2006 6.36%
Paraguay 6,669,086 260,000 2006 3.90%


(Fuente: CIA - The World Factbook)


Segunda actualización



Replanteando la pregunta.


¿cuál es el porcentaje de usuarios de facebook respecto usuarios de internet por país?


  • Chile 58.95%

  • Colombia 40.20%

  • Venezuela 25.88%


  • Bolivia 21.66%


  • Uruguay 6.98%

  • Argentina 6.22%

  • Ecuador 6.08%

  • Paraguay 3.36%

  • Peru 2.75%

  • Brasil 0.31%


Existe un error de apreciación, los datos de facebook son actuales, y los de usuarios de internet del 2006, lo cuál puede llevar a conclusiones incorrectas. Seguro me harían repetir la clase de estadística Cry ... pero sirven para el sensacionalismo. Cool



Si la tendencia sigue igual, entonces, ¿se podría decir que facebook es dominante en bolivia?



Y quedan más preguntas en el tintero.



¿cuántos usuarios bolivianos de facebook lo visitan regularmente?



¿otras redes -como hi5- tendrán más usuarios bolivianos?



(tengo un par más... pero me las reservo para mi Tongue out)

Palabras clave: facebook, usuarios

Enviado por Rolando Espinoza La fuente | 3 Comentario (s)

Julio 15, 2008

¿aficionado al poker?

Bueno, para dicha de muchos, existe el software libre PokerTH, "el motor de Texas Hodelm en código abierto". Pero lo mejor, es poder jugar en línea y ganar unos dólares... aunque virtuales xD

En los repositorios de ubuntu, hardy heron, existe la versión 6.0, pero cambiaron el protocolo de openssl a gnutls. Entonces, para jugar por internet contra  pavos jugardores de otros países, tienen que bajarse la 6.2 de la web del proyecto.

Ah, tambien es posible jugar en una LAN... o en los festivales de instalación xD

Palabras clave: internet, pavos internacionales, poker

Enviado por Rolando Espinoza La fuente | 2 Comentario (s)

Julio 07, 2008

A unos días de cumplir 2 meses de vida, recuero que un cuate en la instalación de BoliviaOS me dijo que le gusta más la web de la comunidad supay de oruro... que era "más web2.0", que tenía más curvitas y mejores colores... (sigh) y me pregunto, "supay tiene más actividad ¿cuántas visitas tiene softwarelibre.org.bo?"

Ese momento sólo atine a decir "no sé", por que tenía la cabeza en otro lado. Pero ahora quiero compartir las estadísticas desde el 14 de mayo del 2008. 

  • Google Analytics
  • SiteMeter

Palabras clave: estadísticas, softwarelibre.org.bo, visitas

Enviado por Rolando Espinoza La fuente | 2 Comentario (s)

Julio 06, 2008

Despues de varios meses sin wifi, de que se quemara mi router d-link sin garantía.. Cry decidi adquirir uno nuevo... pero no d-link.

Así que me fui para "la cancha", si no son de cochabamba, en la calle esteban arze es donde se encuentran las tiendas de computadoras donde todos van, y apurado adquiri un rotuer NetGear WGR614v8

Al llegar a casa y desempaquetar el producto, quede atónito al encontrar entre sus papelitos ¡la licencia GPL y LGPL impresa!

Resulta que NetGear utiliza linux para sus dispositivos, pero claro, no tenía ssh... así que recorde sobre dd-wrt, un pequeño linux para routers wifi.

Ni corto ni perezoso me puse a bajarlo y a meterle al netgear... no fue tan dificil como la vez que le meti linux a mi ipod hace años. En serio, bajar, "actualizar el firmware" utilizando dd-wrt, ¡y listo!

dd-wrt incluye cosas bonitas como qos, pptd, cosas para vpn, modos wds/bridge/etc, chillispot, etc.

rolando@zen:~$ ssh 192.168.1.1 -lroot
DD-WRT v24 mini (c) 2008 NewMedia-NET GmbH
Release: 03/09/08 (SVN revision: 9281)
root@192.168.1.1's password:
==========================================================
 
 ____  ___    __        ______ _____         ____  _  _
 | _ \| _ \   \ \      / /  _ \_   _| __   _|___ \| || |
 || | || ||____\ \ /\ / /| |_) || |   \ \ / / __) | || |_
 ||_| ||_||_____\ V  V / |  _ < | |    \ V / / __/|__   _|
 |___/|___/      \_/\_/  |_| \_\|_|     \_/ |_____|  |_|
 
                      DD-WRT v24
                   http://www.dd-wrt.com
 
==========================================================


BusyBox v1.9.0 (2008-03-09 19:09:33 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.
root@hellkeeper:~# uname -a
Linux hellkeeper 2.4.35 #298 Sun Mar 9 19:11:15 CET 2008 mips unknown

Palabras clave: linux, netgear, router, wifi

Enviado por Rolando Espinoza La fuente | 5 Comentario (s)

Junio 09, 2008

Como lector asiduo de barrapunto, uno se acostumbra a conocer mucho de la cultura y situación de España por los comentarios de los barrapunteros.

En este caso salio una noticia sobre la falta de ingenieros en Japón, un país donde se tiene la imágen de progreso y nivel muy excelente... pero quienes tuvieron la oportunidad de conocer Japón más allá del hen.. manga, anime, gadgets, etc, revelan que -actualemente- todas las universidades estan privatizadas, el nivel de formación es muy bajo, y una crisis de los próximos 10 años cuando tendrán que jubilarse la mayoría de los actuales ingenieros.

En mi caso, yo deje una universidad privada al darme cuenta el nivel en comparación con la pública, para ejemplificar, en fisica 200, cuando en la privada se "jugaba" con cálculo de fuerzas entre carguitas puntuales en examen final, en la pública se entraba directo a trabajar con superficies, cómo condensadores en forma de cilindros concéntricos.

Pero dirán, ¿y eso que me importa?

A mi me importa mucho, por que esos ingenieros serán quienes contruyan nuestros caminos, nuestros edificios, nuestras redes de comunicaciones, esos médicos serán quienes tengan en sus manos la salud de nosotros y nuestra familia.

Ultimamente me llego el rumor que uno de los docentes -área informática- más respetados, de mejor nivel y visión quizás deje la docencia... por que la universidad tomo el camino más político. Así las universidades van perdiendo sus mejores recursos, o peor aún, corrompiéndolos y convirtiendolos en seudo-dioses de las aulas, inamovibles en su status-quo demostrando que no es necesario ser innovador y competitivo para tener un buen sueldo, sino basta buen enchufe.

La política dentro la universidad es lo peor que pueda existir. Un tiempo, yo tenía la esperanza de ser investigador dentro la universidad en temas de clusters, simulación, etc... pero al darme cuenta de que primero se necesita un "padrino" y luego esperar que la autoridad de turno no sea "del otro bando"... son webadas. Prefiero sufrir en el mundo real a tener que estar amarrado a un entorno corrupto, mediocre e hipócrita.

Esto sumado al fenómeno de las universidades privadas... que más venden titulación rápida y "status" que nivel académico, es algo preocupante.

El software libre es un excelente medio para enseñar mejoramiento e innovación continua, pero se quedan en ser consumidores y no participes activos de la evolución de la tecnología.

¿qué opinan sobre el actual nivel universitario? ¿lo ven mejor o decayendo inevitablemente?

Palabras clave: =(, sociedad, universidad

Enviado por Rolando Espinoza La fuente | 9 Comentario (s)

Mayo 29, 2008

Objetivo

Crear un metapaquete para instalar PCSX y todos sus plugins. Los paquetes que queremos instalar son:

 pcsx, psemu-drive-cdrmooby, psemu-sound-oss, psemu-sound-alsa, psemu-video-x11, psemu-input-omnijoy

Paso 1

Crear el archivo de control:

    $ mkdir -p meta/DEBIAN/

    $ editor meta/DEBIAN/control

contenido meta/DEBIAN/control

Package: pcsx-meta
Section: games
Priority: extra
Architecture: all
Depends: pcsx, psemu-drive-cdrmooby, psemu-sound-oss, psemu-sound-alsa, psemu-video-x11, psemu-input-omnijoy
Version: 1.0
Maintainer: Rolando Espinoza La fuente <rolando@ubuntubolivia.org>
Description: PCSX metapackage
 This is the pcsx metapackage
 .  

Paso 2

Crear el metapaquete, no olviden que el directorio es meta:

    $ dpkg --build meta 

Lo anterior nos crea un meta.deb, para tenerlo con nombre estándar: 

    $ dpkg-name -o meta.deb

Eso nos creara el paquete:  pcsx-meta_1.0_all.deb

¡Eso es todo! 

PD: no olvidar instalar dpkg-dev 

Palabras clave: deb, debian, howto, metapaquete, ubuntu

Enviado por Rolando Espinoza La fuente | 0 Comentario (s)

<< Atrás