Skip to content

Readme: 2004

November 16, 2010

Waaaay back in 2004, I was looking for ways to get familiar with PHP. If you’ve glanced over the rest of this blog, you’ll have noticed I also spend an inordinate amount of time reading. So, a small micro-site of suggestions to my co-workers was born.

I look back on that code now and both cringe and smile. It wasn’t enterprise-ready, but it did the job with a minimum of fuss.

Because I was able to deploy this inside the network, I could reprint entire articles verbatim. Of course, I can’t do this here, so only my commentary on the books and links discussed remains.

Part of the design goals of this blog is to start collecting things I’ve written in the past. Eventually, I’ll use Lulu to publish a one-time book for myself.

So, without either the PHP code or further ado, here’s the technical books I was reading in 2004.

README: 2004. An informal selection

Originally, this was just going to be an informal email. And then I installed PHP 5, and things got a wee bit out of hand.

At my first tech job, my manager gave me this advice: “There are no wrong or stupid questions. No one can know everything about this. Never stop asking.” Best advice I’ve received about this crazy industry.

This is my informal list of the best answers I’ve received to all the questions I asked this year. You probably didn’t ask the ones I did, and I probably asked a few that I shouldn’t have. I hope some of the answers below help with some of your questions.


Best Design Book

Defensive Design for the Web. 37 Signals.

37 Signals is a sharp, talented web shop based in Chicago. They have an impressive client list and an engaging, informal style that blends user experience, graphic design and application development (they make a point of hiring folk who have both technical and creative skills).

Defensive Design for the Web is their offering in the experience design space, focussing primarily on contingency design, a home-brew phrase they use to describe designing error messages, user help, search feedback and other software crisis points. They present 40 guidelines to help people through server hiccups, missing information, finding products, and generally recovering from errors.

Like the company, the book is to the point, lively, and well-designed. It’s main focus is that customer service, a consistent message, and proper branding are nowhere more critical than a failure point. Offering clear instructions and alternatives can lead to positive word-of-mouth and customer retention.

I highly recommend this book. There is a supporting web site and sample chapter.

Best Software Book

Facts and Fallacies of Software Engineering. Robert Glass.

Looking across the entire landscape of software engineering, Robert Glass examines the fundamental principles of software development. Each fact is short and precise, focussing on a particular topic, presenting contrasting viewpoints, and offering sources for further reading. Glass Ends the book with a list of fallacies and conclusions.

Developers, managers and testers will all find something interesting here. Glass takes many of the sacred cows of programming and management (estimation, budgeting, requirements analysis, methodology, and testing) and turns them inside out, exposing common sense and overlooked insight at every turn.

At the heart of this book is the argument that software engineering is a complex, highly unpredictable process where people play the most important roles, not tools, techniques, or deadlines. The many facets of quality, requirements, design, software reuse, and testing are explored in accessible, jargon-free prose.

Glass’ take on the last 30 years of software development is highly opinionated, and will inspire a lot of debate. But that’s the point, really.

Most Troublesome

Hackers & Painters. Paul Graham.

This was probably one of the most controversial books of the year. An experienced LISP programmer, Paul Graham is one of the primary architects behind what would become Yahoo Stores. But he is probably best known for suggesting a different way to create spam filters, using a rules-based decision engine instead of blacklisting. This turned out to be incredibly effective, and has shifted the rules of the spam game.

Hackers & Painters is an essay collection, most of which originally published online (including the essay the book was named after). Graham discusses his technique for fighting spam, his startup company, and the design of programming languages. Tying all these threads together is his belief that success is about breaking the rules, programming is an art, and what you choose to create art matters immensely.

That last point has created the most noise. He cites Java as a “bondage” language, and object-oriented programming as only a small part of a programmer’s toolbox. Opinionated to a fault, Graham backs up his claims with a clear vision of what he believes a good programming language should do.

Some of his other positions are no less colourful: design is not about innovation, but solutions; web programming is not about the client, but the server; best practices lead to stagnation.

Hackers & Painters is meant to kickstart debate. It is intentionally infuriating. It is infuriatingly good.

Most Accessible

Dive Into Accessibility. Mark Pilgrim.

Discussions on accessibility tend to get sucked into black holes where nothing ever gets decided. Why? Because front-line knowledge is hard to come by.

Mark Pilgrim’s Dive Into Accessibility comes straight from the trenches, giving simple, concrete advice for incorporating accessibility into projects now.

Using the “Teach Yourself X in 30 Days” approach, each day focussers on simple changes to your code base that can dramatically improve accessibility. Using 5 typical people that span a range of disabilities, he clearly demonstrates how they experience the web, and how the choices we make as digital craftsmen can open up or lock out people with disabilities.

It’s surprising how many tips focus on providing metadata (alt attributes for images, title attributes for links, meaningful page titles, and defining acronyms), and structured code (using real lists, horizontal rules, table headers and captions, and labels for form elements).

This is essential, engaging reading on an important topic that will alter how you think about some fundamental web technologies, and how they interact with real people.

Best Old-School Advice

Joel On Software. Joel Spolsky.

Joel Spolsky was the product manager for Excel while it was in it’s early version numbers, and one of the main architects behind VBA, so now you know who to blame. He now manages his own software company, Fog Creek, and writes a blog on software development.

Joel On Software is a collection of his most popular online columns, expanded for print (a complete list of articles is provided below). Organized into broad categories, Joel has Good Things To Say about programming, management, running and growing a business, and the current shootout between Microsoft and the rest of the planet.

Along with the book, Joel has written one of the shortest, and possibly the best, article I’ve ever read on refactoring. Too often dressed up as a “serious” engineering activity, this article makes the case for it’s benefits plainly and forcefully. Read this if you read nothing else below.

Irreverent, opinionated, and too-often right on the mark.

Most Fun in a Toy Store

Growing a Dedicated Tools Programming Team. Don Moar.

This article appeared on Gamasutra, a website devoted to games programming and the games industry. This is part of their members-only content (membership is free, and Gamasutra covers a wide range of topics…it’s worth getting the bi-weekly newsletter).

Bioware is one of the most successful Canadian game development shops, with steady growth, a huge fan following, and some of the best role-playing games on the market. Consistently innovative, with a strong emphasis on ease of use, playability, and storylines, Bioware knows a lot about producing quality software.

More than most types of software, games require custom-made tools. These range from asset management, build/compilation, to level-building ‘modding’ tools. Recognizing this importance, Bioware set out to create a separate division for the maintenance/creation of tools for it’s various games titles.

Providing sound technical and economic reasons for the development and maintenance of an internal tools department, Don Moar describes the hiring process, skillset, and integration of tools programmers. He also describes how tools programming is fit into the development cycle at Bioware, and what the savings (both time and money) are to both the project team and the company.

This one floored me because it articulated what I’d been trying to for years, but couldn’t.

This article is also online here.

Best Browser Ever

Firefox. A Cast of Millions.

The browser, reloaded.

A small browser that made a lot of noise in 2004, Firefox shook up the Internet with tabbed browsing, enhanced security, and easy configuration options. The fact that it’s highly extensible, and has a powerful Apple-inspired search interface didn’t hurt either. Firefox just exceeded 25 million downloads (as of Feb. 16, 2005), or about the entire user base of AOL.

The history of Firefox and it’s rapid ascent is the focus of a recent Wired article. With the rise of Open Source productivity software and the constant barrage of security leaks in Windows, Firefox was in the right place at the right time to appeal to people looking for a better browser. Developers benefit from free source code, powerful extension, plug-in, and theme capabilities, making it a viable and sustainable platform for development.

If you haven’t tried Firefox yet, make the switch. You’ll feel better. Promise.

Best Celebrity Roast

Design Eye for the Usability Guy. Andrei Herasimchuk.

Probably one of the funniest makeovers ever.

Every two weeks, Jakob Nielsen dishes out pain, suffering, and ridicule to web developers and user experience practitioners the world over in his usability column, Alertbox. If you don’t make Nielsen’s grade, he fails you, your co-workers, your company, and quite possibly the laptop you rode in on. He pulls no punches and leaves no one unscathed.

That’s why Design Eye for the Usability Guy hits the mark so accurately. Andrei Herasimchuk and four designers (Didier Hilhorst, Keith Robinson, Cameron Moll, and Greg Storey) decided to fight back by taking on Nielsen on his own turf: gauging the usability of his own site, and providing a redesign for Alertbox.

Irreverent and brimming with practical advice on design and communication, Andrei and “The Design Fab Five” eloquently make their case while deflating an internet icon…well, just a little.

Best CMS Article

Why Content Management Fails. Jeff Veen.

Jeffrey Veen is one of the original Webmonkeys at Wired, pushing the magazine online. Since then, he has written two books, and became an information architect at Adaptive Path, a small Web consultancy.

This is the best article I’ve ever read on content management. Veen articulates clearly what lies at the heart of so many failed web sites: content is king, and editorial process is queen.

Computers don’t manage content. People manage content.

Best Type Book

The Solid Form of Language. Robert Bringhurst.

Drop a word in the ocean of meaning and concentric ripples form. To define a single word means to try to catch those ripples. No one’s hands are fast enough. Now drop two or three words in at once. Interference patterns form, reinforcing one another here and canceling each other there. To catch the meaning of the words is not to catch the ripples that they cause; it is to catch the interaction of those ripples. This is what it means to listen; this is what it means to read. It is incredibly complex, yet humans do it every day, and very often laugh and weep at the same time. Writing, by comparison, seems altogether simple, at least until you try.
— Robert Bringhurst, The Solid Form of Language

Robert Bringhurst is a Canadian Renaissance, bringing control, humility, and mastery to all the many disciplines he walks through. An accomplished typographer, linguist, translator, storyteller and poet, reading his work is a pleasure I indulge in whenever I can. He has brought a cosmopolitan grace and earthy lushness to Canadian letters and been the steady, calm voice of translation for Native Americans and typographic artisans.

The Solid Form of Language is an extended meditation on the intersections of meaning, language, and their many written representations. Bringhurst ranges across the entire length of language and typography, exploring how society and the ways we choose to organize our lives subtly shift both the meanings of words and alphabets.

Bringhurst is more interested in how politics and religion effect the appearance of the written word than in the technology used to create it, charting the often colourful course written scripts take. He then pushes into the technical aspects of writing, from both a grammatical and typographical perspective. He ends the book with a taxonomy for classifying writing systems and places many familiar and unfamiliar scripts into this context.

Like everything Bringhurst accomplishes, The Solid Form of Language pinwheels across disciplines and, like the trickster of Native American mythology, provides answers that are only occasions for further questions. It has been printed in a gorgeous limited edition paperback that is surprisingly affordable, and co-designed by Bringhurst himself.

Looking Ahead: 2005

So, this year was interesting enough…what’s coming? Here’s a few of the things I’d like to get to.

Extreme Programming Explained 2nd Edition
The first edition of this book was one of the many ‘bullets heard round the world’ in the late 90’s…the second edition sounds just as revolutionary.
Crystal Clear
A different take on Agile methodologies.
Movable Type
Blogs come of age, and MT is becoming a tool powerful enough to compete in the CMS space.
Designing Virtual Worlds
Richard Bartle created the original MUD…these are his thoughts on the difficult process of making persistent worlds.
Web Standards Solutions
Common sense about XHTML, CSS, and practical advice on deploying standards-based front-end solutions.
Imperfect XML
Common sense about XML from the creator of SAX.
No comments yet

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: