Interview on dotnetrocks.com podcast.

I've been interviewed by the dotnetrocks.com podcast. The Podcast episode covers the Mercury language and project, declarative debugging and my work on automatic parallelisation. The episode can be downloaded here

Concurrency is not Parallelism

The confusion between parallelism and concurrency in computer programming is a pet-hate of mine. This post is a review of some articles that make this distinction clear.

Headphones, I missed you

My Grado SR-80's where in the shop for a couple of weeks. The foam pads had warn down to an approximation of nothing and the cable had a fault that cased the left channel to cut out sometimes. but now I have them back!

Aww my foot

Last weekend Liz's Choir performed Gilbert and Sullivan's The Mikardo. It really good and I enjoyed it, it did help that it had a plot and was in English. I also bumped into some friends in the audience which was cool.

GnuPG, The kernel and Pseudo-random number generation.

A friend asked on his blog why gpg —gen-random warns the user: "PLEASE, don’t use this command unless you know what you are doing; it may remove precious entropy from the system!". Below is my essay-like response. It has been edited and posted here as it may help others understand how random number generation and entropy work in a computer system.

Leveling up

I have not written for a while, mainly because I have been trying to convert from a Masters degree to a Ph.D. degree, which is the topic of this article. This might sound strange but that is the normal way of entering a Computer Science Ph.D. course at Melbourne Uni if you do not already have a Masters.

I begun this process in mid May but have been working (or at least looking) towards it since February. So far, as of the 12th of July it is still not complete, even though I thought it was and told Twitter and Facebook that it was. What follows is a blow-by-blow summary of this process.

Tree vs House

Today there was a lot of wind that I didn't notice because I was in my office without windows in my comfy office building.  At this time a tree decided it had had enough and attempted to attack our house.  It very nearly took out the power.  As of this writing I'm waiting at home for the SES to come and remove it.  Photos are below.

Photos from the (research) trenches.

Just for fun, here are some photos of some things around the csse.unimelb.edu.au offices.

Left vs Right Recursion: A Red Herring

Since the last 'Left vs Right Recursion' article work stealing has been implemented in the Mercury runtime. In this new implementation the --max-contexts-per-thread runtime option is no longer obeyed (bug #144), therefore deeply right-recursive parallel code will run out of memory.

We've implemented a simple transformation in the runtime: All recursive conjuncts in a independent parallel conjunction are ordered as early is possible. This turns right recursion in parallel conjunctions into left recursion wherever possible. Then we noticed the following results for parallelising the ray-tracer.

Livejournal Syndication.

Livejournal syndication is back!

Syndicate content