PodSearch

Hypercritical

30: Paths in the Grass

 

00:00:00   [Music] [TS]

00:00:02   this is hypercritical [TS]

00:00:04   a weekly talkshow ruminating on exactly [TS]

00:00:07   what is wrong in the world of Apple and [TS]

00:00:09   related technologies and businesses [TS]

00:00:11   nothing is so perfect that it can't be [TS]

00:00:14   complained about hypercritical is hosted [TS]

00:00:16   by John siracusa and I'm Ryan Ireland [TS]

00:00:20   sitting in for Dan Benjamin this episode [TS]

00:00:23   of hypercritical is brought to you by [TS]

00:00:24   Shopify comm and Rackspace and we'll [TS]

00:00:28   hear more about them later in the show [TS]

00:00:31   bandwidth for hypercritical is brought [TS]

00:00:33   to you by Midas green tech Virtual [TS]

00:00:37   Private servers submerged in oil get [TS]

00:00:41   free bandwidth today at Midas green tech [TS]

00:00:43   comm / 5x5 all right John um let's go [TS]

00:00:48   ahead and get started with any um you [TS]

00:00:51   know I'm not Dan I'm Ryan and uh but we [TS]

00:00:55   but you still have a big list of stuff [TS]

00:00:57   you want to talk about I guess we should [TS]

00:00:58   start out with with some follow-ups from [TS]

00:01:00   last episode that's right I don't know [TS]

00:01:02   if did you listen to last episode of [TS]

00:01:03   that John I listened I listen to every [TS]

00:01:06   episode even though even if I wasn't [TS]

00:01:08   doing research as an understudy for Dan [TS]

00:01:11   actually do a show that's nice that's [TS]

00:01:14   nice to know [TS]

00:01:14   so last week we talked a little bit [TS]

00:01:17   about BBEdit versus textmate versus VI [TS]

00:01:21   versus Emacs vs. the world and I said a [TS]

00:01:26   couple things about BBEdit [TS]

00:01:28   mostly good but one or two things I said [TS]

00:01:31   was limited one of them was [TS]

00:01:32   multi-language support so BBEdit has the [TS]

00:01:34   concept of a language for a document so [TS]

00:01:37   it's a global setting in the bottom of [TS]

00:01:39   the document says what what language is [TS]

00:01:40   this document it's a very big list you [TS]

00:01:42   can pick from I don't know the full list [TS]

00:01:43   actually I'll pull it up now and take a [TS]

00:01:45   look so it's got it's got anything [TS]

00:01:46   everything from 68k assembler that's the [TS]

00:01:49   first one that phonetically speaking all [TS]

00:01:50   the way down to Y amel and about 50 [TS]

00:01:52   things in between so it's got a lot of [TS]

00:01:53   language support but I was talking about [TS]

00:01:55   text mates ability to have an awareness [TS]

00:01:59   of what context it's in within a [TS]

00:02:01   document so if you're editing an HTML [TS]

00:02:02   file for example it would know that [TS]

00:02:04   you're in a Java Script block and load [TS]

00:02:07   the bundles that are relevant to the [TS]

00:02:08   JavaScript stuff and you could do a [TS]

00:02:09   little fancy completion business based [TS]

00:02:11   on that context [TS]

00:02:13   um and I was saying I would like more of [TS]

00:02:15   that from BBEdit because it has support [TS]

00:02:19   for a huge number of languages but you [TS]

00:02:21   can't arbitrarily mix them together as [TS]

00:02:24   textmate seems to be able to do and I [TS]

00:02:26   also mentioned that in the context of [TS]

00:02:27   ybb ed it might be so fast because it's [TS]

00:02:30   not constantly trying to figure out what [TS]

00:02:32   context everything is in and syntax [TS]

00:02:33   highlighted at one of 18 different [TS]

00:02:35   supported languages at all times so I [TS]

00:02:37   don't know if that has anything to do [TS]

00:02:38   with why text mech textmate reportedly [TS]

00:02:41   beachballs when you paste in a huge [TS]

00:02:42   amount of text but I was just thrown [TS]

00:02:46   that out there so after I said that very [TS]

00:02:48   shortly after I said that I was told by [TS]

00:02:52   the people that know that actually I'm [TS]

00:02:54   not giving BBEdit enough credit for its [TS]

00:02:56   multi-language support and this is true [TS]

00:02:57   so I have a link to a video in the show [TS]

00:03:00   notes showing BB edits multi-language [TS]

00:03:03   support in the example in the book I [TS]

00:03:05   should have thought of since I've done [TS]

00:03:06   it myself is when you make an HTML [TS]

00:03:09   document and you pick like the language [TS]

00:03:10   and the document is HTML so that's a [TS]

00:03:12   global switch and BB edit for any [TS]

00:03:14   individual document say this is HTML but [TS]

00:03:16   within an HTML document BBEdit knows [TS]

00:03:19   like oh there might be JavaScript in our [TS]

00:03:22   the might be CSS in an HTML document so [TS]

00:03:24   the guys that bare-bones actually put [TS]

00:03:26   together a quick little videos like a [TS]

00:03:27   30-second video showing hey look at me [TS]

00:03:29   I'm editing an HTML document and when [TS]

00:03:31   I'm in this little style block you know [TS]

00:03:34   between the style tags I get completions [TS]

00:03:35   based on CSS and when I'm inside the [TS]

00:03:38   HTML think pollutions based on [TS]

00:03:39   JavaScript so it just goes to show that [TS]

00:03:42   VBA continues to have more features than [TS]

00:03:45   I remember that it has I mean I I you [TS]

00:03:48   know the thing I was trying to get is [TS]

00:03:50   that you still can't arbitrarily mix [TS]

00:03:52   them so you can't have a document that [TS]

00:03:53   mixes you know tickle with sequel with [TS]

00:03:56   objective-c [TS]

00:03:57   with Fortran I mean even though beabea [TS]

00:03:59   that supports all those languages but [TS]

00:04:00   for the ones that really count like HTML [TS]

00:04:03   BB it has hard coded support for these [TS]

00:04:05   different languages in these different [TS]

00:04:06   contexts you know I I just I just [TS]

00:04:09   switched over to BB edit after using [TS]

00:04:12   textmate for I don't know probably like [TS]

00:04:14   everyone else what five years or [TS]

00:04:15   something like that and I can just to [TS]

00:04:20   come to your defense a little bit as far [TS]

00:04:22   as [TS]

00:04:23   you know forgetting maybe some of the [TS]

00:04:27   features that BBEdit [TS]

00:04:27   is that I'm just so new to it now that [TS]

00:04:30   that I'm still discovering and I use [TS]

00:04:32   BBEdit [TS]

00:04:33   back in like I think the last time I had [TS]

00:04:35   used it was like 2003 or 2004 and coming [TS]

00:04:40   back to it it's just taken me a long [TS]

00:04:42   time to unpack all these features again [TS]

00:04:44   I mean BBEdit is it's it's so powerful [TS]

00:04:48   that that that I didn't I don't use a [TS]

00:04:51   good chunk of of what it does and so I [TS]

00:04:55   can see how some of those things might [TS]

00:04:56   be overlooked and also things for me you [TS]

00:04:58   know where the whole concept of bundles [TS]

00:05:00   in in textmate I'm still trying to [TS]

00:05:03   figure out how how I can make that work [TS]

00:05:05   in BBEdit the way I was using it before [TS]

00:05:07   so baby it actually has is the problem [TS]

00:05:10   for a long time bb-8 here since I'm [TS]

00:05:11   using BBEdit since the beginning the [TS]

00:05:13   features that I tend to miss are the [TS]

00:05:14   ones that they've added and if I don't [TS]

00:05:17   go and seek them out and like oh I don't [TS]

00:05:18   need that I'm happy with the way I work [TS]

00:05:19   and bb-8 I won't know that they're there [TS]

00:05:21   so completions were added and like I [TS]

00:05:23   don't know lead version 89 they've been [TS]

00:05:24   around for a while you guys had all [TS]

00:05:26   sorts of completion things and they've [TS]

00:05:27   been improving but since I don't use [TS]

00:05:29   them because they didn't exist in like [TS]

00:05:31   1995 when I built up all my habits you [TS]

00:05:34   know I used the HTML tools but I used [TS]

00:05:35   mostly like keyboard shortcuts for [TS]

00:05:37   making a new tag and entering the [TS]

00:05:39   attributes but not so much the [TS]

00:05:40   completion stuff but that exists and the [TS]

00:05:42   demo video that I linked to shows in [TS]

00:05:45   addition to multi language awareness [TS]

00:05:46   shows the completions in action stuff [TS]

00:05:48   and I bet there that stuff is not always [TS]

00:05:50   discoverable you know like if you don't [TS]

00:05:52   know the key sequences to trigger those [TS]

00:05:54   completions maybe you won't even know [TS]

00:05:56   that they're there and so I'm kind of [TS]

00:05:57   stuck in my rut of this is how I used [TS]

00:05:59   BBEdit in the the late nineties and if [TS]

00:06:02   there's some fancy new feature I don't [TS]

00:06:04   need that and then I just forget [TS]

00:06:05   completely forget that it exists but it [TS]

00:06:06   you know there's a lot of stuff in there [TS]

00:06:07   right and I think a lot of it seems like [TS]

00:06:09   there's been a lot of people that are [TS]

00:06:10   kind of switching I know since BBEdit n [TS]

00:06:12   came out and it was on the Mac App Store [TS]

00:06:14   I was like I'm going to grab it you know [TS]

00:06:15   it's it seems like a good time to try [TS]

00:06:17   now is that I'm trying to use BBEdit [TS]

00:06:19   like I use textmate and that's probably [TS]

00:06:21   not the right approach [TS]

00:06:23   well you can't approximate it like [TS]

00:06:26   actually in BPI 10 they added a new [TS]

00:06:27   feature I wish I could remember the name [TS]

00:06:29   of this was I should have had it on my [TS]

00:06:30   notes I think they call them packages or [TS]

00:06:31   something it's very similar to bundles [TS]

00:06:34   but they didn't use the word bundles [TS]

00:06:35   where it's a bunch of [TS]

00:06:37   ancient stuff that you can put in side [TS]

00:06:40   like self-contained and folder you could [TS]

00:06:42   like pass around to somebody's eye here [TS]

00:06:43   here's this cool BB edit package I made [TS]

00:06:46   that has like a bunch of text filters a [TS]

00:06:48   bunch of snippets a bunch of new menu [TS]

00:06:50   commands like you put a bunch of things [TS]

00:06:52   that extend BB edit together in a single [TS]

00:06:54   thing that you can share I think this is [TS]

00:06:55   the first step on you know trying to go [TS]

00:06:58   down that bundle type path where if you [TS]

00:06:59   if you make them reusable and you make [TS]

00:07:01   it so that individuals can package them [TS]

00:07:03   up then you start to have that social [TS]

00:07:04   effect that textmate have where people [TS]

00:07:05   sharing bundles with each other and [TS]

00:07:07   developing bundles and making [TS]

00:07:08   repositories of bundles and stuff like [TS]

00:07:10   that yeah and if they've done that with [TS]

00:07:12   the themes as well so it's yeah it's a [TS]

00:07:16   little bit easier now with you can see I [TS]

00:07:20   guess they call a scheme and so that [TS]

00:07:22   wasn't always the case right because I [TS]

00:07:23   think didn't John Gruber didn't you have [TS]

00:07:25   his BB colors or something like that [TS]

00:07:27   that he built that allowed you to easily [TS]

00:07:28   import different schemes and to be [TS]

00:07:30   beheaded [TS]

00:07:31   yeah like I'll D these features have [TS]

00:07:33   mostly always been there and BBEdit the [TS]

00:07:35   final level step is making the [TS]

00:07:37   infrastructure so that they're easier to [TS]

00:07:39   share so you don't give someone 20 page [TS]

00:07:41   instructions alright I'm going to give [TS]

00:07:42   you this file put in this directory if I [TS]

00:07:43   just pop it in that director or write a [TS]

00:07:45   little try to write an Apple script [TS]

00:07:46   install you know you just want it to be [TS]

00:07:48   self-contained like a folder full of [TS]

00:07:49   stuff that you just chuck in one [TS]

00:07:51   well-known location and I think they're [TS]

00:07:54   sort of laying the groundwork for you [TS]

00:07:55   can imagine several versions from now [TS]

00:07:57   once the infrastructure is there for all [TS]

00:07:59   these extension mechanisms to be [TS]

00:08:01   self-contained then you can actually [TS]

00:08:02   have the application automating it like [TS]

00:08:03   you drag one of these dot BB package I [TS]

00:08:06   don't remember the extension but dragged [TS]

00:08:07   one of these folders or zip files or [TS]

00:08:09   something onto the app and it would know [TS]

00:08:11   what it was and say hey it looks like [TS]

00:08:12   you're trying to install this thing you [TS]

00:08:13   want me to install it for you and you [TS]

00:08:14   never even have to know where the [TS]

00:08:16   application is putting it so I think [TS]

00:08:20   that it's smart for them to be laying [TS]

00:08:21   that groundwork now and it's getting [TS]

00:08:23   better with every version great what's [TS]

00:08:26   uh any more follow up from last episode [TS]

00:08:28   yeah so I also talked about launchers [TS]

00:08:30   Quicksilver or launch bar all that [TS]

00:08:32   business and I was talking about how I [TS]

00:08:34   never got into launch bar despite trying [TS]

00:08:37   it several times because it appeared in [TS]

00:08:39   the upper right hand corner and Dan said [TS]

00:08:40   well you you don't have to have it [TS]

00:08:41   appear in the upper right hand corner [TS]

00:08:42   you can put it in the middle so yeah but [TS]

00:08:43   I said yeah but the middle top right [TS]

00:08:45   like centered under the middle the menu [TS]

00:08:47   bar like you could slide it along the [TS]

00:08:48   menu bar and then we just moved on from [TS]

00:08:51   and then I quickly after the show that [TS]

00:08:52   email saying actually you can have [TS]

00:08:54   launched more dead center on the screen [TS]

00:08:56   not just centered under the menu bar and [TS]

00:08:58   I said huh maybe you know I haven't used [TS]

00:09:00   launch bar in a while maybe this is a [TS]

00:09:01   new feature of a new version I haven't [TS]

00:09:02   downloaded so I went to the website and [TS]

00:09:05   I downloaded the latest version of [TS]

00:09:06   launch bar and I threw it into my [TS]

00:09:08   Applications folder and it said would [TS]

00:09:10   you like to replace the existing version [TS]

00:09:11   I said yeah you must I've already had an [TS]

00:09:12   old version so I let it replace the [TS]

00:09:14   application and then I launch launch bar [TS]

00:09:16   using Quicksilver whatever launch launch [TS]

00:09:19   bar and what did I see when launch bar [TS]

00:09:21   launched the launch bar window dead [TS]

00:09:23   center on my screen so this means that I [TS]

00:09:25   had to previously downloaded whatever [TS]

00:09:28   version of launch bar enabled this [TS]

00:09:29   feature maybe was three or four who [TS]

00:09:31   knows how long ago it was put launch bar [TS]

00:09:32   in the middle of my screen and then [TS]

00:09:34   completely forgotten that it had the [TS]

00:09:35   ability to do this oh this is what [TS]

00:09:37   happens when you get old I guess so yes [TS]

00:09:39   launch bar can be exactly in the middle [TS]

00:09:40   of your screen and apparently I knew [TS]

00:09:42   this because my preferences had launch [TS]

00:09:44   bar exactly in the middle of my screen [TS]

00:09:45   but I still never went everywhere from [TS]

00:09:47   Quicksilver for the other reasons I [TS]

00:09:48   talked about I like the big icons are [TS]

00:09:50   like the way it looks I don't want to [TS]

00:09:51   read text so and so forth lots of Alfred [TS]

00:09:54   fans out there and as I said in the [TS]

00:09:55   previous show Alfred is as close as I've [TS]

00:09:58   come to leaving Quicksilver and sort of [TS]

00:09:59   the dark times of Quicksilver when it [TS]

00:10:01   didn't look like anyone was actively [TS]

00:10:02   maintaining it and it was getting flaky [TS]

00:10:03   I said I gotta find an alternative and [TS]

00:10:05   Alfred was the best alternative that I [TS]

00:10:06   found because I could make it the [TS]

00:10:08   closest to Quicksilver it had pretty big [TS]

00:10:11   icons you could put it where you wanted [TS]

00:10:12   it was you could trim it down to be very [TS]

00:10:14   simple I really just wanted it to be a [TS]

00:10:15   launcher really really close I would use [TS]

00:10:18   Alfred probably if I didn't have a [TS]

00:10:20   Quicksilver because the things that [TS]

00:10:22   launch bar does and all those other [TS]

00:10:23   thing and all the other things the [TS]

00:10:24   Quicksilver does I'm just not interested [TS]

00:10:25   in I just want it to be a launcher I [TS]

00:10:27   believe Alfred also has a million other [TS]

00:10:29   features but as long as I can ignore [TS]

00:10:30   them and pare them down and just make it [TS]

00:10:31   a launcher it's pretty nice one yeah I [TS]

00:10:36   switch to launch bar for the same reason [TS]

00:10:39   I switched I'm trying to switch to BB [TS]

00:10:41   edit which is I was trying to this is [TS]

00:10:42   back when just like you said when the [TS]

00:10:45   developer I think went to work for [TS]

00:10:46   Google for a Quicksilver I think that's [TS]

00:10:50   what what happened when he kind of just [TS]

00:10:52   stopped working on the project and I [TS]

00:10:53   wanted to work on I want to use [TS]

00:10:54   something that was being maintained and [TS]

00:10:56   this is before it was picked up by the [TS]

00:10:57   community but yeah but III do you know [TS]

00:11:01   the same thing I don't um I don't do a [TS]

00:11:04   whole lot [TS]

00:11:05   with launch bar in terms of scripting I [TS]

00:11:07   have a few that I do but I do a lot [TS]

00:11:09   where I'm opening files with it [TS]

00:11:10   especially if it's a file that I have [TS]

00:11:11   selected in the finder and it's probably [TS]

00:11:13   the same stuff you can do with [TS]

00:11:14   Quicksilver too but but I'm definitely a [TS]

00:11:17   minimalist user of launch bar so I [TS]

00:11:20   didn't actually know you could have it [TS]

00:11:21   in another screen I've always had it [TS]

00:11:22   come from the top middle I'm so on I'm [TS]

00:11:25   concerning with know how I got it in the [TS]

00:11:26   center I'm assuming you just drag it [TS]

00:11:28   there but oh okay that's it see that is [TS]

00:11:32   it Wow [TS]

00:11:33   all right there you go just just just a [TS]

00:11:35   command space so it's a so it shows that [TS]

00:11:37   I just dragged it and let's see if it'll [TS]

00:11:41   go away that's it you got it [TS]

00:11:43   very cool well thanks for that this [TS]

00:11:45   whole show has just been worth it now [TS]

00:11:47   and again this side so it's not like [TS]

00:11:50   someone else dragged it to the middle [TS]

00:11:51   the screen of my computer it's my [TS]

00:11:52   account of my computer I must have done [TS]

00:11:54   it but completely forgot about it [TS]

00:11:55   and speaking of like you mentioned [TS]

00:11:57   opening files from the finder that's one [TS]

00:11:59   utility that I haven't I haven't checked [TS]

00:12:01   whether it's been ported to line and I [TS]

00:12:02   really hope it can be ported line is a [TS]

00:12:04   default folder to use that I don't so [TS]

00:12:07   that's my go-to for like for example a [TS]

00:12:10   file that's selected in the finder [TS]

00:12:11   opening a file at selection in the [TS]

00:12:13   finder it's an extension to and opened [TS]

00:12:15   up the open dialog box it's been around [TS]

00:12:16   since the classic days under various [TS]

00:12:19   names think we just called the fault [TS]

00:12:20   folder now it's default folder capital X [TS]

00:12:22   or 10 or whatever you want to call it [TS]

00:12:23   and the main thing that it did back in [TS]

00:12:26   the classic days was it would remember [TS]

00:12:29   on a per application basis what folder [TS]

00:12:31   you were last looking at in this [TS]

00:12:33   application that was the feature that [TS]

00:12:34   might have been built into applications [TS]

00:12:36   but you know sometimes it wasn't and [TS]

00:12:38   it's just maddening like when you know [TS]

00:12:40   when I'm an image ready [TS]

00:12:41   dating myself for classic Mac OS web [TS]

00:12:43   development I manage ready I want to I [TS]

00:12:45   want to see this folder when I'm opening [TS]

00:12:46   I when I see this folder when I'm saving [TS]

00:12:48   but online I'm in my text edit I want to [TS]

00:12:50   see this folder when I'm opening but [TS]

00:12:51   this folder when I'm saving and that was [TS]

00:12:53   basically my default photo of the [TS]

00:12:56   application it has since expanded to be [TS]

00:12:59   a much more capable you know it's come [TS]

00:13:01   over to Mac OS tana obviously has got [TS]

00:13:02   tons and tons of features and one of my [TS]

00:13:04   favorite ones that I also used in the [TS]

00:13:06   classic days and the latter classic days [TS]

00:13:07   was when you have an open dialog box in [TS]

00:13:10   front of you you can hold the modifier [TS]

00:13:13   key and bring your mouse over we're open [TS]

00:13:16   windows in the finder would be if you [TS]

00:13:18   know there [TS]

00:13:19   read underneath all your windows because [TS]

00:13:20   you got a million apps open and then [TS]

00:13:21   windows and stuff like that but [TS]

00:13:22   underneath all of them in the bottom you [TS]

00:13:23   have a Finder window open and you know [TS]

00:13:25   that the document you want to open is [TS]

00:13:26   sitting right in that Finder window [TS]

00:13:28   that's open but that you can't see well [TS]

00:13:29   you can all down a modify our keystroke [TS]

00:13:31   put your mouse over that and it [TS]

00:13:33   highlights the outline of the Finder [TS]

00:13:35   window and shows you the name of it and [TS]

00:13:36   you can click on that ghostly outline of [TS]

00:13:38   the Finder window that's buried beneath [TS]

00:13:39   all your other windows and the open [TS]

00:13:41   dialog box switches to that window whew [TS]

00:13:44   and it has similar features where you [TS]

00:13:46   can the old one use that used to be able [TS]

00:13:48   to like modify click on an individual [TS]

00:13:49   file that you can see poking out on your [TS]

00:13:51   desktop or something and it would [TS]

00:13:52   automatically select that file and it's [TS]

00:13:55   you know you can pick you can pick from [TS]

00:13:56   recent folders that you've been in [TS]

00:13:57   favorite folders get tons and tons of [TS]

00:13:59   features keyboard shortcuts for all of [TS]

00:14:01   this the folder you were last and in [TS]

00:14:03   this application throughout you know I [TS]

00:14:04   think in history with it I use it all [TS]

00:14:07   the time and an open dialog box without [TS]

00:14:09   it is just barbaric to me so default [TS]

00:14:13   folder X yeah and so I defect on their [TS]

00:14:16   website and it's they say default folder [TS]

00:14:17   X 4.4.3 corrects problems for Lion users [TS]

00:14:21   well there you go so looks like they [TS]

00:14:23   have a rubies out from the 22nd of July [TS]

00:14:26   so if anybody's having problems I guess [TS]

00:14:29   that's a you can go get your your oh [TS]

00:14:32   it's a paid upgrade there you go oh no [TS]

00:14:35   its update the update is free but it's [TS]

00:14:37   part of I guess it's the they're just [TS]

00:14:39   saying that default 4x4 is a paid [TS]

00:14:42   upgrade so yeah I think I recently had [TS]

00:14:43   an upgrade I'm still running Snow [TS]

00:14:45   Leopard here and I it has an automatic [TS]

00:14:46   built in updater I think I recently did [TS]

00:14:48   update it but I guess they didn't look [TS]

00:14:49   at the changes and the reason I wondered [TS]

00:14:51   whether it would be compatible or not is [TS]

00:14:52   because for sandboxed applications in [TS]

00:14:55   Lion the open dialog box is presented by [TS]

00:14:57   the power box daemon and not by the [TS]

00:14:59   application itself and default folder is [TS]

00:15:01   sort of one of those hacks that latches [TS]

00:15:03   on to a system function and modifies it [TS]

00:15:05   I don't know exactly how hacky it is but [TS]

00:15:08   I'm sure it's something that Apple [TS]

00:15:10   wishes didn't exist and what I would say [TS]

00:15:12   to Apple is if you don't want it to [TS]

00:15:13   exist take all the good features turned [TS]

00:15:15   if I'm sorry default folder X developer [TS]

00:15:17   if you doesn't think I'm going to [TS]

00:15:19   destroy your business but it's like I [TS]

00:15:22   should put some of this in the show [TS]

00:15:23   notes I wrote something on my blog at R [TS]

00:15:26   as years ago called paths in the grass [TS]

00:15:29   or something like that [TS]

00:15:31   and I was adopting a story that I heard [TS]

00:15:34   at a Perl conference that predates that [TS]

00:15:37   as well and it was about Stanford [TS]

00:15:39   University I think they said when they [TS]

00:15:41   built the campus they didn't build any [TS]

00:15:43   sidewalks it into any paved sidewalks [TS]

00:15:44   instead they just probably grass [TS]

00:15:45   everywhere and then they just waited a [TS]

00:15:48   year to see where on the grass people [TS]

00:15:50   warpath's from walking between buildings [TS]

00:15:52   mm-hmm but like what the people pick the [TS]

00:15:54   most efficient comfortable walking path [TS]

00:15:55   in terms of the terrain and the hills [TS]

00:15:57   and and who goes from building X to [TS]

00:15:59   building Y and then after people had [TS]

00:16:01   worn the grass down they just built the [TS]

00:16:02   paths where people had worn the the the [TS]

00:16:04   grass down that's where they put the [TS]

00:16:05   cement rather than trying to guess where [TS]

00:16:07   people might go and putting pavement [TS]

00:16:09   there and having people not going to pay [TS]

00:16:11   its path because it's not where they [TS]

00:16:12   would want to walk and that story is [TS]

00:16:14   used to justify tons and tons of things [TS]

00:16:16   I used it to a discussion of taxis those [TS]

00:16:20   on sanity applications that would be [TS]

00:16:22   memory resonated inside every running [TS]

00:16:23   process and modify the processes that do [TS]

00:16:25   something need these types of hacks like [TS]

00:16:28   default folder 10 where in order for [TS]

00:16:31   them to provide the functionality that [TS]

00:16:33   they provide they have to latch on to [TS]

00:16:35   some system function sort of illegally [TS]

00:16:38   but you know in unexpected ways they [TS]

00:16:40   have to take an existing process like [TS]

00:16:41   the open dialog box and grab on to it [TS]

00:16:44   and then I'm going to modify you sort of [TS]

00:16:46   without your knowledge and consent [TS]

00:16:47   because that's the only way I can [TS]

00:16:48   provide my functionality Apple doesn't [TS]

00:16:50   like those because they compromise the [TS]

00:16:52   stability of the system where it's like [TS]

00:16:53   well you know we wrote our application [TS]

00:16:55   not expecting you to jump into our [TS]

00:16:56   memory image and display your own little [TS]

00:16:58   window here or do whatever you know or [TS]

00:17:00   call internal api's and stuff like that [TS]

00:17:01   so please don't write those things and [TS]

00:17:03   of course within the Mac App Store they [TS]

00:17:04   can enforce it and say this is not a lot [TS]

00:17:06   of the Mac App Store because it modifies [TS]

00:17:09   this is a system in ways that we don't [TS]

00:17:10   agree with or whatever but if users like [TS]

00:17:13   these functions they will buy these [TS]

00:17:15   products and you know that was my [TS]

00:17:17   example of a window shade or default [TS]

00:17:20   folder 10 or I think is being the paths [TS]

00:17:21   in the grass where people are walking in [TS]

00:17:25   that path going in that direction you [TS]

00:17:27   know because that functionality they [TS]

00:17:29   want and that's a signal for Apple not [TS]

00:17:31   to keep replanting grass over there and [TS]

00:17:33   say no no you can't walk there but to [TS]

00:17:34   say I guess how people obviously want to [TS]

00:17:36   do this they want this functionality why [TS]

00:17:38   don't we take this functionality and [TS]

00:17:39   build it into the operating system or at [TS]

00:17:42   least provide clean api's for third [TS]

00:17:44   party developers or do something [TS]

00:17:45   you know rather than trying to say you [TS]

00:17:47   can't modify running applications you [TS]

00:17:49   can't do these you know that make these [TS]

00:17:52   in-memory hacks or anything like that [TS]

00:17:53   you can't inject your code into our [TS]

00:17:55   applications don't just keep trying to [TS]

00:17:57   close that door look at why people keep [TS]

00:17:59   doing this because it's not as if you [TS]

00:18:01   know some phone writes an application [TS]

00:18:03   that injects itself into every running [TS]

00:18:04   application if that becomes very popular [TS]

00:18:07   it's not because people love injecting [TS]

00:18:09   code and other applications most people [TS]

00:18:11   have no idea how it works they just know [TS]

00:18:12   that it does work in fact they may [TS]

00:18:14   notice that the stability of their [TS]

00:18:15   system decreases because they run this [TS]

00:18:17   but they keep running it why do they [TS]

00:18:18   keep running it because they really [TS]

00:18:19   really want you know insert feature here [TS]

00:18:21   they really really want window shade [TS]

00:18:22   they really really want the features [TS]

00:18:24   that default folder ten provides they're [TS]

00:18:27   not doing it for kicks and they're not [TS]

00:18:28   doing it despite Apple they're doing it [TS]

00:18:30   because the functionality is useful so [TS]

00:18:32   and in all these cases with as a popular [TS]

00:18:35   if it's default holders like I said it's [TS]

00:18:36   been around for decades now it's not [TS]

00:18:38   like this is a fluke it's not like you [TS]

00:18:40   know some crazy new application it'll be [TS]

00:18:42   a fad it'll go away people have been [TS]

00:18:43   using this and paying for it for years [TS]

00:18:44   and years obviously they want this [TS]

00:18:47   functionality so Apple if Apple doesn't [TS]

00:18:49   think this functionality is appropriate [TS]

00:18:50   for the operating system at the very [TS]

00:18:51   least provide clean supported hooks for [TS]

00:18:54   applications like default folder 10 to [TS]

00:18:56   do what it does because I think now it's [TS]

00:18:58   too complicated we don't want the open [TS]

00:19:00   set a dialog box to have them any [TS]

00:19:01   giggles we think that mouse-over thing [TS]

00:19:03   we use like finder windows is just to [TS]

00:19:05   undiscoverable and and it doesn't make [TS]

00:19:07   sense for the target demographic than we [TS]

00:19:10   want at least provide hooks at least [TS]

00:19:12   provide an API is as if you want to [TS]

00:19:13   extend the open save dialog box we made [TS]

00:19:15   an officially supported extension [TS]

00:19:16   mechanism kind of like they did with [TS]

00:19:17   Safari extensions because there were [TS]

00:19:20   Safari extensions for years like saft [TS]

00:19:22   and what was that other one there's a [TS]

00:19:23   couple other popular ones that extended [TS]

00:19:25   Safari in quote unquote illegal ways by [TS]

00:19:27   jamming themselves into the memory image [TS]

00:19:29   and calling Safari API s and extending [TS]

00:19:31   stuff and Apple didn't like that and [TS]

00:19:33   they said no no we'll make a real [TS]

00:19:34   extension mechanisms officially [TS]

00:19:35   supported Safari extensions and here's [TS]

00:19:37   the limited set of things you can do but [TS]

00:19:39   it covers most of the bases you can have [TS]

00:19:40   your own little windows you can have [TS]

00:19:42   your own little preferences you can make [TS]

00:19:43   toolbar buttons you know most of the [TS]

00:19:45   things that extensions we're trying to [TS]

00:19:47   do we will now provide an official [TS]

00:19:49   mechanism for that was the right thing [TS]

00:19:51   to do and they should do that in all [TS]

00:19:52   other cases where there are these paths [TS]

00:19:54   born in the grass from people walking [TS]

00:19:55   over and over again to this particular [TS]

00:19:57   destination more [TS]

00:19:58   more apps sold in the App Store more [TS]

00:20:00   happy customers it seems like a logical [TS]

00:20:03   thing for them to do yeah it still comes [TS]

00:20:07   down to trade-offs because to build the [TS]

00:20:09   Safari extension mechanism they had to [TS]

00:20:10   say alright we're going to we have to [TS]

00:20:12   come up with an API documentation we [TS]

00:20:14   have to support it we have to make sure [TS]

00:20:16   our extensions can't crash the browser [TS]

00:20:17   like is which which they do some gems [TS]

00:20:20   yeah I know it there is an effort and [TS]

00:20:23   there is some comrades I think they felt [TS]

00:20:24   the pressure to do it with Safari [TS]

00:20:25   because chrome has extensions Firefox [TS]

00:20:27   has extensions you know and Firefox had [TS]

00:20:29   extensions for years and years like [TS]

00:20:30   there was grease monkey and all his [TS]

00:20:31   other add-ons so the Safari didn't feel [TS]

00:20:33   the pressure then but once Firefox had [TS]

00:20:36   it and chrome had it and Chrome's market [TS]

00:20:38   share started to pass safaris then it's [TS]

00:20:41   kind of like okay well as extensions to [TS]

00:20:42   Safari but window shade they held strong [TS]

00:20:45   on and I actually stopped using window [TS]

00:20:47   shade recently just to get the last taxi [TS]

00:20:49   off my system but I was sad about it I [TS]

00:20:50   really want to use window shade I like [TS]

00:20:52   window shade I just don't like the way [TS]

00:20:53   it has to be implemented and I blame [TS]

00:20:55   Apple for that not that not the [TS]

00:20:57   developers I I thank the developers on [TS]

00:20:58   sanity window shade I would have paid [TS]

00:21:00   for that every year they had a [TS]

00:21:02   subscription basis and I still know [TS]

00:21:04   people who want to use it I think Apple [TS]

00:21:06   should just either build that into the [TS]

00:21:08   system or make it a hidden preference or [TS]

00:21:10   build some sort of easy hook so that it [TS]

00:21:11   can be added because it's popular with a [TS]

00:21:14   certain subset of people and again if [TS]

00:21:16   they don't want to build it in because [TS]

00:21:17   if you build it in then you're you're [TS]

00:21:18   crushing a developer it's like oh you [TS]

00:21:19   said they should add default folder 10s [TS]

00:21:21   functionality to open save and they did [TS]

00:21:22   and now that developers out of business [TS]

00:21:23   so good job there well that happens all [TS]

00:21:25   the time [TS]

00:21:26   in the Mac world some feature that was a [TS]

00:21:29   popular buy application ends up being [TS]

00:21:30   folded into the OS that's just the way [TS]

00:21:34   life goes you know some some features [TS]

00:21:36   you could say well they really shouldn't [TS]

00:21:39   have built in a Photoshop competitor [TS]

00:21:40   into the OS because now I don't we can't [TS]

00:21:42   sell Photoshop and that was a bad move [TS]

00:21:44   so some things some things are arguably [TS]

00:21:47   not really appropriate as part of the OS [TS]

00:21:49   and it's just Apple competing with a [TS]

00:21:51   third-party boot but if you're extending [TS]

00:21:52   the open and save dialog box that's [TS]

00:21:54   clearly a core part of the OS and if [TS]

00:21:56   anyone's going to enhance the open and [TS]

00:21:57   save dollar box and Apple has enhanced [TS]

00:21:59   it in each version of Mac OS 10 but if [TS]

00:22:01   they're going to further enhance it I [TS]

00:22:03   would think that the makers of default [TS]

00:22:05   folder 10 would say you know it's not [TS]

00:22:08   like we didn't see this coming they're [TS]

00:22:09   always improving the open save dialog [TS]

00:22:11   box [TS]

00:22:12   we're kind of flattered that they stole [TS]

00:22:13   our features we're sad that we now can't [TS]

00:22:15   sell this product as much anymore they [TS]

00:22:17   would prefer to Apple it provided clean [TS]

00:22:19   hooks to extend it so it was like a [TS]

00:22:21   third party opportunity for everybody to [TS]

00:22:23   extend the open save dialog box but so [TS]

00:22:25   far Apple has done neither no API has [TS]

00:22:28   not integrated the features so I [TS]

00:22:30   continue to be a happy customer default [TS]

00:22:33   folder 10 but not as happy as I would be [TS]

00:22:35   if any of those other two scenarios we [TS]

00:22:39   should add a link add that to your list [TS]

00:22:41   put that in the in the the show links to [TS]

00:22:44   that [TS]

00:22:45   yep the 4x10 further there lion support [TS]

00:22:49   it's important for people that maybe [TS]

00:22:50   didn't realize that it it worked online [TS]

00:22:53   so I'm gonna check that out I actually [TS]

00:22:55   you haven't used a felt product in [TS]

00:22:56   before so it's one of those things that [TS]

00:22:58   people from classic know about kind of [TS]

00:23:00   like window shade because if you came to [TS]

00:23:01   Mac OS 10 and never use classic you [TS]

00:23:03   wouldn't know window shade ever existed [TS]

00:23:04   and you would never seek it out [TS]

00:23:05   same thing with if you didn't know a [TS]

00:23:07   default folder didn't know that name or [TS]

00:23:08   didn't know of the features you wouldn't [TS]

00:23:11   be seeking out something that does that [TS]

00:23:12   in Mac OS 10 if you had never used it [TS]

00:23:14   right so for all of us classic guys we [TS]

00:23:17   were looking for things that work like [TS]

00:23:19   or replace or are actually the exam [TS]

00:23:21   exact product as the things we used in [TS]

00:23:23   classic one example of that is the I [TS]

00:23:26   remember complaining a lot about the [TS]

00:23:27   Apple menu in Mac OS 10 that it wasn't [TS]

00:23:30   you know the old Apple menu was an older [TS]

00:23:32   where you could chuck stuff in and then [TS]

00:23:34   whatever you threw in that folder would [TS]

00:23:35   appear in the menu so you could make [TS]

00:23:36   little sub folders full of applications [TS]

00:23:38   and and stuff like that and you can [TS]

00:23:39   arrange it together or a custom menu in [TS]

00:23:41   the upper left hand corner to find [TS]

00:23:43   frequently accessed items and when Mac [TS]

00:23:46   OS 10 came out Apple said no you can't [TS]

00:23:48   customize the Apple menu anymore the [TS]

00:23:49   contents of the Apple menu is you know [TS]

00:23:51   it's about this Mac and like three or [TS]

00:23:53   four other little things and then quit [TS]

00:23:55   shutdown sleep logout and that's it you [TS]

00:23:57   can't you can't add stuff to it and a [TS]

00:23:59   classic Mac OS people like me were [TS]

00:24:01   saying well that was where I went to [TS]

00:24:02   launch all my applications and open all [TS]

00:24:05   my recently used folders and stuff [TS]

00:24:07   what's the equivalent of that so I'll [TS]

00:24:09   just throw it in the dock the dock is so [TS]

00:24:10   much worse the dock takes up this huge [TS]

00:24:12   amount of space you can't add too many [TS]

00:24:13   things to it there was no like [TS]

00:24:15   subfolders initially where you couldn't [TS]

00:24:16   you know navigate down five levels into [TS]

00:24:18   the hierarchy [TS]

00:24:19   why not just use the Apple engine for [TS]

00:24:21   that and Apple said no no we're not [TS]

00:24:22   doing that what Apple should have done [TS]

00:24:24   and what the class [TS]

00:24:25   like macros people like me eventually [TS]

00:24:27   did was introduced something better fine [TS]

00:24:30   you don't like the Apple menu you don't [TS]

00:24:31   think like people throwing stuff in [TS]

00:24:32   there you want to use the Apple menu for [TS]

00:24:33   something else you don't want it all [TS]

00:24:34   clutter it up fine give us a better [TS]

00:24:36   alternative and Apple said well our [TS]

00:24:37   better alternative is the back and you [TS]

00:24:40   know power user support unquote but like [TS]

00:24:43   me we're saying that's not as good it's [TS]

00:24:45   not as good for reasons XY and Z I want [TS]

00:24:47   something better and when something [TS]

00:24:49   better came along it wasn't from Apple [TS]

00:24:50   it was basically for me Quicksilver I [TS]

00:24:52   can launch with Quicksilver much faster [TS]

00:24:54   than I ever did could with the classic [TS]

00:24:56   you know Apple menu that's what I was [TS]

00:24:59   looking for I was looking for Apple to [TS]

00:25:00   say you know command space the first few [TS]

00:25:02   letters your application is going to [TS]

00:25:03   make you way happier than the [TS]

00:25:05   customizable Apple in you ever did and [TS]

00:25:06   that is totally true and so I don't give [TS]

00:25:09   a thought to the Apple menu anymore I [TS]

00:25:10   have no bitterness about the Apple man [TS]

00:25:12   you're not working like it did before [TS]

00:25:13   because Quicksilver is so much better it [TS]

00:25:15   does you know even though the [TS]

00:25:17   functionality seems to be not equivalent [TS]

00:25:18   it's not a menu full of items you can [TS]

00:25:20   customize it's not exactly the same [TS]

00:25:21   mechanism the things I use it for [TS]

00:25:24   quickly finding and launching [TS]

00:25:25   applications are the same and that's [TS]

00:25:29   what I was looking for for Apple way [TS]

00:25:30   back when when I was complaining about [TS]

00:25:31   the Apple menu was either keep what [TS]

00:25:34   we've got or give us something just as [TS]

00:25:36   good or give us something that's better [TS]

00:25:37   even if a thing that's better isn't [TS]

00:25:38   totally different like Quicksilver [TS]

00:25:39   whoever even thought of that you know [TS]

00:25:41   command space and then this weird window [TS]

00:25:43   comes up or you can type stuff it's [TS]

00:25:44   nonsensical but in practice it in [TS]

00:25:46   practice it's great so that's another [TS]

00:25:48   example of the varying scenarios of [TS]

00:25:50   taking away things that people are used [TS]

00:25:52   to without providing a replacement it's [TS]

00:25:55   better if you you can provide a [TS]

00:25:56   replacement that's that's even better [TS]

00:25:58   even if it's totally different let's [TS]

00:26:01   take a break and talk about one of our [TS]

00:26:03   sponsors for this episode this episode [TS]

00:26:05   is brought to you by Shopify comm it is [TS]

00:26:09   the internet's internet's most elegant [TS]

00:26:11   customizable and affordable hosted [TS]

00:26:14   ecommerce platform with Shopify you can [TS]

00:26:17   take advantage of their thriving theme [TS]

00:26:19   and application community and you can [TS]

00:26:22   add beauty and depth to your site you [TS]

00:26:25   know with Shopify and you may not have [TS]

00:26:27   you might not know this is that you can [TS]

00:26:28   actually customize your storefront with [TS]

00:26:31   your own HTML CSS and even if you want [TS]

00:26:34   you can use your own JavaScript so for [TS]

00:26:37   5x5 listeners for a limited time [TS]

00:26:39   you can join Shopify and enjoy your [TS]

00:26:42   first three months for free and to do [TS]

00:26:45   that when you go join make sure you use [TS]

00:26:47   the discount code 5x5 that's the number [TS]

00:26:50   5b y and then the number five so be sure [TS]

00:26:53   to check out out Shopify at Shopify comm [TS]

00:26:56   which is a shop in minutes and a [TS]

00:26:58   business for life alright that's so I [TS]

00:27:01   have the show and follow up I think [TS]

00:27:02   that's all the follow up I have all [TS]

00:27:04   right what's new since since the last [TS]

00:27:07   show what do you got no this we're still [TS]

00:27:11   believe it or not wending our way [TS]

00:27:13   through things covered in my lion [TS]

00:27:15   article I think maybe this will be the [TS]

00:27:17   last one so this is the the epic article [TS]

00:27:21   that you do for every major release at [TS]

00:27:25   at ARS technica that's right and we [TS]

00:27:29   talked about lots of stuff from that [TS]

00:27:31   article so far taking a section each [TS]

00:27:34   show or whatever and there's one section [TS]

00:27:36   this is something people wanted me to [TS]

00:27:38   talk about before my line review came [TS]

00:27:39   out I sort of had a moratorium of [TS]

00:27:41   talking about lion features on the [TS]

00:27:43   podcast for house I'll sit you know save [TS]

00:27:45   it for the review visit if I talked [TS]

00:27:47   about it I would feel like I was just [TS]

00:27:49   reading from my review in progress so I [TS]

00:27:50   just wanted to have a radio silence to [TS]

00:27:52   the review come out then we have the big [TS]

00:27:53   review and we can talk about it so [TS]

00:27:54   people were constantly asking me after [TS]

00:27:56   WWC you got to talk about this thing [TS]

00:27:58   called arc when is John gonna talk about [TS]

00:27:59   arc on the show and I said no no wait [TS]

00:28:01   for the review to come out and the [TS]

00:28:02   review came out and then we talked about [TS]

00:28:03   the review and like four or five shows [TS]

00:28:05   and still never got the arc so today I [TS]

00:28:06   think is the day we will finally talk [TS]

00:28:09   about arc and like all the other things [TS]

00:28:12   that I've talked about in line you [TS]

00:28:15   should just go to the e section of my [TS]

00:28:17   line review and there you will find a [TS]

00:28:21   pretty big dump of what I have to say [TS]

00:28:23   about arc so I'm not going to repeat [TS]

00:28:25   that entire section it's linked in the [TS]

00:28:27   show notes you should read it you should [TS]

00:28:29   pause now and read it if you haven't [TS]

00:28:31   read it because I will assume you have [TS]

00:28:32   already read it understand it but I'm [TS]

00:28:33   just going to sort of hear some of the [TS]

00:28:35   sites this is page 11 for those falling [TS]

00:28:37   at home on the website I think it's 10 I [TS]

00:28:40   was saying go to page 10 because 10 [TS]

00:28:43   gives context 11 talks about the [TS]

00:28:45   specific estar oh you're right you're [TS]

00:28:47   right you're right yep you are correct [TS]

00:28:48   page 10 alright so brief recap the [TS]

00:28:52   reason people were [TS]

00:28:53   talking people kept asking me to talk [TS]

00:28:55   about work because I had a previous show [TS]

00:28:57   which was episode 14 or something let me [TS]

00:29:00   look at the the notes here [TS]

00:29:02   oh yes episode 14 was entitled a Dark [TS]

00:29:06   Age of objective-c I think on this shows [TS]

00:29:08   book ending 14 on 13 and 15 I also [TS]

00:29:11   talked about similar issues but what I [TS]

00:29:13   was discussing was a series of articles [TS]

00:29:15   I wrote years ago called Copeland 2010 [TS]

00:29:18   which was about how Apple's use of [TS]

00:29:21   objective-c and cocoa api's which are [TS]

00:29:24   which is a language and an API created [TS]

00:29:26   for next computer back in the 90s I [TS]

00:29:30   guess it 1989 was objective-c and then [TS]

00:29:32   in the early 90s next and everything how [TS]

00:29:34   that could end up being a problem for [TS]

00:29:37   Apple going forward because all of its [TS]

00:29:39   competitors on the desktop and mobile [TS]

00:29:41   platforms have languages and api's that [TS]

00:29:44   are higher level that they don't they [TS]

00:29:46   don't make the developers deal directly [TS]

00:29:49   with the memory that their memory safe [TS]

00:29:51   that they don't require manual [TS]

00:29:53   allocation of the allocation of memory [TS]

00:29:55   that they have higher level concepts [TS]

00:29:56   they're not a superset of C and in the [TS]

00:29:59   series of articles and in my various [TS]

00:30:01   follows up follow-ups that series of [TS]

00:30:02   articles most of which are linked from [TS]

00:30:05   the arc section of my line review I [TS]

00:30:07   talked about both sides of it on the one [TS]

00:30:09   hand Apple using objective-c is an [TS]

00:30:13   advantage for them particularly in [TS]

00:30:14   mobile because it's lower level because [TS]

00:30:16   you can get more efficiency out of it [TS]

00:30:17   you can mix easily with existing C code [TS]

00:30:20   and C libraries the cocoa API it being [TS]

00:30:24   so old is an advantage because mature [TS]

00:30:26   and time-tested and refined and polished [TS]

00:30:28   and has you know it's not something [TS]

00:30:30   brand new debt is untested in real world [TS]

00:30:33   applications people have been building [TS]

00:30:34   applications with these next-step api's [TS]

00:30:37   for years and years before Apple even [TS]

00:30:39   came along and now it's even better [TS]

00:30:40   these are all advantages of objective-c [TS]

00:30:42   and cocoa the disadvantages I was saying [TS]

00:30:44   is that programming languages just get [TS]

00:30:46   higher level over time back in the dawn [TS]

00:30:50   of the Mac huge sections of the [TS]

00:30:53   operating system and many of the [TS]

00:30:54   applications were written in assembly [TS]

00:30:55   which is unheard of today you would [TS]

00:30:57   never write a GUI application and [TS]

00:30:59   assembly or anything having to do with [TS]

00:31:00   the GUI application and assembly except [TS]

00:31:01   maybe some little tight loop somewhere [TS]

00:31:03   for some numeric computation but even [TS]

00:31:05   then it's not that common these days [TS]

00:31:07   and C and C++ have been dominant for [TS]

00:31:10   years and years but in in say after in [TS]

00:31:14   the 2000s whatever you want to call this [TS]

00:31:16   millennium decade most other development [TS]

00:31:19   platforms have started to switch away [TS]

00:31:22   from C C++ to other languages that are [TS]

00:31:25   higher level so Java obviously came and [TS]

00:31:27   just covered the earth with a memory [TS]

00:31:31   safe language where there are no more [TS]

00:31:32   pointers and there's no more dealing [TS]

00:31:34   with memory manually this garbage [TS]

00:31:36   collection it looks a lot cut a lot like [TS]

00:31:38   C++ and it still got the same kind of [TS]

00:31:40   bondage and discipline over static [TS]

00:31:41   typing and stuff like that [TS]

00:31:43   but you don't have to deal with memory [TS]

00:31:44   and it's unquestionably a higher-level [TS]

00:31:45   language than C or C++ and then [TS]

00:31:50   Microsoft of course says c-sharp in its [TS]

00:31:51   common language runtime and its various [TS]

00:31:53   things built on top of that again memory [TS]

00:31:55   safety similar to C++ very similar to [TS]

00:31:59   Java but higher-level language [TS]

00:32:01   constructs like linked to sequel and [TS]

00:32:02   stuff like that things that are not [TS]

00:32:05   really easier or even possible in many [TS]

00:32:07   cases with a low-level language like C [TS]

00:32:09   and my argument way back when it because [TS]

00:32:12   it's 2005 or so is that Apple needs a [TS]

00:32:15   plan here because you don't just come up [TS]

00:32:16   with a new language and API overnight [TS]

00:32:18   you can't say well you know objective-c [TS]

00:32:19   and these next API guys were great but [TS]

00:32:21   next year we're gonna have a new one you [TS]

00:32:22   you can't just you know you have to [TS]

00:32:24   takes years and years and years to [TS]

00:32:26   transition and you have to make sure you [TS]

00:32:28   what you're transitioning to is good and [TS]

00:32:29   say what are they going to transition to [TS]

00:32:30   it they can they don't want to use a [TS]

00:32:31   competitor's language they don't use [TS]

00:32:33   Java for example because back then you [TS]

00:32:35   know that was Suns thing and you can [TS]

00:32:37   look at Google using its don't call it [TS]

00:32:39   Java Java thing on the dalvik VM their [TS]

00:32:42   current legal woes with Oracle and all [TS]

00:32:44   that business [TS]

00:32:44   I don't think Apple wants any part of [TS]

00:32:46   that the common language runtime there's [TS]

00:32:48   this mono and net with an open source [TS]

00:32:50   inhalation of net is this mono runtime [TS]

00:32:53   and the c-sharp language is standardized [TS]

00:32:55   but Microsoft mostly controls it does [TS]

00:32:57   does Apple want to adopt Microsoft's [TS]

00:33:00   language and API stack probably not I [TS]

00:33:02   mean they like being masters to the own [TS]

00:33:04   destiny so I said Apple if you're going [TS]

00:33:05   to yeah there's going to come a day when [TS]

00:33:07   the fact that people have to deal with [TS]

00:33:09   pointers in manual memory allocation is [TS]

00:33:11   going to be a problem for you and 2005 [TS]

00:33:14   people left so that's ridiculous it's [TS]

00:33:15   perfectly fine the next developer said [TS]

00:33:16   we've been doing this for years you [TS]

00:33:17   don't know what you're talking about our [TS]

00:33:18   API is are all better than theirs [TS]

00:33:19   doesn't matter that [TS]

00:33:20   is higher-level the API suck next up [TS]

00:33:22   api's are awesome most of that is [TS]

00:33:24   actually true but you know you can't you [TS]

00:33:28   can't hold back the tide at a certain [TS]

00:33:29   point it's just going to become [TS]

00:33:30   ridiculous to be dealing in a language [TS]

00:33:33   where you can accidentally scribble all [TS]

00:33:34   over your own memory or you can [TS]

00:33:36   accidentally access something off the [TS]

00:33:38   ends of an array and crash your entire [TS]

00:33:40   application you know or where you have [TS]

00:33:42   to manually or allocate memory or retain [TS]

00:33:45   and release and stuff like that it'll [TS]

00:33:47   just end up looking silly no I said in [TS]

00:33:49   later follow-ups that the mobile the [TS]

00:33:51   dawn of the mobile age has given Apple [TS]

00:33:54   and extension or stay of execution [TS]

00:33:55   because on mobile you have less memory [TS]

00:33:58   less CPU everything else is just tighter [TS]

00:34:00   and it's kind of like going back in time [TS]

00:34:02   platform wise say ah season aren't you [TS]

00:34:04   glad that we have this awesome sea based [TS]

00:34:06   language and API and we can be fast and [TS]

00:34:08   memory efficient than our batteries last [TS]

00:34:09   a long time and our competitors have [TS]

00:34:11   these VMs they're you eyes aren't smooth [TS]

00:34:13   because they're garbage collector is [TS]

00:34:14   running and making everything stutter [TS]

00:34:15   that has made it more feasible for Apple [TS]

00:34:20   to stick with this but it all does is [TS]

00:34:22   delay things so again I started asking [TS]

00:34:24   now here we are in 2011 so what what's [TS]

00:34:26   Apple going to do about this it seems [TS]

00:34:28   like they have a problem here against [TS]

00:34:30   their competitors and their competitors [TS]

00:34:31   for the most part I've already paid the [TS]

00:34:33   very painful price to convert from what [TS]

00:34:36   they had before to this new thing it's [TS]

00:34:37   always like a long horrible painful [TS]

00:34:39   process too fast Microsoft about it [TS]

00:34:41   Google had the advantage of starting [TS]

00:34:42   from scratch with a memory manage [TS]

00:34:44   language they didn't have to deal with [TS]

00:34:45   that same thing with like webOS or [TS]

00:34:47   whatever with using HTML and JavaScript [TS]

00:34:50   and poms platform despite pom apparently [TS]

00:34:52   not doing well selling devices its OS [TS]

00:34:55   has gotten nice reviews and its API is [TS]

00:34:58   not low level like apples in all cases [TS]

00:35:00   they think they have some native API for [TS]

00:35:02   making games but they're there GUI API [TS]

00:35:04   is much higher low so @ww C 2011 Apple [TS]

00:35:09   made an announcement that they had [TS]

00:35:11   something called Ark which stands for [TS]

00:35:12   automatic reference counting now in the [TS]

00:35:15   thing that I linked to in my lion review [TS]

00:35:16   I talked all about what is reference [TS]

00:35:20   counting first not automatic growing [TS]

00:35:21   scan but just plain old what is [TS]

00:35:22   reference counting it's a way that it's [TS]

00:35:24   a convention for managing memory for [TS]

00:35:26   objects in the next step slash cocoa [TS]

00:35:28   api's and it's very it's existed for a [TS]

00:35:30   very long time to be a cocoa developer [TS]

00:35:33   you used to have to know and [TS]

00:35:34   understand this stuff it it has to do [TS]

00:35:36   with retaining a reference to an object [TS]

00:35:39   that you're going to use and then [TS]

00:35:40   releasing it when you're done and when [TS]

00:35:41   nobody else is retaining one then the [TS]

00:35:43   object gets the allocated automatic [TS]

00:35:45   reference counting this thing that they [TS]

00:35:47   introduced is basically the same as [TS]

00:35:51   reference counting except that you don't [TS]

00:35:53   have to write the parts where it says [TS]

00:35:55   retain this release that auto release [TS]

00:35:57   that the compiler will write it for you [TS]

00:36:00   so you take your existing program it's [TS]

00:36:02   just the one you wrote according to the [TS]

00:36:03   Coco rules with retain release so on and [TS]

00:36:05   so forth and release and remove all the [TS]

00:36:07   calls to retain release and auto release [TS]

00:36:09   just erase them all and then compile [TS]

00:36:11   your program and the compiler will [TS]

00:36:13   figure out where it needs to retain [TS]

00:36:14   where it needs to release and all that [TS]

00:36:17   stuff so the name is very apt automatic [TS]

00:36:19   reference counting its reference [TS]

00:36:20   counting memory it's not a garbage [TS]

00:36:21   collector it's not anything like Java it [TS]

00:36:23   doesn't introduce memory safety it [TS]

00:36:25   doesn't remove pointers doesn't know [TS]

00:36:27   anything like that all does is say we [TS]

00:36:28   don't want you guys to have to write [TS]

00:36:30   this memory management code anymore [TS]

00:36:32   we'll write it for you and it will be [TS]

00:36:34   more efficient you'll have to write [TS]

00:36:36   fewer lines of code and it will be more [TS]

00:36:39   error-free so that's what arc is and a [TS]

00:36:46   lot of people are asking me well doesn't [TS]

00:36:48   it solve the problem you were talking [TS]

00:36:49   about with this Copeland 2010 business [TS]

00:36:51   or isn't this their Apple solution to [TS]

00:36:54   this problem of having a low-level [TS]

00:36:55   language and my answer mostly is arc is [TS]

00:36:59   good but and it helps but it doesn't [TS]

00:37:02   really address the the problem that I [TS]

00:37:04   was talking about the thing is [TS]

00:37:07   interesting about arc is that what it [TS]

00:37:08   does do is reveal that Apple agrees at [TS]

00:37:11   least to some degree that there is some [TS]

00:37:12   sort of problem here that they're behind [TS]

00:37:13   in some regard if they thought [TS]

00:37:16   everything was fine like our language [TS]

00:37:18   and API is the best there's no problem [TS]

00:37:19   with that we are ahead of our [TS]

00:37:20   competitors in all areas they wouldn't [TS]

00:37:22   be undertaking an effort like this what [TS]

00:37:24   what this effort shows is that they [TS]

00:37:27   agree that there are things about other [TS]

00:37:29   platforms mobile and desktop then make [TS]

00:37:33   them more attractive than Apple's [TS]

00:37:34   platforms and they pick this makes me [TS]

00:37:36   think that they believe the number one [TS]

00:37:38   problem that new developers coming over [TS]

00:37:40   from another platform or something will [TS]

00:37:41   say is like are I'm going to try to [TS]

00:37:42   learn how to develop Rio Esther for the [TS]

00:37:44   Mac or something and they start learning [TS]

00:37:45   about cocoa and they say I have to do [TS]

00:37:47   hey release yeah as someone we talked [TS]

00:37:51   about this over email and as someone who [TS]

00:37:53   is you know just familiar with with with [TS]

00:37:58   cocoa development in an iOS development [TS]

00:38:01   where I've just kind of gone in and and [TS]

00:38:03   just started becoming familiar with it I [TS]

00:38:05   describe myself to you as a newbie to it [TS]

00:38:07   so that I'm not um you know I know what [TS]

00:38:10   I know what you're talking about but I [TS]

00:38:11   know exactly what you mean to where I [TS]

00:38:13   was I was following along you know [TS]

00:38:15   Stanford does all those those iTunes U [TS]

00:38:19   videos and I think they have a couple [TS]

00:38:21   that are on iOS development and there is [TS]

00:38:23   that whole section it's very early on [TS]

00:38:25   where they teach you how to how to [TS]

00:38:26   allocate and deallocate memory and it [TS]

00:38:29   can definitely be for someone that's [TS]

00:38:30   coming me from developing for the web [TS]

00:38:32   it's very much a huge shift yeah and [TS]

00:38:35   it's so fundamental or used to be so [TS]

00:38:36   fundamental to object to see that they [TS]

00:38:38   would teach it to you in like lesson two [TS]

00:38:39   and you'd be like boy I want to know how [TS]

00:38:41   to write an app why you telling me about [TS]

00:38:42   like memory like and especially even for [TS]

00:38:44   older developers who have been in the [TS]

00:38:46   business long time they're like I gave [TS]

00:38:48   that stuff up you know years ago I was [TS]

00:38:49   so happy they moved to Java or C sharp [TS]

00:38:52   or whatever I didn't have to deal with [TS]

00:38:54   that crap and Here I am using the quote [TS]

00:38:56   unquote world's most advanced operating [TS]

00:38:57   system which was the slogan for Mac OS [TS]

00:38:58   10 not iOS but either way I'm using this [TS]

00:39:01   wizzy new thing on my cool iPhone or my [TS]

00:39:03   Mac and I have to manually manage memory [TS]

00:39:06   not it's not that it's that hard and you [TS]

00:39:08   and their advantages of retaining [TS]

00:39:10   released memory management over garbage [TS]

00:39:12   collection in some particular scenarios [TS]

00:39:14   which Apple loves to emphasize in terms [TS]

00:39:16   of not having to stall for garbage [TS]

00:39:17   collector to run and stuff like that but [TS]

00:39:19   from a developer's perspective [TS]

00:39:21   especially developer coming from another [TS]

00:39:23   platform it seems barbaric people don't [TS]

00:39:25   like going backwards you know and web [TS]

00:39:26   development again JavaScript you learn [TS]

00:39:27   to deal with this stuff table scripting [TS]

00:39:29   what types really so this is a weakness [TS]

00:39:33   that that Apple is basically admitting [TS]

00:39:37   exists in their platform because why [TS]

00:39:39   else would you it you know introduce [TS]

00:39:41   this initiative to make it so that [TS]

00:39:43   people don't have to write retain your [TS]

00:39:46   release code and and not only just [TS]

00:39:48   making this like an option please go [TS]

00:39:49   ahead garbage collection for Objective C [TS]

00:39:50   for a while to and I go into in the line [TS]

00:39:53   review all the reasons why garbage [TS]

00:39:55   collection was not a good fit for [TS]

00:39:56   Objective C but it existed but it was [TS]

00:39:58   never really promoted that heavily Apple [TS]

00:40:01   didn't make all fits apps garbage [TS]

00:40:02   collected it wasn't the officially [TS]

00:40:04   recommended practice for new application [TS]

00:40:06   so on and so forth [TS]

00:40:07   and with ARC it's different with arc [TS]

00:40:09   when you make if you get Lyon and [TS]

00:40:11   install the developer tools and say I [TS]

00:40:13   want to make a new iOS application or [TS]

00:40:14   new cocoa application it makes it [TS]

00:40:16   enables arc like it's the default this [TS]

00:40:19   is the way they want people to write [TS]

00:40:20   their applications they are committed to [TS]

00:40:22   it they're going to make it work and [TS]

00:40:23   they want to remove this whole retaining [TS]

00:40:26   released business from their platform so [TS]

00:40:28   it's easier for developers to adopt says [TS]

00:40:31   less work you know and they want [TS]

00:40:32   everyone to use it not just newbies but [TS]

00:40:33   even old guys who know exactly how to do [TS]

00:40:36   retaining release in their sleep you [TS]

00:40:38   know everyone makes mistakes even the [TS]

00:40:40   the old hands at this every once in a [TS]

00:40:42   while it's like they have to run the [TS]

00:40:43   leak detection thing so I forgot I'm [TS]

00:40:45   over releasing here or I forgot to [TS]

00:40:47   release this or I have a you know a [TS]

00:40:49   cycle here now that arc doesn't break [TS]

00:40:51   cycles either reference cycles where a [TS]

00:40:52   references B&B references a nothing else [TS]

00:40:54   in the program references them and a and [TS]

00:40:56   B never go away arc doesn't solve that [TS]

00:40:57   either you have to it gives you some [TS]

00:41:00   tools to solve but we can use weak [TS]

00:41:01   references so that you make a we [TS]

00:41:02   reference B and then B back to a with a [TS]

00:41:04   weak reference so that the weak [TS]

00:41:06   reference doesn't count towards the [TS]

00:41:07   reference count so that those two things [TS]

00:41:08   will eventually be the allocated so it [TS]

00:41:10   gives you tools to do that but you still [TS]

00:41:11   have to manually create that weak [TS]

00:41:13   reference remember that a already points [TS]

00:41:14   to B so when you point B back they don't [TS]

00:41:16   just make a regular reference make it a [TS]

00:41:17   weak reference it's it's better than [TS]

00:41:21   nothing but it's still not like garbage [TS]

00:41:22   collection which can find break cycles [TS]

00:41:23   and clean up memory that it notice is [TS]

00:41:25   not reachable from the rest of the [TS]

00:41:26   program now and again the I swear my [TS]

00:41:29   copeland 2010 thing it doesn't make [TS]

00:41:31   objective-c memory safe it doesn't [TS]

00:41:33   remove pointers it doesn't do any of [TS]

00:41:35   those things which mostly what I was [TS]

00:41:37   talking about it wasn't so much that I [TS]

00:41:38   was sending Objective C it's a pain [TS]

00:41:39   because you have to manually manage [TS]

00:41:40   memory I was saying Objective C is lower [TS]

00:41:42   level and all the things that go with [TS]

00:41:44   that the advantages and the [TS]

00:41:45   disadvantages eventually the [TS]

00:41:47   disadvantages will start dwarfing the [TS]

00:41:48   advantages I guess we're still not at [TS]

00:41:51   that point because Apple's mobile [TS]

00:41:53   platform and particulate e still is [TS]

00:41:54   doing extremely well in terms of both [TS]

00:41:57   perceived in actual performance battery [TS]

00:42:00   life and a lot of that is attributable [TS]

00:42:02   to its use of low-level language so I [TS]

00:42:05   don't know when this day reckoning will [TS]

00:42:06   come and I don't know what Apple's plans [TS]

00:42:08   are the very end of the line arc my of [TS]

00:42:11   my line read where I talk about arc I [TS]

00:42:12   said well but you know let's let's [TS]

00:42:14   crystal ball this [TS]

00:42:14   so what does this say about Apple's [TS]

00:42:16   future what are they planning on doing [TS]

00:42:17   and my tea leaf reading is that all [TS]

00:42:21   right so this this says that Apple [TS]

00:42:22   realizes this some sort of problem so [TS]

00:42:24   I'm going to extrapolate from that and [TS]

00:42:25   say that they realize that they can't [TS]

00:42:27   stick with objective-c [TS]

00:42:27   forever like this is not not just that [TS]

00:42:31   Objective C has one or two disadvantages [TS]

00:42:32   but that they realize the full extent to [TS]

00:42:35   which Objective C is behind other [TS]

00:42:37   languages you know they realize the [TS]

00:42:39   advantages as well which is why they [TS]

00:42:40   didn't go with garbage collection or you [TS]

00:42:41   know they said that we want to retain [TS]

00:42:43   our advantages for as long as possible [TS]

00:42:45   but we want to minimize your [TS]

00:42:46   disadvantage but eventually we're going [TS]

00:42:47   to have to make that leap so that's my [TS]

00:42:48   first tea leaf reading is that Apple [TS]

00:42:50   realizes there there is a better way and [TS]

00:42:53   they want to get to that better way [TS]

00:42:55   somehow the second thing I'm reading the [TS]

00:42:57   tea leaves here is that the Apple is not [TS]

00:42:59   a believer in virtual machines and [TS]

00:43:03   garbage collection for the sake of [TS]

00:43:04   saying we have a virtual machine garbage [TS]

00:43:06   collection so you know dalvik on the [TS]

00:43:09   Android platform has a virtual machine [TS]

00:43:11   has garbage collection c-sharp the [TS]

00:43:12   common language runtime dotnet this [TS]

00:43:14   garbage collection in a virtual machine [TS]

00:43:16   Apple has is not creating a virtual [TS]

00:43:19   machine as far as I could tell and you [TS]

00:43:21   know and they don't seem to be big fans [TS]

00:43:23   of garbage collection as in runtime [TS]

00:43:25   garbage collection but there's some [TS]

00:43:26   other process while your program is [TS]

00:43:27   running that finds that memory that's [TS]

00:43:28   not for referenced anymore and gathers [TS]

00:43:30   it up into the allocates it and so I [TS]

00:43:33   extrapolate from all that and say the [TS]

00:43:36   next thing Apple will probably do or own [TS]

00:43:38   the next thing but where Apple is [TS]

00:43:40   probably going is a memory safe compiled [TS]

00:43:44   language that deals with it that is kind [TS]

00:43:50   of like the parts of objective-c that [TS]

00:43:52   cocoa programmers use so in Objective C [TS]

00:43:55   program you could do anything you can do [TS]

00:43:56   in a C program you could you know start [TS]

00:43:57   filling with pointers you could have [TS]

00:43:59   native C arrays and stuff like that but [TS]

00:44:01   what Apple wants you to do with the API [TS]

00:44:03   is you know don't use C arrays yes C has [TS]

00:44:05   support for a raise you can use little [TS]

00:44:06   angle brackets to do pointer arithmetic [TS]

00:44:07   for you it looks like you're accessing [TS]

00:44:09   an element but it's just math isn't that [TS]

00:44:11   wonderful all right they say no use NS [TS]

00:44:13   array or NS mutable array that's our [TS]

00:44:15   collection class right and same thing [TS]

00:44:17   with strings yes you can do a pointer to [TS]

00:44:19   a character and have it be a string and [TS]

00:44:21   use an alternation don't do that using a [TS]

00:44:22   string we have a class for that right [TS]

00:44:25   most of the things that you can do in [TS]

00:44:27   Objective C program [TS]

00:44:28   doesn't want you to do when you're [TS]

00:44:29   writing your GUI app they say call our [TS]

00:44:31   cocoa API is use our collection classes [TS]

00:44:33   use our syntax don't you see now you can [TS]

00:44:35   imagine a language that is to to borrow [TS]

00:44:39   a phrase from another thing a link in [TS]

00:44:41   the show notes Objective C without the C [TS]

00:44:43   where you've got the Objective C api's [TS]

00:44:46   but you don't have the ability to drop [TS]

00:44:49   all the way down and to see and then you [TS]

00:44:50   can make the Objective C API is memory [TS]

00:44:52   safe where if you're just dealing with [TS]

00:44:55   objects and you're just calling methods [TS]

00:44:56   and just using the native collection [TS]

00:44:57   classes there's no reason to ever to [TS]

00:44:59   have a role pointer to memory or to ever [TS]

00:45:02   dereference one or anything like that no [TS]

00:45:03   yes uh you know Objective C objects are [TS]

00:45:05   technically pointers one of the covers [TS]

00:45:07   is on and so forth but I can imagine [TS]

00:45:08   Apple moving in steps like further [TS]

00:45:10   ratcheting down the clamps on Objective [TS]

00:45:13   C because even an arc you can't do [TS]

00:45:14   certain things an arc you can't have [TS]

00:45:16   like Africa but the limitations are [TS]

00:45:18   there's a bunch of limitations well you [TS]

00:45:19   can't take a you know an NS object or [TS]

00:45:22   something a pointer to an object and [TS]

00:45:23   shove it inside a C struct because I [TS]

00:45:24   can't keep track of it anymore other [TS]

00:45:27   restrictions on what you can and can't [TS]

00:45:28   do that you could technically do in a C [TS]

00:45:29   program but when arc is enabled they say [TS]

00:45:31   actually we're going to disallow that [TS]

00:45:32   because we can't make arc work if you [TS]

00:45:35   can do that we lose track of your stuff [TS]

00:45:36   so that's not allowed so they're they're [TS]

00:45:38   adding restrictions to the language to [TS]

00:45:40   enable more advanced features and I can [TS]

00:45:41   imagine them adding more and more [TS]

00:45:43   restrictions until on a per file basis [TS]

00:45:46   even in like a per lexical scope basis [TS]

00:45:48   saying in this part of the code here all [TS]

00:45:50   you can do is call Objective C api's you [TS]

00:45:53   can't do any of that straight C stuff [TS]

00:45:55   and in this M in exchange for that or [TS]

00:45:57   those restrictions you have memory [TS]

00:45:58   safety and maybe you even have a [TS]

00:46:00   different syntax and maybe they even [TS]

00:46:01   give it a name that's a different [TS]

00:46:02   language right it's some point I think [TS]

00:46:05   they're come out and say apples new [TS]

00:46:06   language is blah and what it really is [TS]

00:46:08   is a way to call cocoa api's in it with [TS]

00:46:12   language that's memory safe now every [TS]

00:46:13   time I bring this up everyone says Ruby [TS]

00:46:15   cocoa or not Ruby cocoa but Mac Ruby and [TS]

00:46:17   the various other bridge type things Mac [TS]

00:46:19   Ruby being that the most popular because [TS]

00:46:22   Mac Ruby Bridges from Ruby collection [TS]

00:46:24   classes to cocoa glasses where you can [TS]

00:46:26   program in Ruby which is memory safe [TS]

00:46:27   right and when you access a Ruby array [TS]

00:46:30   it uses NS arrays under the covers and [TS]

00:46:31   then Ruby strings or any strings under [TS]

00:46:33   the covers and stuff like that I've said [TS]

00:46:35   in many shows that I am down on bridge [TS]

00:46:37   languages I don't think that's the way [TS]

00:46:39   Apple will go even though it's a pretty [TS]

00:46:41   good bridge and even though they are [TS]

00:46:42   bridging the collection classes and [TS]

00:46:43   stuff - under the covers be at Ruby [TS]

00:46:45   objects or objective-c objects and other [TS]

00:46:47   covers I think they're more likely to [TS]

00:46:50   carve out a little language out of the [TS]

00:46:53   middle out of the heart of objective-c [TS]

00:46:55   and say this is our new language whether [TS]

00:46:57   they give it a new name whether they [TS]

00:46:58   give it a new syntax you know whether [TS]

00:47:00   it's a file scope thing or a lexical [TS]

00:47:02   scope thing or a whole program thing I [TS]

00:47:03   don't know but I think that's the [TS]

00:47:05   direction they're going but in small [TS]

00:47:06   little steps is what you're saying and [TS]

00:47:08   so it's not that yeah because I can't do [TS]

00:47:09   a a big a big shift and John is there I [TS]

00:47:14   mean do you think there's even a the [TS]

00:47:18   demand for this for this you know [TS]

00:47:20   obviously Ark is probably going to be [TS]

00:47:22   welcomed by a lot of developers [TS]

00:47:23   especially those that are new to to [TS]

00:47:25   working in cocoa framework but do you [TS]

00:47:28   think there's even a demand for this [TS]

00:47:29   type of change or or is this I guess I'm [TS]

00:47:33   asking because I wonder if if the the [TS]

00:47:36   low-level nosov of working with [TS]

00:47:39   objective-c and cocoa is is that keeping [TS]

00:47:42   people from from developing on the [TS]

00:47:43   platform I mean there's thousands of [TS]

00:47:44   developers putting stuff in the in the [TS]

00:47:46   App Store's yeah one of this is a quote [TS]

00:47:49   from the arc section of my review and it [TS]

00:47:53   has a link to a great talk by Ed Catmull [TS]

00:47:55   Pixar which I have promoted on this show [TS]

00:47:57   many times and have told people seems [TS]

00:47:59   incredibly boring and is really long but [TS]

00:48:01   you should just watch it and listen to [TS]

00:48:03   the whole thing it's very enlightening [TS]

00:48:04   and the quote is this is quote from my [TS]

00:48:07   review success hides problems and Apple [TS]

00:48:10   has been so very successful in recent [TS]

00:48:12   years that is success hides problems as [TS]

00:48:14   a direct quote from that Ed Catmull talk [TS]

00:48:15   and it's totally true [TS]

00:48:16   Apple has been enormous ly successful [TS]

00:48:19   with its mobile platform with iOS but [TS]

00:48:21   success hides problems it doesn't say [TS]

00:48:23   well it doesn't prove that they have no [TS]

00:48:25   problems because they've been successful [TS]

00:48:26   sort of I figure which fallacy that it's [TS]

00:48:28   not appeal to Authority but it's one of [TS]

00:48:29   those ones their success hides their [TS]

00:48:33   problems people are coming to iOS and [TS]

00:48:35   dealing with retaining release not [TS]

00:48:37   because they think retaining release are [TS]

00:48:38   awesome but because that's where the [TS]

00:48:39   money is that's where the success is [TS]

00:48:41   that's you know they've sold a lot of [TS]

00:48:42   devices you know and yes there are [TS]

00:48:44   people who love cocoa love the next [TS]

00:48:47   api's and were writing next apps when [TS]

00:48:50   there was like three users in the entire [TS]

00:48:52   universe and they still loved it and [TS]

00:48:53   still said it was the best and maybe [TS]

00:48:54   you'll never be able to convince those [TS]

00:48:56   people [TS]

00:48:56   that that that arc is good there the [TS]

00:48:58   synthesized attributes ooh good yeah it [TS]

00:49:00   was always the old developer to say I've [TS]

00:49:01   been doing this way for decades and I [TS]

00:49:03   think this way is better and all this [TS]

00:49:04   newfangled stuff is crap if you can't [TS]

00:49:06   convince them you know what can you do [TS]

00:49:07   it's Apple has always been focused on [TS]

00:49:10   the future and they continue to be [TS]

00:49:11   they're focused on the new developer [TS]

00:49:12   who's maybe never developed anything [TS]

00:49:14   before and they are confused by [TS]

00:49:16   retaining release or maybe they're [TS]

00:49:17   coming from another mobile platform [TS]

00:49:18   another desktop platform and they are [TS]

00:49:19   disgusted by retaining release and the [TS]

00:49:21   old next guys say oh you don't know what [TS]

00:49:23   you're talking about go back to your [TS]

00:49:24   crappy platform our API so awesome you [TS]

00:49:26   should you know you should just like it [TS]

00:49:27   right and look how successful we are [TS]

00:49:28   obviously what we're doing is better [TS]

00:49:29   because we've been some you know you [TS]

00:49:32   have to focus on the future [TS]

00:49:34   so whether there's a demand or not Apple [TS]

00:49:37   Apple has to move forward and the path [TS]

00:49:39   forward is pretty clear in the manual [TS]

00:49:42   memory management I hope for my [TS]

00:49:44   grandchildren it's not something they [TS]

00:49:45   have to deal with in the same way that [TS]

00:49:46   you know the people who are programmed [TS]

00:49:49   computers with toggle switches or punch [TS]

00:49:51   cards that boy I hope my kids don't have [TS]

00:49:52   to use punch cards and we don't we get [TS]

00:49:54   to type into you know a text editor and [TS]

00:49:57   we got a compiler you know we don't have [TS]

00:49:58   to you don't have to deal with that [TS]

00:50:00   stuff but even the people are writing [TS]

00:50:01   assembler I hope we're saying boy I hope [TS]

00:50:03   people don't have to write thousands and [TS]

00:50:04   thousands and thousands and thousands of [TS]

00:50:06   lines of assembler to write an operating [TS]

00:50:07   system or GUI application or anything [TS]

00:50:09   like that in the future and we don't we [TS]

00:50:11   have higher-level languages it only gets [TS]

00:50:13   higher level right and it's going to [TS]

00:50:14   happen and it's really really difficult [TS]

00:50:17   to transition that's the most dangerous [TS]

00:50:18   time for a company that's that's the [TS]

00:50:20   that's why Apple I think is doing this [TS]

00:50:21   slowly in steps because you have to have [TS]

00:50:24   such an investment in in cocoa and those [TS]

00:50:28   API is that were derived from next in [TS]

00:50:29   the compiled they wrote their own [TS]

00:50:30   compiler right and that's what they're [TS]

00:50:32   building arc on top of well they adopted [TS]

00:50:34   LVM and then made it into their own [TS]

00:50:36   compiler right they have such a huge [TS]

00:50:38   investment you can just throw that away [TS]

00:50:40   and say okay well actually now the new [TS]

00:50:42   we have a new API and a new language and [TS]

00:50:44   here's this new thing that's so so hard [TS]

00:50:46   to do which is why I was freaking out [TS]

00:50:47   about it in 2005 because I know how hard [TS]

00:50:49   it is to do and if you're gonna do it [TS]

00:50:51   you got to go on like the ten year plan [TS]

00:50:52   you can't be on like the the six month [TS]

00:50:55   plan where you're going to turn it [TS]

00:50:56   around so I think arc is just the most [TS]

00:50:58   recent step in what I hope what I [TS]

00:51:00   sincerely hope is like some two three [TS]

00:51:02   four five ten year plan inside Apple to [TS]

00:51:05   get from where they are now to where [TS]

00:51:06   they want to be with the minimum [TS]

00:51:09   disruption to their [TS]

00:51:10   platform to the developers who got them [TS]

00:51:12   here to the old next guys or to the [TS]

00:51:14   people came over from classic American [TS]

00:51:15   West those are the people that sort of [TS]

00:51:16   got Apple to where they are apples [TS]

00:51:18   looking to the future but doesn't to [TS]

00:51:19   piss those guys off either so it has to [TS]

00:51:21   do it in a series of steps and a certain [TS]

00:51:23   point there'll be a discontinuity [TS]

00:51:24   whether that's a marketing discontinuity [TS]

00:51:26   whether they just simply say we have a [TS]

00:51:27   new name [TS]

00:51:28   for the restricted subset of Jeff you [TS]

00:51:30   see that we want you to write cocoa [TS]

00:51:32   things and by the way with a new name we [TS]

00:51:34   introduce a new syntax is mostly window [TS]

00:51:35   dressing you know it's the semantics of [TS]

00:51:37   the language make a difference but at a [TS]

00:51:38   certain point they could introduce a new [TS]

00:51:40   syntax because they've changed the [TS]

00:51:41   semantics so much that you don't need to [TS]

00:51:42   ever use pointer stuff so the fact that [TS]

00:51:44   you have little stars in front of all [TS]

00:51:45   your object quote-unquote object [TS]

00:51:47   declarations is making reminding you [TS]

00:51:49   that there are pointers to you know [TS]

00:51:51   there see pointers and new developers [TS]

00:51:53   using one of these stars all here for [TS]

00:51:54   biz they never even heard of C like [TS]

00:51:55   that's the point where you might think [TS]

00:51:56   about changing the syntax because it's [TS]

00:51:59   just noise that's not relevant to [TS]

00:52:01   current development let's go ahead and [TS]

00:52:03   take another break and talk about our [TS]

00:52:04   second sponsor for this episode of [TS]

00:52:07   hypercritical and that is Rackspace now [TS]

00:52:11   Rackspace has been sponsoring [TS]

00:52:12   five-by-five now for almost a year and [TS]

00:52:15   I'm hearing from more and more people [TS]

00:52:16   about how simple Rackspace cloud is to [TS]

00:52:19   use to host websites and applications [TS]

00:52:21   and what people always come back to is [TS]

00:52:24   the fanatical support that Rackspace [TS]

00:52:26   offers to its customers so there's ever [TS]

00:52:28   a problem Rackspace is there to help dan [TS]

00:52:32   has gotten emails from 5x5 listeners [TS]

00:52:34   about Rackspace and he shared those with [TS]

00:52:36   me and I want to share those with you so [TS]

00:52:39   let's go ahead and want to read an email [TS]

00:52:42   to you from Chris Gorman who is a [TS]

00:52:45   listener and he says Rackspace is [TS]

00:52:47   awesome they are the most reliable and [TS]

00:52:49   helpful server company I have ever [TS]

00:52:51   worked with I used them for my first net [TS]

00:52:53   admin position fresh out of college and [TS]

00:52:56   he says I ask them all sorts of dumb [TS]

00:52:57   questions and they always helped me with [TS]

00:53:00   a smile so if you're building a website [TS]

00:53:03   or application you should definitely [TS]

00:53:05   check out Rackspace go to Rackspace comm [TS]

00:53:08   slash 5x5 so it's not about today or [TS]

00:53:13   next year that's probably the point [TS]

00:53:14   you're making in 2005 which is it's it's [TS]

00:53:17   for as as new crops developers you know [TS]

00:53:20   come out of school there there's you [TS]

00:53:22   know maybe our [TS]

00:53:23   going to be so accustomed to to this [TS]

00:53:25   type of development anymore and so to [TS]

00:53:28   keep ahead of it then Apple needs to [TS]

00:53:30   make some changes you at the last line I [TS]

00:53:32   think of the of the arc section of your [TS]

00:53:36   review you said the next few years of [TS]

00:53:39   WWDC could be interesting [TS]

00:53:41   so maybe are you hinting that maybe [TS]

00:53:42   they're going to be rolling out [TS]

00:53:43   something one or two new things per year [TS]

00:53:46   perhaps well so they didn't pass WABC as [TS]

00:53:49   they did stuff like the property syntax [TS]

00:53:51   where instead of doing objects arrow you [TS]

00:53:53   know - greater than sign value which is [TS]

00:53:56   the pointer dereference access stuff [TS]

00:53:59   like that you could do a dot syntax and [TS]

00:54:02   the dot was a new syntax they added for [TS]

00:54:04   accessing properties and so instead of [TS]

00:54:06   calling uh not instead of the arrow [TS]

00:54:08   sorry instead of calling the instead of [TS]

00:54:10   sending the get foo message you could do [TS]

00:54:13   object dot foo and it would under the [TS]

00:54:16   covers call the method for you and stuff [TS]

00:54:17   like that it was a different syntax for [TS]

00:54:19   common operation for dealing with [TS]

00:54:20   attributes and a lot of and this was [TS]

00:54:22   this is not this year this was maybe [TS]

00:54:23   last year or the year before that and a [TS]

00:54:25   lot of seasons objective-c developers [TS]

00:54:26   said why would I just call you know get [TS]

00:54:28   foo with my square brackets the way I [TS]

00:54:30   always have or set foo and then you know [TS]

00:54:31   with value blah blah why would I use [TS]

00:54:33   this dot syntax on the assignment it [TS]

00:54:35   looks weird to me it looks like it looks [TS]

00:54:36   like I'm accessing a structure element [TS]

00:54:38   but I'm not and it looks kind of like [TS]

00:54:41   c-sharp or Java or some other syntax [TS]

00:54:44   that our JavaScript and that's not the [TS]

00:54:46   way I like I want my objective seat you [TS]

00:54:47   know there was pushback on that but that [TS]

00:54:50   was that was a baby step in this [TS]

00:54:51   direction of you know what are the [TS]

00:54:54   things that annoy people well people [TS]

00:54:55   don't like to do getting set they like [TS]

00:54:56   this dot access of attributes so let's [TS]

00:54:59   provide that and they don't like [TS]

00:55:00   declaring things in seven places where [TS]

00:55:01   you got to do it in the header file then [TS]

00:55:02   you got to do the implementation you got [TS]

00:55:04   to make sure they're all in sync and [TS]

00:55:05   sometimes writing getters and setters is [TS]

00:55:07   just boilerplate where you're copying [TS]

00:55:09   pasting the same code over and over [TS]

00:55:10   again with some names change so let's [TS]

00:55:11   have a synthesize thing where we can [TS]

00:55:13   make that code for you and like tiny [TS]

00:55:15   little steps and at every one of those [TS]

00:55:16   tiny little steps people grumble and [TS]

00:55:19   complain and say well here the [TS]

00:55:20   disadvantages of it versus doing it [TS]

00:55:22   manually but then eventually sometimes [TS]

00:55:23   you know you'll see an objective-c [TS]

00:55:25   developer say I didn't use properties [TS]

00:55:27   but I finally came around doing and [TS]

00:55:28   makes things so much easier or you know [TS]

00:55:30   and any of these things they introduce [TS]

00:55:31   there's always push back so [TS]

00:55:33   arc is just one more step arc is not the [TS]

00:55:36   first [TS]

00:55:37   it's the biggest step so far because [TS]

00:55:38   those other things like here are ways to [TS]

00:55:41   save you typing and we will do stuff [TS]

00:55:42   that we think you would have typed [TS]

00:55:44   anyway if you don't want to do it fine [TS]

00:55:45   type it all out the same way you always [TS]

00:55:46   did arc is the first time or the saying [TS]

00:55:48   you actually can't type retain and [TS]

00:55:50   release anymore run under arc which is [TS]

00:55:51   the recommended way to do things and you [TS]

00:55:52   were taking away retain and release from [TS]

00:55:55   you we're going to handle it just follow [TS]

00:55:56   these conventions you can do another [TS]

00:55:58   profile basis and a pro project basis [TS]

00:56:00   you know it's not like garbage [TS]

00:56:01   collection where it's global so we want [TS]

00:56:02   you to adopt it we have a thing in the [TS]

00:56:05   ID that says make this are compatible [TS]

00:56:07   and it'll go and erase all your retains [TS]

00:56:09   and release and convert your project to [TS]

00:56:11   it you know we're trying to help trying [TS]

00:56:12   to make bring people along but arc is [TS]

00:56:14   the first really big step in that [TS]

00:56:17   direction I say the next years are going [TS]

00:56:18   to be interesting because I assume this [TS]

00:56:21   rate of change will accelerate not get [TS]

00:56:23   slower like they spent many many years [TS]

00:56:24   getting off GCC which was their old [TS]

00:56:26   compiler the open source new compiler [TS]

00:56:28   GCC sampark a new compiler something or [TS]

00:56:31   other which starts with a C and you know [TS]

00:56:33   they adopted LLVM and they made their [TS]

00:56:36   own compiler out of it and that took a [TS]

00:56:37   long time because they wanted to make [TS]

00:56:39   their compiler GCC compatible but better [TS]

00:56:41   than GCC in every possible way they [TS]

00:56:42   could I think that they paid that price [TS]

00:56:45   now that they've they did that work and [TS]

00:56:47   now they're finally free to start [TS]

00:56:48   running you know and I don't know how [TS]

00:56:50   long it took them to develop arc but it [TS]

00:56:52   strikes me as the first thing they could [TS]

00:56:54   do once I got their head above water [TS]

00:56:56   with GCC that five GCC is gone all right [TS]

00:56:58   now finally we have the compiler [TS]

00:57:00   infrastructure that we always wanted [TS]

00:57:01   everything's nice and clean and easy to [TS]

00:57:03   extend what's the first thing we're [TS]

00:57:03   going to do and the first thing I did [TS]

00:57:05   was attack retain release right so next [TS]

00:57:06   year who knows what they'll have in [TS]

00:57:08   store for us and the year after that and [TS]

00:57:09   the year after that I expect the rate of [TS]

00:57:11   change to accelerate towards some [TS]

00:57:14   unknown destination it sounds it sounds [TS]

00:57:19   exciting [TS]

00:57:20   and maybe a good place to to wrap up did [TS]

00:57:24   you have anything else on on the list [TS]

00:57:25   for today or do you think that arc was [TS]

00:57:27   was enough remain the main thing I [TS]

00:57:30   wanted to get you though people [TS]

00:57:31   I did mention on past shows that I had a [TS]

00:57:34   10 word review ten word joke review of [TS]

00:57:38   line because back when we were talking [TS]

00:57:39   about how long my lion review was I [TS]

00:57:41   mentioned that I had a short version of [TS]

00:57:43   it a friend of mine said I don't want to [TS]

00:57:45   read your whole line of you can you give [TS]

00:57:46   me the ten word summary so I did I made [TS]

00:57:49   a ten word summary [TS]

00:57:51   this is mostly a joke and it contains a [TS]

00:57:53   curse word which Dan will not like me to [TS]

00:57:55   say so I will abbreviate the curse word [TS]

00:57:57   so we all won't have to be bleeped two [TS]

00:57:59   people can I was getting ready to mark [TS]

00:58:01   you on the know I'm not gonna Margot I'm [TS]

00:58:03   gonna say okay good alright so this is [TS]

00:58:06   what I originally wrote and I will give [TS]

00:58:07   you the amendment oh this is the 10 word [TS]

00:58:09   version upgrade but not right away [TS]

00:58:12   change is scary effing iOS now I'll [TS]

00:58:18   unpack this briefly alright so the [TS]

00:58:19   upgrade but not right away it makes it [TS]

00:58:21   seem like oh you saying we should hold [TS]

00:58:23   off cuz it's not good and I shouldn't in [TS]

00:58:24   I always don't upgrade personally right [TS]

00:58:28   away like my machines are still running [TS]

00:58:30   Snow Leopard now and I've talked about [TS]

00:58:31   this on past shows just because I say in [TS]

00:58:33   the review the operating system is good [TS]

00:58:34   and that you should upgrade doesn't mean [TS]

00:58:35   you should upgrade the day it's released [TS]

00:58:37   like wait a while see that all your [TS]

00:58:38   applications are compatible let other [TS]

00:58:40   people find out what the problems are [TS]

00:58:41   this is not just Lion every OS release [TS]

00:58:44   I've always said you don't you're best [TS]

00:58:47   off waiting a little bit make sure don't [TS]

00:58:50   don't just guess you know don't upgrade [TS]

00:58:51   and then find out what's uncle because [TS]

00:58:53   you can't revert easily at the restore [TS]

00:58:54   from a backup right you can find out if [TS]

00:58:57   your apps are compatible go to the [TS]

00:58:58   developers page like for example before [TS]

00:59:00   I upgrade the line I would go to the [TS]

00:59:01   default folder tens page and say is this [TS]

00:59:03   compatible is that you know all your [TS]

00:59:04   favorite applications find out they're [TS]

00:59:06   compatible read the reviews read the [TS]

00:59:08   reviews first and find out the no you [TS]

00:59:10   can't run PowerPC applications online [TS]

00:59:12   find out if you have any PowerPC [TS]

00:59:14   applications if you don't know how to [TS]

00:59:15   find out if you have any PowerPC [TS]

00:59:16   applications Google for Mac OS 10 fine [TS]

00:59:19   PowerPC application like there are some [TS]

00:59:21   lists out there that people have been [TS]

00:59:22   keeping yep [TS]

00:59:23   right so the my little my first part of [TS]

00:59:25   upgrade but not right away I could put [TS]

00:59:28   that in the front of almost every Mac OS [TS]

00:59:29   10 review upgrade is me saying this is [TS]

00:59:31   an improvement over the past version I [TS]

00:59:32   like it a likely direction are taking [TS]

00:59:33   the operating system the but right not [TS]

00:59:35   right away is a reminder that like all [TS]

00:59:37   operating system upgrades [TS]

00:59:38   don't be nuts and go out there the day [TS]

00:59:40   it comes out and just installed on your [TS]

00:59:41   machine and cry when everything breaks [TS]

00:59:43   like [TS]

00:59:43   caution is recommended I have to at the [TS]

00:59:45   end of you make some sort of [TS]

00:59:47   recommendation like thumbs up thumbs [TS]

00:59:48   down I give lion a thumbs up but like [TS]

00:59:51   all operating systems and all big [TS]

00:59:52   changes like don't don't rush out and [TS]

00:59:54   upgrade everything and then be sad when [TS]

00:59:56   things break find out first you have the [TS]

00:59:58   tools to do it do it [TS]

00:59:58   tools to do it do it [TS]

01:00:00   change is scary is the next three words [TS]

01:00:01   and that's the whole bit about you know [TS]

01:00:04   changing scrolling and the iOS type [TS]

01:00:06   behaviors and you know trying to remove [TS]

01:00:10   the number of things that users have to [TS]

01:00:11   be concerned about trying to make users [TS]

01:00:14   take users out of the business of [TS]

01:00:15   remembering what Windows they open [TS]

01:00:16   taking users out of the business of [TS]

01:00:18   managing applications memory and [TS]

01:00:20   quitting them when they don't want to [TS]

01:00:22   run them anymore [TS]

01:00:22   and relaunching them when they need them [TS]

01:00:24   and all that business like that's change [TS]

01:00:28   is always scary sometimes it's good [TS]

01:00:30   sometimes it's bad but it's hard to [TS]

01:00:31   distinguish especially on day one which [TS]

01:00:34   one of these changes is going to be [TS]

01:00:35   something that ten years from now will [TS]

01:00:37   say god can't believe we ever did it the [TS]

01:00:38   other way or will say this was a [TS]

01:00:40   terrible mishap and they have to you [TS]

01:00:42   know back they go back on that and then [TS]

01:00:45   the final part was effing iOS and that [TS]

01:00:47   is a meant to be vaguely humorous [TS]

01:00:50   reference to the fact that most of the [TS]

01:00:52   things that people don't like about Lion [TS]

01:00:54   are due to the influence of iowa's so [TS]

01:00:57   let's list it so scrolling yeah that the [TS]

01:01:00   the automatic quitting of applications [TS]

01:01:03   the gestures all right well maybe not so [TS]

01:01:05   much the gestures but gestures to [TS]

01:01:07   gestures for you know changing all the [TS]

01:01:09   gestures and stuff that the [TS]

01:01:10   simplification of spaces and everything [TS]

01:01:12   in Mission Control and like it's iOS has [TS]

01:01:15   influences everywhere in Lion and [TS]

01:01:17   whether those changes turn out to be [TS]

01:01:19   good or bad long term if you're going to [TS]

01:01:22   lay blame for why it's this line thing [TS]

01:01:24   annoying me it's basically iOS s fault [TS]

01:01:26   so the effing iOS there is the that I [TS]

01:01:28   actually added that because I have the [TS]

01:01:30   eight word review and I add that in [TS]

01:01:31   there because it's like we all are upset [TS]

01:01:34   when someone moves our cheese right [TS]

01:01:36   where things aren't quite the way we [TS]

01:01:38   want them to be and I believe that some [TS]

01:01:40   of these changes in Lion are [TS]

01:01:42   inappropriate for desktop operating [TS]

01:01:44   system or at least inappropriate from [TS]

01:01:45   one running on the 30-inch monitor or [TS]

01:01:47   something and you know and I blame those [TS]

01:01:51   changes on the success of iOS and on iOS [TS]

01:01:53   coming back there now most of the things [TS]

01:01:55   I think are actually good you know the [TS]

01:01:56   things that iOS are doing is a proof of [TS]

01:01:57   concept saying see computing can be like [TS]

01:02:00   this and it's better at the vast [TS]

01:02:01   majority of them I believe that to be [TS]

01:02:02   the case but it still doesn't mean that [TS]

01:02:04   people aren't going to be all cranky [TS]

01:02:06   about it and when they're cranky about [TS]

01:02:07   it that's the sentiment F in iOS I was [TS]

01:02:10   getting all inside my Mac [TS]

01:02:12   nestle change my scrolling yeah I mean [TS]

01:02:15   even to the scroll Direction isn't it [TS]

01:02:16   you know that's that's my ten read [TS]

01:02:18   review upgrade but not right away [TS]

01:02:20   changes gary effing iOS much shorter to [TS]

01:02:23   read even my expansion of it was shorter [TS]

01:02:25   than ringer you recommend reading the [TS]

01:02:27   review if you want a slightly more [TS]

01:02:29   nuanced and less glib take on the [TS]

01:02:31   operating system i also recommend the [TS]

01:02:33   review it's um it's a great tape it's a [TS]

01:02:37   great book into all the little pieces [TS]

01:02:39   especially for people that really like [TS]

01:02:41   that are the listeners are the show that [TS]

01:02:43   really like to know every every small [TS]

01:02:47   bit and then you know read some [TS]

01:02:48   intelligent commentary on on all the [TS]

01:02:51   different changes in in lion [TS]

01:02:53   so john are just a wrap-up are you going [TS]

01:02:56   to upgrade soon then I mean it's been [TS]

01:02:58   what a month [TS]

01:02:58   yeah I'm still the main thing is holding [TS]

01:03:02   me back on my home max is quicken which [TS]

01:03:04   I used oh I think you've been you were I [TS]

01:03:06   don't talk about doing the podcast with [TS]

01:03:08   Dan or on Twitter but yeah I do remember [TS]

01:03:10   you talking about yeah so I've been [TS]

01:03:11   auditioning changes that I've looked at [TS]

01:03:13   a couple of them I haven't pulled the [TS]

01:03:15   trigger on any of them yet I made I [TS]

01:03:18   don't know it's not a long term solution [TS]

01:03:19   but I may just leave an old Mac running [TS]

01:03:22   yeah yeah you know but other than that [TS]

01:03:24   I've also been checking my all my [TS]

01:03:26   applications and updating them all and [TS]

01:03:28   I'm getting there I'm in no hurry to [TS]

01:03:30   switch to lion mmm one of the other [TS]

01:03:32   things that holding me back is I have a [TS]

01:03:33   lot of compiled UNIX software I have ten [TS]

01:03:37   different databases compiled and often [TS]

01:03:40   various directories several versions of [TS]

01:03:41   my sequel and Postgres and stuff and [TS]

01:03:43   several versions of Perl or hiding in [TS]

01:03:45   there and God knows what else I have [TS]

01:03:46   custom versions of read line I have lots [TS]

01:03:48   of you compiled UNIX software I want to [TS]

01:03:51   make sure all that will build cleanly on [TS]

01:03:53   line before I go or because s when I [TS]

01:03:55   upgrade it's not just me upgrade and [TS]

01:03:56   then I got to go back in and make sure [TS]

01:03:57   my existing installs and user local [TS]

01:03:59   they'll still be fine they'll be there [TS]

01:04:01   but do they all work and is it now is [TS]

01:04:03   usually the time where I bite the bullet [TS]

01:04:04   and say okay now it's time for me to [TS]

01:04:05   upgrade my install Perl from like 512 to [TS]

01:04:07   514 2 or whatever the latest is stuff [TS]

01:04:10   like that for developers is not just [TS]

01:04:11   about whether you like the scrolling or [TS]

01:04:13   not it's whether you can actually like [TS]

01:04:15   jump back in and do your development [TS]

01:04:16   work is your environment set up exactly [TS]

01:04:18   how you want it right and that's even [TS]

01:04:19   more so at work it works even worse [TS]

01:04:21   because you know I have at home I break [TS]

01:04:23   it it's okay but at work I can't it'll [TS]

01:04:25   you know [TS]

01:04:25   I need to be able to do my work on the [TS]

01:04:28   work machine so and also at work I have [TS]

01:04:30   requirements to have my disk encrypted [TS]

01:04:31   and I use PGP for that now so I have to [TS]

01:04:34   go through the IT department say hey is [TS]

01:04:36   it okay if I upgrade to Lion if I use [TS]

01:04:38   the built-in encryption is that you know [TS]

01:04:40   certified for use at the company there's [TS]

01:04:42   a whole bunch of bureaucratic business [TS]

01:04:44   of delaying me at work so I'll probably [TS]

01:04:47   upgrade at home within the next few [TS]

01:04:49   months if I get around to visit it's [TS]

01:04:51   also like set aside several hours in one [TS]

01:04:53   day for me to do the upgrade and make [TS]

01:04:55   sure everything works you know because I [TS]

01:04:57   don't want to just like throw the [TS]

01:04:58   upgrade on there and then everything [TS]

01:04:59   breaks and not have time to to fix stuff [TS]

01:05:02   you need to set aside a weekend to make [TS]

01:05:05   that happen [TS]

01:05:06   yeah at least if you have multiple [TS]

01:05:08   machines yeah actually if I I just got a [TS]

01:05:11   new machine for my wife so hers will [TS]

01:05:12   come with Lion so hey I don't have to [TS]

01:05:14   upgrade her and her old machine will [TS]

01:05:15   probably be the quicken machine in in [TS]

01:05:17   the near term but obviously that's not a [TS]

01:05:18   long-term solution because eventually [TS]

01:05:20   that machine's gonna die or break or you [TS]

01:05:22   know you can't be running quicken and in [TS]

01:05:24   you know ten years from now on that old [TS]

01:05:26   Mac yeah especially since and this is [TS]

01:05:28   that the whole financial software thing [TS]

01:05:31   is probably a whole whole topic for a [TS]

01:05:32   whole show but you know they they see [TS]

01:05:36   supporting certain versions too after a [TS]

01:05:37   while as far as interacting with banks [TS]

01:05:40   and stuff like that so eventually yes [TS]

01:05:41   certain and I yeah so I'm still I'm [TS]

01:05:45   holding off not for reasons that having [TS]

01:05:47   to do with line mostly just to have to [TS]

01:05:49   do with the amount of time I have to [TS]

01:05:50   deal with it and laziness and you know [TS]

01:05:53   it has to be said general satisfaction [TS]

01:05:55   with Snow Leopard like Snow Leopard [TS]

01:05:57   works I never had any problems I haven't [TS]

01:05:59   had a kernel panic on this Mac Pro in [TS]

01:06:01   like two years I can't remember the last [TS]

01:06:03   time I had one it's like a disruption to [TS]

01:06:06   my environment you know and the thing is [TS]

01:06:08   I'm already at the point now where I [TS]

01:06:10   want upgrade to use this is what happens [TS]

01:06:12   when new versions of applications come [TS]

01:06:14   out and you're like aw man I want to [TS]

01:06:15   check that always lion only like it's [TS]

01:06:17   already happening even though it's not [TS]

01:06:18   lying only that like online it has some [TS]

01:06:20   like solver which I love I should I wish [TS]

01:06:22   these guys would sponsor the program [TS]

01:06:24   there I don't they don't have to sponsor [TS]

01:06:26   it because everyone raves about it I [TS]

01:06:27   think Marco raves about him too on [TS]

01:06:28   Twitter yes sou lver awesome application [TS]

01:06:33   changed my life when I found it he has [TS]

01:06:35   been making lion updates where does [TS]

01:06:36   automatic restore and stuff and I hate [TS]

01:06:38   saving my solver she [TS]

01:06:39   I hate the little red dot in the thing [TS]

01:06:40   and I hate when I quit solver I gotta [TS]

01:06:42   remember to save the sheet and stuff [TS]

01:06:43   like that he's already made lion updates [TS]

01:06:45   to his app that I assume include resume [TS]

01:06:47   and autosave and stuff like that and I [TS]

01:06:48   want to use them now it's like I'm [TS]

01:06:50   already getting that itch [TS]

01:06:51   I want to be running lion so I can see [TS]

01:06:53   the cool new features and the [TS]

01:06:55   applications that I already have so it's [TS]

01:06:57   only a matter of time before I succumb [TS]

01:06:59   to the to upgrade fever great well that [TS]

01:07:02   sounds like a good place to to wrap up [TS]

01:07:05   for for this episode [TS]

01:07:07   as always I'm sure people know how to [TS]

01:07:10   get a hold of you I assume they probably [TS]

01:07:13   go to five by five slash contact I don't [TS]

01:07:18   know where they do is that contact form [TS]

01:07:19   thing oh yeah somewhere people are [TS]

01:07:21   finding it buzz it get the feedback yes [TS]

01:07:22   my five dot TV slash contact is one way [TS]

01:07:25   to get in touch and I'm sure people will [TS]

01:07:30   have some some some feedback I'm sure [TS]

01:07:32   what you get every week so great well [TS]

01:07:35   that's I think we're gonna wrap it up [TS]

01:07:36   thanks John for letting me jump in for [TS]

01:07:38   Dan he's taking obviously some time off [TS]

01:07:41   to spend with his growing family sorry [TS]

01:07:44   so so we we wish him the best of course [TS]

01:07:47   and that's it for this episode of [TS]

01:07:50   hypocritical and either me or Dan we'll [TS]

01:07:52   talk to you next week thanks for [TS]

01:07:56   listening to this episode of [TS]

01:07:57   hypercritical we'd like to once again [TS]

01:07:58   thank our sponsors Shopify comm and [TS]

01:08:01   Rackspace comm please be sure to check [TS]

01:08:04   them out and let them know that 5x5 sent [TS]

01:08:06   you [TS]

01:08:19   you [TS]