Skip to main content


Showing posts from 2008

getting rid of numeric codes in mc2xml output

mc2xml is a TV schedule grabber that can be used for MythTV. The output of mc2xml (why isn't this program opensource, by the way ?) is in the xmltv format, but the channel names are rather cryptic. I don't want to see "", but rather "ned 3". Getting rid of these codes is easy with a small shell script . mc2xml -c be -g 3000 cat ~/channelconvert.txt | while read line do sed -e "s/$line/g" -i xmltv.xml done Where channelconvert.txt contains lines such as Then input it in your database with mythfilldatabase. Happy pvr-ing !

goosync works

Last week, I decided to buy a goosync subscription. I thought about this for a long time, and now a Christmas special convinced me. And honestly, I shouldn't have postponed it. Setup on my E71 was so easy I was amazed it worked as quickly as it did. Talking about my availability with my clients without firing up my laptop and connecting it to the network to open my Google Calendar, that's what I bought a smartphone for. There are a couple of improvements that could be made, like not requiring labels for every single calendar that needs to be synced (why add a label to a week-numbering calendar, or a public holiday calendar ?). Allround verdict: great service !

The myth of the sudoku's

Sudoku's have been quite a hype in recent years, attracting puzzle lovers all over the world. I have solved quite a number of them myself, or at least, that's what I thought until earlier this year. Seeing the daily "difficult"/"superieur"-level sudoku in a Swiss free newspaper, a coin dropped. They've been publishing the same sudoku for over a year now. Yes, that's right, the same sudoku, every day. Or more precisely, an equivalent sudoku. By using four simple transformations, yesterday's sudoku can be transformed into today's, and so can the solution ! rearranging rows withing the same 3-row block (idem with columns) rearranging the order of the 3-row blocks (idem with 3-column blocks) permutating 123456789 into a different order transposing the grid (making rows into columns and vice versa) How long can they keep this up, you wonder ? There's a total of about 1.2x10E12 combinations to every sudoku puzzle. It will take them 4.6 billion

identifying the ESX version in a VM: peeking through the blinds

An interesting issue popped up: how can a program or script in a VM determine the type and version of the hypervisor it is running on ? This is important if you want to install version-specific software, like the VMware Tools ("enlightened hardware drivers", as MS would say). Knowing that you're running in a virtual machine is pretty easy: you can look at the hardware, on VMware you'll see "00:0f.0 VGA compatible controller: VMware Inc Abstract SVGA II Adapter" which makes it pretty clear, and lspci -v says "Subsystem: VMware Inc" for every PCI device. Easy as 1 2 3. But which version of VMware ESX is it ? Not that easy, it seems. But we (hi Dag !) found a unique signature for each ESX version: looking at dmidecode, the output in the "BIOS Information" section lists a Release Date and an Address field. These seem to be unique for each ESX version. The mapping we could build was: ESX 2.5 - BIOS Release Date: 04/21/2004 - Address 0xE8480

sports tracker on the nokia e71

Lots of people seem to experience freezes of Nokia Sports Tracker on their E71 smartphone. Google easily finds articles suggesting a workaround: "don't leave Nokia Sports Tracker in the foreground". However, that doesn't help. What does help, is setting the access point to "None" in the Nokia Sports Tracker settings. The program doesn't like an inaccessible access point in its preferences.

a plea for non-identical mirrors

When I set up my test environment earlier this year, I put two Samsung HD103UJ 1TB drives in the main file server, and configured them as a RAID-1 software mirror through mdadm. Just months later, smartd was spewing out messages about both drives: Device: /dev/sda, 8 Currently unreadable (pending) sectors . That got me very worried... I replaced one of the drives with a WDC WD1000FYPS-01ZKB0, and rebuilt the mirror. Actually, I built new mdadm mirrors from smaller partitions to lessen the risk of a two-drive badblock scenario. Regardless, my data got moved, so now everything gets stored on two different drives. Different makes, manufacturers, models. Same size though. The problem is, I can't RMA the drive. It's still in warranty, but when running badblocks -w on the drive, it shows no problems whatsoever. Moreover, the SMART status has gone back to: Current_Pending_Sector 0. So not only is the problem undetectable by badblocks, it even makes it go away in the SMART counters

don't forget mkinitrd

Most Linux system-administrators are well aware of the benefits of LVM. With online resizing of filesystems and migration of data from one disk to another, it's fantastic. But don't assume that your system will do everything for you. If your system has one disk, that you used as a physical volume (PV) in a volume group (VG), where your root partition is stored as a logical volume (LV), you can easily add a new disk. Add the disk physically, boot up, use pvcreate and vgextend to include the new disk in the existing volume group. Just don't reboot, at least, not yet ! Your system requires a manual rebuild of its initial ram disk /sbin/mkinitrd -f /boot/initrd-2.6.18-92.1.10.el5.img 2.6.18-92.1.10.el5 If you forget to do this, your system will not boot, because it won't find all the components necessary to activate the VG it needs to access the root filesystem. Symptoms: kernel loads, initrd loads, root filesystem can't be mounted because the volume group doesn'

how many physical hosts do you buy: what MS sales didn't tell you

One of the first steps in a virtualization project is building a list of workloads that will get virtualized, with a measurement or estimate of the resources that they will need. X MHz and Y MB, sum everything up, and let's say you get 30 GHz of CPU power and 20 GB of RAM. The hardware you'd like to run all those virtual machines on can handle two CPUs (dual-socket), four cores each (quad-core). That means that every physical server will give you between 20 and 25 GHz of CPU power. For memory, you'll buy 12 GB of RAM in each server. So the plan is to buy two of those servers, right ? Well, as long as your infrastructure is 100% healthy and running OK, two servers will do the job just fine. You've got enough resources, with a bit of headroom for overhead and future growth. But what happens when one of the physical servers is down ? Think of hardware problems, think of virtualization software upgrades, think of patching the hypervisor. Then the available resources are

are you still using RHEL 2.1 ?

Are you still using Red Hat Enterprise Linux 2.1, or CentOS 2.1 ? Then this news is of great importance to you: planned End-Of-Life for these products is approaching ! After May 2009, there will be no more security updates for RHEL 2.1, nor support from Red Hat. It's not really news , as the lifecycle of RHEL products has always been clearly announced and published . If you missed all that, this is the time to start planning an upgrade. Your Red Hat subscription gives you the right to use the newer versions of RHEL, so upgrading is all you need to do. Need help planning an upgrade to RHEL 3, 4 or 5 ? I can recommend some experienced consultants ! ;-)

choosing hardware for an ESX testlab

When you're shopping for ESX servers to build your next production cluster, you know where to look. The hardware compatibility lists at are frequently updated, and contain everything you need to know. But what about test labs ? When you don't care too much about "is it supported" but rather ask yourself "does it work" and "can I buy something cheaper" ? I asked myself the same questions when I built my own testlab. And this was my choice: 2 identical PCs, equipped with MSI MS7345 motherboard Q6600 intel CPU 8 GB of RAM (four times 2 GB) PCI Promise SATA 300 TX2plus 80 GB sata harddrive (smallest I could get) a dual port Intel gigabit card Add a third PC, similar but with more diskspace, running CentOS 5 with IET as an iSCSI server, and you get a 19 GHz, 16 GB VI3 cluster with several hundred GB storage space. Perfect for testing, and without losing an arm and a leg paying for them.

how do I enable EVC when VC is running in a VM ?

So you're running the new ESX 3.5 update 2. And you want to try the new EVC feature on your cluster. And you've found it under "edit settings" on your cluster object... And then VirtualCenter refuses to enable it for you, because there is still at least one VM powered on in the cluster. Of course there is, because your VirtualCenter runs in a VM, in that same cluster. Catch-22 ? Well, getting round this is a bit weird, but nevertheless possible. Here's what I did on my two-node test cluster: Step one: you evacuate one ESX host in your cluster. You put it in maintenance mode, and move it out of the cluster, right under your datacenter object. Two: manually migrate (VMotion via drag-and-drop for example) your VirtualCenter VM (running on a host in the cluster) to the host that is now outside the cluster. Do this with all other VMs that were still running in the cluster. Three: enable EVC on your cluster. This now works, because the cluster doesn't contain any r