General blog entries

Restoring Windows 2003 SBS R2 Exchange

Windows 2003 SBS was always a bit weird for me. I’ve been playing with computers all my life and I know Windows Vista and earlier versions like the back of my hand but when it comes to server software on Windows I always have this unnerving feeling.

You should know that most of the time my presence is required when a server is almost dead or acting strangely so my experience shows that an unstable Windows server is usually ‘fixed’ by a complete reinstall – something I have never had to do to my linux servers.

Right now I am installing Windows 2003 SBS R2 for somebody I know. Their previous administrator never felt the need for finishing the setup or actually buying the license so when I came in, all I could do was reinstall the whole system.

I created a backup using NTbackup from the Exchange Store (which was half disabled on their server) and now I am trying to restore it. Guess what: it won’t.

I hate Microsoft for its poor practices and this is one of them: supplying backup tools that work within a very very confined space. In this case a fresh install will kill the option of restoring it without extensive Google-ing.

To be exact: I unmounted the Mailbox Store, marked it for restoration in the properties and fired up NTbackup to restore the backup. After setting a temp path (C:\temp) I hit restore and immediately see the whole thing fail. Of course NTbackup can’t tell me jack so I need to dig in the Application Log and I find this:

Event Type:  Error Event Source:  MSExchangeIS Event Category:  Exchange Backup Restore Event ID:  9635 User:  N/A Computer:  WIN2003 Description:  Failed to find a database to restore to from the Microsoft Active Directory.  Storage Group specified on the backup media is 581cb7ee-5fec-4d93-8f71-dcfe55a73319.  Database specified on backup media is Mailbox Store (SERVER1), error is 0xc7fe1f42. 

After searching high and low I finally get a blog post from someone who solved this. The error is in fact so simple, they should execute the team that thought that this was a funny way to describe it.

The names don’t match. Seriously.

In the Server Console –> Advanced –> Exchange –> Servers –> Win2003 –> First Storage Group you will find a store called ‘Mailbox Store (WIN2003)’ – assuming your server is called win2003 – whereas the backup has a store called ‘Mailbox Store (SERVER1)’. NTbackup can’t fathom the possibility that we actually want to restore to a store on this server without the exact name match so it fails.

Solve this by right-clicking on the store, renaming it to the old name and restarting the restore. It will run now.

On a side note – this was not the end for me. I got event id 1088 after I managed to restore it: Distinguished Name is not the same for the Store and the server. I can’t grasp why them Redmond idiots haven’t made it possible to simply rename the DN of the store to make it work in case of a migration like now.

I tried renaming the legacy DN using the ADSI editor and the LegacyDN tool from the site. I couldn’t get it to work after trying 50 guides so finally I tried to uninstall the server software. This failed (of course) and left me with a system in which I couldn’t resume the setup. So after a new installation and 2 hours of waiting/babysitting I am back where I started, ready to restore my Exchange backup…

General blog entries

New Laptop

It has been quiet a while on this site while I was working and painting my living room. After the necessary stress of the ‘hollidays’ I decided it was time to buy myself a new laptop to replace my old 17″ HP laptop.

I finally settled for a 15 inch Dell XPS in Tuxedo Black. After 2 anxious weeks, the laptop arrived a week before the planned delivery date. Even though I was still pretty sick, I took some pain meds and manned up to get my new toy.

Currently I’m trying out all the software on this baby and some of it has to go. First thing up: ditch Internet Explorer, Windows Mail and Windows Media Player and replace them with Firefox, Thunderbird and Winamp.

After tuning Windows Vista and its software I’ll start installing Gentoo Linux – I can’t wait ^^.

General blog entries

Why I don’t like Ventrilo

Recently I installed Ventrillo because some red necks decided we needed a voice server for EVE Online and the in-game stuff won’t cut it. Ventrillo advertises with ‘advanced’ features like surround positioning and useless crap like that.

At first glance I’d say the GUI is old-skool, bit too plain and awkward to set up for the first time. It annoys the heck out of me where all panels are placed and how it all comes together.

Perhaps profiles are useful for some but not for me: I need a separate name for all servers I use in voice chats so profiles separate from the server settings is as useful as picking up your hamburger at a different counter from your fries…

Next up is the fact that it won’t minimize into the system tray, leaving me with yet another window to lug around.

Finally it has no Linux client. Seriously. It is in the works (or so the site says) but the do have a linux server, leaving me puzzled why linux is not supported in the first place.

The only cool thing that Ventrillo has (and Teamspeak will get in version 3.0 which is currently beta) is the surround stuff… Which I can’t try because I don’t have a surround setup on this computer…

Ow I long for the days where everyone would just stick to Teamspeak, which is still masterfully better suited for voice chat than all the other programs around…

General blog entries

MoveableType Plugin Joomla! enhanced

Joomla can be used in a blog like manner using the XML-RPC interface. Unfortunately, Joomla only provides a Blogger API plugin which is rather limited.

Luckely, some Japanese people created a plugin which improved the supported XMLRPC API’s. It’s called MoveableType XML-RPC Plugin and can be found on the Joomla site.

Technically this is not only a MoveableType implementation as it supports all functions needed for MetaWeblog and Blogger as well as Google Docs (since version 2.1.0).

The only thing driving me nuts is the fact that some blog tools refuse to work because the plugin refuses to return a list of supported functions (most programs just assume everthing is supported, which is wrong as almost everything is optional).

Fortunately this is solved quickly by adding a few lines of PHP to the plugins/xmlrpc/movabletype.php file. Find the following section (around line 790):

function mt_supportedMethods()    {       return (new xmlrpcresp(new xmlrpcval(array(), "array")));    }

Replace this with the following:

function mt_supportedMethods()    {       global $xmlrpcString, $xmlrpcArray;       $functions = array();       foreach(array_keys(plgXMLRPCMovableType::onGetWebServices()) as $function_name)          $functions[] = new xmlrpcval($function_name, $xmlrpcString);       $struct = new xmlrpcval($functions, $xmlrpcArray);       return new xmlrpcresp($struct);    }

And voila, there you have it, a fully working function listing enabling your favorite blog program to do its job properly…

General blog entries

Outlook and winmail.dat

In the legal world in the Netherlands the importance of email and websites is slowly starting to emerge. Of course, the huge, almost American-style law firms are using these techniques for years and years now, but the smaller law firms and the government itself always had a negative standing towards these modern day communication channels.

One of the most common complaints was the fact that the channels were not secure (this was one of the statements around the year 2000 while the rest of the world was starting to live and breath online). Now (2008) they are slowly dumping the fax machines (like those are secure) in favor of email. One of the things that became clear was the fact that they started using plain email. No PGP, no encryption, no secure mail storage – none of the above, which sort of surprised me (still does in fact).

If I have to be honest, both the fax and email are methods of communication that are pretty hard to intercept. You would need some decent skills to get even close to intercepting the communication and even now, the most important documents (originals and private documents) are still sent by postal mail. Thats right, normal old-skool hard copies. Probably one of the safest ways to sent stuff like that around. The only downside: transport can take a while, making rush jobs impossible (you probably would not want that anyway).

But I’m starting to side track here. The point is that they are finally starting to use email. Normal (status) communication is handled this way, think listings and charts, and has replaced the printed out versions that were driven between offices in the past. The downside of it all is the fact that these forms are now send around in Microsoft Word format, making conversions between offices error prone (try to explain that to them: Word = Word in the mind of an average legal secretary) and in fact, those errors have occured before. Think pages gone missing, tables out of alignment making the data useless etc. Mix in Open Office and you have yourself quite the party. I tried to explain that PDF might be a good option as prepared lists don’t need to be altered after they’ve been mailed to another office, but that suggestion has as much chance of becoming reality as me winning the lottery.

But that is the sort of crap we can handle. Everyone knows it is flawed so they expect problems. But now someone at the court of justice found the option in Microsoft Outlook to use RTF for the mailings. Probably to make pretty colors appear in the mailings or something. The result: the message (in RTF format) and the attachments are compiled into a winmail.dat binary and sent along with the plain text message.

Now, Outlook (and maybe Outlook Express) can do something with that, however Mozilla Thunderbird can not (any non-Microsoft mailer for that matter). I tried installing a 3rd party TNEF decoder, which worked but required a lot of extra steps. I finally found this Thunderbird add-on called LookOut, which in fact is an embedded TNEF decoder. After installing, any winmail.dat attachment found in a email will be decoded on the fly – showing the components inside as separate attachments.

Even though this sort of provides a work around, tomorrow I’ll call the department and have them check out who sent those mails. It a P.I.T.A. to fix each quirk those idiots come up with and frankly – they should get their act together, not all the law firms in The Netherlands have someone to fix these kinds of issues…

Linux / Gentoo Linux

Logitech Quickcam Communicate STX and Linux

Todays annoyance is the fact that my webcam was broken for months now because I couldn’t get the correct driver to work. To be exact, the device ID is 046d:08d7 and the correct driver for it is gspcav1, from this site. I tried the UVC driver from Berlios as well, but it only works with newer cameras (and as I upgraded from my perfectly fine Logitech Messenger just because Windows Vista needed it, Logitech can drop dead if they think I’ll buy yet another camera). Anyway, the UVC driver can be found here.

The problem I kept having was the fact that the gspcav1 driver was the only one for my camera but it wouldn’t compile. I would end up with this error dump:

make -C /usr/src/linux M=/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224 CC=x86_64-pc-linux-gnu-gcc modules
make[1]: Entering directory `/usr/src/linux-2.6.25-gentoo-r4'
  CC [M]  /var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.o
In file included from /var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:848:
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/Sunplus/spca506.h: In function 'spca506_SetNormeInput':
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/Sunplus/spca506.h:120: error: 'VIDEO_MODE_NTSC' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/Sunplus/spca506.h:120: error: (Each undeclared identifier is reported only once
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/Sunplus/spca506.h:120: error: for each function it appears in.)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/Sunplus/spca506.h:131: error: 'VIDEO_MODE_PAL' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/Sunplus/spca506.h:137: error: 'VIDEO_MODE_SECAM' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: In function 'spca5xx_get_depth':
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:1093: error: 'VIDEO_PALETTE_RGB565' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:1095: error: 'VIDEO_PALETTE_RGB24' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:1101: error: 'VIDEO_PALETTE_YUV420P' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:1104: error: 'VIDEO_PALETTE_RGB32' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: In function 'v4l_to_spca5xx':
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:1291: error: 'VIDEO_PALETTE_RGB565' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:1293: error: 'VIDEO_PALETTE_RGB24' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:1295: error: 'VIDEO_PALETTE_RGB32' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:1297: error: 'VIDEO_PALETTE_YUV422P' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:1299: error: 'VIDEO_PALETTE_YUV420P' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: In function 'spca50x_init_source':
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:1802: error: 'VIDEO_PALETTE_RGB24' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: In function 'spca5xx_setFrameDecoder':
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:1841: error: 'VIDEO_PALETTE_RGB24' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c: In function 'spca5xx_do_ioctl':
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:2074: error: 'VIDIOCGCAP' undeclared (first use in this function)
/var/tmp/portage/media-video/gspcav1-20071224/work/gspcav1-20071224/gspca_core.c:2078: error: invalid application of 'sizeof' to incomplete type 'struct video_capability'

Note: I’m posting it all so someone might find it using a search engine because nobody else put this up.

The solution to this? So darn simple that I shouldn’t have missed it: enable Video For Linux 1 in the kernel. You see, this driver is designed for V4L1 and without the compatibility layer it will error like this. For the Gentoo users it seems like a problem which is here to stay as the ebuild can not check for this (only if any V4L version is enabled).

I still think it would be nice if the package maintainers put up a warning in the ebuild so I wouldn’t have to figure this out on my own… ahh well.

Tags van Technorati: ,,,
Linux / Gentoo Linux

Why Pulseaudio sucks…

A while back, I got really annoyed from the fact that when I was running Gentoo and I decided to play a game (Wine/Cedega) like EVE Online, I either have the sound from EVE-Online, or from my desktop – but not both.

This is usually due to a crappy sound card (no hardware mixing) and a driver which fails to fix this. I knew ALSA had dmix for software mixing but I read somewhere that pulseaudio was the new hot shot in the mixing scene. I was wrong.

You see, after enabling pulseaudio in Gentoo, rebuilding a number of packages to support it (Xine-lib for example) and following the guides to make ALSA-only applications use pulseaudio as well (in fact by looping the sound back from ALSA to pulse and again to ALSA), it should just work ™.

My first attempts were fine, I used aplay to select the pulse channel, played 6 songs at once and all was well. When it was time to make Phonon (KDE4) use the new pulseaudio sink, nothing happened. I even used the workaround as explained on the pulseaudio page – but nothing helped. I finally made the default audio-sink pulseaudio.

Next up: Wine. The first attempt to start Winamp went fine, except for the fact that I didn’t hear no sound. Looking in the logs, I see wine attempting to open the ALSA/Pulseaudio library from ‘/lib32’. For the more perceptive of you: yes, it want 32-bit libraries on my 64-bit system. Normally this is handled by a emulation package but guess what? The Gentoo emulation packages don’t feature these only slightly vital libraries.

After reading the bug page which explained the problem, I found a site of someone who provided the 32-bit binary drivers for ALSA/Pulseaudio. And indeed, after extraction into ‘/lib32’, sound came to life from the mysterious world inside Wine.

Then I tried to start World of Warcraft. The stuttering sound of a screwed up sound mixer emerged from my speakers and no matter how I started the game, the sound was useless. Finally I gave EVE-Online a try and it had the same, horrible sound output…

So I reverted everything I did, read up on how dmix was supposed to work (which seemed like a lot less work after following the ‘simple’ guide on the pulseaudio site), set up a software mixer and made it default and there we go – audio output for all!

Now I don’t know who decided that pulseaudio was ‘lightweight’ and ‘fast’ but I know for sure that its neither – the default dmix extension for ALSA works a million times better…

General blog entries

Review of Ergo Proxy

Last week I finished watching Ergo Proxy, an series of 23 episodes and I just can’t resist to put up a small review about it.

Click for full version

The story begins in a futuristic domed city called Romdo, built to protect its citizens after a global ecological disaster. In this utopia, humans and androids coexist with each other peacefully under a total management system. For some reason, some androids go on a killing spree. Re-l Mayer (see image) is assigned to investigate some of the murders with her android partner Iggy.

Ergo Proxy has it all: dark, sinister surroundings, animation which is far above standard – I dare say most of the time on par with Ghost in the Shell 2 (which I consider the ultimate anime style, a mix of computer generated and good old hand work). The main character has a gothic like appearance and she is just plain hot. During the series we get a few shots of the female lead in her undies, even a short flash of some under-boob but nothing more than that: kiddy-save and not even close to the ecchi category.

So far, its all the ingredients far a kick ass show… But wait, it gets even better. During the series we get some awesome action scenes and all of the eye candy is accompanied by a truly awesome soundtrack. Actually the production team of Manglobe did pretty much everything right to create a truly fantastic series.

So here comes the ‘but’. The animation, sound, characters – all great, but the story just blows… Its horrible: the first half of the series everything slowly becomes clear and everything is peachy – no even better than peachy as I was sitting on the edge of my seat. But after 14 or so episodes you get this uneasy feeling that something is off.

I still can’t pinpoint it but by the time it goes really off the rails you have been watching for some time while having this suspicion that its all wrong – just plain wrong. I still had high hopes right up until the end – I mean, a show which has such outstanding looks can’t just suck, right?

Unfortunately the ending does not safe this sinking ship. I have to applaud the creator of this masterpiece of an ending: it was certainly nowhere near what I would expect. I’m still pondering if I think it makes sense – so far I concluded the beginning and the end must be the product of different writers while a 3rd attempted to link the 2 together.

To be honest, this show is one of my biggest disappointments: I randomly ended up with Ergo Proxy and after 2 episodes I was hooked and expected a treat like GITS was (which one? Pretty much all GITS series/movies) but was seriously let down. I’m giving the show a 5 out of 10 rating for the simple fact that it was cool to watch (most of it anyway), but for the shear lack of a decent story it doesn’t get a single point more…


  • Animation: 9 / 10
  • Sound: 8 / 10
  • Characters 7 / 10
  • Story: 3 / 10
  • Overall: 5 / 10
Tags van Technorati: ,
Linux / Gentoo Linux

Postfix Queues and Amavis trouble

After I had not received mail for a couple of days I suddenly started to receive postmaster errors from one of the servers I maintained. The message told me the mail could not be delivered. On further inspection it seemed that this was a problem because postfix could not connect to [].

This meant of course that some daemon on the server was out for lunch and it was screwing up the mail deliveries. Using ‘postqueue -p’ to inspect the queues I found out that 4000 messages where packed up in the queue, filling her up to the maximum I allowed.

After running ‘postsuper -r ALL’ (which means, re-queue all messages for instant delivery) I tailed the ‘/var/log/mail.log’ file to find out that 20% of the messages got delivered and the rest wound up back in line.

One error that kept flashing by was: ‘TROUBLE in check_mail: parts_decode_ext FAILED: run_command (open pipe): Can’t fork at…’. It had something to do with the FileIO class. Now the message came from Amavis and in fact, amavisd is nothing more than a Perl framework, hooking all kinds of filters together. This means its memory hungry but won’t totally crash upon hitting the floor.

This explained why a part of the messages made it through: a few threads fitted in memory, allowing for completing the delivery, however most mail got rejected once again and returned faithfully to the waiting queue. Another inspection of the queue confirmed this: after 2 attempts 3200 messages where still there.

Then it dawned on me: I had not enabled the swap memory! After fixing this (and adding 1GB swap to the 256MB of RAM) and reloading Amavis I tried once again to requeue all mail. This time the mail got through the filters in one piece (and well within the memory boundaries). I wish all issues with servers were as simple as this ^-^.


Windows Live Writer and Linux, How To Do It

I’ve seen lots of discussions floating around the internet, talking about people attempting to install Windows Live Writer. Some are using Mono, others the .NET Framework – all of them are using Wine. In this article I’ll explain How I Did It.

In this case the limits of Wine and Mono become visible. The .NET frameworks work partially in Wine so relying on them is useless (to be precise: all the external libraries needed in this case screw up this valiant attempt).

In the other corner we have Mono. Because WLW is in fact a Win32 executable, we have to use Mono in Wine (install the Windows version of Mono using Wine) but even the big anti-Microsoft framework fails here.

To be honest, Mono keeps failing every time for me. This is because Mono can run managed (byte-code only) executables fine, even the ones compiled for .NET (unless I’m mistaken). However, the windows in a GUI program are drawn using a native interface for .NET, one that Mono does not have as it uses a cross-platform windowing toolkit called GTK#. In short: any program that is used in a modern desktop environment and which is designed for .NET will not run on Mono. Thanks for the effort there guys…

So WLW on Linux is a no-go. And every other blogging tool out there for the Linux platform pretty much sucks or costs muchos dineros. I still have hopes for KBlogger but after 3 months its still at alpha 2 – so I stopped hoping that would be any help any time soon. I was using Bleezer before but it keeps screwing up source code which I am trying to post (I am hoping WLW will do this a LOT better). But how do we get out of this dark age, you might wonder? The solution? VirtualBox!