Jython about to hit 2.5

An excellent update from one of the Jython hackers (and followup). I particularly liked this:

>>> from __future__ import GIL
Traceback (most recent call last):
(no code object) at line 0
File "", line 0
SyntaxError: Never going to happen!

For me the most useful thing is that Jython SVN now supports decorators. I use decorators fairly extensively in my Python code, and they were the main thing blocking me from using Jython more widely.

Some people may wonder – why Jython? One reason is that the tooling around the JVM is awesome. JDWP (and clients like Eclipse‘s debugger) blow away gdb. For a while now I’ve been trying to debug a periodic lockup in a multithreaded Python process, and it’s been immensely painful with gdb. There are a lot of other extremely useful FOSS tools for heap analysis, profiling, etc. Even if your entire world currently runs on Python, and you aren’t interested in easily taking advantage of some of the other awesome JVM software out there like Hadoop, running on Jython makes sense alone just for OpenJDK being among the best Free VMs out there.

The forehead mashing method

I liked this blog entry from Planet KDE. That entry reminded me to talk about one way I like to think about how to improve the user experience with software – and that is by what I call the “forehead mashing” method.

This is where as you’re developing software, write out a few problems that you’re trying to solve. Then, for every step the user is required to make – for every dialog that pops up, for every few seconds of keystrokes, every dialog to click, every checkbox to check…lower your head onto the desk and hit your forehead.

You don’t have to do this with a lot of force. Just enough so that you feel it.

This calls for several head-desk hits

One of the top things that will quickly make your forehead sore are Wizards/Assistants. The way I think of these is that the programmer is so proud of their work and they think it’s so awesome and complicated that they want you to acknowledge it.

What if programmers inflicted these kinds of things on ourselves? Say in gcc.

If you all keep making wizards, I’ll create this patch for GCC

It’s not just wizards of course that are the source of pointless user time spent reading text and clicking buttons; random dialogs are another source. Often with some thought, it’s really not hard to reduce and simplify.

This is davidz’s theme, don’t blame me

So I promised in the comments in my previous post that I would do something to reduce the pain from the notification bubble I added; to keep the universe in balance as it were. So I’m happy to say that in Fedora rawhide now, the above dialog is no more. It was just a bad idea, and you will never see it again.