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

<channel>
	<title>Walt-O-Matic</title>
	<atom:link href="http://www.wwco.com/~wls/blog/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.wwco.com/~wls/blog</link>
	<description>Pure Walt, from Concentrated Thought</description>
	<lastBuildDate>Fri, 29 Mar 2013 21:08:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>List iTunes Apps by Purchaser</title>
		<link>https://www.wwco.com/~wls/blog/2012/11/18/list-itunes-apps-by-purchaser/</link>
		<comments>https://www.wwco.com/~wls/blog/2012/11/18/list-itunes-apps-by-purchaser/#comments</comments>
		<pubDate>Mon, 19 Nov 2012 02:49:33 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Trick]]></category>
		<category><![CDATA[Walt's Desktop]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=1467</guid>
		<description><![CDATA[I finally developed a way to list all your iTune applications by Purchaser, and even better, I can do it from the command line. <a href="https://www.wwco.com/~wls/blog/2012/11/18/list-itunes-apps-by-purchaser/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Last year I was helping a friend who has pretty poor internet connectivity upgrade his iPad to the latest version of iOS. To do this, I connected his iPad to my system, performed a backup in iTunes, then synchronized to update the operating system. This had the side effect of beaming some of his applications to my iTunes, which in order to continue, he authenticated against. His iPad updated great, and he was on his way.</p>
<p>Things on my machine seemed okay for a while, that was until some of the apps he purchased that I didn&#8217;t have wanted to update. Not having his password, I wasn&#8217;t able to update them, but even worse, Apple wasn&#8217;t announcing <em>which</em> apps needed updating with his account so I could simply delete them as I wanted to.</p>
<p>Instead, for over a year, I was greeted in iTunes by a numerical indicator saying I needed up update my apps, but when I went to do it, I was up to date. Every once in a while I&#8217;d recognize an app that I didn&#8217;t purchase (in a haystack of nearly 1,000 iPhone apps) and delete it. Only then did the number drop, but later rise again when some other app needed updating.</p>
<p>What I needed to do was list out all the apps by Purchaser.</p>
<p>One of things that really annoys me about Apple is that stuff that is trivial to implement, like putting an optional Purchaser column in iTunes, they don&#8217;t do. The feature is half heartedly there, though. Press Command-I for Info, and you can see the purchaser for an item.</p>
<p>Only now you have to click and inspect your whole app list. And with the number of applications I own, this doesn&#8217;t scale well at all.</p>
<p>Searching the web reveals that others are in a similar bind, and that Apple seems to really care less about the few handful of users with this problem. Like much on the Apple Support Site, it&#8217;s unhelpfully silent.</p>
<p>Frustrated, I decided to solve this problem once and for all.  Open Terminal and cut&#8217;n'paste the following in:</p>
<pre><code>for f in ~/Music/iTunes/iTunes\ Media/Mobile\ Applications/*.ipa; \
 do (echo "$f" ; unzip -p "$f" "iTunesMetadata.plist" | \
 plutil -p - | egrep -i "\"(itemName|artistName|AppleID)\"" ) | \
 perl -e 'while (&lt;&gt;) { if (m!^/!) { chop; $fqn=$_; } if (m/"(.+)" =&gt; (".+")/) { $e{lc($1)}=$2; } } print "\"${fqn}\",$e{\"itemname\"},$e{\"artistname\"},$e{\"appleid\"}\n";'; \
done</code></pre>
]]></content:encoded>
			<wfw:commentRss>https://www.wwco.com/~wls/blog/2012/11/18/list-itunes-apps-by-purchaser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It Still Works!</title>
		<link>https://www.wwco.com/~wls/blog/2012/11/04/it-still-works/</link>
		<comments>https://www.wwco.com/~wls/blog/2012/11/04/it-still-works/#comments</comments>
		<pubDate>Sun, 04 Nov 2012 20:28:52 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Humor]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=1463</guid>
		<description><![CDATA[I'm absolutely shocked at what we now consider as "working." <a href="https://www.wwco.com/~wls/blog/2012/11/04/it-still-works/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I absolutely loved this description a friend shared of her Dell laptop, which is seven years old.  By her definition, it&#8217;s still working and doesn&#8217;t need replacement just yet. It&#8217;s used for Reddit, Facebook, Hulu, and applying for jobs.</p>
<p>Here&#8217;s what &#8220;working&#8221; means:</p>
<ul>
<li>It&#8217;s missing the E key.</li>
<li>It runs so loudly she can&#8217;t sleep at night and has to turn it off.</li>
<li>There&#8217;s no such thing as a battery, there&#8217;s a gaping hole in the bottom of the laptop, so it has to be plugged in.</li>
<li>The power plug has duct tape around it.</li>
<li>It overheats and Blue Screens of Death about three times a week.</li>
<li>It looses WiFi about every five minutes or when it&#8217;s not in the mood to be social.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://www.wwco.com/~wls/blog/2012/11/04/it-still-works/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Avoid Awesome Screenshot</title>
		<link>https://www.wwco.com/~wls/blog/2012/10/25/avoid-awesome-screenshot/</link>
		<comments>https://www.wwco.com/~wls/blog/2012/10/25/avoid-awesome-screenshot/#comments</comments>
		<pubDate>Fri, 26 Oct 2012 00:57:14 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Disclosure]]></category>
		<category><![CDATA[Walt's Desktop]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=1442</guid>
		<description><![CDATA[I was getting some pretty bad web performance, with a little exploration I learned it was a Safari Extension that was doing things I did not like. <a href="https://www.wwco.com/~wls/blog/2012/10/25/avoid-awesome-screenshot/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>While doing some web page debugging, I noticed that a simple, static, html file was pulling in a ton of web resource. Most noticeably from a place called Superfish, and sucking in with it a good deal of JavaScript libraries.  On. Every. Page. Load.</p>
<p>The culprit seems to be a Safari Extension called Awesome Screen Show 1.3.7 by Dilgo.  However, the developer site isn&#8217;t coming up, and I&#8217;m not all that encouraged by what I see over at Superfish either.</p>
<p>Uninstall the extension, as here&#8217;s the overhead you&#8217;ll be saving:<br />
<a href="http://www.wwco.com/~wls/blog/wp-content/uploads/2012/10/AwesomeSnapfish.png"><img src="http://www.wwco.com/~wls/blog/wp-content/uploads/2012/10/AwesomeSnapfish.png" alt="" title="Here&#039;s the overhead I was getting on page loads" width="1077" height="278" class="aligncenter size-full wp-image-1443" /></a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.wwco.com/~wls/blog/2012/10/25/avoid-awesome-screenshot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Turning Web Share Back On in Mountain Lion</title>
		<link>https://www.wwco.com/~wls/blog/2012/10/24/turning-web-share-back-on-in-mountain-lion/</link>
		<comments>https://www.wwco.com/~wls/blog/2012/10/24/turning-web-share-back-on-in-mountain-lion/#comments</comments>
		<pubDate>Thu, 25 Oct 2012 01:30:13 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[OS X]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=1430</guid>
		<description><![CDATA[Apple removed Web Share from Mountain Lion. Next they'll be removing the Start button... oh, wait... that's someone else. Here's how to bring back Apache for those people who use their Mac to test and design websites. <a href="https://www.wwco.com/~wls/blog/2012/10/24/turning-web-share-back-on-in-mountain-lion/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I was rather surprised and disappointed to learn that Web Sharing was removed from Mountain Lion.</p>
<p>According to this <a href="http://hints.macworld.com/article.php?story=20120729081935495">post</a>, it&#8217;s possible to bring back.</p>
<p>Per-user Web Sharing is gone from Preferences but can be easily re-enabled via Terminal.app. Copy the following snippet into /etc/apache2/users/<strong><em>USER</em></strong>.conf:
<pre><span style="color: #222222;"><span style="line-height: 21px;">
</span></span>&lt;Directory "/Users/<em><strong>USER</strong></em>/Sites/"&gt;
 Options Indexes MultiViews FollowSymlinks
 AllowOverride All
 Order allow,deny
 Allow from all
&lt;/Directory&gt;</pre>
<p>and restart Apache with <code>sudo apachectl restart</code>.</p>
<p>And PHP has been hidden as well, but again thanks to this <a href="http://lowendmac.com/crews/12lc/enable-php-mountain-lion.html">article</a>, it can come back as well.</p>
<p>Uncomment these lines by removing the leading pound sign in /etc/apache2/httpd.conf:</p>
<ul>
<li>LoadModule rewrite_module libexec/apache2/mod_rewrite.so</li>
<li>LoadModule perl_module libexec/apache2/mod_perl.so</li>
<li>LoadModule php5_module libexec/apache2/libphp5.so</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://www.wwco.com/~wls/blog/2012/10/24/turning-web-share-back-on-in-mountain-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wrong Registration Number</title>
		<link>https://www.wwco.com/~wls/blog/2012/09/09/wrong-registration-number/</link>
		<comments>https://www.wwco.com/~wls/blog/2012/09/09/wrong-registration-number/#comments</comments>
		<pubDate>Sun, 09 Sep 2012 14:46:49 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Humor Photos]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=1427</guid>
		<description><![CDATA[What happens if you incorrectly enter a registration number? <a href="https://www.wwco.com/~wls/blog/2012/09/09/wrong-registration-number/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div id="attachment_1426" class="wp-caption aligncenter" style="width: 451px"><a href="http://www.wwco.com/~wls/blog/wp-content/uploads/2012/09/WrongRegistration.png"><img class="size-full wp-image-1426" title="Wrong Registration" src="http://www.wwco.com/~wls/blog/wp-content/uploads/2012/09/WrongRegistration.png" alt="Humorous Registration Response" width="441" height="169" /></a><p class="wp-caption-text">Wrong Registration</p></div>
<p>I&#8217;ll let you guess what I was doing when I made a typo.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.wwco.com/~wls/blog/2012/09/09/wrong-registration-number/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trick: Reopen Last Closed Tab in Safari</title>
		<link>https://www.wwco.com/~wls/blog/2012/06/24/trick-reopen-last-closed-tab-in-safari/</link>
		<comments>https://www.wwco.com/~wls/blog/2012/06/24/trick-reopen-last-closed-tab-in-safari/#comments</comments>
		<pubDate>Sun, 24 Jun 2012 14:38:09 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[OS X]]></category>
		<category><![CDATA[Trick]]></category>
		<category><![CDATA[Walt's Desktop]]></category>
		<category><![CDATA[Safari]]></category>

		<guid isPermaLink="false">https://www.wwco.com/~wls/blog/?p=1416</guid>
		<description><![CDATA[Stumbled, quite by accident, in how to open the last closed tab in Safari... <a href="https://www.wwco.com/~wls/blog/2012/06/24/trick-reopen-last-closed-tab-in-safari/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Stumbled into a this using Safari, if you accidentally close the tab, immediately press Command-Z it &mdash; undoes the close! No need to dig through history.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.wwco.com/~wls/blog/2012/06/24/trick-reopen-last-closed-tab-in-safari/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Readers Lose Interest in Sequels</title>
		<link>https://www.wwco.com/~wls/blog/2012/06/23/why-readers-lose-interest-in-sequels/</link>
		<comments>https://www.wwco.com/~wls/blog/2012/06/23/why-readers-lose-interest-in-sequels/#comments</comments>
		<pubDate>Sun, 24 Jun 2012 03:31:02 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Speculation]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=273</guid>
		<description><![CDATA[This week I was fortunate enough to be visited by long time friend, Danny Adams. Our friendship runs so deep that I often forget as we&#8217;re having dinner that sitting across from me is a well published author (whom if &#8230; <a href="https://www.wwco.com/~wls/blog/2012/06/23/why-readers-lose-interest-in-sequels/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><I>This week I was fortunate enough to be visited by long time friend, <a href="http://dda.wwco.com/">Danny Adams</a>.  Our friendship runs so deep that I often forget as we&#8217;re having dinner that sitting across from me is a well published author (whom if I&#8217;m not mistaken, is being interviewed in <a href="http://www.starlog.com/">StarLog</a> magazine this month).</p>
<p>During our conversation, I started to ask a question but distracted myself with a full scale analysis of sequels and it wasn&#8217;t until I realized Danny wasn&#8217;t saying anything that I stopped. Apparently this was useful feedback, but before we could finish, we had to leave.</p>
<p>Danny, and all interested authors, here&#8217;s my take on why readers lose interest in sequels.</I></p>
<p><STRONG>What makes a story <u>good</U>?</STRONG></p>
<p>I suppose the ideal story is one that drags you into it that you actually forget that you&#8217;re actually reading.  But, how is that accomplished?</p>
<p>The common components that I&#8217;ve noticed from stories that I&#8217;ve enjoyed are ones where the main character is thrust into an unfamiliar environment, stumbles into an adventure as he learns the rules of the environment, events unfold and he becomes the reluctant hero, pushing his own boundaries, and eventually learning something about himself, and in the end making a difference.</p>
<p>This generalization appears everywhere: Neo from the <a href="http://www.imdb.com/title/tt0133093/">The Matrix</a>, Luke Skywalker from <a href="http://www.imdb.com/title/tt0076759/">Star Wars</a>, Ralph from <a href="http://www.imdb.com/title/tt0081871/">Greatest American Hero</a>, Stile from <a href="http://en.wikipedia.org/wiki/Apprentice_Adept">Splity Infinity</a>, Zane from <a href="http://en.wikipedia.org/wiki/Incarnations_of_Immortality">On A Pale Horse</a>, William from <a href="http://www.amazon.com/Wizards-Bane-Rick-Cook/dp/0671698036">Wizard&#8217;s Bane</a>, and even Harry from <a href="http://www.amazon.com/Harry-Potter-Sorcerers-Stone-Book/dp/0439554934/">Harry Potter and the Sorcerer&#8217;s Stone</a>.</p>
<p>But it&#8217;s at this point where things diverge.  Some stories end after they are told, other&#8217;s have long standing sequels, where others flop.  What makes <a href="http://www.imdb.com/title/tt0316654/">Spiderman 2</a> enjoyable while <a href="http://www.imdb.com/title/tt0097428/">Ghostbusters 2</a> and <a href="http://www.imdb.com/title/tt0108539/">Weekend At Bernie&#8217;s II</a> a forgotten memories?  Why are people so enthralled with <a href="http://www.amazon.com/J-R-R-Tolkien-Boxed-Hobbit-Rings/dp/0345340426">The Lord of the Rings</a>?  How does <a href="http://www.imdb.com/find?s=all&#038;q=star+trek">Star Trek</a> and <a href="http://www.imdb.com/find?s=all&#038;q=stargate">Stargate SG-1</a> and <a href="http://www.imdb.com/find?s=all&#038;q=dr.+who">Dr. Who</a> to keep going with endless spin-offs, and what caused <a href="http://www.imdb.com/find?s=all&#038;q=babylon+5">Babylon 5</a> to crash in the last season?</p>
<p>The thing in common with series that fail is where the author simply tried to capitalize on the existing relationship and knowledge from the prior story.</p>
<p><a href="http://www.imdb.com/title/tt0081573/">Superman II</a> holds far less interest than <a href="http://www.imdb.com/title/tt0279600/">Smallville</a>, primarily because we are joining in on the character as he develops.  </p>
<p>It&#8217;s just as enjoyable to share Author&#8217;s realization that he&#8217;s just done something incredible as he pulls the sword from the stone.  </p>
<p>A story needs to continue the growth of the character.  </p>
<p>Stories like Star Trek and Stargate SG-1 survive because each time they visit a different world, the rules, culture, and context are different &#8212; they have to learn all over again.  Discovering the environment with the main character is vital, it&#8217;s provides the energy and wonder.  <a href="http://www.imdb.com/title/tt0106145/">Deep Space 9</a> had things come to them, but it wasn&#8217;t the same.  Making a human the alien was a brilliant move on the part of <a href="http://www.imdb.com/title/tt0187636/">Farscape</a>, there was endless discovery.</p>
<p>A story needs a dynamic environment, in which the main character can rediscover himself and continually be tested, rise to the challenge, or even fail.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.wwco.com/~wls/blog/2012/06/23/why-readers-lose-interest-in-sequels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resetting MobileMe[ss]</title>
		<link>https://www.wwco.com/~wls/blog/2012/06/23/resetting-mobilemess/</link>
		<comments>https://www.wwco.com/~wls/blog/2012/06/23/resetting-mobilemess/#comments</comments>
		<pubDate>Sun, 24 Jun 2012 03:29:58 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Walt's Desktop]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=1229</guid>
		<description><![CDATA[Recently I noticed that my iPhone 4 started acting really, really badly. It wouldn&#8217;t unlock when a call was coming in, I couldn&#8217;t swipe between screens on the desktop, I couldn&#8217;t scroll within mail, clicks in the calendar weren&#8217;t working. &#8230; <a href="https://www.wwco.com/~wls/blog/2012/06/23/resetting-mobilemess/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Recently I noticed that my iPhone 4 started acting really, really badly. It wouldn&#8217;t unlock when a call was coming in, I couldn&#8217;t swipe between screens on the desktop, I couldn&#8217;t scroll within mail, clicks in the calendar weren&#8217;t working.</p>
<p>What was really strange is that it was Apple&#8217;s apps that weren&#8217;t working right, the regular store purchases were for the most part.  And that&#8217;s when I noticed that things seemed to lock up hard when the phone was doing networking, even more so when going over AT&#038;T&#8217;s instead of WiFi, though both did it.</p>
<p>What changed?  MobileMe, specifically it&#8217;s calendars.</p>
<p>When I did the famous upgrade process on the MobileMe site, it never finished; I got the script is running too slow dialog.  Later visits to the site threw up dialogs asking if I&#8217;d like to let Apple know there&#8217;s something wrong.</p>
<p>Eventually my calendar on the website came back, but there were dozens and dozens of repeating events that had happened years ago.  I suspect this was a data log jam like no other, and worse, it wanted to push it all to my little phone. There appears to be no online web facility for bulk management. I tried on my laptop as well, but that too became borked as Apple synchronized its new calendar data to me.</p>
<p>I speculate, simply because the GUI would not respond to any input at this time, that perhaps Apple&#8217;s own applications may violate the rule about doing updates on the GUI thread.  Either that, or that the message pump got so backed up, the GUI just couldn&#8217;t respond.  How I wish there was an &#8220;abort&#8221; other than a violent shutdown.</p>
<p>While I&#8217;ve <a href="http://www.wwco.com/~wls/blog/2009/07/25/mobileme-sync-problems-resolved/">reset MobileMe in the past for other reasons</a>, I ended up having to do a bit more.</p>
<p>By pulling the plug on the Internet and rebooting, I was able to come up in an isolated environment where I could shutdown all MobileMe syching and preferences. That let me peek at what was going on.</p>
<p>My thought: if I could recover the calendar on my laptop, I could push the valid subset back onto the MobileMe server.</p>
<p>With Calendar shutdown, my trip began by going to ~/Library/Calendars.  Insider there are a bunch of GUID based folders.  I deleted anything that had Cache in the name, as well as Calendar Sync Changes.</p>
<p>Then, I went through each folder.  The Info.plist files had a Title entry followed by the name of the calendar.  If it wasn&#8217;t a calendar I wanted, or was suspicious of, I deleted the GUID-looking folder completely.</p>
<p>If it did warrant keeping, I then went into the Events subfolder and looked to see how many .ics files there were. Casual browsing with Apple&#8217;s built-in previewer showed what the events were.</p>
<p>In my case, I found one folder related to MobileMe with over two thousand entries.  Sure enough there were repeats of the same event, like a synchronization gone wrong, rather than a single event marked for repeation.  So, I nuked that GUID-folder as well.</p>
<p>Sometimes there&#8217;d be no Events folder, but the .plist file looked like it was going to some external server.  Sometimes there&#8217;s be an addition subfolder with a GUID-looking name, and maybe even an Inbox subfolder, these seemed to be more associated to GMail.  I kept those.</p>
<p>When I restarted iCal, it knew something changed; it announced it was doing an upgrade for the folder formats, and then it presented me with some empty calendars that I knew I had gotten rid of.  I deleted those from the application.</p>
<p>Once I was sure I could start and stop iCal without it hanging or requiring a Force Quit, I reset MobileMe.</p>
<p>Some fast tips here on how to do this.
<ol>
<li>Hold down OPTION which clicking the Sync icon in your toolbar.  You can reset the Sync services that way.  <a href="http://support.apple.com/kb/TS1627?viewlocale=en_US">Apple tells how</a>.</li>
<li>There&#8217;s a python script you&#8217;ll want to run at the Terminal, it&#8217;s inside that &#8220;Apple Tells How&#8221; link above.</li>
<li>Finally, you want to deregister all your machines from MobileMe via the System Preferences, the machine you&#8217;re using last. When you do, it will offer to let you delete all the data off their servers.</li>
<li>Then, when you re-register, you put yourself in Manual mode first, and use the Advanced&#8230; button to push all your data at their server first.</li>
<li>Then, and only then, can you start putting things back to normal.</li>
</ol>
<p><a href="http://robulack.wordpress.com/2009/04/01/how-to-manually-delete-all-sync-data-from-mobilemes-servers/">Andrew Robulack has a wonderful write-up about how to reset MobileMe</a>. It&#8217;s an excellent guide.</p>
<p>All that said, apparently when I re-synced, there was some cruft left when I let iCal resync with MobileMe.</p>
<p>Then I read these horrible words from Apple: <STRONG><a href="http://support.apple.com/kb/HT4038">Resetting Syncing or SyncServices will not impact the new MobileMe Calendar and should not be used as a troubleshooting step for the new MobileMe Calendar.</a></STRONG></p>
<p>Some support articles, after winding through their Support Express Lane wizard:</p>
<ul>
<li><a href="http://support.apple.com/kb/TS3505">MobileMe: Resolving Duplicate Calendars in iCal with the new MobileMe Calendar</a> &#8212; this recommends resyncing with MobileMe and letting it figure out there are duplicates; problem is, it&#8217;s MobileMe that&#8217;s giving me data I don&#8217;t want, and there&#8217;s so much data MobileMe gives Safari the spinning pinwheel of death (incidentally, something I thought Snow Leopard and Safari were both designed to prevent).</li>
<li><a href="http://support.apple.com/kb/TS3394">MobileMe: Troubleshooting upgrading to the new MobileMe Calendar</a> &#8212; this one says wait and try again later.</li>
<li><a href="http://support.apple.com/kb/HT4330">MobileMe: Using Mac OS X Leopard v10.5.x with the new MobileMe Calendar</a> &#8212; this one says have you tried upgrading?</li>
<li><a href="http://support.apple.com/kb/TS3397">MobileMe: Troubleshooting new MobileMe Calendar issues</a> &#8212; this one actually has technical information in it, though it says to delete your MobileMe account from iCal, it doesn&#8217;t quite address how you do that if iCal locks up because it&#8217;s talking to MobileMe.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://www.wwco.com/~wls/blog/2012/06/23/resetting-mobilemess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;ve Deleted My Orkut Account in Favor of Facebook</title>
		<link>https://www.wwco.com/~wls/blog/2012/06/23/ive-deleted-my-orkut-account-in-favor-of-facebook/</link>
		<comments>https://www.wwco.com/~wls/blog/2012/06/23/ive-deleted-my-orkut-account-in-favor-of-facebook/#comments</comments>
		<pubDate>Sun, 24 Jun 2012 03:29:12 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=424</guid>
		<description><![CDATA[While I&#8217;m a pretty big fan of Google based technologies, the social site Orkut just never seemed to get off the ground from my perspective. It felt klutzy, but more importantly it too easily seemed to allow strangers to spam &#8230; <a href="https://www.wwco.com/~wls/blog/2012/06/23/ive-deleted-my-orkut-account-in-favor-of-facebook/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>While I&#8217;m a pretty big fan of Google based technologies, the social site Orkut just never seemed to get off the ground from my perspective.</p>
<p>It felt klutzy, but more importantly it too easily seemed to allow strangers to spam you.  And, frankly, I got tired of getting emails telling me that someone was commenting on my message board only to discover it was someone dumping links in Spanish.</p>
<p>So, Google, while I still love you, I&#8217;ve deleted my Orkut account.</p>
<p>Facebook, on the other hand, seems to be the place everyone who&#8217;s anyone is heading toward.  So, that&#8217;s where you can find me doing the social networking thing.  </p>
<p>I&#8217;d be there a whole lot more, except that the PackRat developers destroyed everything that was fun about the game in the latest update and added insult to injury when they added pay-to-play.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.wwco.com/~wls/blog/2012/06/23/ive-deleted-my-orkut-account-in-favor-of-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Groking Objective-C for Modern Day Programmers</title>
		<link>https://www.wwco.com/~wls/blog/2012/06/23/groking-objective-c-for-modern-day-programmers/</link>
		<comments>https://www.wwco.com/~wls/blog/2012/06/23/groking-objective-c-for-modern-day-programmers/#comments</comments>
		<pubDate>Sun, 24 Jun 2012 03:28:26 +0000</pubDate>
		<dc:creator>Walt Stoneburner</dc:creator>
				<category><![CDATA[Objective C]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.wwco.com/~wls/blog/?p=320</guid>
		<description><![CDATA[Here's what I think trips up solid programmers about the Objective-C language. <a href="https://www.wwco.com/~wls/blog/2012/06/23/groking-objective-c-for-modern-day-programmers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>One of the nice things about Apple&#8217;s <a href="http://www.apple.com/macosx/">OS X</a> for the Macintosh is that they include a free copy of <a href="http://www.apple.com/macosx/features/xcode/">Xcode</a>, a very sweet graphical development environment allowing developers to make <a href="http://en.wikipedia.org/wiki/Cocoa_%28API%29">Cocoa</a> applications using <a href="http://en.wikipedia.org/wiki/Objective-C">Objective-C</a>.</p>
<p>The problem is, jumping straight into the Cocoa framework, even with <a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/chapter01/chapter_1_section_1.html">tutorials</a>, can be a daunting task if you&#8217;re not comfortable with Objective-C. </p>
<p>Yes, there are a number of books out there, but today I stumbled across, quite by accident, <a href="http://www.gmonline.demon.co.uk/cscene/CS7/CS7-05.html">a fairly decent tutorial on Objective-C</a>.</p>
<p>That got me thinking.  In a world where we can easily pick up C++, C#, Java, Python, and Ruby&#8230; what is it about Objective-C that makes it hard to follow?  Here&#8217;s what I think the major stumbling blocks are:</p>
<p><STRONG>Notation Preconceptions Clouding C as the True Origin</STRONG><br />
In the classic examples, we think in terms of an object with methods and members, often using a dot-like syntax.  As such, we tend to want to force fit Objective-C&#8217;s way of doing thing into some preconceived mold, and when the syntax doesn&#8217;t express that, things fall apart.</p>
<p><EM>The Solution</EM>: Back off.  Drop <EM>all the way back</EM> to C.  Consider Objective-C nothing more than a well written pre-processor to useful object like extensions to the C programming language.  Sure your implementation may very well be a compiler, but don&#8217;t <EM>think</EM> in those terms.</p>
<p><STRONG>You&#8217;ve Got Classes Wrong</STRONG><br />
You&#8217;re used to thinking that a class is a data type.  Don&#8217;t, think of it as a <em>thing</em>.  In fact, Objective-C only needs to know a variable is a class, it doesn&#8217;t need to know which one or what it exposes.  Classes are things whose primary role is to produce instances.</p>
<p><STRONG>It&#8217;s Supposed To Feel Like Macro Magic</STRONG><br />
When you&#8217;re working on the guts of a class, you&#8217;ve got a lot of blocks that start with @class, @interface, @end, &#8230;.  If it feels like something&#8217;s acting as a pre-processor and is converting that stuff into data structures and functions, it is.  You&#8217;re not going to see pretty syntax that feels integrated into the language.</p>
<p><STRONG>Hard Crunchy Outside, Soft Gooey Inside</STRONG><br />
A class exposes an <EM>interface</EM>, this is how the outside world sees and interacts with your class.  Specifically, its your methods.  And they&#8217;re all public.  Get over it.  Test.  Only your members can be protected or private.</p>
<p>Remember, there are class-things and instance-things.</p>
<p><STRONG>Declarations and Definitions</STRONG><br />
With C, there&#8217;s declarations that define the type and are often used for forward references; additionally, there are definitions where the memory is actually allocated and a value assigned.</p>
<p>Objective-C objects work similar.  There&#8217;s an @interface  / @end block that describes the object, its members, and its methods.  And there&#8217;s an @implementation / @end block that actually contains the real code.</p>
<p><STRONG>void * and id</STRONG><br />
A pointer in C, indicated by a *, points at a data type.  If the pointer is given a void type, the compiler does no type checking.  You know this.  The id type holds a object, regardless what type it is.</p>
<p><STRONG>Messages are not Methods</STRONG><br />
Any object can be sent any message.  An object maps a message to a method.  However, if there&#8217;s no mapping available, it can be handed to a general handler for the object &mdash; which can be clever and analyze the message.</p>
<p><STRONG>Extended classes&#8230; and instances.</STRONG><br />
The mapping between message and method can be extended; you can think of it as subclassing.  However, it&#8217;s possible to extend an instance.  Meaning, a class might not respond to a message, while instance A does and instance B doesn&#8217;t.</p>
<p><STRONG>Categories</STRONG><br />
Because messages are bound late to an object, and the magic is done with data structures rather than types, it&#8217;s possible to create a collection of methods and add them to a class, even pre-existing ones you don&#8217;t have source code for.</p>
<p><STRONG>Protocols</STRONG><br />
A protocol neither exposes an interface, nor does it provide an implementation.  It is simply a named collection of method signatures which is attached to classes.  Because <EM>any</EM> message can be sent to <EM>any</EM> object instance (or class), it is helpful to be able to &#8220;ask&#8221; if certain messages will be honored; that&#8217;s what protocols are for.</p>
<p><STRONG>It&#8217;s Not Named Parameters</STRONG><br />
The syntax of a method may look odd, primarily because parameters appear to have additional text:<br />
<code>-(void) rotate:(String *)shape clockwise:(float)degrees;</code></p>
<p>In many modern languages, a signature can be overloaded.  However, go back to the trick &#8220;What Would Macros Do?&#8221;  In this case, any text that appears in front of a parameter is <EM>not</EM> a named parameter, but part of the method name.  The above method would be the logical equivalent of <code>void rotate_clockwise( String *shape, float degrees )</code> in raw C.</p>
<p><STRONG>Constructors / Destructors</STRONG><br />
In today&#8217;s languages, performing a <code>new</code> allocates memory and initialized the object.  Objective-C splits these into two discrete operations; this allows you to allocate memory from different heaps, as well as deferring expensive initializations &#8211; no bogus empty constructors here.</p>
<p>Note, you are also responsible for calling the superclass&#8217;s init, before doing your own init.  If you have a method to deallocate the object, when done you need to call the superclass&#8217;s deallocation routine.</p>
<p>C requires you to take on more responsibility and pay attention to order; Objective-C classes require the same amount of vigilance.</p>
<p><STRONG>Extra Data Types</STRONG><br />
Objective-C provides some helper data types, but some of them are tied quite strongly to the messaging framework.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.wwco.com/~wls/blog/2012/06/23/groking-objective-c-for-modern-day-programmers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
