A page dedicated to Monty Widenius

I will be meeting Monty on this Friday (March 20th), in fact we will celebrate the start of his new company Monty Program Ab. (For the avoidance of doubt: No, I'm not joining it, I just happen to live nearby.)

I decided Monty leaving "MySQL Ab" at least deserves to be considered some kind of a milestone. After all, MySQL is the database that propelled the web to what it is today. When you think back 10+ years, there must be many memorable moments you have experienced with MySQL.

This is what I want to do: This page will be dedicated to Monty - consider it a monument to the father of MySQL. Please use the comment form below and write something nice, personal and MySQL related. How did you first start using MySQL? Or what was your most weird and exciting experience with MySQL? What do you do with MySQL? Do you earn a living using it? Maybe you are one of those people who can write a poem in SQL?

I have allowed img and a tags in the comments, so you can include an appropriate image, or even link to your first mysqldump for all I know. But you cannot upload files here, you have to put images/files on your own site or use a service like Flickr.

The page will be donated to Monty on March 20th, and comments will be open until April 20th. UPDATE: Spammers seem to have found this site now, it gets dozens of spam comments each day. The anonymous commenting possibility has now been closed. If you want to add your own story you'll have to register, or you can email me at henrik.ingo@avoinelama.fi and I'll copy paste it here for you.


This is a tribute created collaboratively to honor and thank the father of MySQL, Michael Monty Widenius. It exists on the World Wide Web and is stored in a MySQL database.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
anonymous's picture

Aftermath of TF contest of 1981

I met Monty the year you graduated at the Helsinki University of Technology
in a math contest called teknologiföreningens matematiktävling of 1981 and we have bumped
into each other a few times after that.

Your skills and enthusiasm facing algorithms, computer game programming and problem solving
have impressed me and I have enjoyed the few moments our ways have crossed.

Few of us have been as persistent, willing to take on challenges and self-confident as Monty.

I guess everything has its time, but I won't be surprised if we will
see even bigger accomplishments in the future ...

You have figured out how to change the world once .. so just keep doing it for the better ...

True wealth is not defined by how much we possess, but how much we can give away snd share with
others and by the right measures you will find that Monty is a wealthy man.

Cheers to a fellow who can be determined to keep walking the best way in his own way ...
Edward Krogius

nobody's picture

It just works...

I only met Monty in person once, in an elevator in Santa Clara, where I just sort of stared at him in awe. He kindly gave me a vodka-infused licorice. I never opened it. It is still sitting on my shelf in Washington DC as inspiration.

I built a C-generated PHP application that uses MySQL that my agency, the GAO, uses to conduct web-based surveys. Since I started with MySQL 3.23 back around 1999, we've done over 700 web-based surveys of many thousands of government officials on whatever Congress is interested in. The fabulous thing is that we have never had a single database failure in that whole time. (I've only ever used MyISAM tables...)

I'm now up to my eyeballs setting up survey web sites for our auditors as we send over one hundred of them around the country to collect information from states they visit about how they will be able to account for how all the billions stimulus money they will get. I've got one at the moment where the questionnaire guys created an survey that has over 400 TEXT columns... which is scary, but based on past experience will work ok. MySQL has always come through doing the heavy-lifting, making me look good!

Many thanks!

Kevin
B-)x

nobody's picture

Thanks for now - but I'm sure it isn't over yet

I feel a bit strange about writing a dedication to someone who I'm sure we'll all still hear from, and even in the same context as before. This is what open source is about - in or out of MySQL the company, Monty's still in the community anyway.

I think I first used MySQL in 1997, could have been 1998. I was working as the "lead" (only) programmer in a small Internet consulting company (that grew fairly big later, but that's another story), and needed something to put the web sites in. mSQL wasn't scalable enough, Postgres looked clunky, I had no budget to buy SQL Server, let alone Oracle, and besides, I didn't like the closed fences around the proprietary choices. Fortunately, MySQL wasn't that hard to find. I wish I had a copy of the first license certificate we purchased for a customer deployment of the MySQL-backed CMS I wrote back then.

The world is a bit different now, but the same economics of both money, time and information still hold. We couldn't possibly have built Habbo to the business it is now if running all those DB servers hadn't been just a matter of setting up another box. Thanks for that - and most of all, thanks for speaking for openness.

Osma Ahvenlampi, CTO, Sulake

nobody's picture

Monty's legacy

I think Ronald said it best above when he said "Passion is a timeless wisdom". I am someone who has strong moral and ethical convictions and rarely gives in, and I see the same in Monty. Sticking to your principles is almost always a good thing.

Like a musician with an excellent album, I'm happy to see what comes next from the brain of Monty. Currently I make a good living managing the software Monty created, which includes supporting my husband so he can make wonderful art. I am lucky that I am skilled, and that I work hard, but more so I am lucky that Monty created an easy-to-learn (but hard to master!) piece of software.

nobody's picture

How I joined MySQL in 2002 (Lenz Grimmer)

My first contact with MySQL was around 1996, during my first job as a systems administrator for a small Internet startup.

I actually started using Linux and Open Source Software while studying computer science and was happy to have found a job at a company that was already utilizing OSS for production purposes.

Back then, they used Perl and php/fi (that's how the PHP scripting language was called these days) to create dynamic web sites for customers, using "Mini SQL" (mSQL) from David Hughes as the database backend for most of these.

While mSQL worked fine, it was very limited in functionality and did not scale that well. After some research, we discovered MySQL and I was immediately convinced by the functionality and especially the ease of migrating to it: the move from mSQL to MySQL was accomplished by simply importing the mSQL SQL dumps and replacing all occurences of "msql_" with "mysql_" function calls in the PHP and Perl code. The MySQL distribution even came with a tool named "replace" that could be used for batch-converting pieces of text in files and scripts (it's actually still included in the distribution today). It also seemed that MySQL had a much faster growing community and good support. It just worked and quickly became a trusted workhorse for many new projects as well.

I left this company after about 1 1/2 years. Being the only full-time employee in a company that was ran by three guys with very limited experience in how to manage it (and often were in vocal disagreement about this) was not too encouraging. But I learned a lot about the entire "LAMP"-Stack and Linux in particular and how to maintain a server infrastructure on a shoestring budget.

I then joined SuSE Linux in Nuremberg, Germany in April 1998 as a distribution developer. Back then, the company was around 40 people in total (and most of them were developers). As part of this job I was in charge of a number of software packages that were part of the distribution. One of my first objectives was to add MySQL to SuSE Linux. It required some discussion with Monty and David, as they were not using the GNU GPL at this time and I needed to ask them for their explicit permission to include the MySQL Server. Fortunately they agreed, and MySQL 3.21.33b was added to the SuSE package repositories in November 1998, debuting in SuSE Linux 6.0 that was published later that year. In return, Monty and David received boxed copies of every SuSE distribution that was released, as a sign of appreciation of their work.

While working for SuSE, I spent more and more time on doing community work, too. I followed many mailing lists, gave talks and attended conferences like the Linux World Expo, Atlanta Linux Showcase and others. Interestingly, I think I attended more of these events in the US than in Germany. And more than once, I stumbled into Monty and David at these occasions, so we had quite a lot of exchange both in person and via email during my time at SuSE.

It must have been around the beginning of 2002 when I once again was having a technical discussion about MySQL with Monty and David via email. SuSE had gone through many changes and restructuring pains - at one point, they were close to 700 people worldwide, which was later shrunk down to 200-300 employees again. I was still enjoying my job, but was also open for new challenges. So during our discussion, I half jokingly raised the question if MySQL would not have any use for a guy like me in a side note.

Before I was even realizing it, I was on my way to Helsinki, Finland, to meet Monty and others for interviews. I actually stayed at Monty's place for two or three days, sleeping in Max's (Monty's son) bedroom, who had been moved to share a room with My (Monty's daughter) while I was visiting.

Monty and I had a good time, there was not really a moment that could be considered a "regular job interview situation". I helped him with some technical problems with his SuSE Linux systems, we discussed and worked on MySQL packaging issues and enjoyed the sauna, cooling off naked in the snowy backyard of the Widenius house. I also enjoyed Monty's great cooking skills and had a really good time staying with him and his family.

I remember one particular evening, where Monty said that he and some friends are having their regular poker evening, asking me to join him. I should mention that I don't really know how to play poker and I am not too fond of seafood in general (particularly shellfish like mussels and crabs). We drove to the place by car and I was introduced to Kaj Arnö, Marten Mickos, Ralf Wahlsten and Patrick "PG" Gustavsson. Much to my concern, they had prepared sea food for dinner and I could tell they were getting ready for a long evening, counting the number of Vodka bottles on the table.

Did I mention that I don't drink alcohol, either? I started to feel a bit worried if this particular evening would turn out as the show stopper for my future at MySQL. Monty and the others however had a great time - in the beginning of the evening, they were still courteous enough to have most of their conversation in English, so I was able to follow it. During the course of the evening and the fewer Vodka remained in the bottles, the less they actually paid attention to the language. And this was where I first learned about the Scandinavian tradition of singing drinking songs before each round of drinking. No, I did not learn Swedish at school...

To top it all off, it was not straight poker they played - the person dealing the cards was in charge of defining the rules! So this made it even more difficult for me to follow the game. But sometimes I actually ended up with winning the pot, not really knowing how it happened.

But me being the only one staying sober for the entire evening eventually turned into an advantage for me - I was appointed as the designated driver and found myself driving Monty's car through the frosty Finnish night, getting directions from a bunch of tipsy Scandinavians on their way home.

As it turned out, I must have still managed to leave a positive impression of myself. My wife and me turned in our resignations at SuSE and moved from Nuremberg to Hamburg. I joined MySQL in April 2002 as a product/release engineer, offloading Monty from the duties of building and packaging the binary releases of the MySQL Server for the wide range of platforms we support.

In the same month I joined the company, there was a staff meeting scheduled to take place in St. Petersburg, Russia. Like most other employees, I first traveled to Helsinki, where we were all picked up by a coach that was driving us to St. Petersburg. This was quite an experience for me, and a very welcome occasion to actually meet the entire company right when I started. This allowed me to build up relationships across the entire organization, which are still very useful nowadays, even though many people have moved on or assumed other roles within Sun by now.

Monty, thank you for giving me the chance to be part of this rollercoaster named MySQL. It has been an exciting ride so far, full of ups, downs and quick turns. It has been a pleasure and honour to work with you and I wish you all the best for your future ventures! Keep up the good work.

LenZ

nobody's picture

Lycka till Monty!

Back when I joined MySQL early 2002 you were one of the first people I met (not all that surprising, given that there were only 30 of us or so altogether). You had something urgent to tell me, since my role back then included office management; "I like Coke, but it has to be regular Coke, not the diet kind or Pepsi. Also, I hate cheese". I've come to understand that the restaurant your planning for is to be run based on customer information like that.

I've since learned that you've got the same kind of strong opinions on most things. We've had some wonderful arguments, and after a few years you even stopped yelling at me over the phone. Not sure if that's a good or a bad sign. Also, I've learned that you're a very sweet and caring person (don't worry, I won't tell anyone if you don't want me to). Like many others I think you'll be happier running your own show again, and I'll be sure to follow it.

All the best!

Boel Larsen

nobody's picture

It's in the details...

I remember meeting Monty for the first time when we (Kaj and me at Polycon) were creating the first *official* MySQL training back in 99/00. Creating the training materials was a hard enough task as I didn't have very much prior MySQL experience... or so I thought.

I turns out that the hard part was only ahead of me. For the first class I was slighly behind schedule (as expected) and didn't finish the materials until 5am the morning before class. Needless to say I was nervous and my sweating didn't stop when I saw Monty sitting smiling in the classroom at 9am. And true to his ideals Monty cought every single detail where I wasn't completely correct or where I had left something out. After a very long and sweaty day I was happy to see that Monty wasn't attending the class the following day ;)

I managed to get out of the class with my honour still intact after all (and Monty fixed a few bugs during class) and I got my first introduction to the kind of "fanatism" needed to create a great database. Needless to say I'm happy it was Monty who tried and succeed as he clearly has what it takes!

Cheers,
Max

anonymous's picture

On stubbornness...

Is being stubborn a quality or a flaw? You can argue both ways I guess...I remember meeting you Monty for the first time back in 2000 in Boston. While driving, you started arguing about something with David and just would not let go! I turned towards Kaj and whispered "Hey, they really sound like an old couple...", Kaj answered me smiling "they are...". Boy, this was not to be the last demonstration of stubbornness and not letting go I would witness. Countless times you sat at one hand of the table while most of us would sit at the other hand, arguing about something where you would, obviously, consider we were wrong (and a few times we might actually have been :)). But without your obstinacy, MySQL would quite simply not be...So is being 'extremely' stubborn a quality or a flaw? You can argue both ways..but I'm grateful you are (while not always though...:)).

Thank you Monty.

Bertrand

anonymous's picture

Passion is a timeless wisdom

Only a few days ago while investigating "Maria" I download the source, compiled and received an error. I noticed a #maria IRC channel was available, I logged on and posted the following.

[9:00pm] rbradfor: I'm getting a compile error from a standard launchpad branch. 
[9:00pm] rbradfor: scheduler.h: In function "void get_options(int*, char**)":
[9:00pm] rbradfor: scheduler.h:51: error: too few arguments to function "void one_thread_per_connection_scheduler(scheduler_functions*, ulong*, uint*)"
[9:00pm] rbradfor: mysqld.cc:8605: error: at this point in file
[9:00pm] rbradfor: is this something I should report, or does somebody know about it?

Within 60 seconds, I received a response, from Monty Widenius, and then within another 60 seconds a confirmation of the problem, and where it was.

[9:01pm] montywi: rbradfor: never seen this before
[9:01pm] montywi: what platform ?
[9:02pm] montywi: ok, found problem

Within 2 minutes a workaround for the error (which I later confirm worked).

[9:02pm] montywi: you are compiling without pool of threds and there is a bug in a macro
[9:04pm] montywi: Just add --with-libevent to your configure line and it works
[9:04pm] montywi: now fixing this for the case when the above isn't included.

And in just 2 more minutes I was supplied with a patch (again which I tested and confirmed worked). This was committed to the branch and then available for anybody else. The power of the Open Source community.

[9:06pm] montywi: rbradfor: can you try a patch ?
[9:07pm] rbradfor: montywi: sure.
[9:07pm] montywi: === modified file 'sql/scheduler.h'
[9:07pm] montywi: --- sql/scheduler.h    2009-03-12 22:27:35 +0000
[9:07pm] montywi: +++ sql/scheduler.h    2009-03-18 01:11:12 +0000
.....

Now in the open source world finding bugs and having them corrected is part of the Community. Having problems addressed timely is a wonderful thing, but having the creator of the product, a pioneer who's legacy will last a very long time, respond and action with passion and commitment is what set's Monty Widenius apart from everybody else.

I have met Monty Widenius only a few times in the past years, but I've always enjoyed his unique perspective on the topic of the moment, his black vodka and Tyrkish Peber which he has willing shared more then once.

I leave you with a photo, and challenge you to find another person who would be capable of wearing a t-shirt that states "My free software runs your company". Michael Widenius - Founder and original developer of MySQL can, and my thanks to you for MySQL.

(Larger version available on request)

Ronald Bradford - MySQL Expert
http://ronaldbradford.com
Opinions, Expertise, Passion.

nobody's picture

Monty and Arjen

Before I joined MySQL in August 2001, I was using OSS but wasn't particularly active in the community - not even on the MySQL list. My job at MySQL changed all that, and the company philosophy at the time (as taken from Monty's own principles) were brilliant as an enabler for community activity in all directions.

Working on the Documentation early on, I fondly remember translating the Swenglish to English. If you read Monty's own writings today, it's actually very good English and I can even understand him on the phone now! Horay.
I also remember getting into arguments over (IMHO) misfeatures and bugs while expanding the docs; one in particular involved a construct like (0 AND NULL) where MySQL was taking a shortcut and thus not giving the correct result depending on the argument order (returning 0 rather than NULL). I filed a bug, and to expedite things I actually wrote a patch myself - Monty didn't like my fix because of course it was slower (no shortcut) and he rewrote the logic to be both correct and fast.
Writing docs has this wonderful effect on code quality. Paul DuBois and I can both attest to that - sometimes we'd ask for an explanation of how something worked, and as Monty was trying to clarify, he'd figure out it was too complicated and actually rewrite the code. It's all part of the open development cycle.

Monty is wonderfully opinionated (I should know) combined with a well developed sense of humour - many people completely miss what's actually going on with that. But Monty can be wrong, and Monty can change his mind... it's all real!

Monty also provided my first introduction to the wonderful world of Salmiakki, I believe, although Kaj may have been involved also. Cough syrup it may be for some, but I love the stuff.

Of course Monty is continuing his work on MySQL with Monty Program Ab, but not everybody knows he's dabbling in other topics also: I really like Monty's restaurant concept: no menus, you just tell what you don't like and you will get something good. Afterwards you get asked what you liked/disliked (feedback). Your past choices and feedback (preferences) are also tracked in a database (MySQL of course!) so that next time, you don't even have to tell if there's no change. It really focuses on the good food of the day, the expertise of the chef, and enjoying whatever results from that. It's opening in Helsinki, and I'm only 16000km away... Monty, please, can we have one here in Brisbane, too? Will there be a franchise that I can plug to someone? (no I'm probably not going to start it myself, not my specialty). You know what they say: think globally, eat locally! ;-)

By the way... I should note that the PHP application/site I was working on when I encountered the job ad on the MySQL website, was never funny finished. So many years later a beta is live, and while some of the online technologies have enabled and simplified aspects, the concept has not actually been implemented anywhere else. Work has been a serious distraction... it may still happen though!

nachico's picture

Pioneering new business models

From my point of view, MySQL's main contribution to this world has been to explore and discover new ways of doing business. Launching a sustainable open source company with a consistent culture and internal organization is never easy, but MySQL has developed a successful innovative model that is now serving as a great example to new startups. For all that, I would like to thank the whole MySQL team and specially their founders and managers.

On a personal note, I had the privilege to share a diner with Monty some 15 months ago in OpenMind event, where he explained in detail the way MySQL could work as a virtual company. I must confess that was an eye-opening moment, where I understood the great value and the feasibility of organizing a company virtually. We are currently applying in eBox the lessons learned in that diner. For all that, I would like to thank you, Monty :-)

nobody's picture

Vendor lock-in

Monty,

How did I start using MySQL? I may be a special case in that I have followed your coding since the 1970s, but I think I share my reasoning to start using MySQL with a lot of people: Lack of vendor lock-in.

At my company Polycon in Finland, we were coding applications and using other databases. I think our default was Interbase, as we were coding in Delphi. We were also using Postgres for some Web apps.

Knowing your undisputable coding skills was not reason enough for me in 1997 to decide to swap our Java apps to MySQL. "The customers" may demand something else, or the functionality might be insufficient. Who knows.

You convinced me that whatever we at Polycon invested in MySQL, it wouldn't be a dead end. It would be easy to migrate away, if we later on decided to do so. We wouldn't need to make any moves that would lock us into being MySQL users.

In our case, the story ended up being the same as for many (if not most) users who start with MySQL: We never found a sufficient reason to move away.

In short: You made it easy so to move off MySQL, that you purged all barriers to *start* using MySQL. And that philosophy created the trust which was a necessary component (among many others) in building a user base of millions.

Thanks for inventing the Deviously Unlocked Vendor Lock-In! :)

Kaj

anonymous's picture

Kunnian miehiä

Minun suhteeni MySQL:n oppimisen, yrittämisen ja mielenkiinnon tasolla. Mahdollisesti voin hyödyntää ohjelmaa, joissakin web-palveluissa. Asemassani "syrjässä" on upea, kohdata ihmisiä joilla on ollut, tai on jotakin annettavaa.
Suomen profiilia nostamassa maailmalla on muutama. Yksi heistä on Monty Widenius. Toinen on Linus Torvalds,,,tähän hätään ei tuu heti muita mieleen, vaikka niitä varmaan on.
Kaikkea hyvää kaikille, erityisesti Monty Wideniukselle ja uudelle yritykselle.

Samuli Ketola

nobody's picture

Keep it Simple and Stupid

Hi Monty. Just to say thanks to David and you for the down-to-the-point, simple organization that you set up in the company in the early 2000s. The method of hiring, for example: a few emails, a bit of code, a face-to-face meeting, a few phone calls, and it's done; no English written test, no psychology test, no brainwash. Thanks for having kept the company simple enough when it was small, applying KISS to the company. I wish that now that you have all free hands to do what you like and the way you like, you'll be much happier at work.
By: Guilhem Bichot.

hingo's picture

Tack, och lycka till med ditt "nya" företag

I learned how to work with relational databases on Microsoft Access. I read a book (it was not "for dummies", but similar pocket format) that explained me 1:1, 1:n and n:m relationships, foreign keys and so. Every now and then I would take a peek at the SQL that was generated behind the pretty graphical user interface. After first learning the logic of relational databases, learning basic SQL was pretty easy. This was 1997 and one of the databases I created for Staden Jakobstad literally replaced a system of paper cards used to keep a file of Curriculum Vitae of personnel in the city. The city was mandated to keep such a file of all personnel and issue to anyone a formal CV upon request. My Microsoft Access database then of course could print that report for them, rather than having to type it from scratch every time.

There were 2 databases available for Linux, MySQL and PostgreSQL. Having learned the importance of referential integrity, transactions and everything, my choice was straightforward. I became a PostgreSQL user. This was further emphasized in 2000-2001 at my (and yours!) university, where they favored the "real database" that made an effort to follow the SQL standard. I read from some forums about this crazy Swedish guy who was the main MySQL developer trying to argue that real programmers don't need transactions - this further cemented my decision never to touch MySQL. (Yes, I thought you were Swedish at this time.)

A year later a was a teacher at a training company. I thought many web related things, among them a PHP course I created from scratch. The computer labs would have windows installed most of the time, and this was what most students were familiar with anyway. Since PostgreSQL didn't really support Windows then, I happily used MySQL for the course, making my own life simpler since I didn't have to mandate a full Linux install for every course. I figured it is only right, after all they call it the LAMP stack, not the LAPP stack.

Btw, one of my most rewarding experiences as a teacher was teaching that PHP course to 3 guys who at work had been creating a web based application by printing HTML from PL/SQL! They were so excited to learn PHP, they couldn't wait to get back to work and start use it, and swore never to use PL/SQL like that again.

Upon graduation my first real life project was a web based CRM portal for a small "logistics company", basically it was a one man shop that arranges container transports of cars and other goods from US to Finland. This was a very interesting project that thought me many things. One thing it thought me was that estimate project timelines is hard! I thought that this can be done with PHP in a couple weeks, and said 2 months to be safe. It took me over 4 months in the end!

By this time web hotels had become dirt cheap. Also this application was to be hosted on a hosted server. I quickly figured out all web hotels provided MySQL and almost none provided PostgreSQL. This is the point in my life when I became a MySQL user.

By this time MySQL supported transactions and foreign keys through InnoDB. I was careful to choose a web hotel that had an up to date version that would include that. But when I had installed the application something wasn't right. I eventually was disappointed to find out this company had specifically compiled their own version of MySQL, which excluded InnoDB! I had to review my app logic to live without transactions, since I already had paid hundreds of dollars for the web hotel.

The application was called ALMA = A Logistics Management Application. That was my first real MySQL based application. (If you don't count the excercises I did for the PHP course material.) As an illustration of logistics, I've attached a picture of a container ship here. Maybe one of those containers contains some stuff tracked by a MySQL application?


(CC) BY-NC-SA mp3ief@Flickr

Eventually I ended up working as a pre-sales consultant for MySQL Ab. That lasted exactly 2 days, after which I heard I had been bought by Sun Microsystems. Even so, I really enjoy my job. One of the things I enjoy the most is working from home, a concept much perfected again by MySQL Ab. It really has improved the quality of my life, another thing to be grateful for.

Thank you!
Henrik Ingo, MySQL Sales Engineer, Sun Microsystems, Finland

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Allowed HTML tags: <h1> <h2> <h3> <h4> <p> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <br> <sup> <div> <blockquote> <pre> <img>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically. (Better URL filter.)
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
17 + 1 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.