Originally posted 2005-04-29. In moving to a new blog, I’m “un-linking” book references.
…OK, so I don’t consider either microfinance or capital to be subversive. The title refers to several books that I’ve either read recently, am reading, or hope to read soon.
First, the subversion. This actually refers to Pragmatic Version Control Using Subversion, the first book in the Pragmatic Programmers’ Pragmatic Starter Kit trio. I’d highly recommend their The Pragmatic Programmer: From Journeyman to Masterfor any software developer, and the Pragmatic Bookshelf books elaborate on the techniques that they recommend in PragProg.
The “legacy” similarly has a meaning rather different from the conventional one. In this case, it refers to “legacy code”, the politically correct way for a software developer to refer to a certain category of code. The “political correctness” stems from the character of “legacy code”–it’s usually code written by a kid just out of college or someone who never learned good programming practices. Typically, no one really understands it; it’s a “black box” that we all hope works, and that, when we have no other options, we gingerly reach into, adjust ever-so-slightly so that it gives us the results we want, and close back up. The Jargon File has a more colorful term for a subcategory of legacy code: the “crawling horror”!
With that background, Michael Feathers’ book Working Effectively With Legacy Codeis a welcome addition to the office library. Feathers uses a new definition of “legacy code”, though: it’s any code that isn’t covered by unit tests. According to that definition, the code you’re creating right now might be legacy code! From this starting point, Feathers goes on to explore numerous methods of getting pre-existing code under tests. I’ve greatly enjoyed reading this book.
Leaving technology behind for a bit, I finished reading Muhammad Yunus’s book Banker to the Poor a couple of weeks ago. Yunus was the man who founded the Grameen Bank in Bangladesh, establishing a model for microfinance across the world. Yunus was an economics professor, but in a famine in Bangladesh he began exploring ways to help poor people in his country. He found that he could greatly benefit over 40 people by loaning them a combined total of around twenty dollars. As of November 2004 (per Wikipedia), the bank had loaned over $4.4 billion to poor people. The story provides an inspirational example of how innovative approaches to dealing with poverty can work.
I’ve just started on C. K. Prahalad’s The Fortune at the Bottom of the Pyramid: Eradicating Poverty Through Profits, which looks so far like an excellent book on how private enterprises can both profit and benefit underserved populations; I’ll try to post more on this later. Another book that I haven’t even started on (beyond the introduction, at least) is Natural Capitalism by Paul Hawkins and Amory and L. Hunter Lovin. The basic thesis there seems to be that we need to recognize the value of natural “services” and the economic costs of harming natural systems.
Anyway…I hope to post some actual reviews soon (perhaps after finals–if not, ah…maƱana!). Until then, let me know what you think!