Michael Whalen has graciously allowed me to port his Elixir theme to BlogEngine.NET. This previously WordPress only theme is now available for your BlogEngine.NET enjoyment.


Michael originally released the theme in 5 different colours. I've gone a little bit further and added the ability to dynamically change the colour. So you now have 7 colours to choose from, or you can set it to automatically change colour every day. One for every day of the week! I've also added the ability to dynamically swap between the left and right layout.

To install the theme you simply extract the contents of the zip file into the BlogEngine.NET Themes folder. Then select Elixir as your theme from the settings page.

Click here to preview the theme.

Download: Elixir.zip (625.81 kb)

Let me know in the comments how the theme pans out for you.

If you're a Windows user and you've been messing around in the Linux world like I have, you've probably tried a number of virtualization solutions. The most popular of these being Virtual PC from Microsoft or one of VMWare's products.

But have you ever wished you could have the virtualization features of VMWare Server with the ease and simplicity of Virtual PC? It turns out now you can, and if you're still using either VMWare or Microsoft's offerings, you've been missing out.

There's another little known player in the virtualization market that you need to take notice of: VirtualBox from Sun.

VirtualBox is a dual proprietary and open-source product. This means that they provide an open source version with everything you need, but also provide a commercial version with some extras (so they can make a bit of money from the product). The commercial version also happens to be free for personal use, so there's nothing stopping you from using it either.

The first thing you'll notice when downloading and installing Virtual Box is that (like Virtual PC) it's pretty slim on the download at 60MB. It installs in a jiffy and you'll be up and running in no time. The next think you'll notice may not be important to you, but it is to me: it actually looks like a commercial Windows application and is very intuitive to use (especially if you've used either Virtual PC or VMWare before).

Unlike Virtual PC, VirtualBox is under active development. This translates into the fact that they support almost all popular operating systems out of the box, including official support for Windows 7 (which hasn't even been released yet). Ubuntu also installs without any glitches, unlike on Virtual PC which requires a bunch of hacks. I guess it helps that they're not pushing a particular operating system. VirtualBox supports 32bit and 64bit guest operating systems and comes with virtual machine additions that work seamlessly for Linux, Windows, Solaris and OS/2 guests. There's even 3D acceleration support for Linux guests in the latest release.

Everyone that uses virtualization is going to be concerned with performance, and I'm happy to report that VirtualBox kicks butt in that regard. My own tests have shown much snappier performance than what I've gotten used to, but if you don't want to take my word for it, have a look at Michal Strehovsky's blog. He's done a performance comparison utilizing a number of benchmarks, and VirtualBox comes out on top in every category.

I've kept the best for last though. VirtualBox loads and runs both VMWare .vmdk and Virtual PC .vhd images with no conversion required. Any reason you've had not to try it should have quickly evaporated with that news.

So to summarize, you're pretty much getting VMWare features with the convenience of Virtual PC. Throw in better performance than its competing free products and you have a winner in my book.

VirtualBox has completely won me over and I think it may just do the same for you. Go give it a try.

Synaptic and Nautilus running on VistaIf you're a Windows user and you've been meaning to mess around with Linux (particularly Ubuntu), you're now very much in luck.

Claudio César Sánchez Tejeda has put together a CoLinux package of Ubuntu 8.04 Hardy Heron called Portable Ubuntu.

CoLinux allows you to run a Linux operating system that cooperates with your existing Windows installation. This means that you don't have to dual-boot or fire up a Virtual Machine in order to experiment with Linux anymore. You can run Linux almost the same way you would run any other Windows application. And to sweeten the deal, any Linux app you run in this environment will integrate into your Windows desktop, thus allowing you to overlap Linux apps with Windows apps. It even incorporates seamless copy and paste.

CoLinux clearly beats the pants of virtualization and finally makes it extremely easy to test the waters with Linux as a Windows user.

This is all possible because of the modified CoLinux kernel which cooperatively schedules resources with the Windows NT kernel, rather than having the computer resources delegated by the host computer. The desktop integration is possible because of Xming, a Windows implementation of the Linux X Window server.

Installing Portable Ubuntu

Installation is straightforward. Simply download the Portable Ubuntu archive from SourceForge here, extract it to a folder and run the run_portable_ubuntu.bat file. Portable Ubuntu will even run from a Flash drive on any Windows machine you stick it in.

After a couple of seconds or so you'll get a splash screen while the Ubuntu operating system boots up in the background. Once that is done you'll have the Ubuntu taskbar at the top of your screen from which you can launch and install Ubuntu applications. It only works on 32bit systems though, if you're on a 64bit Vista or XP system you're out of luck. What is also awesome about this is that you don't even need to configure an internet connection, it will piggy back of your Windows machine's connection.

If you're planning on installing software and messing with your Ubuntu system you'll need the root password: 123456

Installing Mono

Mono will install successfully using my existing instructions here, but only if you increase the drive space!

When just installed your Ubuntu drive space will be limited to about 400 MB. This obviously isn't enough to install a lot of software in, so if you plan to install Mono you'll want to extend the drive image size. I've put together a little tutorial on how to do this here.

Once that's sorted and you've gotten Mono installed, have a look at getting BlogEngine.NET installed from the instructions here.

And who knows, when you see it all work painlessly for yourself you might be hosting your next blog on an inexpensive Linux VPS before you know it :)


We've just released the final version of BlogEngine.NET 1.5 to the public. You can read more about the changes and improvements at Mads Kristensen's blog.

With this release we've worked hard to ensure that the application works out of the box on Linux using Mono. There is no compilation to be done and no configuration settings to tweak. It just works.

For those wishing to try this out, I've created a little tutorial called Installing BlogEngine.NET on Mono/Linux. As you will see there is hardly anything to it, it's just that easy.

So go on, give it a try and let us know how it pans out for you!

If you've installed an FTP daemon on your Ubuntu server, you'll have probably set it up so that users are rooted to their own FTP directory on the server. But what if you'd like an FTP user to have access to other directories on the server? A symbolic link sounds like it would work, but I'm afraid it won't. You'll have to mount the folder you're interested in to the user's FTP folder.

Assume that we've got a user called "russell" and you've set up your FTP so that he has his own FTP folder at /var/ftp/russell/. Also assume that you want to give him access to the /var/www/ folder so that he can update the web sites on your server.

We're going to mount a folder into a subdirectory in his FTP directory, so create a suitable directory for that:

$ cd /var/ftp/russell$ mkdir www

Now we mount the /var/www directory into /var/ftp/russell/www/:

$ mount --bind /var/www /var/ftp/russell/www


If you're hosted at TekTonic like I am on a Ubuntu 8.04 VPS, you may have noticed that your /var/log/auth.log file is empty.

According to the support forums, this is due to a VPS template issue regarding Parallels. Login attempts are actually being logged, just not in the right place due to a missing slash in the /etc/syslog.conf file.

To fix the problem, edit the syslog.conf file:

$ nano /etc/syslog.conf

You'll notice a number of places where the log file location is missing a slash between log and the filename. This causes a path like /var/log/auth.log to become /var/logauth.log.

See below:

auth,authpriv.*          -/var/logauth.log*.*;auth,authpriv.none          -/var/log/syslog#cron.*                  -/var/logcron.logdaemon.*                        -/var/log/daemon.logkern.*                          -/var/log/kern.loglpr.*                           -/var/log/lpr.logmail.*                          -/var/log/mail.loguser.*                          -/var/log/user.log

To fix, simply insert a slash (/) after the log part of the path in each entry that starts with /var/log but does not have a slash after /var/log part.

So an entry that looked like -/var/logauth.log becomes -/var/log/auth.log

There should be more stuffed entries lower down into the file, you may as well fix them too.

After saving the changes, restart the logging daemon with the following command:

$ /etc/init.d/sysklogd restart

To test that it has worked, type the following at the shell prompt:

$ tail -f /var/log/auth.log

Then open another SSL session and attempt a login. You should see the login attempt being logged in your already open session.


We've just made a release candidate for BlogEngine.NET 1.5 available over at the CodePlex site. As there are a number of changes and improvements to the code base, we'll be using the release candidate to test all the new changes. Please help us out and test as much as you can with this new release.

Aside from the improvements that Al mentions on his blog, this is the first release in a while that is completely Mono on Linux compatible out of the box.

Installing BlogEngine.NET on Linux is now as easy as installing Mono, copying the BlogEngine.NET files over to your server and configuring apache. To those that have tried that before I realise that it's easier said than done, so I will be putting together a BlogEngine.NET on Mono tutorial in the next couple of days.

If you are using BlogEngine.NET on Mono, please give the new release a test and let me know your results in the comments.

So Miguel just let slip on Slashdot that they're working on some very fancy features for Mono and ASP.NET / MVC.

I agree that Visual Studio is a very nice tool.

Luckily the code that you produce with Visual Studio will run on Mono (no recompilations necessary) including code that uses ASP.NET MVC. And with the new support for ASP.NET precompiled sites in Mono (available in Mono 2.4) you do not even need to copy the source code to your target server.

Click "Publish" in visual studio, enter the location for your shared directory, and you have a fully working ASP.NET MVC app running on Linux, without leaving Windows.

We are working on various integration points for Visual Studio that will give developers even more: debugging from Visual Studio remote applications deployed on Linux systems and producing packages ready-for-distribution on Linux. [Miguel on Slashdot]

I doubt that this was a secret to begin with, but it is the first I've heard of this and it excites me greatly. I mean, come on, debugging a Mono hosted ASP.NET application remotely using Visual Studio? It doesn't get better than this!

If you've been following the news of late you'll know all about the concern that the Conficker worm is causing in security circles these days.

Conficker is believed to be the most widespread computer worm infection since SQL Slammer in 2003. The initial rapid spread of the worm has been attributed to the number of Windows PCs (estimated at 30%) which have yet to apply the Microsoft patch for the MS08-067 vulnerability.

By January 2009, the estimated number of infected computers ranged from almost 9 million to 15 million. [Wikipedia]

Due to the advanced nature of the worm, it is very difficult to detect, and I personally don't trust my Antivirus software to do so reliably. The idea of having my computer hijacked as a zombie in a huge botnet perturbs me, so finding out whether my computer is infected is important to me.

There are a number of symptoms you can look out for:

  • Account lockout policies being reset automatically.
  • Certain Microsoft Windows services such as Automatic Updates, Background Intelligent Transfer Service (BITS), Windows Defender and Error Reporting Services disabled.
  • Domain controllers responding slowly to client requests.
  • Congestion on local area networks.
  • Web sites related to antivirus software or the Windows Update service becoming inaccessible.

That last item there has proven to be quite useful, as Joe Stewart of the Conficker Working Group has created an "eye chart" that can easily show you whether you are infected by relying on the worm's habit of blocking access to antivirus sites.

Conficker Eye Chart

Basically he's set up a web page that displays logos directly from a number of antivirus vendor's web sites. If you can't see some of the images, you're probably infected as the worm blocked access to those sites. There is one caveat though: if you use a proxy server the test is useless, as the worm cannot block access through it.

Head on over to the Conficker Eye Chart and check your computer. After all, isn't it our duty to make sure we're not part of this criminal cabal?

This post is pretty irrelevant considering the amount of excitement this has generated in the blogosphere already, but for those of you who've been hiding under a rock:

I’m excited today to announce that we are also releasing the ASP.NET MVC source code under the Microsoft Public License (MS-PL). The MS-PL is an OSI-approved open source license.  The MS-PL contains no platform restrictions and provides broad rights to modify and redistribute the source code. [Scott Guthrie]

For those of us who like to dabble in the open source world, this is major news. Especially for those of us who've adopted Linux and Mono as our cloud server operating system of choice.

And no, as hard as it is to believe, it's not an April Fool's joke. I think maybe Microsoft has hired just one too many open source software developers :)

Miguel de Icaza is already talking about integrating the code into Mono. This has some obviously major benefits: no more reverse engineering and thus far less compatibility problems. It looks like the dream of running .NET on free operating systems is beginning to solidify nicely!

To find out more about how this happened, go read it from the source:

Rob Conery
Phil Haack
Scott Hanselman

If you're serious about .NET I would suggest subscribing to all of the above blogs if you haven't done so already. 

I am a software developer / architect currently interested in combining .NET technologies with open-source operating systems. 

I am a member of the open-source BlogEngine.NET development team and focus mainly on ensuring Mono compatibility for the project.



At StayUnlimited Cape Town accommodation we help you choose from and book guest houses, self catering apartments, bed & breakfasts, luxury villas and hotel accommodation.