vie, 2010-01-22 09:54:58 -0500
Mapserver + Mapscript + web.py
Recientemente he utilizado mapscript con web.py para generar mapas que sean generados en tiempo de ejecución, esta porción de código permite leer archivos .map y luego se renderizan con las opciones habituales de mapserver para WMS, el método POST adiciona algunas lines para permitir el uso de un servicio WFS dentro de mapserver.
Se puede utilizar jinja2 o algún otro manejador de templates para cambiar el .map en tiempo de ejecución y de esta forma poder enviar algún parámetro adicional para realizar cambios en el servicio WMS o WFS.
import web
import mapscript
# URLS
urls = (
'/','Basic',
)
class Basic:
"""Layers Basics
"""
def GET(self):
vars = web.input()
if len(vars)==0:
return info_layer(Basic)
req = mapscript.OWSRequest()
for i in vars.keys():
req.setParameter( i, vars[i])
map = mapscript.mapObj('basic.map')
mapscript.msIO_installStdoutToBuffer()
map.OWSDispatch( req )
content_type = mapscript.msIO_stripStdoutBufferContentType()
content = mapscript.msIO_getStdoutBufferBytes()
web.header("Content-Type","%s; charset=utf-8"%(content_type))
return content
def POST(self):
vars = web.input()
req = mapscript.OWSRequest()
for i in vars.keys():
req.setParameter( i, vars[i])
req.postrequest=web.data()
req.type=mapscript.MS_POST_REQUEST
map = mapscript.mapObj('basic.map')
mapscript.msIO_installStdoutToBuffer()
map.OWSDispatch( req )
content_type = mapscript.msIO_stripStdoutBufferContentType()
content = mapscript.msIO_getStdoutBufferBytes()
web.header("Content-Type","%s; charset=utf-8"%(content_type))
return content
app = web.application(urls, globals())
#web.internalerror = web.debugerror
if __name__ == "__main__":
app.run()
vie, 2009-10-02 10:58:31 -0500
Módulo para tryton de colores
He liberado un pequeño módulo para el manejo de colores en trython esto permitirá el manejo de colores y la visualización RGB en la vista de tabla (tree view). Los colores fueron tomados de Wikipedia y si se desea el módulo se encuentra en Intuxication

vie, 2009-09-18 09:23:59 -0500
Este es un claro ejemplo para que nosotros como seres humanos reflexionemos y no dejemos que los medios de comunicación nos impidan hacer nuestros propios análisis sobre situaciones que nos rodean día tras día.
vie, 2009-07-24 08:50:21 -0500
Colores en la Terminal
Para determinar los colores de uso en la terminar muchas veces puede ser una tarea tediosa y complicada y en ocaciones no se sabe como se verá los colores realmente, este script permite visualizar los colores configurados para una terminal.

mar, 2009-07-21 10:32:06 -0500
Test de Velocidad a la terminal
Luego de probar varios emuladores de terminal he escogido urxvt debido a su rapidez y su soporte para Unicode. Realice la siguiente prueba para comprobar la velocidad del scrolling de algunos de l os emuladores de terminal mas conocidos, aquí estan los resultados:
En todos los emuladores se coloco la siguiente instrucción:
time seq -f 'teeeeeeeeeeeeeeeeeeeeeeeeeeeeeest %g' 1000000
Y los resultados son los siguientes:
gnome-terminal
real 1m30.059s
user 0m0.664s
sys 0m0.660s
urxvt
real 0m3.886s
user 0m1.132s
sys 0m1.784s
urxt + screen
real 0m13.204s
user 0m1.172s
sys 0m1.096s
xterm
real 0m40.119s
user 0m1.172s
sys 0m1.032s
konsole
real 0m5.947s
user 0m1.144s
sys 0m1.064s
como se ve el más rápido de todos es urxvt seguido de konsole.
jue, 2009-07-16 13:25:50 -0500
Modificación a Markdown
Debido a que estoy pensando en migrar de nanoblogger a ikiwiki tuve la necesidad de tener todas mis entradas a [markdown] (http://daringfireball.net/projects/markdown/) para ello en utilizar la información de este blog seguir los pasos y listo.
Esta es una prueba con markdown * Candy. * Gum. * Booze.
- Candy.
- Gum.
- Booze.
mar, 2008-08-05 11:49:54 -0500
Modificacion de rxvt-unicode con tabs
rxvt-unicode es un emulador de terminal muy bonito, lo que le hacía falta era que pudiera tener tabs, buscando un poco en google se encuentra que colocando urxvt -pe tabbed se puede tener tabs los shorcuts son con Shift y las flechas:
Nuevo Tab Shift + Flecha Abajo Mover a la tab del lado derecho Shift + Flecha Derecha Mover a la tab del lado izquierdo Shift + Flecha Izquierda
al probarlo se tiene problemas con las tildes y las ñ este problema se soluciona cambiando el archivo /usr/lib/urxvt/perl/tabbed en la función tab_key_press, cambiaremos los shortcuts parecidos a los de firefox o a los de gnome terminal.
Se cambia: urxvt::ShiftMask > urxvt::ControlMask 0xff51 > 0xff55 0xff53 > 0xff56 0xff54 > 0x74
Con estola función queda de la siguiente manera
sub tab_key_press {
my ($self, $tab, $event, $keysym, $str) = @_;
if ($event->{state} & urxvt::ControlMask) {
if ($keysym == 0xff55 || $keysym == 0xff56) {
my ($idx) = grep $self->{tabs}[$_] == $tab, 0 .. $#{ $self->{tabs} };
--$idx if $keysym == 0xff55;
++$idx if $keysym == 0xff56;
$self->make_current ($self->{tabs}[$idx % @{ $self->{tabs}}]);
return 1;
} elsif ($keysym == 0x74) {
$self->new_tab;
return 1;
}
}
elsif ($event->{state} & urxvt::ControlMask) {
if ($keysym == 0xff55 || $keysym == 0xff56) {
my ($idx1) = grep $self->{tabs}[$_] == $tab, 0 .. $#{ $self->{tabs} };
my $idx2 = ($idx1 + ($keysym == 0xff55 ? -1 : +1)) % @{ $self->{tabs} };
($self->{tabs}[$idx1], $self->{tabs}[$idx2]) =
($self->{tabs}[$idx2], $self->{tabs}[$idx1]);
$self->make_current ($self->{tabs}[$idx2]);
return 1;
}
}
()
}
lun, 2008-03-03 22:26:26 -0500
Exploit en Linux
Recientemente se ha encontrado un exploit para versiones del kernel 2.6.18- 2.6.22 despues de realizar algunas pruebas y buscar en internet he encontrado el exploit y el parche ...... :D
exploit.c disable_exploit.c Espero que les sirvadom, 2007-09-30 11:58:04 -0500
Conververtir un docx a un doc
Recientemente con el lanzamiento de office 2007 ha hecho que muchas personas que no
utilizan herramientas privativas de microsoft como lo es la suite de office tengan
inconvenientes con su nuevo formato de archivos, por esta razón despues de buscar un buen
rato encontré http://docx-converter.com/ no es
necesario tener instalado ningún programa solo se envia el archivo y lo procesan para su
cambio. 
jue, 2007-08-30 22:44:23 -0500
Quitar el Altavoz del pc o beep
Recientemente un amigo de la universidad decidió instalar Lenny en un portatil hewlett packard y tenía el inconveniente que sonaba el beep por el altavoz en el portatil entoces despues de buscar por google encontré algunas formas utiles de quitar este modulo:
- La primera es a una consola no grafica (Ctrl+Alt+F1) xset -b
- Otra opción es rmmod pcspkr o modprobe -r pcspkr
- Se además puede modificar el archivo .bashrc y se pone allí set bell-style none
- Instalar modconf y desactivar por allí el modulo pcspkr
Estas opciones algunas solo son efectivas mientras no se apague el pc, entonces para que sea permanente esta opción lo mejor es editar el archivo /etc/modprobe.d/pnp-hotplug y comentar la linea que dice alias pnp:dPNP0800 pcspkr con esto se aseguro que no se volvera a cargar el modulo al inicio.