<?xml version="1.0" encoding="utf-8"?>

<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<title type="text">Tim Retout's blog</title>
<subtitle type="html"><![CDATA[

]]></subtitle>
<id>http://retout.co.uk/blog/index.atom</id>
<link rel="alternate" type="text/html" href="http://retout.co.uk/" />
<link rel="self" type="application/atom+xml" href="http://retout.co.uk/blog/index.atom" />


<author>
<name>Tim Retout</name>
<uri>http://retout.co.uk/blog/index.atom</uri>
<email>tim@retout.co.uk</email>
</author>
<rights>Copyright (C) 2007-2011 Tim Retout</rights>
<generator uri="http://pyblosxom.sourceforge.net/" version="1.4.2 8/16/2007">
PyBlosxom http://pyblosxom.sourceforge.net/ 1.4.2 8/16/2007
</generator>

<updated>2012-05-08T19:52:00Z</updated>
<!-- icon?  logo?  -->

<entry>
<title type="html">Engaged!</title>
<category term="life"/>
<id>http://retout.co.uk/blog/2012/05/08/engaged</id>
<updated>2012-05-08T19:52:00Z</updated>
<published>2012-05-08T19:52:00Z</published>
<link rel="alternate" type="text/html" href="http://retout.co.uk/blog/2012/05/08/engaged" />
<content type="html">&lt;p&gt;Following on from the &lt;a href=&quot;/blog/2012/04/11/weekend_of_change&quot;&gt;weekend of change&lt;/a&gt;, I&apos;ve got engaged to Kate. :)&lt;/p&gt;

&lt;p&gt;We now need to organise a combined housewarming/engagement party...&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">Weekend of change</title>
<category term="work"/>
<id>http://retout.co.uk/blog/2012/04/11/weekend_of_change</id>
<updated>2012-04-11T21:27:00Z</updated>
<published>2012-04-11T21:27:00Z</published>
<link rel="alternate" type="text/html" href="http://retout.co.uk/blog/2012/04/11/weekend_of_change" />
<content type="html">
&lt;blockquote cite=&quot;http://agilemanifesto.org/principles.html&quot;&gt;
&lt;p&gt;Agile processes harness change for the customer&apos;s competitive advantage.&lt;/p&gt;
&lt;small&gt;Principles behind the Agile Manifesto&lt;/small&gt;
&lt;/blockquote&gt;

&lt;p&gt;
After two and a half years at &lt;a
href=&quot;http://smoothwall.net/&quot;&gt;Smoothwall&lt;/a&gt;, I&apos;m moving on - Friday
is my last day.  Since I joined the development team, we have adopted
Agile development, set up a pretty nifty Gerrit/Jenkins code review +
integration system, and introduced dpkg for package management.  Along
the way, I helped with a bunch of important features for the business,
like a ground-up rewrite of the web filter, and time-based browsing
usage quotas.
&lt;/p&gt;

&lt;p&gt;
I will be starting at &lt;a
href=&quot;http://www.cv-library.co.uk/&quot;&gt;CV-Library&lt;/a&gt; on Monday, for a
whole new set of challenges.  They&apos;re based in Fleet, so I&apos;ll have an
hour-long commute each way on the train.
&lt;/p&gt;

&lt;p&gt;
I&apos;ve been assured by an expert in these matters that facilitating wage
slavery is a comparatively more ethical pursuit than facilitating
internet censorship. :)
&lt;/p&gt;

&lt;p&gt;
To make the commute somewhat more bearable, I&apos;m moving house on
Saturday.  So far, the packing&apos;s going quite well...
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">Bye, Mark.</title>
<category term="facebook"/><category term="privacy"/>
<id>http://retout.co.uk/blog/2012/04/08/bye_mark</id>
<updated>2012-04-08T15:09:00Z</updated>
<published>2012-04-08T15:09:00Z</published>
<link rel="alternate" type="text/html" href="http://retout.co.uk/blog/2012/04/08/bye_mark" />
<content type="html">
&lt;p&gt;I&apos;ve finally got around to deleting my Facebook account.&lt;/p&gt;

&lt;p&gt;I&apos;d love to claim that this was a grand gesture against
privacy-invading apps, or a bid to recoup vast amounts of my spare
time... but it&apos;s not, really.  I rarely logged in to the site, these
days, so Facebook has very little of my personal data.&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">2012-02-09: Thursday</title>
<category term="libreoffice"/><category term="make"/>
<id>http://retout.co.uk/blog/2012/02/09/2012-02-09</id>
<updated>2012-02-09T22:57:00Z</updated>
<published>2012-02-09T22:57:00Z</published>
<link rel="alternate" type="text/html" href="http://retout.co.uk/blog/2012/02/09/2012-02-09" />
<content type="html">&lt;ul&gt;
&lt;li&gt;Michael Meeks gave awesome talks at FOSDEM, so Kate was inspired
to hack on LibreOffice.  I was inspired to write this blog entry in a
list.  She probably wins.&lt;/li&gt;
&lt;li&gt;Building LibreOffice master on Debian stable failed for her with a
segmentation fault in GNU Make. A bit of searching threw up &lt;a
href=&quot;http://savannah.gnu.org/bugs/?20033&quot;&gt;Savannah bug #20033&lt;/a&gt;,
which is hitting everyone on the upstream mailing list.&lt;/li&gt;
&lt;li&gt;Bumped severity and offered to NMU &lt;a
href=&quot;http://bugs.debian.org/622644&quot;&gt;Debian bug #622644&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Then actually tried building make-dfsg in cowbuilder, and aclocal
fails in the clean environment because /usr/share/aclocal does not
exist. I think it&apos;s related to &lt;a
href=&quot;http://bugs.debian.org/565663&quot;&gt;Debian bug #565663&lt;/a&gt;, but I&apos;m
still poking it.&lt;/li&gt;
&lt;/ul&gt;
</content>
</entry>

<entry>
<title type="html">Lenovo X121e 3G with ModemManager</title>
<category term="lenovo"/><category term="thinkpad"/><category term="3g"/>
<id>http://retout.co.uk/blog/2012/01/24/lenovo_x121e_3g_with_modemmanager</id>
<updated>2012-01-24T22:07:00Z</updated>
<published>2012-01-24T22:07:00Z</published>
<link rel="alternate" type="text/html" href="http://retout.co.uk/blog/2012/01/24/lenovo_x121e_3g_with_modemmanager" />
<content type="html">
&lt;p&gt;
Recently, I tried to get 3G working on my Lenovo ThinkPad X121e - it
has an Ericsson F5521gw mobile broadband card.  This is supported by
ModemManager, but all I got were unknown errors (276 and 272).
&lt;/p&gt;

&lt;p&gt;
Searching online, there were very few results (hence this short note)
- just previous unrelated Linux kernel issues.  I found someone with
&lt;a href=&quot;http://forums.fedoraforum.org/archive/index.php/t-269166.html&quot;&gt;the
same problem on Fedora&lt;/a&gt;, but no solution, so I started off by
filing a &lt;a href=&quot;http://bugs.debian.org/656373&quot;&gt;bug report with
Debian&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Of course, then I found the Arch user who had filed &lt;a
href=&quot;https://bugs.launchpad.net/modemmanager/+bug/894124&quot;&gt;the same
bug on Launchpad&lt;/a&gt;, and had discovered that resetting the BIOS to
its default settings fixes the issue.  If only that page mentioned the
keywords &quot;Ericsson&quot;, or &quot;Lenovo&quot;...
&lt;/p&gt;

&lt;p&gt;
So after all that, it was just some weird BIOS issue.  I hate hardware.
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">Perl tutorial searches revisited</title>
<category term="perl"/><category term="tutorial"/>
<id>http://retout.co.uk/blog/2012/01/19/perl-tutorial-searches-revisited</id>
<updated>2012-01-19T23:32:00Z</updated>
<published>2012-01-19T23:32:00Z</published>
<link rel="alternate" type="text/html" href="http://retout.co.uk/blog/2012/01/19/perl-tutorial-searches-revisited" />
<content type="html">
&lt;p&gt;So since &lt;a href=&quot;/blog/2012/01/09/perl-tutorial&quot;&gt;my last post
about perl tutorials&lt;/a&gt;, the &lt;a href=&quot;http://perl-tutorial.org/&quot;&gt;Perl
Tutorial Hub&lt;/a&gt; has leaped from page 2 to be the top result for &lt;a
href=&quot;http://www.google.com/search?q=perl+tutorial&quot;&gt;the relevant
Google search&lt;/a&gt;. The Leeds tutorial has dropped off the first
page.&lt;/p&gt;

&lt;p&gt;I couldn&apos;t figure out how such a dramatic reversal could have
happened, until I asked Mithaldu on IRC; the admins of the old Leeds
tutorial have added a (delayed) redirect. So, Google has interpreted
that as a 302 status, and given perl-tutorial.org all the old inbound
links, presumably.&lt;/p&gt;

&lt;p&gt;Perhaps there is hope for Perl yet. :)&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">Perl Tutorial</title>
<category term="perl"/><category term="tutorial"/>
<id>http://retout.co.uk/blog/2012/01/09/perl-tutorial</id>
<updated>2012-01-09T20:41:00Z</updated>
<published>2012-01-09T20:41:00Z</published>
<link rel="alternate" type="text/html" href="http://retout.co.uk/blog/2012/01/09/perl-tutorial" />
<content type="html">&lt;p&gt;&lt;a href=&quot;http://search.cpan.org/dist/Perl-Tutorial/lib/Perl/Tutorial/HelloWorld.pod&quot;&gt;Hello, World!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Last year, &lt;a
href=&quot;http://blogs.perl.org/users/mithaldu/2011/10/perl-tutorials-suck-and-cause-serious-damage.html&quot;&gt;a
bit of a fuss&lt;/a&gt; was kicked up in the Perl community about the low
quality of search results for the phrase &quot;Perl tutorial&quot;.  Various
ideas for fixing this were proposed, including the handy &lt;a
href=&quot;http://perl-tutorial.org/&quot;&gt;Perl tutorial hub&lt;/a&gt;, but kicking
Leeds University off the coveted top spot is going to be a real
challenge.&lt;/p&gt;

&lt;p&gt;The problem is, most Perl tutorials on the internet were written
for Perl 4; modern Perl doesn&apos;t get a look-in.  It&apos;s a miracle anyone
manages to learn Perl at all...&lt;/p&gt;

&lt;p&gt;While thinking over this problem, I was reading Mithaldu&apos;s original
criteria for the &quot;content creation&quot; option.  &quot;Community
effort&quot;... &quot;github repo&quot;... &quot;exported to HTML regularly&quot;... if only Perl
had some central site where you can publish documentation... that all
Perl hackers can access and update... like CPAN.&lt;/p&gt;

&lt;p&gt;So although my documentation-writing skills are pretty weak, I
proudly introduce &lt;a
href=&quot;http://search.cpan.org/dist/Perl-Tutorial/&quot;&gt;the Perl-Tutorial
CPAN dist&lt;/a&gt; and &lt;a
href=&quot;https://github.com/copperly/Perl-Tutorial&quot;&gt;github
repository&lt;/a&gt;.  The great thing about writing Perl documentation
using POD is that you can link to other CPAN references so easily - as
the basics get filled out, they can guide the user towards how to
learn more about each topic.  Everyone who&apos;s anyone knows how to send
a pull request on github, and there seems to be far more of a
community feel to CPAN these days.&lt;/p&gt;

&lt;p&gt;Version 0.001 is just &quot;Hello, World!&quot; - but watch this space. :)&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">SFTP default umask</title>
<category term="debian"/><category term="sftp"/><category term="umask"/>
<id>http://retout.co.uk/blog/2011/12/10/sftp_default_umask</id>
<updated>2011-12-10T20:47:00Z</updated>
<published>2011-12-10T20:47:00Z</published>
<link rel="alternate" type="text/html" href="http://retout.co.uk/blog/2011/12/10/sftp_default_umask" />
<content type="html">
&lt;p&gt;So I was about to configure an FTP server to let a friend upload content for
a website... and then I came to my senses and remembered sftp exists.  It&apos;s
supported by the same graphical clients, and avoids me having to figure out
SSL certificates and so on.&lt;/p&gt;

&lt;p&gt;Next problem: we want to both edit the site.  Okay, so I create a group,
make it the default group for both users... and now I need to set the umask
to 002 so that all group members can edit all files.  There&apos;s no option in
the client...&lt;/p&gt;

&lt;p&gt;Skimming &lt;a href=&quot;http://bugs.debian.org/496843&quot;&gt;Debian bug #496843&lt;/a&gt;
(closed Apr 2010, thanks Colin Watson!) we can set this in sshd_config these
days - no need to mess about with wrapper scripts.  Very easy:
&lt;pre&gt;
Subsystem sftp /usr/lib/openssh/sftp-server -u 002
&lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;Now all content created through the sftp client is group-writable, and
owned by the default group of each user!  See &apos;man (8) sftp-server&apos;.&lt;/p&gt;

</content>
</entry>

<entry>
<title type="html">BITE server</title>
<category term="google"/><category term="bite"/>
<id>http://retout.co.uk/blog/2011/10/16/bite-server</id>
<updated>2011-10-16T16:54:00Z</updated>
<published>2011-10-16T16:54:00Z</published>
<link rel="alternate" type="text/html" href="http://retout.co.uk/blog/2011/10/16/bite-server" />
<content type="html">
&lt;p&gt;This week, Google released an extension called
&lt;a href=&quot;https://code.google.com/p/bite-project/&quot;&gt;BITE&lt;/a&gt; which lets you
file bug reports from within Chrome (or Chromium).  If you are testing web
applications, it lets you attach screenshots and/or automated tests to
reproduce the bug you&apos;ve found.&lt;/p&gt;

&lt;p&gt;There&apos;s just one small catch: they haven&apos;t released a server to go with
the client.  Oops.  Apparently the internal systems are too tightly
integrated to make that possible.&lt;/p&gt;

&lt;p&gt;I have hacked up enough stubs of &lt;a href=&quot;https://github.com/diocles/bite-server&quot;&gt;a BITE server in Perl&lt;/a&gt; to
get the client to &quot;log in&quot; and show off some features.  (Warning: it doesn&apos;t actually do anything useful yet.)&lt;/p&gt;

&lt;p&gt;So far, I have learnt:
&lt;ul&gt;
&lt;li&gt;To get BITE to point at your dev server, you need to edit bite.options.constants.ServerChannelOption in the file src/options/constants.js (as documented &lt;a href=&quot;https://code.google.com/p/bite-project/wiki/serverhandlers&quot;&gt;on the serverhandlers wiki page&lt;/a&gt;) before compiling it.&lt;/li&gt;
&lt;li&gt;To get a bug template to apply to all URLs, you need to use the string &apos;all&apos; as the URL, which is hardcoded in &apos;templates.js&apos; in the client.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">Apache Request-Range headers</title>
<category term="debian"/><category term="security"/>
<id>http://retout.co.uk/blog/2011/08/31/apache-update</id>
<updated>2011-08-31T17:23:00Z</updated>
<published>2011-08-31T17:23:00Z</published>
<link rel="alternate" type="text/html" href="http://retout.co.uk/blog/2011/08/31/apache-update" />
<content type="html">
&lt;p&gt;Note to self: when disabling Range headers in Apache to fix &lt;a
href=&quot;http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3192&quot;&gt;CVE-2011-3192&lt;/a&gt;,
be sure to read the &lt;a href=&quot;http://lwn.net/Articles/456513/&quot;&gt;updated
advisory&lt;/a&gt; and also disable Request-Range headers. (Presumably not
&quot;Range-Request&quot; as in the summary of that link?)&lt;/p&gt;

&lt;p&gt;Or just apply the handy &lt;a
href=&quot;http://www.debian.org/security/2011/dsa-2298&quot;&gt;Debian update&lt;/a&gt;,
of course.&lt;/p&gt;
</content>
</entry>
</feed>

