The ThoughtWorks Anthology

According to the latest mail I got from The Pragmatic Bookshelf, one of their upcoming titles is The ThoughtWorks Anthology, but I couldn’t find anything about it on the web. Out of pure curiosity I’ve sent an inquisitive mail to see if I can find out more about it. Maybe it’s related to the No Fluff Just Stuff books?

Another upcoming book is Facebook Platform Development with Rails, which sounds nice but I’ll probably never get around to do it… 🙂

Update Andy Hunt kindly replied to me:

It’s a collection of essays from leading ThoughtWorkers. We’ll have an announcement up in the next week or so.

Sounds interesting!

I want to read “Peopleware” again

Bruce Eckel recommends Peopleware — Productive Projects and Teams (by Tom DeMarco and Timothy Lister) in his recent weblog entry The Mythical 5%. When I ordered a bunch of book recently I was thinking of including both The Mythical Man-Month by Frederick Brooks and Peopleware, but I didn’t. It is probably a good idea to read both of them again as I haven’t read them for five years or so and I’m trying to be one of those 5% mentioned by Bruce Eckel…

I have plenty to read anyway though, and yesterday I spent some time on my latest project. I want to use Rails 2.0 but I keep Googling and reading pages like Rails 2 Upgrade Notes a lot when things don’t work exactly as they did in previous versions. A complicating issue is that the web interface for my project will be in Swedish so I will give my controllers Swedish names, but I want English names in the database so it will either be a kind of mix under the hood or I’ll use set_table_name in the models. I hope that Swedish Rails can help me out a bit!

Beautiful Code

I’ve been reading Beautiful Code from time to time during the autumn. It’s mixed bag and I actually skipped some chapter that was too deep into maths for my taste. Chapter 22: A Spoonful of Sewage was an instant favorite; it is a a fascinating head-first dive into a bug hunt in Sun Solaris’ synchronization primitives. It was a bit over my head but interesting nevertheless. Another very interesting chapter was Chapter 23: Distributed Programming with MapReduce about Google’s “programming system for large-scale data processing problems”.

Only because of the title of this blog, I’d like to mention that more than one chapter mentions the Divide and Conquer approach used by the Quick Sort algorithm, including using a subtle bug found in early (or naive) C, C++ and Java implementations to show off JUnit.

I’ve thought of sorting the chapters by programming languages and see what language the most author used for his or her beautiful code. At least Lisp, Python, Perl, Ruby, Java, C# and C++ are present. Some day I want to do a bit of Lisp programming, but I haven’t found a suitable project yet. Maybe I should buy a Lisp book too first…

Where is my own Beautiful Code then? If “get the job done” is considered beautiful, it could be the PHP code for any of my web sites! 🙂 I’m pretty happy about the architecture for my unfinished MidaSync project; maybe I should try to describe it here some day.

For MidaSync I also wrote a D-BUS wrapper for C++ that I’m quite proud of, but at some point it became a bit “magic”. For example it relies on the presence of a partial specialization to create a D-BUS path from an object exposed through D-BUS. I’ve never released this properly and I think that the D-BUS wrapper in OpenWengo is used by today’s C++ developers in need of D-BUS support.

Old and new Ruby and Agile books

A bunch of computer books I had ordered arrived to the office last week. Since I’m working on-site at my client I’m not at the office very often so didn’t pick them up until today. The books are:

  • Agile Software Development With Scrum by Mike A. Beedle and Ken Schwaber
  • Agile Web Development With Rails (2nd ed.) by Dave Thomas, David Heinemeier and Leon Breedt
  • Everyday Scripting With Ruby by Brian Marick
  • Programming Ruby (2nd ed.) by Dave Thomas, Chad Fowler and Andy Hunt
  • User Stories Applied by Mike Cohn

Unfortunately two of them are already old. A version of Programming Ruby updated for Ruby 1.9 now exists in PDF format and Agile Web Development With Rails will most likely be updated due to the recent 2.0 release of Ruby on Rails. Maybe Everyday Scripting With Ruby will be updated too soon, but I hope that all of them will still be of use to me. I only use Ruby and Ruby on Rails for my personal projects anyway, but I think that both of them — the language and the framework — make too much impact to be ignored.

Speaking of Ruby on Rails: I read that Hemnet, the major Swedish site for real estate ads, is using Ruby on Rails. Cool!

I bought Agile Software Development With Scrum in order to read one of the major works about Scrum. I really ought to have read it before by Scrum Master certification but I can admit I didn’t. Now it’s time to make up for that.

The reason for buying User Stories Applied is that I want to improve my skills in handling customer requirements. My current client is very fond of use cases but I don’t think that diminishes the value of the book in any way.