Wednesday, September 9, 2009

Recharging Yourself; getting an E-Reader or a netbook

Having written several blogs about why I don't like the pricing model of the Kindle book reader I've been very interested to read about Sony's new e-book readers, especially as you can download books to it from your local library. I've played with the $300 Touch model and quite like it. The only real competition to it for me is a netbook. If you're not familar with netbooks, they are basically really small (8 or so inch) laptops with limited disk and memory; designed to view documents and web pages but not really to do authoring.

The standard discussion goes like this: e-readers are single purpose devices, netbooks are general purpose devices. E-readers are better for actually reading books but can't do much else. Netbooks are less suited for reading but can do more. For techies like us the argument that no one would want to look at an LCD screen for hours at a time is kind of funny since that's what we do all day, every day.

I was about to get a netbook, especially since much of what I read are PDF versions of technical books from Manning Press or The Pragmatic Programmers, when a senior collegue made the following remark:

"Brian, we are thought workers, designers, creative people. We have an obligation to read non-technical material so that we can keep approaching problems from unexpected directions and keep bringing creativity to tasks. You should get the device that makes reading fiction easier".

That really struck me. So, after posting this entry I'm driving to the Sony store to buy the Touch E-Reader!

Sunday, September 6, 2009

Classes = Structs plus Closures.

I was leading our Groovy book club this week and had an insight. We have Java programmers, C/C++ programmers and script writers so we try to use a wide range of examples to illustrate points.

We were discussing closures, which can be challenging for people unfamiliar with them. I was making that point that Closures are Objects which means they are instances of classes. Particularly, they are basically classes with a (generally) single method and no data members.

That made me think about Structs, which are basically classes without methods.
So, I had the thought that Classes = Structs plus Closures.

I'm not sure if this is a helpful insight yet, but anytime I can think of things in a new way I like to explore it a bit. I think the C/C++ programmers in the book club found it helpful, perhaps because they're already used to thinking about different types of objects such as structs. So, thinking about Closures as another kind of class was not such a stretch for them.

Thursday, September 3, 2009

New issue of Pragmatic Programmer's magazine

The third issue of the new magazine PragPub from the Pragmatic Programmers is now available at

In the interest of full disclosure I'll say that I have an article in this issue, so I encourage you to go read the issue just for that.

If you're a programmer you probably already know about the Pragmatic Programers and likely have some of their books, but you may not know about the magazine. With authors like Kent Beck, Dave Thomas, Andy Hunt (and me!) it's a worthwhile investment of your time.

The unexpected thing is that many non-programmers will find a lot of value here as well. One of the regular columns is called Get A Life and is about the various ways to find balance in life and recharge. I'm an apprentis instructor at a Tai Chi school and am passing this article around to the staff because it's so relevant.

Take a few minutes and check out the magazine, especially my article (with Dave Koelle) titled: "And Your Bugs Can Sing"