Certification By the Numbers

So,

http://www.mysql.com/training/certification/candidates.php?exam=core

has 233 names for the core exam, which has been out for a few years now. I passed it in 2004, and sure enough, my name is one of the 75 in the US. Are there really so few people out there, or are they just not taking/passing the exam?

I did notice at the MySQL Users Conference that only 1/4 to 1/3 of the exams earned a passing grade, and given that you have to pass 2 exams to receive certification, the chances of passing are not in your favor. Granted, studying helps (as does experience), which is how I passed the Core exam in 2004 and then both 5.0 DBA exams in April (2006).

Like much of the rest of life, it’s not difficult, you just have to work at it a bit. Read the certification guide, and study, and use MySQL, and you’ll pass.

I’m quite amazed at the low amount of people who are actually certified. I guess it’s better for me; 1 of 75 in the country and 1 of 233 in the world that are Core certified. I can’t wait to see the numbers when the 5.0 certification results are up.

Perhaps that will be Roland’s first task…. 😉

So,

http://www.mysql.com/training/certification/candidates.php?exam=core

has 233 names for the core exam, which has been out for a few years now. I passed it in 2004, and sure enough, my name is one of the 75 in the US. Are there really so few people out there, or are they just not taking/passing the exam?

I did notice at the MySQL Users Conference that only 1/4 to 1/3 of the exams earned a passing grade, and given that you have to pass 2 exams to receive certification, the chances of passing are not in your favor. Granted, studying helps (as does experience), which is how I passed the Core exam in 2004 and then both 5.0 DBA exams in April (2006).

Like much of the rest of life, it’s not difficult, you just have to work at it a bit. Read the certification guide, and study, and use MySQL, and you’ll pass.

I’m quite amazed at the low amount of people who are actually certified. I guess it’s better for me; 1 of 75 in the country and 1 of 233 in the world that are Core certified. I can’t wait to see the numbers when the 5.0 certification results are up.

Perhaps that will be Roland’s first task…. 😉

Have you tried it?

So, I try to answer questions on the mysql users list. It usually frustrates me, but I also want to help. And often, I learn things.

My 2nd biggest pet peeve is that people don’t think to Google their findings. Or even “MySQL” their findings. If you have a short phrase or word, type the following into your address bar and MySQL does the right thing:

http://www.mysql.com/short word or phrase

try it:

http://www.mysql.com/replication
http://www.mysql.com/insert syntax
http://www.mysql.com/can’t%20connect

The bigger pet peeve I have is that people are AFRAID. They shake in their boots if there’s something they don’t understand. This is why there are such things as test servers. Most of the time you can run a query on a test server and see if it does the right thing.

We’re not creating bombs here. Sure, if you mess up a delete query you might mess up your system. But a SELECT query can always be “kill” ed. And a test server does not care if you delete data.

There’s no excuse for not having a test server. MySQL is available for many platforms. It’s plenty easy to mysqldump your schema, and your data too. Have lots of data? Use SELECT and LIMIT.

It’s quite frustrating as someone who helps people to get the attitude of “I don’t know what to do?!!?” So yes, when someone says “Would this work?” it makes me want to scream. Wouldn’t it be easier for you to try it, than to have me set up a test scenario for you?

Now of course, this is different from the “This should work and does not, why?” and that’s OK.

So, I try to answer questions on the mysql users list. It usually frustrates me, but I also want to help. And often, I learn things.

My 2nd biggest pet peeve is that people don’t think to Google their findings. Or even “MySQL” their findings. If you have a short phrase or word, type the following into your address bar and MySQL does the right thing:

http://www.mysql.com/short word or phrase

try it:

http://www.mysql.com/replication
http://www.mysql.com/insert syntax
http://www.mysql.com/can’t%20connect

The bigger pet peeve I have is that people are AFRAID. They shake in their boots if there’s something they don’t understand. This is why there are such things as test servers. Most of the time you can run a query on a test server and see if it does the right thing.

We’re not creating bombs here. Sure, if you mess up a delete query you might mess up your system. But a SELECT query can always be “kill” ed. And a test server does not care if you delete data.

There’s no excuse for not having a test server. MySQL is available for many platforms. It’s plenty easy to mysqldump your schema, and your data too. Have lots of data? Use SELECT and LIMIT.

It’s quite frustrating as someone who helps people to get the attitude of “I don’t know what to do?!!?” So yes, when someone says “Would this work?” it makes me want to scream. Wouldn’t it be easier for you to try it, than to have me set up a test scenario for you?

Now of course, this is different from the “This should work and does not, why?” and that’s OK.

How I Work

Edit: apparently as I was writing this, Dave put out the call for others to write their own. So, I *have* been asked….

I find Dave Rosenberg’s “How I Work” series fascinating, so I thought I would post how I work, and some tips I’ve picked up along the way.

I enjoyed How Brian Aker Works the best, mostly because some of the ideas were new and fresh to me — for example, polling e-mail every 30 minutes (and thinking about moving to once every hour).

Now, most people I know would say “But I MUST respond to e-mail, the faster the better!” To that I say, “What if you were in a meeting?” Most people will call if they want an immediate answer, and if you’re truly in a meeting, they’ll leave a voicemail message. I wouldn’t suggest polling your pager every 30 minutes, but for me, e-mail is a non-emergency medium and thus Brian’s technique is pure genius for not getting distracted by e-mail.

Not that anyone asked, but:

What is your role?
I am a MySQL Database for Online Buddies, Inc — a company committed to developing on-line communities that provide members with safe, friendly and exciting sites through which members can express themselves and interact with one another as they wish. (That’s straight from Marketing.)

What is your computer setup?
At work, a Dell desktop running Windows. It does not matter what OS I use as most of what I do involves logging into a database or server or researching/reading on the ‘net. I’m fond of saying “All I need is a web browser and a way to SSH and I’m happy.” At home I have a Windows laptop work gave me (also a Dell), although when I buy my own home computers they are Apple laptops.

What desktop software applications do you use daily?
Firefox. I find Safari (Mac OS X) bloated, taking too long to open. Internet Explorer is dead to me until they get tabbed browsing.

I also use Microsoft Outlook to deal with work e-mail, iTunes for music, and SecureCRT for SSH’ing. I’ll use Excel or Word for reporting and reading documents sent to me, but I only have to fire that up a few times a week.

I use Trillian for IM. I use EditPadLite for small text files I need to read on my desktop,

What websites do you visit every day?
gmail, planetmysql, http://gather.com, livejournal, http://everythingsysadmin.com/, and wunderground.com for the weather.

What mobile device or cell phone do you use?
I have a Motorola RAZR. I like the flip phone and the low weight, but some of the missing features (like being able to type more than one letter as an index to my phone book) really annoy me. I also have a Verizon PocketPC which I use during an emergency to login to our machines if I’m not near a computer.

Do you use IM?
Yes. For short technical requests or conversations, or “Have you done this yet?” I find it works well. Much like the phone, if I’m too busy to talk, I don’t respond. And much like the phone, people respect my need for few distractions and rarely use it. My colleagues walk into my office as much as they IM, and almost never call.

Do you use a VoIP phone?
Not yet, although one of my tasks this week is to start using Skype.

Do you have a personal organization theory?
Oh yes. I organize everything! I always need a to-do list, as I’m easily distracted. I keep it short — my to-do list is the tasks I expect to work on that day. I use the whiteboard in my office to keep track of weekly tasks and erase them when they are done — there are no more than a dozen at one time. There is always something new that comes up, so I’m never left with nothing on my list, and if I worry about something being forgotten I will put it into request tracking software. My high tendency toward distraction means I might put off certain tasks, but I do so by reading websites, journals, lists and researching. So I end up constantly learning and never needing to “find time” to read that technical magazine.

Physically I organize in piles. Mostly everything is in one to-do pile — ie, if I have a schema I’m modifying I’ll have it printed out with my notes. I’ll clean that out around once a week, and like the whiteboard, there’s never much in it. That’s not to say I’m busy, but if something is in there more than a few weeks, chances are it does not belong there.

I have always had some kind of organizer/planner. It’s something that needs to be small enough to take with me. I learned early on that paper is better than electronics for me, as I can drop my paper organizer all I want with no consequences. It does not sync to my desktop, but I also don’t have to worry about losing data. If I got along better with electronics I’d have a palm synched with LifeBalance. I love the software, but remembering to print out my schedule so I’d have a copy on me at all times did not work.

Anything else?
I cannot recommend Limoncelli’s Time Management for System Administrators (published by O’Reilly) enough if you are finding your current way of working not good enough, or even if you think it’s good enough and want to be sure.

I’d love to see other folks’ ways of working.

Edit: apparently as I was writing this, Dave put out the call for others to write their own. So, I *have* been asked….

I find Dave Rosenberg’s “How I Work” series fascinating, so I thought I would post how I work, and some tips I’ve picked up along the way.

I enjoyed How Brian Aker Works the best, mostly because some of the ideas were new and fresh to me — for example, polling e-mail every 30 minutes (and thinking about moving to once every hour).

Now, most people I know would say “But I MUST respond to e-mail, the faster the better!” To that I say, “What if you were in a meeting?” Most people will call if they want an immediate answer, and if you’re truly in a meeting, they’ll leave a voicemail message. I wouldn’t suggest polling your pager every 30 minutes, but for me, e-mail is a non-emergency medium and thus Brian’s technique is pure genius for not getting distracted by e-mail.

Not that anyone asked, but:

What is your role?
I am a MySQL Database for Online Buddies, Inc — a company committed to developing on-line communities that provide members with safe, friendly and exciting sites through which members can express themselves and interact with one another as they wish. (That’s straight from Marketing.)

What is your computer setup?
At work, a Dell desktop running Windows. It does not matter what OS I use as most of what I do involves logging into a database or server or researching/reading on the ‘net. I’m fond of saying “All I need is a web browser and a way to SSH and I’m happy.” At home I have a Windows laptop work gave me (also a Dell), although when I buy my own home computers they are Apple laptops.

What desktop software applications do you use daily?
Firefox. I find Safari (Mac OS X) bloated, taking too long to open. Internet Explorer is dead to me until they get tabbed browsing.

I also use Microsoft Outlook to deal with work e-mail, iTunes for music, and SecureCRT for SSH’ing. I’ll use Excel or Word for reporting and reading documents sent to me, but I only have to fire that up a few times a week.

I use Trillian for IM. I use EditPadLite for small text files I need to read on my desktop,

What websites do you visit every day?
gmail, planetmysql, http://gather.com, livejournal, http://everythingsysadmin.com/, and wunderground.com for the weather.

What mobile device or cell phone do you use?
I have a Motorola RAZR. I like the flip phone and the low weight, but some of the missing features (like being able to type more than one letter as an index to my phone book) really annoy me. I also have a Verizon PocketPC which I use during an emergency to login to our machines if I’m not near a computer.

Do you use IM?
Yes. For short technical requests or conversations, or “Have you done this yet?” I find it works well. Much like the phone, if I’m too busy to talk, I don’t respond. And much like the phone, people respect my need for few distractions and rarely use it. My colleagues walk into my office as much as they IM, and almost never call.

Do you use a VoIP phone?
Not yet, although one of my tasks this week is to start using Skype.

Do you have a personal organization theory?
Oh yes. I organize everything! I always need a to-do list, as I’m easily distracted. I keep it short — my to-do list is the tasks I expect to work on that day. I use the whiteboard in my office to keep track of weekly tasks and erase them when they are done — there are no more than a dozen at one time. There is always something new that comes up, so I’m never left with nothing on my list, and if I worry about something being forgotten I will put it into request tracking software. My high tendency toward distraction means I might put off certain tasks, but I do so by reading websites, journals, lists and researching. So I end up constantly learning and never needing to “find time” to read that technical magazine.

Physically I organize in piles. Mostly everything is in one to-do pile — ie, if I have a schema I’m modifying I’ll have it printed out with my notes. I’ll clean that out around once a week, and like the whiteboard, there’s never much in it. That’s not to say I’m busy, but if something is in there more than a few weeks, chances are it does not belong there.

I have always had some kind of organizer/planner. It’s something that needs to be small enough to take with me. I learned early on that paper is better than electronics for me, as I can drop my paper organizer all I want with no consequences. It does not sync to my desktop, but I also don’t have to worry about losing data. If I got along better with electronics I’d have a palm synched with LifeBalance. I love the software, but remembering to print out my schedule so I’d have a copy on me at all times did not work.

Anything else?
I cannot recommend Limoncelli’s Time Management for System Administrators (published by O’Reilly) enough if you are finding your current way of working not good enough, or even if you think it’s good enough and want to be sure.

I’d love to see other folks’ ways of working.

Neat trick, and some notes

This falls under “I knew I could do this but I didn’t realize I could apply it this way!”

You can do

SELECT 1 from table1;

Which will return n rows, each row having 1 field whose value is 1. n is the number of rows in table1.

SELECT "string" from table1 works similarly.

However, I never considered using

SELECT "string" as "debug statement" to debug code.

For instance,

mysql> SELECT "SELECT foo from bar where baz>0" as "debug";;
+---------------------------------+
| debug |
+---------------------------------+
| SELECT foo from bar where baz>0 |
+---------------------------------+
1 row in set (0.00 sec)

Neat trick! This is why I follow the MySQL Users general list, because every so often a gem like this comes up. Plus, I can’t resist helping folks out. And if I’m not accurate, someone else will step up.

Some more random thoughts, as I’m thinking about them and did not really want to make a separate post for them — at the MySQL Users Conference, the rank on PlanetMySQL.com came up, from “the conference postings will increase my rank” to “so-and-so cheats and makes lots of little posts.”

Now, I was just happy to make the list. Of course, now that I did post a lot at the conference, my rank went up from about #12 to about #7. As an experiment, I’m attempting to publish an average of one post a day for May and see what my ranking is at the end of May. So far, so good. And of course, as always, all of my posts will have content!

I think it would be neat to have a little line on planetmysql.com that shows where “1 post a day”, “1 post a week” and “1 post a month” fall for the top posters.

This falls under “I knew I could do this but I didn’t realize I could apply it this way!”

You can do

SELECT 1 from table1;

Which will return n rows, each row having 1 field whose value is 1. n is the number of rows in table1.

SELECT "string" from table1 works similarly.

However, I never considered using

SELECT "string" as "debug statement" to debug code.

For instance,

mysql> SELECT "SELECT foo from bar where baz>0" as "debug";;
+---------------------------------+
| debug |
+---------------------------------+
| SELECT foo from bar where baz>0 |
+---------------------------------+
1 row in set (0.00 sec)

Neat trick! This is why I follow the MySQL Users general list, because every so often a gem like this comes up. Plus, I can’t resist helping folks out. And if I’m not accurate, someone else will step up.

Some more random thoughts, as I’m thinking about them and did not really want to make a separate post for them — at the MySQL Users Conference, the rank on PlanetMySQL.com came up, from “the conference postings will increase my rank” to “so-and-so cheats and makes lots of little posts.”

Now, I was just happy to make the list. Of course, now that I did post a lot at the conference, my rank went up from about #12 to about #7. As an experiment, I’m attempting to publish an average of one post a day for May and see what my ranking is at the end of May. So far, so good. And of course, as always, all of my posts will have content!

I think it would be neat to have a little line on planetmysql.com that shows where “1 post a day”, “1 post a week” and “1 post a month” fall for the top posters.

Different kind of LIMIT

This is probably a dumb question, but I’ll put it forth anyway. Is there a routine or easy way to limit the number of items in a group? What I want to do is limit the number of items in a group to no more than a certain number. For instance, the last 10 times someone logged in.

I’m thinking of a routine that takes in field1, field2, # limit, and then an optional keyword of {FIRST,LAST} and maybe an optional WHERE clause. So in an example, the routine would take in:

uid
lastLoginTime
10
FIRST
uid=12345

and the routine would find the number of times uid 12345 logged in. If it’s less than or equal to 10, leave it alone. If it’s greater than 10, delete it so it gets to 10, deleting the oldest records first.

This is not something that could be done with a trigger (ie, on insert of a new login, check to see how many logins there are, and if there are 10 delete the first (oldest) one) because in our case, it’s done when we take away privileges from someone. We pare down their friends list, or reduce the # of images they’re allowed, etc. We usually do a loop with code, but I’d rather have a stored routine do it. (bonus points if I can use it in MySQL 4.1.12).

This is probably a dumb question, but I’ll put it forth anyway. Is there a routine or easy way to limit the number of items in a group? What I want to do is limit the number of items in a group to no more than a certain number. For instance, the last 10 times someone logged in.

I’m thinking of a routine that takes in field1, field2, # limit, and then an optional keyword of {FIRST,LAST} and maybe an optional WHERE clause. So in an example, the routine would take in:

uid
lastLoginTime
10
FIRST
uid=12345

and the routine would find the number of times uid 12345 logged in. If it’s less than or equal to 10, leave it alone. If it’s greater than 10, delete it so it gets to 10, deleting the oldest records first.

This is not something that could be done with a trigger (ie, on insert of a new login, check to see how many logins there are, and if there are 10 delete the first (oldest) one) because in our case, it’s done when we take away privileges from someone. We pare down their friends list, or reduce the # of images they’re allowed, etc. We usually do a loop with code, but I’d rather have a stored routine do it. (bonus points if I can use it in MySQL 4.1.12).

Data entry stinks!

I know how much I hate data entry. So do the MySQL folks a favor — if you’re at the Users conference, fill out an evaluation form for the conference at:

http://www.oreilly.com/go/confeval

and a speaker evaluation for each session at:

http://www.oreilly.com/go/spkreval

It took me a while to find the links, so I’m posting them here. I find myself writing down comments during the talk anyway, so having the browser open and writing comments directly into the eval form is useful for me.

And you have your laptop with you anyway (you’re reading this, aren’t you?). So pop open a browser and spend 2 minutes after each presentation giving feedback. Who knows, you might win something too!

I know how much I hate data entry. So do the MySQL folks a favor — if you’re at the Users conference, fill out an evaluation form for the conference at:

http://www.oreilly.com/go/confeval

and a speaker evaluation for each session at:

http://www.oreilly.com/go/spkreval

It took me a while to find the links, so I’m posting them here. I find myself writing down comments during the talk anyway, so having the browser open and writing comments directly into the eval form is useful for me.

And you have your laptop with you anyway (you’re reading this, aren’t you?). So pop open a browser and spend 2 minutes after each presentation giving feedback. Who knows, you might win something too!

MySQL Users Conference

So, I’m at the MySQL Users Conference. I ran into Jay Pipes and Mike Kruckenberg yesterday. That was not surprising. Surprising was the fact that Mike Hillyer (of sakila sample db fame, which I am very interested in) found me and said “Hi”. I can’t wait for his talk on the sample database; I want to run out and rewrite all the documentation using the sample db. I was introduced to Colin Charles as well, who congratulated me on the success of the Boston MySQL Users conference.

This morning I sat down for the keynotes and Roland Bouman said, “Sheeri!” He was followed by Markus Popp, Beat Vontobel, Giuseppe Maxia and Jay Pipes. So of course we had to get a picture! (Click on any picture to get bigger versions…)

(Quick pronunciation guide for American English Speakers:
Sheeri = SHEE-ree
Beat = BEE-aht
Guiseppe = Ju-SEP-pee
Arjen = AR-yen
to their credit, nobody has mispronounced my name yet.)



left to right: Beat, Markus, Jay, Sheeri (me), Guiseppe and Roland.

And then Arjen Lentz appeared, so we got another one…..

And then Monty Widenius appeared.



left to right: Markus, Guiseppe, Roland, Sheeri, Monty

Listening to Monty speak, he really cares about the product and the community. I’ve learned that the company cares about that sort of thing, but it’s nice to hear that Monty’s favorite thing about the 5.0 release was that he could give features to people that they’ve asked you.

While I’ve been writing, 4 community awards have been given, and 3 from people I’m sitting with!


Left to right: Congrats to
Roland Bouman
Giuseppe Maxia
Markus Popp
and Rasmus Lerdof (one of the founders of PHP) for their huge contributions to the MySQL Community.

More pics:

Welcome to San Jose!

I arrived at night:

The convention center has inflatable furniture in the hallways for break time use. Silicon Valley is geeky, who’dve thunk?


The food is great — the cheese and olives are wonderful! And salads, quiche and salmon also make an appearance on my plate. This isn’t bad lasagna, this is real, good food, and there are healthy options.


If you’re wondering who I am, and the pictures aren’t helping, I’m the knitter. Yesterday I started and finished a scrunchie, and today I’m continuing work on a vest. The scrunchie (hair thing):


So come, find me and say hi!

The Buddha is my DBA

I thought this was neat….
The Buddha is my DBA

I thought this was neat….
So, as well, who congratulated me on the success of the Boston MySQL Users conference.

This morning I sat down for the keynotes and Roland Bouman said, “Sheeri!” He was followed by Markus Popp, Beat Vontobel, Giuseppe Maxia and Jay Pipes. So of course we had to get a picture! (Click on any picture to get bigger versions…)

(Quick pronunciation guide for American English Speakers:
Sheeri = SHEE-ree
Beat = BEE-aht
Guiseppe = Ju-SEP-pee
Arjen = AR-yen
to their credit, nobody has mispronounced my name yet.)



left to right: Beat, Markus, Jay, Sheeri (me), Guiseppe and Roland.

And then Arjen Lentz appeared, so we got another one…..

And then Monty Widenius appeared.



left to right: Markus, Guiseppe, Roland, Sheeri, Monty

Listening to Monty speak, he really cares about the product and the community. I’ve learned that the company cares about that sort of thing, but it’s nice to hear that Monty’s favorite thing about the 5.0 release was that he could give features to people that they’ve asked you.

While I’ve been writing, 4 community awards have been given, and 3 from people I’m sitting with!


Left to right: Congrats to
Roland Bouman
Giuseppe Maxia
Markus Popp
and Rasmus Lerdof (one of the founders of PHP) for their huge contributions to the MySQL Community.

More pics:

Welcome to San Jose!

I arrived at night:

The convention center has inflatable furniture in the hallways for break time use. Silicon Valley is geeky, who’dve thunk?


The food is great — the cheese and olives are wonderful! And salads, quiche and salmon also make an appearance on my plate. This isn’t bad lasagna, this is real, good food, and there are healthy options.


If you’re wondering who I am, and the pictures aren’t helping, I’m the knitter. Yesterday I started and finished a scrunchie, and today I’m continuing work on a vest. The scrunchie (hair thing):


So come, find me and say hi!