drewp for 2005 June

<M
Y> M>

2005-06-10T17:14:16 wx vs tk response:

The following is in response to a link inside http://cain.supersized.org/archives/44-Python-Tkinter-vs.-wxPython.html

--

http://wiki.wxpython.org/index.cgi/Choosing_20wxPython_20over_20Tkinter has a fair amount of FUD.

"""With Tk you pay ['the price'] later, when you're developing applications with real interface requirements."""

That's very easy to say without justification. UI requirements might be in the form of "we need an HSV color picker", but they also are often in the form of "users must be able to see the status of the multi-step operation, and you have 1/2 day to get that feature done". What is 'real' intended to mean, aside from 'whatever wx is good at'?

"""The downside to this is that Tkinter apps tend to look like misfits on every desktop. I can tell just by looking at a screenshot if a program was written using Tkinter."""

That last claim is often untrue, of course. And, we're hardly at the point where the toolkits are so equal that you can simply choose the one that has the prettiest default fonts and border styles. If you're writing programs where the superficial look and feel is more important than other deeper gui toolkit issues, do whatever you want-- our paths probably aren't going to cross.

T 2005-06-26T23:22:44 Baypiggies theater lighting talk:

I spoke on 2005/6/9 at my local Python users group (http://www.baypiggies.net/) about my theater lighting project (http://light9.bigasterisk.com). Then I actually took off to do the theater lighting job, and only now do I have time to write about it.

Matt Harrison already gave a review of my talk http://panela.blog-city.com/drew_perttula.htm as did Dennis Reinhardt http://baypiggies.net/pipermail/baypiggies/2005-June/001026.html (followup at http://baypiggies.net/pipermail/baypiggies/2005-June/001029.html) and Ross Parlette http://baypiggies.net/pipermail/baypiggies/2005-June/001025.html

My talk is at http://darcs.bigasterisk.com/light9/doc/talk.py and it includes some ascii art I did with emacs artist-mode. Launch emacs, type M-x artist-mode and then you can draw things with LMB and change modes with MMB menu. The airbrush mode looks especially nice in syntax-highlighted python code, since it lays down a lot of hashes that turn red.

I was a bit worried about bringing such a specialized application to the piggies group. We normally talk about proper python language issues or more general app stuff, such as web interfaces. I've certainly enjoyed past special-topic presentations, though. In the past, we've had intros to wavelets, analyzing gene data, SNMP, and more. Anyway, I worried that there might not be enough interest in my project and that I'd have trouble keeping the audience entertained for two hours. Fortunately, the questions came quickly and often, which was lots of fun for me. We also ran well past 9:30, which I hope means other people were having a good time too.

Someone asked if I was paid for the project. I did get paid for my time in the theater, although that would have been the same regardless of whether or not my partner and I brought in our own control system or used the theater's own. All the rest of the software development is an unpaid open-source project.

Dennis mentioned the use of ctypes (or some other all-python interface) to access the parallel port that we use to talk to our DMX lighting control server. The proper way to do our parport access would be to use an appropriate linux driver that lets us drive the control pins arbitrarily. Maybe that's a common driver feature- I've never checked. Then our app work would consist merely of some open()s, write()s, and ioctls() which can all be done in python. In fact, I wrote long ago some swig code that uses low-level outb calls to talk to the port, and we haven't felt pressure to change it. Nowadays, there is some pressure to convert the hardware to usb so it can be used with more common laptops.

My final, open-ended topics were on how to do away with the awful system of manual saving and loading of data and on how to generalize my project into components and a 5GL that could be used to easily build a variety of related projects.


[Main]

Unless otherwise noted, all content licensed by Drew Perttula
under a Creative Commons License.