Have Speed–Will Profit

Photo Credit: Holger Blank

How fast is your website? Is it something you’ve even thought about? Think it’s just something for bigger websites to worry about? Did you know that a slow website could hurt your bottom line? I caught up with Steve Souders to talk about website performance and though I’ve been in this game for over a decade, I was surprised by what I learned. Take a listen, you’ll be glad you did!

Steve works at Google on web performance and open source initiatives. He previously served as Chief Performance Yahoo!. Steve is the author of High Performance Web Sites and Even Faster Web Sites. He created YSlow, the performance analysis plug-in for Firefox. He serves as co-chair of Velocity, the web performance and operations conference from O’Reilly, and is co-founder of the Firebug Working Group. He recently taught CS193H: High Performance Web Sites at Stanford University.

Download the mp3 or ogg.

A Boilerplate for HTML5 Awesome

Photo Credit: Ara Pehlivanian

At SXSW 2009, Paul Irish showed me his initial work on HTML5 Boilerplate and asked if it was something I would be interested in contributing to. It was a no-brainer to say yes. I was thinking about creating something similar myself (as I’m sure you were too!) We quickly ramped up production and released it to the wild about three weeks ago.

HTML5 Boilerplate is a compilation of best practices that would help any web developer get started on their code. It also catches some of the stuff developers usually miss when in a hurry to meet deadlines (e.g. print and mobile styles, making sure www and www-less domains redirect correctly, getting servers to serve the right content types for new or relatively unknown file formats and having a backup for jQuery in case the CDNed jQuery fails).

I heartily recommend that everyone delete some of the things that may not be applicable to their production environment, like if you don’t write unit tests, you may not want to use the unit test suite. You’re allowed to pick and choose!

Boilerplate is made up of snippets from all over! And they’re all documented! Here are some of the goodies you’ll find:

  • Use of the new HTML5 elements without worrying about cross-browser compatibility.
  • Optimal caching and compression rules for better webpage performance.
  • Mobile browser optimizations.
  • Build a better experience for all users with feature detection.
  • A ready-to-use unit test suite.

It was great fun to work on this project because we had to think several times before including or deleting a snippet. We had to rationalize the existence of each. I also spent hours testing on several mobile browsers to check how the default mobile styles were rendered.

We aren’t done yet though, Paul is working to get a build script going which would automate some of the recommended performance best practices. Others have pitched in with WordPress and Compass ports. I makes me very happy to see so many people rallying behind it and contributing!

So, go have fun with Boilerplate. I bet you’ll have a brilliant insight or two, so feel free to fork and tinker with it!

FYI, the project is in the public domain, so you really can do whatever the hell you want with it :)

Managing Your Career in the World of Web Development, Part 2

Photo Credit: Josh Westbrook

Last month I talked about how web development has become commoditzed and specialized to the point where large software shops are now as digital analogues to agricultural feedlots. Web shops are becoming vast cube farms of production where the quality of the work is sometimes secondary to the process in which it is produced. While this is less true in Canada than other countries, make no mistake – this kind of thinking permeates today’s market where you are today.

This is a first.

In the world of cattle farming, or automotive manufacturing, such a concept would long ago have been acknowledged, been dealt with and documentation consigned to the archives. Not so in web development. If you’re a web developer, or work in the world of the internet in any of its myriad incarnations, you inhabit a work environment that has no precedent. No legacy, or at least if there is one it is nascent and so by definition not significant.

And so it becomes necessary to learn how to make your way in a world where there is no previous generation to guide you. No manuals exist and no signposts grace your path. Let me offer up a few simple things to keep in mind.

It’s about your career

The first thing you have to realize is you have a career and sometimes it’s not your job. Hopefully more often than not it is, but what’s critical is that you see your career for the continuum that it is. It started when you got your first job and it ends whenever you decide, and every moment you spend on the continuum contributes to its direction and continuity. The direction of your career is yours to steer but do make an effort to have a direction in mind. It’s not necessary that your direction remain consistent (though of course there is nothing wrong if it does). What does matter is that you have one. As the aphorism goes, ‘when one does not know to which port one is sailing, no wind is favorable.’

Where to begin

Many people starting out today take the obvious routes and either go to an agency like Sapphire or SI Systems or go corporate–IBM, Accenture, Microsoft, Google. These large organizations all fulfill the same need for their employees–they provide clearly defined structures and processes combined with personnel to support whatever the rules and regulations are. It can be very comforting for some to know that all you have to worry about is being on time, dressing appropriately and writing code. If you buy into the cog-in-a-wheel mindset, you’re reasonbly good at your task and reasonably reliable at delivery, you can count on a reasonably successful tenure at one of these companies.

People looking for something more exciting go freelance. The pay is better (though it comes with some extra work) and you can get a broad exposure to different workplaces and work practices while building up a large stable of contacts.

The real prize in the digital world these days is landing a gig at a big digital agency–AKQA, Sapient, BBDO–these are world-wide organizations that combine (mostly) the cool of the creative world with the benefits of a large scale enterprise work force.

Whichever path you find yourself on remember the first rule–it’s about your career, not your job. In our next installment we’ll talk about how to avoid some common mistakes. We’ll also cover some techniques for keeping an eye on your career while the other is on your job.

The people I could have been are awesome!

Sometimes, one life is not enough to accomplish all of our dreams…

In the many-worlds theory of quantum mechanics, all possible events exist, have existed or will exist as each act or decision spins-off a plethora of parallel universes. This means, among other things, that every project I haven’t put into practice has in fact been accomplished by one of my many-world selves. Think then of all that I’ve accomplished over the years as I procrastinated, dithered and postponed putting my ideas into action!

You really should check-out my blog from universes Ψ∞28.312.12670.5044 to Ψ∞39.122.42600.0023 where I took the time to post all the insightful articles, reviews and stories that, in this universe, I’ve dictated in my head but never got to put into writing.

While you’re at it, you should play the cool adventure game my self from universe Ψ∞30.114.00065.1177 made, where my theories of gameplay ecology have been implemented. The sequel will be even better!

My self from universe Ψ∞27.255.86400.112b is enjoying early retirement from his sale of the social application I thought up in 1998 while my self from Ψ∞22.278.00965.6630 lives in abject poverty, but is quite proud of the comic books he published to critical, if not popular, acclaim.

In universe Ψ∞21.122.42600.0023, my other self’s mother clutches with pride her son’s fourth novel, the latest in a sprawling fantasy series I envisioned with a friend in 1988 but didn’t publish (yet).

And, finally, my self from Ψ∞6.022.62502.1112 may not have become an astronaut, as his childhood dreams had envisioned, but thanks to revenues from his sprawling media empire he managed to purchase a ticket to the next Space Shuttle launch as a space tourist.

I envy these alternate-selves for their dedication to their ideals. Let’s wish them luck in their very active lives as their own decisions and indecisions keep spinning even more new universes out of the fabric of infinite possibilities. Maybe one of them is even now wondering where he’d be if he had put into execution some of our other ideas or simply delayed acting on his dreams just a little while longer in order to spend more time with his family…

And you, what do you think your other many-world selves may be doing right now?

Links

  • Check-out my blog to see which ideas my self from this particular universe has managed to put into action.
  • The many-worlds theory is one of the themes of Anathem, an excellent science-fiction novel by Neil Stephenson.
  • More about the importance of following our dreams in Dispelling Illusions, a post by Ara Pehlivanian, the esteemed founder of Webstyle Magazine.

Social Networking: Insurance For Your Career

Photo Credit: Jeff Turner

If you’re a software engineer, especially if you’re in Silicon Valley, you will no-doubt have been pinged several times by recruiters and former coworkers about exciting opportunities at their company. How should you respond? You might be really happy at your current company and not even be thinking about leaving. Being a technical recruiter in the valley, I hear this all the time. People love their jobs and aren’t interested in discussing opportunities.

My advice to you is, always take the time to listen to the opportunity even though you might not be interested–at the time–in taking it. Listening to opportunities is like taking out insurance. You might not need it, but it’s critical to have when you do.

Think of the reasons why you love your job:

“My boss is the greatest and I flourish under him or her.” Your boss can leave at the drop of a hat and their replacement can be worse.

The company atmosphere is great. Your company could be sold or go through lay-offs. Or after a certain amount of time the environment of your company could no longer fit your lifestyle.

When these things start happening, people start scrambling to try and remember that person who reached out to them. The person they never even responded to. It’s good to keep a list going of all the recruiters or coworkers that have reached out to you. Thus when you do find yourself on the market, you won’t be starting from scratch. You’ll have a clear path of leads to reach out to at your own pace when you are ready.

What if you don’t like the company a recruiter is working for? The Valley is all about relationships, and recruiters are known to go from agencies to big named companies to start ups and back to big named companies again.  (I should know. I’ve done all three in my career.) Recruiters keep lists of top candidates, another reason it’s good to connect with them. Because down the road, they might go to a company that you would be very excited to work for. Or they might know someone that can help you out.

It’s also good to remember that companies can change when considering opportunities. Nine years ago, a certain big-named Bay Area company’s stock was going at $22 per share. People thought they were done. The stock is now at $250 per share! When that company was recruiting they recruited their future vision. Now some of those people who took the leap are benefiting from it.

So how do you get your “social networking insurance” ready? You should keep your social profiles current, and not wait until you’re in need (just like insurance). This way it’s ready when you need it. Get LinkedIn recommendations during your tenure at your company and not when you are ready to leave. Also, take part in groups and other interests that encourage networking. People like to hire people they’ve known via blogs, meet-ups, LinkedIn, Twitter, Facebook, etc… People (not just recruiters) will always reach out to their networks first. A lot of the time when a manager hires a referral, it isn’t someone’s aunt Margaret, or their neighbor, but someone they’ve connected with via social media. This can also come in handy when it’s your turn to hire people for yourself.

So remember it’s like insurance you might not need, but when you do, it is there for you!

Bike Mechanics for Geeks, Part 1

I spend an awful lot of time on computers, my iPad and my iPhone. It’s not that I don’t like nerding out, I love nerding out, but sometimes you just need to get your hands dirty and stop looking at a screen. For me cycling and bike mechanics has been an excellent way to channel my geek into something that is physically exerting while having a big engineering aspect. It’s also a really easy and affordable hobby to get into.

My bike is a 1987 Peugeot Versailles. There are a lot of nice things about owning a classic bike, one of which is that they’re cheap, easy to get and tend to be a lot simpler than some newer bikes.

Let’s take a look at some basic bike anatomy so we’ll be ready to dive into some deeper topics later. Bikes have some fairly specific terminology but there isn’t too much of it. I’ve labelled most of the major pieces of a bike below. As you can see we use the word ‘tubes’ to refer to the major lengths of the frame. One thing not shown are the ‘sides’ of the bike. Generally the side of the bike with the chain on it is referred to as the ‘drive side’.

The most basic stuff we’ll be looking at is the regular maintenance of things like the chain, the breaks and the gears. While these vary from model to model the basic principles are mostly the same. We’ll probably also spend some time diving into the physics of bikes and why they are built in specific ways.

For now let’s do the most basic thing possible, oiling the chain. Oiling your chain is extremely necessary if you don’t want a rusty hard-to-ride bike. It only takes a second every now and then and it will save you time and energy in the future.

My personal lube of choice is Pedro’s. They offer a range of lubes to suit the kind of riding conditions you’ll be in. If you haven’t been looking after you chain you should clean it with Simple Green first. Leave it in a container of Simple Green and then brush it down with an old toothbrush. Get all the gunk off. It’s very important you let it dry before applying the lube though, otherwise the degreaser in the Simple Green will stop the lube from applying and your chain will wear a lot harder.

Once you’ve cleaned your chain (or not) you can simply take an old rag and hold it just behind the chainring, in the gap the looped chain makes. Gently turn the peddle backwards and apply the oil above the rag. I find it’s pretty easy to hold the rag and the lube bottle in one hand. Just squeeze the bottle until you can see a trickle of oil being picked up and carried away by the chain. Rotate the whole chain slowly a couple of times to make sure it all got lubed. Finally gently apply the rag to the chain and give it one more turn to grab any excess that might attract road dirt. That’s it you’re done.

If you want to get into Bike Mechanics, a local community bike shop is the best place to learn. My local community bike shop in San Francisco has an awesome list of places you can go to in North America. If anyone knows of other ones, it would be awesome to get them in the comments.

Red Paint

Image Credit: Anton Peck

Red. The color of passion, fire, creativity, intensity, power, excitement, and speed.

Here is a new wallpaper for you to download and use freely on your desktop, iPad, or mobile phone. May it inspire you to create something amazing.

Red Paint Wallpaper

Red Paint Wallpaper

Download now: 2560×1600, 1920×1200, iPad (1024×1024), iPhone 4 (640×940)

Espresso Machine Buyer’s Guide

Photo Credit: Jimmy G

When looking into buying an espresso machine it’s pretty easy to get overwhelmed with choice, and it can be hard to know where to start. In this guide I’ll point out some of things you need to know when choosing the right machine for brewing espresso at home or in an office environment.

Budget

The first thing you need to do is decide how much you want to spend. This will then inform which bracket of machines you should be looking at. Also, it’s important to note that spending a lot of money on an espresso machine will not get you very far if you don’t have a reasonable grinder to tweak the grind of your coffee for your shiny new machine. One solution to this is to accept that you’ll get ground coffee for the first few months of owning your machine and then get a better grinder when you can afford it.

This is the route I’ve taken and it worked out well because I ended up with a better grinder having been able to save up for it and research it properly. It’s not uncommon to spend at least £300 GBP to get a really good quality burr grinder.

Note all prices quoted are based on prices of products available in the UK at the time of writing.

The Anatomy of an Espresso Machine

Before we dive into different machine technologies, let’s take a look at the anatomy of a typical espresso machine.

First, you have the portafilter (or group handle) for brewing espresso, which fits into the grouphead. Usually you’ll have one grouphead on a home machine while in cafes it’s common to see 2, 3 and 4 groupheads.

The portafilter is the part with the handle on one end and the basket on the other containing the coffee. This plugs into the grouphead. When brewing, hot water from the grouphead pushes through the coffee in the portafilter and then pours out of its spouts into your cup.

Next you have the steam wand. This provides steam controlled via a tap for heating milk. It’s used to make micro-foam for milk drinks. It’s also ace for hot chocolate!

Lastly you have a hot water tap. On some machines this function is shared with the steam wand. On more expensive machines it’s a dedicated tap. This simply provides hot water in order to make Americanos and can be used for tea too if you want!

Manual, Semi-automatic or Automatic?

Machines come in four types; manual, semi-auto, auto and super-auto. Let’s take a look at the differences of each one.

Manual

A manual machine is typically a lever operated machine where you manually control the pumping of the water through the coffee. Some are spring assisted but you get the idea. Whilst these machines look cool it takes a lot of patience to get good results especially with machines that don’t have a spring that does the work for you.

Semi-automatic

This kind of machine is probably the most common and a good choice all-around. Semi-autos allow you to control the pump so you can switch it off when you decide it’s time to stop. This is handy as it allows fine control over the whole process and is especially good for when you are experimenting with different coffees and grinder settings. Unless you are setting up a cafe or providing a machine for a large office where a machine with auto modes would probably be useful, this is the type of machine to go for.

Automatic

An auto machine is one which provides preset volumes for single and double espressos etc. This feature is a necessity in commercial machines where you are likely to be cranking coffees out with everything dialled in. In high end machines you’ll find they often have semi-auto style controls in addition to the presets.

Super-automatic

There’s a fourth type of machine called “super-automatic” which does the whole coffee-making process including grinding, tamping, brewing and milk-frothing. As this requires no user interaction (which removes all the fun imho) I haven’t included that type of machine as part of the guide.

Espresso Machine Price Brackets

So once you’ve got the money you’ll be looking at machines in one of the following 3 brackets, which are really divided by the type of technology used.

Single Boiler (£100 to £400)

Single Boiler machines use the same boiler for brewing and the provision of steam. This compromise means that you have to wait to get steam after brewing and also if you’ve just used the steamer you can’t jump straight back to brewing because you’ll need to clear the steam first. These machine are a good starting point if you’re not sure you’ll really get into coffee. The downside of such machines is that it’s fairly easy to outgrow them if you start to really geek out over coffee. The main issue is that single boiler machines generally lack precise temperature controls. This means the temperature of the water at the grouphead will vary slightly every time you brew your coffee. This will mean you won’t have enough control to get the best out of “fussy” coffees where a few degrees of temperature difference will radically change the flavours extracted from the coffee. That said, you’ll find that there are plenty of coffee’s available where you’ll get perfectly reasonable results.

Pros:

  • Cheap
  • Can provide really good results
  • Great for modding to add digital temperature controls

Cons:

  • No precise temperature controls
  • Can’t brew espresso and use the steamer simultaneously
  • Fine for home but wouldn’t be suitable for use in the workplace unless it would see limited use

A good example of the higher end of this bracket would be something like the Rancilio Silvia, which is a semi-auto machine. It’s a good choice because it’s tough, and the portafilter is the same as one you’ll find on a pro Rancilio machine. They’re also popular candidates for modding; there’s a number of places you can get kits to add digital temperature controls to these models or even hack together your own using an arduino board.

Single Boiler Heat Exchanger Models (~£600 to £1300)

This next level retains the single boiler approach but adds a heat exchanger. The way this works is that water for the brewing process is heated via pipework within the boiler. This way you can brew and then immediately use the steamer and vice versa, adding a lot more flexibility. The majority of the machines you will see at this price bracket will be semi-automatic machines.

Flexibility brings an increase in price. As you start to look at machines in this range it is more likely that you’ll also start to find machines that have digital thermostat switching. This means you can control the temperatures of brewing much more closely. All of this control means it becomes more possible to control more of the variables that will affect the extraction process.

Some examples of machines in this bracket would be the Expobar Office Pulser at the bottom end of this bracket (£609) and the Quick Mill Andreja Premium at the higher end (£1,149).

Pros:

  • Much better control over the extraction process.
  • Flexibility of being able to switch between brewing and steaming
  • Would be suited for use in an office

Cons:

  • More expensive (obviously!)

Dual Boiler Models (~£1000 to £3000 and beyond!)

Dual boilers do away with the heat exchanger and replace it with two dedicated boilers. These kinds of machines are almost certainly out of reach for most home baristas. Though there are some machines available at the lower end of the range, such as the Expobar Leva Dual Boiler which at time of writing is available for (~£969) from Bella Barista.

The idea behind dual boiler machines is that having a dedicated boiler for brewing and a dedicated boiler for steaming provides an even greater level of control. In addition to dual boilers, you also start to see automatics with features such as programmable volumes when you get into this price bracket. Programmable volumes allow you to dial in the exact volume of water to be dispensed for single and double espressos etc.

Pros:

  • Can’t get more control over brewing variables than this
  • Time to open a coffee shop!

Cons:

  • More expensive (ya rly!)
  • More difficult to maintain
  • Physically larger so you’ll need more space

In this bracket at one end you have cheaper models like the Expobar Leva Dual (~£969) and the Izzo Alex Duetto (~£1600) and at the other end you have awesomeness such as the La Marzocco GS/3 (£4143.74). For me this machine is coffee machine equivalent of the Wayne’s World guitar – One day you will be mine!

Before Diving In

Before you dive in and make a purchase, be sure to spend some time researching the models you are interested in. There are plenty of coffee forums around which will be chock full of user’s opinions of the machines they’ve bought and are using on a daily basis. This kind of practical information can be really useful in making an informed decision, rather than just going on specs alone.

Happy brewing!

A Paper Internet

If you wanted to preserve important bits of our civilization for future centuries, you could do worse than a bundle of paper sealed in resin. It’s remarkably cheap and effective; you can make one over a weekend. In this article we’ll build a ½ scale model of a time capsule that contains the complete Linux 0.1 source code, plus sundry articles and Internet ephemera.

A time capsule must perform three basic functions:

  1. Encode information with sufficient density & durability.
  2. Protect the information from physical damage, moisture, heat & cold, etc.
  3. Be findable.

So while the Rosetta Stone performed (2) fairly well, it was pretty lucky to be found at all. Also, its data density is terrible: about 1 bit per cubic centimeter. A book in a library fulfills (1), but requires the library around it to provide (2) and (3).

The internet, contrary to popular belief, is not very good at preserving information on a long time scale. It ultimately depends on digital media that break down rapidly. Early Unix source code, one of the most important sequences of bits ever written, didn’t last more than a couple of decades. It had to be reconstructed from printouts.

The makeup of our capsule is simple: cellulose, carbon, polymers, and distributed information. You print a bundle of paper, place it inside a box, stick a label on it, then drown it in translucent epoxy resin. Alongside whatever it is you are preserving, you include the locations of other capsules.

1. Density & Durability

The humble piece of paper has come a long way in the last few decades. Acid-free paper 1 is the norm. It has archival properties comparable to cotton rag or parchment, and can easily survive for 300 to 500 years. Black & white laser toner is carbon powder and resin, fused to the surface at a few hundred degrees Fahrenheit. Carbon, being an atomic element, never fades. All in all it’s a cheap & cheerful way to preserve data for a very long time.

2. Protection from the elements

You need an airtight seal that is itself fairly rugged. Epoxy resin is the hard plastic you often see protecting the surface of bars and restaurant tables. It’s the closest thing you can get to man-made amber. Our scale-model capsule will be encased in a shell of resin about 1 centimeter thick. We’re not shooting for 2,000 years exposed in the desert, just 50 to 500 years in the ground.

3. Be findable

The biggest design problem of traditional time capsules is that people forget where the damned things are buried. There seem to be two contradictory thoughts going on at once: that the best way to preserve information is inside a buried box, but that the best way to preserve information about the box is somewhere else.

Inside each time capsule will be a list of other known capsules. That, I hope, will make the difference between a node in a network and a forgotten box of junk. Dozens or hundreds of people could build full-scale capsules like this and share location data with each other. This prototype and its twin are the only two of their kind so far, so they only link to each other. The larger the network, the greater the chances of recovery.

Materials

  1. 70 sheets of high-quality, acid-free printer paper
  2. Laser printer
  3. 250 pages of data you want to preserve
  4. Scissors or paper cutter
  5. Masking tape
  6. ¼” thick balsa wood planks
  7. Illustation board (thick paperboard)
  8. Razor, ruler
  9. Wood glue or white glue
  10. 500ml clear epoxy resin
  11. Disposable cups and stir sticks
  12. Gloves, goggles, and mask

The Bundle

Gather whatever data you want to preserve. It can be books, songs, computer programs, your Facebook page, diary, recipes, anything. I would focus on things that are likely to disappear. The future will probably most appreciate a description of boring, everyday life in Right Now, A.D.

Laser-print your data “4up” and single-sided. You should experiment with your printer’s capabilities, but I’ve found that 10pt Helvetica printed 4up is the smallest mine can go and still be legible. Don’t print double-sided because the toner might stick to itself if it ever gets too hot.

Cut the sheets into quarter-pages, collate them, then tightly wrap the bundle in a couple of layers of paper, like a Christmas present.

The Box

The box is mainly for appearance’s sake, and to protect the paper from light. You could probably sink your bundle (wrapped in a few layers of paper and plastic) directly into the resin and it would work fine.

I made mine from illustration board. Cut two 12 x 15cm pieces for the top and bottom. Then cut the side walls 3cm high and slightly shorter than the 12 or 15 cm, to account for the thickness of the neighboring wall.

Glue it up! It doesn’t have to be pretty or perfect as long as it fits as tightly as possible around the paper bundle. Let it sit for an hour to dry.

Place the bundle inside a ziplock bag, squeeze all the air out, and seal it. Put that inside the box and glue the lid shut. Paint it if you want, then glue a label to the front so people know what it is.

You build the mould the same way as the box, just 2cm larger in each dimension. I built mine out of balsa wood. If you have an aluminium or plastic tray of the right dimensions you can use that instead.

The Epoxy

Needless to say, do all epoxy work in a well-ventilated area and follow the safety instructions. Epoxy resin sounds tricky but it’s pretty easy to handle with practice. There are many types of resin of varying properties. You want “encapsulating epoxy resin” or “clear casting resin”, which is often used to seal electronic components and art projects. The strongest resins take 48 hours to harden completely, but last much longer than fast-cure resins.

Mix & pour about 3/4 cup (140ml) of resin in the bottom of the mould and let it cure for about an hour. This forms the back of the shell. (By the way, don’t buy the stuff in the picture. Buy low-odor 1:1 mix resin, which is much easier to work with.)

Center the box inside the mould. Mix & pour the rest of the resin on top of the box, and let it flow into the sides. Loosely cover and let cure for 24 to 48 hours. Your inner box will probably not be water-tight, so expect some bubbles to stream out of it as the epoxy seeps in. (To avoid this you could use an airtight tin, though there is a chance it will float!)

Place in ground, let stand 300 years.

Thinking Bigger

This is a scale model to demonstrate the process. Real capsules will contain at least 500 full-sized sheets of paper. The magic of the square-cube law makes it more cost-effective as you scale up. Casting large volumes of epoxy is a bit tricky, so start small and ask your friendly neighborhood supplier for advice.

Three Reams (1,500 sheets): This is probably the most managable size for a weekend project. You could use ready-made “archival” boxes for the inner box and one of those plastic file-folder boxes for the outer mould. Artist-grade resin starts to get pretty expensive at these volumes, but you can use amber encapsulating resin instead, about $80 for two gallons. AeroMarine sells in bulk and will send you free samples.

Carton (5,000 sheets): If you want something with more volume and durability, you can use a concrete flower pot whose inner dimensions are about 2 cm larger than the outer dimensions of the paper carton. Tightly seal the paper with several layers of thick plastic, and pour the resin as before.

Oil Drum (28,000 sheets): if you have good concrete molding skills and access to bituminous resins (instead of expoy resin) for the water seal, you could build a time capsule around a 55-gallon oil drum with very good capacity. It’s probably wise to invest in higher-quality printing at this scale, so you can fit more than 4 pages of data per sheet.

Monument (3,500,000 sheets): A typical twenty-foot cargo container can hold over 700 cartons of paper. Constructing this monument requires a proper concrete foundation, a steel-reinforced concrete shell, and serious seals against moisture. The curation and printing alone are jobs of unusual size, but doable.

A cargo container sells for about USD$3,000. A contractor friend of mine estimated the concrete construction work would cost about USD$15,000. The printing, curation of the data, and mosaic work would be the most expensive items. But I believe the total cost would be under USD$100,000. That’s less than many corporate sculptures, and a lot more useful.

I think it would be beautiful to put giant concrete archives in public parks around the world. A mosaic on the top surface would describe what it is and what it’s for. Sink them about 2 meters down so they stick out a bit. They would form large benches for people to sit and play on, trace out the mosaic with their fingers, and perhaps be reminded of time.

If you want to build a time capsule yourself, send me an email! Let’s get this thing started.

Notes

[] “Acid-free” is a bit misleading. All wood-pulp paper contains acid that will yellow and destroy the fibers over time. “Acid-free” paper is given an extra wash, then impregnated with alkalies (baking soda, more or less) to improve whiteness and neutralize remaining acids. The percentage varies from 2% by weight up to 4 or 5% for “archival” quality paper.

Confessions of an IT conference traveller (part 3 of 6)

Photo Credit: Jérôme Decq

Christian Heilmann covers the different stages of travelling for IT conferences in this six part series. Be sure to read parts one and two.

If you’ve followed the last two parts of this series we talked about packing, getting to the airport and going through the airport. You will now find yourself at the gate to the plane and you successfully passed the people who rip your boarding pass and give you the piece of paper that holds the key to your seat.

This paper also normally holds the sticker for your lost luggage so it is a good idea to keep that one. Its size and the fact that the sticker is just ever so slightly bigger and overlaps the boundaries with just enough sticky part to be annoying doesn’t make it easy. That aside, find a good spot for it.

For now, hold on to it as there will be a discussion on the plane if your seat really is your seat. The amount of confusion a seemingly organised concept of row numbers and letters A to G (sometimes H) can cause is always staggering.

The SSS phase (Sit down, Strap In, Shut Up)

Once you were told where to go and you located your seat and you are not in business class you will most likely realise that the allocated space in the locker above your head of your seat will be occupied by somebody else’s stuff. I don’t know how that can happen but it does – a lot. Try to wrench your one bag in between the massive backpacks, tents, extra life rafts, stuffed tigers and barrels of olive oil (or whatever your other passengers brought) but beforehand remove a few things:

  • Your laptop (in case you want to work – skip the power adaptor as there are no outlets except in business class)
  • A pen (as you will have to fill out landing cards)
  • Your passport (for the same reason – the information on your passport will have to be entered in the form again as there is no such thing as accessing the data you already entered on the internet or when the customs officer swipes your passport. Crazy talk – all of that. It would involve computers and somesuch)
  • Your headphones (spend money on damn good headphones. The sound is irrelevant as the audio system of the flight entertainment system will be bad in any case – the important thing is how good they are at cancelling out noise from the outside like screaming kids or snoring passengers)
  • Chewing gum and/or sweets
  • Handkerchiefs in case you need to sneeze and in the very likely event that there will be some spillage
  • A book (to keep you entertained without technology during landing and take-off)

If you won’t need your mobile(s) during the flight, shut them off or set them to flight mode and put them in your bag before stowing it. If you want to use them for playing, listening to music, watching videos or you need contact information on them put them in flight mode and take them with you.

Sit down and take off your shoes – put all the things that could slip out of your pockets in your shoes and put them under the seat in front of you. This means they cannot fall out of your pockets when you sleep or use the facilities. It is also a great reminder where they are when you land and you are a bit woozy after a long time of recycled air and bad sleep. If they are in the way of your feet then you remember you have them. If you hear a crunching noise putting on your shoes you were too fast. Removing your shoes is a good idea in terms of blood circulation.

Buckle your safety belt and you are ready. Unless you are in the aisle seat. In that case get ready to have to stand up again – probably several times – as the person next to you will have to sit down and will have forgotten something in their hand luggage.

The first 40 minutes of a flight and the last hour of your flight are completely wasted time. There is nothing productive you can do as you are strapped in, not allowed to move around and will have to listen to the announcements of the crew. These are the same every single time and a lot of them questionable (landing on water may mean you will survive – in 99% of the cases you’ll die during the impact. If you follow all the advice you can be lucky enough to survive 10 minutes before hypothermia kicks in – but no matter…) but it is their job to tell you about them and your job to nod and understand that the exit is where you will leave the plane. A lot of airlines now have videos for that so at least the flight attendants don’t have to do the swimming motions any more.

I am bad at listening as I fall asleep 5 minutes after being strapped in – unless the person next to me is interested in conversation or interesting enough to start one. I heard that flight attendants hate people who talk to each other on flights but I have to say, I’ve met very interesting people during flights. When there is no conversation I do fall asleep and I normally get woken up when it is time to get my peanuts and free drink. This is actually a good aim as these first few minutes are the only time you really will be able to sleep properly.

You will meet a lot of people who fly and are afraid of flying. One time I had a female police officer who was terribly afraid of flying. She asked me to hold her hand during take-off and landing and was quite amazed to hear that there is a train between Boston and New York and she doesn’t really have to take the plane. The other time I had a man who pressed his forehead against the seat in front of him, read from the Bible and listened to whales singing from a portable CD player which just calmed him down enough not to hyperventilate. I managed to re-assure the police officer that everything was fine but I knew I was beat with the other guy.

Things happening during a flight

There is not much order to what happens on a flight so let’s just tell you about a few of the things that make it more enjoyable or less enjoyable:

Children

I love children. I love their honesty, their pragmatism, their ability to be easily excited. Hell I am a kid myself when I find out about new things. On planes, however, kids can be very annoying and amazingly loud. One of the things a lot of parents forget is that a lot of the screaming happens during landing and takeoff and the reason is the change in air pressure which makes the ears hurt. As grown ups we close our nose and blow – much like you do it when scuba diving (I actually like the plop this makes) but that can hurt, too. This is where the sweets and chewing gums come in. A kid sucking on a sweet or chewing on gum will not get into the pressure trouble as the jaws are in motion. So give your gum or sweets to parents with screaming kids and explain that it’s for instant silence. Don’t give the sweets directly to the kids for obvious reasons.

Kids are also immensely bad at flight disturbances. You know those “holes in the sky” where the plane gets wobbly and your stomach says “can you please stop that”. As kids are likely to pig out on the free food on the plane and not as modest about stomach issues, this can be an explosive situation. I once had a kid next to me who threw up six times during the flight and the loving mother kept loading them up with food. Surely there has to be a learning moment about what goes in comes out after the third time, right?

Facilities, Washrooms, Toilets

Airplane toilets are to be used as soon as possible. The amount of deterioration of in-flight bathrooms is stunning. Within an hour it can turn from the comfort of a Holiday Inn bathroom to the john of a biker bar after a free bar and chili cookout. If you are considering joining the mile high club (I still consider it a myth) then do so as early as possible.

I’ve learned to climb over sleeping people next to me without waking them up when I need the bathroom. If your dexterity does not stretch that far and you don’t want to have someone waking up looking at your crotch just gently nudge them to get out of the way.

Going to the loo is a good chance to stretch your legs – so use the ones at the end of the plane and walk around a bit – always a good idea to keep the circulation up and running.

Food and drink

Airline food has been standup comics’ material for years now so you probably know all about it. I love being a Vegetarian as that means I get my food first and I don’t have to wait for the trolley to come through. I also once got upgraded as there was a catering problem and they had no Vegetarian meal in Premium Economy.

Airline food is a pain to get right. In business you have your crockery, cutlery and nice plates but the space restrictions in economy makes it tough for airlines to give you quality. As it is, you can bet your life that something on your tray will make it onto your shirt or trousers – if you are lucky it’ll be your own food and not your seat neighbour’s or because of a clumsy flight attendant (I once had my seat neighbour’s Cognac spilled all over me – that was “fun” in customs).

I normally don’t eat much during the flight as I don’t move and it just sits in you. In business this means I can order less, in economy I always feel bad for leaving a lot behind.

I normally don’t drink during flights as I get a rental car when I arrive. If you want to sleep and you can’t or you just want to get drunk fast, drinking on planes is a great idea as the lighter air accelerates your blood flow.

One thing to make sure you have lots of is water. You are effectively being freeze-dried during a flight, so replace as much as you can. If you have a weak bladder, maybe not so much unless you have the aisle seat.

Paperwork

As I said before, you will have to fill out landing cards. Instead of waiting for the flight attendants to give them out, get them during check-in and fill them out as soon as possible. Your brain will be tapioca by the end of the flight so get it out of your way as soon as possible. Help people around you as they will be slowing down the queue in the destination airport if they made mistakes. Always check the back of the forms, there is normally some hidden signature or date field to fill in.

Sleeping

Sleep doesn’t come easy for a lot of people on flights. I can fall asleep easily but I have to say, sleeping on a plane never is relaxing – you wake up more exhausted than before you fell asleep. If you want to sleep make sure you recline your seat, cover yourself with a blanket (as you will get cold) and put your seat belt on over the blanket so that the flight attendant won’t have to wake you up in case of turbulence.

Working on your laptop

Sometimes I work on my laptop but it is not easy. First of all I don’t like people looking at my screen. You can get one of those screen covers that prevents that but that normally results in the person next to you asking where you can get those. You normally also have to answer questions about your computer and as having a computer and not wearing a suit automatically makes you a technical person you’d have to answer questions about problems people have with their computers. There was a joke screen saver going around that had arabic writing and a countdown in big red letters which would stop any of these conversations but not everyone would get the dark humour of this one.

In-flight entertainment

Depending on the airline and class you fly with the in-flight entertainment can reach from free newspapers or a huge screen with a predefined (and inevitably awful) movie to a fully interactive small touch screen system in the back of the seat in front of you. The latter is more and more the norm and is great as you can choose from a lot of movies, games, TV and audio programs. The best systems have a way for you to stop and start and fast forward movies in case you need a nap or you want to skip painful scenes like any romantic conversation in a George Lucas movie. More annoying systems have a running playlist of movies without being able to stop or skip. This is especially annoying as you have to wait for all movies to finish before a new one starts. So if one of them is Lord of the Rings or the uncut original of Metropolis you might look at an hour of static.

Another big issue is that by the time you’ve found the right tilt for the screen in the seat in front of you, the person in front of you will recline their seat which means that you also have to recline yours, annoying the person behind you. Smacking their head is not an option but admittedly has gone through my head a lot.

One thing every system has is that it is prone to crashing so it is a good idea to have backup in the form of a book or a movie on your iPod or laptop. It is also a vicious circle as when systems crash they get rebooted which means that after reboot everybody fast forwards to where they got stuck which of course crashes the system again. This is why by now flight attendants tell people row by row about the reboot and not the whole plane.

Be aware that you are in a vulnerable situation – you are strapped in a seat and have no way to leave and you breathe recycled air. That means that whatever positive impression you get of a movie is most likely false. I’ve bought DVDs after thoroughly enjoying a movie on a plane just to want to burn it when I watched it at home. On the small screen even Transformers appeared to have traces of acting.

The most annoying thing about British Airways especially is that if you have half an hour left in a movie one hour before landing, there is no way that you will finish it. The last hour belongs to the pilot telling you a 5 minute information piece about the destination and the flight crew repeating the information about 10 times in different languages. Every time that happens your movie will get stopped and 20 minutes before landing your headsets will get collected. It is annoying as hell. Announcements starting with “As you just heard from the captain…” make me cringe. Yes we did, why do you repeat it? So always end your flight with a half hour TV series episode or some music. Or read your book as you will also have to shut down laptops and take out any headphones as you will have to be able to hear announcements from the flight crew.

Landing

Once the plane lands there is no need to rush. If you have no luggage you may be able to get a head start, but if you do you will meet anyone you overtake on the way out at the luggage carousel. The worst that can happen is not landing at the airport terminal but having to take a bus to the terminal. This means you have to wait for everyone to get out.

Collect your things, put on your shoes and jacket, get your hand luggage out making sure you don’t have stuff falling on your head. Help people get theirs out if they are short, frail or too drunk. Check that you didn’t forget something or other people haven’t. Have your passport and paperwork ready and slowly get out thanking the flight crew as you pass them. Take a deep breath and get ready to face the destination airport.

My Big Kiwi Day Out, Part 2: Not In The Shire Anymore

Photo Credit: Phillip Capper

Last month I travelled to Wellington to speak at Webstock Mini conference and to volunteer behind-the-scenes at the FullCodePress international website-in-a-day event. Between the conference and the geek-a-thon I had a day to myself. Rather than visit museums and city sites, I wanted to get out to see some of the countryside.

This is my story of how I got lost in the jungle, and survived. Just. (Read Part 1)

In Search of a Summit

After wandering around the back streets of Paraparaumu looking for something — anything, really — that read “Hiking Trail,” I finally stumbled upon a gate with some signage that gave me hope. Granted, the font used was rather small, and the sign was so covered in mud that it was barely legible, but it was a start! The sign read:

Nikau Reserve entrance

That was enough for me! I’d finally found a path to follow that was lined with grass and dirt, rather than the concrete that I had persisted with to this point. With the adrenalin in my veins overriding the pain in my leg, I opened the gate and began my journey to, well, I had no idea — hopefully the top of a hill.

Calling the “path” ahead of me a path would be extremely generous. It was more like a paddock that a tractor had travelled over a few times to clear the grass out the way — a marshy paddock. I pressed on, and the rain came down harder, the ground got muddier, and the grass got higher. Eventually I abandoned all hope of having a trail to even look for, and started exploring the paddock.

Which was fine — I was having fun. This was an adventure, and a far cry from spending the day in front of a computer. Besides, I could see a hill up ahead that was thick with lush green ferns and towering trees. It looked like a real Middle Earth-style rainforest, and I wanted a piece of it.

Dressed For The Occasion

A babbling creek kept me company as I meandered my way through the mud. For the first 20 minutes I managed to maintain a healthy distance from my watery friend, but I eventually reached a point when I needed to cross. It was a short jump, and I felt confident that I could make it. What I didn’t take into account was the stability of the river’s bank …

I gave a short run-up to give myself a buffer on the other side (you know, so I could high-five myself after clearing the creek by this much) and took a flying leap. Legendary decathlete Daley Thompson (man I loved that game) would have been proud of the distance I covered, and I’m sure my landing was graceful.

Unfortunately, it wasn’t enough. It turns out the entire paddock on the other side of the creek was basically just one big swamp, and my left leg was now submersed up to my knee in mud. And this was the only pair of jeans I brought with me.

Funnily enough, I was still having fun. I waddled my way to firmer ground, and pressed onwards until I hit a fence … and that was it. What had started out as a barely navigable path had deteriorated into a marshy paddock, and this was what the locals called a walking trail?

Well, I wasn’t settling for that.

From Field to Forest

I followed the fence line with my eyes and saw that it ran across the creek (which by now had expanded into a fully fledged river) and climbed up a hill covered in luscious, thick forest. The change in landscape on the other side of the river was dramatic — the hill was covered in enormous ferns standing shoulder to shoulder, dwarfed by a thick canopy of towering trees that were probably hundreds of years old. This was my hill.

I saddled the wire fence and precariously shuffled across, and this time my water-crossing attempt was more successful. I began working my way through the forest, casting aside vines and ducking under branches, David Attenborough-style. This was exactly what I was looking for! The real New Zealand.

My goal was to get to the top of the hill. It wasn’t enormous, but it was big enough for me to feel a sense of accomplishment. Then I would turn around and retrace my steps back to the train station. Hopefully without falling into the marsh again.

At One With Nature

At this stage I was unconcerned with the following facts, but in hindsight I probably should have been:

  • I had no way of contacting anyone should I run into trouble (I hadn’t enabled roaming on my phone, as it was expensive and I was only in the country for a few days).
  • I had no GPS (I had my iPhone, but it was useless as a mapping device without a network connection to load map data).
  • I had no compass.
  • Nobody knew where I was.
  • I was alone.

I did have a basic sense of where I was, based on the noise of the cars that I could hear in the distance (the highway that ran north-south along the coast) and the position of the sun in the sky. I figured as long as I could hear the car noise, I’d know that the coast was near.

It only took me 20 minutes to make it to the top of the hill, and it was a fun climb. In Australia, trekking through unmarked bush can bring you into contact with any manner of poisonous beasties — deadly spiders, the most poisonous snakes in the world, scorpions.

New Zealand, however, is refreshingly devoid of these inconveniences. With this inside knowledge, I could pretend to be a pioneer who was setting foot on a land of untouched beauty for the first time. Knowing that nothing was going to drop down from the trees and kill me had me telling myself that it was easier to press on than to turn back. Besides, the canopy was so thick that I had yet to find that stunning view that I’d promised myself.

This Way To Success

After about an hour of peeling back vines and spiky branches that were becoming increasingly impenetrable, I was relieved to notice a bright pink arrow attached to a tree. “Ah ha,” I thought. “The trail! Finally I have some guidance.” I thrashed my way through the forest until I spotted a second arrow, and then a third.

The thing is, the arrow didn’t seem to point anywhere particularly related to any trail that I could see. I figured that the trail they were marking mustn’t have been followed in a very long time, and that the arrows were in urgent need of remarking.

I climbed the second, larger hill, and stopped to catch my breath. There was still no view to appreciate (all those damn trees in the way!) and I was a little puzzled that the pink arrows were daring me to venture downwards into a steep ravine. I peered over the edge and found myself staring at a severe drop-off that I remember thinking would have possibly been a fun descent … if I were abseiling. However, climbing down without ropes and a harness would have been suicide.

It was at this point that I had two realisations.

  1. This isn’t fun any more.
  2. I can’t hear the cars.

At Odds With Nature

I’m not one to panic, but even an optimist like me can identify when things are looking dire. Here I was alone, in a foreign country, lost in the jungle, covered in mud, unable to orient myself, with a phone that didn’t work, a packet of chips and a few mouthfuls left in my bottle of water. It was nearly 3.00pm and nobody knew where I was.

It dawned on me how genuinely stupid my predicament was. Seriously, who goes hiking in the jungle by himself, literally carving out his own trail, and doesn’t expect to get lost? Grim questions flashed through my head: What if I can’t find a clearing before it gets dark, and I have to sleep on the ground or something stupid? How would anyone find me? It’s wet — would I have enough warm clothes to survive a night? What about food and water? I could really be in trouble. I thought of my wife and daughter back home in Australia, and began imagining newspaper headlines reporting my demise.

“Some trail!” I shouted out loud.

Nobody responded.

Fuck.

Next issue, Part 3: The Two Trails

Humor Through Comments

Photo Credit: Anders Rune Jensen

Over the years, I’ve developed some rather strange code commenting habits. While many of my comments have become second nature as I code, every time I join a new team they raise some questions. For the most part they are intended to be both humorous and informative, but many have evolved over the years into inside jokes that require some explaining.

It All Started with Bananas and Idiots

My penchant for humorous code interjections started at one of my first programming jobs. The team worked with a few tools that threw warnings when functions and classes weren’t commented. So, we used the age old practice of adding the following comment:

//Banana banana banana

It kept our coding tools from throwing warnings and it was easy to find when we got around to commenting our code. Not long after learning the banana technique, a fellow programmer added a comment referring to ID10t errors. Unfortunately for the programmer, the client actually looked at the source code and was not fond of being called an idiot. These 2 experiences led me to create my personal rules of humorous code commenting.

The Rules of Humorous Commenting

  1. All comments should be useful, even humorous ones. Adding funny but useful comments is a simple way to lighten the mood. Adding useless comments will just annoy your fellow developers.
  2. You never know who will look at the code, so keep the comments clean. More Monty Python; less George Carlin.
  3. Save the funny comments for compiled code. Inside jokes are great, but you don’t need to push tons of technology humor on your users.

Now that you know the rules, here are some examples of comments that I use on a regular basis.

// Mostly Harmless
Used for code that might appear to be a security risk at first glance. A good way to let your fellow devs know that the code is secure.
// Abandon hope all ye who enter here
A notice that the following legacy code will probably take you days to figure out.
// I Call Shenanigans
Denotes code that is in place to prevent injection, xsrf attacks or other security trickery.
// You are here
Reminds me where I left off in a particular code file. Very useful when pulled into a random meeting or leaving something un-finished before the weekend.
// He who breaks the build shall pay a penance of donuts
Placed at the top of the main file or index file to remind devs what happens when they make me stay late to clean-up.

This is a Joke Right?

In reality, introducing some humor into your comments can have several benefits. It not only helps lighten the mood a bit; it also creates an atmosphere that encourages commenting your code. Finally, having a few inside jokes can help bring your team together, so get out there and have fun commenting your code.