100 books to save a civilization

It’s been six months since I wrote my gloomy outlook and unlike most things I wrote, my thoughts keep coming back to it and issues I talked about. My view hasn’t changed. 2009 is indeed shaping to be a great year for me and an awful one for world in general.

If a problem like over-fishing, that is both well-understood and has known and relatively cheap solutions, seems to be beyond our willingness to solve, what chance do we have then to find and implement solutions for problems that require enormously more effort and resources?

Game over indeed.

I don’t see our civilization surviving this century even if no giant rock crosses our path. There are many reasons for this, but none original or interesting enough to dwell upon. At the same time I do think this is not the last century in which humans live.

If we are all indeed descendants of a tribe that at some point numbered only 2000 individuals, as I’ve heard in a lecture once, then it doesn’t take much to imagine that out of billions enough people will survive to continue our species existence. Not even me imagines a world completely void of water, plants or small furry animals.

Alas civilization needs more than mere presence of humans. Inspired by Irish post-Roman example a question occured to me recently: “Which 100 books would you try to preserve if you wanted to preserve our civilization?”

Point being that if things go the way of Dodo and people have to fight for survival, it wouldn’t be reasonable to expect enlightened person or small groups to preserve many more books than that. And books are still the best way to preserve knowledge in long term. Other forms are either too transient or can pack information far less densely.

I quickly realized two things. First, that I have no clue which books I would pick. And second, that there are more fundamental questions.

Can a civilization fluidly metamorphose from failing to a new, thriving and likely different civilization or does the new one need to start anew from ashes of previous ones?

Question matters, because I imagine that civilizations are in a way like companies. Establishing one is quite different than keeping one going and hence knowledge needed is probably different too. Most historical examples I know of persuaded me that scale of a problem and length of time before its full consequences are felt are inversely proportional to likelihood of our dealing with it before it is too late. However I am not a historian and could well be wrong. Still, you do with what you have and this seems reasonable enough assumption for further inspection.

Assuming this, what does it take to establish a civilization?

One thing that comes to mind is a high enough density of people who don’t spend all of their time procuring food. This means they can’t be hunter gatherers and some agricultural knowledge needs to survive to successfully plant and grow existing crops or tame new ones.

It would also be helpful if all technological knowledge isn’t lost either. Electrical gadgets will be hopelessly obsolete, but creating and fixing a good plow or knowing how to preserve perishable goods for longer periods of time will not be something to sneeze at. World might be full of decrepit remains that might be reused, but there is no good reason to leave it just to human ingenuity to discover how and to what purpose.

Another way to increase number of people living is to stop them dying needlessly. Hence preservation of most effective ways to stay healthy and low tech remedies for most common diseases and injuries would be helpful too. Most drugs will be gone for centuries, but it’s remarkable how much can be achieved with what will hopefully still be found in nature.

Mathematics is also an underpreciated, yet necessary underpinning of every developed civilization. Calculus will not be needed from the get-go, but just counting doesn’t get you far either. There’s hardly a plan that couldn’t be improved with a sensible application of mathematics. Related to this, basic economics should be preserved too.

“There is no such thing as society,” said Margaret Thatchet, which of course is rubish and why it is not enough to learn how to live in complex social structures, but also why and in what ways. Therefore sociological and philosophical texts should also make cut. I find it difficult to imagine titles, because I don’t think culture is something you can implant. It is nurtured and developed not only by circumstances and challenges society faces, but also with choices it makes. It is unlikely that next round would follow our footsteps but optimist in me would love to leave something that inspires and gives something to aspire to.

All these knowledge would be dead ink on paper if person holding a book doesn’t know how to read or what words actually mean. So alphabet learning book and a dictionary should also survive even though most of modern dictionary will probably be fairly useless by then and rest might be unhelpfully terse.

Last I would add a book about ecology trying to explain complexity of the world around us and why it would be wise to be careful how we try to change it. There is probably no better definition of stupidity then repeating same mistakes and expecting different results.

So what did I end up with?

An alphabet book, a dictionary and books about medicine, agriculture, mathematics, economy, sociology, philosophy, some basic technology and ecology. There are no titles since I don’t believe such books have been written yet. We have lived in a world full of books and knowledge for so long, that we simply never saw or had a reason to write a book premised on the idea, that it might be one of few books around.

In any case, even though I have spent more thoughts on this then is probably reasonable at this point, I am sure I haven’t thought of everything. What else have I missed?

The Four Steps to Epiphany

I seem to have mentioned books I’ve been reading a lot in last few posts, but this is the first time I am writing a post solely dedicated to a book. The Four Steps to the Epiphany by Steven Gary Blank is a book I heard recommended a few times before Eric Ries recommendation during his talk persuaded me, but I bought it mainly because it bothered me that most projects I was involved with relied heavily on intuition and it just seemed that there has to be a better way to expose and test assumptions made during project lifetime.

To a typography nut like me this book looks, well, horrible. I suspect Cafepress’ print-on-demand system has also something to do with it, but this is not its only fault. There are plenty of typos and glitches such as whole chapter 4 carrying a footer of chapter 3. Occasionally you can find grammar errors even someone like me can be sure of. In short, the book also looks like it wasn’t made by experienced publisher.

Having said all that, if you are thinking of starting a business venture or really any project where you and people precisely like you are not the only target market, you should BUY AND READ THIS BOOK. It costs 40$ on Amazon, but I wouldn’t hesitate recommending it even if it cost ten times as much. For those who might doubt veracity of recommendation on account of my Amazon Affiliate link, here is also a non-affiliated link that gains me nothing. Or you can save some more by following link on Steve’s blog (which is a good read too).

Unlike most business books I read or browsed, it isn’t a 2-300 hundred page long discourse about a couple of ideas that could be adequately explained and argued in tenth of its length. It’s a textbook about Customer Development, a different way of organizing and building a company from startup to established company. This is done methodically, each step building on previous where every assumption is tested while it is still relatively cheap to do so. First 200 pages might occasionally contain a short story that proves a point, but are otherwise filled with very concrete advice on what needs to be done and how you can or should go about it. If that wasn’t enough, you also get a Custom Development Checklist (taking a quarter of the book) which you can use to check that nothing was left out.

I suspect not many startups follow every step as prescribed, but even if you don’t or disagree with most of it, I can’t imagine how you wouldn’t profit from reading it. So just go and buy it. You won’t be able to make notes in borrowed copy.

Reblog this post [with Zemanta]

Open Hack 2009

Now that Mini Seedcamp in Ljubljana is behind me (an event that might warrant its own post), I finally have some time to write about Open Hack 2009. I’m sorry to say to those who didn’t go that this might have been the biggest mistake you’ll do this year. It was indeed awesome. Before I go on I would also like to thank people at Yahoo for really pulling no stops in making it great and to everyone who came, for being inspiring, helpful and generally fun.

Fry and I made two hacks, a website GuessWhatThisIs based on an idea we brought to event (but no code), and a game GeoPong that Fry thought of in wee hours of Sunday. GeoPong, best described as “a quite irrelevant but lovely hack“, doesn’t always work great (especially on non-FF browsers), nevertheless I am still amazed that we managed to build both, because we essentially did GuessWhatThisIs twice. Wifi didn’t work until later in the evening, so we built first version of the site with pieces of software we had on our machines an educated guess about APIs we needed but couldn’t access.

Event was thoroughly documented on Flickr, Twitter and plethora of other websites, so I won’t dwell much on that. Instead I’ll mention couple of observations that albeit not new, I still found interesting.

First one is that team is absolutely everything. You can certainly do interesting stuff alone, but things really start happening if you have a good team. Working with talented and fun people mean ideas get fleshed out sooner, there’s little coordination and more things get done. If on top they are like Fry, who like a Duracell Bunny just seems to keep going, you can finish projects you certainly would not otherwise.

Hackday also provided another proof that all-nighters as development method are an idiotic idea. Most hackers, who certainly didn’t lack enthusiasm, fell asleep at some point during the night and those, like us, who didn’t, slowly fried our brains. Development slowed down to a glacial speed, code written was frankly embarassing and help was needed to resolve most basic problems. We spent more than 4 hours on GeoPong which normally shouldn’t take us more than half of one. Even worse from efficiency point of view was that Monday was gone too. All-nighter can be a fun thing to do once in a while, but it is really a crappy way to run a business.

At the end a small advice to organizers for next European event, on which I hope we won’t have to wait another two years. Try putting as much documentation and libraries on USB key as you can, so in case of wifi not working, we can still program with them instead of falling back to what we already intimately know or have on our machines.

Game mechanics on web

I recently read Raph Koster’s Theory of Fun for Game Design, which I can heartily recommend to anyone interested in what games are all about. But it’s this part on page 88 that really got my attention, since I can relate it to what I do:

Games are not stories. It is interesting to make the comparison, though:

  • Games tend to be experiential teaching. Stories teach vicariously.
  • Games are good at objectification. Stories are good at empathy.
  • Games tend to quantize, reduce and classify. Stories tend to blur, deepen, and make subtle distinctions.
  • Games are external — they are about people’s actions. Stories (good ones, anyway) are internal — they are about people’s emotions and thoughts.

A lot has been said in last couple of years about game mechanics and how its principles could be successfully used to make our websites more engaging and fun. Game-like without necessary becoming games. Still more should be said to penetrate consciousness of wider web industry.

But should all websites incorporate devices like collecting points or customization?

Probably not. Well thought through website has its purpose which usually means it wants to provoke action on visitor’s part. Intended action may be almost anything apart from abandoning site immediately. It may be buying at least an item on a commerce site, leaving a comment or subscribe to blog.

I’ve been thinking about above comparisons for days and it would suggest to me that principles of game mechanics are more appropriate for and easier to add to sites that can reasonably aim for prolonged interaction with a visitor.

E.g. a personal blog like this one is visited mostly by google-by visitors. Comments and other engagement devices might increase its pull, but game mechanics obviously plays second fiddle to a good story, told through its content and web design (both sorely lacking on this particular blog). Same is true for most brochure-ware sites.

Amazon.com presents other side of spectrum. It is visited mostly by people who aren’t there to read an item description and leave, but are at least somewhat open to interaction with the site. As such it makes sense to incorporate more elements that can keep visitors engaged, such as easy rating of items, reviews etc. Same goes for most web applications.

I believe that most websites could successfully apply at least some elements from games, but like with everything else they shouldn’t be used too liberally and without understanding. Keeping in mind websites purpose and listed differences between a game and a story can help you make a more informed decision on what and when to include.

Reblog this post [with Zemanta]

Javascript: The Good Parts and string.split problem

I just read Douglas Crockford’s book JavaScript: The Good Parts. It’s what a technical book should be. Concise yet full of useful information as a result of clear scope and sticking to it. If my experience is anything to go by, then there are not many Javascript programmers who wouldn’t benefit from it.

I did found one bit that wasn’t quite right. On pages 91-92 Douglas discusses string.split method, which can take a regular expression as a separator with which to split string. Douglas rightly points out that if regular expression includes capturing group (stuff between paranthesis like b(mmm)c), then strings matching those groups will be included in the split.

However Douglas is not completely correct when he says that some implementations drop empty strings in the output array when separator is regular expression. If you run this demo in Firefox3 and IE7, you’ll see that IE7 drops even non-empty strings from capturing groups, while Firefox3 includes them.

Still, I would find a bug in my code faster this week if I read his book sooner.

Reblog this post [with Zemanta]
Next Page »