Schneier Spelled Safely

The t-shirts with our new designs finally arrived the other week from the printers – Che Stallman and Bruce Schneier.

This marks the end of many an hour wasted double checking that we did actually spell Schneier correctly (and we did spell it correctly, hurrar!). Hundreds of these shirts are now in the hands of some reportedly very happy geeks around the world. You can get your own (and other shirts and stickers) at the online shop.

A photo of the Tedesco brothers sporting the Che Stallman shirt follows (face of one Tedesco brother removed at his incessant vanity request).

The Tedesco brothers wearing the Che Stallman t-shirt

HD DVD cracked

The High Definition DVD encryption got cracked a couple of months back, but recently the AACS licensing authority have been threatening people who discuss it. At the core of this is the processing key, which can be used to decrypt all HD DVDs. The key is just a big number. The AACS assert that the number is illegal to disclose.

If you were counting a large number of something, you’d have to skip this particular number (or whisper it) because the AACS believe they control it.

Anyway, we don’t quite have the DMCA here in the UK, so I can write that number here:

09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

Without this work, you could not play legally bought HD DVDs with free software applications.  You could not play legally bought HD DVDs that were from another country.  You could not transfer legally bought HD DVDs to your hard disk for easy access, or to your portable movie player.

One might argue that you shouldn’t be purchasing goods from a company that is at war with you. Whilst I agree, it’s not that easy to find companies that aren’t at war with you and I support work like this to take back our freedoms.

News Sniffer, Ferret and Rails

I’ve been working on my News Sniffer project for the last few days, finishing up a two month experiment with using the Ruby Lucene implementation, Ferret, to index news articles and comments.  More info on the News Sniffer blog.  The project spanned two months due to some instability in the newer versions of Ferret, but the author responded to the bug reports and managed to fix all the problems so I decided to deploy.

Ferret offers huge improvements over the original MySQL full-text search method, and I’m looking forward to adding some fancy keyword statistics graphs in the future – perhaps showing censorship patterns in bbc comments with certain keywords.

Because News Sniffer is distributed across a number of servers, I used DRb (distributed Ruby) to allow them all to update one central Ferret index.  DRb seems to work very well generally, and is amazingly simple to use, but I ran into a few problems with recycled objects and invalid references whilst using Ferret across it, apparently due to the garbage collector on the service side collecting things still in use on the client side.  I think I eliminated most of them but they still crop up once in a while – I’ll be looking into this further.

(more…)

Daemontools and Ruby on Rails

Dan J Bernstein’s (djb) daemontools is a set of programs to help you manage unix services. It provides a flexible, secure and convenient way of starting, stopping and sending signals to background processes. Combined with his ucspi-tcp tools, it can be used as an awesome replacement to inetd (it’s most often used in this way to run qmail, a secure and high-performance mta). It can be fiddly to set up and has a bit of a steep learning curve but I already use daemontools for various other stuff, so it was just natural for me to use it for Ruby on Rails deployment.

(more…)

IT techie – available for hire

I’m now full time self-employed. If you’d like to hire me as an IT consultant then drop me a line. I’m well experienced with all kinds of free and open source software with a specific focus on web and database services, security and networking. Some things I’ve been working with lately:

  • Apache and Lighttpd web services
  • Ruby on Rails and PHP deployment
  • MySQL database services
  • Netfilter firewalling
  • OpenVPN and OpenS/WAN VPNs

Over the years I’ve worked with many companies with diverse networks and services, including recently: one of the largest NHS software suppliers, an international travel company and an online pharmacy.

I’m local to the Leeds area in the UK but I often do things remotely so can work with any company in the world. Hourly rates are dependent on the type and length of the job.

I’m doing this work under the business name ifup. There is website over at www.ifup.co.uk but it’s a little scant on details at the moment. More to come.

Hebden Bridge

Hebden Bridge photoblog

Emusic.com sucks

I signed up for Emusic.com a few months ago to buy music online, but I’m fed up with them. This is my “why are you leaving?” feedback to them:

I’d like to get what I pay for. I pay for 65 tracks but if I don’t download them within the month, they disappear. I have trouble understanding how this is a legitimate business practice – where do my tracks go? Are they distributed to the poor?

Your business model is based on the hope that people won’t use what they pay for.

Your business model is based on taking advantage of your customers.

Top ten quick FOSS games

Louisa wrote about her top ten favourite quick FOSS games.  All available in Ubuntu universe.  They’re all very addictive though, so beware.  My favourite is Frozen Bubble, but Neverball looks awesome so I’ll have to give that a go.  Tetrinet is great if you have some friends to play against too.

For all your electronic equipment repair needs…

Chris from AmbertronicsA friend of a friend (pictured) runs Bingley based Ambertronics. They specialise in repairing electronic audio equipment and they do it so well. Save money and the environment by getting your kit serviced (or repaired if it’s already blown up) rather than taking it to landfill. “A pipe, a pot of tea, and a ponder”http://www.ambertron.co.uk/

ELER Italian Transcription

Luca Andreucci has contributed the first Italian transcription of my web comic, ELER. I love how the last pane of the current strip is described.

“Eric ha le sopracciglia di Linus, più le calze e i sandali”

Sun’s ZFS on Linux via FUSE

Ricardo Correia has been porting Sun’s recently GPLed ZFS to Linux using FUSE. I’ve been playing with it and I’m quite impressed. The FUSE port is alpha quality, so isn’t to be trusted with important data yet – but it’s fun to play with.

ZFS merges the concept of a volume manager and a filesystem. It’s a bit like LVM, with zpools being volume groups and zfs being formatted logical volumes. Zfs “partitions” can change size at any time in any way. It’s also hierarchical, so zfs partitions can have child partitions inheriting their attributes. It also does away with fstab – all mount points are specified as zfs attributes and are automatically mounted when a zpool is brought online.

(more…)

Active Resource not in Rails 1.2!

Whilst planning some changes to my News Sniffer project, I thought I’d have a play with Active Resource.

Currently, all the forum and news article downloading and scraping happens on a different machine to the web server. It has a VPN connection to the database and memcache servers, but I’d like to integrate the Ferret text indexing system for better searching capabilities. To centralise Ferret, I have a three options:

  1. regularly reindex new content from the database on the web server;
  2. DRb a Ferret Object;
  3. or use ActiveResource to access the models via the web service.

DRb-ing a Ferret Object would be quite elegant, but using ActiveResource would also replace the need for a database and memcache connection (and I could do much better fragment caching actually).

Anyway, I searched high and low for some docs – lots of blog entries about how great it is, but no real api docs. When I searched through the Rails code and found nothing either, I got suspicious. Finally I found a couple of blog entries stating that ActiveResource was dropped from Rails 1.2. It seems to be planned for Rails 2.0. Not sure how I missed this. I guess my search-foo is lacking.

I’ll be investigating other options. I’d much prefer not to build a SOAP or XMLRPC interface. Ugh.