Older blog entries for RickMuller (starting at number 44)

Debian
Debian is a remarkable mix of contradictions. Debian has a remarkable package management system, probably the best linux package management in existence. At the same time, the political battles are unbelievable frustrating and threaten to marginalize the package. Recent resolutions to remove all non-free documentation and firmware from the install mean that Sarge will be delayed until 2005. Woody, the last release, came out in 2002, which means that people using the "stable" (i.e. Woody) branch of Debian have packages that are all several years old, which is a problem for some of us. Now, I realize that anyone can simply can upgrade their installation to "testing" (i.e. Sarge) quite easily, but the fact is that most casual users won't do this. Plus, part of the "cool" factor of any distro is having reasonably up-to-date packages.

That being said, I just did a major reinstall on my home box using Sid, and I am once again floored by how easy it is to maintain a Debian box. I have a hard time using other distros now, since Debian is so effortless.

Is the Software Pricing Model Part of the Problem? I was recently musing about the wonderful Emacs program. Emacs is so stable that most of the time I don't even know which version of the program I'm using anymore. The program has changed very little over the past 10 years because it already includes most of the functionality that most of the people need.

In contrast, Microsoft Word changes drastically every 3 years or so, even though it already contains more functionality than most people will ever use. Why is this the case? Perhaps MS Word changes because MS doesn't get paid unless people buy new versions of the software, so they bloat their code adding more and more features to lure customers to upgrade.

I've always been against the idea of software subscription pricing, mainly because when I buy a piece of code, I want it in my greedy little hands. I want the CD, and, if possible, the source code. However, it occurs to me that the software that I do license (mostly techno stuff like Matlab) is much more stable than the software I buy. Ditto for the free software like Emacs.

Perhaps the idea of buying software is the problem. MS has wanted for a long time to move to a subscription model, and I've always seen this as another attempt to grab more money and power. But perhaps if they were to sell software subscriptions, the MS programmers could spend their time improving the base product rather than chasing creeping featurism.

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?

35 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!