<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
	<title>Dev @ MacBlogs.org</title>
	<link>http://Dev.MacBlogs.org/</link>
	<language>en</language>
	<description>Dev @ MacBlogs.org - http://Dev.MacBlogs.org/</description>

<item>
	<title>Scripting News: science.newsriver.org</title>
	<guid>http://scripting.com/stories/2010/07/29/scienceblogsnewsriverorg.html</guid>
	<link>http://scripting.com/stories/2010/07/29/scienceblogsnewsriverorg.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/29/hope.jpg&quot; width=&quot;150&quot; height=&quot;253&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named hope.jpg&quot;&gt;Earlier this month I &lt;a href=&quot;http://www.scripting.com/stories/2010/07/08/scienceGoesDirect.html&quot;&gt;reported&lt;/a&gt; on bloggers leaving scienceblogs.org because the publisher sold a presence on the site to bloggers from PepsiCo. &lt;/p&gt;
				&lt;p&gt;One of the rationales for bundling all the science bloggers together in one place was the synergy that comes from aggregation. Of course, with &lt;a href=&quot;http://cyber.law.harvard.edu/rss/rss.html&quot;&gt;RSS&lt;/a&gt; you can achieve the same effect, without putting them all on the same server. So I put it on my to-do list to set up an science blogs aggregator, and yesterday I had some time to do it, so here it is.&lt;/p&gt;
				&lt;p&gt;&lt;a href=&quot;http://science.newsriver.org/&quot;&gt;http://science.newsriver.org/&lt;/a&gt;  &lt;/p&gt;
				&lt;p&gt;As always, the OPML for the site is &lt;a href=&quot;http://science.newsriver.org/index.opml&quot;&gt;public&lt;/a&gt; so if you want to feed it into your aggregator you're welcome to. You should reimport the OPML from time to time, or ask your aggregator developer to do it for you -- because that list will be updated dynamically as the site grows.&lt;/p&gt;
				&lt;p&gt;And if you know of science blogs that should be included in the list, please post a comment here. &lt;/p&gt;</description>
	<pubDate>Thu, 29 Jul 2010 13:50:29 +0000</pubDate>
</item>
<item>
	<title>Scripting News: Ole and Lena ride again</title>
	<guid>http://scripting.com/stories/2010/07/29/oleAndLenaRideAgain.html</guid>
	<link>http://scripting.com/stories/2010/07/29/oleAndLenaRideAgain.html</link>
	<description>&lt;p&gt;Some people don't care for them, but I love &lt;a href=&quot;http://en.wikipedia.org/wiki/Ole_and_Lena&quot;&gt;Ole and Lena&lt;/a&gt; jokes.&lt;/p&gt;
				&lt;p&gt;Here's a good one.&lt;/p&gt;
				&lt;p&gt;Ole was going on a business trip to St Cloud but it was cancelled at the last minute cause the Minnesota Twins made it to the playoffs. &lt;/p&gt;
				&lt;p&gt;He's lying in bed before going to sleep when the phone rings.&lt;/p&gt;
				&lt;p&gt;He listens, gets up to look out the window then returns to the phone.&lt;/p&gt;
				&lt;p&gt;He says in an irritated way: &quot;How should I know, it's a thousand miles away!&quot; and hangs up.&lt;/p&gt;
				&lt;p&gt;Lena asks: Who was that Ole?&lt;/p&gt;
				&lt;p&gt;Ole: Oh Sven yust vants to know if the coast is clear. &lt;/p&gt;
				&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/07/cheesecake.jpg&quot; width=&quot;50&quot; height=&quot;45&quot; border=&quot;0&quot; alt=&quot;A picture of a slice of cheese cake.&quot;&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 29 Jul 2010 12:17:12 +0000</pubDate>
</item>
<item>
	<title>Scripting News: Kindle is OK</title>
	<guid>http://scripting.com/stories/2010/07/29/kindleIsOk.html</guid>
	<link>http://scripting.com/stories/2010/07/29/kindleIsOk.html</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/scriptingnews/4840682476/&quot;&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/29/kindle.jpg&quot; width=&quot;145&quot; height=&quot;202&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named kindle.jpg&quot;&gt;&lt;/a&gt;The iPad with its Kindle app got me interested in reading on a tablet again.&lt;/p&gt;
				&lt;p&gt;But it's summertime, and I'd rather read in the park, or on a bench looking out over the Hudson.&lt;/p&gt;
				&lt;p&gt;The iPad doesn't work for outdoor reading if there's any sun at all.&lt;/p&gt;
				&lt;p&gt;Further, I have a backlog of unread books I bought on Amazon, and I don't see why I should replace them (or if I can) using Apple's store.&lt;/p&gt;
				&lt;p&gt;I already buy a lot of stuff from Apple, and I don't like how they &lt;a href=&quot;http://mediamemo.allthingsd.com/20100728/time-inc-s-ipad-problem-is-trouble-for-every-magazine-publisher/&quot;&gt;push&lt;/a&gt; around app developers and content companies. We're talking about First Amendment stuff here. So I vote with my dollars, and feel good about it.&lt;/p&gt;
				&lt;p&gt;So a couple of weeks ago I bought a &lt;a href=&quot;http://www.amazon.com/dp/B002GYWHSQ/?tag=googhydr-20&amp;hvadid=5711058667&amp;ref=pd_sl_1bi5098qpb_e&quot;&gt;Kindle DX&lt;/a&gt;, and I think it's a great product. &lt;/p&gt;
				&lt;p&gt;When I &lt;a href=&quot;http://thenextweb.com/us/2010/07/29/is-the-new-kindle-kaput-before-it-even-comes-out/&quot;&gt;read&lt;/a&gt; on tech blogs that Kindle is a goner, I think these people must not read very much. Reading isn't about tech prowess or the shiniest gadget. &lt;/p&gt;
				&lt;p&gt;The Kindle is lighter, works in more places, has longer battery life, better connectivity, and has the biggest base of content. Plus they have been very smart about making their content available on every device known to man, including Apple's.&lt;/p&gt;
				&lt;p&gt;Bottom-line: Don't worry about the Kindle.&lt;/p&gt;</description>
	<pubDate>Thu, 29 Jul 2010 12:03:37 +0000</pubDate>
</item>
<item>
	<title>Scripting News: We'd probably survive a 500-character limit</title>
	<guid>http://scripting.com/stories/2010/07/29/wedProbablySurviveA500char.html</guid>
	<link>http://scripting.com/stories/2010/07/29/wedProbablySurviveA500char.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/29/zanda.gif&quot; width=&quot;75&quot; height=&quot;119&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named zanda.gif&quot;&gt;&lt;a href=&quot;http://scripting.com/stories/2010/07/26/welcomeTwitterToTheWorldOf.html#comment-65016935&quot;&gt;Xcv comments&lt;/a&gt;: &quot;At the large tech company I work at there is an internal micro-blogging tool. The limit was recently increased from 140 to around 500. &lt;/p&gt;
				&lt;p&gt;&quot;People are still writing concise things. It is just &lt;i&gt;incredibly refreshing&lt;/i&gt; to not have to abbreviate things. And also you can include full links instead of shortened crap.&quot;&lt;/p&gt;
				&lt;p&gt;Interesting story. &lt;/p&gt;</description>
	<pubDate>Thu, 29 Jul 2010 04:20:14 +0000</pubDate>
</item>
<item>
	<title>Michael Tsai: Node and Scaling in the Small vs Scaling in the Large</title>
	<guid>http://mjtsai.com/blog/?p=2652</guid>
	<link>http://mjtsai.com/blog/2010/07/27/node-and-scaling-in-the-small-vs-scaling-in-the-large/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://al3x.net/2010/07/27/node.html&quot;&gt;Alex Payne&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote cite=&quot;http://al3x.net/2010/07/27/node.html&quot;&gt;&lt;p&gt;Herein lies my criticism of Node&amp;rsquo;s primary stated goal: &amp;ldquo;to provide an easy way to build scalable network programs&amp;rdquo;. I fundamentally do not believe that there is an easy way to build scalable &lt;em&gt;anything&lt;/em&gt;. What&amp;rsquo;s happening is that people are confusing easy problems for easy solutions.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Nevertheless, &lt;a href=&quot;http://nodejs.org&quot;&gt;Node&lt;/a&gt; is interesting tech.&lt;/p&gt;</description>
	<pubDate>Wed, 28 Jul 2010 00:55:05 +0000</pubDate>
	<dc:creator>Michael Tsai</dc:creator>
</item>
<item>
	<title>Scripting News: Starbucks' free wifi is the deciding factor</title>
	<guid>http://scripting.com/stories/2010/07/27/starbucksFreeWifiIsTheDeci.html</guid>
	<link>http://scripting.com/stories/2010/07/27/starbucksFreeWifiIsTheDeci.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/27/starbucks.gif&quot; width=&quot;145&quot; height=&quot;145&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named starbucks.gif&quot;&gt;In the neighborhood around NYU we have a million places to get coffee, and many of them have free wifi. The ones that don't, like Au Bon Pain, which have better food, can't compete. And most of the free-wifi places have &lt;i&gt;inferior&lt;/i&gt; wifi. So this morning, when I was looking for a place to work for a bit, there was no choice but to find a Starbucks, get an iced coffee, and sit down. &lt;/p&gt;
				&lt;p&gt;Not sure where they're going to go with the free wifi, I hope they add some features, and I hope they find a way to make it pay. But right now, it gives them the advantage over all the other places. Working, free wifi is a big deal.&lt;/p&gt;</description>
	<pubDate>Tue, 27 Jul 2010 14:45:12 +0000</pubDate>
</item>
<item>
	<title>Scripting News: What's the point of the magic trackpad?</title>
	<guid>http://scripting.com/stories/2010/07/27/whatsThePointOfTheMagicTra.html</guid>
	<link>http://scripting.com/stories/2010/07/27/whatsThePointOfTheMagicTra.html</link>
	<description>&lt;p&gt;On Twitter, &lt;a href=&quot;http://twitter.com/dossy/status/19655278290&quot;&gt;Dossy&lt;/a&gt; wonders why the new &lt;a href=&quot;http://store.apple.com/us/product/MC380?mco=MTg1ODA3NDY&quot;&gt;Magic Trackpad&lt;/a&gt; from Apple.&lt;/p&gt;
				&lt;p&gt;&lt;a href=&quot;http://store.apple.com/us/product/MC380?mco=MTg1ODA3NDY&quot;&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/27/trackpad.jpg&quot; width=&quot;365&quot; height=&quot;146&quot; border=&quot;0&quot; alt=&quot;A picture named trackpad.jpg&quot;&gt;&lt;/a&gt;&lt;/p&gt;
				&lt;p&gt;Come on guys get with the program. You're in the middle of a &lt;a href=&quot;http://www.xmlrpc.com/bootstrappingTheTwoWayWeb&quot;&gt;bootstrap&lt;/a&gt;. This is the next step.&lt;/p&gt;
				&lt;p&gt;Apple has a new operating system called iOS. It's what runs on iPods (which they are phasing out), iPhones and iPads. &lt;/p&gt;
				&lt;p&gt;What &lt;i&gt;doesn't&lt;/i&gt; it run on? (Yet.)&lt;/p&gt;
				&lt;p&gt;Why not? Wellllllll. Cause for one thing, the Mac is built around a mouse as a pointing device and iOS is built around fingers as the pointing device. So if you want to run iOS software on Mac hardware don't you need a little new hardware? Just a little? &lt;/p&gt;
				&lt;p&gt;Come on, this isn't that hard. It's Software Evolution 101.&lt;/p&gt;</description>
	<pubDate>Tue, 27 Jul 2010 13:14:49 +0000</pubDate>
</item>
<item>
	<title>Scripting News: Will the 140-char limit drop next?</title>
	<guid>http://scripting.com/stories/2010/07/26/welcomeTwitterToTheWorldOf.html</guid>
	<link>http://scripting.com/stories/2010/07/26/welcomeTwitterToTheWorldOf.html</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://mashable.com/2010/07/26/tweet-media/&quot;&gt;From Mashable&lt;/a&gt; comes news that Twitter is adding pictures and video to the tweetstream. &lt;/p&gt;
				&lt;p&gt;Verrrrra nice.&lt;/p&gt;
				&lt;p&gt;So....&lt;/p&gt;
				&lt;p&gt;How about dropping the 140-char limit too? &lt;img src=&quot;http://scripting.com/gifs/QBullets/qbullets/sidesmiley.gif&quot; width=&quot;11&quot; height=&quot;11&quot; border=&quot;0&quot; alt=&quot;:-)&quot;&gt;&lt;/p&gt;
				&lt;p&gt;And please spare me how it all has to fit into an SMS package because I don't know, maybe a video takes up a &lt;i&gt;&lt;b&gt;bit&lt;/b&gt;&lt;/i&gt; more than 140 bytes. &lt;/p&gt;
				&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/07/cheesecake.jpg&quot; width=&quot;50&quot; height=&quot;45&quot; border=&quot;0&quot; alt=&quot;A picture of a slice of cheese cake.&quot;&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 27 Jul 2010 01:38:00 +0000</pubDate>
</item>
<item>
	<title>Scripting News: A hybrid of Google Calendar, Foursquare and Flickr</title>
	<guid>http://scripting.com/stories/2010/07/26/fileThisUnderProductsThatW.html</guid>
	<link>http://scripting.com/stories/2010/07/26/fileThisUnderProductsThatW.html</link>
	<description>&lt;p&gt;Let's say I'm having lunch with Andrew Baron next Tuesday at a local &lt;a href=&quot;http://nymag.com/listings/restaurant/gaetanas/&quot;&gt;restaurant&lt;/a&gt;. We both put items on our calendar. Link those two items, and then link both of them to the location we're having lunch at.&lt;/p&gt;
				&lt;p&gt;When the big day comes, I whip out my iPhone, which of course is synched to my calendar, and take a picture of &lt;a href=&quot;http://www.google.com/images?q=Andrew+Baron&quot;&gt;Andrew&lt;/a&gt; and he takes a picture of me. The pictures automatically are linked to the calendar entry and to the location.&lt;/p&gt;
				&lt;p&gt;Now, someday anyone (since we made this public, why not) who's just trawling around wonders if we ever met, they not only know where and when but what we looked like that day.&lt;/p&gt;
				&lt;p&gt;Of course the right way for this to work is if it isn't a hybrid, but just nicely interconnected.&lt;/p&gt;</description>
	<pubDate>Mon, 26 Jul 2010 22:22:14 +0000</pubDate>
</item>
<item>
	<title>Scripting News: Add this to Twitter's to-do list</title>
	<guid>http://scripting.com/stories/2010/07/26/addThisToTwittersTodoList.html</guid>
	<link>http://scripting.com/stories/2010/07/26/addThisToTwittersTodoList.html</link>
	<description>&lt;p&gt;Sheamus wrote a &lt;a href=&quot;http://twittercism.com/five-holes/&quot;&gt;list&lt;/a&gt; of 5 things Twitter should do ASAP.&lt;/p&gt;
				&lt;p&gt;I have something to add to that list.&lt;/p&gt;
				&lt;p&gt;I want to be able to delete a tweet from my @replies tab.&lt;/p&gt;
				&lt;p&gt;So if someone sends something unpleasant to me, I don't have to block them to get rid of it.&lt;/p&gt;
				&lt;p&gt;Just the ability to hide one tweet. Please.&lt;/p&gt;</description>
	<pubDate>Mon, 26 Jul 2010 19:08:48 +0000</pubDate>
</item>
<item>
	<title>Scripting News: Dancing in the Streets!</title>
	<guid>http://scripting.com/stories/2010/07/26/dancingInTheStreets.html</guid>
	<link>http://scripting.com/stories/2010/07/26/dancingInTheStreets.html</link>
	<description>&lt;p&gt;&lt;/p&gt;</description>
	<pubDate>Mon, 26 Jul 2010 17:06:06 +0000</pubDate>
</item>
<item>
	<title>Michael Tsai: DRM Ruling From the Library of Congress</title>
	<guid>http://mjtsai.com/blog/?p=2648</guid>
	<link>http://mjtsai.com/blog/2010/07/26/drm-ruling-from-the-library-of-congress/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://arstechnica.com/tech-policy/news/2010/07/apple-loses-big-in-drm-ruling-jailbreaks-are-fair-use.ars&quot;&gt;Nate Anderson&lt;/a&gt; (via &lt;a href=&quot;http://twitter.com/siracusa/status/19585792711&quot;&gt;John Siracusa&lt;/a&gt;):&lt;/p&gt;
&lt;blockquote cite=&quot;http://arstechnica.com/tech-policy/news/2010/07/apple-loses-big-in-drm-ruling-jailbreaks-are-fair-use.ars&quot;&gt;&lt;p&gt;This time, the &lt;a href=&quot;http://www.copyright.gov/1201/&quot;&gt;Library went (comparatively) nuts&lt;/a&gt;, allowing widespread bypassing of the CSS encryption on DVDs, declaring iPhone jailbreaking to be &amp;ldquo;fair use,&amp;rdquo; and letting consumers crack their legally purchased e-books in order to have them read aloud by computers.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Good news, although the CSS exemption does not include format-shifting, unfortunately.&lt;/p&gt;</description>
	<pubDate>Mon, 26 Jul 2010 17:06:01 +0000</pubDate>
	<dc:creator>Michael Tsai</dc:creator>
</item>
<item>
	<title>Scripting News: Inception is to The Matrix as...</title>
	<guid>http://scripting.com/stories/2010/07/26/inceptionIsToTheMatrixAs.html</guid>
	<link>http://scripting.com/stories/2010/07/26/inceptionIsToTheMatrixAs.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/26/thematrix.jpg&quot; width=&quot;145&quot; height=&quot;197&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named thematrix.jpg&quot;&gt;A lot of people seem to like Inception. Many of them are very smart. I don't get why they like it. I found it &lt;a href=&quot;http://scripting.com/stories/2010/07/16/inceptionIsDisappointing.html&quot;&gt;disappointing&lt;/a&gt;. &lt;/p&gt;
				&lt;p&gt;I really &lt;i&gt;wanted&lt;/i&gt; to like it. I need a movie like &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Matrix&quot;&gt;The Matrix&lt;/a&gt;, which was one of the most inspiring movies of all-time, a movie I still quote, more than ten years after it came out. &lt;/p&gt;
				&lt;p&gt;But Inception is to The Matrix as &lt;a href=&quot;http://en.wikipedia.org/wiki/Senator,_you%27re_no_Jack_Kennedy&quot;&gt;Dan Quayle&lt;/a&gt; is to Jack Kennedy. Inception is actually worse. Try this out. Inception is &lt;a href=&quot;http://en.wikipedia.org/wiki/Fat_Albert_and_the_Cosby_Kids&quot;&gt;Fat Albert&lt;/a&gt; and The Matrix is Jack Kennedy. Hey hey hey!&lt;/p&gt;
				&lt;p&gt;Inception is a sloppy movie that gives great trailer. Think about it. All the great visuals in Inception are in the trailers. After the great visuals, what is there? A plot so grandiose and sloppy that the characters spend half the dialog explaining how it works. Okay that could be interesting. But it's not. &lt;/p&gt;
				&lt;p&gt;I had the feeling of being in a movie theater watching a long boring movie, enjoying the air conditioning and popcorn. Thinking about what I'd do when I got back to work. Believe me, nothing like that happened the first time I watched The Matrix. Or the second, or third, or fourth, or fifth. I could watch it again right now and still love every line of dialog. Inception? Maybe it had two or three ideas that made you think. The rest of it was slop.&lt;/p&gt;
				&lt;p&gt;Okay so let me put my stake in the ground. David Weinberger &lt;a href=&quot;http://www.hyperorg.com/blogger/2010/07/26/oscar-picks-for-inception-no-spoilers/&quot;&gt;says&lt;/a&gt; it's going to be nominated in 12 categories and win most of them. &lt;/p&gt;
				&lt;p&gt;I say Inception is Avatar. It won't win any of the big awards. If it's the best movie of 2010 it's going to be a very very very bad year. &lt;/p&gt;</description>
	<pubDate>Mon, 26 Jul 2010 12:41:17 +0000</pubDate>
</item>
<item>
	<title>Scripting News: Zero-tolerance for mindless Apple advocacy</title>
	<guid>http://scripting.com/stories/2010/07/25/aDemoForAppleFans.html</guid>
	<link>http://scripting.com/stories/2010/07/25/aDemoForAppleFans.html</link>
	<description>&lt;p&gt;I'm taking a page out of Apple's playbook. &lt;/p&gt;
				&lt;p&gt;If you can't stay on-topic, I'm not only deleting your comment but adding you to the blacklist. &lt;/p&gt;
				&lt;p&gt;I'm trying to improve discourse on my blog in a way similar to Apple's wanting to improve the apps on the iPad. This feels very symmetric to me.&lt;/p&gt;</description>
	<pubDate>Sun, 25 Jul 2010 22:55:59 +0000</pubDate>
</item>
<item>
	<title>Scripting News: Apple's Flash policy is a breach of Postel's Law</title>
	<guid>http://scripting.com/stories/2010/07/25/applesFlashPolicyIsABreach.html</guid>
	<link>http://scripting.com/stories/2010/07/25/applesFlashPolicyIsABreach.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/25/beetlejuice.jpg&quot; width=&quot;150&quot; height=&quot;178&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named beetlejuice.jpg&quot;&gt;I was browsing the web today on my iPad looking for the lyrics to a song I heard yesterday on the &lt;a href=&quot;http://en.wikipedia.org/wiki/Jonathan_Schwartz_%28radio%29&quot;&gt;Jonathan Schwartz&lt;/a&gt; show on WNYC. &lt;/p&gt;
				&lt;p&gt;It's a show tune, that started off not-too-interesting but by the end the &lt;a href=&quot;http://www.google.com/search?q=new+rochelle+limbo+bimbo+golden+boy&quot;&gt;lyrics&lt;/a&gt; had me choked up. It was a beautiful story, and I not only wanted to hear it again, but I wanted to share it with others. &lt;/p&gt;
				&lt;p&gt;I eventually found a rendition of it on YouTube, but during my exploration I came across a Flash thingie (what are they called) that promised to have some info about the song, but of course since Apple doesn't like Flash, my iPad can't &quot;see into&quot; it.&lt;/p&gt;
				&lt;p&gt;Aside: The song I was &lt;a href=&quot;http://www.google.com/search?q=closer+than+ever+life+story+wintersteller&quot;&gt;looking for&lt;/a&gt; turned out to be Life Story sung by &lt;a href=&quot;http://en.wikipedia.org/wiki/Lynne_Wintersteller&quot;&gt;Lynne Wintersteller&lt;/a&gt; from the play &lt;a href=&quot;http://theater.nytimes.com/mem/theater/treview.html?_r=1&amp;res=950DEFDC1F3CF934A35752C1A96F948260&amp;oref=slogin&quot;&gt;Closer Than Ever&lt;/a&gt;. &lt;/p&gt;
				&lt;p&gt;It was at this point that it hit me that what Apple is doing with Flash is dangerous, for reasons I hadn't previously considered.&lt;/p&gt;
				&lt;p&gt;Deliberately throwing out content that might have useful information in it, that's not too wise, imho. Better to keep as much as we can, and stop worrying too much about whether we like the format or not. &lt;/p&gt;
				&lt;p&gt;And what Apple is doing violates &lt;a href=&quot;http://en.wikipedia.org/wiki/Robustness_principle&quot;&gt;Postel's Law&lt;/a&gt; which says you should be liberal in what you accept. Another reason Postel was wise. It helps keep the web from breaking.&lt;/p&gt;
				&lt;p&gt;A reminder that now that Apple's market cap is bigger than Microsoft's we have to think about what it does differently. If Microsoft had decided to outlaw a popular format, no matter how much we may not like it, we'd look at that as an anti-competitive move. Why should we look at it any differently if it's Apple?&lt;/p&gt;
				&lt;p&gt;Update: You can view what Apple has done as &lt;a href=&quot;http://en.wikipedia.org/wiki/Link_rot&quot;&gt;linkrot&lt;/a&gt;, but on a massive scale, and it was deliberate. Linkrot is usually accidental, but this was deliberate. If Microsoft had done this, the very same people who are defending Apple so fiercely would be (virtually) marching on Redmond with torches threatening to burn it to the ground.&lt;/p&gt;</description>
	<pubDate>Sun, 25 Jul 2010 17:55:04 +0000</pubDate>
</item>
<item>
	<title>Scripting News: In Washington it's all public relations</title>
	<guid>http://scripting.com/stories/2010/07/25/inWashingtonItsAllPublicRe.html</guid>
	<link>http://scripting.com/stories/2010/07/25/inWashingtonItsAllPublicRe.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/25/joker.gif&quot; width=&quot;173&quot; height=&quot;270&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named joker.gif&quot;&gt;The banking reform bill is all smoke, I hear -- from people who know.&lt;/p&gt;
				&lt;p&gt;An analogy.&lt;/p&gt;
				&lt;p&gt;We've noticed that in the summer buildings get hot. Sometimes they get so hot that people die! So we've just passed a law that all buildings must have air conditioning. But you don't have to turn on the AC until the temp gets to 150 degrees. Oh that does a lot of good. (Not.)&lt;/p&gt;
				&lt;p&gt;&lt;a href=&quot;http://www.marketwatch.com/story/obama-signs-sweeping-bank-reform-bill-into-law-2010-07-21-12200?dist=afterbell&quot;&gt;Obama signed&lt;/a&gt; the bill, hailing it as the most significant banking reform legislation since the Great Depression. Will it do anything to prevent the kind of meltdown we had in 2008? Nahhh. That would spoil the fun. How can the bankers soak the last bit of life from the US economy if they're regulated. &lt;/p&gt;
				&lt;p&gt;&lt;a href=&quot;http://politicalticker.blogs.cnn.com/2010/07/25/obama-is-anti-business-forbes-says/?fbid=aZS6gKekbDz&quot;&gt;Forbes says&lt;/a&gt; Obama is anti-business.&lt;/p&gt;
				&lt;p&gt;Obama calls him up to say thanks. &lt;/p&gt;
				&lt;p&gt;Now he can get re-elected.&lt;/p&gt;
				&lt;p&gt;As if we'd vote for Mitt Romney.&lt;/p&gt;
				&lt;p&gt;As if it would make a diff.&lt;/p&gt;
				&lt;p&gt;Bonus: &lt;a href=&quot;http://www.youtube.com/watch?v=201pgTaEseQ&amp;feature=player_embedded&quot;&gt;How to remove Obama bumper stickers&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Sun, 25 Jul 2010 16:42:51 +0000</pubDate>
</item>
<item>
	<title>Michael Tsai: Safari AutoFill Security Flaw</title>
	<guid>http://mjtsai.com/blog/?p=2644</guid>
	<link>http://mjtsai.com/blog/2010/07/25/safari-autofill-security-flaw/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://jeremiahgrossman.blogspot.com/2010/07/i-know-who-your-name-where-you-work-and.html&quot;&gt;Jeremiah Grossman&lt;/a&gt; (via &lt;a href=&quot;http://bits.blogs.nytimes.com/2010/07/22/apples-web-browser-allows-sites-to-collect-personal-information/&quot;&gt;NYTimes&lt;/a&gt;):&lt;/p&gt;
&lt;blockquote cite=&quot;http://jeremiahgrossman.blogspot.com/2010/07/i-know-who-your-name-where-you-work-and.html&quot;&gt;&lt;p&gt;Right at the moment a Safari user visits a website, even if they&amp;rsquo;ve never been there before or entered any personal information, a malicious website can uncover their first name, last name, work place, city, state, and email address.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;He recommends unchecking &amp;ldquo;Using info from my Address Book card.&amp;rdquo;&lt;/p&gt;</description>
	<pubDate>Sun, 25 Jul 2010 15:17:36 +0000</pubDate>
	<dc:creator>Michael Tsai</dc:creator>
</item>
<item>
	<title>Michael Tsai: Will It Optimize?</title>
	<guid>http://mjtsai.com/blog/?p=2642</guid>
	<link>http://mjtsai.com/blog/2010/07/25/will-it-optimize/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://ridiculousfish.com/blog/archives/2010/07/23/will-it-optimize/&quot;&gt;Peter Ammon&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote cite=&quot;http://ridiculousfish.com/blog/archives/2010/07/23/will-it-optimize/&quot;&gt;&lt;p&gt;It is tempting to think of compiler optimizations as reducing the constant in your program&amp;rsquo;s big-O complexity, and nothing else. They aren&amp;rsquo;t supposed to be able to make your program asymptotically faster, or affect its output.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Naturally, he has some interesting counterexamples from GCC.&lt;/p&gt;</description>
	<pubDate>Sun, 25 Jul 2010 15:05:22 +0000</pubDate>
	<dc:creator>Michael Tsai</dc:creator>
</item>
<item>
	<title>Scripting News: Apple as Captain Queeg</title>
	<guid>http://scripting.com/stories/2010/07/24/steveJobsAsCaptainQueeg.html</guid>
	<link>http://scripting.com/stories/2010/07/24/steveJobsAsCaptainQueeg.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/24/queeg.jpg&quot; width=&quot;115&quot; height=&quot;158&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named queeg.jpg&quot;&gt;If you've never seen the movie, this is how it goes. &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Caine_Mutiny_%28film%29&quot;&gt;Captain Queeg&lt;/a&gt;, played by Humphrey Bogart, is a career naval officer, in charge of a ship that drags targets for battleships to practice on. It's part of the huge Pacific fleet during World War II. &lt;/p&gt;
				&lt;p&gt;Queeg is a mid-level guy, not going anywhere. It being wartime, most of his officers are draftees -- college kids, smartasses, in one case a coward (played by Fred MacMurray). There's another career officer on the Caine played by Van Johnson. &lt;/p&gt;
				&lt;p&gt;The captain is way past his prime. Mediocre. A failure that they've kept around because no one had the time to retire him. The same story for the Caine. So it tries to stay out of range when the other American boats take shots at the targets it drags. &lt;/p&gt;
				&lt;p&gt;Queeg does all kinds of stupid shit, like navigate over the towing line of a target the Caine is towing, thus losing it. He's weird, he likes to play with steel balls. When he discovers that some of the frozen strawberries are missing from the pantry he starts an investigation. He says it's about time they had some fun on the ship. He believes they were stolen by some of the officers. He's reliving a victory of his early career. This is too much for the college kids, so they convince Van Johnson to depose the captain, in the famous mutiny that the movie and the Herman Wouk novel are named after.&lt;/p&gt;
				&lt;p&gt;Classic movie, with some great performances. And somehow the story comes up all the time in real life, especially in the tech industry. &lt;/p&gt;
				&lt;p&gt;Anyway, just when it seems the rest of the world is ready to let Antennagate go, here comes a &lt;a href=&quot;http://www.macrumors.com/2010/07/23/apple-takes-on-droid-x-with-latest-smartphone-video/&quot;&gt;Youtube video&lt;/a&gt; from Apple, dragging the Droid-X into the mess. Now Apple's competitors get to look aloof, like leaders, puzzled why the captain is making a federal case about the strawberries. &lt;/p&gt;
				&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/scriptingnews/4824207977/&quot;&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/24/useOfCameras.jpg&quot; width=&quot;105&quot; height=&quot;137&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named useOfCameras.jpg&quot;&gt;&lt;/a&gt;The users just got their emails telling them how to get their new cases. The thought occurred to me that Apple could have given us a nice present &lt;i&gt;anyway,&lt;/i&gt; even if there hadn't been a PR mess. Wouldn't that have been classy. We appreciate that you're an early supporter of our products (knowing we're the ones who always get screwed, we know it, but they don't have to say it). So here's a nice gift. It's really nothing, but it's our way of saying we appreciate you.&lt;/p&gt;
				&lt;p&gt;Instead, they're taking stupid cheap shots at the upstarts, making themselves look stupid and cheap. They so totally don't need to look that way.&lt;/p&gt;
				&lt;p&gt;Now I don't think for a minute that Apple is Captain Queeg. It's not some marginal character in a big war. It's more than an aircraft carrier, it's a whole fleet. So why are they acting like a burned out captain of a mine-tower who thinks he's found the missing strawberries.&lt;/p&gt;</description>
	<pubDate>Sat, 24 Jul 2010 12:15:18 +0000</pubDate>
</item>
<item>
	<title>Scripting News: My "Hello World" post</title>
	<guid>http://scripting.com/stories/2010/07/23/myHelloWorldPost.html</guid>
	<link>http://scripting.com/stories/2010/07/23/myHelloWorldPost.html</link>
	<description>&lt;p&gt;I have to test this app every time I do a fresh install. Please excuse the digging. &lt;img src=&quot;http://scripting.com/gifs/QBullets/qbullets/sidesmiley.gif&quot; width=&quot;11&quot; height=&quot;11&quot; border=&quot;0&quot; alt=&quot;:-)&quot;&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 23 Jul 2010 15:38:14 +0000</pubDate>
</item>
<item>
	<title>Scripting News: About Flipboard and reading surfaces</title>
	<guid>http://scripting.com/stories/2010/07/22/aboutFlipboardAndReadingSu.html</guid>
	<link>http://scripting.com/stories/2010/07/22/aboutFlipboardAndReadingSu.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/22/espresso.jpg&quot; width=&quot;145&quot; height=&quot;115&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named espresso.jpg&quot;&gt;A few days ago Scoble posted a tweet saying that he had seen the Excel or Pagemaker for the iPad platform. It turns out that product is &lt;a href=&quot;http://www.flipboard.com/&quot;&gt;Flipboard&lt;/a&gt;, from Mike McCue, who I know from Netscape days. Mike went on to found Tellme which sold to Microsoft. &lt;/p&gt;
				&lt;p&gt;I haven't been able to use Flipboard yet, their servers are too busy, but from &lt;a href=&quot;http://scobleizer.com/2010/07/20/exclusive-first-look-at-revolutionary-social-news-ipad-app-flipboard/&quot;&gt;Scoble's video&lt;/a&gt; and their website, I think I understand what the product is. &lt;/p&gt;
				&lt;p&gt;Prior art: Pointcast, Netscape's initial RSS aggregator, Daylife (a NY company I have invested in). &lt;/p&gt;
				&lt;p&gt;If subscribes to your Twitter and Facebook feeds, grabs links to pictures and stories your friends point to, and presents them in a visually appealing way. Behind the scenes there's a lot of RSS (hence the connection to Netscape's RSS aggregator), but it's not a River of News, it's a &quot;magazine style&quot; reader. It is initially appealing, but I'm not sure whether it is useful over time. Scoble says he's been using it for hundreds of hours and still likes it. That's a point in their favor, Scoble really works this stuff.&lt;/p&gt;
				&lt;p&gt;Normally I wouldn't write a piece until I'd had a chance to use a product, but this time I want to put a question out there about the architecture and plumbing, and see what comes back. &lt;/p&gt;
				&lt;p&gt;With no disrespect, Flipboard is a scraper. It takes content flows that weren't intended for this kind of presentation and repurposes them. How could they do otherwise, it's a chicken-and-egg situation. Right now there is no content that is specifically designed for a Flipboard-like environment. But now that their product exists, it seems we have one half of the puzzle in place, why not put out a proposal to the content tools vendors (of which I happen to be one) and say this: If you want to produce content flows that look beautiful in our environment, here's how to do it. Let us either put hints in our source code for you, or create new renderings of our source code specifically to be viewed in the new environment.&lt;/p&gt;
				&lt;p&gt;I want to get this idea out there as soon as possible. Mike is a smart guy, and I'm sure he has hired some smart people. I don't doubt that they've thought of this. The question is -- have they done it?&lt;/p&gt;
				&lt;p&gt;And more broadly, there certainly are others working in this area. How can we all work together to boot up a great new level of reading and writing, on the iPad and elsewhere?&lt;/p&gt;
				&lt;p&gt;I want to be clear -- I'm on the authoring tools side of this. Aside from my small investment in Daylife, I have no stake in the reader side, at least not at this time. &lt;/p&gt;
				&lt;p&gt;For background, I &lt;a href=&quot;http://www.scripting.com/stories/2010/07/11/theValueOfWorkingTogether.html&quot;&gt;explained this idea&lt;/a&gt; in a piece earlier this month.&lt;/p&gt;</description>
	<pubDate>Thu, 22 Jul 2010 09:45:35 +0000</pubDate>
</item>
<item>
	<title>Michael Tsai: The Top Idea in Your Mind</title>
	<guid>http://mjtsai.com/blog/?p=2640</guid>
	<link>http://mjtsai.com/blog/2010/07/21/the-top-idea-in-your-mind/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.paulgraham.com/top.html&quot;&gt;Paul Graham&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote cite=&quot;http://www.paulgraham.com/top.html&quot;&gt;&lt;p&gt;I suspect a lot of people aren&amp;rsquo;t sure what&amp;rsquo;s the top idea in their mind at any given time. I&amp;rsquo;m often mistaken about it. I tend to think it&amp;rsquo;s the idea I&amp;rsquo;d want to be the top one, rather than the one that is. But it&amp;rsquo;s easy to figure this out: just take a shower. What topic do your thoughts keep returning to? If it&amp;rsquo;s not what you want to be thinking about, you may want to change something.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Rings true.&lt;/p&gt;</description>
	<pubDate>Wed, 21 Jul 2010 23:59:49 +0000</pubDate>
	<dc:creator>Michael Tsai</dc:creator>
</item>
<item>
	<title>Michael Tsai: Interpreting Crash Logs With otx</title>
	<guid>http://mjtsai.com/blog/?p=2638</guid>
	<link>http://mjtsai.com/blog/2010/07/21/interpreting-crash-logs-with-otx/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://briksoftware.com/blog/?p=130&quot;&gt;Karsten Kusche&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote cite=&quot;http://briksoftware.com/blog/?p=130&quot;&gt;&lt;p&gt; So now we have the disassembly of the plugin, but the offsets of the crashlog cannot be found. The offsets produced by otx start at 0&amp;#215;00000f54&amp;#65279; and go to 0&amp;#215;000024f3&amp;#65279;. That&amp;rsquo;s not nearly close to 0&amp;#215;179d383c&amp;#65279;. The reason behind that is simple: the plugin&amp;rsquo;s code is mapped into the memory where the linker things it got some space left. So we need to find out where the plugin was mapped in order to find the right spot in the disassembly.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The stack trace ended up looking funny in the crash log because of double method swizzling. I&amp;rsquo;ve run into the same issue with SpamSieve&amp;rsquo;s Apple Mail plug-in. SpamSieve always installs it in &lt;tt&gt;~/Library/Mail/Bundles&lt;/tt&gt;, but on some Macs &lt;em&gt;another copy&lt;/em&gt; is installed in &lt;tt&gt;/Library/Mail/Bundles&lt;/tt&gt;. (No user has admitted to putting it there, and it&amp;rsquo;s happened enough times that I think there must be some other software moving/copying it there. A mystery.) The plug-in now disables itself if another copy has already been loaded. For this crash, it was evident from the Binary Images section of the crash report what had happened, but it&amp;rsquo;s good to have &lt;a href=&quot;http://otx.osxninja.com&quot;&gt;otx&lt;/a&gt; in your toolbox.
&lt;/p&gt;</description>
	<pubDate>Wed, 21 Jul 2010 21:06:17 +0000</pubDate>
	<dc:creator>Michael Tsai</dc:creator>
</item>
<item>
	<title>Scripting News: How to do open development work, Rules 1 &amp; 2</title>
	<guid>http://scripting.com/stories/2010/07/21/howToDoOpenDevelopentWorkR.html</guid>
	<link>http://scripting.com/stories/2010/07/21/howToDoOpenDevelopentWorkR.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/21/soap.jpg&quot; width=&quot;135&quot; height=&quot;423&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named soap.jpg&quot;&gt;Last night, at a NYC dinner party, a reader suggested I write a Ten Commandments of open development work. &lt;/p&gt;
				&lt;p&gt;Even though it reeks of hubris, it's probably a good idea. &lt;/p&gt;
				&lt;p&gt;I've been involved in a lot of open development work over the last 30 years, and some of it has worked, but most of it fails. When it fails it's almost always because some group of people violated what I will call Rule 1.&lt;/p&gt;
				&lt;p&gt;Rule 1: All meetings must be open to anyone who wants to participate.&lt;/p&gt;
				&lt;p&gt;This is important because it means that any control anyone is exerting is visible to anyone who wants to see it. And that visibility tends to limit the control.&lt;/p&gt;
				&lt;p&gt;As soon as you have an invite-only meeting, someone is going to have to take your word that the process is fair. And the process &lt;i&gt;isn't&lt;/i&gt; fair. So, if you say it is, you're lying. And lies are a terrible foundation to build on. &lt;/p&gt;
				&lt;p&gt;I think SOAP died when it became clear that Microsoft and IBM were having private meetings.&lt;/p&gt;
				&lt;p&gt;It's why so many of the supposedly &quot;open&quot; formats that Google is promoting have no chance of working in the market. I can't read minds, so I can't tell you why they do it. But it never works. A lie is a lie, even if you work for the largest company in the universe.&lt;/p&gt;
				&lt;p&gt;Rule 1 is the mechanism whereby small developers, even the ones who aren't blessed with invitations, have a chance to compete in a world ruled by the large companies. (And by the way if you get an invite it doesn't mean they like or respect you. You're probably the fig leaf they'll use the &quot;prove&quot; the process was open, even when it wasn't.)&lt;/p&gt;
				&lt;p&gt;But a pragmatist might say -- if we made the meeting open to all, and announced it publicly, 1000 people would show up and we'd get no work done. True. I've been in those meetings. And listened to one boring speech after another, and during all that boredom I figured out Rule 2.&lt;/p&gt;
				&lt;p&gt;Rule 2: If you have a choice, ratify defacto standards instead of reinventing them.&lt;/p&gt;
				&lt;p&gt;When it came my turn to speak in the 1000-person meeting, I said we could all leave the room this day with a standard if we just ratified RSS instead of trying to create something new that does exactly what RSS does. Even though what I said was true, no one could refute it, we didn't do it. And here we are eight years later and the defacto standard still rules.&lt;/p&gt;
				&lt;p&gt;The great thing about both these rules is that even if you break them, they still rule.&lt;/p&gt;
				&lt;p&gt;If you have an invite-only meeting then your work is for nil, and the people who aren't at your meeting will route around you, and if there's value in an open standard, it will be created in the haphazard way that open formats come about, naturally.&lt;/p&gt;
				&lt;p&gt;If you choose to reinvent a defacto standard, you will still have to support the defacto standard, and it will grow while people may implement your competing format, but lots of people will wonder why they should bother, and won't.&lt;/p&gt;</description>
	<pubDate>Wed, 21 Jul 2010 13:04:34 +0000</pubDate>
</item>
<item>
	<title>Scripting News: Apple's Black Friday</title>
	<guid>http://scripting.com/stories/2010/07/20/applesBlackFriday.html</guid>
	<link>http://scripting.com/stories/2010/07/20/applesBlackFriday.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/20/tryHarder.jpg&quot; width=&quot;145&quot; height=&quot;141&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named tryHarder.jpg&quot;&gt;The more it settles in, the worse it looks for Apple.&lt;/p&gt;
				&lt;p&gt;Rex Hammock swears it's his &lt;a href=&quot;http://www.rexblog.com/2010/07/20/21059&quot;&gt;last piece&lt;/a&gt; about the press conference, but why should it be? We've been immersed in the Reality Distortion Field, he and I, for our entire adult lives. And neither of us are spring chickens. Now that's it's fluttering in and out, and mostly out -- why not spend some time appreciating it, and trying to find a better way to talk about Apple's products.&lt;/p&gt;
				&lt;p&gt;What became clear on Friday is that Apple does great as long as everyone is fawning, oohing and ahhing with every new feature. But when there's trouble, even just a bit, the charm is gone.&lt;/p&gt;
				&lt;p&gt;The first clue that the iPhone 4 was going to break the mold was when he &lt;a href=&quot;http://www.product-reviews.net/2010/06/07/iphone-4-wwdc-2010-wifi-demo-error-message-and-verizon-heckle/&quot;&gt;announced&lt;/a&gt; it on stage at the WWDC and the damned thing wouldn't connect to the Internet. They blamed it on the people in the audience.&lt;/p&gt;
				&lt;p&gt;Then we saw Jobs at the D conference, lecturing a questioner about how they were going to take &lt;i&gt;more&lt;/i&gt; control of the apps so that people couldn't look at the browser IDs of people coming to &lt;i&gt;external&lt;/i&gt; sites from the Cupertino campus. This had the charm and charisma of &lt;a href=&quot;http://www.youtube.com/watch?v=3zgeQmzV9kk&quot;&gt;Captain Queeg&lt;/a&gt; testifying in the &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Caine_Mutiny_%28film%29&quot;&gt;Caine Mutiny&lt;/a&gt;.&lt;/p&gt;
				&lt;p&gt;Then one gaffe after another on Friday, each more ridiculous than the previous. He asks if they could get the benefit of the doubt. Oy he's been getting nothing but the benefit of the doubt for his entire career. He says they built all those stores because they love their users. Really. It kind of looks like they sell products there, for money -- you know -- profit. &lt;/p&gt;
				&lt;p&gt;Then he commits the biggest sin for Apple, he says the iPhone is just like the others. Oooops. That one is going to be hard to walk back. It wasn't in a random email that could be blamed on someone else. The boss said it, in slides for everyone to see. The iPhone is like all the others. It's just a phone.&lt;/p&gt;
				&lt;p&gt;If I had any advice to give the folks at Apple it's this.&lt;/p&gt;
				&lt;p&gt;1. Read Rex's &lt;a href=&quot;http://www.rexblog.com/2010/07/20/21059&quot;&gt;piece&lt;/a&gt;. &lt;/p&gt;
				&lt;p&gt;2. Read JLG's &lt;a href=&quot;http://www.mondaynote.com/2010/07/18/antennagate-if-you-can%E2%80%99t-fix-it-feature-it/&quot;&gt;piece&lt;/a&gt;.&lt;/p&gt;
				&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/20/gasee.jpg&quot; width=&quot;147&quot; height=&quot;250&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named gasee.jpg&quot;&gt;There are ways to communicate about problems with products -- be direct and honest. And when you design them, assume that every flaw is going to be examined in great detail. Like it or not the users have great communication tools now. That's the actual world you live in. &lt;/p&gt;
				&lt;p&gt;Instead of saying how you are just as awful as your competitors, praise them to the hilt and say you're aiming to do even better. Everyone loves an aspirer. No one loves a sore winner. Coach &lt;a href=&quot;http://www.scripting.com/stories/2010/05/06/isNycTheNextTechMecca.html#p4&quot;&gt;Bill Walsh&lt;/a&gt; of the 49ers had this down. Johnson &amp; Johnson did a &lt;a href=&quot;http://www.google.com/search?q=johnson+tylenol+recall&quot;&gt;voluntary recall&lt;/a&gt; of Tylenol at the first hint of a problem. Avis is Number 2 so they &lt;a href=&quot;http://google.com/images?q=avis+try+harder&quot;&gt;try harder&lt;/a&gt;. There are so many examples of people respecting the hell out of their competition, and taking product failure seriously, seeing things from their customers point of view. Not merely talking about them or to them, but hearing them and reflecting back to them what they say, in policies and features.&lt;/p&gt;
				&lt;p&gt;&lt;a href=&quot;http://www.rexblog.com/2010/07/20/21059&quot;&gt;Rex says&lt;/a&gt;: &quot;The Friday fiasco displayed also that when the management of 'the message' doesn't go according to the way they want it to go, they stop being insanely great and just start being insane.&quot;&lt;/p&gt;
				&lt;p&gt;The reporters were caught just as flat-footed as Apple was. To blame the media, as Apple has been doing, isn't realistic. It's &lt;i&gt;despite&lt;/i&gt; the media that we find out what's really going on, without very much help. They do carry Apple's water, but lately they've been hearing that things have changed and maybe they're starting to respond.&lt;/p&gt;
				&lt;p&gt;&lt;a href=&quot;http://bits.blogs.nytimes.com/2010/07/19/apple-iphone-4-press-conference-fallout/&quot;&gt;To think&lt;/a&gt; that the Reality Distortion Field was intact last Friday is not to understand the RDF. That was the one of the first press events where the field was &lt;i&gt;not&lt;/i&gt; in force.&lt;/p&gt;</description>
	<pubDate>Tue, 20 Jul 2010 21:00:48 +0000</pubDate>
</item>
<item>
	<title>Michael Tsai: Arq</title>
	<guid>http://mjtsai.com/blog/?p=2634</guid>
	<link>http://mjtsai.com/blog/2010/07/20/arq/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.haystacksoftware.com/arq/index.php&quot;&gt;Arq&lt;/a&gt; is an application for backing your Mac up to Amazon S3 (via &lt;a href=&quot;http://twitter.com/mhenders/status/19005159897&quot;&gt;Matt Henderson&lt;/a&gt;). I&amp;rsquo;m happy with CrashPlan, but Arq promises advantages such as  better support for metadata and direct access to your backup data in a &lt;a href=&quot;http://www.haystacksoftware.com/arq/s3_data_format.txt&quot;&gt;documented, Git-like format&lt;/a&gt;. S3 has an API and many clients, and Amazon is likely a very stable host, but it&amp;rsquo;s also considerably more expensive if you have hundreds of gigabytes of files.
&lt;/p&gt;</description>
	<pubDate>Tue, 20 Jul 2010 17:16:47 +0000</pubDate>
	<dc:creator>Michael Tsai</dc:creator>
</item>
<item>
	<title>Scripting News: Realtime XML-RPC API</title>
	<guid>http://scripting.com/stories/2010/07/20/realtimeXmlrpcApi.html</guid>
	<link>http://scripting.com/stories/2010/07/20/realtimeXmlrpcApi.html</link>
	<description>&lt;p&gt;To restart the &lt;a href=&quot;http://bhc3.wordpress.com/2009/01/16/before-there-was-twitter-there-was-dave-winers-instant-outliner/&quot;&gt;Instant Outliner&lt;/a&gt;, I needed the equivalent of FriendFeed's realtime update functionality. &lt;/p&gt;
				&lt;p&gt;It's really elegant, but I couldn't make my software depend on another service for update notification. I started to do it in REST and realized that I was reinventing a lot of what &lt;a href=&quot;http://www.xmlrpc.com/&quot;&gt;XML-RPC&lt;/a&gt; already did. &lt;/p&gt;
				&lt;p&gt;So I put aside the REST approach and went with XML-RPC. &lt;/p&gt;
				&lt;p&gt;A day later I had it working and a day after that I had the Instant Outliner converted. Unlike previous implementations this one works perfectly, is instantaneous and requires no polling. The long-poll approach works perfectly.&lt;/p&gt;
				&lt;p&gt;I wanted to document this for the programmers who are testing the Instant Outliner, because the realtime updating functionality is more general, it can be used to connect our workgroup together in more ways than through I/Oing. &lt;/p&gt;
				&lt;p&gt;There are two entry-points, one to get the next set of updates, and one to push an update to the workgroup. Both assume there's an identity system in place that can independently determine if a username/password is valid. (The identity function hooks in as a callback.)&lt;/p&gt;
				&lt;p&gt;Users can connect from more than one location at a time, each instance gets a complete set of updates. So I can leave my I/O app running at home and stay connected from a classroom or Starbucks.&lt;/p&gt;
				&lt;p&gt;You can find the source for both the client and the server at &lt;a href=&quot;http://listings.opml.org/verbs/builtins/realtime/&quot;&gt;builtins.realtime&lt;/a&gt; in opml.root.&lt;/p&gt;
				&lt;p&gt;Here are the two entry-points:&lt;/p&gt;
				&lt;p&gt;1. realtime.getUpdates (username, password) returns array of struct&lt;/p&gt;
				&lt;p&gt;2. realtime.pushUpdate (username, password, htmltext, type, data)&lt;/p&gt;</description>
	<pubDate>Tue, 20 Jul 2010 15:10:47 +0000</pubDate>
</item>
<item>
	<title>Michael Tsai: PFiddlesoft Frameworks</title>
	<guid>http://mjtsai.com/blog/?p=2630</guid>
	<link>http://mjtsai.com/blog/2010/07/20/pfiddlesoft-frameworks/</link>
	<description>&lt;p&gt;Bill Cheeseman, developer of the &lt;a href=&quot;http://pfiddlesoft.com/uibrowser/&quot;&gt;UI Browser&lt;/a&gt; and &lt;a href=&quot;http://pfiddlesoft.com/uiactions/&quot;&gt;UI Actions&lt;/a&gt; AppleScript utilities, has released some of his applications&amp;rsquo; core technology as frameworks. The &lt;a href=&quot;http://pfiddlesoft.com/frameworks/&quot;&gt;PFAssistive and PFEventTaps frameworks&lt;/a&gt; are Objective-C wrappers for the Accessibility and Quartz Event Tap APIs. There&amp;rsquo;s extensive PDF and HeaderDoc documentation, and for an extra fee you can get the source code. Garbage collection is not supported.&lt;/p&gt;</description>
	<pubDate>Tue, 20 Jul 2010 13:47:03 +0000</pubDate>
	<dc:creator>Michael Tsai</dc:creator>
</item>
<item>
	<title>Michael Tsai: MacPaint and QuickDraw Source Code</title>
	<guid>http://mjtsai.com/blog/?p=2628</guid>
	<link>http://mjtsai.com/blog/2010/07/20/macpaint-and-quickdraw-source-code/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.computerhistory.org/highlights/macpaint/&quot;&gt;The Computer History Museum&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote cite=&quot;http://www.computerhistory.org/highlights/macpaint/&quot;&gt;&lt;p&gt;For those who want to see how it worked &amp;ldquo;under the hood,&amp;rdquo; we are pleased, with the permission of Apple Inc., to make available the original program source code of MacPaint and the underlying QuickDraw graphics library.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Xcode won&amp;rsquo;t open the &lt;tt&gt;.a&lt;/tt&gt; files for display. I recommend viewing using BBEdit, which has syntax highlighting for both Pascal and 68K assembler files.&lt;/p&gt;</description>
	<pubDate>Tue, 20 Jul 2010 13:26:50 +0000</pubDate>
	<dc:creator>Michael Tsai</dc:creator>
</item>
<item>
	<title>Scripting News: A mosque at Ground Zero</title>
	<guid>http://scripting.com/stories/2010/07/20/aMosqueAtGroundZero.html</guid>
	<link>http://scripting.com/stories/2010/07/20/aMosqueAtGroundZero.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/20/battr.gif&quot; width=&quot;155&quot; height=&quot;167&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named battr.gif&quot;&gt;The big Tea Party &lt;a href=&quot;http://www.google.com/search?q=mosque+ground+zero&quot;&gt;controversy&lt;/a&gt; in NYC these days is whether or not to build a mosque at Ground Zero.&lt;/p&gt;
				&lt;p&gt;Not sure who's advocating it, but I know who's against it -- the know-nothing, down-home T.P. country folk who don't live in or particularly like NYC. I wondered why they were so upset about the WTC bombing on 9/11. I thought they hated NY and the pinko liberals who live here. I would have thought they'd be happy to see a big piece of it go up in smoke. I guess they don't worry too much about consistency.&lt;/p&gt;
				&lt;p&gt;Gotta love how they tell us to MYOB when it comes to country life, but don't mind meddling in the way the Big City works. &lt;/p&gt;
				&lt;p&gt;Ride the subway some day and tell me there aren't a lot of people who go to mosques living right here in the Big Apple. &lt;/p&gt;
				&lt;p&gt;&quot;Islam is an American religion,&quot; &lt;a href=&quot;http://www.newsweek.com/blogs/the-gaggle/2010/05/10/right-wing-mosque-at-ground-zero-is-a-quot-slap-in-the-face-quot.html&quot;&gt;said Daisy Khan&lt;/a&gt;, executive director of the American Society for Muslim Advancement. Amen to that. &lt;/p&gt;
				&lt;p&gt;And check out the history of our great country, and how we were a haven against oppression, and how there were always ignorant people who said America is just for the people who are here and the rest of us should go back from where y'all came. But the greatness of our country, and esp this city, is that it welcomes people from all over the world. It's what fed the idea of American exceptionalism. &lt;/p&gt;
				&lt;p&gt;So yes, we should build a mosque &lt;a href=&quot;http://www.flickr.com/photos/scriptingnews/4757424518/&quot;&gt;where&lt;/a&gt; the World Trade Center used to stand. Because it's consistent with our values, and because it's the most arrogant and territorial thing we could do vis a vis the assholes who blew up the WTC.&lt;/p&gt;
				&lt;p&gt;It's like going over their head to their god and saying hey you get to hang out here too. Along with Jesus and Moses.&lt;/p&gt;
				&lt;p&gt;Can you imagine the meeting at Terrorist HQ when they're thinking about blowing up whatever we build at Ground Zero. And you &lt;i&gt;know&lt;/i&gt; they're going to be thinking about that. Some bright young terrorist guy will point out that they'll be blowing up a mosque if they do it. They probably won't think twice, but they sure won't make any new friends in the Muslim world.&lt;/p&gt;
				&lt;p&gt;If anything I'd think it would be Muslims who would protest building a mosque at Ground Zero.&lt;/p&gt;
				&lt;p&gt;Anyway, I think we should build nothing but shrines there. One of every kind of church. Spare no expense. I thought they should move Shea Stadium there. That's another kind of shrine. No serious business at Ground Zero from now on. Just contemplation, prayer, reflection and baseball. When they try to blow it up they'll seem like the spoiled sports and sore losers that they are. &lt;/p&gt;</description>
	<pubDate>Tue, 20 Jul 2010 13:23:50 +0000</pubDate>
</item>
<item>
	<title>Scripting News: Death and Facebook, revisited</title>
	<guid>http://scripting.com/stories/2010/07/19/deathAndFacebookRevisited.html</guid>
	<link>http://scripting.com/stories/2010/07/19/deathAndFacebookRevisited.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/19/reaper.gif&quot; width=&quot;161&quot; height=&quot;193&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named reaper.gif&quot;&gt;Last week I wrote a &lt;a href=&quot;http://scripting.com/stories/2010/07/11/iThinkGuyWouldHaveEnjoyedT.html&quot;&gt;piece&lt;/a&gt; about Facebook and Guy Kewney, a friend who died recently. Facebook noticed he wasn't getting much attention, and wasn't posting a lot, so they've been recommending that I (and presumably other of his friends) reach out to him. &lt;/p&gt;
				&lt;p&gt;Erroneously, of course -- because sending attention his way is a waste, for all involved.&lt;/p&gt;
				&lt;p&gt;Then over the weekend the NY Times ran a &lt;a href=&quot;http://www.nytimes.com/2010/07/18/technology/18death.html&quot;&gt;piece&lt;/a&gt; that discussed more or less the same thing. &lt;/p&gt;
				&lt;p&gt;A few comments that resulted from an email exchange with the author of the Times piece, Jenna Wortham.&lt;/p&gt;
				&lt;p&gt;1. There are several levels here. To have someone declared dead on Facebook is something probably only the family and close friends should be able to make happen. However, not-so-close friends should be able to help Facebook realize they're making a mistake by recommending people reach out to the person. A simple button that says WTF or Not-Cool next to the recommendation. Enough of those and Facebook could get a clue that it's doing something like spam, and probably should stop making the recommendation, at least until a human looks into it.&lt;/p&gt;
				&lt;p&gt;2. I suggested a follow-up for Jenna. In the days leading up to Father's Day, Amazon sent me emails, every day reminding me to buy something for Dad. As you may know, &lt;a href=&quot;http://www.scripting.com/stories/2009/10/03/fathersDay.html&quot;&gt;my father died&lt;/a&gt; in October. This is the first Father's Day he missed. His birthday is in the same part of June. Once or twice, okay -- but sending me an email every day, with no way to tell them to stop (click this button if your father died recently), that's pretty bad manners. I tweeted about this and found a number of other people were annoyed by this. &lt;/p&gt;
				&lt;p&gt;3. I suggested to Jenna that she write a blog post on the Times site, and another and another, as long as more interesting stuff was coming to light on this topic. Plant a seed, and then your readers go to work and provide new angles. So much better than the old way, where the reporter would hand-pick a few people to interview, many of whom said self-serving things, and then quickly moved on to something else. Somewhere in here is the secret to future business models for news organizations. Death on the Internet is actually a good way for the news business to make money. They already have a thriving business in death notices (I know, we participated in it last year). But more important, staying with threads as they develop is how you learn what information needs and interests your readers have. It's a new idea for news to fit the interests of the readers, but it's how it will have to work in the future, if it is to work. Imho of course.&lt;/p&gt;</description>
	<pubDate>Mon, 19 Jul 2010 15:05:39 +0000</pubDate>
</item>
<item>
	<title>Michael Tsai: MAZeroingWeakRef</title>
	<guid>http://mjtsai.com/blog/?p=2626</guid>
	<link>http://mjtsai.com/blog/2010/07/18/mazeroingweakref/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.mikeash.com/pyblog/friday-qa-2010-07-16-zeroing-weak-references-in-objective-c.html&quot;&gt;Mike Ash&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote cite=&quot;http://www.mikeash.com/pyblog/friday-qa-2010-07-16-zeroing-weak-references-in-objective-c.html&quot;&gt;&lt;p&gt;&lt;code&gt;MAZeroingWeakRef&lt;/code&gt; brings zeroing weak references to manual memory managed Objective-C. Although it uses some trickery on the inside, the API is extremely simple to use. By automatically zeroing weak references, you avoid many potential crashers and data corruption. Zeroing weak references can also be used for things like object caches where non-zeroing weak references aren&amp;rsquo;t very practical at all.&lt;/p&gt;&lt;/blockquote&gt;</description>
	<pubDate>Mon, 19 Jul 2010 02:43:56 +0000</pubDate>
	<dc:creator>Michael Tsai</dc:creator>
</item>
<item>
	<title>Scripting News: It's just a phone</title>
	<guid>http://scripting.com/stories/2010/07/18/itsJustAPhone.html</guid>
	<link>http://scripting.com/stories/2010/07/18/itsJustAPhone.html</link>
	<description>&lt;p&gt;Over the years, the thing that's bothered me most about the way Apple pitches its products is the idea, behind everything they say, that there is something exceptional about them and their products. &lt;/p&gt;
				&lt;p&gt;This used to be something said about the United States, we were the &lt;a href=&quot;http://en.wikipedia.org/wiki/American_exceptionalism&quot;&gt;exception&lt;/a&gt;. The sole superpower. The good guys. The Yanks. Whatever. If we ever were, we're not that now, and neither is Apple. &lt;/p&gt;
				&lt;p&gt;Here's a list of things to take as given:&lt;/p&gt;
				&lt;p&gt;1. The Mac is just a computer.&lt;/p&gt;
				&lt;p&gt;2. The iPod is just an MP3 player.&lt;/p&gt;
				&lt;p&gt;3. The iPad is just a tablet. &lt;/p&gt;
				&lt;p&gt;4. The iPhone is just a phone.&lt;/p&gt;
				&lt;p&gt;5. Apple is just a company.&lt;/p&gt;
				&lt;p&gt;Until Friday, Apple would have been consistent, over the years, in denying all five of those things. They've made all kinds of escalating claims for themselves and their products. The Mac is the computer For the Rest of Us. Think different. For the crazy ones. Culminating in the ultimate hubris, repeatedly saying the iPad is &quot;magical.&quot; It's nice, I use mine all the time -- but magical! Come on. (What's next -- Immaculate? Sacred?)&lt;/p&gt;
				&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=06pIHuL631c&quot;&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/18/pinballWizard.jpg&quot; width=&quot;150&quot; height=&quot;206&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named pinballWizard.jpg&quot;&gt;&lt;/a&gt;On Friday, Apple asked us to believe that the iPhone is just a phone. It's just like the phones that Nokia and RIM make, or Samsung or Motorola. Nothing special about it. That may be the single most important thing they said, and I'm not even sure they know they said it.&lt;/p&gt;
				&lt;p&gt;They want this to be over, they want to put it behind them. They want to, presumably, return to Apple as The Exceptional Company. But that's not going to happen. They're a big successful American company (who does all their manufacturing in China, btw), and they blow smoke up everyone's asses like all American companies do. &lt;/p&gt;
				&lt;p&gt;They are &lt;i&gt;not&lt;/i&gt; exceptional. Their products are premium products, luxuries like BMWs or Cuisinarts. I buy Macs because I like premium products. I'm not planning on returning my iPhone 4. But I know they're a shit company like American or United Airlines (and yes, BMW too). You have to count your change, and don't expect them to do the right thing, unless you twist their arm real hard, and usually it isn't worth the trouble (which is why most of us don't call you Steve).&lt;/p&gt;
				&lt;p&gt;PS: Thanks to Farhad Manjoo, whose &lt;a href=&quot;http://www.slate.com/id/2260619&quot;&gt;story&lt;/a&gt; in Slate last night helped me piece this together.&lt;/p&gt;</description>
	<pubDate>Sun, 18 Jul 2010 17:00:23 +0000</pubDate>
</item>
<item>
	<title>Scripting News: Questions about the new Digg</title>
	<guid>http://scripting.com/stories/2010/07/18/tryingOutTheNewDigg.html</guid>
	<link>http://scripting.com/stories/2010/07/18/tryingOutTheNewDigg.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/18/accordianGuy.gif&quot; width=&quot;81&quot; height=&quot;194&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;15&quot; vspace=&quot;5&quot; alt=&quot;A picture named accordianGuy.gif&quot;&gt;I've been lucky enough to be admitted to the test group for the new version of Digg that's in development. I don't think it's all that exclusive, it's kind of like a public beta, but you do need to be authorized to get in.&lt;/p&gt;
				&lt;p&gt;I'm thinking about integrating my workflow with Digg the same way I have it integrated with Twitter. To do that I need a bookmarklet that flows links into Digg. There must be one, but &lt;a href=&quot;http://about.new.digg.com/faq&quot;&gt;pecking&lt;/a&gt; around the UI it wasn't apparent where. Any help would be much appreciated.&lt;/p&gt;
				&lt;p&gt;Is there a discussion board for support questions? Again, a superficial look didn't reveal it&lt;/p&gt;
				&lt;p&gt;If you want to follow me over there, my account is &lt;a href=&quot;http://new.digg.com/scriptingnews&quot;&gt;scriptingnews&lt;/a&gt;.&lt;/p&gt;
				&lt;p&gt;&lt;a href=&quot;http://new.digg.com/scriptingnews&quot;&gt;http://new.digg.com/scriptingnews&lt;/a&gt; &lt;/p&gt;</description>
	<pubDate>Sun, 18 Jul 2010 14:24:09 +0000</pubDate>
</item>
<item>
	<title>Scripting News: Does Steve Jobs really love his customers?</title>
	<guid>http://scripting.com/stories/2010/07/17/doesSteveJobsReallyLoveHis.html</guid>
	<link>http://scripting.com/stories/2010/07/17/doesSteveJobsReallyLoveHis.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://scripting.com/images/2010/07/17/oldspice.jpg&quot; width=&quot;102&quot; height=&quot;206&quot; border=&quot;0&quot; align=&quot;right&quot; hspace=&quot;3&quot; vspace=&quot;3&quot; alt=&quot;A picture named oldspice.jpg&quot;&gt;Okay I withheld immediate judgement on the Apple press conference, I wanted to give it some time to sink in. &lt;/p&gt;
				&lt;p&gt;My friend Rex &lt;a href=&quot;http://twitter.com/r/status/18771574471&quot;&gt;posted&lt;/a&gt; a note on Twitter saying I probably was not impressed. He got it right. I was not. &lt;/p&gt;
				&lt;p&gt;Surprisingly, Steve Jobs understood what the issue is -- Does he love his customers? His response was to invite his drinking buddies to hear him knock off a few one-liners about how much he loves his customers. &lt;/p&gt;
				&lt;p&gt;&quot;She says I don't buy her flowers, or open the door for her, or speak lovingly to her or about her? Does she!&quot; he says. (Paraphrasing.)&lt;/p&gt;
				&lt;p&gt;&quot;I do love my customers! But look at how unreasonable they're being. We never buy them flowers, none of us do. Open the door? We're engineers. Should we care they don't use their phones as phones anymore because they've become a laughing stock, a punchline?&quot;&lt;/p&gt;
				&lt;p&gt;Even &lt;a href=&quot;http://gizmodo.com/5588018/wozs-iphone-4-antenna-solution-double-fisting&quot;&gt;Woz knows&lt;/a&gt; -- you gotta carry a Verizon phone. If you want to talk.&lt;/p&gt;
				&lt;p&gt;So instead of talking to the customers, he talked &lt;i&gt;about&lt;/i&gt; the customers. &lt;/p&gt;
				&lt;p&gt;Yeah, he hasn't learned how to manage PR. He's still coasting on the &lt;a href=&quot;http://www.google.com/images?q=young+steve+jobs&quot;&gt;boyish charm&lt;/a&gt; he doesn't know he no longer has.&lt;/p&gt;
				&lt;p&gt;The bumper is a nice gesture, but even with that he's complaining that you don't &lt;a href=&quot;http://www.slate.com/id/2260619&quot;&gt;need&lt;/a&gt; it, and they can't make enough of them, but if you insisssssst. And the lack of culpability, the lack of a &quot;We're going to do better,&quot; the defensive &quot;We're not perfect&quot; are all big problems. &lt;/p&gt;
				&lt;p&gt;Update: A reader &lt;a href=&quot;http://scripting.com/stories/2010/07/17/doesSteveJobsReallyLoveHis.html#comment-62954180&quot;&gt;asked&lt;/a&gt; &quot;So what should he have said?&quot; I replied...&lt;/p&gt;
				&lt;p&gt;I don't like it when people try to tell me what to say, so I sure as hell am not going to tell someone else what to say. &lt;/p&gt;
				&lt;p&gt;However, you might have asked what I would have said if I were in his shoes, and that game I'm willing to play. &lt;img src=&quot;http://scripting.com/gifs/QBullets/qbullets/sidesmiley.gif&quot; width=&quot;11&quot; height=&quot;11&quot; border=&quot;0&quot; alt=&quot;:-)&quot;&gt;&lt;/p&gt;
				&lt;p&gt;Now I can't imagine Jobs saying this, being who he is and all, but remember this is my fantasy.&lt;/p&gt;
				&lt;p&gt;&quot;Well, we got a little too big for our britches there, and damn if we weren't thinking more about us and less about you. That's wrong. We're here to serve you, and we failed at that. We are going to try to do better in the future, but I can guarantee that we will fuck up again. When we do, I hope our customers, who we know have a deep commitment to us and our products, will continue to support us. We're just human, but we do our best, all the time, and we hope you'll stick with us, as we try to learn to be the big powerful and successful company that we have become.&quot;&lt;/p&gt;
				&lt;p&gt;Something like that. I'd get down off the &lt;a href=&quot;http://paidcontent.org/article/419-that-thunk-you-heard-was-the-iphone-falling-off-its-pedestal/&quot;&gt;pedestal&lt;/a&gt; as quickly as possible and cop to being human, and ask for forgiveness, not just now, but in the future. And buy the flowers, and hold open the door, and always say you're sorry.&lt;/p&gt;
				&lt;p&gt;My grandfather figured that out and taught it to me. &quot;Always pay for your sins,&quot; he said. The reason is simple, you're going to pay for them whether you want to or not. The payment is much smaller if you don't resist, so it's good business to tell the customer, repeatedly, over and over, how right she is.&lt;/p&gt;</description>
	<pubDate>Sat, 17 Jul 2010 16:46:03 +0000</pubDate>
</item>
<item>
	<title>Ranchero: Core Data and iOS and encryption</title>
	<guid>http://ranchero.com/2010/07/14/core_data_and_ios_and_encryption</guid>
	<link>https://nickharris.wordpress.com/2010/07/14/core-data-and-enterprise-iphone-applications-protecting-your-data/</link>
	<description>&lt;p&gt;My co-worker Nick Harris &lt;a href=&quot;https://nickharris.wordpress.com/2010/07/14/core-data-and-enterprise-iphone-applications-protecting-your-data/&quot;&gt;investigates data encryption&lt;/a&gt; on iPhones and iPads — a topic very important to the enterprise, and a topic that should be important to every developer whose app works with private data.&lt;/p&gt;</description>
	<pubDate>Wed, 14 Jul 2010 20:34:21 +0000</pubDate>
</item>
<item>
	<title>Ranchero: ShareKit</title>
	<guid>http://ranchero.com/2010/07/07/sharekit</guid>
	<link>http://www.getsharekit.com/</link>
	<description>&lt;p&gt;It’s &lt;a href=&quot;http://www.getsharekit.com/&quot;&gt;open-source sharing code&lt;/a&gt; for iOS apps: Twitter, Facebook, etc. I haven’t looked at the code yet, but I definitely like the idea. Good for the ecosystem.&lt;/p&gt;

&lt;p&gt;Would be cool if it worked for Macs, too.&lt;/p&gt;</description>
	<pubDate>Wed, 07 Jul 2010 22:39:13 +0000</pubDate>
</item>
<item>
	<title>Inessential: Static analyzer rules (for me)</title>
	<guid>http://inessential.com/2010/07/05/static_analyzer_rules_for_me_</guid>
	<link>http://inessential.com/2010/07/05/static_analyzer_rules_for_me_</link>
	<description>&lt;p&gt;I so adore Build and Analyze.&lt;/p&gt;

&lt;p&gt;I’ve developed a small set of rules I follow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Always&lt;/em&gt; run static analysis. There’s a project setting called Run Static Analyzer — if you set it to true, it will always run the analyzer when you build the project. So I set it to true.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If the static analyzer finds a problem, I immediately add a &lt;code&gt;TODO&lt;/code&gt; comment with a quick note about what needs to be done. Even if I think I’m going to fix it right away. (Because the phone might ring, cat might need dinner, and I’ll forget.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If the static analyzer finds a false positive, I immediately add a comment along the lines of &lt;code&gt;//Static analyzer false positive&lt;/code&gt;. This way I don’t waste time on it later, and nobody else does, either. (Ideally there’s an explanation, too, if it’s not self-evident.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;But I still consider a false positive a kind of warning. It’s a good sign that something too clever (in a bad way) is going on. So, if I think I should — and I usually should — I also add a &lt;code&gt;TODO&lt;/code&gt; comment about revising whatever it was that triggered the false positive.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;The goal is, as with errors and warnings, a completely clean bill of health.&lt;/p&gt;</description>
	<pubDate>Mon, 05 Jul 2010 22:15:18 +0000</pubDate>
</item>
<item>
	<title>Inessential: Follow up to memory management thing</title>
	<guid>http://inessential.com/2010/06/28/follow_up_to_memory_management_thing</guid>
	<link>http://inessential.com/2010/06/28/follow_up_to_memory_management_thing</link>
	<description>&lt;p&gt;In the &lt;a href=&quot;http://inessential.com/2010/06/28/how_i_manage_memory&quot;&gt;previous post&lt;/a&gt; I have an initWithString method that looks like this:&lt;/p&gt;

&lt;pre&gt;- (id)initWithString:(NSString *)aString {
    self = [super init];
    if (self == nil)
        return nil;
    something = [aString retain];
    return self;
}&lt;/pre&gt;


&lt;p&gt;I knew, as I was typing it, that I’d get some feedback along the lines that I should use &lt;em&gt;copy&lt;/em&gt; instead of &lt;em&gt;retain&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;And I did.&lt;/p&gt;

&lt;p&gt;And it’s excellent advice, totally, no question. The reason to use &lt;code&gt;copy&lt;/code&gt; instead of &lt;code&gt;retain&lt;/code&gt; is because it enforces the expected immutability of that incoming string, so the caller is free to change it in case it’s really a mutable string.&lt;/p&gt;

&lt;p&gt;However, I don’t follow that advice. One reason is that, in my eight years of Cocoa programming, this has never been an issue. Not once have I run into a problem because I used &lt;code&gt;retain&lt;/code&gt; instead of &lt;code&gt;copy&lt;/code&gt; in a case like this.&lt;/p&gt;

&lt;p&gt;The second reason is that I consider the use of &lt;code&gt;copy&lt;/code&gt; here a case of overly-defensive programming. The effect would be to hide a bug, if one exists, and I wouldn’t want that.&lt;/p&gt;

&lt;p&gt;Given those two reasons, it’s just bonus that using &lt;code&gt;retain&lt;/code&gt; means avoiding the extra allocation that using &lt;code&gt;copy&lt;/code&gt; would mean — but I’ll take that bonus.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Update 5:24 pm:&lt;/em&gt; Yes, &lt;em&gt;copy&lt;/em&gt; returns &lt;em&gt;self&lt;/em&gt; for immutable objects. (All the time, at least for Foundation objects? I don’t know.) So, no bonus in those cases. But I myself often pass mutable objects where immutable is expected. So I get the bonus. (And it’s not a bug on my part, no.)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Update 5:41 pm:&lt;/em&gt; OK, why do I consider it a bug if aString is really a mutable string &lt;em&gt;and&lt;/em&gt; I change it elsewhere? It’s totally legal if aString is really an NSMutableString. I do things like that all the time. But I code as if there’s an implicit contract: any Foundation objects (strings, dictionaries, arrays, sets, etc.) passed between objects must be treated as if immutable. If the object that receives the object wants to do something based on aString, it may, indeed, then have to make a mutableCopy or whatever. And if aString was really a mutable string, the caller has to not change it from that point on.&lt;/p&gt;

&lt;p&gt;Why do I code this way? It simplifies things. It removes doubt.&lt;/p&gt;</description>
	<pubDate>Mon, 28 Jun 2010 20:41:04 +0000</pubDate>
</item>
<item>
	<title>Inessential: How I Manage Memory</title>
	<guid>http://inessential.com/2010/06/28/how_i_manage_memory</guid>
	<link>http://inessential.com/2010/06/28/how_i_manage_memory</link>
	<description>&lt;p&gt;I’ve noticed, in looking at other people’s Cocoa code over the years, that sometimes people still do weird things with retain, release, and autorelease — as if they’re not quite sure on the basics of memory management yet.&lt;/p&gt;

&lt;p&gt;So I thought I’d talk about how I do things. There are three important points, then a practical explanation of one of them.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Overall memory use is a design issue. It’s not usually a case of over-using autorelease or something like that. (For instance: are all your objects in memory at all times, or do you use something like Core Data so you don’t have to do that?)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Memory management — the nuts and bolts of making sure you don’t leak or over-release — should be as simple as possible and done in the same way every time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The exceptions to #2 should be done only as a result of profiling in Shark and Instruments.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;h4&gt;Practical explanation of #2&lt;/h4&gt;


&lt;p&gt;I find not-leaking and not-over-releasing very, very easy. That’s because I have a simple system, and I do things the same way every time, except when profiling tells me I need to make an exception. (Which is rare.)&lt;/p&gt;

&lt;p&gt;Here’s what I do:&lt;/p&gt;

&lt;p&gt;I use properties, and I use the full form: &lt;code&gt;self.something&lt;/code&gt; and &lt;code&gt;self.something = whatever&lt;/code&gt;. I try to avoid custom accessor methods, just use the standard synthesized methods.&lt;/p&gt;

&lt;p&gt;I don’t use the full form in &lt;code&gt;init&lt;/code&gt; and &lt;code&gt;dealloc&lt;/code&gt;, though, because it might trigger KVO or have other side effects.&lt;/p&gt;

&lt;p&gt;So a made-up class might look like this:&lt;/p&gt;

&lt;pre&gt;
@interface BSThing : NSObject {
@private
    NSString *something;
}

- (id)initWithString:(NSString *)aString;

@property (nonatomic, retain) NSString *something;

@end

@implementation BSThing

@synthesize something;

- (id)initWithString:(NSString *)aString {
    self = [super init];
    if (self == nil)
        return nil;
    something = [aString retain];
    return self;
}

- (void)dealloc {
    [something release];
    [super dealloc];
}


- (void)someRandomMethodThatDoesStuff {
    //Let's just change something
    self.something = @&quot;Something else&quot;;
}

@end
&lt;/pre&gt;


&lt;p&gt;Make sense? Outside of &lt;code&gt;init&lt;/code&gt; and &lt;code&gt;dealloc&lt;/code&gt;, access is always via &lt;code&gt;self.something&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;There are two other things I do:&lt;/p&gt;

&lt;h4&gt;Pretty much create everything as autoreleased&lt;/h4&gt;


&lt;p&gt;Seriously. I almost never write code like this:&lt;/p&gt;

&lt;pre&gt;
NSMutableDictionary *dict = &amp;#91;[NSMutableDictionary alloc] init];
//do something with dict
[dict release];
&lt;/pre&gt;


&lt;p&gt;It’s more code and it complicates things and it’s easy to make mistakes. I get confused. I don’t understand at-a-glance that the code is correct. I know there is advice to avoid &lt;code&gt;autorelease&lt;/code&gt; on iPhone — but you already know you can’t avoid it, and I’ve found that any drawbacks by use of &lt;code&gt;autorelease&lt;/code&gt; are over-shadowed by other issues.&lt;/p&gt;

&lt;p&gt;So here’s what I always write:&lt;/p&gt;

&lt;pre&gt;
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
//do something with dict, completely un-worried about leaking it.
//I can even return early.
&lt;/pre&gt;




&lt;h4&gt;Autorelease pools&lt;/h4&gt;


&lt;p&gt;One exception to the above is, of course, when you’re doing a bunch of allocations in a loop. Then I will use an inner &lt;code&gt;autorelease&lt;/code&gt; pool. I won’t do that crazy thing where you make it drain every 10 times or whatever — I’ll drain it in each pass. Simpler — and no reason to change that unless Shark or Instruments says to change it.&lt;/p&gt;

&lt;p&gt;I’ve been doing it that way since reading Mike Ash’s article &lt;a href=&quot;http://www.mikeash.com/pyblog/autorelease-is-fast.html&quot;&gt;Autorelease is Fast&lt;/a&gt;. Though, obviously, it’s not as fast on iPhone, it’s still probably faster than you think it is.&lt;/p&gt;

&lt;h4&gt;Recap: my simple rules&lt;/h4&gt;


&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Use properties, and use synthesized accessors as much as possible.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Always use the &lt;em&gt;self.something&lt;/em&gt; form — no direct access to ivars, except in &lt;code&gt;init&lt;/code&gt; and &lt;code&gt;dealloc&lt;/code&gt;, where &lt;em&gt;only&lt;/em&gt; direct access is allowed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create temporary objects, or objects that get returned by a method, as autoreleased.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use autorelease pools as needed, but don’t try anything fancy.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Profile in Shark and Instruments, and make exceptions to the above only when it makes a real difference.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Consider that your overall memory use issues are probably design issues, not (usually) code issues.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Following these rules, writing Cocoa code is damn close to scripting.&lt;/p&gt;</description>
	<pubDate>Mon, 28 Jun 2010 19:19:59 +0000</pubDate>
</item>
<item>
	<title>Ranchero: Mac app design: always the same (ish)</title>
	<guid>http://ranchero.com/2010/06/28/mac_app_design_always_the_same_ish_</guid>
	<link>http://cocoawithlove.com/2010/06/design-of-every-mac-application.html</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://cocoawithlove.com/2010/06/design-of-every-mac-application.html&quot;&gt;Cocoa with Love&lt;/a&gt;: “But the classification of an application isn’t a simple tree structure — there are many different connections. And the connections aren’t simply of heredity — there are subclasses, view hierarchies, event hierarchies, control hierarchies and more.”&lt;/p&gt;

&lt;p&gt;Sometimes when I just want something good to read I go through the Cocoa with Love archive. I even read articles I’ve read before.&lt;/p&gt;</description>
	<pubDate>Mon, 28 Jun 2010 17:15:37 +0000</pubDate>
</item>
<item>
	<title>Ranchero: On coding as if people are watching</title>
	<guid>http://ranchero.com/2010/06/28/on_coding_as_if_people_are_watching</guid>
	<link>http://iphonedevelopment.blogspot.com/2010/06/code-as-if.html</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://iphonedevelopment.blogspot.com/2010/06/code-as-if.html&quot;&gt;Jeff LaMarche&lt;/a&gt;: “The other day, I saw somebody wearing a T-shirt that said ‘Dance Like Nobody’s Watching.’ I’m not much of a dancer, but I like the sentiment. However, dancing is not coding. The worst thing you can do is code like nobody’s watching.”&lt;/p&gt;

&lt;p&gt;Jeff makes a great point. I might sum it up as: do it right the first time, no matter what the pressure — it &lt;em&gt;always&lt;/em&gt; pays off.&lt;/p&gt;

&lt;p&gt;(I play a guest role in the addendum. The follow-on point being that code reviews — actually having people look at your code — are good too.)&lt;/p&gt;

&lt;p&gt;At WWDC I called Jeff the “smartest guy in iPhone development.” If you’re a developer, you should subscribe to his feed. (But I bet you already have.)&lt;/p&gt;</description>
	<pubDate>Mon, 28 Jun 2010 17:01:54 +0000</pubDate>
</item>
<item>
	<title>Inessential: Casual</title>
	<guid>http://inessential.com/2010/06/24/casual</guid>
	<link>http://inessential.com/2010/06/24/casual</link>
	<description>&lt;p&gt;I’m not sure what relative this is, but I love the picture’s Alfred E. Neuman vibe.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://inessential.com/images/allgoodhereyep.jpg&quot; alt=&quot;All’s good here, yep&quot; width=&quot;356&quot; height=&quot;375&quot;&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 24 Jun 2010 18:30:12 +0000</pubDate>
</item>
<item>
	<title>Inessential: Road to beach</title>
	<guid>http://inessential.com/2010/06/24/road_to_beach</guid>
	<link>http://inessential.com/2010/06/24/road_to_beach</link>
	<description>&lt;p&gt;My great-grandmother (on left) and her sisters (I think) on the road to the beach in New Jersey. Click thumbnail for bigger version.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://inessential.com/images/roadtobeach.jpg&quot;&gt;&lt;img src=&quot;http://inessential.com/images/roadtobeach_thumb.png&quot; alt=&quot;Road to beach&quot; height=&quot;160&quot; width=&quot;313&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 24 Jun 2010 18:18:39 +0000</pubDate>
</item>
<item>
	<title>NSLog: Lightning Strikes Three Buildings</title>
	<guid>http://nslog.com/?p=7066</guid>
	<link>http://nslog.com/2010/06/24/lightning_strikes_three_buildings</link>
	<description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Shot with a Canon 7D.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;small&gt;&amp;copy; iacas for &lt;a href=&quot;http://nslog.com&quot;&gt;NSLog();&lt;/a&gt;, 2010. | &lt;a href=&quot;http://nslog.com/2010/06/24/lightning_strikes_three_buildings&quot;&gt;Permalink&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 24 Jun 2010 15:48:10 +0000</pubDate>
	<dc:creator>Erik J. Barzeski</dc:creator>
</item>
<item>
	<title>NSLog: Vimeo Plus</title>
	<guid>http://nslog.com/?p=7149</guid>
	<link>http://nslog.com/2010/06/23/vimeo_plus</link>
	<description>&lt;p&gt;My &lt;a href=&quot;http://vimeo.com/plus&quot; title=&quot;Vimeo Plus&quot;&gt;Vimeo Plus&lt;/a&gt; membership is about to expire. For $59, I can't see myself renewing. Heck, at $29 I'm not sure I'd renew.&lt;/p&gt;
&lt;p&gt;Like it or not, YouTube has won. It's free, has HD, embeds, and has just enough privacy controls (Vimeo lets you control on which sites your videos can be embedded, YouTube does not) that it's used instead of Vimeo.&lt;/p&gt;
&lt;p&gt;What will I lose?&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;If you do not renew your membership, your account will revert to the feature set available to non-Plus Vimeo members. You will not lose any videos or channels/groups/albums that you created during your Plus membership, no need to worry. However, any videos you have set special embed options for will revert to the normal embed options for basic accounts. Your original source files will no longer be available for download 30 days after your Plus account expires.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Eh. &lt;a href=&quot;http://vimeo.com/iacas&quot; title=&quot;Vimeo&quot;&gt;Not worth it&lt;/a&gt;. $59's a lot of money. &lt;img src=&quot;http://nslog.com/wp-includes/images/smilies/icon_razz.gif&quot; alt=&quot;:-P&quot; class=&quot;wp-smiley&quot;&gt; &lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;small&gt;&amp;copy; iacas for &lt;a href=&quot;http://nslog.com&quot;&gt;NSLog();&lt;/a&gt;, 2010. | &lt;a href=&quot;http://nslog.com/2010/06/23/vimeo_plus&quot;&gt;Permalink&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 23 Jun 2010 14:20:48 +0000</pubDate>
	<dc:creator>Erik J. Barzeski</dc:creator>
</item>
<item>
	<title>NSLog: 2006 Mac Pro Video Card Dies</title>
	<guid>http://nslog.com/?p=7145</guid>
	<link>http://nslog.com/2010/06/22/2006_mac_pro_video_card_dies</link>
	<description>&lt;p&gt;A few years ago I replaced the piece-of-shit &lt;a href=&quot;http://nslog.com/2008/02/14/replacing_the_ati_radeon_1900xt_in_the_mac_pro&quot; title=&quot;Replacing the ATI Radeon X1900 XT in the Mac Pro&quot;&gt;ATI Radeon X1900 XT in my Mac Pro&lt;/a&gt;. Lately, following reboots and other things which cause the display to go black (I've not tried sleep), the display will remain black. The white LED is on, the computer boots normally, and the display simply remains dark.&lt;/p&gt;
&lt;p&gt;Rebooting a few times seems to fix the problem sometimes, but basically, I think the ATI card is dead again.&lt;/p&gt;
&lt;p&gt;There are numerous threads about the quality of this card on Apple's discussion forums (&lt;a href=&quot;http://discussions.apple.com/thread.jspa?threadID=2168913&amp;tstart=0&quot; title=&quot;ATI Card Dies&quot;&gt;here's one&lt;/a&gt;, &lt;a href=&quot;http://discussions.info.apple.com/thread.jspa?threadID=2070116&quot;&gt;another&lt;/a&gt;, and there are plenty more) as well as on &lt;a href=&quot;http://forums.macrumors.com/showthread.php?t=544428&quot;&gt;third-party&lt;/a&gt; &lt;a href=&quot;http://rickardandersson.com/video-card-options-for-mac-pro&quot;&gt;sites&lt;/a&gt;. I found some other discussions earlier today that I can't find again. The latter one is particularly interesting.&lt;br&gt;
&lt;span id=&quot;more-7145&quot;&gt;&lt;/span&gt;&lt;br&gt;
I called the local store to see what they had available - they're an Apple authorized shop - and was told that the GeForce GT 120 would work in my machine, despite &lt;a href=&quot;http://forums.macrumors.com/showthread.php?t=674378&quot;&gt;what&lt;/a&gt; I &lt;a href=&quot;http://blog.macsales.com/602-testing-those-new-graphics-cards/comment-page-2#comment-11426&quot;&gt;read&lt;/a&gt; and &lt;a href=&quot;http://store.apple.com/us/product/MC002ZM/A?mco=MTA4ODA0ODM&quot;&gt;what Apple says&lt;/a&gt;. Perhaps &lt;a href=&quot;http://www.nvidia.com/object/macosx-cuda-3.1-driver.html&quot;&gt;this update&lt;/a&gt; will help?&lt;/p&gt;
&lt;p&gt;I remain unsold. I guess I'll find out in 3-5 days. Given the machine's age, I don't know what I'll do if the GT 120 doesn't work as I suspect it won't.&lt;/p&gt;
&lt;p&gt;Any ideas? The machine's behaving great except for the lack of video output. The display works on my MacBook Pro. I've tried different PCI slots. I've reset PRAM and the SMC, etc. I'm 99% confident it's a video card issue&amp;hellip; for a machine that's just about to hit its four-year anniversary.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;small&gt;&amp;copy; iacas for &lt;a href=&quot;http://nslog.com&quot;&gt;NSLog();&lt;/a&gt;, 2010. | &lt;a href=&quot;http://nslog.com/2010/06/22/2006_mac_pro_video_card_dies&quot;&gt;Permalink&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 22 Jun 2010 16:38:29 +0000</pubDate>
	<dc:creator>Erik J. Barzeski</dc:creator>
</item>
<item>
	<title>Ranchero: iPhone multitasking explained</title>
	<guid>http://ranchero.com/2010/06/21/iphone_multitasking_explained</guid>
	<link>http://furbo.org/2010/06/21/iphone-multitasking/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://furbo.org/2010/06/21/iphone-multitasking/&quot;&gt;furbo.org&lt;/a&gt;: “It’s no secret that ‘multitasking’ is one of the great new features of iOS 4. Unfortunately, many people have a misconception about what Apple has implemented.”&lt;/p&gt;</description>
	<pubDate>Mon, 21 Jun 2010 18:42:39 +0000</pubDate>
</item>
<item>
	<title>NSLog: Obsolescence in Paint Pails</title>
	<guid>http://nslog.com/?p=7141</guid>
	<link>http://nslog.com/2010/06/21/obsolescence_in_paint_pails</link>
	<description>&lt;p&gt;A few years ago when Carey and I first began painting the rooms in our house, we picked up a &lt;a href=&quot;http://www.woosterbrush.com/PressRoom/ArchivedNews/Pelican&lt;br /&gt;&quot;&gt;&lt;br&gt;&quot;&gt;&lt;br&gt;
&quot; title=&quot;Pelican Paint Bucket&quot;&gt;Pelican Paint Bucket&lt;/a&gt; from either Lowe's or Home Depot.&lt;/p&gt;
&lt;p&gt;The other day we looked at both stores for some more liners only to find out that our bucket has been discontinued or is at least no longer carried. I had to overpay (just a little, free shipping) on Amazon.com (I have Prime now, after all) just to get some liners shipped to me.&lt;/p&gt;
&lt;p&gt;The Pelican Paint Bucket is superior to the current offerings. It's got a wide mouth that will fit a little roller. It has ridges to take excess paint off. It has a nice, grippy handle that's easy to slide your hand into yet very secure. And it has a magnet to hold your brush - an incredibly clever feature we use all the time.&lt;/p&gt;
&lt;p&gt;Stupid Lowe's and Home Depot.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;small&gt;&amp;copy; iacas for &lt;a href=&quot;http://nslog.com&quot;&gt;NSLog();&lt;/a&gt;, 2010. | &lt;a href=&quot;http://nslog.com/2010/06/21/obsolescence_in_paint_pails&quot;&gt;Permalink&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Mon, 21 Jun 2010 16:14:57 +0000</pubDate>
	<dc:creator>Erik J. Barzeski</dc:creator>
</item>
<item>
	<title>Ranchero: A Month of Mac</title>
	<guid>http://ranchero.com/2010/06/20/a_month_of_mac</guid>
	<link>http://www.feld.com/wp/archives/2010/06/a-month-of-mac.html</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.feld.com/wp/archives/2010/06/a-month-of-mac.html&quot;&gt;Brad Feld&lt;/a&gt;: “Ross (my IT guy) bet me $100 that I’d beg him to ship my Windows desktop to me within a few days of getting to Alaska. Help me win the bet.”&lt;/p&gt;</description>
	<pubDate>Sun, 20 Jun 2010 23:07:48 +0000</pubDate>
</item>
<item>
	<title>Ranchero: On sucky app websites</title>
	<guid>http://ranchero.com/2010/06/20/on_sucky_app_websites</guid>
	<link>http://mattgemmell.com/2010/06/20/your-apps-website-sucks</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://mattgemmell.com/2010/06/20/your-apps-website-sucks&quot;&gt;Matt Legend Gemmell&lt;/a&gt;: “Your customer doesn’t care about any of the other crap that you want to throw onto the product page. Get rid of it; put it elsewhere.”&lt;/p&gt;</description>
	<pubDate>Sun, 20 Jun 2010 21:16:36 +0000</pubDate>
</item>
<item>
	<title>NSLog: MacRabbit Rocks</title>
	<guid>http://nslog.com/?p=7130</guid>
	<link>http://nslog.com/2010/06/20/macrabbit_rocks</link>
	<description>&lt;p&gt;Just a shout out to a good guy in the Mac world - &lt;a href=&quot;http://macrabbit.com/&quot; title=&quot;MacRabbit&quot;&gt;MacRabbit&lt;/a&gt; rocks. I use CSSEdit nearly every day and Espresso is a great tool for web development. Give Jan's products a try and I'm sure you'll be impressed with the style and functionality.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;small&gt;&amp;copy; iacas for &lt;a href=&quot;http://nslog.com&quot;&gt;NSLog();&lt;/a&gt;, 2010. | &lt;a href=&quot;http://nslog.com/2010/06/20/macrabbit_rocks&quot;&gt;Permalink&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Sun, 20 Jun 2010 15:23:27 +0000</pubDate>
	<dc:creator>Erik J. Barzeski</dc:creator>
</item>
<item>
	<title>NSLog: 10.6.4 Still Doesn&#8217;t Fix Spaces Bug?</title>
	<guid>http://nslog.com/?p=7064</guid>
	<link>http://nslog.com/2010/06/19/1064_still_doesnt_fix_spaces_bug</link>
	<description>&lt;p&gt;The 10.6.3 update may have fixed the &lt;a href=&quot;http://lists.apple.com/archives/applescript-users/2010/Mar/msg00466.html&quot; title=&quot;Snow Leopard AppleEvents Timing Out&quot;&gt;AppleEvents Timing Out bug&lt;/a&gt;, but one bug that's &lt;em&gt;still&lt;/em&gt; around is the Spaces bug I &lt;a href=&quot;http://nslog.com/2009/10/15/snow_leopards_usb_forgetfulness_and_appleevents&quot; title=&quot;Snow Leopard Spaces Bug&quot;&gt;described here&lt;/a&gt;. Essentially, if I use ctrl-1 to ctrl-3 to move between my Spaces, quite often the keyboard will stop accepting input (or the OS will stop accepting input from the keyboard) until the Dock is quit (and automatically re-started).&lt;/p&gt;
&lt;p&gt;The Dock application controls Spaces. I've worked around this bug by having an AppleScript in my Script Menu that quits the Dock.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;small&gt;&amp;copy; iacas for &lt;a href=&quot;http://nslog.com&quot;&gt;NSLog();&lt;/a&gt;, 2010. | &lt;a href=&quot;http://nslog.com/2010/06/19/1064_still_doesnt_fix_spaces_bug&quot;&gt;Permalink&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Sat, 19 Jun 2010 18:10:33 +0000</pubDate>
	<dc:creator>Erik J. Barzeski</dc:creator>
</item>
<item>
	<title>NSLog: Steve Jobs at D8 Conference</title>
	<guid>http://nslog.com/?p=7124</guid>
	<link>http://nslog.com/2010/06/18/steve_jobs_at_d8_conference</link>
	<description>&lt;p&gt;Steve Jobs is almost mind-blowingly, well, Jobsian in his D8 conference. The full 100-minute video is &lt;a href=&quot;http://itunes.apple.com/us/podcast/steve-jobs-at-d8-conference/id377953458&quot; title=&quot;Steve Jobs at D8&quot;&gt;a free download from iTunes&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;small&gt;&amp;copy; iacas for &lt;a href=&quot;http://nslog.com&quot;&gt;NSLog();&lt;/a&gt;, 2010. | &lt;a href=&quot;http://nslog.com/2010/06/18/steve_jobs_at_d8_conference&quot;&gt;Permalink&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 18 Jun 2010 18:58:15 +0000</pubDate>
	<dc:creator>Erik J. Barzeski</dc:creator>
</item>
<item>
	<title>Inessential: Put weblogs on bitbucket</title>
	<guid>http://inessential.com/2010/06/18/put_weblogs_on_bitbucket</guid>
	<link>http://inessential.com/2010/06/18/put_weblogs_on_bitbucket</link>
	<description>&lt;p&gt;I’ve moved the repositories for inessential.com and ranchero.com to bitbucket and made them public read-only.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://bitbucket.org/brentsimmons/ranchero.com/overview&quot;&gt;ranchero.com repository&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://bitbucket.org/brentsimmons/inessential.com/overview&quot;&gt;inessential.com repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’s just the raw stuff that gets rendered into weblog posts — it’s not the rendering scripts. There’s no actual software. Just a bunch of words.&lt;/p&gt;

&lt;p&gt;Not sure why I did this. Maybe just because I could. But sometimes big bunches of text can be useful for somebody somewhere.&lt;/p&gt;

&lt;p&gt;The actual posts are in the posts directory. Older posts are HTML, newer posts are written in &lt;a href=&quot;http://daringfireball.net/projects/markdown/&quot;&gt;Markdown&lt;/a&gt;. The lines at the top of each post that start with a @ character are metadata. Stuff between &amp;#91;[ and ]] are macros. Stuff between &amp;#91;[= and ]] are includes (grabbed from Snippets folder).&lt;/p&gt;

&lt;p&gt;I wrote about my system in early 2009 &lt;a href=&quot;http://inessential.com/2009/01/30/new_publishing_system_tour_of_my_head&quot;&gt;here&lt;/a&gt;. I’ve been quite happy with it. To restate the advantages:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Static HTML pages are &lt;em&gt;fast&lt;/em&gt;. I don’t have to worry about getting Fireballed. :) And they’re easily portable, if I ever have to change web hosts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Static RSS feeds are fast too, which is good because they get requested a lot.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Having source control is especially nice when I’m working on templates.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Having source control is great for offsite backups. (I was using Dropbox before I switched to bitbucket. I’ll probably still keep a backup on Dropbox, just because.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Being able to search through my weblogs on my desktop using Spotlight or &lt;a href=&quot;http://betterthangrep.com/&quot;&gt;ack&lt;/a&gt; is very convenient. (Okay, I admit I use ack mostly.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The system can generate a local preview version, so I can render my site just on my machine and look at it before uploading. I don’t use that often, but it’s nice when working on templates.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Best part: I still get to use &lt;a href=&quot;http://www.red-sweater.com/marsedit/&quot;&gt;MarsEdit&lt;/a&gt; — I have a small Ruby-based server that implements the API that MarsEdit expects. I hardly ever actually look at the weblogs as files-on-disk, and I never edit the posts that way (though I could).&lt;/p&gt;</description>
	<pubDate>Fri, 18 Jun 2010 18:36:42 +0000</pubDate>
</item>
<item>
	<title>Ranchero: Fast UITableViewCell with a UIWebView</title>
	<guid>http://ranchero.com/2010/06/17/fast_uitableviewcell_with_a_uiwebview</guid>
	<link>http://nickharris.wordpress.com/2010/06/17/fast-uitableviewcell-with-a-uiwebview/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://nickharris.wordpress.com/2010/06/17/fast-uitableviewcell-with-a-uiwebview/&quot;&gt;Nick Harris (my co-worker at NewsGator)&lt;/a&gt;: “The problem becomes how you add hyperlinking to a UITableViewCell but keep the scroll speed as fast as possible.”&lt;/p&gt;

&lt;p&gt;Nick’s solution is to actually use a UIWebView. Which works pretty well (to my surprise). He has some demo code posted — and lists a couple issues still to solve. Help appreciated, of course!&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jun 2010 22:05:13 +0000</pubDate>
</item>
<item>
	<title>NSLog: WordPress 3.0</title>
	<guid>http://nslog.com/?p=7058</guid>
	<link>http://nslog.com/2010/06/17/wordpress_30</link>
	<description>&lt;p&gt;Installed.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;For a major version upgrade, things (the UI, the functionality, etc.) remained surprisingly consistent. A lot of back end tweaks.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;small&gt;&amp;copy; iacas for &lt;a href=&quot;http://nslog.com&quot;&gt;NSLog();&lt;/a&gt;, 2010. | &lt;a href=&quot;http://nslog.com/2010/06/17/wordpress_30&quot;&gt;Permalink&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 17 Jun 2010 14:05:13 +0000</pubDate>
	<dc:creator>Erik J. Barzeski</dc:creator>
</item>
<item>
	<title>NSLog: A Kindle Book with Ligature Issues</title>
	<guid>http://nslog.com/?p=7128</guid>
	<link>http://nslog.com/2010/06/16/a_kindle_book_with_ligature_issues</link>
	<description>&lt;p&gt;Every instance - &lt;em&gt;every&lt;/em&gt; single one - of the ligatures in the book &quot;Unplayable: An Inside Account of Tiger's Most Tumultuous Season&quot; for my Kindle has an issue with ligatures. Most commonly this is &quot;fl&quot; - lowercase &quot;F&quot; and an &quot;L&quot; character next to each other (or &quot;fi&quot; - &quot;F&quot; and &quot;I&quot;).&lt;/p&gt;
&lt;p&gt;As you can see from the screenshot below, when reading a golf book the ligature issue is quite, uhm, noticeable.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://nslog.com/imgs/tech/kindle_ligature_mistake.jpg&quot; height=&quot;375&quot; width=&quot;500&quot; alt=&quot;Kindle Ligature Issue&quot; class=&quot;bordleft&quot;&gt;&lt;/p&gt;
&lt;p&gt;I've filed a support request with Amazon. I'll update this blog entry when they respond.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;small&gt;&amp;copy; iacas for &lt;a href=&quot;http://nslog.com&quot;&gt;NSLog();&lt;/a&gt;, 2010. | &lt;a href=&quot;http://nslog.com/2010/06/16/a_kindle_book_with_ligature_issues&quot;&gt;Permalink&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 16 Jun 2010 20:36:13 +0000</pubDate>
	<dc:creator>Erik J. Barzeski</dc:creator>
</item>
<item>
	<title>NSLog: The Perfect French Fry</title>
	<guid>http://nslog.com/?p=7126</guid>
	<link>http://nslog.com/2010/06/15/the_perfect_french_fry</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://aht.seriouseats.com/archives/2010/05/the-burger-lab-how-to-make-perfect-mcdonalds-style-french-fries.html&quot; title=&quot;Perfect French Fries&quot;&gt;The full article is worth reading&lt;/a&gt;, but if you're the type who just wants to skip to the end here you go:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Perfect French Fries&lt;/strong&gt; - &lt;em&gt;Serves Four&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Ingredients&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2 pounds russet potatoes (about 4 large), peeled and cut into 1/4-inch by 1/4-inch fries (keep potatoes stored in a bowl of water)&lt;/li&gt;
&lt;li&gt;2 tablespoons distilled white vinegar&lt;/li&gt;
&lt;li&gt;Kosher salt&lt;/li&gt;
&lt;li&gt;2 quarts peanut oil&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;Procedure&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Place potatoes and vinegar in saucepan and add 2 quarts of water and 2 tablespoons of salt. Bring to a boil over high heat. Boil for 10 minutes. Potatoes should be fully tender, but not falling apart. Drain and spread on paper towel-lined rimmed baking sheet. Allow to dry for five minutes.&lt;/li&gt;
&lt;li&gt;Meanwhile, heat oil in 5-quart Dutch oven or large wok over high heat to 400&amp;deg;F. Add 1/3 of fries to oil (oil temperature should drop to around 360&amp;deg;F). Cook for 50 seconds, agitating occasionally with wire mesh spider, then remove to second paper-towel lined rimmed baking sheet. Repeat with remaining potatoes (working in two more batches), allowing oil to return to 400&amp;deg;F after each addition. Allow potatoes to cool to room temperature, about 30 minutes. Continue with step 3, or for best results, freeze potatoes at least over night, or up to 2 months.&lt;/li&gt;
&lt;li&gt;Return oil to 400&amp;deg;F over high heat. Fry half of potatoes until crisp and light golden brown, about 3 1/2 minutes, adjusting heat to maintain at around 360&amp;deg;F. Drain in a bowl lined with paper towels and season immediately with kosher salt. Cooked fries can be kept hot and crisp on a wire rack set on a sheet tray in a 200&amp;deg;F oven while second batch is cooked. Serve immediately.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;&lt;small&gt;&amp;copy; iacas for &lt;a href=&quot;http://nslog.com&quot;&gt;NSLog();&lt;/a&gt;, 2010. | &lt;a href=&quot;http://nslog.com/2010/06/15/the_perfect_french_fry&quot;&gt;Permalink&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 15 Jun 2010 19:53:26 +0000</pubDate>
	<dc:creator>Erik J. Barzeski</dc:creator>
</item>
<item>
	<title>Inessential: Reminder about upgrading NetNewsWire</title>
	<guid>http://inessential.com/2010/06/14/reminder_about_upgrading_netnewswire</guid>
	<link>http://inessential.com/2010/06/14/reminder_about_upgrading_netnewswire</link>
	<description>&lt;p&gt;I don’t usually use my personal weblog for this kind of thing — but it’s important for NetNewsWire users, so I want to make sure all bases are covered.&lt;/p&gt;

&lt;p&gt;A couple months ago we released updated versions of NetNewsWire that work with an upcoming change in Google Reader. That change (in the authentication system) goes into effect tomorrow (Tuesday). So it’s important to make sure you have the latest version.&lt;/p&gt;

&lt;p&gt;In a nutshell: you should have Mac 3.2.7 or greater (you can look at the About window). For iPhone and iPad, you should just check the App Store to make sure there isn’t an update waiting for you.&lt;/p&gt;

&lt;p&gt;More details are in a &lt;a href=&quot;http://netnewswireapp.com/2010/06/reminder-make-sure-netnewswire-is-latest-version/&quot;&gt;post on the NetNewsWire weblog&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Tue, 15 Jun 2010 00:48:20 +0000</pubDate>
</item>

</channel>
</rss>
