Monday Apr 06, 2009

13 days to the UC: Half way there!

Despite the constant rumours on which alien ant lord will be our overlord (or even if there is an invasion coming) the rest of us at Sun and MySQL plod along doing our work and meeting our targets... so with that said, here I am in Ames, Iowa. Let me tell you, getting to this campus involved a grueling very crowded 7-hour bus ride from Chicago, I think I got seat-butt-itis. I am now 1800 miles away from San Francisco and down to less than two weeks and only eight universities.

The biggest student presentation yet was at Purdue University last Thursday. I'm sure the free food and giveaways had something to do with it as well as the excellent organizing skills of Rakesh Veeramacheneni -- a name to match my own, but hey I'm not going to complain, especially not when I get 76 students and professors with standing room only.

In total I have now presented and met over 230 students, staff and faculty on my first week and a bit of touring.

Okay, so quick summary, typical presentation now, good questions, hopefully I answered well. I did get a suggestion to include a demonstration of moving from Excel/Calc to MySQL which I will do for the next presentation at Iowa State University.

Seriously, if you are in Iowa State and wondering whether to come to the presentation, please do, it's a lot of fun and we can get as deep into stuff as you want during or after the presentation. Presentation is at 3:30pm in Atanasoff.

After Iowa State, I head to Omaha to catch the train to Denver for two stops at University of Colorado, Boulder and Colorado State University in Fort Collins.

Thursday Apr 02, 2009

17 Days to the UC: From Detroit to the Hoosier State

So it's been a bit more difficult updating the blog with my travels. If it weren't for Twitter and Facebook I suspect some people would have thought I had disappeared off the face of the planet, perhaps even swallowed up by America's midwest, maybe even never have left Detroit... but truth to tell, all has been going fine so far. I've travelled Greyhound and Amtrak, dodged cars with my backpack and had deep philosophical conversations with taxi drivers. So 17 days to go, 9 more campuses and 1800 miles to go before I reach the 2009 MySQL Users Conference!

In Detroit, I met the Wayne State University Sun Campus Ambassador, Mumtaz Dawoodi,  and WSU Linux Users Group President, Jason Rogers. They had organized a talk at WSU for about 25 people or so with huge amounts of Pizza courtesy of Sun. I gave my, now standard, What the MySQL is this presentation and went on to a light session of question and answers on MySQL.

Jason and Mumtaz then gave me a nice tour of Detroit's urban decay for me to photograph.

Next day, I was on my way via Greyhound to South Bend, Indiana. Contrary to what people had told me, Detroit Greyhound station was fine. I was not mugged, stabbed, or otherwise want to flee for my life.

At South Bend I met up with Notre Dame senior, Charles Lamanna who toured me through Notre Dame's beautiful campus and then presented to about 25 or 30 folks. This was a much broader group and I even had to explain "Relational Databases". Overall good questions and special gift cards for being able to say my name correctly (Charles' Idea ;).

From there a rather frantic day of Greyhound to Chicago to give a talk to Illinois Institute of Technology. This was set up by Tristan Sloughter and professor Wai Gen Yee during his Advanced DB slot. I bored them all with a talk on horizontal scaling with MySQL, but a pleasant change from explaining what MySQL was.

Some of what I am learning about universities I could have guessed. Databases come very late in the learning life cycle. Open source databases may be used by the students (sometimes) but generally proprietary databases like DB2 (in Canada) and Oracle (in the US) seem to be what are used for teaching. There is great misunderstanding about MySQL and it's use of Storage Engines, as in many don't realize that there are different storage engines and that they do different things.

Certainly practical studies on MySQL or databases seem to be fairly lacking in general terms.

Thanks again to all that have helped so far. Today it is Purdue University in Lafayette, Indiana... 6-8 pm Lawson Computer Science Building.

Here are some pictures provided by the Campus Ambassadors for Wayne State and McMaster.

The audience at McMaster University in Hamilton, Ontario.

Yours truly saying something about Gopher and Archie.

Jason Rogers addresses the Wayne State group behind a a mountain of pizza.

The audience at Wayne State University in Detroit, Michigan.

Sunday Mar 29, 2009

21 Days to go: Between Toronto and Detroit

Well, I'm somewhere between Toronto and Detroit on a VIA train speeding along soggy and grey Ontario which is trying to wake up from the doldrums of winter. It's not a pretty sight.

Friday night I was shocked and amazed to have 20 students show up to the presentation at McMaster, after all, Friday night I thought would have been a death knell for any boring tech talk from yours truly. I suspect that the copious amounts of pizza provided by Sun might have had something to do with it.

Like London, the talk in Hamilton was a success due in no small part to the organizational abilities of the McMaster Sun Campus Ambassador, Bhavin Mehta (who I later discovered was given an award for being outstanding as a Sun CA, and had organized this to be right after his graduation ceremony - now \*that\* is dedication!).

Topics for the evening, again how MySQL could possibly make money by being open source, the difficulties in convincing professors to cover MySQL in university and the problems of companies, governments etc. not wanting to move away from legacy databases to more modern systems.

Thanks again to McMaster and students for hosting me so handily in Hamilton!

Now for the upcoming California leg of the tour, I'd like to formally announce to the world that Farhan "Frank" Mashraqi will be joining Colin and I at Berkeley and Colin at Stanford. Thanks!!

Do you have topics for us to talk about at the California legs of the tour? Please tell us.

Here's a short bio of Frank just in case you don't know who he is...

Frank Mashraqi, Vice President of Technology, NetEdge: Mr. Mashraqi is a frequent speaker at web 2.0 industry conferences and is an advisor on database scalability and open source to several startups. He comes to NetEdge with nearly a decade of scalability, engineering management and monetization experience. Prior to NetEdge, Mr. Mashraqi was Director of Business Operations and Technical Strategy for Fotolog where he played a pivotal role in helping Fotolog scale to become the 13th largest website on the Internet (based on traffic). Mr. Mashraqi holds a BBA in Accounting and a BS in Computer Information Systems from North Georgia State University, the military university of Georgia.

Monday afternoon, I'm presenting at Wayne State University in Detroit.  Location: College on Engineering, Room 2507 (PACE Lab), 4 - 6pm.

Friday Mar 27, 2009

23 Days to the MySQL UC: Hamilton, Ontario

Last night's talk at University of Western Ontario was a resounding success due in no small part to Kyle Charbonneau the Sun Campus Ambassador who worked very hard to make it happen.

I presented my new 20 minute intro to MySQL and open source which is probably more PR than technical but geared at making people go "wow". Once the tour is done I'll post it up, but right now I don't want to spoil it for those that come to the next presentations.

But the meat of the time is spent in questions and answers and talking about the Tech industry in general. Yes there were the questions about rumours and Sun and you know we can't comment, even if I had something to comment, which I don't. But I will let you know now that I'm sure that I had heard down the grapevine that Sun was setting up it's own country in the Bahamas (how I wish I could get that rumour to reality somehow :D)

So some of the questions: Innodb, how can I reclaim the filespace. Not so much. Is Postgresql better than MySQL? (Religious question). How about frameworks? (Religious question) Is having DB2 on the resume likely to get bypassed on a job if the requirement is just SQL (UWO teaches DB2)? How does Sun make money on Open Source? (Quite possible). How many lines of code in MySQL? (3 million). How can I get a job in these times? (Not so easy).

Tonight I speak at McMaster, same format, let's see how it goes. This time, I'm remembering to take my VGA cable! Mind you on a Friday night I expect about 2 people to show up.

Again thanks to the 30 UWO students, teachers and local Sun people who showed up. Thanks especially to the Sun University folks for setting this up.

I also forgot my camera, a mistake I will not make today!

Thursday Mar 26, 2009

Day 24 to the MySQL UC... London, Ontario

Yes, I've changed my counting... I'm having keeping track of which day is which so better to use the UC as my end point I figured. So Day 24 to the UC it is...

London, Ontario, in a coffee shop poaching wireless... Well, I hoped to report that Kingston, Ontario had welcomed me with open arms last night and was a giant success. I was hoping for pictures of students running after me as if I was a long-lost Beatle, or perhaps Kaj. However, that was not to be the case.

Unfortunately the event had to be cancelled. Not an auspicious beginning to the trip for sure.

However, we are now 24 days to the MySQL Users Conference and I am 4,250km from San Francisco. So what are the highlights from the upcoming conference?

First I'd like to point out, as so many others have done so, that this year we will have a MySQL Camp run by your very own MySQL community under the direction of Sheeri K. Cabral.

So what is MySQL Camp? It's a free camp set up with talks for the community. It's a tech camp, bring your laptop. This is going to be some good stuff. So wait you ask, how much is this? Well, it's FREE. As in FREE BEER. Though no beer will be served at the Camp. I am sure you can find some beer somewhere.

Second question: who can attend? Anyone.

Third question: where can I find more information? Just follow the hyperlink underlining these words.

Fourth question: anyone I know presenting? For sure. Check out the sessions!

Wednesday Mar 25, 2009

Day 0: Montreal, Quebec: The Beginning

So, I'm about to embark on this mad tour to bring MySQL to campuses from here to San Francisco. I'm looking forward to each campus, and especially to having Giuseppe, Sheeri and Colin join me in California.

We now have a mascot courtesy of our wonderful cartoonist based out of the UK and that's pretty much what I look like: a backpack, a sign but hopefully not stuck somewhere along the way. In most universities, I'll give an introduction to MySQL, but I'll be happy to chat about anything technical as well. We will see how it goes.

Again, if you are in any of the places I am about to visit, I would love to meet/chat with you!

But first, what does a dolphin pack into a backpack for two months of MySQL-related touring?

Essential gear:

- Two computers, a mac and Ubuntu, you never know when you'll need it.

- USB key with different versions of MySQL. I might need to MacGyver some database at some point.

- Multiple geek t-shirts. I don't want to be mistaken for a normal individual.

- Phone numbers to Kaj and Giuseppe. Fully intend to get students to drunk dial them from various campuses ;)

- A Newfoundland - Canadian - US English Dictionary so that I can translate my colonial ways to get myself through without harm on Greyhound.

Hmmm forgotten anything?

First stop: Kingston, Ontario and Queen's University. I'll be travelling there by train from Montreal.

Thursday Mar 19, 2009

Character Set Shenanigans: YAMCCS

One of my goals in December was to somehow quickly hack in Japanese into PlanetMySQL. I'm sure anyone reading this will start yelling "Dups you know better than to 'quickly hack'", but I did it anyway and as you know we put Japanese in. I entered utf8 data into a latin1 table. Yuck.

The true solution was to convert the whole Planet MySQL database from latin1 to utf8. I was reluctant at the time to make the change. So let me tell you a YAMCCS - Yet Another MySQL Character-set Conversion Story.

If you are going to mess with character sets and convert to UTF-8 on the web, remember, once you start, you need to make sure \*everything\* is UTF-8. That means, your connection to the server, your tables, your data, and finally the character set in your html pages. This should be obvious, but make sure you do it properly and you are thorough in your changes. Before you start, read through the entire Character Set and Collation section of the manual.

So here was my process, this by the way is after I shot down various other processes and they are detailed later. In total PlanetMySQL was swapped over in minutes with no downtime, unless you clicked at exactly the right microsecond. Remember, Planet is a very, very, very small database (20,000 entries, it's miniscule) and it is very easy to disable all writes to it currently.

The main entries table had latin1, cp1250 and utf8 characters stored in a latin1 table with all connections being made in latin1. To convert the latin1 and cp1250 characters correctly, I altered a copy of the table and converted the character set:


I think just yesterday Ryan Lowe noted that this command changes the table structure silently so be warned, not an issue for me, but might be for you. Specifically if you have "text" it will map to "mediumtext", "mediumtext" to "longtext" -- you get the picture.

The Japanese utf-8 stuff I had entered starting in December would not map correctly with this command. In this case I created a script to retrieve the data as latin1 and re-insert the data as utf-8. Dumping and changing would also have worked.

For all the tables I created utf-8 backups and then used the RENAME TABLE command to swap all the tables. All told, less than 15 mins and most importantly, I had an easy way to revert quickly if I had actually messed up.

What I didn't do and why...

1. Dump, fix and re-import. This seemed to be a long route to take for such small tables. There are many scripts, perl, python and the like that can fix character set data from dumps.

2. Convert to binary data types then convert the character set. This works very well, but I would have had to drop and recreate fulltext indices, convert all the columns and one test I ran did not like the reconversion back to text blobs. I haven't investigated this fully yet. While this option definitely works, it was too much of an overkill for the dataset size.

3. Fetch and restore all the data via a script through UTF-8. This I tried, but there were some characters stored in cp1250 character set as well, so using iconv, for example, didn't fully convert everything. This is certainly an option for such small datasets.

4. Other enterprising scripts are out there which will do the alters for you, again see Ryan Lowe's post. I haven't tried them, but would have been overkill for me.

If you do a google search on this topic, you will likely discover a plethora of ways to do this. Using a method that fits your dataset, data use and so forth is critical.

However, what I strongly suggest for anyone is that:

a) If you anticipate having UTF-8 characters, change early in your application cycle. Heck, actually I would just start off with a default of UTF-8, don't leave it at the latin1 defaults, then you never need to worry. Do also remember that UTF-8 takes up more data space, so maybe single columns should be made into UTF-8, either way, think about it early.

b) If you do decide to store lots of different character sets into latin1, don't mix connection types to store data. It gets messy really fast.

Now we have another databse that needs conversion, and that is not so easy at all. The dataset is huge, massive downtimes/locking writes are not an option, and the mix of character sets may dwarf the problems of Planet.

The world however can only be altered one database and one dataset at a time...

Tuesday Mar 17, 2009

Two column layout? Three? You choose :)

Never say that I don't pay attention to your comments. PlanetMySQL on the web is now available in both two and three column layouts (Arjen, Mikael) and with a marginal increase in font size (Roland, Shlomi). Choose two column or three column layouts and be happy with whichever view you feel like. Personally, I'm a fan of giving as much choice in layout as possible.

The layout is also zoom friendly for those that want bigger/smaller fonts. There were some other comments on various possible changes to PlanetMySQL (like fixing the archives), since I seem to have people's attention right now, please do comment on anything Planet related. Some more back-end db changes a-coming depending on how much green beer I drink tonight. But I'll write about that in another blog. Pending greenness of beer.

Monday Mar 16, 2009

PlanetMySQL layout changes

If you visit the PlanetMySQL web site (as opposed to reading only on css) you might have noticed some tweaks to the layout. I changed the layout today to three columns on the main page. Yes, these are tweaks hopefully for other blogorific goodness to come.

Thursday Feb 26, 2009

Logins at PlanetMySQL? What's going on?

As Ronald Bradford noticed there have been some changes at today. For one thing, is now part of the family of websites, sure you will still be able to use, but all now redirect to

PlanetMySQL now takes its place next to the Forge, Forums, Developer Zone and the main web site. You may now move your user account between Forums, DevZone,  and PlanetMySQL seamlessly. The same login credentials can be used on the Forge.

This may not seem like a gigantic leap, but what it means is that the Planet has finally had a code change underneath to become part of the most recent platform. It means that we are running Zend Framework and the set of objects and code libraries that allow us to extend the Planet's functionalities.

Wait, you ask, there's more changes in the works? Of course!

For now the changes are pretty minor:

- Logins are now available on PlanetMySQL.
- The "Most Active" list is now split between Authors and Team Blogs (employee team blogs are so marked, just like employees before).
- New feed submissions now require a account.
- The FAQ has been updated.

I'm hoping these changes will mean more fun to come. Suggestions on how to improve PlanetMySQL are always welcome.

Wednesday Feb 25, 2009

From Montreal to the Users Conference the hard way!

The Community Team has decided on a unique way of getting to the Users Conference this year. We're going to precede the Users Conference with a special University Tour.

I will be leaving for the Users Conference from Montreal on March 25th and travelling to San Francisco by environmentally friendly ground transport: Amtrak, VIA Rail, Greyhound and the like. Along the way I will be hitting as many college campuses, user meetups, user events, customers as I possibly can. The focus is students but certainly there is time to hit other things as well. Giuseppe has dubbed it "Dups on Rails" (he sent me the image below by the way).

In California, between April 13-17, two teams of two will then travel to campuses. Giuseppe Maxia and Sheeri K. Cabral will hit the Southern Californian universities while my twin, Colin Charles, and I check out the Northern California universities.

The following is the schedule from Montreal to San Francisco. We're still finalizing parts of the California schedule and Giuseppe and I will be blogging about that in the near future.

Now, are you going to be in the area? Are you up to meeting me as I hop between Greyhound buses and sleepless nights on Amtrak trains? Then I am willing to meet you, community, customers, general people. Check the dates below and tell me if you will be in the area!

Want to follow me? Join the Facebook Group I've created, I'll have a Google Calendar and Map up as soon as I have everything finalized.

March 25: Kingston, Ontario - Queens University
March 26: London, Ontario - University of Western, Ontario
March 27: Hamilton, Ontario - McMaster University
March 30: Detroit, Michigan - Wayne State
March 31: South Bend, Indiana - University of Notre Dame
April 1: Chicago, Illinois - Illinois Institute of Technology
April 2: West Lafayette, Indiana - Purdue University
April 3: Urbana, Illinois
April 6: Ames, Iowa - Iowa State
April 7: Omaha, Nebraska
April 8: Denver, Colorado -  University of Colorado, Boulder
April 9: Denver, Colorado - Colorado State University

Tuesday Feb 17, 2009

Improving Downloads at

The MySQL Web Team and the MySQL Community Team want to improve your experience with downloading software from Now, we have many ideas on how to improve things, some subtle, some not so subtle, but we would like to hear from you.

As with all UI improvements, what we want to do is to come up with solutions and features which make the process easier, faster or more reliable. In this case it should be easier to identify what you need, faster to get to the download and more reliable in getting the correct download or your previous downloads.

What pages/sections are we dealing with specifically? We are talking about the downloads of MySQL and MySQL-related software available at the following pages:

Here are some screenshots of some of the pages we are thinking of revamping:

  • Main downloads page at

  • Software Summary and Quick Links


  • Sample software listing

If you have any thoughts and ideas, please post them here in the comments or email me at dups (at) sun (dot) com.

In a later post, I'll discuss some of the suggestions that we get and some of the suggestions that we have internally.

Wednesday Feb 11, 2009

Recap: Event Scheduler in Boston

Last week I had the chance to visit the MySQL Meetup in Boston at the invitation of prominent MySQL community persona Sheeri (who is organizing this year's MySQL Camp at the MySQL Users Conference) and give a small talk on the Event Scheduler feature of MySQL 5.1. The Meetup had about 15 people, which for a different night at a different venue was a great number in my mind.

I presented on the Event Scheduler which while a small subject is still a nice feature of MySQL 5.1. The presentation can be downloaded from my personal site. Sadly I was suffering from a really bad cold/flu/whatever and was happily heavily dosed on flu pills. I only later discovered that these pills had caffeine in them and was the reason I hadn't been able to sleep much for 2 days and hence made it all worse. Sigh. I never claimed to be very smart.

The demo I presented used a schedule to break down the words of Charles Dickens' Oliver Twist into a word count table to prove that I could do the word analysis using the Event Scheduler. Quick and dirty and it worked, and Giuseppe was there when I needed him to spot the variable that I was not resetting in my flu-ridden mind :)

Thanks to the MySQL Meetup attendees and I'm happy that I did not put anyone to sleep! Thanks to Sheeri, Patti and Tom for the room, the pizza and the invite!

Hope to see you all again with hopefully warmer weather!

Monday Feb 09, 2009

Upcoming Webinar on Scaling PHP/MySQL Applications (Feb 12)

This Thursday, February 12th, I'll be giving a free webinar with Jimmy Guerrero on Scaling a PHP/MySQL application and discovering all the pain points. It's pretty much the same talk I gave the start-ups who showed up to the Hatchery/Sun Start-up Essentials Event in New York City last week (more on that later, I'm just recovering from being sick during that trip).

So let people who are novice/intermediate know to go sign up.

More on my New York/Boston tour when I get back to Montreal (on my way there now!)

Wednesday Jan 28, 2009

Schedule this Event: MySQL Meetup in Boston

Yes please, schedule this event in your calendar or heck set up an event in your MySQL 5.1 server ;) (yeah yeah, stupid joke). I'll be in Boston next week, Wednesday, February 4th, talking to the MySQL Meetup which will be held at MIT. The topic on hand will be the MySQL 5.1 Event Scheduler. Please come down, I'd love to meet you and talk to you, whether it's about the MySQL Event Scheduler or anything else about MySQL (or PHP or whatever other knowledge that is hidden in my mind).

Here are the details:

Wednesday February 4th - MySQL Meetup - Conference Room 298 in building E40 (Red brick building) The main conference room is right in front of the Elevators on the second floor.  Come by around 6:45-7pm. As I understand it the room is booked until 9pm.

Thanks greatly to Sheeri, Tom Coveney and Patti Curtin for arranging everything. Hope to see folks there!

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