{"id":88,"date":"2006-01-18T08:53:46","date_gmt":"2006-01-18T15:53:46","guid":{"rendered":"http:\/\/www.red-sweater.com\/blog\/?p=88"},"modified":"2006-01-18T09:06:42","modified_gmt":"2006-01-18T16:06:42","slug":"intel-impatience","status":"publish","type":"post","link":"https:\/\/redsweater.com\/blog\/88\/intel-impatience","title":{"rendered":"Intel Impatience"},"content":{"rendered":"<style type=\"text\/css\"><!-- .caption { border-style:dashed; border-width:1px; border-color:#BBBBBB; margin-left:20px; padding:10px;}--><\/style>\n<p>On the morning of January 10, I woke up expecting to waste a couple hours of my day scouring web sites and IRC channels for the latest transcriptions of Steve Jobs&#8217; Macworld <a href=\"http:\/\/macworld.apple.com.edgesuite.net\/mw\/index.html\">keynote speech<\/a>.  It didn&#8217;t really bother me that it was not being streamed live this year, because every other year when they&#8217;ve tried that, I&#8217;ve ended up squinting at a low-quality, slow-updating video and not really getting much more than I would have from the painstakingly verbatim notes I read live on IRC.<\/p>\n<p>\nWhile I was expecting to throw away a couple hours, I didn&#8217;t yet know I&#8217;d be throwing away a couple thousand dollars. [&#8220;Throwing away&#8221; will seem less appropriate once I actually get the hardware!]  I knew I needed\/wanted to get an Intel box sometime soon, in order to start testing my own software. I&#8217;d made whatever &#8220;transition&#8221; was necessary in theory months ago, but in practice I&#8217;d yet to try the apps out in a live Intel box.\n<\/p>\n<p>\nSo when I saw the Intel iMac, I sighed. No Intel for me, I thought. I had subconsciously formulated an Intel fantasy that involved buying an Intel-based Mini, using it in the common area as a media center, and rebooting it into Windows XP as necessary for my work. I already use VPN for almost all of my PC needs. The ugly Dell sits underneath my desk, serving mostly as a foot warmer and sometimes as a reminder of just how good we have in the Mac world.\n<\/p>\n<p>\nWhen the MacBook Pro was announced, however, my ears perked up. My &#8220;portability&#8221; currently consists of a 500MHz iBook G4, stuck on 10.3 because I&#8217;ve been too lazy to figure out how to install Tiger from a hard drive (no DVD drive). This announcement gelled for me a magic combination of want and need. I need an Intel machine to test against. I want a laptop to cruise to the cafe with. OK, sold! I placed my order at 11:08AM PST. The problem is, it&#8217;s not slated to ship until February.\n<\/p>\n<p>\nI&#8217;m getting impatient! Other people are getting iMacs, and I&#8217;m stuck on the waiting list. I&#8217;m considering switching my order to an iMac &#8211; perhaps I can replace my Dual G5 2.0GHz with&#8230; an iMac? If there was ever a good time to sell a powerful G5, it&#8217;s probably now. While the G5 still runs Photoshop faster than an Intel-based Mac.\n<\/p>\n<p>\nI got so impatient to try out my in-house applications, that I built Universal copies and posted them in a private section of my web site. I then went to my local <a href=\"http:\/\/www.apple.com\/retail\/cambridgeside\/week\/20060115.html\">Apple Store<\/a> (after calling ahead to confirm that they got their Intel macs on schedule) to do a little test-drive.\n<\/p>\n<p>\nI walked into the Apple Store and started scanning for the word &#8220;Intel.&#8221; Nowhere to be found. There were tons of iMac G5 displays, but no Intel iMac! Damn it! They lied to me. As a last stab at success, I asked an employee, &#8220;Are there are any Intel iMacs on display?&#8221; I tried to feign consumerism so he wouldn&#8217;t get suspicious about my motives. &#8220;Sure, we have one right over here. There isn&#8217;t much on it, but you can surf the web or whatever.&#8221; Something tells me Apple wouldn&#8217;t be too happy to have their employees describe the &#8220;full suite of Apple applications&#8221; as &#8220;nothing much.&#8221;\n<\/p>\n<p>\nThe machine he escorted to me was indeed Intel-based, despite the outdated &#8220;iMac G5 &#8211; $1299&#8221; placard next to it. I guess a side-effect of not changing the price is that it allows retail stores to be lazy. I went straight to my web page, downloaded my universal apps, and attempted to launch them from the Desktop. &#8220;You are not allowed to launch this application.&#8221; What! Oh crap, I&#8217;m going to have to come clean about my motives. I thought there was like a 10% chance the Apple store employees would take pity or be awed by my plight, and let me loose on the machine. But the 90% chance of them just saying &#8220;No&#8221; and then watching me more carefully informed my decision to just play around a bit.\n<\/p>\n<p>\nIn a short while I figured out how to work around the security. And that made me feel pretty bad-ass. I&#8217;ve got code to debug, damn it! I excitedly launched my applications, only to learn that they were in fact <em>not Intel compatible<\/em>. I was really expecting them to launch and run without a hitch. &#8220;Well, better to find out now than to ship and let my customers find out!&#8221; I rationalized. But I was a bit bummed. I basically do things &#8220;by the book.&#8221; Why don&#8217;t my apps run? In fact, one runs and one crashes. But the root cause appears to be the same. I&#8217;m getting some kind of NSUnarchiver based exception. Does this look familiar to anybody?\n<\/p>\n<p><div class=\"caption\">\n2006-01-17 15:48:58.058 Clarion[1011] An uncaught exception was raised<br \/>\n2006-01-17 15:48:58.168 Clarion[1011] *** file inconsistency: read &#8216;I&#8217;, expecting &#8216;L&#8217;<br \/>\n2006-01-17 15:48:58.168 Clarion[1011] *** Uncaught exception: &lt;NSArchiverArchiveInconsistency&gt; *** file inconsistency: read &#8216;I&#8217;, expecting &#8216;L&#8217;\n<\/div>\n<\/p>\n<p>\nIt&#8217;s hard to debug the problem at the Apple store, since they don&#8217;t have Developer Tools installed. So I took some notes and scp&#8217;d them up to my web server from the store. When I got home I examined the logs (and a stack trace in the crasher case) more carefully.\n<\/p>\n<p>\nI&#8217;m assuming there&#8217;s some data somewhere that is supposed to look like &#8220;LIST&#8221; or something but is coming back &#8220;ILTS&#8221; (or would it be &#8220;TSIL&#8221;?) due to byte-swapping issues. A quick scan of my sources doesn&#8217;t reveal any funky archiver behavior, and I can&#8217;t find any references to this type of error alongside &#8220;Intel&#8221; in the developer list archives. I searched my Nib files for &#8220;LI&#8221; and &#8220;IL&#8221; but didn&#8217;t find anything particularly interesting. The only comments I can find related to archiving issues in Apple&#8217;s documentation have to do with archiving bitfield values. What am I doing in common in both of my apps that would cause this behavior?\n<\/p>\n<p>\nI will probably go back down there today or tomorrow to try to get some more information, but I thought it might ring a bell with somebody.<\/p>\n<p>\n<strong>Update:<\/strong> I just noticed that my applications are using &#8220;Pre-10.2 Nib&#8221; format. I guess I never updated them, or something. I wonder if this could be the problem. I notice that my &#8220;objects.nib&#8221; file in the Pre-10.2 version does have a lot of &#8220;I&#8221;s in it, while the keyedobjects.nib file from a &#8220;10.2 and later&#8221; nib has a lot of &#8220;L&#8221;s.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>On the morning of January 10, I woke up expecting to waste a couple hours of my day scouring web sites and IRC channels for the latest transcriptions of Steve Jobs&#8217; Macworld keynote speech. It didn&#8217;t really bother me that it was not being streamed live this year, because every other year when they&#8217;ve tried [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,13],"tags":[],"class_list":["post-88","post","type-post","status-publish","format-standard","hentry","category-apple","category-intel"],"_links":{"self":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/posts\/88","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/comments?post=88"}],"version-history":[{"count":0,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/posts\/88\/revisions"}],"wp:attachment":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/media?parent=88"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/categories?post=88"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/tags?post=88"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}