Marco Islas Blog personal http://islascruz.org/html markuz@islascruz.org (Marco Antonio Islas Cruz) 2005-2007, Marco Antonio Islas Cruz Sat, 17 May 2008 10:27:56 -0500 JAWS 0.7.4 <![CDATA[ Creating a gtk custom model ]]> I have been working this week in a new custom model for one of the applications we are developing here at ICT Consulting. We found a problem with many many rows in gtk.ListStore. This is a common problem with Gtk's ListStore and TreeStore. Both are easy to implement and convenient if you are not going to work with too many values. I'm thinking in a couple of thousands. As far as this, the TreeModel is quite usable, but if you use a TreeFilterModel and/or TreeModelSort then you will experience some performance issues.

If what you want to do is just map the main application and then fill the model you can use the idle_add gobject function to iterate over your data and then store it in your model without freezing your application, but it is at the same way, the slowest. You can put chunks of 20 or so, then every time you application runs the callback function will run a small but faster insertion. Anyway, this is still a bit slow.

I have been doing tests with 100,000 rows, in the easy way there are just numbers using a for cycle via a range() result.I think in Gtk, the smaller is the data stored in the model, the faster it goes, because I can insert 100,000 rows in a gtk.ListStore in 7 seconds aprox. while in christine, inserting 2600 row in christine (with more data per cell) takes a lot more.

Anyway, the application that I'm developing shows a list of customers, this is a growing list as new customers are added, in our tests we need to show up to 17,000 customers. Using gtk.ListStore takes at least 17 seconds on my machine just to show it, but we also have a filter model becuse search in a list of 17000 items is not easy if you go looking every row by hand. So, usig the FilterModel takes almost the same time in searching something. Obviusly, waiting 17 seconds for the result is not an option, even worse, you made a mistake and wrote LOPEX instead LOPEZ.

So, I was searching over internet what can I do. I have already use the common 'tweaks' to improve the gtk.ListStore performance and I have reached the 8 - 9 seconds over those 17,000 items, but even with this, its too much time. The search points me to the gtk.GenericTreeModel. This generic model allows you to create a custom model where you can make your own tweaks to improve the performance of your model. In the link above gives you the way to use it. I have alreade created my own custom model and it really relly made the things better.

Now, one of the problems that gtk.GenericTreeModel have are the memory leaks. Using this model you may use lots of memory. This is because the GTM use to create a reference to the value that you are returning as Iter, e.g. you are using a list of lists, where you store the values, every item in the list is a row, then, the index if the iter wich references to the list you are storing in that row. The problem is that the GTM increase the reference count of you node (the list inside of the list) to aviod row destruction and then use the iter. This, in the best will make your values been refered until you destroy your model (and any reference to the data), in the worse the reference count of your data will never been unrefered and then the memory will never be freed.

You can use the invalidate_iters every time you modify the rows (add or delete) to make the rows invalid and then decrease the reference count of the row, and when your data have no more references then be deleted. But, I have the problem that the reference count was never decreased when I destroy the window or the model. Where is the trick here, use the Python's garbage collector, and your memory will be freed.

So, the new model based on PyGtk's GenericTreeModel actually works for us. Inserting 17,000 takes just 1 second, and the search (filter) is the same thing, 1 second is an option. I would like to see everything just appear when you request it, but one second is good for now. And testing with my current christine music list it takes just 0.06 seconds to show the list. Inserting 100,000 items (the easy way, just numbers) takes just 1.164 seconds to get filled with four columns and 2.36 seconds to show itself (creating a filter model and setting it to a treeview), so, for now this kind of optimizations will work for us, there are other optimizations on the Filter model and the treeview, My goal is to create something similar to wat Aaron bockover do with banshee.

Gtk Custom Model

Note: Test times are approximate, cache, cpu usage, load average and other may cause the times change, but at the end give us an idea of what is going on.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Creating-a-custom-model markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Creating-a-custom-model Sat, 17 May 2008 10:27:56 -0500
<![CDATA[ Ironman ]]> Last wednesday, Cristina and I went to the movies to watch Ironman. One of the last heroes movies that I have seen that I like a lot, it is funny, with action, speak barely stuff about scientific thing but just in the comic context.

Robert Downey Jr. performance is good, even when many people says that he wasn't the right actor for the character. I have to say that the character also likes me. I like the fact that in the movie shows the first Ironman suit, wich looks coarse, rustic, inflexible, just like I remember from the "old" pepsi cards 13 years ago. And the reinvented suit looks so nice.

If what you want to see is action then you'll have to wait a bit, because this movie is more about the begins of Ironman, how Stark was kidnapped, how he build the first suit, the scape, the new suit and then the fight against Obadiah Stane who becomes in IronMonger.

Cristina and I went to watch it to Irapuato, because here in Salamanca they have it in Spanish, I haven't see it in spanish, but, I usually don't enjoy the movies in spanish if the can be subtitled.

At the end, is a really nice movie to me, it's funny and with action.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Ironman markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Ironman Mon, 05 May 2008 00:24:34 -0500
<![CDATA[ Home workplace ]]>

Home workplace, originally uploaded by markuz.

This is my workplace at home. Whats yours?

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Homeworkplace markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Homeworkplace Sun, 04 May 2008 23:09:46 -0500
<![CDATA[ twitter ]]> Jusft for the record, I'm on twitter as markuzmx

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/twitter markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/twitter Sun, 04 May 2008 18:41:01 -0500
<![CDATA[ Testing the new christineConf module ]]>

Testing the new christineConf module, originally uploaded by markuz.

I have been working in the configuration module for christine, something similar to gconf, but just for christine. Why? well, many people complains because christine needs the gnome-extras package, where gconf is, and to be honest, christine didn't use all the gconf power, so, there isn't a big reaons to keep gconf on christine.

This isn't the only thing I have been working on. I'm trying to improve many things for the next release. Most of the work wil be in the list, zodman gives me some nice ideas, and I will try to implement them.

Anyway, you are also invited to work with me in the christine development. You can join the maling list for the next release.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/TestingthenewchristineConfmodule markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/TestingthenewchristineConfmodule Sat, 03 May 2008 23:58:14 -0500
<![CDATA[ Pollo asqueroso ]]>

Nasty chicken, originally uploaded by markuz.

Mendigo pollo asqueroso que te venden en el Kentucky de Salamanca, para empezar esta muy descuidado, tardaron mucho y el pollo que compro cristina estaba atascado de aceite, exprimes el pollo y le escurre el aceite, ademas, para acabarla de amolar, ni bien cocido estaba, en la coyontura tenia sangre aun...

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Polloasqueroso markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Polloasqueroso Sat, 03 May 2008 17:50:11 -0500
<![CDATA[ perfect Nick ]]> I love the new maur0's nick:



maur0's nick

Yo solo se, que no se Java

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Magnifico-Nick markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Magnifico-Nick Sat, 12 Apr 2008 10:15:02 -0500
<![CDATA[ PyGTK y Threads ]]> 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.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/PyGTK-y-Threads markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/PyGTK-y-Threads Thu, 10 Apr 2008 18:51:44 -0500
<![CDATA[ Actualizacion del bios Compaq V3017LA ]]> 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)

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Actualizacion-del-bios-Compaq-V3017LA markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Actualizacion-del-bios-Compaq-V3017LA Tue, 08 Apr 2008 22:46:36 -0500
<![CDATA[ Trip to Guanajuato ]]>
DSC07633.JPG

Panoramic View P1010186.JPG

Cristina y yo fuimos a conocer Guanjuato el viernes pasado.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Trip-to-Guanajuato markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Trip-to-Guanajuato Tue, 08 Apr 2008 23:15:08 -0500
<![CDATA[ Algo de amor para cristine ]]> 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

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Algo-de-amor-para-cristine markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Algo-de-amor-para-cristine Tue, 25 Mar 2008 16:50:02 -0500
<![CDATA[ Un mes desde mi ultimo post ]]> 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.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Un-mes-desde-mi-ultimo-post markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Un-mes-desde-mi-ultimo-post Wed, 12 Mar 2008 21:45:49 -0500
<![CDATA[ Translation status ]]> 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!

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Translation-status markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Translation-status Tue, 12 Feb 2008 16:57:22 -0600
<![CDATA[ christine 0.1.5 ]]> 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

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/christine-015 markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/christine-015 Tue, 05 Feb 2008 15:34:41 -0600
<![CDATA[ Damn Spam! ]]>
What da fuck!

]]> http://islascruz.org/html/index.php/Blog/SingleView/id/Damn-Spam markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Damn-Spam Tue, 05 Feb 2008 08:26:06 -0600 <![CDATA[ Dame 10 razones ]]>

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)

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Dame-10-razones markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Dame-10-razones Sun, 13 Jan 2008 17:29:14 -0600
<![CDATA[ Happy New Year ]]>
. Fuck you

Ya en serio...

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Happy-New-Year markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Happy-New-Year Tue, 01 Jan 2008 14:56:23 -0600
<![CDATA[ Back to Salamanca ]]> 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

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Back-to-Salamanca markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Back-to-Salamanca Wed, 26 Dec 2007 14:59:33 -0600
<![CDATA[ Si vas a viajar ]]> Olvidate de pasar por la Central de Autobuses..

DSC07270.JPG

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Si-vas-a-viajar markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Si-vas-a-viajar Mon, 24 Dec 2007 16:08:00 -0600
<![CDATA[ Speed up gtk.ListStore ]]> 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.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Speed-up-gtkListStore markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Speed-up-gtkListStore Thu, 06 Dec 2007 15:24:50 -0600
<![CDATA[ Nuevo Disco duro! ]]> Por fin he instalado el nuevo disco duro a Cucusa:

DSC07183.JPG

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Nuevo-Disco-duro markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Nuevo-Disco-duro Sat, 01 Dec 2007 18:11:12 -0600
<![CDATA[ Mi karma ]]>
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 .

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Mi-karma markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Mi-karma Tue, 27 Nov 2007 22:17:19 -0600
<![CDATA[ Villahermosa, el venecia mexicano... ]]> Unas diapositivas que muestran claramente la dimension de la ultima intervencion de la naturaleza en Villahermosa, Tabasco.

Click aqui para descargar el archivo.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Villahermosa-el-venecia-mexicano markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Villahermosa-el-venecia-mexicano Sun, 25 Nov 2007 15:58:54 -0600
<![CDATA[ Damn... ]]> This looks so nice!

This looks so nice!

]]> http://islascruz.org/html/index.php/Blog/SingleView/id/Damn markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Damn Wed, 21 Nov 2007 14:32:59 -0600 <![CDATA[ Nookietos! ]]>
Nookietos

Nookietos

Nookietos

Nookietos

Nookietos

Nookietos

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Nookietos markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Nookietos Tue, 13 Nov 2007 11:53:30 -0600
<![CDATA[ Widgets 'recortados' en Gtk ]]> 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

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Widgets-recordatos-en-Gtk markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Widgets-recordatos-en-Gtk Fri, 09 Nov 2007 17:59:37 -0600
<![CDATA[ Salamanca Apesta ]]> 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

]]> http://islascruz.org/html/index.php/Blog/SingleView/id/Salamanca-Apesta markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Salamanca-Apesta Fri, 09 Nov 2007 11:04:43 -0600 <![CDATA[ mkzhost.com ]]>

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/mkzhostcom markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/mkzhostcom Thu, 08 Nov 2007 22:45:57 -0600
<![CDATA[ Christine Wallpaper ]]> Para todos aquellos que usen Christine face-smile.png

Christine Wallpaper

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Christine-Wallpaper markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Christine-Wallpaper Mon, 05 Nov 2007 13:59:37 -0600
<![CDATA[ la uno.com ]]>
screenshot3.png

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/la-unocom markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/la-unocom Wed, 31 Oct 2007 18:23:50 -0500
<![CDATA[ Sockets ]]> 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.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Sockets markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Sockets Wed, 31 Oct 2007 18:22:09 -0500
<![CDATA[ Upgrate your flash player... ]]> 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

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Upgrate-your-flash-player markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Upgrate-your-flash-player Mon, 29 Oct 2007 15:34:52 -0500
<![CDATA[ Mi gmail cuenta ]]> Oscar, o ya lo corrigieron y de plano tengo muy mala suerte...

screenshot2.png

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Mi-gmail-cuenta markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Mi-gmail-cuenta Mon, 29 Oct 2007 15:35:30 -0500
<![CDATA[ Primera semana con Ubuntu Gusty Gibbon ]]> 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.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Primera-semana-con-Ubuntu-Gusty-Gibbon markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Primera-semana-con-Ubuntu-Gusty-Gibbon Sat, 27 Oct 2007 22:10:31 -0500
<![CDATA[ USAS Open Day ]]>

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/

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/USAS-Open-Day markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/USAS-Open-Day Fri, 19 Oct 2007 21:39:28 -0500
<![CDATA[ CakePHP + Scriptaculous ]]> 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

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/CakePHP--Scriptaculous markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/CakePHP--Scriptaculous Tue, 09 Oct 2007 12:40:14 -0500
<![CDATA[ Bux.to ]]> 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

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Buxto markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Buxto Fri, 05 Oct 2007 16:51:01 -0500
<![CDATA[ Palm Treo 700p como modem ]]> 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

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Palm-Treo-700p-como-modem markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Palm-Treo-700p-como-modem Fri, 05 Oct 2007 15:04:56 -0500
<![CDATA[ Petter Criss key ring ]]> Petter Criss  key ring

Some rock stuff

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Petter-Criss-key-ring markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Petter-Criss-key-ring Tue, 02 Oct 2007 22:30:00 -0500
<![CDATA[ New Sticker ]]> Hoy me fui a comprar un sticker de Pantera bien chido.
New Pantera Sticker

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/New-Sticker markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/New-Sticker Tue, 02 Oct 2007 20:31:42 -0500
<![CDATA[ Bam de Iusacell en Guadalajara. ]]>
iusacell's BAM in Guadalajara, jalisco

Obviamente, coriendo en GNU/Linux

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Bam-de-Iusacell-en-Guadalajara markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Bam-de-Iusacell-en-Guadalajara Tue, 02 Oct 2007 11:02:19 -0500
<![CDATA[ Franklin CDU-680 en Slackware Linux ]]> ... 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 converter detected
usb 1-3: generic converter now attached to ttyUSB0
usbserial_generic 1-3:1.1: generic converter detected
usb 1-3: generic converter now attached to ttyUSB1
usbcore: registered new interface driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core

Y si usas wvdialconf ahorita te dira que el dispositivo en ttyUSB0 esta al puro pedo para funcionar como modem. Y listo. Si alguien me hubiera dicho esto hace 5 horas ahora estaria dormio y este post seria 5 horas mas viejo.

En fin, algo que me paso a mi y que tal vez te pase a ti tambien es que a pesar de que dmesg me dice que el dispositivo esta en ttyUSB{0,1} en /dev/ no hay ningun ttyUSB* tuve que hacer mis enlaces a manita a /dev/tts/USB0 y /dev/tts/USB1.

Luego, usas el programa que quieras para conectarte, wvdial me ha salido con un fallo de conexion, pero KPPP me ha dejado trabajar a gusto.

En fin, espero que te sea util este pequenio post. Al menos te podria ahorrar un buen tiempo en lo que averiguas porque el jodido aparato no funciona como debe en linux.

BAM

Update: En cofradia.org han publicado que los 3G de Telcel jalan en linux sin mayores problema

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Franklin-CDU-680-en-Slackware-Linux markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Franklin-CDU-680-en-Slackware-Linux Thu, 17 Apr 2008 10:08:51 -0500
<![CDATA[ Christine 0.1.1 ]]> El equipo de desarrollo de Christine se complace en presentarles la nueva version de Christine, 0.1.1, Esta version es una version corregida de Christine 0.1, es decir, no implementa cosas nuevas, solo mejora lo que ya estaba.

Pueden descargar las fuentes de Christine 0.1.1 Aqui, y revisar las notas de liberacion Aqui.

Gracias a todos los que han cooperado con el desarrollo de Christine.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Christine-011 markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Christine-011 Fri, 21 Sep 2007 14:10:38 -0500
<![CDATA[ Usando el widget creado anteriormente ]]> Despues de crear el widget en puesto en el post anterior, hoy me lo he implementado en el sistema que estamos creando en ICT Consulting. El video esta chidin, pero Google lo hace ver horrible. En fin, es solo demostrativo.

widgetTest.ogg

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Usando-el-widget-creado-anteriormente markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Usando-el-widget-creado-anteriormente Fri, 14 Sep 2007 16:45:01 -0500
<![CDATA[ Bon Echo ]]> Me he compilado el Mozilla Firefox, pero sin 'Branding' face-smile.png se me hizo curioso ver 'Bon Echo' en lugar de Mozilla Firefox.

Firefox 2.0.0.6

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Bon-Echo markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Bon-Echo Wed, 12 Sep 2007 11:53:42 -0500
<![CDATA[ 8 y 9 de septiembre ]]> 8. Reunion con el Grupo Linuxero del Bajio en Irapuato Guanajuato.

80907 015.JPG

9.San DOMINGO, dado que ya termine de leer el libro Dracula de Bram Stoker,Muy buen libro, la verdad lo recomiendo. La verdad, lo compre hace como 20 dias, y siento que me tarde mucho en terminarlo puesto que antes de terminar la primera semana ya llevaba la mitad del libro, pero entre chambas y cositas se me paso continuar, o mejor dicho, le baje el ritmo, y lo termine en la semana pasada. Me gusto todo, muy bueno, salvo el final, que se me hizo muy simplon el hecho de la "Gran batalla final" donde matan a dracula. En fin, tampoco hay que esperar un Duro de Matar 4.0 en un libro escrito hace mas de 100 anios.

Para continuar con el habito me compre el libro El Talisman de Stephen King y Peter Straub. Apenas estoy empezando y pinta estar muy bueno.

Aprovechando que era San domingo, me meti en el ex convento de san agustin a leer el libro, no se bien el nombre, porque no tengo muy buena memoria, pero es muy buen lugar pa ir a leer, muy callado, bien ventilado, sumamente comodo.

DSC06996.JPG

]]> http://islascruz.org/html/index.php/Blog/SingleView/id/8-y-9-de-septiembre markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/8-y-9-de-septiembre Mon, 10 Sep 2007 16:29:01 -0500 <![CDATA[ Comprendiendo el error ]]> Recuerdo cuando apenas habia entrado a preparatoria, en primer semestre llevaba la materia de "Taller de Lectura y Redaccion", por un profesor poco amigable, era bueno, pero tambien algo amargadito. Un dia toco examen y yo, no estaba preparado, me fue del banano, lo admito, no soy bueno para aprender nombres, fechas y demas cosas, por algo no soy biologo, medico, historiador o algo en el que tenga que aprenderme muchos nombres.

En fin, reprobe, pero una companiera que por lo general reprobaba aprovo, y no me sorprendi mucho, puesto que supe desde el examen porque saldria bien. Tenia una copia del examen que se habia aplicado a otro grupo, en otras palabras, ya lo tenia resuelto.

Obviamente, yo me moleste con el profesor, le pregunte que por que a mi me reprobaba, yo que jugue limpio y a ella que se copio el examen la estaba aprobando?. El profesor me tiro a loco. En la tarde le comente a mis padres sobre mi resultado, y trantado de justificarme (tratando de aminorar el reganio) les plantee la misma situacion que con el profesor: A mi me reprobaron, pero fue limpio, y a una companiera la aprobaron, pero fue por copia....

Mi papa nomas meneo la cabeza y me dijo: Y a ti que te preocupa si ella aprobo o reprobo, preocupate por ti, y cuanta razon tiene mi padre. Sin importar si mi companiera hubiera aprobado o no, YO estaba reprobado, y no tenia razon, ni motivo para meterla a ella en mi justificacion, el problema era mio, de nadie mas, ni siquiera del profesor.

Por que recuerdo esto?, por el primer post de Miguel de Icaza el dia 7 de Septiembre. SImplemente trata de justificar la licencia de Moonlight y su problema de patentes, como? Sacando a colacion licencias como la de Adobe, Java, Helix Player y Flash Player. Que tiene razon, son licencias mucho mas feas, pero Y QUE?, el tema no son las licencias de Adobe, Java, Helix y Flash; es Moonlight.

Ahora, esto, el mismo Miguel lo puso como respuesta a un comentario:

* What about microsoft patents? If I create my own linux distro or I
> use a distro that is not mainstream or just doesn't have a deal with
> the daemon.. err Microsoft.. like Novell has.. Will I have to suffer
> the shadow of Microsoft patents over Silverlight when using or
> developing Moonlight?

Not as long as you get/download Moonlight from Novell which will include patent coverage.

Que implica esto, que Moonlight no es libre redistribucion, por que? por problemas de patentes.

Ahora, se me vino a la mente, cuando parte de Java aun no era libre (parte, aun no lo es), pero recuerdo a Richard Stallman haciendo referencia de la "Java Trap", Basicamente, no importaba que tu hicieras Software Libre, si, obligas al usuario a utilizar Software Propietario. Es decir, es bueno que tu esfuerzo sea libre, y merece todo el respeto, pero, estas forzando a los usuarios a usar algo que NO es libre, vaya contradiccion no?.

Lo mismo pasa con Moonlight. Puede ser libre bajo la licencia LGPL/X11, pero, de patentes no es libre, y te obliga a usar un software con patentes, y peor aun, si llegas a hacer algun cambio a Moonlight, entonces, No lo puedes redistribuir, o mejor dicho, si puedes, pero, corres el riesgo de sufrir una demanda por infringir patentes, que chido no?.

El software libre, como tal, puede ser libre dependiendo del punto de vista, para miguel de Icaza y novell puede ser libre, si no te importan las patentes, puede ser libre para ti tambien, pero si quieres redistribuir o si (como a mi) te importan las patentes, entonces, No es libre.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Comprendiendo-el-error markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Comprendiendo-el-error Sat, 08 Sep 2007 08:53:36 -0500
<![CDATA[ Sigan de lame bolas ]]> Leyendo planeta GNOME me encuentro con un post de Luis Villa, que finaliza asi:

Remember kids, the copyright license says ‘you can use it without restrictions…’ but the patent license says ‘… as long as you get it from Novell.‘ If you or your company can live with that sort of uncertainty, go for it and use Moonlight; if you can’t, well, don’t say you weren’t warned.

Jaja.. Que bonito, para poder usar Moonlight debes obtenerlo por parte de Novell, face-smile.png Entonces, para mi, No es tan libre.

Update (08-09-07): El problema no es obtenerlo de Novell, Mauro Parra muy amablemente nos hace ver que Novell ha cooperado mucho con el desarrollo de Evolution, GNOME, Mono, XGL entre otros tantos proyectos. El punto es si nos trae problemas la redistribucion de Moonlight. Mis disculpas si no me supe explicar en un principio.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Sigan-de-lame-bolas markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Sigan-de-lame-bolas Sat, 08 Sep 2007 10:46:56 -0500
<![CDATA[ Que pena... ]]> Por los administradores de debian-mx.com por ofrecer cuentas de debian-mx.com hospedadas en windows live, si tanto hablan de Debian o de Linux por que no ofrecieron las cuentas en un servidor con Debian, o ya de perdida, ofrecer Forwards a algun correo que el usuario elija.

Me supongo que todos los que se han ido por el 'tengo una cuenta no oficial de debian, PERO DICE DEBIAN!' de seguro han leido las clausulas, sobre todo la numero ocho, si no, pueden consultarla aqui: http://tou.live.com/es-mx/default.aspx.

Y no es que si las ofrecen en Windows live o Gmail, o el "Me pregunto, quien de ustedes no ha usado algo de Microsoft? el que este libre de pecado que tire la primera piedra face-wink.png ", simplemente le haces aire a Debian, pero basas tu tecnologia en otro, y lo mismo va para el uso de Gmail (que para el caso es la misma gata pero revolcada).

Repito.. Que pena

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Que-pena markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Que-pena Fri, 31 Aug 2007 15:23:23 -0500
<![CDATA[ Grillo ]]>
Cri Cri??

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Grillo markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Grillo Thu, 30 Aug 2007 11:06:28 -0500
<![CDATA[ Moon Moon Moon!! ]]> Ayer que llegue a la casa no habia luz en la colonia (obviamente, tampoco en mi casa),pero que bonita luna habia, asi que le tome unas fotos:

moonmoon

moonmoon

moonmoon

moonmoon

]]> http://islascruz.org/html/index.php/Blog/SingleView/id/Moon-Moon-Moon markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Moon-Moon-Moon Mon, 03 Sep 2007 12:58:16 -0500 <![CDATA[ Yum yum ]]>
DSC06720.JPG

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Yum-yum markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Yum-yum Wed, 22 Aug 2007 15:00:58 -0500
<![CDATA[ Respuesta ]]> Esto Iba a ser un comentario mas, pero creo que seria bueno que estuviera a vista de todos.

Armando: En las escuela esta muy dificil que te ensenien a usar PHP, y esta aun mas dificil que te ensenien a usar Python, mas cabron aun, que te ensenien a usar GTK. Desafortunadamente en mexico las escuelas estan dedicadas a enseniar cosas como Java o .NET porque:

1.- Es un circulo vicioso, los profesores lo saben, lo ensenian a los alumnos, los alumnos aprenden, la mayoria de los alumnos no aprenden otra cosa, y cuando les toca enseniar solo pueden enseniar lo que saben, asi terminan dando Java.

2.- Muchas escuelas estan casadas con Microsoft, asi que por fuerza lo han de dar face-smile.png .

De PHP hay infinidad de libros, y tutoriales libres muy buenos por la red, el libro con el que yo empece con PHP es con el de 'Proyectos Profesionales con PHP' de editorial ANAYA,

De Python, te recomiendo el tutorial de python que esta en la documentacion de python, 'Dive Into Python' y 'How to think like a computer scientist learning with python' .

De Gtk, Hay un tutorial muy bueno en la documentacion de PyGTK.

Un comentario, si piensas aprender PHP para usar GTK, te recomiendo mejor aprender Python para usarlo con GTK.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Respuesta markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Respuesta Thu, 09 Aug 2007 15:38:02 -0500
<![CDATA[ El procesador de 89GHz de Sun... ]]> Mauro Parra Sun, tuvo que hacer un procesador de esas capacidades para que Java pudiera correr decentemente. Aunque eso de abrir las especificaciones es un punto muy bueno face-smile.png

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/El-procesador-de-89GHz-de-Sun markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/El-procesador-de-89GHz-de-Sun Wed, 08 Aug 2007 12:18:35 -0500
<![CDATA[ Cambio de teclado a cucusa ]]> Por fin ayer en la maniana me llego mi regalo de cumpleanios, un reglo que me pedi hace un tiempecito, es un teclado nuevo para cucusa. El anterior teclado ya estaba muy traqueteado, muy desgastado y una tecla en especial (la 'l') nomas se botaba a cada rato y asi no se puede trabajar a gusto.

Cuando pedi el teclado lo pedi en espanol, pero, no habia con quien lo pedi (el equipo de soporte de ICTC) pero habia en ingles, y dije, ps diunavez. Asi que no tengo enies, ni acentos, ni nada de eso (por el momento), hay un triquito que aldo ya me lo ensenio, pero aun no me acostumbro.

En fin, aldo y nibblesmx coinciden en que para programar el teclado en ingles es la reata, asi que vamos a ver que tal le hago, nomas me acostumbro al nuevo teclado.

DSC06899.JPG

DSC06898.JPG

DSC06900.JPG

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Cambio-de-teclado-a-cucusa markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Cambio-de-teclado-a-cucusa Fri, 03 Aug 2007 16:16:29 -0500
<![CDATA[ Gtk Change Theme ]]> Como han de saber soy un "Fans" numero 1 de GTK. Me gusta mucho su apariencia y me gusta mucho programar usando este conjunto de bibliotecas, aunque sea en Python, Bien, Hoy para variarle, me he puesto a trabajar con WindowMaker, WIndowMaker esta bien, me encanta porque

  1. Es muy ligero
  2. Me da la sensacion de que trabajo con otro manejador de ventanas (XFCE me hace sentir que ando en una version rebajada de GNOME, disculpen, asi lo siento, no es malo, claro que no, pero asi lo siento)
  3. Se ve chingon y te consigues viejas de a monton usando WindowMaker tongue.png

En fin. esta chidin el WindowMaker, de acuerdo a mis gustos no para usarlo siempre, pero si eventualmente cuando no quieres cargar todo el entorno de GNOME, lo malo es que las aplicaciones GTK se ven feisimas!!, simplemente porque no tienen ningun theme aplicado, funcionan igual, pero se ven fellonas.

Solucion: gtk+ 2.0 Change Theme. El chunchecito este les deja cambiar el theme de GTK sin tener que arrancar el demonio de configuracion de Gnome, probé otro por ahi, pero como nomas no peló ya se me olvido su nombre, ha si, gtk-theme-switcher o algo asi. En fin, si usan algun manejador de ventanas que no les pone el theme en GTK, usen este, esta muy bueno, y no me dio broncas en compilada. es mas, no necesitas instalarlo, solo compila y desde ahi corres el gtk-chtheme y listones.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Gtk-Change-Theme markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Gtk-Change-Theme Sun, 29 Jul 2007 14:44:51 -0500
<![CDATA[ Christine 0.1 ]]> Bien, hoy es mi cumpleaños, gracias a todos los que no me han felicidado hasta ahora, y gracias a todos los que ya me felicitaron.

He liberado la primera version de Christine, tal vez no es tan estable como yo quisiera, pero tengo planes par a christine que no van con el codigo que tengo ahorita, asi que lo mejor será liberar esto y empezar a codear en lo siguiente. Si encuentran bugs ya saben Donde reportarlos.

Que cambio con respecto de la 0.1rc2?. Bien corregi varias cosas, y mejoré un poco algunas otras. Las correcciones no las recuerdo ahorita porque por lo general se almacenan en mi memoria temporal. Y las mejoras, pues mejore un poco lo del soporte para estaciones de radio y playlist m3u y el display que ahora usa los colores del theme.

Puedes descargar christine 0.1 Aqui.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Christine-01 markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Christine-01 Sun, 29 Jul 2007 13:29:01 -0500
<![CDATA[ Mr Nico ]]> Simplemente, me gusto este album:

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Mr-Nico markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Mr-Nico Thu, 26 Jul 2007 17:19:32 -0500
<![CDATA[ Christine for birthday! ]]> Bien, no es mi cumpleaños,pero lo va a ser en unos dias, Esta semana he estado trabajando en christine un poquito, el domingo y lunes en algunas partes experimtentales de christine, implementando csoas como Piratearle Metodos a un objeto para hacer empapelados y crear un ambiente de desarrollo mas sencillo. Todo esto es en lo que se esta trabajando y formará parte de christine.

Otras cosas en las que he trabajado es en bugfixes para la version 0.1 y pequeñas mejoras (que he de agregar lo otro). Lo mejor es que ahora christine tiene un mejor soporte para archivos m3u y pls y que tiene un "display" que ahora se dibuja con los colores del theme.

Christine

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Christine-for-birthday markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Christine-for-birthday Thu, 26 Jul 2007 12:56:34 -0500
<![CDATA[ "Piratearle" las propiedades a un objeto en Python ]]> Supon que tienes una clase Uno y quieres que obtenga las propiedades de la clase Dos o Tres, Por que harias esto?, simplemente porque en tu programa no quieres lidiar con

import uno,dos,tres
if "uno":
    refrerencia = uno()
elif "dos":
    referencia = dos()
else:
   referencia  = tres()
 

Y despues averiguar sobre quien haces la instancia en cada parte de tu codigo que requiera una instancia, de hecho, no es escalable, agregar una referencia mas seria doloroso si tu codigo es grande. mejor es hacer un empapelado de las referencias y hacer instancia a una sola, y que esta se haga pelotas de a quien referenciar.

Una forma de acercarse seria usar esto:

class wrapper:
    def __init__(self,modulo):
        moduloobj = __import__("paquete",globals(),locals(),[modulo])
        referencia = vars(moduloobj)[modulo]
        self.__empapelado = referencia()
 

Para obtener refrencias de las propiedades de un objeto usamos getattr, getattr recibe como primer parametro el objeto en el que se buscará la propiedad y como segundo, el nombre de la propiedad en cadena.

    def Query(self,metodo,*args):
        '''
        @param string metodo: Nombre del metodo en cadena
        @param *args: argumentos a pasar al metodo.
        '
''
        met = getattr(self.__empapelado,metodo)
        if callable(met):
            return met(*args) #ejecutamos el metodo y regresamos lo que nos regrese
 

Y tener:

a = wrapper("uno") #o "dos", o "tres"
a.Query("imprimeEsto","Texto a imprimir")

Esto, desde mi punto de vista es ideal, pues tu codigo es limpio, pero tal vez quieres hacer el empapelado sobre un proyecto que ya tiene rato jalando, y que todo se hace referencia a una clase, pero, quieres que esta clase ahora sea el "empapelado". Puedes Piratearle las propiedades a otro objeto, asi:

#!/usr/bin/env python

import paquete

class Pirata:
        '''
        Se piratea las propiedades de un objeto.
        '
''
        def __init__(self,modulo,objeto):
                '''
                Constructor
                '
''
                moduloobj = __import__(paquete,globals(),locals(),[modulo])
                referencia = vars(moduloobj)[modulo]
                pirateable = getattr(referencia,objeto)()
                for i in dir(pirateable):
                        newkey = i.replace("_%s_"%objeto,"_Pirata_")
                        self.__dict__[newkey] = getattr(pirateable,i)
 

Para tener algo asi:

a = test.Pirata("modulo","clase")
a.imprimeEsto("Texto a Imprimir")

De esta forma, no cambias nada en tu codigo que ya tienes, simplemente, en alguna parte de tu codigo, indicas que el "empapelado" ha de piratearle las propiedades a otro objeto que haga las operaciones necesarias.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Piratearle-las-propiedades-a-un-objeto-en-Python markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Piratearle-las-propiedades-a-un-objeto-en-Python Tue, 24 Jul 2007 11:58:34 -0500
<![CDATA[ Gustas? ]]> Breakfast Este ha sido mi desayuno. Notese que aunque aqui en salamanca y no se en donde mas pueda ser muy conocido, en la uno (de one vengo) ta canijo que alguien te venda algo asi, si quieres mucho yoghurt te venden cubetas de a uno o dos litros, pero no asi con platanito, manzana, trigo y durazno. ]]> http://islascruz.org/html/index.php/Blog/SingleView/id/Gustas markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Gustas Mon, 23 Jul 2007 14:44:10 -0500 <![CDATA[ Nice desktop ]]>
July screenthos

Nice desktop

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Nice-desktop markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Nice-desktop Wed, 18 Jul 2007 17:08:35 -0500
<![CDATA[ Vochoneta ]]> Trasero de vocho y trompa de moto..
Vochoneta?

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Vochoneta markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Vochoneta Wed, 18 Jul 2007 17:09:14 -0500
<![CDATA[ Die Hard 4.0 ]]> (...Bruce Willis en el escape del asilo). No, la neta la pelicula esta muy buena, la fui a ver en el cinepolis en Salamanca, Guanajuato. y la neta me diverti bastante, muy tentretenida, y aunque lo tipico son Balasos, balazos, mas balazos y que creen?, mas balazos, y muerte, mas muerte, y mas muerte, y que creen? mas muerte, pues esta bien entretenida, no me aburrio para nada y la verdad la recomiendo.

Los que son frikis informaticos se daran gusto porque la pelicula esta metida en un enredo informatico lleno de gadgets. Mi hermano se volvera loco al ver las Alienware en accion.

Para que no se aburran de tanto leer.

Y si fueran los simpsons:

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Die-Hard-40 markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Die-Hard-40 Tue, 17 Jul 2007 09:04:34 -0500
<![CDATA[ Alo dotpy! ]]> He sido agregado al planetario de dotpy. Espero ver mas gente en este planetario. face-smile.png

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Alo-dotpy markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Alo-dotpy Mon, 16 Jul 2007 08:19:48 -0500
<![CDATA[ Primera semana en salamanca ]]> Mi primera semana en Salamanca, Guanajuato.

Train station DSC06833.JPG

DSC06824.JPG DSC06829.JPG

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Primera-semana-en-salamanca markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Primera-semana-en-salamanca Tue, 10 Jul 2007 11:20:14 -0500
<![CDATA[ Pa salamanca. ]]> Asi es, mañana (lunes) a la 1:45 de la madrugada salgo para Salamanca a chambiar en las oficinas de ICT Consulting. Se me acabó la chamba en casa tongue.png . Ciertamente se avanza mas estando en bola desarrollando que de manera remota, asi que hay que ir para cumplir con lo mandado por el contrato y para convivir mas con la banda de la empresa. A ver si puedo colarme en alguna reunion del grupo linuxero de por allá.

Buscando el escudo del municpio de Salamanca llegue al sitio "oficial" y me doy cuenta que el webmaster o la empresa que fue encargada de crear el sitio del municipio se vio bien pichicada a poner todo en un servidor de miarroba.com. Digo, que no podrian haberse colgado de algun servidor de gobierno, o de perdida comprarse un plan de host para este proposito, no estan tan caros.

Salamanca.gob.mx in miarroba :-S

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Pa-salamanca markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Pa-salamanca Sun, 01 Jul 2007 18:53:12 -0500
<![CDATA[ Work and Fun! ]]> Asi es, he tenido algo de trabajo en esta semana, primero que nada, quiero pedir una disculpa al Grupo de usuarios de software libre de Poza Rica (GNUPR) por no haber podido asistir a las tres ultimas reuniones, me fue imposible, la primera, andaba en salamanca en ICTC, y las otras dos por motivos personales, espero en estas semanas compensar.

Como ya lo mencioné en el post anterior, he estado usando Eclipse por un ratito, no saben lo facil que me ha hecho desarrollar en Python con el plugin PyDev, ojo, aun no uso las PyDev extensions, pero puede que en un rato pague la licencia, dependiendo de que tan bien me sienta en un futuro.

Que es lo bueno?, bien, pues el debugger me ayuda algo, pero el autocompletado, el docstring, el hecho de que analiza mi codigo en el vuelo y me dice si tengo algun error de sintaxis, el crear un modulo o un paquete me queda a un click, el navegador me muestra mis modulos, sus clases y propiedades sean publicas o "privadas". Es un buen chunche muy bonito, muy practico. Ademas, en ICTC usamos svn para manejar las revisiones del software, asi que use el subclipse (el plugin de tigris.org para manejar subversion en eclipse) y todo va sweet, incluso el hecho de que no se hace autenticacion por contraseña sino por llave dsa, muy bonito.

Tambien he estado utilizando Tomboy para mis notas, ya me estoy acostumbrando a usarlo face-smile.png .

En la semana me fui a Huauchinango a renovar mi licencia de manejo, no tengo fotos porque se me olvido la camara (junto con mi celular) en la casa, pero me di cuenta de algo genial, las oficinas de MySpace.com en mexico han cerrado o se han reubicado puesto que el local esta en renta. En cuanto vaya de nuevo, tomare foto a lo que eran las "oficinas".

Creo que es todo por ahora.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Work-and-Fun markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Work-and-Fun Sat, 23 Jun 2007 23:44:40 -0500
<![CDATA[ De vuelta en la uno puebla (otra vez) ]]> Despues de un viajecito de ~9 horas por fin estoy de regreso en la uno puebla face-smile.png , Perdon a los chavos de GNUPR por faltar a la reunion del dia sábado, le había comentado a adlair sobre mi salida pero se me pasó enviarlo a la lista de correo.

Una semana bastante productiva, me ha gustado mucho salamanca, lo veo algo similar a poza rica en el aspecto de que no esta tan grande y el clima es bastante similar, aunque un poco mas fresco. Agradezco a Aldo y Austria por su hospitalidad. Así que pronto estaré por allá trabajando de lleno.

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/De-vuelta-en-la-uno-puebla-otra-vez markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/De-vuelta-en-la-uno-puebla-otra-vez Mon, 11 Jun 2007 21:21:03 -0500
<![CDATA[ OLPN ]]> One Laptop Per Nibblesmx, la nueva organizacion mundial (porque esta en este mundo) que apoyara la nueva adquisicion de nibblesmx, que ha perdido su lapa odin.

Mal pedo nibbs, ya vendrá otra face-smile.png .

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/OLPN markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/OLPN Sat, 09 Jun 2007 12:13:19 -0500
<![CDATA[ Desde Salamanca pal blog :-) ]]> El dia de ayer como a eso de la 12:00 llegue a salamanca, guanajuato, vine por motivos de trabajo y en cierta forma por placer, para conocer las oficinas y a la demas banda de la empresa con quien trabajo. face-smile.png

]]>
http://islascruz.org/html/index.php/Blog/SingleView/id/Desde-Salamanca-pal-blog-- markuz@islascruz.org (Marco Antonio Islas Cruz) http://islascruz.org/html/index.php/Blog/SingleView/id/Desde-Salamanca-pal-blog-- Wed, 06 Jun 2007 09:42:49 -0500
<![CDATA[ Christine 0.1rc1 ]]> Ok, I think christine is getting closer to 0.1, wich will be the fist stable. It complies with my goals: being a media player small and fat free. Everything seems to be fine in my machine, from code in the svn and the code in the tar.bz created by make.

Anyway, I need you to test it before I upload it to sourceforge.net servers.

get it at: