Category Archives: Python

Using the Mongo wire protocol for API services

So the startup I work for uses Mongo. I have my own opinions of Mongo,
some good, some bad. I have a decent amount of experience with the wire
protocol. I’ve written an asynchronous C driver[1] for GObject, rewritten a
python-twisted driver[2], and my own BSON implementation. We wrote ourselves
a “schema” verifier for Mongo that works offline against [...]

My take on Tornado and "modern" web servers

I am happy to see Facebook release Tornado, their Python based web-server that was developed to run the FriendFeed service. They have done their best to optimize the stack within the Python process. However, I’m inclined to believe that it is more of the same problem from which many HTTP toolkits suffer.
Since Tornado [...]

Faster code completion

The python code completion engine in MonoDevelop is now much faster. It’s was a simple fix and one that I think gets overlooked too often in these “dynamic” days.
Thankfully, python makes it easy to index information based on a fully-qualified name. Everything can basically be represented in package format such as “xml.etree.ElementTree.ElementTree.isinstance”. [...]

MonoDevelop Python Tutorial 1

I put together a quick walk-through of how to setup the Python add-in for real Python development. You will need a recent check-out of MonoDevelop trunk.

Python add-in for MonoDevelop (Updated)

I wrote a python add-in for MonoDevelop last year. Unfortunately, I have a hard time sticking to a single project and therefore it suffered a bit. However, we are getting ready for feature freeze for MonoDevelop 2.2 and so I kicked my ars in gear to fix a few things.
Namely, the code completion [...]

Short on talk, Long on screenshots

I branched Thomas Wood’s GObject generator code the other day and started adding some desired features.

Select a license including LGPL-2, GPL-2, MIT-X11, Apache 2.0, or no license
Generate gtk-doc in-code documentation
Generate and install GObject properties including proper switch casements for basic glib types
Generate getter and setter methods for GObject properties
Generate methods and include guards in the [...]

Ethos – Simplifying Plugins for GNOME Applications

Plenty of desktop applications have extension frameworks so that users may extend functionality for their own purposes. However, many seem to invent their own plug-in system or use a framework tied to the applications source code language. For example, there is pkg_resources for python and Mono.Addins for mono. Both are great tools [...]

GTask Slides

I just uploaded the slides from my talk on GTask. You can get them here.

GTask API Changes

I’ve made some API changes to the GTask delegates that should make using GTask much less painful. I must have been smoking some seriously good ‘ish when I thought it was a good idea to return GValue* from any sort of delegate. That would have required negotiating allocation methods when an allocation shouldn’t be necessary [...]

Tuesday Mini Hack

I took a break from working on my slides today to do a mini hack that had been crossing my mind. I rarely need devhelps full gui, i just want quick access.

Since I ported gnome-do’s relevance to python last september and wrote the async io file walker, it was a breeze.

It’s a bit slow [...]