TIP: How to get “anonymous” class functions to show up in Safari’s JavaScript Profiler

Posted on November 18, 2009 by David Hilowitz

I’ve been developing a JavaScript module for some graphing work I’m doing. I’ve been using Safari’s built in profiler to figure out which functions are wasting the most CPU. It’s a great tool:

The Safari 4 JavaScript Profiler before I correctly declared my class's member functions

For the longest time, I was running up against this one problem: some of my member functions were being listed simply as “(anonymous function)” in the Profiler function list (see highlighted row above). Not cool. (Luckily for me, the Profiler also lists the .js file and the line number, so it wasn’t that hard to figure things out, but certainly annoying nonetheless.)

Anyway, I’ve finally found a solution. You see, I was declaring my class functions as follows:

Grafsz.prototype.ClearCanvas = function() 
{
    ...
}

…notice how I’m not giving my function a name? I’m basically assigning an anonymous function to a member variable of the class. All I had to do was change it to

Grafsz.prototype.ClearCanvas = function ClearCanvas()
{
 ...
}

That’s it. Check it out:

Safari 4 JavaScript Profiler after I had correctly declared my functions

GO PROGRAMMING TIP: Where to put the ‘go.pbfilespec’ and ‘go.xclangspec’ files.

Posted on November 16, 2009 by David Hilowitz

So I was trying to get XCode syntax highlighting support for Google’s new Go language. I had located the two XCode files in the Go SRC package (these were in $GOROOT/misc/xcode), but for the longest time I couldn’t figure out where to put them. I finally stumbled on the answer (thanks to Talamathi for putting me on the right track): The files go in /Developer/Library/PrivateFrameworks/XcodeEdit.framework/Versions/A/Resources/

In short, if you want syntax highlighting support for the Go language in XCode, the following should get you there:
cp $GOROOT/misc/xcode/* /Developer/Library/PrivateFrameworks/XcodeEdit.framework/Versions/A/Resources/

CODE: A ‘Go’ Linked List Implementation

Posted on by David Hilowitz

So I’ve been experimenting with Google’s Go programming language. So far I’m liking it quite a bit. Here’s a rudimentary implementation of a Stack I made using a Linked List. As you can see, I’ve defined two interfaces — one for the Linked List functionality and one for the Stack functionality — but I haven’t implemented either fully. There’s also a main() function thrown in to demonstrate the functionality. Right now the Linked List only stores integers, but this could be changed very easily.

Click here to download:

LinkedListStack.go (1 KB)

TIP: FiddlerHook: Easier Support for Fiddler in Firefox

Posted on by David Hilowitz

You may all already know about this, but on reinstalling Fiddler I was pleasantly surprised to discover this: official support for Fiddler in Firefox. Not bad, right? It comes in the form of an extension called “FiddlerHook.”

Read more here: http://www.fiddler2.com/fiddler2/addons/fiddlerhook/

David

PS. Up until now I had been using something called “SwitchProxy” to do almost the same thing, but this is definitely better.

Posted via email