<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="https://www.stress-free.co.nz"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>stressfree - ubuntu</title>
 <link>https://www.stress-free.co.nz/tech/ubuntu</link>
 <description></description>
 <language>en</language>
<item>
 <title>Tuning Ubuntu&#039;s software RAID</title>
 <link>https://www.stress-free.co.nz/tuning_ubuntus_software_raid</link>
 <description>
  &lt;div class=&quot;field-body&quot;&gt;
    &lt;p&gt;Recently I encountered an issue where the read/write performance of Ubuntu&#039;s software RAID configuration was relatively poor. Fortunately, others have encountered this problem and have documented a potential cause and solution here:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://randomitblog.blogspot.com/2009/10/ubuntu-raid-tweak.html&quot;&gt;Ubuntu RAID Tweak&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://peterkieser.com/2009/11/29/raid-mdraid-stripe_cache_size-vs-write-transfer/&quot;&gt;Linux RAID mdraid &quot;stripe_cache_size&quot; vs. transfer rate&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The short story is that Ubuntu uses some very conservative defaults for RAID caching. Whilst this may ensure reliable behavior across a range of hardware, it does mean that for many read/write performance will be lacklustre. The solution to this problem is to define a more aggressive caching options on any software RAID partitions that are in use.&lt;/p&gt;&lt;!--break--&gt;&lt;h3&gt;Setting the stripe_cache_size and read ahead caches&lt;/h3&gt;&lt;p&gt;The following example assumes that the Ubuntu server has two software-based RAID-5 partitions, &lt;strong&gt;/dev/md0&lt;/strong&gt; (the root partition) and &lt;strong&gt;/dev/md1&lt;/strong&gt; (the /var partition).&lt;/p&gt;&lt;p&gt;Set the stripe_cache_size and read ahead caches in the &lt;strong&gt;/etc/rc.local&lt;/strong&gt; script. In the example below the stripe_cache_size is set to 8192, and the read ahead cache 4096:&lt;/p&gt;&lt;p class=&quot;codesnippet&quot;&gt;#!/bin/sh -e&lt;br /&gt;#&lt;br /&gt;# rc.local&lt;br /&gt;#&lt;br /&gt;# This script is executed at the end of each multiuser runlevel.&lt;br /&gt;# Make sure that the script will &quot;exit 0&quot; on success or any other&lt;br /&gt;# value on error.&lt;br /&gt;#&lt;br /&gt;# In order to enable or disable this script just change the execution bits.&lt;br /&gt;#&lt;br /&gt;# By default this script does nothing.&lt;br /&gt;&lt;br /&gt;# Tune the RAID5 configuration&lt;br /&gt;echo 8192 &amp;gt; /sys/block/md0/md/stripe_cache_size&lt;br /&gt;echo 8192 &amp;gt; /sys/block/md1/md/stripe_cache_size&lt;br /&gt;&lt;br /&gt;blockdev --setra 4096 /dev/md0&lt;br /&gt;blockdev --setra 4096 /dev/md1&lt;br /&gt;&lt;br /&gt;exit 0&lt;/p&gt;&lt;p&gt;Restart Ubuntu to apply these settings.&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; It is possible to apply these changes without a restart by executing each directive at the command line.&lt;/p&gt;&lt;p&gt;The pages linked to above explain how to test the influence of these cache changes. In general I have found that the parameters given in the example above have improved performance without influencing the reliability of the system, or the data stored on it. &lt;/p&gt;&lt;p&gt; &lt;/p&gt;  &lt;/div&gt;

&lt;ul class=&quot;field-taxonomy-vocabulary-1&quot;&gt;

      &lt;li&gt;
      &lt;a href=&quot;/tech/linux&quot;&gt;linux&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/raid&quot;&gt;raid&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/ubuntu&quot;&gt;ubuntu&lt;/a&gt;    &lt;/li&gt;
  
&lt;/ul&gt;
</description>
 <pubDate>Fri, 23 Apr 2010 03:04:31 +0000</pubDate>
 <dc:creator>David</dc:creator>
 <guid isPermaLink="false">556 at https://www.stress-free.co.nz</guid>
</item>
<item>
 <title>USB devices with VMWare Server 2.0 on Ubuntu</title>
 <link>https://www.stress-free.co.nz/usb_devices_with_vmware_server_20_on_ubuntu</link>
 <description>
  &lt;div class=&quot;field-body&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;img src=&quot;/sites/default/files/u63/usb-logo.png&quot; alt=&quot;&quot; width=&quot;90&quot; height=&quot;91&quot; /&gt;&lt;/div&gt;
&lt;p&gt;One of the nice features of &lt;a href=&quot;http://www.vmware.com/products/server/&quot;&gt;VMWare Server 2.0&lt;/a&gt; is that it supports the forwarding of USB devices to virtual machines. Unfortunately when it comes to Linux the VMWare team have leveraged an old method (/proc/bus/usb) for scanning the USB bus which newer distributions, such as &lt;a href=&quot;https://bugs.launchpad.net/ubuntu/%2Bbug/157843&quot;&gt;Ubuntu Server 8.04 no longer support&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To resolve this problem the &quot;old&quot; method for scanning for USB devices must be enabled in the underlying operating system. In the case of Ubuntu Server 8.04 this is a case of editing the file &lt;strong&gt;/etc/init.d/mountdevsubfs.sh&lt;/strong&gt; and uncommenting the following section:&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;#&lt;br /&gt; # Magic to make /proc/bus/usb work&lt;br /&gt; #&lt;br /&gt; mkdir -p /dev/bus/usb/.usbfs&lt;br /&gt; domount usbfs &quot;&quot; /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644&lt;br /&gt; ln -s .usbfs/devices /dev/bus/usb/devices&lt;br /&gt; mount --rbind /dev/bus/usb /proc/bus/usb&lt;/p&gt;
&lt;p&gt;Reboot the server and /proc/bus/usb should be functional once more.&lt;/p&gt;
&lt;h2&gt;Activating a USB device within a virtual machine&lt;/h2&gt;
&lt;p&gt;Once the underlying USB subsystem is configured the USB device needs to be associated with a virtual machine. For this to occur the virtual machine must have the USB Controller added to its virtual hardware configuration. If the controller is not already part of the virtual machine&#039;s configuration shutdown the VM, add the device and restart.&lt;/p&gt;
&lt;div class=&quot;centeredimage&quot;&gt;&lt;a href=&quot;/sites/default/files/u63/vmware-usb-lg.jpg&quot;&gt;&lt;img src=&quot;/sites/default/files/u63/vmware-usb-sm.jpg&quot; alt=&quot;&quot; width=&quot;400&quot; height=&quot;227&quot; /&gt;&lt;br /&gt;The VMWare web console with USB device selection (click to enlarge)&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;Assuming there are USB devices attached to the server, once the virtual machine boots a small USB icon will appear within the VMWare web management console. Click on the icon and select the relevant USB device to attach it to the running virtual machine.&lt;/p&gt;
&lt;p&gt;All going well the USB device will appear within the virtual machine as an accessible device. VMWare Server remembers this selection, so the next time the virtual machine (or server itself) is restarted the USB device will automatically be attached to the running VM.&lt;/p&gt;
&lt;!--break--&gt;  &lt;/div&gt;

&lt;ul class=&quot;field-taxonomy-vocabulary-1&quot;&gt;

      &lt;li&gt;
      &lt;a href=&quot;/tech/linux&quot;&gt;linux&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/virtualisation&quot;&gt;virtualisation&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/ubuntu&quot;&gt;ubuntu&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/usb&quot;&gt;usb&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/vmware&quot;&gt;vmware&lt;/a&gt;    &lt;/li&gt;
  
&lt;/ul&gt;
</description>
 <pubDate>Mon, 17 Aug 2009 05:17:18 +0000</pubDate>
 <dc:creator>David</dc:creator>
 <guid isPermaLink="false">548 at https://www.stress-free.co.nz</guid>
</item>
<item>
 <title>VMWare Server 2.0 optimisations</title>
 <link>https://www.stress-free.co.nz/vmware_server_20_optimisations</link>
 <description>
  &lt;div class=&quot;field-body&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;img src=&quot;/sites/default/files/u63/vmware_logo.png&quot; alt=&quot;&quot; width=&quot;150&quot; height=&quot;43&quot; /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;http://www.vmware.com/products/server/&quot;&gt;VMWare Server 2.0&lt;/a&gt; is emerging as a capable, zero cost alternative to VMWare ESX when used in combination with Ubuntu Server 8.04LTS. Unfortunately &quot;out of the box&quot; performance can be a little disappointing, especially when running guest Windows virtual machines. What follows are a few system tweaks that can improve performance without hampering overall system stability. I have not come up with these myself, instead they are pruned from the following pages:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://vmfaq.com/?View=entry&amp;amp;EntryID=25&quot;&gt;VMWare FAQ: I need more performance out of my VMware environment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://communities.vmware.com/thread/171343&quot;&gt;VMWare Communities: Performance tuning in Server 2.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://kuparinen.org/martti/comp/ubuntu/en/server.html&quot;&gt;Ubuntu Server Installation with VMware Server&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;Kernel parameters&lt;/h2&gt;
&lt;p&gt;In addition to the default Ubuntu Server kernel parameters, the following should be appended to the end of &lt;strong&gt;/etc/sysctl.conf&lt;/strong&gt;.&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;vm.swappiness=0&lt;br /&gt; vm.overcommit_memory=1&lt;br /&gt; vm.dirty_background_ratio=5&lt;br /&gt; vm.dirty_ratio=10&lt;br /&gt; vm.dirty_expire_centisecs=1000&lt;br /&gt; dev.rtc.max-user-freq=1024&lt;/p&gt;
&lt;p&gt;Once added reboot the server to ensure their application is successful and permanent.&lt;/p&gt;
&lt;h2&gt;Create an in-memory temp drive&lt;/h2&gt;
&lt;p&gt;In the host&#039;s /tmp directory create a new directory named vmware (e.g. /tmp/vmware). This will be used as the mount point for a tmpfs (in-memory) partition for storing VM related, temporary files.&lt;/p&gt;
&lt;p&gt;Edit &lt;strong&gt;/etc/fstab&lt;/strong&gt; and add the /tmp/vmware partition to your list of mount points:&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;tmpfs /tmp/vmware tmpfs defaults,size=100% 0 0&lt;/p&gt;
&lt;p&gt;Now if you execute the following command the tmpfs filesystem will be mounted at /tmp/vmware:&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;sudo mount /tmp/vmware&lt;/p&gt;
&lt;p&gt;If successful, reboot the Ubuntu server to ensure the tmpfs partition is mounted at boot time.&lt;/p&gt;
&lt;h2&gt;VMWare Server configuration&lt;/h2&gt;
&lt;p&gt;Edit the /etc/vmware/config file and ensure the following configuration declarations are set:&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;prefvmx.minVmMemPct = &quot;100&quot;&lt;br /&gt; prefvmx.useRecommendedLockedMemSize = &quot;TRUE&quot;&lt;br /&gt; mainMem.partialLazySave = &quot;TRUE&quot;&lt;br /&gt; mainMem.partialLazyRestore = &quot;TRUE&quot;&lt;br /&gt; tmpDirectory = &quot;/tmp/vmware&quot;&lt;br /&gt; mainMem.useNamedFile = &quot;FALSE&quot;&lt;br /&gt; sched.mem.pshare.enable = &quot;FALSE&quot;&lt;br /&gt; MemTrimRate = &quot;0&quot;&lt;br /&gt; MemAllowAutoScaleDown = &quot;FALSE&quot;&lt;/p&gt;
&lt;p&gt;These configuration declarations instruct VMWare Server to keep all virtual machines in memory and not to write unused blocks to disk. It also sets the temporary directory to the newly created tmpfs partition at /tmp/vmware.&lt;br /&gt;Restart the VMWare Server process (sudo /etc/init.d/vmware restart) or reboot the server for these changes to take effect. The net result should be notably smoother virtual machine performance, especially when it comes to Windows guests.&lt;/p&gt;
&lt;h2&gt;Virtual machine tips&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Always use fully allocated disk images.&lt;/li&gt;
&lt;li&gt;Do not use snapshots as they are approximately 20% slower.&lt;/li&gt;
&lt;li&gt;Always install the VMWare Tools package.&lt;/li&gt;
&lt;li&gt;If running Linux make sure the kernel is compiled for running within a VM, or is using the &lt;a href=&quot;http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1006427&quot;&gt;correct boot time parameters&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;
&lt;!--break--&gt;  &lt;/div&gt;

&lt;ul class=&quot;field-taxonomy-vocabulary-1&quot;&gt;

      &lt;li&gt;
      &lt;a href=&quot;/tech/linux&quot;&gt;linux&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/virtualisation&quot;&gt;virtualisation&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/ubuntu&quot;&gt;ubuntu&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/vmware&quot;&gt;vmware&lt;/a&gt;    &lt;/li&gt;
  
&lt;/ul&gt;
</description>
 <pubDate>Sun, 19 Jul 2009 08:42:08 +0000</pubDate>
 <dc:creator>David</dc:creator>
 <guid isPermaLink="false">546 at https://www.stress-free.co.nz</guid>
</item>
<item>
 <title>VMWare Server 2 finally goes gold</title>
 <link>https://www.stress-free.co.nz/vmware_server_2_finally_goes_gold</link>
 <description>
  &lt;div class=&quot;field-body&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;img src=&quot;/sites/default/files/u63/vmware_logo.png&quot; alt=&quot;&quot; width=&quot;150&quot; height=&quot;43&quot; /&gt;&lt;/div&gt;
&lt;p&gt;On September 23 after a year of public development &lt;a id=&quot;m9bh&quot; title=&quot;VMWare Server 2.0&quot; href=&quot;http://www.vmware.com/products/server/&quot;&gt;VMWare Server 2.0&lt;/a&gt; was &lt;a id=&quot;um:x&quot; title=&quot;&#039;final&#039; version&quot; href=&quot;http://www.vmware.com/support/server2/doc/releasenotes_vmserver2.html&quot;&gt;officially released&lt;/a&gt;. Server is VMWare&#039;s free, entry-level, server-centric hypervisor. Unlike VMWare&#039;s other server virtualisation products &lt;a id=&quot;l93e&quot; title=&quot;ESX&quot; href=&quot;http://www.vmware.com/products/vi/esx/&quot;&gt;ESX&lt;/a&gt; and &lt;a id=&quot;vzrk&quot; title=&quot;ESXi&quot; href=&quot;http://www.vmware.com/products/esxi/&quot;&gt;ESXi&lt;/a&gt;, Server must be pre-installed onto a host operating system (Windows or Linux). This adds a management and performance overhead, which for some is incentive enough to choose VMWare&#039;s more costlier offerings (or explore &lt;a id=&quot;vtth&quot; title=&quot;Xen&quot; href=&quot;http://www.xen.org/&quot;&gt;Xen&lt;/a&gt;). However if you are looking to easily virtualise a handful of servers and do not mind a small performance hit, VMWare Server is a great place to begin.&lt;/p&gt;
&lt;p&gt;In comparison to &lt;a id=&quot;thdb&quot; title=&quot;VMWare Server 1 (a.ka. GST)&quot; href=&quot;http://www.vmware.com/company/news/releases/server_beta.html&quot;&gt;VMWare Server 1&lt;/a&gt; (a.k.a GSX) this new release appears to be a complete rewrite. However when first announced the new version received a mixed response as many existing users viewed it as slow, bloated and buggy compared to its predecessor. Ignoring the bugs which come with any beta-quality code, the majority of this criticism fell into two areas: the new web-based management console and a 500MB+ download (up from ~100MB).&lt;/p&gt;
&lt;h2&gt;Web-centric virtualisation management&lt;/h2&gt;
&lt;p&gt;Without a doubt the most controversial aspect of VMWare Server 2 is its focus on a web-based management console. In the previous release management was primarily conducted through a Windows-only client with a token web interface provided to view what was running. This new interface enables all of the hypervisor&#039;s functionality to be managed and monitored from any modern, Javascript-enabled browser. The only cavet being that virtual machine console access requires an ActiveX or Firefox extension (Windows/Linux only). Process-wise this is a little disjointed as a browser restart is needed when this extension is first installed. Whilst not a major problem this two-step process does take the shine from being able to manage your virtual infrastructure from &#039;any&#039; computer.&lt;/p&gt;
&lt;div class=&quot;centeredimage&quot;&gt;&lt;a href=&quot;/sites/default/files/u63/vmwareserver-1_lg.jpg&quot;&gt; &lt;img src=&quot;/sites/default/files/u63/vmwareserver-1_sm.jpg&quot; alt=&quot;&quot; width=&quot;400&quot; height=&quot;310&quot; /&gt;&lt;br /&gt; The web administration console (click to enlarge)&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;As an aside given the variety of Java-based SSH, VNC and remote client applets it is a little surprising to see VMWare go the ActiveX/Firefox extension route. Whilst I have not tried the ActiveX control, the Firefox extension is large and feels sluggish when running in both Windows and Linux. Still the ability to setup and manage VMWare from something other than Windows is a definite bonus. However as an OSX user it would be nice to see VMWare management support on this platform as well.&lt;/p&gt;
&lt;div class=&quot;centeredimage&quot;&gt;&lt;a href=&quot;/sites/default/files/u63/vmwareserver-2_lg.jpg&quot;&gt; &lt;img src=&quot;/sites/default/files/u63/vmwareserver-2_sm.jpg&quot; alt=&quot;&quot; width=&quot;400&quot; height=&quot;254&quot; /&gt;&lt;br /&gt; The Firefox extension for virtual console access (click to enlarge)&lt;/a&gt;&lt;/div&gt;
&lt;!--break--&gt;
&lt;h2&gt;But wait, VI Client to the rescue&lt;/h2&gt;
&lt;p&gt;If you are used to a traditional Windows client or just cannot stand the new web interface you will be glad to hear it is possible to manage Server 2 from the Virtual Infrastructure Client. The VI Client is very polished and feels far more responsive than the web interface for administration and console tasks. It also comes with some very nice realtime monitoring tools that graph hardware utilisation at a VM and host level. Whilst personal preference, if you manage VMWare from Windows I suggest ignoring the web interface altogether and heading straight to the VI Client.&lt;/p&gt;
&lt;div class=&quot;centeredimage&quot;&gt;&lt;a href=&quot;/sites/default/files/u63/vmwareserver-3_lg.jpg&quot;&gt; &lt;img src=&quot;/sites/default/files/u63/vmwareserver-3_sm.jpg&quot; alt=&quot;&quot; width=&quot;400&quot; height=&quot;250&quot; /&gt;&lt;br /&gt; The VI Client running against VMWare Server 2.0 (click to enlarge)&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;Server 2 comes with the VI Client which can be downloaded from: &lt;strong&gt;http://your.vmware.server/client/VMware-viclient.exe&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;Does a 500MB download represent a bloated hypervisor?&lt;/h2&gt;
&lt;p&gt;The five fold jump in installer size gave many the impression that the new hypervisor would leave no free resources for the virtual machines it was intended to run. In reality this is far from the case, with the increased download size attributable an enhanced feature-set and broader guest operating system support. The installer size is also not helped by the packaging all software dependencies such as &lt;a id=&quot;e0wg&quot; title=&quot;Java&quot; href=&quot;http://java.sun.com/j2se/1.5.0/&quot;&gt;Java&lt;/a&gt;, &lt;a id=&quot;ay1c&quot; title=&quot;Tomcat&quot; href=&quot;http://tomcat.apache.org/&quot;&gt;Tomcat&lt;/a&gt; and &lt;a id=&quot;o56o&quot; title=&quot;VIX&quot; href=&quot;http://www.vmware.com/support/developer/vix-api/&quot;&gt;VIX&lt;/a&gt; rather than relying on these to be installed independently.&lt;/p&gt;
&lt;p&gt;The end result is that an installation of VMWare Server 2 will consume more disk space than its predecessor, but it does not use excessive amounts of CPU or memory. For example the primary &#039;vmware-hostd&#039; process consumes approximately 130MB of memory and the Java web console 64MB. Assuming you are running a slim host O/S such as Ubuntu 8.04 Server this leaves plenty of memory and CPU cycles for virtual machines.&lt;/p&gt;
&lt;h2&gt;Ubuntu Server, the perfect VMWare host&lt;/h2&gt;
&lt;p&gt;For the last six months I have had great success with &lt;a id=&quot;eqfi&quot; title=&quot;Ubuntu Server 8.04&quot; href=&quot;http://www.ubuntu.com/getubuntu/download&quot;&gt;Ubuntu Server 8.04&lt;/a&gt; as the host operating system. The default installation of Ubuntu Server is very light-weight and has extensive hardware support. To top it off Ubuntu 8.04 is a Long Term Release (LTS) which is supported by Canonical until 2013. VMWare Server 2 comes with pre-compiled kernel modules for Ubuntu 8.04 making installation a breeze. The only thing you need to do prior to installing VMWare Server is install the &lt;strong&gt;make&lt;/strong&gt; package:&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;sudo apt-get install make&lt;/p&gt;
&lt;p&gt;Whilst nothing needs to be compiled for VMWare Server to run, the installer does not like it when the make tool is not present. Apart from this minor distraction installation goes smoothly on both 32bit and 64bit variants of Ubuntu &amp;amp; VMWare Server.&lt;/p&gt;
&lt;h2&gt;A couple of VMWare tips&lt;/h2&gt;
&lt;h3&gt;1. Keep your host machine &#039;clean&#039;&lt;/h3&gt;
&lt;p&gt;For best performance only run the bare minimum on the host operating system. If possible stick to a cut down server O/S like Ubuntu Server instead of Windows or a full blown X-Windows Linux install.&lt;/p&gt;
&lt;h3&gt;2. Run optimised kernels on Linux virtual machines&lt;br /&gt;&lt;/h3&gt;
&lt;p&gt;The 2.6 Linux kernel introduced a 1000Hz clock ticker that is great for desktop performance but a drain on a hypervisor. Not only does this degrade overall performance but it can lead to weird (fast or slow) clocks in the virtual machines themselves. VMWare is optimised for a 100Hz clock so try to run a kernel optimised for virutalisation or set the &lt;a id=&quot;mk7o&quot; title=&quot;following kernel parameters&quot; href=&quot;http://viops.vmware.com/home/docs/DOC-1143&quot;&gt;following kernel parameters&lt;/a&gt;: &quot;&lt;strong&gt;clock=pmtmr divider=10&lt;/strong&gt;&quot;.&lt;/p&gt;
&lt;p&gt;For example if you are using Grub as your Linux virtual machine&#039;s bootloader it would look something like this:&lt;br /&gt;&lt;strong&gt;/boot/grub/menu.lst&lt;/strong&gt; &lt;em&gt;(in this example a Centos 5.2 VM)&lt;/em&gt;&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;default=0&lt;br /&gt; timeout=5&lt;br /&gt; splashimage=(hd0,0)/grub/splash.xpm.gz&lt;br /&gt; hiddenmenu&lt;br /&gt; title CentOS (2.6.18-92.1.13.el5)&lt;br /&gt; root (hd0,0)&lt;br /&gt; kernel /vmlinuz-2.6.18-92.1.13.el5 ro root=/dev/VolGroup00/LogVol00 clock=pmtmr divider=10&lt;br /&gt; initrd /initrd-2.6.18-92.1.13.el5.img&lt;/p&gt;
&lt;p&gt;* divider=10 instructs a 2.6 Linux kernel to check the hardware clock every 100Hz (1000Hz/10).&lt;/p&gt;
&lt;h3&gt;3. Install VMWare Tools&lt;/h3&gt;
&lt;p&gt;Take the time to install VMWare Tools on each of your virtual machines. This package has a decent network driver that removes some of the shortcomings of using a virtualised network interface. If you are running virtual machines with a graphical interface (i.e. Windows) you will also notice significantly improved performance.&lt;/p&gt;
&lt;h3&gt;4. Always use SCSI hard drive controllers in your virtual machines&lt;/h3&gt;
&lt;p&gt;Whilst it is possible to define an IDE hard drive controller within your virtual machine you run the risk of encountering issues when migrating from VMWare Server to ESX/ESXi. This is not an issue if you will only ever be using VMWare Server, but to be sure just stick to the default SCSI controller.&lt;/p&gt;
&lt;h3&gt;5. Do not overload RAM&lt;/h3&gt;
&lt;p&gt;Whilst it is possible to allocate more virtual RAM than your server actually has this is not a good idea. Hard drive access is far slower than memory, so if possible do not impose this bottleneck on your virtual machines.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;VMWare Server 2.0 has come a long way since its early beta releases. Virtual machine performance is very good especially once VMWare Tools is installed and the kernel optimised (if Linux). A lot of work has obviously gone into the web interface and although it is not mind-blowing it does work pretty well. However if you are managing your VMWare infrastructure with Windows you will find the VI Client is superior in terms of functionality and performance. Overall for a free (&lt;a id=&quot;quo:&quot; title=&quot;as in beer&quot; href=&quot;http://en.wikipedia.org/wiki/Gratis_versus_Libre#.22Free_as_in_beer.22.2C_.22free_as_in_speech.22&quot;&gt;as in beer&lt;/a&gt;) hypervisor VMWare Server 2.0 provides a simple and reliable introduction to virtualisation. Also its compatability with VMWare&#039;s &lt;a id=&quot;seuc&quot; title=&quot;Virtual Intrastructure&quot; href=&quot;http://www.vmware.com/products/vi/&quot;&gt;Virtual Intrastructure&lt;/a&gt; ensures that it is easy (but not cheap) to scale your virtual machines well beyond one or two physical hosts.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;  &lt;/div&gt;

&lt;ul class=&quot;field-taxonomy-vocabulary-1&quot;&gt;

      &lt;li&gt;
      &lt;a href=&quot;/tech/virtualisation&quot;&gt;virtualisation&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/ubuntu&quot;&gt;ubuntu&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/vmware&quot;&gt;vmware&lt;/a&gt;    &lt;/li&gt;
  
&lt;/ul&gt;
</description>
 <pubDate>Sun, 05 Oct 2008 08:46:03 +0000</pubDate>
 <dc:creator>David</dc:creator>
 <guid isPermaLink="false">525 at https://www.stress-free.co.nz</guid>
</item>
<item>
 <title>Building a webcam with an old laptop, Canon camera and Linux</title>
 <link>https://www.stress-free.co.nz/building_a_webcam_with_an_old_laptop_canon_camera_and_linux</link>
 <description>
  &lt;div class=&quot;field-body&quot;&gt;
    &lt;p&gt;Recently I put together a webcam for the &lt;a href=&quot;http://www.aorangi.org&quot;&gt;Aorangi Ski Club&#039;s&lt;/a&gt; lodge on Ruapehu. The system consists of a second-hand laptop, an old Canon camera and Ubuntu Linux. Images are automatically captured every hour, timestamped and posted to Flickr. The end result is a pretty impressive looking &lt;a href=&quot;http://www.flickr.com/photos/28875691@N05&quot;&gt;Flickr slideshow&lt;/a&gt;:&lt;/p&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;iframe align=&quot;center&quot; src=&quot;http://www.flickr.com/slideShow/index.gne?user_id=28875691@N05&quot; frameborder=&quot;0&quot; width=&quot;350&quot; scrolling=&quot;no&quot; height=&quot;350&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;To put a similar setup together follow these steps.&lt;/p&gt;
&lt;h2&gt;Step 1: Get the gear&lt;/h2&gt;
&lt;p&gt;Find a Linux compatible laptop and a Canon camera compatible with the &lt;a href=&quot;http://capture.sourceforge.net/&quot;&gt;Capture software&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Step 2: Install Linux&lt;/h2&gt;
&lt;p&gt;I installed &lt;a href=&quot;http://www.ubuntu.com/&quot;&gt;Ubuntu 8.04&lt;/a&gt; on the laptop because from my experience it has the best &#039;out of the box&#039; support for laptop hardware. It didn&#039;t prove me wrong when installing onto the four year old Toshiba, it even detected the winmodem.&lt;/p&gt;
&lt;h2&gt;Step 3: Internet connectivity&lt;/h2&gt;
&lt;p&gt;The problem of getting Internet connectivity will vary depending on where your webcam is located. In my case it was in a relatively isolated position half-way up one of New Zealand&#039;s largest mountains. That meant the only Internet connection available was via the phone line.&lt;/p&gt;
&lt;p&gt;Unfortunately in this day and age winmodems are not supported that well by the popular Linux distributions. Your best bet is to get a hardware modem rather than relying on a cheaper &#039;winmodem&#039; alternative. For me however budget was a driving factor so the winmodem had to stay. Fortunately the Conexant winmodem in the laptop did have a binary kernel driver available.&lt;/p&gt;
&lt;p&gt;Setting up a modem in Linux will vary depending on your distribution, but if all else fails read the &lt;a href=&quot;http://tldp.org/HOWTO/PPP-HOWTO/&quot;&gt;PPP howto&lt;/a&gt; and edit the configuration files directly.&lt;/p&gt;
&lt;h2&gt;Step 4: Install the software requirements&lt;/h2&gt;
&lt;p&gt;At this point it is a good idea to plug your laptop into your LAN and perform a full software update (i.e. apt-get update or yum update). Once that is complete install &lt;a href=&quot;http://www.imagemagick.org/&quot;&gt;Imagemagick&lt;/a&gt;, &lt;a href=&quot;http://capture.sourceforge.net/&quot;&gt;Capture&lt;/a&gt; and the Perl library &lt;a href=&quot;http://search.cpan.org/~cpb/Flickr-Upload/flickr_upload&quot;&gt;flickr_upload&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Imagemagick is very popular and should be just a case of running apt-get install imagemagick (or yum install imagemagick). Unfortunately it is highly unlikely you will find prebuilt .deb or .rpm packages for Capture or flickr_upload. In both cases it is best to download the source code and follow the compile/installation instructions. Both these packages have dependencies which you will need to track down and install, but trust me, both do compile and install on Ubuntu 8.04.&lt;/p&gt;
&lt;h2&gt;Step 5: Test your camera&lt;/h2&gt;
&lt;p&gt;At this point you should have all the prerequisits in place to start writing your webcam script.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; For simplicity these scripts will run as root. This gets around all the permissions issues when accessing modems and USB devices. Also the fact that this will be a standalone device doing non-mission critical work means it isn&#039;t a huge problem.&lt;/p&gt;
&lt;p&gt;Create a directory somewhere (say /usr/local/webcam) and create a file called capture.sh.&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;nano capture.sh&lt;/p&gt;
&lt;p&gt;Give it the following contents:&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;#!/bin/bash&lt;br /&gt;# Get the new image from the camera&lt;br /&gt;capture &#039;start&#039;&lt;br /&gt;capture &#039;flash off&#039;&lt;br /&gt;capture &#039;zoom 1&#039;&lt;br /&gt;capture &#039;metering spot&#039;&lt;br /&gt;capture &#039;focuspoint center&#039;&lt;br /&gt;capture &#039;capture raw.jpg&#039;&lt;br /&gt;capture &#039;detach&#039;&lt;/p&gt;
&lt;p&gt;Set the execute properties on this script.&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;chmod a+x&lt;/p&gt;
&lt;p&gt;Plug the camera in to the laptop via a USB cable, turn it on and execute this script.&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;./capture.sh&lt;/p&gt;
&lt;p&gt;All going well the camera should come alive, focus itself, take a photo and download it to the current directory (i.e. /usr/local/webcam) with a filename of raw.jpg.&lt;/p&gt;
&lt;p&gt;If things do not work Google the error message, check the cable connections and try again. I tried the Capture application with a couple of supported Canon cameras and they all worked fine.&lt;/p&gt;
&lt;h2&gt;Step 6: Setup Flickr API access&lt;br /&gt;&lt;/h2&gt;
&lt;p&gt;Assuming your camera is happily taking photos when directed by your laptop you can go ahead and setup Flickr.&lt;/p&gt;
&lt;p&gt;Sign up for a Flickr account (they are free). This will be where your webcam photos are sent to. Next sign up for a Flickr API key here: &lt;a href=&quot;http://www.flickr.com/services/api/keys/apply/&quot;&gt;http://www.flickr.com/services/api/keys/apply/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Record the &lt;strong&gt;Flickr API key and secret&lt;/strong&gt; that you are provided at the end of this process.&lt;/p&gt;
&lt;p&gt;In the /usr/local/webcam directory create a file named flickr-auth.pl.&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;nano flickr-auth.pl&lt;/p&gt;
&lt;p&gt;Give the file the following contents &lt;em&gt;(replace YOUR_FLICKR_KEY/SECRET with your actual key and secret)&lt;/em&gt;:&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;#!/usr/bin/perl&lt;br /&gt;&lt;br /&gt;use Flickr::API;&lt;br /&gt;use Flickr::Upload;&lt;br /&gt;&lt;br /&gt;my $flickr_key = &#039;YOUR_FLICKR_KEY&#039;;&lt;br /&gt;my $flickr_secret = &#039;YOUR_FLICKR_SECRET&#039;;&lt;br /&gt;&lt;br /&gt;my $ua = Flickr::Upload-&amp;gt;new(&lt;br /&gt;{&lt;br /&gt;&#039;key&#039; =&amp;gt; $flickr_key,&lt;br /&gt;&#039;secret&#039; =&amp;gt; $flickr_secret&lt;br /&gt;});&lt;br /&gt;$ua-&amp;gt;agent( &quot;perl upload&quot; );&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;my $frob = getFrob( $ua );&lt;br /&gt;print &quot;FROB:$frob;\n&quot;;&lt;br /&gt;&lt;br /&gt;my $url = $ua-&amp;gt;request_auth_url(&#039;write&#039;, $frob);&lt;br /&gt;print &quot;1. Enter the following URL into your browser\n\n&quot;,&lt;br /&gt;&quot;$url\n\n&quot;,&lt;br /&gt;&quot;2. Follow the instructions on the web page\n&quot;,&lt;br /&gt;&quot;3. Hit when finished.\n\n&quot;;&lt;br /&gt;&lt;br /&gt;&amp;lt;&amp;gt;;&lt;br /&gt;&lt;br /&gt;my $auth_token = getToken( $ua, $frob );&lt;br /&gt;die &quot;Failed to get authentication token!&quot; unless defined $auth_token;&lt;br /&gt;&lt;br /&gt;print &quot;Token is $auth_token\n&quot;;&lt;br /&gt;&lt;br /&gt;sub getFrob {&lt;br /&gt;my $ua = shift;&lt;br /&gt;&lt;br /&gt;my $res = $ua-&amp;gt;execute_method(&quot;flickr.auth.getFrob&quot;);&lt;br /&gt;return undef unless defined $res and $res-&amp;gt;{success};&lt;br /&gt;&lt;br /&gt;return $res-&amp;gt;{tree}-&amp;gt;{children}-&amp;gt;[1]-&amp;gt;{children}-&amp;gt;[0]-&amp;gt;{content};&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;sub getToken {&lt;br /&gt;my $ua = shift;&lt;br /&gt;my $frob = shift;&lt;br /&gt;&lt;br /&gt;my $res = $ua-&amp;gt;execute_method(&quot;flickr.auth.getToken&quot;,&lt;br /&gt;{ &#039;frob&#039; =&amp;gt; $frob ,&lt;br /&gt;&#039;perms&#039; =&amp;gt; &#039;write&#039;} );&lt;br /&gt;return undef unless defined $res and $res-&amp;gt;{success};&lt;br /&gt;&lt;br /&gt;return $res-&amp;gt;{tree}-&amp;gt;{children}-&amp;gt;[1]-&amp;gt;{children}-&amp;gt;[1]-&amp;gt;{children}-&amp;gt;[0]-&amp;gt;{content};&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;Set the execute permissions for the file and run the script.&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;chmod a+x flickr-auth.pl &lt;br /&gt;./flickr-auth.pl&lt;/p&gt;
&lt;p&gt;Follow the onscreen instructions. You will be directed to open a browser window to the location specified, and accept the request. Once accepted press enter on the laptop and the script with return your Flickr auth token. Write this token down somewhere as it will be needed in a moment.&lt;/p&gt;
&lt;h2&gt;Step 7: Setup the Flickr upload script&lt;/h2&gt;
&lt;p&gt;Create a file named flickr-upload.pl and give it the following contents &lt;em&gt;(again replace YOUR_FLICKR_KEY/SECRET/TOKEN with your actual key, secret and token)&lt;/em&gt;:&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;#!/usr/bin/perl&lt;br /&gt;use strict;&lt;br /&gt;&lt;br /&gt;use Flickr::Upload;&lt;br /&gt;&lt;br /&gt;my $flickr_key = &quot;YOUR_FLICKR_KEY&quot;;&lt;br /&gt;my $flickr_secret = &quot;YOUR_FLICKR_SECRET&quot;;&lt;br /&gt;my $auth_token = &quot;YOUR_FLICKR_TOKEN&quot;;&lt;br /&gt;&lt;br /&gt;my $photograph = &quot;&quot;;&lt;br /&gt;foreach my $arg (@ARGV) {&lt;br /&gt; $photograph = $arg;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;my $ua = Flickr::Upload-&amp;gt;new(&lt;br /&gt; {&lt;br /&gt; &#039;key&#039; =&amp;gt; $flickr_key,&lt;br /&gt; &#039;secret&#039; =&amp;gt; $flickr_secret&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt;$ua.agent =&amp;gt; ( &quot;perl upload&quot; );&lt;br /&gt;&lt;br /&gt;$ua-&amp;gt;upload(&lt;br /&gt; &#039;photo&#039; =&amp;gt; $photograph,&lt;br /&gt; &#039;auth_token&#039; =&amp;gt; $auth_token,&lt;br /&gt; &#039;tags&#039; =&amp;gt; &#039;webcam&#039;,&lt;br /&gt; &#039;is_public&#039; =&amp;gt; 1,&lt;br /&gt; &#039;is_friend&#039; =&amp;gt; 1,&lt;br /&gt; &#039;is_family&#039; =&amp;gt; 1&lt;br /&gt;) or die &quot;Failed to upload image&quot;;&lt;/p&gt;
&lt;p&gt;You can also edit the last couple of lines to define the tags applied to the uploaded photo and its privacy settings.&lt;/p&gt;
&lt;h2&gt;Step 8: The webcam script&lt;/h2&gt;
&lt;p&gt;Create a file named process.sh and give it the following contents:&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;#!/bin/bash&lt;br /&gt;TEMP=&quot;/usr/local/webcam&quot;&lt;br /&gt;DATESTRING=`date +%l:%M%P\ on\ %A,\ %d\ %B\ %Y`&lt;br /&gt;RAWFILE=&quot;raw.jpg&quot;&lt;br /&gt;RESIZEDFILE=&quot;resized.jpg&quot;&lt;br /&gt;STAMPEDFILE=&quot;stamped.jpg&quot;&lt;br /&gt;UPLOADFILE=&quot;Webcam $DATESTRING.jpg&quot;&lt;br /&gt;&lt;br /&gt;logger &quot;Webcam process initiated&quot;&lt;br /&gt;&lt;br /&gt;# Change to the temp directory&lt;br /&gt;cd $TEMP&lt;br /&gt;&lt;br /&gt;# Get the new image from the camera&lt;br /&gt;echo &quot;Taking photograph...&quot;&lt;br /&gt;./capture.sh&lt;br /&gt;&lt;br /&gt;# Connect to the Internet&lt;br /&gt;pon&lt;br /&gt;&lt;br /&gt;# Convert and stamp the photograph&lt;br /&gt;echo &quot;...converting image for the web&quot;&lt;br /&gt;convert -resize 1024x768 $RAWFILE $RESIZEDFILE&lt;br /&gt;convert -fill &quot;#333333&quot; -draw &quot;rectangle 0,722 1024,768&quot; $RESIZEDFILE $STAMPEDFILE&lt;br /&gt;convert -fill &quot;#eeeeee&quot; -draw &quot;rectangle 0,723 1024,768&quot; $STAMPEDFILE $STAMPEDFILE&lt;br /&gt;convert -font &quot;Helvetica&quot; -pointsize 28 -fill &quot;#111111&quot; -draw &quot;text 25, 755 &#039;$DATESTRING&#039;&quot; $STAMPEDFILE $STAMPEDFILE&lt;br /&gt;&lt;br /&gt;# Wait for connection&lt;br /&gt;echo &quot;Connecting to the Internet...&quot;&lt;br /&gt;sleep 45&lt;br /&gt;&lt;br /&gt;# Update the system time&lt;br /&gt;ntpdate nz.pool.ntp.org&lt;br /&gt;&lt;br /&gt;# Upload the photograph&lt;br /&gt;echo &quot;Uploading photograph&quot;&lt;br /&gt;# echo $UPLOADFILE&lt;br /&gt;cp $STAMPEDFILE &quot;$UPLOADFILE&quot;&lt;br /&gt;./flickr-upload.pl &quot;$UPLOADFILE&quot;&lt;br /&gt;&lt;br /&gt;# Disconnect&lt;br /&gt;echo &quot;Disconnecting...&quot;&lt;br /&gt;sleep 5&lt;br /&gt;poff&lt;br /&gt;echo &quot;...complete&quot;&lt;br /&gt;&lt;br /&gt;# Clean up - delete working files (if they exist)&lt;br /&gt;rm *.jpg&lt;br /&gt;&lt;br /&gt;logger &quot;Webcam process complete&quot;&lt;/p&gt;
&lt;p&gt;This script ties everything together:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;it executes the capture.sh script and takes a photo&lt;/li&gt;
&lt;li&gt; connects the modem to the Internet&lt;/li&gt;
&lt;li&gt;syncs the system time with a nearby NTP server&lt;/li&gt;
&lt;li&gt;resizes and stamps the photograph with the current date and time&lt;/li&gt;
&lt;li&gt;uploads the resized image to your Flickr account&lt;/li&gt;
&lt;li&gt;disconnects from the Internet&lt;/li&gt;
&lt;li&gt;removes the temporary image files&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; You will probably want to edit parts of this script. For example you could use different image names or temp directories or a time server pool for your country.&lt;/p&gt;
&lt;p&gt;Set the execute permissions of the file, set the camera up and run the script.&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;chmod a+x process.sh&lt;br /&gt; ./process.sh&lt;/p&gt;
&lt;p&gt;All going well your laptop and camera should run through the routine outlined above. If you experience any errors it is just a case of debugging and trying again.&lt;/p&gt;
&lt;h2&gt;Step 9: Setup the cron job&lt;/h2&gt;
&lt;p&gt;Once the script is working as expected setup a cron job to run on a regular basis. How often is semi-dependent on your daylight hours and available Flickr bandwidth. A free Flickr account has limited upload bandwidth per month so you want to be careful your webcam does not take too many photographs. In the case of the Aorangi webcam it takes a photo once per hour between 7:30am and 4:30pm.&lt;/p&gt;
&lt;p&gt;Create a file in &lt;strong&gt;/etc/cron.d&lt;/strong&gt; named webcam and give it the following contents:&lt;/p&gt;
&lt;p class=&quot;codesnippet&quot;&gt;30 7-15 * * * root /usr/local/webcam/process.sh&lt;/p&gt;
&lt;p&gt;Restart cron and you should find everything runs like clockwork from that point forward.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;  &lt;/div&gt;

&lt;ul class=&quot;field-taxonomy-vocabulary-1&quot;&gt;

      &lt;li&gt;
      &lt;a href=&quot;/tech/linux&quot;&gt;linux&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/ubuntu&quot;&gt;ubuntu&lt;/a&gt;    &lt;/li&gt;
  
&lt;/ul&gt;
</description>
 <pubDate>Fri, 22 Aug 2008 09:51:03 +0000</pubDate>
 <dc:creator>David</dc:creator>
 <guid isPermaLink="false">518 at https://www.stress-free.co.nz</guid>
</item>
<item>
 <title>Clueless Linux pundit of the week</title>
 <link>https://www.stress-free.co.nz/clueless_linux_pundit_of_the_week</link>
 <description>
  &lt;div class=&quot;field-body&quot;&gt;
    &lt;p&gt;There was a posting on the Linux forums that caught my attention mainly because its title and subsequent logic was so twisted that it was hard to ignore. &lt;a href=&quot;http://www.linuxforums.org/misc/why_ubuntu_got_it_all_wrong.html&quot;&gt;Why Ubuntu Got It All Wrong&lt;/a&gt; is a fairly lengthy posting about how &lt;a href=&quot;http://www.ubuntu.com/&quot;&gt;Ubuntu Linux&lt;/a&gt;, arguably the most successful Linux of the last few years, is completely wrong and should be viewed as a dismal failure. It is an interesting concept, Ubuntu is certainly showing &lt;a href=&quot;http://www.markshuttleworth.com/archives/54&quot;&gt;signs of being too popular too fast&lt;/a&gt;, but the logic behind the argument is wrong. The weirdest statement made is that a &#039;revolutionary&#039; Linux desktop should not resemble the current desktop (i.e. Windows/OSX) at all. In fact in the eyes of the author Ubuntu seems to fail because it is too conventional and the money invested by Mark Shuttleworth would have been better spent on experimental, never to be seriously adopted concepts like &lt;a href=&quot;http://www.sun.com/software/looking_glass/&quot;&gt;Project Looking Glass&lt;/a&gt;.&lt;/p&gt; &lt;div class=&quot;largeimage&quot;&gt;&lt;img src=&quot;/sites/default/files/u63/project-looking-glass.jpg&quot; alt=&quot;&quot; width=&quot;450&quot; height=&quot;327&quot; /&gt;&lt;br /&gt;A screenshot from Project Looking Glass&lt;/div&gt; &lt;p&gt;Ubuntu and most Linux desktops are not about &#039;revolutionising&#039; the desktop experience if there is such a thing. The key ideology behind Ubuntu and to a lesser extent Red Hat/Suse is to bring an open-source desktop alternative to the Microsoft dominated table. With this objective in mind Ubuntu is doing an excellent job, the operating system installs on just about anything, it is relatively stable and what&#039;s more the end result can be used by normal people as long as they are semi-computer literate. This ease of use is the key behind Ubuntu and if the desktop experience was as &#039;revolutionary&#039; as this poster is suggesting then my guess is the end result would be interesting from an academic perspective but hardly practical. &lt;/p&gt;&lt;p&gt;What&#039;s more the poster contradicts himself by first stating the desktop experience is not revolutionary enough and then goes on to say &quot;human beings don&#039;t like change and cannot be expected to change every piece of software they all use at once&quot;.  I am afraid you can&#039;t have one without the other and once you start running applications like Photoshop through Wine any hope of a revolutionary desktop is lost in the flat-tone grey that is Windows GUI emulation in Linux.&lt;/p&gt;&lt;p&gt;It is a shame the post is so riddled with these contradictions, the underlying premise seems to hold merit and there is the odd valid point made. Like for example why haven&#039;t large companies invested serious effort (in developer and support time) on &lt;a href=&quot;http://www.winehq.com/&quot;&gt;Wine&lt;/a&gt;? It would appear Wine is a very promising technology from the perspective that it can get essential business applications running native in Linux. Google has provided &lt;a href=&quot;http://trends.newsforge.com/article.pl?sid=06/05/25/2343255&quot;&gt;some patches&lt;/a&gt; in order to ensure Picasa compatibility but that is at the low-key end of support. Unfortunately whilst Wine is kept out in the relative cold by Ubuntu, Red Hat, Novell and others it will never reach its full potential, and whilst this remains the case I am affraid neither will desktop Linux.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;  &lt;/div&gt;

&lt;ul class=&quot;field-taxonomy-vocabulary-1&quot;&gt;

      &lt;li&gt;
      &lt;a href=&quot;/tech/linux&quot;&gt;linux&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/desktop&quot;&gt;desktop&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/ubuntu&quot;&gt;ubuntu&lt;/a&gt;    &lt;/li&gt;
  
&lt;/ul&gt;
</description>
 <pubDate>Wed, 06 Sep 2006 11:43:45 +0000</pubDate>
 <dc:creator>David</dc:creator>
 <guid isPermaLink="false">308 at https://www.stress-free.co.nz</guid>
</item>
<item>
 <title>Ubuntu on PowerBook</title>
 <link>https://www.stress-free.co.nz/ubuntu_on_powerbook</link>
 <description>
  &lt;div class=&quot;field-body&quot;&gt;
    I formatted my hard drive today and repartitioned it with space for OSX and Ubuntu. Originally I planned on putting in a larger hard disk but cracking open an aluminium PowerBook is like tackling a lobster with a butter knife.&lt;br /&gt;Ubuntu installed effortlessly on the machine with very little input from myself. I was even surprised to find my Apple bluetooth mouse works without having to do anything. Apparently the wireless will not work but that is because the wireless manufacturer uses a closed source driver.&lt;br /&gt;&lt;!--break--&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center&quot;&gt;&lt;a href=&quot;/sites/default/files/images//news/ubuntu_ppc_lg.jpg&quot;&gt;&lt;img src=&quot;/sites/default/files/images//news/ubuntu_ppc_sm.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt; (Click to Enlarge)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;  &lt;/div&gt;

&lt;ul class=&quot;field-taxonomy-vocabulary-1&quot;&gt;

      &lt;li&gt;
      &lt;a href=&quot;/tech/linux&quot;&gt;linux&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/apple&quot;&gt;apple&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/laptop&quot;&gt;laptop&lt;/a&gt;    &lt;/li&gt;
      &lt;li&gt;
      &lt;a href=&quot;/tech/ubuntu&quot;&gt;ubuntu&lt;/a&gt;    &lt;/li&gt;
  
&lt;/ul&gt;
</description>
 <pubDate>Wed, 17 Aug 2005 05:08:18 +0000</pubDate>
 <dc:creator>David</dc:creator>
 <guid isPermaLink="false">113 at https://www.stress-free.co.nz</guid>
</item>
</channel>
</rss>
