<?xml version='1.0' encoding='UTF-8'?>
   <feed xmlns='http://www.w3.org/2005/Atom'
         xml:lang='en-us'>
     <title>Gus Mueller's Website</title>
     <id>http://gusmueller.com/blog/</id>
     <link href='./' />
     <link rel='self' href='http://gusmueller.com/blog/atom.xml' />
     <link href="http://gusmueller.com/blog/" rel="alternate" title="Gus Mueller's Website" type="text/html" />
     <updated>2009-11-29T16:32:02-08:00</updated>
     <author>
       <name>Gus Mueller</name>
     </author><entry>
   <title>New site for the blog</title>
   <link href="http://gusmueller.com/blog/archives/2009/11/new_site_for_the_blog.html" rel="alternate" title="New site for the blog" type="text/html" />
   <id>urn:uuid:e42b9618-b4bd-4b4e-acfd-5902bc483c5b</id>
   <published>2009-11-29T16:18:10-08:00</published>
   <updated>2009-11-29T16:24:22-08:00</updated>
   <content type="html" xml:base="http://gusmueller.com/blog/" xml:lang="en"><![CDATA[
   I've had a blog (I hate that word) at gusmueller.com for 9 years now.  I've been itching for some new digs for a while, and finally came up with a name and a new URL: <a href="http://shapeof.com/">http://shapeof.com/</a>.  The <a href="http://shapeof.com/archives/2009/11/everything_has_a_shape.html">first post</a> explains what the name is about.<br/>
<br/>
I'll update the news feed in a few days to point to the new one.<br/>
<br/>
Same guy, same crap, new location.  Plus, it gives me a chance to play with <a href="http://www.slicehost.com/">Slicehost</a>.
   ]]></content>
 </entry><entry>
   <title>deviantART Acorn Type Controls</title>
   <link href="http://gusmueller.com/blog/archives/2009/11/deviantart_acorn_type_controls.html" rel="alternate" title="deviantART Acorn Type Controls" type="text/html" />
   <id>urn:uuid:ebb29482-a842-4947-a3cd-808d1938668e</id>
   <published>2009-11-28T18:03:43-08:00</published>
   <updated>2009-11-28T18:08:10-08:00</updated>
   <content type="html" xml:base="http://gusmueller.com/blog/" xml:lang="en"><![CDATA[
   This is what Acorn's Type palette looks like:<br/>
<br/>
<img src="http://gusmueller.com/2009/images/acorn-type-panel-original.png" alt="original" class="blackBorder" /><br/>
<br/>
<br/>
And here is what I'd imagine it would look like, if the controls were done by the <a href="http://www.deviantart.com/">deviantART</a> guys:<br/>
<br/>
<img src="http://gusmueller.com/2009/images/acorn-type-panel-da.png" alt="original" class="blackBorder" /><br/>

   ]]></content>
 </entry><entry>
   <title>JLNDragEffectManager</title>
   <link href="http://gusmueller.com/blog/archives/2009/11/jlndrageffectmanager.html" rel="alternate" title="JLNDragEffectManager" type="text/html" />
   <id>urn:uuid:d63abe41-1c90-465d-86ca-1977c02081b2</id>
   <published>2009-11-25T18:21:15-08:00</published>
   <updated>2009-11-28T18:12:15-08:00</updated>
   <content type="html" xml:base="http://gusmueller.com/blog/" xml:lang="en"><![CDATA[
   Joshua Nozzi: <a href="http://joshua.nozzi.name/2009/10/jlndrageffectmanager/">Your Very Own Drag Show with JLNDragEffectManager</a><br/>
<br/>
<blockquote style="margin: 0px;">"Cocoa developers were treated to a nice Interface Builder makeover in version 3. One effect we’ve all been admiring is dragging an item from the Library palette onto a window. It’s actually not too hard and just takes a little showmanship. I’ll show you how it’s done."</blockquote><br/>
<br/>
I played with it a little bit this evening.  It's pretty easy to use.
   ]]></content>
 </entry><entry>
   <title>Milton Glaser: Ten Things I Have Learned</title>
   <link href="http://gusmueller.com/blog/archives/2009/11/milton_glaser:_ten_things_i_have_learned.html" rel="alternate" title="Milton Glaser: Ten Things I Have Learned" type="text/html" />
   <id>urn:uuid:8c34a4da-bd8b-4947-8b1f-d621900e7b06</id>
   <published>2009-11-24T17:59:48-08:00</published>
   <updated>2009-11-24T18:05:11-08:00</updated>
   <content type="html" xml:base="http://gusmueller.com/blog/" xml:lang="en"><![CDATA[
   Milton Glaser: <a href="http://www.miltonglaser.com/pages/milton/essays/es3.html">Ten Things I Have Learned</a>.<br/>
<br/>
<div class="quote">"Everyone always talks about confidence in believing what you do. I remember once going to a class in yoga where the teacher said that, spirituality speaking, if you believed that you had achieved enlightenment you have merely arrived at your limitation. I think that is also true in a practical sense. Deeply held beliefs of any kind prevent you from being open to experience, which is why I find all firmly held ideological positions questionable."</div><br/>
<br/>
Lots of great stuff in his list.  Found via <a href="http://bobulate.com/">Bobulate</a>.
   ]]></content>
 </entry><entry>
   <title>The only 2 fixes for the iPhone platform</title>
   <link href="http://gusmueller.com/blog/archives/2009/11/the_only_2_fixes_for_the_iphone_platform.html" rel="alternate" title="The only 2 fixes for the iPhone platform" type="text/html" />
   <id>urn:uuid:f41f1996-9be3-48f1-bdba-8a7c84eae63f</id>
   <published>2009-11-13T13:03:14-08:00</published>
   <updated>2009-11-13T13:03:50-08:00</updated>
   <content type="html" xml:base="http://gusmueller.com/blog/" xml:lang="en"><![CDATA[
   Manton Reece: <a href="http://manton.org/">The only 2 fixes for the iPhone platform</a>:<br/>
<br/>
<div class="quote">'''This is so important for a small company. I want my software to fail because it sucks, or is buggy, or doesn't have the right features, not because Apple can shut me down over a minor difference of opinion.'''</div><br/>

   ]]></content>
 </entry><entry>
   <title>Swimming in OpenCL</title>
   <link href="http://gusmueller.com/blog/archives/2009/11/swimming_in_opencl.html" rel="alternate" title="Swimming in OpenCL" type="text/html" />
   <id>urn:uuid:183d9f81-df69-4ac6-92c3-fcc941ebd627</id>
   <published>2009-11-13T10:14:36-08:00</published>
   <updated>2009-11-13T10:16:15-08:00</updated>
   <content type="html" xml:base="http://gusmueller.com/blog/" xml:lang="en"><![CDATA[
   SuperMegaUltraGroovy (aka, Chris Liscio): <a href="http://www.supermegaultragroovy.com/blog/2009/11/12/swimming-in-opencl/">Swimming in OpenCL</a>.<br/>
<br/>
<div class="quote">'''Please excuse the vague post, as I don’t have anything specific I’d like to share just yet. However, what I’d like to do here is call attention to my new favorite part of Mac OS X 10.6 Snow Leopard—OpenCL.'''</div>
   ]]></content>
 </entry><entry>
   <title>NaNoDrawMo</title>
   <link href="http://gusmueller.com/blog/archives/2009/10/nanodrawmo.html" rel="alternate" title="NaNoDrawMo" type="text/html" />
   <id>urn:uuid:f13ba0d4-cf27-44fa-bb90-89d7372fc3ea</id>
   <published>2009-10-22T13:52:18-08:00</published>
   <updated>2009-10-22T13:53:10-08:00</updated>
   <content type="html" xml:base="http://gusmueller.com/blog/" xml:lang="en"><![CDATA[
   Coming soon, <a href="http://stevenf.tumblr.com/post/219998282/neven-and-gus-both-expressed-interest-in">NaNoDrawMo</a>.
   ]]></content>
 </entry><entry>
   <title>Lost in Translations</title>
   <link href="http://gusmueller.com/blog/archives/2009/10/lost_in_translations.html" rel="alternate" title="Lost in Translations" type="text/html" />
   <id>urn:uuid:1ae7e188-0325-415d-a370-1833f97ca96f</id>
   <published>2009-10-20T20:53:00-08:00</published>
   <updated>2009-10-20T20:57:30-08:00</updated>
   <content type="html" xml:base="http://gusmueller.com/blog/" xml:lang="en"><![CDATA[
   Wil Shipley: <a href="http://wilshipley.com/blog/2009/10/pimp-my-code-part-17-lost-in.html">Lost in Translations</a>.<br/>
<br/>
Wil was nice enough to let me use his DMLocalizedNibBundle code a while back, and I've been bugging him off and on to make a post about it.  I'm glad he finally did- it's great for localizing code, and VoodooPad 4 has been using it for over a year now without any problems.  Localization is a PITA, but DMLocalizedNib makes it much much easier.
   ]]></content>
 </entry><entry>
   <title>Acorn 2.1 is out</title>
   <link href="http://gusmueller.com/blog/archives/2009/10/acorn_2.1_is_out.html" rel="alternate" title="Acorn 2.1 is out" type="text/html" />
   <id>urn:uuid:15b4637a-8a72-4cec-b1b8-d966b4afa2a5</id>
   <published>2009-10-16T11:29:29-08:00</published>
   <updated>2009-10-16T11:40:26-08:00</updated>
   <content type="html" xml:base="http://gusmueller.com/blog/" xml:lang="en"><![CDATA[
   <a href="http://flyingmeat.com/acorn/">Acorn 2.1</a> is out, with bug fixes, a new hex color picker, optimized png web export (via pngcrush), and AppleScript support.  All the gory details are in the <a href="http://flyingmeat.com/acorn/releasenotes.html">release notes</a>.<br/>
<br/>
I'm especially interested in seeing what folks do with the new AppleScript support.  I've put up a <a href="http://flyingmeat.com/acorn/docs-2.0/example%20applescript%20and%20jstalk%20scripts.html">bunch of examples</a> for people to start with.  Appl scrt wass aton offn tooo writ.
   ]]></content>
 </entry><entry>
   <title>TapLynx</title>
   <link href="http://gusmueller.com/blog/archives/2009/10/taplynx.html" rel="alternate" title="TapLynx" type="text/html" />
   <id>urn:uuid:d8d8212f-e9cc-4073-8a15-47e8e9d3f465</id>
   <published>2009-10-14T09:55:23-08:00</published>
   <updated>2009-10-14T09:56:10-08:00</updated>
   <content type="html" xml:base="http://gusmueller.com/blog/" xml:lang="en"><![CDATA[
   Brent Simmons introduces <a href="http://inessential.com/2009/10/14/taplynx_1_0">TapLynx</a>:<br/>
<br/>
<div class="quote">"TapLynx is a framework for building media-based iPhone apps without needing to do any programming.<br/>
<br/>
It’s a tool for developers, though — you still use Xcode to build the app. You configure it via a property list file, add artwork and feeds, build it, upload it. (You build a fully-native Cocoa app: it’s not like compiled Flash or something like that.)"</div><br/>
<br/>
Looks cool!
   ]]></content>
 </entry><entry>
   <title>Custom Data Types in VoodooPad</title>
   <link href="http://gusmueller.com/blog/archives/2009/10/custom_data_types_in_voodoopad.html" rel="alternate" title="Custom Data Types in VoodooPad" type="text/html" />
   <id>urn:uuid:54d2fa07-c625-420b-9402-8f5b4b521ab3</id>
   <published>2009-10-12T20:02:37-08:00</published>
   <updated>2009-10-12T20:12:43-08:00</updated>
   <content type="html" xml:base="http://gusmueller.com/blog/" xml:lang="en"><![CDATA[
   <a href="http://flyingmeat.com/voodoopad/">VoodooPad 4</a> added the ability for plugin authors to add support for specific data types in VoodooPad, which would be saved as a page in the document it was created in.  So for instance, if you wanted to support some strange data type, that could be done.  Or a custom image viewer, you could do that too.  Maybe you fancy an outliner?  Or maybe you wanted a little editor for JSTalk pages, which are saved right in the document where you got your syntax highlighting and a little run button.<br/>
<br/>
OK, no big surprise, I just wrote that last one, and here's a movie of it in action: <a href="http://gusmueller.com/2009/video/JSTalkInVP.mov">JSTalkInVP.mov</a>.  It's not built into VP yet, but I'll get that done for a future release when I'm happier with the UI.  Source is <a href="http://github.com/ccgus/jstalk/tree/master/plugins/voodoopadplugin/">here on github</a>.<br/>
<br/>
If you wanted to write your own plugin to do something similar, subclass VPItemController (which is a subclass of NSViewController), register yourself it VP so it knows about your data type, and implement some methods for loading and unloading data, and load a nib of your choice for the UI.  It's quite simple, and of course welcome feedback on how to make it better.
   ]]></content>
 </entry><entry>
   <title>How to Write Your Own Automated Testing Framework</title>
   <link href="http://gusmueller.com/blog/archives/2009/10/how_to_write_your_own_automated_testing_framework.html" rel="alternate" title="How to Write Your Own Automated Testing Framework" type="text/html" />
   <id>urn:uuid:cc1c77c2-58bf-409e-9fe1-2abc36255275</id>
   <published>2009-10-02T15:00:49-08:00</published>
   <updated>2009-10-02T15:32:08-08:00</updated>
   <content type="html" xml:base="http://gusmueller.com/blog/" xml:lang="en"><![CDATA[
   One of the biggest gripes that folks have about the built in unit testing for Xcode is that it's a pain to setup and debug.  I've also hear from folks that this is the reason they don't write tests, which is a shame.  But I'm going to share a little secret with you today: thanks to Objective-C, it's pretty darn easy to roll your own solution.<br/>
<br/>
Here's some code for you: <a href="http://gusmueller.com/2009/CallTestMethods.m">CallTestMethods.m</a>.<br/>
<br/>
I've got that in Acorn's App delegate, stuffed inside a category, and hooked up to a debug menu (named "Sanity") which will run through various tests.  All I do then is have methods in my category that start with "test", run the various operations, and then fail with a big fat NSException if something goes wrong.  (Bonus points go to the developer who uses the __FUNCTION__ and __LINE__ macros to narrow where the exception is being throw).<br/>
<br/>
And if I want to debug the tests using gdb, there's no targets to change or any fancy environment variables to set.  I just launch Acorn with gdb, and run my tests.  I've even got it hooked up to my build process these days;  I launch Acorn from my build script with a -runtests argument, and away it goes.  I'm not sure how much easier it could be.  It's very low friction and easy to debug, which is important to me.<br/>
<br/>
It's also not hard to imagine writing your own macros to do the checking, and look! NSAssert is already there!<br/>
<br/>
So consider writing your own if Xcode's SenTest framework isn't working out for you.
   ]]></content>
 </entry>
</feed>