Cushla and myself are forming a company to handle the income from our rental property. The critical decision with any new company is choosing the name. Much to our delight we discovered that the name Partners in Crime was still available. We also discovered that the New Zealand Companies Office is quick, efficient, and not at all picky about the name you choose. Officially the company won’t be doing anything until the next tax year, so for now it’s just a cool name.
A quick survey of New Zealand contributions to the Mii Contest Channel reveals that well over 1% of contributions are Adolf Hitler. Of these, a large percentage believe that his hobby is dancing. I have no idea what this says about the New Zealand psyche.
In hopefully unrelated news, there has finally been a gnome-applets 2.21 release. It more-or-less consists of every sensible patch I could find in Bugzilla for the past few months.
Thanks to Michael Hofmann there is now an updated version of the deskbar calculator suitable for the 2.20 release of the deskbar applet. You can find it as a tarball here, or if you just want to drag it directly into the deskbar preferences pane, try this link. If you have an older version of the deskbar applet, you should still be using version 1.6, which is still available, just a little further down the page.
I must apologise to Michael for taking so long to release this update. He did all the hard work for me two weeks ago, but I was slow about updating my test scripts (which the API changes also broke).
… we have World 45 t-shirts. Available wherever Nicolas decides to promote us next.
It has been a very long time since I wrote anything here. I’ve started my new job at World 45. It isn’t exactly what I expected, somewhat better in fact. We work with Sun’s Niagara processors writing offload applications to run in raw (OS-less) logical domains.
Most of my time has been spent writing an offload-system to allow easy communication between an application running under Solaris and the offload application running in its own domain. I’ve spent time writing application code, Solaris device drivers, and library code in a mix of C and assembler (to talk to the hypervisor). The end result scales pretty well (with up to 12 processors anyway). I believe the plan is for Sun to eventually release it as open source, but I can’t let you download it quite yet. It doesn’t have a fancy code-name or anything either. One day, maybe.
The end result: I’m actually getting paid to make use of my assembly language and open-source habits. I’d be really happy if it wasn’t for the TCP/IP stack I’m currently trying to untangle, but that will pass soon.
I think I’ve closed a total of three GNOME bugs in the last three months. This is a vast improvement over the previous three and I would hope to do a bit more in the coming months. I’m currently poking at the un-loved parts of gnome-applets.
Today was my last day at IRL. I’m moving back to Dunedin (living with my wife, what a novel concept!) and on Monday I start a job at World 45 doing multicore programming on Sun hardware. Metrology has been an interesting, but brief, career and if circumstances had been different maybe I’d have stayed. I’m neither sad nor happy to be leaving – the people were great, but the corporate environment awful. The new opportunity looks fascinating and it gets me in the right part of the country. I’ll be happy.
I spent most of ANZAC day playing with the floating point unit in my Pentium-M. Some notes:
- If your calculation involves Nan it slows down by about a factor of 50. Quoting Intel: “Out-of-range numbers cause very high overhead.”
- On a Pentium-M fxch is essentially free. However, according to Intel’s optimisation manual, it is very expensive on Netburst (P4) CPUs. They are very different architectures.
- Loading a floating point register which isn’t empty generates an invalid number. The corollary of this is that fincr isn’t as open to abuse as you’d hope it would be.
- Time-wise fadd/fsubr < fmul << fdiv. You already knew that, but fmul is closer to fadd than you might think.
- Calculating 2xy+c as ((x+x)*y)+c) is quicker than (((x*y)+(x*y))+c) despite using exactly the same instructions, just in a different order (fadd, fmul, fadd vs. fmul, fadd, fadd). It's a dependent chain, so there really shouldn't be any difference. It may simply be that the former version can fetch y while (x+x) is being calculated whereas the later has to fetch x and y before doing the multiplication.
- The stack-based architecture of the FPU might have made sense for a separate co-processor, but it is awful in a super-scalar architecture. Still, gcc generally seems to generate faster code than when it uses the more modern SSE registers. Hand assembly still wins by about 30% - gcc seems to like gratuitous memory accesses (probably some strange requirement of the C language).
- Architecture specific compilation, i.e. -march=pentium-m, has a significant speed advantage over generic -O3.
Don’t mix visual basic work and chocolate-covered coffee beans. The beans actually manage to make it worse.
A co-worker on prehistoric animals:
“There used to be giant dragonflies, but now we have consultants. There was more oxygen back then.”
There is a new release of the deskbar calculator available. There are no new features, but now works with python 2.5 and a nasty hack that fiddled with deskbar’s internals has been removed thanks to advice from Jason LeBrun.
For those of you that came in late: The deskbar-calculator is a plug-in for the deskbar applet that allows you to use it as a simple calculator. You just type your equation into the deskbar entry-box and the answer is displayed in the drop-down list, just like a search result would. It isn’t very powerful, but it is very convenient.