Tags · audio · diy · electronics · games · gnome · instruments · machinima · music · piano · programming · pygi · pygobject · python · skateboarding · ui · usability · video

PyGObject 3.14.0 Released!

PyGObject 3.14.0 has just been released. This is the first major release of the 3.14 series and includes refactoring, bug-fixes, performance improvements, and a few API additions. Thanks to all the contributors and a special shout-out to Garrett Regier for some excellent refactoring and marshaling unification work for Python implemented virtual methods. This work enables out and inout array arguments for Python implemented virtual methods.

PyGObject is run-time binding system for exposing the GNOME platform to Python. This includes libraries like GTK+, GStreamer, Gio, Clutter, and much more.

Notable changes since PyGObject 3.12.0:


The new release is available from ftp.gnome.org and git.gnome.org:

PyGObject 3.13.2 Released!

PyGObject 3.13.2 has just been released. This release fixes many long standing issues and hits a milestone in our testing of having over 1,000 unit tests.

PyGObject is run-time binding system for exposing the GNOME platform to Python. This includes libraries like GTK+, GStreamer, Gio, Clutter, and much more.

What's new in PyGObject 3.13.2:


The new release is available from ftp.gnome.org and git.gnome.org:

bot movie

Back in 2004 I helped out a co-worker on a Machinima movie for the Make Something Unreal contest. The movie was created using the Unreal video game engine and renders in real-time, making for some interesting dynamics (fight scenes are different each time you watch it). We ended up winning first place in the fourth quarter finals and second place in the grand finals.

Or watch on youtube: http://www.youtube.com/watch?v=jnJxzt9jkUU

Rhodes Miracle Mod, Back Check, and Hammer Tips

A lot of rhodes electric keyboards I've played have terrible action, usually sluggish and bouncy. I've installed some mods on mine from vintagevibe.com which transformed it into something very playable:

Most of the techniques for installing this stuff can be found in youtube videos from vintage vibe. But there are a few techniques I found that can help out as well.

Miracle Mod

The miracle mod is by far the most important mod for improving the rhodes keyboard action. This mod places a small bump between the key and the hammer making the contact area between the two smaller. This makes it so there is less friction between the two parts giving a faster and lighter action. Keep in mind this mod should be done BEFORE the back check mod. I didn't do it this way and had to re-adjust all my back checks since the hammers actually sit a little higher up with the miracle mod.

Back Check Mod

The back check mod keeps keys from bouncing back allowing for better articulation and feel. The instructions from vintage vibe are ok. However, there are a few extra bits of knowledge I recommend following:

Hammer Tips

Changing out the hammer tips is fairly strait forward and gives a more consistent and even tone across the keys.

In the Studio

Sk8 or Die

Here is a small movie I made of skate clips from about three years ago and beyond. The last clip was about 10 years ago while I was in Indonesia visiting my buddy Sal. I really need to get back into skating!


Grilled Cheese

This song was created last year after wanting to express some funk on the cheesy side of things. I was also eating a lot of grilled cheese sandwiches at the time :) The song was mostly sequenced drums, bass, and rhodes with improvised clav, lead synth, and organ.

The lineup:


Ill Ruby

A few months ago I built the bassman version of the Ruby headphone amp into an Altoids tin (http://www.runoffgroove.com/ruby.html).

This put me on the constant lookout for project boxes of similar sorts. The can from the illy espresso I'd been drinking stuck out, and I knew it was the right thing for the next version which could also house a small speaker.

The buildout started with the electronics and I wanted to build the amp on to a perf board half the size of the one I used for the altoids amp. As always, soldering all these electronics together can be tedious. The more planning you do prior to buildout the easier the job is. However, if you lack experience in a subject matter (in my case electronics) it takes a certain amount of  trial and error to even be able to plan something.

The speaker I bought was about an inch smaller in diameter than the can, so I needed a large "washer" which could bridge the speaker to the diameter of the can. I went through a few iterations. Trying to cut a sheet metal ring resulted in a jaggy nasty thing that cut my fingers up. A CD jewel case was too brittle and shattered when cut. I finally settled on the plastic from a DVD case which was soft yet rigid enough for this purpose.

Battery Box

A tricky part of this buildout ended up being the 9volt battery accessibility. The bottom is a nice logical spot but how would it be housed and accessible? I looked online for plastic battery boxes which could potentially be inserted and slide out for changing the battery. I really could not find anything that would do what I want or the option was over priced. I opted to build my own using sheet metal. The design is to wrap the battery with the metal but have two tabbed edges stick out of one of the sides that could be screwed into the bottom. I first mocked up the design with paper and used it as a template for cutting out the sheet metal. An important part of this was to line the inside with some left over static foam I had laying around. This kept the battery from rattling around.

Cutting out the bottom of the can was done by first drilling holes on the corners and then slicing it up with an exacto knife:

Installing the electronics in the can turned out to be harder than I thought. Since the knobs and jacks were located at the bottom and my hand didn't really fit inside the can very well, it was seriously difficult tightening it all up. I broke wires off the board on more than one occasion. I decided the top of the battery box was also nice location of the electronics board since I could pull the board out fairly easily for potential maintenance.


I wanted to add custom decals that somewhat matched the style of the existing labels on the can. It took about a week of searching and trial and error to find the right type of thing to do the job. I ended up ordering ink jet water slide decals from: http://www.papilio.com These worked great and were far better then anything I found at retail stores (office depot and a handful of hobby/model shops). One thing I did get from a hobby shop was "microscale liquid decal film". I used this as a clear coat after printing the labels.

(labels shown are from a different project)

The instructions that come with the paper are pretty good but here's some extra trial and error I went through.

Some of the thoughts I had in regards to usability of the amp:

I also had thought of somehow hiding all the controls under the lid or on the bottom. But this would have been difficult and I think it looks cool with the knobs sticking out the sides allowing the original label to be fully displayed. However, it is a little hard to use this way because the knobs are hard to turn with one hand (using your right arm you have to twist your arm to turn the knob on the left side or vice versa). Having the knobs close together would have been a much better decision as would allow you to easily tweak combination's of gain and output volume to get different effects.

Final Product:

Using Colors for Interface Associations

The usage of color in user interfaces often used to associate items with meaning. This can help minimize complexity of data representation (by avoiding a lot of text everywhere). For instance, the usage of a legend where a certain color can mean something special. The problem with this usage is the color and its meaning are usually of arbitrary correlation. Legends in general can help solve the problem of complexity at the expense of usability. You have to keep track of impossible to remember icons or colors in your head and constantly look back to the legend while scanning data.

Similar problems exist between correlating input controls with the devices output. We are surrounded with devices that have terrible design in regards to input and output associations. The classic example being the kitchen stove burners. The knobs are generally layed out in a horizontal row while the burners are in a grid. Making an intuitive correlation impossible between knob and burner. To aid this there is an icon next to each knob, however, there is still the problem in that the user needs to translate the vertically positioned icon into the top down space of the burners for the icon to have meaning. Essentially, all this results in everybody constantly choosing the wrong knob for the burner they want. I still get it wrong everyday and I am cognizant of the situation!

I was equally annoyed after purchasing a Roland KC-350 keyboard amplifier. Like all the other crap I've purchased based on bullet point feature lists, I found it had some serious usability problems. Particularly, the four channel stereo mixer was difficult to use do to its lack of input knob to input jack correlation. Generally this is fairly intuitive with mixers as each channel strip is arranged so its input jack is directly in line with the channel controls. In the case of this amp, the knobs were obscured and offset based on odd numbers of knobs verses jacks. The first three jacks are associated with the CH1 knob, the next two jacks are CH2, etc... They attempted to associate knobs with jack grouping by using numbers... I consider this a serious design failure on rolands part. My bass player gets it wrong every time and needs assistance after plugging in his bass and trying to figure out why the volume knob does not do anything for the channel he's plugged into.

A buddy of mine was showing me this funky piece of gear: Maestro Woodwind Sound System I was pleasantly surprised when I saw audio electronics which used color very successfully to correlate groupings of buttons to a grouping of knobs. It is immediately obvious and and intuitive which volume knobs affect which sound group buttons. No need to read a manual here. And it gave me an idea that a similar technique could be used to correlate lots of seemingly disconnected UI elements in general. While this example might not be considered the most tasteful (personally I love the 60's and 70's look), the usage of color is not visually distracting which is the case with a lot of UIs that utilize color. I believe color can be used tastefully in certain cases to denote association and make things very intuitive.

Retro Keyboard Stand from Ikea Stool

Retro legs for my nord keyboard that look nice and give more room for pedals. I also had a crappy ikea stool I never used which had the perfect legs.

Parts List: