Older blog entries for RickMuller (starting at number 42)

My interest in wxPython continues. I've now released PyCheckbook as a wxPython application.

Movies Saw Eternal Sunshine of the Spotless Mind over the weekend, and haven't enjoyed a movie this much in years.

Python and Graphics Posted a question to comp.lang.python a while back, and got some good responses on it. I'm looking for a set of widgets that play nice with OpenGL and have cross-platform support in Python. The responses to the posting led me to wxpython, and I've been playing around with it, mostly by making my PyCheckbook program work with wxpython.

Thus far I'm really impressed, particularly with wxGlade, the builder for wxpython, which I find even nicer than Glade.

But even apart from wxGlade, wxpython has a nice professional feel to it, like it was designed rather than just thrown together. I'm really enjoying it thus far.

Well, it's official: Spaulding Gray is really dead. I had hoped that the preliminary reports of this were somehow false. Sad that a brilliant man is gone.

A few interesting links today:

A Byte of Python is an introductory Python text that is released under a Creative Commons license.

Hey, coffee is a health drink!

PyOpenGL: I recently came across the following error while building PyOGL on RH9.0 under both Python 2.2 and 2.3.2 warning: error while loading Togl.so: can't find package Tk 8.1 'setup.py build' worked fine, I only saw this error upon running 'setup.py install'. I'm running Tk8.3, so I don't know why it's looking for 8.1. I've built PyOGL on Mac OS X/fink and RH8.0 and have never before seen this problem. I googled the error and found a couple of other occurances of this error (e.g. here), but no suggested work arounds.

Got a response to this from Mike Fletcher, who referred me to this web page, where Craig Kaplan posts the following:

 
 One of your brave fellow students provided her laptop in what 
 proved to be a successful PyOpenGL linux building experience. 
 Here are some simple instructions.  They should work for, say, 
 RedHat 8/9 and Python 2.2 or 2.3.  I'll assume you're using 
 Python2.2 for these instructions -- the substitutions for 2.3 
 should be obvious. 
  
   1. tar xzvf PyOpenGL-2.0.1.07.tar.gz 
      cd PyOpenGL-2.0.1.07 
      python setup.py install 
  
 At this point we'll get to that mysterious "can't find Tcl 8.1" 
 error that some of you have experienced.  But a lot of the 
 files we need have already been installed. 
  
   4. Edit the file "setup/togl_setup.py".  Look for the lines 
  
       # make package index for tcl/tk 
       if not dry_run: 
  
      Change "if not dry_run:" to "if 0:" to disable the block of 
      code that follows. 
  
   5. Edit the file 
      "/usr/lib/python2.2/site-packages/OpenGL/Tk/linux2-tk8.3/pkgIndex.tcl" 
      (the name may be slightly different for you).  Add the following lines 
      to the end of it: 
  
 ------------ CUT HERE -------------- 
 if {![package vsatisfies [package provide Tcl] 8]} {return} 
 package ifneeded Togl 1.6.0 \ 
      [list load [file join $dir Togl.so] Togl] 
 ------------ CUT HERE -------------- 
  
   6. Go back to the PyOpenGL-2.0.1.07 directory and re-run 
      "python setup.py install".  This time the installation should 
      run until the end. 
  
   7. Don't try to test that it works from within the PyOpenGL 
      source directory -- it fails for some reason.  Switch to 
      a different directory and try "from OpenGL.Tk import *" 
      from within a Python session.  You shouldn't get any errors, 
      and a small window should appear on the screen. 

Python editors:

Found a thread on Python editors in this article. Made me think a bit about my own environment, which is Emacs with the Emacs Python Mode, which I'm happy with. But I'd be interested in an editor that supported folding, such as SciTe, Leo, or the PythonCard Editor. This Page has an extensive list and links to all editors. There's a thread here about implementing a folding mode in emacs, which is probably the way I'll have to go, since I'm too much of a mossback to change drastically.

After reading stories all year about the ascendancy of desktop linux all year, this story about IBM's plans to port MS Office to linux is one of the first that I think justifies the desktop linux hype. It is clear that to co-operate with other users, MS Office is essential. Alternatives like OpenOffice, though improving and interesting, simply are not viable yet for most non-nerd users. This is why the IBM move is a significant one. IBM has the business acumen and the corporate infrastructure to pull something like this off. I think with a real MS Office port, desktop linux is a real possibility for most computer users.

That being said, Macintosh OS X already has a compatible MS Office, and it isn't exactly taking over the desktop market, despite a look-and-feel vastly superior to either Windows or any of the Linuxes. I've been using OS X for years, and find it satisfies my Unix hacker side and my make-my-manager-happy side with ease and finese. I think functions like NetMeeting (still missing on OS X) might need to be included for a real business user to contemplate switching, tho'.

But it's an important step, maybe the most interesting news on alternatives to Windows since Apple bought NeXT and brought Steve Jobs back into the fold.

Obviously I'm not posting enough. Here are some interesting links:

C&E News reports Angstrom resolution of nanofiber growth. The work was done by (among others) Jens Norskov, a brilliant experimental/theoretical physicist in Denmark. It's a great example of how theory and experiment can work together well.

As someone who has been in too many pointless meeings, I found this article brilliant.

Good article by Mark Lutz about programming mistakes in Python.

s it just me, or does it seem like half of the *NIX packages expect prefix to be /usr, and the other half expect it to be /usr/local?

Biggles is a great plotting package for Python. I've been using the Gnuplot/python module for years, but biggles is a much cleaner, much easier to use program. Now if I could only figure out how to do double-y plots...

The PyGtk GLArea bugzilla page has again been updated. It appears that this was a problem on Linux, except that the problem manifested itself as never crashing, as opposed to OS X, which it always crashed. In any case, I think that the pygtk code can now be safely patched and committed.

12 Jan 2004 (updated 12 Jan 2004 at 21:01 UTC) »
Gnu Multiprecision library bindings in Python The gmpy module contains bindings for the gnu multiprecision library. The release notes say that it only works for Python 2.3, but I successfully got it to work on Python 2.2. Way, way cool.

For example, the following is an implementation of the Lucas-Lehmer test for Mersenne primes:

def lucas(p):
    "Test whether 2^p-1 is a Mersenne prime"
    s = 4
    val = pow(2,p)-1
    for i in range(3,p+1): s = (s*s-2)%val
    return not s
Using normal python long integers, this routine is an interesting toy, but not much else. However, with the gmpy libraries, you can grind away until your Powerbook G4 burns your lap:
def lucas_gmp(p):
    "Test whether 2^p-1 is a Mersenne prime"
    from gmpy import mpz
    s = mpz('4')
    val = pow(2,p)-1
    for i in range(3,p+1): s = (s*s-2)%val
    return not s
Way to go, Alex and Gustavo!

Nova episode on Mars Spirit Just watched the recent Nova episode on the recentMars Spirit landing. Almost didn't watch it, since I thought I knew everything about the mission, but was incredibly moved by the episode. If you haven't seen it, track it down.

Pie-thon You just have to love the Pie-Thon which pits the Python interpreter against Parrot, which started as an April Fools Joke. Guido doesn't seem to be particularly worried, but he may be suprised. What's good for Python is good for me, and this is very good for python.

Hydrogen economy criticized? The current issue of the The Utne Reader has a reprint of an article by David Morris from Alternet critical of the hydrogen economy (paid subscription required, but the author voices similar views here.

One of the central points of Morris' criticism is that the hydrogen economy is not in general a renewable technology, and that lots of hydrocarbons will need to be reformed to produce hydrogen gas. But one thing that Morris fails to take into account is that methane is currently a waste product of petroleum drilling: lots of methane is produced by drilling for oil, but since methane is a gas, and thus expensive to transport, it is usually flared at the oil field rather than being used for fuel. Despite a great deal of effort in the chemical community via Fischer-Tropsch catalysis or low-temperature methane-to-methanol catalysts, there is still no efficient way of using methane produced in this manner other than reforming to produce hydrogen and carbon monoxide ("town gas" or "syn gas").

Reforming may not be the ultimate answer, but if you're going to release the carbon from methane into the atmosphere, why not get some energy out of it first?

AlanHorkin: I couldn't agree more. And there are different levels of computer illiteracy as well. Just to take an example of something that I know something about, it used to be that most people who had a Ph.D. in quantum chemistry, computational materials science, or computational physics could actually write software, but this ability is harder and harder to find, as more Ph.D. theses are done using canned software. The reason that I bring up this (extremely narrow) example is that I think if the technically elite aren't fully literate, what does this say about problems with every day computer users?

Thank the god of your choice for things like LEGO Mindstorms that, by making programming fun, and by giving tangible benefits of that programming to everyday people, introduce many more people to programming than ever would otherwise see the insides of a piece of software.

Robocode over at IBM dev works has the same idea in a pure software approach. When my son is ten I'll probably look for something like this to teach him programming with.

I also really like what the people over at VPython are doing.

I highly recommend the article from David Pogue available here.

Ironically, today's Dilbert strip touches on a similar issue.

Both of these touch on what Pogue calls passive agressive robbery, the fact that if there are problems with a rebate, or a billing to a health care provider, that most people will only pursue the issue so far.

I've been burned by this time and again. I stopped shopping at Circuit City because twice now I've bought items counting on a rebate that never came through. I think that this will be an increasingly common problem.

33 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!