tramas4life.tk  LinuxMan  Adlair Cerecedo  Zodman  eric  mario  jmflores  paco revilla  maikool  GNU México 

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

    Con que desarrollas interfaces graficas

    Vote 71% [10]
    Vote 0% [0]
    Vote 7% [1]
    Vote 7% [1]
    Vote 7% [1]
    Vote 7% [1]
    Vote 0% [0]

    Uploads from markuz

    office workplace

    markuz posted a photo:

    office workplace

    office mascot

    markuz posted a photo:

    office mascot

    damian

    markuz posted a photo:

    damian

    manuel

    markuz posted a photo:

    manuel

    Pako

    markuz posted a photo:

    Pako

    How Much Is Your Blog Worth?


    My blog is worth $19,194.36.
    How much is your blog worth?

    Recent Comments

    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.

    markuz | general, Software_Development, personal, Python, gtk, FLOSS | Saturday 17 May 2008 10:24am | Comment on this

    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.

    markuz | movies, personal | Monday 05 May 2008 12:22am | 1 comments


    Home workplace, originally uploaded by markuz.

    This is my workplace at home. Whats yours?

    markuz | Stupid things, personal, Pictures, FLOSS | Sunday 04 May 2008 11:00pm | 1 comments

    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


    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.

    markuz | Software_Development, stuff, personal, Python, christine, FLOSS | Saturday 03 May 2008 11:38pm | Comment on this


    Bootchart, originally uploaded by markuz.

    Tiempo record arrancando Ubuntu Gutsy en mi maquinita con un AMD Mobile Sempron de 1.6Ghz, 1Gb de ram (menos el video) y ReiserFS.

    Cuanto haces en tu maquinita??

    markuz | Stupid things, stuff, FLOSS, ubuntu | Saturday 03 May 2008 1:20pm


    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...

    markuz | Stupid things, personal, Pictures | Saturday 03 May 2008 9:19am | 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


    Gnome open location dialog, originally uploaded by markuz.

    It is quite usefull, but, where can I configure the key bindings for the gnome open location dialog?? I mean, It nice if I click on the Desktop and press +l then it appears, but it's not the same if I am on any other application.

    You can configure the key shortcuts to show the main menu, or to show the run dialog, you can even configure the shortcut to show your home, but, what about this?.

    If you know how to do it (on GNOME), please, let me know.

    markuz | stuff, gnome, Pictures, FLOSS, ubuntu | Friday 18 April 2008 12:05pm


    P1010539.JPG, originally uploaded by markuz.

    markuz | | Friday 18 April 2008 9:33am

    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
    Online Visitors:7 Today Visitors:380 Total Visitors:66234

    Technorati