PodSearch

The Accidental Tech Podcast

54: goto fail;

 

00:00:00   You're under some fall. OK sounds great. There's hardly any is there any kind of not really. [TS]

00:00:09   Yeah I'm lumping something that probably isn't by the strictest definition follow up in the follow up [TS]

00:00:15   and that is after our discussion about what comes after Objective C. [TS]

00:00:21   A lot of people have come out of the woodwork [TS]

00:00:23   and said hey guys have you seen this wall from language thing that's going to be the next big thing that will replace [TS]

00:00:28   Objective C. and It's not. So anything else it is pretty cool. [TS]

00:00:34   Oh it's cause hell I have no idea what I would use a floor if anything I think I'm not smart enough to use it actually [TS]

00:00:40   but every day all kidding aside it is very very cool but it's serving a completely different purpose [TS]

00:00:46   and I don't see a mechanism by which that's going to be the way in which we build apps [TS]

00:00:52   and of course somebody will will say to us. [TS]

00:00:55   Oh well but didn't you watch the whole video they had sliders on there another U.I. Elements and blah blah blah. [TS]

00:01:00   Yeah but that's not that's not really the point. [TS]

00:01:03   You know it's not it's not the sort of thing you'd build an app with it's the sort of thing that you would do some [TS]

00:01:08   really impressive and very cool data computations with [TS]

00:01:14   but for some heat build an app with the the money you don't have to use Mathematica in school I did [TS]

00:01:19   and I've long since forgotten all that I don't know I use Matlab I'm sorry about that Mathematica I think I was [TS]

00:01:26   and still more from Mathematica is to him the max is the Stallman basically like separating this crazy person who made [TS]

00:01:36   an environment where he can where he can sort of fill his dreams of computation has just added to it over the years. [TS]

00:01:43   Only well for me as a little bit more successful a little bit more determined and not quite as afflicted with R.S.I. [TS]

00:01:49   and They hired a bunch of other people to do things that I had a business that made money to let him indulges his taste [TS]

00:01:56   to this type of thing so he's built this amazing thing for him self that works the way they want to. [TS]

00:02:01   That is basically like start with Mathematica and just expand out to fill the universe [TS]

00:02:04   but it it's I'm going to tell you about this like oh it's just a [TS]

00:02:10   and insert word here because it's not just a anything like what it does is very impressive it's like it's a life's work [TS]

00:02:15   and it is very interesting in a present [TS]

00:02:18   but I think it's an application an application that you can program with more than a programming language regardless of [TS]

00:02:26   what you think it can apply to everything and that demo shows that it's good at doing the stuff in that demo. [TS]

00:02:33   But Apple of course would need a language it's going to doing the things that I'm going to do and what is happening. [TS]

00:02:37   Do they need to let developers write applications they need to write applications themselves [TS]

00:02:41   and they need to write in the US and for all of those purposes this language is not useful. [TS]

00:02:46   Right and you don't don't let me you know kind of shrugging it off as a replacement for Objective C. [TS]

00:02:53   To take away from the fact that you're absolutely right it is unbelievably impressive that things can be done with it [TS]

00:02:58   but it is serving an entirely different purpose [TS]

00:03:00   and that's the only point I'm trying to make I'm not going be writing the next you know Instapaper killer. [TS]

00:03:06   It will from language. [TS]

00:03:08   Yeah one of the aspects that it has going against it as the fart computer languages that leans heavily on it like that [TS]

00:03:15   like in the sort of cloud of what are you closer to that sort of start grouping towards the math side of things while [TS]

00:03:22   always very interesting and powerful tend not to. [TS]

00:03:26   Thus far I mean doesn't mean it can never happen [TS]

00:03:28   but so far the ones that tend to be more math like have not caught on as much as the ones that are less math like [TS]

00:03:34   and you know I don't know why that is the only you know for example Haskell as another of those languages that looks [TS]

00:03:40   more like you're doing math or is more math like are you even sort of like Lisp kind of sort of [TS]

00:03:47   and this definitely is towards the math side I mean it's all intervals with it like language with all the symbolics I [TS]

00:03:54   mean start from Mathematica now going to be math. But yet so far. Language is like that. [TS]

00:04:00   I haven't caught on with the masses no matter how cool they are for the people who use them for the things they're good [TS]

00:04:04   at. [TS]

00:04:05   One problem I think I'd have trying to trying to use this for anything is that kind of similar in this one only one way [TS]

00:04:14   to Apple script. [TS]

00:04:15   I think it would be hard for me to get started into this and to even know the kinds of things I could do [TS]

00:04:22   and you know you can do so much and in that way it's pretty unfocused. [TS]

00:04:29   It's very broad and you're presented with like here's here's this shell basically this command shell [TS]

00:04:35   and this interactive prompt you can do whatever you want with but [TS]

00:04:40   and like the demos that he was showing off in the video look amazing really cool I don't know that is really how useful [TS]

00:04:46   it would be for me but they are still amazingly cool. [TS]

00:04:48   But I was looking at the kinds of syntax he was using the kinds of commands using the kind of structures he was using [TS]

00:04:54   and I don't even know where I would begin with something like that [TS]

00:04:58   and I had a same problem ever using will from Alpha as well where every time I've tried to go from Alpha I've I've [TS]

00:05:04   tried phrasing things in a certain way and every I never guessed the correct syntax and never does what I want [TS]

00:05:10   and I can tell there's a lot there [TS]

00:05:13   but it's really hard just to get started it's really hard to know like OK what can I do here [TS]

00:05:18   and how do I ask it to do that. [TS]

00:05:21   I think like a list I think the language itself is probably super simple I figured only a few things that exist you [TS]

00:05:26   know the royal like tuples in some sense X. [TS]

00:05:28   or Function calls [TS]

00:05:29   and a couple other symbolic things to write math in ASCII to convert it into symbol representations that is the [TS]

00:05:36   language [TS]

00:05:37   but the language is pointless like if you look at the big paging through those page after page a little rectangle [TS]

00:05:43   underneath one of those has a vocabulary which is basically like a library. [TS]

00:05:46   You know I wonder what functions can I call what things can I type that's not part of the language per se. [TS]

00:05:51   None of those are key words like if and you know the loops and function declarations like the language syntactic loop. [TS]

00:06:00   Very simple to its discredit I think it would be both be very cumbersome to do anything remotely complicated [TS]

00:06:06   but the whole the power of the thing is look at all these basically libraries that we have look at all the different [TS]

00:06:11   functions we have to look at what the options of those functions are look at how those functions can be composed with [TS]

00:06:16   each other and so it's it's kind of weird to call it a language other you know it's more like an application [TS]

00:06:23   or a set of libraries in the set of what we look huge like that. [TS]

00:06:26   Surely there is some function that does the thing that you want to have the operas that you want [TS]

00:06:30   and if you can't find it exactly you can build it by composing it out of other really powerful pieces [TS]

00:06:33   and put it all on a web front end and get it through web services A.P.I. [TS]

00:06:37   Lots of cool stuff in there but I think it's more like an application it's more like an A.P.I. [TS]

00:06:45   Then it is a language and whatever it is it's not to write their operating systems for phones or desktops. [TS]

00:06:52   So I had the same thought that this would be in a potentially extremely powerful add on or you know processing unit. [TS]

00:07:01   But I guess like a dynamic library for first something in Objective see if you could get some sort of interface into it [TS]

00:07:09   but I don't see it replacing Objective C. or Anything like that. Very cool though very very cool. [TS]

00:07:15   So what else is going on. You want talk about this as a sell bug go to fail. [TS]

00:07:23   All right so moving on now it's getting ready to take aim premium [TS]

00:07:29   and I love the good to fail dot com was actually available not for long [TS]

00:07:34   and it was useful once it was once it became a thing. I don't know if I have all that much to say about this. [TS]

00:07:42   I'm not sure I concur Marco with your tinfoil hat reasoning. [TS]

00:07:47   This was a deliberate act happy for you to convince me that I am wrong but I'm not saying it is it wasn't deliberate [TS]

00:07:55   but it to me didn't recall of being deliberate like you seem to think you want to. A recap. [TS]

00:08:00   What leads you to believe that I'm sure I mean I think I'm not saying this was definitely an N.S.A. [TS]

00:08:12   or Security breach where you know my my theory that I think is is potential [TS]

00:08:19   and I don't even know if I would say the most likely [TS]

00:08:22   but I think it's reasonable to look at these events that this one a duplicated line was inserted into this as a cell is [TS]

00:08:34   a strict verification code [TS]

00:08:36   or a common name checking Paro than it it was that the step the checks of the common names match [TS]

00:08:42   and it skips over that step. [TS]

00:08:43   I believe so it was some part of the verification step so that you can make sure that the S.L. [TS]

00:08:51   Server that you're talking to is who they say they are [TS]

00:08:54   and not I'm in the middle who you know like mannitol attacks I mean even qualified to explain them in all their you [TS]

00:09:01   know everything properly but somebody who could like intercept your network traffic and I a spear [TS]

00:09:09   or a wireless router in a coffee shop [TS]

00:09:11   or whatever the case may be your school your workplace somebody who could intercept your government somebody who [TS]

00:09:16   intercept your your network traffic normally as a cell's designed if everything's done right so that to so that the [TS]

00:09:25   server and you can talk securely and you know [TS]

00:09:28   when you connect to the server you can verify it through the series of cryptography steps you can verify that the [TS]

00:09:33   server you're talking to really is who they say they are [TS]

00:09:35   and nobody else in the middle is listening in a way that they can decode your data. [TS]

00:09:40   This this bug broke that assumption. And so that somebody could have been listening in and breaking S.S.L. [TS]

00:09:47   and Watching your traffic and the operating system was just skipping that verification step or part of it. [TS]

00:09:53   So the way this was inserted in the file and the file. There are open source. [TS]

00:10:01   Not every revision is open source but you can see like the version that shipped in ten [TS]

00:10:07   and the version that shipped in ten nine and you can see the difference there. [TS]

00:10:11   So the difference not entirely convincing because there could have been a lot a lot of intermediate revisions between [TS]

00:10:18   you don't know what happened between those two all you see is the getting point and ending point. [TS]

00:10:23   But if you look at the Do Not a lot in the file has changed between the two releases. [TS]

00:10:29   There is this context parameter to some of the security calls that was removed. Basically it was at the A.P.I. [TS]

00:10:36   I just changed mine early so that you know this one argument and I want to say or something like that. [TS]

00:10:41   So most not even some of the calls had this very this very basic change to them that just like remove this argument. [TS]

00:10:49   There are almost no other changes in the entire function [TS]

00:10:52   and then this one extra goto failed line inserted in the middle [TS]

00:10:59   and so if you look at this if you just look at the death looks pretty bad like it looks like wow there like no edits [TS]

00:11:05   happen in the surrounding lines between these two releases. [TS]

00:11:09   Just this one line was inserted kind of the middle of nowhere and it looks pretty bad. [TS]

00:11:15   Of course you know that said though you can't rely only on that. [TS]

00:11:18   I think what what worries me and what makes me think that this could be this could have been the Ferias [TS]

00:11:26   and I'm going to [TS]

00:11:27   and I want to say to my tweets I don't necessarily believe that that Apple itself you know officially knew about this [TS]

00:11:33   or introduce this intentionally or was working with the N.S.A. I think it's much more likely seeing how the N.S.A. [TS]

00:11:39   Works knowing that they have a program where the New York Times reported hard to find the link [TS]

00:11:43   but I believe it said they had an annual budget of two hundred fifty million dollars to go do things exactly like this [TS]

00:11:49   where basically the N.S.A. [TS]

00:11:51   Will kind of get to an engineer who works who works at one of the tech companies or they will. [TS]

00:11:58   They'll have people sitting on. [TS]

00:12:00   In standards bodies trying to argue for different standards to be subtly weakened or have have these back to just [TS]

00:12:09   or the people who work in tech companies will you know become an essay. I don't know. [TS]

00:12:15   Supporters Asians whatever they're called. So we know that that kind of thing happens. [TS]

00:12:21   We know all that from the Edward Snowden leaks and from these from the associated important common sense [TS]

00:12:24   and all of that you know that's that's not that's not like artifice [TS]

00:12:28   and tinfoil happing that think that kind of thing does happen. [TS]

00:12:33   And so for this bug to be inserted in this file at this time and so [TS]

00:12:38   and again another little piece of circumstantial evidence this bug was inserted in I believe it was fall of two [TS]

00:12:46   thousand and twelve. It was like a it was the month before. One of the N.S.A. [TS]

00:12:51   Slide decks claimed that Apple had joined the prison program in some way [TS]

00:12:57   and that timing is really suspect as well so you can look at this [TS]

00:13:01   and we don't know yet at least we don't know what happened and we probably will never know what happened. [TS]

00:13:06   It could have been an innocent mistake an innocent you know blind patient of a buffer or a weird merge artifact [TS]

00:13:13   when the files are merged. Who knows right. [TS]

00:13:16   You know we can't tell exactly but normally [TS]

00:13:20   when you try to rule out a kind of Farias tinfoil hat conspiracy theory kind of thing you do it by saying well the [TS]

00:13:26   simpler more likely explanation is honest reason X. [TS]

00:13:31   and I think in this case looking at the environment we're in looking at the kinds of things that we now know go on with [TS]

00:13:37   the N.S.A. and What they do with tech companies. [TS]

00:13:40   And you look at exactly I mean for a one line bug like this this is a hell of a line to take. [TS]

00:13:49   Like if you look like what I did in the way it did it was so subtle it was subtle enough. [TS]

00:13:55   If you think about it it's perfect. It's subtle enough that. [TS]

00:14:00   It would pass a lot of any kind of internal review they had [TS]

00:14:03   and we can talk about that they probably had insufficient review and sufficient tests [TS]

00:14:07   but any kind of internal review it would it might it might skip by because it looks it's it blends in. [TS]

00:14:15   It's not obvious it's not even obvious that it is a bug once or even once you spot it. [TS]

00:14:20   You kind of have to notice and oh wait a minute like you think about it for a second. [TS]

00:14:24   Oh that's that's wrong [TS]

00:14:25   and it could be explained away if somebody was caught inserting it it can be explained away by saying Oh I must've hit [TS]

00:14:33   you know hit paste wrong or merged wrong so there's like a plausible explanation if you get caught and it's [TS]

00:14:39   and it's exactly at the right point where it wasn't breaking all S.S.L. It wasn't making all S.S.L. [TS]

00:14:46   Validate but is making this one particular class of thing validate that the N.S.A. Has been known to do so. [TS]

00:14:55   It's just a little too convenient in so many of these ways. The timing the kind of thing it is. [TS]

00:15:01   The perfection of like exactly the right part of the file to cause a very convenient backdoor for the N.S.A. [TS]

00:15:08   and In a way that looks really subtle and hard to find and hard to blame for what you do find it because then they can. [TS]

00:15:16   I'm sure they can look at their version history and they can see which employee in sort of that [TS]

00:15:19   but again it's there's a plausible reason. [TS]

00:15:21   Oh it was much of a mistake during the merger some might that you know so it's just a little too convenient to be a [TS]

00:15:28   dumb honest mistake in given the given the context given the time it happened. [TS]

00:15:33   What it did the results it had and what we now know about what our government does. [TS]

00:15:39   So that's why I think again like I wouldn't say that it's definitely the N.S.A. [TS]

00:15:45   but I would say it would be naive to brush it off and say Oh it probably wasn't that. [TS]

00:15:50   I think the chances are better than that that it was that you know like I can't really argue with any of that [TS]

00:15:57   and I don't know I just. [TS]

00:16:00   How I guess I just want to believe that people aren't jerks like that [TS]

00:16:04   and that our government doesn't do things like that [TS]

00:16:07   but to be honest that's me to keep my head my head in the sand so I don't John what do you think about all that for the [TS]

00:16:14   timing thing I think that just is reasonably explained by saying the N.S.A. [TS]

00:16:21   Knew that this bug was in there and joining the program basically means the N.S.A. [TS]

00:16:25   Now has the capability to intercept traffic to Apple devices because of this bug that it knows about [TS]

00:16:29   and how would they know about the bug well through its own testing through trying to do man [TS]

00:16:34   and then all attacks perhaps having someone working at Apple who look at the code before its release to tell them of [TS]

00:16:39   this isn't there. So that would explain the timing and that doesn't require the N.S.A. [TS]

00:16:43   To have caused the bug to be entered in any way. [TS]

00:16:47   So the timing I think of the wash for it if I had to put money on it I would bet that it's a merge error [TS]

00:16:54   and it was accidental and that doesn't mean the N.S.A. [TS]

00:16:57   Wasn't exploiting it to do what they do because it seems like they knew about it based on the timing [TS]

00:17:03   and that they knew about it I'm sure they would be exploiting it. [TS]

00:17:07   The reason I think is a merger is because I don't think it's all that subtle I think if they were going at the N.S.A. [TS]

00:17:12   We're going to intentionally plant on like this they would do it in a less discoverable way because once a disco is [TS]

00:17:17   discovered to get patched and the N.S.A.'s goal is not to be discovered. [TS]

00:17:22   This is not a you know it's if you glance at it you might miss it you know casually visually inspecting it. [TS]

00:17:28   But it's a type of thing that will be found both in terms of the code [TS]

00:17:32   and in terms of the massive effect it has like if they planted one you would hope they would plant one that isn't so [TS]

00:17:38   easy to find because this is like a I can spoof a certificate [TS]

00:17:42   and it just accept everything like except any garbage it skips that entire Like if I carefully constructed a [TS]

00:17:48   certificate with a particular thing early you know like it's not exploding in subtlety it's the type of thing it's [TS]

00:17:53   amazing that it went underscored for as long as it did because of apparent Apple's apparent total lack of testing of [TS]

00:17:59   their security camera. [TS]

00:18:01   So that I think argues against it being intentional [TS]

00:18:03   and the thing about plausible deniability this is the really creepy part is that I can imagine that Apple has automated [TS]

00:18:10   merge tools for bringing bills together so if you were to find a commit that did this I I would imagine there's a good [TS]

00:18:16   chance that it could be attributable to an automated merge too and then how do you blame. Right. [TS]

00:18:21   Bio phone was really clever and set up the series of dominoes such that they knew and [TS]

00:18:24   when we did this merger that merge and that merger would mess something up. [TS]

00:18:27   And if the only validation of a marriage is a human being visually inspecting [TS]

00:18:31   and signing off well yes you know in this. [TS]

00:18:34   Or if the validation emerges it compiles [TS]

00:18:36   and passes are apparently clearly inadequate test suite then that will let it go here too. [TS]

00:18:41   So I think we all agree that it's it is entirely entirely possible that the end as I did of the government is because [TS]

00:18:49   like Marta said that something this is something they do [TS]

00:18:52   but I think this is a this would be below the level of competence and sneakiness that I would expect from them. [TS]

00:18:59   So I give it a less than fifty percent chance that it was done intentionally. [TS]

00:19:03   More than fifty percent chance that it was done unintentionally at almost a hundred percent chance of the N.S.A. [TS]

00:19:07   Both knew about it and exploit it. [TS]

00:19:10   I mean you know overall I agree John like I agree that that these things like all of these factors could be explained [TS]

00:19:18   away in reasonable you know plausible explanations. [TS]

00:19:23   It's just like what you [TS]

00:19:24   when you add it all together the end again like it's sort of happened a year ago before we knew so much about you know [TS]

00:19:31   from the Snowden leaks before we knew all this stuff a year ago I would have looked at this [TS]

00:19:36   and thought oh well it's like somebody made a stupid mistake. [TS]

00:19:39   But now that we know that this stuff happens and [TS]

00:19:43   and because of how convenient it would be you know yeah you're right that that was you know disabling his entire steps [TS]

00:19:49   of S.S.L. Verification are pretty handsome. [TS]

00:19:53   However you know they got it through and it was there for over a year right. So. [TS]

00:20:00   I think I'm sure they don't just try one thing and maybe the other things they tried got caught or didn't chip [TS]

00:20:10   or are still there. Yes thanks. [TS]

00:20:13   Sleep well tonight or are still there and and you know I'm sure they don't just leave themselves one option you know. [TS]

00:20:21   So again I think by by looking at just the the fairly you know broad strokes of this bug used I wouldn't for the same [TS]

00:20:32   reason that you wouldn't rule out the timing because there's you know there's always like I wouldn't I wouldn't rule I [TS]

00:20:38   wouldn't rule out the possibility of I'm doing this just because of how fairly hamfest it is because in many other ways [TS]

00:20:45   it's quite elegant in how innocent it looks and how hard how hard it was to catch [TS]

00:20:52   and I'm sure they tried many things and some of them are handwritten and some of them are really clever and the [TS]

00:20:58   and the really clever ones maybe didn't work for me they're still there but this one we happen to find. [TS]

00:21:02   Well none of the ruling it as if you're over fifty percent for thinking it was intentional and I'm under. [TS]

00:21:07   But that's basically it we're all around the middle you know. Yeah and I'm like I'm not too far over fifty percent. [TS]

00:21:13   I might say sixty percent you know [TS]

00:21:15   but normally conspiracy theories really well there are just too many coincidences to believe your conspiracy theory. [TS]

00:21:22   You know too many Clintons would have to happen. [TS]

00:21:24   You know this I think it's I think it's subtly the other direction it's theirs. [TS]

00:21:29   You have to ignore a lot of a lot of Clinton and says that did that [TS]

00:21:32   or the case to believe that this was totally innocent. [TS]

00:21:36   So you think Apple will ever say anything publicly about the investigation that undoubtedly is taking place inside the [TS]

00:21:44   company to determine the cause of this. Oh I really doubt that. [TS]

00:21:48   And the second question is will they use their disclosure canary thing you know like where the previous disclosure they [TS]

00:21:55   said we have not been contacted by government agencies to blah blah blah blah blah for you with the word. [TS]

00:22:00   But as someone in the chat room a look at up but they put that in there so they can so that [TS]

00:22:04   when you see that message disappear you will know that they have been contacted by the government told not to say [TS]

00:22:11   anything about it. [TS]

00:22:13   So that's I guess the thing we can actually watch [TS]

00:22:15   or that's actionable The next time they do one of those security disclosure statements. [TS]

00:22:19   If the whatever canary statement is not there again we can't directly connected to that incident [TS]

00:22:23   but at least you know for example if we see the statement again we'll know that Apple is investigated internally [TS]

00:22:30   and that I don't see if it was the government [TS]

00:22:34   and they have been forced by the government to disclose it was the government. [TS]

00:22:38   I don't see why they wouldn't make that public because the base will be saying hey in essence you know our government [TS]

00:22:45   hacked us. [TS]

00:22:46   You know they'd be angry they'd talk to Congress about it all sorts of stuff like that if that if they determine that [TS]

00:22:52   to be the case but if it was just an internal error they probably won't say anything [TS]

00:22:57   and if they're little canary statement is still there. Then we also know that N.S.A. [TS]

00:23:01   Is not the one making them not say anything she wants all to the Canary statement was more about getting user data. [TS]

00:23:10   I thought that the canary statement was something about how we you know we haven't been [TS]

00:23:14   or we haven't received any requests from the N.S.A. To do crap. We didn't want to do. [TS]

00:23:19   I know but this will be a request to you're not allowed to say anything about the N.S.A. [TS]

00:23:24   Mole that you discovered in your organization like that. [TS]

00:23:28   I guess you're right it's different categories thing like we've never given them user data and blah blah blah [TS]

00:23:32   but it was it was fairly wide ranging statement [TS]

00:23:36   and like they can't they can't to state what they may be forced not to say anything about it [TS]

00:23:42   but I would imagine they would remove that they would just simply not put that statement in there because it's not an [TS]

00:23:47   admission of anything it's just a cell phone of the Khmer you just remove it [TS]

00:23:50   and that's their sort of signal to the outside world that government people have come [TS]

00:23:55   and told us not to say anything and we can legally just simply not say anything and you can interpret. [TS]

00:24:00   As a as a sign that we're being told not to say something about something. Yeah maybe but it is two different things. [TS]

00:24:07   It says you know I have it here the very last line of this is thing from Mattapan Serino the very last line of Apple's [TS]

00:24:14   report today states quote Apple has never received an order under section two fifteen of the USA Patriot Act we would [TS]

00:24:20   expect to challenge such an order if served on us which to me sounds like something separate than what we're talking [TS]

00:24:27   about. [TS]

00:24:28   Well I mean that's a look at what was Section two fifteen of the Patriot Act says doing a very good actor Paul because [TS]

00:24:33   the government can do whatever the hell you have no rights and some something some sort of vague language as broad [TS]

00:24:39   but I mean that's all we've got like they can go back in time [TS]

00:24:42   and put in a canary about what we've never been infiltrated by the N.S.A. [TS]

00:24:45   Never added bugs or code intentionally [TS]

00:24:48   and honestly I don't know how they would ever determine it is like Marco I said if the best case scenario that it [TS]

00:24:53   actually is an individual developer What are they going to waterboard to God like knowledge on a stake. [TS]

00:24:59   They can ask him did you put that there intentionally [TS]

00:25:01   but if you did intentionally of course he's not going to tell you that he did and you can't force him to tell you [TS]

00:25:06   and you just you'll just never know because it is one hundred percent plausible as a bug like people are abuzz all the [TS]

00:25:12   time right. [TS]

00:25:12   Just you know the winds get pasted twice like Marcus that like there is no literally no way to force someone to. [TS]

00:25:19   You'll never know that I thought you could talk to him to death and he dies and he never said that he did [TS]

00:25:25   and you still don't know whether he was lying or not let me tell you a story [TS]

00:25:29   and then maybe Marky can tell us about some sweet in my first job I wrote. Bingo. [TS]

00:25:36   Biggest slot machines which is a weird and odd story that's not worth explaining right now [TS]

00:25:42   but this was done in DOS using the Wacom people's past compiler [TS]

00:25:47   and because it was done in DOS The bugging in the traditional sense wasn't really a thing. [TS]

00:25:54   So you basically had to put out a bunch of print out a bunch of log statements and so on and so forth. [TS]

00:25:58   Well the machines. That we built in the software that we built. [TS]

00:26:02   Basically it had a menu and then a series of different slant Slot Machine Games [TS]

00:26:08   and what we were noticing all of a sudden is that after some arbitrary amount of time of going into a game you go into [TS]

00:26:15   them and you go on to the game going to them and you go to the games on the menu at like thirty forty fifty times. [TS]

00:26:20   All of a sudden you get a hard crash and we couldn't figure out what it was and we had some really really good C. [TS]

00:26:28   Plus plus developers there the team at that point was only twenty people. [TS]

00:26:31   But there are some really smart guys there now I'm straight out of college so I don't know what crap I'm doing. [TS]

00:26:36   But after a while it was on me to try to figure out and a co-worker actually to try to figure out. [TS]

00:26:45   Where's this crash coming from why is it happening [TS]

00:26:48   and you know some of my room much more experience much better coworkers had looked through diffs they'd look through [TS]

00:26:53   check ins nobody could figure out what it was and eventually I figured it out I can't recall if I just spotted it [TS]

00:27:00   or if I looked through the version history of some of all the files that have been changed lately [TS]

00:27:06   but it ended up being was a fall through in a switch statement and in the switch statement [TS]

00:27:14   and in in each case we were instantiating an object that was fairly big I forget exactly what it was [TS]

00:27:21   but is big so what that means is we would create this new object and allocate a bunch of memory for it [TS]

00:27:28   and then there was an accidental fall through that we didn't mean to have and so we would create another one [TS]

00:27:34   and that first object all that memory got leaked and it took us for ever to find it it took it seriously. [TS]

00:27:43   I believe it was two weeks of myself [TS]

00:27:45   and a co-worker just digging through code for two straight weeks trying to figure out what it was. [TS]

00:27:50   And I bring this up because it looked statically. [TS]

00:27:53   It looked very similar to this go to fail issue there was what appeared on the surface to be. [TS]

00:28:00   Perfectly valid switch statement [TS]

00:28:02   and it just so happens that we had forgotten to put the word brake with a semi-colon after it. [TS]

00:28:07   We were leaking memory and after thirty to fifty times going back out to the menu. [TS]

00:28:12   That's because the air they've got instruments you wouldn't know that because you couldn't run the little graph that [TS]

00:28:17   shows the memory was in the league. [TS]

00:28:18   You're absolutely right and I know you're slightly being snarky but that is absolutely true [TS]

00:28:23   and that's part of the reason why I think none of us are necessarily that excited to get rid of a check to see. [TS]

00:28:28   But I bring this up because here was a situation where we had a handful of really good C. [TS]

00:28:33   Post plus developers now we didn't have a lot of process you could say our methodology was not very good [TS]

00:28:39   but regardless you have a lot of process. [TS]

00:28:41   But nevertheless we had some really bright guys and girls going through the stuff [TS]

00:28:45   and nobody could find it because it wasn't something that was visually almost a static Lee obvious [TS]

00:28:52   and I see this as being a very very very similar situation. [TS]

00:28:57   Now just food for thought is examples of language misfeatures that lead to bugs the language you cite is the fall [TS]

00:29:04   through [TS]

00:29:04   or you need a break statement language misfeature I think in this bug was you know that you can have single single [TS]

00:29:10   clause conditionals without the braces and then make it slightly less obvious [TS]

00:29:13   and some people say the language misfeatures the white spaces significant in the by them people tell you others will [TS]

00:29:18   never happen in Python. [TS]

00:29:21   I mean all the talk about whether this is intentional [TS]

00:29:23   or not like bugs happen all the time that aren't security related to displaying bugs and cause things to crash [TS]

00:29:30   and the language features do lead to more or fewer bugs [TS]

00:29:34   and I don't I would love to see some stats on like bugs that are attributable to human error that it could potentially [TS]

00:29:44   have been influenced by language feature so that the single clause if they had that is probably probably pretty high up [TS]

00:29:50   in any language that allows that type of thing. [TS]

00:29:53   This is just so easy and I feel I put a line underneath it or to indent things wrong in a misleading way. [TS]

00:30:00   The break and the fall through for K. [TS]

00:30:02   Statements for getting the break I mean I can't count how many times I've done that I like it I do it. [TS]

00:30:07   You know usually it's so obvious because there's nothing works at all but if you get on like enough [TS]

00:30:10   and things happen to sort of appear to work you won't notice it because you just write it out [TS]

00:30:15   and the looks is all invented the way you want to be news forgot the put the word on who doesn't forget to put the word [TS]

00:30:19   that's like a rite of passage when you learn the things you will forget the put in break [TS]

00:30:25   and you know your things don't work right. Man I found a nasty bug this week in my P.H.P. [TS]

00:30:30   Framework in my in my sort function so I have you know my model class [TS]

00:30:35   and I have a couple of community model sort functions to do common things and [TS]

00:30:39   and one of them is if you have your your way and P.H.P. [TS]

00:30:44   Arrays are all hashes slash dictionaries it's all like you know arbitrary key to value it can be strings or numbers. [TS]

00:30:52   So the idea is if you have an array of numerically indexed models [TS]

00:30:55   and you want to do instead be indexed by one of the values on each one like say go ID to object instead of just like [TS]

00:31:02   zero through and add a function to assign the key of each object to be that that property the specified [TS]

00:31:12   and I hadn't worked on the array in place loops see the problem. [TS]

00:31:17   The speech we have defined semantics for what what the cars trucks allow you to modify the thing you're into writing [TS]

00:31:24   over and place and which ones don't. He's not really P.H.P. You can generally modify things as you read over them. [TS]

00:31:32   Most of the time it usually works. Not reassuring. [TS]

00:31:36   Kind of a problem that I have to say most the time and usually they are. [TS]

00:31:40   But yeah so as a result I was and I'm going through you know going to be in the numeric indexes [TS]

00:31:47   and I would say All right well I have this property value of this one so unset in America index said that it was that [TS]

00:31:53   and set it to the string index. Cool so what happens when the value of one of those things is like what. [TS]

00:32:00   Happens at the value of the one it was previously an idea zero is two then you go to ID one do that your ID to it [TS]

00:32:09   and that one gets on set and so the resulting a ray can clobber certain elements to base an error value [TS]

00:32:15   and can actually have fewer elements in it than an input of what I was getting I will say you pulled off the first one [TS]

00:32:22   and its id value a seventy seven and you shoved it into seventy seven [TS]

00:32:26   when you were later on fine years of iterating over seventy seven because the iterations I now see the new entry down [TS]

00:32:31   the seventy seven I think so [TS]

00:32:33   but it's a fact that I can't I don't even know that for sure is a problem with self modifying code here [TS]

00:32:39   and you can in theory get yourself into like an infinite loop of credit where you think his keep getting shoved to the [TS]

00:32:44   end and make a new entry that you then enter eight over the cause and to be shown to the end of the end [TS]

00:32:48   or sources telling us yes yes it's crazy [TS]

00:32:50   and so yeah that was an obvious like if you looked at the code it looked reasonable legal of course [TS]

00:32:56   but you know until you thought about it I'm like oh wait a minute [TS]

00:32:59   and I this was this was a utility function in my framework that's been there for about seven years. [TS]

00:33:06   Like I wonder how many bugs that I don't use a function a lot though I do use it [TS]

00:33:13   and maybe all the time to use it so far I like most of the time it just never it never had a situation so I didn't [TS]

00:33:20   notice it. Yeah that was a problem anyway. [TS]

00:33:24   We're sponsored this week our first Bonsor thirty minutes [TS]

00:33:26   and our first sponsor is picture life now we talked a while back many times about posting your pictures online photo [TS]

00:33:35   storage photo backups stuff like that so picture life is the one up you need for your photos and videos. [TS]

00:33:42   Starting with seamless backup and deep integrations into i Photo an aperture picture life auto organizes your photos [TS]

00:33:49   and gives you the power to view and quickly search through them on any device. [TS]

00:33:53   Picture wise private sharing that you easily control who sees which photos and their editor works on the web and I. [TS]

00:34:00   No S. Plants are just five dollars per month and A.T.P. Listeners get thirty percent off for life. [TS]

00:34:06   So I have a picture Life dot com slash A.T.P. They've never done this before so I really give this a shot. [TS]

00:34:13   Make them make them love their sponsorship with us. You save thirty percent on the monthly fee for life. [TS]

00:34:19   That's awesome [TS]

00:34:21   and so they have all sorts of cool features they have a deep search it's very very powerful you know use of the face [TS]

00:34:28   detection all that other stuff is really cool these days. They have apps for the mac apps for i O. S. [TS]

00:34:34   Also even support Windows and Android Android just launched in December and is very quickly coming up to speed [TS]

00:34:40   and you know this company was founded by people who really love those they love creativity and love technology. [TS]

00:34:48   Founders of this include Charles foreman who I actually know. [TS]

00:34:51   Charles foreman of Pop Jacob the heart of Threadless and Nate Westheimer of the New York Tech Meetup I know him too. [TS]

00:34:59   And that is backed by our V.C. Friend that Spark Capital and I know them too they were the main P.C. [TS]

00:35:04   Behind tumbler so I'm very familiar all these people they're really good people anyway. [TS]

00:35:08   Picture life is the one after that your photos really needs so you can back up the search edit and share on math [TS]

00:35:15   and i O. S. Going to picture Life dot com slash A.T.P. [TS]

00:35:19   and You can get thirty percent off for life thanks a lot to picture life for sponsoring our show [TS]

00:35:23   and if you don't want them to go away like ever pics. Sign up. [TS]

00:35:26   And unlike every book they don't have unlimited storage things over there have a more viable business model of where [TS]

00:35:33   you actually pay for what you use. Yeah it seems that way. [TS]

00:35:36   Also Charles foreman that guy is a machine like member draw something that was the big thing that was like their big [TS]

00:35:42   thing [TS]

00:35:42   but he he had a site before that that I was I was socialized them a bit while he was working on that through David Karp [TS]

00:35:49   a Tumblr we were all we would go out to dinner a few times here and there and that guy. [TS]

00:35:53   He's incredibly smart and he's just like a coating output machine. [TS]

00:36:00   Like I rarely see anybody be able to produce as much as he does [TS]

00:36:05   and he really really knows his stuff so I would I would certainly trust us right now to go back for him before the [TS]

00:36:11   sponsor break it would it would be wrong of me not to mention that in Objective C. [TS]

00:36:17   I'm sorry non-objective see I've been writing a check to see today which I'm all confused in C. Sharp. [TS]

00:36:23   There are interesting language features that would prevent both of the bugs that Marc and I are talking about. [TS]

00:36:29   Firstly you can't have a full through in any case in a switch statement unless that case is completely empty. [TS]

00:36:37   So you would literally have one line case one Colin the next line case to call one [TS]

00:36:42   and if there's anything in between without a break statement that's a compiler error [TS]

00:36:46   and the other thing is if you try to modify pretty much any [TS]

00:36:49   and numerable collection in place you get a I believe that's a runtime error not a compiler error. [TS]

00:36:56   So that's just really nice ways to protect you from yourself [TS]

00:36:58   and that I really appreciate that I have to tell you that pro are protective [TS]

00:37:02   and they think they were just Simla now doing a crawl requires braces on single statement if it doesn't let you do it [TS]

00:37:10   without them. The numbers intentional to avoid this feature because the people who wrote Perl were writing Perl in C. [TS]

00:37:16   and Hated that and there's no switch they principle solve there [TS]

00:37:20   or there is a terrible deprecated one it's part of a sea pen model [TS]

00:37:23   but counts up our language well as modifying sets if you integrate over the keys of a ray you can actually modify the [TS]

00:37:34   array because they get sick us out of time and doesn't make reference to the thing. [TS]

00:37:40   Unfortunately you get the keys and values that it does the good old P.H.P. [TS]

00:37:43   Way where you know this is madness but there are other reasons not to do. [TS]

00:37:48   They should just deprecate getting the keys and values the same time anyway because I don't go to Perl details [TS]

00:37:54   but suffice it to say that it's not. They have to give it a value on a per very. [TS]

00:38:00   Basis and that just leads to more madness. [TS]

00:38:02   So that should be deprecated but I think that this is one of those things too like you know the go to fail bug. [TS]

00:38:09   There's actually a compiler warning that warns on unreachable code blocks [TS]

00:38:15   and so if you have a function that contains like you know return zero [TS]

00:38:19   and then a bunch of lines of code below it will those those lines will never be reached because that return statement [TS]

00:38:24   unconditional return will execute and then everything else in the function will never be reached. [TS]

00:38:29   Go to fail thing again. [TS]

00:38:30   It's if you have this unconditional goto statement which is what the bug line was that skips over that big block of the [TS]

00:38:36   function then that that code is unreachable and so compiler there's a warning for that. In honor of his in G.C.C. [TS]

00:38:43   but It's at least a V.M. and The problem is it's not part of the W. [TS]

00:38:48   All option that that a lot of nerds use it's not part of the all mornings default set because I think I was reading a [TS]

00:38:56   little of this I think the main reason why is because there's a lot of like you know libraries [TS]

00:39:01   and stuff that that it would fail on for various reasons [TS]

00:39:05   and so in that's you know it's always it's always a tricky balance of warnings and [TS]

00:39:09   when you're striking that like I recently in my P.H.P. [TS]

00:39:11   Framework I I always had for the last few years I've used what I call trick development mode which is [TS]

00:39:20   when you're in the development Vironment everything even the notice the lightest level of P.H.P. Warnings. [TS]

00:39:26   Everything became an exception because I don't want my code to ever emit a notice [TS]

00:39:30   and I don't care if it's going to be littered with with is set statements all over the place. [TS]

00:39:35   I don't care everything there should be no errors in development [TS]

00:39:38   and I recently even a couple weeks ago I think it was a recent So you know why. [TS]

00:39:43   Why should not also apply to production. [TS]

00:39:45   If I'm if I'm throwing exceptions on [TS]

00:39:47   and on any minor error in development that for I think good reasons why should I be more lenient in production. [TS]

00:39:54   In reality if things are failing anywhere I want to know about that so I can stop it so I can fix it. [TS]

00:40:00   So I can do the right thing. So the reason it shouldn't apply in production. [TS]

00:40:02   If you don't control your own service which a lot of people don't like this sort of deploying to they have some [TS]

00:40:07   baseline they need to support for their deployments [TS]

00:40:10   but they don't control every single detail like they don't have their machines basically they're not the one who [TS]

00:40:14   installed P.H.P. [TS]

00:40:14   For example they're not the one controlling Apache in the upgrade cycle stuff like that [TS]

00:40:18   and you don't want to run with all the warnings turned on especially with warnings turn into fatal errors in that [TS]

00:40:22   situation because someone will do a minor point upgrade to Apache P.H.P. [TS]

00:40:26   or Some other thing which will suddenly cause warnings where once they were nine [TS]

00:40:29   and then your production is down because of something you didn't do. [TS]

00:40:31   But in your case since you control all of the you control the version of everything is not going to get upgraded behind [TS]

00:40:36   your back. [TS]

00:40:37   So it is slightly more reasonable to do that I think I would disagree on that I think I think I will I will want that [TS]

00:40:42   to break because that's a problem that you should know about immediately [TS]

00:40:46   and if the if the people who are controlling the servers do any kind of testing like if they you know maybe deploy it [TS]

00:40:52   on film and server or if if you deploy to production you know with stuff like P.H.P. [TS]

00:40:58   Update at least like you do it on one server first and see what happens if you give it that Fluffy you know [TS]

00:41:03   and if you like in all those cases I'd rather the app actually crash [TS]

00:41:08   and burn immediately you know it's like to fail early and completely or often whatever the statement is fail [TS]

00:41:14   or the warnings are always going to be something like this language feature is going to be deprecated sometime in the [TS]

00:41:18   next two years so you should stop using it [TS]

00:41:20   and it's like that should not cause your app to go down in production like that did it you'd be mad that it went down [TS]

00:41:26   to you be like that's not important enough for production to stop working [TS]

00:41:29   and you'd be mad because you know they upgraded something and it broke your stuff or whatever [TS]

00:41:32   but like historically in my working career the reason warnings get turned off from production is privileged to the [TS]

00:41:38   series and even sometimes [TS]

00:41:40   when we do control the entire stack merely because a different department in the same company controls like the upgrade [TS]

00:41:46   cycle and stuff like that [TS]

00:41:47   and the other department doesn't want that department possibly screen them up by you know changing something that [TS]

00:41:53   causes a warning that is totally bogus and immaterial and stupid and really does not have any. [TS]

00:42:00   Do with a functioning application is practically like the developers is like waving at you [TS]

00:42:03   and saying we made a new message here look at our message Hi How you doing message a message [TS]

00:42:08   and you're like I don't want my program to stop working because of that. [TS]

00:42:11   I'll see it finally go to patch up that things that doesn't emit the warning any more like it'll be invisible [TS]

00:42:16   but turning it into a fatal error in production is usually a bridge too far. [TS]

00:42:21   I still disagree I see your point I don't think that's a good enough reason. [TS]

00:42:26   Well it's when you want to throw a one man shopping controls everything yeah that's fine [TS]

00:42:29   but things get much more complicated as the organizations get bigger [TS]

00:42:32   and things get farther away from the control of the people writing the code. [TS]

00:42:37   I completely agree with John and I think that comes from the fact that John and I have real jobs [TS]

00:42:43   and it's just you by yourself so it's not easy it's not easy to deal with those sorts of issues and even consulting. [TS]

00:42:53   It's an even finer line because a lot of times you know myself [TS]

00:42:57   and my team will build something handed off to the client and then walk away. [TS]

00:43:02   And so in many cases the company for which we've built something may [TS]

00:43:09   or may not really have the talent in the house to figure out when some esoteric warning happens [TS]

00:43:15   and what to do about it and we're not necessarily contracted with this client anymore so they're on their own [TS]

00:43:22   and not to say that we you know silently squash or exceptions or anything like that [TS]

00:43:26   but for non-fatal things oftentimes it's not in our [TS]

00:43:30   or our client's best interest to cause a ruckus over those sorts of things. [TS]

00:43:35   The Sutil chain is better about doing this as a bridge is basically why miners wall doesn't print so many areas because [TS]

00:43:42   whoever defined wall way back when. [TS]

00:43:44   Now no one can change it because if you did you like all this compile cleanly [TS]

00:43:47   and how Doesn't your compiler's broken right that's why there's everything. [TS]

00:43:50   Because the wall is not you know historical baggage like that whereas in the much looser higher level languages in the [TS]

00:43:58   fancier tools people. [TS]

00:44:00   No problem throwing out the next version the next minor version of like Ruby or node or something like that [TS]

00:44:05   and adding a bunch of warnings because because they're trying to influence the people who are using the language [TS]

00:44:10   because they're trying to warn about deprecated features because they think they've decided that this could potentially [TS]

00:44:14   be a problem like you know because their warnings like we don't know this is wrong otherwise you wouldn't have compiled [TS]

00:44:20   it. [TS]

00:44:20   But there might be something you might want to look at here [TS]

00:44:23   and this may be a new warning so you don't have the statement above [TS]

00:44:26   or that says don't worry about that they like you were saying with the like a lot of other legally put pragma as an [TS]

00:44:31   lexically scoped warnings restrictions they look I know normally and more warning would be emitted here [TS]

00:44:36   but I know what I'm doing let the thing go past me to write that right into the code. [TS]

00:44:40   Well you can only do that for the for the warnings you know about [TS]

00:44:43   and oh you see compiler is not going to suddenly add a bunch of things to minus wall. [TS]

00:44:48   Lots of other languages and open source projects that are newer [TS]

00:44:51   and moving much faster who have no problem adding crap like that [TS]

00:44:54   and eventually just the fatigue of the organization keeping up with these things is like you know politically speaking [TS]

00:44:59   they'll be like Can we just not make the warnings into exceptions and production and just look at the logs [TS]

00:45:04   and we've seen or expects them that will very quickly go through once production is down a few times and bosses [TS]

00:45:09   and bosses bosses are yelling down development asking why production is down [TS]

00:45:13   and at that point Marco have a much harder time explaining to his boss [TS]

00:45:16   or his boss's boss why it actually really is good a good thing that production went down because now we know right away. [TS]

00:45:24   I think this is a lot like ending a Lisp program with a bunch of clothes in parentheses just you know just in case you [TS]

00:45:28   make a mistake which was actually the recommended thing for in my eye com site you will want to run every class [TS]

00:45:34   when we were learning list. [TS]

00:45:35   The professor actually instructed us to just put a bunch of these in the file to make it easier for her [TS]

00:45:41   and he might have been joking [TS]

00:45:43   but from a profit from a practical perspective if your company is a twenty four seven online company [TS]

00:45:48   and they you they lose let's say five thousand dollars in revenue for every sixty seconds your servers are down. [TS]

00:45:54   It is much harder to make the argument that Margo is made like it really depends on the situation and some reason. [TS]

00:46:00   Stupid like institutional reasons where there's you know kingdoms within the company that are fighting each other [TS]

00:46:06   and the developers are distant from the code [TS]

00:46:08   and they don't control the deployment like those are sicknesses within the company [TS]

00:46:11   but then there are legitimate reasons like will say it is a company where the Embry works together [TS]

00:46:15   but you know you lose X. [TS]

00:46:16   Amount of dollars for every minute the server is down and going takes [TS]

00:46:20   and only takes one night of that happening to go [TS]

00:46:23   and develop a salary that they could have had you know from thousands of dollars [TS]

00:46:27   and lost the service being down during that time [TS]

00:46:29   and so yeah like sometimes you just you just practically speaking don't have the luxury of turning all warnings into [TS]

00:46:34   exceptions I think this is everything you've just said like you know like really critical that it is having production [TS]

00:46:41   is a really big problem. [TS]

00:46:43   That's all the more reason why you shouldn't be recklessly playing updates in production to your critical code like [TS]

00:46:49   your language interpreter like the hip if you're deploying a new version of P.H.P. [TS]

00:46:54   To your production servers that you've never tested your code on development [TS]

00:46:58   and you have the kind of situation where you're going to lose tons of money every minute that your site is down the [TS]

00:47:04   middle of the night because you updated in the middle of night [TS]

00:47:05   and like any of the weight of your programmer like that's to me that's that's like a pretty there's a number of things [TS]

00:47:13   wrong with that and it's not it's not your warning level that languages can [TS]

00:47:18   and unexpected warnings not just because they're going to the version of the anagrams interpreter [TS]

00:47:22   but simply because they could bethen have coverage and you know it's like the runtime they're basically runtime [TS]

00:47:27   or things like that that exist as a thing in the hammock language especially for web programming that if you don't [TS]

00:47:33   execute that code path that warning will never be admitted [TS]

00:47:36   but if you have a warning to me they become fatal exceptions [TS]

00:47:38   and in production someone Apple actually hits that code path. [TS]

00:47:41   No one upgraded anything but your server still you know died because [TS]

00:47:46   and because that turned into a fatal exception there's there's always between you know with with any kind of non error [TS]

00:47:55   any kind of warning or notice there's this balance that you're striking between. [TS]

00:48:00   You know convenience of easiness and tolerance of edge cases versus trying to be correct all the time [TS]

00:48:10   and it's you know kind of like security it is like it is a balance between convenience and easy and ease [TS]

00:48:16   and like the right thing [TS]

00:48:18   and you know if if you're to the point where you're permitting lots of warnings to happen in production unexpectedly I [TS]

00:48:26   think that's a sign that something is wrong that well you know you're not permitting them you just don't want to be [TS]

00:48:31   fatal errors you'll address them as soon as you see them because one of the could be data driven for example value [TS]

00:48:35   comes in and it's undefined and how I was value undefined it OK for it to be undefined [TS]

00:48:39   but there's some warning that if you use an undefined value as one function it says this is unexpected [TS]

00:48:44   and you totally thought it should be expect that someone forgot to [TS]

00:48:46   but please don't give me warning about undefined values I pass them because OK for it to be undefined [TS]

00:48:51   but you never get that coding testing and it gets like warnings aren't necessarily. [TS]

00:48:55   I know people like to turn them on development so they can just get things clean because it's that much easier to [TS]

00:48:59   verify that there's nothing there because once you let any leak through then you just it becomes an avalanche [TS]

00:49:03   and you start an argument but in production like [TS]

00:49:08   and Mabel ing these things isn't necessarily saying we are telling you there's something wrong with your code in fact [TS]

00:49:12   almost all the time it's not telling you there's something wrong with your code [TS]

00:49:16   and it's just really hard to be at the whim of these messages that don't actually tell you anything useful about your [TS]

00:49:22   code in production turning him into pillars leave them on a production log them immediately address each one of them so [TS]

00:49:29   that you get the volume of those warnings down to zero again but turn them into fatal exception. [TS]

00:49:34   Like I said I think that's too much but you see I think that [TS]

00:49:37   and people have also suggested like you know you can you should just log them [TS]

00:49:41   and then you know have a policy to deal with them. [TS]

00:49:43   I think in reality that's much more likely to just get ignored [TS]

00:49:47   or well it only happened if you know it only happens once a week for a few hours [TS]

00:49:53   or we've only ever seen this message five or six times so we'll just ignore it [TS]

00:49:57   and I think that's the wrong approach for a law. [TS]

00:50:00   Situation you don't need to if you don't need an hour you'll know exactly what line it came from you can get a stack [TS]

00:50:04   trace a bit like you like it's usually so easy to address because your media look at the warning look at the line of [TS]

00:50:10   code and say Is this an acceptable condition out of as an accepted condition [TS]

00:50:13   and you just put in the pragmatist don't emit that warning from this line anymore. Done and done. [TS]

00:50:17   If it's not an acceptable condition in Congratulations you've been alerted to potential bugging you need to change your [TS]

00:50:21   code. [TS]

00:50:22   Both of those situations one of these are dispensed in two seconds and so there's not a barrier to entry that [TS]

00:50:27   and the second one is you found a legitimate bug I think developers will want to fix that as well I don't I don't think [TS]

00:50:32   people will ignore them especially if you're running all development [TS]

00:50:35   when the fatal error is mode because that will ensure that their volume is zero in development it's just [TS]

00:50:39   when you get to production that you want to crank it back one notch to basically to make yourself not go down to reason [TS]

00:50:45   that you would want to be down [TS]

00:50:46   but again I guess I think the human behavior like the reality of of human nature is such that if you tolerate those [TS]

00:50:55   warnings and production even if the policy says you shouldn't. [TS]

00:50:59   In practice that's going to lead to a lot of messy code staying there indefinitely. [TS]

00:51:03   Whereas if it actually breaks it forces you to fix it. [TS]

00:51:09   They were innovations are going to one thing it's making policies annoying policies so I actually have more faith in [TS]

00:51:16   the large corporations ability to make a stupid policy that requires their who are not stupid [TS]

00:51:22   and to be able to make a policy that people don't like following gives us human nature to not want to deal with those [TS]

00:51:26   things and to enforce it. [TS]

00:51:28   I mean it goes the other way like the policy that says you gotta have all warnings on when you [TS]

00:51:32   when you build your application a lot of individual developers won't like that because they find it tedious to go [TS]

00:51:37   traced and all there is there is like that [TS]

00:51:39   and indie developers tend to have to psych each other up to say I know I should be running with everything but I'm not. [TS]

00:51:45   And like they can have to encourage each other to do that because they know it's good for them [TS]

00:51:48   but it's human nature not to want to do that. [TS]

00:51:50   Like flossing an organization you have someone to levels up [TS]

00:51:54   or does not touch the code can just force everybody do that and make it [TS]

00:51:56   and make it a policy like I think if Casey has said this many times in the past. [TS]

00:52:00   It's true of any works of the companies. [TS]

00:52:02   Whenever anything goes wrong it's almost like a positive event of a rabbit again which eventually leads to a gigantic [TS]

00:52:08   web of policies that paralyzes the company makes them stupid and dumb [TS]

00:52:11   but like I said that's the one thing they are good at is this bad thing happened. [TS]

00:52:15   Make a policy sort of happen again like they wouldn't deposit we must have zero warnings by the Tuesday after the build [TS]

00:52:22   all warnings must have tasks assigned for them with due dates [TS]

00:52:25   and like that that is I think something that they were they are good at right now I think. [TS]

00:52:30   MARCO What would your maybe losing sight of is that as a lot of times going to having a production failure it just [TS]

00:52:39   isn't an option even for seconds and and John was alluding to the surlier [TS]

00:52:43   but you were you're coming from the position as you should of someone who is not only V.P. [TS]

00:52:50   On coder but is also the boss and so if if overcast is out in the wild and it goes down who do you have to answer to. [TS]

00:52:58   Everyone will know why now. Yeah exactly. [TS]

00:53:02   Default time zone said well you know you're modifying other collection monitoring over these know that you shouldn't [TS]

00:53:09   use my framework if you have the situation right [TS]

00:53:13   but you don't I mean like you have to answer yes you have to answer your customers and that is kind of crummy [TS]

00:53:16   but your customers can't fire you. [TS]

00:53:18   They could walk away and OK we can go and we can go down that rabbit hole if you really want to [TS]

00:53:22   but in a direct sense they can't fire you they can't not give you a bonus that year they can't impure Rickly hurt you [TS]

00:53:33   and it's very different for I think I speak for John and saying it's very different for he [TS]

00:53:36   and I because if we make some sort of decision that we think that dying in production is better somebody many many many [TS]

00:53:46   rungs up the ladder from us may not agree with that and I guarantee you the bigger the company the more. [TS]

00:53:54   Well in my experience the bigger the company the the happier they are to find a head to chop off and what role. [TS]

00:54:00   Well the big thing is you will not be able to convince them even if you're one hundred percent right because there are [TS]

00:54:04   many situations where you really are right and this was like [TS]

00:54:07   nor where they were talk about warnings like this was a legitimate reason it is actually better that this happened that [TS]

00:54:12   it not happen. [TS]

00:54:12   Good luck convincing somebody three levels up in the org chart of that even if you were just so right [TS]

00:54:17   and everybody who has a sibling to you in your time below you agree that they all signed a petition they all got on the [TS]

00:54:22   parking lot and they were right. The C.E.O. or The C.T.O. [TS]

00:54:26   and Certainly you will not convince them [TS]

00:54:29   and that's the harsh world that we live in you know let me let me challenge our listeners here. [TS]

00:54:33   I honestly curious I would like to know if you work at a company that has a big important online infrastructure. [TS]

00:54:45   And isn't google stuff like that you know big important companies that where you do things well online [TS]

00:54:52   and it's really important that they stay up. [TS]

00:54:54   I'm curious what is your policy what is your company's policy [TS]

00:54:57   and you can write us on the feedback form honestly you can use the early Twitter accounts. [TS]

00:55:02   We don't need this to be like you know on the record I'm just curious to know what what do the big companies do in [TS]

00:55:08   reality where this stuff really does matter and where they are technically. [TS]

00:55:13   Generally you know well run companies I think at that scale it's kind of different I think Google and Amazon half [TS]

00:55:20   and Netflix although it has a design for expected failure so they have to have basically instead of an organism that is [TS]

00:55:26   like clean running they have to make one where X. [TS]

00:55:28   Cell death is expected and they just have little busy robots going through cleaning up the dead cells [TS]

00:55:32   and stuff so that isn't that a little bit different [TS]

00:55:35   and I'm thinking of like of the medium term ones where you're not that big every human in the world is not hitting your [TS]

00:55:40   server but it has to be up. [TS]

00:55:42   It just absolutely asked me like stock trading or banking things whereas only a few computers in this network [TS]

00:55:47   and they're directly connected by crazy optic wires [TS]

00:55:50   and into I forget the trading are they doing something about doing bank transfers but these three [TS]

00:55:55   or four computers have to always be up otherwise people whose millions of dollars you know. [TS]

00:56:00   But he can like that's more reason why you should be really careful what code runs on them [TS]

00:56:04   and why you probably shouldn't ignore a warning. [TS]

00:56:07   Well you're not you're not ignoring what is going around circles it's like the question of do you want something that [TS]

00:56:11   shouldn't that doesn't necessarily have to be fatal to be fatal [TS]

00:56:13   or to cause a piece of work to be put into someone's been to fix that with a deadline because that's the policy [TS]

00:56:18   and so on and so forth. [TS]

00:56:19   But anyway if people defend a feedback on what are they the policies I think you'll be horrified to find that people [TS]

00:56:24   don't enable warnings period even in development. [TS]

00:56:27   Military innovation [TS]

00:56:28   or even they're not even enabled like if we just took a mass survey what we'd find out be like warnings now we turn [TS]

00:56:34   those authors unless you're absolutely right you have the right the other thing I should point out is that you saying [TS]

00:56:40   Marco that you only care. [TS]

00:56:41   Well I shouldn't say that the way you phrased the question was if your livelihood your company's livelihood is based on [TS]

00:56:48   some sort of online service or website or whatever. [TS]

00:56:51   But what you're losing sight of is a lot of times my clients at the job in which I work. [TS]

00:56:58   We often times but not always do like a corporate Internet you know same sort of thing that igloo does [TS]

00:57:03   and a lot of times we're told this cannot go down when in reality nothing will go broke in. [TS]

00:57:12   If the internet is down you don't I mean so a lot of times from on high they say this Internet will be up always [TS]

00:57:19   but really it doesn't matter. [TS]

00:57:21   And so we have to make decisions because as consultants based on the requirement from the client even if we think it's [TS]

00:57:28   ball and I think that John was alluding to that earlier and so a lot of times even if you could say [TS]

00:57:34   when it doesn't matter if this goes down. [TS]

00:57:36   So a lot of times clients will say well it's better for going to be up or work come in and call on you guys [TS]

00:57:41   and we're going to be asked and I hope you know you want to tell me about some cool yeah. [TS]

00:57:46   And before that so that I think that you're right that for your situation where you know if if it's consulting a [TS]

00:57:56   consulting gig where you have to build some system for somebody and then. [TS]

00:58:00   Effectively it's going to have a zero maintenance for a while whether that's weeks or years [TS]

00:58:04   or decades like then I think that's [TS]

00:58:07   and that's a different environment where you expect the software to just tolerate existing [TS]

00:58:12   and whatever upgrades happen on its server which probably won't even be a whole lot honestly. [TS]

00:58:16   But in reality let's be realistic here. [TS]

00:58:19   But you know this thing has to operate with no programmer intervention indefinitely. Right. [TS]

00:58:24   Then it's a different story. Right. [TS]

00:58:26   Then I completely agree that you know you're already doing something that's by software development standards pretty [TS]

00:58:32   bad. If you're going to have and maintain software in production use for a long time right. [TS]

00:58:39   But in reality that happens all time [TS]

00:58:41   and so you're right that like you know in practice in a lot of places you have to accommodate for that [TS]

00:58:45   but that's typically not the kind of place as you said it's not the kind of place where it's super important that there [TS]

00:58:52   wouldn't be no technical errors. You know all the time. [TS]

00:58:55   So anyway we are sponsored and sorry we are sponsored as we also once again by our friends that help spot. [TS]

00:59:04   Are you still using email clients for customer support Casey. I do customer support. I mean yes yes I am. [TS]

00:59:12   You're probably losing track of important take its I bet I am trying to use mark as unread as an organizational tool [TS]

00:59:18   and I am in co-workers to see who's working on what. That's ridiculous. It's time to get organized. [TS]

00:59:24   Most helpdesk software tries to be all things to all people. Infinite feature creep. [TS]

00:59:28   These huge complex messes help spot is focused. It deals only with customer inquiries and self serve knowledge bases. [TS]

00:59:37   There's no built in asset management or password resetting or other unnecessary features to get in your way [TS]

00:59:42   or require complex integration work with your application or your infrastructure. [TS]

00:59:46   How the software is also usually really expensive. [TS]

00:59:49   A lot of them are like around six hundred dollars per user per year which is really high helps [TS]

00:59:54   but is just to ninety nine per user. Once you own it for life it's not. [TS]

01:00:00   If it is to a twenty nine per user one time you own it for life and there's no lock in. [TS]

01:00:05   You can download the software and host it yourself or you can have it hosted for you either way. [TS]

01:00:10   Even if they host it for you you always have access to the database that you can directly Querrey export [TS]

01:00:16   and take elsewhere Helspont is not some new startup they've been available for nearly a decade and is that [TS]

01:00:22   and they've been adopted by thousands of companies organizations customers from single person startups to Fortune five [TS]

01:00:27   hundred companies all use helps to manage their support teams so you can start a free trial today go to help spot dot [TS]

01:00:34   com a slash A.T.P. and Then when you went to buy it if you use coupon code A.T.P. [TS]

01:00:39   Fourteen for the year of fourteen code A.T.P. [TS]

01:00:42   Fourteen will save you a hundred dollars off your already very well priced purchase. [TS]

01:00:47   So thanks a lot to help for sponsoring our show once again. Member go to help spot dot com slash A.T.P. [TS]

01:00:53   and Use coupon code A.T.P. Fourteen for one hundred bucks off. [TS]

01:00:57   So here's the thing that we're kind of dancing around and I think it might be time to pull the band aid off. [TS]

01:01:03   No I want to do this thing that was I thought as you were talking about the perfect example you're just talking about I [TS]

01:01:10   know what he was he was this our mentality is here with us we kind of touched on it a little bit less time for script [TS]

01:01:16   notes you know to save it to Africa. [TS]

01:01:18   The second sponsor John was happening I had to break into it happen and I listened. [TS]

01:01:26   Nope I guess for nothing but I also know I have a follow up today. [TS]

01:01:30   Just just to make sure I had it done for this episode gentleman the last this is the way it's going to have to be. [TS]

01:01:36   Daddy Casey has spoken. [TS]

01:01:37   Where I don't want to this week by squirty going to I don't even see all one platform makes a fashion easy to create [TS]

01:01:44   your own professional web site or on one chord going out for a free trial [TS]

01:01:48   and then for that after a square space dot com and use offer code. [TS]

01:01:51   K C Yeah hey Squarespace is always improving their platform with new features new designs [TS]

01:01:57   and even better support their view. [TS]

01:02:00   If you're to start with and all the style options you need to create a unique website for you or your business. [TS]

01:02:06   They have to over twenty highly customizable templates for you to choose from. [TS]

01:02:10   They've won numerous design awards from prestigious institutions and it's incredibly easy to use [TS]

01:02:15   and customize if you want some help. [TS]

01:02:17   So if it has an amazing support team that works twenty four hours a day seven days a week with over seventy employees [TS]

01:02:23   right here in New York City all of this starts at just eight dollars a month [TS]

01:02:28   and includes are free to make any kind of for a year [TS]

01:02:30   and you can her free trial today with no credit card required it's a real free trial. [TS]

01:02:35   No credit card and when you do start to sign up [TS]

01:02:39   and use offer code Kacey for ten percent off to show your support for our show as well. [TS]

01:02:44   And one more cool thing to Merkel is actually you know what I'm going all out for three more cool things. [TS]

01:02:51   Square is based introduces a new thing called square space logo. [TS]

01:02:54   In addition to building your website you can build your own logo for your site business cards or whatever you want. [TS]

01:03:01   Also all square space plans now include the commerce functionality you can have a store where you sell physical [TS]

01:03:06   or digital goods. Also it's a great integration there it's so easy to set up. [TS]

01:03:11   You can finally have your own online store with very very little effort it's really amazing [TS]

01:03:15   and every square face plant now includes the commerce functionality at no additional charge. [TS]

01:03:20   And finally Squarespace is hiring. [TS]

01:03:24   If you enjoy it if you interview for an engineering or design position before March fifteenth they will invite you [TS]

01:03:30   and your partner to be New Yorkers for a weekend. [TS]

01:03:33   It will fly you out to New York put you up in one of the city's best hotels [TS]

01:03:36   and give you a long weekend of checking out some of their favorite tractions cultural icons [TS]

01:03:41   and restaurants in the city square space will take up the entire tab for this awesome trip to New York. [TS]

01:03:46   They've been voted one of New York City's greatest places to work for two years running so really put them on your [TS]

01:03:50   short list. They're looking to hire thirty engineers and designers by March fifteenth. [TS]

01:03:55   So going to be a part of it that squarespace dot com That's be a part of it. That's great. [TS]

01:04:00   Based on com to learn more about the school offer thanks a lot to Squarespace for sponsoring our show once again. [TS]

01:04:05   So but this Christmas episode Don't even start with me. [TS]

01:04:08   Are you really going to be that if you really want me to abandon software my set all Jews even though it perfectly fits [TS]

01:04:14   the thread of this episode. Then we can move on. John what do you think about this. He changed so much. [TS]

01:04:23   CAVE You know yourself you know I thought I would say though that over the time I think it deserves to be kind of like [TS]

01:04:30   in the prime spot with more time. I leave it up that I am abstaining from this vote. [TS]

01:04:34   So it's Casey versus Marco decide we're going to talk about X. [TS]

01:04:39   I'm prepared for both I kind of feel like that already has a big enough topic that we would want to jam into the into [TS]

01:04:45   the show. But I'll go either way. [TS]

01:04:47   I actually am going to agree with John's non-vote it was actually IS OF A [TS]

01:04:51   but I'm I'm going to agree with John's non-vote and say that I am not trying to avoid it. [TS]

01:04:56   I do think it deserves more time. [TS]

01:04:59   You know you're probably right [TS]

01:05:00   and God help you trying to edit this episode because now I've turned it into a complete cluster. [TS]

01:05:06   But oh this is all in just one horney to that's it. [TS]

01:05:09   It's all and I'm excited about that this is this is what Bill Clinton for Casey this is this the show right. [TS]

01:05:16   So we should probably catch people up on script notes [TS]

01:05:19   and curse this topic internally even though it actually is very interesting. [TS]

01:05:23   So a lot of people came [TS]

01:05:26   and told us oh you should really was in the script episode in script notes is a pod cast by two screenwriters [TS]

01:05:32   and I can even tell you who they are off to my head. John August and some other guy. [TS]

01:05:36   I think that's what I do too but I was yeah. [TS]

01:05:40   And I only know John all this is because he was another part guess that I listen to [TS]

01:05:44   and once I have I've seen his movies and I like them and I'm like oh he's the guy who did that. [TS]

01:05:49   But yeah I don't know that guy sorry. But now that other guy knows exactly how I feel anyway. [TS]

01:05:56   So there's this podcast about screenwriting and. [TS]

01:06:00   Apparently the defacto industry standard for screenwriting is called What what is called the final draft. [TS]

01:06:08   Thank you I have wanted to say Final Cut final draft and so it's a screenwriting application [TS]

01:06:12   and it is like I said the industry standards. [TS]

01:06:14   So from what I gather the screenwriters John August and Casey will call him. [TS]

01:06:21   They don't particularly care for Final Draft and his name is Craig Mazen. [TS]

01:06:25   Thank you so John and Craig don't really care for final draft [TS]

01:06:29   and they actually I guess I complained about it in prior episodes [TS]

01:06:32   but this past episode at the time we recorded this they had actually had the C.E.O. [TS]

01:06:38   Of the company that makes final draft as well as what a proud duct managers I write product [TS]

01:06:44   or project I don't know the difference I live in my own little world here with some other guy would just call that [TS]

01:06:49   person long suffering employee right. So so that other guy. [TS]

01:06:57   So the two of them came on the show which I really respect because it was clear from the get go that this wasn't going [TS]

01:07:03   to go well for them. [TS]

01:07:05   And so John and Craig had these two other guys on the show [TS]

01:07:09   and started telling them all the things that they don't really like about Final Draft [TS]

01:07:14   and why they feel like they've been wronged by not only the high purchase price of what two hundred fifty boxes are [TS]

01:07:22   right. [TS]

01:07:23   Some like that some with two hundred fifty bucks or so for final draft but also the slow updates [TS]

01:07:28   and it was a really fascinating view of both sides of the coin of software development both as the company [TS]

01:07:39   and the people who create software and the people who consume it [TS]

01:07:43   and how they don't entirely understand what we go through in the same way that the C.E.O. [TS]

01:07:50   and That other to the long suffering employee don't really understand what their customers go through either [TS]

01:07:55   and I have some takeaways from this but let me let me open the floor to you. You guys and see us. [TS]

01:08:01   MARCO What did you think about all this. Well first I think. So I I listen to the podcast. [TS]

01:08:09   I made my own opinions of it and I've made a whole post about it [TS]

01:08:14   and all that was before I had read this follow up article from there's a guy named Kent Testament who writes a [TS]

01:08:23   competing product called I believe called Satan here we go. [TS]

01:08:29   And and he he's been a long time critic I gather of Final Draft [TS]

01:08:34   and that's one of the reasons why he started writing his own because he hated soundtracks so much so he started writing [TS]

01:08:39   his own. [TS]

01:08:40   And and he's clearly you know a programmer tech guy but also a film guy and [TS]

01:08:47   and he he put down here I'll put Lincoln a general view. [TS]

01:08:50   He broke down exactly some of the problems with with final draft technically like for instance that it still doesn't [TS]

01:08:58   support unit code. [TS]

01:09:00   Like really like a major major shortcomings [TS]

01:09:04   and that one of the reasons why why they had so much trouble going Retton was not necessarily because it was using [TS]

01:09:11   carbon if you can do right now with carbon it's because they were using a quick draw which was deprecated what twenty [TS]

01:09:19   years ago ten years ago a long time ago at any rate they thought of quite some technical debt. [TS]

01:09:27   And so there's there's some problems there. [TS]

01:09:30   Basically seems like they wrote this application you know in the eighty's and ninety's and have not [TS]

01:09:37   and have been kind of sitting on it and not doing the really hard migrations and not modernizing all this time [TS]

01:09:44   and then all of a sudden they were forced to by the customers with things like retina [TS]

01:09:48   and they were forced to sell it as quickly and it became a really big thing. [TS]

01:09:52   And so it's a pretty typical story of pretty severe technical dead being. No word for way too long. [TS]

01:10:02   I think what I got out of what out of the C.E.O.'s comments attitude was that you know he wants to make all of his [TS]

01:10:10   problems your problems [TS]

01:10:12   and this is something you know the reason why I think it's important for developers to hear this is because you can you [TS]

01:10:18   can see both sides of it you can see the C.E.O. [TS]

01:10:22   Arguing the business side and the difficulties of the business side [TS]

01:10:27   and then you can see the customers arguing that well you know your business stuff is your problem [TS]

01:10:32   and it's not serving us at all and you're kind of treating us badly in your product needs a lot of work [TS]

01:10:37   and it's really stagnant and I think it is. [TS]

01:10:39   So you can see both sides of it and you can kind of see like as as a as a programmer or as a as a. [TS]

01:10:45   So she has you know a company owner if you own your own company [TS]

01:10:47   or make your own products you can see how you could become that C.E.O. [TS]

01:10:52   and It should scare the crap out of you because that's a plausible outcome for somebody software developers. [TS]

01:10:58   I think developers should listen to this because it's people with technical knowledge of both sides of the software [TS]

01:11:04   industry or people who like was in the spot Gaz or just mac nerds [TS]

01:11:08   or into the into development thing will have the unique experience of listening to a podcast with two camps of angry [TS]

01:11:14   people both of whom are just massively wrong at the fundamental level about the major points of their arguments like [TS]

01:11:20   the customers are wrong about like your products should be free [TS]

01:11:23   and how hard is it to do this is like you know from the outside they think everything is easy [TS]

01:11:27   and I think everything should be free [TS]

01:11:29   and Apple gives away the Oh as for free why can't you give away final referee like that just so I don't feel like you [TS]

01:11:34   know where they're coming from but it's like man they have no idea whether I was a software and as Mark I'm going out. [TS]

01:11:40   The C.E.O. [TS]

01:11:41   Is being defensive in ways that are not appropriate for his job as it's all like it's his job to figure out a way to [TS]

01:11:48   keep your software up to date. So you know don't. [TS]

01:11:51   Those are all your problems you have to figure out a way that's that's called being a software entrepreneur. [TS]

01:11:55   Like you have to print stuff out you can't throw it back in customers faces and say you don't realize. [TS]

01:12:00   It is really hard to do this and it's clear that the C.E.O. [TS]

01:12:02   Doesn't have a lot of technical knowledge so he doesn't even know the detail things like I thought I want to jump into [TS]

01:12:07   the podcast and explain to each one of them why they want why they're both wrong new customers. [TS]

01:12:12   But things can't be free in your crazy let me explain why you're reading the wrong [TS]

01:12:15   and you see you know you don't even know why this is hard but it is really hard if you had a clue how hard it was. [TS]

01:12:20   You want to start on these transition years and years ago and yes they might have discerned your company [TS]

01:12:24   but like look how many other companies have been left in the wake of like not being able to keep up with the changes [TS]

01:12:28   and I was ten and I was like that's your job but you want to you want to be a big boy in the software world. [TS]

01:12:33   It's not easy like the I think there was something which started in classic macro us [TS]

01:12:38   and it had to go through some of these attacks that had to go through all these things. [TS]

01:12:41   They had quick draw they had to get rid of that they were carbon they had to find a way to you know go on modern Then [TS]

01:12:47   they had to adopt unit code they had they went through like you know these are like at sui and like or taxed [TS]

01:12:53   and whatever the hell they've gone through multiple different underlying text engines you have to do that otherwise [TS]

01:12:58   you're dead and you know some other nimble competitor who doesn't have your legacy concerns makes a new application [TS]

01:13:03   and the only reason you think the sessile is because you're an entrenched interests [TS]

01:13:06   or whatever like we've all seen this play out a million times so those two guys those two camps of people were just [TS]

01:13:13   both angry both talking past each other [TS]

01:13:15   and is both fundamentally wrong about about their complaints about the other person [TS]

01:13:20   and you know you can't have an app that has a code base that you can't write an app in one nine hundred ninety [TS]

01:13:28   and still be around in twenty fourteen [TS]

01:13:31   and not have to have gone through a few really painful transitions in that time unless you coast on like well we're [TS]

01:13:37   just so entrenched where the big really we can afford to like even if you do that your time you have a longer time [TS]

01:13:41   or but still a timer because like Eventually you're after the launch anymore [TS]

01:13:44   and you're like Well now I guess is the time we have to move quicker it's like nope sorry too late now you dead. [TS]

01:13:49   Like I don't think final draft is in that situation yet because they are such an entrenched interest. [TS]

01:13:53   How look at Adobe Look how long it took them we mentioned the look last show look how long it took them to go. [TS]

01:13:57   Coco The only reason they can get away with that is because there are. [TS]

01:14:00   Photoshop you know we are Photo Shop we are the image editor we ate up all the other ones you know we bought Macromedia [TS]

01:14:05   were like and even then like Eventually the O. [TS]

01:14:08   Us is like no seriously you got to be sixty four but you got to be Cocoa right. [TS]

01:14:12   Like even then they're forced upgrade but yeah the final cut didn't understand. [TS]

01:14:18   Doesn't seem to understand what his what his company does or should be doing. [TS]

01:14:23   Like what how does what is your company do. [TS]

01:14:25   We sell and maintain a software application like that's a dynamic business you can't just keep making the same thing [TS]

01:14:32   and like expect. [TS]

01:14:35   I don't know expect everyone else to do your job for you [TS]

01:14:37   and to make it so that your have to your company doesn't have to do the hard things and I don't know. [TS]

01:14:43   Yeah and there were some quotes in this. [TS]

01:14:45   Only a handful that I'd like to quickly go over that that just really stuck out to me. [TS]

01:14:52   So one of them in actually John your T. Quoted it was. [TS]

01:14:56   Well this is John and Craig will will give us an entire operating system away for free. [TS]

01:15:03   No that wasn't them that was the C.E.O. Citing that as I was a problem that they had. [TS]

01:15:07   Yeah now I think it was think it was the C.E.O. [TS]

01:15:10   Pointed out to them that they make money from selling the phones [TS]

01:15:12   but I think it was the the complaining customers who are saying it wasn't us it was something about like look how cheap [TS]

01:15:19   software is like software has been devalued therefore your thing should be one dollar it's like selling it telling [TS]

01:15:25   Adobe that for a shop should be free or like ten cents because Angry Birds are things [TS]

01:15:29   and well to be fair they were not complaining that final draft is not free. [TS]

01:15:36   From what I gather they were complaining twofold both that it is not a high end of quality product to be worth the high [TS]

01:15:42   price anymore [TS]

01:15:44   and that the upgrades are not worth the upgrade price because of how little progress is made relatively speaking in [TS]

01:15:51   each upgrade that would that seem like they're bigger complaint not that the app should be free or very very cheap. [TS]

01:15:56   It seems like they be very happy to pay two hundred fifty dollars for the. If it was a better app. [TS]

01:16:01   Well but even then they want to pay two hundred fifty dollars ten years ago and never pay again and just [TS]

01:16:06   and continually have the app updated [TS]

01:16:08   and I didn't get that impression I don't I definitely got that impression that that's like yeah I did not that they [TS]

01:16:12   would that I think that I had the impression that they would have hated to spend two hundred fifty dollars way back [TS]

01:16:17   when and then I just want that app to work forever and continue to be updated with the O. S. [TS]

01:16:21   and To get written [TS]

01:16:22   and to get Unicode support never They all for free like they seem to have an entitlement complex that was not not [TS]

01:16:29   proportional to the value of the value that they're deriving from the software [TS]

01:16:33   and it was kind of like compounded by the fact that this is crappy software that hasn't been updated so they feel [TS]

01:16:37   burned by any amount of money to put towards it. [TS]

01:16:40   I guess mostly because they have it revenge like they feel like they have to have this program because like everybody [TS]

01:16:45   uses it I think that's that's the core of their dissatisfaction is like it's like an abusive relationship with like [TS]

01:16:51   well you have to get final draft everybody used graph and then you're already better at this thing [TS]

01:16:56   and if it's not the most amazing program that does everything perfectly and then you just can be pissed [TS]

01:17:01   when anything is wrong with it [TS]

01:17:02   and they seem to be a lot wrong with this program I think Marco's is right though that I don't think they were [TS]

01:17:08   embittered necessarily about paying for it it just seems that they they thought that it was an order of magnitude too [TS]

01:17:14   expensive and I'm making numbers up I'm putting words in their mouth [TS]

01:17:17   but instead a two hundred fifty dollars it should be one hundred dollars up front for the first release. [TS]

01:17:21   And like twenty bucks for every supplementary release [TS]

01:17:24   and additionally I think they were extremely embittered that these upgrades [TS]

01:17:29   or updates whatever they call them were a heck of a lot of money [TS]

01:17:32   and even I would probably agree to this a heck of a lot of money from really not that much. [TS]

01:17:36   Update right now it was cited several times I think it was one hundred dollars for the retina upgrade update whatever [TS]

01:17:43   was like eighty bucks or something and like maybe I'm crazy [TS]

01:17:45   but who is that there's an application that I use for my livelihood I would pay eighty dollars for an upgrade like I do [TS]

01:17:51   I wouldn't blink at that because like I say you use Photoshop to do your work you're a graphic artist [TS]

01:17:57   and authority that comes out and the only upgrade. Is that the U.I. [TS]

01:18:00   Is rotten and like all bug fixes [TS]

01:18:02   and at eighty dollars the upgrade I mean I would pay it would wouldn't any of you pay it. [TS]

01:18:07   Yeah I mean I suppose I was like maybe we have different I guess we probably value software differently because we kind [TS]

01:18:13   of know what goes into it but like [TS]

01:18:15   but it's not like it's like fifty grand I mean it's not you know it's not a site license the CAD program like they just [TS]

01:18:24   don't know. [TS]

01:18:24   Like that's why I think they just they're getting used to the world where everything is like cheap or free and [TS]

01:18:29   but it's like. But this is part of your livelihood. [TS]

01:18:31   You make money [TS]

01:18:32   and I think it all gets back to it's because they don't like this till they feel like they're forced to use it if they [TS]

01:18:36   had their choice they would use something different and better and it's like if you're going to force me to buy it [TS]

01:18:41   and then and now suddenly I'm not happy about like say you hated Photoshop [TS]

01:18:45   and you needed it for your work like this like say you hate Microsoft Word you have to get it because you deal with [TS]

01:18:49   people [TS]

01:18:49   or they insist that you send him everything in doc format right then you'd be pissed that the only you going to do like [TS]

01:18:56   an eighth grade office in the only change was that it was red and incompatible with Mavericks then you'd be best [TS]

01:19:02   but it's mostly mostly just because you hate words so much that any money you put towards continuing this charade of [TS]

01:19:07   having to use this program to have other people like that's where I feel like they're coming from you I think it's that [TS]

01:19:13   but it's also that what was once a decent product has stagnated the impression I got and I've never used final draft [TS]

01:19:20   but the impression I got was that it was at one point a good thing like what they were saying about how based on the [TS]

01:19:27   length of the P.D.F. [TS]

01:19:29   or The printed document you could take a guess at about how long the script was that was very quote apparently [TS]

01:19:34   something that the C.E.O. Seem to think that that was unique to them. Twenty ways. [TS]

01:19:39   The product started pretty solid and pretty good but kind of never really went anywhere and [TS]

01:19:45   and these these two guys John [TS]

01:19:47   and Craig were for example really I'm bitter that it took so long to get retina support in there [TS]

01:19:53   and then on top of that they got charged for and so they were saying the C.E.O. [TS]

01:19:55   You knew this was coming you knew this was coming how did you not figure this out how did you not do it. [TS]

01:20:00   At first I was like well you know it's hard I still have my fast text update for I was seventeen I'm a slacker [TS]

01:20:07   and I have better things to do with my time but you know I can understand that well then the C.E.O. [TS]

01:20:11   Says there's another my quotes. [TS]

01:20:13   You know we're forty people and I think to myself OK so how did you not get retina done with forty people [TS]

01:20:21   but then later on he says well but ten fifteen percent of us are programmers. [TS]

01:20:25   What the hell is everyone else in sales and marketing in the best part was [TS]

01:20:29   when he said well you know how we learned about Iran. [TS]

01:20:32   Someone brought him brought a computer into the office [TS]

01:20:35   and showed it to us if that's how you learn to read then shows you're not engaged with the platform on which you deploy [TS]

01:20:40   your software or even trivial. You don't even subscribe to MacWorld like you do nothing. [TS]

01:20:45   You know forget about going to see which of course you should do if your if your job is that you write software product [TS]

01:20:50   for the mag for crying out loud. Right. Yeah this is kind of pressing like the C.E.O. [TS]

01:20:57   Like he did it himself and his company disservice by coming on this program [TS]

01:21:01   and saying oh it seems because every word out of his mouth was like Mark I said it's like the answer to every single [TS]

01:21:06   one of his comebacks was like that's your problem. That's not my problem. [TS]

01:21:10   But you know I mean it may be the natural way of things is that you've now painted yourself into a tactical corner [TS]

01:21:15   and you must go out of business [TS]

01:21:16   and it will be a blessing for the industry because we can all give our money to the other hungry [TS]

01:21:20   or developers who if they're on like people go through exact same cycles you get big become popular not update their [TS]

01:21:25   software for a decade to crumble under their own weight and the cycle will continue. [TS]

01:21:30   But like that's not your customer's problems in any way shape or form [TS]

01:21:33   and so like it's I don't I guess he doesn't have people telling him don't go on to a program [TS]

01:21:38   and tell even what your customers are actually wrong about like everything should be free [TS]

01:21:42   and you know it's not like you can click onto a program and and tell them about all your woes and [TS]

01:21:47   and they're going to all [TS]

01:21:49   and now it's like I guess maybe he was hoping for empathy like that they would put themselves into his shoe as the [TS]

01:21:55   non-technical C.E.O. Of a company that made terrible strategic decisions for the past. [TS]

01:22:00   Did and go all in [TS]

01:22:01   and I feel bad for you it's all right if I hear software I mean one of the one thing I noticed case you have this in [TS]

01:22:07   the notes and bring it up now. [TS]

01:22:10   One of the one of the more interesting parts of of this dynamic I thought was that the C.E.O. [TS]

01:22:17   Opened the conversation basically by saying that they've done surveys [TS]

01:22:22   and I believe it was ninety two percent of the of the people said that they are very happy with Final Draft [TS]

01:22:28   and therefore they think they're doing great. [TS]

01:22:30   And like that's flawed in so many levels and they and and John [TS]

01:22:35   and Craig briefly mention like well you know that's like that only people who responded to the survey which is [TS]

01:22:43   obviously going to be mostly people who like you [TS]

01:22:46   or you know like it's that's so not a random sample of what people think of your product. [TS]

01:22:52   And the C.E.O.'s entire attitude seem to just be that well we keep hearing from people who like it [TS]

01:22:59   and therefore everything's fine [TS]

01:23:02   and we don't have to like his attitude from the very beginning was we're fine because some people like us [TS]

01:23:07   and therefore we don't need to make any changes at all and it's so easy for people to fall into that trap. [TS]

01:23:13   You know if you select what you're listening to and I've been I've never seen this app [TS]

01:23:20   and even I know everyone hates it. [TS]

01:23:22   Like I know I've heard about this app for four years now about how much people hate this random you know Edge [TS]

01:23:28   conversations here and there and not even being in the business I know people hate it. [TS]

01:23:34   Obviously that's a pretty widespread problem [TS]

01:23:37   and it's so easy it's so easy to surround yourself only by the the inputs that you want to believe. [TS]

01:23:44   I'm sure there's a term for that like there's it's so easy to fall into that that this guy honestly I think he honestly [TS]

01:23:50   thinks that everything's fine and he's in complete denial of any major problems [TS]

01:23:55   and therefore that's I think why he was so we're. [TS]

01:24:00   We defensive [TS]

01:24:00   and aggressive in his response I don't know if I really believe that he was sincere that he really believed that [TS]

01:24:06   but like it's possible the Nile is pretty strong but I think the reason you heard about it [TS]

01:24:10   and I have as well even though we're not screenwriters is because we travel in software development circles [TS]

01:24:14   and anybody who knows anything about software can look at that location [TS]

01:24:16   and you can you can smell like death on it you know even if even if you don't know if you think you're like oh jeez [TS]

01:24:23   this program has not been updated for a while you see old I began I don't know years works [TS]

01:24:27   but I bet we could pick up like it's using older controls that should be using newer ones like maybe for a long time [TS]

01:24:32   the text wasn't properly and the alias [TS]

01:24:34   or looks like was rendered different exists Quickdraw unlike you know we could tell that that there are problems with [TS]

01:24:39   it [TS]

01:24:40   and the reason I think he may be right if you took a random sampling of their customer base is because their customer base [TS]

01:24:46   are not technical people and they view this as kind of like especially since it's such an institution. [TS]

01:24:51   They view it as if you want to become a screenwriter. This is what you get and this is the tool you deal with. [TS]

01:24:57   And everyone complains about it [TS]

01:24:58   but like you know you might as well complain about the weather because to do your job you have to use Final Draft in [TS]

01:25:03   the same way that you might say you have to use Photoshop if you're a graphic designer [TS]

01:25:07   and you just you know there's no no other choice out there [TS]

01:25:10   but they're non-technical people so they're not equipped to to understand what's wrong with this program and why. [TS]

01:25:15   And they're more willing to accept it like whatever's wrong just the way it is what can you do so in that respect they [TS]

01:25:23   may have good server responses [TS]

01:25:25   but the thing that makes me think of in the worst case scenario is I will bet you in two thousand [TS]

01:25:29   and seven two thousand and two does nine maybe even two thousand and ten. [TS]

01:25:32   If you were to survey all Black Berry users they'd say they love their Blackberry. [TS]

01:25:35   Doesn't matter black rim is still doing right [TS]

01:25:38   and you can thank all the people have Blackberries love it it's like yes but the time has passed that by [TS]

01:25:43   and customers may have it and may love it and may be Stockholm Syndrome or the maybe not know better [TS]

01:25:48   but like from the outside we all can see Bob Iger. [TS]

01:25:54   Yeah I think I found interesting about this and it's the only other quote that I that I want. [TS]

01:26:00   Bring up is apparently there was a feature called they called a collaborator which I guess was some sort of [TS]

01:26:06   collaborative writing thing where you can work on a screenplay two people can work on screenplay at the same time [TS]

01:26:12   something like that. Yeah that's a very that's a very good analogy. [TS]

01:26:17   And so they said and this should be pretty much for beta collaborator was built [TS]

01:26:22   when it was on a peer to peer technology with no security. It would still work like that. [TS]

01:26:27   Today what they were saying was [TS]

01:26:29   when they built this feature that was designed to be used between two people probably not colocated they did it without [TS]

01:26:38   even thinking about firewalls and I mostly wrote it in ninety six. Are you kidding. Like how is that OK. [TS]

01:26:47   And that just completely sealed the deal in my mind that screenwriters don't have firewalls care if you think they have [TS]

01:26:52   mighty departments there. [TS]

01:26:53   There are lonely people in their apartments with internet connection slaving away in the next great script [TS]

01:26:59   and every router since nineteen since two thousand and one hasn't included a firewall in it [TS]

01:27:04   but he wouldn't know about this stuff anyway. He was talking about it but. [TS]

01:27:07   But yeah [TS]

01:27:09   and that's the thing is even if that is such an obvious technical hurdle that you would have to get over to do that [TS]

01:27:16   kind of feature and they shipped it at least for a little while [TS]

01:27:20   and I guess they've pulled it since they shipped it without even thinking about that like how is that possible. [TS]

01:27:26   It just reminds me that there are terrible software developers out there [TS]

01:27:30   or if these developers are good just on believably indescribably out of touch management or both. [TS]

01:27:36   If I was on a podcast I would have also brought the MET a point which is that the screenwriting format is ridiculous [TS]

01:27:43   than anachronistic and really deserves to be destroyed and torn down [TS]

01:27:48   and it is held aloft by the collective you know by tradition basically this is the way it's always done this is what a [TS]

01:27:54   screenplay looks like. Let me tell you about all the great qualities of it. [TS]

01:27:57   Oh you can always tell exactly how long the thing will be in minutes by looking. [TS]

01:28:00   Number of pages always or number of pages every day. Everyone knows it. [TS]

01:28:03   Like it can continue to be held aloft by that like sort of oral tradition and indoctrination of new people [TS]

01:28:09   and it is true that this is what a screenplay looks like. But the format is dumb it is not like it's my space font. [TS]

01:28:15   It's formatted crazily lots of things are in all caps and everyone who enters the industry and I really get used to it. [TS]

01:28:21   Come to like it and will not accept any other format [TS]

01:28:24   but bottom line objectively wipe out all the people who've ever seen a screenplay. [TS]

01:28:28   Show them this for a show the new people. This format they'll be like is like it is it is not of this time. [TS]

01:28:33   It is of a different time of a time of typewriters and one is based on an all caps and not you know it's dumb. [TS]

01:28:40   So what are the best. [TS]

01:28:42   The ideal thing to happen for the entire industry would be to not only for a final draft to be disrupted [TS]

01:28:46   but for the entire screenplay format to be replaced by something better. [TS]

01:28:50   I have dim hopes of that ever happening because of that. [TS]

01:28:52   Any group of people who is not not raring for you know amazing disruption innovation is screenwriters [TS]

01:28:59   and entertainment is true they just want their format they want to be the way it is. [TS]

01:29:01   They just want slightly better tools to work on and they will consider that a big victory [TS]

01:29:05   but from the outside it's clear that the screenplay format is stupid. [TS]

01:29:09   Well and to be fair in the fall of episode of their pod cast John and Craig did address that a little bit [TS]

01:29:15   and talking about things like how the one paid for minute thing is this kind of elementary assumption that you know [TS]

01:29:21   it's like three paragraph essay you're taught in middle school it's you know it's like it's a very basic thing that you [TS]

01:29:26   know in practice once you get once you're a real professional It doesn't really it's not that simple [TS]

01:29:32   or it's not necessary to rely on things you know assumptions like that are these tenets like that [TS]

01:29:37   and there's also this thing called Fountain which from what I gather is like a markdown like [TS]

01:29:42   or markdown based plain text format that doesn't weigh with manual pagination or stuff like that [TS]

01:29:48   and it doesn't what they are actually moving forward [TS]

01:29:50   and the problem really seems to be that that final draft is not his final draft has this this position. [TS]

01:30:00   Our right now where you know [TS]

01:30:03   or at least they have to date where they were the standard of they have their own file format [TS]

01:30:08   and there they are like you know they're relying on these invariants that OK well pagination matters above all else [TS]

01:30:16   and all of the stuff and the reality is the industries being disrupted. [TS]

01:30:22   Just like so many other technical industries where now there's a whole lot of other apps coming out some of them cheap [TS]

01:30:29   and terrible but some of them good that are doing things more in a more modern way [TS]

01:30:35   and that's the problem like you know just like so many other industries. [TS]

01:30:41   I don't think it's going to be I don't think final draft is going to be disrupted [TS]

01:30:45   and replaced by one thing I think is going to end up being diverted and replaced by a few standards [TS]

01:30:51   and then a few different apps they read the reader write the standards [TS]

01:30:54   and it seems like this fountain format is probably going to be that standard [TS]

01:30:58   but again I think by now all three of us are talking us and we all know nothing about [TS]

01:31:04   and we're going to get all the e-mail people explaining the various features of the screenplay format that were created [TS]

01:31:09   intentionally for a specific reason and like [TS]

01:31:10   and I'm sure like the formatting in the layout Everything has had a purpose originally [TS]

01:31:14   but some aspects of it are really just artifacts of the technology that was available at the time specifically you know [TS]

01:31:20   the all caps amount of a spot. [TS]

01:31:22   The layout being done basically by serious spaces of the model space finally all those things are done because that's [TS]

01:31:27   what you had that's how you know you were going to typeset it like a book because that's not efficient for the [TS]

01:31:32   production process you need people to be able to type these things up. [TS]

01:31:34   It's kind of the same way that you see like the the opening parentheses used to make ASCII art to make the little boxes [TS]

01:31:40   on the front of legal documents Mark along with this [TS]

01:31:43   but I don't like the fact that so it doesn't really matter as much in legal arguments like whatever lawyers everything [TS]

01:31:48   they do is all made up and crazy with their legal language. [TS]

01:31:50   But screenplays could benefit from a farmer that took advantage from of modern technology keep all the good stuff about [TS]

01:31:56   the old format in terms of visually blocking out things with whitespace. [TS]

01:32:00   So making it easy for actors to read [TS]

01:32:01   and you know all I don't I'm just making up what the features may be of the four [TS]

01:32:04   and there are probably good things about the former [TS]

01:32:06   but the bad things are just being carried along like those parentheses on legal documents [TS]

01:32:11   and they just they just ridiculous at this point. OK thanks lead to our three sponsors this week. [TS]

01:32:18   Picture life help spot and square space. And we will see you next week. [TS]

01:32:25   Now this it was accidental accidental because it was there until today. Except that the Michael Casey. [TS]

01:33:27   So I cannot believe I let you railroad me. Well that's good notes and timely. [TS]

01:33:32   But now I am saying you [TS]

01:33:34   and Margo could have we're going to months you know Casey had insisted I would have gone along with it. [TS]

01:33:38   He didn't really and stain I did I'd say I gave my thing about abstaining from the vote. [TS]

01:33:44   I was what I was trying to convince Casey was that not getting it done today does not mean it will never get done [TS]

01:33:50   and in fact it may be done better in the future but he still kind of insisted and I would not have opposed him. [TS]

01:33:54   What would you do next week will say right now next week we saw from mental methodologies and nothing will happen. [TS]

01:34:00   Old statement when I went out of I've Been Turned out we won't talk about it all. [TS]

01:34:05   God Now you've changed it and will never talk about it ever. [TS]

01:34:08   This pod cast will [TS]

01:34:09   and if it results in Apple buying Nintendo you're your sacrifice will have been noble you are you saying that we will [TS]

01:34:19   do it next week. Whether or not you're serious has pretty much absolutely prevented that from happening ever. [TS]

01:34:26   That's that's the equivalent of saying well this will be short show. If Apple doesn't send. [TS]

01:34:34   And there's no John Syracuse a podcast to talk about it didn't really happen on this my third part cast in like three [TS]

01:34:42   days comparable to command space now we're doing this as a how to just take a rest. [TS]

01:34:48   The it really for the unknown handsomest. I hate you too. [TS]

01:34:54   I know that we didn't even talk about driving with glass there was not another remark [TS]

01:34:58   or topic yeah I mean why it is that much more to say on it. [TS]

01:35:01   I just want to say that I have looked into the zero amount as is my way for the show but what I assumed [TS]

01:35:07   when I saw the headline about storing flying blind Twitter was that they were only lobbying to allow you to wear it in [TS]

01:35:12   the car like for example if you get it with prescription lenses [TS]

01:35:15   and you need them to see to drive they didn't want they want to make it illegal so you didn't want to be illegal for [TS]

01:35:20   you to merely wear them. [TS]

01:35:22   I didn't think they were lobbying for it to be legal for you to to have it turned on and using it [TS]

01:35:27   but since I didn't read any article that is there I don't know did you know did you read them [TS]

01:35:30   and you can tell me I don't think we I don't think we know that much to that much detail. [TS]

01:35:36   Hell my little justice here I've merely heard mostly support of my position [TS]

01:35:44   and brief in my position is that for Google to to lobby to actively lobby against states that want to prohibit glassed [TS]

01:35:53   use while driving. I think that's incredibly irresponsible by Google and you know it. [TS]

01:36:00   I think it's you know pretty much all reasonable people agree that texting while driving is dangerous [TS]

01:36:06   and should be prohibited. And certainly avoided. [TS]

01:36:11   People will do it anyway but I think I think even people who do it know that it's unsafe [TS]

01:36:15   and wouldn't really argue that strongly that it that it was safe and I think texting while driving [TS]

01:36:21   and using Google Glass are pretty close. [TS]

01:36:25   Like I don't think there's a huge difference in safety in a car between doing those two things I don't think one is [TS]

01:36:32   dramatically more safe in the other. [TS]

01:36:34   It's both like it's engaging your visual attention in a way that like us like interact with like a multi-step process [TS]

01:36:44   with a computer system where you're not looking at the road [TS]

01:36:46   and well actually now that I've thought about it for the five minutes they've talked. [TS]

01:36:50   What about if they are envisioning something like that why don't your in five there in arguments that people have made [TS]

01:36:57   that say things like well this is just like looking at an afternoon or it's just like looking at a heads up display [TS]

01:37:03   and I think the difference is that you know a net first of all natural [TS]

01:37:08   and heads of displays are designed very very carefully and conservatively to be like maximally safe [TS]

01:37:15   and also to minimize how long you have to look at them in ideal cases some of them go as far to be like you can even [TS]

01:37:23   like some of them or even let you enter an address in navigation if you're moving for instance. [TS]

01:37:27   There's all sorts of safety things that that car systems use to either prevent [TS]

01:37:32   or discourage you from using it very responsibly things like you know how D.V.D. [TS]

01:37:37   Players like sometimes there are be these D.V.D. Players that will complete video in the front seat. [TS]

01:37:41   But you can only totally play while you're parked and yes some people will will pack then disable it [TS]

01:37:45   but like there's all these things in place for for things that are installed in cars especially things that come stock [TS]

01:37:50   from the manufacturers. There's all these safety in place to to try to make them as non distracting as possible. [TS]

01:37:58   And like. A heads up display displaying your speed. [TS]

01:38:03   Well that's you know that's no more distracting than a speedometer you don't have a lot of reasons to like stare at [TS]

01:38:08   that for a while. [TS]

01:38:09   Well what are the heads up display in your glasses showing now overlaid on the street in front of you. [TS]

01:38:13   If that is what it's showing that's fine [TS]

01:38:16   but I think again this is like a human nature human behavior kind of thing the reality is like we've banned in most [TS]

01:38:25   places we've banned handheld use of cell phones. [TS]

01:38:28   Now you could also say well what if you're using the cell phone in your hand looking into navigation screen [TS]

01:38:34   and that's in place where hand-held cell phone use is banned that spent [TS]

01:38:39   and I think is one of those cases where you know the reason why that's banned is that yeah maybe you might be doing [TS]

01:38:45   that [TS]

01:38:45   but there's also a very good chance that a lot of people who do that are also going to like you know sent a quick text [TS]

01:38:51   just take a second [TS]

01:38:53   and there's all this all this potential for these multipurpose general computing systems like smartphones like glass. [TS]

01:38:59   There's all this potential for misuse and misuse is so easy [TS]

01:39:03   and so common that they should probably ban it out right because they know that like you might be using for navigation. [TS]

01:39:12   But there's a pretty good chance you're not [TS]

01:39:13   or there are so many other things to do with it there are navigation that you know in reality people would like be [TS]

01:39:19   reading a text message or dictate they're taking a message [TS]

01:39:22   or reading Twitter reading e-mail just came in are like like they're like there are so many potential abuses there [TS]

01:39:28   and is so it is so much more distracting than in the car systems because you're interacting with a computer at that [TS]

01:39:35   point like you're like it's a multi-step interaction. [TS]

01:39:38   You're like visually engaging in a way that it's non-trivial and [TS]

01:39:41   and takes more than a split second of your attention and so I do think there's a significant difference there. [TS]

01:39:47   And and [TS]

01:39:49   and some people also said like oh well what of glass is you know what if you can where you have to keep it off again. [TS]

01:39:56   Same thing like how you can tell from the outside whether it's. On or off. [TS]

01:40:00   So a lot of people just sneak by [TS]

01:40:02   and say oh well you know I was going to leave it on because you know I'm responsible I'll be OK [TS]

01:40:06   and that's a problem too. [TS]

01:40:07   Well that's why I'd like to know what Google was lobbying for like basically where they're lobbying for you're allowed [TS]

01:40:11   to wear but has to be offices you're allowed to wear it and use it like I'm pretty sure was the latter [TS]

01:40:15   and I'm pretty sure they didn't distinguish between on and off that they just want you to be able to wear. [TS]

01:40:19   Yeah well like I think Google's bet and I think they're right in this [TS]

01:40:22   but is that augmented reality as they call it is probably the future of more or less everything [TS]

01:40:26   but I think you're right that if that is the future thing we are unfortunately going to have to wait for it to be built [TS]

01:40:31   into cars because then it will be more or less single purpose [TS]

01:40:36   and even if it's the exact same technology the exact same kind of display were like overlays that have on top of the [TS]

01:40:41   street in front of you [TS]

01:40:41   and shows you where you should term of the wire like you can imagine lots of really cool features like this I think [TS]

01:40:45   that is actually safer than [TS]

01:40:46   and looking down at an ab screen like to see the little arrow in your little picture of your car going if you could [TS]

01:40:51   just continue to look out the window and just look like a little red line was painted on the road turning to the right. [TS]

01:40:56   That's safer and I think that is definitely coming. [TS]

01:40:58   If that comes from your glasses though chances are good even if you have like a driving mode [TS]

01:41:03   and that the glasses have to be certified by a like the Highway Association like it's so much safer [TS]

01:41:08   when it's built into the car [TS]

01:41:10   and because car technology moves so slowly that they're super conservative everything sucks there anyway [TS]

01:41:14   and B if it's built into the car the car maker is extremely motivated to make sure that you can't read text on it right [TS]

01:41:20   like in the car the car maker could not ship that they're more liable with that kind of stuff like like you could you [TS]

01:41:27   could plausibly sue the car maker for designing a very threatening system a lot more easily than you could sue Google [TS]

01:41:32   for making you know. Right. [TS]

01:41:34   Built into the cargoes going to say you shouldn't have been doing that while you're driving [TS]

01:41:37   but you're like if it's built into the car you say you put it in the car. [TS]

01:41:41   Exactly and that's why that's why you can do the address [TS]

01:41:43   when you're moving because the car makers like we allow them to do this they will they'll crash [TS]

01:41:47   and also us for what it's worth I can actually read text messages on my i drive in my B.M.W. [TS]

01:41:53   Like on the screen but usually crashing as a means of B.M.W. Get their car. [TS]

01:42:00   Just want to point that out real quick I'm sorry Mark I'm going to act. [TS]

01:42:03   All right so part of my position on this was was a pretty severe condemnation saying like you know if Google Google is [TS]

01:42:11   actively lobbying for something that I believe is pretty clearly very unsafe for driving [TS]

01:42:18   and car accidents are are no joke like it's a really car accident or a serious problem. [TS]

01:42:25   So many people get injured or die in car accidents. [TS]

01:42:29   And for the most part you know things that we pay a lot of attention to like plane crashes [TS]

01:42:34   and terrorism like that end up killing way fewer people than car crashes car crashes are a big problem. [TS]

01:42:41   It's a really big deal and car safety should really be taken very very seriously and not at all lightly [TS]

01:42:48   and not at all recklessly. [TS]

01:42:49   And so for Google to actively lobby against car safety basically to actually lobby for their own self interest in a way [TS]

01:42:58   that's that pretty clearly unsafe in general use for cars like people are probably going to die as a result of that. [TS]

01:43:07   And if Google Glass becomes really popular which you know it probably won't in all honesty but I suppose it does. [TS]

01:43:15   Imagine how big of a problem that will be [TS]

01:43:17   and how many people might unnecessarily die because Google fought safety legislation. [TS]

01:43:23   That's a really that's that's serious. You know that's not a joking matter at all. [TS]

01:43:27   So a lot of people said well isn't Apple at fault for people texting while using their phones and crashing and. [TS]

01:43:35   No that's a completely different situation because Apple has not to my knowledge actively fought against anti texting [TS]

01:43:42   laws. And if they have let me know I mean I would love to know that. [TS]

01:43:47   But that is not at all the same thing and is not comparable. [TS]

01:43:52   You know it's obviously manufacturers on both sides of this political debate. [TS]

01:44:00   When both sides can potentially do more to prevent people from using their phones while driving. [TS]

01:44:06   You know now you can you can think OK Well Apple has this new M seven processor that can supposedly detect [TS]

01:44:12   when you're in a car. [TS]

01:44:13   It probably can't tell whether you're driving or passenger but if you take [TS]

01:44:17   when you're in a car make you show some kind of warning or something you know there are things they could do [TS]

01:44:20   but they're not like actively fighting against safety legislation [TS]

01:44:26   and that that I think puts a very different type of action. [TS]

01:44:30   Like who is doing I think is actively harmful whereas the inability to try to prevent people from texting in a car is [TS]

01:44:40   you know like like inaction is is not as bad as like actively harming safety actions I think. [TS]

01:44:46   Well Google also in a position to potentially bring the largest safety increase in car transportation ever which is [TS]

01:44:52   through their soft riving cars assuming that continues apace and does not fade away [TS]

01:44:56   and there continue to be successful with it. [TS]

01:44:59   I'm not saying that balances out like Therefore you're allowed to do something is going to kill more people now that's [TS]

01:45:03   a bad idea but but it's like historically speaking. [TS]

01:45:07   If history goes out every More forget that briefly they killed a bunch of people less I think what they're thinking is [TS]

01:45:15   on the glasses that they also believe that all humans in reality is the future just look at their crazy whatever there [TS]

01:45:21   was that thing with the phone thing the maps out there [TS]

01:45:23   and they're in like the tech for doing that are going to realize stuff is getting better [TS]

01:45:26   and better all the time it's going to be everywhere [TS]

01:45:28   and Google is like if we wait for the car makers to do this it will take forever to get here it will be crappy [TS]

01:45:32   and all that is true [TS]

01:45:34   but I think they just have to like the alternative is they should either make their own car with this built [TS]

01:45:39   and say buy Tesla go nuts like you have have a go at it [TS]

01:45:42   but trying to put it into a general purpose computing device that you wear in your face [TS]

01:45:47   and you have to get everyone to wear the stuff in your face [TS]

01:45:49   and be like they would have they would have to sign up for all of the sort of liability type concerns that the car [TS]

01:45:55   makers do in terms of regulation and everything and like it there. [TS]

01:46:00   If they want they want the freedom to do whatever the hell they want [TS]

01:46:03   and just don't bother us because eventually we're going to get to this awesome auger into reality it's coming [TS]

01:46:08   eventually anyway and we're going to get there first because we can move faster but that's playing a little bit fast [TS]

01:46:13   and loose with with people's lives I agree. And that also that also seems like almost a childish and naive. [TS]

01:46:21   That's Google for you. [TS]

01:46:22   Exactly I think that's a problem it's like well that's what that's what we love about that's what I love about Google. [TS]

01:46:27   Like the self-doubt in cars is the same type of thing that's what we love about it [TS]

01:46:30   but in the same time it gets them into that like that's why I always think of Google's corporate mindset not as evil [TS]

01:46:37   more as like a naive hacker type of you know like Dan is in a Reddit like technology is cool we can do cool things with [TS]

01:46:45   technology and I just go do that cool things because it's cool and let's not think too much about the consequences [TS]

01:46:50   or whether all make money or anything like that you know that's what we love both love and hate about Will. [TS]

01:46:57   Titles go to fail the house the title might go to fell some put in all caps this isn't basic. Have you seen the code. [TS]

01:47:06   Oh yeah that's one point we didn't dress about the goat isn't that on your dress. All the people who've never seen a C. [TS]

01:47:11   Programmer Unix C. Programmer like goto who uses that if you are a C. Programmer and you come from the. [TS]

01:47:19   Just look at the source code to your favorite you know look at B.S.D. [TS]

01:47:22   Look at Linux or wherever you find go to everywhere because they didn't really have exceptions [TS]

01:47:27   and the control flow necessary with lots of nested it's to get you out of an if you end up having to make like Flag [TS]

01:47:34   variables and really contorted logic. [TS]

01:47:37   Go to is actually the cleanest solution in those situations where you want to get out of the normal flow of the program [TS]

01:47:42   and go down to it you know or you can do set jumper [TS]

01:47:45   or any of that whatever you want to go to is is the idiom that believe it or not [TS]

01:47:48   and the only thing you've heard about programming is the GOTO is evil because there's a paper that you never read that [TS]

01:47:53   got passed around the Internet ten years ago. But look at any real C. [TS]

01:47:57   Source code and go to is there and it's use for exact. [TS]

01:48:00   There is purpose and it has all the same problems and this is not what the paper about goto was against really [TS]

01:48:05   but you can see goto does contribute to this anti pattern [TS]

01:48:08   but you know that's why newer better languages have exceptions. [TS]

01:48:13   Yeah and you know and like the GOTO is like there's things like break [TS]

01:48:16   and continue in a loop that I would argue break [TS]

01:48:19   and continue especially break like that's really not a whole lot cleaner than goes here like if you think about it like [TS]

01:48:26   it's a lot [TS]

01:48:27   but you knew like if you had like a very contorted logically condition a condition a condition you want to break all [TS]

01:48:32   the way out of it then you even break doesn't save you then you didn't have a flag variables [TS]

01:48:36   and it makes the code in comprehensible to the people who read up the functional a bit [TS]

01:48:40   and saw the type of the variable status. [TS]

01:48:44   Pretty sure if you knew what that was you were not surprised to see the go to the flick that's that's like you know if [TS]

01:48:49   you've if you've been around old C. A.P.I. [TS]

01:48:52   As long enough you know you've probably seen that [TS]

01:48:55   and it's you know it's a little thing words like you call a bunch of A.P.I. [TS]

01:48:58   Calls and if they return zero everything's cool. [TS]

01:49:01   And if they return non-zero something bad happened [TS]

01:49:04   and so if you want to do that's like you know eight step process Recall is a different functions [TS]

01:49:09   and you have to have Eric check in code around every single one of them if any of these return non-zero fail that's [TS]

01:49:15   what this was that's exactly what this was and and and fail in this case but the fail label didn't mean it has failed. [TS]

01:49:24   The Fair Labor was the destination of where to jump to if it had if it had failed looks basically like go to the end [TS]

01:49:31   like go to the end of this logic block that's what it was. [TS]

01:49:34   That's another object to see a thing that we could have talked about and I hope and point and shows the convention [TS]

01:49:39   and basically cocoanuts want to receive a Coke which not use exception exceptions for control flow is that correct. [TS]

01:49:46   Yeah yeah I mean except like injective see objections like bye bye like policy and. And like the A.P.I. Norm objects. [TS]

01:49:57   Exceptions are not meant to happen in. [TS]

01:50:00   In running code most of the time like it's not meant to be control flows easily gets They're meant like you're probably [TS]

01:50:06   not meant to catch an exception I got to see and it's not like so much a language feature as it is an A.B.I. [TS]

01:50:12   Convention [TS]

01:50:12   but still that that type of thing leads you to these like the tedium of of you know you know write parameter conditions [TS]

01:50:22   you know where you passed the an address to some error thing is going to fill out [TS]

01:50:24   or return values where at some status of others or a status [TS]

01:50:27   or any other type of thing that type of thing is frowned is seen as slightly barbaric in languages that do allow you to [TS]

01:50:37   use exceptions. [TS]

01:50:38   Do expect you to use exceptions for flow control [TS]

01:50:40   and then of course there's the pathological case of like you know checked exceptions and all the java crap [TS]

01:50:44   and like it can go too far in the other direction as well [TS]

01:50:46   but I would I would put down a list of things that Objective C. [TS]

01:50:49   That other languages do differently that people find cumbersome tedious and error prone [TS]

01:50:55   and lead to these type of situations where you find yourself needing a go to as far as I know it might get to see code [TS]

01:51:02   written so far. Instapaper buckshot. The magazine and overcast of the ever written a try catch block. [TS]

01:51:09   I think I've always made exceptions global thing. [TS]

01:51:12   Yeah because in Cocoa they're not you're not you're not supposed to like exception is supposed to be exceptional like [TS]

01:51:16   that that policy is there not for control flow it's not just to get me out of this mess that block it's like something [TS]

01:51:22   has gone wrong and maybe you can put up a dialog and exit your app or do something like that [TS]

01:51:26   but you're not supposed to use it as a form of flow control even if even though I assume you can if you want to. [TS]

01:51:32   It's more like an assertion failure. [TS]

01:51:34   Yeah I think that's how the tire more supposed to use it like if I think certain failures might even throw exceptions I [TS]

01:51:39   don't remember exactly when. Anyway all right title title. Go to Phil's obvious I'm not against it. [TS]

01:51:49   A lot of contests I think are going to have the title as we close [TS]

01:51:51   and I want to avoid it so we can be cool so we can be cool. I added ish. Everything is relative. [TS]