Fuzz testing (by )

Speaking of unearthing bugs, I'm surprised I've not found any mention of anyone fuzz testing NetBSD syscalls. There's a crashme tool which, despite the one-line summary doesn't actually call syscalls explicitly (although it may stumble across them at random) - it just executes arbitrary sequences of random numbers as code, in order to make sure all the CPU trap handlers work correctly...

So I may throw together a tool to do that for syscalls. Needless to say, it ought to be run as an isolated user (so it can only trash its own files), maybe in a chroot, and ideally on a machine without network access (for it could, in theory, open a network socket and do something unneighbourly :-).

This would be a good test of the higher-level inter-process isolation facilities in the OS kernel - namely, it'd help to find security holes such as local denial of service attacks against the kernel!

Also, another fun idea might be a fuzz tester for Xen hypercalls...

Getting the best out of pkgsrc (by )

pkgsrc, the software package installation system that comes with NetBSD, is a lovely and powerful thing, but the default out-of-the-box setup is pretty basic. There's a lot you can do to bring the power of it out that's either hidden in the pkgsrc manual or in extension packages.

So here's my quick guide to getting the best out of pkgsrc.

Read more »

What a day! (by )

  • 10:00am: Finish the fourth coat of varnish on a bit of furniture we're varnishing.
  • 10:30am: Start hand-mixing a 25kg sack of cement+sand mortar with water
  • 10:45am: Start hacking stones out of the rubble pile with a pickaxe, and mortaring then into place in the wall I'm building
  • 11:30am: Using the pickaxe, dig out the low points of our compacted stone and mud parking area (you can easily find the low points, after a rainy night they're lakes), and then apply the pickaxe to the rubble heap again to loosen up hardcore and shovel it into the holes, as an interim fix to the pooling-water problem.
  • 12:30am: Go and have breakfast with wife and child
  • 01:00pm: Head off to investigate a nearby builder's merchant type place, to see if their cement is cheaper than B&Qs, and to consider gravel to cover the parking area in, and to generally mooch around.
  • 02:00pm: Head down to the excellent John Stayte Services to pick up 80kg of coal, then swing by Tescos for a few essentials and to stop so Sarah can have a coffee
  • 03:30pm: Get home, put Jean to bed for a nap, and make and eat lunch
  • 05:30pm: Rush out, realising we're late for the district Cub and Scout swimming gala.
  • 09:00pm: Get home, put Jean to bed since she's tired and teething
  • 09:30pm: Deal with laundry, and add some more varnish to the furniture
  • 09:45pm: Cook and eat dinner
  • 11:00pm: Wash up, bank the fire so it'll stay lit overnight, load the dishwasher, etc.
  • 11:45pm: Blog about it all.
  • 12:00pm: Put away huge piles of laundry so we can get to our bed and sleep in it.
  • 01:40am: Finish putting away laundry. Get into bed. Start attempting to sleep.

I need an extra weekendend to recover from my weekends!

Geek exhilaration (by )

Recently, a feeling has started to appear in my life that's been missing for many years...

When I was a kid, I often felt geek exhilaration. All I had to do was sit with a notepad and think for a while and I'd come up with a design for something cool. Now, the kind of thing that interests me is infrastructure - I've always been more interested in designing, say, a game engine than in writing an actual game. So I'd sit down and pluck a random problem from the air and design an infrastructure for solving it. And then I'd feel excited about the lovely potential of this infrastructure.

Alas, this happened at a much higher rate than I could ever implement these things, so I had a sources directory laden with unfinished projects. But it was still fun.

Anyway, with age and responsibility and work and bills and stress this happened less and less; I still got to invent infrastructures, since it's part of my job, but I'd only get to design one every month or so at best. Five minutes of fun, then a month of implementation. And the problems I was trying to solve were relatively boring, and the solutions required often constrained to just solve the immediate needs of the users for the next year or so, rather than a sparkling generic platform upon which anything could be built for ever more.

But recently, for some reason, it's started returning.

Read more »

Database upgrades (by )

I've just finished upgrading the database services on love, my hosting server cluster... Phew. I started at 11pm, and it's now 2:30am. Much time spend shepharding the upgrade process. But we now have nice recent mysql and postgresql installations!

WordPress Themes

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales
Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales