<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>allocinit</title>
	<atom:link href="http://www.allocinit.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.allocinit.net/blog</link>
	<description>happenings in the world of proton</description>
	<pubDate>Fri, 04 Jan 2008 09:42:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Application Specific Information in Leopard Crash Reports</title>
		<link>http://www.allocinit.net/blog/2008/01/04/application-specific-information-in-leopard-crash-reports/</link>
		<comments>http://www.allocinit.net/blog/2008/01/04/application-specific-information-in-leopard-crash-reports/#comments</comments>
		<pubDate>Fri, 04 Jan 2008 09:42:05 +0000</pubDate>
		<dc:creator>proton</dc:creator>
		
		<category><![CDATA[Mac]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.allocinit.net/blog/2008/01/04/application-specific-information-in-leopard-crash-reports/</guid>
		<description><![CDATA[Mac OS X Leopard added a lot of new features in the Crash Reporter giving much better crash reports in a number of situations. One of these enhancements you&#8217;ll see in applications like DashboardClient is that crash logs can contain an &#8220;Application Specific Information&#8221; section, with any text that application wants to appear in the [...]]]></description>
			<content:encoded><![CDATA[<p>Mac OS X Leopard added a lot of new features in the Crash Reporter giving much better crash reports in a number of situations. One of these enhancements you&#8217;ll see in applications like DashboardClient is that crash logs can contain an &#8220;Application Specific Information&#8221; section, with any text that application wants to appear in the crash log. Naturally the ability to add information to the crash report is currently Apple-only secret sauce. So how do they do it?</p>
<h2>Searching for Some Clues</h2>
<p>First up let&#8217;s take a look at what the application specific information looks like in a crash log.</p>
<pre>Process:         DashboardClient [3786]
Path:            /System/Library/CoreServices/Dock.app/Contents/
Resources/DashboardClient.app/Contents/MacOS/DashboardClient
Identifier:      com.apple.dashboard.client
Version:         1.5 (1.5)
Build Info:      Dock-5880000~1
Code Type:       X86 (Native)
Parent Process:  Dock [96353]

Date/Time:       2007-11-07 11:46:49.476 +1100
OS Version:      Mac OS X 10.5 (9A581)
Report Version:  6

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0&#215;00000000c56c0db3
Crashed Thread:  0

Application Specific Information:
/Library/Widgets/Dictionary.wdgt/
/Library/Widgets/World Clock.wdgt/
/Library/Widgets/Calculator.wdgt/
/Library/Widgets/Weather.wdgt/
/Library/Widgets/World Clock.wdgt/

[...]</pre>
<p>Further information with the usual backtrace and image information is shown below this part of the crash log.</p>
<p>OK, so now we know that the DashboardClient can put application specific information into the crash log, let&#8217;s take a look at the symbols that DashboardClient references:</p>
<pre>$ nm DashboardClient
[...]
         U ___CFConstantStringClassReference
000161fc D ___crashreporter_info__
         U __kLSASNKey
[...]</pre>
<p>Aha! Here we&#8217;ve got a symbol that looks pretty likely. It&#8217;s a data symbol (the D after the address) not a function symbol so it&#8217;s not something we need to call to tell the crash reporter something.</p>
<h2>Some Experiments</h2>
<p>Given that this seems to be a data pointer let&#8217;s take a logical jump that it&#8217;s probably going to be a pointer to some data: most likely the string of data that will be displayed in the crash log. Given this assumption, it&#8217;s time to try some code.</p>
<pre>/*
 *  crashinfo.c
 *  AppSpecificCrashInfo
 *
 *  Created by Andrew Wellington on 27/12/07.
 *  Copyright 2007 Andrew Wellington. All rights reserved.
 *
 */

#include
<dlfcn .h>
#include <unistd .h>

int main (int argc, char *argv[])
{
    char **theAppSpecificInfo = NULL;
    theAppSpecificInfo = dlsym(RTLD_DEFAULT, &#8220;__crashreporter_info__&#8221;);

    if (theAppSpecificInfo)
        *theAppSpecificInfo = &#8220;My Hovercraft is full of Eels&#8221;;

    /* Crash with a null dereference */
    char *crasher = 0;
    *crasher = 0;
}</unistd></dlfcn></pre>
<p>Let&#8217;s compile this:</p>
<pre>$ gcc -o crashinfo crashinfo.c -framework CoreFoundation</pre>
<p>Note that we&#8217;re linking to CoreFoundation as that&#8217;s the framework that contains the crash reporter symbol. If you don&#8217;t link to CoreFoundation the symbol lookup will fail and return NULL.</p>
<p>Time to try and run this:</p>
<pre>$ ./crashinfo
Bus error</pre>
<p>Our test crashed as expected, now did it create a crash log with the information we&#8217;re expecting? Open up Console from the Utilities folder then find the crash log for &#8220;crashinfo&#8221;.</p>
<pre>[...]
Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0&#215;0000000000000000
Crashed Thread:  0

Application Specific Information:
My Hovercraft is full of Eels
[...]</pre>
<p>Excellent, we&#8217;ve found our crash report and the application specific information is there. So it seems all we need to do is set the symbol to a pointer to a standard C string containing the information that we want.</p>
<h2>A Few Thoughts</h2>
<p>If you want to use this facility in your application there are some things you should be aware of:</p>
<p>Other frameworks might try and overwrite this value. If you do decide to use this, keep another reference to any dynamically allocated memory. This way you can free it if another framework overwrites the pointer and doesn&#8217;t leak memory.</p>
<p>You probably should limit any use of this feature to a subset of Mac OS X versions. At the very least you should only do this for Mac OS X 10.5 (on older versions the symbol either won&#8217;t exist, or it might do something totally different, and newer versions could be totally different again and this is an undocumented trick).</p>
<p>If another framework overwrites the data you might not get your application specific information so you still need to be able to extract as much information from crash reports by yourself as you can. This can provide more information than before, but it&#8217;s certainly not guaranteed to be there.</p>
<p>After working this out myself, I found a patch Apple adds to Samba on Mac OS X 10.5 that explains this in some detail: <a href="http://www.opensource.apple.com/darwinsource/Current/samba-187/patches/add-smb-panic-string-to-crashreporter">http://www.opensource.apple.com/darwinsource/Current/samba-187/patches/add-smb-panic-string-to-crashreporter</a>. The most important thing to note from that patch is this part:</p>
<pre> * NOTE: this is an unsupported interface and the
CrashReporter team reserve
 * the right to change it at any time.</pre>
<p>So I guess the answer there is: now you know how to do it, don&#8217;t. Enjoy <img src='http://www.allocinit.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.allocinit.net/blog/2008/01/04/application-specific-information-in-leopard-crash-reports/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Accuracy of Game Shows</title>
		<link>http://www.allocinit.net/blog/2007/10/19/accuracy-of-game-shows/</link>
		<comments>http://www.allocinit.net/blog/2007/10/19/accuracy-of-game-shows/#comments</comments>
		<pubDate>Thu, 18 Oct 2007 13:58:19 +0000</pubDate>
		<dc:creator>proton</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.allocinit.net/blog/2007/10/19/accuracy-of-game-shows/</guid>
		<description><![CDATA[How often do TV Game Shows get the answers to their questions wrong?
A while ago I was flicking through TV channels and fell onto Temptation. After watching a few minutes I came across this question:
Click the image to view video clip (QuickTime Movie, 1.2MB)

Question: Jane Bennet finally marries Mr Who in Pride and Prejudice? 
Answer: [...]]]></description>
			<content:encoded><![CDATA[<p>How often do TV Game Shows get the answers to their questions wrong?</p>
<p>A while ago I was flicking through TV channels and fell onto <i><a href="http://channelnine.ninemsn.com.au/section.aspx?sectionid=2187&#038;sectionname=temptation">Temptation</a></i>. After watching a few minutes I came across this question:</p>
<div style="text-align:center;"><a href="http://www.allocinit.net/blog/wp-content/uploads/2007/10/temptation.mov"><img src="http://www.allocinit.net/blog/wp-content/uploads/2007/10/temptation.jpg" alt="Temptation" border="0" width="510" height="290" /></a><br />Click the image to view video clip (QuickTime Movie, 1.2MB)</div>
<blockquote><p>
<b>Question:</b> Jane Bennet finally marries Mr Who in Pride and Prejudice? <br />
<b>Answer:</b> Mr Darcy [sic]
</p></blockquote>
<p>Of course anyone who has read Pride and Prejudice would know that Jane Bennet married Charles Bingley, and it was Elizabeth Bennet who married Mr Darcy.</p>
<p>With a simple mistake like this in the show, and an easily verifiable question at that, you&#8217;ve got to wonder how often they get it wrong.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.allocinit.net/blog/2007/10/19/accuracy-of-game-shows/feed/</wfw:commentRss>
<enclosure url="http://www.allocinit.net/blog/wp-content/uploads/2007/10/temptation.mov" length="1262276" type="video/quicktime" />
		</item>
		<item>
		<title>Back to Wordpress</title>
		<link>http://www.allocinit.net/blog/2007/10/17/back-to-wordpress/</link>
		<comments>http://www.allocinit.net/blog/2007/10/17/back-to-wordpress/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 12:21:34 +0000</pubDate>
		<dc:creator>proton</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://new.allocinit.net/blog/2007/10/17/back-to-wordpress/</guid>
		<description><![CDATA[I&#8217;ve decided I&#8217;m far too busy (and lazy) to maintain my own blog engine for this site so I&#8217;ve gone back to Wordpress. On the plus side this means I can try out MarsEdit and end up hopelessly addicted as it&#8217;s far too easy to blog with this. 
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve decided I&#8217;m far too busy (and lazy) to maintain my own blog engine for this site so I&#8217;ve gone back to <a href="http://wordpress.org">Wordpress</a>. On the plus side this means I can try out MarsEdit and end up hopelessly addicted as it&#8217;s far too easy to blog with this. <img src='http://www.allocinit.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.allocinit.net/blog/2007/10/17/back-to-wordpress/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Software Update Enabler 1.0.4 Released</title>
		<link>http://www.allocinit.net/blog/2007/10/02/software-update-enabler-104-released/</link>
		<comments>http://www.allocinit.net/blog/2007/10/02/software-update-enabler-104-released/#comments</comments>
		<pubDate>Mon, 01 Oct 2007 23:32:18 +0000</pubDate>
		<dc:creator>proton</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://new.allocinit.net/blog/2007/10/02/software-update-enabler-104-released/</guid>
		<description><![CDATA[
Software Update Enabler 1.0.4 has just been released. This version brings a couple of improvements:


Enhanced Software Update server port detection

Correct issue preventing launching on Mac OS X 10.5 &#8220;Leopard&#8221;


You can grab it from the Software Update Enabler page.
]]></description>
			<content:encoded><![CDATA[</p>
<p>Software Update Enabler 1.0.4 has just been released. This version brings a couple of improvements:</p>
<ul>

<li>Enhanced Software Update server port detection<br />
</li>
<li>Correct issue preventing launching on Mac OS X 10.5 &#8220;Leopard&#8221;
</li>
</ul>
<p>You can grab it from the <a href="/apps/suenabler/">Software Update Enabler</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.allocinit.net/blog/2007/10/02/software-update-enabler-104-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Actual List of Phrases Blocked by MSN</title>
		<link>http://www.allocinit.net/blog/2007/08/07/the-actual-list-of-phrases-blocked-by-msn/</link>
		<comments>http://www.allocinit.net/blog/2007/08/07/the-actual-list-of-phrases-blocked-by-msn/#comments</comments>
		<pubDate>Tue, 07 Aug 2007 02:17:15 +0000</pubDate>
		<dc:creator>proton</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://new.allocinit.net/blog/2007/08/07/the-actual-list-of-phrases-blocked-by-msn/</guid>
		<description><![CDATA[There has been a bit of a stink in the last few days by people shocked by a list of phrases that the MSN servers block. That list is nowhere near complete.
Here is the list of regular expressions blocked by the MSN servers:

\.pif
\.scr
grouppicture\.php
groupicture\.php
gallery\.php
staff\.php
pics\.php
msn\.php\?email=
download\.php
xmas-2006
miralafoto/foto\.exe
profile\.php\?
tufoto
verti2/fantasma\.zip
armazfiles\.smtp\.ru
chnstudio\.com/upload/impluse\.exe
t35\.com
members\.lycos\.co\.uk/svy21/t/contact\.php
sonresimler1\.googlepages\.com/ozelresimler\.htm
viotagallery\.com
image001\.png
image002\.gif
funbuddyicons\.com
wellwell\.biz
casedinjertionkderunhdaseo\.com
jertionkdewiondaserunf\.com
butuinkdesionmas\.com
imp\.exe
bush-gracioso\.exe
memebers\.lycos\.co\.uk/getmessenger
get-messenger
belgravehelpdesk\.com
xpimad\.com
album\.zip
malbranche\.goracer\.de
albrahem\.com
improfile\.net
unknowntools\.com
hetandunhasde\.com
thecoolpics\.net
.*www\.provnarkotika\.com.*
gratishost\.com
dreamlife365\.com
whoadmitsyou\.com
blockoo\.com
baratinha\.mypets\.ws
messangerstats\.net
messengertools\.org
stuffplug\.com/temp/downgrdr\.exe
hornymatches\.com
iwantu\.com
block-checker\.com
amigosparasempre\.smtp\.ru
amigosparasempro\.smtp\.ru
chinacircle\.com
mensagemparavc\.mail15\.com
mprofiles\.net/members\.php\?msn=
930le\.com
66663\.cn
shusu\.cn
1717wan\.cn
995ba\.com
mydipan\.cn
51kongqi\.com
94nile\.com
life365\.com
photogbase\.com/pictures\.php\?photo656\.jpg
mypengyou\.com
51pingguo\.cn
spotyourface\.net/main/pictures/sexy
windowslivemessenger\.biz
mensageirovirtual\.land\.ru
provnarkotika\.com
tinyurl\.com/asdkfh13/
wasedinterfunva\.com
qerunherdasfunkin\.com
photos\.zip
.*2nnvc7.*
.*urltea\.com.*
urltea\.com/p2s
tinyurl\.com/2nnvc7
linkangel\.net/msn
messenger-tips\.com
imrealm\.com
blocknblock\.com
imtract\.com
blockinrio
messaging-names
tebloqueo\.com
mesns\.com
.*messenger-tips\.com.*
.*get-messenger\.com.*
.*hotbeachpics\.net.*
.*wadesuntiondketunhasde\.com.*
.*la\.gg/upl.*
cbswest\.com
newmsn
cirnews\.com
.*easedrunkiondehunfans\.com.*
.*amazingsexy\.net.*
.*nishiwo\.com.*
.*vetionkdesunjadefin\.com.*
.*handeusjinkdewshishu\.com.*
.*pozaseruiasterduin\.com.*
.*okinyunhfeunasterfunjin\.com.*
.*messengerscan\.com.*
.*\.info.*
.*messenger-scan.*
.*my-msn\.servebeer\.com.*
.*summer2008.*
.*images\.zip.*
.*messengerscan\.net.*
.*msn-csi\.tk.*
.*messenger-contacts\.tk.*
.*xedinkiontnherioplinades\.com.*
.*messenger-list\.com.*
.*messengercheck\.biz.*
.*msn-contacts\.tk.*
.*myalbum2007\.zip.*
.*cirnews\.com.*
.*messenger-checker\.tk.*
.*msn-live-scanner\.tk.*
.*msn-scanner\.tk.*
]]></description>
			<content:encoded><![CDATA[<p>There has been a bit of a <a href="http://yro.slashdot.org/article.pl?sid=07/08/05/1311216">stink</a> in the last few days by people shocked by a <a href="http://trac.adiumx.com/wiki/MSNCensorship">list of phrases</a> that the MSN servers block. That list is nowhere near complete.</p>
<p>Here is the list of regular expressions blocked by the MSN servers:</p>
<p>
<pre>\.pif
\.scr
grouppicture\.php
groupicture\.php
gallery\.php
staff\.php
pics\.php
msn\.php\?email=
download\.php
xmas-2006
miralafoto/foto\.exe
profile\.php\?
tufoto
verti2/fantasma\.zip
armazfiles\.smtp\.ru
chnstudio\.com/upload/impluse\.exe
t35\.com
members\.lycos\.co\.uk/svy21/t/contact\.php
sonresimler1\.googlepages\.com/ozelresimler\.htm
viotagallery\.com
image001\.png
image002\.gif
funbuddyicons\.com
wellwell\.biz
casedinjertionkderunhdaseo\.com
jertionkdewiondaserunf\.com
butuinkdesionmas\.com
imp\.exe
bush-gracioso\.exe
memebers\.lycos\.co\.uk/getmessenger
get-messenger
belgravehelpdesk\.com
xpimad\.com
album\.zip
malbranche\.goracer\.de
albrahem\.com
improfile\.net
unknowntools\.com
hetandunhasde\.com
thecoolpics\.net
.*www\.provnarkotika\.com.*
gratishost\.com
dreamlife365\.com
whoadmitsyou\.com
blockoo\.com
baratinha\.mypets\.ws
messangerstats\.net
messengertools\.org
stuffplug\.com/temp/downgrdr\.exe
hornymatches\.com
iwantu\.com
block-checker\.com
amigosparasempre\.smtp\.ru
amigosparasempro\.smtp\.ru
chinacircle\.com
mensagemparavc\.mail15\.com
mprofiles\.net/members\.php\?msn=
930le\.com
66663\.cn
shusu\.cn
1717wan\.cn
995ba\.com
mydipan\.cn
51kongqi\.com
94nile\.com
life365\.com
photogbase\.com/pictures\.php\?photo656\.jpg
mypengyou\.com
51pingguo\.cn
spotyourface\.net/main/pictures/sexy
windowslivemessenger\.biz
mensageirovirtual\.land\.ru
provnarkotika\.com
tinyurl\.com/asdkfh13/
wasedinterfunva\.com
qerunherdasfunkin\.com
photos\.zip
.*2nnvc7.*
.*urltea\.com.*
urltea\.com/p2s
tinyurl\.com/2nnvc7
linkangel\.net/msn
messenger-tips\.com
imrealm\.com
blocknblock\.com
imtract\.com
blockinrio
messaging-names
tebloqueo\.com
mesns\.com
.*messenger-tips\.com.*
.*get-messenger\.com.*
.*hotbeachpics\.net.*
.*wadesuntiondketunhasde\.com.*
.*la\.gg/upl.*
cbswest\.com
newmsn
cirnews\.com
.*easedrunkiondehunfans\.com.*
.*amazingsexy\.net.*
.*nishiwo\.com.*
.*vetionkdesunjadefin\.com.*
.*handeusjinkdewshishu\.com.*
.*pozaseruiasterduin\.com.*
.*okinyunhfeunasterfunjin\.com.*
.*messengerscan\.com.*
.*\.info.*
.*messenger-scan.*
.*my-msn\.servebeer\.com.*
.*summer2008.*
.*images\.zip.*
.*messengerscan\.net.*
.*msn-csi\.tk.*
.*messenger-contacts\.tk.*
.*xedinkiontnherioplinades\.com.*
.*messenger-list\.com.*
.*messengercheck\.biz.*
.*msn-contacts\.tk.*
.*myalbum2007\.zip.*
.*cirnews\.com.*
.*messenger-checker\.tk.*
.*msn-live-scanner\.tk.*
.*msn-scanner\.tk.*</pre></p>
]]></content:encoded>
			<wfw:commentRss>http://www.allocinit.net/blog/2007/08/07/the-actual-list-of-phrases-blocked-by-msn/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Floating Point Isn&#8217;t Base-10 Folks and That&#8217;s Not Encryption</title>
		<link>http://www.allocinit.net/blog/2007/01/06/floating-point-isnt-base-10-folks-and-thats-not-encryption/</link>
		<comments>http://www.allocinit.net/blog/2007/01/06/floating-point-isnt-base-10-folks-and-thats-not-encryption/#comments</comments>
		<pubDate>Sat, 06 Jan 2007 12:53:59 +0000</pubDate>
		<dc:creator>proton</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://new.allocinit.net/blog/2007/01/06/floating-point-isnt-base-10-folks-and-thats-not-encryption/</guid>
		<description><![CDATA[Scott Stevenson recently talked about Cha-Ching. Cha-Ching is a &#8220;money manager&#8221;, or so Midnight Apps say. After Scott&#8217;s praise, I thought I&#8217;d take a look to see what all the fuss was about.
Unfortunately, it seems the Midnight Apps crew don&#8217;t quite understand the concept of floating point numbers and how they&#8217;re stored. A floating point [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://theocacao.com/">Scott Stevenson</a> recently <a href="http://theocacao.com/document.page/383">talked about Cha-Ching</a>. <a href="http://www.midnightapps.com/chaching/">Cha-Ching</a> is a &#8220;money manager&#8221;, or so Midnight Apps say. After Scott&#8217;s praise, I thought I&#8217;d take a look to see what all the fuss was about.</p>
<p>Unfortunately, it seems the Midnight Apps crew don&#8217;t quite understand the concept of floating point numbers and how they&#8217;re stored. A floating point number can not accurately store every base 10 number you can write down.</p>
<p>The IEEE 754 floating point standard stores single precision floating point numbers as a sign bit, an 8-bit exponent, and 23-bit mantissa. While I don&#8217;t have the time to explain floating point completely, suffice to say a simple value like $5.10 can&#8217;t be accurately represented with a binary floating point number. There&#8217;s a heap of information about floating point arithmetic in a classic paper <a href="http://docs.sun.com/source/806-3568/ncg_goldberg.html">What Every Computer Scientist Should Know About Floating-Point Arithmetic</a>.</p>
<p>It seems someone brought to the attention of the Midnight Apps team this problem in a <a href="http://www.midnightapps.com/forum/viewtopic.php?id=64">forum thread</a> and they now say this is fixed: I&#8217;m betting (and I haven&#8217;t seen a fixed version to be sure) that all they&#8217;ve done is apply a data formatter to that text field. This just masks the problem, the transaction will still it appears be processed as a floating point value, and that&#8217;s not something one does with monetary values.</p>
<p>At this stage this was all I was going to write about Cha-Ching: it seemed to be an interesting application. It was probably not that exciting, but not that terrible, and written by some developers who haven&#8217;t done enough study to understand floating point numbers. Easy enough mistake to make. That was until I discovered&#8230;</p>
<p>The preference option for &#8220;encryption&#8221; of the database that does nothing of the sort. What it actually does is set a preference &#8220;ShouldEncryptDatabase&#8221; in NSUserDefaults and stores the password in the keychain (!!!). The data file is left in clear text in a happy happy XML document. You can edit the password Cha-Ching will require by simply modifying the keychain entry, or remove the need entirely by changing the &#8220;ShouldEncryptDatabase&#8221; flag to no.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.allocinit.net/blog/2007/01/06/floating-point-isnt-base-10-folks-and-thats-not-encryption/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ironcoder 4</title>
		<link>http://www.allocinit.net/blog/2006/10/31/ironcoder-4/</link>
		<comments>http://www.allocinit.net/blog/2006/10/31/ironcoder-4/#comments</comments>
		<pubDate>Tue, 31 Oct 2006 08:18:48 +0000</pubDate>
		<dc:creator>proton</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://new.allocinit.net/blog/2006/10/31/ironcoder-4/</guid>
		<description><![CDATA[Ironcoder was on again last weekend with the API Core Image and theme Space. I finally got enough time to actually write an entry this time which was the first runner up (woot!).
There were a lot of cool entries, enough to keep me entertained for a few hours at least. You can download all the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ironcoder.org">Ironcoder</a> was on again last weekend with the API <i>Core Image</i> and theme <i>Space</i>. I finally got enough time to actually write an entry this time which was the first runner up (woot!).</p>
<p>There were a lot of cool entries, enough to keep me entertained for a few hours at least. You can download <a href="http://ironcoder.org/entries/ironcoder_4.dmg">all the entries</a> from the Ironcoder site.</p>
<p>Big thanks to <a href="http://borkware.com/">Mark Dalrymple</a> for the awesome organising, I&#8217;m sure <a href="http://www.toxicsoftware.com">Jonathan Wight</a> will do just as awesome a job as chairman next time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.allocinit.net/blog/2006/10/31/ironcoder-4/feed/</wfw:commentRss>
		</item>
		<item>
		<title>You May be Out of Touch If&#8230;</title>
		<link>http://www.allocinit.net/blog/2006/09/25/you-may-be-out-of-touch-if/</link>
		<comments>http://www.allocinit.net/blog/2006/09/25/you-may-be-out-of-touch-if/#comments</comments>
		<pubDate>Mon, 25 Sep 2006 08:12:07 +0000</pubDate>
		<dc:creator>proton</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://new.allocinit.net/blog/2006/09/25/you-may-be-out-of-touch-if/</guid>
		<description><![CDATA[&#8230;you think a floppy disk shoulder bag is &#8220;stylish&#8221;.
]]></description>
			<content:encoded><![CDATA[<p>&#8230;you <a href="http://www.boingboing.net/2006/09/24/howto_make_a_shoulde.html">think a floppy disk shoulder bag is &#8220;stylish&#8221;</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.allocinit.net/blog/2006/09/25/you-may-be-out-of-touch-if/feed/</wfw:commentRss>
		</item>
		<item>
		<title>System Administrator Appreciation Day</title>
		<link>http://www.allocinit.net/blog/2006/07/29/system-administrator-appreciation-day/</link>
		<comments>http://www.allocinit.net/blog/2006/07/29/system-administrator-appreciation-day/#comments</comments>
		<pubDate>Sat, 29 Jul 2006 00:04:00 +0000</pubDate>
		<dc:creator>proton</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://new.allocinit.net/blog/2006/07/29/system-administrator-appreciation-day/</guid>
		<description><![CDATA[Today was System Administrator Appreciation Day.
Did you give your sysadmin something? Or did your users give you anything?
Didn&#8217;t think so. Lazy the lot of you!  
]]></description>
			<content:encoded><![CDATA[<p>Today was <a href="http://sysadminday.com/">System Administrator Appreciation Day</a>.</p>
<p>Did you give your sysadmin something? Or did your users give you anything?</p>
<p>Didn&#8217;t think so. Lazy the lot of you! <img src='http://www.allocinit.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.allocinit.net/blog/2006/07/29/system-administrator-appreciation-day/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Of Colour Wells and Alpha</title>
		<link>http://www.allocinit.net/blog/2006/06/20/of-colour-wells-and-alpha/</link>
		<comments>http://www.allocinit.net/blog/2006/06/20/of-colour-wells-and-alpha/#comments</comments>
		<pubDate>Tue, 20 Jun 2006 11:40:26 +0000</pubDate>
		<dc:creator>proton</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://new.allocinit.net/blog/2006/06/20/of-colour-wells-and-alpha/</guid>
		<description><![CDATA[Many applications require a mix of colour pickers: some that support transparency (alpha) values, and some that don&#8217;t. For some reason Apple decided not to make this totally straight forward to implement, even if it is fairly simple to do when you know how.
To support this you need to create two subclasses of NSColorWell, teach [...]]]></description>
			<content:encoded><![CDATA[<p>Many applications require a mix of colour pickers: some that support transparency (alpha) values, and some that don&#8217;t. For some reason Apple decided not to make this totally straight forward to implement, even if it is fairly simple to do when you know how.</p>
<p>To support this you need to create two subclasses of NSColorWell, teach Interface Builder about those subclasses and set colour wells in the interface to use the right class.</p>
<p>I created these classes for use in <a href="/apps/controltower">ControlTower</a>, but I would guess they&#8217;ll be of use to other Mac OS X developers, so here they are. Feel free to use or abuse them as you see fit.</p>
<p>
<h3>NSColorWellWithAlpha.h</h3>
<pre>//
//  NSColorWellWithAlpha.h
//  ControlTower
//
//  Created by Andrew Wellington on 30/04/06.
//  Copyright 2006 Andrew Wellington. All rights reserved.
//

#import <cocoa /Cocoa.h>

@interface NSColorWellWithAlpha : NSColorWell {

}

@end</cocoa></pre>
</p>
<p>
<h3>NSColorWellWithAlpha.m</h3>
<pre>//
//  NSColorWellWithAlpha.m
//  ControlTower
//
//  Created by Andrew Wellington on 30/04/06.
//  Copyright 2006 Andrew Wellington. All rights reserved.
//

#import "NSColorWellWithAlpha.h"

@implementation NSColorWellWithAlpha
- (void)activate:(BOOL)exclusive
{
    [[NSColorPanel sharedColorPanel] setShowsAlpha:YES];
    [super activate: exclusive];
}
@end</pre>
</p>
<p>
<h3>NSColorWellWithoutAlpha.h</h3>
<pre>//
//  NSColorWellWithoutAlpha.h
//  ControlTower
//
//  Created by Andrew Wellington on 30/04/06.
//  Copyright 2006 Andrew Wellington. All rights reserved.
//

#import <cocoa /Cocoa.h>

@interface NSColorWellWithoutAlpha : NSColorWell {

}

@end</cocoa></pre>
</p>
<p>
<h3>NSColorWellWithoutAlpha.m</h3>
<pre>//
//  NSColorWellWithoutAlpha.m
//  ControlTower
//
//  Created by Andrew Wellington on 30/04/06.
//  Copyright 2006 Andrew Wellington. All rights reserved.
//

#import "NSColorWellWithoutAlpha.h"

@implementation NSColorWellWithoutAlpha
- (void)activate:(BOOL)exclusive
{
    [super activate: exclusive];
    [[NSColorPanel sharedColorPanel] setShowsAlpha:NO];
}
@end</pre>
</p>
<p>
<h3>Importing into Interface Builder</h3>
<p>Simply drag the header files to the main window for the nib (the window that contains the objects in the nib). Set the Custom Class in the Inspector for a NSColorWell to use the correct class based on whether it needs alpha support or not.</p>
<p>That&#8217;s it. Easy isn&#8217;t it?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.allocinit.net/blog/2006/06/20/of-colour-wells-and-alpha/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.559 seconds -->
<!-- Cached page served by WP-Cache -->
