I've sort of let this blog lie fallow while my attention was distracted by having a new baby, playing shiny guitars, twittering, making podcasts and YouTube videos, and other distracting things.
I am excited to see that Real World Haskell has gone to press, and so I am reading the electronic edition while waiting for the print edition to arrive. I had read some of the draft chapters, but it has changed considerably!
For those interested, I recorded audio during the birth of my newest child, Joshua Gregory Potts, born just under three weeks ago. I am turning this into a series of podcasts along with the tweets I sent out during the birth. I won't spam you with a lot of links, but here is a link to The Potts House General Purpose Podcast. Over on Geek Like Me Too you can find baby pictures, some serious and some silly.
I am learning to live with sleep deprivation again! So, these days, Twitter seems like a more appropriate medium for the short attention span which is pretty much all I'm capable of at the moment. If you are so inclined, you can find me on twitter as "paulrpotts."
17 November 2008
02 September 2008
Summer's Over
My son Isaac started high school today, so it must be true.
Here is my first YouTube video: the Potts family vacation in Grand Marais, Michigan and other points north this past week, set to Jonathan Coulton's Creative Commons-licensed song "Summer's Over."
Here is my first YouTube video: the Potts family vacation in Grand Marais, Michigan and other points north this past week, set to Jonathan Coulton's Creative Commons-licensed song "Summer's Over."
22 July 2008
Cross-Blog Information and Introductions
In order to try to avoid boring people with material they aren't interested in, I have divided my writing up into five separate blogs. The downside to this is that I have a tendency to wander from one area of interest to another over the course of a typical year, so it may look like I've dropped off the face of the earth. In case anyone is interested in following what is going on in one of my other blogs, I thought it might be useful to post this road map once in a while.
Geek Like Me Too is my general-purpose personal blog. The most recent postings are about a recent Jonathan Coulton concert in Pontiac that I attended and recorded. I have provided recordings of the show as a set of MP3 files, of interest to geeks who like music.
Geek Like Me is its predecessor, done in Blosxom, now still up only for archival purposes.
Geek Versus Guitar is about guitar playing. Recently I've recorded a few Jonathan Coulton songs myself. It will also be about learning to produce songs with my home studio.
Praise, Curse, and Recurse is about programming topics, mostly Haskell, Python, and Scheme. My free time has been devoted to other things but I will no doubt be back around to programming before too long.
The Marcella Armstrong Memorial Collection is about my family history, and the big task of scanning, restoring, preserving, and archiving family photos and documents. Of interest to any family members, but also of possible interest to people doing their own similar projects.
Tales from the Potts House: William Hope Hodgson contains information about the "Hodgecast" podcast available on iTunes, in which I record classic William Hope Hodgson novels and stories. I have more podcasts planned in both this series and possibly others in the near future.
Anyway, there it is... please join me on any of these blogs that might catch your interest. I always have far too many projects going at once!
Geek Like Me Too is my general-purpose personal blog. The most recent postings are about a recent Jonathan Coulton concert in Pontiac that I attended and recorded. I have provided recordings of the show as a set of MP3 files, of interest to geeks who like music.
Geek Like Me is its predecessor, done in Blosxom, now still up only for archival purposes.
Geek Versus Guitar is about guitar playing. Recently I've recorded a few Jonathan Coulton songs myself. It will also be about learning to produce songs with my home studio.
Praise, Curse, and Recurse is about programming topics, mostly Haskell, Python, and Scheme. My free time has been devoted to other things but I will no doubt be back around to programming before too long.
The Marcella Armstrong Memorial Collection is about my family history, and the big task of scanning, restoring, preserving, and archiving family photos and documents. Of interest to any family members, but also of possible interest to people doing their own similar projects.
Tales from the Potts House: William Hope Hodgson contains information about the "Hodgecast" podcast available on iTunes, in which I record classic William Hope Hodgson novels and stories. I have more podcasts planned in both this series and possibly others in the near future.
Anyway, there it is... please join me on any of these blogs that might catch your interest. I always have far too many projects going at once!
03 April 2008
Snakes on the Wing
So far, Wing IDE gets the nod as the best Python editor I've tried. I had a very productive day with Wing IDE on Windows, and it worked great, with no crashes, and very nice debugging functions.
WIng IDE for MacOS X is an XWindows app. This makes it very slightly un-Mac-like, but it makes up for it by having some nice GUI themes. I haven't yet exercised the Mac version very hard, but it seems quite nice so far.
I'm grateful for all the recommendations!
WIng IDE for MacOS X is an XWindows app. This makes it very slightly un-Mac-like, but it makes up for it by having some nice GUI themes. I haven't yet exercised the Mac version very hard, but it seems quite nice so far.
I'm grateful for all the recommendations!
Beware the IDEs of April
My post on Python IDEs got a huge number of comments, including recommendations for Eclipse with plug-ins, Visual Studio with plug-ins, and Emacs.
One of the two highest-recommended options was Komodo IDE. I've had some success with a trial of Komodo IDE on Windows, with only one major crash, which I was unable to reproduce. However, the same code brought over to run under the same version of Komodo for MacOS X produces a strange syntax error. I've filed this as bug 76114. It seems quite strange, especially given that the same code runs fine using the command-line Python under MacOS X. Despite this issue it seems overall to be a pretty usable environment.
I've also had several recommendations for WingIDE, which I will check out as well. Thanks to everyone who responded!
The program mostly reads an XML file, does a little validating and destructuring of the nodes into dictionaries, and then generates some C++ using a template. About as "real-world" a program as they come. Even as boiled-down as I can make it, it still seems awfully wordy and full of functions whose behavior is extremely dependent on my intermediate data representation. In Common Lisp, I'd be trying to use s-expressions instead of XML for the starting data, and using destructuring macros to turn the input data into data structures. With NewtonScript, I might try to find a way to do it by writing accessors that used path expressions. Is there a better way in Python? How about Haskell? I'll have to give it some thought.
One of the two highest-recommended options was Komodo IDE. I've had some success with a trial of Komodo IDE on Windows, with only one major crash, which I was unable to reproduce. However, the same code brought over to run under the same version of Komodo for MacOS X produces a strange syntax error. I've filed this as bug 76114. It seems quite strange, especially given that the same code runs fine using the command-line Python under MacOS X. Despite this issue it seems overall to be a pretty usable environment.
I've also had several recommendations for WingIDE, which I will check out as well. Thanks to everyone who responded!
The program mostly reads an XML file, does a little validating and destructuring of the nodes into dictionaries, and then generates some C++ using a template. About as "real-world" a program as they come. Even as boiled-down as I can make it, it still seems awfully wordy and full of functions whose behavior is extremely dependent on my intermediate data representation. In Common Lisp, I'd be trying to use s-expressions instead of XML for the starting data, and using destructuring macros to turn the input data into data structures. With NewtonScript, I might try to find a way to do it by writing accessors that used path expressions. Is there a better way in Python? How about Haskell? I'll have to give it some thought.
01 April 2008
The Abysmal State of Python IDEs
In the past few weeks I've sampled numerous Python IDEs for Mac OS X. Without exception, every one of them has major problems.
Without exception, they have crude GUIs, with drawing problems.
Without exception, every one of them has had either lacked completely, or had broken, the kind of source-level debugging that has been commonplace since the mid-1980s, such as visually setting breakpoints.
Most of them have the look of personal hobby projects, where the developer put in a little effort, and then abandoned the project. Menu items do nothing, help commands say "no help available." Documentation? Don't make me laugh, it hurts too much.
Even the allegedly polished products work really erratically. On Windows, I have to restart the ActiveState environment every time I want to re-run my program after making a change and saving the program, because it doesn't seem to ever realize that the file has been updated. Except sometimes it starts detecting changes for a while. It won't save my window layout. Except once in a while it does. However, breakpoints do work for me, and I'm able to do some debugging. But ActiveState for Mac seems to install completely different tools than ActiveState for Windows: no IDE whatsoever. Huh?
I'm having to do most of my debugging with print statements. I'm horrified. There is some kind of primitive debugger, but it requires modifying my source code, and that just seems stupid. The program I'm trying to debug is not unusual nor particularly complex; it just works over some XML and transforms some files.
My download log for tonight reads like a litany of failure: drpython, SPE, ScrIDE, and ActivePython.
DrPython: no interactive debugging. SPE: allegedly some kind of debugger, but it doesn't seem to work. ScrIDE: weird issue handling basic import statements that work on the other IDEs and with the command-line python without any trouble; other users are reporting this on the message board. ActivePython: claims to have some kind of IDE, but the Mac OS X package doesn't have it.
Is there one that would be as useful as, oh, Lightspeed Pascal circa 1985, if I were willing to pay for it?
As the song goes, is this all there is?
Without exception, they have crude GUIs, with drawing problems.
Without exception, every one of them has had either lacked completely, or had broken, the kind of source-level debugging that has been commonplace since the mid-1980s, such as visually setting breakpoints.
Most of them have the look of personal hobby projects, where the developer put in a little effort, and then abandoned the project. Menu items do nothing, help commands say "no help available." Documentation? Don't make me laugh, it hurts too much.
Even the allegedly polished products work really erratically. On Windows, I have to restart the ActiveState environment every time I want to re-run my program after making a change and saving the program, because it doesn't seem to ever realize that the file has been updated. Except sometimes it starts detecting changes for a while. It won't save my window layout. Except once in a while it does. However, breakpoints do work for me, and I'm able to do some debugging. But ActiveState for Mac seems to install completely different tools than ActiveState for Windows: no IDE whatsoever. Huh?
I'm having to do most of my debugging with print statements. I'm horrified. There is some kind of primitive debugger, but it requires modifying my source code, and that just seems stupid. The program I'm trying to debug is not unusual nor particularly complex; it just works over some XML and transforms some files.
My download log for tonight reads like a litany of failure: drpython, SPE, ScrIDE, and ActivePython.
DrPython: no interactive debugging. SPE: allegedly some kind of debugger, but it doesn't seem to work. ScrIDE: weird issue handling basic import statements that work on the other IDEs and with the command-line python without any trouble; other users are reporting this on the message board. ActivePython: claims to have some kind of IDE, but the Mac OS X package doesn't have it.
Is there one that would be as useful as, oh, Lightspeed Pascal circa 1985, if I were willing to pay for it?
As the song goes, is this all there is?
16 March 2008
Smug Newton Weenie
This past week I've been wallowing in nostalgia as I re-familiarize myself with the Newton's development environment and take a fresh look at code I wrote for the platform a dozen years ago. It's got me thinking more about the joys of small languages, and the clever hacks that enabled such an advanced GUI and applications to run on such a lightweight platform. Also, at the runtime implementation for dynamic language like this, compiled as byte codes.
I'm happy to say that I I have wireless e-mail working via my home wireless network on two MessagePad 2100s, using Simon Bell's excellent Mail V, an IMAP/POP client that integrates nicely with the Newton's built-in Inbox/Outbox program, and a couple of Lucent WaveLan cards running Hiroshi Noguchi's driver. I can even send myself big JPEG files. This is my extremely geeky equivalent of carrying around family photos in my wallet, although the 2100 only displays a few gray levels:

Interestingly, after ten days of experimentation the 4 AA batteries powering my 2100 unit still have juice left, although they are starting to fade. The 2000/2100 were a very interesting advance, because they were far faster than their predecessors the 110/120/130, yet lasted longer on the same batteries.
I hope you find this at least marginally interesting. Not everyone around me is as interested as I am in the joys of old technology, as this doodle illustrates...
I'm happy to say that I I have wireless e-mail working via my home wireless network on two MessagePad 2100s, using Simon Bell's excellent Mail V, an IMAP/POP client that integrates nicely with the Newton's built-in Inbox/Outbox program, and a couple of Lucent WaveLan cards running Hiroshi Noguchi's driver. I can even send myself big JPEG files. This is my extremely geeky equivalent of carrying around family photos in my wallet, although the 2100 only displays a few gray levels:

Interestingly, after ten days of experimentation the 4 AA batteries powering my 2100 unit still have juice left, although they are starting to fade. The 2000/2100 were a very interesting advance, because they were far faster than their predecessors the 110/120/130, yet lasted longer on the same batteries.
I hope you find this at least marginally interesting. Not everyone around me is as interested as I am in the joys of old technology, as this doodle illustrates...
12 March 2008
Looking for a NewtonScript Book
I know it is available in PDF form, but for nostalgia purposes I am looking for a paper copy of the book "The NewtonScript Programming Language." There were a couple of versions of this book; it was not sold separately but included in packaged versions of the Newton Toolkit sold to developers. And thus, most of them have probably been discarded. The older version of the book can be seen in bottom row, just left of center in this picture from the Newton Museum. The later version, if I recall correctly, was white with yellow typography and a picture of a toolbox on the cover. I will pay (some reasonable amount, plus shipping cost) for either or both books reasonable condition.
Subscribe to:
Posts (Atom)

