Kintsugi: Beautiful Repair

The legend goes like this: a Japanese shogun broke his favorite Chinese tea bowl, and sent it back to the same artisans who made it for repair. The bowl came back properly repaired with glue and metal staples. The shogun could not believe his eyes: ugly staples connecting delicate pieces of porcelain – surely that was not the right way to do it. In response Japanese artisans invented kintsugi: a technique of repairing broken pottery with special gold-containing laquer resin. Pieces repaired in that way became even more beautiful and valuable than when they were whole. After seeing a few repaired pieces in museums I have no doubdt that the story about wealthy Japanese breaking their favorite tea bowls on purpose just to have them repaired is true.

These two bowls were on display in a museum somewhere in Washington.

kintsugi-museum-1

kintsugi-museum-2

I recently purchased this Karatsu tea bowl. It was excavated from an old kiln and is estimated to be of the 1570-1620 vintage. It was repaired by a modern craftsman using a similar technique called doutsugi which uses a gold-copper alloy. It cost me about $180. Is it authentic? Probably – the dealer seems to be reasonably reputable. I’ll greatly enjoy drinking tea out of it.

This (as it’s often the case) made me think of my own craft. A huge part of my job is putting software Humpty Dumpties back together. Is any of my work this elegant? Of course not, but I can think of some examples. Apache – or “a patchy” comes to mind. It’s a beautiful piece of code glued together with other beautiful pieces of code. Then there’s Pressflow – a fork of Drupal that glued it back in many places where the original was cracking.

The Claw or Playing Not So Hard

When I began my career hiring managers still said things like “we work hard, and we play hard”. The “playing hard” usually consisted of drinking tequila shots after work and having either a ping-pong table or an arcade machine or two in the office.

Free tequila shots were always a crowd pleaser. Not so much with the games. The worst offender was the Packman machine. The silly little tune and “WAKA-WAKA WAKA-WAKA WAKA-WAKA” got old really fast. The ping-pong table was even worse: it’s hard to write code late in the evening in the middle of a death march project while system adminstrators click-clack the celluloid ball for hours. Both were gone quickly.

The lone “play hard” straggler was the awesome APB arcade machine that was placed near restrooms. “Help, help”, “yeah, yeah” and the awesome mumbling of the commanding officer deeply etched in our collective brains.

Besides insidious noise pollution, arcade machines make coders burn out even faster: staring into blinking phosphorus is not good after a long and hard day.

So, how can a startup stay true to the Silicon Alley/Valley cliche? I think I figured out an answer. A claw machine otherwise known as a “skill crane”.

My co-worker recently got obsessed with an obscure iphone game called Clawzilla. The original purchase price is a bit steep, but it includes free game tokens. The graphics suck big time, but the remote control functionality and responsiveness is top notch. In theory you can even claim toys caught by you by using a claim code and providing a few bucks for shipping, but that part did not really work for me.

In any case, me an my co-workers somehow rediscovered that claw machines are awesome. I spotted a toy claw machine at a drugstore and could not resist buying it. I cut the wire to the speaker that blasted circus music, but it’s still a bit noisy (but not as bad as the video makes it sound) because of poor gear alignment. We filled it with memory sticks, a titanium spork, minifigs and other geek items, culminating in a business card of our MIA CTO.

It’s still kind of lame. Unfortunately there are no affordable “real” mid-size claw machines on eBay: they were only created recently for prizes like the iPod. It’s kind of interesting: there’s a claw machine for iphone, and an iphone for a claw machine. In any case, these small machines can only be found brand new and cost several thousand dollars. Meanwhile, eBay is full of fully functional $500 claw machines.

Those are great. Load it with old phones, unwanted swag for conferences, etc. Use the proceeds from the quarter slots for charity (be it beer for developers or a real charity), and watch your employees and friends unwind trying to grab that lobster harmonica. It’s a dumping ground for swag accumulating in the drawers as well as a way to refocus and rest your eyes.

The best part? Have your designer make decal featuring local headcounts and localized title card and decorate your machine with them.

Hamon or the Skin Deep Beauty of Code

The craft of programming is a little depressing: you spend days and nights pushing bits inside a computer, weaving a pattern that will ignite the right pixels on monitors or magnetize the right atoms on disk platters. But it is craft nevertheless, except one where beauty matters very little. Coders create the true ukio-e – floating world, but one that is as ugly as it is fleeting.

I’ve read a good chunk of Beautiful Code: Leading Programmers Explain How They Think, but I’m still far from understanding what beauty is in code. Ugliness is self-explanatory: if you recoil in horror after reading a few files, it’s ugly. I recoil on the daily basis.

I’m not talking about the success or usefullness of things that code creates. I am pretty sure that the code that runs plentyoffish.com is as ugly as the website itself, but it does not detract from its success and utility.

I think the key to my preception of code beauty is related to “hamon”: a concept in Japanese swordmaking. If you’ll look at a Japanese sword, you’ll usually see a wavy pattern near the edge of the blade. Hamon literally means “blade pattern”. It is created when a swordsmith applies special mud to the edge of a in a wavy pattern of varying thickness and composition, and then heats the sword and plunges it into hot water. You can see the process in this video (it starts at about 1:30 mark).

The primary purpose of this treatment is to create a blade that is very hard and can take a lot of stress, which is a contradiction, as hard steel is very brittle. The edge gets the thinnest coating, and after heating and cooling turns into martensite hard crystals of high carbon steel. The thicker coated back turns into pearlite, which is a softer, but very flexible lower carbon steel. The hamon pattern is formed where these two types of steel interlock. The wavy shape makes the sword able to absorb shock better.

The absence of or inferior shape of hamon clearly indicates the inferiority of the sword. The aesthetics of it are just a coincidence, but it is also the resason why the craft of the samurai sword endures: collectors and museums purchase them as works of art. I’ve seen many swords in museums, and even though you can’t appreciate them as well as by holding them, the patterns in the hamon are hypnotic.

Here’s a good video of what hamon looks like in different ligting conditions.

There are many different styles of hamon, here are some examples from very excellent “The Craft of the Japanese Sword“:

There are of course many swords out there with fake blade patterns made with acid etch, wire brushing or other abrasives. Fakes are neither beautiful nor strong and easily identifiable.

When I look at a code listing I also see a wavy pattern. It’s nowhere near as connected to quality as the hamon, but it is still often an indicator of it. Indentation, spacing, length of keywords and function names, the amount of syntactic sugar, overall length of the listing: good code is sometimes beatiful to look at.

Sublime Text 2, a new programming editor that I am using, has an interesting feature: an insert that shows the whole file in miniature. Here are side by side beginnings of commit.c from (top to bottom) cvs, svn and git. I don’t know if anything can be determined by looking at these pretty skyscrapers of code, but aestetically I like git better.

This goes a level further – into software architecture. There’s this old chestnut of the maps of system calls in Apache and IIS web servers. You can easily tell which is the product of Redmond craftsmanship.

I would like to add that wavy patterns are the last things that I look for in code and this whole article is just a fluffy philosophical musing. Yet, maybe there’s something there in those patterns.

Happy New Year!

This was certainly a year of ups and downs. I’ve lost some weight, then gained some back. I’ve lost some friends, managed to hold on to some, and gained some new ones. Blew a chance of getting an amazing job. Learned some extremely valuable lessons in the process. I’ll start the new year trying to replace myself with somebody else at work and looking for a new job. And another weigh loss attempt.

Have a happy and healthy New Year!
happy-new-year-2011

Marzipan

When faced with a lot of stress I employ several coping techniques. There’s collecting pens ala officer Sorenson, watching New York’s pigeons(overweight and disheveled they remind me of myself), meditatively looking at cornucopias of goods in various retail store layouts and fixtures, and then there’s food.

Happiness derived from material things is fleeting, especially in the pursuit of the American Dream. But I grew up in the Soviet Union where the Socialist economy greatly restricted variety and quality of just about everything, and I have a slightly different perspective on materialism.

My friends who visited Cuba told me that people there are much happier than in the US: they have very little to aspire to in material goods, and thus live a life that is much less busy, and as a result much more relaxed and happy.

I frequently quote a paragraph from a letter by Carl Steinway to his brother Theodor in Germany:

“I cannot advise you to come here if you are able, by diligence and thrift, to make a living in Germany. People here have to work harder than abroad, and you get so used to better living that you finally think potato soup tasted better in Germany than the daily roast here.”

Carl and Theodor are two of the “Sons” in Steinway & Sons. Steinway Tunnel is named after the third one.

The variety of food that I had access to growing up was not that great, but I certainly had better fruit and vegetables than the majority of Americans have these days. I’ve asked my younger co-workers, and they are sure that strawberries sold in American supermarkets taste like strawberries. It’s a bit of a Matrix moment there (supermarket strawberries absolutely do not taste like real strawberries).

I had a childhood in which I only experienced hunger when dieting and cold when fishing in bad weather. On the other hand, my grandfather, who went through WWII, remembered the real hunger and the real cold. He was very glad that me and my father never had to experience hunger, and every time I would refuse to eat kasha, he would say – “so, you don’t want to eat kasha that your grandmother made you – what do you expect – marzipan”?

I would ask him what marzipan was, and he’d say – oh, it’s a very tasty French candy. He must have remembered marzipan from NEP times or maybe from his early childhood before the Revolution.

I always though that marzipan was something amazing and heavenly, the tastiest treat possible. I was also pretty sure that I’d never taste it. It was the gastronomic equivalent of the “sea rooster” fish (a very rare fish that I dreamt of catching in the Black Sea).

These days I mutter curse words when I catch “sea roosters” – they are considered a throwback fish in NYC. And marzipan – well, it turned out to be yucky concoction of almond paste and sugar that appears on store shelves around Festivus. I buy it from time to time to remember my grandfather.

marzipan

And when I want to taste a tomato or strawberry that tastes good I have to spend a lot of time and money at farmers markets or take a trip to my hometown.

iphone4 antenna rant

There are two types of people in this world: those who say that crushed bedbugs smell like expensive Cognac, and those who say that Cognac smells like bedbugs.

I really wish the whole Apple antennagate would be over. Because I’m tired of explaining my position on it to everybody who drools over my iphone.

I have 3 points to make:

1) The office where I work has super ridiculously terrible ATT reception despite being in direct line of view from a brutalist style building containing ATT switches. So does an underground subway station where I change trains on the way to work. The rest of NYC has simply terrible ATT reception.

I’ve tried at the office, I’ve tried underground. I’ve tried cupping any which way. I tried moistening my palms. I can’t get to get a reliable bar drop thing. Sometimes, in fact, I got more bars. Oh, and that underground subway station? None of the older iphones ever had reception there.

This is all clearly a a product of me being a “fanboi”, and being under the heavy influence of Steve Job’s reality distortion field. I think they have mobile generators transmitting that.

2) Sometimes getting more bars when cupping iphone4 gives me an idea that now it is possible to make a case that will actually boost iphone reception by possibly attaching a yagi or another type of big directional antenna to the case. Maybe even something gigantic, like the apartment tower antenna or one of those huge homemade antennas that I used to make for crystal radios.

3) Right now I’m vacationing in the Ukraine. Here you can buy a sim card for $1 that gets you a phone number. On every corner there are agents and machines that allow you to refill these sim cards with ridiculously small amounts of money that get you ridiculously cheap minutes and data. There’s no standing in line while ATT employees are chatting / checking their social networks, scratching their asses, etc. There’s no hassle with forms, accounts, etc. You spend a little money, you get your phone to work. Most phones are unlocked. Reception is excellent everywhere. I hear they are working on making iPhone’s mini sims working with iPhones. People are ready to pay just about any price for the 4th iPhone. Apple would do much better with a simple business model: phones for money here first, and then in the US for us, who have to deal with ridiculous contracts and lock-ins. Grandstanding politicians would gain my vote if they did a little trustbusting in the cellular service industry.

Hunting Heads and Developing Back Ends

I’d like to share with you a few thoughts about tech recruiting. This is not a post about how to write resumes, read resumes, ask or answer tech interview questions. Enough is written on the subject by people who are better at all of this than me. No, it’s about that email that arrives in almost every developer’s inbox about “a full-time, permanent position with a very competitive salary” for “a very prestigious company located in mid/down/up-town” which is looking for “an alphabet soup of technologies”. Half the time it’s a phone call. These happen during the times of boom and bust in the tech sector, although with varying frequency.

Now, people who are not programmers would probably think that this is spammers or scammers who will ask for a fee. Well, there is a fee involved, but this is not scammers: every time there’s a reasonably well paying job involved. A huge number of programming positions gets filled this way.

There’s always a shortage of decent software developers, project managers, system administrators and allied tradespeople. This was true back when I was starting my career, in 1997, but it only got worse. First of all the cost of running a startup came down from hundreds of thousands of dollars to thousands, and many talented programmers with ideas, tolerance of Ramen-heavy diet, slumming, and a little risk exited the corporate workforce to build url shorteners and travel sites for hipsters. Top notch people with kids and/or love of brightly colored furniture and fridges stocked with fancy sodas were vacuumed up by Google, Microsoft, Facebook, Yahoo and other modern Xerox Parc-wannabees. The hedge funds sucked in all those who are good at implementing complicated formulas and algorithms in code that can make a Kessel run in 12 parsecs or less.

The biggies look for a healthy mix of specialists, but they can easily afford to hire jack-of-all trades hackers. Everybody else usually looks for a person who has proven experience with a certain “stack” – an alphabet soup of languages, operating systems, and servers. Sometimes stacks are ageless like COBOL, CICS, DB2 – even today typing it into dice.com brings up 155 results. Some come out of favor: LISP – only 16 results though. Somer are old standbys: Php MySQL Apache – 370 results: C# SQL Server IIS – 439 results. Some, like RoR are up and coming – 93 results.

If you are relatively young(cheaper that way) and have done some work with a fashionable stack your phone will be ringing weekly with recruiter calls in the dreariest days of a tech bubble burst. If you are a specialist who deals with a particularly gnarly piece of hot tech – it will ring a few times a week.

Now here we come to a somewhat interesting phenomenon. Most of the time the person calling is a “headhunter”. Here’s what’s happening:

Web department in company Webco Enterprises has an opening. It could be caused by a number of things, but most commonly

1) after gettig tired of incessant complaining of the VP of Web Things, the Bean Counter finally agreed to budget in Y dollars for another headcount.

2) an experienced headcount who was making Y dollars accepted an offer of Y + $30,000 + an office with a door from company iWeb 2.0 and left.

So here is VP of Web Things with a budget of Y dollars. She’s swamped with work. In the next team meeting she tells her nerds to ask all of their friends if they know somebody and offers a referral bonus. Next she puts together a typical job ad complete with technological alphabet soup and takes it to the Master of HR. The Master of HR posts it on the company intranet, on the corporate site and on monster.com, dice.com, etc. Next VPoWT goes to the same sites and looks for candidates who posted their resumes there. It’s mostly drek, and the one person who might be ok wastes a lot of her time because he has another offer for Y + $10,000 from another company.

Now more desperate, she starts using “headhunters”. They send a couple of somewhat crappy candidates, followed by one barely ok one, followed by one who’s good enough. After a little song and dance the good one accepts Y dollars per year minus – 15% that silently go to the recruiter. The next few years he’ll be getting modest raises and maybe even a bonus or two that will not break the budget: the Bean Counter approved Y dollars, and it stays in the budget like that, and the headhunter only gets paid once.

Now, here’s what was happening on the other end: headhunters start pounding searches into their computers. LinkedIn, all recruiting sites, internal databases, etc. They might not understand what those letters in the alphabet soup mean, but they sure can try to match them up with what comes back from searches. Then they start shooting in the dark – it’s easier to get people who are currently looking for jobs, but it’s the shallow end of the pool that VP of Web Things already explored somewhat. They start pinging people who are working at the moment – this is where the good heads are.

Finally someone hunts up the the right head for VPoWT’s headcount and pockets the 15% of a yearly salary of that head.

Now, here comes the interesting part: most of these headhunters who are calling are trying to line up publicly available job listings with people on LinkedIn. For instance, I recently received two emails about a rather awkwardly named position “Director of Back End Development” (second recruiter spelled it “Backend”).

I looked it up on one of the recruiting sites (I think dice.com), and it was an old and infamous pre-dot-com-boom company that chose such a unique job title for what I do for a living. It was literally the only one with that creative title. I could have applied directly, bypassing the 15% headhunter’s fee. This is the reason why headhunters rarely name the company name.

In the past, through my random and numerous connections I’ve heard stories about what the setup is like at that place, and it’s a doozy. I’m pretty sure that the person who will take that job will take a lot of development up his or her back end.

The moral of the story is this: it’s easy enough to bypass recruiters – they are just engaged in arbitrage: the hiring manager is busy, the potential headcount is not even looking. That 15% is OPM (other people’s money) to the hiring managers, but not so much to the headcounts.

And twitter it

I have a very wise friend who lives in in a mcmansion located a stone’s throw from from Henry David Thoreau’s little cabin. Despite this ironic fact, my friend is closer in spirit to the famous engineer, pencil magnate, and philosopher, as he often scoffed at my blogging and social network participation.

As an explanation on why I don’t blog much, here’s what Henry David Thoreau thought about twitter and the rest:

“My life has been the poem I would have writ,
But I could not both live and utter it.”

Toy phones

If you think that cell phone toy that you bought your kid is cool, or remember the toy phone of your childhood, check this out – a set of toy phones out of 1927 Sears, Roebuck catalogue: