nibblesmx  Zodman  GNU México  AhIoRoS  mario  maikool  MaoP  alo  tramas4life.tk  jmflores 

Main

contact

Projects/Proyectos

Papers/textos

Resume / Curriculum

 Use OpenOffice.org

OpenSolaris: Innovation Matters

twitter

    Categories

    Tiras


    Tira Ecol
    Tira Ecol


    Tira LinuxHispano.net
    La Legión del Espacio
    La Legión del Espacio
    En el Sitio de Ciencia-ficción

    Recent Comments

    general

    Jusft for the record, I'm on twitter as markuzmx

    markuz | general, Stupid things, stuff, personal | Sunday 04 May 2008 6:41pm | Comment on this

    christine 0.1.6
    CLick to enlarge
    This is the new release of Christine Media Player. This release include:

    HelpMenu.png

    1. Some bugfixes
    2. Reworked code in Sources list
    3. Reworked display.
    4. Improved import code (no more freeze while looking for the media files)
    5. Multiple Sources list.
    6. Translate Christine and Report a bug menuitems

    You can download it from sourceforge:

    markuz | general, Software_Development, Python, gtk, christine, FLOSS | Tuesday 29 April 2008 1:45pm | 1 comments

    If you are trying to install OpenOffice 2.4 in Gutsy, check this how to:

    Installing OpenOffice 2.4 on Ubuntu Gutsy

    markuz | general, stuff, FLOSS, ubuntu | Monday 21 April 2008 1:04pm | 3 comments

    markuz | general, Software_Development, stuff, Video | Friday 18 April 2008 1:05pm | Comment on this

    I have been using Firefox 3.0 Beta 5 a few days, it looks great with the Gtk widgets inside the pages, I think it uses less memory than Firefox 2, but my CPU is suffering...

    Firefox-3.0 WTF

    by the way, Firefox was supposed to be IDLE (no flash video playing, nothing at all)

    markuz | general, Stupid things, stuff, WTF!! | Saturday 12 April 2008 10:14am | Comment on this

    I love the new maur0's nick:



    maur0's nick

    Yo solo se, que no se Java

    markuz | general, Humor, Stupid things, personal | Friday 11 April 2008 3:18pm | Comment on this

    This is nothing but just an announce that get in my mail today: Christine is available via up to down a site for program search.

    Well, christine has been added to it:

    markuz | general, christine, ubuntu | Friday 11 April 2008 10:11am | Comment on this

    Es facil, al inicio de tu aplicacion tendras que inicializar los threads, que son algo asi:

    gtk.gdk.threads_init()
     

    Esto lo tendras que hacer antes de iniciar algun thread. Y luego, al usar algun thread debes englobarlo dentro de

    gtk.threads_enter()
    thread.start_new(funcion, (arg1,arg2,argN))
    gtk.threads_leave()
     

    Solo recuerda que no debes manipular gtk fuera del thread en el que esta corriendo el ciclo principal (gtk.main_loop).

    Si lo que necesitas es estar cachando informacion en un thread aparte y modificar la interfaz (ej. Leyendo un socket y mostrando informacion de cuanto llevas leido) entonces usa alguna bandera y modifica tu apariencia en el thread principal, de lo contrario tendras problemas con gobject y glib.

    markuz | general, Software_Development, stuff, personal, Python, gtk, FLOSS | Thursday 10 April 2008 6:51pm | Comment on this

    Le actualice el bios a mi maquina, de la version F.07 a la F.39, todo bien, aunque en ubuntu, para que arranque despues de la actualizacion necesitaras pasar los siguientes parametros al kernel:

    pci=assign-busses apicmaintimer idle=poll reboot=cold,hard

    Una vez que hayas arrancado no se te olvide ponerlo en grub para los siguientes arranques.

    Esto tambien puede ser util para aquellos que han comprado una laptop Compaq V3000 o HP dv2000 reciente y tengan problemas al iniciar Ubuntu (o algun derivado)

    markuz | general, stuff, personal, FLOSS, ubuntu | Tuesday 08 April 2008 6:48pm | Comment on this

    DSC07633.JPG

    Panoramic View P1010186.JPG

    Cristina y yo fuimos a conocer Guanjuato el viernes pasado.

    markuz | general, personal, Pictures | Tuesday 25 March 2008 4:49pm | Comment on this

    sources.pngBien, hoy ha sido un pequenio dia para dar amor a christine, Hoy he tenido un poco de tiempo libre para 'descansar', Ayer cristina y yo nos fuimos a conocer Guanajuato, pronto pondre las fotos y la reseña.

    Hoy, despues de hacer los quehaceres de la casa me sente un rato a cubrir una necesidad en especial que he tenido en Christine. Bien, pues resulta que a cristina le gusta mucho la musica en español, en particular la movida, mientras que a mi me gusta mas la musica en inglés, El problema es que la gran mayoria de la musica en español la he copiado de varios lugares y no la tengo en mi directorio de musica tipico, y tampoco lo tengo dentro de mi lista de canciones normal. Que pasa cuando cristina quiere escuchar su musica, tengo que entrar en ~/.christine y copiar el archivo music a algun otro, despues copiar el archivo de musica de cristina a music, y lo mismo cuando quiero poner mi lista de canciones. Un poco engorroso, aunque no lo hago muy seguido. Hoy he hecho un pequeño cambio a christine de forma que es posible selecionar la lista de canciones. Por hoy, en este lado es suficiente, aun le falta pulir, pero lo hace con mas tiempo y despues.

    Tambien estuve trabajando un poco para corregir unos pequenios problemas con los menus, que no se muestran traducidos, esto debido a que en los archivos de descripcion de glade las etiquetas no tienen la propiedad translatable (en los menues). Tambien he agregado al SVN los archivos de traduccion creados en Launchpad. En fin, estos cambios ya estan disponibles en el SVN de christine.

    newMenu1.png

    markuz | general, Software_Development, personal, gtk, christine, FLOSS | Saturday 22 March 2008 9:43pm | Comment on this

    Si, un mes desde mi ultimo post, que he hecho desde entonces ??

    Bueno, la respuesta es sencilla: Trabajo.

    Ahora hay tres estaciones trabajando con el software que Aldo y yo hemos desarrollado aqui en ICT Consulting para los dispensarios Supramax Evo 4. Lo que significa chamba, chamba y mas chamba, lo bueno es que es con Python, asi que no es tan doloroso como se ve.

    Casi no he tenido tiempo de nada, y el poco tiempo que tengo lo aprovecho para estar con cristina, con quien me la paso la verdad muy bien.

    He tenido muchas cosas de que postear, pero no he tenido el tiempo, pronto preparare uno que otro artitulo mas tecnico que solo postear que es lo que he hecho o por que no he podido postear. Pero lo que si me da gusto es ver que al menos otras personas han estado haciendo lo suyo con christine, puesto que ya hay mas traducciones disponibles. y que pronto seran integradas al svn. Solo tengo que terminar de corregir algunas cositas en christine. Sobre lo cual tambien espero tener un poco de tiempo en los siguientes dias.

    markuz | general, personal, christine | Wednesday 12 March 2008 9:45pm | Comment on this

    It's nice to see that since yesterday to today there are already three new languages in the christine translations.

    Translation status in christine

    Wanna help? Translate christine HERE!

    markuz | general, Software_Development, personal, Python, christine, Pictures, FLOSS | Tuesday 12 February 2008 4:57pm | Comment on this

    Breaking up the nuts of firefox

    markuz | general | Tuesday 12 February 2008 4:11pm | Comment on this

    There is a bug report where compiz fusion's ccsm doesn't change the shadow's X/Y offset. Thereis a workarround. Open gconf-editor and set this variables:

    shadow_offset_x = int
    shadow_offset_y = int

    And set the value to change de offset.

    markuz | general, FLOSS | Wednesday 06 February 2008 5:59pm | Comment on this

    If Microsoft wants to buy Yahoo is good, if Yahoo sells itself to Microsoft is bad, If Microsoft buys Yahoo and get his hands over Flickr it is worse.

    Has a flickr user, I don't want Microsoft to mess up with it. Fortunately the deal is off

    markuz | general, FLOSS | Tuesday 05 February 2008 4:00pm | Comment on this

    I have finally found a small time in my life to give a little love to christine and I'm not so proud (because of the delay) of the fifth revision of the fifth revision of the 0.1 version.

    This fixes some bugs that I have found since the 0.1.4 but to be honest, I don't remember them. You can download the source packages from Here. There is also an Ubuntu Gutsy Package there.

    christine 0.1.5

    markuz | general, Software_Development, personal, christine, FLOSS | Tuesday 05 February 2008 3:34pm | Comment on this

    What da fuck!

    markuz | general, Stupid things, personal | Monday 04 February 2008 9:40am | Comment on this

    Acabo de regresar de comer, una muy buena comida, unos nachos con extra queso y un refresco (de ese del mas popular) GRANDE que por cierto ni me acabe. Y aunque no suene esto como una comida muy nutritiva, el entretenimiento que tuve para acompañarla si que lo fue.

    Desde hace unas semanas, para ser mas precisos, desde que vi la de La mujer de mis pesadillas no veia una buena pelicula, Pues Dame 10 razones o 10 items or less (nombre greengo) es una muy buena pelicula que recomiendo ampliamente, es muy tranquilizante, me ha dejado un muy buen sabor de boca, es de esas peliculas en las que no necesitas tener explosiones, ni super efectos especiales, super modelos (aunque Paz Vega no esta nada mal) para llamar la atencion del publico.

    Y aunque es puro hablar no tiene puntos muertos lo que dice que es una muy buena historia muy bien dirigida , siempre estas viendo la pantalla.

    Se las recomiendo, de mientras, vean el trailer:

    Ingles:

    Español (España)

    markuz | general, movies, personal, Video | Sunday 13 January 2008 5:29pm | Comment on this

    There is something weird about this screenshot...

    something weird

    markuz | general, Stupid things, Pictures, FLOSS, ubuntu | Thursday 03 January 2008 3:20pm | 1 comments

    . Fuck you

    Ya en serio...

    markuz | general, personal, Pictures, FLOSS | Tuesday 01 January 2008 1:15pm | Comment on this

    P1030896.JPGPues hoy regrese a salamanca, despues de mis chocoaventuras en las terminales de autobuses. Sali de aqui (salamanca) a las 3:30 con rumbo a la Cd. de Mexico, donde despues de estar un buen rato parado para recibir mis boletos del ADO resulto que nomas ya no se podia, asi que tuve que salir disparado a ver donde conseguia algun boleto para salir del agujero negro.

    DSC07296.JPGPues salimos a Pachuca, donde conseguiria boletos para Poza Rica, pero solo hasta el dia siguiente, y no sin hacer un entripado gracias a que la muchacha que me vendio el boleto me indico mal el anden del que saldria el autobus. Total, que salimos a las 11:30am en lugar de las 7:30am, como lo teniamos planeado y para colmo, el chofer, cafre de microbus que llevaba el bus no nos queria dejar subir. A ultimas si se pudo y llegamos a Poza Rica a las 5 de la tarde.

    P1000207.JPGQue rico es estar con la familia, sobre todo cuando ya tienes rato sin verlos. Me la pase muy padre, Me festejaron mi cumpleanios!, si, aquel cumple de hace 5 que no festeje con ellos. y me regalaron otra camarita digital para remplazar la pobrecita Sony que tengo y que ya quiere su jubilacion.

    Sali ayer a las 7:30 (digamos.. las 8:00) porque el autobus no llegaba, y llegue a salamanca hoy a las 4:30. Hoy tambien ha sido el dia en el que mas temprano he llegado a la oficina, como a eso de las 6:30 am.

    Fotos sobre mi viajecito se puede encontrar aqui:

    P1000062.JPG

    markuz | general, personal, Pictures | Wednesday 26 December 2007 2:59pm | 1 comments

    Olvidate de pasar por la Central de Autobuses..

    DSC07270.JPG

    markuz | general, personal, Pictures | Monday 24 December 2007 4:08pm | Comment on this

    Foresight linux

    markuz | general, Humor, Internet, linux, gtk, FLOSS | Tuesday 11 December 2007 8:33pm | Comment on this

    markuz | general, Humor, stuff, FLOSS | Saturday 08 December 2007 7:05pm | Comment on this

    Alguien sabe de algun algoritmo o forma para acelerar la insersion de elementos en un ListStore?. He estado haciendo pruebas con Christine sobre una lista de ~14000 canciones y mi pobre maquinita tarda entre 20 y 24 segundos para llenar el ListStore.

    Se, que podria mostrar Christine y dejar que una llamada con idle_add haga la chamba, es decir, christine se mostraria en menos de 1 segundo, pero el idle_add me retrasa mas la carga de la lista a unos 2 minutos.

    Alguien con algun comentario, enlace o similar, seria mas que apreciado.

    markuz | general, Software_Development, personal, linux, gtk, christine, FLOSS | Thursday 06 December 2007 3:24pm | 6 comments

    Definitivamente, los juegos son cada vez mas reales...

    markuz | general, Humor, Stupid things, FLOSS | Thursday 06 December 2007 11:03am | Comment on this

    christine ReflectedEl software mas usado es sin duda el que mas bugs tiene. Al menos eso se supone, pues al software que mas se usa mas bugs se le han de encontrar. Christine 0.1.3 es la nueva version de christine con bugfixes. De los cuales solo yo he probado, y de la cual me gustaria mucho que todos los amables lectores linuxeros de este blog le dieran prueba y reportaran todos los bugs en el tracker.

    Que hay de nuevo en christine, nada, la verdad no he cambiado nada, salvo el hecho de que carga un poco mas rapido. De ahi en fuera, es la misma cosa con intentos mios de corregir unos bugs.

    Por que me he tardado tanto? pues porque Christine sigue siendo un desarrollo que hago en mi tiempo libre, que muy seguido se ve afectado por trabajo y otras cosas que me han llamado la atencion. De cualquier manera, Christine ahi esta, y es lo que uso dia a dia para escuchar musica.

    Asi que denle bajin las Fuentes o al paquetin para Ubuntu Gutsy Gibbon

    markuz | general, christine, FLOSS | Tuesday 04 December 2007 2:47pm | Comment on this

    Por fin he instalado el nuevo disco duro a Cucusa:

    DSC07183.JPG

    markuz | general, stuff, personal, Pictures | Saturday 01 December 2007 6:11pm | Comment on this

    Se ha publicado una animacion para el Aniversario del Grupo Linuxero del Bajio

    Ver animacion

    markuz | general, FLOSS | Friday 30 November 2007 9:59am | Comment on this

    Me
    Tengo rato con mi pobre camarita, que ya toma las fotos mas malas que buenas, pero aun sirve. El problema es que para mi mala suerte, o mejor dicho, para suerte de mi karna, a pesar de ya tener mas de 7000 fotos con esta camarita, solo en una pequenia parte de esas fotos aparezco yo. Fotografo sin fotos face-sad.png .

    markuz | general, personal, Pictures | Tuesday 27 November 2007 10:17pm | 1 comments

    Unas diapositivas que muestran claramente la dimension de la ultima intervencion de la naturaleza en Villahermosa, Tabasco.

    Click aqui para descargar el archivo.

    markuz | general, stuff, personal, Pictures | Sunday 25 November 2007 3:58pm | Comment on this

    Que haces cuando Epiphany se muere antes de poder arrancar por completo?

    Epiphany crash

    markuz | general, stuff, gnome, FLOSS, ubuntu | Friday 23 November 2007 7:53am | 5 comments

    Como ya saben Compiz Fusion+nVidia tienen un BUG del tamanio del mundo, consumiendo chingos de megas de memoria en RAM. Bien, una solucion simple, aunque no la ideal es correr compiz de esta forma:

    compiz --replace --indirect-rendering

    Aunque el bug parece ser sobre todo del controlador de nVidia, parece que ya ha sido solucionado y que se vera reflejado en la siguiente version del controlador.

    top + uptime

    markuz | general, FLOSS, ubuntu | Thursday 22 November 2007 6:34pm | Comment on this

    Logo 7o. Aniversario GLIB El Grupo Linuxero del Bajío organiza el evento “Séptima Reunión de Aniversario”, a realizarse en la ciudad de Irapuato en el estado de Guanajuato, México el día sábado 15 de diciembre de 2007.

    El evento tiene como objetivo difundir el uso y desarrollo de GNU/Linux y el Software Libre mediante un ciclo de conferencias que año con año estamos siempre mejorando en torno a los temas y calidad de las conferencias.

    Con el objetivo de siempre mejorar la calidad del evento, la sede del evento este año será en el Hotel Holiday Inn.

    Mas informacion

    markuz | general, linux, FLOSS | Thursday 22 November 2007 11:45am | Comment on this

    Interesante articulo si te interesa ver que onda con los cuellos de botella de tu aplicacion en python: Profiling and Optimizing Python

    markuz | general, Software_Development, Python, FLOSS | Thursday 22 November 2007 8:40am | Comment on this

    This looks so nice!

    This looks so nice!

    markuz | general, Internet, personal, Pictures | Wednesday 21 November 2007 2:32pm | Comment on this

    Copio integro el correo que me mando Miguel.

    Hola a toda la gente de Poza Rica y sus alrededores; como cada diciembre y desde hace ya varios años la Universidad Veracruzana organizará el Concierto Tributo a THE BEATLES.

    Este año un grupo de amigos y yo formaremos parte del Line-Up (somos, THE DIEMONDS, echen porras) y tocaremos 2 o 3 rolitas de este grupo, estamos preparando los covers de TWO OF US y THE LONG & WINDING ROAD (tal vez también toquemos IMAGINE).

    Ojalá puedan asistir ya que se pone muy muy bien la tocada; el concierto está programado para el día 7 de Diciembre de 2007 a las 7:00 P.M. en el Auditorio de Humanidades que se encuentra en la Facultad de Pedagogía (Calle 12, como a media cuadra de la Av. 20 de Noviembre), pero si van, y ojalá así sea, lleguen tempra ya que siempre se llena a tope.

    Ahhh, y no se olviden de correr la voz.

    MIKE

    markuz | general, music | Wednesday 21 November 2007 10:32am | Comment on this

    Funny date

    Pista:

    Funny date

    markuz | general, Humor, Internet, FLOSS | Tuesday 20 November 2007 2:13pm | 3 comments

    Furioso Favicon.

    Grab the error

    markuz | general, FLOSS | Monday 19 November 2007 6:38pm | 1 comments

    Nookietos

    Nookietos

    Nookietos

    Nookietos

    Nookietos

    Nookietos

    markuz | general, personal, Pictures | Tuesday 13 November 2007 11:53am | Comment on this

    La mayoria de los widgets en Gtk tienen una ventana asociada, y no precisamente la ventana con decoracion que todo mundo ve. Gtk adiere una propiedad llama "window" a los widgets al ser empacados, o emparentados a otro widget contenedor.

    Generalmente estos widgets son de apariencia rectangular, pero es posible tunearlos para que tengan la forma que nosotros queremos. La forma mas facil de hacerlo es tomar una imagen un usarla como "Molde" para crar nuestro contenedor recortado. aunque tambien es posible dibujar lo que nosotros querramos usando las funciones de cairo sobre un contexto (Que en si, es lo que hacemos con la imagen molde, pero mucho mas sencillo).

    Lo que hacemos es obtener un molde a partir de una imagen, es decir, abrimos la imagen y creamos un gtk.gdk.Pixbuf, que es el mostraremos, pero podemos obtener el gtk.gdk.Pixmap y la mascara de este Pixbuf de forma que podamos usar dicha mascara para crear el contorno de nuestro widget.

    Los widgets, una vez empacados,como ya habia dicho obtienen una propiedad llamada window, que pertenece a la clase gtk.gdk.Window. Aquellos que ya se han puesto a dibuar algo con cairo se habran dado cuenta que se obtiene un contexto de un widget a partir de su gtk.gdk.Window.

    Bien. tambien es posible obtener este contexto de cairo a partir de un pixmap, hacer el dibujo molde y luego pegarselo a la ventana para que gtk.gdk sepa que partes ha de dibujar y cuales no.

    Veamos un pequenio ejemplo.

    class shapedWindow(gtk.DrawingArea):
            def __init__(self):
                    gtk.DrawingArea.__init__(self)

                    self.__pixbuf =  gtk.gdk.pixbuf_new_from_file('./logo.png')

                    self.connect('size-allocate',self.size_allocated)
                    self.connect('expose-event',self.do_expose_event)

                    self.set_size_request(self.__pixbuf.get_width(),
                                    self.__pixbuf.get_height())

           
            def size_allocated(self,win,allocation):
                    w,h = (allocation.width, allocation.height)
                    self.bitmap = gtk.gdk.Pixmap(None,w,h,1)
                    context = self.bitmap.cairo_create()
                   

                    self.do_expose_event(self,'',context)

                    parent = self.get_parent()
                    win.shape_combine_mask(self.bitmap,0,0)
                    parent.shape_combine_mask(self.bitmap,0,0)
                   
            def do_expose_event(self, widget, event,allocate = False):
                    if allocate:
                            context = allocate
                    else:
                            context = self.window.cairo_create()

                    if allocate:
                            context.set_operator(cairo.OPERATOR_DEST_OUT)
                            w,h = (self.allocation.width, self.allocation.height)
                            context.rectangle(0,0,w,h)
                            context.set_source_rgb(1,1,1)
                            context.paint()

                    context.move_to(0,0)

                    context.set_operator(cairo.OPERATOR_OVER)

                    if allocate:
                            pixmap,mask = self.__pixbuf.render_pixmap_and_mask()
                            context.set_source_pixmap(mask,0,0)
                    else:
                            context.set_source_pixbuf(self.__pixbuf,0,0)
                    context.paint()
           

    if __name__ == '__main__':
            window = gtk.Window()
            window.set_decorated(False)
            a = shapedWindow()
            window.add(a)
            window.show_all()
            gtk.main()

           
     

    Que es lo que hacemos aqui? bien, primero creamos un widget personalizado usando gtk.DrawingArea y conectamos la sennial size-allocate para poder establecer el tamanio de nuestro widget. Una vez llamada esta funcion creamos un pixmap vacio del tamanio de nuestro widget, que es el tamanio que nos ha dado el contenedor padre, este es un rectangulo como de costubre, con un ancho y alto. A este pixmap le sacaramos el cairo context, sobre el cual hemos de 'dibujar' nuestro molde.

    Como en este ejemplo el widget y su molde de la misma forma estoy aprovechado el metodo do_expose_event para hacer el dibujo inicial y despues hacer las funciones de redibujado en caso de un evento de expose.

    Quienes hacen la chamba aqui? bien, para el dibujo inicial de nuestro widget es context.set_source_from_pixmap(), aunque podriamos usar el mismo set_source_from_pixbuf he detectado problemas con colores en Windows, entonces no lo recomiendo.

    Otro que entra en juego y es el que le dice al widget 'orale cabron, apegate a esta forma' es win.shape_combine_mask(self.bitmap,0,0).

    De ahi, el ponerle contenido a nuestro widget no es mas que un amanipulacion de colores y demas dentro de nuestro contexto cairo. Que, es otro tema del que hablar, como 'dibujar' lo que queremos en nuestro widget usando su contexto cairo.

    Shaped Window widget

    Tamanio Completo

    Ciertamente, el logtipo de Christine es el widget 'recortado' face-smile.png

    markuz | general, Software_Development, stuff, personal, Python, gtk, Pictures, FLOSS | Friday 09 November 2007 5:19pm | Comment on this

    Literalmente....

    Presidencia Municipal y Sector Salud invitan a la población a tomar medidas preventivas y evitar molestias durante la remoción de desechos en el relleno sanitario, acciones que no afectan su salud de la población.

    mas informacion

    markuz | general, personal | Friday 09 November 2007 11:04am | Comment on this

    markuz | general, Internet, personal | Thursday 08 November 2007 10:45pm | Comment on this

    Que chingados esta mal con compiz ??

    What's wrong with Compiz??!!!

    What's wrong with Compiz??!!!

    markuz | general, stuff, linux, FLOSS, ubuntu | Wednesday 07 November 2007 4:04pm | Comment on this

    Para todos aquellos que usen Christine face-smile.png

    Christine Wallpaper

    markuz | general, stuff, personal, christine, Pictures | Monday 05 November 2007 1:59pm | Comment on this

    screenshot3.png

    markuz | general, Internet, personal | Wednesday 31 October 2007 6:23pm | Comment on this

    Que bonito es usar sockets con python. Esta semana he estado trabajando con sockets para crear una interfaz de servidor y clientes que se comunican unos con otros a traves del servidor. En la imagen de abajo tenemos dos clientes, uno tiene su interfaz en GTK+ que es el que corresponde a la termina de la esquina inferior izquierda. Otro cliente es puro texto, que es el que esta en la parte superior, y el servidor es la terminal alargada que esta en el centro.

    screenshot5.png

    Lo que muestran las terminales no es mas que pura informacion loggeada usando el modulo logging de python

    En los proximos dias, ya que tenga el codigo mas limpio vere la forma de ponerlo al publico.

    markuz | general, Software_Development, personal, Python, gtk, Pictures | Wednesday 31 October 2007 6:22pm | Comment on this

    No se a quien va dirigido el mensaje que aparece ahi (centro-derecha), al cliente o a quien se supone hizo la pagina... :-S. Todo me hace suponer que es a quienes han creado el sitio.

    screenshot1.png

    markuz | general, Stupid things, personal, Pictures | Monday 29 October 2007 3:34pm | Comment on this

    Oscar, o ya lo corrigieron y de plano tengo muy mala suerte...

    screenshot2.png

    markuz | general, Stupid things, personal, FLOSS | Monday 29 October 2007 3:31pm | 3 comments

    Pues bien, he dejado de ladito el Slackware un rato para usar Ubuntu, debido a que vaya, ahora entiendo a quienes antes me habian dicho por montones: Yo quiero trabajar, no lidiar con dependencias.

    Dado que siempre tengo que hacer en ICTC, cuando llego a casa pocas veces me intereza estar peleando con la compu, tal como lo hacia en casa, donde siempre tenia chance de hacerlo. Entonces me he instalado Ubuntu Gutsy Gibbon para evitarme estas tranzas y usar el poder de apt.

    Obviamente, me tuve que desprender de toda esa libertad que me da Slackware al no amarrarme del arbol de dependencias, pero es todo en favor de poder chambear o lograr lo queq uiero con el menor esfuerzo posible. Y pense que si lo conseguia todo seria bonito.

    Bien, pues estaba bien perdido. He tenido unos ligeros problemas con Ubuntu. Antier tuve pedos con el controlador que te ofrecen para poder usar las tarjetas Broadcom. el bcm43xx funciona bien, pero no tan bien como deberia. Segun esta cosa si se conectaba con el router al que deberia de conectarse, pero aunque deshabilitaba cualquier otra interfaz de red y agregaba las rutas, el ping al mismo router jamas funcionaba!. Ha. y NetworkManager no me fue de mucha ayuda. Use wlassistant y ndiswrapper para lograr mi objetivo.

    Ok, no fue todo. Resulta que a como tenia mi configuracion funciono bien en su momento, pero al dia siguiente al iniciar, Bolas don cuco Gnome no inicia... o mejor dicho, si lo hace, pero tarda Muuuuuuuuuuuuuuuuuuuuuuuuucho y las aplicaciones tambien tardan Muuuuuuuuuuuuuuuuuuuuuuuuucho a pesar de que el uso del CPU estaba al 0% o cuando mucho al 5% y el load average tambien estaba normal.

    En fin, me hice una cuenta de usuario alterna para probar y nada, no pelaba. Gnome en modo seguro, tampoco, me asegure. Entonces entro en consola a prueba de fallos (simon, si falla la consola quito Ubuntu a la chingada y meto Slackware otra vez.. es mejor pelear un solo dia que pelar todos los dias!)..

    En fin, aproveche e instale xfce y justo cuando va arrancando me dice que no encuentra la ip de cucusa (cucusa es el nombre de mi maquina), voy a echarle un ojo al /etc/hosts y veo que me faltaba el nombre corto para la maquina. se lo pongo y arranga perfecto. salgo de Xfce y entro en Gnome y Jala perfecto.

    Aqui viene el descontento, recuerdo que en Gnome 1.x te avisaba que no podia resolver el nombre del equipo que esto posiblemente te acarrearia problemas. Entonces hacias las correcciones necesarias (tal como me paso con xfce). Por que jodidos lo quitaron?. Si GNOME es GNU Network Object Model Environment, porque jodidos no te avisa cuando hay un error en algun aspecto de red??

    Ok, va una, la segunda sucede cuando llego a Salamanca, Me la volvio a hacer. Llego, conecto la compu a la corriente, arranco, y sopas, GNOME no arranca, Xfce si lo hace y no advierte de nada, muy probablemente porque ahora si resuelve la ip de mi maquina. Problema, la configuracion de red, deshabilite las interfaces de red que tengo, arrango GNOME, abro el NetworkManager y le digo que ahora mi configuracion ha de ser por dhcp en ambas interfaces (eth0 (alambrica) y eth1 (inalambrica)), y entonces si funciona bien.

    Hasta ahorita no he tenido mayor problema que este, pero si es algo frustrante que despues de cambiar mi configuracion de red tenga tantos pedos para poder usar Ubuntu.

    markuz | general, Angry, stuff, personal, gnome, linux, FLOSS, ubuntu | Saturday 27 October 2007 10:02pm | 1 comments

    Banamex ATM error

    markuz | general, stuff, Pictures | Tuesday 23 October 2007 3:45pm | Comment on this

    Hoy he instalado Ubuntu en cucusa en la reunion del Grupo Linuxero del Bajio y hablando sobre ubuntu salio a la luz lo del shipit, el hecho de que en los primeros envios te motivaban a pedir varios CDs para que al menos valiera la pena el costo del envio.

    Tambien estabamos hablando sobre la educacion en mexico, el hecho de que empresas como Microsoft esten dando "Gratis" las licencias de Microsoft Windows y Microsoft Office y de otro software de Microsoft a las escuelas, de forma que los usuarios se acostumbren a usar sus productos y cuando salgan tengan que pagar por las licencias de los productos que usaban en la escuela. Lo mismo que aquel que le regala droga en un principio a la victima para decirle que despues siempre ya no, que hay que pagar "Somos cuates, pero no me chingues...'

    Y entre todo esto, regresamos a la platica de Ship it de Ubuntu, donde salio que Mark Shuttleworth, despues de ver que en todo mundo se pedian cantidades industriales de CDs completamente Gratis de Ubuntu, seguro ha de haber dicho:

    Somos cuates, pero no me chingues

    markuz | general, Stupid things, FLOSS, ubuntu | Sunday 21 October 2007 1:40am | 2 comments

    El Open Day es un día (próximo 16 de Noviembre del 2007) en el cual se dará a conocer a los alumnos de Licenciatura en Informática e Ingeniería en Sistemas Computacionales de la Universidad San Ángel del Sur y a la Comunidad Estudiantil de la localidad las Nuevas Tecnologías en Sistemas Informáticos.

    Específicamente se pretende difundir el uso e implementación del Software Libre como alternativa emergente a productos comerciales.

    Todo lo anterior mediante un ciclo de ponencias sobre las principales áreas de aplicación del Software Libre y complementando dichas ponencias con un Install Fest.

    Mas info: http://usasod.globalyti.com/

    markuz | general, personal, GNU, linux, FLOSS | Friday 19 October 2007 9:39pm | 1 comments

    Perfecto. En esta semana me ha tocado estar trabajando sobre un programita que ando haciendo, el cual debe correr sobre Linux y MS Windows >= 2000. El desarrollo se esta haciendo en Python usando GTK para la interfaz grafica, pero me he encontrado uno que otro problemita con GTK, sobre todo con el manejo de ventanas, aunque el que mas tiempo me ha llevado ha sido el de impresion.

    Gtk+ a partir de la version 2.10 incluye soporte para impreision en Linux y otros Unix'es gracias a CUPS, mientras que en Windows lo hace de manera nativa con el sistema de impresion de Windows.

    Debo decir que en linux esta cosa es la maravilla, En windows no tanto, pero funciona decentemente si tus requerimientos no son tan especiales.

    Los requerimientos para imprimir son estos:

    • Debe imprimir en la impresora por defecto
      • NO debe mostrar el dialogo de seleccion de impresora
    • Debe imprimir en el tamanio determinado por el programa

    En linux, repito, esto es una maravilla, solo le digo imprime usando la constante gtk.PRINT_OPERATION_PRINT y con esto no me muestra el cuadro de dialogo, previamente he creado la operacion de impresion y le he dicho que seleccione la impresora por defecto, en linux, si en settings.set_printer() le pasas el parametro '' usa la impresora por defecto, es mas, si no usas el metodo set_printer usa la impresora por defecto.

    Pero en Windows la cosa no es tan bonita. para empezar Siempre muestra el cuadro de seleccion de impresora (punto menos). Y para acabarla de amolar, aunque tengas una impresora predeterminada y esta impresora este seleccionada mandas imprimir (Alt +m o ENTER) habra un error porque GTK no ha configurado las cabeceras de impresion para mandarle el 'win32-driver', 'win32-driver-extra' y otros parametros fumados de los que Windows sabe. Obviamente, si seleccionas otra impresora y regresas a la que esta por defecto estos parametros son llenados y entonces la impresion funciona "bien". Obviamente, como no queremos que el usuario vea el cuadro de impresion esto no es opcion.

    Lo siguiente es, obtener la impresora por defecto y mandar establecer los encabezados, para esto se pueden valer del modulo win32print

    import win32print

    printerName = win32print.GetDefaultPrinter()
    printer = win32print.OpenPrinter(printerName)
    printerValues = win32print.GetPrinter(printer,2)
    dir(printerValues['pDevMode'])
     

    Y pueden valerse del gtk.PrintSettings.set() para poner los encabezados.

    Esto les sera util cuando ustedes quieran mostrar el cuadro de impresion, a fin de que lo muestre y espere una configuracion por parte del usuari, o en caso de que no se configure nada por parte del usuario, usar las configuraciones por defecto.

    Hasta aqui todo bien, pero, Yo no quiero el cuadro de impresion!, solo quiero que imprima.

    Bien, yo no queria hacerlo asi, pero pues bueno, no hay de otra.

    if os.name == 'nt':
            filename = './ultimafactura.pdf'
            op.set_export_filename(filename)
            action = gtk.PRINT_OPERATION_ACTION_EXPORT
    elif '-d' in sys.argv:
            action = gtk.PRINT_OPERATION_ACTION_PRINT_DIALOG
    else:
            action = gtk.PRINT_OPERATION_ACTION_PRINT
    try:
            response = op.run(action)
    except:
            response = gtk.PRINT_OPERATION_RESULT_ERROR
    if response == gtk.PRINT_OPERATION_RESULT_ERROR:
            settings = op.get_print_settings()
            settings.foreach(funcPrintKeys)
            print "Hubo un error a imprimir"
    elif response == gtk.PRINT_OPERATION_RESULT_APPLY:
            if os.name == 'nt':
                    filename = './ultimafactura.pdf'
                    import win32api
                    win32api.ShellExecute(0,
                                    'print',
                                    filename,
                                    None,
                                    '.',
                                    0)
     

    La solucion ha sido crear un archivo PDF, usando el PrintOperation.set_export_filename() para despues usar win32api.ShellExecute() para imprimir.

    Que es lo que hace ShellExecute?. Bien, ejecutara el comando que tu le des, en este caso 'print' sobre el archivo dado por el siguiente parametro "filaname", el siguiente parametro son los parametros al programa que va a realizar la operacion, el siguiente, el directorio de trabajo y por ultimo un valor entre 0 y 1 que dice si se ha de mostrar o no la ventana del programa que ha de realizar la operacion.

    Para esto, es necesario tener en Windows un programa que pueda abrir e imprimir PDF. Obviamente el mas conocido es Adobe Acrobat Reader, pero Adobe Acrobat Reader es un Monstruo si lo unico que queremos es impresion. Asi que, lo que he hecho es utilizar Foxit PDF Reader, el cual es mucho mas ligero y rapido.

    Y eso es todo, ese ha sido el cucharazo porque GTK por defecto no te utiliza la impresora por defecto, ni te esconde el cuadro de impresion en Windows.

    En fin. el chiste es lograr que las cosas jalen.

    Un ejemplo sencillo de impresion lo pueden encontrar Aqui

    markuz | general, Software_Development, Python, gtk, FLOSS | Friday 19 October 2007 10:18am | Comment on this

    Pues ha sido una semanita bastante ocupada. He tenido bastante chamba lo que me ha mantenido ocupado, pero afortunadamente tambien, ya estoy mas libre y podre relajar los musculos que se me han puesto tensos de tanto estar sentado frente a la computadora.

    Que he hecho?. Bien, pues he estado dandole a CakePHP el cual aun no domino completamente, pero ya le estoy agarrando la onda. Fue un buen paso para volver a programar en PHP del cual ya tenia un ratito que no tocaba en favor de Python. Debo decir dos cosas sobre CakePHP: Si te aliviana un monton la chamba, pero No creas que tendras una aplicacion completamente funcional en 20 minutos, nunca te creas los ejemplos que te ponen al hacer una demostracion de X lenguaje, Y Framework o Z Tecnologia. Lo que te muestran es simplemente la puntita. Obvio, no le quita nada el merito a Cake, con el que vas a empezar a programar en chinga, porque tecnicamente tienes una base (generica) lista, solo falta hacer la base de tu aplicacion face-smile.png .

    Por otro lado, he estado trabajando con una miniboard en ICT Consulting, es interesante cuando tienes que meter video en una maquina muy reducida, de la cual, mplayer con las X se consumen el 80% del CPU. Aunque fue solo para demostracion fue muy padre estar jugando con ello.

    Y hablando de jugar, esta semana he estado jugando con una impresora EPSON FX-880 para poder imprimir en ella usando GTK, jojojo, pecata minuta si es en LInux, pero que tal en Windows? y sobre todo si se supone que vas a imprimir directo, sin darle opcion al usuario a seleccionar la impresora (establecer la impresora como predeterminada y usarla al primer changazo). Y he aqui mi dolor de cabeza, que poca documentacion sobre impresion en Windows para GTK hay... puros enlaces a las referencias y las referencias no dicen nada! nuevo que me fuera util. En fin.

    He regresado al gym, las dos semanas pasadas habia faltado salvo por unos 2 o 3 dias por lo mismo de que habia tenido mucho trabajo. He salido un par de veces a Guadalajara a chambear y conocer, al menos ya se donde comer rico face-smile.png .

    En fin, se me ha acabado que decir, estas dos semanas han sido de chamba. Volvemos a la vida normal de markuz.

    markuz | general | Tuesday 16 October 2007 9:39pm | Comment on this

    He empezado a trabajar sobre cakephp y scriptaculous, por lo poco que he visto esta muy sencillo en el aspecto de casi no escribir nada. Ya veremos con que me salen despues face-smile.png

    Cake + Scriptaculous

    markuz | general, Internet, Software_Development, personal, php | Tuesday 09 October 2007 12:40pm | Comment on this

    Maur0 me referencio hacia , que te pagan por ver publicidad, simple, solo haces click en uno de los anuncios que tienes ahi, esperas 30 segundos y listo, ya te ganaste un barito, que, a principio de cuentas no es mucho, pero sirve como bien lo dijo mauro, para despues comprar unos servicios ahi mismo e incrementar tus visitas. En fin, estoy probando, a ver en cuanto me aburro.

    Si se interesan, pueden probar

    Aqui

    markuz | general, Internet, personal | Friday 05 October 2007 4:44pm | Comment on this

    Paml Treo 700p El dia de hoy me toco configurar una Palm Treo 700p como modem para ser usado en GNU/Linux y en una Nokia 770. Y ahora que veo las cosas me parece que todo ha sido facil.

    En principio de cosas la palm, pese a que se puede conectar a la red de iusacell para poder tener video y obviamente internet, no incluye un software para poder servir como modem, lo que hice, fue descargar la version demo de USB Modem para las Treo. Este programilla nos permite usar la palm como cualquier otro modem conectado via USB en nuestro equipo. El demo incluye el controlador para windows y las instrucciones para Linux, ademas del software que se instala en la palm.

    Una vez instalado el usb modem, se accede a el y se inicia el modo modem en la palm. En Windows, no dire como hacerlo, a preguntarle a los de Microsoft, en Linux, solo es cosa de que nuestro kernel tenga soporte para modems CDC ACM.

    Nokia 770Al momento de conectar el equipo y cambiar el modo de la palm a modem se creara el dispositivo /dev/ttyACM0, si tienen wvdial podran usar wvdialconf para ver la respuesta del modem. A partir de ahi, configuren el wvdial.conf o usen algun otro programa como kppp o el que gusten par aconectarese. Simple no?.

    Para usarlo como modem para la Nokia 770, es casi igual de simple. Lo primero que hemos de hacer es obviamente, configurar el Bluetooth para que se comuniquen ambos dispositivos. La nokia 770 dira que no se puede hacer transferencia de datos, mas que algo relacionado con usar el dispositivo como medio de marcado.

    Luego, hay que crear una nueva conexion, y utilizar el tipo de envio de paquetes (no de datos), en las propiedades de conexion solo necesitaran poner le numero al que se va a marcar, el cual es #777 (para iusacell).

    En la palm, la configuracion del modem ahora debera de ser cambiada a conexion por bluetooth, pero, antes de hacer el cambio se debe deshabilitar el DUN (Dial Up Networking) incluido en la palm, de forma que se use solamente el de USB Modem (que ahora es Bluetooth Modem). Y luego, hacemos el marcado y si todo esta bien, estaremos navegando en 5 segundos face-smile.png .

    Nokia 770

    markuz | general, Internet, stuff, personal, linux, slackware, Pictures, ICTC | Friday 05 October 2007 3:00pm | Comment on this

    Petter Criss  key ring

    Some rock stuff

    markuz | general, stuff, music, personal, Pictures | Tuesday 02 October 2007 10:28pm | Comment on this

    Hoy me fui a comprar un sticker de Pantera bien chido.

    New Pantera Sticker

    markuz | general, stuff, personal, Pictures | Tuesday 02 October 2007 8:01pm | 3 comments

    iusacell's BAM in Guadalajara, jalisco

    Obviamente, coriendo en GNU/Linux

    markuz | general, Stupid things, stuff, personal | Tuesday 02 October 2007 11:02am | Comment on this

    ... Y otros linux.

    Bien, este es un pequenio How to, donde quiero cubrir algunos de los aspectos oscuros en la configuacion del Franklin CDU-680. Este aparatito es un modem EVDO que se conecta por USB y que aqui en Mexico Iusacell lo esta vendiendo como par te de su servicio "Banda Ancha Movil" (BAM).

    Bien, lo tuve que comprar porque necesito conexion a internet desde mi casa y fue la, desde mi punto de vista, mejor eleccion entre los proveedores que hay aqui en Salamanca.

    • Cable: bien, para empezar ni siquiera tengo TV. Como quiera, no importa, lo que me interesa es la conexion. Ok, la mayor parte del tiempo estoy fuera de la casa por lo que no puedo esperar al CableGuy para que me haga la instalacion. Ademas, varias personas me han dicho que el servicio de internet por cable aqui en salamanca esta muy malo. Asi que no es opcion.
    • Prodigy Infinitum: La neta, para lo que yo uso Internet me parece bastante bien (salvo por el costo), no soy muy de descargar los millones de canciones al dia, y generalmente ocupo internet para hacer una que otra tarea, leer noticias y descargar pedazos de software que ocupo. El problema con Infinitum es que tengo que contratar una linea telefonica, y luego el internet, mismo caso que con el Cable, no tengo tiempo y no quiero contratar una linea telefonica!.
    • BAM: Entrega, se supone que en el momento, pero me tardaron un par de dias porque tenian problemas con el inventario. Ventaja: Conexion donde quiera que tenga recepcion de Celular (no estoy amarrado a la casa). Velocidad maxima de 3.1Mbps, promedio entre 80 y 800Kbps, upload entre 80 y 500. Bien, no tuve que esperar mucho, y no fueron a mi casa a instalar nada.

    Bien, ahora que ya sabemos la historia vamos a la parte fea

    BAM Iusacell Para empezar, debes tener un equipo con Windows y obviamente una conexion USB. Por que? porque los de iusacell no te dan el modem activado, asi que hay que activarlo uno. Apenas metiendo el modem al conector USB veras que el sistema lo reconoce como un medio de almacenamiento masivo, es decir, como cualquier otra USB, y por que?, bien, porque es en el mismo modem que se incluyen los controladores para Windows XP y Windows Vista. Entonces, instalar el controlador no tiene mayor problema.

    Luego de la instalacion hay que activar el equipo, hay que abrir la aplicacion que se ha instalado, te pedira un numero para poder continuar, inicialmente el numero es 000000 (seis Ceros). y de ahi te pide un numero MIN y MDN, y el Home SID, si no los tienes llama a iusacell para que te los pasen.

    Ok, despues, el modem se reinicia, y muy probablemente tambien tengas que reiniciar windows, enctonces, tu modem esta activado, y al lanzar de nuevo la aplicacion para conexion veras que te puedes conectar a la red de iusacell y navegar por internet. Hasta aqui todo muy bien (Usuarios de Windows, me deben 100 pesos por leer estas instrucciones, usuarios de Linux, ustedes me los pagan cuando terminen de leer este post).

    En un principio pense que nada mas era de activar y listo, pero no, y me di cuenta porque a pesar de estar siguiendo las escuatas instrucciones que vi en internet sobre este aparato, nomas no funcionaba.

    Para echarlo a andar:

    Tu sistema, al igual que en Windows te reconocera el modem en primera instancia como un medio de almacenamiento masivo. Simplemente ignoralo. y mejor desmonta la unidad (si se ha montado automaticamente) no la necesitaras.

    Luego deberias habilitar el modem usb usando el modulo usb_serial. Pero antes de que vayas de golozo y te lo fletes asi nomas porque si, hay que echarle un ojo a lsusb, que te dira algo asi:

    root$ lsusb
    Bus 2 Device 1: ID 0000:0000
    Bus 1 Device 8: ID 16d8:6803
    Bus 1 Device 1: ID 0000:0000
    root$

    Si notas en el dispositivo 8 veras que es diferente a los demas, entonces, aqui tienes el 'vendor' y el 'product' para ser usado con el moprobe:

    modprobe usb_serial vendor=0x16d8 product=0x6803

    Haz notado que he pusto "0x" antes de los numero que me ha dado lsusb ??.

    Bien, Esto te dice algo de que se ha registrado el dispotivo y que ha sido asignado a ttyUSB0 o algo por es estilo. pero si usas wvdialconf no te va a funcionar. y He aqui el por que:

    Recuerdas que dos veces he dicho que el sistema la reconocera como dispositivo de almacenamiento masivo?. Bien, es porque el aparato este tiene dos modos, modem y medio de almacenamiento masivo. Tipicamente esta en modo almacenamiento, luego, cuando ejecutas tu programa de conexion (en windows) este le cambia el modo y todo parece funcioarn bien. Que pasa en Linux, que nunca le haz cambiado el modo y por lo tanto, aunque el sistema te lo detecte como un convertidor USB Serial el modo Modem nomas no va a pelar.

    Solucion, regresa otra vez a windows, el programa ese de conexion tiene un menu y unas configuraciones, y en la ultima pestania te puedes configurar el modo de deteccion del dispositivo. Esto cambia la forma en que se trabajara el disp. permitiendote ponerle modo Modem y Disco o Solo Disco. Curiosamente, el Solo Disco funciona bien para que esta cosa funcione como Modem en Linux.

    Una vez que he hecho esto, me he hecho lo de arriba y me detecta el dispositivo y me crea loque deberia ser ttyUSB0 y ttyUSB1

    usb-storage: device scan complete
    usbcore: registered new interface driver usbserial
    drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
    usbserial_generic 1-3:1.0: generic c