Archive for the ‘Software’ Category

Script Day: automatically locate the next valid transaction in MySQL binlog

Sometimes the MySQL replication breaks due to some corruption in the binary log files1. When your binary log files are corrupted, the only option (other then trying to rebuild a database of hundreds of gigabytes) is to try to skip over the corrupted region and get the slave to pick up from where the transactions are valid.

Locating the correct position in the binary log from which the server can carry on is difficult but can be made easier by the mysqlbinlog utility that can scan the binary log files and show you which position is valid using the --start-position to try random positions in the binary log file and see which position will let you read from the file2.

(more…)

  1. I have yet to find a good explanation to why it happens and how to prevent that []
  2. because in the binary log transactions can have any size, so they can end and start at any point []

Mandatory Access Control And Malware

After listening to the virtus/malware discussion on LUG Radio’s new (but apparently one-off) show (check it out at lugradio.org, these guys are hilarious), got me thinking about how much Linux users are exposed to malware.

Lets forget, for the sake of the discussion, the technical attacks1 as these are relatively easy to handle and Linux operating systems are already pretty well protected against such. The main vector of attack for malware these days is Social Engineering anyway – this is how Mac OS-X users get attacked by malware: you browse a web site, and an image that looks like a a blinking dialog box notifies you that your computer has been infected by a virus and prompts you to download this “fix”.

Most of us, technically inclined users, sneer at this type of “threat”, but most people aren’t technically inclined and there are enough people out there that will be fooled by this practice time and time again. Click the image and a binary gets downloaded to your computer and if it is in the correct format it will get executed.

(more…)

  1. Such as buffer overflows and such []

For all the people who have waited patiently, CentOS 6 is here

After a long long time in the making, rumors of abandonment and general discomfort in the community, the CentOS people have finally pulled through and bring you the brand new (though by now several months old) CentOS 6.0.

A lot of system administrators have been waiting for this (me included) so I thought I’d give a heads up 🙂

How much space to put in your root partition?

When installing a Linux computer, this is a question I’ve been asked/asked myself many times, and it shall keep on being asked because things are not static and newer operating systems need more and more room as the basic software collection that you expect to get out of the box gets larger.

And the answer? Well – it depends 🙂 Specifically here I’m going to tackle the issue of desktop installs (i.e. the workstation for a single user), and specifically for Fedora – though it shouldn’t be much different for other operating systems in the same class – such as Ubuntu or SuSE.

(more…)

MySQL 5.5 on Ubuntu 10.10

As we all know, MySQL 5.5 is the best thing since sliced bread (or, not exactly, but that’s what everyone will have you think), but unfortunately Ubuntu‘s latest and greatest server operating system – Ubuntu 10.10 Server comes with MySQL 5.1.

Even the next version of Ubuntu – 11.04 Natty Narwhal – doesn’t seem to deliver MySQL 5.5, so upgrading is not really an option as of yet. There is a bug report to deliver MySQL 5.5 for Natty, which is even marked as “in progress” but there’s no guarantee that it will happen.

So how to go about (ab)using the latest software from Oracle? One way is to build it yourself on your server, or convert the Oracle provided RPM packages using the alien tool – but its not really Ubuntu native and a mess (in both cases). Here is another approach:

(more…)

How to set up a Warcraft 2 LAN party

Another article in the “I need to write this for myself and what better place then on my blog” series:

If you are familiar with the old (but great) Warcraft 2 game, then you know its a great multiplayer game but unfortunately you need a “Battle.net server” to play and even if the Blizzard servers were up (and for this old game, they’re not though there are a few 3rd party free servers) – you probably don’t want to have all the party goers connect up to an external server.

So how to run a Warcraft 2 LAN party?

(more…)

Running VirtualBox on Ubuntu 11.04 Natty alpha

I’m using the current Ubuntu alpha – 11.04 as my desktop OS on my laptop, and on the same laptop I sometimes need to run VirtualBox to access an MS-Windows environment.

In the current Natty alpha this doesn’t work well. I have VirtualBox 4.0 installed from Oracle’s repository, but it doesn’t manage to compile the kernel module it needs – probably because of the “RC” nature of the current Natty’s kernel (2.6.38-rc4) as of this writing.

I’ve seen many posts on the internet about running Ubuntu 11.04 as a guest in VirtualBox, but couldn’t find anyone talking about my problem, which is the opposite – running VirtualBox on Ubuntu 11.04. So here’s how to get this thing working:

  1. Install VirtualBox 4.0 (from Oracle’s repository)
  2. Install the kernel headers package for Ubuntu: sudo apt-get install linux-headers
  3. Edit the headers’ Makefile to declare the same version as the uname command: run uname -r and note the suffix after the version number, for example mine says “2.6.38-3-generic“, so I am interested in “-3-generic“. Edit the Makefile using sudo gedit /usr/src/linux-headers-<version>-3-generic/Makefile , and the fourth line should say something like “EXTRAVERSION = -rc4“. Change the value (in this case “-rc4“) to what you found out from uname.
  4. add autoconf.h to the linux include directory, because it is missing for some reason:
    cd /usr/src/linux-headers-<version>-3-generic/include/linux
    sudo ln -s ../generated/autoconf.h

Now you can run sudo /etc/init.d/vboxdrv setup and it should complete successfuly and allow you to start VirtualBox.

Enhanced by Zemanta

The reason why I don’t use Firefox anymore

Is because my laptop only has 2GB of memory.

OK – it sounds worse then it is, but with normal use Firefox is simply way too heavy for my – not too shabby – Thinkpad T61 Core2 Duo T7250 @ 2GHz with 2GB RAM. Its not a stellar machine by today’s standard by its less then 3 years old and I don’t see why it shouldn’t be able to run a modern browser.

But with both Evolution (that requires a couple hundreds MB of memory) and Eclipse (at ~ 600 MB memory) I can’t also run Firefox which with just a few tabs open takes up close to 1GB of physical memory (and tons of virtual). My system just comes to a standstill, and lets not talk about running – oh, I don’t know – a terminal!

So I’m using Chromium and while its developer tools are not as good as Firebug, at least it doesn’t hog up all my RAM and with a few dozen tabs open my system is still pretty responsive.

It may be the process separation in Chromium that is better, allowing the operating system to swap out completely tabs that are not used. I’ve heard some talk about having the same thing for Firefox (project electrolysis – though at this point it seems to be focused on the Fennec mobile browser) and I do hope they get on with it because Firefox’s memory consumption has grown in leaps and bounds in the last couple of years and unfortunately my computer’s memory has not grown with it :-(.

Enhanced by Zemanta

What kind of personality question you’d be?

While filling in a silly personality questionnaire (you know the annoying type: If you’d have been X, what type of X would you be?), I figure out the most computer geeky personality question ever!

It was obviously way too geeky for the task at hand, so here it is now for you to answer – or better yet: invent your a worst geeky personality question:

If you’d have been a design pattern (or an anti-pattern), which design pattern you’d be and why?

I, for laughs, I’d say I would have been a Duff’s device – complicated and impossible to debug 😉

Enhanced by Zemanta

More Internet Explorer Funny Behaviors

Sometimes, when you try to develop things that work in Internet Explorer, you get to a point where you can just scratch your head and wonder “what the he*$ where they thinking of?!?”. This is one of those cases:

This is in Internet Explorer 8 when set to IE7 mode, but this is very faithful to the original as I’ve tested it on a real IE7 and it behaves the same. What happens here is that when you scroll the page down, all absolutely positioned elements (the two “combo boxes” which are a custom UI widget and the text “Dimensions:… at the top right corner”) get pulled down a few pixels. When you scroll up, they get put back in the correct place.

(more…)