<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>growse.com</title>
    <link>http://www.growse.com</link>
    <description>ARGLEGARGLEFARGLE</description>
    <language>en</language>
    <pubDate>Fri, 12 Feb 2010 11:31:43 GMT</pubDate>
    <dc:date>2010-02-12T11:31:43Z</dc:date>
    <dc:language>en</dc:language>
    <item>
      <title>Ironic vandalism</title>
      <link>http://www.growse.com/news/comments/ironic-vandalism/</link>
      <description>&lt;p&gt;Those of you familiar with the London Underground will no doubt be aware of the variety of adverts that you get to enjoy as you are ferried up and down escalators. I never really pay them that much attention, but I spotted an amusing thing this morning. There are a number of posters advertising cosmetic surgery, which in themselves are fairly harmless. However, some people appear to have taken offense to these and have reacted by sticking various labels over the top of these ads saying things like "Don't buy this sexist shit" and "You are beautiful. You don't need this". I always thought it fairly amusing that a group of people should use the medium of impersonal and social pressure to rile against an industry that appears to profit from other people's susceptibility to impersonal and social pressure. I'm not sure if it's genius or stupid.&lt;/p&gt;&#xD;
&lt;p&gt;I was idly thinking if there was some sort of concise yet witty retort that could also be stuck up alongside the original stickers. Something like "Ignore the stickers! Be yourself!" written on a sticker and stuck to a poster would be suitably contradictory. As I was musing this, I noticed on the next poster up the escalator that someone had been thinking along the same lines. Their sticker? "It worked for Michael Jackson". Tasteless? Almost certainly. Funny? Yes.&lt;/p&gt;&#xD;
&lt;p&gt;On a different note, this site is now fully IPv6'd up! Hurrah. I mean fully in the actual literal sense, in that all the DNS responses from the root server downwards contain AAAA records. The IPv6 DNS glue is in place and working marvellously. &lt;/p&gt;</description>
      <pubDate>Fri, 12 Feb 2010 11:31:43 GMT</pubDate>
      <guid>http://www.growse.com/news/comments/ironic-vandalism/</guid>
      <dc:date>2010-02-12T11:31:43Z</dc:date>
    </item>
    <item>
      <title>When things work better than expected.</title>
      <link>http://www.growse.com/news/comments/when-things-work-better-than-expected/</link>
      <description>&lt;p&gt;Since my &lt;a href="http&amp;#58;//www.growse.com/news/comments/spammage-more-of-it-loads-of-it-yay/"&gt;last post&lt;/a&gt;, I&amp;#39;ve been running a slightly experimental spam filter. The idea being to stop most spam before it gets to spamassassin, which is relatively expensive to run &amp;#40;in terms of resources&amp;#41;.&lt;/p&gt;
&lt;p&gt;It&amp;#39;s been far too effective. As can be seen on &lt;a href="/projects/spamwatch/"&gt;SpamWatch&lt;/a&gt;, processed spam has basically dropped to zero. It&amp;#39;s so idle, it&amp;#39;s given up reporting altogether.&lt;/p&gt;
&lt;p&gt;Don&amp;#39;t panic, because I&amp;#39;m currently devising a brand new way of generating pretty graphs out of the vast array of data generated by millions of malware-infested Windows XP desktops which repeatedly attempt to connect to my mailserver in the hope that they might actually put some gibberish in front of my face that may entice me into spending some money on Viagra. I&amp;#39;ve a plan&amp;#33;&lt;/p&gt;</description>
      <pubDate>Mon, 01 Feb 2010 10:46:46 GMT</pubDate>
      <guid>http://www.growse.com/news/comments/when-things-work-better-than-expected/</guid>
      <dc:date>2010-02-01T10:46:46Z</dc:date>
    </item>
    <item>
      <title>Spammage. More of it. Loads of it! Yay!</title>
      <link>http://www.growse.com/news/comments/spammage-more-of-it-loads-of-it-yay/</link>
      <description>&lt;p&gt;For some reason, my ongoing battle against &lt;a href="/projects/spamwatch/"&gt;spam&lt;/a&gt; isn't yet fully won. Whilst the current combination of MTAs, counter-measures and cluster-bombs are effective, there's still a few problems.&lt;/p&gt;&#xD;
&lt;p&gt;Actually, there's one specific problem: I don't have enough resources (specifically, memory) to run my spamassassin bayesian filter any more. I'm getting a mail from cron pretty much every day detailing the times at which spamassassin fell over the previous day, mostly due to running out of room in which to manoeuvre. Yesterday, it fell over 5 times.&lt;/p&gt;&#xD;
&lt;p&gt;I've always been interested in the idea of greytrapping and tarpitting mail. Simply put, this is a fairly simple way of detecting spam that assumes that most spammers don't obey the SMTP RFC standard. The greytrapping bit works by initially rejecting all unrecognised From/To/IP Address tuples with a "Try again later" message. Proper mailservers obey this and when they reconnect a bit later get allowed through. Spamming botnets have an aim to deliver as much mail as fast as possible, so tend to ignore this and not bother reconnecting.&lt;/p&gt;&#xD;
&lt;p&gt;The tarpitting bit takes a blacklist and slows down the connection of any blacklisted IP address, basically only allowing something silly like one byte every hour. The idea of this is to use up the resources of the evil mailserver by holding the connection open as long as possible.&lt;/p&gt;&#xD;
&lt;p&gt;The obvious way to do this is to use &lt;a href="http://www.openbsd.org/spamd/"&gt;spamd&lt;/a&gt; on &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt;. Rather than being an MTA in its own right, this basically sits in front of the MTA and does the above cleverness. It's also meant to be quite efficient, because it doesn't care about the mail body.&lt;/p&gt;&#xD;
&lt;p&gt;Now, I hear you ask, what if the spammer does obey the SMTP RFC and delivers a mail later? Won't they get whitelisted? Well, yes. But this is why spamd on its own isn't a good idea. So I'll be keeping my existing content filtering thingie in place. The nice thing is that the expensive process of looking through the mail content won't happen on every single mail that drops into my mailserver, but only those that get past spamd. This should (in theory) stop it from falling over.&lt;/p&gt;&#xD;
&lt;p&gt;The main problem I have now, is that if I implement this, my &lt;a href="http://www.growse.com/projects/spamwatch/"&gt;spamwatch&lt;/a&gt; stats will go all screwy, because there's no real way to know how many spams that spamd rejects (you can deliver multiple mails over a single SMTP session). I'll keep it going, and hopefully there'll be a huge dropoff in the number of spams rejected by spamassassin, because they'll be caught by the spamd filter. It'll be interesting finding out.&lt;/p&gt;</description>
      <pubDate>Tue, 19 Jan 2010 10:50:36 GMT</pubDate>
      <guid>http://www.growse.com/news/comments/spammage-more-of-it-loads-of-it-yay/</guid>
      <dc:date>2010-01-19T10:50:36Z</dc:date>
    </item>
    <item>
      <title>Down, then up again.</title>
      <link>http://www.growse.com/news/comments/down-then-up-again/</link>
      <description>&lt;p&gt;It&amp;#39;s weird how the new year has brought lots of broken things. My internet broke at home, the bike wouldn&amp;#39;t start this morning, glassfish crashed, the database server ran out of memory, my phone stopped sending texts etc. etc.&lt;/p&gt;
&lt;p&gt;Doom and gloom.&lt;/p&gt;
&lt;p&gt;Anyway, I&amp;#39;ve fixed most of these things by kicking them. For the rest, I&amp;#39;ll plough on with the niggling thought in my mind that somewhere in my small corner of the world, something isn&amp;#39;t working properly.&lt;/p&gt;
&lt;p&gt;At least we&amp;#39;ve not had any earthquakes.&lt;/p&gt;</description>
      <pubDate>Mon, 04 Jan 2010 12:27:14 GMT</pubDate>
      <guid>http://www.growse.com/news/comments/down-then-up-again/</guid>
      <dc:date>2010-01-04T12:27:14Z</dc:date>
    </item>
    <item>
      <title>My life is complete(-ish)</title>
      <link>http://www.growse.com/news/comments/my-life-is-complete-ish/</link>
      <description>&lt;p&gt;&lt;a href="http://tweetphoto.com/6218359"&gt;&lt;img alt="Plinky plonk" src="http://cdn.cloudfiles.mosso.com/c54112/x2_5ee277" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Now, Chopin.&lt;/p&gt; &#xD;
&lt;p&gt;P.S. as the piano mover was hauling it into the room, I mentioned that it was of a particular attachment, given that it was the piano I leant on. He casually mentioned that "his mate, Tim Minchin, had been trying to get him to learn for the past 4 years". Seriously? &lt;a href="http://en.wikipedia.org/wiki/Tim_Minchin"&gt;Tim Minchin&lt;/a&gt;?! Not sure if I was being had on. If I were, it's a fairly obscure joke to make...&lt;/p&gt;</description>
      <pubDate>Fri, 11 Dec 2009 12:54:37 GMT</pubDate>
      <guid>http://www.growse.com/news/comments/my-life-is-complete-ish/</guid>
      <dc:date>2009-12-11T12:54:37Z</dc:date>
    </item>
    <item>
      <title>Perfect timing</title>
      <link>http://www.growse.com/news/comments/perfect-timing/</link>
      <description>&lt;p&gt;Just when I go and rewrite the whole of this site to work on Java and Glassfish, Sun goes and &lt;a href="https&amp;#58;//glassfish.dev.java.net/downloads/v3-final.html"&gt;releases v3&lt;/a&gt;. Oh well.&lt;/p&gt;</description>
      <pubDate>Thu, 10 Dec 2009 23:51:21 GMT</pubDate>
      <guid>http://www.growse.com/news/comments/perfect-timing/</guid>
      <dc:date>2009-12-10T23:51:21Z</dc:date>
    </item>
    <item>
      <title>Gosh, what? Java? Who?</title>
      <link>http://www.growse.com/news/comments/gosh-what-java-who/</link>
      <description>&lt;p&gt;It&amp;#39;s been a while coming, but I&amp;#39;ve finished the Java-version of this site and deployed it onto &lt;a href="https&amp;#58;//glassfish.dev.java.net/"&gt;Glassfish&lt;/a&gt;&amp;#33; Hurrah. So far, it&amp;#39;s different in that it&amp;#39;s better, faster and less broken. It may brake every now and again though, so if that happens, bear with me. It&amp;#39;s rather cunning, because all the messy infrastructure bits &amp;#40;databases, email&amp;#41; are all abstracted away from the code and kept in the app server, so I can deploy the same codebase on as many different environments that I want. &lt;/p&gt;
&lt;p&gt;The &lt;a href="/links/"&gt;links&lt;/a&gt; page is probably the most changed. It now pulls in my &lt;a href="http&amp;#58;//delicious.com/"&gt;Delicious&lt;/a&gt; account. So far, there&amp;#39;s only two links on there, but I&amp;#39;ll add more through time. It&amp;#39;s basically my bookmark list, so it&amp;#39;s probably only useful to me. Still, at least it&amp;#39;s useful to me.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll tinker some more. Maybe I could figure out how to get it to email me when it breaks.&lt;/p&gt;</description>
      <pubDate>Mon, 30 Nov 2009 15:04:34 GMT</pubDate>
      <guid>http://www.growse.com/news/comments/gosh-what-java-who/</guid>
      <dc:date>2009-11-30T15:04:34Z</dc:date>
    </item>
    <item>
      <title>On being surprised at new things that actually work. Yes Microsoft, I'm looking at you.</title>
      <link>http://www.growse.com/news/comments/on-being-surprised-at-new-things-that-actually-work-yes-microsoft-i-m-looking-at-you/</link>
      <description>&lt;p&gt;I&amp;#39;ve mentioned &lt;a href="http&amp;#58;//www.growse.com/projects/feedling/"&gt;Feedling&lt;/a&gt; &lt;a href="http&amp;#58;//www.growse.com/news/comments/hooked-on-sourceforge/"&gt;before&lt;/a&gt;. For those of you who can&amp;#39;t be bothered to click on links or with a broken mouse, Feeling is an RSS reader for windows that quietly sits on the desktop behind everything else.&lt;/p&gt;
&lt;p&gt;Wen I first wrote it, I had a quite clear idea of what I wanted it to look like. I wanted to blend it with the desktop wallpaper - it had to sit behind everything without fussing, and just appear as if it were an interactive part of the desktop. Naturally, this means overlaying text directly on the wallpaper image and this also means transparency. And doing transparency means per-pixel alpha blending. If you know what that means in this context, great. Bear with me.&lt;/p&gt;
&lt;p&gt;Computer display areas are digital affairs - you have a grid of pixels which you can colour anything you want. However, real world shapes &amp;#40;circles, triangles, text&amp;#41; have edges that don&amp;#39;t run on the grid. Therefore, if you want to draw a solid line at an angle to the pixel grid, you need to be smart about how you colour the pixels so that you give the illusion of a straight line and not a jagged one.&lt;/p&gt;
&lt;p&gt;The problem with the winforms library is that it&amp;#39;s not particularly good, mostly because it&amp;#39;s quite old and cannibalized. One thing it really doesn&amp;#39;t allow you to do is to have a transparent form with controls that are properly anti-aliased against everything else. However, I discovered &amp;#40;through &lt;a href="http&amp;#58;//www.codeproject.com/KB/GDI-plus/perpxalpha_sharp.aspx"&gt;this article on CodeProject&lt;/a&gt;&amp;#41; that what you can do is draw properly anti-aliased images with transparency. You&amp;#39;ve got to much around in native-Win32-land for a bit, and it&amp;#39;s not particularly elegant. However, I basically used this and used GDI to draw text directly onto the form, giving some semblance of prettyness.&lt;/p&gt;
&lt;p&gt;Enter &lt;a href="http&amp;#58;//msdn.microsoft.com/en-us/library/ms754130.aspx&amp;#63;ppud&amp;#61;4"&gt;WPF&lt;/a&gt;, which seems to be Microsoft&amp;#39;s attempt at saying &amp;#34;That winforms stuff, chuck that, use this&amp;#34;. It&amp;#39;s much, much, much better. All that faffing about with transparency has been reduced to sticking some labels on a form, making the form transparent, and just having it work. Even cool things like colour animations are quite neatly handled. I&amp;#39;ve cut down on both code lines and bugs, and ended up with something a lot more stable. I&amp;#39;ll be releasing v0.8 soon, then everyone can revel in it.&lt;/p&gt;
&lt;p&gt;It&amp;#39;s not all sweetness and roses yet, WPF is still missing some key desktop controls, such as NotifyIcon, a decent color picker, any sort of font chooser etc. You have to steal these from winforms still. That said, it&amp;#39;s a better app now, and mostly that&amp;#39;s Microsoft&amp;#39;s doing.&lt;/p&gt;</description>
      <pubDate>Thu, 12 Nov 2009 18:54:18 GMT</pubDate>
      <guid>http://www.growse.com/news/comments/on-being-surprised-at-new-things-that-actually-work-yes-microsoft-i-m-looking-at-you/</guid>
      <dc:date>2009-11-12T18:54:18Z</dc:date>
    </item>
    <item>
      <title>Efficiency. Wonderful.</title>
      <link>http://www.growse.com/news/comments/efficiency-wonderful/</link>
      <description>&lt;p&gt;I&amp;#39;ve been getting a few things done rather ahead of schedule lately, which is a fairly large shift from normality. I&amp;#39;m cracking on much faster than I thought I would with a new &lt;a href="http&amp;#58;//www.sun.com/software/products/appsrvr/"&gt;Glassfish&lt;/a&gt;-based version of this site, I&amp;#39;m already buying Christmas presents, I&amp;#39;m renewing insurance ahead of schedule, I&amp;#39;ve booked parts of next years holiday - it&amp;#39;s all go.&lt;/p&gt;
&lt;p&gt;Java and Glassfish is proving to be a bit of an interesting foray. Previously, I had written Java off as slightly irrelevant and not particularly high-performance. However, many people and things have corrected this impression I had, that seems to be at least a good few years out of date. Anyhoo, I&amp;#39;ve developed in .NET for work for a good couple of years and it was remarkably easy to slip into Java development. The biggest hurdle was the stupid terminology &amp;#40;wtf is an EJB&amp;#63;&amp;#41; and getting that translated into sensible-speak &amp;#40;oh, it&amp;#39;s a thingie&amp;#33;&amp;#41; was rather useful. &lt;a href="http&amp;#58;//www.netbeans.org"&gt;Netbeans&lt;/a&gt; has been awesome throughout all of this. I&amp;#39;ll probably get it finished during the rest of the year and end up sticking it behind &lt;a href="http&amp;#58;//www.lighttpd.net/"&gt;lighttpd&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the real world, I&amp;#39;m having a hilarious time figuring out how to navigate 24 miles a day through London traffic on a bike. I&amp;#39;ve put 300 miles on it now and have so far discovered what it feels like when the clutch overheats and that I think the fuel gauge is broken. Running out of petrol on the north circular with the gauge saying I had a 1/4 tank left was a key highlight. I&amp;#39;ll &amp;#39;have a word&amp;#39; with the nice garage people when I take it for its first service. The clocks did just go back, so it&amp;#39;s all rain, cold and stupidly slippery roads from now on. Great&amp;#33;&lt;/p&gt;</description>
      <pubDate>Sun, 25 Oct 2009 21:44:08 GMT</pubDate>
      <guid>http://www.growse.com/news/comments/efficiency-wonderful/</guid>
      <dc:date>2009-10-25T21:44:08Z</dc:date>
    </item>
    <item>
      <title>Brrrm! BRRRRRRRRRRRRRMMMMMM!</title>
      <link>http://www.growse.com/news/comments/brrrm-brrrrrrrrrrrrrmmmmmm/</link>
      <description>&lt;p&gt;Well, the inevitable happened. I bought a bike. Not one with pedals, oh no. This one&amp;#39;s got an engine.&lt;/p&gt;
&lt;p&gt;It all started when I moved to &lt;a href="http&amp;#58;//maps.google.com/maps&amp;#63;f&amp;#61;q&amp;#38;source&amp;#61;s_q&amp;#38;hl&amp;#61;en&amp;#38;geocode&amp;#61;&amp;#38;q&amp;#61;ealing&amp;#38;sll&amp;#61;37.0625,-95.677068&amp;#38;sspn&amp;#61;50.956929,79.013672&amp;#38;ie&amp;#61;UTF8&amp;#38;z&amp;#61;13&amp;#38;iwloc&amp;#61;A"&gt;Ealing&lt;/a&gt; and found out that I had to get to &lt;a href="http&amp;#58;//maps.google.com/maps&amp;#63;f&amp;#61;q&amp;#38;source&amp;#61;s_q&amp;#38;hl&amp;#61;en&amp;#38;geocode&amp;#61;&amp;#38;q&amp;#61;Old&amp;#43;Street&amp;#38;sll&amp;#61;51.513351,-0.304214&amp;#38;sspn&amp;#61;0.078948,0.154324&amp;#38;ie&amp;#61;UTF8&amp;#38;z&amp;#61;15&amp;#38;iwloc&amp;#61;A"&gt;Old Street&lt;/a&gt; and back every day. This is a long way. On the tube, it takes over an hour to do the journey in rush hour and that&amp;#39;s something that I&amp;#39;m paying &amp;#163;116 a month for. I bought a new mountain bike recently, mostly because my old one was stolen and part of me wondered if cycling would be a feasible option. Doing several journey planners indicated that the route would be a fairly simple 12 mile run each way.&lt;/p&gt;
&lt;p&gt;I decided to test out my cycling theory a few weekends ago. From my house, I got as far as Shepherd&amp;#39;s Bush before deciding that the combination of London pot holes, the unsuitability of a mountain bike to road riding and my general level of unfitness made this idea a non-starter. As I waited by some traffic lights next to about 3,000 scooters, I had an idea.&lt;/p&gt;
&lt;p&gt;I could buy and run a 125cc motorbike for a lot less money per year than I was spending on the tube. And my commute would be a lot faster. I did some research - I was looking to be spending about &amp;#163;100 on the CBT, &amp;#163;2000 on a bike, &amp;#163;400 on clothing and &amp;#163;300 on insurance. For something that would last me at least 2 years and give me a significant return on the bike sale at the end &amp;#40;should I want to&amp;#41;, this was a lot better than going on the tube.&lt;/p&gt;
&lt;p&gt;I booked and passed my CBT. It was a lot of slightly confusing fun - once I&amp;#39;d got my head around the notion of braking with my right foot and delicate clutch control with the left hand, I greatly enjoyed driving around Ealing at a blistering 18mph. Amusingly, I was the only person on the session other than the instructor, a trainee instructor who was observing and the DSA man doing a spot-check on the instructor.&lt;/p&gt;
&lt;p&gt;I decided I wanted a &lt;a href="http&amp;#58;//ww1.honda.co.uk/motorcycles/DispatcherServlet&amp;#63;hidAction&amp;#61;Lookup&amp;#38;hidActionDetail&amp;#61;view_introduction&amp;#38;hidMSGID&amp;#61;11&amp;#38;hidMSGCode&amp;#61;CC125&amp;#38;hidMSGName&amp;#61;125&amp;#43;CC&amp;#38;hidProductID&amp;#61;116&amp;#38;hidSelectedProductCode&amp;#61;CBF125&amp;#38;hidProductName&amp;#61;CBF125&amp;#35;focusHere"&gt;Honda CBF125&lt;/a&gt;. This is quite a recent bike, so the used market is rather thin. After hunting through autotrader, I did find a private ad for what seemed to be a perfect deal, but after phoning the guy was told that I had missed it by about 10 minutes. I found a new one at a dealer about 20 miles away, so went for a test and liked it. Paid just over &amp;#163;2k.&lt;/p&gt;
&lt;p&gt;Now I just need to get it insured and then I go to pick it up on Thursday. A new era involving not being depressed by the tube awaits.&lt;/p&gt;</description>
      <pubDate>Mon, 28 Sep 2009 12:50:16 GMT</pubDate>
      <guid>http://www.growse.com/news/comments/brrrm-brrrrrrrrrrrrrmmmmmm/</guid>
      <dc:date>2009-09-28T12:50:16Z</dc:date>
    </item>
  </channel>
</rss>




