I messed up some queries and sent postgresql into a spin yesterday, a couple of times. So I ended up with 2 processes cpu bound. Just about bought my whole system to a standstill – well, emacs still ran ok, and mozilla wasn’t too bad, but visual studio forgot it was running on a dual-core machine with 4g of memory and started crawling – took minutes just to start a debugging session. Maybe the disk was i/o bound as well as the cpu being cpu bound – I didn’t check the hdd light – I just blamed windows.
Actually – ubuntu can fucking suxors at times as well. No problem has been insurmountable, but there’s been too many little niggling hassles getting my ps3 (or laptop for that matter) setup as a cranking development environment. The docs packages for example are mostly fucked, or too fine grained – you have to install docs for everything, and even then several times – man and info for example. The other night I hit yet another snag – scrollkeeper interfering with installing updates to the point of it failing. Why distro’s keep shipping utterly useless snot like that which just kills your system every now and then (particularly during updates) is beyond me. Patch it away or stop including crap that depends on it – and you can’t uninstall it without losing half the desktop (and with ubuntu’s meta-packages, you can’t really be sure what’s going anyway). I fucked off its crontab entry and replaced scroll-keeper-update with an empty shell script – hopefully that’ll do for now. There are other annoying daily cron tasks which shouldn’t be there either – if you don’t have your machine on all the time you don’t want it running a damn ubuntu-check-update or updatedb every time just after you turn it on.
On a side note – why can’t anyone come up with a decent documentation package? Well, why they’re even trying is beyond me – man is pretty good and info is excellent. They both work, can easily be adapted to non-terminal use, and info even goes all the way to print. Why come up with all these shitty indexed crap systems that nobody uses. While i’m here, the idiot who moved the documentation for the command-line-only tools in netpbm to be web pages only, from the man pages it always had, should have his nuts cut off (then again, I rarely use them anymore – this is one reason).
Enough rant.
The cell coding is going well, if slow. It takes a lot of time. I’m also trying lots of different options with the aim of achieving a higher level of grokness, and writing up some of my experiences as i go – yuv to rgb conversion so far. I have found a video that doesn’t play smoothly only because the screen decoding is too slow – so that should be a good test file for changing the way I call the SPU code. Put in a job queue, async notifcation, even splitting the task.
I also played with some preliminary filtering/effects code. Quantise is simple, although I had a bug in one run which gave a nice cartoony effect. Played with a horizontal-blur filter. Using the spu average bytes instruction makes this simple if not terribly flexible. But working out how to load data streams offset from each other efficiently on the spu is useful – i’ll look at 2d convolution next, after I get the job queue stuff working.
Agreed, on all points.
May be you should give Opensuse a try ;)