<?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/"
	>

<channel>
	<title>JfwHome</title>
	<atom:link href="http://www.jfwhome.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jfwhome.com</link>
	<description>Extraneous Thought Repository</description>
	<pubDate>Mon, 16 Apr 2012 15:23:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Run FileBot headless without Dock icon on OSX</title>
		<link>http://www.jfwhome.com/2012/04/16/run-filebot-headless-on-osx/</link>
		<comments>http://www.jfwhome.com/2012/04/16/run-filebot-headless-on-osx/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 15:19:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[OSX]]></category>

		<guid isPermaLink="false">http://www.jfwhome.com/?p=164</guid>
		<description><![CDATA[FileBot is a great utility for finding the names and subtitles of downloaded TV shows and movies. I use it as part of a shell script to organise downloaded media files.
Unfortunately, the suggested way to invoke it from the command line is simply to call filebot, e.g. /Applications/FileBot.app/Contents/MacOS/filebot ....
This was causing FileBot to pop up [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://filebot.sourceforge.net/">FileBot</a> is a great utility for finding the names and subtitles of downloaded TV shows and movies. I use it as part of a shell script to organise downloaded media files.</p>
<p>Unfortunately, the <a href="http://filebot.sourceforge.net/cli.html">suggested</a> way to invoke it from the command line is simply to call filebot, e.g. <code>/Applications/FileBot.app/Contents/MacOS/filebot ...</code>.</p>
<p>This was causing FileBot to pop up a Java icon in the dock and steal focus, whenever it was invoked which was driving me crazy. Fortunately the solution is simple: Run the FileBot jar directly with the awt.headless set to true. As follows:</p>
<p><code>java -jar -Djava.awt.headless=true /Applications/FileBot.app/Contents/Resources/java/FileBot.jar ... </code></p>
<p>No more annoying icon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jfwhome.com/2012/04/16/run-filebot-headless-on-osx/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Selecting x items at random from a column in Excel</title>
		<link>http://www.jfwhome.com/2012/03/15/selecting-x-items-at-random-from-a-column-in-excel/</link>
		<comments>http://www.jfwhome.com/2012/03/15/selecting-x-items-at-random-from-a-column-in-excel/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 10:07:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Excel]]></category>

		<guid isPermaLink="false">http://www.jfwhome.com/?p=162</guid>
		<description><![CDATA[I wanted to select 300 users at random from a row of 10,000 users in Excel. Really easy, but a bit of a lateral solution: Rather than trying to randomly select each item, just order them randomly instead:

In another column adjacent to the column of user names, create a random number for each row (the [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to select 300 users at random from a row of 10,000 users in Excel. Really easy, but a bit of a lateral solution: Rather than trying to randomly select each item, just order them randomly instead:</p>
<ol>
<li>In another column adjacent to the column of user names, create a random number for each row (the formula I used was =RANDBETWEEN(1, 90000)). This won&#8217;t guarantee unique values for each item, but it doesn&#8217;t matter.</li>
<li>Copy the the column with the formulas and Paste As&#8230; Values to another adjacent column. This fixes the nubmers and stops them from updating.</li>
<li>Sort by this third column and take x users from the top. I chose the first 300.</li>
<li>Done</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.jfwhome.com/2012/03/15/selecting-x-items-at-random-from-a-column-in-excel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fixing problems with Dovecot - Postfix mail server after Ubuntu server upgrade to 11.10</title>
		<link>http://www.jfwhome.com/2012/02/02/fixing-problems-with-dovecot-postfix-mail-server-after-ubuntu-server-upgrade-to-1110/</link>
		<comments>http://www.jfwhome.com/2012/02/02/fixing-problems-with-dovecot-postfix-mail-server-after-ubuntu-server-upgrade-to-1110/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 09:45:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Networking]]></category>

		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.jfwhome.com/?p=159</guid>
		<description><![CDATA[The thing that scares me most about server upgrades is the mail server&#8230; the thought of having to reconfigure the many interdependent servers and processes involved is horrible.
So I wasn&#8217;t pleased to find my postfix-dovecot installation dying on upgrade from 11.04 to 11.10. I couldn&#8217;t sent outgoing mail or receive inbound.
Fortunately I wasn&#8217;t an &#8220;early [...]]]></description>
			<content:encoded><![CDATA[<p>The thing that scares me most about server upgrades is the mail server&#8230; the thought of having to reconfigure the many interdependent servers and processes involved is horrible.</p>
<p>So I wasn&#8217;t pleased to find my postfix-dovecot installation dying on upgrade from 11.04 to 11.10. I couldn&#8217;t sent outgoing mail or receive inbound.</p>
<p>Fortunately I wasn&#8217;t an &#8220;early upgrader&#8221;&#8230; both issues were easy to find and fix.</p>
<p><span id="more-159"></span></p>
<p><strong>Fixing inbound mail</strong></p>
<p>Messages sent to my address were being returned as undeliverable with the following error:<br />
<code>
<pre>
            < my-server.com #5.3.0 x-unix; /usr/lib/dovecot/deliver: invalid option -- 'n' Usage:    dovecot-lda [-c <config file>] [-a
<address>] [-d <username>] [-p
<path>]    [-f <envelope sender>] [-m <mailbox>] [-e] [-k]>
</pre>
<p></code><br />
This is fairly self-explanatory: In the new version of Dovecot, the &#8220;n&#8221; option is no longer used. If you receive this error, type the following commands:<br />
<code>
<pre>
sudo postconf -e "mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/conf.d/01-mail-stack-delivery.conf -m \"\${EXTENSION}\""
sudo service postfix restart
</pre>
<p></code></p>
<p>Done.</p>
<p><strong>Fixing outbound mail</strong></p>
<p>My errors were caused by the SASL authentication server, saslauthd. A bug report is <a href="https://bugs.launchpad.net/ubuntu/+bug/875440">here</a>.</p>
<p>The problem can be fixed by rolling back saslauthd packages to a previous version, then &#8220;sticking&#8221; them so that they don&#8217;t get updated with regular system updates. Keep track of this so that you can remember to un-stick them when it comes time to upgrade.</p>
<p>First get the old packages. Replace &#8220;i386&#8243; in the links below with &#8220;amd64&#8243; if your server is 64-bit<br />
<code>
<pre>
mkdir ~/saslfixes
cd ~/saslfixes
wget http://archive.ubuntu.com/ubuntu/pool/main/c/cyrus-sasl2/libsasl2-2_2.1.23.dfsg1-5ubuntu3_i386.deb http://archive.ubuntu.com/ubuntu/pool/main/c/cyrus-sasl2/libsasl2-modules_2.1.23.dfsg1-5ubuntu3_i386.deb http://archive.ubuntu.com/ubuntu/pool/main/c/cyrus-sasl2/libsasl2-dev_2.1.23.dfsg1-5ubuntu3_i386.deb http://archive.ubuntu.com/ubuntu/pool/main/c/cyrus-sasl2/libsasl2-modules-sql_2.1.23.dfsg1-5ubuntu3_i386.deb http://archive.ubuntu.com/ubuntu/pool/main/c/cyrus-sasl2/sasl2-bin_2.1.23.dfsg1-5ubuntu3_i386.deb
</pre>
<p></code></p>
<p>Then remove the old packages and install the new ones:<br />
<code>
<pre>
sudo /etc/init.d/saslauthd stop
sudo dpkg -r libsasl2-dev
sudo dpkg -r libsasl2-modules-sql
sudo dpkg -r sasl2-bin
sudo dpkg -r --force-all libsasl2-2 libsasl2-2:i386
sudo dpkg -r --force-all libsasl2-modules
sudo dpkg -i --force-all *.deb
</pre>
<p></code></p>
<p>Then restart the servers:</p>
<p><code>
<pre>
sudo /etc/init.d/saslauthd restart
sudo /etc/init.d/postfix restart
</pre>
<p></code></p>
<p>And finally &#8220;stick&#8221; the packages so they aren&#8217;t updated:</p>
<p>Type these commands <em>as root</em> (<code>sudo su -</code> will get you a root shell)<br />
<code>
<pre>
echo libsasl2-dev hold | dpkg --set-selections
echo libsasl2-modules-sql hold | dpkg --set-selections
echo libsasl2-2 hold | dpkg --set-selections
echo libsasl2-modules hold | dpkg --set-selections
echo sasl2-bin hold | dpkg --set-selections
</pre>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jfwhome.com/2012/02/02/fixing-problems-with-dovecot-postfix-mail-server-after-ubuntu-server-upgrade-to-1110/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IPSec/L2TP VPN on Linode Ubuntu server for iPhone/Android</title>
		<link>http://www.jfwhome.com/2012/01/29/ipsecl2tp-vpn-on-linode-ubuntu-server-for-iphoneandroid/</link>
		<comments>http://www.jfwhome.com/2012/01/29/ipsecl2tp-vpn-on-linode-ubuntu-server-for-iphoneandroid/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 07:47:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://www.jfwhome.com/?p=150</guid>
		<description><![CDATA[It&#8217;s now easy to set up your own cheap VPN virtual private server that can be used with your mobile devices. Great for accessing resources on private networks, browsing securely, or accessing blocked sites.
This is now much easier than it used to be. Last time I tried to set up a VPN on an Ubuntu [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s now easy to set up your own cheap VPN virtual private server that can be used with your mobile devices. Great for accessing resources on private networks, browsing securely, or accessing blocked sites.</p>
<p>This is now much easier than it used to be. Last time I tried to set up a VPN on an Ubuntu server, I had trouble with reconnections and had to manually compile OpenSwan. These all seem to be fixed. </p>
<p>Instructions are already all over the internet, but there are a few extra steps for a default Ubuntu linode in order to get routing to work.</p>
<p>These instructions are tested with Ubuntu 11.04 (Natty), but should also work on 11.10. We will set up an OpenSwan IPSec server with l2tp encryption provided by xl2tpd.</p>
<p><span id="more-150"></span></p>
<ol>
<li>Install everything:<br /><code>
<pre>sudo apt-get install openswan ppp xl2tpd</pre>
<p></code></li>
<li>When OpenSwan installs, answer &#8220;No&#8221; to the question about certificates&#8230; on mobile devices you will use a shared secret rather than a certificate.</li>
<li>Follow the rest of the directions in <a href="http://ubuntuforums.org/showthread.php?t=1645473&#038;highlight=openswan+iphone">this post</a> to set up the configuration files, up until it asks you to restart the three servers. Be sure to substitute the Ubuntu Server IP Address<br />
and your Gateway Internal IP with the Public IP and Default Gateway provided by Linode. These can be found on your Linode Manager under the &#8220;Remote Access&#8221; tab. </p>
<p>When editing the /etc/xl2tpd/xl2tpd.conf file, you can choose any private subnet for &#8220;IP Range&#8221; and &#8220;local IP&#8221;. The &#8220;Local IP&#8221; will be assigned to the server, and clients will be assigned IPs from the &#8220;IP Range&#8221;. For example, I chose 192.168.0.2 - 192.168.0.20 for the range and 192.168.0.1 for the local IP.</p>
<p>In addition, in the /etc/ppp/options.xl2tpd file, change the ms-dns line to point to your DNS name servers. You will probably want to use those provided by Linode too &#8212; you can add multiple ms-dns lines, one for each resolver. </li>
<li>Now edit your /etc/rc.local file, and add the following, before the <code>exit 0;</code> line. Change the 192.168.0.0/24 IP range to match the IP range you chose above in the xl2tpd.conf file.
<p><code>
<pre>iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
for each in /proc/sys/net/ipv4/conf/*
do
    echo 0 > $each/accept_redirects
    echo 0 > $each/send_redirects
done
/etc/init.d/ipsec restart</pre>
<p></code></li>
<li>This sets up the necessary kernel routing options and firewall rules for traffic to be routed through to the Internet. The file will be executed at each boot.. but you can run it now without rebooting with <code>sudo /etc/rc.local</code>.</li>
<li>Now restart all the servers:<br /><code>
<pre>sudo /etc/init.d/pppd-dns restart
sudo /etc/init.d/xl2tpd restart
sudo /etc/init.d/ipsec restart</pre>
<p></code></li>
<li>Check that everything is working&#8230; you should get &#8220;OK&#8221; for everything other than &#8220;Opportunistic encryption&#8221; and RSA key:<br /><code>
<pre>sudo ipsec verify
</pre>
<p></code></li>
<li>All done! You can follow the directions for iPhone setup at the bottom of the same post</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.jfwhome.com/2012/01/29/ipsecl2tp-vpn-on-linode-ubuntu-server-for-iphoneandroid/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to use Apple bluetooth keyboard with multiple computers via a KVM</title>
		<link>http://www.jfwhome.com/2012/01/02/how-to-use-apple-bluetooth-keyboard-with-multiple-computers-via-a-kvm/</link>
		<comments>http://www.jfwhome.com/2012/01/02/how-to-use-apple-bluetooth-keyboard-with-multiple-computers-via-a-kvm/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 13:16:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[OSX]]></category>

		<guid isPermaLink="false">http://www.jfwhome.com/?p=147</guid>
		<description><![CDATA[It&#8217;s easy to share traditional keyboards between multiple computers using a USB KVM. Obviously, with a bluetooth keyboard, things aren&#8217;t so simple.
I wanted to share my Apple bluetooth keyboard between my Mac mini and my desktop computer (running Ubuntu, but this would work with Windows).
First step was to get a USB bluetooth dongle and plug [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s easy to share traditional keyboards between multiple computers using a USB KVM. Obviously, with a bluetooth keyboard, things aren&#8217;t so simple.</p>
<p>I wanted to share my Apple bluetooth keyboard between my Mac mini and my desktop computer (running Ubuntu, but this would work with Windows).</p>
<p>First step was to get a USB bluetooth dongle and plug that into the KVM. Any USB dongle should do. When the KVM is switched to the Mac, the bluetooth dongle takes preference over the built-in Mac bluetooth receiver.</p>
<p>This works to share the keyboard, but the keyboard had to be disconnected and re-paired each time the KVM was switched &#8212; this is particularly problematic if you need to repair the keyboard at, for example, the login screen. It also requires you to enter a PIN code each time.</p>
<p>Fortunately this can be easily solved by sharing the generated link key between the two computers:</p>
<ol>
<li>Pair the keyboard in Ubuntu, then in OSX. </li>
<li>In OSX, look at the bluetooth properties for your keyboard device to get the address.vThen open the terminal and type <code>sudo defaults read /private/var/root/Library/Preferences/blued.plist</code>. You will see something like the following:
<pre>
{
    LinkKeys =     {
        "00-aa-bb-cc-dd-ee" =         {
            "00-00-00-aa-aa-aa" = <81a83517 cc3c7afc fb8e99fc 5147fbf4>;
        };
    };
}
</pre>
<p>Here, the first code is the address of the bluetooth dongle. The second is the address of the keyboard, and the final, longer code is the link key.</li>
<li>Convert the link key into a format suitable for Linux (or Windows), by reversing the endianness; simply reverse the order of the key, taking each pair of hexadecimal numbers as one value. So, the above key would be f4fb4751 fc998efb fc7a3ccc 1735a881. Easy&#8230;</li>
<li>Use this link key in Linux or Windows. On Ubuntu the link key is at /var/lib/bluetooth/00:AA:BB:CC:DD:EE/linkkeys &#8212; the code is the address of the bluetooth dongle. Edit that file and replace the link key corresponding to the address of the bluetooth keyboard to the converted key, above.</li>
<li>That&#8217;s it &#8212; restart Ubuntu, and the keyboard will work seamlessly as it is switched by the KVM.</li>
<p>To change the link key in Windows, you need to edit the registry &#8212; I didn&#8217;t do this, but a search for &#8220;Windows bluetooth link key registry&#8221; should give the goods.</p>
<p>Provided the keyboard doesn&#8217;t become unpaired, the setup should last indefinitely.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jfwhome.com/2012/01/02/how-to-use-apple-bluetooth-keyboard-with-multiple-computers-via-a-kvm/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu (Lucid) on Gigabyte x58a-ud3r</title>
		<link>http://www.jfwhome.com/2010/08/09/ubuntu-lucid-on-gigabyte-x58a-ud3r/</link>
		<comments>http://www.jfwhome.com/2010/08/09/ubuntu-lucid-on-gigabyte-x58a-ud3r/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 13:54:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Hardware]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.jfwhome.com/?p=134</guid>
		<description><![CDATA[I just upgraded my main desktop PC, running Ubuntu 10.04 (&#8221;Lucid Lynx&#8221;). After an 8-year hiatus, I&#8217;m back on Intel, with a nice new Core i7 930 and a Gigabyte x58a-ud3r.
There&#8217;s not a great deal to write about compatibility, as everything &#8220;just worked&#8221; out of the box.
The upgrade went well &#8212; one of the great [...]]]></description>
			<content:encoded><![CDATA[<p>I just upgraded my main desktop PC, running Ubuntu 10.04 (&#8221;Lucid Lynx&#8221;). After an 8-year hiatus, I&#8217;m back on Intel, with a nice new Core i7 930 and a Gigabyte x58a-ud3r.</p>
<p>There&#8217;s not a great deal to write about compatibility, as everything &#8220;just worked&#8221; out of the box.</p>
<p>The upgrade went well &#8212; one of the great things about Linux is how well it takes to a complete brain transplant. No HAL trouble or &#8220;repair install&#8221; nonsense that you get on Windows.</p>
<p>Here are the things I had to do after the upgrade to get a 100% perfect system&#8230;</p>
<p><span id="more-134"></span></p>
<p><strong>Digital surround</strong><br />
I use a digital coax conneciton to my AV receiver. This worked right out of the box, with the digital stereo option chosen in volume control -> Sound Preferences -> hardware. However, I was only getting stereo rather than 5-channel sound. To fix this, open: /etc/modprobe.d/alsa-base and add:<br />
<code>options snd-hda-intel model=6stack-dig</code> to the end, then restart.</p>
<p><strong>Suspend/Resume</strong></p>
<p>With S3 (Suspend to RAM/STR) enabled in BIOS, I still couldn&#8217;t get the system to sleep properly. As it turns out, the problem is due to the USB3 driver. I fixed this with a script that unloaded and reloaded the driver on suspend/resume. <a href="http://ubuntuforums.org/showpost.php?p=9475037&#038;postcount=18">Follow these instructions on the Ubuntu Forums</a> for creating this script.</p>
<p>With this change it seems I can pretty much suspend and resume all day, without any ill effects.</p>
<p>The icing on the cake was resuming from suspend with my USB keyboard. By default no USB devices will wake the system &#8212; you have to use the power button. To fix this, you first need to find out which bus your USB device is running on. Type <code>lsusb</code>, find your device, and note the bus number.</p>
<p>If, for example, your USB keyboard is running on Bus 5, then you&#8217;d use the following command to enable resume:</p>
<p><code>echo "USB5" > /proc/acpi/wakeup</code></p>
<p>Add that command to your /etc/rc.local file, before the final &#8220;exit 0;&#8221;, then log out and in again.</p>
<p>Other than updating my /etc/network/interfaces with a new ethX device (since I use manually-configured static networking), that&#8217;s pretty much all I had to do to complete the brain transplant.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jfwhome.com/2010/08/09/ubuntu-lucid-on-gigabyte-x58a-ud3r/feed/</wfw:commentRss>
		</item>
		<item>
		<title>What is better than Bing?</title>
		<link>http://www.jfwhome.com/2010/06/30/what-is-better-than-bing/</link>
		<comments>http://www.jfwhome.com/2010/06/30/what-is-better-than-bing/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 13:38:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jfwhome.com/?p=130</guid>
		<description><![CDATA[Easy: betterbing.com
]]></description>
			<content:encoded><![CDATA[<p>Easy: <a href="http://www.betterbing.com">betterbing.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jfwhome.com/2010/06/30/what-is-better-than-bing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>VMWare Player Vs. VirtualBox in Ubuntu: Decided in 1 minute</title>
		<link>http://www.jfwhome.com/2010/06/30/vmware-player-vs-virtualbox-in-ubuntu-decided-in-1-minute/</link>
		<comments>http://www.jfwhome.com/2010/06/30/vmware-player-vs-virtualbox-in-ubuntu-decided-in-1-minute/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 13:33:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jfwhome.com/?p=122</guid>
		<description><![CDATA[I&#8217;ve been using VirtualBox for a few years, and I like it. I thought I would try out the latest VMWare Player to compare and see how it has moved on since the last time I used it &#8212; from what I&#8217;ve heard, the seamless mode in Player is now very good.
However, it all came [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using VirtualBox for a few years, and I like it. I thought I would try out the latest VMWare Player to compare and see how it has moved on since the last time I used it &#8212; from what I&#8217;ve heard, the seamless mode in Player is now very good.</p>
<p>However, it all came to naught &#8212; VMWare fail. Miserably. Why? Because I can&#8217;t download the thing.</p>
<p>VirtualBox provides nice direct download links, and &#8212; even better &#8212; an Ubuntu repository.</p>
<p>What about WMWare? They provide&#8230; this:</p>
<p><div id="attachment_123" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.jfwhome.com/2010/06/30/vmware-player-vs-virtualbox-in-ubuntu-decided-in-1-minute/vmware-what-the-hell/" rel="attachment wp-att-123"><img src="http://www.jfwhome.com/wp-content/uploads/2010/06/vmware-what-the-hell-300x267.jpg" alt="VMWare... What the hell?" title="vmware-what-the-hell" width="300" height="267" class="size-medium wp-image-123" /></a><p class="wp-caption-text">VMWare... What the hell?</p></div></p>
<p>Problem solved &#8212; there&#8217;s no way I want to hand over this kind of data. Sure, I could just fill in nonsense data (and I started to)&#8230; but then what happens when I need an update, or even upgrade to a paid version? VMWare: What the hell are you thinking, asking for all this personal information? The bounce rate for your software must be hideous &#8212; what a great way to send people to your competitors.</p>
<p>If you&#8217;re here because you&#8217;re searching for a &#8220;direct link to VMWare Player&#8221; in Google: Sorry, try <a href="http://www.virtualbox.org/">this, much better link</a>, instead.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jfwhome.com/2010/06/30/vmware-player-vs-virtualbox-in-ubuntu-decided-in-1-minute/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Looking for a great Linux PHP editor? Try Geany.</title>
		<link>http://www.jfwhome.com/2009/12/09/looking-for-a-great-linux-php-editor-try-geany/</link>
		<comments>http://www.jfwhome.com/2009/12/09/looking-for-a-great-linux-php-editor-try-geany/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 14:53:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.jfwhome.com/?p=116</guid>
		<description><![CDATA[I&#8217;ve never been one of the vi or emacs brigade &#8212; when editing code (mainly PHP and Python), I&#8217;ve always found it easiest using a lightweight editor (together with a local server).

Since moving to Linux full-time several years ago, I&#8217;ve been on the look-out for an editor I really liked. On Windows, I liked Notepad++ [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve never been one of the vi or emacs brigade &#8212; when editing code (mainly PHP and Python), I&#8217;ve always found it easiest using a lightweight editor (together with a local server).<br />
<span id="more-116"></span><br />
Since moving to Linux full-time several years ago, I&#8217;ve been on the look-out for an editor I really liked. On Windows, I liked Notepad++ &#8212; it did everything I needed with panache, and never got in the way.</p>
<p>On Ubuntu, I&#8217;ve stuck with gedit, with several plugins, including the <a href="http://www.micahcarrick.com/11-14-2007/gedit-symbol-browser-plugin.html">Symbol Browser</a> from Micah Carrick. I tried, at various times, jEdit, gPhpEdit, and even Eclipse &#8212; but they all just &#8216;got in my way&#8217; too much. gPhpEdit came close, but I found the function list wasn&#8217;t always accurate.</p>
<p>However, three things prompted me to look elsewhere again: First, it was choking on some sql dumps I was editing; Second, the symbol browser stopped working in Karmic; and Third, I still hate the shortcuts. I still prefer ctrl-Y for &#8220;redo&#8221; rather than &#8220;ctrl-shift-Z&#8221;, and I really, really need a shortcut (ctrl-D) for &#8220;duplicate this line&#8221;.</p>
<p>So, I just came across <a href="http://www.geany.org/">Geany</a> &#8212; it&#8217;s great. It&#8217;s fast, configurable, stable, has a great symbol browser, has the shortcuts just right, and doesn&#8217;t get in my way. </p>
<p><a href="http://www.jfwhome.com/2009/12/09/looking-for-a-great-linux-php-editor-try-geany/geany/" rel="attachment wp-att-117"><img src="http://www.jfwhome.com/wp-content/uploads/2009/12/geany.jpg" alt="Geany" title="Geany" width="400" height="224" class="alignnone size-full wp-image-117" /></a></p>
<p>It seems that Geany&#8217;s been around for a while &#8212; and is even part of the standard image on some lightweight linux distros. But this is the first time I&#8217;ve come across it &#8212; and I&#8217;m glad I did.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jfwhome.com/2009/12/09/looking-for-a-great-linux-php-editor-try-geany/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Compiling SqueezePlay on linux (Ubuntu AMD64)</title>
		<link>http://www.jfwhome.com/2009/11/22/compiling-squeezeplay-on-linux-ubuntu-amd64/</link>
		<comments>http://www.jfwhome.com/2009/11/22/compiling-squeezeplay-on-linux-ubuntu-amd64/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 19:53:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.jfwhome.com/?p=88</guid>
		<description><![CDATA[Logitech Squeezeboxes are great little network audio streamers &#8212; I have a squeezebox Duet, which is much cooler (IMO) than an Apple TV + iPod.
Squeezeplay is the Squeezebox controller / squeezebox touch user interface, and it can run on any computer. You can use that computer as a controller for your squeezebox receiver, or as [...]]]></description>
			<content:encoded><![CDATA[<p>Logitech Squeezeboxes are great little network audio streamers &#8212; I have a squeezebox Duet, which is much cooler (IMO) than an Apple TV + iPod.</p>
<p>Squeezeplay is the Squeezebox controller / squeezebox touch user interface, and it can run on any computer. You can use that computer as a controller for your squeezebox receiver, or as a complete squeezebox, playing music. If you can get it running on a portable device, you effectively get a new Squeezebox Controller for free.</p>
<p>Unfortunately, even though the Squeezeboxes are based on a GNU/Linux foundation, Linux users don&#8217;t get much love when it comes to releases of SqueezePlay&#8230; so we have to compile it ourselves.</p>
<p>Here is how to get SqueezePlay working on Ubuntu karmic amd64, but the instructions should apply to other distros. I&#8217;ve also tested it on Karmic 32 bit.</p>
<p><span id="more-88"></span></p>
<p>In order to run SqueezePlay, we need to compile the latest development code for SqueezePlay 7.5 that Logitech have available online on their SVN server. This guide is correct as at 21 Nov 2009, but as the Logitech devs work on the code, things will change, and they might introduce new bugs. For now, this is the procedure &#8212; and it works nicely with my SqueezeCentre 7.4.1.</p>
<p>First of all, we need to install the required dependencies. This may not be a complete list, as I may have had things installed already &#8212; if you get errors with ld towards the end of the process, you may be missing some. </p>
<p>Install the below packages with the following command in a terminal:</p>
<p><code>sudo apt-get install build-essential flex bison subversion automake libtool libpng12-dev libjpeg62-dev libexpat1-dev libreadline5-dev xorg-dev libflac++-dev libvorbis-dev libvorbisidec-dev libasound-dev</code></p>
<p>Next, we need to grab the SVN source code. Create a directory somewhere, open a terminal, and cd into the directory. Then do:<br />
<code>svn co http://svn.slimdevices.com/repos/jive/7.5/trunk/squeezeplay</code></p>
<p>Wait while the source is downloaded. </p>
<p>Now, we need to fix a couple of bugs to ensure it compiles smoothly. I&#8217;ve reported these to the dev team, so if you can&#8217;t find the parts to change &#8212; or it looks like they are fixed already, then don&#8217;t worry <img src='http://www.jfwhome.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The first two bugs are in &lt;your-folder&gt;/squeezeplay/src/Makefile.linux, so open up the file in a text editor, and make the following changes:</p>
<ul>
<li>On line 10, change <code>${PWD}</code> to <code>$(shell pwd)</code> . After the change, line 10 will look thus:<br />
<code>SRC_DIR = $(realpath $(shell pwd))</code> .</li>
<li>Change line 146 from: <code>cd luaprofiler-2.0 &#038;&#038; make -f Makefile.linux install</code> to: <code>cd luaprofiler-2.0 &#038;&#038; LD="gcc -shared" make -f Makefile.linux install</code></li>
</ul>
<p>The third bug: browse to &lt;your-folder&gt;/squeezeplay/src/squeezeplay/src/audio/decode, and open decode.c. Find the printf statement on line 434, and change <code>%llu</code> to <code>%"PRIu64"</code>. After this, line 434 will look like this:<br />
<code>printf("elapsed:%"PRIu64" buffers: %0.1f%%/%0.1f%%\n", elapsed, dbuf, obuf);</code></p>
<p>Finally, we need to replace one of the static libraries that squeezeplay is using &#8212; the version of portaudio that is included is out of date, and prevents sound from playing. So, download the latest portaudio <a href="http://www.portaudio.com/archives/pa_snapshot.tgz">here</a>, put it in your squeezeplay/src directory, and double-click it to extract it there. Then rename Logitech&#8217;s <code>portaudio_v19_1360</code> directory to <code>portaudio_v19_1360-old</code>, and rename your new <code>portaudio</code> directory to <code>portaudio_v19_1360</code>.</p>
<p>Now, it&#8217;s time to compile the code. Switch to the &lt;your-folder&gt;squeezeplay/src directory in your terminal (e.g. <code>cd squeezeplay/src</code>), and run the compile as follows:</p>
<p><code>sudo make -f  Makefile.linux</code></p>
<p>This will take a while. Once done, you will have a tarball in the ../build directory. To install squeezeplay, you just need to extract the contents of this to /opt/squeezeplay:</p>
<p><code><br />
cd ../build/<br />
sudo mkdir /opt/squeezeplay<br />
tar -C /opt/squeezeplay -xvf sq&lt;TAB&gt;<br />
</code></p>
<p>(the exact name of the squeezeplay tarball will vary &#8212; just hit tab to have it auto-complete).</p>
<p>then, to start squeezeplay, the command is:<br />
<code>/opt/squeezeplay/bin/squeezeplay.sh</code></p>
<p>to uninstall, just delete it from /opt.</p>
<p>Some potential hiccups:</p>
<ul>
<li>Makefile.linux has a &#8220;-deb&#8221; option that is supposed to build a .deb package for installation. However, it doesn&#8217;t seem to work. Furthermore, if you try it, you&#8217;ll need to clear out your working folder and start again &#8212; even with &#8216;make clean&#8217;, you&#8217;ll never be able to build a package until you start over, for some reason.</li>
</ul>
<p>&nbsp;</p>
<p><div id="attachment_92" class="wp-caption alignnone" style="width: 502px"><a href="http://www.jfwhome.com/2009/11/22/compiling-squeezeplay-on-linux-ubuntu-amd64/squeezeplay1/" rel="attachment wp-att-92"><img src="http://www.jfwhome.com/wp-content/uploads/2009/11/squeezeplay1.png" alt="Squeezeplay on Ubuntu" title="Squeezeplay01" width="492" height="296" class="size-full wp-image-92" /></a><p class="wp-caption-text">Squeezeplay on Ubuntu</p></div></p>
<p>My next step is to get it running on an old iPaq PDA I have lying around&#8230; watch this space!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jfwhome.com/2009/11/22/compiling-squeezeplay-on-linux-ubuntu-amd64/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

