5 Reasons Front-End Developers’ Lives Are Shorter

Photo Credit: Chris Fleming

The greater the applied stress range, the shorter the life. –somewhere on wikipedia

Maybe it isn’t a proven scientific fact, but it is common knowledge that front-end developers deals with way more stress than back-end devs do.  These people, working with CSS, HTML, JavaScript and all that is contained in a web page are becoming increasingly jealous of their back-end counterparts’ quality of life.  Here are the top 5 reasons why:

Compile time (or lack of)

This an outstanding source of stress.  When you burst out a big chunk of code, you guys hit F5 and see the result, right?  Not working? Get back to work.  Now.

Back-end developers can always rely on compile time (or more contemporarily, build time) to relax a bit.  They can soothingly peek at their EVE online character skill training queue, answer a couple of tweets, or practice their vi kung fu.

Source code management

In my experience, front-end devs aren’t at ease with SCM (subversion, Git, etc).  That means when there’s a fire, a hard drive failure or a giant dinosaur spits fire on your laptop, you lose everything.  Sure, there’s a copy on the server, but that’s not how you do things (and what if the dinosaur also ate the server?).  Lots of time lost here, lots of stress.

Web standards

Web standards are a good thing.  But web standards, as they are advertised right now, are a real joke: you still rely on browser maker’s willingness on implementing them.  You still have a lot of tweaks, hacks, and duplicated code to craft.

Standards for back-end programming (JEE, SOAP, SQL, to name a few) are well defined, and mandatory.  The developer can lean on them and blame the product company which failed to implement them correctly (and get congratulated for it because you earned your company free support time).

Have you ever tried calling Microsoft, and open a support ticket for that unsupported CSS thing in IE?

The look

Even the worst snippet of C++ code, if it works, isn’t judged by anyone.  Why?  Nobody understands it. Nobody gets to see the actual code, it’s all 1s and 0s.

On the other hand, you front-end guys have to deal with the judging eyes of everyone in the company.  You have to take all the “Meh. I still don’t like that turquoise” … even if it ‘s the best darn piece of code you ever wrote!  You literarily get stripped of all your intrinsic self-worth.

View source

What if you were in a crowd (a big one, think Tahrir square), and someone removed all your clothes.  Nobody would like that, unless you’re sexually deviant.  That’s what happens when some guy does a right-click -> view source on your code.  Guilt, doubt, fear.

Conclusion

I fear for you guys.  Really.  I could suggest a couple of COBOL books, or Java certification classes, but if you already have a couple of years of experience behind you, I guess it’s a little bit too late.  What might help is if you try yoga, tai-chi, or as a last resort you could try the essential works of Yanni.

Cheers,

JS.
Back-end developer.

The Trends Of Yesteryear And The Trends Of Today

Photo Credit: Ernest

As web developers, we live in a constantly changing world and have to keep up with the latest technologies. Recently we’ve been challenged to adapt to HTML5 and mobile, among other things. Sometimes I find this maddening, but most of the time I welcome it. It means there’s always new stuff to learn, and most importantly that I’m unlikely to get bored.

Along with ephemeral technologies themselves, there’s also ephemeral trends. Though not as fickle and ever-changing as the fashion world, us web developers have our peculiar trends that come and go.

Do you remember graphical visitor counters, web rings, guestbooks, and animated construction worker icons? When I started messing around making websites on the 2MB given to me on my AOL account around 1997, these were all the rage. Most pages in the “Geocities” era of the web had at least one of these components. If they were hip, that is.

Graphical visitor counters are still around in some shape or form, I think most prominently on sites such as eBay. But where there still exist page counters of some sort, it seems they’ve been mostly superseded by text counters (“This entry has been viewed X times.”).

Web rings were kind of like free advertising for your site. You submitted a banner advertisement of your website to be shown on other sites related to yours. The only catch was that you yourself had to embed the web ring on your site to shows ads for other sites. This is closely related to the idea of a “link exchange”.

A guestbook was simply a place where visitors could write a simple “hello, I enjoyed your page” type of message, just like a real-life guestbook. These have mostly been superseded by more sophisticated commenting systems that allow users to comment on specific articles.

I also remember frames being all the rage. When I started to learn HTML, my father also started to pick it up, and he seemed to learn the frames syntax pretty well, but it was something I never quite understood, mostly because I was afraid of the syntax and was convinced there were simpler ways to build a page. You can guess that I’ve been happy that frames are now deprecated (iframes still exist, but those are a bit different).

And who could forget animated construction workers! Before Geocities shut down for good, someone amassed a collection of these guys and entombed them in a sort of virtual mausoleum. (Ok, apologies for the overdramatic language).

Those were the trends of yesteryear, and it’s easy (and fun!) to mock them, but at one time they were taken seriously. So what are the things we’re doing today that will likely be looked back upon as passing trends?

The now fading “Web 2.0” era of the web seemed to feature sites full of rounded corners and shiny gradients. As a result we now have these built into CSS3, which is quite handy actually. We’ll certainly still see plenty of rounded corners and gradients, but but it seems to me we’re slowly getting away from the paradigm where we think of these as being the thing that makes pages “cool”.

Another relic of Web 2.0 seems to be the “tag cloud”. While it’s a cool visualization of tags and their relative importance highlighted by the text size, it seems to be a passing trend. But it still definitely exist as a buzzword.

Social media buttons have been around for a while, and personally I’ve never liked these. I guess this is my main reason for hoping this will be a passing trend. Like everything else, these can be overdone, and they have been overdone all over the web. It’s not uncommon to see an array of icons alongside an article, but it’s unclear to me why it would be easier to hunt the icon of my favorite service (Reddit, Digg, etc.) and submit it through there. Far easier, it seems, to simply copy and paste the URL.

Facebook “Like” buttons. These are now all over the web, and sometimes they’re proudly displayed next to my Facebook picture. It still shocks me while browsing CNN or any other site and seeing my mugshot appear at the bottom of the page. Maybe I’m just getting older, but I don’t like this. This is another thing I hope is a passing trend.

Give it a few years, but whatever turns out to be the passing trends will be clear in hindsight. And it will simply remind us once again that most everything is short-lived, no matter how popular it seemed at the time. Jump on the bandwagon while it lasts, but don’t overstay your welcome, and get ready to jump off the bandwagon when the time comes!

Book review: Acts of the Apostles, by John Sundman

Acts of the Apostes

A megalomaniac IT billionaire with messianic delusions and access to high-tech nano- and bio- technology threatens the very soul of humanity: our free will.

The number of the beast is a floating point processor

Set in the late 90’s, Acts of the Apostles is the tale of a computer chip designer & a software developer who suddenly finds themselves involved a conspiracy involving Gulf War syndrome, SCUD missiles, Saddam Hussein and the CIA. It also features computer chips with a mysterious bug, a Java-like computer language with peculiar limitations, nano-powered DNA manipulation, high-tech startup mergers, a ghost in the machine and a large cast of sexy female IT professionals.

John Sundman is a man possessed by a dystopian vision of bio-technology Armageddon and a keen sense for paranoid conspiracies. His novel describes a world on the brink of radical transformation through technology and man’s infinite lust for power.

Of course, there’s plenty of action, sex and humor, but the book also carries a dire warning about the dangers of hacking the human machine. i like to picture Sundman as a biblical prophet of old, standing at the city gate, half-naked under a lice-infested hair shirt, waiting for someone to make eye contact. Shaking bits of half-eaten locusts and spittle from his ragged beard, he harangues passersby with apocalyptic tales of high-tech doomsday, nano-beasts and biotech antichrists bent on world domination; peppering his rants with techno-babble and sharp witticisms. Sure he can be goofy and weird at times, but ignore him at your own risk!

Quoth the bio-hacker

I found the book funny and highly quotable. I was also impressed by the authentic feel of his descriptions of computer geeks and the IT industry in general. Here is a sample to whet your appetite:

  • “Todd, in his arrogance, had built very little debug time into the schedule.”
  • “Once upon a time, he would have said the meaning in his life came from taking part in the redefinition human nature.”
  • “Maybe relying on common sense & logic had been a mistake. This guy needed yelling at.”
  • “The Bonehead Computer Museum; Open Midnight to Midnight – Monday Thru Sunday and by appointment. Donations welcome.”
  • “It was good getting back home in Massachusetts, where things were allowed to get old.”
  • “The back of the device, in particular, looked like an electronic bird’s nest that had been sneezed upon.”
  • “Kali’s a hag. Just look at those saggy tits. Shiva’s tits are like Teri Hatcher’s: big and firm.”
  • “Silicon & DNA were the same thing: devices that shunted in different paths to create new information structures.”
  • “Prissy net fetishists took great offense when binary nonsense clogged up space on a discussion board, but on the Internet nobody knows if you’re a dog and you can post binaries anywhere you want.”
  • “Built into the Kali, hidden among its nearly three hundred thousand AND gates, OR gates , NANDs and NORs, was the secret recipe for making the chip upon Nick’s soul and life depended.”

A non-linear trilogy

Acts of the Apostles is book “blue” of Mind Over Matter, an ambitious three-volume work that share similar themes, characters and settings. Because these books can be read in any order, they are not numbered but instead marked by color.

  • Acts of the Apostles (Mind over Matter volume blue)
    • A techno-thriller about the abuse of nano and bio-technology.
  • Cheap Complex Devices (Mind over Matter volume red)
    • A rambling monologue supposedly written by a computer (or a mind in a vat, or a swarm of bees, or a man shot in the head and connected to a computer). The story is kind of a slow motion reboot, a person coming out of a dream, an entity that is coming to sanity, wholeness, self-awareness.
  • The Pains (Mind over Matter volume black)
    • An illustrated 1984-type dystopian featuring alternate-universe version of some key characters from Acts of the Apostles. Also included: cryogenically-preserved severed human heads and Ronald Reagan.

Each novel is told in a distinctive style and focuses on different, sometimes conflicting, point of views on the events depicted. The most conventional novel by far is Acts of the Apostles, which is told as a straightforward techno-thriller in the mold of Michael Crichton or Robert Ludlum. Fans of Neil Stephenson’s Cryptonomicon will certainly enjoy John’s quirky and techno-savvy novel (see my of review of Cryptonomicon).

The other novels get a lot weirder with their self-referential meta-fiction, stream of consciousness rants and alternate universes.

As an example of the complex relationship between each book in the trilogy, the introduction of Cheap Complex Devices (which represents almost half of the book) claims that “Bees”, the main story of the book, is the result of a contest for computer-generated fiction. Apparently, Acts of the Apostles would be the lost manuscript from another entry in this contest but was stolen and ineptly edited by an ex-security guard. It claims that the large number of sexy women in the story and their improbable lust for an otherwise average-looking computer chip designer, as well as its many typos and cringe-inducing passages, would be proof of the theft the book and its unwelcome alterations by a lesser literary mind.

According to the author, although there are many literary references in John’s work, the main inspirations come from Hofstadter’s Godel, Escher Bach and I Am a Strange Loop; Tracy Kidder’s The Soul of a New Machine; Vladimir Nabokov’s Pale Fire; and The Life of the Bee by Maurice Maeterlinck. These are not your typical pop-corn blockbuster fodder but instead deeply philosophical treatises about the nature of consciousness and humanity’s relationship with technology. Readers interested in an intellectually stimulating read will be well advised to dip their mind into Sundman’s literary pools of madness and wisdom as well as to peruse its thematic precursors.

Adventures in self-publishing

Through sheer endurance and determination, Sundman has become a self-publishing icon of his own right. Despite the support of an agent at an early point of his writing career, he did not manage to find a publisher for his work so he resorted to self-publishing Acts of the Apostles in 1999. This was half a decade before self-publishing tools like lulu.com became widely available.

Nowadays, print-on-demand services make it much easier to get a book printed and, theoretically, in the hands of avid readers. Any self-deluded hack with access to the Internet can now package strings of semi-random characters together, slap a cheap clipart picture on its cover and call it a book at virtually no costs (BTW, did I mention my self-published French novel, “La Boue”?), John had to do this the hard way, with actual printers, inventory, debts and boxes of books to lug around the country.

Acts of the Apostles, mostly sold by hand and through mail-order, gained critical success, including raving reviews by geek icons Cory Doctorow and Jefferey Zeldman. Commercial success, however, was elusive and mostly constrained by John’s own capacity to manually shove books into the faces of prospective consumers in various trade shows (as depicted in this detailed logistical account form the author).

Thankfully, John has now secured a contract with a publisher and is now revising his novel for publication of Acts of the Apostles sometimes in 2011. Let’s hope this opportunity will enable the book to reach the wider audience it deserves!

Links

My Big Kiwi Day Out, Part 4: Return From Mordor

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, Part 2 and Part 3)

To Loop Or Not To Loop

After everything I’d been through with my first attempt at following a hiking trail—the rain, the mud, the disorientation, the bruises and grazes and cuts and falls and general despair—you may well ask why on earth I would want to open myself up for ridicule by Mother Nature one more time.

The reason I just had to explore the track in front of me was because it offered the one thing I would crave if I didn’t climb this one last (metaphoric) hill: closure. If I’d returned to Australia without having conquered this walking trail, then I’d forever feel like Nikau Forest had gotten the better of me.

I left the comfort of the sunshine, grit my teeth and plunged into the darkness.

All Your Walking Trails Are Belong To Us

As it turns out, the Nikau Forest Loop Track is, well, a bit of a joke.

Less of a hiking trail, it was more like a carefully architected artificial stroll through the countryside. The path itself was a smooth, safe concrete walkway with occasional strategically placed pebbles and handrails. This was walking at its most comfortable. It struck me as making a suitable rest stop for old people on a bus tour.

Less than three minutes later I emerged into sunlight. I was back at the entrance. That was it—I had walked the entire length of the walk in under three minutes. I scoffed at the signpost in front of me.

Ha! That’s not a track. I made my own track!

Feeling back on top of the world, I practically skipped back to the train station in Paraparaumu (being extra careful not to take any tumbles on the slippery footpath this time). I snuck onto the carriage just as it was about to depart, found a seat at the back, and warmed myself on the heating rail. Within seconds of the train lurching away from the platform, I’d fallen asleep.

The conductor woke me as we pulled into Wellington station. While my body felt groggy and fatigued, inside I was bursting with excitement—I was extremely proud of myself for cramming so much adventure into one day, and was eager to share the details of my journey with my colleagues. There was a small chance that I could still meet them in time for dinner. The only problem: what would I wear? I was wearing the only jeans and shoes that I’d brought with me, and they were completely caked in mud.

The MacGyver Guide To Speed Hygiene

While I filled the hot tub in my hotel room, I scrubbed myself clean in the shower. Once the tub was full, I eased into the lovely hot water—the side of my leg ached, and the graze was worse than I’d expected. The cuts on my arms and hands stung too, but the healing power of the hot water was immediate and welcome.

After 15 or 20 minutes of hovering between wake and sleep states, my entire body submerged with my nose poking out the top to breathe, I realised that I would really have to motor if I wanted to catch my colleagues for dinner (eating alone is never as much fun—plus any longer in the bath and I’d turn into a prune). I dug deep into my energy reserves to wrench myself from the hot tub, and donned a very fashionable hotel bathrobe.

I still wasn’t sure what I should wear, but I had a brainwave: while my hotel room lacked a washing machine, I had a ready reservoir of (mostly) clean hot water in the bath from which I’d just exited.

I dumped my jeans in the bath tub, and went at them with the hotel soap. And you know what? It worked. And to dry them? Armed with a hair dryer in one hand and an iron in the other, I managed to coerce the water from my previously mud-soaked jeans such that after another 20 minutes or so, they had become wearable. The ends were perhaps still a little damp, but they would pass.

The Perfect Finish To A Perfect Day

I bumped into the Australian FullCodePress team in the hotel lobby; we found a nearby eatery and stuffed ourselves with delicious Asian cuisine. Over dinner, I gave a full account to my friends of the events of the day: my desire to see the real New Zealand jungle, my difficulties with finding the trail, my various injuries sustained through my own stupidity, my following what I thought was a trail and getting completely lost, and finally conquering the elements and emerging victorious from the jungle.

Before visiting New Zealand, I’d heard someone liken the country to a Tonka toy. They’d joked that NZ was “My First Country”—the perfect country for beginner travellers. Unlike Australia, there were no deadly spiders, snakes or other critters of which one could fall foul; everything was shiny and safe.

As it turns out, New Zealand kind of owned me today. Sure, I’d come out of the ordeal alive, but as I inhaled my pork curry and relayed an exaggerated version of my brave dalliance with death, I knew that I’d been let off easy. Exploring on your own in the wilderness without preparation or planning is stupid, no matter which country you’re in. When you’re in a new country, with no telecommunications, no map, and no-one who knows where you are, the consequences can be very dire and very real.

My dilemma is this: if I’d done anything differently, I wouldn’t have this story to tell you. The excitement of my discoveries, the humour in my mistakes, the peril due to my lack of, well, common sense … without these elements, this story is nothing.

So while I don’t recommend you deliberately put your life in danger by embarking on an adventure without adequate planning, there’s a lot to be said for being adventurous and spontaneous in life.

Just remember to pack a second pair of jeans.

Book review: Cryptonomicon, by Neil Stephenson

A geek-a-liscious literary experience

It’s World War II and the allies have cracked the encryption of a major Axis communication codes. How can they act without revealing their access to this precious intelligence? Detachment 2702, a rag-tag group of soldiers and intelligence agents, is dispatched to create believable (and hilarious) alibis to justify why German and Japanese convoys keep getting sunk.

It’s the late ’90s and the grand-children of two Detachment 2702 members are part of an IT start-up venture in the Philippines. The discovery of a sunken WWII German submarine filled with gold leads to a set of encrypted punched cards that may contain the location of an even bigger Japanese war treasure hoard.

This genre defying novel is in fact a mashup of many stories: a WWII spy action, a harrowing death camp escape, a modern-day treasure hunt yarn, a philosophical mathematics treatise and a high-finance techno thriller. All of these narratives are tied together with a profound insight into geek culture and an unrestricted glee for hyperbole of hysterical proportions.

One of its many themes is the invention of the digital computer, with particular attention to its use in cryptology (encryption), communication and currency. The word “Cryptonomicon” itself refers to a fictional book summarizing mankind’s knowledge of cryptography and cryptanalysis.

Stephenson has a knack for explaining complex concepts in the most entertaining way. For instance, he’ll use graphs and formulas to describe absolutely ludicrous situations as a means to illustrate some of his more abstract themes. He will also often segue into seemingly unrelated side-stories, such as a letter to Penthouse about furniture and stockings or the tale of a wisdom tooth removal from hell. Far from being annoying, these are some of the most entertaining aspects of the book.

Cryptonomicon is one of my favorite novels of all time. Reading this 1,100 pages behemoth has become an almost-yearly ritual for me. The reason I come back to this book over and over again is because of the sheer density and enjoyability of its material. Every reading brings a smile to my face and sheds new light into its many concepts and plot points.

Beyond History

Neil Stephenson, previously known for high-tech, high-concept science-fiction novels such as Snow Crash (virtual worlds) and The Diamond Age (nanotechnology), chose the historical fiction genre for this crazy chimera of a novel. Notable historical figures featured in Cryptonomicon are: Alan Turing, Douglas MacArthur, Winston Churchill, Isoroku Yamamoto, Karl Dönitz, and Ronald Reagan. We also encounter names that have the ring of familiarity such as Electrical Till Company (ETC), a reference to IBM (Idea Business Machines), a WIRED-like TURING magazine and a scrappy Finnish open-source operating system called “Finux”.

A cornucopia of themes

I will now simply list some of the themes covered in Cryptonomicon. Hopefully, this should give you an idea of the relentless fountain of craziness and though-provoking substance of this most unusual book:

  • What is encryption and why it’s so important;
  • Cracking an encryption code
  • The autistic-like nature of nerds and geeks;
  • Start-ups, NDA’s and business plans;
  • Pen-and-paper vs computer and card-based role-playing games;
  • The impact of horniness on concentration and the relative merits of self-administered relief;
  • Information theory and all the ways that information can leak our of a communication channel;
  • Mastering UNIX and TCP/IP;
  • Customizing a Linux-like fictional operating system to its core;
  • Building a digital computer using pipes and sound;
  • Encrypting messages using a deck of playing cards
  • Setting up a data haven;
  • Creating an electronic currency;
  • The social etiquette of the military;
  • The difference between Athena and Ares, the two gods of War from Greek mythology, and how this relates to WWII;
  • The optimal way to eat a bowl of Capt’n Crunch breakfast cereals;
  • The effectiveness of publishing encryption schemes vs keeping them secret;
  • Using anonymizer proxy services to protect your anonymity;
  • Using Zeta functions to generate pseudo-random numbers;
  • Eavesdropping on the contents of a computer display by detecting its electromagnetic emissions (Van Eck phreaking);
  • Using character classes from the Lord of The Ring as a way to categorize people;
  • Genocides and mass murders;
  • The logistics of digging a hidden treasure hoard in a mountain using slave labor;
  • Libertarian paranoia and gun culture;
  • And more, more, more!!!

Relevancy

When Stephenson published Cryptonomicon in 1999, the Web had reached mainstream status and was just starting to impact the life of everyone. Windows NT and 95 were still widely used and cell-phones with worldwide coverage were an oddity. How well has this novel aged and is it still relevant today?

Most of the forward-looking tech stuff has since become old news. However, the adventure is still thrilling, the jokes still gut-splitting and its insight are still significant.

Overall, I would still recommend it to anyone passionate about WWII, computers and Big Ideas as well as to anyone interested in learning more about the puzzling psychology of geeks and nerds.

Prequels

Following Cryptonomicon, Stephenson wrote a prequel of a sort to this story. Published in three back-breaking 1,500+ pages volumes, this “Baroque Trilogy” (Quicksilver, The Confusion and The System of the World) is set in the 17th century and deals with the same dominant themes of Cryptonomicon (currency, computers, treasure hunts, etc.). Its main protagonists include famous Historical figures, such as Isaac Newton and Louis XIV, as well as ancestors of many Cryptonomicon characters and a mysterious, long-lived Alchemist.

While its tone doesn’t attempts to be as consistently comic as Cryptonomicon, the Baroque trilogy is a hugely entertaining follow-up. If you enjoy diving deep into witty, meandering, though-provoking stories, these ones are for you!

Links

Photo sources: Flickr and uboatarchive.net

“Jipi and the Paranoid Chip” is a science fiction short story by Neal Stephenson that appeared in Forbes Magazine’s July 7, 1997 issue. It is part of the Baroque Cycle/ Cryptonomicon universe.

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.

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.

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.

Humor Through Comments

Photo Credit: Anders Rune Jensen

Over the years, sale I’ve developed some rather strange code commenting habits. While many of my comments have become second nature as I code, troche every time I join a new team they raise some questions. For the most part they are intended to be both humorous and informative, and 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.

The Comfort of Spammers

Email, buy blogs, site social media, podcasts, print-on-demand, etc. Thanks to Internet, never have so many people been able to make their thoughts available to such a large number of listeners. But isn’t it that much painful when this potential audience of billions fails to connect with your message, leaving you feeling foolish and ignored?

Are you despairing to see your Twitter followers stuck at a ridiculously low number? Who will post a comment on your latest blog post, proving that you touched someone and brought value to the world? Who will write you an email and bring words of comfort in times of hardship?

Know my lonely friend that when all else fails, spam is always there for you. The obsession with money-making schemes of this nice-looking twitter follower with an unpronounceable name may seem suspicious, but she’s also your long-awaited 50th follower and it would be a shame to block such a sexy avatar from your list. Maybe she’ll even notice the wry comment you just posted about the Flash vs HTML5 controversy? She may even chuckle at your “bon mot” as she builds her vast pyramidal empire…

You may wonder why concerned people feel the need to send you kindly email messages about how herbal remedies can help you make your partner so much happier. Thankfully, an unexpected love letter from a lonesome Russian lady soon restores your feelings of adequacy by her earnest request for companionship. Sure, her spelling can be very approximate, but love may be just around the corner! If only you could send some money to resolve those pesky visa issues…

You may wonder why bother posting to your website, exposing the beauty and degradation of humanity in 500 words installments, when your comments section lay bare, exposing the indifference of the world for, apparently, no-one to see. Thank you, mister Chinese World of Warcraft gold farmer, for keeping my forum alive with dreams of massive virtual wealth and power, bringing with you a taste of the Orient with your exotic typography.

The futuristic vision of alienated and forlorn people being comforted by robotic custodians is now a reality. Thank you, mister spambot, for keeping me company in cyberspace with your eternal vigilance. Your bountiful email and forum messages keep letting me know that something, somewhere, knows I exist and wants to connect!

Links

Geek chic done right

Laptop bags get a bad rap. Sure they are functional, illness but fashionable they are not. I have been searching for the perfect laptop bag – practical and oh so chic! – ever since I bought my laptop, look and I have been unsuccessful, and ended up settling for a tote that is less than functional (seriously, the zipper doesn’t even close when my laptop is in it). So what’s a chic girl to do? Well luckily for all you fashionistas, designers have embraced chic geeks and designed bags where fashionable meets functional when it comes to carrying all your gadgets.

Badgley Mischka


A beautiful and fabulous Badgley Mischka laptop bag! This chic buttery soft tote is practical enough to carry your gadgets and gizmos, but stylish enough to take with you wherever you need without it screaming “I’m a laptop!” Bonus: wear it across your body for a slouchy look perfect for weekends or when running errands.

Marc Jacobs


If laptop sleeves are more your style, Marc Jacobs has designed a collection of funky cases that are sure to get you noticed. Bonus: they are very affordable (at $80 a pop, you won’t go broke trying to look fab)!

Coach


Dress up your laptop with a splash of colour. The Coach Poppy Laptop Case gives new life to the designer brand, breaking away from the iconic print.

eReaders

When Apple’s latest creation hit the market, it was uncertain what its lifespan would be. But it’s quite obvious now that the iPad is here to stay. With the tech world accepting the new gadget, it was no surprise that the fashion world soon followed.

Salvatore Ferregamo and Louis Vuitton were the first to come out with iPad cases.

Trying to separate itself from the pack, DvF created a collection of cases for the Kindle in her signature funky prints.

So no matter what your gadget of choice, you can seek comfort in the fact that there are plenty of chic options to help you tote them around.

Managing your career in the world of Web development

I used to be that guy, once.

The one-man webmaster, creator and designer and strategist and coder and sysadmin and dBA. Yes there really was a time when one person could do all that – and more. Do it for many websites. Some of you reading this were likely in grade school when this was so – the art and craft of mastering websites has evolved exponentially, to the point that even the simplest blog requires a minimum of 2 people – you and the person managing the hosting.

Back in the day it was easy to plan your career. Things fell into place easily and largely because you were one of a rare few that understood the arcana of http, ftp, gopher, IRC and you actually had a netsol ID number. (Mine is KS443 – for us old fogeys they kept some of the records alive for posterity even they don’t use them anymore ). You could command vast sums of money, work any hours you chose, get all the latest toys and have a total blast using view Source and Kai’s Power Tools. A great day in the office was downloading the newest version of Navigator.

Nowadays, not so much. In fact, it’s fair to say the current generation of web workers (web developer is too limiting a box) has become commoditized. Technical schools, arts colleges, even some Universities now have programs designed to compress 20 years of whirlwind innovation into 2 or 3 years of specialized training and spit out an unending stream of assembly line workers. We have hierarchies and R&R documents.  We have Architect, Front End, Back End, Middleware, User Experience, Strategy, Rich Media – all of whom are good at one thing and familiar with a couple more and fully expect to work in a team environment where artifacts of their labour get passed around like so many auto parts waiting for final assembly.

Sound familiar? I’m not surprised. It’s a case of the pendulum having swung to the other side and while I am sanguine to know it will cycle back to normalcy I am both impatient for that time and struggling with my own contributions to its kinetic energy. I am spending a lot of my time recently interviewing candidates for various positions within our company and I see daily evidence of what I speak. And I ask myself time and time again ‘how are these people ever going to get out of the assembly line?’.

In our next installment, and at the risk of sound patronizing, I am going to offer some tips on how to manage your career in the coming years. And in a third and final episode I will offer some tips on how to avoid the pitfalls of ambition in the world of Web development.

We Value Your Privacy

They say truth is stranger than fiction.

One afternoon at a now defunct payment processing company, while moving my coding fingers as quickly as possible, the programmers’ farm erupted in exclamations of “check your mail!” and gasps of terror.

An email had been sent to everyone in the department. It contained an attachment that clearly laid out our main (private) database schema in a much more clear manner than anyone had ever managed to document internally.

The mail’s body read like a ransom note. I don’t remember the exact words, but the gist was “Your web application is full of holes. I’ve exploited your code, and I’ve attached proof in the form of a schema diagram. If you don’t send me £50,000, I will start exploiting your customers.” It went on to give detailed instructions on how to pay our new extortionist friend.

We knew the problems were there. SQL injection as far back as CVS could remember. Most of us wanted to plug the holes, but we were never given the opportunity to do so. We attempted to take the opportunity a few times, but were unsuccessful in convincing management that a “trivial” problem like SQL injection could ever be more than an inconvenience.

As soon as this horrifying realization set in, we low-on-the-corporate-hierarchy-programmers gathered together and started forming a plan for how we’d crush these problems. We’d fix the low-hanging fruit first, and then we’d systematically go through the rest of the code to rid ourselves of this plague, once and for all. A back-of-napkin plan was in place within 15 minutes, and we dutifully started a commit storm of heroic measures to save the company.

By then, the news had trickled up to the CEO. We expected him to be livid, but we all knew there was no time to worry. We’d called our families and cleared our social calendars. It was time to pull an all-nighter; maybe two.

There was no yelling. No immediate firings. No faux-motivation speeches. Instead, the CEO (who normally had a short fuse) feigned tranquility and gathered the entire audience of the aforementioned email together for a short but simple talk.

“I understand you’ve all received a disconcerting email regarding the security of our systems. I want you to know that this situation is under control, and it requires no action on your part. Go back to your normal duties. None of you are to ever speak of this outside of this room. If you are caught doing so, you will be terminated immediately. The NDA you’ve all signed will see to easy termination, should it become necessary.”

No one ever asked for my help in wiring £50,000 to Russia, and that was the last any of us heard of this particular problem. If the company hadn’t flopped a year later (presumably due to unrelated circumstances), I’d expect those security holes to still be in play.