Visions of Aestia

03 Feb 2005

python IDE requirements

Filed under: JBowtie @ 2:11 pm

I thought I’d record my feelings on what I want to see in a Python IDE. For the moment, I’m quite happy to stick with GEdit, but I might look at pulling something together later.

For GUI development, I want integrated Glade support. Maybe the Gazpacho editor could be built on.

Some sort of GUI similar to jUnit/NUnit for all unit tests. I should be able to hit a button and get a green or red bar at any time, with a tree drill-down to individual suites and tests.

A Refactoring menu that leverages BicycleRepairMan to automate common refactorings. Highlight code, select “Extract Method", type method name, done.

A graphical, single-step debugger. The language has debugging capabilities built in, this should not be hard.

Syntax highlighting and decent indentation management (i.e., automatically adopt what the current file does). Code completion should be trivial to implement using class dictionaries.

Integration with Subversion (using pysvn) for source control commands. Having TRAC bug reports appear as TODO items is a cool extra.

Creating new projects should handle the usual open-source boilerplate (README, INSTALL, HACKING, ….) and allow selection of a license and default indentation policy.

Some sort of distutil magic would be good; especially for modules. Public modules intended to go into site-path versus private modules intended for a single application.

That’s all I really need. It’s not a huge feature list and one could leverage plenty of existing projects for most of the functionality. Like all good Python projects, it’s just about tying together good libraries.

21 Dec 2004

X woes

Filed under: JBowtie @ 10:17 am

So, here’s the problem that has been plaguing our Linux box. Thanks to the current state of things in the X Windows (you know, the GUI) world, there are any number of things that can go wrong.

First of all, NVidia has split their driver into two pieces; there’s a kernel bit and an X-specific bit. If the two get out of sync, X will not start. It’s very easy to diagnose, but still a problem. Why does it need to be in two pieces?

Secondly, although all the other parts of the system support hotplugging, X does not. It only knows about things in its config file, and panics if it can’t find something.

I have a USB tablet. If I enable it in the X config file, X will refuse to start if it is unplugged at boot time. If I disable it in the X config file, I can’t use it because X does not recognise it when it is plugged in.

In other words, X is very, very brittle. It breaks *way* too easily in very common configurations and makes upgrades a hassle. It’s nice that I no longer have to manually set the monitor refresh rates, but honestly it should just work.

Now, the folks who maintain the X11 tree are not nice people and have long resisted any important improvements. However, the X.org people have a much more welcoming attitude and have made huge strides in the last couple of releases, including a modular version of the code and a compositing manager that enables lots of cool effects.

So, my position is that the single most important feature right now is getting hotplug working. I should no longer have to think about my keyboards, mice, tablets, or monitors; if they’re plugged in and supported, they should just work in my preferred environment. I’ll obviously have to join their mailing list and get on their case; but in this day and age, I shouldn’t have to.

28 Nov 2004

Missing book

Filed under: JBowtie @ 1:07 pm

I notice that there is no real, solid guide to using Glade to meet the HIG. I mean, the guidelines themselves have examples embedded, but I think there needs to be a solid, start-to-finish guide showing all the guidelines mentioned.

It would be especially nice if it gave tips on what needs to be done in code (such as making labels the same size) versus what can be done purely through layout.

23 Nov 2004

Writing PyGTK applications in a visual way

Filed under: JBowtie @ 1:52 pm

Writing PyGTK applications in a visual way

This tutorial is a good primer for anyone contemplating application development. Just remember to follow the GNOME HIG, which of course the tutorial doesn’t.

The bit where the write a fully functional graphical web browser in less than 100 lines should get you thinking about Python seriously.

Powered by WordPress