Podcast Search

Hypercritical

30: Paths in the Grass

Select a time to play from there. The line being spoken is highlighted as the audio plays.

0:00:00[Music]

0:00:02this is hypercritical

0:00:04a weekly talkshow ruminating on exactly

0:00:07what is wrong in the world of Apple and

0:00:09related technologies and businesses

0:00:11nothing is so perfect that it can't be

0:00:14complained about hypercritical is hosted

0:00:16by John siracusa and I'm Ryan Ireland

0:00:20sitting in for Dan Benjamin this episode

0:00:23of hypercritical is brought to you by

0:00:24Shopify comm and Rackspace and we'll

0:00:28hear more about them later in the show

0:00:31bandwidth for hypercritical is brought

0:00:33to you by Midas green tech Virtual

0:00:37Private servers submerged in oil get

0:00:41free bandwidth today at Midas green tech

0:00:43comm / 5x5 all right John um let's go

0:00:48ahead and get started with any um you

0:00:51know I'm not Dan I'm Ryan and uh but we

0:00:55but you still have a big list of stuff

0:00:57you want to talk about I guess we should

0:00:58start out with with some follow-ups from

0:01:00last episode that's right I don't know

0:01:02if did you listen to last episode of

0:01:03that John I listened I listen to every

0:01:06episode even though even if I wasn't

0:01:08doing research as an understudy for Dan

0:01:11actually do a show that's nice that's

0:01:14nice to know

0:01:14so last week we talked a little bit

0:01:17about BBEdit versus textmate versus VI

0:01:21versus Emacs vs. the world and I said a

0:01:26couple things about BBEdit

0:01:28mostly good but one or two things I said

0:01:31was limited one of them was

0:01:32multi-language support so BBEdit has the

0:01:34concept of a language for a document so

0:01:37it's a global setting in the bottom of

0:01:39the document says what what language is

0:01:40this document it's a very big list you

0:01:42can pick from I don't know the full list

0:01:43actually I'll pull it up now and take a

0:01:45look so it's got it's got anything

0:01:46everything from 68k assembler that's the

0:01:49first one that phonetically speaking all

0:01:50the way down to Y amel and about 50

0:01:52things in between so it's got a lot of

0:01:53language support but I was talking about

0:01:55text mates ability to have an awareness

0:01:59of what context it's in within a

0:02:01document so if you're editing an HTML

0:02:02file for example it would know that

0:02:04you're in a Java Script block and load

0:02:07the bundles that are relevant to the

0:02:08JavaScript stuff and you could do a

0:02:09little fancy completion business based

0:02:11on that context

0:02:13um and I was saying I would like more of

0:02:15that from BBEdit because it has support

0:02:19for a huge number of languages but you

0:02:21can't arbitrarily mix them together as

0:02:24textmate seems to be able to do and I

0:02:26also mentioned that in the context of

0:02:27ybb ed it might be so fast because it's

0:02:30not constantly trying to figure out what

0:02:32context everything is in and syntax

0:02:33highlighted at one of 18 different

0:02:35supported languages at all times so I

0:02:37don't know if that has anything to do

0:02:38with why text mech textmate reportedly

0:02:41beachballs when you paste in a huge

0:02:42amount of text but I was just thrown

0:02:46that out there so after I said that very

0:02:48shortly after I said that I was told by

0:02:52the people that know that actually I'm

0:02:54not giving BBEdit enough credit for its

0:02:56multi-language support and this is true

0:02:57so I have a link to a video in the show

0:03:00notes showing BB edits multi-language

0:03:03support in the example in the book I

0:03:05should have thought of since I've done

0:03:06it myself is when you make an HTML

0:03:09document and you pick like the language

0:03:10and the document is HTML so that's a

0:03:12global switch and BB edit for any

0:03:14individual document say this is HTML but

0:03:16within an HTML document BBEdit knows

0:03:19like oh there might be JavaScript in our

0:03:22the might be CSS in an HTML document so

0:03:24the guys that bare-bones actually put

0:03:26together a quick little videos like a

0:03:2730-second video showing hey look at me

0:03:29I'm editing an HTML document and when

0:03:31I'm in this little style block you know

0:03:34between the style tags I get completions

0:03:35based on CSS and when I'm inside the

0:03:38HTML think pollutions based on

0:03:39JavaScript so it just goes to show that

0:03:42VBA continues to have more features than

0:03:45I remember that it has I mean I I you

0:03:48know the thing I was trying to get is

0:03:50that you still can't arbitrarily mix

0:03:52them so you can't have a document that

0:03:53mixes you know tickle with sequel with

0:03:56objective-c

0:03:57with Fortran I mean even though beabea

0:03:59that supports all those languages but

0:04:00for the ones that really count like HTML

0:04:03BB it has hard coded support for these

0:04:05different languages in these different

0:04:06contexts you know I I just I just

0:04:09switched over to BB edit after using

0:04:12textmate for I don't know probably like

0:04:14everyone else what five years or

0:04:15something like that and I can just to

0:04:20come to your defense a little bit as far

0:04:22as

0:04:23you know forgetting maybe some of the

0:04:27features that BBEdit

0:04:27is that I'm just so new to it now that

0:04:30that I'm still discovering and I use

0:04:32BBEdit

0:04:33back in like I think the last time I had

0:04:35used it was like 2003 or 2004 and coming

0:04:40back to it it's just taken me a long

0:04:42time to unpack all these features again

0:04:44I mean BBEdit is it's it's so powerful

0:04:48that that that I didn't I don't use a

0:04:51good chunk of of what it does and so I

0:04:55can see how some of those things might

0:04:56be overlooked and also things for me you

0:04:58know where the whole concept of bundles

0:05:00in in textmate I'm still trying to

0:05:03figure out how how I can make that work

0:05:05in BBEdit the way I was using it before

0:05:07so baby it actually has is the problem

0:05:10for a long time bb-8 here since I'm

0:05:11using BBEdit since the beginning the

0:05:13features that I tend to miss are the

0:05:14ones that they've added and if I don't

0:05:17go and seek them out and like oh I don't

0:05:18need that I'm happy with the way I work

0:05:19and bb-8 I won't know that they're there

0:05:21so completions were added and like I

0:05:23don't know lead version 89 they've been

0:05:24around for a while you guys had all

0:05:26sorts of completion things and they've

0:05:27been improving but since I don't use

0:05:29them because they didn't exist in like

0:05:311995 when I built up all my habits you

0:05:34know I used the HTML tools but I used

0:05:35mostly like keyboard shortcuts for

0:05:37making a new tag and entering the

0:05:39attributes but not so much the

0:05:40completion stuff but that exists and the

0:05:42demo video that I linked to shows in

0:05:45addition to multi language awareness

0:05:46shows the completions in action stuff

0:05:48and I bet there that stuff is not always

0:05:50discoverable you know like if you don't

0:05:52know the key sequences to trigger those

0:05:54completions maybe you won't even know

0:05:56that they're there and so I'm kind of

0:05:57stuck in my rut of this is how I used

0:05:59BBEdit in the the late nineties and if

0:06:02there's some fancy new feature I don't

0:06:04need that and then I just forget

0:06:05completely forget that it exists but it

0:06:06you know there's a lot of stuff in there

0:06:07right and I think a lot of it seems like

0:06:09there's been a lot of people that are

0:06:10kind of switching I know since BBEdit n

0:06:12came out and it was on the Mac App Store

0:06:14I was like I'm going to grab it you know

0:06:15it's it seems like a good time to try

0:06:17now is that I'm trying to use BBEdit

0:06:19like I use textmate and that's probably

0:06:21not the right approach

0:06:23well you can't approximate it like

0:06:26actually in BPI 10 they added a new

0:06:27feature I wish I could remember the name

0:06:29of this was I should have had it on my

0:06:30notes I think they call them packages or

0:06:31something it's very similar to bundles

0:06:34but they didn't use the word bundles

0:06:35where it's a bunch of

0:06:37ancient stuff that you can put in side

0:06:40like self-contained and folder you could

0:06:42like pass around to somebody's eye here

0:06:43here's this cool BB edit package I made

0:06:46that has like a bunch of text filters a

0:06:48bunch of snippets a bunch of new menu

0:06:50commands like you put a bunch of things

0:06:52that extend BB edit together in a single

0:06:54thing that you can share I think this is

0:06:55the first step on you know trying to go

0:06:58down that bundle type path where if you

0:06:59if you make them reusable and you make

0:07:01it so that individuals can package them

0:07:03up then you start to have that social

0:07:04effect that textmate have where people

0:07:05sharing bundles with each other and

0:07:07developing bundles and making

0:07:08repositories of bundles and stuff like

0:07:10that yeah and if they've done that with

0:07:12the themes as well so it's yeah it's a

0:07:16little bit easier now with you can see I

0:07:20guess they call a scheme and so that

0:07:22wasn't always the case right because I

0:07:23think didn't John Gruber didn't you have

0:07:25his BB colors or something like that

0:07:27that he built that allowed you to easily

0:07:28import different schemes and to be

0:07:30beheaded

0:07:31yeah like I'll D these features have

0:07:33mostly always been there and BBEdit the

0:07:35final level step is making the

0:07:37infrastructure so that they're easier to

0:07:39share so you don't give someone 20 page

0:07:41instructions alright I'm going to give

0:07:42you this file put in this directory if I

0:07:43just pop it in that director or write a

0:07:45little try to write an Apple script

0:07:46install you know you just want it to be

0:07:48self-contained like a folder full of

0:07:49stuff that you just chuck in one

0:07:51well-known location and I think they're

0:07:54sort of laying the groundwork for you

0:07:55can imagine several versions from now

0:07:57once the infrastructure is there for all

0:07:59these extension mechanisms to be

0:08:01self-contained then you can actually

0:08:02have the application automating it like

0:08:03you drag one of these dot BB package I

0:08:06don't remember the extension but dragged

0:08:07one of these folders or zip files or

0:08:09something onto the app and it would know

0:08:11what it was and say hey it looks like

0:08:12you're trying to install this thing you

0:08:13want me to install it for you and you

0:08:14never even have to know where the

0:08:16application is putting it so I think

0:08:20that it's smart for them to be laying

0:08:21that groundwork now and it's getting

0:08:23better with every version great what's

0:08:26uh any more follow up from last episode

0:08:28yeah so I also talked about launchers

0:08:30Quicksilver or launch bar all that

0:08:32business and I was talking about how I

0:08:34never got into launch bar despite trying

0:08:37it several times because it appeared in

0:08:39the upper right hand corner and Dan said

0:08:40well you you don't have to have it

0:08:41appear in the upper right hand corner

0:08:42you can put it in the middle so yeah but

0:08:43I said yeah but the middle top right

0:08:45like centered under the middle the menu

0:08:47bar like you could slide it along the

0:08:48menu bar and then we just moved on from

0:08:51and then I quickly after the show that

0:08:52email saying actually you can have

0:08:54launched more dead center on the screen

0:08:56not just centered under the menu bar and

0:08:58I said huh maybe you know I haven't used

0:09:00launch bar in a while maybe this is a

0:09:01new feature of a new version I haven't

0:09:02downloaded so I went to the website and

0:09:05I downloaded the latest version of

0:09:06launch bar and I threw it into my

0:09:08Applications folder and it said would

0:09:10you like to replace the existing version

0:09:11I said yeah you must I've already had an

0:09:12old version so I let it replace the

0:09:14application and then I launch launch bar

0:09:16using Quicksilver whatever launch launch

0:09:19bar and what did I see when launch bar

0:09:21launched the launch bar window dead

0:09:23center on my screen so this means that I

0:09:25had to previously downloaded whatever

0:09:28version of launch bar enabled this

0:09:29feature maybe was three or four who

0:09:31knows how long ago it was put launch bar

0:09:32in the middle of my screen and then

0:09:34completely forgotten that it had the

0:09:35ability to do this oh this is what

0:09:37happens when you get old I guess so yes

0:09:39launch bar can be exactly in the middle

0:09:40of your screen and apparently I knew

0:09:42this because my preferences had launch

0:09:44bar exactly in the middle of my screen

0:09:45but I still never went everywhere from

0:09:47Quicksilver for the other reasons I

0:09:48talked about I like the big icons are

0:09:50like the way it looks I don't want to

0:09:51read text so and so forth lots of Alfred

0:09:54fans out there and as I said in the

0:09:55previous show Alfred is as close as I've

0:09:58come to leaving Quicksilver and sort of

0:09:59the dark times of Quicksilver when it

0:10:01didn't look like anyone was actively

0:10:02maintaining it and it was getting flaky

0:10:03I said I gotta find an alternative and

0:10:05Alfred was the best alternative that I

0:10:06found because I could make it the

0:10:08closest to Quicksilver it had pretty big

0:10:11icons you could put it where you wanted

0:10:12it was you could trim it down to be very

0:10:14simple I really just wanted it to be a

0:10:15launcher really really close I would use

0:10:18Alfred probably if I didn't have a

0:10:20Quicksilver because the things that

0:10:22launch bar does and all those other

0:10:23thing and all the other things the

0:10:24Quicksilver does I'm just not interested

0:10:25in I just want it to be a launcher I

0:10:27believe Alfred also has a million other

0:10:29features but as long as I can ignore

0:10:30them and pare them down and just make it

0:10:31a launcher it's pretty nice one yeah I

0:10:36switch to launch bar for the same reason

0:10:39I switched I'm trying to switch to BB

0:10:41edit which is I was trying to this is

0:10:42back when just like you said when the

0:10:45developer I think went to work for

0:10:46Google for a Quicksilver I think that's

0:10:50what what happened when he kind of just

0:10:52stopped working on the project and I

0:10:53wanted to work on I want to use

0:10:54something that was being maintained and

0:10:56this is before it was picked up by the

0:10:57community but yeah but III do you know

0:11:01the same thing I don't um I don't do a

0:11:04whole lot

0:11:05with launch bar in terms of scripting I

0:11:07have a few that I do but I do a lot

0:11:09where I'm opening files with it

0:11:10especially if it's a file that I have

0:11:11selected in the finder and it's probably

0:11:13the same stuff you can do with

0:11:14Quicksilver too but but I'm definitely a

0:11:17minimalist user of launch bar so I

0:11:20didn't actually know you could have it

0:11:21in another screen I've always had it

0:11:22come from the top middle I'm so on I'm

0:11:25concerning with know how I got it in the

0:11:26center I'm assuming you just drag it

0:11:28there but oh okay that's it see that is

0:11:32it Wow

0:11:33all right there you go just just just a

0:11:35command space so it's a so it shows that

0:11:37I just dragged it and let's see if it'll

0:11:41go away that's it you got it

0:11:43very cool well thanks for that this

0:11:45whole show has just been worth it now

0:11:47and again this side so it's not like

0:11:50someone else dragged it to the middle

0:11:51the screen of my computer it's my

0:11:52account of my computer I must have done

0:11:54it but completely forgot about it

0:11:55and speaking of like you mentioned

0:11:57opening files from the finder that's one

0:11:59utility that I haven't I haven't checked

0:12:01whether it's been ported to line and I

0:12:02really hope it can be ported line is a

0:12:04default folder to use that I don't so

0:12:07that's my go-to for like for example a

0:12:10file that's selected in the finder

0:12:11opening a file at selection in the

0:12:13finder it's an extension to and opened

0:12:15up the open dialog box it's been around

0:12:16since the classic days under various

0:12:19names think we just called the fault

0:12:20folder now it's default folder capital X

0:12:22or 10 or whatever you want to call it

0:12:23and the main thing that it did back in

0:12:26the classic days was it would remember

0:12:29on a per application basis what folder

0:12:31you were last looking at in this

0:12:33application that was the feature that

0:12:34might have been built into applications

0:12:36but you know sometimes it wasn't and

0:12:38it's just maddening like when you know

0:12:40when I'm an image ready

0:12:41dating myself for classic Mac OS web

0:12:43development I manage ready I want to I

0:12:45want to see this folder when I'm opening

0:12:46I when I see this folder when I'm saving

0:12:48but online I'm in my text edit I want to

0:12:50see this folder when I'm opening but

0:12:51this folder when I'm saving and that was

0:12:53basically my default photo of the

0:12:56application it has since expanded to be

0:12:59a much more capable you know it's come

0:13:01over to Mac OS tana obviously has got

0:13:02tons and tons of features and one of my

0:13:04favorite ones that I also used in the

0:13:06classic days and the latter classic days

0:13:07was when you have an open dialog box in

0:13:10front of you you can hold the modifier

0:13:13key and bring your mouse over we're open

0:13:16windows in the finder would be if you

0:13:18know there

0:13:19read underneath all your windows because

0:13:20you got a million apps open and then

0:13:21windows and stuff like that but

0:13:22underneath all of them in the bottom you

0:13:23have a Finder window open and you know

0:13:25that the document you want to open is

0:13:26sitting right in that Finder window

0:13:28that's open but that you can't see well

0:13:29you can all down a modify our keystroke

0:13:31put your mouse over that and it

0:13:33highlights the outline of the Finder

0:13:35window and shows you the name of it and

0:13:36you can click on that ghostly outline of

0:13:38the Finder window that's buried beneath

0:13:39all your other windows and the open

0:13:41dialog box switches to that window whew

0:13:44and it has similar features where you

0:13:46can the old one use that used to be able

0:13:48to like modify click on an individual

0:13:49file that you can see poking out on your

0:13:51desktop or something and it would

0:13:52automatically select that file and it's

0:13:55you know you can pick you can pick from

0:13:56recent folders that you've been in

0:13:57favorite folders get tons and tons of

0:13:59features keyboard shortcuts for all of

0:14:01this the folder you were last and in

0:14:03this application throughout you know I

0:14:04think in history with it I use it all

0:14:07the time and an open dialog box without

0:14:09it is just barbaric to me so default

0:14:13folder X yeah and so I defect on their

0:14:16website and it's they say default folder

0:14:17X 4.4.3 corrects problems for Lion users

0:14:21well there you go so looks like they

0:14:23have a rubies out from the 22nd of July

0:14:26so if anybody's having problems I guess

0:14:29that's a you can go get your your oh

0:14:32it's a paid upgrade there you go oh no

0:14:35its update the update is free but it's

0:14:37part of I guess it's the they're just

0:14:39saying that default 4x4 is a paid

0:14:42upgrade so yeah I think I recently had

0:14:43an upgrade I'm still running Snow

0:14:45Leopard here and I it has an automatic

0:14:46built in updater I think I recently did

0:14:48update it but I guess they didn't look

0:14:49at the changes and the reason I wondered

0:14:51whether it would be compatible or not is

0:14:52because for sandboxed applications in

0:14:55Lion the open dialog box is presented by

0:14:57the power box daemon and not by the

0:14:59application itself and default folder is

0:15:01sort of one of those hacks that latches

0:15:03on to a system function and modifies it

0:15:05I don't know exactly how hacky it is but

0:15:08I'm sure it's something that Apple

0:15:10wishes didn't exist and what I would say

0:15:12to Apple is if you don't want it to

0:15:13exist take all the good features turned

0:15:15if I'm sorry default folder X developer

0:15:17if you doesn't think I'm going to

0:15:19destroy your business but it's like I

0:15:22should put some of this in the show

0:15:23notes I wrote something on my blog at R

0:15:26as years ago called paths in the grass

0:15:29or something like that

0:15:31and I was adopting a story that I heard

0:15:34at a Perl conference that predates that

0:15:37as well and it was about Stanford

0:15:39University I think they said when they

0:15:41built the campus they didn't build any

0:15:43sidewalks it into any paved sidewalks

0:15:44instead they just probably grass

0:15:45everywhere and then they just waited a

0:15:48year to see where on the grass people

0:15:50warpath's from walking between buildings

0:15:52mm-hmm but like what the people pick the

0:15:54most efficient comfortable walking path

0:15:55in terms of the terrain and the hills

0:15:57and and who goes from building X to

0:15:59building Y and then after people had

0:16:01worn the grass down they just built the

0:16:02paths where people had worn the the the

0:16:04grass down that's where they put the

0:16:05cement rather than trying to guess where

0:16:07people might go and putting pavement

0:16:09there and having people not going to pay

0:16:11its path because it's not where they

0:16:12would want to walk and that story is

0:16:14used to justify tons and tons of things

0:16:16I used it to a discussion of taxis those

0:16:20on sanity applications that would be

0:16:22memory resonated inside every running

0:16:23process and modify the processes that do

0:16:25something need these types of hacks like

0:16:28default folder 10 where in order for

0:16:31them to provide the functionality that

0:16:33they provide they have to latch on to

0:16:35some system function sort of illegally

0:16:38but you know in unexpected ways they

0:16:40have to take an existing process like

0:16:41the open dialog box and grab on to it

0:16:44and then I'm going to modify you sort of

0:16:46without your knowledge and consent

0:16:47because that's the only way I can

0:16:48provide my functionality Apple doesn't

0:16:50like those because they compromise the

0:16:52stability of the system where it's like

0:16:53well you know we wrote our application

0:16:55not expecting you to jump into our

0:16:56memory image and display your own little

0:16:58window here or do whatever you know or

0:17:00call internal api's and stuff like that

0:17:01so please don't write those things and

0:17:03of course within the Mac App Store they

0:17:04can enforce it and say this is not a lot

0:17:06of the Mac App Store because it modifies

0:17:09this is a system in ways that we don't

0:17:10agree with or whatever but if users like

0:17:13these functions they will buy these

0:17:15products and you know that was my

0:17:17example of a window shade or default

0:17:20folder 10 or I think is being the paths

0:17:21in the grass where people are walking in

0:17:25that path going in that direction you

0:17:27know because that functionality they

0:17:29want and that's a signal for Apple not

0:17:31to keep replanting grass over there and

0:17:33say no no you can't walk there but to

0:17:34say I guess how people obviously want to

0:17:36do this they want this functionality why

0:17:38don't we take this functionality and

0:17:39build it into the operating system or at

0:17:42least provide clean api's for third

0:17:44party developers or do something

0:17:45you know rather than trying to say you

0:17:47can't modify running applications you

0:17:49can't do these you know that make these

0:17:52in-memory hacks or anything like that

0:17:53you can't inject your code into our

0:17:55applications don't just keep trying to

0:17:57close that door look at why people keep

0:17:59doing this because it's not as if you

0:18:01know some phone writes an application

0:18:03that injects itself into every running

0:18:04application if that becomes very popular

0:18:07it's not because people love injecting

0:18:09code and other applications most people

0:18:11have no idea how it works they just know

0:18:12that it does work in fact they may

0:18:14notice that the stability of their

0:18:15system decreases because they run this

0:18:17but they keep running it why do they

0:18:18keep running it because they really

0:18:19really want you know insert feature here

0:18:21they really really want window shade

0:18:22they really really want the features

0:18:24that default folder ten provides they're

0:18:27not doing it for kicks and they're not

0:18:28doing it despite Apple they're doing it

0:18:30because the functionality is useful so

0:18:32and in all these cases with as a popular

0:18:35if it's default holders like I said it's

0:18:36been around for decades now it's not

0:18:38like this is a fluke it's not like you

0:18:40know some crazy new application it'll be

0:18:42a fad it'll go away people have been

0:18:43using this and paying for it for years

0:18:44and years obviously they want this

0:18:47functionality so Apple if Apple doesn't

0:18:49think this functionality is appropriate

0:18:50for the operating system at the very

0:18:51least provide clean supported hooks for

0:18:54applications like default folder 10 to

0:18:56do what it does because I think now it's

0:18:58too complicated we don't want the open

0:19:00set a dialog box to have them any

0:19:01giggles we think that mouse-over thing

0:19:03we use like finder windows is just to

0:19:05undiscoverable and and it doesn't make

0:19:07sense for the target demographic than we

0:19:10want at least provide hooks at least

0:19:12provide an API is as if you want to

0:19:13extend the open save dialog box we made

0:19:15an officially supported extension

0:19:16mechanism kind of like they did with

0:19:17Safari extensions because there were

0:19:20Safari extensions for years like saft

0:19:22and what was that other one there's a

0:19:23couple other popular ones that extended

0:19:25Safari in quote unquote illegal ways by

0:19:27jamming themselves into the memory image

0:19:29and calling Safari API s and extending

0:19:31stuff and Apple didn't like that and

0:19:33they said no no we'll make a real

0:19:34extension mechanisms officially

0:19:35supported Safari extensions and here's

0:19:37the limited set of things you can do but

0:19:39it covers most of the bases you can have

0:19:40your own little windows you can have

0:19:42your own little preferences you can make

0:19:43toolbar buttons you know most of the

0:19:45things that extensions we're trying to

0:19:47do we will now provide an official

0:19:49mechanism for that was the right thing

0:19:51to do and they should do that in all

0:19:52other cases where there are these paths

0:19:54born in the grass from people walking

0:19:55over and over again to this particular

0:19:57destination more

0:19:58more apps sold in the App Store more

0:20:00happy customers it seems like a logical

0:20:03thing for them to do yeah it still comes

0:20:07down to trade-offs because to build the

0:20:09Safari extension mechanism they had to

0:20:10say alright we're going to we have to

0:20:12come up with an API documentation we

0:20:14have to support it we have to make sure

0:20:16our extensions can't crash the browser

0:20:17like is which which they do some gems

0:20:20yeah I know it there is an effort and

0:20:23there is some comrades I think they felt

0:20:24the pressure to do it with Safari

0:20:25because chrome has extensions Firefox

0:20:27has extensions you know and Firefox had

0:20:29extensions for years and years like

0:20:30there was grease monkey and all his

0:20:31other add-ons so the Safari didn't feel

0:20:33the pressure then but once Firefox had

0:20:36it and chrome had it and Chrome's market

0:20:38share started to pass safaris then it's

0:20:41kind of like okay well as extensions to

0:20:42Safari but window shade they held strong

0:20:45on and I actually stopped using window

0:20:47shade recently just to get the last taxi

0:20:49off my system but I was sad about it I

0:20:50really want to use window shade I like

0:20:52window shade I just don't like the way

0:20:53it has to be implemented and I blame

0:20:55Apple for that not that not the

0:20:57developers I I thank the developers on

0:20:58sanity window shade I would have paid

0:21:00for that every year they had a

0:21:02subscription basis and I still know

0:21:04people who want to use it I think Apple

0:21:06should just either build that into the

0:21:08system or make it a hidden preference or

0:21:10build some sort of easy hook so that it

0:21:11can be added because it's popular with a

0:21:14certain subset of people and again if

0:21:16they don't want to build it in because

0:21:17if you build it in then you're you're

0:21:18crushing a developer it's like oh you

0:21:19said they should add default folder 10s

0:21:21functionality to open save and they did

0:21:22and now that developers out of business

0:21:23so good job there well that happens all

0:21:25the time

0:21:26in the Mac world some feature that was a

0:21:29popular buy application ends up being

0:21:30folded into the OS that's just the way

0:21:34life goes you know some some features

0:21:36you could say well they really shouldn't

0:21:39have built in a Photoshop competitor

0:21:40into the OS because now I don't we can't

0:21:42sell Photoshop and that was a bad move

0:21:44so some things some things are arguably

0:21:47not really appropriate as part of the OS

0:21:49and it's just Apple competing with a

0:21:51third-party boot but if you're extending

0:21:52the open and save dialog box that's

0:21:54clearly a core part of the OS and if

0:21:56anyone's going to enhance the open and

0:21:57save dollar box and Apple has enhanced

0:21:59it in each version of Mac OS 10 but if

0:22:01they're going to further enhance it I

0:22:03would think that the makers of default

0:22:05folder 10 would say you know it's not

0:22:08like we didn't see this coming they're

0:22:09always improving the open save dialog

0:22:11box

0:22:12we're kind of flattered that they stole

0:22:13our features we're sad that we now can't

0:22:15sell this product as much anymore they

0:22:17would prefer to Apple it provided clean

0:22:19hooks to extend it so it was like a

0:22:21third party opportunity for everybody to

0:22:23extend the open save dialog box but so

0:22:25far Apple has done neither no API has

0:22:28not integrated the features so I

0:22:30continue to be a happy customer default

0:22:33folder 10 but not as happy as I would be

0:22:35if any of those other two scenarios we

0:22:39should add a link add that to your list

0:22:41put that in the in the the show links to

0:22:44that

0:22:45yep the 4x10 further there lion support

0:22:49it's important for people that maybe

0:22:50didn't realize that it it worked online

0:22:53so I'm gonna check that out I actually

0:22:55you haven't used a felt product in

0:22:56before so it's one of those things that

0:22:58people from classic know about kind of

0:23:00like window shade because if you came to

0:23:01Mac OS 10 and never use classic you

0:23:03wouldn't know window shade ever existed

0:23:04and you would never seek it out

0:23:05same thing with if you didn't know a

0:23:07default folder didn't know that name or

0:23:08didn't know of the features you wouldn't

0:23:11be seeking out something that does that

0:23:12in Mac OS 10 if you had never used it

0:23:14right so for all of us classic guys we

0:23:17were looking for things that work like

0:23:19or replace or are actually the exam

0:23:21exact product as the things we used in

0:23:23classic one example of that is the I

0:23:26remember complaining a lot about the

0:23:27Apple menu in Mac OS 10 that it wasn't

0:23:30you know the old Apple menu was an older

0:23:32where you could chuck stuff in and then

0:23:34whatever you threw in that folder would

0:23:35appear in the menu so you could make

0:23:36little sub folders full of applications

0:23:38and and stuff like that and you can

0:23:39arrange it together or a custom menu in

0:23:41the upper left hand corner to find

0:23:43frequently accessed items and when Mac

0:23:46OS 10 came out Apple said no you can't

0:23:48customize the Apple menu anymore the

0:23:49contents of the Apple menu is you know

0:23:51it's about this Mac and like three or

0:23:53four other little things and then quit

0:23:55shutdown sleep logout and that's it you

0:23:57can't you can't add stuff to it and a

0:23:59classic Mac OS people like me were

0:24:01saying well that was where I went to

0:24:02launch all my applications and open all

0:24:05my recently used folders and stuff

0:24:07what's the equivalent of that so I'll

0:24:09just throw it in the dock the dock is so

0:24:10much worse the dock takes up this huge

0:24:12amount of space you can't add too many

0:24:13things to it there was no like

0:24:15subfolders initially where you couldn't

0:24:16you know navigate down five levels into

0:24:18the hierarchy

0:24:19why not just use the Apple engine for

0:24:21that and Apple said no no we're not

0:24:22doing that what Apple should have done

0:24:24and what the class

0:24:25like macros people like me eventually

0:24:27did was introduced something better fine

0:24:30you don't like the Apple menu you don't

0:24:31think like people throwing stuff in

0:24:32there you want to use the Apple menu for

0:24:33something else you don't want it all

0:24:34clutter it up fine give us a better

0:24:36alternative and Apple said well our

0:24:37better alternative is the back and you

0:24:40know power user support unquote but like

0:24:43me we're saying that's not as good it's

0:24:45not as good for reasons XY and Z I want

0:24:47something better and when something

0:24:49better came along it wasn't from Apple

0:24:50it was basically for me Quicksilver I

0:24:52can launch with Quicksilver much faster

0:24:54than I ever did could with the classic

0:24:56you know Apple menu that's what I was

0:24:59looking for I was looking for Apple to

0:25:00say you know command space the first few

0:25:02letters your application is going to

0:25:03make you way happier than the

0:25:05customizable Apple in you ever did and

0:25:06that is totally true and so I don't give

0:25:09a thought to the Apple menu anymore I

0:25:10have no bitterness about the Apple man

0:25:12you're not working like it did before

0:25:13because Quicksilver is so much better it

0:25:15does you know even though the

0:25:17functionality seems to be not equivalent

0:25:18it's not a menu full of items you can

0:25:20customize it's not exactly the same

0:25:21mechanism the things I use it for

0:25:24quickly finding and launching

0:25:25applications are the same and that's

0:25:29what I was looking for for Apple way

0:25:30back when when I was complaining about

0:25:31the Apple menu was either keep what

0:25:34we've got or give us something just as

0:25:36good or give us something that's better

0:25:37even if a thing that's better isn't

0:25:38totally different like Quicksilver

0:25:39whoever even thought of that you know

0:25:41command space and then this weird window

0:25:43comes up or you can type stuff it's

0:25:44nonsensical but in practice it in

0:25:46practice it's great so that's another

0:25:48example of the varying scenarios of

0:25:50taking away things that people are used

0:25:52to without providing a replacement it's

0:25:55better if you you can provide a

0:25:56replacement that's that's even better

0:25:58even if it's totally different let's

0:26:01take a break and talk about one of our

0:26:03sponsors for this episode this episode

0:26:05is brought to you by Shopify comm it is

0:26:09the internet's internet's most elegant

0:26:11customizable and affordable hosted

0:26:14ecommerce platform with Shopify you can

0:26:17take advantage of their thriving theme

0:26:19and application community and you can

0:26:22add beauty and depth to your site you

0:26:25know with Shopify and you may not have

0:26:27you might not know this is that you can

0:26:28actually customize your storefront with

0:26:31your own HTML CSS and even if you want

0:26:34you can use your own JavaScript so for

0:26:375x5 listeners for a limited time

0:26:39you can join Shopify and enjoy your

0:26:42first three months for free and to do

0:26:45that when you go join make sure you use

0:26:47the discount code 5x5 that's the number

0:26:505b y and then the number five so be sure

0:26:53to check out out Shopify at Shopify comm

0:26:56which is a shop in minutes and a

0:26:58business for life alright that's so I

0:27:01have the show and follow up I think

0:27:02that's all the follow up I have all

0:27:04right what's new since since the last

0:27:07show what do you got no this we're still

0:27:11believe it or not wending our way

0:27:13through things covered in my lion

0:27:15article I think maybe this will be the

0:27:17last one so this is the the epic article

0:27:21that you do for every major release at

0:27:25at ARS technica that's right and we

0:27:29talked about lots of stuff from that

0:27:31article so far taking a section each

0:27:34show or whatever and there's one section

0:27:36this is something people wanted me to

0:27:38talk about before my line review came

0:27:39out I sort of had a moratorium of

0:27:41talking about lion features on the

0:27:43podcast for house I'll sit you know save

0:27:45it for the review visit if I talked

0:27:47about it I would feel like I was just

0:27:49reading from my review in progress so I

0:27:50just wanted to have a radio silence to

0:27:52the review come out then we have the big

0:27:53review and we can talk about it so

0:27:54people were constantly asking me after

0:27:56WWC you got to talk about this thing

0:27:58called arc when is John gonna talk about

0:27:59arc on the show and I said no no wait

0:28:01for the review to come out and the

0:28:02review came out and then we talked about

0:28:03the review and like four or five shows

0:28:05and still never got the arc so today I

0:28:06think is the day we will finally talk

0:28:09about arc and like all the other things

0:28:12that I've talked about in line you

0:28:15should just go to the e section of my

0:28:17line review and there you will find a

0:28:21pretty big dump of what I have to say

0:28:23about arc so I'm not going to repeat

0:28:25that entire section it's linked in the

0:28:27show notes you should read it you should

0:28:29pause now and read it if you haven't

0:28:31read it because I will assume you have

0:28:32already read it understand it but I'm

0:28:33just going to sort of hear some of the

0:28:35sites this is page 11 for those falling

0:28:37at home on the website I think it's 10 I

0:28:40was saying go to page 10 because 10

0:28:43gives context 11 talks about the

0:28:45specific estar oh you're right you're

0:28:47right you're right yep you are correct

0:28:48page 10 alright so brief recap the

0:28:52reason people were

0:28:53talking people kept asking me to talk

0:28:55about work because I had a previous show

0:28:57which was episode 14 or something let me

0:29:00look at the the notes here

0:29:02oh yes episode 14 was entitled a Dark

0:29:06Age of objective-c I think on this shows

0:29:08book ending 14 on 13 and 15 I also

0:29:11talked about similar issues but what I

0:29:13was discussing was a series of articles

0:29:15I wrote years ago called Copeland 2010

0:29:18which was about how Apple's use of

0:29:21objective-c and cocoa api's which are

0:29:24which is a language and an API created

0:29:26for next computer back in the 90s I

0:29:30guess it 1989 was objective-c and then

0:29:32in the early 90s next and everything how

0:29:34that could end up being a problem for

0:29:37Apple going forward because all of its

0:29:39competitors on the desktop and mobile

0:29:41platforms have languages and api's that

0:29:44are higher level that they don't they

0:29:46don't make the developers deal directly

0:29:49with the memory that their memory safe

0:29:51that they don't require manual

0:29:53allocation of the allocation of memory

0:29:55that they have higher level concepts

0:29:56they're not a superset of C and in the

0:29:59series of articles and in my various

0:30:01follows up follow-ups that series of

0:30:02articles most of which are linked from

0:30:05the arc section of my line review I

0:30:07talked about both sides of it on the one

0:30:09hand Apple using objective-c is an

0:30:13advantage for them particularly in

0:30:14mobile because it's lower level because

0:30:16you can get more efficiency out of it

0:30:17you can mix easily with existing C code

0:30:20and C libraries the cocoa API it being

0:30:24so old is an advantage because mature

0:30:26and time-tested and refined and polished

0:30:28and has you know it's not something

0:30:30brand new debt is untested in real world

0:30:33applications people have been building

0:30:34applications with these next-step api's

0:30:37for years and years before Apple even

0:30:39came along and now it's even better

0:30:40these are all advantages of objective-c

0:30:42and cocoa the disadvantages I was saying

0:30:44is that programming languages just get

0:30:46higher level over time back in the dawn

0:30:50of the Mac huge sections of the

0:30:53operating system and many of the

0:30:54applications were written in assembly

0:30:55which is unheard of today you would

0:30:57never write a GUI application and

0:30:59assembly or anything having to do with

0:31:00the GUI application and assembly except

0:31:01maybe some little tight loop somewhere

0:31:03for some numeric computation but even

0:31:05then it's not that common these days

0:31:07and C and C++ have been dominant for

0:31:10years and years but in in say after in

0:31:14the 2000s whatever you want to call this

0:31:16millennium decade most other development

0:31:19platforms have started to switch away

0:31:22from C C++ to other languages that are

0:31:25higher level so Java obviously came and

0:31:27just covered the earth with a memory

0:31:31safe language where there are no more

0:31:32pointers and there's no more dealing

0:31:34with memory manually this garbage

0:31:36collection it looks a lot cut a lot like

0:31:38C++ and it still got the same kind of

0:31:40bondage and discipline over static

0:31:41typing and stuff like that

0:31:43but you don't have to deal with memory

0:31:44and it's unquestionably a higher-level

0:31:45language than C or C++ and then

0:31:50Microsoft of course says c-sharp in its

0:31:51common language runtime and its various

0:31:53things built on top of that again memory

0:31:55safety similar to C++ very similar to

0:31:59Java but higher-level language

0:32:01constructs like linked to sequel and

0:32:02stuff like that things that are not

0:32:05really easier or even possible in many

0:32:07cases with a low-level language like C

0:32:09and my argument way back when it because

0:32:12it's 2005 or so is that Apple needs a

0:32:15plan here because you don't just come up

0:32:16with a new language and API overnight

0:32:18you can't say well you know objective-c

0:32:19and these next API guys were great but

0:32:21next year we're gonna have a new one you

0:32:22you can't just you know you have to

0:32:24takes years and years and years to

0:32:26transition and you have to make sure you

0:32:28what you're transitioning to is good and

0:32:29say what are they going to transition to

0:32:30it they can they don't want to use a

0:32:31competitor's language they don't use

0:32:33Java for example because back then you

0:32:35know that was Suns thing and you can

0:32:37look at Google using its don't call it

0:32:39Java Java thing on the dalvik VM their

0:32:42current legal woes with Oracle and all

0:32:44that business

0:32:44I don't think Apple wants any part of

0:32:46that the common language runtime there's

0:32:48this mono and net with an open source

0:32:50inhalation of net is this mono runtime

0:32:53and the c-sharp language is standardized

0:32:55but Microsoft mostly controls it does

0:32:57does Apple want to adopt Microsoft's

0:33:00language and API stack probably not I

0:33:02mean they like being masters to the own

0:33:04destiny so I said Apple if you're going

0:33:05to yeah there's going to come a day when

0:33:07the fact that people have to deal with

0:33:09pointers in manual memory allocation is

0:33:11going to be a problem for you and 2005

0:33:14people left so that's ridiculous it's

0:33:15perfectly fine the next developer said

0:33:16we've been doing this for years you

0:33:17don't know what you're talking about our

0:33:18API is are all better than theirs

0:33:19doesn't matter that

0:33:20is higher-level the API suck next up

0:33:22api's are awesome most of that is

0:33:24actually true but you know you can't you

0:33:28can't hold back the tide at a certain

0:33:29point it's just going to become

0:33:30ridiculous to be dealing in a language

0:33:33where you can accidentally scribble all

0:33:34over your own memory or you can

0:33:36accidentally access something off the

0:33:38ends of an array and crash your entire

0:33:40application you know or where you have

0:33:42to manually or allocate memory or retain

0:33:45and release and stuff like that it'll

0:33:47just end up looking silly no I said in

0:33:49later follow-ups that the mobile the

0:33:51dawn of the mobile age has given Apple

0:33:54and extension or stay of execution

0:33:55because on mobile you have less memory

0:33:58less CPU everything else is just tighter

0:34:00and it's kind of like going back in time

0:34:02platform wise say ah season aren't you

0:34:04glad that we have this awesome sea based

0:34:06language and API and we can be fast and

0:34:08memory efficient than our batteries last

0:34:09a long time and our competitors have

0:34:11these VMs they're you eyes aren't smooth

0:34:13because they're garbage collector is

0:34:14running and making everything stutter

0:34:15that has made it more feasible for Apple

0:34:20to stick with this but it all does is

0:34:22delay things so again I started asking

0:34:24now here we are in 2011 so what what's

0:34:26Apple going to do about this it seems

0:34:28like they have a problem here against

0:34:30their competitors and their competitors

0:34:31for the most part I've already paid the

0:34:33very painful price to convert from what

0:34:36they had before to this new thing it's

0:34:37always like a long horrible painful

0:34:39process too fast Microsoft about it

0:34:41Google had the advantage of starting

0:34:42from scratch with a memory manage

0:34:44language they didn't have to deal with

0:34:45that same thing with like webOS or

0:34:47whatever with using HTML and JavaScript

0:34:50and poms platform despite pom apparently

0:34:52not doing well selling devices its OS

0:34:55has gotten nice reviews and its API is

0:34:58not low level like apples in all cases

0:35:00they think they have some native API for

0:35:02making games but they're there GUI API

0:35:04is much higher low so @ww C 2011 Apple

0:35:09made an announcement that they had

0:35:11something called Ark which stands for

0:35:12automatic reference counting now in the

0:35:15thing that I linked to in my lion review

0:35:16I talked all about what is reference

0:35:20counting first not automatic growing

0:35:21scan but just plain old what is

0:35:22reference counting it's a way that it's

0:35:24a convention for managing memory for

0:35:26objects in the next step slash cocoa

0:35:28api's and it's very it's existed for a

0:35:30very long time to be a cocoa developer

0:35:33you used to have to know and

0:35:34understand this stuff it it has to do

0:35:36with retaining a reference to an object

0:35:39that you're going to use and then

0:35:40releasing it when you're done and when

0:35:41nobody else is retaining one then the

0:35:43object gets the allocated automatic

0:35:45reference counting this thing that they

0:35:47introduced is basically the same as

0:35:51reference counting except that you don't

0:35:53have to write the parts where it says

0:35:55retain this release that auto release

0:35:57that the compiler will write it for you

0:36:00so you take your existing program it's

0:36:02just the one you wrote according to the

0:36:03Coco rules with retain release so on and

0:36:05so forth and release and remove all the

0:36:07calls to retain release and auto release

0:36:09just erase them all and then compile

0:36:11your program and the compiler will

0:36:13figure out where it needs to retain

0:36:14where it needs to release and all that

0:36:17stuff so the name is very apt automatic

0:36:19reference counting its reference

0:36:20counting memory it's not a garbage

0:36:21collector it's not anything like Java it

0:36:23doesn't introduce memory safety it

0:36:25doesn't remove pointers doesn't know

0:36:27anything like that all does is say we

0:36:28don't want you guys to have to write

0:36:30this memory management code anymore

0:36:32we'll write it for you and it will be

0:36:34more efficient you'll have to write

0:36:36fewer lines of code and it will be more

0:36:39error-free so that's what arc is and a

0:36:46lot of people are asking me well doesn't

0:36:48it solve the problem you were talking

0:36:49about with this Copeland 2010 business

0:36:51or isn't this their Apple solution to

0:36:54this problem of having a low-level

0:36:55language and my answer mostly is arc is

0:36:59good but and it helps but it doesn't

0:37:02really address the the problem that I

0:37:04was talking about the thing is

0:37:07interesting about arc is that what it

0:37:08does do is reveal that Apple agrees at

0:37:11least to some degree that there is some

0:37:12sort of problem here that they're behind

0:37:13in some regard if they thought

0:37:16everything was fine like our language

0:37:18and API is the best there's no problem

0:37:19with that we are ahead of our

0:37:20competitors in all areas they wouldn't

0:37:22be undertaking an effort like this what

0:37:24what this effort shows is that they

0:37:27agree that there are things about other

0:37:29platforms mobile and desktop then make

0:37:33them more attractive than Apple's

0:37:34platforms and they pick this makes me

0:37:36think that they believe the number one

0:37:38problem that new developers coming over

0:37:40from another platform or something will

0:37:41say is like are I'm going to try to

0:37:42learn how to develop Rio Esther for the

0:37:44Mac or something and they start learning

0:37:45about cocoa and they say I have to do

0:37:47hey release yeah as someone we talked

0:37:51about this over email and as someone who

0:37:53is you know just familiar with with with

0:37:58cocoa development in an iOS development

0:38:01where I've just kind of gone in and and

0:38:03just started becoming familiar with it I

0:38:05describe myself to you as a newbie to it

0:38:07so that I'm not um you know I know what

0:38:10I know what you're talking about but I

0:38:11know exactly what you mean to where I

0:38:13was I was following along you know

0:38:15Stanford does all those those iTunes U

0:38:19videos and I think they have a couple

0:38:21that are on iOS development and there is

0:38:23that whole section it's very early on

0:38:25where they teach you how to how to

0:38:26allocate and deallocate memory and it

0:38:29can definitely be for someone that's

0:38:30coming me from developing for the web

0:38:32it's very much a huge shift yeah and

0:38:35it's so fundamental or used to be so

0:38:36fundamental to object to see that they

0:38:38would teach it to you in like lesson two

0:38:39and you'd be like boy I want to know how

0:38:41to write an app why you telling me about

0:38:42like memory like and especially even for

0:38:44older developers who have been in the

0:38:46business long time they're like I gave

0:38:48that stuff up you know years ago I was

0:38:49so happy they moved to Java or C sharp

0:38:52or whatever I didn't have to deal with

0:38:54that crap and Here I am using the quote

0:38:56unquote world's most advanced operating

0:38:57system which was the slogan for Mac OS

0:38:5810 not iOS but either way I'm using this

0:39:01wizzy new thing on my cool iPhone or my

0:39:03Mac and I have to manually manage memory

0:39:06not it's not that it's that hard and you

0:39:08and their advantages of retaining

0:39:10released memory management over garbage

0:39:12collection in some particular scenarios

0:39:14which Apple loves to emphasize in terms

0:39:16of not having to stall for garbage

0:39:17collector to run and stuff like that but

0:39:19from a developer's perspective

0:39:21especially developer coming from another

0:39:23platform it seems barbaric people don't

0:39:25like going backwards you know and web

0:39:26development again JavaScript you learn

0:39:27to deal with this stuff table scripting

0:39:29what types really so this is a weakness

0:39:33that that Apple is basically admitting

0:39:37exists in their platform because why

0:39:39else would you it you know introduce

0:39:41this initiative to make it so that

0:39:43people don't have to write retain your

0:39:46release code and and not only just

0:39:48making this like an option please go

0:39:49ahead garbage collection for Objective C

0:39:50for a while to and I go into in the line

0:39:53review all the reasons why garbage

0:39:55collection was not a good fit for

0:39:56Objective C but it existed but it was

0:39:58never really promoted that heavily Apple

0:40:01didn't make all fits apps garbage

0:40:02collected it wasn't the officially

0:40:04recommended practice for new application

0:40:06so on and so forth

0:40:07and with ARC it's different with arc

0:40:09when you make if you get Lyon and

0:40:11install the developer tools and say I

0:40:13want to make a new iOS application or

0:40:14new cocoa application it makes it

0:40:16enables arc like it's the default this

0:40:19is the way they want people to write

0:40:20their applications they are committed to

0:40:22it they're going to make it work and

0:40:23they want to remove this whole retaining

0:40:26released business from their platform so

0:40:28it's easier for developers to adopt says

0:40:31less work you know and they want

0:40:32everyone to use it not just newbies but

0:40:33even old guys who know exactly how to do

0:40:36retaining release in their sleep you

0:40:38know everyone makes mistakes even the

0:40:40the old hands at this every once in a

0:40:42while it's like they have to run the

0:40:43leak detection thing so I forgot I'm

0:40:45over releasing here or I forgot to

0:40:47release this or I have a you know a

0:40:49cycle here now that arc doesn't break

0:40:51cycles either reference cycles where a

0:40:52references B&B references a nothing else

0:40:54in the program references them and a and

0:40:56B never go away arc doesn't solve that

0:40:57either you have to it gives you some

0:41:00tools to solve but we can use weak

0:41:01references so that you make a we

0:41:02reference B and then B back to a with a

0:41:04weak reference so that the weak

0:41:06reference doesn't count towards the

0:41:07reference count so that those two things

0:41:08will eventually be the allocated so it

0:41:10gives you tools to do that but you still

0:41:11have to manually create that weak

0:41:13reference remember that a already points

0:41:14to B so when you point B back they don't

0:41:16just make a regular reference make it a

0:41:17weak reference it's it's better than

0:41:21nothing but it's still not like garbage

0:41:22collection which can find break cycles

0:41:23and clean up memory that it notice is

0:41:25not reachable from the rest of the

0:41:26program now and again the I swear my

0:41:29copeland 2010 thing it doesn't make

0:41:31objective-c memory safe it doesn't

0:41:33remove pointers it doesn't do any of

0:41:35those things which mostly what I was

0:41:37talking about it wasn't so much that I

0:41:38was sending Objective C it's a pain

0:41:39because you have to manually manage

0:41:40memory I was saying Objective C is lower

0:41:42level and all the things that go with

0:41:44that the advantages and the

0:41:45disadvantages eventually the

0:41:47disadvantages will start dwarfing the

0:41:48advantages I guess we're still not at

0:41:51that point because Apple's mobile

0:41:53platform and particulate e still is

0:41:54doing extremely well in terms of both

0:41:57perceived in actual performance battery

0:42:00life and a lot of that is attributable

0:42:02to its use of low-level language so I

0:42:05don't know when this day reckoning will

0:42:06come and I don't know what Apple's plans

0:42:08are the very end of the line arc my of

0:42:11my line read where I talk about arc I

0:42:12said well but you know let's let's

0:42:14crystal ball this

0:42:14so what does this say about Apple's

0:42:16future what are they planning on doing

0:42:17and my tea leaf reading is that all

0:42:21right so this this says that Apple

0:42:22realizes this some sort of problem so

0:42:24I'm going to extrapolate from that and

0:42:25say that they realize that they can't

0:42:27stick with objective-c

0:42:27forever like this is not not just that

0:42:31Objective C has one or two disadvantages

0:42:32but that they realize the full extent to

0:42:35which Objective C is behind other

0:42:37languages you know they realize the

0:42:39advantages as well which is why they

0:42:40didn't go with garbage collection or you

0:42:41know they said that we want to retain

0:42:43our advantages for as long as possible

0:42:45but we want to minimize your

0:42:46disadvantage but eventually we're going

0:42:47to have to make that leap so that's my

0:42:48first tea leaf reading is that Apple

0:42:50realizes there there is a better way and

0:42:53they want to get to that better way

0:42:55somehow the second thing I'm reading the

0:42:57tea leaves here is that the Apple is not

0:42:59a believer in virtual machines and

0:43:03garbage collection for the sake of

0:43:04saying we have a virtual machine garbage

0:43:06collection so you know dalvik on the

0:43:09Android platform has a virtual machine

0:43:11has garbage collection c-sharp the

0:43:12common language runtime dotnet this

0:43:14garbage collection in a virtual machine

0:43:16Apple has is not creating a virtual

0:43:19machine as far as I could tell and you

0:43:21know and they don't seem to be big fans

0:43:23of garbage collection as in runtime

0:43:25garbage collection but there's some

0:43:26other process while your program is

0:43:27running that finds that memory that's

0:43:28not for referenced anymore and gathers

0:43:30it up into the allocates it and so I

0:43:33extrapolate from all that and say the

0:43:36next thing Apple will probably do or own

0:43:38the next thing but where Apple is

0:43:40probably going is a memory safe compiled

0:43:44language that deals with it that is kind

0:43:50of like the parts of objective-c that

0:43:52cocoa programmers use so in Objective C

0:43:55program you could do anything you can do

0:43:56in a C program you could you know start

0:43:57filling with pointers you could have

0:43:59native C arrays and stuff like that but

0:44:01what Apple wants you to do with the API

0:44:03is you know don't use C arrays yes C has

0:44:05support for a raise you can use little

0:44:06angle brackets to do pointer arithmetic

0:44:07for you it looks like you're accessing

0:44:09an element but it's just math isn't that

0:44:11wonderful all right they say no use NS

0:44:13array or NS mutable array that's our

0:44:15collection class right and same thing

0:44:17with strings yes you can do a pointer to

0:44:19a character and have it be a string and

0:44:21use an alternation don't do that using a

0:44:22string we have a class for that right

0:44:25most of the things that you can do in

0:44:27Objective C program

0:44:28doesn't want you to do when you're

0:44:29writing your GUI app they say call our

0:44:31cocoa API is use our collection classes

0:44:33use our syntax don't you see now you can

0:44:35imagine a language that is to to borrow

0:44:39a phrase from another thing a link in

0:44:41the show notes Objective C without the C

0:44:43where you've got the Objective C api's

0:44:46but you don't have the ability to drop

0:44:49all the way down and to see and then you

0:44:50can make the Objective C API is memory

0:44:52safe where if you're just dealing with

0:44:55objects and you're just calling methods

0:44:56and just using the native collection

0:44:57classes there's no reason to ever to

0:44:59have a role pointer to memory or to ever

0:45:02dereference one or anything like that no

0:45:03yes uh you know Objective C objects are

0:45:05technically pointers one of the covers

0:45:07is on and so forth but I can imagine

0:45:08Apple moving in steps like further

0:45:10ratcheting down the clamps on Objective

0:45:13C because even an arc you can't do

0:45:14certain things an arc you can't have

0:45:16like Africa but the limitations are

0:45:18there's a bunch of limitations well you

0:45:19can't take a you know an NS object or

0:45:22something a pointer to an object and

0:45:23shove it inside a C struct because I

0:45:24can't keep track of it anymore other

0:45:27restrictions on what you can and can't

0:45:28do that you could technically do in a C

0:45:29program but when arc is enabled they say

0:45:31actually we're going to disallow that

0:45:32because we can't make arc work if you

0:45:35can do that we lose track of your stuff

0:45:36so that's not allowed so they're they're

0:45:38adding restrictions to the language to

0:45:40enable more advanced features and I can

0:45:41imagine them adding more and more

0:45:43restrictions until on a per file basis

0:45:46even in like a per lexical scope basis

0:45:48saying in this part of the code here all

0:45:50you can do is call Objective C api's you

0:45:53can't do any of that straight C stuff

0:45:55and in this M in exchange for that or

0:45:57those restrictions you have memory

0:45:58safety and maybe you even have a

0:46:00different syntax and maybe they even

0:46:01give it a name that's a different

0:46:02language right it's some point I think

0:46:05they're come out and say apples new

0:46:06language is blah and what it really is

0:46:08is a way to call cocoa api's in it with

0:46:12language that's memory safe now every

0:46:13time I bring this up everyone says Ruby

0:46:15cocoa or not Ruby cocoa but Mac Ruby and

0:46:17the various other bridge type things Mac

0:46:19Ruby being that the most popular because

0:46:22Mac Ruby Bridges from Ruby collection

0:46:24classes to cocoa glasses where you can

0:46:26program in Ruby which is memory safe

0:46:27right and when you access a Ruby array

0:46:30it uses NS arrays under the covers and

0:46:31then Ruby strings or any strings under

0:46:33the covers and stuff like that I've said

0:46:35in many shows that I am down on bridge

0:46:37languages I don't think that's the way

0:46:39Apple will go even though it's a pretty

0:46:41good bridge and even though they are

0:46:42bridging the collection classes and

0:46:43stuff - under the covers be at Ruby

0:46:45objects or objective-c objects and other

0:46:47covers I think they're more likely to

0:46:50carve out a little language out of the

0:46:53middle out of the heart of objective-c

0:46:55and say this is our new language whether

0:46:57they give it a new name whether they

0:46:58give it a new syntax you know whether

0:47:00it's a file scope thing or a lexical

0:47:02scope thing or a whole program thing I

0:47:03don't know but I think that's the

0:47:05direction they're going but in small

0:47:06little steps is what you're saying and

0:47:08so it's not that yeah because I can't do

0:47:09a a big a big shift and John is there I

0:47:14mean do you think there's even a the

0:47:18demand for this for this you know

0:47:20obviously Ark is probably going to be

0:47:22welcomed by a lot of developers

0:47:23especially those that are new to to

0:47:25working in cocoa framework but do you

0:47:28think there's even a demand for this

0:47:29type of change or or is this I guess I'm

0:47:33asking because I wonder if if the the

0:47:36low-level nosov of working with

0:47:39objective-c and cocoa is is that keeping

0:47:42people from from developing on the

0:47:43platform I mean there's thousands of

0:47:44developers putting stuff in the in the

0:47:46App Store's yeah one of this is a quote

0:47:49from the arc section of my review and it

0:47:53has a link to a great talk by Ed Catmull

0:47:55Pixar which I have promoted on this show

0:47:57many times and have told people seems

0:47:59incredibly boring and is really long but

0:48:01you should just watch it and listen to

0:48:03the whole thing it's very enlightening

0:48:04and the quote is this is quote from my

0:48:07review success hides problems and Apple

0:48:10has been so very successful in recent

0:48:12years that is success hides problems as

0:48:14a direct quote from that Ed Catmull talk

0:48:15and it's totally true

0:48:16Apple has been enormous ly successful

0:48:19with its mobile platform with iOS but

0:48:21success hides problems it doesn't say

0:48:23well it doesn't prove that they have no

0:48:25problems because they've been successful

0:48:26sort of I figure which fallacy that it's

0:48:28not appeal to Authority but it's one of

0:48:29those ones their success hides their

0:48:33problems people are coming to iOS and

0:48:35dealing with retaining release not

0:48:37because they think retaining release are

0:48:38awesome but because that's where the

0:48:39money is that's where the success is

0:48:41that's you know they've sold a lot of

0:48:42devices you know and yes there are

0:48:44people who love cocoa love the next

0:48:47api's and were writing next apps when

0:48:50there was like three users in the entire

0:48:52universe and they still loved it and

0:48:53still said it was the best and maybe

0:48:54you'll never be able to convince those

0:48:56people

0:48:56that that that arc is good there the

0:48:58synthesized attributes ooh good yeah it

0:49:00was always the old developer to say I've

0:49:01been doing this way for decades and I

0:49:03think this way is better and all this

0:49:04newfangled stuff is crap if you can't

0:49:06convince them you know what can you do

0:49:07it's Apple has always been focused on

0:49:10the future and they continue to be

0:49:11they're focused on the new developer

0:49:12who's maybe never developed anything

0:49:14before and they are confused by

0:49:16retaining release or maybe they're

0:49:17coming from another mobile platform

0:49:18another desktop platform and they are

0:49:19disgusted by retaining release and the

0:49:21old next guys say oh you don't know what

0:49:23you're talking about go back to your

0:49:24crappy platform our API so awesome you

0:49:26should you know you should just like it

0:49:27right and look how successful we are

0:49:28obviously what we're doing is better

0:49:29because we've been some you know you

0:49:32have to focus on the future

0:49:34so whether there's a demand or not Apple

0:49:37Apple has to move forward and the path

0:49:39forward is pretty clear in the manual

0:49:42memory management I hope for my

0:49:44grandchildren it's not something they

0:49:45have to deal with in the same way that

0:49:46you know the people who are programmed

0:49:49computers with toggle switches or punch

0:49:51cards that boy I hope my kids don't have

0:49:52to use punch cards and we don't we get

0:49:54to type into you know a text editor and

0:49:57we got a compiler you know we don't have

0:49:58to you don't have to deal with that

0:50:00stuff but even the people are writing

0:50:01assembler I hope we're saying boy I hope

0:50:03people don't have to write thousands and

0:50:04thousands and thousands and thousands of

0:50:06lines of assembler to write an operating

0:50:07system or GUI application or anything

0:50:09like that in the future and we don't we

0:50:11have higher-level languages it only gets

0:50:13higher level right and it's going to

0:50:14happen and it's really really difficult

0:50:17to transition that's the most dangerous

0:50:18time for a company that's that's the

0:50:20that's why Apple I think is doing this

0:50:21slowly in steps because you have to have

0:50:24such an investment in in cocoa and those

0:50:28API is that were derived from next in

0:50:29the compiled they wrote their own

0:50:30compiler right and that's what they're

0:50:32building arc on top of well they adopted

0:50:34LVM and then made it into their own

0:50:36compiler right they have such a huge

0:50:38investment you can just throw that away

0:50:40and say okay well actually now the new

0:50:42we have a new API and a new language and

0:50:44here's this new thing that's so so hard

0:50:46to do which is why I was freaking out

0:50:47about it in 2005 because I know how hard

0:50:49it is to do and if you're gonna do it

0:50:51you got to go on like the ten year plan

0:50:52you can't be on like the the six month

0:50:55plan where you're going to turn it

0:50:56around so I think arc is just the most

0:50:58recent step in what I hope what I

0:51:00sincerely hope is like some two three

0:51:02four five ten year plan inside Apple to

0:51:05get from where they are now to where

0:51:06they want to be with the minimum

0:51:09disruption to their

0:51:10platform to the developers who got them

0:51:12here to the old next guys or to the

0:51:14people came over from classic American

0:51:15West those are the people that sort of

0:51:16got Apple to where they are apples

0:51:18looking to the future but doesn't to

0:51:19piss those guys off either so it has to

0:51:21do it in a series of steps and a certain

0:51:23point there'll be a discontinuity

0:51:24whether that's a marketing discontinuity

0:51:26whether they just simply say we have a

0:51:27new name

0:51:28for the restricted subset of Jeff you

0:51:30see that we want you to write cocoa

0:51:32things and by the way with a new name we

0:51:34introduce a new syntax is mostly window

0:51:35dressing you know it's the semantics of

0:51:37the language make a difference but at a

0:51:38certain point they could introduce a new

0:51:40syntax because they've changed the

0:51:41semantics so much that you don't need to

0:51:42ever use pointer stuff so the fact that

0:51:44you have little stars in front of all

0:51:45your object quote-unquote object

0:51:47declarations is making reminding you

0:51:49that there are pointers to you know

0:51:51there see pointers and new developers

0:51:53using one of these stars all here for

0:51:54biz they never even heard of C like

0:51:55that's the point where you might think

0:51:56about changing the syntax because it's

0:51:59just noise that's not relevant to

0:52:01current development let's go ahead and

0:52:03take another break and talk about our

0:52:04second sponsor for this episode of

0:52:07hypercritical and that is Rackspace now

0:52:11Rackspace has been sponsoring

0:52:12five-by-five now for almost a year and

0:52:15I'm hearing from more and more people

0:52:16about how simple Rackspace cloud is to

0:52:19use to host websites and applications

0:52:21and what people always come back to is

0:52:24the fanatical support that Rackspace

0:52:26offers to its customers so there's ever

0:52:28a problem Rackspace is there to help dan

0:52:32has gotten emails from 5x5 listeners

0:52:34about Rackspace and he shared those with

0:52:36me and I want to share those with you so

0:52:39let's go ahead and want to read an email

0:52:42to you from Chris Gorman who is a

0:52:45listener and he says Rackspace is

0:52:47awesome they are the most reliable and

0:52:49helpful server company I have ever

0:52:51worked with I used them for my first net

0:52:53admin position fresh out of college and

0:52:56he says I ask them all sorts of dumb

0:52:57questions and they always helped me with

0:53:00a smile so if you're building a website

0:53:03or application you should definitely

0:53:05check out Rackspace go to Rackspace comm

0:53:08slash 5x5 so it's not about today or

0:53:13next year that's probably the point

0:53:14you're making in 2005 which is it's it's

0:53:17for as as new crops developers you know

0:53:20come out of school there there's you

0:53:22know maybe our

0:53:23going to be so accustomed to to this

0:53:25type of development anymore and so to

0:53:28keep ahead of it then Apple needs to

0:53:30make some changes you at the last line I

0:53:32think of the of the arc section of your

0:53:36review you said the next few years of

0:53:39WWDC could be interesting

0:53:41so maybe are you hinting that maybe

0:53:42they're going to be rolling out

0:53:43something one or two new things per year

0:53:46perhaps well so they didn't pass WABC as

0:53:49they did stuff like the property syntax

0:53:51where instead of doing objects arrow you

0:53:53know - greater than sign value which is

0:53:56the pointer dereference access stuff

0:53:59like that you could do a dot syntax and

0:54:02the dot was a new syntax they added for

0:54:04accessing properties and so instead of

0:54:06calling uh not instead of the arrow

0:54:08sorry instead of calling the instead of

0:54:10sending the get foo message you could do

0:54:13object dot foo and it would under the

0:54:16covers call the method for you and stuff

0:54:17like that it was a different syntax for

0:54:19common operation for dealing with

0:54:20attributes and a lot of and this was

0:54:22this is not this year this was maybe

0:54:23last year or the year before that and a

0:54:25lot of seasons objective-c developers

0:54:26said why would I just call you know get

0:54:28foo with my square brackets the way I

0:54:30always have or set foo and then you know

0:54:31with value blah blah why would I use

0:54:33this dot syntax on the assignment it

0:54:35looks weird to me it looks like it looks

0:54:36like I'm accessing a structure element

0:54:38but I'm not and it looks kind of like

0:54:41c-sharp or Java or some other syntax

0:54:44that our JavaScript and that's not the

0:54:46way I like I want my objective seat you

0:54:47know there was pushback on that but that

0:54:50was that was a baby step in this

0:54:51direction of you know what are the

0:54:54things that annoy people well people

0:54:55don't like to do getting set they like

0:54:56this dot access of attributes so let's

0:54:59provide that and they don't like

0:55:00declaring things in seven places where

0:55:01you got to do it in the header file then

0:55:02you got to do the implementation you got

0:55:04to make sure they're all in sync and

0:55:05sometimes writing getters and setters is

0:55:07just boilerplate where you're copying

0:55:09pasting the same code over and over

0:55:10again with some names change so let's

0:55:11have a synthesize thing where we can

0:55:13make that code for you and like tiny

0:55:15little steps and at every one of those

0:55:16tiny little steps people grumble and

0:55:19complain and say well here the

0:55:20disadvantages of it versus doing it

0:55:22manually but then eventually sometimes

0:55:23you know you'll see an objective-c

0:55:25developer say I didn't use properties

0:55:27but I finally came around doing and

0:55:28makes things so much easier or you know

0:55:30and any of these things they introduce

0:55:31there's always push back so

0:55:33arc is just one more step arc is not the

0:55:36first

0:55:37it's the biggest step so far because

0:55:38those other things like here are ways to

0:55:41save you typing and we will do stuff

0:55:42that we think you would have typed

0:55:44anyway if you don't want to do it fine

0:55:45type it all out the same way you always

0:55:46did arc is the first time or the saying

0:55:48you actually can't type retain and

0:55:50release anymore run under arc which is

0:55:51the recommended way to do things and you

0:55:52were taking away retain and release from

0:55:55you we're going to handle it just follow

0:55:56these conventions you can do another

0:55:58profile basis and a pro project basis

0:56:00you know it's not like garbage

0:56:01collection where it's global so we want

0:56:02you to adopt it we have a thing in the

0:56:05ID that says make this are compatible

0:56:07and it'll go and erase all your retains

0:56:09and release and convert your project to

0:56:11it you know we're trying to help trying

0:56:12to make bring people along but arc is

0:56:14the first really big step in that

0:56:17direction I say the next years are going

0:56:18to be interesting because I assume this

0:56:21rate of change will accelerate not get

0:56:23slower like they spent many many years

0:56:24getting off GCC which was their old

0:56:26compiler the open source new compiler

0:56:28GCC sampark a new compiler something or

0:56:31other which starts with a C and you know

0:56:33they adopted LLVM and they made their

0:56:36own compiler out of it and that took a

0:56:37long time because they wanted to make

0:56:39their compiler GCC compatible but better

0:56:41than GCC in every possible way they

0:56:42could I think that they paid that price

0:56:45now that they've they did that work and

0:56:47now they're finally free to start

0:56:48running you know and I don't know how

0:56:50long it took them to develop arc but it

0:56:52strikes me as the first thing they could

0:56:54do once I got their head above water

0:56:56with GCC that five GCC is gone all right

0:56:58now finally we have the compiler

0:57:00infrastructure that we always wanted

0:57:01everything's nice and clean and easy to

0:57:03extend what's the first thing we're

0:57:03going to do and the first thing I did

0:57:05was attack retain release right so next

0:57:06year who knows what they'll have in

0:57:08store for us and the year after that and

0:57:09the year after that I expect the rate of

0:57:11change to accelerate towards some

0:57:14unknown destination it sounds it sounds

0:57:19exciting

0:57:20and maybe a good place to to wrap up did

0:57:24you have anything else on on the list

0:57:25for today or do you think that arc was

0:57:27was enough remain the main thing I

0:57:30wanted to get you though people

0:57:31I did mention on past shows that I had a

0:57:3410 word review ten word joke review of

0:57:38line because back when we were talking

0:57:39about how long my lion review was I

0:57:41mentioned that I had a short version of

0:57:43it a friend of mine said I don't want to

0:57:45read your whole line of you can you give

0:57:46me the ten word summary so I did I made

0:57:49a ten word summary

0:57:51this is mostly a joke and it contains a

0:57:53curse word which Dan will not like me to

0:57:55say so I will abbreviate the curse word

0:57:57so we all won't have to be bleeped two

0:57:59people can I was getting ready to mark

0:58:01you on the know I'm not gonna Margot I'm

0:58:03gonna say okay good alright so this is

0:58:06what I originally wrote and I will give

0:58:07you the amendment oh this is the 10 word

0:58:09version upgrade but not right away

0:58:12change is scary effing iOS now I'll

0:58:18unpack this briefly alright so the

0:58:19upgrade but not right away it makes it

0:58:21seem like oh you saying we should hold

0:58:23off cuz it's not good and I shouldn't in

0:58:24I always don't upgrade personally right

0:58:28away like my machines are still running

0:58:30Snow Leopard now and I've talked about

0:58:31this on past shows just because I say in

0:58:33the review the operating system is good

0:58:34and that you should upgrade doesn't mean

0:58:35you should upgrade the day it's released

0:58:37like wait a while see that all your

0:58:38applications are compatible let other

0:58:40people find out what the problems are

0:58:41this is not just Lion every OS release

0:58:44I've always said you don't you're best

0:58:47off waiting a little bit make sure don't

0:58:50don't just guess you know don't upgrade

0:58:51and then find out what's uncle because

0:58:53you can't revert easily at the restore

0:58:54from a backup right you can find out if

0:58:57your apps are compatible go to the

0:58:58developers page like for example before

0:59:00I upgrade the line I would go to the

0:59:01default folder tens page and say is this

0:59:03compatible is that you know all your

0:59:04favorite applications find out they're

0:59:06compatible read the reviews read the

0:59:08reviews first and find out the no you

0:59:10can't run PowerPC applications online

0:59:12find out if you have any PowerPC

0:59:14applications if you don't know how to

0:59:15find out if you have any PowerPC

0:59:16applications Google for Mac OS 10 fine

0:59:19PowerPC application like there are some

0:59:21lists out there that people have been

0:59:22keeping yep

0:59:23right so the my little my first part of

0:59:25upgrade but not right away I could put

0:59:28that in the front of almost every Mac OS

0:59:2910 review upgrade is me saying this is

0:59:31an improvement over the past version I

0:59:32like it a likely direction are taking

0:59:33the operating system the but right not

0:59:35right away is a reminder that like all

0:59:37operating system upgrades

0:59:38don't be nuts and go out there the day

0:59:40it comes out and just installed on your

0:59:41machine and cry when everything breaks

0:59:43like

0:59:43caution is recommended I have to at the

0:59:45end of you make some sort of

0:59:47recommendation like thumbs up thumbs

0:59:48down I give lion a thumbs up but like

0:59:51all operating systems and all big

0:59:52changes like don't don't rush out and

0:59:54upgrade everything and then be sad when

0:59:56things break find out first you have the

0:59:58tools to do it do it

0:59:58tools to do it do it

1:00:00change is scary is the next three words

1:00:01and that's the whole bit about you know

1:00:04changing scrolling and the iOS type

1:00:06behaviors and you know trying to remove

1:00:10the number of things that users have to

1:00:11be concerned about trying to make users

1:00:14take users out of the business of

1:00:15remembering what Windows they open

1:00:16taking users out of the business of

1:00:18managing applications memory and

1:00:20quitting them when they don't want to

1:00:22run them anymore

1:00:22and relaunching them when they need them

1:00:24and all that business like that's change

1:00:28is always scary sometimes it's good

1:00:30sometimes it's bad but it's hard to

1:00:31distinguish especially on day one which

1:00:34one of these changes is going to be

1:00:35something that ten years from now will

1:00:37say god can't believe we ever did it the

1:00:38other way or will say this was a

1:00:40terrible mishap and they have to you

1:00:42know back they go back on that and then

1:00:45the final part was effing iOS and that

1:00:47is a meant to be vaguely humorous

1:00:50reference to the fact that most of the

1:00:52things that people don't like about Lion

1:00:54are due to the influence of iowa's so

1:00:57let's list it so scrolling yeah that the

1:01:00the automatic quitting of applications

1:01:03the gestures all right well maybe not so

1:01:05much the gestures but gestures to

1:01:07gestures for you know changing all the

1:01:09gestures and stuff that the

1:01:10simplification of spaces and everything

1:01:12in Mission Control and like it's iOS has

1:01:15influences everywhere in Lion and

1:01:17whether those changes turn out to be

1:01:19good or bad long term if you're going to

1:01:22lay blame for why it's this line thing

1:01:24annoying me it's basically iOS s fault

1:01:26so the effing iOS there is the that I

1:01:28actually added that because I have the

1:01:30eight word review and I add that in

1:01:31there because it's like we all are upset

1:01:34when someone moves our cheese right

1:01:36where things aren't quite the way we

1:01:38want them to be and I believe that some

1:01:40of these changes in Lion are

1:01:42inappropriate for desktop operating

1:01:44system or at least inappropriate from

1:01:45one running on the 30-inch monitor or

1:01:47something and you know and I blame those

1:01:51changes on the success of iOS and on iOS

1:01:53coming back there now most of the things

1:01:55I think are actually good you know the

1:01:56things that iOS are doing is a proof of

1:01:57concept saying see computing can be like

1:02:00this and it's better at the vast

1:02:01majority of them I believe that to be

1:02:02the case but it still doesn't mean that

1:02:04people aren't going to be all cranky

1:02:06about it and when they're cranky about

1:02:07it that's the sentiment F in iOS I was

1:02:10getting all inside my Mac

1:02:12nestle change my scrolling yeah I mean

1:02:15even to the scroll Direction isn't it

1:02:16you know that's that's my ten read

1:02:18review upgrade but not right away

1:02:20changes gary effing iOS much shorter to

1:02:23read even my expansion of it was shorter

1:02:25than ringer you recommend reading the

1:02:27review if you want a slightly more

1:02:29nuanced and less glib take on the

1:02:31operating system i also recommend the

1:02:33review it's um it's a great tape it's a

1:02:37great book into all the little pieces

1:02:39especially for people that really like

1:02:41that are the listeners are the show that

1:02:43really like to know every every small

1:02:47bit and then you know read some

1:02:48intelligent commentary on on all the

1:02:51different changes in in lion

1:02:53so john are just a wrap-up are you going

1:02:56to upgrade soon then I mean it's been

1:02:58what a month

1:02:58yeah I'm still the main thing is holding

1:03:02me back on my home max is quicken which

1:03:04I used oh I think you've been you were I

1:03:06don't talk about doing the podcast with

1:03:08Dan or on Twitter but yeah I do remember

1:03:10you talking about yeah so I've been

1:03:11auditioning changes that I've looked at

1:03:13a couple of them I haven't pulled the

1:03:15trigger on any of them yet I made I

1:03:18don't know it's not a long term solution

1:03:19but I may just leave an old Mac running

1:03:22yeah yeah you know but other than that

1:03:24I've also been checking my all my

1:03:26applications and updating them all and

1:03:28I'm getting there I'm in no hurry to

1:03:30switch to lion mmm one of the other

1:03:32things that holding me back is I have a

1:03:33lot of compiled UNIX software I have ten

1:03:37different databases compiled and often

1:03:40various directories several versions of

1:03:41my sequel and Postgres and stuff and

1:03:43several versions of Perl or hiding in

1:03:45there and God knows what else I have

1:03:46custom versions of read line I have lots

1:03:48of you compiled UNIX software I want to

1:03:51make sure all that will build cleanly on

1:03:53line before I go or because s when I

1:03:55upgrade it's not just me upgrade and

1:03:56then I got to go back in and make sure

1:03:57my existing installs and user local

1:03:59they'll still be fine they'll be there

1:04:01but do they all work and is it now is

1:04:03usually the time where I bite the bullet

1:04:04and say okay now it's time for me to

1:04:05upgrade my install Perl from like 512 to

1:04:07514 2 or whatever the latest is stuff

1:04:10like that for developers is not just

1:04:11about whether you like the scrolling or

1:04:13not it's whether you can actually like

1:04:15jump back in and do your development

1:04:16work is your environment set up exactly

1:04:18how you want it right and that's even

1:04:19more so at work it works even worse

1:04:21because you know I have at home I break

1:04:23it it's okay but at work I can't it'll

1:04:25you know

1:04:25I need to be able to do my work on the

1:04:28work machine so and also at work I have

1:04:30requirements to have my disk encrypted

1:04:31and I use PGP for that now so I have to

1:04:34go through the IT department say hey is

1:04:36it okay if I upgrade to Lion if I use

1:04:38the built-in encryption is that you know

1:04:40certified for use at the company there's

1:04:42a whole bunch of bureaucratic business

1:04:44of delaying me at work so I'll probably

1:04:47upgrade at home within the next few

1:04:49months if I get around to visit it's

1:04:51also like set aside several hours in one

1:04:53day for me to do the upgrade and make

1:04:55sure everything works you know because I

1:04:57don't want to just like throw the

1:04:58upgrade on there and then everything

1:04:59breaks and not have time to to fix stuff

1:05:02you need to set aside a weekend to make

1:05:05that happen

1:05:06yeah at least if you have multiple

1:05:08machines yeah actually if I I just got a

1:05:11new machine for my wife so hers will

1:05:12come with Lion so hey I don't have to

1:05:14upgrade her and her old machine will

1:05:15probably be the quicken machine in in

1:05:17the near term but obviously that's not a

1:05:18long-term solution because eventually

1:05:20that machine's gonna die or break or you

1:05:22know you can't be running quicken and in

1:05:24you know ten years from now on that old

1:05:26Mac yeah especially since and this is

1:05:28that the whole financial software thing

1:05:31is probably a whole whole topic for a

1:05:32whole show but you know they they see

1:05:36supporting certain versions too after a

1:05:37while as far as interacting with banks

1:05:40and stuff like that so eventually yes

1:05:41certain and I yeah so I'm still I'm

1:05:45holding off not for reasons that having

1:05:47to do with line mostly just to have to

1:05:49do with the amount of time I have to

1:05:50deal with it and laziness and you know

1:05:53it has to be said general satisfaction

1:05:55with Snow Leopard like Snow Leopard

1:05:57works I never had any problems I haven't

1:05:59had a kernel panic on this Mac Pro in

1:06:01like two years I can't remember the last

1:06:03time I had one it's like a disruption to

1:06:06my environment you know and the thing is

1:06:08I'm already at the point now where I

1:06:10want upgrade to use this is what happens

1:06:12when new versions of applications come

1:06:14out and you're like aw man I want to

1:06:15check that always lion only like it's

1:06:17already happening even though it's not

1:06:18lying only that like online it has some

1:06:20like solver which I love I should I wish

1:06:22these guys would sponsor the program

1:06:24there I don't they don't have to sponsor

1:06:26it because everyone raves about it I

1:06:27think Marco raves about him too on

1:06:28Twitter yes sou lver awesome application

1:06:33changed my life when I found it he has

1:06:35been making lion updates where does

1:06:36automatic restore and stuff and I hate

1:06:38saving my solver she

1:06:39I hate the little red dot in the thing

1:06:40and I hate when I quit solver I gotta

1:06:42remember to save the sheet and stuff

1:06:43like that he's already made lion updates

1:06:45to his app that I assume include resume

1:06:47and autosave and stuff like that and I

1:06:48want to use them now it's like I'm

1:06:50already getting that itch

1:06:51I want to be running lion so I can see

1:06:53the cool new features and the

1:06:55applications that I already have so it's

1:06:57only a matter of time before I succumb

1:06:59to the to upgrade fever great well that

1:07:02sounds like a good place to to wrap up

1:07:05for for this episode

1:07:07as always I'm sure people know how to

1:07:10get a hold of you I assume they probably

1:07:13go to five by five slash contact I don't

1:07:18know where they do is that contact form

1:07:19thing oh yeah somewhere people are

1:07:21finding it buzz it get the feedback yes

1:07:22my five dot TV slash contact is one way

1:07:25to get in touch and I'm sure people will

1:07:30have some some some feedback I'm sure

1:07:32what you get every week so great well

1:07:35that's I think we're gonna wrap it up

1:07:36thanks John for letting me jump in for

1:07:38Dan he's taking obviously some time off

1:07:41to spend with his growing family sorry

1:07:44so so we we wish him the best of course

1:07:47and that's it for this episode of

1:07:50hypocritical and either me or Dan we'll

1:07:52talk to you next week thanks for

1:07:56listening to this episode of

1:07:57hypercritical we'd like to once again

1:07:58thank our sponsors Shopify comm and

1:08:01Rackspace comm please be sure to check

1:08:04them out and let them know that 5x5 sent

1:08:06you

1:08:19you