Archive for the “Cocoa” Category

Ok, I just released SafariSource v1.5. This version adds a preference pane to Safari’s preferences that lets you control the syntax highlighting. It also adds the option to use italic/underline/bold in addition to colors and the ability to change the base font/size.

This update was a real pain to do. I ran into a memory corruption bug that I spent hours trying to track down. A couple hours ago I finally discovered the cause. I was using a header file class-dumped from Jaguar’s AppKit and apparently Panther added 2 new ivars to NSPreferencesModule. What I didn’t expect was that my definition of NSPreferencesModule was taking precedence over AppKit’s definition, so when I allocated the memory for my subclass it wasn’t large enough and whenever those 2 extra ivars were written to it was writing to memory that wasn’t owned by my instance and that was the memory corruption. Simply class-dumping a new header file and using that magically solved the problem.

Anyway, enjoy :)

Comments Comments Off on Update to SafariSource

I always thought that Safari’s source view was pretty dull and uninteresting and that they could have done better with it. Well, last night I finally decided to do something about it. After spending a couple hours looking over the disassembly of parts of Safari (to figure out where best to patch it) and then spending many more hours actually writing an HTML syntax colorizer I have a working SIMBL plugin that adds syntax coloring to Safari’s source view. I think it works quite well, although I admit I should add a preference pane to control the colors (it’s harder than you’d think to add a preference pane to Safari, which is why I don’t have it done for this release). If you want to download SafariSource (my plugin), you can get it here.

If you don’t like the existing colors you can always change them with a few terminal commands. Simply go in the terminal and use the following commands:

defaults write SafariSourceTagColor -array red green blue defaults write SafariSourceAttributeColor -array red green blue defaults write SafariSourceStringColor -array red green blue defaults write SafariSourceEntityColor -array red green blue defaults write SafariSourceIgnoreColor -array red green blue defaults write SafariSourceDocTypeColor -array red green blue defaults write SafariSourceProcessingInstructionColor -array red green blue

Most of those should be obvious what they affect. The SafariSourceIgnoreColor one affects the color used for the contents of <style> and <source> tags.

Anyway, if you have any feedback on SafariSource, feel free to send it to me.

Comments Comments Off on SafariSource

It’s been a while since I’ve posted anything, I know. I really should start posting again. I just don’t have much to talk about. Here’s an update on my current status:


Colloquy is a Mac OS X IRC client. It’s not as powerful as some others, notably X-Chat Aqua, but it’s the only one that’s actually well-designed from a UI standpoint (it looks like an Aqua IRC client should look). Colloquy is also really nice from a code standpoint. For instance, the way it does Styles. It has several different styles, and they all look fairly different. The way it’s done is everything is rendered in a WebView using Safari’s WebKit. It translates the IRC traffic into an XML log and uses XSLT to translate the log into an XHTML document and renders that in the WebView. For new messages it uses JavaScript to append the message to the end of the document. This makes it really flexible and really powerful. Here’s a screenshot of my favorite style, called Meinzer:

Read the rest of this entry »

Comments Comments Off on Status Update

I just finished version 1.0 of Rendezvous Browser. This application will let you browse the rendezvous services available on your local network. It comes complete with a list of known services and lets you add your own to browse for. Very useful if you want to know what services are being advertised on what computers. You can download it here.

Version 1.3 is now available. For changes, see the product page.

Comments Comments Off on Rendezvous Browser released

Recently I’ve been going through some Cocoa tutorials, including ones on Rendezvous and networking. A few hours ago I decided to test my knowledge of Rendezvous and write a Rendezvous Browser - an application to display all the domains and rendezvous services.

Well, it turns out you can’t scan for arbitrary Rendezvous Services - you have to know what service you’re scanning for. But, conveniently, Rendezvous Beacon (now called Network Beacon, a name change I don’t like) had a list of known Rendezvous Services (with the exception that the iChat service was wrong), so I just took that.

So anyway, I finished my application to display the Rendezvous services available on the network. Next thing I’ll do with it is add preferences so you can select what services to scan or add your own.

I just blurred the IPs in the screenshot because my security-concious friend is a bit too paranoid :)

For the interested, a here’s a screenshot:

Comments Comments Off on Rendezvous Browser

Well, I’ve done some more work on myBlog. The Entries/Drafts drawer now displays the full list. The Ping URLs table is now fully-functional. A bunch of things now get saved into preferences. The structure for saving post/blog information has been implemented.

I’m probably about 25% done with this.

Read the rest of this entry »

Comments Comments Off on Status update on myBlog

Well, I’ve made some progress with myBlog. First, I’ve decided to ditch the 3rd-party XMLRPC framework and use the WebServicesCore framework, now that I actually know about it :D

Read the rest of this entry »

Comments Comments Off on myBlog progress

I’ve started development on an application I’m calling myBlog. It’s an application for posting to MovableType blogs, similar to Kung-Log. However, the goal of this application is to be much more writer-oriented. The idea came from codepoet

Read the rest of this entry »

Comments Comments Off on myBlog development started

I just finished version 1.1 of iTunes Remote. This new version how has slightly better code for the timer and error handling, and it also lets you define a global hotkey that brings it to the front.

Comments Comments Off on iTunes Remote v1.1