sábado, 19 de diciembre de 2009

Installing glibc2.4, but faill :(

Hace unas semanas me vi en la necesidad de actualizar mi viejo flashplayer plugin de la version 8 a la 10, ya que no podia ver las video conferencias de mis amigos en servicios como ustream, videos en facebook, etc.

En principio ese era el problema, siguiendo el procedimiento coloque el libflashplayer.so en el directorio de plugins del browser, al tratar de cargar los videos podemos ver un mensaje de error, donde los requerimientos de libflashplayer son glibc2.4. En mi lap con Debian etch la es glibc2.3.6. Tambien estamos corriendo Linux 2.6.23.1.

De el problema de actualizar flashplayer, tendríamos que pasar entonces a actualizar glibc, que es una libreria base del sistema. A pesar de contar con glibc mas nuevos en la web del proyecto, se descargo la 2.4. No me pregunten por que..., solo lo hice así. A continuación escribo el procedimiento que seguí para conseguir mas problemas.

Descargar el archivo de glibc2.4 y desempaquetarlo dentro de
/usr/gnu/glibc-2.4

La recomendación de los desarrolladores es crear un directorio donde construiremos el paquete, de esta manera solo borramos el directorio de construcción y listo, podemos repetir los pasos.
/usr/gnu/glibc-build

Entrar en este segundo directorio y configurarlo, para eso corriendo el script, en esta parte cambiamos el prefix, ya que con el que tiene por defecto se presentaron problemas. Así que ejecutamos la siguiente linea:
../glibc-2.4/configure --prefix=/usr

Para la compilacion se requiere el awk de gnu, gawk, y sobre todo las herramientas de compilación como make y gcc. Para eso ejecutar:
../glibc-2.4/make && ../glibc-2.4/make check

Hasta aquí todo en orden la compilación, solo falta la instalación de esta nueva biblioteca, esa instalación es el "paso de la muerte", y debería hacerse en supervision de un adulto :)

Siguiendo las recomendaciones debemos iniciar en modo monouser, para evitar el rompimiento de algunas bibliotecas (LOL), y una vez ahí instalar con la siguiente linea:
env LANGUAGE=C LC_ALL=C make install

En ese momento el sistema se pone a instalar, pero en mi caso, después de un rato de felicidad viendo que todo iva en orden, se detiene en el siguiente mensaje

GLIBC_PRIVATE not defined
Kernel Panic - not syncing: Attempted to kill init!

WTF! seguramente no son buenas noticias por que después de eso, ningún comando funciona, reiniciar tampoco sirve de mucho, por que el Kernel panic persiste. Al momento de escribir este post lo hago desde mi debian, logre arreglarlo siguiendo el siguiente [ tip ], al parecer es un bug de glib. Por los problemas que tengo en mi sistema, flashplayer, espacio insuficiente, problemas de montaje con ntfs. Por estas razones y por que viene un ano nuevo, comenzaremos con un distro nuevo... Lenny :)

martes, 17 de noviembre de 2009

Enviando mensajes SMS desde la consola

Hace algunos días he tenido la necesidad de enviar mensajes SMS desde mi compu, esto para que sea ella misma la que de manera automatizada la que me mande el mensaje cuando yo ande en la calle paseando, trabajando o en algún antro pasando la noche, todo esto cuando mi computadora se entere de algún suceso emergente y anómalo que ha ocurrido, en mi caso eran notificaciones de Nagios.

Para esto ocupamos 3 cosas, eeemmmm mejor 4,
1. Un celular preferentemente listado [ aquí ]
2. Una compu, con soporte para USB, IRA, o algún medio de comunicación con el cel
3. Software Gnokii
4. Actitud positiva y ganas de aprender. :)

Gnokii es un sofware que nos sirve para tener una muy amplia comunicación con el celular: llamadas, agenda de contactos, mensajes, etc. Lo descargamos e instalamos, cuanta con interfaces de linea de comando y gráfico.

En mi caso, tengo un celular modelo Sony Ericsson K790 (el cual me patrocino mi papá), y lo conecte por medio del USB, y me dio como resultado los siguientes archivos:
/dev/ACM0
/dev/ACM1

Como podemos ver en este caso era necesario tener soporte para ACM en el kernel (mm ¿ya dije que instale en Debian etch con 2.6.23.1?? ). Leyendo un poco la documentación, me he creado un archivo en archivo de configuración local en mi home:
$HOME/.gnokiirc

El cual básicamente en sus lineas mas importantes me quedo así:
[ global ]
port=/dev/ACM0
mode=AT
connection=serial

Finalmente el envio de mensajes podemos hacerlo con una linea como la que sigue:
$echo Hola como estan, envio desde gnokii | gnokii --sendsms xxxxxxxxxx

donde:
xxxxxxxxxx, es el numero de teléfono

Una observación importante es notar que echo no tiene la doble comilla, me dio problemas.

jueves, 12 de noviembre de 2009

Installing statusmap supply to Nagios

Commonly i don't write ideas than know as important less, but in this moment i wanna do because tomorrow may be i forget it (i don't know what append with my mind) and the way from resolve it. When i installed Nagios sources, guess that there was a mistake in this process, Nagios is run correctly but i don have cgi statusmap supply that built informative maps.

The statusmap cgi need gd library to built maps and graphics flows, this library is a little bit leave. Gd can to built jpeg, gif, png, xpm format. But i was not lucky because my system don't had jpeg supply, OMG!. The next step? install it please xD

i used the default configuration from jpeg lib, and after do 'make install', it installed over /usr/local/include, copying files as jpeglib.h, jconfig.h, jmorecfg.h and jerror.h. Once ready the library and provided her supply, we're ready to install. After from excute the configure script, a good report is the next:

Support for PNG library: yes
Support for JPEG library: yes
Support for Freetype 2.x library: yes
Support for Fontconfig library: yes
Support for Xpm library: no
Support for pthreads: yes

Now, i must continue with a tip that a lot of developers put in his documentacion "enjoy!!", only the xpm supply that i not use, was not installed :) then gd was installed and also jpeg supply. In fact the files was copying to /usr/local/include directory gd.h, gd_io.h and somebody else.

Then with Nagios, we must configure it, compile it and after the statusmap.cgi is ready :)

jueves, 5 de noviembre de 2009

La "nueva era de crecimiento y de desarrollo" en México

Me acaba de llegar al correo, en resumen de como quedan nuestras finanzas (trabajadores de México) antes y después del paquete económico.

********
Si crees que el IVA solo subió un punto y eso no es nada, déjame decirte lo siguiente:
Si ganas 12,000 al mes esto es lo que te va a afectar.

















HOYEn 2010
Tu Sueldo
$12,000 pesos
$12,000 pesos
ISR
-28%
-30%
Eso Seria
$3,360 pesos de impuestos$3,600 pesos de impuestos
Te quedarán
$8,640 pesos
$8,400 pesos

Eso es $240 pesos menos al mes que es exactamente el 2.77% de tu sueldo
(Si, 2 puntos en el ISR significa 2.77% real en tu sueldo)

Imaginemos por un momento que el resto de tu sueldo lo gastas en cosas pagando IVA (esto para efectos prácticos).

















HOYEn 2010
Te Quedaron$8,640 pesos$8,400 pesos
IVA$1,296 pesos IVA 15%$1,344 pesos IVA 16%
Para gastar queda$7,344.00$7,056
¿cuanto de impuestos?$4,656 pesos (38.8 %)$4,944 pesos (41.20 %)
41.20 %.... eso es realmente el lo que te van a quitar, eso si no tomas alcohol o cerveza, si no tienes internet, si no tienes tv por cable, si no tienes celular o teléfono fijo, si no fumas. Porque a todo eso agregale otro 3% a todo lo que pagas por esos conceptos. Al cigarro y alcohol otro poco más (EN ESOS NO ME QUEJO).

Eso significa que de cada peso que ganas con el sudor de tu frente, intelecto o tus manos, el gobierno te quitará 41.20 centavos, entonces realmente no ganaste un peso, sino 58.80 centavos.

¿Te gusta lo que los "representantes del pueblo nos hicieron?
¿Tu representante te preguntó siquiera si estabas de acuerdo?

Estos son los impuestos que nos acaba de aumentar el "Presidente del Empleo" quien por cierto en campaña dijo que no subiría los impuestos y que por el contrario los bajaría y eliminaría otros como la tenencia (cosa que no ha hecho el mentiroso).

La pregunta es:
¿Que vamos a hacer?
a) ¿los pagamos calladitos calladitos y nos seguimos empinando cada vez mas?
b) ¿O les ponemos un alto?
c) ¿O no te importa?

Tu decides.... por lo pronto informa a otros. OJO esta no es cadenita de tontos, es tu patrimonio y el futuro de tus hijos el que está en juego.

********
Me quedan dudas en cuanto a algunos porcentajes, sin embargo, los números son claros, quedando a la opinión publica. Y para concluir, mi favorita :)

miércoles, 23 de septiembre de 2009

ISP and his DNS Mexico List

Hace unos dias he tenido un ligero problema con los DNS que me da mi ISP (en mi caso Axtel). Algunas URL no estaban siendo resueltas por dichos DNS. El caso es que resulta estresante trabajar en este contexto. Justamente trate de conseguir con opendns pero tampoco me resolvia esta y no podia accesar.
Despues de un rato recorde que tenia una lista de servidores de dominio, que algunos ISP me han asignado, en diversos momentos. Hoy solo quiero compartirlos:
AT&T
  • 85.255.115.52
  • 85.255.112.85 (*)
INFIERNITUM
  • 200.33.148.196 (*)
  • 200.33.171.8
  • 200.23.242.202 (*)
  • 200.23.242.196 (*)
  • 200.23.242.193 (*)
  • 200.23.242.201 (*)
  • 200.23.242.195 (*)
  • 200.23.242.203 (*)
AVANTEL
  • 148.240.241.9
  • 148.240.241.41
AXTEL
  • 200.52.12.131
  • 200.52.12.132
OPENDNS
  • 208.67.222.222
  • 208.67.220.220

* solo disponible para direcciones del ISP.

sábado, 8 de agosto de 2009

OpenLaszlo: dataset timeout && events problems

Have a problem with some dataset, i wanna execute query and then fast as Ana Guevara, to get the data from dataset that has been executed. But, i have a warning: timeout. This is result from next code:

//we launched the first query, and the data is store in opEnfermedades
var p=new LzParam();
p.addValue("id", "myarg1", true);
canvas.datasets.opEnfermedades.setQueryString(p);
canvas.datasets.opEnfermedades.doRequest();

//get the data from dataset
this.txtBox1.setAttribute('dataset', 'opEnfermedades:/xml/resultado[1]/@id');


The debbuger show me a timeout in txtBox1 properties, in fact the parent view apparently is correct, can see the dataset property with my xml struct and consequently the data.

I try to resolve this problem, thinking for 3 thing:
  • loop persistence: using a global var that is edited when the data is arrival (inside from a event), then a loop persistence check this var for know 'when' the data is ready. This idea i dont like, because must be using a globar var and i lost independence from clases, and my application is bloking a little bit.
  • Using a timer: When i use a timer, the data is update correctly. The bad idea is because the time to reply is changeable, in my notebook could to reply fine but in internet is very very dificult to calculate this.
  • Using Envents: i develop this. I must explain:
//we launched the first query, and the data is store in opEnfermedades
var p=new LzParam();
p.addValue("id", "myarg1", true);
canvas.datasets.opEnfermedades.setQueryString(p);
canvas.datasets.opEnfermedades.doRequest();


When the data arrival, opEnfermedades dataset make a event called "ondata", i used this event for update my text box widget, but openlaszlo acting weird, i dont know. I need this for do a second query using the data catched as param. I think that to resolv this send all data in only one query and that my view model work (PHP, JSP) for me.

I must apologize me, but my english is bad, i wish do it. I hope a comments. Tnx.

jueves, 30 de julio de 2009

Paso de parametros en OpenLaszlo

Continuando con mi trabajo en OpenLaszlo, he tenido necesidad de hacer otro tipo de cosas en LZX (el lenguaje), necesito comunicar dos instancias de clases, tomar y modificar atributos de las mismas. Una solucion que siempre se metia (y sin invitacion) a mi mente era la de variables globales, pero no me latia por que pense que perderia algo de independencia de clases y terminaria dependiendo de ese tipo de datos.

Espero que esto le pueda servir a alguien, la documentacion de laszlo es muy superficial, y no profundizan en algunos detalles que hacen que al final nos demos unos 6 o 7 golpes en la cabeza. A continuacion dejo un ejemplo de un codigo con paso de parametros, instancias de clases, herencia, metodos y atributos.


El paso de parametros es parecido a lo que vi en Java (tengo poca experiencia en OOP), cuando enviamos un tipo de dato primitivo es paso por valor y cuando enviamos una instancia es paso por referencia, asi de simple y en el ejemplo estoy mandando una instancia con el operador this.

La idea del ejemplo es que..., tenemos dos ventanas en una metemos datos al texbox computamos y mandamos los valores a la otra ventana haciendo un paso por referencia.Les dejo un enlace donde pueden ver el ejemplo funcinando.

jueves, 23 de julio de 2009

Geocities is Closing

Revisando mi antiguo mail de yahoo, me llega la noticia de que Yahoo esta dando por terminado su servicio de Geocities. Pienso que esto es resultado de la web2.0, los modelos de informacion y comunicacion que se usan hoy en dia.

Ya no hay nuevas cuentas y la fecha de cierre total es el 26 de Octubre del 2009, se recomienda entrar y respaldar su informacion. Aun asi no hay por que estar tristes, continua el hosting service Yahoo.

lunes, 20 de julio de 2009

Vim's scripting language

Hace unos dias leyendo las noticias de cofradia me encontre con información sobre vim scripting, como algunos de uds tal vez imaginen, puedo decir que Vim es mi edito de textos favoritos por que es muy rapido, y sobre todo por el espacio en disco.

La idea de hacer a mi vim un poco mas robusto o simplemente conocerlo mas, me entusiasmo y me puse a leer el articulo. El lenguaje de scripts de vim, segun el articulo es un lenguaje con muchas caracteristicas como variables, espresiones, control de flujo, estructuras de datos, funciones, IO file, excepciones, debugger, entre muchas cosas.

Como comenzar, pues bien rapidamente ocupamos los paquetes vim y vim-scripts, desde luego que la documentacion que en caso de tenerla podemos consultarla de la siguiente manera.
:help vim-script-intro

Como mandar a ejecucion nuestras pruebas
:source /full/path/to/the/scriptfile.vim

El resto es comenzar a adentrarnos en este lenguaje.

jueves, 2 de julio de 2009

Libros digitales libres y gratuitos para informáticos


El dia de hoy recibimos en el buzon de correo a travez de la lista de distribucion de Gulmore, una invitacion a una nueva iniciativa de distribuir libros digitales con licencias libres: Speed Books Argentina.

La idea es excelente por que como lo dicen ellos mismos en el correo: " Creemos que el conocimiento debe ser libre. Coincidimos con los postulados del software y la cultura libre. Creemos que podemos hacer algo para realmente intentar reducir la tan mentada brecha digital, por ello tomamos esta iniciativa. Esperamos que nuestro trabajo sea util al publico en general, a estudiantes y profesionales informaticos, a autodidactas e idoneos informaticos, y a docentes de asignaturas relacionadas con la informatica."

¿Como apoyar?, los chicos de este proyecto nos comentan que es muy simple:
  • Informar a sus contactos sobre la existencia de nuestro sitio.
  • Si tienes un blog o sitio web personal puedes escribir un articulo.
  • Informando a tus lectores de la existencia de nuestro sitio, tambien
    pueden incluir un enlace hacia nuestro sitio.
  • Pueden avisarnos de la existencia de libros con licencias libres
    sobre informatica.
  • Pueden informarnos si encuentran un enlace roto o incorrecto.
  • Contactar con nosotros a traves de este medio para realizar cualquier tipo de sugerencia. [ speedbooksargentina@gmail.com ]
Quienes nos dejan sus firmas son Vanesa Aguinaldo, Javier Constanzo, Sebastian Dominguez y Fabian Flores Vadell.

domingo, 21 de junio de 2009

Java: comparacion de String Class en una sentencia Case

Hace unos dias platicando con mi amigo Ernesto, le comente que trabajando con el String Class y sus comparaciones con if-then-else me estaba creando un codigo no muy estetico en cuanto a las identaciones y anidamientos que debia tener dentro de mi codigo.

Buscando soluciones esteticas y sobre todo eficientes, Ernesto me comento que habia la posibilidad de resolver este problema con una tabla hash, asi que me di a la tarea de ver las APIs de las clases que me podrian servir. La implementacion es como sigue:


//Instancia del hashtable, se agregan los valores que esperamos recibir
Hashtable action = new Hashtable();

//Se registran las cadenas y los valores que van a tener en hashtable
action.put("list", new Integer(1));
action.put("new", new Integer(2));
action.put("edit", new Integer(3));
action.put("rm", new Integer(4));

//Se intenta capturar la excepcion en el caso de que llegue
//otro valor distinto a los esperados en hashtable
try{
switch( (Integer) action.get( myString ) ){
case 1:
//codigo para cuando llega una cadena "list"
case 2:
//codigo para cuando llega una cadena "new"
case 3:
//codigo para cuando llega una cadena "edit"
case 4:
//codigo para cuando llega una cadena "rm"
}
}
//En caso de llegar cadena no registrada se captura la excepcion
catch(NullPointerException e){
//codigo de exepcion, algo asi como un "default" dentro del case
}

viernes, 22 de mayo de 2009

Estados Unidos Mexicanos

Debo decir que acabo de revisar mi mail social, donde recibo cosas de amigos, cadenas y cosas que algunas veces no son tan importantes y que muchas no veo ni reviso bien (algunas veces solo borro pues odio las cadenas).

En esta ocacion me llego algo de la Influeza y como el 11 de Septiembre y fechas parecidas, me llego un bombardeo de images relacionadas con esta enfermedad, deben ser de autores anonimos, sin embargo, hay algo aqui que me parece una verdadera ofensa y quiero condenarlo asi.

En la escuela primaria en Morelia, me han enseñado que los simbolos patrios son tres.
  • La Bandera.
  • El Himno.
  • El Escudo.
En Mexico, cada uno de estos simbolos patrios merecen un respeto y el uso adecuado de los mismos. NO recuerdo bien todos los cuidados pero aqui mencionare algunos.

La Bandera debe ser saludada en los los actos, en mi punto de vista, todos los mexicanos independientemente de la religio que seamos debemos hacer el saludo correcto en la postura correcta.

El Himno, lo cantamos sin saludar, a pesar de que en el futbol saludan, lo cual esta mal y que hasta ahora nadie ha cambiado eso. Se saluda a la bandera y no al himno. Se canta con el debido respeto.

En el caso del escudo, el manejo tambien debe ser con respeto, me molesta ver que muchos mexianos no le den el valor que estos simbolos merecen. El escudo no debe ser modificado, por que el escudo es completo, tampoco parodias, sarcasmos y acciones que puedan tomarlo como objeto de burla. Me refiero a lo siguiente...

El Aguila "Mocha", de Chente Fox, usada por el gobierno federal (2000-2006). Sin comentarios.Claro esta que si ese es el ejemplo que nos dan los representates de Mexico, ¿que podemos hacer nosotros como pueblo de mexico? La siguiente imagen me molesta aun mas que la de Chente. Como siempre la ultima palabra la tienen uds. Revisen, comenten y tal vez resulte que soy un exajerao, no lo se, pero si me gustaria saber su punto de vista. Desde luego que noo reenvio cadenas y esa que me ha llegado mucho menos. Ojala el autor este avergonzado de eso.

domingo, 3 de mayo de 2009

OpenMaps: alternativa a GoogleMaps

Como muchos saben, el pasado 25 de Abril del 2009, se realizo en Flisol en diversas ciudades. Muchos grupos entuciastas del SL se organizaron para la completa realizacion de este envento en diversas sedes de America Latina.

Esta vez quiero compartir con uds, una charla de OpenMaps de la que nos hablo ikks, de Colombia, en #flisol de freenode, en la cual comenta como podemos contribuir a crear mapas de nuestas localidades. Tambien comenta que el nivel de datella que podemos lograr con esta herramienta es mayor que la que GoogleMpas nos da.

-----
(20:40:08) Flisolec: hay como poner openstreemap en un sitio web
(20:40:14) Flisolec: hecho con joomla???
(20:40:24) ikks: Si Flisolec, eso es posible.
(20:40:36) ikks: Se puede embeber Flisolec en sitios, basta con colocar invocacion a javascript.
(20:40:52) ikks: Flisolec, en que ciudad?
(20:41:19) Flisolec: Quito, Ecuador
(20:41:28) Flisolec: por eso Flisol + EC
(20:41:37) ikks: Ok Flisolec
(20:41:58) ikks: Bien, Quito tiene un mapa bastante bueno, y alla­ habi­amos puesto ya el plugin, pero alguien debia retirarlo.
(20:42:40) ikks: La diferencia entre openstreetmap y cualquier otro servicio que conozca de mapas es que este es free as in free speech, no free as in free beer.
(20:43:01) ikks: De hecho, los mapas de google tienen una tarifa para integrarse en ciertos sitios
(20:43:16) ikks: Y uno realmente en principio puede acceder a las imagenes de mapas generados
(20:43:22) ikks: y claro a las fotografi­as
(20:43:30) ikks: pero no tiene opcion de mejorarlas o actualizarlas.
(20:43:45) ikks: openstreetmap es a mapas como la wikipedia es a las enciclopedias.
(20:44:01) ikks: Algo sumamente interesante de openstreetmap, es que uno puede colaborar de diversas formas.
(20:44:16) ikks: Subiendo trazas de gps para despues calcar sobre ellas.
(20:44:34) ikks: Uno puede editar mapas a traves de diversas herramientas como potlatch que es la herramienta web hecha en flash.
(20:44:58) ikks: entonces como primera medida invitari­a a que entren a http://www.openstreetmap.org y se registren.
(20:49:48) ikks: Al igual en la wikipedia, uno puede ser un consumidor, o puede ser un colaborador.
(20:50:04) ikks: Lo primero que busque hacer fue ubicar las calles que quedan cerca a mi casa.
(20:50:16) ikks: De esa forma familiares y amigos podrian ubicarse facilmente.
(20:50:38) ikks: Asi­ que el detalle de openstreetmap en el sector en que vivo es mucho mejor que cualquier otro mapa que haya visto :)
(20:50:51) ikks: Uno puede colocarle nombre a las edificaciones
(20:50:55) ikks: puede colocar semaforos y puede indicar la importancia de las vi­as.
(20:51:06) ikks: La importancia de las vi­as, es decir, si son primarias, residenciales
(20:51:23) ikks: y demas sirve para que programas de ruteo puedan calcular el tiempo estimado de viaje de un sitio a otro.
(20:51:42) ikks: Adicionalmente a vias de carros, se pueden colocar parques y espacios publicos, caminos peatonales o de bicicleta
(20:52:05) ikks: y de esa forma los servicios no solamente calculari­an tiempos estimados en carro, si no también a pie o en bicicleta.
(20:52:40) ikks: Una vez que ya esten registrados podran usar el boton edit
(20:53:02) ikks: para editar el mapa, y uno puede editar con el "editor" potlatch que esta en la misma página de openstreetmaps.org
(20:53:12) ikks: http://www.youtube.com/watch?v=1Kd3S53CXQs
(20:53:30) ikks: Alla­ se puede ir viendo un poco como es el proceso de edicion.
(20:53:42) ikks: Lo han hecho muy, muy sencillo, como para que no haya excusa para no colaborar?
(20:55:53) ikks: Ademas de las pestañas de "Edit"
(20:55:59) ikks: Estan las de "Export"
(20:56:07) ikks: "GPS Traces" y "User Diaries"
(20:56:36) ikks: Con Export puede obtenerse informacion de los mapas para trabajar localmente, lo cual es muy interesante porque ademas de colocar informacion
(20:56:51) ikks: Si uno quiere puede usarla para crear productos derivados.
(20:57:18) ikks: Convirtiendose en oportunidades de negocio que cada uno en su imaginacion puede plantearse y con su trabajo e ingenio puede materializar.
(20:57:29) ikks: GPS Traces permite que uno suba una traza de un gps
(20:57:33) ikks: y alla­ se calque.
(20:57:59) ikks: Algo muy, muy importante que no menciona acerca de Edit, pero que los que ya han entrado a tal opcion es
(20:58:09) ikks: Que uno termina calcando sobre la aerofotografia de Yahoo.
(20:58:33) ikks: Lo cual resulta muy comodo, aunque el nivel de detalle de la fotografi­a puede no ser tan bueno.
(20:58:46) ikks: Asi­ que alla es donde las trazas de GPS cobran mas valor.
(20:59:04) ikks: Una via que trace desde Bogota hasta un pueblo a unos 80 km de la ciudad
(20:59:13) ikks: fue a partir de una traza que pude obtener con un celular
(20:59:19) ikks: cuya marca no indicare ;)
(20:59:24) ikks: para no promocionarlo.
(20:59:44) ikks: Porque igual cualquier celular que pueda guardar trazas o cualquier gps que pueda almacenarlas seria susceptible de servir
(20:59:50) ikks: para subirlas a openstreetmap.
(21:00:09) ikks: Cuando uno edita un mapa, es posible que la edicion tarde entre 3 y 5 di­as para aparecer publica.
(21:00:34) ikks: Eso es porque la edicion se toma a partir de una granja colaborativa de tiles para servirlos relativamente rapido.
(21:01:31) ikks: Uno puede si lo desea, colaborar con capacidad de computo para que se procesen tiles de openstreetmap.
(21:01:44) ikks: Los tiles son cada una de las imagenes que compone el mapa
(21:01:54) ikks: Y dependen del nivel de zoom y las capas activas.
(21:02:11) ikks: Si todo eso se tratara de procesar en tiempo real, la respuesta no tendria tanta celeridad.
(21:03:16) ikks: Una pregunta usual, es ¿Donde consigo GPS?
(21:03:37) ikks: Es usual que las universidades tengan estos dispositivos en varios departamentos o que eventualmente uno tenga un amigo
(21:03:45) ikks: que solamente usa su iphone para hablar por telefono :P
(21:14:03) ikks: Una vez que esten satisfechos con el resultado de haber adicionado en openstreetmap enfocados al sitio donde se llevara su respectivo flisol
(21:14:22) ikks: Colocar el mapa en el wiki del flisol es facilisimo, gracias a un plugin que se programa para embeberlo facilmente.
(21:15:02) ikks: El de Bogota fue :
(21:15:07) ikks: http://www.installfest.info/FLISOL2009/Colombia/Bogota
(21:15:09) ikks: Y el codigo en el wiki fue:
(21:15:26) ikks: [[OSM(4.65723325,-74.0889,15,http://tatica.fedorapeople.org/varios/glifo-mapa.png,370,330)]]
(21:15:55) ikks: Que representa en su orden longitud, latitud, nivel de zoom, glyph para que aparezca en el mapa, ancho y alto del mismo.
(21:15:58) ikks: Eso es todo.
(21:16:06) ikks: Asi que en resumen son dos pasos:
(21:16:13) ikks: 1. Editar en www.openstreetmap.org
(21:16:18) ikks: 2. Colocar el plugin.
(21:17:18) ikks: En http://www.gfc.edu.co/logs/freenode/flisol/2009/04/13.html
(21:17:35) ikks: quedara el log del canal para referencia futura en caso de que se requieran instrucciones para colocar mapas.
(21:17:47) ikks: Bueno, creo que eso seria todo para esta charla.

miércoles, 29 de abril de 2009

Doctrina del shock y la Influenza

Saludos.

Solo quize pasar a compartir con uds. alguna informacion. Primeramente esta un video de la doctrina del shock y como puede ser usada para la manupulacion de pesonas ya sea de manera individual o en masas. Es un video que muestra de manera breve como funciona esto y algo de historia.



Uno mas del ASPAN:



Despues de ver el video los dejo con un pequeño articulo que esta en el blog de mi amigo Octavio Areli, donde nos habla un poco de la situacion actual de esta desagradable y pliamente difundida enfermedad por los medios del pais asi como de las autoridades publicas quese preocupan por nosotros.


Por cierto, tenemos nueva deuda: 47,000 millones de dolares.


jueves, 23 de abril de 2009

Sobre el Flisol Morelia 2009

Como algunos de uds saben, el Flisol es el Festival Latonoamericano de Instalacion de Software Libre, siendo Morelia (al igual que el año pasado), una de las ciudades sedes. Este año se realizara en el Centro de Negocios y Auditorio 1 del Instituto Tecnologico de Morelia.

Gulmore, invita al publico en general a participar este Sabado 25 de Abril 09, a partir de la 9:30 am. Programa para este año es muy basico:
  1. Install Fest. Al cual se recomienda hacer respaldo de sus datos.
  2. Platicas y ponencias.
Para mas informacion [ ver aqui ]

Finalmente los dejo con un video RMS con sobre el flisol, es de hace un par de semanas pero nunca es tarde :)



Video de Richard Stallman para el FLISOL 2009 from Sergio Vallejo on Vimeo.


lunes, 20 de abril de 2009

Compra de Sun por Oracle

Recien acabo de darme cuenta por mi amigo Victor Quevedo, que como algunos saben, habia negociaciones de IBM por comprar Sun, sin embargo en dias anteriores, dichas negociaciones se han caido y un nuevo personaje ha aparecido en esta novela..., Oracle.

Personalmente puedo decir que gracias a los productos que Sun nos ponia al alcanze, le tenia cierta simpatia. En este momento me pregunto que pasara con el futuro de los proyectos de Sun, ¿continuaran?.

Asi que finalmente Oracle se queda con dos buenos SMBD. Les dejo algunas referencias.
  • http://www.sun.com/aboutsun/media/presskits/2009-0420/index.jsp
  • http://www.oracle.com/index.html

jueves, 12 de febrero de 2009

Rendimiento en Laszlo

Trabajando nuevamente con laszlo, la necesidad de una aplicacion mas rapida desperto mi interes por analizar los tiempos con que se invocan metodos y funciones en laszlo. No encontre mucho en el manual, hablan de variables locales y otras cosas pero nada al respecto de lo que hablaremos aqui.

Rapidamente una explicacion en 30,000ms :) Los procedimientos que tenemos pueden estar en funciones JS o en metodos de nuestros objetos.

En el siguiente codigo, hay dos funciones JS, como vemos la funcion principal es despachador(), la cual invoca a script_js() 9000 veces. Como se ve en la linea comentada, frmCiudades.metodo_local(), es un metodo de un objeto frmCiudades y podemos conmutar entre uno y otro, cambiando los comentarios.

<script> <![CDATA[
function despachador(){
var begin = (new Date).getTime();
for (var i = 0; i < 9000; i++){
script_js();
//frmCiudades.metodo_local();
}
var end = (new Date).getTime();
var total = end - begin;
colocar.setAttribute('text',total);
}

function script_js(){
frmCiudades.setAttribute('title','updating...');
}
]]>
</script>


La alternativa a eso es tener un despachador2 en la clase frmCiudades, pero ahora como metodo y ver como responde. A continuación vemos el codigo.

<method name="metodo_local" >
frmCiudades.setAttribute('title','updating... Metodo');
</method>
<method name="despachador2"> <![CDATA[
var begin = (new Date).getTime();
for (var i = 0; i < 9000; i++){
//script_js();
metodo_local();
}
var end = (new Date).getTime();
var total = end - begin;
colocar.setAttribute('text',total);

]]>
</method>


Lo que hice aqui es medir los tiempos que Laszlo se tarda en:
Caso 1. Desde la funcion JS despachador() invocar el metodo metodo_local()
Caso 2. Desde la funcion JS despachador()invocar la otra funcion JS script_js()
Caso 3. Desde el metodo despachador2() invocar la funcion JS script_js()
Caso 4. Desde el metodo despachador2() invocar el metodo metodo_local()

Aqui la hipotesis es saber que combinacion nos da mejores resultados, o que sistemas (funciones JS o metodos locales) operan mas rapido. La actividad realizada fue que ejecutaba mi programa y en cada uno de esos casos 20 veces, dando asi pequeñas muestras de cada caso.

Los promedios resultados son:
Caso 1. 1341.95ms
Caso 2. 1318.10ms
Caso 3. 1360.75ms
Caso 4. 1383.15ms

Estos resultados me indican que las funciones de JS son mas rapidas, y la alternativa mas rapida es invocar una funcion desde otra funcion en JS.

viernes, 30 de enero de 2009

Escritorio Remoto Funcionamiento

No crean que lo había olvidado, aun me quedaba por dar al menos una explicación al respecto de este proyecto que empecé en las residencias. Se trataron de cubrir la mayoría de requisitos pero no fue posible, por problemas de los cuales no hablare aquí. Se presenta un prototipo funcional.

Este es el diagrama del funcionamiento una vez implementado (uno de los faltantes pero se que funciona). Deberemos usar dos servidores uno de ellos debe ser un web server, como apache, cherokee; incluso paginas dinámicas, lo que pasa es que ocupamos que vía web pasemos un applet al cliente web. Esta parte de applet se pude cambiar por una aplicación Java Web Start.

Entonces via web se solicita la aplicacion java, se manda al cliente y esta aplicacion debe saber a donde se conecta para permitir ser controlado por ese servidor al que se conecta.

Ya se que esta arquitectura trae consigo muchos problemas de seguridad y dolores de cabeza, para eso se sugiere implementar mecanismos de firmas digitales para tratar de asegurar la Irrefutabilidad, como dice Gunnar Wolf en uno de sus artículos de Infraestructura de llaves publicas.

Una vez que se ejecute este procedimiento, en la computadora de Servidor 1 (ver imagen), se podrá controla atravez de un Frame la PC cliente remota, sin importar su S.O., ni el browser que use, solo se ocupa que tenga JRE y listo. Los puertos que se usan en el Server 1 para poder librar al firewall son los puertos TCP 80 y 25.

Si a alguien le interesa conocer alguna parte del código que hace alguna cosa, comenten y listo.

lunes, 26 de enero de 2009

Mi primer script en Perl

El lenguaje perl es un lenguje interpretado, el cual puede ser muy usando en tareas de adminitracion de sistemas, como manipulacion de archivos y procesos.

A continuacion les muestro un pequeño script que escribi hace algunos meses y que recibe como parametro un archivo de texto con una direccion url por linea, con el fin de descargar el archivo que se encuentre en esa url.

================
#!/usr/bin/perl

#se busca la url que debe existir en cada pagina
sub with_loop{
#Se abre en modo lectura (predeterminado)
open(IN, $_[0] );
#Comenzamos la lectura linea por linea
#y cada linea la mandamos como parametro a wget
while( $line =
){
open (COMM, "wget -c --progress=bar $line |" );
print COMM;
close (COMM);
}
close(IN);
}

#Comienzo del script, se verifican parametros
if( $#ARGV != 0 ){
print "usage: " . $0 . "
\n";
}
else{
#Si el archivo existe y se puede leer
if (-r $ARGV[0]){
#Invocacion del metodo with_loop
do with_loop( $ARGV[0] );
}
else{
print "El archivo " . $ARGV[0] . ", no existe o no hay permisos de lectura\n";
}
}
===============

David por favor recuerdame cual era el otro script que se pretendia hacer, gracias.