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