michael's blog » plauphotos, rants and ramblings2014-10-12T09:34:50Zhttp://michael.ellerman.id.au/blog/feed/atom/WordPressmikehttp://michael.ellerman.id.auhttp://michael.ellerman.id.au/blog/?p=75992014-10-12T09:34:50Z2012-02-16T21:29:51ZA while back I bought Dad an iRiver E150 so he could make audio recordings of my grandparents. It’s quite a nice little device and had been doing a fairly good job for a few months, but then all of a sudden some of the recordings wouldn’t play.

To cut a long and boring story short, I eventually discovered that the device had simply overwritten some of the recordings with others, ie. no I/O errors or anything nasty, just a software bug.

In the process I looked around for tools to examine FAT filesystems, and didn’t find much. If anyone knows of any I’d love to hear about them. In the absence of a proper tool I bodged up some code to do what I needed – and only what I needed.

I’ve thrown the code up in case anyone else finds themselves in a similar predicament. The idea is you dd the data off and point the code at it and examine it, it’s read only. It can dump the FAT, show you orphan clusters (with no dentry pointing at them), search for a value, and save clusters or cluster chains.

]]>0mikehttp://michael.ellerman.id.auhttp://michael.ellerman.id.au/blog/?p=75192014-10-12T09:34:50Z2010-12-16T03:50:02ZIf you like Linux and you like games, then you should head over and check out the Humble Indie Bundle #2!

They also have data on how much people are paying for the bundle, which is quite interesting. Currently the average amount paid by Windows users is $6.07, Mac users $8.23, and Linux users $13.68. So despite being a band of unwashed hippy communists, it seems Linux users are more generous when it comes to opening their wallets.

ps. Depending on your graphics chip & driver you may need to apt-get install driconf and enable S3TC texture compression to get Braid working, see this bug.

Email, instant messaging, photos, collaborative editing all rolled together and done with that usual no bullshit Google style.

The 25% of my time spent on email would be a joy with a system like that – or perhaps just less of an ordeal

The really good news is that they’ve already published a draft of the protocol, to allow competing server implementations, and they’re talking about open sourcing their code as a starting point.

]]>0mikehttp://michael.ellerman.id.auhttp://michael.ellerman.id.au/blog/?p=72212013-01-04T12:28:25Z2008-06-19T01:30:43ZAs Jeremy mentioned, the IBM QS22 was released a few weeks ago. The QS22 is the newest Cell processor based blade server, sporting the new PowerXCell 8i chip, and up to 32 GB of memory.

Because the QS22 can support larger amounts of memory, Linux needs to enable the IOMMU, whereas on previous blades that was optional. For some workloads this could lead to a performance loss, so I spent some time early this year working on a solution which avoids the IOMMU overhead.

Although he’s too modest to mention it, Jeremy maintins spufs, which is the key infrastructure in the kernel which enables the Cell processor’s power – the SPEs. If it wasn’t for Benh, who also works with us in Canberra, the QS22 probably wouldn’t even boot. And as of this year we’ve also had Mark, the NKOTB, working on Cell.

As of this week Roadrunner, powered primarily by the QS22, is the current world’s fastest computer, according to the Top 500. It’s also the first computer to break the “petaflop barrier”. That means it can do 1 quadrillion calculations per second, that’s the same as 1 million billion or 1000 trillion .. or a lot.

The new Mozzilla offices come a close second, saved by the fact that presumably they’re planning to fit them out a little better. RedHat aren’t really trying either, in Brazil at least.

I don’t mind the look of the Last.fm office, although it reminds me of the “lab” at Uni, which was not the most productive place in the world – although fun.

I can forgive some of the smaller companies for having grungy startup style offices where everyone’s sharing a beanbag, but for the bigger companies I just don’t get it. You’re paying all these programmers to build your products, so you pack them all in a room together where they can’t concentrate? I guess the upfront costs are too much for the accountants.

Even the companies that do make an effort, seem to focus more on gimmicky stuff, cafeterias, break-out rooms etc. The core office spaces, where you’re going to have to spend some time – face it – aren’t that special. One aspect of that is probably that “cool” stuff is better for marketing yourself to potential employees, just don’t mention that at some point they will have to do actual work.

Kernel: fails to resume more often than previously, sometimes locks up completely when undocking.

The killer is when you try to file a bug report you’re supposed to attach the info from /var/crash, but I have nothing in /var/crash!

Can I have my money back?

]]>2mikehttp://michael.ellerman.id.auhttp://michael.ellerman.id.au/blog/2008/05/06/linux-and-solaris/2008-05-06T13:29:57Z2008-05-06T13:29:57ZIt just struck me that the download pages for Linux & Solaris might reveal a certain something about the projects they promote. Or maybe not, just a thought .. really I’m not trying to start a flame war.

Code without compromise
Our fully functional desktop environment promises extreme data integrity, so you can code on the edge and never compromise your work.

…

Download, burn, boot, and launch.
From dorm room to boardroom. OpenSolaris has everything you need to take your brilliant idea, build a prototype, test it, deploy it, and run it on production servers—out of a loft, or across your enterprise. … OpenSolaris is industrial strength and built to scale from the get go. … OpenSolaris is the OS of choice for those who prefer to live on the cutting edge of innovation. Naturally fast, free and easy to download …

]]>2mikehttp://michael.ellerman.id.auhttp://michael.ellerman.id.au/blog/2008/04/22/bashisms/2008-04-22T12:39:57Z2008-04-22T12:39:57ZA while back I spent quite a bit of time writing Korn Shell scripts, but it was a while back. The last few years it’s been all Bash for me, in fact these days I try to write everything in Python.

Anyway that means that just now trying to write a POSIX Shell script has proved a little challenging.

The manual is rather long and wordy, although it seems like it’s all there. There’s the Shell Command Language, although things you think of as being part of the shell don’t seem to be – ie. “test”, which implements the “[” in “if [ x = y ]”, that’s separate.

Despite a bit of googling I couldn’t find a good list of bashisms and their POSIX replacements, there’s a few mentioned here. I did find the next better thing, a script that checks for you, “checkbashisms”, it’s in the Debian devscripts package.

And if you’re running Ubuntu you can switch to using /bin/dash for your script temporarily, if it runs under dash it’s probably pretty safe. Let’s be honest most people use bash anyway

Phew. If you haven’t seen or heard from me in the past few weeks, it’s cause I was flat out preparing for linux.conf.au, aka LCA.

I foolishly chose a talk topic which is entirely open-ended, it can never be finished, leading to me spending endless days and nights working on it, always thinking of “just one more thing” to investigate.

In the end the talk went down fairly well, I had more material than I needed – preferable than the opposite situation. No one walked out, and everyone I’ve talked to said they enjoyed it, so that’ll do me.

If you weren’t one of the blessed few there, there’s a movie available here (or here), and my slides are here – though they’re not that useful on their own.

The rest of the conference was a bit of a blur personally. I had a fair bit of real work on leading up to it, and during, and also spent a lot of time working on my talk. Lesson for future LCAs, finish the talk before going!

I still managed to have a good time though, blur or not. The Penguin Dinner at the Queen Vic markets was good fun, followed by beers on top of some office block, and the PDNS was good fun as usual. The Google party was a pale imitation of its former self, owing to there being no beer after 8:30pm, I guess they ran out of cash?

The hackfest (programming competition) was a success, with quite a few entrants and some pretty solid efforts by both the winners and some of the non-winners – winning a Playstation 3 is obviously worth an all-nighter for a few people – good to see.

]]>2mikehttp://michael.ellerman.id.auhttp://michael.ellerman.id.au/blog/2007/10/29/realtime-raytracing-on-the-cell/2008-02-04T23:39:45Z2007-10-29T02:03:01ZIn a comment to one of my previous posts, “TimC” asks if the performance of my simple raytracer is “anywhere near realtime”.

At the moment it’s certainly not, although there is definitely the potential for it.

I haven’t spent much effort on optimising the ray tracing algorithm, because I’m more interested in optimising what I’ve got, and the issues I come across that are interesting and different because I’m using the Cell. So at the moment I have no spatial partitioning at all, I just do a brute force raytrace per pixel. Even a simple bounding box would significantly speed up the current implementation, especially for the test scenes I’m using where there’s a lot of empty space.