<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>Is This Thing On?</title>
    <description>Nick Moore's Blog</description>
    <link>http://<!--#echo var="HTTP_HOST"-->/</link>

<item><title>Nick Moore</title><description>I’m a  freelance 
Software Consultant, mostly working with
 Open Source  technologies and
web services.  A lot of my work these days is in business analysis: working out what
the problem actually is, as opposed to what it seems to be.  I prefer to code in
 Python ,
but also work in Perl, C/C#/Objective-C, SQL and (for my sins)
 JavaScript . [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/_about.html</link>            <guid>art/_about.html</guid><pubDate>Thu, 01 Mar 2012 22:10:42 </pubDate></item>

<item><title>Taming "cache.manifest" Caching</title><description>HTML5 apps can use  Cache Manifests 
to configure the browser's Application Cache, allowing faster startup of HTML5 apps and
also offline operation. There is a problem, however.  The behaviour of cache manifests can make development  a smidge tricky  .
This is because the browser will only check if the contents of the Application Cache have changed if the
Cache Manifest has changed.  You can manually edit this file every time, but you'd probably rather not. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/html5/taming-cache-manifest-caching.html</link>            <guid>art/html5/taming-cache-manifest-caching.html</guid><pubDate>Thu, 16 Feb 2012 15:49:29 </pubDate></item>

<item><title>GCC 4.6 linker switches</title><description>An odd little one: I was compiling some older code on gcc 4.6 / Ubuntu 11.10 and it
failed to make, with the traditional error: 
undefined reference to `sqrt'
 My Makefile was trying to do something like this: 
gcc -c -o eg.o eg.c
gcc -lm -o eg eg.o
 ... [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/etc/gcc-linker-libs.html</link>            <guid>art/etc/gcc-linker-libs.html</guid><pubDate>Thu, 16 Feb 2012 09:49:54 </pubDate></item>

<item><title>Security Theatre Stamp</title><description>As seen on a popular "deals" website: Ad for ID Shield Block Stamp Sure, this is going to obscure some of your information for a human viewer, but stamping
soluble ink over fused laser toner is never going to prevent a determined reader.  And
unlike "tiresome shredding", where the fragments are mixed, the documents are still whole
and an attacker can easily select which documents to recover ...</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/security/id-stamp.html</link>            <guid>art/security/id-stamp.html</guid><pubDate>Wed, 15 Feb 2012 12:10:05 </pubDate></item>

<item><title>Making "data" URLs</title><description>data URLs  ( RFC2397 ) allow you to embed small images and such right into your HTML or CSS and
thus avoid the  overhead of an HTTP request  just for one tiny 16x16 icon.
I think these are a more elegant solution for small icons than  CSS Sprites ,
because they localize the icons right there in the stylesheet. There are lots of "online tools" out there, but the process is actually trivial: a data URL is
just a base64 encoding of the file with a label and a mime-type tacked on the front. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/etc/make-data-url.html</link>            <guid>art/etc/make-data-url.html</guid><pubDate>Mon, 01 Aug 2011 07:24:00 </pubDate></item>

<item><title>Blogart</title><description>These pages are static HTML generated by a bundle of scripts and hacks which I call
"blogart", pronounced to rhyme with  Boggart . Well, the thing is, I used to host this domain on  wordpress.com ,
and while they were actually pretty good, I found the whole experience of trying to
write something sensible into that itty-bitty in-browser editor incredibly frustrating,
to the point where if I had anything sensible to write I generally didn't. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/blogart/</link>            <guid>art/blogart/index.html</guid><pubDate>Mon, 01 Aug 2011 07:24:00 </pubDate></item>

<item><title>Fibonacci Regex Perversity</title><description>Consider these two regex substitutions: 
s/fi?b/i/
s/fii(i*)b/f$1bfi$1b/
 (For those unfamiliar with  Perlish regexes :
that first one says “replace the string  fb  or  fib  with the string  i ”.
The second one says “replace a string  fiiXb  with  fXbfiXb , where X is zero or more  i  s.”) We can repeatedly apply these rules to a string until the string stops changing. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/Languages/regex.html</link>            <guid>subst1</guid><pubDate>Wed, 22 Jun 2011 06:33:26 </pubDate></item>

<item><title>Comments On More Trickiness With SSH</title><description>More Trickiness With SSH  is my only blog post which has ever received useful
comments, so I'd hate to lose them while converting files.  Hopefully these comments
aren't too mangled in transit.  Thanks to the original authors: Here is a script that automates the whole process, eliminating the need to touch config
files. I wrote it today impulsed by the amazingness felt when i knew you could do L2 tunnels
with ssh %P. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/etc/ssh_tricks/comments.html</link>            <guid>art/etc/ssh_tricks/comments.html</guid><pubDate>Sun, 15 May 2011 23:34:06 </pubDate></item>

<item><title>Functional Parallel Programming</title><description>Guy Steele’s recent talk
 [VID] 
 [PDF] 
 [PAPER] 
on “Organizing Functional Code for Parallel Execution”
 came up a while ago on reddit 
and I found it very interesting. I haven’t had a lot to do with functional programming in my career, but I’m kind of perpetually hovering on the
fringes of learning more and I find myself attracted to the functional way within imperative languages such as Perl and Python. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/Languages/parallel.html</link>            <guid>art/Languages/parallel.html</guid><pubDate>Sun, 15 May 2011 09:03:36 </pubDate></item>

<item><title>Some thoughts on AWS</title><description>There have been a lot of very interesting articles posted recently about the
cause and effects of the April 2011 AWS outages.  This article is an attempt
to tie some of them together. According to Amazon, the outage was caused by: [... H] igh error rates and latencies for EBS calls to these APIs across the
entire US East Region. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/aws/</link>            <guid>art/aws/index.html</guid><pubDate>Wed, 04 May 2011 12:15:45 </pubDate></item>

<item><title>Python in the Browser</title><description>Netscape shipped  the first Javascript interpreter in 1995 
and its position in the web browser has made it almost universal.
But imagine, for the sake of the argument, if Python had got there first. The timing would have been close, with
 Python 1.2 out in 1995  too.
And there's a lot of similarity between the languages: dynamic typing,
first-class functions, eval() (and somewhat bizarre treatment of whitespace)
... [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/python/browser/</link>            <guid>art/python/browser/index.html</guid><pubDate>Sun, 01 May 2011 00:07:16 </pubDate></item>

<item><title>Virtual Localization</title><description>Virtual Localization is a technique for Mesh Network routing. It tries to
make it easy to route packets across the mesh by assigning each node a
“Virtual Location”, which can then be used for Greedy Forwarding. It is a
fully distributed algorithm … no one node holds the whole map of the
network, the map is spread across all nodes with each node having a small
map of its immediate surroundings. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/virtloc/</link>            <guid>art/virtloc/index.html</guid><pubDate>Sat, 30 Apr 2011 17:30:12 </pubDate></item>

<item><title>VRML: Very Odd.</title><description>So the VRML rendering thing isn’t panning out so well. “Making the simple
things simple by making the difficult things impossible”. We’re talking, here, about a language which has a clock, but no way to
display the time. You can display strings on billboards, and the billboards
even point at the camera most of the time. But you can’t cast the float time
to a displayable string, without calling out to Javascript anyway, and I
never could get that to work the same way twice. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/virtloc/vrml.html</link>            <guid>art/virtloc/vrml.html</guid><pubDate>Sat, 30 Apr 2011 17:24:43 </pubDate></item>

<item><title>More Trickiness With SSH</title><description>I saw an article on reddit about  SSH trickery .
SSH is a very subversive protocol, able to work around many kinds of unwise security
policies. Here’s a couple more useful things to know. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/etc/ssh_tricks/</link>            <guid>art/etc/ssh_tricks/index.html</guid><pubDate>Fri, 29 Apr 2011 16:53:09 </pubDate></item>

<item><title>Publications</title><description>N. Moore. “RFC 4429: Optimistic Duplicate Address Detection”, IETF Proposed Standard, April 2006. 
 N. Moore, JH. Choi, B. Pentland, “Edge Handovers for Mobile IPv6”, IETF Internet Draft draft-moore-mobopts-edge-handovers-01.txt, July 2004. 
 N. Moore, JH. Choi, B. Pentland, “Tunnel Buffering for Mobile IPv6”, IETF Internet Draft draft-moore-mobopts-tunnel-buffering-00.txt, July 2004. 
 N. Moore, Y. A. Şekercioğlu and Gregory K. Egan. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/_pubs.html</link>            <guid>art/_pubs.html</guid><pubDate>Fri, 29 Apr 2011 00:18:16 </pubDate></item>

<item><title>Quick guide to setting up TortoiseCVS / TortoiseSVN</title><description>TortoiseCVS  and
 TortoiseSVN  are nifty tools for using
 CVS  and
 Subversion  from
 Windows .
From time to time I have to deal with The Beast Of Redmond
in its various forms, and this makes it a lot easier ... Throughout, this example will refer to  repohost , meaning the machine you’ve got the repository on. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/etc/tortoise_svn.html</link>            <guid>art/etc/tortoise_svn.html</guid><pubDate>Thu, 28 Apr 2011 22:05:19 </pubDate></item>

<item><title>(sort of) First Class Classes in C#</title><description>I find myself writing some C# code while still thinking in Python. One thing in
particular caught me out … it seems, at first, that C# doesn’t have first class
classes. This is annoying, because I’d started writing some device driver
classes where each class is a type of device, and instances represent the
individual devices themselves. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/csharp/firstclassclasses/</link>            <guid>art/csharp/firstclassclasses/index.html</guid><pubDate>Thu, 28 Apr 2011 19:03:12 </pubDate></item>

<item><title>Multiple Inequalities in Google AppEngine</title><description>So I’m playing around with Google AppEngine (still!) trying to put together
some kind of sensible use for it. AppEngine is neat-O, but it is also quite
limited in what it can and can’t do. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/python/multiple_inequalities/</link>            <guid>art/python/multiple_inequalities/index.html</guid><pubDate>Thu, 28 Apr 2011 17:52:20 </pubDate></item>

<item><title>wget –certificate=$X –private-key=$X</title><description>wget 1.10.2 seems to silently fail to use an SSL client certificate unless
you specify both –certificate and –private-key: 
wget --certificate=$PEMFILE --private-key=$PEMFILE
 Even though both things are in the same .PEM file.  It does read and check
the PEM file if you specify only the former, it just doesn’t use it.
I mention this only as a humble gift to the panopticon: may you spend less time
gnashing your teeth than I just have as a result ... [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/etc/wget_certificate_private_key.html</link>            <guid>art/etc/wget_certificate_private_key.html</guid><pubDate>Thu, 28 Apr 2011 17:41:38 </pubDate></item>

<item><title>Templates Fugit</title><description>Ever since I started working on Internet Stuff, I've been wrestling with
crazy Template Languages.  This article is an attempt to compare some of the
more common template languages out there. I've consolidated this from a
series of blog articles I wrote back in 2009.  As a result, some of it may
be a little disjointed and/or outdated. Like most of its ilk, TT2 doesn’t want to interpret its template language from
within the already interpreted Perl … that’d be silly. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/templates/fugit/</link>            <guid>art/templates/fugit/index.html</guid><pubDate>Thu, 28 Apr 2011 17:41:38 </pubDate></item>

<item><title>FreeTDS without udp 1434</title><description>Just a quick note for anyone trying to do FreeTDS through a tunnel or
a firewall pinhole or whatever: If you specify an Instance name,
FreeTDS goes and probes UDP 1434 to determine the port number for
that instance, even if you also explicitly specify the TCP port number
you want it to use. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/etc/FreeTDS/</link>            <guid>art/etc/FreeTDS/index.html</guid><pubDate>Thu, 28 Apr 2011 17:41:38 </pubDate></item>

<item><title>Hyperterminal “send text file” eats ASCII LF / 0x0A</title><description>I stumbled across this problem because I was reading a protocol
document for a device connected by RS-232. The document described
what bytes to put in a text file, and how to use Hyperterminal’s
“send text file” to send them. That all worked great. But as soon
as I tried to get it working in C#, nothing nada zip. Unfortunately,
“Line Feed” (ASCII LF, 0x0A) was one of those bytes. This problem is mostly suffered by people trying to use Hyperterminal
to send files to, eg: a microcontroller. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/etc/hyperterminal_eats_ascii_lf_0x0a/</link>            <guid>art/etc/hyperterminal_eats_ascii_lf_0x0a/index.html</guid><pubDate>Thu, 28 Apr 2011 17:41:38 </pubDate></item>

<item><title>SyntaxError: keyword argument repeated</title><description> [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/python/syntax_error_keyword_argument_repeated/</link>            <guid>art/python/syntax_error_keyword_argument_repeated/index.html</guid><pubDate>Thu, 28 Apr 2011 17:41:38 </pubDate></item>

<item><title>Apple Magic Trackpad for Ubuntu Linux 10.10 Maverick</title><description>Well, I’ve decided to declare 2011 the year of finally getting my ergonomics
sorted out, and to that end I went and splashed out on a  Kinesis Freestyle
split keyboard ,
and an  Apple Magic Trackpad . More on the keyboard later, this
post is all about the Magic Trackpad. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/apple/magic_trackpad.html</link>            <guid>art/apple/magic_trackpad.html</guid><pubDate>Thu, 28 Apr 2011 17:41:38 </pubDate></item>

<item><title>iPhone / iTunes / Windows XP / VirtualBox / Ubuntu 9.10</title><description>Finally got this to work properly. The biggest trap is that when it restores /
upgrades / whatever, it changes its USB ID, so don’t filter just on what it is
when its working, or it will get stuck in recovery mode. [...]</description>            <link>http://<!--#echo var="HTTP_HOST"-->/art/apple/itunes-virtualbox.html</link>            <guid>art/apple/itunes-virtualbox.html</guid><pubDate>Thu, 28 Apr 2011 17:41:38 </pubDate></item>

</channel></rss>


