Monday Aug 10, 2009

Leaving Sun: Moving to the other side of the fence

It is always hard to write these type of posts. It has been a busy ten months for me in the MySQL Community Team and sadly, all too soon it seems, the world changes and I find myself moving to the other side of the fence. As of August 14th, I will no longer be with Sun Microsystems.

Okay, before you get any conspiracy theories, the reasons are simple and personal. I am moving on to see what I can do to found my own startup completely unrelated to developing databases though I fully intend to use MySQL in the near future and if possible, all my life. Sometimes in life you get opportunities given to you which are rare and if you don't jump then regret is all you have, and that is something I refuse to live with.

As for MySQL, I am extremely sad to leave some of the coolest, brightest and most fun people in the world (and by this I mean all of the MySQL and Drizzle folks at Sun). I never thought an extrovert like myself would enjoy working in a distributed environment and make good friends, but darn it, I feel like I'm leaving a family, a very talented, dedicated, passionate family whose collective child happens to be a piece of software that has changed the world. In particular I am very sad to say goodbye to the two teams within MySQL  (Web/Marketing and Community) with whom I have worked closely: I will miss you. I will forever cherish the time at MySQL and Sun.

To those in the greater MySQL Community, thank you for your help. I hope I will see you at conferences, meetings and naturally online. There are many open source projects that I hope to get involved with as part of my new/past ideas and work. Some of it will be MySQL related albeit loosely (Gearman) and some in different directions (monitoring, web frameworks) as well as exploring more of what it means to be a "Community" on the web. So yes, I will be around.

If you want to follow me, you can follow my personal blog at (which at this point is hopelessly outdated but that will change in time) and I will be available through Facebook and LinkedIn. If you want my personal email address leave a message here and I will e-mail you :)

This blog at Sun Microsystems will no longer be updated.

Friday Jul 31, 2009

Social Networks for MySQL Community

One of the things about working with MySQL Community is trying to reach you all. If you are reading this then we have reached you.  Talking about community is frankly about where our community exists, where you chat and feel comfortable. To that end we've created a poll about where you might be intrested in hearing \*from\* us. Please, do let us know which social network you are interested in here from us!

There is no ulterior motive, the poll is anonymous, but it gives us some crucial information on where you want to interact with us, or where we might begin to ask the questions.

Check out the poll.

Monday Jul 20, 2009

OSCON Tutorial - Scaling a web application (mostly PHP/MySQL)

A quick blog post from the OSCON floor where I just finished a 3.5 hour tutorial on "Scaling a Web Application (mostly PHP/MySQL)". To be honest I submitted this talk as a 45 min talk and clicked the wrong button and ended up being handed a tutorial which I think turned out to be a good thing. After all, we could spend days and years talking about scaling.

One of my goals in this presentation wasn't just to talk about tips and examples, but also talk about the general business of scaling and creating scaling plans, scenario planning or capacity planning. This I believe is almost always more important than coming up with the small tips that fix a site when you have a problem!

Thanks to Ronald Bradford for showing up for the last hour of the presentation and helping out, it's good to have help and from a knowledgeable expert as well :)

Slides are now on Slideshare.

Thursday Jun 04, 2009

Tags and Searching on PlanetMySQL

Well, let me cut right to the chase. You can finally search the archives of PlanetMySQL. Yes, just go to the sidebar, enter your query and off you go. Yes, it is using a MySQL fulltext search index, and why not, we are MySQL after all ;) The search is happening in Boolean Mode so all the operators and expectations for doing such a search will help you find whatever you are looking for.

But Wait...! There's a bit more than that.

You might notice under each post title there's a new row of words.

We've been importing the tags you place on your posts for years, we just never did anything with them. So what can you do?

\* You can see how people tagged their posts
\* You can click on a tag and see all the similar tags across PlanetMySQL
\* If you are logged in, you may also EDIT the tags and make them relevant
\* You can also search for multiple tags.

So each one in turn:

1. Looking at a tag across PlanetMySQL.

Simply click on the tag. That's it. Now tags are case INsensitive so "MySQL" will translate to the same tag as "mysql" and "mYsQl". If you tag your posts on your blog and our SimplePie aggregator understands how it is tagged it will do it's very best to place it all correctly.

2. Editing Tags

This will \*only\* work if you are logged in to PlanetMySQL with a account. You can click on the "(edit)" link which opens up an input box, enter your tags as comma delimited words and hit "go". That's it. If you need to remove and existing tag, remove the word and click "go".

3. Searching for multiple tags

Well, this may be considered a bit of a hack :) In the search box, you can type in a query such as the following:

"Tags: mysql, open source"

It will attempt to find those tags, intersect them and bring back those posts which are tagged with "MySQL" AND "Open Source". You can try any number of tags to narrow the search.

Because I kept mistyping when I was testing, you can also do:

"Tag: mysql, open source"

Now what happens when no tags are matched? Such as with "Tags: nonexistent", well, "Tags:" will be stripped and a regular fulltext search on "nonexistent" will be attempted.

For those who have been waiting for searching of \*any\* type on PlanetMySQL, here you go, sorry about the delay.

Comments, feedbacks, bugs, cupcakes are always welcome. We hope both these changes are non-intrusive and add value to the PlanetMySQL community. 

Thursday May 14, 2009

From Russia with Blogs: PlanetMySQL in Russian

My colleague Lenz might have forgotten to post before he disappeared on a well-deserved vacation but we've enabled Russian as a choice in PlanetMySQL. Feel free to start submitting your Russian language blogs.

Russian Language PlanetMySQL:
New feed submissions:

We haven't completely translated all the strings yet (that's my fault, I need to stringify the vote stuff) but we're getting there!

(EDIT: LenZ is not on vacation... in fact he is at PHPDay2009 in Verona, Italy... sorry LenZ)

Tuesday May 12, 2009 Expirations and Future

About 10 days ago I did a post on expirations and trying to find out what was going on. I have to apologize that I didn't update since then while I contacted and we negotiated what was to happen. Yesterday we blogged about the future of our MySQL User Groups. Yes, if you hadn't heard, we're suggesting that those that wish to continue to have free MySQL User Group management, they should migrate to Facebook. My colleague Colin Charles has produced a guide.

Let me tell you frankly that this is not what we wanted to do. Ideally we would have remained with, however, sadly their new business model is not something we can currently support and frankly we were caught by surprise. This I cannot blame on anyone, just a mix up in communication by everyone involved, these things sadly do happen so we just have to move on.

Now, is honouring the last remaining month of our contract with them and will be sending out an email which will allow current groups on to have a month free (until June 10, 2009 or thereabouts) so that you can prepare your group to migrate if they so desire. Meetup has informed us that this email will go out today or tomorrow, if you are an organizer, please watch for it.

Thank you for four years or more of Meetup support. Now we must look to the future.

In all this we must look at the essence for which was sponsored: Facilitating MySQL users to meet each other in their local areas and a way for us to find you to send you stuff (or people and speakers). and Facebook are tools to help you accomplish that task, but ultimately the tool you use is immaterial.

We have a tutorial on how to create your user group on the Forge Wiki, please peruse and get to know your local MySQL'ers. Once you get your group organized, make sure you list it with us so we can find you!

I've heard different comments about how we handled this situation and I am always interested in hearing people's comments. When we are beholden to third-party support for anything and are trying to negotiate in the best interests of both our company, our team and you, our community, things are bound to get more complicated than any one of us would appreciate. What has not changed is our belief in the incredible power of what a user group can do for you professionally and for us as a community.

Now let's get a move on, use Facebook, or another tool and show everyone the power of MySQL user groups!

Saturday May 02, 2009

MySQL Event in Montreal: May 18th

I know that May 18th is a holiday in Canada but I want to take advantage of the great Giuseppe "Datacharmer" Maxia being in town to host some sort of a MySQL Event. So here's the notice, if you are in Montreal and want to come meet Giuseppe (MySQL Community Team Lead), Morgan Tocker (MySQL professional), myself and any other Montreal MySQL professional I can convince on a holiday Monday, read on!

Now, please realize that the Sun Microsystems boardroom space is limited, and we have room for a max of 25 people, so if you intend on attending, please email me at dups (at) sun (dot) com or post a comment here or on Giuseppe's blog.

We can talk about MySQL 5.4, partitions, third-party patches, MySQL Sandbox, improving PHP application performance and more!

We will also have pizza!

Event: Meet and talk to MySQL Gurus

Where: 1800 McGill College Avenue, Suite 800, Montreal
When: 5-7pm, Monday May 18th

Maximum: 25 people, please RSVP by email or blog comment

Who: MySQL Professionals and Staff Giuseppe Maxia, Morgan Tocker, Duleepa "Dups" Wijayawardhana

So who's coming?

Friday May 01, 2009 Expirations

Sheeri has informed us that MySQL account subscriptions have been expiring. I'm looking to see what's happening, please Don't Panic, I hope to have an answer early next week. As of now, we (Sun/MySQL) want and intend to keep the subscriptions alive!

Wednesday Apr 22, 2009

MySQL UC Sock Emergency

No, this is not about some weird socket issue or a misspelling of SpockProxy or something like that. I'm talking about socks.

As some of my readers know, I've been on a backpacking tour across the United States and Canada visiting universities talking about MySQL. So yes, I'm literally travelling with a backpack and have all my clothes on my back. Well. No longer. Apparently my socks have been left somewhere inbetween Chicago and California. Damn you Sock Gnomes!

It's okay. Rich Taylor of MySQL came to my rescue. I am now sock happy. Lots of technical MySQL Conf articles, lots of angst right now, I thought I would post a non-traditional MySQL UC story.

Death to Sock Gnomes!!!!!

BoF Summary: Community Contributions to MYSQL

A complete and unadulterated dump of what was being talked about, I hope I got the right names and people, comment if anything out of sorts here, the Forge links talked about are here:

The BoF session was hosted by Lenz Grimmer and Tomas Ulin of MySQL

MySQL Community contributor BoF. About 15 people.

Lenz: Trying to open up, make internal processes trasnsparent, make discussions public, how does code evolve, reviewed etc before release. Lenz shows the "golden rules"

transparency - what's going to happen, how it will be accepted, make it clear to the contributor.

dialog - Lenz admits many patches during the review over the last few months haven't even been acknowledged and are going through the backlog to discover whether any dialog has been done wven if it is to say that we don't

setting expectations: what do we expect. in the past the patch contributor dropped the code and left. We need to be able tohave the contributor to get the patch in shape for acceptance

small is beautiful: better to hone your contribution and skills by working on small piece where there is less code being changed (e.g. small bug fixes).

differences: not all contributors are the same, so recognize the differences and leverage their experience.

places: all contribution have a place to go. It needs to be clear to the contributor, simplify the process, simplify the locations.

Parralellism, Incrementalism; Learning - work must happen in conjunction with others. learning platform so that people have examples for how to do things. Establishing best practices.

It is about us and our developers changing our mindset.

Team has been working since the beginning of the year. Moving away from the old MySQL agreements to the Sun Contributor Agreement. Internal feedback has been good and have been working to make this a success. Looking into existing patches, getting the SCA sign, documenting the process.

Canonical guys: How do you ease the learning curve of getting the code in?

Lenz: it takes a bit of stamina and excitement.

Audience: each code has two reviewers and have the new person as part of the review purposes.

Lenz: in our case devs have been in the community.

Lenz: we have resource struggle to review all our code.

Audience: Is code review an assigned task? On-call reviewers?

How do you track your patches: By email currently which goes into a database. the review process may happen on a mailing lists which might not be visible to all. Part of this process is to making this simpler, automated and transparent.

Lenz: Current updates

Moved from BitKeepr to Bazaar

Forge Wiki links

Simplified SCA - SCA has more rights to the contributor

New development/release cycle

Is there any scope for worklog entries to be editable by community?
We have talked about it... general tooling change?
worklog is a todo list for features for mysql server. community can see it, but it is for internal purposes. Bugs, are public for public to see and follow. Currently community cannot create their own worklog entries.

Kostja: We've been wanting to retool, never resourced so it died.

In the ideal world one tool for bugs and features.

Lars: We need to be closer to the community, why not the wiki infrastructure.

Lenz agreed, we have the infrastructure.

Sergei: bugs is how we are taking care of features, easily trackable.

Launchpad blueprints? Currently does not work for what MySQL needs. Canonical: Maybe at version 3.0

Lots of documentation internally for coding standards etc and are looking to move what is needed outside.

Tomas Ulin now...: Release cycle....

Ongoing work on the forge. With 5.4 will work with a new release cycle. We hope to achieve frequent releases and more community features and include requested features faster (Development_Cycle)

Slide with new release cycle: Milestone release model.

Looking for a laser pointer, found..

Release milestones on a 3-6 month cycle, release a stabilized version of RC quality. We are talking of going from 24 months to 3-6 months. Achieve this with much smaller increments. Previous: Alpha phase has been very long. New: Integration window will be small and will only accept well-tested beta quality patches. Once added, beta release then goes to bug fixing mode and stabilize every 3-6 months. Smaller set of features that we will stabilize over 3-6 months.

How does the numbering work?

Default behaviour, minor version number will be bumped. Slides are just examples, don't get stuck on the numbers.

Kostja: By this new numbering our release model will change so current numbering might be different once we finalize.

A milestone release becomes a potential candidate for becoming a GA candidate. Going over the slide.. Once the release becomes a release branch then not much difference from what we have.

Not every milestone release becomes a GA release branch. Really it is there to maintain disciple so we don't reduce quality and efficiency.

Over time, have max 2 releases in active support and planning GA releases every 12-18 months. 2 releases considering the number of platforms MySQL support.

Kostja: this is an intermediate solution. I would like it to go to a next step where we plan for milestones, Drawback is that a lot of stuff is kept in local trees, you have to consistently merge with the trunk.

We need to have a staging tree, need rigourous testing, need to be strict about not bringing too many features on board. Strict REMOVAL of features instead of delaying releases.

A community contribution will likely be a feature tree which will be tested and be available.

How many staging trees?

Last slide how we see it happening...

Sunday Apr 19, 2009

Voting on PlanetMySQL

You might have noticed a couple changes to PlanetMySQL over the last 24 hours... Let me keep it brief. On the regular planet pages you might have noticed a thumbs up and a thumbs down graphics. You can now vote up or vote down entries for PlanetMySQL.

Why did we do this? Primarily we want to let you tell other users what you think are "good" or "bad" articles. Let "collective intelligence" reign!

Now, we've chosen an odd option for this: we've limited the number of votes to five per day per MySQL account (yes, you need to have a MySQL account to vote). Now for the duration of the MySQL Users Conference we will increase the number of votes to ten (10) per account/24 hours starting Monday April 20th evening until Friday April 24th as the number of blog entries tend to go crazy this week.

Why limit? We want you to think about what makes a good blog entry and choose wisely!

We hope that you let everyone know when you see a good article, it ensures that it doesn't get lost in the sea of blogs during the conference and indeed in the weeks to come ahead. We'll probably do a "Top Voted" and "Top Voted of the Week" or some such as time goes on.

Login and make your vote count!

Saturday Apr 18, 2009

1 Day to the MySQL UC: Journey Complete?!

23 days
2 provinces, 7 states
3000+ miles, 5000+ km
86+ hours in busses and trains
14 universities
400+ students, professors and sun employees

Our crack team of Giuseppe and Sheeri meanwhile accomplished the following spectacular numbers in southern California

4 universities + 1 meetup
180+ students and attendees

Well there you go. When we started this, it was ostensibly for me to meet students and professors. I was going to spread the word of MySQL to universities. Instead I think I learned more from my audiences than perhaps what students learned from us.

We talked about why I think MySQL is a phenomenon, how important MySQL is to the world and why I thought MySQL was the best thing since sliced bread. I'm hopng the students I left behind felt my passion for MySQL!

In Northern California, I'd like to thank the following people and campus ambassadors for helping Colin Charles, Frank Mashraqi and myself: Shelley Karpaty from Sun University Relations, Johann Leung at USF, Fahad Hussain at San Jose State, CJ Easter at Stanford and Amin Heydari at UC Davis.

I hope that any students we met on my travels will come and find me at the MySQL Users Conference, I will be very happy to introduce you to people and show you around. Ask for me, I'm sure someone can find one of the MySQL Campus Tour people.

In many ways I am sad that this tour is over. On the other hand, I can honestly say that giving the same presentation 14 times can lead to me even dreaming about it in my sleep.

Thanks again to all, it has been an enlightening and enriching experience, I hope for all!

After all that though, I'm here safe and sound at the MySQL UC. Let the games begin!

Monday Apr 13, 2009

6 Days to the MySQL UC: Survived Amtrak over the Rockies!

Now, I must admit, I happen to like trains. I can now also strongly recommend taking the train from Denver to San Francisco to anyone who has a couple days to spare and a lot of patience. There's nothing like rocking to sleep on a train and certainly nothing like doing a bit of python programming while you watch the mountains and desert just fly past you (yes the rooms come with plug outlets for your computer). Do remember however that the room barely fits me and my backpack!

I'm adding a couple of photos, but first a MySQL Campus Tour update.

I'm in San Francisco, I have ten universities under my belt. I've crossed the nation to discover that we need to do more with students and databases, I've met wonderful people and now I am not alone!

As of tomorrow, Colin Charles will join me, as will Frank Mashraqi for Berkeley (April 15) and Stanford (April 16 -- actually at Stanford you will get Colin and Frank, while I go to San Jose State). In the meantime Giuseppe and Sheeri are in Southern California.

Now from most frequent to least, here is what I answer and discuss at these tour events:

1. How do you make money on Open Source?
2. How much data can MySQL handle?
3. Reliability and Fault Tolerance?
4. Backup Strategies?
5. What's better about MySQL compared to (Oracle/SQL/Postgres/DB2)
6. Security in MySQL?

So here are some photos to show you a bit of my journey across by train. Next time, I might get an RV and paint MySQL on the side... what do you think?


 The train at Glenwood Springs, CO

 Going through a gorge in the Rockies

The train in some cool light

Watching the Sierras go by...

Thursday Apr 09, 2009

10 Days to the MySQL UC: Photos on Flickr/Workbench

Well I finally put a few photos up on my Flickr account. I don't know what I was thinking but I didn't grab my small point and click as I left the house in Montreal and I keep forgetting I shoot RAW format on my Nikon D300. This means I have to find time to convert the photos and grab them all (and I left my card reader... talk about unprepared). So yes, that's why it's taken so long.

Yesterday's University of Colorado, Boulder, presentation was the smallest yet with Sun folks almost outnumbering the students. Oops. Let's hope that Fort Collins tonight will be better. It's at 5-6pm in Colorado State University (CSU).

I've also added MySQL Workbench to my list of things that I now show having yet again discovered that not understanding what a database schema might look like is a hindrance when talking about MySQL. This was a suggestion from one of the Sun folks who attended yesterday.

Now talking of Workbench, Mike Zinner of Workbench fame sent me a couple reminders of Workbench at the MySQL UC. There's a free workshop on MySQL Workbench between Tuesday and Thursday during the conference. The attendees will also get a one year subscription for MySQL Workbench SE. Hmmm free workshop plus subscription? Sounds like a winner to me. Check the Workbench blog for more details.

Wednesday Apr 08, 2009

11 days to the MySQL UC: Why I need to get an iPhone or G1...

Monday was my talk at Ames, Iowa at Iowa State University. To get there, I took the Greyhound from Chicago to Ames, a nice lovely eight hour bus ride across snowy, icy weather. And it is in Ames that I discovered the wonderful reason to have an iPhone. For the first time in the trip I had neglected to find out where it is I would be dropped off, and neglected to take the phone number of the hotel.

The bus station for Ames is in the middle of nowhere in an industrial complex. At 2am on a cold night after a storm, there was nobody about as the bus unceremoniously dropped me on the street and sped off with me standing there baffled... no sign, no taxi number nothing. I was suddenly picturing me using my backpack as a windbreaker and huddling against a building trying to make a fire with all the business cards that I had with me.

An iPhone would have been very nice. Instead I used my "call a friend" lifeline and woke up Niall on the MySQL Web Team in Montreal and got him to Google me a cab company in Ames, IA.

So Ames was the smallest crowd yet, but a very involved crowd with lots of questions and lots of talking afterwards. Iowa State, to my considerable surprise (no offense, but shows my lack of knowledge) was the place the modern computer was invented, the Atanasoff-Berry computer, has a large Engineering school and a considerable amount of Virtual Reality and Visualization research.

So now I have been through Omaha, Nebraska and have made it by train to Denver. We are almost 10 days away from the conference and 1200 miles to go. So, some quick updates, yes, Colin and I have not yet made our plans on the topics in the universities we will be jointly presenting next week at various California Universities in the San Francisco and Bay areas.

I can however say that the format I've been following where the audience leads the discussion is most likely where we will go. So if you have a topic you want to discuss, please come and bring it with you.

On another topic, you might have noticed Kaj's blog post on the Great Open Cloud Shootout... Check it out. From talking to so many students, it is the future of databases and how to handle distributed data structures is something that is on everyone's mind. This should be extremely fun. Mark it on your calendars.

I also promise to finally put up photos from the trip and it will happen tonight and tomorrow!


This is the blog of Dups... currently I'm one of MySQL's Community Relations Managers for Sun Microsystems, post, contact me, I want to hear from you!


« July 2016