I first came across Pieter Hintjens 20 years ago, in 1996. He posted to a UseNet group I followed (comp.lang.perl.announce; later announcement), about a tool he had created -- Libero -- which could translate state machine descriptions into runnable code, in multiple languages.
Libero caught my attention because I was in the middle of finishing a Computer Science degree with a focus on computational theory. So I built it for OS/2, which I was using at the time, and sent Pieter email. He responded by asking if I would be interested in porting SFL, the iMatix Standard Function Library, to OS/2. By the end of 1996 and the turn of 1997 we were exchanging emails about porting SFL to OS/2.
Gradually over the next couple of years I did more coding with Pieter, and the tools that he had designed, including SMT the Simple Multi-Threading kernel and then Xitami, the webserver built with SFL and SMT. He even organised for me to do some (paid) work for a NYSE-listed company, remotely over the Internet. In 1998. Before the world had really caught on to remote working, when "cloud" still referred to bodies of water in the sky.
But we had not met, spoken on the phone, or done anything other than exchange emails. Pieter lived in Belgium, and I lived in New Zealand -- nearly as far apart as it is possible to be, and still both be on Earth!
Then in the middle of November 1999, an email from Pieter arrived, addressed to me and a few others saying:
``I'm proud to be able to invite you all to the first Global iMatix Meeting. OpenAvenue, who sponsor xitami.com, have invited us to The Bazaar, a conference of Open Source companies in New York from the 14th to 16th December 1999. This is a great occasion to meet our users and colleagues in the business, but especially to meet each other and discuss our plans for 2000. Concretely, this means travelling to New York to arrive at the latest on the evening of Monday 13th, and leaving on the evening of Thursday 16th. We're getting some sponsorship from OpenAvenue, but I don't have the details yet. iMatix will take care of hotel bookings and travel and expenses while we're there.''
At the time I had not left New Zealand, and did not even have a passport. A person I had never met, living in another country, had just emailed me and offered to pay for me to go to third country. Was this for real?
So I did what any practical person would do, and made an expensive international toll call to Pieter to ask "are you serious?". Only I did not have his phone number. So calling Pieter involved calling the International Directory Service, and asking for phone numbers. I still remember the somewhat confusing, three way, conversation of a New Zealand operator, a Belgian operator, and me -- all trying to figure out what might be the right number. The closest I got was a Hintjens in the right city, who was not Pieter. But turned out to be Pieter's father, who gave me Pieter's number (it was a kinder, gentler, time). And then I called Pieter.
Pieter was serious. So I figured out how to get a passport in just a few weeks. And to book international flights, years before the airlines had embraced online booking.
Less than a month later I first met Pieter, in the baggage claim at JFK, late at night -- after being awake for over 24 hours (it is a long flight from New Zealand to the USA; my cross-USA flight was many hours delayed; and I usually cannot sleep on planes). It was all a bit surreal.
A bit over a day later, there I was on the show floor of my first Open Source tech conference. At the Jacob Javits Center, in Manhattan. In December 1999, amongst the "final few days" until the Year 2000.
There was an iMatix stand. We had suitcases filled with pens and T-shirts to give away. Due to an oversight, we thought we were all out of pens and T-shirts when there was actually a whole suitcase full left, back at the hotel. After the conference we gave T-shirts to the hotel staff; they were suprisingly excited. We think they glanced at them and thought "iMatix" was "Matrix" -- The Matrix movie had just come out. I took a whole box of iMatix pens home with me; I've used them pretty much continuously ever since. The last few sit on my desk as I write.
We met RMS. Pieter tried to give him an iMatix T-shirt. It turns out RMS does not do brand names, so he refused. The Slashdot founders were there. Eric Raymond was there. Lots of Open Source people were there. It was not a particularly good conference; but it was early Open Source and we were there.
That trip lead to other iMatix sponsored trips. Pieter moved iMatix to Brussels, and on the back of the last of the first tech boom, the Euro Conversion work and others, iMatix was a real tech startup. I saw much of Belgium, and other nearby parts of Western Europe on trips to the iMatix home office. Over the course of the next 2-3 years I spent a total of about six months in Belgium, and even started to learn French.
At one point in the early 2000s, Pieter and I started a company together -- iMatix New Zealand. But both of us were distracted by other business, so it did not really take off, and we wound it up a couple of years later -- after both trying to sell it to each other during a walk through the streets of Brussels.
Gradually our work lives drifted apart, as my other business took up my time, and Pieter got involved in designing and implementing message queueing systems -- starting with AMQP in 2003, and then OpenAMQ, and later still ZeroMQ (acquired from FastMQ, itself started by Pieter and someone who had worked on AMQP at iMatix with Pieter). Pieter made ZeroMQ a proper Open Source project in 2009, and moved the ZeroMQ development to C4.1 -- the Collective Code Construction Contract, which he wrote up -- in 2011. (The Optimistic Merging reminds me a lot of the Rust Not Rocket Science Rule of Sofware Engineering.)
I have stayed in touch with Pieter periodically over the years, and still done various bits of work with Pieter. Including a "software archaeology" project into the early days of iMatix, to try to find suitable prior art for a lawyer fighting yet another of the silly software patents on obvious concepts. And porting ZeroMQ to run on a mainframe.
Pieter has been prolific. He has always written extensively, but more recently there have been multiple books. He has been involved in Digital Standards, fighting Software Patents in Europe, and Free Infrastructure, and much more. And he has designed many, many protocols and software systems. Pieter is one of the most talented software designers I have ever met. His love of code generation influences my work to this day.
About a week ago, I learnt Pieter was terminally ill with lung cancer, with months to live. Suddenly all those "should do sometime" iMatix-related things, including retiring old servers, became more urgent.
For several years I have meant to return to Europe. To see cities and countries that I had not seen. And to see Pieter again. I still plan to get back to Europe. But I am sad that my friend Pieter probably will not be there by the time I make it back.
There are only a few people I can point at and say that they have been pivotal in changing my life. Pieter is one of them. I have travelled around the world because of Pieter, and gained clients on three continents because of Pieter. Some of whom I still have to this day.
Thank you Pieter.
This living obituary inspired by my friend Marisa, who believes it is better that people get to hear the good things others think about them before they die.
PS: The "OpenAvenue" mentioned was a late-1990s tech-boom company, which did not last past the first Dot Com Bubble; it appears their domain has since been picked up by investment speculators....
ETA, 2016-04-22: Edited to correct history of the formation of FastMQ/ZeroMQ, based on correction sent by Pieter in personal email. (There are definite advantages to living obituaries :-) )
ETA, 2016-04-28: I have migrated the iMatix software from the 1990s/early 2000 and iMatix website from early 2000 to GitHub, to try to give it life beyond the end of iMatix. (There is also more recent iMatix Software on GitHub, including the last Xitami 2.5 development, and an archive of the OpenAMQ development.)
ETA, 2016-09-24: Pieter has written a long blog post describing his career in technology (still being extended as of 2016-09-24) covering both the history before I knew Pieter, and (some of) the history after my main involvement with iMatix. It is a great survey of how many things Pieter was involved in and influenced, and seems to have been well received online.
ETA, 2016-10-05: I woke up this morning to the announcement by Pieter on Twitter that he had chosen euthanasia today overnight, after a week in hospital with increasingly low oxygen saturation even with the machines turned up to 11. It was both something I had been expecting, and also a little surreal. Pieter managed to publish one more book before he passed, with a collection of his last few blog posts -- including the one about his career in technology). Items 2 and 3 on his "Todo list" on that post -- "Perhaps make a book from this text" and "Die before the lawyers find me" -- accomplished; item 1, collecting the source online, not so much. Goodbye Pieter.
ETA, 2016-10-06: SD Times Blog: ZeroMQ founder Pieter Hintjens dies; #hintjens on Twitter; #phwake on Twitter, with photos from the Living Wake); @hintjens search on Twitter.