Archive

Archive for the ‘Gnome’ Category

FWD: 20 things you can negiotiate in a job offer

September 9th, 2009 Eduardo Silva No comments

I would like to recommend to everyone to read this very interesting post by Stormy Peters called:

20 things you can negotiate in a job offer

Before to look for a new job, read the article, compare your current status and move forward :D

Categories: Gnome Tags:

Monkey benchmark, a really fast web server: Part II

April 23rd, 2009 Eduardo Silva 4 comments

Last week I gave a talk about Monkey Project in Flisol 2009 Guayaquil (ESPOL), Ecuador. I presented a new benchmark of Monkey but now comparing the performance on serving static files with another web servers.

The test was made on my laptop Intel Celeron M, 1.6Ghz, 50000 request of a 200KB file with 20 concurrent threads doing the job, the benchmark was performed with Apache Benchmark.

I compiled the latest stable version of Lighttpd and Apache, the test was made 3 times per server and the result for each one is the average.

Monkey handle 1888 request per second versus Lighhtpd with 1716 and Apache with 1544. Obviously this numbers are not perfect but shows the great performance that 0.10.x is having with low memory usage and low cpu consumption, we still have to do a lot of improvements so stay tunned for more news :)

PyGTK + Threads + Treewiew + TreeModelFilter + TreeModelSort

April 3rd, 2009 Eduardo Silva No comments

Since some days ago, I’ve been dealing with an issue in a personal project at my work, before to detail the issue I would to start with a simple suggestion when dealing with issues:

“Always try to write a separated Test Case to isolate the problem, try to reproduce the issue, maybe you can find your own solution before to get some help from others…”

Some tips when mixing pygtk, threads, treemodelfilter, treemodelsort, treeview…etc

If you want to have a treeview with a model filter and a sort capability, do it on this order

model = gtk.ListStore()
filter = model.filter_new()
sorter = gtk.TreeModelSort(filter)
treeview = gtk.TreeView()
treeview.set_model(sorter)

remember to set the visible_func for the filter.

You want to populate your treeview but while you get your data your UI freeze

No big deal here, your solution? just use threads!, oh!, but wait… what about if you want the following behavior: click on a button, launch a thread, thread get data from somewhere, emit a signal with the data , catch the signal in the main thread and populate the treeview ?. The big problem with this will be the signal which is not emited in the main thread and working with a treeview you can get some intermitent problem like this:

There is a disparity between the internal view of the GtkTreeView,
and the GtkTreeModel.  This generally means that the model has changed
without letting the view know.  Any display from now on is likely to
be incorrect.

This is a very weird problem, is hard to find documentation, but if you are following be above schema, you should do somethink like:

  • Write a gobject subclass like this:

    class _IdleObject(gobject.GObject):
    “”"
    Override gobject.GObject to always emit signals in the main thread
    by emmitting on an idle handler
    “”"
    def __init__(self):
    gobject.GObject.__init__(self)

    def emit(self, *args):
    gobject.idle_add(gobject.GObject.emit,self,*args)

  • Build a subclass of threading.Thread, put the code that get the data under the run method
  • Build a _IdleObejct subclass which will be called by the run method of the threaded class

On that way your signal will be emited in the main thread avoiding disparity issues on the main treeview, if you want to take a look to a working example go here:

http://edsiper.linuxchile.cl/tv-filter-sort.py

Categories: Gnome, Programming Tags:

Looking for freelancer opportunities

December 28th, 2008 Eduardo Silva 1 comment

I decided to work on my free time as a Freelancer developer/sysadmin, I will be available to do task related to:

  • Software Architect
  • C (sockets, threads, epoll, scalability, etc)
  • PHP
  • Python
  • GTK+
  • MySQL/PostgreSQL
  • Linux sysdamin

If you need somebody with this skills contact me using the information found in the About Page

He decido trabajar en mi tiempo libre como Freelancer (desarrollador y sysadmin), estare disponible para realizar tareas relacionadas con:

  • Software Architect
  • C (sockets, threads, epoll, scalability, etc)
  • PHP
  • Python
  • GTK+
  • MySQL/PostgreSQL
  • Linux sysdamin

Si necesitas a alguien con estos skills puedes contactarme a traves de la informacion del About Page

Categories: About me, Announces, C, Gnome, Google, OLPC, Programming Tags:

Gnome Annual Report : Thanks for the printed version!

December 9th, 2008 Eduardo Silva 1 comment

I would like to thanks to Stormy Peters and Rossana Yuen from Gnome Foundation for provide me a printed version of the Gnome Annual Report 2007 which I require to them directly some days ago: THANKS!, I appreciate so much the quick and positive response for my requirement.

As I said before, it was very surprising to me to see a picture of me in the annual report, thanks to JCI for taking that picture.

I will conserve this cool gift :D

Categories: Gnome Tags:

Reading gnome-anual-report 2007

October 31st, 2008 Eduardo Silva 1 comment

Reading the interesting Gnome anual report 2007 I found a cool picture of mine with Fernando San Martin, I didn’t knew it … cool report :)

Categories: Gnome Tags:

Gnome Day in Chile

October 17th, 2008 Eduardo Silva No comments

Next saturday 25th of the current month, as every year after the National Linux Meeting in Chile,  the famous Gnome Day will take place in the Concepción University , but this time it will be part of the  GNOME Latin American Tour 2008!, this cool event will bring you international and locals contributors of the Gnome Project where you will enjoy talks about Art work, development tools, image processing, quality assurance and others. You can see the full program on this page.

If you are curious about how to be part of Gnome and how to contribute, this is your chance, go to http://registro.gnome.cl/ and register/participate for free, there’s no cost associated.

See you there!

Categories: Announces, Gnome, Programming Tags: