Archive for the “Programming” Category
Dec
27
2006
Dec
13
2006
Newest MacPorts committerPosted by: Kevin Ballard in Programming, tags: commit, MacPorts, Open Source, Programming, TclAs of this afternoon, I am now an official committer for MacPorts. For those not in the know, MacPorts (née DarwinPorts) is an open-source package manager for Darwin (although it should work with other *nixes, it’s really intended for Darwin). I’ve been using it for quite some time, and even contributed a few Portfiles a while ago. Well, I started poking at it again recently, and then jmpp on #macports convinced me to apply for a commit bit. Now I just gotta do something to justify this shiny new bit.
Nov
16
2006
Objective-C caching and Method SwizzlingPosted by: Kevin Ballard in Cocoa, Programming, tags: c, caching, Cocoa, obj, objective, Programming(This post was adapted from an email I sent to Mike Solomon). Objective-C has a method caching mechanism that optimizes for the case where
a small number of methods are called repeatedly on one (or more) objects of a
given class. This happens very often; for example, if you iterate over an array
to gather the results of performing an operation on each element, you’re going to
be calling the same method on a bunch of instances of the same class. And in fact
the The fact that method caching exists is common knowledge. However, what isn’t generally known is how that caching is implemented, and what it means for you if you want to hack around on the internals of a class.
Jul
23
2006
CGSSetWindowWarp explainedPosted by: Kevin Ballard in Programming, tags: CGS, CoreGraphics, ironcoder, Programming, windowIroncoder 0x2 wraps up in a few hours, and this time the API was CoreGraphics. As soon as I heard this, I knew I wanted to do something with window mesh deformation. What’s that? Why, it’s the private CoreGraphics call you can use to do the effects such as the Genie minimize effect, though I believe it’s new in 10.3. It’s a function called CGSSetWindowWarp(), and it’s extremely poorly documented. First, some history. CoreGraphics has a bunch of private calls that range from applying transitions to windows (such as the cube effect seen in Apple Remote Desktop and Quicksilver) to managing virtual desktops to setting alpha levels on groups of windows system-wide. As far as I am able to ascertain, Richard Wareham did the bulk of the work to expose these calls, as part of development on his Desktop Manager program, the most well-known virtual desktop solution for OS X. He released a file named CGSPrivate.h that contained these basic calls, so others could use it. Since then, more private calls have been discovered, and among them were CGSSetWindowWarp().
Jul
23
2006
Typo 4.0 is outPosted by: Kevin Ballard in Programming, Ruby, Site News, tags: rails, Ruby, site, typoTypo 4.0 is out! Many thanks to Scott Laird for his wonderful work on Akismet support and the new gem installer.
Jun
28
2006
Yahoo Messenger for OS XPosted by: Kevin Ballard in Cocoa, Programming, tags: Cocoa, Programming, work, yahooEarlier today Yahoo! finally released Yahoo! Messenger for OS X 3.0 beta 1, with an incredibly positive reaction from the general public. This is the app that I’ve spent the last 8 months working on, and I’m really proud to have finally released our first public beta. Even if you don’t use the old client, you should check it out. It’s a 100% rewrite in Cocoa, with a brand new spiffy UI, Growl support, avatar support, and more.
Jun
12
2006
FuzzMeasure Pro 2.0Posted by: Kevin Ballard in Programming, tags: audio, Cocoa, FuzzMeasure, Programming, sound, SuperMegaUltraGroovyChris Liscio just released the next major version of his application, FuzzMeasure Pro 2.0. I think congratulations for all his hard work are in order.
Jun
06
2006
The Rez file formatPosted by: Kevin Ballard in Programming, tags: apple, developer, mpw, resource, rezWell, it took me a while to track down, but if you’ve ever needed documentation on the Rez file format, you want the Building and Managing programs in MPW manual from developer.apple.com.
Mar
16
2006
SafariSource universalPosted by: Kevin Ballard in Cocoa, Programming, tags: safari, SafariSource, simbl, UniversalWith the availability of a universal SIMBL plugin I’ve now released a universal version of SafariSource. Download here.
Mar
16
2006
Graph of all Universal Type IdentifiersPosted by: Kevin Ballard in Programming, Ruby, tags: graph, graphviz, omnigraffle, omnigroup, Ruby, utiAfter a couple hours of hacking I managed to come up with a ruby script that generated a GraphViz dot file that describes all of the Universal Type Identifiers on the system. I’ll release it later once I make it a bit more usable, but right now I have a dot file to hand out. If you don’t have GraphViz installed you can download the dmg, or you can use OmniGraffle. Just open up the file in Graphviz.app or OmniGraffle.app - note however, that OmniGraffle seems to screw up the border and widths of all the nodes, so if you don’t have a registered version (and thus cannot edit the file), you should stick with Graphviz. Download: utigraph.zip
|

Entries (RSS)