domingo, 26 de abril de 2009

Linked. How Everything Is Connected to Everything Else and What It Means for Business, Science, and Everyday Life.

Albert-Lászlo Barabási describes an intellectual adventure that tries to prove how social networks, corporations and living organisms are more similar than previously thought. This introduction to network science guides us through the fundamental concepts underlying neurology, epidemiology, Internet traffic, and many other fields united by complexity. A very enjoyable book that makes difficult concepts easy to understand by the regular reader.

Technical description:
Title: Linked. How Everything Is Connected to Everything Else and What It Means for Business, Science, and Everyday Life.
Author: Albert-Lászlo Barabási.
Publisher: A Plume Book. Penguin.
Edition: First Plume printing, New York (USA), May 2003 (2002)
Pages: 294 pages, including index.
ISBN: 0-452-28439-2

miércoles, 15 de abril de 2009

The beauty of a simple design.

Now, here is a question people have been struggling to answer for quite sometime now: what is a good design? How do we recognize a good design? Lots of companies would give plenty of money to answer those questions in a simple manner. Well, Graham gives us the answer:
It seems strange to have to emphasize simplicity. You'd think simple would be the default. Ornate is more work. But something seems to come over people when they try to be creative. Beginning writers adopt a pompous tone that doesn't sound anything like the way they speak. Designers trying to be artistic resort to swooshes and curlicues. Painters discover that they're expressionists. It's all evasion. Underneath the long words or the "expressive" brush strokes, there's not much going on, and that's frightening.

When you're forced to be simple, you're forced to face the real problem. When you can't deliver ornament, you have to deliver substance.

(Graham: p. 133)

Yet, somehow one gets the impression that most companies wouldn't buy that answer. Why not? As Graham says, we still associate the term good design to original and artistic and, in turn, we also associate those to something overly complex, cool. We fool ourselves. In reality, what we like is what's simple and yet it works, what helps us achieve our goal in the most sensible manner. While most geeks tend to despise the end-user as a simpleton, in reality simplicity is one of the most difficult things to achieve in design. Few people get it. That's why Steve Jobs makes the big bucks. That's why Apple still kicks butt and, in a different order of things, that's also why GNOME and Ubuntu have been winning the battle on the Linux front.

martes, 14 de abril de 2009

On how hacking and painting are quite alike.

For quite sometime (perhaps since computer science became a subject taught in our colleges) programming has been viewed as software engineering (i.e., a somehow scientific discipline that can be learned and applied in a methodical manner). We just have to find out its intrinsic rules. Graham, though, strongly disagrees with this approach. To him, programming is actually hacking and, therefore, its' more like an art than like a science. Yes, the programmer has to use a series of techniques to put things down in the form of a program, but that's no different than the way an artist does things:
Hacking and painting have a lot in common. In fact, of all the different types of people I've known, hackers and painters are among the most alike.

What hackers and painters have in common is that they're both makers. Along with composers, architects, and writers, what hackers and painters are trying to do is make good things. They're not doing research per se, though if in the course of trying to make good things they discover some new technique, so much the better.

(Graham: p. 18)

If Graham is right, this concept of the programmer as an artist should also effect the way we view programming languages:
Realizing this has real implications for software design. It means that a programming language should, above all, be malleable. A programming language is for thinking of programs, not for expressing programs you've already thought of. It should be a pencil, not a pen.

(Graham: p. 22)

This takes Graham down a path where he clearly prefers "hacking languages" to the researcher's favorite tools, beautiful in their perfection but almost completely useless for real work. After all, what good is the best programming language if nobody writes programs in it? Researchers in their ivory towers don't appear to care about a language's malleability but rather about its internal logical consistency or originality. After all, academic research prizes that over anything else. The real world, though, cares about flexibility and ease of use. In that realm, a language that's highly malleable is far more important than a perfectly consistent but highly abstract paper. It shouldn't surprise us, really. It's no different when it comes to natural languages. How many times have people tried to design and new perfect human language without much success? We continue relying on our old, patchy languages.

Why nerds are unpopular.

The first chapter of the Hackers & Painters is an excellent essay on why nerds are unpopular (a complete transcription of the chapter can be found on the author's website here). A text that has become widely quoted over the last few years. To Graham, the core issue is popularity:
The key to this mystery is to rephrase the question slightly. Why don't smart kids make themselves popular? If they're so smart, why don't they figure out how popularity works and bear the system, just as they do for standardized tests? (...) The answer, I think, is that they don't really want to be popular.

(Graham: pp. 1-2)

Now, that sounds strange, doesn't it? Who doesn't want to be popular? Everyone, of course, if we put it in those simple terms. However, Graham realizes that being popular, like anything else in this world, requires some effort and, as a matter of fact, most kids are willing to make that effort into becoming the most popular kid in the school. However, nerds weren't born that way:
They also have to put an effort towards it. They have to make sure they set the trend, wear the right clothes, sound cool, mind their attitude... all that requires work. Therefore:
Nerds serve two masters. They want to be popular, certainly, but they want even more to be smart. And popularity is not something you can do in your spare time, not in the fiercely competitive environment of an American secondary school.

(Graham: p. 3)

Or, to put it another way, nerds (and, by extension, geeks too) want to be popular or, at the very least, accepted into the larger community. The problem, of course, is that they care more about other things. If the price they have to pay for becoming popular or integrated into the larger student community is to give up their love for puzzles, challenging problems and abstract ideas, then they aren't willing to pay it. It's too high for them. And, like it or not, in spite of all the suffering, perhaps they make the right choice. After all, it would require for them to turn against their true personality and who is the parent who supports that idea? Don't we tell our kids all the time that they have to grow to develop their own true self? Well, that's precisely what geeks and nerds do. They don't care what society all around tell them about what's acceptable and what's not, what can be done and what's simply impossible. And that's precisely the reason why it's nerds and geeks who guide us forward. They refuse to accept the world as it is and, in so doing, are already building our future while the rest of us waste our time playing the popularity game in high school.

This chapter of Graham's book is definitely a classic. He points out what's wrong with the American high school system and even manages to make a few recommendations on how to fix it (namely, make it more like college, where students can behave more like adults with a purpose, instead of like kids full of testosterone hanging around a secluded environment without any particular aim). This essay is definitely well worth a read, especially if you are a parent.

viernes, 3 de abril de 2009

Hackers & Painters. Big Ideas from the Computer Age.

Hackers & Painters is a collection of essays written by Paul Graham about hacking and how this activity may relate to art (specifically painting). The individual pieces cover a wide range of issues: why nerds are so unpopular at school, the importance of startups, programming languages, heretical thinking, the process of wealth creation, etc. The title essay provides an interesting look at hacking and how it may relate to artistic activities in general, and painting in particular. A very suggestive book, judging by the reviews and what I could gather after quickly browsing through its pages.

For more information, check out the author's own website or O'Reilly's page for the book.

Technical description:
Title: Hackers & Painters. Big Ideas from the Computer Age.
Author: Paul Graham.
Publisher: O'Reilly
Edition: First hardcover edition, Sebastopol, California (USA), May 2004 (2004).
Pages: 258, including index.
ISBN: 978-0-596-00662-4