Why am I still typing?’s Weblog

Warning, may or may not contain nuts….

Archive for the 'F/OSS' Category

One of my great loves - Free / Open Source Software

Ubuntu on the A1650

Posted by whyamistilltyping on June 23, 2008

Despite some rather exciting progress made of late getting Linux to work on the Fujitsu Siemens Amilo A1650, regretably after three weeks of using it, I am back to Vista. The reason for this is my conclusion that running Linux (more specifically, Ubuntu) on the A1650 is a painful process due to the maturity of hardware support. Its (finally) possible to get all the hardware working, unfortunately doing so feels cumbersome and unnatural. The biggest culprits are the graphics card (an ATi x200m) and the wireless (Broadcom 4318 mini PCI) card.

The ATi graphics card has long been criticised as being ‘defective by design’. Getting any hardware accelerated graphics on this laptop formerly required running XGl with a long series of complicated hacks and even then it was not possible to run desktop compositing effects like Beryl or Compiz. Eight (or so) Months ago, that changed with a redesign of the X Server (in X.org 7.0) when XGL back rendering was no longer required for hardware accelerated rendering. More than that, it greatly simplified the process meaning even the most inexperienced Linux user could have beautiful desktop effects, in some cases, out of the box. However, due to an annoying glitch somewhere, the ATi restricted drivers caused diagonal tearing whenever a window rapidly refreshed itself.

It says something about the maturity of hardware support under Linux when Vista, commonly (and unjustly) thought of a resource hog, runs better. Anyway, this is all academic now as I have retired my Amilo A1650. Its been a great laptop but after three years it was time to move on. I will play with Linux on my new laptop soon and post the results.

Posted in F/OSS, Hardware, Linux, Windows | Tagged: , , , , , , , | 1 Comment »

Move over EEE PC, Say Hello to the EBOX

Posted by whyamistilltyping on May 31, 2008

Well, thanks to a leak covered by both electronista and the Inquirer, we know a little more about the ASUS PC that I blogged about back in March. I will be called the EBOX and still bares a remarkable similarity to a Nintendo Wii. Apart from this not much has changed, we have no new release images nor any concrete facts about the CPU. It is likely to be an Intel Atom based on murmurings surrounding the series 900 second revision (or possibly third generation EEE PCs) which would make sense. Apart from this, the unit is rumoured to contain a healthy 2Gb of RAM and a traditional spindle hard disk drive with purportedly 160Gb storage. All of this will run ASUS’s custom flavour of Xandros. Given that this is the same tailored OS that ASUS have used in the EEE PC laptop range, it is likely we will see a similar GUI / interface for the EBOX.

I am a little puzzled as to why ASUS would move away from solid state disks for the EBOX. Whilst power considerations no longer have as much importance on a desktop platform, the EBOX is unlikely to attract the ‘one pc’ crowd as it will not replace the traditional computer in the home. I think it could potentially fit very well as a satellite computer in a kitchen or other room in the house were basic surfing / computer usage is required, but this only reinforces the question, why did ASUS go for a traditional hard drive? Satellite systems are typically that, lightweight machines which almost act like thin clients for other machines or storage or services on the home (or office) network. As such and given the EBOX PC is not designed to be portable, space is not as important a commodity as it is on the EEE PC laptop.

Well enough supposition for now, official release / preview is apparently scheduled for the 3rd of June, I daresay all questions will be answered then.

Posted in F/OSS, News, PC | Tagged: , , , , , , | No Comments »

Attack of the (EEE) Clones and the future of the EEE PC!

Posted by whyamistilltyping on May 29, 2008

Well, it has been a fair few months since the first ultra cheap ultraportable sublaptop was released by ASUS, namely the EEE PC - few thought this single, largely under-hyped launch would change the face of mobile computing in the way it has. Personally I am delighted, I am a fan of both gadgets and small portable devices like this. I tried out an EEE PC at PC world a few weeks ago and was impressed at the build quality and size. More surprisingly, I was impressed with the screen which was the main source of my disdain being only 7″ and having a non standard resolution of 800×480. One thing I could not try out was surfing the internet- which a device like this is primarily designed to do.

Before the hate mail comes in let me explain, whilst the unit is very capable for a variety of uses, many of those will be in the ‘cloud’ and as a result, reliable and efficient internet browsing is essential. Since most webpages are designed for 1024×768, the 1st generation EEE PC and even the second (900 series) to an extent, will always be lacking in my opinion. Which is a shame. I really want to buy an EEE PC, but I know such a purchase would be based on a long festering impulse rather than any real need or desire. I carry around my 15.4″ laptop whenever I need to do any computing away from my home and it serves me rather well. Of much greater interest to me is where ASUS goes from here. Whilst other companies struggle to release their own clone (more about this later) of the EEE PC, the engineers at ASUS are clearly scratching their heads wondering where they can take this platform from here. In my opinion, there are two directions ASUS can go.

Direction one : More more more more! In a way, ASUS have already indicated this is their intention with the 2nd generation EEE PC laptop, the 900 series. It has a bigger screen as well as a number of other refinements which are great to see, however they still do not bring the machine upto par with an ultra-cheap full-sized notebook. Given the two units sell at comparable prices here in the UK, there really is no incentive to buy the 2nd Generation EEE PC. This coupled with some of the better specced models only being available with Microsoft Windows XP is also short sighted. If ASUS continue in this direction, then we will see a similar development to Psion’s 5(mx) -> 7 / Netbook with a larger, similarly underpowered system being produced. Off the top of my head, I would predict either a 9″ or 10″ screen, 20Gb flash HDD and no doubt other tweaks. There is no doubt, if the screen is of better quality (i.e. resolution and dpi) and the laptop is not substantially more expensive, it could make for a great addition to the EEE PC range; however, I am more interested in Direction two.

Direction two: No this is not some shadowy Orwellian organisation in the basement of a Cinema called “Freedom”* but rather, what my plan would be for the continuation of the EEE PC range. The expression “Stick to what you are good at” comes to mind, ASUS have found a niché which, in business parlance equals profit. More than that, by getting into bed with the open-source crowd, they have a lot of “value-add” through third party modders and hackers - one just needs to look at the number of Operating Systems that now have been run on the EEE PC to see this. In six months time, there should be a new EEE PC, lets call this fictional product the 71x series (so 711, 712, 713 and 714 to match current 1st gen model numbers) and put a higher resolution screen maybe in a 7″ or 8.4″ form factor into it. RAM options seem perfectly adequate at the moment, but allow the addition of traditional platter HDDs as well as the 1st Generation flash drives as options. The idea that, as higher capacities of flash discs drop slightly, they are immediately incorporated into the next generation of EEE PC device is frankly ridiculous, the cornerstone of the EEE PC philosophy was value - something ASUS seem to have forgotten with their 900 series laptops. Using the same flash hard drive capacities as the first generation (e.g. 2, 4 and 8Gb) or offering traditional platter harddrives (in 10, 20 or 30Gb sizes) would lower the price of the product whilst preserving the original fanbase as well as enticing new customers.

The only downside to direction two is the number of companies eager to get a slice of the pie. Recently,  DELL, HP and ACER added their names to the list of companies developing laptops for this formerly niché market. Whilst companies like Acer (in my experience) have never been particularly concerned over quality, others like DELL, HP, VIA are. Its not just these companies who are after a slice of the market, Elonex, MSI, OLPC and others have either expressed an interest in or have released comparable products. The question remains - stand still and possibly get left behind or innovate and put the price up. There is no easy answer, but I believe the EEE PC brand has a lot of clout for being both first and for being good quality. These two factors will keep ASUS onto of this niché market, provided they keep on track and continue to impress us.

On a side note, Cnet have a great side by side comparison that’s worth glancing at.

*Believe it or not, there actually was a secret Soviet KGB/GRU interrogation facility in a Cinema called Wolność (Freedom) in Krakow during the Communist era - its the kind of thing you just can’t make up. Apparently they always had a habit of playing their films a bit loudly there…

Posted in F/OSS, Linux, Windows | Tagged: , , , , , , , , , , , , , , , | 1 Comment »

Ubuntu 8.04: Hardy Heron on the Amilo 1650

Posted by whyamistilltyping on April 25, 2008

After using Hardy Heron for about twelve hours now (at least eight of those tweaking and fiddling) I must say I am impressed although, it sometimes feels a bit more clunky than previous releases. This release builds greatly on the previous release 7.10 and feels more feature complete and compatible as well. This is largely due to native inclusion of the b43 driver over the depreciated bcm43xx driver for the wireless as well as an improved restricted driver manager.

Here is an overview of how things work with my Fujitsu Siemens A1650 Amilo laptop:

CPU: Works perfectly (including frequency scaling and power management)

WiFi (Broadcom 4318 ) : Works *! (After the install of Acer_acpi tools and a bit of tweaking)

Graphics (Ati x200m) : Works perfectly! (With Ati Non-Free driver)

Flash (in Firefox) : Works perfectly (I had lots of problems with this in 7.10 Gutsy Gibbon.)

Memory Card Reader : Not tested.

PCMCIA : Works perfectly (tested with IDE > CF converter and tried a CF memory card)

Hot Keys : Can be made to work, but I have not got around to this yet.

* Although it picks up and connects to wireless networks, I need to do a bit of testing before I am 100% sure all the problems have been sorted. Bloody Broadcom….

I had do install a few extra packages to get it all working however and I am going to detail this now.

To get the wireless working we need to install the firmware (not shipped with Ubuntu) via the new firmware cutter b43-fwcutter. In a terminal window, type:

sudo su

sudo apt-get update

sudo apt-get install bc43-fwcutter

Once that is done, follow these instructions to obtain and load the correct firmware module.

Now we need to install the Acer_acpi packages. Do not follow the instructions on the project website relating to acer_acpi as you will end up trying to install the depreciated version of b43 (bcm43xx.)

We need to add the following line to the package manager to enable the repository containing the acer_acpi code:

deb http://www.mumblyworld.info/ubuntu gutsy main

Once that is done, open a console window.

Sudo Su

wget http://www.mumblyworld.info/ubuntu/depot.key -O- | sudo apt-key add -

apt-get update

apt-get install aceracpi-source

m-a prepare

m-a a-i aceracpi-source

This first downloads the repository public signing key and then gets the acer_acpi source package. In the process you will likely be asked to install other dependancies, agree to this as these will be required during the compiling process. Once the above commands have completed, you will need to activate the module:

modprobe acer_acpi

The wireless light on the A1650 will now light up showing the wireless module has been activated. For future reference, it can be activated and deactivated with the following commands:

Sudo su

echo 1 > /proc/acpi/acer/wireless  (to activate)

echo 0 > /proc/acpi/acer/wireless (to deactivate)

Restart and your wireless should be operational :) For reference, I followed parts of the guide found here. I would not recommend you do the same, as you will end up trying to install the depreciate version of the b43 driver, bcm43xx.

Another thing which I installed was the Compiz manager as well as emerald. Compiz has a lot of options, but window decoration is still one I prefer to use Emerald for. These are installed in much the same way as they were in 7.10 with a few key exceptions.

sudo apt-get install compizconfig-settings-manager compiz-fusion-plugins-main compiz-fusion-plugins-extra compiz-gnome compiz-plugins libcompizconfig-backend-gconf libcompizconfig0

Then install emerald:

sudo apt-get install emerald

Once these packages (and their dependancies) have installed, you will find two new options under System > Preferences gnome menu. One will give you complete control over the effects Compiz uses and the other will let you load/tweak and create Emerald themes. However, as per default metacity is the window decorator. In the Compiz “Advanced Desktop Effects Settings” find the window decoration option and replace the command field with “Emerald –replace”

Save and restart if required.

Posted in F/OSS, How To, Linux, News | Tagged: , , , , , | 11 Comments »

Ubuntu 8.04 MD5 Checksums

Posted by whyamistilltyping on April 24, 2008

Ubuntu 8.04 has been released! I, like many are now in the process of burning the ISO images to CD ready to install / upgrade, however there is something that should be done before you even burn that iso image. Because of the nature of the Internet, trunctated connections are common place particularly during server stress (e.g. during a distribution release) and as such, you need to check the CD images you have downloaded are in fact 100% complete and accurate - this could save you a massive headache later on.

There are a huge variety of such utilities for Windows, Linux and Mac. Once you have the utility and the CD image, it’s MD5 checksum needs to be calculated. Once this is done, the calculated MD5 hash needs to be compared to the ‘official’ MD5 hash for the specific file you have tried to download. The MD5s are not easy to find as Canonical do not post them with the download links (which is what most people do.) Instead, you will have to goto the ftp mirror directory and find the MD5SUMS files.

To save you looking, here are the MD5 sums of the Hardy Heron Ubuntu images:

For Ubuntu:

7d0ac92c56361949d099dd9337c975e7 *ubuntu-8.04-alternate-amd64.iso
166991d61e7c79a452b604f0d25d07f9 *ubuntu-8.04-alternate-i386.iso
fc43f665ba51c4be0d95c011aefef45d *ubuntu-8.04-desktop-amd64.iso
8895167a794c5d8dedcc312fc62f1f1f *ubuntu-8.04-desktop-i386.iso
8a73cf85b04f37d5d91fb436525ea395 *ubuntu-8.04-server-amd64.iso
c3162b21757746c64a0a22cdd060b164 *ubuntu-8.04-server-i386.iso
cdd32124f23b455b0aa22cc3ff35ff35 *wubi.exe
a96aa69961f3ed80dd7a88fae1e28196 *wubi.exe

For Kubuntu:

fe122a713c5945dbbff035b16848ae47 *kubuntu-8.04-alternate-amd64.iso
94b892ac78fdb4d1f164e7bd0f7da2ca *kubuntu-8.04-alternate-i386.iso
99da350d4163ee046a00ef1dda81be6a *kubuntu-8.04-desktop-amd64.iso
8aebb0dc17588d22dd3bb59d7df71061 *kubuntu-8.04-desktop-i386.iso

For Kubuntu with KDE 4.x: (these servers are being particularly hammered at the moment)

8a822b70f1e169f462727cb885e2b565 *kubuntu-kde4-8.04-alternate-amd64.iso
b7195c72b564b3676e584cb774e9002c *kubuntu-kde4-8.04-alternate-i386.iso
3028e26593a29b007c8878f0fbbe5639 *kubuntu-kde4-8.04-desktop-amd64.iso
1933f11ccea58de5bc80549774479031 *kubuntu-kde4-8.04-desktop-i386.iso

For Edubuntu:

210822f1d1d618153a4fdf993c5c3fe7 *edubuntu-8.04-addon-amd64.iso
7259d6f34c5f09e26927c39066833d03 *edubuntu-8.04-addon-i386.iso

And Xubuntu:

c83b84dc02b9e5480d64d2accdd9f3bb *xubuntu-8.04-alternate-amd64.iso
4f398cd35eaf297347f18634a5be5d77 *xubuntu-8.04-alternate-i386.iso
0fb2297b036d9d1bf4cc0a13a4d82f76 *xubuntu-8.04-desktop-amd64.iso
665bcc283e131be4cb71ecb2bf0e3794 *xubuntu-8.04-desktop-i386.iso

These are correct as of 24/04/08 @ 15:51 GMT, Enjoy the new release :)

Update, the issue with the MD5 of wubi.exe has been corrected. Hashes are now correct as of 27/04/08 11:23 GMT. :)

Posted in F/OSS, Linux | Tagged: , , , , , , , | 25 Comments »

GIMP Basics - Screenshots

Posted by whyamistilltyping on April 21, 2008

One of the main programs I use is Photoshop, I use it mostly for simple image editing / cropping and resizing for my blog. I am trying to move over from Windows to Linux for blogging and as such, I decided to finally get to grips with the Gnu Image Manipulation Program (The GIMP) which is the GNU photoshop equivalent for GNU Linux. Whilst the Wine project have made great leaps forward in recent years to the point where Photoshop can be run inside Wine, it is still not an ideal solution.

In this post, I just want to very briefly explain how to do something simple : take a screenshot, crop it, shrink it and compress it using the GIF interlaced format.

1 ) Download and install GIMP. On Windows this is done via a download from the GIMP site, on GNU Linux it is done via the distribution specific package manager.

2 ) Once it is installed, lets assume we have a screen we want to capture. Fire up the program and goto “File>Acquire>Screen Shot”. This will bring up the WinSnap dialog which will allow you to take a screenshot of the entire screen (after a defined pause) or a specific window. The specific window feature didn’t work particularly well so I recommend taking a snapshot of the entire screen. (If you have pressed the Print Screen button, you can instead use the “Past as new image” option.

3) Now we have the entire desktop, we need to use the select tool to highlight the area we want to capture.

4) Next we goto the menu, select “Image > Crop to Selection”

5 ) Finally, I tend to scale the image to 80%, this is achieved by going to the menu “Image > Scale Image” and selecting 80% width and 80% height. If you constrain the proportions of the image (the chain icon) then selecting a 80% width will automatically select 80% height.

6 ) Now simply goto “File > Save As..” and append “.gif” to the end of the filename. This will launch the GIF exporter.

7 ) You will be told that the GIF exporter can only handle Greyscale or indexed images. Select “Convert to Indexed” and click “Export”.

8 ) Check “Interlaced” and uncheck the “GIF Comment” field and click “Save”.

And thats it! :) When I get some time to play with GIMP’s more advanced features I will write more on the subject.

Posted in F/OSS, How To, Linux, Microsoft, Windows | Tagged: , , , , , , , | No Comments »

Hidden World of Linux: Follow up Part 1 - NAS

Posted by whyamistilltyping on April 10, 2008

Since my previous post on the hidden uses of Linux attracted so much attention, I thought I would do a brief follow up adding a bit more to my conclusion in which I discussed the main drawback to all these great Linux distributions - power consumption. At some point I am going to buy a power meter and test a variety of old computers I have around the house to see how much power they draw, but for now I just want to give some illustrated examples of low power hardware that can be bought which are ideal for some of the uses described in my prior post.

This is the first of two follow up posts. This way I can go into detail about each specific section. In this post I will be discussing NAS (Network Attached Storage) and will follow up shortly with a post on Firewalls later.

Realistically retail NAS devices fall into two categories, ones with a single harddrive and ones with multiple harddrives.

Single hard drive setups

There are a large variety of single harddrive NAS systems available at fairly reasonable prices and, unless you need a specific feature that a Linux/BSD distribution like FreeNAS provides, it will likely be better to purchase a separate NAS drive. This way you do not need to worry about installation / upgrading potentially buggy software and the power requirement will be in the tens of Watts.

For the sake of argument, let us consider three hardware examples for building (or reusing an old computer for) a single drive NAS. The first is by far the cheapest - reusing your old PC. All that is really required is a new harddrive to replace the small one the PC would originally have been shipped with.

At an average price of £35 for a 250Gb SATA drive (slightly less for an IDE version,) simply reusing an old PC is by far the cheapest option, however there are a number of things to watch out for. Old computers used to have limitations as to the maximum hard drive capacity the BIOS on the motherboard would be able to address. Back in the days of single GB hard drives, a then theoretical limit of 137Gb must have seemed as far off as 32Gb RAM for desktops does today. Fast forward back to today; whilst modern systems are very happily addressing far more than 137Gb thanks to logical block (LBA) 48bit addressing, chances are you will want at least around 160Gb space for your NAS meaning this could be a problem for some of the really old hardware. The reason for this so called “ATA Interface Limit” issue (which is by no means the first in computing - check out this great article) is a mathematical limitation in the way in which harddrives used to be accessed at a very low level using discrete geometry (cylinder, head and sector numbers.) BIOS patches are available although these are few and far between.

Worn power supplies are also a potential hazard, check before deploying a system for 12/24 hour use that the power supply cooling fan is in good condition and that there are no overheating issues caused by an old or clogged cooling system in the rest of the hardware. Please do not open up a power supply - such an action could be dangerous if you do not know what you are doing. When in doubt, replace it - it will be cheaper in the long run than if you end up setting fire to your house or destroying your data through a power spike induced head crash. In summary, this option is by far the cheapest of the three, but there can be some problems along the way.

The second option I explored, would be to buy a complete, custom tailored PC system for use as a headless NAS. I went to one of the eshops I frequently purchase from and quickly, virtually built a low powered, cheap PC that would be suitable for such a purchase. Surprisingly, it turns out that building your own NAS box is a lot less expensive than I would have thought with my NAS PC costing a total of £108 (Full specification and links in appendix at the end of this post) inclusive of the £35 250Gb harddrive used in the previous example. This compares very favourably with the (currently) cheapest single HDD NAS box available from the same eshop which is £77. With your own PC, you get the advantage of customising the services your NAS provides giving you greater control coupled with expandability down the road, an option unavailable when buying a retail NAS. The downside to this is the increased power consumption. To mitigate this, I picked recent components which have power saving features like AMD’s Cool and Quiet as well as the special, low power consumption versions rather than going for a generation (or two) old technology which was roughly the same price anyway.

The final ’self-built’ NAS hardware option I wanted to explore is building a NAS with ultralow power embedded components frequently used in routers / modems and in actual NAS systems. It is possible to buy a limited selection of embedded motherboards, some even with low power processors like the VIA C7 or AMD Geode. VIA C7 processor boards seem to be a lot cheaper, and I selected a board which had everything minus RAM, the HDD (hard disk) and a power supply. Unfortunately, due to the limited production scales of some of these ITX boards (you pay a premium for the miniaturisation) the cost of building such a low power device was higher than I anticipated. The total price for a small, very low power embedded NAS build was £143 (full specification in appendix at the end of post) also inclusive of 250 Gb hard disk drive.

As you can see, the cheapest option, (predictably) would be to reuse old hardware assuming it is only two or three generations old. In all three PC specifications, I have kept the harddrive size and cost the same in order to allow for a greater comparison, but I find it hard to recommend either self build option even given the extra flexibility that such a computer would yield running a BSD distribution like FreeNAS. Also, although FreeNAS is a fairly mature product, there is no guarantee that it will work flawlessly with the hardware you have (I had some ACPI issues with my test machine) which would render potential effort useless. If you have an old PC and hard drives lying around then you have nothing to loose by trying FreeNAS, I would even encourage it, otherwise I must stick to my original comment - if you are only want a NAS for casual backup on a single drive, buy an off the shelf product.

Multiple hard drive setups

If on the other hand you want more than a single HDD, this is where things start to get interesting, there are very few (reasonably) priced multi disk NAS systems on the market. The key exception is a piece of hardware I alluded to in my previous post which I would like to talk briefly now about. (I am sure other options exist, but this is the only reasonably priced one currently available in the UK market.)

The enclosure I found which would allow two drives to be used is made by Nanopoint and is model ‘Icy Box IB-NAS4220-B.’ It has an interesting feature set, supporting 2 SATA harddrives with Samba, NFS, FTP, RAID 1 & 0 as well as a USB to act as a print server. Unfortunately it is twice the price here in the UK than in the US but it seems to be one of the very few NAS enclosures that allows for RAID 1 across two harddrives. This was important as I am after a system that has built in redundancy - if one hard disk failed - another automatically had a copy of all the files. (Although the theory behind RAID is somewhat flawed - more on this another time.) I am seriously tempted to buy one of these and if I do I will write a full review with how it compares to FreeNAS at a later stage. UPDATE: I have found another similar device by Netgear (SC101 SAN/NAS device) although it only supports IDE drives, the other features seem roughly the same.

This is the point where FreeNAS starts to really distinguish itself from some of the commercial offerings. The reason is simple, anything more than one or two hard drives is seen as either SOHO (Small Office / Home Office) or Corporate grade and has an appropriate price tag and feature set. FreeNAS can, and will scale beautifully with a number of hard drives (even performing fault tolerant RAID 5 as well as the more popular RAID 1) although at the moment, it does not support clustering or failovers. This is relatively trivial as we are getting now into the realms of enterprise grade computing.

Due to the relatively simple firmware required to get these devices working (even with a variety of services) it will likely be cheaper over the course of a year to skip distributions like FreeNAS or OpenFiler and instead opt for a NAS drive enclosure, unless you specifically need some of the features FreeNAS offers or you are using several hard disks.

Related Idea : Virtualisation

Thumos made an interesting point in one of my posts about using a server running multiple virtual environments which each role (e.g. firewall, NAS / SAN, MythTV etc) all running on one PC. The downside of this would be, as he noted, dramatically increased hardware requirements and to be honest, I am not confident such a system would be able to handle all those roles effectively but I am not an expert on Virtualisation. Windows Server 2008 can do some pretty amazing things in this respect with their hypervisor based virtualisation system.

Related Idea: Windows Home Server

Although strictly speaking Windows Home Server is a completely different program (and incompatible with freedom (or F/OSS) software philosophies) it deserves a mention given the subject of this post. Built on a modified Windows Server 2003 r2 core, Windows Home Server adds automated backup as well as some impressive disk management tools. Perhaps the most striking to me was the absence of RAID as we classically see it. RAID has become ubiquitous for redundant, performance or server/enterprise grade storage solutions mostly because the only practical alternative is confined to high end data centers. Ask an IT expert or geek the various modes to connect multiple hard disks and invariably you will get a discussion involving RAID 0,1,5 (or mixed modes like 0+1, 5+0, 5+1, 6, 8 etc) and JBOD spanning with likely no mention of DFS or FRS. These are Microsoft technologies developed “in-house” by their Advanced Technologies Lab (ATL).

To understand DFS and its routes, I had to take a brief crash course in enterprise level computing as the technology was not initially developed for use in Windows Home Server finding its routes a few years before, however the similarly between DFS and the storage technology in WHS is very similar as Paul Thurrott notes in an early preview of WHS. Infact, DFS started life a as a way to transparently link various SMB (Samba) Shares in a way in which there would be greater flexibility, transparency and reliability in corporate environments with multiple data centers. DFS generally can be used in one of two ‘modes’, the first being locally administered (without an Active Directory) and the second being domain based roots which by their design provides redundancy and is the most commonly used. There is an excellent demo of this technology on the Microsoft website.

The key to software implementation of data redundancy in Windows Home Server is found in the transparent way storage shares are presented to the end user, not through a network mapped drive letter or a (classic) network share. Infact, WHS automatically shadow copies data in such a way that a copy of it exists on more than one hardware device protecting against failure. This is completely different from RAID 0 which directly mirrors the contents of an entire drive (byte for byte) onto another one to provide redundancy. In the event of a hard disk failure (or capacity upgrade) the RAID array must be taken offline and rebuilt with a replacement disk. Furthermore, because the data is mirrored from one hard drive to another, the maximum size of the mirrored array is constrained to the smallest drive in the array. Windows Home Server supports hot swapping of disks, meaning that if a hard disk fails there (likely) is no data loss nor interruption in service. If an extra drive is added (e.g. via USB) or an existing drive is hotswapped it expands the overall space available to encompass the new storage and automatically (shadow) copies the data on it’s existing drive(s) to (re)create redundancy.

The hardware requirements are significantly higher than just running FreeNAS, a minimum of a 1Ghz processor and 512Mb of RAM are required before the installation will continue making it twice (or 3/4 times) more resource hungry than F/OSS equivalents. The ability to access your data remotely (through Windows Live integration) is interesting as it acts like a RAS dynDNS service, but it means trusting a third party for your authentication. A properly configured local network with secure FTP or Samba services would provide exactly the same (if less flashy) functionality with the advantage of giving you complete control over who, what and where your network can be accessed from.

Conclusion

There are features that FreeNAS provides which ‘off-the-shelf’ NAS enclosures will not and for this it is an extremely good piece of software. For multiple harddrives and / or multiple users all requiring different services, I would recommend FreeNAS everytime possibly even with some of the ITX hardware (coupled with a PCI RAID card) suggested above, however for someone wishing to make a single HDD into a NAS for occational home use it is unlikely to be a smart choice.

Appendix : Example hardware costs

Please note, these are example prices correct at time of research, please do not go and take this as a recommendation of a system specification, it is for illustration only.

First example : Equipment already in your home.

Existing hardware eliminates a lot of initial outlay.

Harddrive: £35 (Seagate 250Gb SATA HDD) - Although I am not a fan of Seagate, there are better drives available.

Total Cost: £35

Second example: Building a very basic / cheap PC

Processor: £19 (AMD Low Power (45 W) AM2 Sempron)

Motherboard: £27 (MSI Motherboard)

RAM: £7 (512Mb Extra Value PC2-5400 RAM)

Harddrive: £35 (Seagate 250Gb SATA HDD) - Although I am not a fan of Seagate, there are better drives available.

Power Supply: £10 (Budget 350Watt) - Although I would STRONGLY recommend never buying a budget PSU.

Case: £10 (Budget ATX case)

Total Cost: £108


Third example: Building a low power ‘ITX’ form factor PC

Motherboard & Processor: £50 (Via iDOT) - Very cheap low power board

RAM: £7 (512Mb Extra Value PC2-5400 RAM)

Harddrive: £35 (Seagate 250Gb SATA HDD) - Although I am not a fan of Seagate, there are better drives available.

Case & Power Supply: £42 (Simple small case)

Total Cost: £143

Posted in F/OSS, How To, Linux, Microsoft, PC, Windows | Tagged: , , , , , , , , , , | 4 Comments »

Try out the EEE PC (No purchase required!)

Posted by whyamistilltyping on April 8, 2008

It was great to see ASUS put out a free F/OSS SDK for individuals or companies to develop programs for their wonderful EEE PC platform, what surprised me was that not only did they release the tools (plus source and example code etc) but also the ISO images. Although of course, they are bound by the GPL license to release the source code, I didn’t think they would release the binary images as well.

What this means, is that anyone who is interesting in buying an EEE PC whether or not they have prior experience with F/OSS or GNU Linux can have the benefit of literally test driving the default Linux environment. Of course this is only one of the many x86 Operating Systems / distributions that will happily run on this platform but that is besides the point. Of course this guide is not exclusively written for prospective buyers of the EEE PC and I hope it is useful for anyone (e.g. software developer, geeks like me etc) who for some reason, wants or needs the EEE PC environment installed within a virtual machine.

In order to use the vmx and iso images supplied you will need a free bit of software - VMware Player. This is available for Windows and Linux. I should point out that there are better (completely) free virtualisation options available, VMware only provides VMware player for free which will happily ‘play’ premade images or snapshots of any type of virtual machine. QEMU (Windows/Linux) and Microsoft Virtual Machine are good examples.

Now, at this point I was in the process of writing a post detailing how to use the vmx and ISO files, however, because VMware Player is a rather crippled piece of software, there is no direct way (that I can quickly come up with) to get around this lovely error message :

The reason for this is simple, just like the real EEE PC, the Virtual Machine VMware is trying to boot off of its harddrive which is referenced in the vmx image provided by ASUS. Unfortunately what they did not provide was the vmsd file. As a result VMware Player will always fail and since it is only a featured stripped version, there is no way to progress.

UPDATE: You can use the purportedly free beta version of VMWare server to get around this, but by this stage I was fed up of WMware products.

So, what we need to do is start again with a different free piece of software, since I already had Microsoft Virtual PC installed on my computer, I decided to use it for the remainder of this how-to.

Fire up Virtual PC and Select ‘NEW’ from the console.

Go through the New Virtual Machine Wizard, selecting ‘Create a Virtual Machine’ and name it anything you like. I called my profile “EEE PC” and selected Operating System “Other.” This being a Microsoft product, there is no mention of Linux on here :)

You will notice that this only gives you 128Mb of emulated RAM, this of course is too little, but don’t worry for in the next stage we will be able to edit this by selecting “Adjusting the RAM.” Set this to 512Mb.

Next, we need to create a new ‘Virtual’ harddisk in order to emulate our EEE PC. By default, Virtual PC will want to create a 16GB harddisk. Since the 701 EEE PC only has 4GB (and the 700 has 2GB) for the purposes of this experiment, 2GB SHOULD be plenty. I however discovered that the installation fails unless you make the image at least 16,384MB.

Please note that this does not create a 16GB file on your harddrive (although it can.) Instead it will create a small .vhd file which will increase in size and the amount of space inside this virtual harddive is filled, so make sure you have at least a gigabyte of real HDD space remaining. You can save this virtual harddrive anywhere on your computer but it would make sense to put it in the same folder you put the ISO image. Finish this wizard.

Select EEE PC and click ‘Start’ from the console. This is where the fun starts. Now you will see a console or DOS like window appear and try to boot, however it has nothing to boot from yet so click on the CD menu and select ‘Capture ISO Image.’

Selet the ISO image you downloaded from Sourceforge and using the Action Menu, click ‘Reset.’ The virtual machine will now boot from the virtual CD image (the ISO) and allow you to install the EEE PC environment onto your virtual computer. You will be asked to enter ‘yes’ to continue. Follow the instructions. Rather than present you with a GUI or any options, all you will see is the message “Starting to write (it should take approx. 5mins).” Give this some time, do not forget you are emulating a separate computer within Windows so this may take longer than specified.

NOTE: If you see any error messages than it is likely your ISO was corrupted during download. If you continue, you will see ‘error 17′ when trying to start your virtual machine. To check if you have a good ISO image, use a utility that calculates the MD5 hash of a file.

If your installation completed successfully then skip this section.

If not, then we now need to check the downloaded CD image. We do this by comparing the MD5 hash of your downloaded CD image (ISO), using a free utility such as WinMD5Sum (or use the built in command in Linux) and compare it to that of a complete, 100% good copy.

My MD5 hash of the file L701_EN_1.0.6.6.iso is 22056e798c26b16b1521707f9dd73a2c. If yours differs, either it is a different version or it is corrupt therefore useless, you will need to re-download the file from sourceforge. This happened to me first time round when I was downloading the image, the remote server in the sourceforge farm truncated my ISO a few kb short which was a bit frustrating. If you keep having this problem, try using a download manager,

Now, if everything went according to plan, read on.

After the reboot, you should be set! Your virtual machine should boot straight into the ASUS modified Xandros Linux operating system. Enjoy! Please post comments / feedback. If you have any issues getting this working leave a comment and I will do my best to help you. Other people have done the same thing also using Microsoft Virtual PC, as well as QEMU under Linux. I also managed to get this working via QEMU (using QEMU Manager and QEMU Windows Build 0.9.1)

A final note of caution, the speed and responsiveness of Xandros / EEE PC Linux inside an emulator (or more correctly a virtualised environment) should not be seen as an indication of the speed or responsiveness of the same software on real hardware. It might be faster (since emulation / virtualisation can be processor intensive) it might be slower (you may have a fast computer.)

Posted in F/OSS, How To, Linux, News | Tagged: , , , , , , , , , , , | 2 Comments »

Vista Bashing = Cheap Traffic!?

Posted by whyamistilltyping on April 5, 2008

It seems the web (and certainly the blogosphere) is full of posts damning Vista for various reasons and I do not believe all this harsh criticism is justified. It all came to a head when I read a particular blog entry tonight. I started writing a brief reply in order to express my feelings on the matter, but it turned into a semi-lengthy rant which I would like to reproduce in a somewhat tweaked / editing form here.

What worries me is that it is very fashionable to bash Vista. It feels like any self proclaimed Tech expert thinks it is almost their prerogative to write long anti-Vista articles based on and citing other anti-Vista articles - does anyone else see a pattern emerging here?!

For the record I should say I am a huge fan of Linux, I run more Linux boxes than Windows, but of those windows boxes, the majority are XP and only one is Vista. I am very happy with Vista as well as XP but it is about managing your expectations. It is completely unrealistic to assume Vista will run on hardware that is a couple of years old (or even some budget machines.)

Surprise surprise, it won’t, Vista has been plagued by hardware and software incompatibilities - what does this tell us? Simply that Microsoft was not lying when it said Vista is a major update to the Windows platform. Historically all major updates have had driver and software compatibility issues (anyone remember XP 5/6 years ago?!?) Drivers are the responsibility of the manufacturer NOT Microsoft, for years prior to release Microsoft were talking to hardware companies, asking them to update their drivers but most ignored them. Why!?? Very simply because they will sell more hardware if people have to go out and buy Vista certified equipment. It is not in their interest to revisit hardware they released 2 years ago - it does not make them any more money and the consumer be damned.

Saying that, there are a number of platforms / situations when Vista is clearly not suitable and for those I still run XP - it is more responsive on such hardware and has the added bonus of comfort factor (i.e. I have been using it for years and I am very familiar with it,) but lets not forget, this is old technology that has not really been worked on since 2005 (sp2.) SP3 is nothing more than a security roll up with a few extra Vista developed features added. The desktop rendering in XP (called GDI+) is based on a software stack that is several years old and incapable of hardware accelerated desktop compositing - the same thing Mac OSX and Linux have been capable of for years.

The problem is, noone seems to have a long enough memory to remember the Windows 2000 / 98 saga, or the Windows XP / 2000 saga that followed that…

There is nothing wrong with Vista*, similarly nothing wrong with XP*, nor is there nothing wrong with Linux*, and even with OSX* - it depends on what hardware you have and what you want to do with it.

* Of course it is not as black and white as this, all platforms have their inherent strengths and weaknesses.

I wish we would move beyond this fanboy like bashing, if there is merit to a discussion I am all for it, but I am getting fed up of reading the same FUD constantly. Most of it is simply fishing for cheap traffic.

/Rant :)

Posted in Apple, F/OSS, Linux, Microsoft, Rant, Windows | Tagged: , , , , , , | 11 Comments »

The hidden world of Linux

Posted by whyamistilltyping on April 5, 2008

There are many great FOSS projects that utilise old PC hardware and give it a new lease of life. The best is desktop computing with various Linux distribution flavours like Mint, PCLinux, Ubuntu and countless others. In fact it is my considered belief that the best hardware to run Linux on is infact (almost) any machine that is at least 12 months old. It is possible, of course, to select components based on the degree (and maturity) of the specific support under Linux but this has two major drawbacks.

The first is the most frustrating; some categories of hardware have poor levels of Linux support. For example, most LAN cards are now supported natively but that is certainly not the case for wireless (wifi) equipment, particularly for some Broadcom and Atheros chipsets. Graphics cards are another great example of hardware that you have to be careful with. The best, bleeding edge graphics cards will likely not be fully supported under Linux due to the low frequency of binary driver updates from the manufacturers.

The second relates to notebooks / laptops. Whilst with PCs it is fairly easy to pick components which have good Linux support, laptops generally have proprietary or non F/OSS friendly chipsets which require tweaks or work arounds to get working. The issue is, the vast majority of the F/OSS / Linux userbase require the help of others in order to help them with the tweaks and work-arounds. Most people are not comfortable (or proficient) tweaking / compiling kernels as well as ACPI modules (or any one of the number of different patches required.)

Where Linux absolutely excels in my opinion is in embedded systems. By this I mean very low power devices or old computers which can be used headlessly for a variety of applications. Most people do not even realise they are running Linux at home in their router / modem, Freeview / Satellite settop boxes, Print / Media servers / MP3 players etc etc, the list goes on. Due to the GPL license requiring companies to release the source code of the software the produce, a few projects sprung up e.g. OpenWRT / WRT54G (followed by other organically grown projects) to modify such components. The philosophy behind these projects varied, but the common reason was normally to remove limitations and to improve / extend functionality.

Not only do such projects look to modify embedded Linux devices, but some great projects have sprung up to utilise old PCs every household seems to accumulate in order to fulfil a number of key uses. For example, comprehensive firewall distributions like IPCop or Smoothwall or NAS distributions like FreeNAS (although this is based on BSD.) These are not dirty hacked operating systems either but very mature, streamlined, low memory footprint distributions which run headlessly. Being totally administered through a web browser makes these distributions feel extremely professional and polished (even if the archaic hardware they are running on doesn’t) this being coupled by the extraordinary amount of options present really makes these projects an extraordinary example of the flexibility of Linux/BSD.

IPCop / Smoothwall / Monowall

I had played around with smoothwall before when I became interested in hardware firewalls, but after some tweaking I decided not to run it. Recently I was intrigued enough by IPCop (which started life as a fork of Smoothwall) to give it a go. I was immediately impressed by the degree of customisation and the number of configuration options which make a low powered computer suitable for use on a home network right the way upto a small/medium office network. The best way I can demonstrate IPCop is by reproducing an illustration from their Documentation describing a typical setup scenario.

Being able to completely separate the Green (protected local computers and servers) Orange (Promiscuous servers open to incoming connections from the internet) and Blue (Wifi / Wireless networks) allows for some incredible flexibility. There is a downside which I will discuss later.

FreeNAS

I have been hunting recently for an inexpensive, two disk Network Attached Storage (NAS) system. I have found that such a thing does not exist (at least in the UK Market) and whilst there are plenty one disk NAS systems, they have limited options and security but above all, being one disk systems would not be able to support RAID. There are a few types of RAID systems (which I won’t go into) but I will explain why I wanted a NAS with RAID. The RAID in question is referred to as RAID 1 (Mirroring) - what this means, is that any data one harddrive is automatically copied bit for bit to the second harddrive. Whilst this is not how the actually system works, it means that one harddrive can fail (unlikely) and the data will still be intact. When talking about pictures of friends and family as well as critical documents, I do not like to risk storing it on a single harddrive - I had one fail on me a little while back which cost me almost a year of pictures and data. The few solutions available on the market would cost around £220 for a dual SATA NAS enclosure and two good quality harddisk drives. (How I decided on these and what to look for in a Harddrive is beyond the scope of this post.)

On that basis, I considered the cost to me of setting up a software RAID using an old computer. Provided you have an old computer with at least 96Mb of RAM the only expense is the harddrives which scales based on the amount of protected storage you wish to have (e.g. 80Gb - 1Tb.) It is important to note however, that since two harddrives are being used to store the same data, you will only have the formatted capacity of one harddrive not two. Once installed and up and running, FreeNAS silently provides free and fast access to your data whilst allowing a huge amount of flexibility with regards to how that data is served. Not only does it natively support SAMBA (or SMB/CFS used by Windows), NFS (Unix implementation) as well as FTP and others. The FTP interface is so advanced you can explicitly specify which files / folders are shared and what permissions users have. This allows you to access, add / change and remove files remotely allowing you free access from wherever you are in the world. The cost of reusing and old system coupled with the cost of two IDE harddisks is a lot less than a NAS enclosure I taked about in the previous paragraph.

The Others

Home Automation (X10), media centers (Freevo/Geexbox and MythTV) and PBX telephone systems (Asterix) are great examples of other mature projects using linux. I will not discuss these in this post.

The Caveat : Power consumption

With more and more emphasis on global warming, I am getting more and more conscientious about my personal power consumption. Normally I would not be too concerned, but given the number of systems I run (sometimes for 12+ hours a day each) I am less than willing to introduce boxes which would be on for 24 hours. Whilst there are a variety of options in the distributions mentioned above to auto shutdown at prespecified times, it negates their usefulness if I have to remember to switch them on. What if, for example I am away for a few days and want to access my data or have my Media center (running MediaPortal) record something - since I shut all my equiptment down every night (I used to run it through the night running Folding at Home) I would physically have to switch it all on every morning. This obviously is not something I would be able to do remotely.

Whilst power consumption has dropped recently with the low power Core 2 Duo processors (originally based on a low power laptop processor design from Israel - Pentium M) and power saving built into hardware like AMD’s PowerNow!, do not forget that the majority of the hardware running will not have these power saving features. It will instead be based on very obsolete fabrication (fabrication scale decreases over time allowing for better power consumption and higher clock frequencies) scales which are extremely inefficient by todays standards.

Projects that modify firmware of existing low power systems (like the WRT54g router) are of course exempt from this as they draw only a few tens of Watts per hour compared to the few hundred normal PCs use even when idle. It is a shame that such systems (or equivalent running Via C7 or AMD Geode processors) are not cheap to build as they would provide all the computing horse-power required at a fraction of the power requirement.

So, I hope this has enlightened you to some of the amazing things one can do with an old system and Linux/BSD, just be aware that although there may not be high equipment costs, over a few months the running costs will start to add up. Unless you are running an archaic system (Circa 1995) you should consider building (or buying a antique on ebay) a low power system.

UPDATE: Due to the amount of attention this post has recieved, I am in the process of writing two follow up posts going into further detail on some of the points raised here. Bookmark me or subscribe and check back later :)

Posted in F/OSS, Homebrew, Linux, Mod | Tagged: , , , , , , , , , , , , , , , , , , | 6 Comments »