<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Callum Macdonald &#187; Techy</title>
	<atom:link href="http://www.callum-macdonald.com/category/techy/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.callum-macdonald.com</link>
	<description>Callum on life</description>
	<lastBuildDate>Sun, 05 Feb 2012 09:01:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Skype in Ubuntu Precise alpha</title>
		<link>http://www.callum-macdonald.com/2012/01/08/skype-in-ubuntu-precise-alpha/</link>
		<comments>http://www.callum-macdonald.com/2012/01/08/skype-in-ubuntu-precise-alpha/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 16:38:41 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[ia32-libs]]></category>
		<category><![CDATA[libxss]]></category>
		<category><![CDATA[precise]]></category>
		<category><![CDATA[Skype]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2700</guid>
		<description><![CDATA[Last night I installed Ubuntu Precise Pangolin 12.04. I was inspired by Mark Shuttleworth&#8217;s post and figured because this is an LTS release, it might be ok to upgrade this early, instead of going to 11.10 first. My biggest hassle &#8230; <a href="http://www.callum-macdonald.com/2012/01/08/skype-in-ubuntu-precise-alpha/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last night I installed Ubuntu Precise Pangolin 12.04. I was inspired by <a title="Mark Shuttleworth on Precise" href="http://www.markshuttleworth.com/archives/938" target="_blank">Mark Shuttleworth&#8217;s post</a> and figured because this is an LTS release, it might be ok to upgrade this early, instead of going to 11.10 first.</p>
<p>My biggest hassle was getting skype working. I documented the steps in the hope that it might save somebody else some hassle. This worked for me today, 8 Jan 2012, it might get out of date fast, and should be totally obsolete soon.</p>
<p>First, I installed a bunch of packages from oneiric. I don&#8217;t think these are available in precise yet. They are:</p>
<p>They can be downloaded in one go with <a title="Command to download skype precise packages from oneiric in one go" href="http://www.callum-macdonald.com/wordpress/wp-content/uploads/2012/01/skype_precise_downloads_in_one_go.txt" target="_blank">this</a> command (I believe, I haven&#8217;t actually tested, I downloaded them one by one). That command makes a new directory &#8220;skype-downloads&#8221; then downloads all the packages into it. From there, I ran:</p>
<p><code>dpkg -i *.deb<br />
sudo apt-get -f install<br />
sudo apt-get upgrade<br />
sudo apt-get install libxss1:i386 libqtcore4:i386 libqt4-dbus:i386 libasound2:i386 libxv1:i386 libsm6:i386 libxi6:i386 libXrender1:i386 libxrandr2:i386 libfreetype6:i386 libfontconfig1:i386 libqtgui4:i386<br />
</code></p>
<p>This installs all the downloaded files, upgrades / fixes some of them, then installs a whole load more i386 dependencies. Finally, after all that, I was able to install the skype .deb I downloaded from <a title="Download skype for linux" href="http://www.skype.com/intl/en-us/get-skype/on-your-computer/linux/" target="_blank">skype.com</a>. After downloading the file, I&#8217;d suggest using dpkg to install it like this:</p>
<p><code>dpkg -i /path/to/downloaded/skype-ubuntu_2.2.0.35-1_amd64.deb</code></p>
<p>Then I was able to start skype. However, it wouldn&#8217;t show in the systray. To solve that, I used this command:</p>
<p><code>gsettings set com.canonical.Unity.Panel systray-whitelist "['Skype']"</code></p>
<p>This command sets the value found in dconf-editor at desktop &gt; unit &gt; panel, called systra-whitelist. This value sets which programs can appear in the old fashioned system tray (now that we&#8217;re onto bigger and better things with unity and indicators). There&#8217;s a <a title="Bug which prevents all from allowing all systray items in unity" href="https://bugs.launchpad.net/ubuntu/+source/unity-2d/+bug/847525" target="_blank">bug</a> which means setting &#8220;all&#8221; in this value doesn&#8217;t work. So you need to add each program you want, in single quotes, separated by a comma. See <a title="Displaying items in the system tray on ubuntu unity" href="http://askubuntu.com/questions/35289/one-line-command-for-adding-new-items-to-com-canonical-unity-panel-systray-white" target="_blank">this</a> for more.</p>
<p>I don&#8217;t really understand what all of this does, I copied various bits and pieces from a few places and pieced it altogether through trial and error. This <a title="Installing ia32-libs from oneiric in precise" href="http://ubuntuforums.org/showthread.php?t=1880965" target="_blank">forum post</a> talks about installing from oeneric, and this <a title="Requirements to get skype running in precise" href="http://www.mindwerks.net/2011/09/skype-on-ubuntu-11-10-oneiric-ocelot/" target="_blank">blog post</a> listed the extra requirements.</p>
<p>I&#8217;m on skype video now, so this all worked! <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2012/01/08/skype-in-ubuntu-precise-alpha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress patches</title>
		<link>http://www.callum-macdonald.com/2012/01/06/wordpress-patches/</link>
		<comments>http://www.callum-macdonald.com/2012/01/06/wordpress-patches/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 12:35:59 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[diff]]></category>
		<category><![CDATA[download wordpress patches]]></category>
		<category><![CDATA[incremental upgrade]]></category>
		<category><![CDATA[partial upgrade]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[wordpress patches]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2698</guid>
		<description><![CDATA[The upgrading mechanism in recent WordPress version downloads an incremental upgrade zip file. I couldn&#8217;t find anything online to get the urls, so I dug into the code and I&#8217;m posting here. The upgrade from 3.3.0 to 3.3.1 was in &#8230; <a href="http://www.callum-macdonald.com/2012/01/06/wordpress-patches/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The upgrading mechanism in recent WordPress version downloads an incremental upgrade zip file. I couldn&#8217;t find anything online to get the urls, so I dug into the code and I&#8217;m posting here.</p>
<p style="text-align: left;">The upgrade from 3.3.0 to 3.3.1 was in the file <a title="Incremental upgrade from WordPress 3.3 to 3.3.1" href="http://wordpress.org/wordpress-3.3.1-partial-0.zip" target="_blank">wordpress-3.3.1-partial-0.zip</a>. I&#8217;ll try to remember to update this post as future versions come out. I&#8217;m not sure of the exact file format. I think it&#8217;s -partial-0/1/2 to mark how many minor versions back the upgrade goes.</p>
<p style="text-align: left;">Personally, I use these files for minor upgrades because it&#8217;s faster, but I use the full download file for a full version upgrade.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2012/01/06/wordpress-patches/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Processing incoming emails</title>
		<link>http://www.callum-macdonald.com/2011/08/21/processing-incoming-emails/</link>
		<comments>http://www.callum-macdonald.com/2011/08/21/processing-incoming-emails/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 22:44:52 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[context.io]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Google Apps]]></category>
		<category><![CDATA[incoming mail]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mailgun]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[yak mail]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2605</guid>
		<description><![CDATA[I&#8217;ve been looking into how to programatically process incoming emails. For example, to create an email address where somebody can send a CSV file and then have that data parsed and automatically inserted into a database. There are some interesting &#8230; <a href="http://www.callum-macdonald.com/2011/08/21/processing-incoming-emails/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been looking into how to programatically process incoming emails. For example, to create an email address where somebody can send a CSV file and then have that data parsed and automatically inserted into a database.</p>
<p>There are some interesting tools in this space. The easiest, at least in principle, appears to be <a title="Email Yak - a JSON API for sending and receiving email" href="http://www.emailyak.com/" target="_blank">Email Yak</a>. They expose a JSON API which will trigger a POST or GET request for incoming messages, and can send message likewise. However, upon signup I got a 500 error and likewise after logging in. So I can&#8217;t currently test the service. In principle though, it looks interesting. 500 emails a month on their domain for free, 1000 on any domain for $5/month. Then it kicks up to $40 or $150 for 20k or 100k emails.</p>
<p>Another interesting tool is <a title="Context.IO a web developer friendly API to read IMAP mailboxes" href="http://context.io/" target="_blank">Context.IO</a>. This is essentially a web friendly API in front of IMAP mailboxes. Their pricing model is also interesting, starting at $1.50 per mailbox per month, with a $15 minimum. Currently the service is read-only, but the option to move messages around is coming in api v2. They also have a free account which includes 3 mailboxes, and they charge 85c/GB for attachment transfer over 100MB.</p>
<p>This is really about extracting knowledge from email inboxes and focuses Google&#8217;s mail hosting (gmail/google apps), but will work with others. There seems to be a strong focus on attachments and conversations. Could be a useful component in quickly building another service, but I&#8217;d guess I&#8217;d want to build my own version eventually.</p>
<p>Google App Engine provides a <a title="Google App Engine handles incoming email and routes to a python script" href="https://code.google.com/appengine/docs/python/mail/receivingmail.html" target="_blank">mechanism</a> to handle incoming emails and pipe them to a script. Sounds very sensible, and it would probably be possible to build a mail routing system on top of this by having the python script send the mail onwards via an API call or POST request.</p>
<p>I also read a few articles about having postfix send mail to a script. <a title="Have mail sent to Ruby from postfix" href="http://blog.gipoo.net/2010/5/26/handling-bounced-emails-in-ruby-on-rails" target="_blank">This</a> one is useful. <a title="Figure out which emails are bouncing on rails" href="http://keakaj.com/wisdom/2007/08/08/verp-on-rails/" target="_blank">This</a> article talks about configuring custom reply-to addresses to know which emails bounce, something called VERP apparently.</p>
<h2>Conclusion</h2>
<p>It seems to me like Yak Mail (I&#8217;ve had a reply from them about the 500 error while typing this blog post, impressed!) and Context.IO are useful pieces. Google&#8217;s mail API is also smart, and Amazon will probably add something similar to AWS before too long. If this was core to an application, I&#8217;d probably set up postfix to forward mail to a script eventually. But in the early days, I think Yak Mail is probably the way to go.</p>
<h2>Mailgun</h2>
<p>In my roundup, appeared to have completely missed the best offering of all, <a title="Email API incoming and outgoing, mailboxes, deliverability, tracking" href="http://mailgun.net/" target="_blank">mailgun</a>. Free tier includes 200 messages a day on a shared IP, pro tier is $19 minimum per month on a shared ip, $59 minimum on a dedicated IP. APIs to send and receive mail, mailboxes accessible via IMAP and POP3, charges only for storage and message counts, not mailoxes. Plus open source helper libraries available. Looks like the slickest of the lot.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2011/08/21/processing-incoming-emails/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Force SSH password on lftp</title>
		<link>http://www.callum-macdonald.com/2011/07/07/force-ssh-password-on-lftp/</link>
		<comments>http://www.callum-macdonald.com/2011/07/07/force-ssh-password-on-lftp/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 18:09:32 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[force password]]></category>
		<category><![CDATA[lftp]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[pubkeyauthentication]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2549</guid>
		<description><![CDATA[When trying to connect to an sftp server in lftp, it automatically tries public key authentication first. In my case, because I have so many keys, I usually get &#8220;too many authentication failures&#8221; before it gets around to trying the &#8230; <a href="http://www.callum-macdonald.com/2011/07/07/force-ssh-password-on-lftp/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When trying to connect to an sftp server in lftp, it automatically tries public key authentication first. In my case, because I have so many keys, I usually get &#8220;too many authentication failures&#8221; before it gets around to trying the password. Took me a while to find the solution, but it turns out to be fairly simple.</p>
<p>Once lftp is running, simply issue this command:</p>
<p><code>set sftp:connect-program "ssh -a -x -o PubkeyAuthentication=false"</code></p>
<p>This causes ssh to be run with public key authentication disabled, so it tries the password immediately, and succeeds. Yay. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Posting here for future reference.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2011/07/07/force-ssh-password-on-lftp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a plivo AMI</title>
		<link>http://www.callum-macdonald.com/2011/06/29/building-a-plivo-ami/</link>
		<comments>http://www.callum-macdonald.com/2011/06/29/building-a-plivo-ami/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 19:14:45 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[plivo]]></category>
		<category><![CDATA[sip]]></category>
		<category><![CDATA[tropo]]></category>
		<category><![CDATA[twilio]]></category>
		<category><![CDATA[twiml]]></category>
		<category><![CDATA[voice]]></category>
		<category><![CDATA[voicexml]]></category>
		<category><![CDATA[Voip]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2544</guid>
		<description><![CDATA[I&#8217;ve been experimenting with Amazon&#8217;s web services recently. I&#8217;ve also been playing with voice apps on both Twilio and Tropo. Then I found plivo. Happy days. Plivo is an open source service that offers functionality comparable to the hosted services. &#8230; <a href="http://www.callum-macdonald.com/2011/06/29/building-a-plivo-ami/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been experimenting with Amazon&#8217;s web services recently. I&#8217;ve also been playing with voice apps on both <a title="Twilio" href="http://www.twilio.com/" target="_blank">Twilio</a> and <a title="Tropo" href="http://www.tropo.com/" target="_blank">Tropo</a>. Then I found <a title="Plivo: Painless open source voice web apps" href="http://www.plivo.org/" target="_blank">plivo</a>. Happy days.</p>
<p>Plivo is an open source service that offers functionality comparable to the hosted services. The authors have also made it outrageously easy to install by packaging the whole thing into two easy to run scripts. There was no EC2 AMI so I set out to create one. It turns out to be fairly straightforward, and all possible through the web console.</p>
<h3>Choose a base AMI</h3>
<p>The first step is to choose a base AMI. I used the Ubuntu 10.04 amd64 standard AMI in the eu-west-1 region (ami-4290a636). Then I logged in, ran the plivo install commands, waited, waited some more, waited a little longer, and all was done.</p>
<p>Now, to secure the AMI before publishing it, I removed the ssh keys, authorized_keys, and the bash history. This is not as simple as it sounds. I also logged in from a host that I knew would show up in the &#8220;last logged in from&#8221; section.</p>
<p>I logged in and ran the following commands:</p>
<p><code>sudo shred -u /etc/ssh/ssh_host_*<br />
shred -u ~/.ssh/authorized_keys<br />
shred -u ~/.bash_history</code></p>
<p>Now I went into the web console, selected the instance, chose the Instance Actions menu and selected Create Image (EBS AMI). Then under AMIs, I selected my new image, and changed the permissions to public.</p>
<p>Note that in order to take a snapshot, the instance pauses for a second. During that pause, I lose my SSH connection, and having just destroyed SSH on the machine, I cannot get back in. So I have to terminate (kill) the instance and boot it a fresh from the new AMI. This creates new SSH host keys and puts my SSH key back into authorized_keys.</p>
<h3>Elegance</h3>
<p>I&#8217;m sure there&#8217;s a more elegant (and potentially elaborate) way of doing this. But it worked for me. It was quick and painless. Now there&#8217;s a public plivo AMI in the eu-west-1 region. I&#8217;ll look into how I get it into other regions, and if I need to pay for the storage to have it publicly available.</p>
<h3>Result</h3>
<p>The result is the new public ami-acd0e1d8 in the eu-west-1 region. If you choose to test the AMI, please let me know how you get on in the comments here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2011/06/29/building-a-plivo-ami/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fixing NTFS on Ubuntu</title>
		<link>http://www.callum-macdonald.com/2011/06/28/fixing-ntfs-on-ubuntu/</link>
		<comments>http://www.callum-macdonald.com/2011/06/28/fixing-ntfs-on-ubuntu/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 15:37:16 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[dd]]></category>
		<category><![CDATA[loop0]]></category>
		<category><![CDATA[loopback]]></category>
		<category><![CDATA[losetup]]></category>
		<category><![CDATA[NTFS]]></category>
		<category><![CDATA[TestDisk]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2540</guid>
		<description><![CDATA[James had a hard drive problem. He pulled the disk out of his laptop and brought it to me. Firstly I created a full image of the broken partition like so: sudo dd if=/dev/sdb2 bs=1k conv=sync,noerror of=/path/to/image Then I tried &#8230; <a href="http://www.callum-macdonald.com/2011/06/28/fixing-ntfs-on-ubuntu/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="James Coutts" href="http://www.jamescoutts.co.uk/">James</a> had a hard drive problem. He pulled the disk out of his laptop and brought it to me. Firstly I created a full image of the broken partition like so:</p>
<p><code>sudo dd if=/dev/sdb2 bs=1k conv=sync,noerror of=/path/to/image</code></p>
<p>Then I tried TestDisk. It worked like a charm and fixed the apparently broken NTFS boot sector. I thought that when James put the drive back in the laptop, it might &#8220;just work&#8221;, but apparently it didn&#8217;t. I had saved some of the most important files, but not all. James then wiped the drive to get a working machine again.</p>
<p>So now I had to restore files from an image of a broken partition. Turns out to be dead easy. The key ingredients were loopback and TestDisk.</p>
<p><code>sudo losetup /dev/loop0 /path/to/image<br />
sudo testdisk /dev/loop0</code></p>
<p>It took me a while to figure out that I needed to choose partition table type none. I was dealing with an image of a single partition, so there was no partition table. After that, TestDisk behaved just like normal. I rebuilt the NFTS boot sector and then mounted the image like so:</p>
<p><code>sudo mkdir /mnt<br />
sudo mount /dev/loop0 /mnt</code></p>
<p>This warned about the disk not having been shut down properly, ran something or other to clean it up, and then bingo, all the files were mounted and visible. I copied all the data from /mnt to an external drive, and will give that to James to restore from. Too easy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2011/06/28/fixing-ntfs-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My experience at CHS11</title>
		<link>http://www.callum-macdonald.com/2011/05/08/my-experience-at-chs11/</link>
		<comments>http://www.callum-macdonald.com/2011/05/08/my-experience-at-chs11/#comments</comments>
		<pubDate>Sun, 08 May 2011 13:10:26 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[chs11]]></category>
		<category><![CDATA[culture hack scotland]]></category>
		<category><![CDATA[culture hacking]]></category>
		<category><![CDATA[Edinburgh]]></category>
		<category><![CDATA[hackday]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2500</guid>
		<description><![CDATA[Friday night and yesterday I was at Culture Hack Scotland 2011 (#chs11). It was a 24 hour hackday. A hackday is a session where designers, developers and other hackers get together and create stuff. Typically there&#8217;s a theme, and this &#8230; <a href="http://www.callum-macdonald.com/2011/05/08/my-experience-at-chs11/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Friday night and yesterday I was at <a title="Culture Hack Scotland" href="http://culturehackscotland.com/" target="_blank">Culture Hack Scotland 2011</a> (<a title="Twitter search for hashtag chs11" href="http://search.twitter.com/search?q=%23chs11" target="_blank">#chs11</a>). It was a 24 hour hackday. A hackday is a session where designers, developers and other hackers get together and create stuff. Typically there&#8217;s a theme, and this theme was culture with specific focus on the Edinburgh Festivals. The event was put on by the <a title="The Edinburgh Festivals Lab, doing tech stuff with the festivals" href="http://www.festivalslab.com/" target="_blank">Festivals Lab</a>.</p>
<p>In this post I&#8217;ll share my experience, talk about the <a href="#future">future</a> of what I started, and offer some <a href="#suggestions">suggestions</a> for future events.</p>
<h2>My experience</h2>
<p>My interest at the beginning of the session was the people in the room. There seemed to be a lot of outward focus. People were building stuff for other people, for the public, for some sort of audience. I wanted to do something for the people physically present. I wanted to make some kind of contribution to the shared social experience of the event.</p>
<p>I started out thinking about photo and video. Taking portraits of participants maybe, or creating a video diary corner. After a couple of hours I hit on an idea. I wanted to do something with qrcodes and people. (A qrcode is a square barcode that many smartphones can scan, more on <a title="QR Code article on Wikipedia" href="https://secure.wikimedia.org/wikipedia/en/wiki/QR_Code" target="_blank">wikipedia</a>.) Tagging physical people with qrcodes so they could be scanned by other participants in the event.</p>
<p>I had a vision of people complimenting each other, providing encouragement, and so on by scanning each other. So a person might be sitting working furiously and another participant walks past, scans them, and shares a positive message.</p>
<p>The execution seemed simple enough. I&#8217;d generate qrcodes that linked to twitter with the tweet message pre-filled, including the person&#8217;s twitter username. So I can scan Jill and immediately have a pre-written tweet saying something @jill.</p>
<p>The whole thing was incredibly simple. I wanted to launch in the morning, but spent ages getting the qrcodes printed. Tom Inglis helped a great deal here. He physically purchased and printed the stickers! I arrived just before 9am fired up and ready to go, but it was well after 1pm before I had the stickers ready to print. That could have been a lot faster, it was an easy problem to solve.</p>
<p>The next step was to tag people, which went fairly well. Most people were receptive. In total I linked 82 qrcodes to twitter accounts. In total, I count 21 tweets with the #tagrrd hashtag. So there were 4 qrcodes for ever one actual tweet. Those 21 tweets were produced by 16 authors over about 9 hours. That&#8217;s about one scan every 30 minutes.</p>
<p>I had hoped for much higher participation, but I think my execution let me down in the morning. I think if I had gotten the tags out earlier in the day, I could have spent more time encouraging people to use them.</p>
<h2><a name="future">Future of tagrr</a></h2>
<p>I can see some interesting potential the concept. For example, I like the idea of creating a simple brand around a qrcode. Surrounding it in a red box for example. Then potentially sticking qrcodes around the city, maybe along the lines of geocaching. I also think the same idea could be done at other events with the tags handed out as people arrive. People might use them more if they were part of the event experience from the beginning.</p>
<p>I&#8217;ll keep my eyes peeled for other events where I could try to test the idea further. If you&#8217;re reading this and hosting an event in Edinburgh, let&#8217;s discuss the possibilities.</p>
<h2><a name="suggestions">Suggestions</a></h2>
<p>At future hack days, I&#8217;d love to see more tech oriented communication during the event. The #chs11 hashtag allowed people to communicate around twitter, which was ok. I think there&#8217;s room for easy improvement here.</p>
<p>A screen dedicated to showing a specific hashtag for developers would have been good. Somewhere developers could post questions, receive answers, and so on. Maybe that happened around the #chs11 tag and I missed it all, but a screen in the room would be good I reckon. Another nice option is the WordPress p2 theme. It&#8217;s a sort of vaguely private mini-twitter. Can all be done for free on wordpress.com.</p>
<p>Personally, and this is totally personal feedback, I would provide less food more often. The food appeared to be quite expensive, which is nice. I reckon the experience could be improved slightly by having less expensive food always available. For example, a fridge with sandwiches and snacks in it. It would be cool to have them freshly delivered at breakfast and lunch, but ultimately, probably not essential. Likewise with drinks. Having a coffee machine in the room, always on, continuously filled, for the whole 24 hours would be awesome.</p>
<p>A halfway demo might work well. Giving people the option, not required, to present their project after breakfast for example. Let the guys who worked overnight show off what they&#8217;ve done, maybe bring new people into their work. Likewise, people could pitch tough problems they&#8217;ve hit, see if other folks in the room have solutions to offer.</p>
<p>Overall, the event was awesome. Personally, I had a great time. The highlight for me was the sense of cooperation between the participants. There was a great spirit of collaboration, people sharing problems, bouncing idea between different teams, and so on. There was amazing talent in the room.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2011/05/08/my-experience-at-chs11/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Audio CDs on Ubuntu on Lenovo X301</title>
		<link>http://www.callum-macdonald.com/2011/03/26/audio-cds-on-ubuntu-on-lenovo-x301/</link>
		<comments>http://www.callum-macdonald.com/2011/03/26/audio-cds-on-ubuntu-on-lenovo-x301/#comments</comments>
		<pubDate>Sat, 26 Mar 2011 18:58:22 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[audio cds]]></category>
		<category><![CDATA[dbus]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[nautilus]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2470</guid>
		<description><![CDATA[Quick geektastic post. Under Ubuntu 10.04 lucid lynx I can&#8217;t play audio CDs. When I put them into the drive, an error pops up every few seconds saying: Unable to mount Audio Disc DBus error org.freedesktop.DBus.Error.NoReply: Message did not receive &#8230; <a href="http://www.callum-macdonald.com/2011/03/26/audio-cds-on-ubuntu-on-lenovo-x301/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Quick geektastic post. Under Ubuntu 10.04 lucid lynx I can&#8217;t play audio CDs. When I put them into the drive, an error pops up every few seconds saying:</p>
<p>Unable to mount Audio Disc<br />
DBus error org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by message bus)</p>
<p>Eventually I stumbled upon this <a title="Obscure bug in Gnome or Nautilus around Audio CDs" href="https://bugs.launchpad.net/ubuntu/+source/glib2.0/+bug/397350" target="_blank">bug</a> and found a solution. I open Nautilus, Edit &gt; Preferences &gt; Media &gt; Never prompt or start programs on media insertion. Bingo, now I can insert a CD and it will play. I don&#8217;t think it&#8217;ll work in Rhythmbox because that&#8217;s so tightly integrated with Gnome, but I was able to play the CD in VLC and presumably I&#8217;d be able to rip it in something equally unconnected to Gnome.</p>
<p>Glorious, now I can rip some of my 6 year old CDs I just found. Happy days. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Here&#8217;s a random picture from flickr for the non techy readers to enjoy&#8230;</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/sprengben/4550315185/"><img class="aligncenter" title="E = m c² [Explored] By Sprengben [why not get a friend]" src="http://farm5.static.flickr.com/4012/4550315185_29bd82d3af.jpg" alt="" width="500" height="332" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2011/03/26/audio-cds-on-ubuntu-on-lenovo-x301/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Missing com.google.android.maps</title>
		<link>http://www.callum-macdonald.com/2011/02/06/missing-com-google-android-maps/</link>
		<comments>http://www.callum-macdonald.com/2011/02/06/missing-com-google-android-maps/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 23:29:45 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[Travels]]></category>
		<category><![CDATA[com.google.android.maps]]></category>
		<category><![CDATA[Cyanogenmod]]></category>
		<category><![CDATA[Google Apps]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[Nexus One]]></category>
		<category><![CDATA[shared library]]></category>
		<category><![CDATA[unavailable]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2388</guid>
		<description><![CDATA[Thanks to this post, and a whole heap of other stuff, I finally sorted out a Google Maps problem on my Nexus One. When trying to install some apps, I would see this error message in logcat: requires unavailable shared &#8230; <a href="http://www.callum-macdonald.com/2011/02/06/missing-com-google-android-maps/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Thanks to <a title="Missing shared library on Android" href="http://forum.cyanogenmod.com/topic/14995-some-apps-cant-find-shared-library-solved/" target="_blank">this</a> post, and a whole heap of other stuff, I finally sorted out a Google Maps problem on my Nexus One.</p>
<p>When trying to install some apps, I would see this error message in logcat:</p>
<p><code>requires unavailable shared library com.google.android.maps</code></p>
<p>I had the Google Maps app installed and working, but that didn&#8217;t fix the issue. It turns out, I had to add two other files and restart the phone. I found those files in the <a title="Downloads for the Nexus One from Cyanogenmod" href="http://forum.cyanogenmod.com/index.php?/files/category/2-nexus-one/" target="_blank">google zip </a>from Cyanogenmod. It took a little fiddling, but I was able to use <a title="Remounting file systems as read-write from read-only on Android" href="http://android-tricks.blogspot.com/2009/01/mount-filesystem-read-write.html" target="_blank">these</a> instructions to remount <code>/system</code> in write mode. First step was to take the following two files from the google apps zip (gapps-hdpi-20101114-signed.zip) and put them onto my sd card.</p>
<p><code>/system/etc/permissions/com.google.android.maps.xml<br />
/system/framework/com.google.android.maps.jar</code></p>
<p>Then to load them onto the phone, I opened the terminal emulator and ran:</p>
<p><code>su<br />
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system<br />
cp /mnt/sdcard/</code><code>com.google.android.maps.xml /system/etc/permissions/<br />
cp /mnt/sdcard/</code><code>com.google.android.maps.jar</code><code> /system/framework/</code></p>
<p>Then after I rebooted the phone, I was able to install apps that depend on Google Maps. I can now check bus and train times, and do all kinds of other cool stuff with maps! <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Note, this is only relevant if you do not want all Google Apps installed. I only have the map application installed as I don&#8217;t sync my phone with any Google services. If you&#8217;re using all the Google Apps, I suggest reinstalling as these steps should not be necessary.</p>
<p>To add a little colour, here&#8217;s an unrelated picture from flickr, courtesy of epSos.de.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/epsos/3524714926/"><img class="aligncenter" title="Colorful Night Fountain of Rainbow Colors by epSos.de" src="http://farm4.static.flickr.com/3350/3524714926_d0f5cfebd5_z.jpg" alt="" width="640" height="480" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2011/02/06/missing-com-google-android-maps/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Ripping MP3s from YouTube on Ubuntu</title>
		<link>http://www.callum-macdonald.com/2010/09/04/ripping-mp3s-from-youtube-on-ubuntu/</link>
		<comments>http://www.callum-macdonald.com/2010/09/04/ripping-mp3s-from-youtube-on-ubuntu/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 14:26:28 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Techy]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2233</guid>
		<description><![CDATA[This is the first post in a new category called notes. Things I want to remember and don&#8217;t have anywhere else to write down. Install Medibuntu, WinFF, Firefox + Greasemonkey + Youtube without Flash Auto, and probably libavcodec-extra-52 from Medibuntu &#8230; <a href="http://www.callum-macdonald.com/2010/09/04/ripping-mp3s-from-youtube-on-ubuntu/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is the first post in a new category called notes. Things I want to remember and don&#8217;t have anywhere else to write down.</p>
<p>Install <a title="You need Medibuntu for all the funky (non-free) codecs" href="http://medibuntu.org/" target="_blank">Medibuntu</a>, <a title="Install from the repos with sudo apt-get install winff" href="http://winff.org/" target="_blank">WinFF</a>, <a title="Firefox - the greatest web browser on earth" href="http://www.mozilla.com/firefox/" target="_blank">Firefox</a> + <a title="Plugin for Firefox that lets you retake control of your web (browser)" href="https://addons.mozilla.org/firefox/addon/748" target="_blank">Greasemonkey</a> + <a title="Greasemonkey script to help download / unflash YouTube" href="http://userscripts.org/scripts/show/50771" target="_blank">Youtube without Flash Auto</a>, and probably libavcodec-extra-52 from Medibuntu and easytag. Download the video within Firefox, save it to disk. Open WinFF, open the video, choose output format as Audio, set your options, and click convert. Then open EasyTAG if appropriate. Easy peasy. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2010/09/04/ripping-mp3s-from-youtube-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My very own OpenID server</title>
		<link>http://www.callum-macdonald.com/2010/08/25/my-very-own-openid-server/</link>
		<comments>http://www.callum-macdonald.com/2010/08/25/my-very-own-openid-server/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 19:49:58 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Techy]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2226</guid>
		<description><![CDATA[I just installed SimpleID. Now I have my very own OpenID server. I no longer need to subject myself to the pain of myopenid.com. After they consistently ignored all my requests to fix a major bug in their system, I&#8217;ve &#8230; <a href="http://www.callum-macdonald.com/2010/08/25/my-very-own-openid-server/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I just installed <a title="Run your own, very simple, OpenID server" href="http://simpleid.sourceforge.net/" target="_blank">SimpleID</a>. Now I have my very own <a title="Openid explained on Wikipedia" href="http://en.wikipedia.org/wiki/Openid" target="_blank">OpenID</a> server. I no longer need to subject myself to the pain of myopenid.com. After they consistently ignored all my requests to fix a major <a title="JanRain blatantly ignore all attempts to ask them to fix a client side SSL problem on myopenid.com" href="http://getsatisfaction.com/myopenid/topics/client_side_ssl_generation_fails_with_unknown_error" target="_blank">bug</a> in their system, I&#8217;ve gone elsewhere. Happy to be running my own server and away from JanRain and their abysmal non-support.</p>
<p>Install was painless. It took me maybe 30 minutes because my internet connection was running so slowly. On a fast line, it would have been a 5 minute install. Very cool. I did make one <a title="The change I made to SimpleID as per trac ticket" href="https://sourceforge.net/apps/trac/simpleid/ticket/9#comment:10" target="_blank">change</a> to SimpleID, as per this <a title="Ticket on simpleid trac proposing a change of filenames from .inc to .php" href="https://sourceforge.net/apps/trac/simpleid/ticket/9" target="_blank">ticket</a>, to make it a little more secure.</p>
<p>My next project is to install <a title="Prosody - an open source, personal jabber server" href="http://prosody.im/" target="_blank">Prosody</a> so I have my own jabber/XMPP server as well. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2010/08/25/my-very-own-openid-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A WordPress hosting cooperative</title>
		<link>http://www.callum-macdonald.com/2010/08/04/a-wordpress-hosting-cooperative/</link>
		<comments>http://www.callum-macdonald.com/2010/08/04/a-wordpress-hosting-cooperative/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 18:11:57 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[coop]]></category>
		<category><![CDATA[cooperative]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[press hosting]]></category>
		<category><![CDATA[wordpress hosting]]></category>
		<category><![CDATA[wp.coop]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2189</guid>
		<description><![CDATA[Maybe you make WordPress sites for cash. Maybe you design themes or write plugins. Then, after your work is done, your clients (or friends, lovers, etc) need to be supported. Somebody needs to keep WordPress and her plugins up to &#8230; <a href="http://www.callum-macdonald.com/2010/08/04/a-wordpress-hosting-cooperative/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Maybe you make WordPress sites for cash. Maybe you design themes or write plugins. Then, after your work is done, your clients (or friends, lovers, etc) need to be supported. Somebody needs to keep WordPress and her plugins up to date, secure, and backed up.</p>
<p>Would you like to share that load with some co-cooperators in a WordPress hosting cooperative? Imagine a small group of developers collectively managing 50 or 100 WordPress sites instead of individually managing 10 or 20.</p>
<h2>Logistics</h2>
<p>Ok, you&#8217;re sold on the vision, what about the details?</p>
<p>Initially, a loose association of a few individuals, no legal structure. I&#8217;m willing to act as the banker for the startup period. I&#8217;ll register a domain name and pay for a few servers. I promise to transfer ownership of the domain and any other assets when (or if) a legal organisation is created at any point in the future. Or, if I choose to move away, to transfer the domain and other assets to another person in the group.</p>
<p>My suggestion is that we adopt a split pricing model. We set a fair market price for customers. In the beginning, it&#8217;s probably simper to charge per blog irrespective of traffic, disk or cpu usage. We can change this policy as soon as we need to.</p>
<p>Members then pay a pro-rated share of costs based on their number of sites. For example, we have 10 customers paying $10 a month, $100. Expenses are $150 a month, we have 5 members with 4 sites each, $50 over 20 sites, each member pays $2.50 per month per site.</p>
<p>To distinguish between customer and member sites, we can say if money changes hands, it&#8217;s a customer site. So a member might pay for 8 of their client&#8217;s sites at customer rates, and 3 for their family at member rates. The distinction is whether or not the member receives cash from somebody for that site. We trust each member to be honest.</p>
<h2>Payment optional</h2>
<p>It&#8217;s not as crazy as it sounds, honest! I suggest we adopt a post-paid, payment optional policy. At the end of each month, we send invoices marked payment optional. Customers can choose not to pay and their sites will be taken offline in reasonable time period.</p>
<p>The advantage of this model is we don&#8217;t ever have to deal with refunds, price disputes or otherwise. If the client is happy with the service they <em>already received</em>, great, if they&#8217;re not, they don&#8217;t have to pay and we part ways amicably.</p>
<h2>Principles</h2>
<ul>
<li>Transparency: All financials are publicly visible.</li>
<li>Profits: Until we have a legal organisation, any profits are kept in the group to pay for expenses. No payouts to members until the legal structure is sound.</li>
<li>Do-ocracy: Until we decide to change it, we each contribute what we can and what&#8217;s needed to keep the system online.</li>
<li>Respect: Inspired by the Ubuntu project, in joining the group, we each commit to treat other members and customers with the utmost of respect at absolutely all times.</li>
</ul>
<h2>Next step</h2>
<p>These are my initial thoughts as I wrote this post in half an hour. If you&#8217;d like to join the discussion, become a member or a customer, post a comment below, <a title="Contact Callum" href="http://www.callum-macdonald.com/contact/">shoot me a message</a>, or otherwise open the communication lines. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2010/08/04/a-wordpress-hosting-cooperative/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>A new short url</title>
		<link>http://www.callum-macdonald.com/2010/08/01/a-new-short-url/</link>
		<comments>http://www.callum-macdonald.com/2010/08/01/a-new-short-url/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 20:26:18 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[cal.io]]></category>
		<category><![CDATA[calio]]></category>
		<category><![CDATA[chm.ac]]></category>
		<category><![CDATA[chmac]]></category>
		<category><![CDATA[domains]]></category>
		<category><![CDATA[short links]]></category>
		<category><![CDATA[short urls]]></category>
		<category><![CDATA[shortlinks]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2169</guid>
		<description><![CDATA[I&#8217;ve just acquired two short domains. They are cal.io and chm.ac. The first is cool, the second is a short version of my standard username, chmac (and formed from my initials, how original!). I&#8217;m thinking I want to move this &#8230; <a href="http://www.callum-macdonald.com/2010/08/01/a-new-short-url/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just acquired two short domains. They are cal.io and chm.ac. The first is cool, the second is a short version of my standard username, chmac (and formed from my initials, how original!).</p>
<p>I&#8217;m thinking I want to move this site, my email, and my other services over to one of the two. I can&#8217;t decide which. I think I like cal.io better, but calio.com is taken and I&#8217;m already invested in chmac. It&#8217;s my username across most sites. I&#8217;m 12 of the top 20 results in a search for chmac. I own that space.</p>
<p>Calio is a surname, there&#8217;s all kinds of stuff going on there. It&#8217;s an exciting new space, but it might also mean walking away from chmac, which I&#8217;m already on top of.</p>
<p>What do you think? cal.io or chm.ac?</p>
<p>Update: In the 3 days since I wrote this, while I waited for the domains to be registered, I think I&#8217;m decided on cal.io as my new domain. But, I&#8217;m still interested to hear feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2010/08/01/a-new-short-url/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Links in twitter feeds in Liferea</title>
		<link>http://www.callum-macdonald.com/2010/07/30/links-in-twitter-feeds-in-liferea/</link>
		<comments>http://www.callum-macdonald.com/2010/07/30/links-in-twitter-feeds-in-liferea/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 05:23:44 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[liferea]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[twitter feeds]]></category>
		<category><![CDATA[twitter hacking]]></category>
		<category><![CDATA[twitter links]]></category>
		<category><![CDATA[urls]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2177</guid>
		<description><![CDATA[I use Liferea to consume feeds. In turn, I consume twitter by RSS. However, twitter&#8217;s RSS feeds suck. Urls are not clickable, user names are not links, nothing. It&#8217;s flat text. Using Liferea&#8217;s ability to locally parse feeds and a &#8230; <a href="http://www.callum-macdonald.com/2010/07/30/links-in-twitter-feeds-in-liferea/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I use <a title="Liferea - the linux feed reader" href="http://liferea.sourceforge.net/" target="_blank">Liferea</a> to consume feeds. In turn, I consume <a title="Twitter - if you don't know what it is yet, well, go see..." href="http://twitter.com/" target="_blank">twitter</a> by RSS. However, twitter&#8217;s RSS feeds suck. Urls are not clickable, user names are not links, nothing. It&#8217;s flat text.</p>
<p>Using Liferea&#8217;s ability to locally parse feeds and a little <a title="Regex patterns for parsing twitter feeds into nice pretty linkified things" href="http://blog.andreaolivato.net/programming/using-regular-expressions-to-add-links-to-tweets.html" target="_blank">inspiration</a>, I hacked up a sed script to make my twitter feed all pretty. It works great for me, YMMV.</p>
<p>I published the script <a title="Make twitter feeds pretty with links in Liferea" href="http://kiza.kcore.de/software/snownews/snowscripts/extensions/script/twitterlinks/" target="_blank">here</a>, under the GPL. To use it, save the source into a file somewhere, make that file executable, then choose &#8220;Use conversion filter&#8221; in Liferea and select the file you just created. If you have problems, you could try leaving a comment here, I might be able to help.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2010/07/30/links-in-twitter-feeds-in-liferea/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Insufficient boot space on Ubuntu</title>
		<link>http://www.callum-macdonald.com/2010/07/24/insufficient-boot-space-on-ubuntu/</link>
		<comments>http://www.callum-macdonald.com/2010/07/24/insufficient-boot-space-on-ubuntu/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 14:34:57 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[/boot]]></category>
		<category><![CDATA[boot partition]]></category>
		<category><![CDATA[free space]]></category>
		<category><![CDATA[insufficient space]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[kernel upgrades]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[upgrades]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2154</guid>
		<description><![CDATA[When installing the latest batch of updates to Ubuntu 10.04 I hit a problem, I ran out of space on my /boot partition. A dialog popped up warning of low space on /boot. Then the install of updates failed because &#8230; <a href="http://www.callum-macdonald.com/2010/07/24/insufficient-boot-space-on-ubuntu/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When installing the latest batch of updates to Ubuntu 10.04 I hit a problem, I ran out of space on my /boot partition. A dialog popped up warning of low space on /boot. Then the install of updates failed because the new kernel couldn&#8217;t be completed.</p>
<p>The solution was remarkably simple, I post it here in the hope it might help others. Firstly, I removed the oldest kernel I had installed. I opened Synaptic (System &gt; Administration) and then searched for my current kernel version (2.6.32). I saw I had 4 kernels installed. I then searched for 2.6.32-21, the oldest kernel. I marked these packages for complete removal:</p>
<ul>
<li>linux-headers-2.6.32-21</li>
<li>linux-headers-2.6.32-21-generic</li>
<li>linux-image-2.6.32-21-generic</li>
</ul>
<p>Then I removed those and to finish, I marked for re-installation the same packages but the -24 version (the latest kernel that failed to install). Now all is happy once again. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2010/07/24/insufficient-boot-space-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Switching to twentyten</title>
		<link>http://www.callum-macdonald.com/2010/06/26/switching-to-twentyten/</link>
		<comments>http://www.callum-macdonald.com/2010/06/26/switching-to-twentyten/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 04:57:51 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[twentyten]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2076</guid>
		<description><![CDATA[I&#8217;ve just upgraded to WordPress 3.0 and switched to the brand new default theme called twentyten. If you&#8217;re reading this in your feed reader, come by and check out the new look. I&#8217;ll update my picture (people seem shocked when &#8230; <a href="http://www.callum-macdonald.com/2010/06/26/switching-to-twentyten/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just upgraded to WordPress 3.0 and switched to the brand new default theme called twentyten. If you&#8217;re reading this in your feed reader, come by and check out the new look.</p>
<p>I&#8217;ll update my picture (people seem shocked when they see it after meeting me in person!), and modify the menu using the new menu editor. I&#8217;ll try to make navigating a little easier. If you haven&#8217;t already tried it, I recommend the new version of WordPress.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2010/06/26/switching-to-twentyten/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Regenerating nautilus thumbnails</title>
		<link>http://www.callum-macdonald.com/2010/06/13/regenerating-nautilus-thumbnails/</link>
		<comments>http://www.callum-macdonald.com/2010/06/13/regenerating-nautilus-thumbnails/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 19:50:19 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[delete thumbnails]]></category>
		<category><![CDATA[fix thumbnails]]></category>
		<category><![CDATA[nautilus]]></category>
		<category><![CDATA[nautilus scripts]]></category>
		<category><![CDATA[regenerate thumbnails]]></category>
		<category><![CDATA[thumbnails]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2060</guid>
		<description><![CDATA[Sometimes nautilus will try to generate a thumbnail for a video file while it&#8217;s downloading. Then  nautilus remembers that it tried, and failed, to generate a thumbnail for that file. Once the file has finished downloading, the thumbnail remains broken. &#8230; <a href="http://www.callum-macdonald.com/2010/06/13/regenerating-nautilus-thumbnails/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sometimes nautilus will try to generate a thumbnail for a video file while it&#8217;s downloading. Then  nautilus remembers that it tried, and failed, to generate a thumbnail for that file. Once the file has finished downloading, the thumbnail remains broken. I&#8217;ve had this issue for a while, today I chose to find a solution.</p>
<p>I found this <a title="A script to regenerate thumbnails in Nautilus" href="http://ifireball.wordpress.com/2007/12/29/fixing-thumbnails-in-nautilus/" target="_blank">post by Barak Korren</a>. Barak wrote a short <a title="A collection of nautilus scripts on sourceforge" href="http://g-scripts.sourceforge.net/" target="_blank">nautilus script</a> in python to allow the easy deletion of a thumbnail in Nautilus. Here&#8217;s a step by step guide to getting it working.</p>
<p>Download <a title="Barak Korren's delete_thumbnails.py nautilus script in plain text" href="http://www.callum-macdonald.com/download/delete_thumbnails.py" target="_blank">this file</a> and put it into your ~/.gnome2/nautilus-scripts directory. The script is by Barak, I uploaded a plain text version here to make it easier to download. Make the script executable, you can run <code>chmod +x ~/.gnome2/nautilus-scripts/delete_thumbnails.py</code> in a terminal to do this. Now go to that directory in Nautilus, and you&#8217;re in business.</p>
<p>To test, right click on a file with a thumbnail. You should see a new menu, Scripts, under which you&#8217;ll see &#8220;delete_thumbnails.py&#8221;. Click that option and the thumbnail will be deleted. Press F5 to reload the folder in nautilus, and you should see a new thumbnail generated.</p>
<p>Thanks for a such a handy script Barak.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2010/06/13/regenerating-nautilus-thumbnails/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Installing lyx without the bloat</title>
		<link>http://www.callum-macdonald.com/2010/06/12/installing-lyx-without-the-bloat/</link>
		<comments>http://www.callum-macdonald.com/2010/06/12/installing-lyx-without-the-bloat/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 02:19:04 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[bloat]]></category>
		<category><![CDATA[docs]]></category>
		<category><![CDATA[equivs]]></category>
		<category><![CDATA[huge files]]></category>
		<category><![CDATA[latex]]></category>
		<category><![CDATA[lyx]]></category>
		<category><![CDATA[saving bandwidth]]></category>
		<category><![CDATA[tex]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[wasted space]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2056</guid>
		<description><![CDATA[For a few months now I&#8217;ve been researching programs to write in. I have OpenOffice, I tried AbiWord, I use gedit for text files. They&#8217;re all good programs, but they&#8217;re not what I want to write in. I want something &#8230; <a href="http://www.callum-macdonald.com/2010/06/12/installing-lyx-without-the-bloat/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For a few months now I&#8217;ve been researching programs to write in. I have OpenOffice, I tried AbiWord, I use gedit for text files. They&#8217;re all good programs, but they&#8217;re not what I want to write in. I want something ultra simple. Very basic formatting, spellcheck, light quick load time. The best option I found was Tomboy, a sticky note application. It supports very simple formatting, has a spellcheck, and is dead simple. It loads almost instantly. But, it saves notes automatically in its own format. There&#8217;s no way for me to save different versions, choose a file name or location, etc. It&#8217;s fine for the writing, but I need to go elsewhere to save.</p>
<p>In the last couple of days, I discovered gwrite. It&#8217;s a very simple WYSIWYG HTML editor. It has the potential to be exactly what I want, but it&#8217;s very young software and still has a few usability bugs. I&#8217;ve reported them to the program&#8217;s author, so maybe it&#8217;ll improve in time. I might even look at the source code and see if I can provide some patches myself.</p>
<p>But, that&#8217;s not the point of this post. This post is about lyx, which is a seriously cool application I&#8217;ve just discovered. It&#8217;s a &#8220;writing tool&#8221;, not a word processor. It&#8217;s a tool designed for scientific and other authors to simply write text. It&#8217;s based on an underlying technology called <a title="LaTeX is a document markup technology, as explained by Wikipedia" href="http://en.wikipedia.org/wiki/LaTeX" target="_blank">L<sup>A</sup>T<sub>E</sub>X</a>. As I understand it, and I&#8217;m completely new to this whole thing, LaTeX allows an author to just write. The layout of chapters, titles, indentations, bullet points, and all that jazz, is handled by LaTeX macros. What does that mean? Well, I think it means I just write, then lyx, LaTeX and TeX make it look beautiful.</p>
<p>So, all excited, I decided to install lyx. This is where I hit a problem. I was prompted to download 438MB of data and use 745MB of disk space. That&#8217;s outrageously huge for a single program. I was blown away, it makes installing lyx many times larger than OpenOffice. I was strongly intrigued by what took up so much space, so I had a little sniff. It turns out that more than 70% of the download size and almost 60% of the disk space is used by documentation. Mostly, documentation for underlying applications which I didn&#8217;t specifically choose to install, they&#8217;re required to make lyx work.</p>
<p>Being on a slow internet connection, I decided waiting the day or two for 438MB to download was just too much. There must be another way. A little research later, I found my solution in a program called equivs. Equivs is a pair of tools to create shadow or dummy debs. In my case, this meant creating a dummy package to make apt think that I had already installed the massive collection of documentation that was necessary to install lyx. Thus I was able to install lyx by downloading only 117MB of data and using only 302MB of disk space. Still astronomically huge, but less than half of what I was originally facing.</p>
<p>And so, onto the point of this post. How does one do that? If you want a simple answer, here it is. Step 1, install <a title="My texlive-dummy-docs deb file to save all the doc space" href="http://www.callum-macdonald.com/download/texlive-dummy-docs_1.0_all.deb" target="_blank">this file</a>. Step 2, install lyx as normal. Bingo, jobsagoodun. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>For those who are interested, I&#8217;ll explain the process on Ubuntu 10.04. Install equivs in the usual way (<code>sudo apt-get install equivs</code> will do the trick). Now create a new directory, I called it equivs-texlive-dummy-docs. In that directory, run <code>equivs-control texlive-dummy-docs.ctl</code>. Now edit the newly created file. Mine looked like <a title="My texlive-dummy-docs.ctl file" href="http://www.callum-macdonald.com/download/texlive-dummy-docs.ctl" target="_blank">this</a>. Next run <code>equivs-build texlive-dummy-docs.ctl</code>. This command creates a new file called texlive-dummy-docs_1.0_all.deb. That file can be installed with <code>sudo dpkg -i texlive-dummy-docs_1.0_all.deb</code>.</p>
<p>It took me a few hours to put all this together. Hopefully if you&#8217;re facing the same challenge, you can install one file and be done. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Update: I discovered that all these packages are installed because apt is configured to install recommended packages by default. I tried installing lyx without any of the recommended packages using <code>sudo apt-get install --no-install-recommends lyx</code>, but previewing documents from lyx didn&#8217;t work. Instead I reverted to my equivs texlive-dummy-docs package. If you feel passionately about this topic, as I do, please chime in on <a title="Launchpad ubuntu bug on texlive-extra about the huge doc dependencies of texlive packages" href="https://bugs.launchpad.net/ubuntu/+source/texlive-extra/+bug/401545" target="_blank">this bug</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2010/06/12/installing-lyx-without-the-bloat/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Prepaid ICE sim card in Costa Rica</title>
		<link>http://www.callum-macdonald.com/2010/06/03/prepaid-ice-sim-card-in-costa-rica/</link>
		<comments>http://www.callum-macdonald.com/2010/06/03/prepaid-ice-sim-card-in-costa-rica/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 23:21:06 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[Travels]]></category>
		<category><![CDATA[abCelular]]></category>
		<category><![CDATA[Costa Rica]]></category>
		<category><![CDATA[ICE]]></category>
		<category><![CDATA[Kolbi]]></category>
		<category><![CDATA[prepaid]]></category>
		<category><![CDATA[prepaid sims]]></category>
		<category><![CDATA[San Isidro]]></category>
		<category><![CDATA[sim cards]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=2042</guid>
		<description><![CDATA[Yesterday I bought a prepaid ICE sim card in Costa Rica. Last time I was in Costa Rica they didn&#8217;t exist. Then they were available, but very hard to find I read. I walked into a shop called abCelular in &#8230; <a href="http://www.callum-macdonald.com/2010/06/03/prepaid-ice-sim-card-in-costa-rica/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday I bought a prepaid ICE sim card in Costa Rica. Last time I was in Costa Rica they didn&#8217;t exist. Then they were available, but very hard to find I read. I walked into a shop called abCelular in San Isidro, and after a bit of confusion, walked out with a 2500 colones sim. Yay. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>They asked for an ID card. I offered my UK driving license. That was fine, except their computer would only accept numbers in the &#8220;identification document number&#8221; spot. So instead, I gave them my passport, where the document number is only digits. I probably could have pushed the issue with my driving license, maybe they would have just entered the numerical part or something, but the passport seemed easier, and I was in a hurry.</p>
<p>The transaction was painless. I showed no phone and they only looked at the photo page of my passport, but wouldn&#8217;t have seen it at all if I&#8217;d pushed the driving license. It seems that prepaid SIMS are finally available in Costa Rica&#8230; <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Now if only I could get service inside my house&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2010/06/03/prepaid-ice-sim-card-in-costa-rica/feed/</wfw:commentRss>
		<slash:comments>85</slash:comments>
		</item>
		<item>
		<title>CS Greasy on Launchpad</title>
		<link>http://www.callum-macdonald.com/2009/12/21/cs-greasy-on-launchpad/</link>
		<comments>http://www.callum-macdonald.com/2009/12/21/cs-greasy-on-launchpad/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 18:57:03 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[CouchSurfing]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[bzr]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[launchpad]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1887</guid>
		<description><![CDATA[I created a project on Launchpad for the first time today. It&#8217;s called CS Greasy, a collection (or soon to be a collection) of Greasemonkey scripts related to CouchSurfing. It took a little time to figure it out, but thanks &#8230; <a href="http://www.callum-macdonald.com/2009/12/21/cs-greasy-on-launchpad/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I created a project on Launchpad for the first time today. It&#8217;s called CS Greasy, a collection (or soon to be a collection) of Greasemonkey scripts related to CouchSurfing. It took a little time to figure it out, but thanks to Kasper&#8217;s help, I think we&#8217;ve got it working now.</p>
<p>I created a new team called ~csgreasy. The tilda (~) distinguishes teams and users from projects. So the project name is csgreasy, the team name that owns the project is ~csgreasy. The team is open, so anyone can join. Upon joining, new members can commit code immediately. Once you&#8217;ve joined the team, the commands to check out and commit code are:</p>
<p><code>bzr branch lp:csgreasy/trunk<br />
# make some changes<br />
bzr push lp:csgreasy/trunk</code></p>
<p>After the first push, subsequent changes can be pushed with just `bzr push`, the location will be remembered from last time. Now anyone with bazaar and some javascript skills can contribute. To get started, install <a title="Bazaar (bzr) distributed version control system" href="http://bazaar-vcs.org/" target="_self">bazaar</a>, <a title="Login or register with launchpad.net" href="https://launchpad.net/+login" target="_blank">register on launchpad</a>, <a title="Join the CS Greasy team on launchpad, all welcome" href="https://launchpad.net/~csgreasy/+join" target="_blank">join the team</a>, branch, start hacking, push back changes. Happy hacking&#8230; <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h3>Creating Launchpad projects</h3>
<p>Creating the project was relatively simple. There were a couple of steps I didn&#8217;t fully understand at first, it was simple once I got it.</p>
<p>Firstly, I <a title="Register a new project on launchpad.net" href="https://launchpad.net/projects/+new-guided" target="_blank">registered a project</a>. Second, I <a title="Create a new team on launchpad.net" href="https://launchpad.net/people/+newteam" target="_blank">created a team</a>. Then, instead of pushing branches to lp:~user-name/project-name/branch-name, I can push to ~team-name/project-name/branch-name. Using the team name instead of my own username means that the code is owned by the team and can be edited by anyone else in the team. A team on launchpad is essentially a regular user that consists of multiple other users. Very handy. That&#8217;s the whole process. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/12/21/cs-greasy-on-launchpad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proposing WP Flavours</title>
		<link>http://www.callum-macdonald.com/2009/12/17/proposing-wp-flavours/</link>
		<comments>http://www.callum-macdonald.com/2009/12/17/proposing-wp-flavours/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 16:26:05 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[forking wordpress]]></category>
		<category><![CDATA[wordpress forks]]></category>
		<category><![CDATA[wordpress privacy]]></category>
		<category><![CDATA[wordpress security]]></category>
		<category><![CDATA[wp flavors]]></category>
		<category><![CDATA[wp flavours]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1876</guid>
		<description><![CDATA[Instigated in part by this discussion, I think the time has come to start forking WordPress. I think there is space for a few different forks, or flavours, of WordPress. I can imagine flavours focused on security, privacy and probably &#8230; <a href="http://www.callum-macdonald.com/2009/12/17/proposing-wp-flavours/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Instigated in part by <a title="WordPress trac ticket regarding phone home privacy of the plugin update feature" href="http://core.trac.wordpress.org/ticket/5066" target="_blank">this</a> discussion, I think the time has come to start forking WordPress. I think there is space for a few different forks, or flavours, of WordPress. I can imagine flavours focused on security, privacy and probably others. For example, a flavour that disables all the post versionining. A flavour that strips out other parts of the code to suit a specific need.</p>
<p>To serve these aims, I propose to create wpflavours (or wpflavors). I imagine a site where flavours can be downloaded, an svn repo where patch sets can be maintained (maybe using <a title="quilt - a set of tools for managing patches" href="http://savannah.nongnu.org/projects/quilt" target="_blank">quilt</a>), and potentially a mailing list for group communication. Maybe we could host the whole thing on google code or some other public code / svn service. I suspect we&#8217;ll need server space to automate the patching and packaging process though.</p>
<p>If there&#8217;s sufficient interest (say anyone else interested in writing patches), I&#8217;ll register the domains, setup a simple WordPress site, figure out svn, setup a mailing list, and we&#8217;ll see what happens. If you&#8217;re interested comment publicly below or <a title="Contact Callum" href="http://www.callum-macdonald.com/contact/">get in touch</a> privately.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/12/17/proposing-wp-flavours/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>My first greasemonkey script</title>
		<link>http://www.callum-macdonald.com/2009/11/25/my-first-greasemonkey-script/</link>
		<comments>http://www.callum-macdonald.com/2009/11/25/my-first-greasemonkey-script/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 21:54:02 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[onchange]]></category>
		<category><![CDATA[onclick]]></category>
		<category><![CDATA[remove onchange]]></category>
		<category><![CDATA[remove onclick]]></category>
		<category><![CDATA[unsafeWindow]]></category>
		<category><![CDATA[userscripts]]></category>
		<category><![CDATA[weather maps]]></category>
		<category><![CDATA[weather underground]]></category>
		<category><![CDATA[wrappedJSObject]]></category>
		<category><![CDATA[wunderground]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1800</guid>
		<description><![CDATA[On several ocassions I&#8217;ve looked for an animated weather map where I can see the predicted weather for a region. After some struggling, I found maps on weather underground that were close to what I wanted. However, when I changed &#8230; <a href="http://www.callum-macdonald.com/2009/11/25/my-first-greasemonkey-script/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On several ocassions I&#8217;ve looked for an animated weather map where I can see the predicted weather for a region. After some struggling, I found <a title="Interactive, animated, live weather maps on Weather Underground" href="http://www.wunderground.com/ndfdimage/viewimage" target="_blank">maps on weather underground</a> that were close to what I wanted.</p>
<p>However, when I changed the date of the map, it loaded a whole new page with the new map for the new date. It was cumbersome to cycle through the dates. I figured I could write a little <a title="Install greasemonkey, it's awesome, and it's your web after all... :-)" href="https://addons.mozilla.org/firefox/addon/748" target="_blank">Greasemonkey</a> script to make life easier. Some 6 or so hours of hacking later, it&#8217;s done. It was much more finicky than I anticipated, but it&#8217;s done, and it works. I present <a title="My first greasemonkey script, Wunderground AJAXifier" href="http://www.callum-macdonald.com/code/wunderground-ajaxifier/" target="_self">Wunderground AJAXifier</a>.</p>
<h3>What is Greasemonkey?</h3>
<p>Greasemonkey is a plugin for Firefox that allows you to use custom scripts on various web sites. For example, I use the <a title="Take control of your YouTube experience with Greasemonkey and this script" href="http://userscripts.org/scripts/show/50771" target="_blank">YouTube without flash auto</a> script. When I load a YouTube video, the script removes the flash player and replaces it with an embed code that fires up my default browser plugin (VLC, xine, mplayer, etc). The script also creates a few links to download videos directly to my computer. Easy peasy.</p>
<p>There are thousands of scripts on <a title="UserScripts - a repository of user contributed greasemonkey scripts, awesomeness much" href="http://userscripts.org/" target="_blank">userscripts.org</a>. Mine is <a title="AJAXify Weather Underground, my first greasemonkey script" href="http://userscripts.org/scripts/show/62801" target="_blank">here</a>. Be warned, the first few scripts I installed were malicious, they redirected me to the author&#8217;s web site. I recommend you check the reviews and read the source code before installing any scripts.</p>
<h3>Philosophy</h3>
<p>I think greasemonkey is a really big development for browsers. It provides an easy way for users to customise and control their web experience. For example, it&#8217;s now relatively easy to reorganise your favourite web site to improve the layout, add a WSIWYG editor, and more. It&#8217;s a significant step for users to regain control of their web experience from site publishers. Power to the people! <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h3>Removing onclick or onchange with Greasemonkey</h3>
<p>It took me quite a while to figure out how to remove the page&#8217;s default onchange event. I found the solution thanks to joeytwiddle on <a title="IRC link to the #greasemonkey channel on freenode" href="irc://irc.freenode.net/greasemonkey" target="_blank">#greasemonkey</a>. The trick is to use the wrappedJSObject method. Here&#8217;s a quick example:</p>
<p><code>var myel = document.getElementById('callum');<br />
console.log(myel.onchange); // null, see <a title="Greasemonkey quirkiness around the security model" href="http://wiki.greasespot.net/XPCNativeWrapper" target="_blank">XPCNativeWrapper</a><br />
console.log(myel.wrappedJSObject.onchange); // works<br />
myel.wrappedJSObject.onchange =  null; // unsets the onchange handler</code></p>
<p>It took me a while to figure this out, hopefully this post helps somebody else.</p>
<p>Here&#8217;s a completely unrelated image from a <a title="Flickr search for greasemonkey CC licensed photos" href="http://www.flickr.com/search/?q=greasemonkey&amp;z=t&amp;l=cc&amp;ss=2&amp;s=int" target="_blank">flickr search for greasemonkey</a> to brighten the post.</p>
<p><a href="http://www.flickr.com/photos/tonivc/2296010782/"><img class="aligncenter" title="Flickr Bug by ToniVC" src="http://farm4.static.flickr.com/3214/2296010782_8135a60574.jpg" alt="" width="500" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/11/25/my-first-greasemonkey-script/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>VirtualBox host to guest networking</title>
		<link>http://www.callum-macdonald.com/2009/10/28/virtualbox-host-to-guest-networking/</link>
		<comments>http://www.callum-macdonald.com/2009/10/28/virtualbox-host-to-guest-networking/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 16:00:36 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[bridge networking]]></category>
		<category><![CDATA[host only networking]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntu 9.04]]></category>
		<category><![CDATA[ubuntu jaunty]]></category>
		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1693</guid>
		<description><![CDATA[Update: I just repeated this process with Ubuntu 11.04 host, 10.04 guest. It worked as described here. I also automated the setup on the host, and added a note at the bottom of the post explaining how I did that. &#8230; <a href="http://www.callum-macdonald.com/2009/10/28/virtualbox-host-to-guest-networking/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Update:</strong> I just repeated this process with Ubuntu 11.04 host, 10.04 guest. It worked as described here. I also automated the setup on the host, and added a note at the bottom of the post explaining how I did that.</p>
<p>I&#8217;m creating a new development server on VirtualBox. I was using VMWare until recently, but since upgrading to Ubuntu 9.04 64bit, I&#8217;ve decided to try VirtualBox instead. I also recommended VirtualBox to my brother, so by using it myself I&#8217;ll be better able to support him if he has any issues.</p>
<p>Installing a new virtual machine was a breeze. After I activated hardware virtualisation in my bios, I installed a 64bit version of <a title="Download Ubuntu server edition" href="http://www.ubuntu.com/getubuntu/download-server" target="_blank">Ubuntu server 8.04 LTS</a>. The install failed a couple of times, not sure why, but third time lucky.</p>
<p>My first major stumbling  block was connecting to the virtual machine from the host machine. By default VirtualBox gives the guest (virtual machine) a NAT ethernet connection. So the guest can connect to the network, including the internet, but the host can&#8217;t connect to the guest. I&#8217;m creating a development server, so that&#8217;s precisely what I want to do, connect from the host to the guest. With a little research, it turns out there&#8217;s an easy solution (on Linux hosts).</p>
<p>The <a title="VirtualBox wiki article on Advanced Networking in Linux" href="http://www.virtualbox.org/wiki/Advanced_Networking_Linux" target="_blank">VirtualBox article on Advanced Networking in Linux</a> was my guide. I&#8217;ll document all the steps I took here.</p>
<p>Install bridge-utils, vtun and uml-utilities:</p>
<blockquote><p><code>sudo apt-get install bridge-utils vtun uml-utilities</code></p></blockquote>
<p>Create the bridge:</p>
<blockquote><p><code>sudo brctl addbr br0<br />
sudo ip link set up dev br0<br />
sudo ip addr add 10.9.0.1/24 dev br0<br />
</code></p></blockquote>
<p>Create a tap device for the guest to use, put your username in place of USER:</p>
<blockquote><p><code>sudo tunctl -t tap0 -u USER<br />
sudo ip link set up dev tap0<br />
sudo brctl addif br0 tap0</code></p></blockquote>
<p>If you need multiple guests connected, repeat this step replacing tap0 with tap1, tap2 and so on. Always use br0.</p>
<p>Now modify the virtual machine settings and map one of the network adapters (probably the second one) to the device tap0. Choose Attached To Host Interface and select the device tap0. I left the first network adapter as a NAT adapter so the virtual machine has internet access. In this configuration, I can disconnect the guest from the internet and / or the host separately.</p>
<p>When the virtual machine has started, setup the network. Assuming the guest is an Ubuntu machine, run these commands on the guest. If you linked the first network adapter to tap0 then use eth0 on the guest, if you chose the second network adapter use eth1, 3 to eth2, 4 to eth3 and  so on.</p>
<blockquote><p><code>sudo ip link set up dev eth1<br />
sudo ip addr add 10.9.0.2/24 dev eth1</code></p></blockquote>
<p>Now test it all works. On the host machine try <code>ping -c4 10.9.0.2</code> and on the guest try <code>ping -c4 10.9.0.1</code>. Assuming both machines are set to respond to pings (default in Ubuntu), you should see 4 successful pings.</p>
<p>If this works, you can set the address permanently by editing /etc/network/interfaces and adding this text.</p>
<blockquote><p><code># Host only network<br />
auto eth1<br />
iface eth1 inet static<br />
address 10.9.0.2<br />
netmask 255.255.255.0<br />
network 10.9.0.0<br />
broadcast 10.9.0.255</code></p></blockquote>
<p>I&#8217;ve used the 10.9.*.* addresses as an example. You can use any private network address (10.*.*.*, 192.168.*.* or 172.16.*.*-172.31.*.*). The most commonly used addresses are 192.168.*.* and 10.0.*.* or 10.1.*.* so I recommend staying away from them. You want to choose addresses that won&#8217;t clash with anything else on your network.</p>
<p>Edit: Finally, I added a script to automate the setup on the host machine. I created a script called /etc/init.d/virtualbox-bridgenetwork with the following contents:</p>
<blockquote><p><code>#!/bin/bash<br />
# Create the br0 interface<br />
brctl addbr br0<br />
ip link set up dev br0<br />
ip addr add 10.9.0.1/24 dev br0<br />
# Create tap0 for the vm to connect to<br />
tunctl -t tap0 -u USER<br />
ip link set up dev tap0<br />
brctl addif br0 tap0</code></p></blockquote>
<p>You need to change USER to your own username and modify the IP to whatever you were using. Then to make this script run automatically at boot time, run:</p>
<blockquote><p><code>sudo update-rc.d virtualbox-bridgenetwork defaults</code></p></blockquote>
<p>Now the br0 and tap0 interfaces should be automatically created at boot time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/10/28/virtualbox-host-to-guest-networking/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>Mapping plans</title>
		<link>http://www.callum-macdonald.com/2009/10/25/mapping-plans/</link>
		<comments>http://www.callum-macdonald.com/2009/10/25/mapping-plans/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 15:47:21 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[Travels]]></category>
		<category><![CDATA[geocoding]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[spot]]></category>
		<category><![CDATA[spot 2]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1675</guid>
		<description><![CDATA[Since receiving my spot messenger I&#8217;ve been looking at mapping. I&#8217;d like to create a live route map that documents my travels. I&#8217;ve taken inspiration from Mark Beaumont&#8217;s map. Mark is cycling from Anchorage, Alaska to Ushuaia, Argentina, you can &#8230; <a href="http://www.callum-macdonald.com/2009/10/25/mapping-plans/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Since receiving my <a title="Spot personal satellite gps messenger tracker" href="http://www.findmespot.com/en/" target="_blank">spot messenger</a> I&#8217;ve been looking at mapping. I&#8217;d like to create a live route map that documents my travels. I&#8217;ve taken inspiration from <a title="Mark Beaumont's map of his cycling the Americas trip" href="http://www.bbc.co.uk/blogs/cyclingtheamericas/map/" target="_blank">Mark Beaumont&#8217;s map</a>. Mark is cycling from Anchorage, Alaska to Ushuaia, Argentina, you can read more on <a title="Mark Beaumont cycling the world" href="http://www.markbeaumontonline.com/" target="_blank">his site</a>.</p>
<p>The spot will update my location every 10 minutes. For $50 a year Spot will give me a map that shows my current location plus, I believe, up to 30 days of history. <a title="Follow Callum on the spot map" href="http://share.findmespot.com/shared/faces/viewspots.jsp?glId=0DfMBaDlUSWO5vcSibsI3MTEhGSaxpSyL" target="_blank">Example</a>. I&#8217;d like to show my whole trip, more than 30 days of history. A little hacking turned up <a title="The feed that drives the spot map" href="http://share.findmespot.com/spot-adventures/rest-api/1.0/public/feed/0DfMBaDlUSWO5vcSibsI3MTEhGSaxpSyL/message" target="_blank">this</a>. It&#8217;s the feed that drives spot&#8217;s map. Hopefully with a little jiggery-pokery, I can use the feed to create my own map with pieces added.</p>
<p>I&#8217;d like to show the following:</p>
<ul>
<li>My route and current location, up to the last update</li>
<li>Points of interest that I highlighted along the way</li>
<li>Pictures or video showing the location where they were taken</li>
<li>Status updates plotted on the map at the place they were sent from</li>
<li>Blog posts linked to the relevant points on the map</li>
</ul>
<p>Is there anything else <span style="text-decoration: underline;">you</span> would like to see on the map? Are you familiar with open source mapping? Do  you want to help me put this together? Do you know of any mapping services I could use? Thanks in advance for your help.</p>
<p>Here&#8217;s a random picture from a flickr search for maps to brighten your screen.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/gadl/274460455/"><img class="aligncenter" title="Smarties: Heart Mapping by gadl" src="http://farm1.static.flickr.com/84/274460455_0e3b641703.jpg" alt="" width="500" height="435" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/10/25/mapping-plans/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mounting LVM vmware disks</title>
		<link>http://www.callum-macdonald.com/2009/10/07/mounting-lvm-vmware-disks/</link>
		<comments>http://www.callum-macdonald.com/2009/10/07/mounting-lvm-vmware-disks/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 04:31:47 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[libcrypto.so]]></category>
		<category><![CDATA[libcrypto.so.0.9.8]]></category>
		<category><![CDATA[libfuse]]></category>
		<category><![CDATA[libfuse.so.2]]></category>
		<category><![CDATA[sslloadsharedlibrary]]></category>
		<category><![CDATA[suspend]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vmdk]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[vmware-loop]]></category>
		<category><![CDATA[vmware-mount]]></category>
		<category><![CDATA[vmware-mount.pl]]></category>
		<category><![CDATA[vmware-server]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1645</guid>
		<description><![CDATA[I&#8217;ve spent a couple of weeks trying to recover some data from an old vmware machine. I didn&#8217;t want to install vmware on my new OS, so I looked into the vmware-mount program. The documentation refers to vmware-mount.pl, but I &#8230; <a href="http://www.callum-macdonald.com/2009/10/07/mounting-lvm-vmware-disks/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent a couple of weeks trying to recover some data from an old vmware machine. I didn&#8217;t want to install vmware on my new OS, so I looked into the vmware-mount program. The <a title="vmware-mount loopback device" href="http://www.vmware.com/support/reference/linux/loopback_linux.html" target="_blank">documentation</a> refers to vmware-mount.pl, but I couldn&#8217;t find that file at first. It looks like since VMWare 2.0, vmware-mount.pl and vmware-loop have been replaced by a single vmware-mount binary, which behaves slightly differently.</p>
<p>I initially had problems with vmware-mount from <a title="VMWare Server for Linux 32bit version 2.0.0-122956 in tar.gz format" href="https://www.vmware.com/freedownload/p/download.php?product=server20&amp;a=DOWNLOAD_FILE&amp;baseurl=http://download2.vmware.com/software/server/&amp;filename=VMware-server-2.0.0-122956.i386.tar.gz" target="_blank">VMware-server-2.0.0-122956.i386.tar.gz</a>. I was getting this error:</p>
<p><code>vmware-mount: error while loading shared libraries: libfuse.so.2: cannot open shared object file: No such file or directory</code></p>
<p>I saw other reports of the same error, but no solution. I was using vmware-mount from a 32bit build on a 64bit OS, so instead I tried the vmware-mount from <a title="VMWare Server for Linux 64-bit version 2.0.1-156745 in tar.gz format" href="https://www.vmware.com/freedownload/p/download.php?product=server20&amp;a=DOWNLOAD_FILE&amp;baseurl=http://download2.vmware.com/software/server/&amp;filename=VMware-server-2.0.1-156745.x86_64.tar.gz" target="_blank">VMware-server-2.0.1-156745.x86_64.tar.gz</a>. Then I got an error along the lines of:</p>
<p><code>SSLLoadSharedLibrary: Failed to load library libcrypto.so.0.9.8:/usr/local/bin/libdir/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8: cannot open shared object file: No such file or directory<br />
Core dump limit is 0 KB.<br />
Child process 26541 failed to dump core (status 0x6).</code></p>
<p>VMware Server Error:<br />
VMware Server unrecoverable error: (app)<br />
SSLLoadSharedLibrary: Failed to load library libcrypto.so.0.9.8:/usr/local/bin/libdir/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8: cannot open shared object file: No such file or directory<br />
Please request support.<br />
To collect data to submit to VMware support, select Help &gt; About and click &#8220;Collect Support Data&#8221;. You can also run the &#8220;vm-support&#8221; script in the Workstation folder directly.<br />
We will respond on the basis of your support entitlement.</p>
<p>Press &#8220;Enter&#8221; to continue&#8230;</p>
<p>I read <a title="Article on vmware-mount issues" href="http://hydra.geht.net/tino/howto/vmware/mount/" target="_blank">this</a>. With a little guesswork this command seemed to do the trick:</p>
<p><code>sudo ln -s /lib /usr/lib/vmware</code></p>
<p>Now vmware-mount would list my partitions. First major breakthrough.</p>
<h2>Mounting suspended disks</h2>
<p>It complained that my virtual machine was in a suspended state, and so it wasn&#8217;t safe to mount the disk. I found I could bypass this problem by moving all the vmdk files into a separate directory. Then running vmware-mount in that directory. It effectively ignored all the vmware machine files, and used only the hard disk files.</p>
<p><code>mkdir vmdks<br />
sudo mv *.vmdk vmdks/<br />
cd vmdks<br />
</code></p>
<p>Now I could mount my /boot partition within the VM, but not the second partition because it was was an LVM container. A whole new problem to solve.</p>
<h2>Mounting LVM volumes with vmware-mount</h2>
<p>I stumbled on my buddy John&#8217;s <a title="John Berns on lvm vmware partitions" href="http://www.johnberns.com/2008/08/22/how-to-mount-a-vmware-linux-partition-in-ubuntu-hardy-804/" target="_blank">post</a>. That and <a title="Restoring from LVM vmware disks" href="http://www.dmi.me.uk/blog/2009/02/22/restoring-from-lvm-and-vmware-disks/" target="_blank">this</a> helped me figure out what was required.</p>
<p>My first step was to mount the disk flat, using a command like:</p>
<p><code>sudo vmware-mount -f pathToVMDK.vmdk /path/to/mount</code></p>
<p>That worked, sort of. With <code>fdisk -l /path/to/mount</code> I could see the two partitions. But <code>sudo vgscan</code> couldn&#8217;t find the lvm partition. I tried <code>sudo losetup /dev/loop0 /path/to/mount/flat</code>, but that didn&#8217;t work either.</p>
<p>I figured I needed vmware-loop to mount the partition as a loop device. I searched the <a title="VMWare Server for Linux 64-bit version 2.0.1-156745 in tar.gz format" href="https://www.vmware.com/freedownload/p/download.php?product=server20&amp;a=DOWNLOAD_FILE&amp;baseurl=http://download2.vmware.com/software/server/&amp;filename=VMware-server-2.0.1-156745.x86_64.tar.gz" target="_blank">VMware-server-2.0.1-156745.x86_64.tar.gz</a> file for vmware-loop, but it was nowhere to be found. That&#8217;s when I started investigating with previous versions of VMWare. It looks like the 1.0.* releases included vmware-mount.pl and vmware-loop while the 2.0.* releases only include the new vmware-mount binary.</p>
<p>I downloaded <a title="VMWare Sever for linux hosts v1.0.9-156507 in tar format" href="http://download3.vmware.com/software/vmserver/VMware-server-1.0.9-156507.tar.gz" target="_blank">VMware-server-1.0.9-156507.tar.gz</a>. In that tar file I extracted <code>bin/vmware-mount.pl</code> and <code>bin/vmware-loop</code>. These were the files I needed. I skipped vmware-mount and went straight to vmware-loop. I was able to mount the second partition directly onto a network block device (/dev/dbd0) with:</p>
<p><code>sudo vmware-loop pathToVMDK.vmdk 2 /dev/nbd0</code></p>
<p>Now I could use the lvm commands to activate and mount my lvm. Note that vmware-loop is running the whole time, so I left it in a separate terminal. I closed it with CTRL-C at the very end of the process.</p>
<p><code>sudo vgscan<br />
sudo vgchange -ay VolGroup00<br />
sudo mount /dev/VolGroup00/LogVol00 /mnt/</code></p>
<p>Finally, I was able to copy the files from my virtual hard drive. I made a full backup with tar and then grabbed some other specific files and unmounted the whole thing.</p>
<p><code>sudo umount /mnt/</code><br />
<code>sudo vgchange -an VolGroup00</code></p>
<p>If you&#8217;re struggling with vmware-mount and  LVM or suspended disks, I hope this helps. Comments welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/10/07/mounting-lvm-vmware-disks/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ubuntu Jaunty and pidgin-facebookchat 1.61</title>
		<link>http://www.callum-macdonald.com/2009/09/21/ubuntu-jaunty-and-pidgin-facebookchat-1-61/</link>
		<comments>http://www.callum-macdonald.com/2009/09/21/ubuntu-jaunty-and-pidgin-facebookchat-1-61/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 22:27:01 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[facebook chat]]></category>
		<category><![CDATA[jaunty]]></category>
		<category><![CDATA[karmic]]></category>
		<category><![CDATA[libpurple]]></category>
		<category><![CDATA[pidgin]]></category>
		<category><![CDATA[pidgin-facebookchat]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1593</guid>
		<description><![CDATA[I was able to install pidgin-facebookchat 1.61 on Ubuntu Juanty Jackalope (9.04) by first installing the relevant libjson-glib-1.0-0 from Karmic. To find the correct deb look at the different builds on the right hand side of the page. In my &#8230; <a href="http://www.callum-macdonald.com/2009/09/21/ubuntu-jaunty-and-pidgin-facebookchat-1-61/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was able to install <a title="Pidgin plugin pidgin-facebookchat version 1.61 deb" href="http://pidgin-facebookchat.googlecode.com/files/pidgin-facebookchat-1.61.deb" target="_blank">pidgin-facebookchat 1.61</a> on Ubuntu Juanty Jackalope (9.04) by first installing the relevant <a rel="nofollow" href="https://launchpad.net/ubuntu/karmic/+source/json-glib/0.7.6-0ubuntu1">libjson-glib-1.0-0 from Karmic</a>. To find the correct deb look at the different builds on the right hand side of the page. In my case on 64-bit Ubuntu the relevant deb was <a title="json-glib-1.0-0 version 0.7.6 64-bit from Ubuntu Karmic" href="https://launchpad.net/ubuntu/+source/json-glib/0.7.6-0ubuntu1/+build/1172673/+files/libjson-glib-1.0-0_0.7.6-0ubuntu1_amd64.deb" target="_blank">this one</a>, the 32-bit version is <a title="json-glib-1.0-0 version 0.7.6 32-bit from Ubuntu Karmic" href="https://launchpad.net/ubuntu/+source/json-glib/0.7.6-0ubuntu1/+build/1172675/+files/libjson-glib-1.0-0_0.7.6-0ubuntu1_i386.deb" target="_blank">here</a>.</p>
<p>I had to install the glib-json deb first. Otherwise the pidgin-facebookchat deb warned of an unsatisfiable dependency.</p>
<p>It looks like pidgin-facebookchat 1.6x is being included in Ubuntu Karmic but I&#8217;d guess it won&#8217;t be backported to Jaunty.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/09/21/ubuntu-jaunty-and-pidgin-facebookchat-1-61/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Wave</title>
		<link>http://www.callum-macdonald.com/2009/05/29/google-wave/</link>
		<comments>http://www.callum-macdonald.com/2009/05/29/google-wave/#comments</comments>
		<pubDate>Fri, 29 May 2009 22:56:05 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[collaborative communication]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Wave]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1297</guid>
		<description><![CDATA[This might be the most exciting technological development since email. I&#8217;m truly impressed at Google&#8217;s approach to this project. It gives me newfound faith in Google. The guys behind Google Maps set out to answer the question &#8220;What would email &#8230; <a href="http://www.callum-macdonald.com/2009/05/29/google-wave/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This might be the most exciting technological development since email. I&#8217;m truly impressed at Google&#8217;s approach to this project. It gives me newfound faith in Google.</p>
<p>The guys behind Google Maps set out to answer the question &#8220;What would email look like if it were invented today?&#8221;</p>
<p>Their answer is truly outstanding. Wave is a collaborative communication tool. Something like email crossed with a wiki, instant messaging client, and much, much more. As I watched the video I was thinking, all well and good, but when I got to around 1 hour 8 minutes, I got really excited. In a truly genius move, Google has made the whole protocol behind this new platform open source. That allows independent organisations to build their own Wave servers, and privacy is tightly coded within the system. No Google snooping. Wow.</p>
<p>If you&#8217;re technically minded, <a title="Watch the Google Wave demo on YouTube" href="http://www.youtube.com/watch?v=v_UyVmITiYQ" target="_blank">watch the video here</a>. I&#8217;m not embedding the video because it&#8217;s 1 hour 20 minutes long and you probably want to watch it in high def on YouTube directly. See more info and sign up for a demo account on <a title="Google Wave - collaborative, real time, federated communication" href="http://wave.google.com/" target="_blank">Google Wave here</a>.</p>
<p>I was clapping with the audience as the video ends. Truly amazing. Thanks to Pete Mall for the tip. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p style="text-align: center;"><img class="aligncenter" title="Google Wave Logo from TechCrunch" src="http://cache0.techcrunch.com/wp-content/uploads/2009/05/google_wave_logo.png" alt="" width="256" height="256" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/05/29/google-wave/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>An Ubuntu Kindle outside the US</title>
		<link>http://www.callum-macdonald.com/2009/05/26/an-ubuntu-kindle-outside-the-us/</link>
		<comments>http://www.callum-macdonald.com/2009/05/26/an-ubuntu-kindle-outside-the-us/#comments</comments>
		<pubDate>Tue, 26 May 2009 21:51:13 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Amazon Kindle]]></category>
		<category><![CDATA[Canada]]></category>
		<category><![CDATA[gift cards]]></category>
		<category><![CDATA[gift vouchers]]></category>
		<category><![CDATA[Kindle]]></category>
		<category><![CDATA[kindle hacking]]></category>
		<category><![CDATA[kindle outside USA]]></category>
		<category><![CDATA[us]]></category>
		<category><![CDATA[usa]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1285</guid>
		<description><![CDATA[I just bought a Kindle and successfully loaded my first book onto it in Canada, using only Ubuntu. The process I used should work anywhere outside the United States. Here&#8217;s a quick summary for overseas, would-be Kindle owners. 1] Buy &#8230; <a href="http://www.callum-macdonald.com/2009/05/26/an-ubuntu-kindle-outside-the-us/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I just bought a Kindle and successfully loaded my first book onto it in Canada, using only Ubuntu. The process I used should work anywhere outside the United States. Here&#8217;s a quick summary for overseas, would-be Kindle owners.</p>
<p>1] Buy the Kindle. You need a shipping address in the United States where a friend or forwarding service will receive the Kindle and send it on to you. You can use a credit card from any country to actually purchase the Kindle, but not the books.</p>
<p>2] Deregister the Kindle from your Amazon account.</p>
<p>3] Buy yourself an Amazon gift voucher (I started with $20). Just buy a gift card and have it sent to your own email address.</p>
<p>4] Create a new Amazon account with a new email address.</p>
<p>5] Register the Kindle onto your new Amazon account. The Kindle serial number is in tiny letters on the back of the device.</p>
<p>6] Load your gift voucher onto your <strong>new</strong> Amazon account.</p>
<p>7] Browse the Kindle book store, purchase a book. You&#8217;ll need to add a shipping address to your account, use a US shipping address.</p>
<p>8] Got Your Account &gt; Manage My Kindle and scroll down. You&#8217;ll see a list of your purchases, choose Download to My Computer then save the file.</p>
<p>9] Plug your Kindle into your computer (Linux, Mac or Windows all work) and drop the file into the documents folder on the Kindle.</p>
<p>Voila, you have a Kindle outside of the USA.</p>
<p><strong>Do not</strong> add a non-US credit card to your Amazon kindle account. Use the account only for your Kindle and only put money on the account via gift vouchers. Any non-US credit card will stop Amazon sending books to you on that account. You could repeat the process to register the Kindle to a new account, but you might run out of email addresses!</p>
<p>I&#8217;ll post some thoughts on the Kindle once I&#8217;ve had a chance to try it out. Right now it&#8217;s charging via USB. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>For those of you still wondering what  Kindle is, go <a title="The Amazon Kindle on Wikipedia" href="http://en.wikipedia.org/wiki/Amazon_Kindle" target="_blank">here</a>. Think ipod for books. Here&#8217;s a picture to help you visualise:</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/maurymccown/3406267211/"><img class="aligncenter" title="Amazon Kindle 2 by maury.mccown" src="http://farm4.static.flickr.com/3643/3406267211_9d1128592b.jpg?v=0" alt="" width="500" height="332" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/05/26/an-ubuntu-kindle-outside-the-us/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>bbPress 0.9 and WordPressMU 2.7</title>
		<link>http://www.callum-macdonald.com/2009/05/17/bbpress-09-and-wordpressmu-27/</link>
		<comments>http://www.callum-macdonald.com/2009/05/17/bbpress-09-and-wordpressmu-27/#comments</comments>
		<pubDate>Sun, 17 May 2009 20:20:35 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[bb-config]]></category>
		<category><![CDATA[bbPress]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[wordpressmu]]></category>
		<category><![CDATA[wp-config]]></category>
		<category><![CDATA[wpmu]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1271</guid>
		<description><![CDATA[I&#8217;ve just integrated cookie logins between bbPress 0.9.04 and WordPressMU 2.7.1 fort the second time. It took me a while to remember all the steps that were necessary the first time, so I&#8217;m documenting them here. This is a quick &#8230; <a href="http://www.callum-macdonald.com/2009/05/17/bbpress-09-and-wordpressmu-27/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just integrated cookie logins between bbPress 0.9.04 and WordPressMU 2.7.1 fort the second time. It took me a while to remember all the steps that were necessary the first time, so I&#8217;m documenting them here.</p>
<p>This is a quick and dirty integration. There might be a more fanciful or secure way of doing this. It works (for me, no guarantees!) and it&#8217;s easy. I think it will work for WordPress and WordPressMU but I&#8217;ve only tested on WordPressMU.</p>
<p>Firstly, you need to sync all the key and salt values in wp-config.php and bb-config.php. Set them in bb-config.php first. You need two lines like this:<br />
<code>define('BB_SECRET_KEY', 'secret_key_here');<br />
define('BB_SECRET_SALT', 'secret_salt_here');</code></p>
<p>Generate secrets <a title="GRC Ultra Random Password Generator" href="https://www.grc.com/passwords.htm" target="_blank">here</a>.</p>
<p>The next step is to copy those values into wp-config.php. Copy the secret key value into all of these lines:<br />
<code>define('SECRET_KEY', 'secret_key_here');<br />
define('AUTH_KEY','secret_key_here');<br />
define('SECURE_AUTH_KEY','secret_key_here');<br />
define('LOGGED_IN_KEY','secret_key_here');</code></p>
<p>Then copy the secret salt value into each of these lines:<br />
<code>define('SECRET_SALT', 'secret_salt_here');<br />
define('AUTH_SALT','secret_salt_here');<br />
define('SECURE_AUTH_SALT','secret_salt_here');<br />
define('LOGGED_IN_SALT','secret_salt_here');</code></p>
<p>It is possible for these to be different on WordPress. That means each cookie will be different. WordPress uses 3 cookies to handle logins. However, that complicates matters with bbPress, so for simplicity, keep them all the same.</p>
<p>You may also need to set COOKIE_DOMAIN and COOKIEPATH in bb-config.php. Check out your forum admin (Settings &gt; WordPress Integration) and it will tell you what to do.</p>
<p>Now go to your forum admin, Settings, WordPress Integration. Click &#8220;Show manual config settings:&#8221;. Now copy that into bb-config.php. Change this line to:<br />
<code>$bb-&gt;authcookie = 'wordpress_logged_in_';</code></p>
<p>WordPress standalone uses a wacky cookie name, generated randomly, but WordPressMU does not. If you&#8217;re using WordPress, you need to change this value. Log into WordPress, check the cookies in your browser, and copy the name here. I think you can also do this by setting COOKIEHASH in your wp-config.php. See <a title="Setting COOKIEHASH in wp-config.php can help bbPress cookie integration" href="http://umwblogs.org/wiki/index.php/Integrating_WPMu%2C_BuddyPress%2C_and_bbPress#The_COOKIEHASH" target="_blank">this article</a> for more info.</p>
<p>Now when you log into WordPress, you&#8217;ll be logged into bbPress. When you log out of WordPress, you&#8217;ll be logged out of bbPress. But not vice versa. In order to complete the link so you can log in and out on bbPress, you&#8217;ll need to add a little plugin to bbPress. Get the code <a title="Download the WPMU Cookies plugin for bbPress" href="http://www.callum-macdonald.com/download/wpmu-cookies.php-0.1.zip">here</a> and put the file in bb-plugins then activate the plugin via your forum admin. <strong>This plugin only works for WordPressMU / bbPress</strong>. If you want a version for WordPress, nag me with a comment on this post and I&#8217;ll see what I can do. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Now logins should sync beautifully. If you have any questions, try asking on the <a title="bbPress support forums" href="http://bbpress.org/forums/" target="_blank">bbPress forums</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/05/17/bbpress-09-and-wordpressmu-27/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>lftp and cPanel</title>
		<link>http://www.callum-macdonald.com/2009/05/04/lftp-and-cpanel/</link>
		<comments>http://www.callum-macdonald.com/2009/05/04/lftp-and-cpanel/#comments</comments>
		<pubDate>Tue, 05 May 2009 00:33:05 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[AUTHTLS]]></category>
		<category><![CDATA[cPanel]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[lftp]]></category>
		<category><![CDATA[ProFTPD]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1258</guid>
		<description><![CDATA[I routinely have problems connecting to cPanel FTP servers with lftp. Much to my frustration it works fine through gFTP. After some debugging investigation it seems that lftp automatically tries to use AUTH TLS and then fails. There is a &#8230; <a href="http://www.callum-macdonald.com/2009/05/04/lftp-and-cpanel/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I routinely have problems connecting to cPanel FTP servers with <a title="lftp - outstanding terminal / command line ftp client" href="http://lftp.yar.ru/" target="_blank">lftp</a>. Much to my frustration it works fine through gFTP. After some debugging investigation it seems that lftp automatically tries to use AUTH TLS and then fails. There is a simple solution. Set the lftp setting &#8220;ftp:ssl-allow&#8221; to false. This can be done by running this command within lftp:</p>
<p>set ftp:ssl-allow false</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/05/04/lftp-and-cpanel/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Another WordPress plugin</title>
		<link>http://www.callum-macdonald.com/2009/05/01/another-wordpress-plugin/</link>
		<comments>http://www.callum-macdonald.com/2009/05/01/another-wordpress-plugin/#comments</comments>
		<pubDate>Fri, 01 May 2009 09:17:52 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[timezones]]></category>
		<category><![CDATA[WordPress-Plugins]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1236</guid>
		<description><![CDATA[I&#8217;ve been on something of a plugin writing spree of late. I&#8217;ve just written my second WordPress plugin this week. I realised that the timezone was wrong on this blog. It&#8217;s been wrong since I left Sydney. Now that I&#8217;m &#8230; <a href="http://www.callum-macdonald.com/2009/05/01/another-wordpress-plugin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been on something of a plugin writing spree of late. I&#8217;ve just written my second WordPress plugin this week.</p>
<p>I realised that the timezone was wrong on this blog. It&#8217;s been wrong since I left Sydney. Now that I&#8217;m posting status updates, and not using the &#8220;posted X minutes ago&#8221; format, it&#8217;s obvious when my times are wrong.</p>
<p>I looked into how I could change the times on my old posts. In the process I found Otto&#8217;s excellent <a title="The most excellent Automatic Timezone plugin" href="http://wordpress.org/extend/plugins/automatic-timezone/" target="_blank">Automatic Timezone</a> plugin. It sets your timezone automatically including changes for DST and so on. You just choose the nearest city and it does the rest.</p>
<p>However, I couldn&#8217;t find a plugin that would change the timezone information on older posts. So I wrote one. The first version ruined the posts, thankfully I had run a backup before I made 90% of the changes. This version seems to work fine. New page <a title="WP Apply Timezone - apply the current timezone to older posts retrospectively" href="http://www.callum-macdonald.com/code/wp-apply-timezone/">here</a>, it&#8217;s still waiting for approval from the WordPress plugin directory.</p>
<p>So the timestamp on this post is correct for my current timezone, it&#8217;s 2:17am, time for bed!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/05/01/another-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Trying a new theme</title>
		<link>http://www.callum-macdonald.com/2009/04/30/trying-a-new-theme/</link>
		<comments>http://www.callum-macdonald.com/2009/04/30/trying-a-new-theme/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 07:57:39 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[themes]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1186</guid>
		<description><![CDATA[I&#8217;m trying a new theme on the blog. I&#8217;m going for a lighter, simpler look more focused on the content and less on the blog. What do you think? If you&#8217;re reading this in a feed reader, come check out &#8230; <a href="http://www.callum-macdonald.com/2009/04/30/trying-a-new-theme/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m trying a new theme on the blog. I&#8217;m going for a lighter, simpler look more focused on the content and less on the blog. What do you think?</p>
<p>If you&#8217;re reading this in a feed reader, come check out the site and share your thoughts in the comments. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/04/30/trying-a-new-theme/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Considering a Kindle</title>
		<link>http://www.callum-macdonald.com/2009/02/28/considering-a-kindle/</link>
		<comments>http://www.callum-macdonald.com/2009/02/28/considering-a-kindle/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 19:52:36 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[DRM]]></category>
		<category><![CDATA[Kindle]]></category>
		<category><![CDATA[Kindle2]]></category>
		<category><![CDATA[read aloud]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1061</guid>
		<description><![CDATA[I&#8217;m considering the purchase of an Amazon Kindle 2. I like reading books but books a&#8217;re big and bulky which doesn&#8217;t fit very well with my current nomadic lifestyle. I&#8217;ve spoken to a few people who recommend the Kindle. However, &#8230; <a href="http://www.callum-macdonald.com/2009/02/28/considering-a-kindle/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m considering the purchase of an <a title="Amazon Kindle 2" href="http://www.amazon.com/gp/product/B00154JDAI" target="_blank">Amazon Kindle 2</a>. I like reading books but books a&#8217;re big and bulky which doesn&#8217;t fit very well with my current nomadic lifestyle. I&#8217;ve spoken to a few people who recommend the Kindle.</p>
<p>However, I just read <a title="Lawrence Lessig talking about Amazon's decision to restrict read aloud on the Kindle" href="http://www.lessig.org/blog/2009/02/caving_into_bullies_aka_here_w.html" target="_blank">this</a>. Amazon has allowed publishers to restrict whether a book can be read aloud on the Kindle or not. There is no basis for this in law, but Amazon has conceded all the same.</p>
<p>I&#8217;m typically a hardliner on issues like this. I boycott all Apple products because of the company&#8217;s proprietary lock-in practices. I use Ubuntu GNU/Linux because it includes software freedoms not available on proprietary operating systems.</p>
<p>Is there a Kindle competitor out there? Is the same range of books available?</p>
<p>Before I make a purchase I want to find out if I can load books onto the Kindle via Ubuntu. The Kindle includes a cell phone wireless component that allows internet access, but only in the US. So outside of the US I need another way to load books. If that requires Windows or Mac then I won&#8217;t buy the Kindle.</p>
<p>Then I&#8217;d also like to research the selection of books that is available. I&#8217;m hoping that the type of non-fiction books I typically read are readily available on the Kindle, otherwise, again, no point getting one.</p>
<p>Do you have a Kindle? Do you use Ubuntu? Any feedback?</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/uriondo/3266823822/"><img class="aligncenter" title="Kindle 2 by uriondo on flickr.com" src="http://farm4.static.flickr.com/3534/3266823822_51fa585ab6.jpg?v=0" alt="" width="500" height="500" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/02/28/considering-a-kindle/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>My Manhattan office</title>
		<link>http://www.callum-macdonald.com/2009/02/19/my-manhattan-office/</link>
		<comments>http://www.callum-macdonald.com/2009/02/19/my-manhattan-office/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 17:16:48 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[Travels]]></category>
		<category><![CDATA[Ashley J Heather]]></category>
		<category><![CDATA[business startup]]></category>
		<category><![CDATA[dotbox]]></category>
		<category><![CDATA[incubation]]></category>
		<category><![CDATA[new york city]]></category>
		<category><![CDATA[NY]]></category>
		<category><![CDATA[opencoffee]]></category>
		<category><![CDATA[startups]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=1044</guid>
		<description><![CDATA[I went to the New York OpenCoffee meeting this morning. I&#8217;ve been to a few OpenCoffee&#8217;s around the world and I like the events. They normally give me a quick flavour of the tech scene in a place. The meetings &#8230; <a href="http://www.callum-macdonald.com/2009/02/19/my-manhattan-office/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I went to the <a title="OpenCoffee meetings in New York City" href="http://entrepreneur.meetup.com/1124/" target="_blank">New York</a> <a title="OpenCoffee - open source business / startup / tech networking" href="http://opencoffee.ning.com/" target="_blank">OpenCoffee</a> meeting this morning. I&#8217;ve been to a few OpenCoffee&#8217;s around the world and I like the events. They normally give me a quick flavour of the tech scene in a place. The meetings in <a title="OpenCoffee meetings in Cape Town, South Africa" href="http://entrepreneur.meetup.com/1144/" target="_blank">Cape Town</a> are really buzzing for example.</p>
<p>This morning&#8217;s meeting opened with a series of introductions, each person introduced themselves in that usual &#8220;My name is blah and my company is called blah and I blah blah blah&#8221;. I was looking for a place to work for the day so I literally jumped from my seat when my turn came. I sprang into life, delivered an energetic good morning, explained my name was Callum, I&#8217;m from Scotland, and I was looking for a desk for the day.</p>
<p>The charming, generous and downright handsome Ashley J. Heather was a couple of intros before me. English accent, runs a tech incubator. Perfect I thought. He agreed. Bingo, I had scored an office for the day. So this post comes to you from the office space of <a title="dotbox ideas - incubation, media startup, New York City" href="http://www.dotboxideas.com/" target="_blank">dotbox</a>. Thanks Ashley. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Here&#8217;s a completely unrelated, creative commons licenced picture of a totally different type of dotbox for your viewing pleasure!</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/daquellamanera/308728865/"><img class="aligncenter" title="Caja by Daquella manera on www.flickr.com" src="http://farm1.static.flickr.com/119/308728865_7113ac9d2f.jpg?v=0" alt="" width="375" height="500" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/02/19/my-manhattan-office/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A sad day for Michael Arrington</title>
		<link>http://www.callum-macdonald.com/2009/01/29/a-sad-day-for-michael-arrington/</link>
		<comments>http://www.callum-macdonald.com/2009/01/29/a-sad-day-for-michael-arrington/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 21:57:53 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[Michael Arrington]]></category>
		<category><![CDATA[sad news]]></category>
		<category><![CDATA[taking a break]]></category>
		<category><![CDATA[techcrunch]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=982</guid>
		<description><![CDATA[Michael Arrington is the main entrepreneur and journalist behind TechCrunch. According to Technorati, TechCrunch is the second most popular blog on the internet. TechCrunch covers technology startup news, specifically silicon valley, web based type stuff (as far as I know, &#8230; <a href="http://www.callum-macdonald.com/2009/01/29/a-sad-day-for-michael-arrington/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Michael Arrington is the main entrepreneur and journalist behind <a title="TechCrunch - startup tech news" href="http://www.techcrunch.com/" target="_blank">TechCrunch</a>. According to <a title="Technorati most popular blogs" href="http://technorati.com/pop/blogs/" target="_blank">Technorati</a>, TechCrunch is the second most popular blog on the internet. TechCrunch covers technology startup news, specifically silicon valley, web based type stuff (as far as I know, I&#8217;m not a regular reader).</p>
<p>Michael <a title="Michael Arrington takes a break" href="http://www.techcrunch.com/2009/01/28/some-things-need-to-change/" target="_blank">posted</a> some sad news yesterday. He is taking a break after being spat on at a European conference. He also said that he had received death threats and hired private security personnel to protect his family and employees.</p>
<p>As I understand it, Michael is a very public figure. He&#8217;s one of the best known web celebrities, whatever that means. As with all famous people, there comes a downside to that fame. While the likes of <a title="Mark Zuckerberg on Wikipedia" href="http://en.wikipedia.org/wiki/Mark_Zuckerberg" target="_blank">Mark Zuckerberg</a> (24 year old, paper billionaire, Facebook founder) or <a title="Matt Mullenweg on Wikipedia" href="http://en.wikipedia.org/wiki/Matt_Mullenweg" target="_blank">Matt Mullenweg</a> (25 year old, paper millionaire, Automattic / WordPress founder) keep a low profile, Arrington is the opposite. He&#8217;s been prolific in getting his name known, and very successful.</p>
<p>It&#8217;s a shame that fame is accompanied with such a downside. I&#8217;m sure most major actors have experienced similar issues to Arrington. Personally, I take this as a stark reminder that popularity has a cost. It reminds me that while fame may seem appealing, personally, I don&#8217;t think the benefit is worth the cost.</p>
<p>I hope Michael Arrington and his family are safe, and I hope he&#8217;s able to deal with these challenges and grow as a result. Good luck Michael.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/joi/2659048381/"><img class="aligncenter" title="Michael Arrington by Joi on flickr.com" src="http://farm4.static.flickr.com/3074/2659048381_c58fc5bede.jpg?v=0" alt="" width="500" height="333" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/01/29/a-sad-day-for-michael-arrington/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Unsubscribing from AirAsia</title>
		<link>http://www.callum-macdonald.com/2009/01/28/unsubscribing-from-airasia/</link>
		<comments>http://www.callum-macdonald.com/2009/01/28/unsubscribing-from-airasia/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 20:16:59 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[air asia]]></category>
		<category><![CDATA[clickz]]></category>
		<category><![CDATA[double click]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[Spam]]></category>
		<category><![CDATA[unsubscribe]]></category>
		<category><![CDATA[usubscribing]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=979</guid>
		<description><![CDATA[I cannot unsubscribe from AirAsia&#8217;s email newsletter. They say email unsubscribe@fly.airasia.com to be removed from the mailing list. That email address is dead. Likewise unsubscribe@airasia.com is also dead. I&#8217;ve tried contacting their customer support department, nothing. AirAsia&#8217;s emails appear to &#8230; <a href="http://www.callum-macdonald.com/2009/01/28/unsubscribing-from-airasia/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I cannot unsubscribe from AirAsia&#8217;s email newsletter. They say email <a href="mailto:unsubscribe@fly.airasia.com">unsubscribe@fly.airasia.com</a> to be removed from the mailing list. That email address is dead. Likewise <a href="mailto:unsubscribe@airasia.com">unsubscribe@airasia.com</a> is also dead.</p>
<p>I&#8217;ve tried contacting their customer support department, nothing.</p>
<p>AirAsia&#8217;s emails appear to be handled by dartmail.net. <a title="Whois search for dartmail.net" href="http://whois.domaintools.com/dartmail.net" target="_blank">Whois</a> shows that this domain is owned by Google. The first result in a <a title="Scroogle search for dartmail" href="http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw=dartmail" target="_blank">scroogle search</a> for dartmail is a <a title="DARTmail from ClickZ / Double Click" href="http://www.clickz.com/997761" target="_blank">service from ClickZ / Double Click</a>.</p>
<p>All in all, I&#8217;m feeling some frustration. If it comes to it, I can simply block all email from AirAsia, but that would mean I cannot fly with them. Not ideal. Does anyone out there have a suggestion or solution?</p>
<p>Update at 15 Jan 2009: <span><a title="ccd5 says the unsubscribe address now works" href="http://www.callum-macdonald.com/2009/01/28/unsubscribing-from-airasia/#comment-42589">ccd5 said</a> the unsubscribe address now works, I tried again and it worked for me.<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/01/28/unsubscribing-from-airasia/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>New laptop: Lenovo X301</title>
		<link>http://www.callum-macdonald.com/2009/01/17/new-laptop-lenovo-x301/</link>
		<comments>http://www.callum-macdonald.com/2009/01/17/new-laptop-lenovo-x301/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 20:22:51 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[lenovo]]></category>
		<category><![CDATA[lenovo x301]]></category>
		<category><![CDATA[ThinkPad]]></category>
		<category><![CDATA[x301]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=895</guid>
		<description><![CDATA[Exactly one month after I bought it, my Lenovo X301 finally arrived in Guadalajara. Big thanks to Ferg and Maeve for getting it to me. I&#8217;m very impressed with the X301. It&#8217;s not cheap, my configuration retails for around $3&#8217;500 &#8230; <a href="http://www.callum-macdonald.com/2009/01/17/new-laptop-lenovo-x301/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Exactly one month after I <a title="I bought a Lenovo X301 on eBay.co.uk" href="http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&amp;item=180312411506" target="_blank">bought</a> it, my Lenovo X301 finally arrived in Guadalajara. Big thanks to <a title="Fergus" href="http://www.fergus-macdonald.com/" target="_blank">Ferg</a> and <a title="Maeve on CouchSurfing.com" href="http://www.couchsurfing.com/people/maeveymaeve" target="_blank">Maeve</a> for getting it to me.</p>
<p style="text-align: center;"><a href="http://www.callum-macdonald.com/wordpress/wp-content/uploads/2009/01/new_x301.jpg"><img class="aligncenter size-medium wp-image-933" title="New X301" src="http://www.callum-macdonald.com/wordpress/wp-content/uploads/2009/01/new_x301-500x375.jpg" alt="New X301" width="500" height="375" /></a></p>
<p>I&#8217;m very impressed with the X301. It&#8217;s not cheap, my configuration retails for around $3&#8217;500 USD, but it definitely feels worth it. The machine is half the weight of my previous ThinkPad R60. The screen is noticeably brighter, I&#8217;m running it about 70% brightness indoors. It&#8217;s also got 70% more pixels, which means more stuff on the screen. That was the main reason I changed laptops, I wanted more desktop space.</p>
<p>Naturally, I immediately installed Ubuntu. I didn&#8217;t even boot the machine on Vista. I also swiftly removed the Intel Inside and Microsoft Vista stickers. After some hassles getting Ubuntu installed (I repeatedly chose the wrong options), I finally got there. Everything &#8220;just works&#8221;. Bluetooth, wifi, FN keys, the whole lot. This was the easiest Linux install I&#8217;ve experienced to date.</p>
<p>What impresses me most about the X301 is the build quality. It feels absolutely solid, particularly for a machine that is so light. <a title="Oz on CouchSurfing.com" href="http://www.couchsurfing.com/people/obekerman" target="_blank">Oz</a> is staying with us at the moment and he has a <a title="The Apple MacBook Air" href="http://www.apple.com/macbookair/" target="_blank">MacBook Air</a> so I&#8217;ve been able to compare them both first hand. The Air feels smaller. It&#8217;s thinner at the edges so it looks smaller. The two machines are almost identical in dimensions, I think the Air is 0.03 inches thinner at it&#8217;s thickest point. The Air also looks better. It&#8217;s Apple good looking. Metal finish, back lit Apple logo, etc. It looks awesome. However, I&#8217;m happy to have a machine that looks old school,  it draws less attention and is less likely to be stolen.</p>
<p>The X301 comes into its own on <a title="Parody of the MacBook Air on YouTube" href="http://www.youtube.com/watch?v=_hnOCUkbix0" target="_self">performance</a>. The Air has a total of 3 ports. Headphones, mini-dvi and one USB. The X301 has 3 USB ports, headphone and microphone sockets, DisplayPort, VGA, ethernet, the list goes on. My X301 has an in-built DVD Burner which I can swap out for a second battery. The Air&#8217;s battery is not removable, so no carrying spares. I can run two batteries in my X301 and given enough batteries, achieve potentially unlimited runtime.</p>
<p>Overall, I&#8217;m delighted with my new X301. It&#8217;s super light, ultra portable, but packs enough performance that I can use it as my main workhorse machine. Very happy with my purchase.</p>
<p>[ Picture on the screen is <a title="One Night in Bangkok by Stuck in Customs on flickr" href="http://www.flickr.com/photos/stuckincustoms/300341306/" target="_blank">One Night in Bangkok by Stuck in Customs</a> ]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2009/01/17/new-laptop-lenovo-x301/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Satellite versus roaming</title>
		<link>http://www.callum-macdonald.com/2008/12/17/satellite-versus-roaming/</link>
		<comments>http://www.callum-macdonald.com/2008/12/17/satellite-versus-roaming/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 19:36:49 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[Travels]]></category>
		<category><![CDATA[bgan]]></category>
		<category><![CDATA[bgan pricing]]></category>
		<category><![CDATA[data roaming]]></category>
		<category><![CDATA[rbgan]]></category>
		<category><![CDATA[roaming]]></category>
		<category><![CDATA[satellite phones]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=837</guid>
		<description><![CDATA[Satellite broadband runs about $5-$7 USD per Mb. It seems expensive. I thought I&#8217;d compare that to global roaming charges. Vodafone NZ charge $10 &#8211; $30 per Mb depending on the region! At these kind of prices, it looks like &#8230; <a href="http://www.callum-macdonald.com/2008/12/17/satellite-versus-roaming/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Satellite broadband <a title="Satellite broadband pricing on RBGAN" href="http://www.gmpcs-us.com/airtime-plans.asp" target="_blank">runs</a> about $5-$7 USD per Mb. It seems expensive. I thought I&#8217;d compare that to global roaming charges. Vodafone NZ <a title="Vodafone NZ roaming costs, click the data tab for data pricing" href="http://www.vodafone.co.nz/roaming/set-up-services-support.jsp" target="_blank">charge</a> $10 &#8211; $30 per Mb depending on the region!</p>
<p>At these kind of prices, it looks like I&#8217;ll be staying in major metropolitan areas with wifi for the next few months. I was dreaming of getting a satellite phone and a camper van (or a motorbike) and taking off into the wild!</p>
<p>If I want to be uber-available, I might consider a pre-paid satellite sim card ($500!) valid for 6 months. Paired with a satellite handset, I could potentially be &#8220;permanently connected&#8221;. Food for thought.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/miege/2202901407/"><img class="aligncenter" title="Leuk satellite station by christianmeichtry" src="http://farm3.static.flickr.com/2295/2202901407_3a91df30bf.jpg?v=0" alt="" width="500" height="334" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/12/17/satellite-versus-roaming/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Skype on Ubuntu 8.10</title>
		<link>http://www.callum-macdonald.com/2008/11/30/skype-on-ubuntu-810/</link>
		<comments>http://www.callum-macdonald.com/2008/11/30/skype-on-ubuntu-810/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 08:16:20 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[Intrepid]]></category>
		<category><![CDATA[intrepid ibex]]></category>
		<category><![CDATA[Skype]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Ubuntu 8.10]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=779</guid>
		<description><![CDATA[Every time I reinstall Skype on Linux I lose sound for some reason. I can hear the other side, but they can&#8217;t hear me. I fiddle with the volume settings, and after a while it starts working. This time, I &#8230; <a href="http://www.callum-macdonald.com/2008/11/30/skype-on-ubuntu-810/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Every time I reinstall Skype on Linux I lose sound for some reason. I can hear the other side, but they can&#8217;t hear me. I fiddle with the volume settings, and after a while it starts working. This time, I paid attention and made note of how I got it working. This post is as much for me as for anyone else on Ubuntu. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Firstly, under Options &gt; Sound Devices I switched the output device to pulse. Then I set the input device to &#8220;HDA Intel (hw:Intel,0)&#8221;. Then I opened the volume control, enabled all the devices, and set Mic Boost to about 15%. That was the critical step. Now callers can hear me.</p>
<p>For the first time in my Linux history, I can now receive a Skype call and have music playing at the same time. Previously, I had to kill all other sound output before answering the call and I would only see it ring, not hear it. Much progress.</p>
<p>Here&#8217;s a random picture from a search for Skype on flickr to brighten things up a little.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/warmnfuzzy/292484698/"><img class="aligncenter" title="Got mine!! by Warm n Fuzzy on www.flickr.com" src="http://farm1.static.flickr.com/109/292484698_9155f3dbae.jpg?v=0" alt="" width="500" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/11/30/skype-on-ubuntu-810/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Zend Studio garbled chars fix</title>
		<link>http://www.callum-macdonald.com/2008/11/29/zend-studio-garbled-chars-fix/</link>
		<comments>http://www.callum-macdonald.com/2008/11/29/zend-studio-garbled-chars-fix/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 09:45:22 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[garbled chars]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Ubuntu 8.10]]></category>
		<category><![CDATA[Ubuntu Intrepid]]></category>
		<category><![CDATA[zend]]></category>
		<category><![CDATA[zend studio]]></category>
		<category><![CDATA[Zend Studio 5.5.1]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=782</guid>
		<description><![CDATA[Following my post about installing Zend Studio 5.5.1 on Ubuntu 8.10, Gyorgy posted a comment about a problem with garbled characters. I had noticed the problem myself, but only briefly, I don&#8217;t tend to work with very large files. As &#8230; <a href="http://www.callum-macdonald.com/2008/11/29/zend-studio-garbled-chars-fix/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Following my <a title="Installing Zend Studio 5.5.1 on Ubuntu 8.10" href="http://www.callum-macdonald.com/2008/05/20/zend-studio-551-on-ubuntu/">post</a> about installing Zend Studio 5.5.1 on Ubuntu 8.10, Gyorgy posted a <a title="Gyorgy on garbled text issues with Zend Studio 5.5.1 on Ubuntu 8.10" href="http://www.callum-macdonald.com/2008/05/20/zend-studio-551-on-ubuntu/#comment-31558">comment</a> about a problem with <a title="Screenshot of Zend Studio 5.5.1 garbling characters on Ubuntu Intrepid" href="http://ubuntuforums.org/attachment.php?attachmentid=92487&amp;d=1226597820" target="_blank">garbled characters</a>. I had noticed the problem myself, but only briefly, I don&#8217;t tend to work with very large files. As yet, I hadn&#8217;t gotten a chance to look into it.</p>
<p>I spent some time on it today. Through <a title="Thread discussing Zend Studio garbled text bug on Ubuntu Intrepid" href="http://www.zend.com/forums/index.php?t=msg&amp;th=6427" target="_blank">this</a> I found <a title="NetBeans rendering bug on Ubuntu 8.10 and others" href="http://forums.netbeans.org/post-14892.html" target="_blank">this thread</a> discussing a similar problem with Netbeans. User cesc posted <a title="User cesc finds a solution to the Netbeans garbled character rendering bug" href="http://forums.netbeans.org/topic4851-0-asc-15.html#15818" target="_blank">their fix</a> (workaround?) which others reported to work. I figured the same option might work in Zend.</p>
<p>After a little digging, I have found that this approach works for me. I&#8217;ve tested with a 3k+ line file, and the bug is resolved. I&#8217;m running Zend Studio 5.5.1, Ubuntu 8.10, Sun&#8217;s JRE build 1.6.0_10-b33, compiz disabled. Zend appears to work with compiz enabled, but scrolling a 3k+ line file is very slow.</p>
<p>I edited file <code>/opt/ZendStudio-5.5.1/bin/ZDE</code> at line 1543 and added this:</p>
<p><code># Hack in this option to solve garbled text problem as per:<br />
# http://tinyurl.com/zendchrfix<br />
options="$options -Dsun.java2d.pmoffscreen=false"</code></p>
<p>Here&#8217;s a <a title="Patch to fix garbled text rendering bug in Zend Studio 5.5.1 on Ubuntu 8.10" href="http://www.callum-macdonald.com/download/ZDE.text-render-bug-on-ubuntu-8.10.patch">patch</a> for those who like that sort of thing. Hopefully this will help others with the same issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/11/29/zend-studio-garbled-chars-fix/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Full encryption is go!</title>
		<link>http://www.callum-macdonald.com/2008/11/10/full-encryption-is-go/</link>
		<comments>http://www.callum-macdonald.com/2008/11/10/full-encryption-is-go/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 23:23:33 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[full disk encryption]]></category>
		<category><![CDATA[grc]]></category>
		<category><![CDATA[intrepid ibex]]></category>
		<category><![CDATA[laptop security]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=748</guid>
		<description><![CDATA[This post comes to you from Ubuntu 8.10 Intrepid Ibex, upon a fully encrpted 500GB disk. So if my laptop should fall into the wrong hands, my customers, family and friends can rest assured their data, passwords, photographs or emails &#8230; <a href="http://www.callum-macdonald.com/2008/11/10/full-encryption-is-go/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/anonymouscollective/2291896028/"><img class="alignright" title="Security by Anonymous Account on flickr.com" src="http://farm3.static.flickr.com/2340/2291896028_e54336ab04_m.jpg" alt="" width="160" height="240" /></a>This post comes to you from Ubuntu 8.10 Intrepid Ibex, upon a fully encrpted 500GB disk. So if my laptop should fall into the wrong hands, my customers, family and friends can rest assured their data, passwords, photographs or emails are (for all practical purposes) secure.</p>
<p>Thus far I haven&#8217;t noticed a performance cost. The system &#8220;feels&#8221; as fast as before. I&#8217;m running a Centrino Core2 Duo 1.66GHz, 1.5GiB RAM. When moving large quantities of data (10GiB plus) I see the kcryptd process using around 25% &#8211; 50% CPU (of one core).</p>
<p>It really was painless to setup. Thanks to <a title="Ubuntu Hardy Heron 8.04 with full disk encryption" href="http://learninginlinux.wordpress.com/2008/04/23/installing-ubuntu-804-with-full-disk-encryption/" target="_blank">this walkthrough</a> I was pretty confident it would be easy. No dramas. The hardest step was probably choosing a suitably random password (thanks <a title="GRC Ultra Random Password Generator" href="https://www.grc.com/passwords.htm" target="_blank">grc</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/11/10/full-encryption-is-go/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>EasySpace Suck</title>
		<link>http://www.callum-macdonald.com/2008/10/31/easyspace-suck/</link>
		<comments>http://www.callum-macdonald.com/2008/10/31/easyspace-suck/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 13:40:17 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[bittorrent]]></category>
		<category><![CDATA[consumer action]]></category>
		<category><![CDATA[customer complaints]]></category>
		<category><![CDATA[easyspace]]></category>
		<category><![CDATA[torrents]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=745</guid>
		<description><![CDATA[I&#8217;ve just been advised by EasySpace that the VPS I rent from them cannot access torrents. They block all torrent traffic on their network. I&#8217;m sorry but Easyspace do not allow connection to torrent trackers on our network. There is &#8230; <a href="http://www.callum-macdonald.com/2008/10/31/easyspace-suck/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just been advised by EasySpace that the VPS I rent from them cannot access torrents. They block all torrent traffic on their network.</p>
<blockquote><p>I&#8217;m sorry but Easyspace do not allow connection to torrent trackers on our network. There is the potential for the service to be abused so it is forbidden entirely.</p>
<p>Uploading/Downloading torrents will also greatly increase the bandwidth usage of your server and potentially cause problems for other users on the network.</p></blockquote>
<p>Outrageous. If it wasn&#8217;t that I need a UK IP I&#8217;d kill the service immediately. Outrageous.</p>
<p>Any recommendations on a good UK VPS host? I&#8217;m looking around £25 a month for a reasonably spec&#8217;d box (probably 512MiB RAM). I&#8217;ll be happy to switch if I can find a better alternative.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/10/31/easyspace-suck/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Rsync.net gets cheaper</title>
		<link>http://www.callum-macdonald.com/2008/10/28/rsyncnet-gets-cheaper/</link>
		<comments>http://www.callum-macdonald.com/2008/10/28/rsyncnet-gets-cheaper/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 07:57:26 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[automated backup]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[Online-Backup]]></category>
		<category><![CDATA[rsync.net]]></category>
		<category><![CDATA[scheduled backup]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=742</guid>
		<description><![CDATA[My online backup service, rsync.net, has just dropped their prices. They&#8217;re now $1.20 per GB per month, unlimited bandwidth. Pretty reasonable I reckon. Plus they&#8217;ve added a couple of Windows clients to make things easier for poor souls not yet &#8230; <a href="http://www.callum-macdonald.com/2008/10/28/rsyncnet-gets-cheaper/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>My online backup service, <a title="Rsync.net - Cheap, reliable online backup" href="http://rsync.net/" target="_blank">rsync.net</a>, has just dropped their prices. They&#8217;re now $1.20 per GB per month, unlimited bandwidth. Pretty reasonable I reckon. Plus they&#8217;ve added a couple of <a title="Windows Backup Agent from rsync.net scheduled, automated, differential backup" href="http://www.rsync.net/resources/howto/windows_backup_agent.html" target="_blank">Windows</a> <a title="Windows Map from rsync.net - map windows drives to rsync filesystems" href="http://www.rsync.net/resources/howto/windows_map.html" target="_blank">clients</a> to make things easier for poor souls not yet enlightened to the power of Linux. :-p</p>
<p>While others are talking <a title="Sequoia's doomsday presentation on TechCrunch" href="http://www.techcrunch.com/2008/10/10/sequoia-capitals-56-slide-powerpoint-presentation-of-doom/" target="_blank">doom</a> and <a title="Semi-positive rantings from Jason Calacanis" href="http://calacanis.com/2008/10/28/good-news-for-people-who-hate-bad-news/" target="_blank">gloom</a> it would seem rsync.net are on the up and up. Glad to be with them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/10/28/rsyncnet-gets-cheaper/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Goodbye FuseMail, hello TuffMail</title>
		<link>http://www.callum-macdonald.com/2008/10/21/goodbye-fusemail-hello-tuffmail/</link>
		<comments>http://www.callum-macdonald.com/2008/10/21/goodbye-fusemail-hello-tuffmail/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 04:43:05 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[email hosting]]></category>
		<category><![CDATA[Evolution]]></category>
		<category><![CDATA[fusemail]]></category>
		<category><![CDATA[imap hosting]]></category>
		<category><![CDATA[mail hosting]]></category>
		<category><![CDATA[tuffmail]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=734</guid>
		<description><![CDATA[I have changed mail providers again. I&#8217;ve been with TuffMail for about 3 weeks now. After my initial hassles with FuseMail, they came round. Pat and Henry were great. They got back to me after my scathing blog post, the &#8230; <a href="http://www.callum-macdonald.com/2008/10/21/goodbye-fusemail-hello-tuffmail/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have changed mail providers again. I&#8217;ve been with <a title="TuffMail - mail hosting for geeks" href="http://www.tuffmail.com/" target="_blank">TuffMail</a> for about 3 weeks now.</p>
<p>After my <a title="Posts tagged FuseMail" href="http://www.callum-macdonald.com/tag/fusemail/">initial hassles with FuseMail</a>, they came round. Pat and Henry were great. They got back to me after my scathing blog post, the issues were cleared up. All was well. I was all set to stay put.</p>
<h4>FuseMail Problems</h4>
<p>I had a problem deleting mail. I use IMAP, so I&#8217;d mark the mail to be deleted (press delete). Then the message is still visible, but crossed out. It&#8217;s waiting to be &#8220;purged&#8221; or &#8220;expunged&#8221;. I&#8217;d hit Expunge (in Evolution) and some of my mail waiting for deletion would be deleted. But only some. Then I&#8217;d repeat the process several times, and eventually get rid of all the mail to be deleted.</p>
<p>At least twice during this process, other emails were also deleted. Messages that I had not marked for deletion. I noticed that two very important client emails disappeared. It rocked my faith in FuseMail and my email in general. It was a very unsettling feeling.</p>
<p>I contacted FuseMail support. Explained my situation. I even managed to find the message ids of the lost messages from my backups. The response was very friendly, but pretty useless. They essentially said they couldn&#8217;t reproduce the problem, and so couldn&#8217;t do anything about it. They didn&#8217;t have a Linux machine to test with Evolution.</p>
<h4>Hello TuffMail</h4>
<p>So after a few weeks I finally made the switch to TuffMail. TuffMail is run by geeks. Every one of my suport emails has been answered by a guy called John Cano. I&#8217;m guessing he&#8217;s the man behind TuffMail.</p>
<p>His support sucks. Technically, he&#8217;s spot on, but his customer service sucks. It&#8217;s like asking for help on the #centos IRC channel. You&#8217;re expected to read the manual yourself, figure out what needs to be done, and then do it. Either I misunderstand John&#8217;s emails, ore they&#8217;re sarcastic at my expense. I&#8217;m assuming I misunderstand! <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>But, aside from the geekyt support, the service is technically excellent. Spam filtering seems to be rock solid after I finally got it seup properly. I can create complex sieve rules to filter my mail (which I adore). I haven&#8217;t lost a single email. All seems to be well.</p>
<h4>Recommendations</h4>
<p>Can I recommend <a title="Unreliable email hosting" href="http://www.fusemail.com/" target="_blank">FuseMail</a>? Honestly, probably not. If you&#8217;re not too worried about losing email, or if you don&#8217;t use Linux, maybe they&#8217;ll be ok. Personally, I can&#8217;t in good faith recommend them after my experience.</p>
<p>Can I recommend <a title="Technically great mail hosting with unfriendly support, good for geeks!" href="http://www.tuffmail.com/" target="_blank">TuffMail</a>? If you&#8217;re a geek and don&#8217;t need &#8220;friendly&#8221; support, sure. The service is technically great. The configuration options are plentiful. You can set it up just how you like it. If you&#8217;re not a geek though, and you want a friendly support desk, no, I can&#8217;t recommend TuffMail either.</p>
<p>So my search for a technically competent, Linux friendly, well supported email system continues. Recommendations on a postcard&#8230; <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/10/21/goodbye-fusemail-hello-tuffmail/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Thinking bigger</title>
		<link>http://www.callum-macdonald.com/2008/09/20/thinking-bigger/</link>
		<comments>http://www.callum-macdonald.com/2008/09/20/thinking-bigger/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 02:43:56 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Ideas]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Seth Godin]]></category>
		<category><![CDATA[startups]]></category>
		<category><![CDATA[straightpress]]></category>
		<category><![CDATA[thinking big]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=718</guid>
		<description><![CDATA[I think Seth Godin&#8217;s is my favourite blog. His posts are short, concise and usually thought provoking. Seth avoids the mistake of writing too much, too often, and writing crap just to keep the content flowing. Today Seth talks about &#8230; <a href="http://www.callum-macdonald.com/2008/09/20/thinking-bigger/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/chadpodoski/119647194/"><img title="Thinking bigger by HalonaCoast" src="http://farm1.static.flickr.com/42/119647194_67c3841322_m.jpg" alt="Thinking bigger by HalonaCoast" width="180" height="240" align="right" /></a></p>
<p>I think <a title="Seth Godin's blog - could it be be the best blog on the net?" href="http://sethgodin.typepad.com/" target="_blank">Seth Godin&#8217;s</a> is my favourite blog. His posts are short, concise and usually thought provoking. Seth avoids the mistake of writing too much, too often, and writing crap just to keep the content flowing.</p>
<p>Today <a title="Seth Godin on think outside the box to create greatness" href="http://sethgodin.typepad.com/seths_blog/2008/09/thinking-bigger.html" target="_blank">Seth talks about thinking bigger</a>. It&#8217;s got me thinking about <a title="StraightPress - let the professionals look after your WordPress site" href="http://www.straightpress.com/" target="_blank">StraightPress</a>.</p>
<p>I host a handful of WordPress sites for family, friends and so on. Every time a WordPress update is released, I manually go through each site, run a backup, apply the update, then test the site. It&#8217;s a time consuming process, but it&#8217;s important to keep the sites secure. The sites are on my server, so security is my concern. It&#8217;s a bit like brushing your teeth. Important, but not always the highlight of your day.</p>
<p>This is where the idea for StraightPress was born. If I can manage a handful of sites, why not manage a few hundred sites, and generate serious economy of scale? Like a professional tooth brusher. We&#8217;ll come round to your house at 6pm every night and give your teeth a professional clean. Great I thought, here&#8217;s a business I can build that meets my criteria.</p>
<p>Recently I read the excellent book <a title="Scientific Advertising by Claude C Hopkins (pdf download)" href="http://www.scientificadvertising.com/ScientificAdvertising.pdf" target="_blank">Scientific Advertising (pdf)</a> by <a title="Claude C Hopkins - author of Scientific Advertising" href="http://en.wikipedia.org/wiki/Claude_C._Hopkins" target="_blank">Claude Hopkins</a>. The book was written in 1923 and is as relevant today as the day it was penned. It really is an inspirational read. It&#8217;s a book about caution, practicality, being realistic. It&#8217;ll never inspire you to create Google, Apple or Twitter, but like insurance, it will keep you safe, sensible and secure.</p>
<p>The book makes an excellent point about toothpaste. The author makes the point that tooth paste is easier sold on account of its beauty enhancement than its disease prevention. I do believe that is true. Offering a product that enhances, improves, enriches is a much easier sell than a product that prevents.</p>
<p>Why do you want your WordPress site kept up to date? One of the most important reasons is security. Preventing problems. But that&#8217;s not a great selling point. New features is another important point. <a title="WordPress release 2.6 introducing post revisions" href="http://wordpress.org/development/2008/07/wordpress-26-tyner/" target="_blank">WordPress 2.6</a> added post revisions. Every time you save a post or page, it creates a new version. So if you mess something up, you can easily go back to an older version. That&#8217;s a very powerful feature.</p>
<p>My question is, how do I think bigger? How do I shape StraightPress so the offering is oustanding, remarkable, notable. What can we offer, around WordPress hosting and management, that would make people sit up and say &#8220;Damn, I want me some of that&#8221;? I don&#8217;t have an answer today, but it&#8217;s a question that will be on my mind until I do.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/stillmemory/1348220/"><img class="aligncenter" title="Thinking differently by Irina Souiki" src="http://farm1.static.flickr.com/2/1348220_42a619e59d.jpg?v=1100042213" alt="" width="500" height="333" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/09/20/thinking-bigger/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Google Government</title>
		<link>http://www.callum-macdonald.com/2008/09/03/google-government/</link>
		<comments>http://www.callum-macdonald.com/2008/09/03/google-government/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 01:44:19 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[browser wars]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[government]]></category>
		<category><![CDATA[social responsibility]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=694</guid>
		<description><![CDATA[Google have launched a browser. It&#8217;s called Chrome. It&#8217;s an interesting move from a company that started out as a search engine. It has started me thinking, what is Google now? Is it a search engine? A mail service? A &#8230; <a href="http://www.callum-macdonald.com/2008/09/03/google-government/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Google have launched a browser. It&#8217;s called Chrome. It&#8217;s an interesting move from a company that started out as a search engine. It has started me thinking, what is Google now? Is it a search engine? A mail service? A browser? A mobile phone company? It would seem it is all of those things.</p>
<p>What is Google&#8217;s core offering then? What does Google do better than anyone else? Again, it would seem many of those things. Google seems to do well in every market it enters. Gmail is generally regarded as the best free webmail service. Google search is surely the dominant search engine. Google Docs is hard to beat. If other companies create competing products, they&#8217;re typically bought by Google. YouTube, FeedBurner, and so on.</p>
<p>So what is Google? Where is it going?</p>
<p>It seems like Google is becoming the major supplier of information to a large portion of the people using the internet. That is, for many people, Google is their primary conduit of information. Google delivers access to all other websites via search and advertising. Google delivers personal messages via Gmail. Google provides news. With the launch of a browser, Google takes the next natural step in extending that reach.</p>
<p>Google is surely synonymous with the internet. For many people, Google is the internet. Google provides them with information, information they trust and believe.</p>
<p>It has been shown that all news networks have a bias. This is most obvious with political campaigns like the current presidential election in the US. Each network has their preferred candidate, or party. That has a significant impact on the voters who watch / read / consume the news from that network.</p>
<p>I wonder, what are Google&#8217;s biases. How does Google influence the web.</p>
<p>The internet is a largely unregulated territory. It is global, borderless, and largely lawless. This is seen most obviously in activities like child pornography. The internet spans almost every legal jurisdiction in the world. It is therefore almost impossible to prevent something from being available on the internet. That is both a great weakness and a great strength. It is very hard to quash freedom of speech online, likewise it is very hard to quash child pornography online.</p>
<p>Conversely, Google has massive censorship powers on the internet. While they can&#8217;t stop you from <em>accessing</em> something you already know exists, they can stop <em>most people</em> from <em>finding</em> something. As the global gateway to the internet, that is an immense responsbility for one company, and ultimately, one board of directors, to carry.</p>
<p>Typically, roles of such significance to the populution are carried out by governments. In the west, these governments are largely elected, and at least in principle, answerable to their people. Google has no such restriction. As a corporation it answers to it&#8217;s shareholders. A corporation&#8217;s stated and legally required purpose is the creation of wealth for it&#8217;s shareholders. Period.</p>
<p>So where does this leave us, the public? Google is arguably more able, better resourced, and far more global than any of our elected governments. Who then, can judge Google&#8217;s activities? Who can hold Google accountable? It would seem, at least currently, that Google is largely unaccountable. The corporation operates in famous secrecy, keeping all it&#8217;s technology hidden from prying eyes.</p>
<p>Ultimately, I believe, in time, all things answer to the people. Every empire, no matter how benign of tyrannical, falls eventually. Every great organisation dies. Death is what defines life.</p>
<p>It will be interesting to watch as Google grows. Microsoft, one of the technology gians of old, is now 33 years old, and has arguably had it&#8217;s day. Five days before it&#8217;s 10th birthday, Google reigns as the new king of technology. With the ever increasing pace of technology, how long will this king sit before it is replaced? With the ever growing size of the global market, how big will Google&#8217;s kingdom be at it&#8217;s peak?</p>
<p>These are both intriguing and worrying times. I choose to avoid Google where I can, but I will be interested to see how Google continues to shape the internet over the years to come.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/09/03/google-government/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magic pidgins</title>
		<link>http://www.callum-macdonald.com/2008/08/26/magic-pidgins/</link>
		<comments>http://www.callum-macdonald.com/2008/08/26/magic-pidgins/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 04:19:12 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[facebook chat]]></category>
		<category><![CDATA[off the record messaging]]></category>
		<category><![CDATA[pidgin]]></category>
		<category><![CDATA[pidgin extra prefs]]></category>
		<category><![CDATA[Skype]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=658</guid>
		<description><![CDATA[Pidgin is my instant messaging client of choice. It means my MSN, Gtalk, Yahoo, ICQ and other contacts are all in one place. Today I have taken that to the next level with three new plugins. Skype Pidgin Plugin I &#8230; <a href="http://www.callum-macdonald.com/2008/08/26/magic-pidgins/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="Pidgin - instant messaging client that kicks ass!" href="http://pidgin.im/" target="_blank">Pidgin</a> is my instant messaging client of choice. It means my MSN, Gtalk, Yahoo, ICQ and other contacts are all in one place. Today I have taken that to the next level with three new plugins.</p>
<h4><a title="Pidgin plugin for Skype" href="http://code.google.com/p/skype4pidgin/" target="_blank">Skype Pidgin Plugin</a></h4>
<p>I need to have skype installed and running, but now I can send / receive messages from within pidgin. On linux, this is a big deal. The skype interface sucks. It lacks spell check, among other things. Now I can even send encrypted, deniable messages through Skype with the Off The Record plugin. All my other pidgin plugins work with Skype. Fantastic. Get the plugin <a title="Pidgin plugin for Skype" href="http://myjobspace.co.nz/images/pidgin/" target="_blank">here</a>. (It works for poor people on Windows also).</p>
<h4><a title="Facebook Chat plugin for Pidgin" href="http://code.google.com/p/pidgin-facebookchat/" target="_blank">Facebook Chat on Pidgin</a></h4>
<p>More and more people have started talking to me on Facebook chat. The interface was a little ropey, I much prefer talking to people in Pidgin. For example, when somebody sends me a message, a web site has no way of letting me know. So if Facebook is open but not on the screen (say on another tab) I miss the messages. Pidgin on the other hand is great for that. Now pidgin supports facebook chat.</p>
<h4><a title="Twitter plugin for Pidgin" href="http://sugree.com/node/209" target="_blank">Twitter via Pidgin</a></h4>
<p>I haven&#8217;t actually activated this plugin yet, but I have installed it. I believe it allows you to set / get Twitter messages via Pidgin. I like that idea a lot. I really liked Twitter&#8217;s IM service (before it died). But now I&#8217;m using <a title="Ping.fm - update all your statuses / microblogs from one place" href="http://ping.fm/" target="_blank">ping.fm</a> (invite code <span class="betacode">vivalaping) to update all my statuses in one go. So Twitter only via IM might be a bit weird. I can post to </span>ping.fm<span class="betacode"> through IM no problems, they have a Jabber interface.</span></p>
<h4>Plugin Pack</h4>
<p>Before I forget, I recently installed the available plugins from the Ubuntu repository. I grabbed all the pidgin related plugin packs that looked good. That made a big difference. Added <a title="Additional preferences from this Pidgin plugin" href="http://gaim-extprefs.sourceforge.net/ep.shtml" target="_blank">Extra Prefs</a> and <a title="Off The Record Messaging - instant messaging secure style" href="http://www.cypherpunks.ca/otr/" target="_blank">Off The Record Messaging</a> which were the biggest changes I think.</p>
<p>Pidgin is on a new level today. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Here&#8217;s a pretty picture for all you visual / non techy types out there.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-661" title="Pidgin with Skype and Facebook plugins" src="http://www.callum-macdonald.com/wordpress/wp-content/uploads/2008/08/pidgin_screenshot_with_new_plugins.png" alt="" width="324" height="588" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/08/26/magic-pidgins/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Backup, backup, then backup some more</title>
		<link>http://www.callum-macdonald.com/2008/08/20/backup-backup-then-backup-some-more/</link>
		<comments>http://www.callum-macdonald.com/2008/08/20/backup-backup-then-backup-some-more/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 06:25:34 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[bacukp]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[rsync.net]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=654</guid>
		<description><![CDATA[I&#8217;ve had a couple of backup reminders recently. John suffered a hard drive failure. Then his backup failed. It reminded me that I need to sort out a backup for my server. This server! Then I accidentally deleted my whole &#8230; <a href="http://www.callum-macdonald.com/2008/08/20/backup-backup-then-backup-some-more/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had a couple of backup reminders recently. <a href="http://twitter.com/jfxberns/statuses/891065053" target="_blank">John suffered a hard drive failure</a>. Then his backup failed. It reminded me that I need to sort out a backup for my server. This server! Then I <a href="http://twitter.com/chmac/statuses/892923540" target="_blank">accidentally deleted my whole address book</a>. Thankfully I was able to restore from backup quite painlessly. Thank you dear, sweet <a title="Rsync.net - Fit and forget online backup" href="http://rsync.net/" target="_blank">rsync.net</a>. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I thought I&#8217;d take this opportunity to share the message with YOU. When did you last backup? Do you have an automated backup plan? Have you tested it? Do you know you can actually recover your data, or do you just hope? Do you keep your backup drive next to your computer? How would you be affected by fire or theft?</p>
<p>Backup is a little bit like insurance. It&#8217;s tempting to drive without insurance, until you have a crash that is. Then, of course, the insurance seems like a bargain. Why not decide today is a good day to check over your backup procedure? Maybe even run a little test restore just to be sure.</p>
<p>Here&#8217;s a picture from <a title="Link to amanky's photostream" href="http://www.flickr.com/photos/amanky/">amanky</a> completely unrelated to backup which appeared in a <a title="Photo sharing from flickr" href="http://flickr.com/" target="_blank">flickr</a> search for backup all the same.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/amanky/432006120/"><img class="aligncenter" title="Unrelated to backup" src="http://farm1.static.flickr.com/156/432006120_55d7482c4a.jpg?v=0" alt="" width="500" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/08/20/backup-backup-then-backup-some-more/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Sharing wifi connections</title>
		<link>http://www.callum-macdonald.com/2008/08/03/sharing-wifi-connections/</link>
		<comments>http://www.callum-macdonald.com/2008/08/03/sharing-wifi-connections/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 10:23:29 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[internet connection sharing]]></category>
		<category><![CDATA[ip masquerading]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[network address translation]]></category>
		<category><![CDATA[sharing wifi]]></category>
		<category><![CDATA[wifi hacking]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=641</guid>
		<description><![CDATA[I&#8217;m staying at Delight Resort on Koh Pha Ngan with my brother. Ferg paid 700 baht (~$20 USD) for a week of internet. I spent some time time working out how best to share the connection. Here&#8217;s my solution. I &#8230; <a href="http://www.callum-macdonald.com/2008/08/03/sharing-wifi-connections/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m staying at <a title="Delight Resort Koh Pha Ngan" href="http://www.delightresort.com/koh_phangan.html" target="_blank">Delight Resort</a> on Koh Pha Ngan with <a title="Fergus - my bro" href="http://fergus-macdonald.com/" target="_blank">my brother</a>. Ferg paid 700 baht (~$20 USD) for a week of internet. I spent some time time working out how best to share the connection. Here&#8217;s my solution.</p>
<p>I connect to the internet on my laptop. Then I add a second IP on my wireless card and enable IP forwarding from that IP to the internet. Other machines on the network then connect to the internet via my laptop. This relies on a couple of things. Firstly, you need to be able to run 2 IPs on the same card. Secondly, the wireless network needs to allow machines to talk to each other.</p>
<p>Here&#8217;s the commands to set it up.</p>
<ol>
<li>Add a second IP on the wlan0 connection with the command:<br />
$ sudo ifconfig wlan0:1 192.168.7.1</li>
<li>Enable ip forwarding:<br />
$ echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward</li>
<li>Add the iptables rule to masquerade (network address translate) traffic:<br />
$ sudo iptables -t nat -A POSTROUTING -o wlan0 -s 192.168.7.0/24 -j MASQUERADE</li>
</ol>
<p>Now connect the other machines to the network, then change their IPs to 192.167.7.2-255, their default gateway to 192.168.7.1. Leave the DNS server as the one supplied by the wifi access point, or if you have dnsmasq (or another dns server installed) set it to 192.168.7.1.</p>
<p>The first command `ipconfig wlan0:1 192.168.7.1` adds a new virtual ethernet device called wlan0:1 and sets the IP of that device to 192.168.7.1. This means you now have two IPs on the same NIC.</p>
<p>The second command enables ip forwarding in the kernel.</p>
<p>The third command adds the iptables magic. The command `iptables`. Modify the routing table called nat `-t nat`. Append a rule to the POSTROUTING chain `-A POSTROUTING`. On the wlan0 interface `-o wlan0`. Iptables doesn&#8217;t recognise virtual devices, so it&#8217;s not possible to specify `-o wlan0:1` here. Instead, we specify the source IP range `-s 192.168.7.0/24`. Then tell the rule to masquerade the IPs `-j MASQERADE`.</p>
<p>Somebody might find this useful. It took me a while to figure out. I was firstly using my wireless router as a second wireless card on my machine and sharing the connection that way. This seems much simpler.</p>
<p>For my non-technical readers, here&#8217;s a picture of me geeking out by the pool.</p>
<p style="text-align: center;"><a href="http://www.callum-macdonald.com/wordpress/wp-content/uploads/2008/08/thailand_koh_pha_ngan_geeking_out_by_the_pool.jpg"><img class="aligncenter size-medium wp-image-643" title="Geeking out on Koh Pha Ngan by the pool" src="http://www.callum-macdonald.com/wordpress/wp-content/uploads/2008/08/thailand_koh_pha_ngan_geeking_out_by_the_pool-500x375.jpg" alt="Geeking out on Koh Pha Ngan by the pool" width="500" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/08/03/sharing-wifi-connections/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mobile broadband is go!</title>
		<link>http://www.callum-macdonald.com/2008/06/27/mobile-broadband-is-go/</link>
		<comments>http://www.callum-macdonald.com/2008/06/27/mobile-broadband-is-go/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 01:43:28 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[3g]]></category>
		<category><![CDATA[e220]]></category>
		<category><![CDATA[huawei e220]]></category>
		<category><![CDATA[net monitor]]></category>
		<category><![CDATA[networkmanager]]></category>
		<category><![CDATA[three]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[umtsmon]]></category>
		<category><![CDATA[vodafone mobile connect]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=618</guid>
		<description><![CDATA[I bought a Huawei E220 last week. It took a week or so to arrive. Then I wanted to get myself a 3 mobile broadband account. That turned out to be a pain in the ass. You need to sign &#8230; <a href="http://www.callum-macdonald.com/2008/06/27/mobile-broadband-is-go/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Image:HuaweiE220.JPG"><img class="alignright size-full wp-image-619" style="float: right;" title="Huawei E220" src="http://www.callum-macdonald.com/wordpress/wp-content/uploads/2008/06/huaweie220_vodafone.jpg" alt="Huawei E220" width="200" height="309" /></a>I <a title="I bought a Huawei E220 on eBay" href="http://cgi.ebay.com.au/ws/eBayISAPI.dll?ViewItem&amp;item=140240473773" target="_blank">bought a Huawei E220</a> last week. It took a week or so to arrive. Then I wanted to get myself a <a title="Three mobile broadband" href="http://www.three.com.au/cs/ContentServer?homeId=1156241342637&amp;c=Page&amp;pagename=Three%2FPage%2FBusinessVideoCallingTemplate&amp;p=1154931041257&amp;cid=1155054450837" target="_blank">3 mobile broadband account</a>. That turned out to be a pain in the ass. You need to sign a contract, so you have to go through a credit check. As I don&#8217;t have any paperwork in Aus, Ross kindly agreed to sign the contract. Alas, having only been in the country a few months, he failed the credit check. After some initial skepticism, Toppo kindly agreed to sign on the dotted line. Bravo!</p>
<p>So, today, this post comes to you via mobile broadband.</p>
<p>There were some initial glitches though. It took some serious farting around. I tried installing <a title="Vodafone Mobile Connect for linux" href="https://forge.betavine.net/projects/vodafonemobilec/" target="_blank">vodafone&#8217;s linux software</a>, that didn&#8217;t work. It could see the modem most of the time, but it wouldn&#8217;t connect. Not sure why, some weird wvdial errors. Yet wvdial on it&#8217;s own would work fine.</p>
<p>Then I tried <a title="Umtsmon - manage your 3g and other gizmos" href="http://umtsmon.sourceforge.net/" target="_blank">umtsmon</a>. It worked ok. But it&#8217;s an ugly little application and it wouldn&#8217;t disappear into my system tray. Plus, NetworkManager thought there was no connection, so all my programs thought they were offline. Pain in the ass.</p>
<p>Finally, I <a title="Upgrading to NetworkManager 0.7 in Ubuntu Hardy 8.04" href="http://ubuntuforums.org/showthread.php?t=797059" target="_blank">upgraded NetworkManager to 0.7</a>. Then bingo, it works like a charm.</p>
<p>I want to keep an eye on bandwidth consumption, so I&#8217;m using the <a title="Net Monitor screenlet from gnome-look.org" href="http://www.gnome-look.org/content/show.php/Net+Monitor?content=72013" target="_blank">Net Monitor screenlet</a>. It&#8217;s not quite perfect as it tracks usage by calendar month. But it&#8217;ll do as a start.</p>
<h4>Ubuntu</h4>
<p>Top marks to Ubuntu. You plug in the modem and it &#8220;just works&#8221;. No farting around switching modes or any of that nonsense. In fact, if you know the init strings, you can just dial and go. Once NetworkManager 0.7 goes final and makes it into Ubuntu, mobile broadband will be a cinch.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/06/27/mobile-broadband-is-go/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Username as password salt</title>
		<link>http://www.callum-macdonald.com/2008/06/13/username-as-password-salt/</link>
		<comments>http://www.callum-macdonald.com/2008/06/13/username-as-password-salt/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 08:05:22 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[password hashing]]></category>
		<category><![CDATA[password salts]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[rainbow attacks]]></category>
		<category><![CDATA[rainbow tables]]></category>
		<category><![CDATA[salted hashes]]></category>
		<category><![CDATA[slated passwords]]></category>
		<category><![CDATA[storing passwords]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=616</guid>
		<description><![CDATA[Is there any reason why one should not use the username as the password salt? Storing md5( username . password ) instead of md5( password ) in the password column. It seems like a very simple idea, so I&#8217;m sure &#8230; <a href="http://www.callum-macdonald.com/2008/06/13/username-as-password-salt/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Is there any reason why one should <strong>not</strong> use the username as the password salt? Storing md5( username . password ) instead of md5( password )  in the password column.</p>
<p>It seems like a very simple idea, so I&#8217;m sure there&#8217;s a good reason why it&#8217;s not in popular use. Hopefully somebody can tell me that reason! <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/06/13/username-as-password-salt/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Ubuntu lock screen on laptop close lid</title>
		<link>http://www.callum-macdonald.com/2008/06/11/ubuntu-lock-screen-on-laptop-close-lid/</link>
		<comments>http://www.callum-macdonald.com/2008/06/11/ubuntu-lock-screen-on-laptop-close-lid/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 06:30:00 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[close lid]]></category>
		<category><![CDATA[gnome power manager]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[lock screen]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=615</guid>
		<description><![CDATA[In Fedora 8 when I closed my laptop lid, my screen would lock. Under Ubuntu 8.04 this doesn&#8217;t happen. After a bit of digging, I found a solution. The gconf setting is &#8220;/apps/gnome-power-manager/lock/blank_screen&#8221;. When set to true, closing the lid &#8230; <a href="http://www.callum-macdonald.com/2008/06/11/ubuntu-lock-screen-on-laptop-close-lid/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In Fedora 8 when I closed my laptop lid, my screen would lock. Under Ubuntu 8.04 this doesn&#8217;t happen. After a bit of digging, I found a solution. The gconf setting is &#8220;/apps/gnome-power-manager/lock/blank_screen&#8221;. When set to true, closing the lid will lock the screen. Luvvvly. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/06/11/ubuntu-lock-screen-on-laptop-close-lid/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>First impressions of the Nokia N810</title>
		<link>http://www.callum-macdonald.com/2008/06/09/first-impressions-of-the-nokia-n810/</link>
		<comments>http://www.callum-macdonald.com/2008/06/09/first-impressions-of-the-nokia-n810/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 17:54:39 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[eBay]]></category>
		<category><![CDATA[maemo]]></category>
		<category><![CDATA[N810]]></category>
		<category><![CDATA[nokia n810]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=613</guid>
		<description><![CDATA[I spent 4 long hours on public transport today. I was eager to collect my new Nokia N810 as soon as possible. I twittered some first impressions. It&#8217;s a lovely device. Very tactile. It feels very solid. I was initially &#8230; <a href="http://www.callum-macdonald.com/2008/06/09/first-impressions-of-the-nokia-n810/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I spent 4 long hours on public transport today. I was eager to collect <a title="I bought a Nokia N810 on eBay" href="http://cgi.ebay.com.au/ws/eBayISAPI.dll?ViewItem&amp;item=220241388469" target="_blank">my new Nokia N810</a> as soon as possible. I twittered some <a title="Twittering when I picked up my N810" href="http://twitter.com/chmac/statuses/829596901" target="_blank">first</a> <a title="Twittering my first impressions as I opened the Nokia N810" href="http://twitter.com/chmac/statuses/829599368" target="_blank">impressions</a>. It&#8217;s a lovely device. Very tactile. It feels very solid. I was initially skeptical about the keyboard, but once I booted the device and started using, it&#8217;s great. So far I&#8217;m very impressed.</p>
<p>Unfortunately, the 5 way navigator button is faulty. The left side of the button doesn&#8217;t work, and the right side is super sensetive. So I can scroll right but not left. Bummer. It&#8217;ll have to go back to Nokia to be fixed. So much for getting my new machine in a hurry! A good opportunity to practice patience. Plus, it gives me some time to experiment. Once it&#8217;s fixed I&#8217;ll wipe all the settings and start fresh.</p>
<p>For all you picture lovers, here&#8217;s a shot of Mahjong:</p>
<p style="text-align: center;"><a title="Playing Mahjong on the Nokia N810 (link to flickr photo)" href="http://www.flickr.com/photos/chmac/2561905600/"><img class="aligncenter" src="http://farm4.static.flickr.com/3281/2561905600_68f6c4ab1b.jpg" alt="Playing Mahjong on the Nokia N810" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/06/09/first-impressions-of-the-nokia-n810/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Considering a Nokia N810</title>
		<link>http://www.callum-macdonald.com/2008/06/06/considering-a-nokia-n810/</link>
		<comments>http://www.callum-macdonald.com/2008/06/06/considering-a-nokia-n810/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 07:00:04 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[internet tablet]]></category>
		<category><![CDATA[nokia n810]]></category>
		<category><![CDATA[nokia tablet]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=612</guid>
		<description><![CDATA[I&#8217;m thinking about buying a Nokia N810. Email, web out and about Music, movies, books, on the go Skype / SIP calls Instant Messaging, IRC Meeting notes instead of a laptop Instead of a laptop for short trips Anyone have &#8230; <a href="http://www.callum-macdonald.com/2008/06/06/considering-a-nokia-n810/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" style="float: right;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/88/N810-open.jpg/200px-N810-open.jpg" alt="Nokia N810 Internet Tablet picture from Wikipedia" width="200" height="150" />I&#8217;m thinking about buying a <a title="Nokia N810 on Wikipedia" href="http://en.wikipedia.org/wiki/Nokia_N810" target="_blank">Nokia N810</a>.</p>
<ul>
<li>Email, web out and about</li>
<li>Music, movies, books, on the go</li>
<li>Skype / SIP calls</li>
<li>Instant Messaging, IRC</li>
<li>Meeting notes instead of a laptop</li>
<li>Instead of a laptop for short trips</li>
</ul>
<p>Anyone have any feedback? Have you got one? Does it work well? Is the keyboard easy to use? Does the GPS system work well? Do you have to buy the maps? Can they be torrented? <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/06/06/considering-a-nokia-n810/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Media Template &#8211; outrageous bandwidth charges</title>
		<link>http://www.callum-macdonald.com/2008/06/03/media-template-outrageous-bandwidth-charges/</link>
		<comments>http://www.callum-macdonald.com/2008/06/03/media-template-outrageous-bandwidth-charges/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 03:31:37 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[bandwidth charges]]></category>
		<category><![CDATA[digg]]></category>
		<category><![CDATA[excess bandwidth]]></category>
		<category><![CDATA[getsatisfaction]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[hosting absurdity]]></category>
		<category><![CDATA[media template]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=608</guid>
		<description><![CDATA[I&#8217;m pissed. Happy Cogs recently did some work on the admin upgrade for WordPress 2.5. Through them, I found the hosting company Media Template. The pitch was appealing. They seemed professional, personal, all the things you&#8217;d want from a hosting &#8230; <a href="http://www.callum-macdonald.com/2008/06/03/media-template-outrageous-bandwidth-charges/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/balakov/399177829/"><img class="alignright size-full wp-image-609" style="float: right;" title="cogs by balakov" src="http://www.callum-macdonald.com/wordpress/wp-content/uploads/2008/06/cogs_by_balakov.jpg" alt="Cog clock - taken by balakov on flickr" width="188" height="188" /></a>I&#8217;m pissed.</p>
<p><a title="Happy Cogs - design and usability folks" href="http://www.happycog.com/" target="_blank">Happy Cogs</a> recently did some work on the admin upgrade for WordPress 2.5. Through them, I found the hosting company <a title="http://www.mediatemple.net/" target="_blank">Media Template</a>. The pitch was appealing. They seemed professional, personal, all the things you&#8217;d want from a hosting company. That is, until I started digging.</p>
<p>One of their virtual server products costs $150 per month, and includes 2Tb of bandwidth. Excess bandwidth is charged, per Gb, at $2.56. Or, if you pre-purchase 1Tb, at half that price, $1.28 per Gb. That means that your first 2Tb cost $150, while your next 1Tb would cost $1&#8217;310.72, or 17.5 times more than your first 2Tb (1&#8217;748% to be precise).</p>
<p>Astounded by this absurdity I contacted their sales team. I was expecting the response to be in line with their website. Intelligent, considered, rational. I was sadly disappointed. It felt like the typical, corporate, monkey follow order, response you&#8217;d expect from Hewlett Packard or some other Indian outsourced outfit.</p>
<p>Not content to let matters lie, I have started a campaign. I have <a title="Media Template - outrageous bandwidth charges at GetSatisfaction.com" href="http://getsatisfaction.com/mediatemplate/topics/outrageous_bandwidth_charges" target="_blank">described my outrage at GetSatisfaction</a>. Then I <a title="Please help to digg the story about outrageous bandwidth charges by Media Template" href="http://digg.com/software/Outrageous_bandwidth_charges" target="_blank">posted it to digg</a>. Now I&#8217;m posting it here. Then I&#8217;m going to email all the links to the CEO and see what happens. Maybe, just maybe, I&#8217;ll get an intelligent response. Otherwise, I&#8217;ll publicise the fact that their ticket system allows you to view the email addresses of people who contact them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/06/03/media-template-outrageous-bandwidth-charges/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Holographic video conferencing</title>
		<link>http://www.callum-macdonald.com/2008/05/30/holographic-video-conferencing/</link>
		<comments>http://www.callum-macdonald.com/2008/05/30/holographic-video-conferencing/#comments</comments>
		<pubDate>Fri, 30 May 2008 03:06:53 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[holographic video conferencing]]></category>
		<category><![CDATA[telepresence]]></category>
		<category><![CDATA[video conferencing]]></category>
		<category><![CDATA[virtual presentations]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=606</guid>
		<description><![CDATA[Spotted this on Guy&#8217;s blog. Cisco made a presentation in India. There were 3 people on stage. One in India. Two in San Jose, onstage via live, holographic, 3d, video conferencing. Awesome! Check out the explanation and video.]]></description>
			<content:encoded><![CDATA[<p>Spotted <a title="Guy Kawasaki's blog - holographic video conferencing from Cisco" href="http://blog.guykawasaki.com/2008/05/ill-never-get-o.html" target="_blank">this</a> on <a title="Guy Kawasaki's blog" href="http://blog.guykawasaki.com/" target="_blank">Guy&#8217;s blog</a>. Cisco made a presentation in India. There were 3 people on stage. One in India. Two in San Jose, onstage via live, holographic, 3d, video conferencing. Awesome! Check out the <a title="Cisco launches TelePresence, 3d, holographic video conferencing" href="http://www.musion.co.uk/Cisco_TelePresence.html" target="_blank">explanation</a> and <a title="Video of a virtual presentation given by Cisco people in San Jose, onstage in Bangalore" href="http://www.musionmedia.co.uk/cisco_day.html" target="_blank">video</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/05/30/holographic-video-conferencing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two WPMU plugins published</title>
		<link>http://www.callum-macdonald.com/2008/05/27/two-wpmu-plugins-published/</link>
		<comments>http://www.callum-macdonald.com/2008/05/27/two-wpmu-plugins-published/#comments</comments>
		<pubDate>Tue, 27 May 2008 08:20:27 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[real global terms]]></category>
		<category><![CDATA[sh global posts]]></category>
		<category><![CDATA[wordpressmu]]></category>
		<category><![CDATA[wordpressmu plugins]]></category>
		<category><![CDATA[wpmu]]></category>
		<category><![CDATA[wpmu plugins]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=603</guid>
		<description><![CDATA[I published the Real Global Terms and the SH Global Posts plugins today. It&#8217;s code I&#8217;ve had running for ages and have been promising to publish but never quite gotten round to it. Now it&#8217;s out, let the madness ensue&#8230;]]></description>
			<content:encoded><![CDATA[<p>I published the <a title="The real global terms wpmu plugin feed" href="http://www.callum-macdonald.com/code/real-global-terms/">Real Global Terms</a> and the <a title="The SH Global Posts wpmu plugin" href="http://www.callum-macdonald.com/code/sh-global-posts/">SH Global Posts</a> plugins today. It&#8217;s code I&#8217;ve had running for ages and have been promising to publish but never quite gotten round to it. Now it&#8217;s out, let the madness ensue&#8230; <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/05/27/two-wpmu-plugins-published/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Follow the Mars landing on twitter</title>
		<link>http://www.callum-macdonald.com/2008/05/26/follow-the-mars-landing-on-twitter/</link>
		<comments>http://www.callum-macdonald.com/2008/05/26/follow-the-mars-landing-on-twitter/#comments</comments>
		<pubDate>Mon, 26 May 2008 01:14:24 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Techy]]></category>
		<category><![CDATA[follow mars landing]]></category>
		<category><![CDATA[mars]]></category>
		<category><![CDATA[mars landing]]></category>
		<category><![CDATA[mars phoenix]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=600</guid>
		<description><![CDATA[You can follow the mars landing on Twitter. Ain&#8217;t that awesome? Twitter really has become ubiquitous technology. Everyone&#8217;s on it. If only they could come out with a revenue model, make some money, hire some more brains, and sort out &#8230; <a href="http://www.callum-macdonald.com/2008/05/26/follow-the-mars-landing-on-twitter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>You can follow the <a title="Follow the mars landing on Twitter" href="http://twitter.com/marsphoenix" target="_blank">mars landing on Twitter</a>. Ain&#8217;t that awesome? <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Twitter really has become ubiquitous technology. Everyone&#8217;s on it. If only they could come out with a revenue model, make some money, hire some more brains, and sort out their reliability issues. On a plus note, they&#8217;re recently blogging about <a title="Twitter's main database fails" href="http://blog.twitter.com/2008/05/man-down.html" target="_blank">failures</a> or <a title="Twitter blogging when jabber goes down" href="http://blog.twitter.com/2008/05/too-much-jabber.html" target="_blank">outages</a>, which is nice.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/05/26/follow-the-mars-landing-on-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Goodbye svn hello bazaar</title>
		<link>http://www.callum-macdonald.com/2008/05/23/goodbye-svn-hello-bazaar/</link>
		<comments>http://www.callum-macdonald.com/2008/05/23/goodbye-svn-hello-bazaar/#comments</comments>
		<pubDate>Fri, 23 May 2008 07:54:54 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[merge]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[svn merge]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=597</guid>
		<description><![CDATA[I&#8217;ve spent a lot of this week fighting with svn. Things that should have been simple, somehow kept failing. I was merging changes from a read-only http repo into a local working copy, which is checked out from an https &#8230; <a href="http://www.callum-macdonald.com/2008/05/23/goodbye-svn-hello-bazaar/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/thefrankfurtschool/310037732/"><img class="alignright size-full wp-image-598" style="float: right;" title="star_cookies_by_the_frankfurt_school" src="http://www.callum-macdonald.com/wordpress/wp-content/uploads/2008/05/star_cookies_by_the_frankfurt_school.jpg" alt="Star cookies by the Frankfurt School" width="180" height="180" /></a>I&#8217;ve spent a lot of this week fighting with svn. Things that should have been simple, somehow kept failing. I was merging changes from a read-only http repo into a local working copy, which is checked out from an https repo. For some reason, that doesn&#8217;t work. Normally it does, but on this large merge, it just borked.</p>
<p>Thankfully the remote repo is also available over https. That solved the first problem. I merged, tidied up, and was ready to commit. Then the commit failed because svn was trying to do something fancy with the merge-from repo. I don&#8217;t know what or why, but it wouldn&#8217;t commit the files. So then I spent hours and hours trying various things. In the end I reverted all the newly created files, then added them back to the working copy, and finally it would commit.</p>
<p>What a pain in the ass.</p>
<p>I&#8217;m planning to explore bazaar for all my own version control needs, and if it works well, I&#8217;ll switch all our projects over. I&#8217;m hoping, like <a title="My " href="http://www.callum-macdonald.com/2008/05/20/ubuntu-is-go/" target="_blank">Ubuntu</a>, it just works. <img src='http://www.callum-macdonald.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/05/23/goodbye-svn-hello-bazaar/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Zend Studio 5.5.1 on Ubuntu</title>
		<link>http://www.callum-macdonald.com/2008/05/20/zend-studio-551-on-ubuntu/</link>
		<comments>http://www.callum-macdonald.com/2008/05/20/zend-studio-551-on-ubuntu/#comments</comments>
		<pubDate>Tue, 20 May 2008 08:04:25 +0000</pubDate>
		<dc:creator>Callum</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jre]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[zend]]></category>
		<category><![CDATA[zend studio]]></category>

		<guid isPermaLink="false">http://www.callum-macdonald.com/?p=591</guid>
		<description><![CDATA[I had some challenges with Zend Studio so I&#8217;m posting this for anyone with the same problems (and for my own records). I found the solution here. The issue is related to compiz. Additionally, Sun&#8217;s java5 needs to be the &#8230; <a href="http://www.callum-macdonald.com/2008/05/20/zend-studio-551-on-ubuntu/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I had some challenges with Zend Studio so I&#8217;m posting this for anyone with the same problems (and for my own records). I found the solution <a title="Zend Studio on Ubuntu with compiz" href="http://www.zend.com/support/knowledgebase.php?kbid=241" target="_blank">here</a>. The issue is related to compiz. Additionally, Sun&#8217;s java5 needs to be the default java (set with `sudo update-java-alternatives`).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.callum-macdonald.com/2008/05/20/zend-studio-551-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

