{"id":340,"date":"2009-02-08T15:29:04","date_gmt":"2009-02-08T14:29:04","guid":{"rendered":"http:\/\/t-machine.org\/?p=340"},"modified":"2009-02-08T20:21:05","modified_gmt":"2009-02-08T19:21:05","slug":"web-01-apple-please-hire-some-web-developers","status":"publish","type":"post","link":"http:\/\/new.t-machine.org\/index.php\/2009\/02\/08\/web-01-apple-please-hire-some-web-developers\/","title":{"rendered":"Web 0.1: Apple: please hire some web developers"},"content":{"rendered":"<p>I can no longer develop iPhone Apps. I am on <a href=\"http:\/\/t-machine.org\/index.php\/2009\/01\/28\/iphone-os-updated-developers-let-down-by-apple-a-little\/\">my eighth attempt to download the 1.75Gb 2.2.1 SDK<\/a> &#8211; without which, XCode refuses to even talk to my iPhone any more, because I allowed the iPhone to upgrade.<\/p>\n<p>EDIT: I have it! I HAVE IT! YES! NO MORE PRAYING TO THE GODS OF ****ING APPLE&#8217;S CRAPPY WEB SERVER! (it&#8217;s probably a corrupted download)<\/p>\n<p>The problem?<\/p>\n<p>Sheer mind-numbing incompetence by Apple&#8217;s web team, it would seem (NB: I may be wrong; I haven&#8217;t tried packet-sniffing the HTTP traffic to prove this beyond all doubt, but my experiments with different browsers and different ISP&#8217;s strongly indicate it is the case). They&#8217;ve (mis)configured the webserver over at developer.apple.com to kill partial downloads of this monstrous file.<\/p>\n<p>If you cannot download the whole thing before Apple automatically logs you out of their website (which they do every half an hour or so if you don&#8217;t actively surf the site), then your download is cancelled, server-side. You cannot resume from where you left off (their web server refuses to honour the HTTP command that tells it to resume a partial download).<\/p>\n<p>What did they do wrong?<\/p>\n<p>It&#8217;s a session-management problem &#8211; you CAN pause and resume a minute or two later. Just not half an hour later.<\/p>\n<p>The other major bugs in the Apple websites (including that force logout!) suggest that some novice web programmer made a half-assed Session-management system that, well, sucks. (am I sounding angry? Hell yes; Apple&#8217;s website is behaving like some naive bricks-and-mortar company from 1999, not 2009). Or maybe they picked up a 3rd party one &#8230; that sucked. Whatever. It seems the session-manager is overriding Apache&#8217;s built-in support for this core element of HTTP, and saying &#8220;no&#8221;. For no reason other than bad web coding.<\/p>\n<p>In passing, I noticed that they are *still* (allegedly &#8211; it&#8217;s easy to fake) running the same version of the Apache webserver that they&#8217;ve been shipping by default with OS X Server for some years now &#8211; a version that is more than 4 years old, 8 versions behind the current &#8220;maintenance&#8221; release, and 1 major version behind the &#8220;mainstream&#8221; release. Personally, I wouldn&#8217;t run Apache 1.x if you paid me, not with 2.x out there and running a &#8220;proper&#8221; webserver arch (apache 1.x is not a real webserver, it&#8217;s a hack using forks that makes it unnecessarily slow under heavy load).<\/p>\n<p>&lt;\/rant&gt;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I can no longer develop iPhone Apps. I am on my eighth attempt to download the 1.75Gb 2.2.1 SDK &#8211; without which, XCode refuses to even talk to my iPhone any more, because I allowed the iPhone to upgrade. EDIT: I have it! I HAVE IT! YES! NO MORE PRAYING TO THE GODS OF ****ING [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,51,32,3],"tags":[],"_links":{"self":[{"href":"http:\/\/new.t-machine.org\/index.php\/wp-json\/wp\/v2\/posts\/340"}],"collection":[{"href":"http:\/\/new.t-machine.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/new.t-machine.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/new.t-machine.org\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/new.t-machine.org\/index.php\/wp-json\/wp\/v2\/comments?post=340"}],"version-history":[{"count":0,"href":"http:\/\/new.t-machine.org\/index.php\/wp-json\/wp\/v2\/posts\/340\/revisions"}],"wp:attachment":[{"href":"http:\/\/new.t-machine.org\/index.php\/wp-json\/wp\/v2\/media?parent=340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/new.t-machine.org\/index.php\/wp-json\/wp\/v2\/categories?post=340"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/new.t-machine.org\/index.php\/wp-json\/wp\/v2\/tags?post=340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}