Doxygen UI for OS X

MacPorts comes with a nice package for Doxygen, the source documentation tool. However, it is missing the doxywizard, to quickly create and edit the sometimes very long Doxygen configuration files. However, there is a page (even from the original Doxygen guy) hosting special OS X builds with a nice small bundle, that you can drop into your Applications folder and which looks like this:

Finally: Rotations of real Spherical Harmonics according to Blanco et al.

I finally managed to implement Blanco’s 1997 paper. The formulas were quite tedious to implement correctly, with all the matrix indices going possibly wrong. But after lots of debugging, I now have a working implementation in my SH explorer. Have a look:

This is an antenna pattern by Tiiti, which was rotated by 45, 90 and 45 degrees, in ZYZ angles. And it did not explode or deform badly. 🙂

OS X 10.6.5: GLSL problems are solved

Thank you Apple, thank you. The latest OS X update solved my crashes and broken renderings when using GLSL. Apple does not state what has changed in the knowledge base, but my last assumption was that at least the GLSL compiler produced broken code. Apple uses the wonderful LLVM compiler infrastructure for GLSL, which is great, but also known to produce problems sometimes. But LLVM+GLSL has made great advances, and this update makes it even better. Here’s the correct rendering which I now can enjoy:

Update: I was too quick with my joy. The machine crashed again. But differently. It took much longer, and there was a hint screen this time, plus the machine sent a crash report after the reboot. Hopefully we are slowly getting to a solution… Ok, let’s reopen the bugreport at Apple…
Update 2: I investigated a little bit more. It seems that when I switch the MBP back to using the GeForce 9400M instead of the 9600M, the machine does not crash. I played around for a couple of minutes, and it seems to work fine. Of course it is horribly slow, because I am pushing it with a massive volume dataset and a marching raycaster, but it at least works. The 21″ iMac with the ATI card still fails miserably. Rendering is totally borked, but at least it does not crash.
Update 3: After two weeks of letting this rest, I tried today again, and I cannot manage to crash the whole machine anymore. I don’t know what Updates changed this behaviour, but I am glad anyway. The ATI card still produces garbage, but neither the 9400M, nor the 9600M GT nor the GT120 in the iMac crash at the moment. If the machine locks up again, I’ll report back with the panic log.

GLSL bugs in OS X still there

 Some time back I reported on crashing the Macs here using a non-trivial GLSL shader program. This bug still exists to this day. Now we’ve got a small, brand new 21″ iMac, fresh out of the box. It exhibits a similar problem. This time, the UI does not lock up, but the rendering is totally borked. Compare the two screenshots. The first one shows the correct rendering, on a Linux PC using an NVIDIA GTX285 GPU, the other one is from the 21″ iMac using an ATI GPU. The trick between crashing and not crashing seems to be the ATI brand…

Linux and the UUID

Even after more than 15 years of Linux experience, I sometimes learn new stuff. Today, I figured out why my KDE goes haywire sometimes. It turns out, that my swap file was mounted as /dev/sda1. Which is fine, most of the time. Except when an external USB drive is plugged in. Then that one becomes sda, and the internal drives goes to sdb or even sdc, when two external drives are plugged in. So the swap won’t work, and the USB drive cannot be mounted via dBus / HAL, since it is suddenly listed in the /etc/fstab. Also, KDE will have some strange troubles during this time, and will not restore my session. But I am not 100% sure this is related. Time will tell… Anyway, what was strange was, that everything else worked. That was because the root filesystem was mounted using a UUID, which identifies a partition or volume uniquely. So, why did the swap not have this? Seems, this was forgotten by Ubuntu upon the upgrade to Maverick. But the Ubuntu Wiki helps. So what I did was:
  # swapoff /dev/sda1
  # MYUUID=$(uuidgen)
  # mkswap -U $MYUUID
  # sed “s//dev/sda1/UUID=$MYUUID/”
  # swapon /dev/sda1
You can also just edit fstab with the editor of your choice…

Do magnetic hard drives go the way of the poodle?

There is an article over at Slashdot about the possible decline of the traditional hard disk. We now have tablets like the iPad and its clones having only solid state / flash memory, and the new MacBook Air reaching a price point which is a direct competition to Apple’s entry level MacBook. This really might be a sign for solid state storage to have reached the ordinary customer, outside of MP3 players, cameras and smartphones. The discussion on Slashdot is erratic and irrational, as usual, but some interesting points are also made. The thing those people are missing though is: This is again another Apple strategy. Apple can allow to enter a mass market first. They have loads of money, their products are still priced at the high point. They don’t compete with the low level market. So offering a 11.6″ laptop with a meagre 64 GiB of storage is doable for Apple. Sure, most geeks will say: What a puny machine! But again, as with the iPad, Apple can drive markets that don’t care about computing power and loads of disk storage: Your mom, my mom and millions of other people might be happy with such a machine, that only 5 years ago would have been more computer than you’d ever needed. In a significantly larger form factor.
And in 5 years you probably won’t see any laptop with a spinning drive anymore. Apple is just very early to the game, as usual. Remember the floppy-less iMac? They never were the first, but they were always quick to pick up and set trends. Also, what most geeks at Slashdot don’t understand: Yes, Apple is fashion. Apples is expensive. But that’s exactly why their product sell. Is it a good thing? Probably not. But that’s how the market works: fashion sells. Also their laptops are incredibly well manufactured, in my opinion. Not without flaws, but much better than most devices I held in my hand.