Vacation 1.2.7.0 beta 4 released

This beta release updates the build process to remove the -m486 flag on non-PPC systems as the distros are already doing this.

This may break backwards compatibility on AMD64/EM64T based systems, the fix is to run vacation -I to reinitialise your database of addresses you have received email from.

The option ‘-i’ has been added as an alias for ‘-I’ and documented in the manual page.

This release includes the Makefile changes from Marshal Newrock to build (hopefully) on FreeBSD with automatic detection of whether it is necessary.

There have been a few other housekeeping changes.

Please report any problems!

SourceForge has both the released sources and the ChangeLog.

Dell to ship Ubuntu Linux

Dell have announced they will sell systems bundled with Ubuntu 7.04 (Feisty Fawn), though the details are yet to be announced. Here’s hoping that this time they escape beyond the USA (hello Dell, there is a world outside the US!). There’s also a report on the BBC, which is where I first saw this mentioned.

On the Direct2Dell page that announces this there is a video interview with Mark Shuttleworth of Canonical in a variety of formats, including the free Theora codec. Props to Dell for including that.

If this gets to Australia I suspect my next laptop will be ones of these Dell’s (as long as they have a model with an Intel graphics card).

A Rough Guide to Scientific Computing On the Playstation 3

Eugen Leitl has just posted on the Beowulf list a message with a link to a draft of a paper by Alfredo Buttari, Piotr Luszczek, Jakub Kurzak, Jack Dongarra and George Bosilca called A Rough Guide to Scientific Computing On the Playstation 3. It’s a 74 page PDF looking at the possibilities and problems with using the PS3 for scientific computing (there is already a PS3 Linux cluster at NCSU).

The introduction to the paper lets you know that this isn’t going to be easy..

As exciting as it may sound, using the PS3 for scientific computing is a bumpy ride. Parallel programming models for multi-core processors are in their infancy, and standardized APIs are not even on the horizon. As a result, presently, only hand-written code fully exploits the hardware capabilities of the CELL processor. Ultimately, the suitability of the PS3 platform for scientific computing is most heavily impaired by the devastating disproportion between the processing power of the processor and the crippling slowness of the interconnect, explained in detail in section 9.1. Nevertheless, the CELL processor is a revolutionary chip, delivering ground-breaking performance and now available in an affordable package. We hope that this rough guide will make the ride slightly less bumpy.

Of course, it’s unlikely you’re going to see the PS3 being used in production clusters anyway, so the interconnect shouldn’t be such a problem there.. 🙂

The paper covers the hardware, Linux support and how to get it onto a PS3, programming methods and models, MPI, performance, etc. The paper isn’t complete as I write, but it is still a very interesting read. HPC folks will certainly want to read section 9.1 “Limitations of the PS 3 for Scientific Computing”, especially the part that says:

Double precision performance. Peak performance of double precision floating point arithmetic is a factor of 14 below the peak performance of single precision. Computations which demand full precision accuracy will see a peak performance of only 14 Gflop/s, unless mixed-precision approaches can be applied.

Welcome to WordPress, Russell!

Russell Coker, SELinux developer, Bonnie++ maintainer and fellow LUV person has now switched from Blogger to his own WordPress installation, which makes leaving comments a hell of a lot easier! 🙂

He’s also now got a blog on “random things that are large or of limited interest“, though why that isn’t just a category on his main site (and using WordPress’s handy “more” marker to stop the whole thing showing up on the front page) I’m not sure.

Anyway, welcome to WordPress Russell!

Further Adventures in OpenID Delegation Land

Having gotten OpenID delegation going I had to go and play some more.. 🙂

Now I was a bit puzzled about the OpenID XRDS Url mentioned in Eran’s plugin, I don’t see if being created at WordPress.com and the thought of just putting a URL in there and hoping is a bit, well, unsatisfying. Now that isn’t Evan’s fault, it’s just the fact that the WordPress service isn’t that well documented for delegation and I was hoping for something that would go a little bit further.

Before I found Evan’s OpenID Delegation plugin I came across Will Norris’s WP-Yadis plugin (originally wp-xrds) but it didn’t really work under PHP5 and so I had quickly skipped over it. Having found myself not quite happy with the outcome of using Evan’s (again, not his fault) I decided to go back and see if I could fix up the PHP4 code that wasn’t happy with PHP5.

Now it turns out it wasn’t that hard to fix, just 3 instances of foreach() where a variable needed casting to Array. That let me put in the OpenID Server Url and OpenID Delegate Server Url that I had been using previously and magically created a XRDS (aka Yadis) document. Brilliant I thought.

But wp-yadis could do more, it already had a set of definitions for a number of providers so that you could just pick the one you wanted and give it your username and let it automatically generate the URLs, but there wasn’t anything for WordPress. A bit more hacking later (to add a substitution to the server URL that was previously only happening on the delegation URL) and it was working!

I’ve sent Will the patch by email, but as the licensing isn’t clear I can’t really make it available here without Will’s approval.

OpenID Delegation To WordPress.com

Now that WordPress.com blogs include an OpenID server for free and most WordPress users have an account there as they need it for Akismet to work, it turns out they can use it as the invisible back end to authenticate via their own WordPress blogs (hosted elsewhere) using the concept of delegation.

I thought it would be interesting to try and get OpenID delegation going on this blog as a proof of concept, and because I’m tired of commenting on Tim Connors blog as anonymous. 🙂

Now whilst OpenID delegation requires nothing more than a couple of lines of HTML, on a site that is dynamically generated like a blog you need a bit of code to add that into the front page, otherwise it’s not going to work. With WordPress that is done via plugins and casting around I found Eran Sandler’s OpenID Delegate plugin which I took for a spin.

It’s easy to install, a single PHP file in your wp-content/plugins directory, and then an OpenID Delegation item appears in your Option menu. Clicking on that and you will see three cryptically named options:

  • OpenID Server Url – this is the URL that access the OpenID server code
  • OpenID Delegate Server Url – this is the URL for the OpenID that you possess
  • OpenID XRDS Url – this is a URL for a special file that is supposed to control the delegation

Initially I tried setting http://????.wordpress.com/ for each field (where ???? is the name of my blog at WordPress.com) and that almost, but not quite, seemed to work according to the OpenID validator. It took me a while to figure out what was needed, but from this forum thread I found a clue that I’d missed a necessary option on the OpenID Server URL.

So, what got it to work for me (and presumably will for you too) is:

  • OpenID Server Url: http://yourblog.wordpress.com/?openidserver=1
  • OpenID Delegate Server Url: http://yourblog.wordpress.com/
  • OpenID XRDS Url: http://yourblog.wordpress.com/

The proof that it works ?

A successful comment on Tim’s Live Journal using my blog as the OpenID server. That’s enough to make me happy..

Fake WordPress/2.1-alpha3 Trackback Spam Countermeasure (and a factoid) (Updated)

For those of you who control your Apache server driving your blog and who would like to easily block the incoming tide of spam with the fake user-agent “-- WordPress/2.1-alpha3” then all you need to do is to add the following to your .htaccess or central Apache configuration.

BrowserMatchNoCase "-- WordPress/2.1-alpha3" spambot=1 Order allow,deny
deny from env=spambot
allow from all

That should then cause the spammers to bounce off with a 403 “go away” error. You can also lather, rinse, repeat for other spam user-agents you would prefer not to let into the house..

On another point, a couple of them (one each in Brazil, Holland and Israel) had a fake SMTP server listening on port 25:

220 ESMTP service ready
help
250 ok
quit
250 ok
quit
250 ok
bye
250 ok
^]
telnet> quit
Connection closed.

Very odd!

Update: Also see Fight Blog Spam with Apache.