My Mom Runs Ubuntu – Update for Ada Lovelace Day

Just a couple of days ago I wrote update the upcoming “Ada Lovelace Day” – celebrating women in technology on the 24nd of March, which happens to be today. The day pledges for blog posts about this topic and here we go with an Ubuntu flavored version.

At Ubucon 2008 in Göttingen, a German Ubuntu User Conference, I noticed that a lot people hanging around discussed how nicely their parents and especially moms are using Ubuntu. No hazzle, no further explanations needed – it just worked. And often they don’t even know or notice that they are using Ubuntu, as they just standard software like Firefox and Thunderbird. As this user group doesn’t belong to the tweeting, facebooking, social web society, I decided to found a launchpad group named “My Mum Runs Ubuntu“, that has no further meaning than joining it means your mother runs Ubuntu – a simple way of giving this “silent” user group at least a number and a marker on a map.

I was surprised how fast the member list grew and happy to see that it’s members came and come from all over the world as you can see below:

"My Mom Runs Ubuntu" global map (map by Google)

"My Mom Runs Ubuntu" global map (map by Google)

So this is not about a single heroine in technology – it is about a general movement:  I am convinced, especially Ubuntu with it’s focus on an intuitive interface seems to keep the entry level very low and therefore attracts user groups that might be a suprprise for a lot of people. I know dozens of techie people stating that free operating systems are way too complicated to use for them. When telling about “My Mom Runs Ubuntu” they run out of reasons. At least there is nothing more convincing on using free software than people that are just using it on a daily basis without the need of telling everybody as they just take it as normal. I am sure, this user group continues to grow and am

So, if you already have a Launchpad account and your mum runs Ubuntu, too, give her a voice by just joining the group.

And if you think, this post misses real techie heroines, check the “Ubuntu Women” project, featuring some of the most active members of the Ubuntu community.

Ada Lovelace Day Logo

Ada Lovelace Day Logo

Ada Lovelace Day on 24nd of March

Ada Lovelace

Ada Lovelace

On the 24nd of March – next Wednesday – the “Ada Lovelace Day” is taking place. If you don’t know Ada Lovelace so far – you should: She lived in the early 19th century, and is known today especially for her work on Charles Babbage’s early mechanical general-purpose computer, the analytical engine. Ada is regarded not only as the first female programmer, she is actually regarded as the world’s first computer programmer.

The “Ada Lovelace Day” celebrates the achievements of women in technology and science and pledges for blog posts about this topic. As the Ubuntu community tries to emphasize the involvement of women in the contribution to the project (e.g. see Ubuntu Women), there might interesting stories about an Ubuntu specific focus on this day’s topic.

I am looking forward the 24nd, there are over 1000 blog post pledges so far. In case you use twitter, have a look at the hash marks #AdaLovelace and #ald10.

GNU Emacs workshop at c-base / Berlin

Emacs? Emacs! I proudly announce the first Emacs workshop held by the incredible Anselm Helbig (also known as “mnemonikk”), starting next Monday, the 22nd of March at c-base/Berlin/Germany. If you ever wanted to start using Emacs as an advanced editor and development environment, this is the right kick off workshop for you. Anselm is ready to answer all your questions regarding installation, configuration, usage and programming of the GNU Emacs editor. The focus of the workshop is a hands on experience rather than a lecture.

A detailed German description of the workshop can be found in Anselm’s blog. The workshop is free of charge.

When backups fail: A mysql binlog race condition

Today I ran into my first MySQL binlog race condition: The initial problem was quite simple: A typical MySQL master->slave setup with heavy load on the master and nearly no load on the slave, which only serves as a hot fallback and job machine, showed differences on the same table on both machines. The differences showed up from time to time: entries that have been deleted from the master were still on the slave.

After several investigations I started examining the MySQL binlog from the master – a file containing all queries that will be transferred to the slave (and executed there if they don’t match any ignore-db-pattern). I grepped for ids of rows that have not been deleted on the slave as I’s interested if the DELETE statement was in the binlog. In order to read a binlog file just use “mysqlbinlog” and parse the output with grep, less or similar. To my surprise I found the following entries:

$ mysqlbinlog mysql-complete-bin.000335 | grep 1006974
DELETE FROM `tickets` WHERE `id` = 1006974
SET INSERT_ID=1006974/*!*/;

As “SET INSERT_ID” is a result of an INSERT statement it was clear, that MySQL wrote the INSERT => DELETE statements in the wrong order. As INSERT/DELETE sometimes occur quite fast after each other and several MySQL  threads are open in the same MySQL server, you might run into a rare INSERT/DELETE race condition as the master successfully executes them, while the slave receives them in the wrong order.

As a comparision this is a normal order of INSERT and DELETE (please note that the actual INSERT is not displayed here):

$ mysqlbinlog mysql-complete-bin.000336 | grep 1007729<br />SET INSERT_ID=1007729/*!*/;<br />DELETE FROM `tickets` WHERE `id` = 1007729<br />

Actually this all so far. Lesson learned for me: A mysql binlog might get you into serious trouble when firing a MySQL server with INSERT and DELETE on the same rows as the linear binlog file can fail the correct statement order, which might be a result of different MySQL threads and an unclean log behavior. I have not yet found a generic solution for the problem but I am looking forward to it.