Archive | October, 2007

Safari is not ready

Sorry Mac fan boys. Safari 3 in Leopard was obviously not ready for release. This afternoon – it has crashed on me a total of 7 times.

I can’t seem to narrow down the problem but only occurs after I access a site protected by HTTP Basic Authentication. After that, I have about 30 minutes (depends on whether I continue browsing said protected site) before it crashes.

*sigh* – That and the Expose bug… quite annoying really. I wouldn’t mind – but Firefox has more memory leaks than Vanguard.

UPDATE: Safari appears to be bugged for me when using Privoxy – When I have no Proxy settings set, everything works fine.

Comments { 0 }

DTrace with Postgres on OSX

I have posted a patch for enabling DTrace on Postgresql 8.2.5 on OSX. The way DTrace works in Postgres wasn’t compatible with how Apple broke DTrace at all. I’ll be submitting the patch to MacPorts when I can actually use their site… until then you can grab it here.

DTrace with Postgres on OSX

Comments { 1 }

DTrace support for Ruby pre-compiled into Leopard

This I didn’t even bother to notice – So bit of a noob error.

If you check the WhatsNewInLeopard page over at macosforge – you can see they already built in the patch from the Joyent guys.

I should really have looked before embarking on doing the patch myself.

However – gave me a good insight into how to do it :)

I also did a quick check and noticed that Python also has it all compiled in too – shame the entry/exit names aren’t the same as the one on Python on Solaris though. They also haven’t included the PHP module that exists (and I have made work on OSX) so you can still grab that on this site.

Comments { 7 }

ginstall fails in MacPorts on Leopard

Yes it does indeed – So I did this in the end:

cd /opt/local/bin
mv ginstall ginstall.old
ln -s /usr/bin/install ginstall

Everything works for me now :)

Comments { 2 }

DTrace with PHP on OSX

Linked below is the page I have added to this site which details a patch I have made to fix the DTrace extension for PHP to work with OSX Leopard after Apple appear to have broken a reasonable amount of functionality with DTrace *sigh*.

DTrace with PHP on OSX

Comments { 1 }

DTrace in Scripted Languages

Well it’s been a very busy couple of months since I posted on here. We’ll skip through why I haven’t posted in a blink of an eye though.

I got promoted (yay), Wedding prep is going well and is on track, Work is extremely busy – leaving not much time for other pursuits.

Anyway… I’ve been playing with DTrace recently. For those that don’t know what DTrace is I sincerely suggest you check out the video of the Google Tech Talk by Bryan Cantrill on Google Video.

My favourite bit of the video is where he recounts his early weeks at Sun and talking that software is different.

“Software is different, software is unique. And we try and draw analogies between software and other things we build; those analogies always come apart”

And at 4:26: “This isn’t a thing! This doesn’t exist! We’re not seeing a manifestation! We’re seeing a representation of an abstraction. This doesn’t exist anymore than your name exists. Your name doesn’t exist. We made it up! Doesn’t this bother you?”

Now although Bryan then uses this as a starting point of the whole DTrace debugging method – he has another distinct point. A point which has come true at nearly every point in my career. You can’t design the design before the design.

So, back to DTrace.

I love it. No really, I do. The real power of it for me comes from monitoring the three main scripted languages: Python, PHP and Ruby (on and off Rails).

On my Solaris 10 box (yes, no fancy Developer Express on this testing). I now have Ruby 1.8.6 (with p111), Python 2.5.1 and PHP 5.2.0 working 100% with DTrace. That is – I can actually trace through what a running PHP script in Apache is doing.

That is immensely powerful.

Here’s the thing though. The PHP addon for DTrace doesn’t work. I have fixed it and sent the information on how to fix it back to it’s maintainer (hopefully an official fix will come out in a few days from him). Ruby 1.8.6, although there is a patch, doesn’t have the latest security fixes. Not overly useful? I have patched that locally (if anyone reads this and wants the patch – let me know).

Python 2.5.1? That doesn’t appear to exist at Sun. Although someone made a rough patch for it. It doesn’t compile, work or anything. Why release it if you haven’t even compiled it…? No matter. It took a couple of hours – but I got that working too in the end.  That one however is a ‘new’ patch. Again – if anyone wants this patch, let me know.

Comments { 1 }