<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Karl Katzke &#187; apple</title>
	<atom:link href="http://www.karlkatzke.com/categories/apple/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.karlkatzke.com</link>
	<description>Geek of the Week</description>
	<lastBuildDate>Fri, 16 Dec 2011 19:54:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Windows 7 Home First Boot Experience</title>
		<link>http://www.karlkatzke.com/windows-7-home-first-boot-experience/</link>
		<comments>http://www.karlkatzke.com/windows-7-home-first-boot-experience/#comments</comments>
		<pubDate>Mon, 24 May 2010 18:04:13 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/?p=570</guid>
		<description><![CDATA[A friend of mine is doing me a favor with some house stuff this week, and in return, I set up his new computers this weekend. What. A. Pain. In. The. Arse. Just as even Windows developers are waking up and smelling the coffee where the iPad&#8217;s concerned, it&#8217;s plain how badly that most PC [...]]]></description>
			<content:encoded><![CDATA[<p>A friend of mine is doing me a favor with some house stuff this week, and in return, I set up his new computers this weekend. </p>
<p>What. A. Pain. In. The. Arse.</p>
<p>Just as even Windows developers are <a href="http://frogboy.impulsedriven.net/article/382461/iPad_definitely_a_threat_to_Windows">waking up and smelling the coffee where the iPad&#8217;s concerned</a>, it&#8217;s plain how badly that most PC manufacturers miss the boat. It took me two hours to boot a new Compaq laptop running Windows 7 Home Premium, to click through all of the &#8216;user experience aids&#8217; that you have to accept or decline before you can even get to the desktop, and then to install updates, reboot several times, and install Firefox and an antivirus application. And this is a dual core machine with 2 GB of RAM, a 250 GB hard drive, a DVD-RW, and a 15&#8243; screen. $329 new from Best Buy, for the record. </p>
<p>It&#8217;s a sign of how spoiled Apple people are that we bitch, moan, piss, whine, and complain to all comers that we have to <i>plug the iPad into a USB port</i> before we can use it. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/windows-7-home-first-boot-experience/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Organization on the Mac / OneNote Replacement</title>
		<link>http://www.karlkatzke.com/organization-on-the-mac-onenote-replacement/</link>
		<comments>http://www.karlkatzke.com/organization-on-the-mac-onenote-replacement/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 17:33:38 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[apple]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/?p=564</guid>
		<description><![CDATA[We&#8217;ve been barreling rapidly towards a Microsoft environment at work with a migration to using Exchange, which I&#8217;m sure will be followed quickly by all the other Microsoft things since MS refuses to let them talk to anything else. Since I need an organization suite BADLY, I tried out OneNote for giggles and kicks. I [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been barreling rapidly towards a Microsoft environment at work with a migration to using Exchange, which I&#8217;m sure will be followed quickly by all the other Microsoft things since MS refuses to let them talk to anything else. Since I need an organization suite BADLY, I tried out OneNote for giggles and kicks. I like it, but there&#8217;s a few big killers. First, you can&#8217;t export things smoothly except to PDF. &#8220;Blog This&#8221; &#8212; yeah, right, I use <a href="http://en.support.wordpress.com/microsoft-word/">WordPress</a>. You can&#8217;t even copy and paste things to Word. Second, the layout and mind mapping functions suck. I still haven&#8217;t figured out how to re-color a text box. </p>
<p>I&#8217;ll probably be posting reviews separately as I try each one for a week or two, but here&#8217;s my personal list of organization and note-taking software that I want to try&#8230; </p>
<ul>
<li><a href="http://reinventedsoftware.com/together/">Together</a></li>
<li><a href="http://www.circusponies.com/">Circuis Ponies Notebook</a></li>
<li><a href="http://www.marinersoftware.com/sitepage.php?page=85">MacJournal</a>, seems focused mostly on blogging and groupware.</li>
<li><a href="http://www.zengobi.com/products/curio/">Curio</a></li>
<li><a href="http://www.evernote.com">EverNote</a> &#8211; I have tried Evernote in the past and liked it &#8212; until I hit a place where I didn&#8217;t have internet coverage on the iPhone and it crashed pretty hard. That was a deal killer and I haven&#8217;t tried it again.</li>
<li><a href="http://www.chronosnet.com/Products/sohonotes.html">SoHo Notes</a></li>
<li><a href="http://www.literatureandlatte.com/scrivener.html">Scrivener</a> &#8211; More towards writers, but a lot of what I do is writing.</li>
</ul>
<p>I have been a long-time user of OmniOutliner, but it doesn&#8217;t quite make the cut in my mind because of it&#8217;s very hierarchical outline form. I usually think in trees, not outlines &#8212; which are almost the same, but when the thoughts branch like a tree an outline can quickly become unwieldy. </p>
<p>Worth noting that <a href="http://www.journler.com/">Journaler</a> used to be around, but it&#8217;s development was discontinued in Sept 2009. </p>
<p>I&#8217;ll link reviews as I write them. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/organization-on-the-mac-onenote-replacement/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flux for OSX &#8211; Ding Dong, Dreamweaver&#8217;s Dead</title>
		<link>http://www.karlkatzke.com/flux-for-osx-ding-dong-dreamweavers-dead/</link>
		<comments>http://www.karlkatzke.com/flux-for-osx-ding-dong-dreamweavers-dead/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 05:01:42 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[WYSIWYG]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/?p=560</guid>
		<description><![CDATA[I&#8217;m not interested in any of the apps in this current Mac Sale, but it did lead me to a page about Flux, which might be my next go-to for WYSIWYG HTML editing.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not interested in any of the apps in this current <a href="http://www.themacsale.com/">Mac Sale</a>, but it did lead me to a page about <a href="http://theescapers.com/flux/index.html">Flux</a>, which might be my next go-to for WYSIWYG HTML editing. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/flux-for-osx-ding-dong-dreamweavers-dead/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finally, an OS X Update I&#8217;ll Apply Upon Release</title>
		<link>http://www.karlkatzke.com/finally-an-os-x-update-ill-apply-upon-release/</link>
		<comments>http://www.karlkatzke.com/finally-an-os-x-update-ill-apply-upon-release/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 01:08:54 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[snow leopard]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/?p=514</guid>
		<description><![CDATA[I usually wait a few weeks, until the first .1 patch is released, to update to a new version of OS X. That&#8217;s been my procedure for a while, and it seems that there are the usual growing pains with 10.6. I don&#8217;t know if I could keep myself from giving in to 10.7&#8242;s charms [...]]]></description>
			<content:encoded><![CDATA[<p>I usually wait a few weeks, until the first .1 patch is released, to update to a new version of OS X. That&#8217;s been my procedure for a while, and it seems that there are <a href="http://www.macfixit.com/article.php?story=20090828091917560">the usual growing pains with 10.6</a>. <a href="http://worldfamousdesignjunkies.com/wp-content/uploads/2009/08/cougar-1.jpg">I don&#8217;t know if I could keep myself from giving in to 10.7&#8242;s charms right away</a>&#8230; </p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/finally-an-os-x-update-ill-apply-upon-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OS X Development Editors: 2009 Edition</title>
		<link>http://www.karlkatzke.com/os-x-development-editors-2009-edition/</link>
		<comments>http://www.karlkatzke.com/os-x-development-editors-2009-edition/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 05:04:13 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[coda]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[editors]]></category>
		<category><![CDATA[espresso]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[textmate]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/?p=379</guid>
		<description><![CDATA[Starting in late January, I started searching for a new editor to use when coding PHP. I spent at least a few days with the different programmer editors that are popular on the OSX platform. Starting with Eclipse, here are my opinions and reviews. As might be obvious from the title of the blog, I [...]]]></description>
			<content:encoded><![CDATA[<p>Starting in late January, I started searching for a new editor to use when coding PHP. I spent at least a few days with the different programmer editors that are popular on the OSX platform. Starting with Eclipse, here are my opinions and reviews. </p>
<p>As might be obvious from the title of the blog, I spend a lot of time coding in PHP, shell scripts, HTML, and have recently picked up some Lua. Note that I don&#8217;t usually use the IDE functions of these development tools (where they have IDE functions) &#8212; I typically use the webserver and/or unit tests to make sure the code runs, and firebug and inline debug statements to verify variable contents. My methodology seems primitive in some ways, but it keeps my development velocity up for some reason. </p>
<p>My standby for years has been good ol&#8217; command line vim. I have an extensive and highly customized .vimrc file, I use exuberant ctags to pull functions in for autocomplete, and I use the Project plugin to navigate files. It&#8217;s highly customizable, and it&#8217;s gotten me through years and years of PHP development. However, working with a large Zend Framework project with APIs and modules can be a bit beyond it&#8217;s Project UI&#8217;s abilities, and I can&#8217;t keep enough files open in it at once (or move between them fast enough) to keep me happy.</p>
<p><b>Eclipse</b>: I spent late December and January working with Eclipse. Eclipse is a Java IDE that&#8217;s been popular for years. If you know what I mean when I say &#8220;It&#8217;s Java&#8221; &#8230; you can stop reading now. It&#8217;s <i>still</i> Java. I used the specialized PHP context (aka <a href="http://www.eclipse.org/pdt/">PDT</a>) and enjoyed it, although it took me some time to get used to specific quibbles about the UI, including the way that HTML tags autocomplete. I think I also had to get used to using arrows in places where I previously would&#8217;ve used the enter key or spaces. Unfortunately, when my application got big, the autocompletion dropdowns started to get REALLY slow. And by &#8220;Really&#8221; I mean &#8220;When I typed `Zend_`, I could get up and get a soda and walk back to my desk before it completed.&#8221; I didn&#8217;t get fancy with the SVN or other plugins because I couldn&#8217;t figure out the configuration without blowing away PDT. </p>
<p>Total Eclipse/PDT usage: 30 days. Reason for moving on: It&#8217;s Java. </p>
<p><b>TextMate</b>: It&#8217;s nice to have a bundle for everything, but the first thing I missed was autocompletion. I can&#8217;t really say anything great about TextMate because of two things. First, when it was running, my SystemUIServer and WindowServer lagged all to hell. I thought it was Firefox and/or one of it&#8217;s plugins at first, but finally figured it out. I&#8217;m the kind of person that leaves a program open for weeks, really only stopping things when they need to be upgraded or the system needs to be restarted. When it got past the point where alt-tabbing took longer than a bathroom or soda break, I ended up quitting TextMate and never opening it again. I remember that happening the last time I tried TextMate too, which was more than two years ago. Ceasing to use TextMate solved my SystemUIServer and WindowServer lag issues and I can&#8217;t recommend it for anyone.</p>
<p>Total TextMate usage: 22 days. Reason for moving on: Slowed down my entire system. </p>
<p><b>BBEdit 9.1</b>: I didn&#8217;t really get serious about reviewing development editors until I hit BBEdit. I downloaded the Version 9.1 demo on 14Feb09, when I fell most decidedly out of love with TextMate. It struck me as weird that BBEdit defaulted to HTML syntax view for PHP files and didn&#8217;t have anything specified for .phtml files. BBEdit&#8217;s configuration options are confusing. It took me forever to get block opening/closing brace matching working. When it was, the unmatched brace flashup was annoying as all hell. And then it doesn&#8217;t even match when you move over one; to find a block&#8217;s match you need to delete and retype it. </p>
<p>Annoyingly, BBEdit&#8217;s configuration options don&#8217;t take effect on the currently open files &#8212; you have to close files and then reopen them. I encountered a number of bugs with the soft wrap features &#8212; it seems that there&#8217;s a per file soft wrap setting as well as the global setting. Maybe they weren&#8217;t bugs, maybe they were features. Either way, the configuration settings are so fast and so unfocused that a setting could be virtually anywhere in the program and overridden somewhere in the menus. BBEdit is definitely past it&#8217;s prime. </p>
<p>Total BBEdit usage: 3 days. Reason for moving on: Frustration with configuration. </p>
<p><b>Coda 1.6.2</b>: I first tried Coda in 2007 when 1.0 came out. I thought it was great for developing static websites and javascript, but with the big object-oriented PHP projects I work on, it was seriously lacking features for application developers. A lot has changed since then &#8212; subversion integration works well, the code viewing and navigators are mature and easy to use for navigating large files, and the level of polish is exactly what you would expect from a Panic application. </p>
<p>I want to take a moment to call out the subverison integration. Holy crap, but does it work well! The status window is a joy to work with. There&#8217;s a few little bugs, but it detects externals and other properties perfectly and just plain makes stuff awesome to work with. I wish they&#8217;d release the subversion integration on it&#8217;s own. I prefer it to command line or any of the other standalone applications. The only downside is that it doesn&#8217;t pick up at all on metadata changes. It *will* pick up that you are pulling in a library via externals, but it won&#8217;t detect when you change that path and update via the command line tool. (I nearly missed updating a live codebase to Zend Framework 1.7.5 due to this&#8230;) Likewise, it will <i>pick up</i> a <code>propedit svn:ignore</code>, but it won&#8217;t <i>commit</i> those changes. Minor sin, but one that&#8217;s important to note. </p>
<p>Now, the bad: The completion features suck when you&#8217;re using a framework. I don&#8217;t need something that will complete &#8220;ingres_query&#8221; for me; I need something that will complete &#8220;Zend_Controller_Plugin_Abstract&#8221;. Coda&#8217;s autocompleter (which is inconveniently placed on esc/f5) does not seem to be aware of functions that you&#8217;ve declared elsewhere in your file or application.  </p>
<p>Total Usage: 30 days, interrupted only by an AppleCare visit and drive reformat. Lots of love, especially for the svn integration,  but still frustrated over the stupid autocomplete. </p>
<p><b>Espresso:</b> While I was reviewing it, they went from Beta to 1.0&#8230; and I was busy in the garden, so most of my coding was done with the post-1.0 version. Just like Textmate has bundles that contain snippets, code highlighting, and other extra language-specific functionality, Espresso has &#8220;sugars&#8221; that contain autocompletes, function profiles, etc. </p>
<p>I&#8217;m sure they&#8217;re improving things drastically, but importing sugars can kind of be a pain for users who aren&#8217;t used to mucking around in their Library. There isn&#8217;t any check for duplicate sugar versions in 1.0, so the pre-1.0 PHP sugar that I had installed was not distinct from the bundled sugar in 1.0. The library doesn&#8217;t seem to detect or override these things. Tab-as-spaces is a feature in the preferences pane, but doesn&#8217;t seem to work properly. The &#8220;tabs&#8221; are kept in the left hand &#8220;workspace&#8221;, but aren&#8217;t actual <i>tabs</i> across the top&#8230; I&#8217;m not sure if this is a theme thing or a built in thing, but it&#8217;s weird. </p>
<p>All in all, it&#8217;s a VERY fast, easy to use, promising editor&#8230; but it&#8217;s a few features short of being a usable daily editor for me. It can definitely replace TextMate for most people, and considering how bloated that pig is, it might make your life awesome. On the other hand, it&#8217;s freaking expensive at 60 british pounds&#8230; that&#8217;s ~$90 or more (depending on fees) in $USD as of this writing. It might be worth it, and I was tempted to hack up a quick Zend Framework sugar just to get autocomplete for the stock functions, but damn, that&#8217;s hefty for an application that&#8217;s barely not beta. </p>
<p>Total Use: 2 days. Reasons for moving on: Still no in-document or in-project autocomplete, and holyshit at the price. Would recommend: If you can stomach the price and you need to replace TextMate. </p>
<p><b>I specifically didn&#8217;t consider&#8230;</b></p>
<ul>
<li>Zend Development Environment, which is Java, based on my experience with Eclipse. Plus, it&#8217;s expensive and the project management functions are just plain stupid. </li>
<li>gvim/macvim, which doesn&#8217;t have a &#8220;tray&#8221; where I can load my hierarchy of files&#8230; at least, not that I could find, unless I used the Project plugin, but that then displays it in the editor section instead of a tray/drawer.</li>
</ul>
<p><b>Results</b></p>
<p>Frankly, Coda was the editor that I enjoyed using the most. It&#8217;s price is reasonable, and I can get autocomplete into it fairly easily. Any that I missed that deserve another look? </p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/os-x-development-editors-2009-edition/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>&#8216;Net Vacation</title>
		<link>http://www.karlkatzke.com/net-vacation/</link>
		<comments>http://www.karlkatzke.com/net-vacation/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 16:08:35 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[apple]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/?p=391</guid>
		<description><![CDATA[I&#8217;m going to be taking a few days &#8220;off&#8221; from posting and emailing &#8216;cept for the limited amount I do at work. My only home computer these days is a MacBook Pro, and it&#8217;s headed off for a week at the Apple Resort, aka AppleCare. Updates will resume when I&#8217;m back and it&#8217;s keyboard is [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m going to be taking a few days &#8220;off&#8221; from posting and emailing &#8216;cept for the limited amount I do at work. My only home computer these days is a MacBook Pro, and it&#8217;s headed off for a week at the Apple Resort, aka AppleCare. Updates will resume when I&#8217;m back and it&#8217;s keyboard is functional again.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/net-vacation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>console.app and MAMP</title>
		<link>http://www.karlkatzke.com/consoleapp-and-mamp/</link>
		<comments>http://www.karlkatzke.com/consoleapp-and-mamp/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 06:12:55 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[error logs]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/?p=346</guid>
		<description><![CDATA[One of the things I genuinely love about Apple OSX is that there&#8217;s some hidden gems in the Applications/Utilities folder. One of those hidden gems is console.app, which acts like a GUI window that follows (aka `tail -f`) a particular log file. It&#8217;s great because you can insert markers and timestamps into the output, clear [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things I genuinely love about Apple OSX is that there&#8217;s some hidden gems in the Applications/Utilities folder. One of those hidden gems is console.app, which acts like a GUI window that follows (aka `<code>tail -f</code>`) a particular log file. It&#8217;s great because you can insert markers and timestamps into the output, clear the display, and quickly open other logs to look for other signs of trouble. </p>
<p>Sure beats the heck out of hitting &#8220;enter&#8221; a bunch of times in the console window. </p>
<p>If you&#8217;d like to use it with MAMP, all you need to do is go into your Applications/MAMP/logs folder and right click the log files you want to open, then select &#8220;open with&#8230;&#8221; &#8230; alternately, open Applications/Utilities/Console.app and then do the normal file->open. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/consoleapp-and-mamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programming Process Constraints / &#8220;Artists Ship&#8221;</title>
		<link>http://www.karlkatzke.com/programming-process-constraints-artists-ship/</link>
		<comments>http://www.karlkatzke.com/programming-process-constraints-artists-ship/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 16:52:35 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[punditry]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[release management]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/?p=336</guid>
		<description><![CDATA[Paul Graham (Y Combinator, the first spam filter, and the first web-based app: Viaweb) is one of the smartest guys on the internet when it comes to startups. He makes some great points in his article about placing controls on processes in big companies and small startups. His thesis is that controls always cost more, [...]]]></description>
			<content:encoded><![CDATA[<p>Paul Graham (Y Combinator, the first spam filter, and the first web-based app: Viaweb) is one of the smartest guys on the internet when it comes to startups. He makes some great points in his article about <a href="http://www.paulgraham.com/artistsship.html">placing controls on processes in big companies and small startups</a>. His thesis is that controls always cost more, and the more controls there are, the more resources are taken up by them. </p>
<p>Given my limited experience (only eight years of working and one failed startup), typing up this disagreement feels a bit sophomoric. On the other hand, the entire focus of my career has been on setting up systems to manage constraints in a seamless fashion. In fact, I specifically work to establish controls in places where they can be automated and seen as <i>goals</i> instead of constraints. Attitude is important when you&#8217;re dealing with artists.</p>
<h2>Defining an &#8220;Artist&#8221;</h2>
<p>For the sake of this discussion, I&#8217;m going to define an artist as someone whose purpose for doing something is entirely in the heart, and whose compensation for performing at task is either entirely or primarily intangible. </p>
<p>Yes, you&#8217;ll find artists at all levels of corporations and organizations without regard for size or mission. You know you&#8217;re dealing with artists when you see them put that extra little bit in to make a project successful &#8212; and then they go home and continue to build out their knowledge and their body of work, and they&#8217;ll blog / tweet / contribute to open-source projects, and otherwise make their work indistinguishable from their life. </p>
<h2>Organizations of Artists</h2>
<p>Let&#8217;s take a step back and look at it from an entirely corporate point of view. </p>
<blockquote><p>As companies grow they invariably get more such checks, either in response to disasters they&#8217;ve suffered, or (probably more often) by hiring people from bigger companies who bring with them customs for protecting against new types of disasters.</p></blockquote>
<p>I would replace &#8220;grow&#8221; with &#8220;age&#8221; in the previous paragraph. Companies can stay the same size but integrate ideas from all over &#8212; conferences, employees that read blogs, new hires, training, regulation requirements &#8212; much the way that <a href="http://en.wikipedia.org/wiki/Horizontal_gene_transfer">bacteria transfer genes that increase antibiotic resistance</a> between neighboring bacteria. The best, most subtle ideas spread in a somewhat viral nature. </p>
<p>What do organizations made up of artists have in common? Generally, they create a lot of emotion. Look at Apple&#8217;s branding and marketing. It&#8217;s all emotional. </p>
<h2>Placing Controls in the Real World</h2>
<p>Case in point: I do volunteer work with the <a href="http://www.impactanimals.com">Impact Animal Foundation</a>. Volunteer work with a noble cause like a no-kill, 100% foster, limited intake adoption program can leave people feeling good, but it can be <i>extremely exhausting</i>. Burnout is a huge problem for both the artists in a corporation and volunteers in an emotionally involved charity. </p>
<p>To keep people from getting burnt out, the organization has some pretty <b>strict rules</b> on what kind of animals they&#8217;ll take in, how many they&#8217;ll take in, how many shifts a week someone can work &#8230; all common sense stuff. They also have a <b>process</b> for making sure a home is right for an animal that involves people trained in animal and humor behavior analysis, a home visit, &#8220;play dates&#8221; with any other animals in the house, and a <b>contract</b> that specifies that if the owner can&#8217;t take care of the animal, that it comes back to our rescue and not a kill shelter. </p>
<p>See those bolded words? Those are the controls. Just as Paul pointed out, all of these policies also come from a situation when either the organization, an individual volunteer, or an animal was hurt in some way. They may cause the organization to not adopt an animal even though there&#8217;s a willing and loving home available. On the other hand: They ensure that the organization will continue to be successful even with the emotionally charged environment that it has to operate in.</p>
<h2>Making Controls into Goals</h2>
<p>The primary goal of the animal rescue is always met:
<ol>
<li>volunteers go home feeling good at the end of the day</li>
<li>every single one of the animals that the organization adopts out are happy, safe, and loved for the rest of their lives</li>
</ol>
<p>Could we help more animals if we didn&#8217;t limit who is taken in, or were more free with adoption procedures? Yes. Could we always <b><i>know, beyond a shadow of a doubt</i></b> that the animals were in good homes? No. We&#8217;d lose fosters right and left because they&#8217;d hear horror stories of where their beloved temporary family members ended up. Could we always be sure that we weren&#8217;t stressing our network of fostering volunteers if we took in every animal that came our way? No, we&#8217;d lose fosters left and right as we placed unfair demands on them. The organization is based on it&#8217;s fosters. Without fosters, there is no animal rescue. The controls on animal intake and placement preserve the organization. </p>
<p>In the software world, a company&#8217;s based on it&#8217;s customers. Releasing broken code too quickly will send customers away. Releasing updates too late will allow competitors to get in the door &#8212; and will send customers away. Without customers, there is no company. Controls on software releases exist to preserve the organization. </p>
<p>If you&#8217;re doing it right, your artists won&#8217;t see constraints, they&#8217;ll see goals. The goal of the animal rescue is to take in the animals that are in great need (i.e. will be put down if they are not taken in) and are adoptable without an inordinate amount of work. The goal of the software company is to release software with no bugs on time. These goals serve controls, but end up serving the customer. The benchmark of a successful adoption placement is a completed application, a good home visit, and a happy union. The benchmark of a successful software release is passed tests and timely delivery. <i>These</i> are challenges suitable for artists. </p>
<p>Artists are competitive in ways that you wouldn&#8217;t otherwise suspect. Challenges add spice to what might otherwise become boring and routine. </p>
<h2>Keeping Goals from Slowing You Down</h2>
<blockquote><p>At big companies, software has to go through various approvals before it can be launched. And the cost of doing this can be enormous—in fact, discontinuous. I was talking recently to a group of three programmers whose startup had been acquired a few years before by a big company. When they&#8217;d been independent, they could release changes instantly. Now, they said, the absolute fastest they could get code released on the production servers was two weeks.</p>
<p>This didn&#8217;t merely make them less productive. It made them hate working for the acquirer.</p></blockquote>
<p>Yeah. Two weeks is ridiculous. If testing takes that long, well, <i>you&#8217;re doing it wrong</i>. No testing at all (immediate release) can also be a case of <i>you&#8217;re doing it wrong</i> &#8212; if you make a change that destroys production data, it could take you weeks to untangle &#8230; or worse, it could cause the permanent loss of that customer&#8217;s particular bit of data. Changes to production do need to be made carefully and tested. When you&#8217;re in &#8220;private beta&#8221; or &#8220;alpha&#8221; stages, customers may not expect to have their data be &#8216;permanent&#8217;&#8230; but once you reach a public beta release (especially if it&#8217;s backed by or been acquired by a large public company!), you&#8217;re held to a much higher standard.</p>
<p>Any place where procedures limit the artists from releasing needs to be evaluated. The only constraints on the artists should be completed and met BY the artists. Release testing is a good example. There was no release process when I arrived at my current job. Putting one in place was a headache until the (very passionate) developers finally &#8220;got it&#8221; that they could meet all the testing goals themselves, and they get the same sense of accomplishment by meeting them that they do from releasing an update in the first place. </p>
<p>Our developers can complete every stage in the production release process themselves except for the final release.  </p>
<ol>
<li>Write Code, commit to Subversion.</li>
<li>Write (and pass) Unit Tests.</li>
<li>Write and pass Selenium tests</li>
<li>Tag a release in Subversion.</li>
<li>Do a &#8220;mock rollout&#8221; and write out any special instructions, such as database structure changes, for sysadmins.</li>
</ol>
<p>When the release needs to go live, the Sysadmins quickly execute the above tasks. The data gets merged, the tests get run, and it gets rolled out. If the artists have done their job well, a change can take less than five minutes to go from development, through stage, and to live.</p>
<h2>Everyone Ships</h2>
<p>In our organization, it&#8217;s not the artists (developers) that ship &#8212; everyone works together to ship. The artists can clear it all the way through themselves. There&#8217;s a check/balance with the sysadmins. Ultimate responsibility lies with the managers. For a web development shop, we&#8217;re pretty large &#8212; six developers, two sysadmins, and about twenty to thirty projects or platforms.</p>
<p>I&#8217;m sure the same type of thing happens at Apple. The focus is on the artist, but everyone else is there to support the artist. In the case of the new MacBook design, a design engineer probably came up with the idea of using a monocoque frame. Did he submit the design to the purchasing department for them to find manufacturers? No, he probably either developed himself or went out and found a manufacturer capable of developing the processes they eventually used. Or he took it to his boss, who took it possibly up to Steve himself, and as a company Apple went and did it. Artists create, leaders lead, everyone ships. </p>
<p>Changes? They&#8217;re easy to sell, because they&#8217;re cheap. Processes that are streamlined so that they can be &#8220;pre-cleared&#8221; or &#8220;fast tracked&#8221; through? They&#8217;re efficient. Any restrictions? They make sense, and they&#8217;ve been taken to the leaders for clearance or confirmation. You can easily release in a few minutes even with controls in place. <b><big>Letting artists ship does not mean throwing out your controls.</big></b></p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/programming-process-constraints-artists-ship/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple Wins Again</title>
		<link>http://www.karlkatzke.com/apple-wins-again/</link>
		<comments>http://www.karlkatzke.com/apple-wins-again/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 21:30:33 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[applecare]]></category>
		<category><![CDATA[genius bar]]></category>
		<category><![CDATA[macbook pro]]></category>
		<category><![CDATA[mbp]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/?p=309</guid>
		<description><![CDATA[Last night, the &#8216;e&#8217; key on my Mac Book Pro 15&#8243; (Core Duo 2.2 ghz) broke. The little pivot on the bottom cracked. I don&#8217;t have a problem with it having broken, I have a problem with getting the consulting work I need to do this weekend done without an e key. Last night, I [...]]]></description>
			<content:encoded><![CDATA[<p>Last night, the &#8216;e&#8217; key on my Mac Book Pro 15&#8243; (Core Duo 2.2 ghz) broke. The little pivot on the bottom cracked. I don&#8217;t have a problem with it having broken, I have a problem with getting the consulting work I need to do this weekend done without an e key. </p>
<p>Last night, I scheduled a Genius Bar appointment at 11:40am today. This morning at 10am, I called to make sure they had the part that I needed and they assured me that it was very easy to take one off of the broken &#8216;donor&#8217; computers that they keep on hand in the store if they didn&#8217;t have an actual new one. I jumped in the car. An hour and a half later, I pull in at 11:35 and check in to the store. I&#8217;m seen right at 11:40, and out the door by 11:45 at no cost, with no paperwork to sign, and with a perfectly working laptop for the holiday weekend (which will be spent work,work,working away.) </p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/apple-wins-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting By Without Photoshop</title>
		<link>http://www.karlkatzke.com/getting-by-without-photoshop/</link>
		<comments>http://www.karlkatzke.com/getting-by-without-photoshop/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 01:05:04 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[freeware]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[photoshop]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/?p=220</guid>
		<description><![CDATA[Download Squad has posted a list of free alternatives to Photoshop. Out of them, only GIMP runs on OS X. Anyone got alternatives that are focused on Mac?]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.downloadsquad.com/2008/08/19/theft-is-bad-karma-stop-pirating-photoshop/">Download Squad</a> has posted a list of free alternatives to Photoshop. </p>
<p>Out of them, only GIMP runs on OS X. Anyone got alternatives that are focused on Mac? </p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/getting-by-without-photoshop/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

