Teaching OpenSolaris

While looking for some information on OpenSolaris in preparation for my talk this week I came across some excellent material providing backgrounds on OpenSolaris for both instructors and students.The material is part of the
Curriculum Development Resources at OpenSolaris.org
and is available as PDFs for download. The documents are short and easy to read, but packed with lots of useful information and a good read for anybody interested in understanding more about the technology and functionality in OpenSolaris.

DimDim and MySQL University

Stop the press! My boss, Stefan Hinz, has just started blogging, with his first post here: Using NetBeans with MySQL.So who is he? Well, Stefan is the guy that keeps the rest of us in the docs team in check and makes sure we do what we’re asked, when we’re are asked and that all of the machinery, legalities and management tasks happen in the background. Without him we really couldn’t function as effectively as we do. It’s wonderful to see some other Docs team members getting in on the act (to be fair to the rest of the team, Jon is also a blogger). We are all writers, you would think the blogging would come as a natural extension. Behind the tease is the simple fact that the improved system for MySQL University I was talking about is getting a trial run this week. We’ve been trying out Dimdim for web conferencing with David van Couvering and I have to say I’m pretty impressed. We chatted, we tried out screen-sharing, presentations and the whiteboard functionality and it all worked really nicely. We’re going to be using it for the MySQL University session this week, Using MySQL with NetBeans. Space will be limited, but feel free to join us if you can.

How to analyze memory leaks on Windows

We use valgrind to find memory leaks in MySQL on Linux. The tool is a convenient, and often enlightening way of finding out where the real and potential problems are location. On Windows, you dont have valgrind, but Microsoft do provide a free native debugging tool, called the user-mode dump heap (UMDH) tool. This performs a similar function to valgrind to determine memory leaks. Vladislav Vaintroub, who works on the Falcon team and is one of our resident Windows experts provides the following how-to for using UMDH:

  1. Download and install debugging tools for Windows from hereMS Debugging ToolsInstall 64 bit version if you’re on 64 bit Windows and 32 bit versionotherwise.

  2. Change the PATH environment variable to include bin directory of Debugging tools.On my system, I addedC:Program FilesDebugging Tools for Windows 64-bit to the PATH.

  3. Instruct OS to collect allocation stack for mysqld with gflags -imysqld.exe +ust.On Vista and later, this should be done in “elevated” command prompt,it requires admin privileges.

    Now collect the leak information. The mode of operation is that: take theheap snapshot once, and after some load take it once again. Comparesnapshots and output leak info.

  4. Preparation : setup debug symbol path.In the command prompt window, do

    set _NT_SYMBOL_PATH= srv*C:websymbols*http://msdl.microsoft.com/download/symbols;G:bzrmysql-6.0sqlDebug

    Adjust second path component for your needs, it should include directorywhere mysqld.exe is.

  5. Start mysqld and run it for some minutes
  6. Take first heap snapshot

    umdh -p:6768 -f:dump1

    Where -p: actually, PID of my mysqld was 6768.

  7. Let mysqld run for another some minutes
  8. Take second heap snapshot

    umdh -p:6768 -f:dump2

  9. Compare snapshots

    umdh -v dump1 dump2 > dump.compare.txt

  10. Examine the result output file. It is human readable, but all numbers arein hex, to scare everyone except geeks.
  11. gflags -i mysqld.exe -ust

    Instruct OS not to collect mysqld user mode stacks for allocationsanymore.

These are 10 steps and it sounds like much work, but in reality it takes 15minutes first time you do it and 5 minutes next time.Additional information is given in Microsoft KB article about UMDHKB 268343.

Book: Intellectual Property and Open Source – the solution to IANAL

I’m reading Intellectual Property and Open Source by Van Lindberg at the moment, and despite being about a relatively dry topic, I must admit that it’s a fascinating read. Van Lindberg introduces the book by talking about the comments that end up on Slashdot.org, almost certainly prefixed by the expression IANAL (I Am Not A Lawyer) where people defend, discuss, and rip people up about the legalities of open source and the various licenses. Van Lindberg also talks about how he spends much of his time translating the contents of various legal documents into engineer speak and back again. Despite being a proponent and long time user of free software and open source for the best part of my working life, I’ll admit to being completely ignorant of many of the issues. This isn’t through lack of interest, but I’d rather leave those discussions and decisions to people who know, and it’s clear that Van Lindberg not only knows the subject, but he also knows how to make it interesting to those of us who actually have to work within the confines of rules and regulations. I’m still reading and learning a lot of the ins and outs of copyright, company agreements, and individual licenses and details. There’s a lot of material and detail included here. I’ll have a full review when I’ve finished. Until then, if you have even a passing interest in the various licensing, legal and IP issues with open source, check out the book for a proper read.

MySQL University – quick survey

MySQL University has been running for the last 18 months, and we’ve covered a wide range of topics, from the internals of MySQL right up to Amazon’s EC2, using MySQL in the Solaris/OpenSolaris Webstack and a description of the forthcoming MySQL Online Backup. Personally, I think they’re great. Obviously many times I am scribe and am there for the sessions, but I listen to lots of the sessions anyway, and I’m yet to be disappointed by the content. What’s really great is that in all the cases the person you are listening to is probably the person that either developed, or helped drive development of the particular function, or, in the case of some of the external tools (EC2, for example), these guys are expert in it. The experience is not quite as thrilling as attending the MySQL User Conference, but the content is just the same. The problem is that despite all the work we do to get the presenters, interesting topics, and promotion of the upcoming sessions, we don’t always get as many attendees as we want or expect. So, I’m wondering why this should be the case. We know that the current presentation system is not ideal (and we’re working on that), but I’m interested to hear people’s opinions on MySQL University. If you want to help shape the future of MySQL University, then comment here, and either answer the questions below, or make up your own.

  • Have you attended any MySQL University sessions. How many?
  • How would you rate the sessions generally? A simple good or bad will do
  • If you haven’t attended any sessions, or don’t regularly attend them, why not?
  • Have you ever looked at/listened to the past sessions that provide on MySQL Forge?

Please, I’m interested to hear.

General Purpose vs Specialized systems

Yesterday at Computerworld I talked about the X4150 and how it fits into a general purpose piece of hardware that can easily be redeployed and reused. Interestingly I’ve just found this item in my blog post queue from way back in 2006, Jonathan Schwartz: The Rise of the General Purpose System, where Jonathan pretty much spells out that general purpose was the way to go. Obviously the X4150 is an embodiment of that belief.

Wanted: GUI developer for MySQL Enterprise Monitor

One of the great things about working on great products is that you get to meet such intelligent and interesting people. I can apply that to everybody that I work with, but there are some teams where not only are they working on great products, they are also all great people just to spend time with. I have had the good fortune of working with the MySQL Enterprise Monitor team as an advisor, and more recently in writing the documentation, for the last 18 months. We’ve had some great fun at meetings in Amsterdam, Heidelberg, Santa Cruz and recently Riga. In the meeting rooms we are professional, but fun. But in the evenings we’ve gone out and just had plain good fun. Unless you’ve experienced a full day, or even week, of non-stop meetings for 12 hours a day you have no idea how important it is to kick back in the evenings. That, as a team, we are still able to have a good time at the end of each day while still being in the same room together is a good indication of how well we all get on. Why am I telling you this? Because there is an opportunity to come and work for MySQL Enterprise Monitor team as a GUI developer, and if you are going to join us, you need to be as much fun at the dinner table as you are in the meeting room. We are looking for talented people, obviously, and you are going to need to be good both with the design and the programming aspects of the GUi development. We use frameworks like Hibernate and Spring, and build our interfaces using DHTML and AJAX. If you know about MySQL and scale-up/out environments, that would be even better. If it sounds like a good fit for you, and you just happen to want to have a good time to boot, apply here. What they don’t tell you on the official pages is how much you will be expected to also get on with the rest of the team. It’s really important, because when we have those meetings we’ll be looking to the new guy to provide us with entertainment and interesting stories, at least until the next guy comes along.

Automatic example generator

I wonder whether there is a market for creating an automated example generator for different projects. I’m just doing a piece on XML schemas and would love to be able to create a ready to run sample of SOAP and WSDL XML files without having to actually create the example by hand. Just a quick ‘give me this function, these arguments’ and have it generate it. Years I go I thought about this for things like contacts and book projects.

More MySQL UC 08 Videos

Hopefully you can’t get enough of the UC08 videos (and thanks to Sheeri for the link with the full Jonathan keynote video), so Zack has managed to get some most posted. This morning, we learned what it meant to be a pirate in terms of patents, copyright and now politics with the Pirate Party. Don’t let the scary name put you off – these guys are about making all of us consumers (of software, video, audio, books, etc.) more in control of information. Please support these guys by visiting Piratpartiet.se. Next we had the Scalability Panel with representatives from Facebook, Fotolog, Sun, YouTube, Flickr and Wikipedia talking about the problems (and some of the solutions) they have taken to approach the bane of any web company. One option for scalability of course is just not to cover the problem yourself. Skip the issues of server rooms and use Amazon’s various services (EC2, S3, etc). If you need convincing, try Werner Vogels’ talk.Yesterday, in a short but sweet visit to the podium, Rich Green talked about MySQL and Sun and it will all work. If you have concerns about the integration, this is a good place to get the situation from the guy who will make sure it doesn’t go wrong. And of course Rich will answer to Jonathan.Marten talked about the significance of Storage engines and the significance of your data.For a full list, try Zack’s profile page.

MySQL UC 08 Keynote Videos

I’m pleased to say that I was able to see these in the flesh, but if you aren’t lucky enough to be here (or just want to watch them again), Zack has posted up videos on YouTube of the opening keynote presentations:

Sadly these are only snippets, but if you like what you see, make sure to book your place for next year’s conference early!