<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.6.1" -->
<rss version="0.92">
<channel>
	<title>&#60;&#60; shiftedbits</title>
	<link>http://shiftedbits.org</link>
	<description>Bits were made to be shifted</description>
	<lastBuildDate>Wed, 03 Sep 2008 05:38:09 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>Key Value Observing Improvements v1.2</title>
		<description>Hot on the heels of the 1.1 bug fix release comes version a freshly rewritten 1.2 with API cleanup, bug fixes, and a great new feature.

Lately, I've been using observers to allow an object to observe changes to its own properties. This means I don't have to override the setter ...</description>
		<link>http://shiftedbits.org/2008/09/03/key-value-observing-improvements-v12/</link>
			</item>
	<item>
		<title>Key Value Observing Improvements</title>
		<description>Key value observing is quite a useful tool, no doubt about it. But it has a singularly annoying manner of informing the observer of a change. The -[NSObject observeValueForKeyPath:ofObject:change:context:] method is sent to the observer when a change occurs. It's up to the implementor to parse the `change' dictionary to ...</description>
		<link>http://shiftedbits.org/2008/07/24/key-value-observing-improvements/</link>
			</item>
	<item>
		<title>SSE Optimized Compositing</title>
		<description>As part of a graphics API I've been working on (for my own use, it's hardly ready for production,) I decided to try learning SSE optimization by making the compositing routine faster.

I came up with an implementation which, according to my tests, is 3-5X faster than the non-optimized version. The ...</description>
		<link>http://shiftedbits.org/2008/01/29/sse-optimized-compositing/</link>
			</item>
	<item>
		<title>Transparency Layer Slowdowns</title>
		<description>As the documentation mentions, a transparency layer allows subsequent drawing to be rendered in a separate, fully transparent buffer before being composited to the destination context. In the absence of a clipping region, this buffer is the same size as the destination context, requiring a context-sized buffer regardless of the ...</description>
		<link>http://shiftedbits.org/2008/01/22/transparency-layer-slowdowns/</link>
			</item>
	<item>
		<title>Leopard CGWindowList* APIs</title>
		<description>Leopard brings new APIs at the CoreGraphics layer to gather information about windows on the system. These functions let you find windows relative to a known window, find all windows on the system, including those offscreen, and obtain images of one or more windows as composited by the Window Server.

However, ...</description>
		<link>http://shiftedbits.org/2007/11/08/leopard-cgwindowlist-apis/</link>
			</item>
	<item>
		<title>Time Machine Menu</title>
		<description>The Time Machine application, when in the dock, enables access to functions for showing Time Machine, backing up now, stopping an existing backup, browsing other Time Machine disks and showing Time Machine preferences. If you're like me, you'd like access to these features without the app in the dock; unfortunately, ...</description>
		<link>http://shiftedbits.org/2007/11/01/time-machine-menu/</link>
			</item>
	<item>
		<title>Time Machine Exclusions</title>
		<description>So Time Machine is a pretty convenient way to backup your machine, and I use it to backup my laptop to an external FireWire drive. Although Time Machine backs up the "whole system," I assumed there had to be some exclusions, such as cache files or /dev, for example. After ...</description>
		<link>http://shiftedbits.org/2007/10/31/time-machine-exclusions/</link>
			</item>
	<item>
		<title>Quicksilver Plugins</title>
		<description>As the Quicksilver site seems to be down right as everyone is reinstalling for Leopard, I've packaged the plugins I have into a zip available here. Quicksilver itself is available here. To install, just put the PlugIns folder in your Library/Application Support/Quicksilver folder or double click the plugins.

[Update] Zon Wakest ...</description>
		<link>http://shiftedbits.org/2007/10/28/quicksilver-plugins/</link>
			</item>
	<item>
		<title>Pointless Optimization</title>
		<description>The other day I needed to write a function to give me a formatted string representation of a quantity of bytes. Pretty trivial function, but nontheless, I found myself optimizing it. I ended up with the following:

static uint64_t count = 7;
static NSString *suffixes[7] = 
    { @"B", ...</description>
		<link>http://shiftedbits.org/2007/10/22/pointless-optimization/</link>
			</item>
	<item>
		<title>Color Setting Performance</title>
		<description> If you're looking to eek some extra performance out of your drawing code, take a look at how you're setting your fill and stroke colors. Setting the color using CGContextSetRGBFillColor() or creating a new CGColorRef/NSColor object each time you set the color is quite expensive to do each time ...</description>
		<link>http://shiftedbits.org/2007/10/06/color-setting-performance/</link>
			</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.252 seconds -->
