Archive for the 'Life' Category

All Work, All Play

When I was in college, a long time ago, I tutored a fellow student for the one mathematically-themed compulsory subject in our major. Our relation was complicated somewhat because she hit on me, which, normally, I wouldn’t mind; but she smoked, was twice my age and a complete nervous wrack. Not sure what put me off most. Anyway, perhaps because of her age she took it upon herself to tutor me back with what she thought were the important lessons in life. As long as these lessons remained non-physical, I didn’t object. Maybe I should have, as I was easily impressionable. Even at that age.

Before going back to college, my ‘tutor’ had worked as a journalist at a local newspaper. These years had provided her with much of the wisdom she now ventured to part on me. (Hopelessly failed relations with numerous men were another endless source of wisdom). One day we were strolling across the campus grounds, talking about life after college. At that point I was still determined to stretch my time in college as long as possible. College life was a near perfect starting point for the writing career I envisioned for myself. I was winging most of the tests they threw at us (there weren’t many) with a minimal amount of actual studying. It was the time of my life. I didn’t do much writing, but I figured that would come when the time was right.

“Work is like prostitution,” she said. “You’re selling your body to somebody else to do with it as they please.”
“I see what you mean… But surely there’s a difference between selling your brains, or your hands… and selling, well, your body?”
“Doesn’t matter, bottom line is, in both cases you give away control over your body, over your actions.”

At the time it was exactly what I wanted to hear, so I probably didn’t object much more. Work is like prostitution. Somehow it became a fundamental adage to me, fixed tightly among the most basic values and beliefs I’ve held over the years. Even when I started to work, much sooner than I foresaw at that moment. Even when work actually turned out to be not that unpleasant at all. My first ‘real’ job was so much fun that studying soon began to suffer. A writing career seemed even further away now. Never mind, I was sure that would come when the time was right.

Still, however much I enjoyed work, the idea that I was doing something wrong never really disappeared. I was selling my body, giving away control. I felt guilty for enjoying it. I decided to make the most of it at least, to keep working till my 40th birthday; then cash in and live quietly somewhere, finally become a writer.

My 40th birthday came and went. By then I was already working for Trivento, where work felt more like a group of friends making money with what we loved doing: making people happy by building software. I remembered the deal I made with myself, twenty years earlier. “Ten more years,” I thought. I liked working but still I kept feeling I should really be doing something else. Something more meaningful. Something for myself instead of someone else.

It wasn’t until last week, when I was reading The Year Without Pants, by Scott Berkun, that I was able to shed this crazy notion at last. This book is his account of working at Automattic for almost two years. Automattic is the company that created WordPress, the software that powers many blogs including this one. Berkun describes how the Automatticians manage to work almost completely distributed and are still able to get things done, forge teams, form friendships. His reflection, near the end of the book, on the nature of work, hit home with me:

“The most dangerous tradition we hold about work is that it must be serious and meaningless. We believe that we’re paid money to compensate us for work not worthwhile on its own.”

“Many people believe that throughout history, work has rarely given people meaning, but that’s not true. The history of work is rooted in survival. We hunted and gathered in order to live. Little distinction was made between work and the rest of life. Rather than this making life miserable, it likely made it more meaningful. Every action, however hard, had personal significance. Working with your own hands to catch a fish or build a shelter gave deep satisfaction that few high-paying jobs ever will.”

“[…] the denial of joy as a central element of quality work is a mistake. Humor, storytelling, and songs are social skills we developed thousands of years ago around fires while we did the critical work of staying warm and cooking food to survive. It’s a shockingly recent notion that work and play should be mutually exclusive things. We learn about ourselves and each other through play, which helps us work together.”

I can’t say I make a living by catching fish or building shelters; nor am I saying that Trivento is much like Automattic. But working with a group of people you know well and trust implicitely, building something together that will ultimately give people the pleasure of doing their job more efficiently: that’s what gives me satisfaction. Why would I ever want to do something else?

2014-01-21. No responses.

A Golden Cage

Twenty years ago, my first job was to assist visitors of the Computerette–something of an Internet café without the Internet. This small company had been started by someone who did freelance jobs coding some very obscure Cobol dialect. While he kept doing his well-paid job, he hired me to take care of the shop. Besides this rather dull work, he let me do small programming jobs on the side. For this, he introduced me to Clipper, the compiled variant of the then-popular dBASE III language. Himself, he would not dream of quitting his Cobol job for this; even though he loved Clipper and Clipper jobs were abundant at the time. “It’s not about the language,” he told me, “it’s about the problems you’re asked to solve.” While I was coding my first address book application for a start-up law firm, his software was controlling the oil refineries of Pernis (the Rotterdam harbour). I did not understand him back then. Who ever would want to keep coding in Cobol, the language of the past?

At yesterday’s RubyEnRails 2008 conference, a friend told me that I’m in a golden cage: getting paid more in my current job for coding Java, than I could get in another job for doing Ruby/Rails–preventing me from switching to Ruby/Rails. His remark reminded me of my old boss who did not want to switch to Clipper. Am I turning into him? Am I coding in the language of the past? Will I still be doing so 10 or 20 years from now?

No way. It’s not about the language.

2008-06-11. 2 responses.

Where To Marry In Paris (Part 3)

(This is part 3 of 3; part 1 is here, part 2 is here)

We returned from Paris late Sunday evening (March 25th).

What remained was images, shreds of memories, and many of them, in spite of the short time we were there:

The Nautilus-like decoration of the Arts & Métiers subway station.

The American girl in the brasserie too close to the Eiffel tower (but we were too tired to go any further), shouting, “Sir, you’re from Philly, sir?” at an unsuspecting Frenchman wearing an Eagles cap.

The closed doors of the Fashion museum that we had wanted to visit after the Eiffel tower and lunch; apparently, the museum is now closed for visits altogether. We were lured to it by an entry in the Lonely Planet guide, promising “some 100,000 outfits and accessories from the 18th century to the present day”. Instead, we kept walking along the Seine to the Museum of Discovery (Palais de la Découverte), hoping to find traces there of the turn of the 19th century world exhibition that took place there in 1937. However, besides the building itself, very little reminded of that historic fact. The museum houses several themed exhibitions, some very entertaining (animals, visual tricks), some extremely boring. In the animal exhibition, a little rat was showing how it had been trained to run around in a maze and get a tasty snack at certain intervals. Somehow, that reminded me of our own wanderings across Paris.
Continue Reading »

2007-05-11. 2 responses.

The Hot and Cold Summer

So much to do in this hot and cold summer (July: 36 degrees, August: 16 degrees) and so little to blog about. In case anybody wonders, this is what I’ve been up to lately.

Gone back two years in time: After I finally left the WebLogic project in May, a little later than planned, I was re-assigned to the organization I worked at two years ago. It was as if time had stood still when I got back there. Not only because there were many familiar faces to welcome me, but also because the entire development environment was pretty much as I’d left it. So it’s back to Java 1.4, back to Struts, back to EJB’s, back to this pre-SOA SOA architecture… Then again, as someone asked me: what would I use instead of Struts? What indeed, if not Ruby and Rails? Does it really matter which XML-infested Java framework you use? Would Shale or Spring MVC make so much of a difference? I get by because there’s a lot of code and XML to copy/paste from, but the amount of code that is the result is frightening.

Trying to keep up with the insane tempo of the JRuby guys: After trying to get Rails on JRuby to work for my NLJUG presentation in May, with help from Charles Nutter and Tom Enebo, the JRuby protagonists, I kind of stuck around on the JRuby mailing list, which reads like a Dan Brown novel (well it does if you like coding). I even got a small job, rewriting Mongrel’s HTTP/1.1 Ragel parser to a JavaCC grammar (Why is there no Ragel-to-Java translator? I wish I’d had the time to write one. Now I had to use JavaCC, which was rather frustrating, either because of the limitations of JavaCC, especially in its idea of regular expressions, or because of my own limited knowledge of parsing–but it’s here, checked in in a fresh new RubyForge project, ) and it seems to be working. Mongrel will work completely with JRuby if Ola gets his JRuby extension framework going, allowing you to extend the Ruby language with Java libraries as easily as you can now with C libraries.

Organizing the Java Summer Camp 2006: After last year’s success with Simon Ritter‘s presentation of Java 5’s new features (fortunately no-one seems to remember the train mixup that got Simon 50km away from the venue and cause Rietje (office Mom) and me to pick him up there and drive back at questionable speed), Profict decided to do another Java Summer Camp this year. Like RubyEnRails before, this turns out to be very time-consuming. Finding a theme (Java & Ajax), speakers (Greg Murray! Bram Smeets!), visitors (90+, we’re fully booked!), a venue (another castle!), seats, food, sound system, camera, parking space…

Got my first production-worthy Rails application live: as a side note to the Java Summer Camp, I rewrote the small Rails app that I used to keep track of the RubyEnRails visitors. It can now handle multiple events, multiple users, it sends bulk email to visitors, it exports visitor data to Excel to keep the managers happy and it has a new and improved gui (which took me longer to design then it did to code the application itself).

Busy finding new colleagues: Yes I know, I should be proclaiming the wonders of Ruby and Rails at all times–but the truth is, I don’t hate Java, I don’t mind (that much) doing Java as a day job, and I don’t mind working for a Java shop. Although I’ll never quit dreaming of my own world empire, someday, somehow–in the meantime I’m very happy to be working for Profict. In spite of its focus on doing application integration projects (some people love diving in at the deep end, writing code that never sees the light of day; but I prefer staying near the surface, where the code reaches the user’s screens); but there’s enough work to do at the edges of integration: portals for one; and there are always the external assignments that I’ve been on for the last couple of years (what’s English for detacheren??). But what I really like about Profict is the fact that it’s small enough to know everybody (no huge consulting firm for me, thank you). It is a close group of mostly very experienced people, formed over the years only ‘by invitation’ (employers asking those people around them to join that they themselves would like to have as colleagues). So maybe I shouldn’t advertise the fact that we’re looking for still more people on my blog, for everyone to read–on the other hand, if you’re persistent enough to read this blog entry, you’re welcome to come talk (well, if you live in Holland anyway)! Okay, end of shameless commercial intermezzo…

Done a Grey’s Anatomy and The O.C. marathon: If you hate The O.C., you have got to at least love its theme song: California by Phantom Planet. That alone makes me want to go there (or at least as soon as flying to the US becomes a little more relaxed again). And Grey’s, what can I say: it’s little more than the 835th romance-in-a-hospital show (St. Elsewhere, Chicago Hope, ER, Medisch Centrum West) but there’s something that makes me want to keep watching–maybe Izzie? (A supporting character is usually my favorite: Summer in The O.C., Chloe in 24, Paris in Gilmore Girls, Starbuck in Battlestar and of course Locke in Lost; the exception is Prison Break).

Making the switch to Linux: Somewhere in the process of getting Subversion with SSH to work under Windows XP, which proved a hopeless case, either with or without Cygwin or VMWare, I decided to to finally make the switch. I shrinked my XP partition (I’ll still need it for graphics and photography work, as I just can’t get the Gimp to do what I want just as easily) and installed Ubuntu Dapper Drake. It feels like coming home (I worked with VMS and Unix long ago). It’s still not MacOS yet, but at least my 3GHz Dual Core cost just a third of Apple’s new beast

2006-08-15. No responses.

News of the World

M. and I were just talking about how much the web has changed our lives. She can now find, read and print scientific articles for her work via large databases on the web; articles from bonafide, peer-reviewed magazines, that sometimes are not even published on paper anymore. In my own work, the web is indispensable as well: JavaDocs can be downloaded but are just as easily accessed online; and for most programming problems or weird error messages there’s an answer to be found via Google. We are all connected to an immense network of information and experience; connected to the world, it feels like. Next thing, I open up Bloglines, start reading the first post and wind up on this website (made in Holland I am proud to say) where the world map literally cries out its news flashes as they happen. Yesterday Campfire, today this; what will I find tomorrow? I love the web.



Screenshot from What’s Up. I guess, for Dallas, this is world news…

2006-02-18. No responses.

Ceci n’est pas un sherry

Sherry has never been my favorite drink. Not only does it have unpleasant connotations: of England, the 1950s, Agatha Christie, brown, dull, mouldy; or worse, in Holland: where in the 1970s desperate housewives got drunk on cheap supermarket sherry — but also I just never liked the taste of it very much.

The last time M. and I bought a bottle of sherry was to cook Delia Smith’s recipe of chicken in sherry (a chopped up chicken braised for 45 minutes in half a liter of sherry and sherry vinegar, with lots of whole shallots and garlics and tarragon). Per Delia’s instructions we asked the shopkeeper for amontillado sherry. The shopkeeper looked at us in awe; it seemed we had instantly become connoisseurs to him. With great care he unlocked a special cabinet behind him and took a dusty bottle out of it which he put on the counter. I was expecting an equally special price, so I was surprised when it only cost about 15 guilders (8 dollars), which only confirmed our prejudice that sherry is nothing but a cheap way to get drunk. We didn’t dare to break the spell and tell him we were going to use it for cooking. Of course we did taste it before pouring it into the pan, but fortunately it tasted a lot better after 45 minutes of cooking with the tarragon.

So I wasn’t too eager when my dad, the last time we visited him, suggested we drink a glass of sherry with the Coulommiers cheese and goat’s Brie we were about to eat. “No, no, this is special, you’ll like this,” he said; and I know by now I should trust him in these matters. He’s been cooking most of his life, professionally for part of it, and is currently working as a culinary consultant. He taught me long ago to always taste everything, before deciding if I like it or not. And so I trusted him and agreed to try a glass. With great care he brought a dusty bottle out of his wine cellar and put it on the table, just slightly hesitating before opening it, showing that it really was a special bottle. I tasted. He watched me closely. This was not sherry! It had all the sweet and subtle taste of sherry, but without any of the sharp vileness of alcohol that I was afraid to find. It was served cold and fresh, and tasted more of an aromatic dessert wine; a wonderful combination with the salty cheeses. He told me the sherry is made by constantly mixing in older sherry through an elaborative system, the details of which I cannot remember very clearly for some reason. The end result is that every bottle of this sherry contains a tiny amount of very, very old sherry (up to 60 years, the average age is 25 years).

After he saw I really liked it, my dad brought up another bottle as a parting gift (we were leaving the next morning). That bottle is now safely tucked away in our own little wine rack (they don’t build cellars anymore), waiting to be opened, for a special occasion, or just because we feel like tasting that exquisite flavor again. We won’t be cooking chicken in it for sure; we’ll buy a bottle of real sherry for that.

2006-01-29. 3 responses.

The Project is Dead, Long Live the Project

I’m not so good at saying goodbyes, so the end of a long term project always brings me mixed feelings: I’m eager to take on something new, start afresh, meet new people, tackle new problems — but I hate saying goodbye to the team of people I’ve been working with so closely, people I’ve seen every working day of the week for so long. And as it happens, the project I’ve been on for the past twelve months is coming to a close ten days from now.

At one of the larger Dutch health insurance companies, we built, from scratch, a combined web/mainframe application for the new Dutch national health system (“basisverzekering” or basic insurance) that was introduced on January 1st. People were skeptic about our chances, but the project manager kept the faith and we pulled it off in time. Right now, when I walk past some call center employees (they’ve been cramped everywhere in the building, there’s so many calls coming in about the basisverzekering), it’s very satisfying to see them on the phone with actual clients, using the very application I helped build. So even though I’m happy to leave, I’m really not. I’m saying goodbyes.

Goodbye to the 8th floor where we sat, a huge empty office floor housing 80 people, all working on this project.
Goodbye to Chris, I really hope to see him back. He was our senior team member, who came from the UK to live in Holland some 25 years ago; still eager to do and learn new things at the age of 57. He was sadly diagnosed with cancer last September and had to leave the project early to be hospitalized. I wish him all the best, but he could probably use a miracle right now.
Goodbye to the girl with the blue sports car that she parked next to my car every morning at the train station; we never spoke because I was always running to catch my train, but I liked her car.
Goodbye to the mainframe and to Tuxedo and OptimalJ, all technical stuff to help the application store its data in a database; all those extra layers make it a lot more complex and more error-prone while developing, but it was also an extra challenge, it gave an edge to the project. I’ll be happy to use ‘just’ Oracle again in my next project.
Goodbye to the guys (and Kate) at Social Ground at the Amersfoort train station, where I bought a grande latte every morning; still the best coffee I can find. I hope they’ll open up another shop at my side of the country (East).
Goodbye to Remco, another member of the team, aka the friendly Ruby guru; he pointed me at Ruby among so much other things: del.icio.us, Bloglines, dEUS to name just a few. I’m on my own now, preaching Ruby to the Java people in my own office. I’ve already begun by bombarding my account manager with useful info about Ruby, like Obie Fernandez’ post on Productivity Arbitrage. He’s listening.
Goodbye to all the other members on the team. I learned a lot from you; that’s why I like doing projects like these.

I’m ready for the next project. Bring it on!

02-02-2007 UPDATE: Last night, I was finally able to say goodbye to Chris. I dreamed that the project was still running, everyone was there (not Remco of course, who’d left early to become a Rails programmer). We all had to work late to finish the release. Except Chris, who had already finished his part. It happened to be his last day on the project, so we all said goodbye to him. Someone convinced him to give a demo of what he had built. So he proudly showed us an oversized pocket calculator with a matrix printer built in, which could be used as a portable device to print invoices for clients on-site. It looked impressive. He pushed a few buttons and an invoice slip slowly rolled out. As he was walking to the door, a big grin on his face, I discovered that an entire group of line items was missing from the printed invoice. I wanted to call him back, but at that moment I woke up.

He must have reached his final destination by now.
Bye Chris!

2006-01-18. One response.

The Answers to All Your Questions

Beginning bloggers can often be recognized by their fixation on web server statistics. I don’t mind admitting that I’m no exception. It’s just as satisfying to see that people read my ramblings, as it is to see people use a computer program that I wrote. Besides, the stats can show you some very interesting information, like which posts are popular, and what other sites refer people to this blog. But what’s most intriguing, is the search words some people used that lead them here. With some search words I really wonder how they could have led here, and if the posts here ever gave people the answers they were looking for. (Then again, I guess that’s the beauty of the web: you usually find what you’re looking for, but more often you find ten other things you weren’t after but are still interesting enough to look into.)

For example, how about the person that asked his search engine of choice, literally, “did sauerkraut come from switzerland?” Why did they want to know? Was the answer ever found? Does it really matter where it comes from? Personally, I would say straight away: sauerkraut comes from the Alsace region in France. The best sauerkraut I’ve ever tasted, anyway. But sauerkraut is eaten in many places, and many varieties. In Holland it’s usually mashed with potatoes, baked lardons mixed in, and served with smoked sausage. We had braised cabbage in Slovenia, which looked a lot like sauerkraut but wasn’t sour at all. According to Wikipedia, sauerkraut originated in China. Strange, it’s never on the menu at the Chinese takeaway’s…

Sauerkraut-like cabbage on the Ljubljana market

Continue Reading »

2006-01-07. 2 responses.

Vacation! But first, JavaPolis

The best moment in any vacation is when you shut the office door behind you, the night before the vacation begins. You feel a free man, even if it’s only for a few days or weeks. Today I had that moment, and I’m still enjoying it now.
This year, my Christmas vacation starts off with a visit to the JavaPolis conference in Antwerp, Belgium. Technically, it’s still work; but it’s a lot more fun than solving issues and debugging code, which I’ve been doing since our first major release back in October.

The other night, a colleague told me he doesn’t like going to conferences because you get so little out of the — usually short — presentations. But for me, a conference like this is all about hearing and seeing new things, being inspired, getting new ideas, thinking up new plans, new projects… As well as meeting people: people I’ve worked with in previous projects, or people that you only knew on-line, or people who helped build the stuff we’re using everyday: Java, Google, Spring etcetera. Not that meeting them would change the way you work with their tools, but I think that people who’ve created something noteworthy, are often inspiring to meet and talk to. A conference can be so much more than just the presentations you attend. I hope JavaPolis will be like that.

I’m going to try to blog whenever I can, but that will probably only be at night, in my hotel. WiFi seems to be the one thing missing from JavaPolis, unfortunately.

2005-12-13. No responses.

Ruby or Rails?

Last Friday I finally managed (been too busy lately) to visit Rotterdam’s super bookstore, Donner, to pick up a copy of Programming Ruby. I will easily spend an hour or two roaming Donner’s eight or nine floors, browsing through all their new books, discovering old ones I hadn’t seen before, sitting down for a while to read through the contents of some books to see if I should really spend the small fortune they sometimes cost these days… Usually I start by going straight to the third floor (computer books), then slowly all the way up (passing the cd department, books on art, design, movies, music etc.; top floor has books on sale); and finally I go back down again (law, economics, philosophy, magazines, gardening, food, photography, and the huge basement with fiction, Dutch & English). Anyway, there I was on the third floor, only one copy of Programming Ruby left (is it that popular or doesn’t it sell at all?)… and I didn’t buy it! Instead I took home Agile Web Development with Rails, in the true Ruby spirit: I want to create something right away, build a web site now, with Ruby. I know myself, eventually I will buy the other book and meticulously read about all the language intricacies. But for now, it’s Rails.

2005-12-05. 2 responses.

Next »