<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/  -->
<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:media='http://search.yahoo.com/mrss/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>richdawe</title>
  <link>http://richdawe.livejournal.com/</link>
  <description>richdawe - LiveJournal.com</description>
  <lastBuildDate>Mon, 30 Aug 2010 09:45:44 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>richdawe</lj:journal>
  <lj:journalid>8497711</lj:journalid>
  <lj:journaltype>personal</lj:journaltype>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/7368.html</guid>
  <pubDate>Mon, 30 Aug 2010 09:45:44 GMT</pubDate>
  <title>More problems with Ubuntu 10.04 on Samsung N510</title>
  <link>http://richdawe.livejournal.com/7368.html</link>
  <description>&lt;p&gt;My main laptop&apos;s hard disk died at the weekend, so I started migrating all my data to my Samsung N510 netbook (thank goodness for backups). Unfortunately, I hit this Ubuntu 10.04 bug, which meant my netbook was crashing sporadically when I ran lots of programs -- firefox and thunderbird simultaneously:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://bugs.edge.launchpad.net/ubuntu/+source/linux/+bug/539482&quot; rel=&quot;nofollow&quot;&gt;Bug #539482: Page allocation failures on Dell E5500&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I tried installing mainline 2.6.34 kernel builds, as described by the &lt;a href=&quot;https://wiki.ubuntu.com/Kernel/MainlineBuilds&quot; rel=&quot;nofollow&quot;&gt;Ubuntu Wiki Kernel/MainlineBuilds page&lt;/a&gt;. The 2.6.34 kernel seemed to hang the netbook hard.&lt;/p&gt;

&lt;p&gt;Instead, I decided to try a backport of the Ubuntu Maverick kernel, as mentioned on &lt;a href=&quot;http://www.ubuntuupdates.org/ppa/kernel-ppa?dist=lucid&quot; rel=&quot;nofollow&quot;&gt;Ubuntu Updates Lucid kernel page&lt;/a&gt;. I installed the following:&lt;/p&gt;

&lt;p&gt;&lt;blockquote&gt;&lt;tt&gt;sudo add-apt-repository ppa:kernel-ppa/ppa&lt;br&gt;
sudo aptitude update&lt;br&gt;
sudo aptitude install linux-image-generic-lts-backport-maverick linux-headers-generic-lts-backport-maverick
&lt;/tt&gt;&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;The current backport kernel is 2.6.35-19-generic.&lt;/p&gt;

&lt;p&gt;The boot process appeared to hang, so I disabled the boot splash screen, by editing &lt;tt&gt;/etc/default/grub&lt;/tt&gt;:&lt;/p&gt;

&lt;p&gt;&lt;blockquote&gt;&lt;tt&gt;
#GRUB_CMDLINE_LINUX_DEFAULT=&quot;quiet splash&quot;&lt;br&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&quot;&quot;
&lt;/tt&gt;&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;and then ran &lt;tt&gt;sudo update-grub&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;I also had to build the module for the wireless chipset -- Realtek 8192 PCI wireless -- because the built-in wireless driver in 2.6.35 does not appear to work with my WPA-enabled access point. That is a story for another blog post... In the meantime, I have seen reports that switching the access point from WPA+WPA2 to just WPA mode helps.&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/7368.html</comments>
  <category>linux</category>
  <lj:mood>contemplative</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/7118.html</guid>
  <pubDate>Wed, 19 May 2010 07:26:34 GMT</pubDate>
  <title>Upgrading to Ubuntu Netbook Remix 10.04 - no title bar or window decorations</title>
  <link>http://richdawe.livejournal.com/7118.html</link>
  <description>I upgraded from UNR 9.04 to 10.04 the other day, and found that the window decorations such as the title bar and close/maximize/minimize had disappeared from all windows (even in &quot;GNOME&quot; log-in sessions).&lt;br /&gt;&lt;br /&gt;My particular problem seemed to be caused by saved GNOME session state. I&apos;ve attached a suggested resolution to &lt;a ref=&quot;https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/576696&quot;&gt;Launchpad bug #576696&lt;/a&gt;.</description>
  <comments>http://richdawe.livejournal.com/7118.html</comments>
  <category>linux</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/6856.html</guid>
  <pubDate>Fri, 05 Feb 2010 11:45:12 GMT</pubDate>
  <title>Slow scrolling in Firefox on Fedora 12 - workaround</title>
  <link>http://richdawe.livejournal.com/6856.html</link>
  <description>After upgrading to Fedora 12, I found that scrolling in Firefox was painfully slow. I&apos;m using the Nouveau driver with a Geforce Go 5700 chip in my old 3.2 GHz Athlon64 laptop. Scrolling seemed to peg the CPU usage at 100% and render the computer unusable for the duration of the (very slow) scrolling.&lt;br /&gt;&lt;br /&gt;Disabling &quot;smooth scrolling&quot; in the general section of the preferences seems to have fixed this.</description>
  <comments>http://richdawe.livejournal.com/6856.html</comments>
  <category>firefox</category>
  <category>linux</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/6519.html</guid>
  <pubDate>Tue, 09 Jun 2009 10:36:44 GMT</pubDate>
  <title>Mac OS X firewall vs. DHCP</title>
  <link>http://richdawe.livejournal.com/6519.html</link>
  <description>&lt;p&gt;I&apos;ve been having some issues with Mac OS X not being able to configure itself with DHCP. It looks like the firewall was blocking DHCP responses. Quick solution was to turn off the firewall. Longer-term solution may be that I need to reinstall configd and mDNSResponder from the latest Mac OS X update, so that they are signed correctly, so that the firewall trusts them again.&lt;/p&gt;

&lt;p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://tegin.wordpress.com/2008/10/23/apple-osx-leopard-firewall-dhcp-problems/&quot; rel=&quot;nofollow&quot;&gt;Apple OSX (Leopard) Firewall DHCP problems&lt;/a&gt;&lt;/li&gt;&lt;br&gt;
&lt;li&gt;&lt;a href=&quot;http://www.lockergnome.com/it/2009/02/09/mac-dhcp-wireless-connection-broken-with-self-assigned-ip-address/&quot; rel=&quot;nofollow&quot;&gt;Mac DHCP Wireless Connection Broken With Self-Assigned IP Address&lt;/a&gt;&lt;/li&gt;&lt;br&gt;
&lt;li&gt;&lt;a href=&quot;http://discussions.apple.com/thread.jspa?threadID=1314540&amp;amp;tstart=30&quot; rel=&quot;nofollow&quot;&gt;Apple Discussions Topic : mdnsresponder and configd&lt;/a&gt;&lt;/li&gt;&lt;/p&gt;&lt;/ul&gt;</description>
  <comments>http://richdawe.livejournal.com/6519.html</comments>
  <category>mac</category>
  <lj:mood>annoyed</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/6152.html</guid>
  <pubDate>Wed, 20 May 2009 03:12:34 GMT</pubDate>
  <title>Looking for a contractor for Professional Services</title>
  <link>http://richdawe.livejournal.com/6152.html</link>
  <description>&lt;p&gt;I work in the Professional Services team at &lt;a href=&quot;http://www.messagesystems.com/&quot; rel=&quot;nofollow&quot;&gt;Message Systems&lt;/a&gt;, where I have fun designing and developing custom integrations of our e-mail software platform to fulfil the needs and requirements of various clients.&lt;/p&gt;

&lt;p&gt;We&apos;re looking for someone for a six-month contract in the Bristol area:&lt;/p&gt;

&lt;p&gt;From &lt;a href=&quot;http://www.messagesystems.com/company/companyCareers.html#prosrvuk&quot; rel=&quot;nofollow&quot;&gt;the full job specification&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The Message Systems engineering team is looking for a highly motivated Professional Services Engineer to help build custom solutions on top of our best-of-breed messaging platform. You will work closely with our internationally-renowned engineering team to deliver solutions to our customers.&lt;/p&gt;

&lt;p&gt;The projects range from carrier-class deployments to support millions of messages per day to mass-market enterprise appliances used by Fortune 500 companies.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Please see &lt;a href=&quot;http://www.messagesystems.com/company/companyCareers.html#prosrvuk&quot; rel=&quot;nofollow&quot;&gt;the full job specification&lt;/a&gt; for details of how to apply.&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/6152.html</comments>
  <category>bristol</category>
  <category>hiring</category>
  <lj:mood>working</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/6137.html</guid>
  <pubDate>Tue, 17 Mar 2009 12:17:14 GMT</pubDate>
  <title>Macbook Pro overheating</title>
  <link>http://richdawe.livejournal.com/6137.html</link>
  <description>&lt;p&gt;It appears reinstalling Mac OS X Leopard has done something to the default fan settings on my work MBP. I&apos;ve had problems today with the GPU overheating (triggered by several minutes of Spotlight indexing things). I&apos;ve installed &lt;a href=&quot;http://homepage.mac.com/holtmann/eidac/software/smcfancontrol2/index.html&quot; rel=&quot;nofollow&quot;&gt;smcFanControl2&lt;/a&gt; and cranked the default fan speed up to 3,000 rpm. This seems to be keeping the GPU temperature under control.&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/6137.html</comments>
  <category>mac</category>
  <lj:mood>relieved</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/5742.html</guid>
  <pubDate>Sat, 14 Mar 2009 14:20:26 GMT</pubDate>
  <title>FileVault ate my home directory</title>
  <link>http://richdawe.livejournal.com/5742.html</link>
  <description>&lt;p&gt;Yesterday I upgraded my work Macbook Pro from OS X Tiger 10.4 to Leopad 10.5.6. It was not an entirely smooth experience. After upgrading to Leopard, it all appeared to work fine -- everything seemd intact. I ran the software updates tool, and it downloaded some updates. I needed to reboot.&lt;/p&gt;

&lt;p&gt;I use FileVault to encrypt my home directory, to protect all the confidential data on it. When you reboot/shutdown the laptop under OS X 10.4 Tiger, it asks you whether you want it to free up space occupied by deleted files within the encrypted image. You can &amp;quot;Skip&amp;quot; or &amp;quot;Continue&amp;quot;.&lt;/p&gt;

&lt;p&gt;After installing the updates and rebooting, I elected to &amp;quot;Skip&amp;quot;. When the laptop came back up, I could not log in to my account. I rebooted with the OS X 10.5 Leopard install DVD (hint: press Apple-C at start-up to boot off DVD), ran Disk Utility and tried to repair the encrypted &lt;tt&gt;.sparseimage&lt;/tt&gt; in my home directory. No luck.&lt;/p&gt;

&lt;p&gt;I ended up re-installing OS X 10.5 Leopard from scratch. Fortunately I had a backup on my Linux box (encrypted with encfs).&lt;/p&gt;

&lt;p&gt;Couple of lessons learnt:&lt;p&gt;

&lt;p&gt;&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Set up an administrator account that does not use FileVault. All the help articles I&apos;ve seen assume that you can actually log into your Mac under an admin account and run Disk Utility. I wasn&apos;t able to because my account was the only administrator account.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Don&apos;t use the &amp;quot;Skip&amp;quot; option with FileVault. NB: It appears they removed it in OS X 10.5 Leopard.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/5742.html</comments>
  <category>mac</category>
  <lj:mood>chipper</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/5452.html</guid>
  <pubDate>Sat, 07 Mar 2009 10:42:32 GMT</pubDate>
  <title>File::ExtAttr 1.09</title>
  <link>http://richdawe.livejournal.com/5452.html</link>
  <description>&lt;p&gt;AKA the &quot;reduce the CPAN Testers FAIL results&quot; release.&lt;/p&gt;

&lt;p&gt;I also fixed a minor bug on Solaris, and documented a difference in the handling of empty attribute values on Mac OS X 10.4 vs. 10.5. See &lt;a href=&quot;http://search.cpan.org/dist/File-ExtAttr/&quot; rel=&quot;nofollow&quot;&gt;File::ExtAttr on CPAN&lt;/a&gt; soon.&lt;/p&gt;

&lt;p&gt;Changelog:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;1.09 2009-03-07

    - (richdawe) Add note to README about needing to install
                 package that provides the headers &amp;lt;attr/attributes.h&amp;gt;
                 and &amp;lt;attr/xattr.h&amp;gt;.

    - (richdawe) Fix RT #31970: &quot;OS X: setfattr fails to set empty value&quot;.
                 According to the CPAN Testers results, this works
                 on Mac OS X 10.5.

                 Skip the &quot;empty&quot; tests on Mac OS X 10.4 and earlier.
                 Document issue.

    - (richdawe) Fix #34394: &quot;Test suite should skip on filesystems
                 with no xattr support when run non-interactively&quot;
                 on Linux.

                 When run interactively, it will suggest what you need
                 to do, to get the test suite to pass.

    - (richdawe) Fix RT #37889: &quot;Crash when operating on a closed file handle
                 on Solaris&quot;. This was due to using an uninitialised
                 directory handle.
&lt;/pre&gt;&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/5452.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/5181.html</guid>
  <pubDate>Tue, 03 Mar 2009 08:39:29 GMT</pubDate>
  <title>Fedora 9 vs. VMware-server 1.0.8</title>
  <link>http://richdawe.livejournal.com/5181.html</link>
  <description>&lt;p&gt;VMware-server 1.0.8 seems to barf on the GTK+ theme files shipped with Fedora 9. I&apos;m using Clearlooks. You can force VMware-server to use the system GTK+ libraries:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;export VMWARE_USE_SHIPPED_GTK=no
vmware &amp;&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;On my F9 x86_64 install, I needed to install a few i386 packages first, before VMware start. VMware-server is an i386 program, so you need these i386 packages to be installed for it to be able to use the system GTK+ libraries:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;yum -y install glib2.i386 gtk2.i386&lt;/pre&gt;&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/5181.html</comments>
  <category>linux</category>
  <lj:mood>annoyed</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/4956.html</guid>
  <pubDate>Wed, 18 Feb 2009 11:27:46 GMT</pubDate>
  <title>Linksys wireless gear vs. Xbox 360</title>
  <link>http://richdawe.livejournal.com/4956.html</link>
  <description>&lt;p&gt;I&apos;ve been trying recently to connect a wired LAN printer and my Xbox 360 to the wireless LAN in our house. This proved trickier than I expected.&lt;/p&gt;

&lt;p&gt;First off I wanted to connect my old Linksys WRT54GS v2 wireless access point to the existing wireless network, so that I could hook my printer up to it. The wireless network is using WPA-PSK authentication. I reflash the WRT54GS with &lt;a href=&quot;http://openwrt.org/&quot; rel=&quot;nofollow&quot;&gt;OpenWrt&lt;/a&gt;, version 8.09 RC1. I didn&apos;t find OpenWrt very friendly, but I managed to get it to join the wireless network. Unfortunately there seemed to be some problem with bridging -- the wired and wireless networks were not connected.&lt;/p&gt;

&lt;p&gt;Eventually I gave up and switched to &lt;a href=&quot;http://www.dd-wrt.com/&quot; rel=&quot;nofollow&quot;&gt;DD-WRT&lt;/a&gt;, which worked much better. I set it up into Client Bridged mode, and it just worked.&lt;/p&gt;

&lt;p&gt;The next task was to connect my Xbox 360 to the wireless network. I bought the wireless adapter, but I found it would not connect to my wireless router, a Linksys WAG325N. Apparently this is a known issue. The recommended fix is to downgrade to version 1.00.06 of the firmware, which unfortunately did not work for me. I upgraded the router to the latest firmware, v1.00.12, and made sure my Xbox had the latest updates. Still no joy.&lt;/p&gt;

&lt;p&gt;I read reports that the Xbox 360 worked fine with the WRT54GS, so I wondered if I could create a second wireless network just for my Xbox. Fortunately I discovered that DD-WRT has a &lt;a href=&quot;http://www.dd-wrt.com/wiki/index.php/Universal_Wireless_Repeater&quot; rel=&quot;nofollow&quot;&gt;repeater mode&lt;/a&gt; and a repeater bridge mode. In repeater bridge mode, you create a virtual wireless network with a new SSID, and then traffic is bridged between the real wireless network and your new &amp;quot;virtual&amp;quot; wireless network. The virtual wireless network is a real wireless network to all intents and purposes.&lt;/p&gt;

&lt;p&gt;After some poking around the DD-WRT GUI, I had it all configured and it works! (Note: I skipped the &lt;tt&gt;nvram set wl_ssid=&amp;quot;&amp;quot;&lt;/tt&gt; step -- you don&apos;t need that for Repeater Bridged mode.) The path for traffic from my Xbox to the internet is now something like this:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;Xbox &amp;lt;--&amp;gt; WLAN 2 &amp;lt;--&amp;gt; WRT54GS Access-Point &amp;lt;--&amp;gt; WLAN 1 &amp;lt;--&amp;gt; WAG325N router &amp;lt;--&amp;gt; internet&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;DD-WRT is pretty sweet. I&apos;ve only scratched the surface of its features.&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/4956.html</comments>
  <category>xbox</category>
  <lj:mood>tired</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/4723.html</guid>
  <pubDate>Sat, 31 Jan 2009 18:06:01 GMT</pubDate>
  <title>Thanks to Linux desktop developers</title>
  <link>http://richdawe.livejournal.com/4723.html</link>
  <description>&lt;p&gt;I&apos;ve just caught up with 2 years&apos; worth of Linux desktop developments (NetworkManager works, user switching, built-in volume controls working on my laptop). I like. Thanks for all the hard work, Linux desktop developers!&lt;/p&gt;

&lt;p&gt;PS: Turning on &amp;quot;subpixel aliasing&amp;quot; has made text much more readable.&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/4723.html</comments>
  <lj:mood>chipper</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/4585.html</guid>
  <pubDate>Fri, 09 Jan 2009 19:42:20 GMT</pubDate>
  <title>Occasional lock-ups due to Parallels &amp; FileVault?</title>
  <link>http://richdawe.livejournal.com/4585.html</link>
  <description>&lt;p&gt;I&apos;ve been running a Windows VM under Parallels on my work Mac. I have my home directory encrypted using FileVault. I&apos;ve had ~5 lock-ups in the past 6 months where my Mac has just locked hard. It always seems to happen when I&apos;m using a Windows VM. I&apos;ve allocated 768 MB of RAM to the Windows VM. The Mac has 2 GB of physical RAM. The disk image is pre-allocated, to avoid performance problems with it being resized on the encrypted volume.&lt;/p&gt;

&lt;p&gt;I&apos;ve wondered if the box has locked up because FileVault cannot allocate memory for some reason. This doesn&apos;t seem to happen in normal usage. Maybe the Windows VM is pushing memory usage over the edge.&lt;/p&gt;

&lt;p&gt;Today I&apos;ve switched to hosting the Windows VM disk outside the encrypted partition, and using NTFS encryption for the data I need to protect. Hopefully that will work better.&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/4585.html</comments>
  <category>mac</category>
  <lj:mood>working</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/4265.html</guid>
  <pubDate>Wed, 31 Dec 2008 14:13:46 GMT</pubDate>
  <title>Interesting essay on &quot;Misunderstandings of Privacy&quot;</title>
  <link>http://richdawe.livejournal.com/4265.html</link>
  <description>I found the article &lt;a href=&quot;http://papers.ssrn.com/sol3/papers.cfm?abstract_id=998565&quot; rel=&quot;nofollow&quot;&gt;&amp;quot;&apos;I&apos;ve Got Nothing to Hide&apos; and Other Misunderstandings of Privacy &amp;quot;&lt;/a&gt; by Daniel J. Solove interesting. Specifically how he tried to categorise privacy into different categories based on the kinds of problems encountered, and his discussions on privacy and the relationships between individuals and society.</description>
  <comments>http://richdawe.livejournal.com/4265.html</comments>
  <category>privacy</category>
  <lj:mood>contemplative</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/3883.html</guid>
  <pubDate>Mon, 10 Nov 2008 20:14:26 GMT</pubDate>
  <title>3 mobile broadband on Mac</title>
  <link>http://richdawe.livejournal.com/3883.html</link>
  <description>&lt;p&gt;I got some &lt;a href=&quot;http://www.three.co.uk/&quot; rel=&quot;nofollow&quot;&gt;mobile broadband from 3&lt;/a&gt; to cope with a two-week gap in my wired broadband provision. I had some pain getting it to work on my work Macbook Pro (which is a US one) running Mac OS X Tiger (10.4.x).&lt;/p&gt;

&lt;p&gt;The software gave me an obscure error -- &amp;quot;internal error 5370&amp;quot; or similar -- when running the 3 Connection Manager software. According to a techie in the 3 store I went to, I needed to download the latest drivers from the 3 website. That was pretty hard to find. It turned out to be on &lt;a href=&quot;http://ask3.three.co.uk/SRVS/Data/Hutch/KnowledgeBases/Ask3/document/web/mobilebroadband/modem_installation_guides/Mac_104_huaweiE160G_install.htm&quot; rel=&quot;nofollow&quot;&gt;the support page for the Huawei E160G on Mac OS X 10.4&lt;/a&gt;. (I don&apos;t recall how I found that page.)&lt;/p&gt;

&lt;p&gt;I uninstalled the old software, deleted the &quot;3Connect&quot; folder from applications, installed the new software and fired up the &quot;MobileConnect&quot; application. That detected the 3 network, but crashed when I tried to connect. &lt;a href=&quot;http://forum.huawei.com/jive4/thread.jspa?threadID=322226&quot; rel=&quot;nofollow&quot;&gt;This thread on the Huawei forum&lt;/a&gt; suggested that I could create a profile in the Network panel of the computer settings:&lt;/p&gt;

&lt;p&gt;&lt;blockquote&gt;&lt;tt&gt;
Firstly, run the “Mobile Connect” Make sure under “settings” there is a profile: I called mine “3 USB Modem”, with Access Point name of 3internet and Telephone number of *99#. You only need to do this once.&lt;/tt&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;blockquote&gt;&lt;tt&gt;
Secondly, go into System Preferences. In the Network pane, select the HUAWEI mobile device in the left pane. Now, in the right pane, under Configuration, select “Add Configuration”. I caled mine “Three”. Add *99# as the telephone number, make sure “Show modem status in menu bar” is ticked (for convenience) and you’re all set.
&lt;/tt&gt;&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;I had to enable a profile called &amp;quot;HuaweiMOBILE&amp;quot; first. Once I edited that as instructed above, I found that the MobileConnect application could connect.&lt;/p&gt;

&lt;p&gt;Actually, it failed to connect the first time due to some authentication error. But it&apos;s worked every time since. Perhaps the auth error was a signal strength issue.&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/3883.html</comments>
  <category>mac</category>
  <lj:mood>calm</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>14</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/3593.html</guid>
  <pubDate>Fri, 03 Oct 2008 08:45:23 GMT</pubDate>
  <title>Knowing what rpms you&apos;ve just built</title>
  <link>http://richdawe.livejournal.com/3593.html</link>
  <description>&lt;p&gt;One idiom I&apos;ve found myself repeating in various projects is a build-all script that builds multiple rpm packages in a certain order. This isn&apos;t very sophisticated -- each time I&apos;ve ordered the packages being built manually.&lt;/p&gt;

&lt;p&gt;But how do you know what rpms you will get, when you run rpmbuild? You need to know this, so you can install the rpms. Here is a solution:&lt;/p&gt;

&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
specfile=project.spec

RPMDIR=$(rpm --eval &apos;%{_rpmdir}&apos;)

# What format does rpm use for built binary rpms?
# %{ARCH}/%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm
BUILD_NAME_FMT=`rpm --eval &apos;%{_build_name_fmt}&apos;`

rpms=$(rpm -q --specfile $specfile --queryformat &quot;$BUILD_NAME_FMT &quot;)

pushd $RPMDIR
rpm -ivh $rpms
popd
&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;This works as follows: get the rpm root directory into $RPMDIR; find the format rpmbuild uses for built binary rpms; query the rpm specfile for packages and format the results using the build rpm filename format; finally, go into the rpm root and install all the binary rpms.&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/3593.html</comments>
  <category>rpm</category>
  <lj:mood>chipper</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/3576.html</guid>
  <pubDate>Sat, 19 Jul 2008 11:29:32 GMT</pubDate>
  <title>File::ExtAttr 1.08, (Open)Solaris and 2 xattr schemes</title>
  <link>http://richdawe.livejournal.com/3576.html</link>
  <description>&lt;p&gt;I released &lt;a href=&quot;http://search.cpan.org/dist/File-ExtAttr/&quot; rel=&quot;nofollow&quot;&gt;File::ExtAttr&lt;/a&gt; 1.08, which has some changes to make it report errors more consistently (&lt;tt&gt;$!&lt;/tt&gt; should always contain the value of &lt;tt&gt;errno&lt;/tt&gt; now). It also has some build changes, which will hopefully avoid all the CPAN Testers FAIL reports on platforms that don&apos;t have the development packages installed for using xattrs (libattr-devel rpm on Linux).&lt;/p&gt;

&lt;p&gt;I development this release on various platforms, but the most exciting one was OpenSolaris 2008.05 (AKA Project Indiana). This is so much easier to install and use than Solaris 10. It&apos;s much more like using a Linux distro. The OpenSolaris LiveCD is very easy to install, and things just seem to work. It took about 6 steps to get a fully functional development environment for File::ExtAttr.&lt;/p&gt;

&lt;p&gt;While developing 1.08 on OpenSolaris, I discovered that it has two separate ways of storing extended metadata: extended file attributes, and extensible system attributes. The &lt;a href=&quot;http://opensolaris.org/os/community/arc/caselog/2007/315/spec-final-txt/&quot; rel=&quot;nofollow&quot;&gt;extensible system attributes&lt;/a&gt; were added as part of supporting CIFS on ZFS. It&apos;s still unclear to me why the existing metadata scheme wasn&apos;t good enough -- maybe the semantics of the original xattr interface weren&apos;t compatible with the use cases?&lt;/p&gt;

&lt;p&gt;(The original xattr scheme is that you open the file as though it were a directory, and then the xattrs can be accessed through directory entries. This is clever, but different to the way Linux, *BSD and Mac OS X implement xattrs.)&lt;/p&gt;

&lt;p&gt;I&apos;m now not sure which xattr API I should be exposing through File::ExtAttr. I guess it comes down to which one will be more portable across platforms. I think that will be determined by which xattrs are preserved by tar, etc.&lt;/p&gt;

&lt;p&gt;Anyow, here&apos;s the change log for File::ExtAttr 1.08:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;1.08 2008-08-19

     - (richdawe) Add a typemap for usage of &quot;const char *&quot; in the XS.
                  This may help fix the build with Perl 5.6.x or earlier.

     - (richdawe) Remove NetBSD 3.x from list of supported OSes,
                  since File::ExtAttr&apos;s test suite will never pass on it.

     - (richdawe) Update Makefile.PL to fail more gracefully when the build
                  pre-requisites are not present. On Linux use
                  Devel::CheckLib to check for libattr. Also exit
                  more gracefully if libattr&apos;s headers are not present.

     - (richdawe) OpenBSD isn&apos;t supported, so bail gracefully
                  in Makefile.PL on that platform.

     - (richdawe) Make sure that the errno value from any failed
                  system calls is propagated into $! (#32679, #32680).

     - (richdawe) File::ExtAttr no longer generate noisy warnings
                  when an xattr system call fails. All error reporting
                  is now via the function return values and $!.

     - (richdawe) Operations with non-default or non-&quot;user&quot; namespaces
                  will now fail with EOPNOTSUPP instead of ENOATTR
                  on Mac OS X, *BSD and Solaris. This behaviour
                  matches the behaviour on Linux.

     - (richdawe) Added a note to the documentation about Solaris
                  extensible system attributes, which are different
                  to extended file attributes.&lt;/pre&gt;&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/3576.html</comments>
  <category>perl</category>
  <category>solaris</category>
  <lj:mood>tired</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/3102.html</guid>
  <pubDate>Wed, 19 Mar 2008 22:38:52 GMT</pubDate>
  <title>rpm: Filtering dependencies differently for different subpackages</title>
  <link>http://richdawe.livejournal.com/3102.html</link>
  <description>&lt;p&gt;Recently I was trying to work out how to filter rpm Requires/Provides dependencies differently for different subpackages. I was trying to produce a subpackage that was the same as another subpackage, but stripping out some library dependencies. Call the one subpackage &lt;tt&gt;foo&lt;/tt&gt; and the other &lt;tt&gt;foo-nodeps&lt;/tt&gt;. (Don&apos;t ask why I was trying to do this.)&lt;/p&gt;

&lt;p&gt;rpm has a way of hooking the dependency generation, as described in &lt;a href=&quot;http://fedoraproject.org/wiki/PackagingDrafts/FilteringAutomaticDependencies&quot; rel=&quot;nofollow&quot;&gt;FilteringAutomaticDependencies at the Fedora wiki&lt;/a&gt;. This is pretty magical. You disable rpm&apos;s internal dependency generation. You can then override the default external dependency generation scripts (if you want). Normally rpm uses &lt;tt&gt;find-requires&lt;/tt&gt; and &lt;tt&gt;find-provides&lt;/tt&gt; in &lt;tt&gt;/usr/lib/rpm&lt;/tt&gt;, or &lt;tt&gt;/usr/lib/rpm/redhat&lt;/tt&gt; on some Red Hat or Red Hat-derived systems. If you do override the scripts, it&apos;s likely you&apos;ll want to call them and filter their output.&lt;/p&gt;

&lt;p&gt;When you define your own dependency generation scripts, they are applied to all subpackages. There is no information passed to the script to indicate which package/subpackage it is being call for. You can pass arbitrary parameters to your custom find-requires/find-provides scripts. But there are no macros that you can use to pass that in as a parameter (&lt;tt&gt;%name&lt;/tt&gt; is always the main package&apos;s name -- there&apos;s no &lt;tt&gt;%subpackage&lt;/tt&gt; macro AFACIS).&lt;/p&gt;

&lt;p&gt;A solution was to pass that information in via the filesystem. In the &lt;tt&gt;%install&lt;/tt&gt; script I&apos;d create a file per package. Something like this:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;mkdir -p %{buildroot}/NOTINSTALLED
touch %{buildroot}/NOTINSTALLED/foo.ghost
touch %{buildroot}/NOTINSTALLED/foo-nodeps.ghost&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Then in each package&apos;s file list I&apos;d put the appropriate file:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;%files
...
%ghost /NOTINSTALLED/foo.ghost

%files nodeps
...
%ghost /NOTINSTALLED/foo-nodeps.ghost&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;The &lt;tt&gt;%ghost&lt;/tt&gt; ensures that the file isn&apos;t installed, but is still passed to the find-requires/find-provides scripts. A custom find-requires script can then find out which subpackage it&apos;s being called for. Something like this:&lt;/p&gt;

&lt;p&gt;&lt;pre&gt;cat &amp;gt; .files
if (grep -q -E &apos;^/NOTINSTALLED/foo-nodeps.ghost$&apos; 2&amp;gt;/dev/null); then
  # Filter out dependencies on libfoo
  /usr/lib/rpm/find-requires | grep -v -E &apos;^libfoo.so&apos;
else
  /usr/lib/rpm/find-requires
fi&lt;/pre&gt;&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/3102.html</comments>
  <category>rpm</category>
  <lj:mood>calm</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/2877.html</guid>
  <pubDate>Sat, 12 Jan 2008 08:50:47 GMT</pubDate>
  <title>FileVault</title>
  <link>http://richdawe.livejournal.com/2877.html</link>
  <description>I enabled FileVault home directory encryption on my work Macbook Pro the other day, which is running Mac OS X Tiger (10.4). I was a little bit hesitant about doing this, because of various horror stories about it not working, or performance being terrible. I made sure I had a proper backup, before starting the process.&lt;br /&gt;&lt;br /&gt;The 160 GB hard disk was about 40% full before I started. It took 1.5 hours to encrypt my 41 GB home directory, followed by 3.5 hours to securely erase the old unencrypted version.&lt;br /&gt;&lt;br /&gt;The performance afterwards seems to be generally the same before. The only exception I&apos;ve hit so far is with Parallels resizing an expanding disk in a virtual machine, and there the performance is terrible. This makes some kind of sense: There are two disk images being expanded, the Parallels VM disk inside the encrypted home directory, and then the encrypted disk image containing the home directory. Pre-allocating the disk image for the VM helps, because it means no resizing is required at run-time.&lt;br /&gt;&lt;br /&gt;Some of my preferences seem to have been lost. I had to make Firefox my default browser again. And I had a hot corner to turn on the sceensaver, which mysteriously stopped working -- I fixed that by setting a different corner to do &quot;show desktop&quot;, after which the screensaver hot corner worked again (strange).</description>
  <comments>http://richdawe.livejournal.com/2877.html</comments>
  <category>mac</category>
  <category>security</category>
  <lj:music>electrohouse</lj:music>
  <media:title type="plain">electrohouse</media:title>
  <lj:mood>chipper</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/2730.html</guid>
  <pubDate>Sun, 11 Nov 2007 21:56:35 GMT</pubDate>
  <title>Recycling Compact Flourescent Lightbulbs (CFLs)</title>
  <link>http://richdawe.livejournal.com/2730.html</link>
  <description>&lt;p&gt;I read in Scientific American that Compact Flourescent Lightbulbs (CFLs) contain mercury, and some US stores/states have recylcing programmes at stores or kiosks. I didn&apos;t realise they contained mercury, and probably would have just thrown them in the bin with my other rubbish. Links:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.energystar.gov/index.cfm?c=cfls.pr_cfls&quot; rel=&quot;nofollow&quot;&gt;Compact Fluorescent Light Bulbs at energystar.gov&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Compact_fluorescent_lamp&quot; rel=&quot;nofollow&quot;&gt;Compact fluorescent lamp at Wikipedia&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://www.reuk.co.uk/Toxic-Mercury-in-CFL-Bulbs.htm&quot; rel=&quot;nofollow&quot;&gt;Toxic Mercury In CFL Bulbs&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://www.lamprecycle.org/&quot; rel=&quot;nofollow&quot;&gt;lamprecycle.org&lt;/a&gt; (not much use here in the UK)&lt;/p&gt;

&lt;p&gt;I had a look to see what&apos;s on offer in the UK. The &lt;a href=&quot;http://www.recyclenow.com/&quot; rel=&quot;nofollow&quot;&gt;&amp;quot;Recycle Now&amp;quot;&lt;/a&gt; website doesn&apos;t seem to contain any information about how to recycle CFLs. &lt;a href=&quot;http://www.greenpeace.org.uk/blog/climate/everything-youve-wanted-to-know-about-light-bulbs-20070807&quot; rel=&quot;nofollow&quot;&gt;Greenpeace has an article about CFLs&lt;/a&gt;, which suggests I should be able to take them back to the retailer. Do I have to prove that I bought the bulb from the retailer in the first place?&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/2730.html</comments>
  <category>recycling</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/2520.html</guid>
  <pubDate>Sun, 04 Nov 2007 10:45:11 GMT</pubDate>
  <title>File::ExtAttr 1.06, mab2ldif</title>
  <link>http://richdawe.livejournal.com/2520.html</link>
  <description>&lt;p&gt;I released &lt;a href=&quot;http://search.cpan.org/dist/File-ExtAttr/&quot; rel=&quot;nofollow&quot;&gt;File::ExtAttr 1.06&lt;/a&gt; to fix building on Mac OS X. File::ExtAttr provides an interface to extended file attributes (meta-data) that&apos;s consistent across Linux, Mac OS X, *BSD, Solaris.&lt;/p&gt;

&lt;p&gt;I also released &lt;a href=&quot;http://homepages.nildram.co.uk/~phekda/richdawe/mysoft.html#mab2ldif&quot; rel=&quot;nofollow&quot;&gt;mab2ldif&lt;/a&gt;, which takes a Mork-format address book (e.g.: as used by Thunderbird) and converts it into an LDIF file. You can import the LDIF file into Thunderbird. I wrote this to recover my old Thunderbird address book from an old computer that died. You can actually export the address book from Thunderbird into LDIF, but if Thunderbird won&apos;t run, you&apos;ll need this tool to get your data back.&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/2520.html</comments>
  <category>mail</category>
  <category>perl</category>
  <lj:mood>productive</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/2194.html</guid>
  <pubDate>Sun, 04 Nov 2007 10:40:34 GMT</pubDate>
  <link>http://richdawe.livejournal.com/2194.html</link>
  <description>&lt;p&gt;I saw on &lt;a href=&quot;http://blogs.sun.com/ahl/entry/dtrace_firefox_leopard&quot; rel=&quot;nofollow&quot;&gt;Adam Leventhal&apos;s blog&lt;/a&gt; that Apple ship a DTrace provider for Perl with Leopard:&lt;/p&gt;

&lt;p&gt;&lt;blockquote&gt;&amp;quot;Not only did Apple port DTrace, but they&apos;ve also included a bunch of USDT providers. Perl, Python, Ruby -- they all ship in Leopard with built-in DTrace probes that allow developers to observe function calls, object allocation, and other points of interest from the perspective of that dynamic language.&amp;quot;&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;It&apos;s also mentioned on &lt;a href=&quot;http://www.apple.com/macosx/technology/unix.html&quot; rel=&quot;nofollow&quot;&gt;Unix Technology page for Leopard&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I had a quick look to see if Apple had released any patches. I didn&apos;t find any -- at some point I should dig around their open source section, to see if it&apos;s included in that.&lt;/p&gt;

&lt;p&gt;I did find &lt;a href=&quot;http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6355891&quot; rel=&quot;nofollow&quot;&gt;OpenSolaris Bug ID 6355891&lt;/a&gt; asking for Perl support to be added to DTrace.&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/2194.html</comments>
  <category>perl</category>
  <category>dtrace</category>
  <lj:mood>productive</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/1891.html</guid>
  <pubDate>Sun, 28 Oct 2007 18:17:57 GMT</pubDate>
  <title>Women in Tech/Biz</title>
  <link>http://richdawe.livejournal.com/1891.html</link>
  <description>&lt;p&gt;I read a few interesting articles about women and tech/biz recently:&lt;/p&gt;

&lt;p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://news.ycombinator.com/item?id=61006&quot; rel=&quot;nofollow&quot;&gt;&amp;quot;What I learned about women &amp; business today&amp;quot;&lt;/a&gt; at Y Combinator News&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The entire &lt;a href=&quot;http://www.oreillynet.com/womenintech/&quot; rel=&quot;nofollow&quot;&gt;&amp;quot;Women in Technology&amp;quot; series&lt;/a&gt; at O&apos;Reilly, but specifically:&lt;/p&gt;
&lt;p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.oreillynet.com/pub/a/womenintech/2007/09/17/women-who-risk-making-women-in-technology-visible.html&quot; rel=&quot;nofollow&quot;&gt;&amp;quot;Women Who Risk: Making Women in Technology Visible&amp;quot;&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.oreillynet.com/pub/a/womenintech/2007/09/28/to-sir-with-love-how-to-get-more-women-involved-in-open-source.html?page=last#thread&quot; rel=&quot;nofollow&quot;&gt;Comments in response to &amp;quot;To Sir, with Love: How To Get More Women Involved in Open Source&amp;quot;&lt;/a&gt; (I found the discussions involving the author much more interesting than the article);&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.oreillynet.com/pub/a/womenintech/2007/09/07/interview-with-danah-boyd.html&quot; rel=&quot;nofollow&quot;&gt;&amp;quot;Interview with danah boyd&amp;quot;&lt;/a&gt; (interesting bit about effects of a 3D environment on men vs. women).&lt;/li&gt;&lt;/p&gt;
&lt;/ul&gt;&lt;/p&gt;
&lt;/ul&gt;

&lt;p&gt;On an unrelated note, I found Judith Donath&apos;s talk at Google &lt;a href=&quot;http://video.google.com/videoplay?docid=3480148850517625338&amp;amp;q=type%3Agoogle+engEDU&quot; rel=&quot;nofollow&quot;&gt;&amp;quot;Signals, Truth and Design (with an emphasis on information and fashion)&amp;quot;&lt;/a&gt; interesting.&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/1891.html</comments>
  <lj:music>psytrance</lj:music>
  <media:title type="plain">psytrance</media:title>
  <lj:mood>tired</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/1668.html</guid>
  <pubDate>Sat, 08 Sep 2007 12:32:34 GMT</pubDate>
  <title>The War of Art</title>
  <link>http://richdawe.livejournal.com/1668.html</link>
  <description>&lt;p&gt;I recently read &lt;a href=&quot;http://www.amazon.com/War-Art-Through-Creative-Battles/dp/0446691437/&quot; rel=&quot;nofollow&quot;&gt;The War of Art&lt;/a&gt; by &lt;a href=&quot;http://www.stevenpressfield.com/&quot; rel=&quot;nofollow&quot;&gt;Steven Pressfield&lt;/a&gt;. It&apos;s a book about overcoming creative blocks and other factors that prevent you from being creative, called Resistance.&lt;/p&gt;

&lt;p&gt;I found it to be an entertaining, quick read (~2 hours). I didn&apos;t actually find it as useful as I was expecting. I originally bought it to try to get past some blocks, but I overcame them naturally. In fact, at one point I was procrastinating so much that I thought about reading this book, rather than doing anything else -- and that spurred me to stop procrastinating and &lt;em&gt;just do something&lt;/em&gt;. One of the key ideas in the book is that by just starting something, you will overcome the blocks.&lt;/p&gt;

&lt;p&gt;At a few points the author talked about difficult parts of his life, which seemed to be key to him forming his idea of Resistance (in all its manifestations). I felt there wasn&apos;t quite enough detail at these points (and there isn&apos;t much more on his website). It would have been useful to understand his journey. That said, it didn&apos;t really detract from the presentation of the ideas.&lt;/p&gt;

&lt;p&gt;A lot of the ideas in this book are quite simple. But it&apos;s easy to lose track of them, when you are being distracted. And the book contains some good quotes. So I think I would turn to this book, if I were in the middle of a creative funk.&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/1668.html</comments>
  <lj:mood>mellow</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/1413.html</guid>
  <pubDate>Sat, 01 Sep 2007 20:36:23 GMT</pubDate>
  <title>postfix config-o-rama</title>
  <link>http://richdawe.livejournal.com/1413.html</link>
  <description>&lt;p&gt;I spent a lot of today finally setting up e-mail for my domain, &lt;a href=&quot;http://www.phekda.org/&quot; rel=&quot;nofollow&quot;&gt;phekda.org&lt;/a&gt;. My goals were:&lt;/p&gt;

&lt;p&gt;&lt;ul&gt;
&lt;li&gt;Set up an SMTP SUBMIT server (running on port 587), so that I can send mail from &lt;tt&gt;@phekda.org&lt;/tt&gt; addresses from anywhere.&lt;/li&gt;
&lt;li&gt;Require mail to be submitted over TLS.&lt;/li&gt;
&lt;li&gt;Authenticate the client by requiring that the client presents a certificate issued by my private certificate authority (CA). Since I&apos;m only going to issue certificates to people/machines I trust, possession of a certificate is implicit authentication.&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;

&lt;h4&gt;TinyCA&lt;/h4&gt;

&lt;p&gt;I used &lt;a href=&quot;http://tinyca.sm-zone.net/&quot; rel=&quot;nofollow&quot;&gt;TinyCA2&lt;/a&gt; to set up my own personal CA. It&apos;s really easy to use. I created a CA for phekda.org. I also created a &quot;bad&quot; CA for testing that my postfix box would only accept certificates issued for phekda.org.&lt;/p&gt;

&lt;p&gt;Here&apos;s what I generated in total:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CA cert for phekda.org&lt;/li&gt;
&lt;li&gt;Server cert for mail.phekda.org, signed by CA phekda.org&lt;/li&gt;
&lt;li&gt;Client cert for my desktop machine, signed by CA phekda.org&lt;/li&gt;
&lt;li&gt;CA cert for bad.ca&lt;/li&gt;
&lt;li&gt;Client cert for my desktop machine, signed by CA bad.ca (for testing)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; You can generate password-free keys with TinyCA2. To do this you create the key as normal, specifying the password. When you export the key into a PEM file, you can choose to export without the password.&lt;/p&gt;

&lt;h4&gt;Server-side postfix configuration&lt;/h4&gt;

&lt;p&gt;My server is running postfix 2.3.8 on Debian 4.0. The server-side config was split into two halves: general TLS configuration in &lt;tt&gt;main.cf&lt;/tt&gt;, and the config to turn on an SMTP daemon on port 587 with TLS enabled.&lt;/p&gt;

&lt;p&gt;Here&apos;s the config I added to &lt;tt&gt;main.cf&lt;/tt&gt;:&lt;/p&gt;

&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;smtpd_tls_req_ccert = yes
smtpd_tls_session_cache_database = sdbm:/etc/postfix/smtpd_scache

smtpd_tls_CAfile = /etc/postfix/CAcert.pem
smtpd_tls_cert_file = /etc/postfix/server-cert.pem
smtpd_tls_key_file = /etc/postfix/server-key.pem

# Log TLS info, in logs and headers.
smtpd_tls_loglevel = 2
smtpd_tls_receivedheader = yes&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;Note that these entries in &lt;tt&gt;main.cf&lt;/tt&gt; don&apos;t actually enable TLS. &lt;tt&gt;smtpd_tls_req_ccert&lt;/tt&gt; requires SMTP clients to use STARTTLS, when TLS is enabled. The &lt;tt&gt;smtpd_tls_*file&lt;/tt&gt; entries set up everything that&apos;s needed on the server-side for TLS encryption. I turned on the last couple of options for debugging purposes.&lt;/p&gt;

&lt;p&gt;Here&apos;s the line I added to &lt;tt&gt;master.cf&lt;/tt&gt;, split over multiple lines for clarity. You won&apos;t need the backslashes, when you recombine them into one line.&lt;/p&gt;

&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;587       inet  n       -       n       -       -       smtpd \
-o smtpd_enforce_tls=yes \
-o smtpd_tls_req_ccert=yes \
-o smtpd_recipient_restrictions= \
  permit_mynetworks, \
  permit_tls_all_clientcerts, \
  reject_unauth_destination&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;smtpd_recipient_restrictions&lt;/tt&gt; allows clients with authenticated certificates to relay, in addition to local users. Although I&apos;m not sure why a local user would relay through port 587.&lt;/p&gt;

&lt;h4&gt;Server-side testing&lt;/h4&gt;

&lt;p&gt;I tested this using OpenSSL&apos;s s_client, to set up a client SMTP session using the client certificates I generated with TinyCA2. You fire up &lt;tt&gt;openssl s_client&lt;/tt&gt; with appropriate options, then enter SMTP commands as normal, e.g.:&lt;/p&gt;

&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;ehlo fred
mail from:&amp;lt;me@my.domain.example&amp;gt;
rcpt to:&amp;lt;someone@somewhere.else.example&amp;gt;
data
Subject: just a test

.&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;You need to go all the way, to check that the message can actually be delivered.&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;&lt;p&gt;Connection should be accepted, because the client is using a certificate issued by the CA for phekda.org:&lt;br&gt;
&lt;pre&gt;openssl s_client -connect mail.phekda.org:587 -starttls smtp \
  -CAfile phekda.org-cacert.pem \
  -key katrina.phekda.gotadsl.co.uk-key.pem \
  -cert katrina.phekda.gotadsl.co.uk-cert.pem&lt;/pre&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Connection should not be accepted, because the client is using a certificate not issued by the CA for phekda.org:&lt;br&gt;
&lt;pre&gt;openssl s_client -connect mail.phekda.org:587 -starttls smtp \
  -CAfile phekda.org-cacert.pem \
  -key mail.bad.ca-key.pem \
  -cert mail.bad.ca-cert.pem&lt;/pre&gt;&lt;br&gt;
And a slight variation:&lt;br&gt;
&lt;pre&gt;openssl s_client -connect mail.phekda.org:587 -starttls smtp \
  -CAfile bad.ca-cacert.pem \
  -key mail.bad.ca-key.pem \
  -cert mail.bad.ca-cert.pem&lt;/pre&gt;&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; One thing to beware of is that &lt;a href=&quot;http://tumbleweed.org.za/2007/07/17/s_clients-r-feature/&quot; rel=&quot;nofollow&quot;&gt;OpenSSL will do a TLS renegotiation if you use &quot;RCPT TO&quot;&lt;/a&gt;, so use &quot;rcpt to&quot; instead.&lt;/p&gt;

&lt;h4&gt;Client-side postfix configuration&lt;/h4&gt;

&lt;p&gt;I have several e-mail accounts. I want to keep sending from my old domain &lt;tt&gt;@phekda.gotadsl.co.uk&lt;/tt&gt;, but I also want to be able to send from &lt;tt&gt;@phekda.org&lt;/tt&gt;. These messages would be sent via the same postfix server running on my desktop machine.&lt;/p&gt;

&lt;p&gt;Before making the changes, all my mail was smart-hosted through my ISP&apos;s mail server -- i.e.: all my mail went through my ISP&apos;s mail server. Afterwards, my &lt;tt&gt;@phekda.org&lt;/tt&gt; was routed over TLS to &lt;tt&gt;mail.phekda.org&lt;/tt&gt; on port 587, and the rest of the mail was smart-hosted.&lt;/p&gt;

&lt;p&gt;To achieve what I wanted, I set up sender-based routing (SBR). Normally mail is routed by recipient address -- SBR overrides the recipient-based routing. Configuring sender-based routing was the hardest part to achieve, because postfix&apos;s documentation of SBR and its &lt;tt&gt;&lt;a href=&quot;http://www.postfix.org/postconf.5.html#sender_dependent_relayhost_maps&quot; rel=&quot;nofollow&quot;&gt;sender_dependent_relayhost_maps&lt;/a&gt;&lt;/tt&gt; configuration format is a little, uh, &lt;a href=&quot;http://www.postfix.org/transport.5.html&quot; rel=&quot;nofollow&quot;&gt;brief&lt;/a&gt;. Fortunately the postfix source code is readable, and I figured it out from that.&lt;/p&gt;

&lt;p&gt;My desktop box is running postfix 2.4.3 on Fedora 7. The client-side postfix config is split into three parts: routing and TLS configuration in &lt;tt&gt;main.cf&lt;/tt&gt;; sender-based routing (SBR) map file, &lt;tt&gt;sender_dependent_relayhost&lt;/tt&gt;; TLS policy map file, &lt;tt&gt;smtp_tls_policy&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Firstly, here&apos;s the configuration in &lt;tt&gt;main.cf&lt;/tt&gt;:&lt;/p&gt;

&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;# Smart-host via Nildram...
relayhost = [smtp.gotadsl.co.uk]

# ...except for certain senders, who we relay through other boxes.
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_dependent_relayhost

# TLS configuration for sending mail to phekda.org
smtp_tls_CAfile = /etc/postfix/CAcert.pem
smtp_tls_cert_file = /etc/postfix/client-cert.pem
smtp_tls_key_file = /etc/postfix/client-key.pem

smtp_tls_loglevel = 1

smtp_tls_policy_maps = hash:/etc/postfix/smtp_tls_policy&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;Here is &lt;tt&gt;/etc/postfix/sender_dependent_relayhost_maps&lt;/tt&gt;:&lt;/p&gt;

&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;#
# Regenerate using:
#   postmap hash:sender_dependent_relayhost &amp;lt; sender_dependent_relayhost
#

# phekda.org sender should be submitted to mail.phekda.org.
@phekda.org	[mail.phekda.org]:587&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;It wasn&apos;t clear how I could configure all &lt;tt&gt;phekda.org&lt;/tt&gt; subdomains to be routed in the same way. It looks like I would have to specify them all manually. Any domains not configured in this file are routed using the normal mechanisms, which in this case ends up being the smarthost specified by &lt;tt&gt;relayhost&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Here is &lt;tt&gt;/etc/postfix/smtp_tls_policy&lt;/tt&gt;:&lt;/p&gt;

&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;#
# Regenerate using:
#   postmap hash:smtp_tls_policy &amp;lt; smtp_tls_policy
#

phekda.org	secure
[mail.phekda.org]:587	secure&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;These configuration files need building into &lt;tt&gt;.db&lt;/tt&gt; files before postfix can use them -- this is done using &lt;tt&gt;postmap&lt;/tt&gt;. I wrote a simple Makefile to automate that.&lt;/p&gt;

&lt;h4&gt;Client-side testing&lt;/h4&gt;

&lt;p&gt;I tested sending to my gmail account using &lt;tt&gt;@phekda.gotadsl.co.uk&lt;/tt&gt; and &lt;tt&gt;@phekda.org&lt;/tt&gt; addresses. I did this using plain ol&apos; telnet. From the postfix log in &lt;tt&gt;/var/log/maillog&lt;/tt&gt;, I could see where the messages were being routed to. E.g.:&lt;/p&gt;

&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;Sep  1 20:30:38 katrina postfix/smtp[27281]: 3225BD: to=&amp;lt;richdawe@gmail.com&amp;gt;,
relay=smtp.gotadsl.co.uk[195.112.4.54]:25, delay=8.6, delays=8.2/0.19/0.11/0.09,
dsn=2.0.0, status=sent (250 Ok: queued as 3501A2BAE63)

Sep  1 20:51:31 katrina postfix/smtp[27374]: 9E258D: to=&amp;lt;richdawe@gmail.com&amp;gt;,
relay=mail.phekda.org[80.68.89.241]:587, delay=25, delays=24/0.13/1.1/0.15,
dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 0E501803B)&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;

&lt;p&gt;It was easy to see when the config was broken.&lt;/p&gt;</description>
  <comments>http://richdawe.livejournal.com/1413.html</comments>
  <category>tinyca</category>
  <category>mail</category>
  <category>postfix</category>
  <lj:mood>geeky</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://richdawe.livejournal.com/1090.html</guid>
  <pubDate>Fri, 20 Jul 2007 11:44:29 GMT</pubDate>
  <title>Perl and DTrace</title>
  <link>http://richdawe.livejournal.com/1090.html</link>
  <description>I finally got DTrace working on Perl, as described in &lt;a href=&quot;http://blogs.sun.com/alanbur/entry/dtrace_and_perl&quot; rel=&quot;nofollow&quot;&gt;Alan Burlison&apos;s blog post on how to DTrace Perl&lt;/a&gt;. I have &lt;a href=&quot;http://rich.phekda.org/perl-dtrace/&quot; rel=&quot;nofollow&quot;&gt;a patch to add DTrace support to Perl&lt;/a&gt;, which includes some instructions and example scripts.&lt;br /&gt;&lt;br /&gt;I&apos;m giving a talk on DTrace and Perl next Wednesday evening at &lt;a href=&quot;http://birmingham.pm.org/&quot; rel=&quot;nofollow&quot;&gt;Birmingham Perl Mongers&lt;/a&gt;.</description>
  <comments>http://richdawe.livejournal.com/1090.html</comments>
  <category>perl</category>
  <category>dtrace</category>
  <lj:mood>most triumphant</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
</channel>
</rss>
