Hackers & Painters: Big Ideas From The Computer Age, by Paul Graham
I received this book yesterday from O'Reilly; I tore the package open eagerly, as I had been awaiting it. When I first heard of it, I knew I had to read this book, come what may. Everything else seemed a little less important, but things as they are, I did have to spend time doing the mundane tasks which Paul Graham describes in the book as being 'as interesting as painting a wall'. That said, I finally finished all 238 pages this morning - and upon reflection and with mixed feelings, I write this review.
Admittedly, I had expectations of interesting revelations for non-hackers, akin to The Hacker Ethic, by Pekka Himanem. My expectations may have inadvertently shaded some of my reading, but that is of little matter.
It's a good book. I'll not argue with the prominent names on the back cover, which include Lawrence Lessig, Chris Anderson (editor-in-chief, Wired magazine), Robert Morris of MIT, David Weinberger (coauthor of the Cluetrain Manifesto), Rob Malda (CmdrTaco of Slashdot.org), Andy Hertzfeld (co-creator of the Mac) and Jeff Bates (hemos, Director of OSDN Online. I won't agree with everything that they said, though. I'll just tell you what I think, and let the chips fall where they may. As such, I expect that this review will be long, for the ideas in this book are many.
Bite sized paragraphs made the book very easy to read and the author was kind enough to word the concepts simply for those unfamiliar with Geek/Nerd culture. Paul Graham's introspection is priceless, especially in the first three chapters.
In the first chapter, the author explains with plausible detail as to why there are Geeks and Nerds in the first place, why they typically get beaten up by more popular people, and why some achieve greatness in later life. What many simply look as teenage soup, Graham explores at a chemical level - replete with ionized subcultures in secondary schools. Though focused on United States high schools, it's fair to say that what he wrote applies to many (if not all)secondary schools around the world. Even the 'freaks' gain mention.
The second chapter mentions the creative process as related to software, and is a gem - polished, and given the proper backdrop by the first chapter. Many people who aspire to become software developers go through initiation rites which could be equated (in some cases) to ritual genital mutilation; this chapter is essential for people who teach or learn software development. I teach software development, I know. I've mentored junior programmers, and I have tormented the senior programmers. Now I mentor more than torment.
Many people ask me how to learn how to write software, and are boggled when I respond, "By writing software". A few of these people, after a few months, come back to me with knowing smiles and thank me. The majority don't, but if everyone was writing software there would be nobody doing things that are equally important in our world. So I applaud Graham's perspective here; it was refreshing to see it used with the analogy of painting. In truth, when I write code, I sketch - much as Graham mentions he does. It comes alive at the keyboard, not on a piece of paper.
The later chapters spoke of really important parts of any skill; in some ways I was reminded of Musashi Miyamoto's classic, "A Book Of Five Rings". It entails the way an artisan looks at his or her trade, on how the details that nobody else pays attention to make the difference between a simple piece of software and a 'killer application'.
It's when the high level became fleshed out that I began to see a few things which I didn't completely agree with, but instead of debasing the book based on that, I'll simply put forward my observations.
First of all, Web Development is prominently discussed, which is good. I do think, however, that desktop applications were done a disservice in the book; you would not be able to read what I have written here unless someone had written desktop applications which supported the web based applications. Certainly, Web Development has redefined the software industry. I believe Graham neglected to mention that the Internet had also redefined desktop development as well; certainly the central aspects of controlling the servers is beneficial from a 'paint the wall' perspective - but from a mural perspective, the desktop is also quite important. Also, many of the languages used for web development now have an equal place on the desktop; Perl, Python and even PHP/MySQL have become a part of desktop development as well. I do not fault the author; I just add a perspective of someone who does both desktop applications and web development. Every revolution carries with it the seeds of its own destruction, and I wonder openly if everything will be as centralized around web development in 10 years. The author may appreciate the phrase 'empathy' here.
His description of the language aspects of programming are very well done, and I'm sure my friend Sanjay Pande will appreciate the prominence which the Lisp programming language is given. It's a good language, one which I have had the pleasure of coding in a few times.
The case for Open Source was glossed over fleetingly, which is understandable since the book itself is not really about Open Source. There was, sadly, no mention of Free Software, but it seems that the general media has embraced Open Source as the catchphrase for all that is Free and Open (as erroneously so as the misleading use of the word 'hacker', as the author mentions in the book). Speaking of having the source code and being able to modify it is nice, but there's a matter of who the changes belong to. Microsoft's Shared Source also might fit the description the author gave, and I am concerned that many readers may unwittingly lack appreciation of the licensing and philosophical differences. Just having the source code is just like having a car under warranty - unless people allow you to tinker under the hood and own what you do, having access to what is under the hood is really not that big of a deal. A hostage may have access to a telephone for a fleeting moment, but that moment's access is controlled.
The SPAM question rears its ugly head again in the book, and though I am happy with Bayesian filtering, I am hardly ecstatic. I personally believe that the best model for future communication will revolve around the subscription model; not too far away from RSS. But the author's thoughts are well worth exploring; even challenging. Discussion on such a topic is often heated, and it poses a serious problem for our electronic society: SPAM affects everyone adversely, and has a cultural impact. If SPAM is criminal, we may find ourselves living in jails because of criminals wandering the outside of our prisons. Society, through business, government and technology, must address this issue and - bluntly - quit screwing around. If people really want to stop SPAM, it's a simple matter of making it unprofitable.
Despite some mentioned and unmentioned misgivings, the book 'Hackers & Painters: Big Ideas From The Computer Age' is one that I will recommend. I sat on my front step, sipping a cup of coffee for an hour considering whether I should recommend this book.
The ideas and thoughts that the author mentions in this book are worth discussion. These are not idle thoughts, these are thoughts from the perspective of a 'maker' (not to be confused with the Worms of Dune). Where others simply have vision, he has notches on his keyboard signifying the successes he has had. As with all good ideas, there is a need for challenging them, for evolving them - for honing them or even discarding them. But Paul Graham definitely brings something to the campfire of discussion related to the society of hackers and the creation process. He presents a perspective, and a solid one. It's my hope that more such perspectives will come to light.


why is web development different
Hello,
I think it's a big mistake to think web development is different than the usual writing of software. It is as important to know what the users want - and designing a good web application is as important as it is with a desktop application.
Problem is that usually the marketing guys are designing web applications. They look nice, but the functionality often is poor. But visitors usually want to get something out of the site - information, functions, products. They will not come back just to "look".
--
Visit my projects: TheWordbook and Schlauweb
Yes and no...
Desktop applications and gaming applications have become increasingly like web applications. So yes... and no. Web development is rather different in that less knowledge of the hardware is needed, and more focus is on the network (internet, etc.) instead.
This was written a while back... be that as it is, I stand by what I wrote then but I also agree that things change and perhaps what I was thinking of then isn't what you and I are thinking of now. :-)
Post new comment