The Accidental Tech Podcast

54: goto fail;

 

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

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

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

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

  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]

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

  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]

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

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

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

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

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

  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]

  really impressive and very cool data computations with [TS]

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

  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]

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

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

  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]

  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]

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

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

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

  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]

  and it is very interesting in a present [TS]

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

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

  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]

  Do they need to let developers write applications they need to write applications themselves [TS]

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

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

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

  but it is serving an entirely different purpose [TS]

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

  It will from language. [TS]

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

  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]

  always very interesting and powerful tend not to. [TS]

  Thus far I mean doesn't mean it can never happen [TS]

  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]

  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]

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

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

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

  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]

  at. [TS]

  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]

  to Apple script. [TS]

  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]

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

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

  and this interactive prompt you can do whatever you want with but [TS]

  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]

  it would be for me but they are still amazingly cool. [TS]

  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]

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

  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]

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

  and I can tell there's a lot there [TS]

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

  and how do I ask it to do that. [TS]

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

  know the royal like tuples in some sense X. [TS]

  or Function calls [TS]

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

  language [TS]

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

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

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

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

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

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

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

  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]

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

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

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

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

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

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

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

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

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

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

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

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

  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]

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

  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]

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

  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]

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

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

  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]

  a strict verification code [TS]

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

  and it skips over that step. [TS]

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

  Server that you're talking to is who they say they are [TS]

  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]

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

  or a wireless router in a coffee shop [TS]

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

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

  server and you can talk securely and you know [TS]

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

  server you're talking to really is who they say they are [TS]

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

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

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

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

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

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

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

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

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

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

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

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

  There are almost no other changes in the entire function [TS]

  and then this one extra goto failed line inserted in the middle [TS]

  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]

  happen in the surrounding lines between these two releases. [TS]

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

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

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

  and I'm going to [TS]

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

  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]

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

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

  where basically the N.S.A. [TS]

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

  They'll have people sitting on. [TS]

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

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

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

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

  and all of that you know that's that's not that's not like artifice [TS]

  and tinfoil happing that think that kind of thing does happen. [TS]

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

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

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

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

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

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

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

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

  You know we can't tell exactly but normally [TS]

  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]

  simpler more likely explanation is honest reason X. [TS]

  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]

  the N.S.A. and What they do with tech companies. [TS]

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

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

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

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

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

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

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

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

  Oh that's that's wrong [TS]

  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]

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

  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]

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

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

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

  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]

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

  but again it's there's a plausible reason. [TS]

  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]

  dumb honest mistake in given the given the context given the time it happened. [TS]

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

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

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

  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]

  and I don't know I just. [TS]

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

  and that our government doesn't do things like that [TS]

  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]

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

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

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

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

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

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

  To have caused the bug to be entered in any way. [TS]

  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]

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

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

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

  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]

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

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

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

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

  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]

  easy to find because this is like a I can spoof a certificate [TS]

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

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

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

  their security camera. [TS]

  So that I think argues against it being intentional [TS]

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

  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]

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

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

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

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

  and signing off well yes you know in this. [TS]

  Or if the validation emerges it compiles [TS]

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

  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]

  like Marta said that something this is something they do [TS]

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

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

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

  Both knew about it and exploit it. [TS]

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

  away in reasonable you know plausible explanations. [TS]

  It's just like what you [TS]

  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]

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

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

  But now that we know that this stuff happens and [TS]

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

  of S.S.L. Verification are pretty handsome. [TS]

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

  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]

  or are still there. Yes thanks. [TS]

  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]

  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]

  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]

  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]

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

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

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

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

  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]

  I might say sixty percent you know [TS]

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

  You know too many Clintons would have to happen. [TS]

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

  You have to ignore a lot of a lot of Clinton and says that did that [TS]

  or the case to believe that this was totally innocent. [TS]

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

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

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

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

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

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

  anything about it. [TS]

  So that's I guess the thing we can actually watch [TS]

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

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

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

  and that I don't see if it was the government [TS]

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

  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]

  hacked us. [TS]

  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]

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

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

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

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

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

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

  Mole that you discovered in your organization like that. [TS]

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

  but it was it was fairly wide ranging statement [TS]

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

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

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

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

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

  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]

  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]

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

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

  about. [TS]

  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]

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

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

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

  Never added bugs or code intentionally [TS]

  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]

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

  They can ask him did you put that there intentionally [TS]

  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]

  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]

  time right. [TS]

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

  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]

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

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

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

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

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

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

  Well the machines. That we built in the software that we built. [TS]

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

  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]

  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]

  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]

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

  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]

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

  Where's this crash coming from why is it happening [TS]

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

  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]

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

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

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

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

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

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

  I believe it was two weeks of myself [TS]

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

  And I bring this up because it looked statically. [TS]

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

  Perfectly valid switch statement [TS]

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

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

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

  shows the memory was in the league. [TS]

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

  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]

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

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

  but regardless you have a lot of process. [TS]

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

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

  and I see this as being a very very very similar situation. [TS]

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

  through [TS]

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

  clause conditionals without the braces and then make it slightly less obvious [TS]

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

  never happen in Python. [TS]

  I mean all the talk about whether this is intentional [TS]

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

  and the language features do lead to more or fewer bugs [TS]

  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]

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

  in any language that allows that type of thing. [TS]

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

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

  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]

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

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

  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]

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

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

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

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

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

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

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

  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]

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

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

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

  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]

  Most of the time it usually works. Not reassuring. [TS]

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

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

  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]

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

  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]

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

  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]

  and its id value a seventy seven and you shoved it into seventy seven [TS]

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

  the seventy seven I think so [TS]

  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]

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

  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]

  or sources telling us yes yes it's crazy [TS]

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

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

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

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

  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]

  notice it. Yeah that was a problem anyway. [TS]

  We're sponsored this week our first Bonsor thirty minutes [TS]

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

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

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

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

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

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

  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]

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

  That's awesome [TS]

  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]

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

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

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

  Founders of this include Charles foreman who I actually know. [TS]

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

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

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

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

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

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

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

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

  you actually pay for what you use. Yeah it seems that way. [TS]

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

  thing [TS]

  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]

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

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

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

  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]

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

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

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

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

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

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

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

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

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

  and that I really appreciate that I have to tell you that pro are protective [TS]

  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]

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

  and Hated that and there's no switch they principle solve there [TS]

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

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

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

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

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

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

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

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

  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]

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

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

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

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

  Go to fail thing again. [TS]

  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]

  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]

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

  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]

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

  and stuff that that it would fail on for various reasons [TS]

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

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

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

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

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

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

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

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

  Why should not also apply to production. [TS]

  If I'm if I'm throwing exceptions on [TS]

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

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

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

  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]

  baseline they need to support for their deployments [TS]

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

  installed P.H.P. [TS]

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

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

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

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

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

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

  your back. [TS]

  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]

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

  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]

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

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

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

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

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

  next two years so you should stop using it [TS]

  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]

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

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

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

  series and even sometimes [TS]

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

  cycle and stuff like that [TS]

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

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

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

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

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

  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]

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

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

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

  but things get much more complicated as the organizations get bigger [TS]

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

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

  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]

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

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

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

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

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

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

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

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

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

  whoever defined wall way back when. [TS]

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

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

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

  fancier tools people. [TS]

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

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

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

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

  it. [TS]

  But there might be something you might want to look at here [TS]

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

  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]

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

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

  Well you can only do that for the for the warnings you know about [TS]

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

  Lots of other languages and open source projects that are newer [TS]

  and moving much faster who have no problem adding crap like that [TS]

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

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

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

  and bosses bosses are yelling down development asking why production is down [TS]

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

  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]

  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]

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

  when we were learning list. [TS]

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

  and he might have been joking [TS]

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

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

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

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

  and the developers are distant from the code [TS]

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

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

  but you know you lose X. [TS]

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

  and only takes one night of that happening to go [TS]

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

  and lost the service being down during that time [TS]

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

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

  is a really big problem. [TS]

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

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

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

  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]

  middle of the night because you updated in the middle of night [TS]

  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]

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

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

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

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

  execute that code path that warning will never be admitted [TS]

  but if you have a warning to me they become fatal exceptions [TS]

  and in production someone Apple actually hits that code path. [TS]

  No one upgraded anything but your server still you know died because [TS]

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

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

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

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

  and like the right thing [TS]

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

  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]

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

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

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

  and you totally thought it should be expect that someone forgot to [TS]

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

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

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

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

  and you start an argument but in production like [TS]

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

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

  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]

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

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

  Like I said I think that's too much but you see I think that [TS]

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

  and then you know have a policy to deal with them. [TS]

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

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

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

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

  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]

  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]

  code and say Is this an acceptable condition out of as an accepted condition [TS]

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

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

  code. [TS]

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

  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]

  people will ignore them especially if you're running all development [TS]

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

  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]

  that you would want to be down [TS]

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

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

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

  Whereas if it actually breaks it forces you to fix it. [TS]

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

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

  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]

  things and to enforce it. [TS]

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

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

  traced and all there is there is like that [TS]

  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]

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

  but it's human nature not to want to do that. [TS]

  Like flossing an organization you have someone to levels up [TS]

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

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

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

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

  web of policies that paralyzes the company makes them stupid and dumb [TS]

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

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

  all warnings must have tasks assigned for them with due dates [TS]

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

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

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

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

  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]

  Everyone will know why now. Yeah exactly. [TS]

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

  use my framework if you have the situation right [TS]

  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]

  but your customers can't fire you. [TS]

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

  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]

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

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

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

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

  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]

  many situations where you really are right and this was like [TS]

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

  it not happen. [TS]

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

  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]

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

  and Certainly you will not convince them [TS]

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

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

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

  and it's really important that they stay up. [TS]

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

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

  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]

  reality where this stuff really does matter and where they are technically. [TS]

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

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

  like clean running they have to make one where X. [TS]

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

  and stuff so that isn't that a little bit different [TS]

  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]

  server but it has to be up. [TS]

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

  and they're directly connected by crazy optic wires [TS]

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

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

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

  and why you probably shouldn't ignore a warning. [TS]

  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]

  shouldn't that doesn't necessarily have to be fatal to be fatal [TS]

  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]

  and so on and so forth. [TS]

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

  don't enable warnings period even in development. [TS]

  Military innovation [TS]

  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]

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

  Marco that you only care. [TS]

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

  some sort of online service or website or whatever. [TS]

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

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

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

  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]

  but really it doesn't matter. [TS]

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

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

  when it doesn't matter if this goes down. [TS]

  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]

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

  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]

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

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

  or decades like then I think that's [TS]

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

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

  But in reality let's be realistic here. [TS]

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

  Then it's a different story. Right. [TS]

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

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

  But in reality that happens all time [TS]

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

  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]

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

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

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

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

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

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

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

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

  or require complex integration work with your application or your infrastructure. [TS]

  How the software is also usually really expensive. [TS]

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

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

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

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

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

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

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

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

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

  Fourteen for the year of fourteen code A.T.P. [TS]

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

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

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

  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]

  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]

  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]

  notes you know to save it to Africa. [TS]

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

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

  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]

  Daddy Casey has spoken. [TS]

  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]

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

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

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

  and even better support their view. [TS]

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

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

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

  and customize if you want some help. [TS]

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

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

  and includes are free to make any kind of for a year [TS]

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

  No credit card and when you do start to sign up [TS]

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

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

  Square is based introduces a new thing called square space logo. [TS]

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

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

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

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

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

  And finally Squarespace is hiring. [TS]

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

  and your partner to be New Yorkers for a weekend. [TS]

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

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

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

  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]

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

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

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

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

  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]

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

  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]

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

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

  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]

  the show. But I'll go either way. [TS]

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

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

  I do think it deserves more time. [TS]

  You know you're probably right [TS]

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

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

  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]

  So we should probably catch people up on script notes [TS]

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

  So a lot of people came [TS]

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

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

  I think that's what I do too but I was yeah. [TS]

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

  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]

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

  So there's this podcast about screenwriting and. [TS]

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

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

  and it is like I said the industry standards. [TS]

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

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

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

  and they actually I guess I complained about it in prior episodes [TS]

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

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

  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]

  person long suffering employee right. So so that other guy. [TS]

  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]

  to go well for them. [TS]

  And so John and Craig had these two other guys on the show [TS]

  and started telling them all the things that they don't really like about Final Draft [TS]

  and why they feel like they've been wronged by not only the high purchase price of what two hundred fifty boxes are [TS]

  right. [TS]

  Some like that some with two hundred fifty bucks or so for final draft but also the slow updates [TS]

  and it was a really fascinating view of both sides of the coin of software development both as the company [TS]

  and the people who create software and the people who consume it [TS]

  and how they don't entirely understand what we go through in the same way that the C.E.O. [TS]

  and That other to the long suffering employee don't really understand what their customers go through either [TS]

  and I have some takeaways from this but let me let me open the floor to you. You guys and see us. [TS]

  MARCO What did you think about all this. Well first I think. So I I listen to the podcast. [TS]

  I made my own opinions of it and I've made a whole post about it [TS]

  and all that was before I had read this follow up article from there's a guy named Kent Testament who writes a [TS]

  competing product called I believe called Satan here we go. [TS]

  And and he he's been a long time critic I gather of Final Draft [TS]

  and that's one of the reasons why he started writing his own because he hated soundtracks so much so he started writing [TS]

  his own. [TS]

  And and he's clearly you know a programmer tech guy but also a film guy and [TS]

  and he he put down here I'll put Lincoln a general view. [TS]

  He broke down exactly some of the problems with with final draft technically like for instance that it still doesn't [TS]

  support unit code. [TS]

  Like really like a major major shortcomings [TS]

  and that one of the reasons why why they had so much trouble going Retton was not necessarily because it was using [TS]

  carbon if you can do right now with carbon it's because they were using a quick draw which was deprecated what twenty [TS]

  years ago ten years ago a long time ago at any rate they thought of quite some technical debt. [TS]

  And so there's there's some problems there. [TS]

  Basically seems like they wrote this application you know in the eighty's and ninety's and have not [TS]

  and have been kind of sitting on it and not doing the really hard migrations and not modernizing all this time [TS]

  and then all of a sudden they were forced to by the customers with things like retina [TS]

  and they were forced to sell it as quickly and it became a really big thing. [TS]

  And so it's a pretty typical story of pretty severe technical dead being. No word for way too long. [TS]

  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]

  problems your problems [TS]

  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]

  can see both sides of it you can see the C.E.O. [TS]

  Arguing the business side and the difficulties of the business side [TS]

  and then you can see the customers arguing that well you know your business stuff is your problem [TS]

  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]

  and it's really stagnant and I think it is. [TS]

  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]

  So she has you know a company owner if you own your own company [TS]

  or make your own products you can see how you could become that C.E.O. [TS]

  and It should scare the crap out of you because that's a plausible outcome for somebody software developers. [TS]

  I think developers should listen to this because it's people with technical knowledge of both sides of the software [TS]

  industry or people who like was in the spot Gaz or just mac nerds [TS]

  or into the into development thing will have the unique experience of listening to a podcast with two camps of angry [TS]

  people both of whom are just massively wrong at the fundamental level about the major points of their arguments like [TS]

  the customers are wrong about like your products should be free [TS]

  and how hard is it to do this is like you know from the outside they think everything is easy [TS]

  and I think everything should be free [TS]

  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]

  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]

  The C.E.O. [TS]

  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]

  keep your software up to date. So you know don't. [TS]

  Those are all your problems you have to figure out a way that's that's called being a software entrepreneur. [TS]

  Like you have to print stuff out you can't throw it back in customers faces and say you don't realize. [TS]

  It is really hard to do this and it's clear that the C.E.O. [TS]

  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]

  the podcast and explain to each one of them why they want why they're both wrong new customers. [TS]

  But things can't be free in your crazy let me explain why you're reading the wrong [TS]

  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]

  You want to start on these transition years and years ago and yes they might have discerned your company [TS]

  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]

  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]

  It's not easy like the I think there was something which started in classic macro us [TS]

  and it had to go through some of these attacks that had to go through all these things. [TS]

  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]

  they had to adopt unit code they had they went through like you know these are like at sui and like or taxed [TS]

  and whatever the hell they've gone through multiple different underlying text engines you have to do that otherwise [TS]

  you're dead and you know some other nimble competitor who doesn't have your legacy concerns makes a new application [TS]

  and the only reason you think the sessile is because you're an entrenched interests [TS]

  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]

  both angry both talking past each other [TS]

  and is both fundamentally wrong about about their complaints about the other person [TS]

  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]

  and still be around in twenty fourteen [TS]

  and not have to have gone through a few really painful transitions in that time unless you coast on like well we're [TS]

  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]

  or but still a timer because like Eventually you're after the launch anymore [TS]

  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]

  Like I don't think final draft is in that situation yet because they are such an entrenched interest. [TS]

  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]

  Coco The only reason they can get away with that is because there are. [TS]

  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]

  were like and even then like Eventually the O. [TS]

  Us is like no seriously you got to be sixty four but you got to be Cocoa right. [TS]

  Like even then they're forced upgrade but yeah the final cut didn't understand. [TS]

  Doesn't seem to understand what his what his company does or should be doing. [TS]

  Like what how does what is your company do. [TS]

  We sell and maintain a software application like that's a dynamic business you can't just keep making the same thing [TS]

  and like expect. [TS]

  I don't know expect everyone else to do your job for you [TS]

  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]

  Yeah and there were some quotes in this. [TS]

  Only a handful that I'd like to quickly go over that that just really stuck out to me. [TS]

  So one of them in actually John your T. Quoted it was. [TS]

  Well this is John and Craig will will give us an entire operating system away for free. [TS]

  No that wasn't them that was the C.E.O. Citing that as I was a problem that they had. [TS]

  Yeah now I think it was think it was the C.E.O. [TS]

  Pointed out to them that they make money from selling the phones [TS]

  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]

  software is like software has been devalued therefore your thing should be one dollar it's like selling it telling [TS]

  Adobe that for a shop should be free or like ten cents because Angry Birds are things [TS]

  and well to be fair they were not complaining that final draft is not free. [TS]

  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]

  price anymore [TS]

  and that the upgrades are not worth the upgrade price because of how little progress is made relatively speaking in [TS]

  each upgrade that would that seem like they're bigger complaint not that the app should be free or very very cheap. [TS]

  It seems like they be very happy to pay two hundred fifty dollars for the. If it was a better app. [TS]

  Well but even then they want to pay two hundred fifty dollars ten years ago and never pay again and just [TS]

  and continually have the app updated [TS]

  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]

  would that I think that I had the impression that they would have hated to spend two hundred fifty dollars way back [TS]

  when and then I just want that app to work forever and continue to be updated with the O. S. [TS]

  and To get written [TS]

  and to get Unicode support never They all for free like they seem to have an entitlement complex that was not not [TS]

  proportional to the value of the value that they're deriving from the software [TS]

  and it was kind of like compounded by the fact that this is crappy software that hasn't been updated so they feel [TS]

  burned by any amount of money to put towards it. [TS]

  I guess mostly because they have it revenge like they feel like they have to have this program because like everybody [TS]

  uses it I think that's that's the core of their dissatisfaction is like it's like an abusive relationship with like [TS]

  well you have to get final draft everybody used graph and then you're already better at this thing [TS]

  and if it's not the most amazing program that does everything perfectly and then you just can be pissed [TS]

  when anything is wrong with it [TS]

  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]

  embittered necessarily about paying for it it just seems that they they thought that it was an order of magnitude too [TS]

  expensive and I'm making numbers up I'm putting words in their mouth [TS]

  but instead a two hundred fifty dollars it should be one hundred dollars up front for the first release. [TS]

  And like twenty bucks for every supplementary release [TS]

  and additionally I think they were extremely embittered that these upgrades [TS]

  or updates whatever they call them were a heck of a lot of money [TS]

  and even I would probably agree to this a heck of a lot of money from really not that much. [TS]

  Update right now it was cited several times I think it was one hundred dollars for the retina upgrade update whatever [TS]

  was like eighty bucks or something and like maybe I'm crazy [TS]

  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]

  I wouldn't blink at that because like I say you use Photoshop to do your work you're a graphic artist [TS]

  and authority that comes out and the only upgrade. Is that the U.I. [TS]

  Is rotten and like all bug fixes [TS]

  and at eighty dollars the upgrade I mean I would pay it would wouldn't any of you pay it. [TS]

  Yeah I mean I suppose I was like maybe we have different I guess we probably value software differently because we kind [TS]

  of know what goes into it but like [TS]

  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]

  don't know. [TS]

  Like that's why I think they just they're getting used to the world where everything is like cheap or free and [TS]

  but it's like. But this is part of your livelihood. [TS]

  You make money [TS]

  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]

  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]

  and then and now suddenly I'm not happy about like say you hated Photoshop [TS]

  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]

  people [TS]

  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]

  an eighth grade office in the only change was that it was red and incompatible with Mavericks then you'd be best [TS]

  but it's mostly mostly just because you hate words so much that any money you put towards continuing this charade of [TS]

  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]

  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]

  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]

  length of the P.D.F. [TS]

  or The printed document you could take a guess at about how long the script was that was very quote apparently [TS]

  something that the C.E.O. Seem to think that that was unique to them. Twenty ways. [TS]

  The product started pretty solid and pretty good but kind of never really went anywhere and [TS]

  and these these two guys John [TS]

  and Craig were for example really I'm bitter that it took so long to get retina support in there [TS]

  and then on top of that they got charged for and so they were saying the C.E.O. [TS]

  You knew this was coming you knew this was coming how did you not figure this out how did you not do it. [TS]

  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]

  and I have better things to do with my time but you know I can understand that well then the C.E.O. [TS]

  Says there's another my quotes. [TS]

  You know we're forty people and I think to myself OK so how did you not get retina done with forty people [TS]

  but then later on he says well but ten fifteen percent of us are programmers. [TS]

  What the hell is everyone else in sales and marketing in the best part was [TS]

  when he said well you know how we learned about Iran. [TS]

  Someone brought him brought a computer into the office [TS]

  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]

  your software or even trivial. You don't even subscribe to MacWorld like you do nothing. [TS]

  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]

  for the mag for crying out loud. Right. Yeah this is kind of pressing like the C.E.O. [TS]

  Like he did it himself and his company disservice by coming on this program [TS]

  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]

  one of his comebacks was like that's your problem. That's not my problem. [TS]

  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]

  and you must go out of business [TS]

  and it will be a blessing for the industry because we can all give our money to the other hungry [TS]

  or developers who if they're on like people go through exact same cycles you get big become popular not update their [TS]

  software for a decade to crumble under their own weight and the cycle will continue. [TS]

  But like that's not your customer's problems in any way shape or form [TS]

  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]

  and tell even what your customers are actually wrong about like everything should be free [TS]

  and you know it's not like you can click onto a program and and tell them about all your woes and [TS]

  and they're going to all [TS]

  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]

  non-technical C.E.O. Of a company that made terrible strategic decisions for the past. [TS]

  Did and go all in [TS]

  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]

  the notes and bring it up now. [TS]

  One of the one of the more interesting parts of of this dynamic I thought was that the C.E.O. [TS]

  Opened the conversation basically by saying that they've done surveys [TS]

  and I believe it was ninety two percent of the of the people said that they are very happy with Final Draft [TS]

  and therefore they think they're doing great. [TS]

  And like that's flawed in so many levels and they and and John [TS]

  and Craig briefly mention like well you know that's like that only people who responded to the survey which is [TS]

  obviously going to be mostly people who like you [TS]

  or you know like it's that's so not a random sample of what people think of your product. [TS]

  And the C.E.O.'s entire attitude seem to just be that well we keep hearing from people who like it [TS]

  and therefore everything's fine [TS]

  and we don't have to like his attitude from the very beginning was we're fine because some people like us [TS]

  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]

  You know if you select what you're listening to and I've been I've never seen this app [TS]

  and even I know everyone hates it. [TS]

  Like I know I've heard about this app for four years now about how much people hate this random you know Edge [TS]

  conversations here and there and not even being in the business I know people hate it. [TS]

  Obviously that's a pretty widespread problem [TS]

  and it's so easy it's so easy to surround yourself only by the the inputs that you want to believe. [TS]

  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]

  thinks that everything's fine and he's in complete denial of any major problems [TS]

  and therefore that's I think why he was so we're. [TS]

  We defensive [TS]

  and aggressive in his response I don't know if I really believe that he was sincere that he really believed that [TS]

  but like it's possible the Nile is pretty strong but I think the reason you heard about it [TS]

  and I have as well even though we're not screenwriters is because we travel in software development circles [TS]

  and anybody who knows anything about software can look at that location [TS]

  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]

  this program has not been updated for a while you see old I began I don't know years works [TS]

  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]

  the text wasn't properly and the alias [TS]

  or looks like was rendered different exists Quickdraw unlike you know we could tell that that there are problems with [TS]

  it [TS]

  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]

  are not technical people and they view this as kind of like especially since it's such an institution. [TS]

  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]

  And everyone complains about it [TS]

  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]

  the same way that you might say you have to use Photoshop if you're a graphic designer [TS]

  and you just you know there's no no other choice out there [TS]

  but they're non-technical people so they're not equipped to to understand what's wrong with this program and why. [TS]

  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]

  may have good server responses [TS]

  but the thing that makes me think of in the worst case scenario is I will bet you in two thousand [TS]

  and seven two thousand and two does nine maybe even two thousand and ten. [TS]

  If you were to survey all Black Berry users they'd say they love their Blackberry. [TS]

  Doesn't matter black rim is still doing right [TS]

  and you can thank all the people have Blackberries love it it's like yes but the time has passed that by [TS]

  and customers may have it and may love it and may be Stockholm Syndrome or the maybe not know better [TS]

  but like from the outside we all can see Bob Iger. [TS]

  Yeah I think I found interesting about this and it's the only other quote that I that I want. [TS]

  Bring up is apparently there was a feature called they called a collaborator which I guess was some sort of [TS]

  collaborative writing thing where you can work on a screenplay two people can work on screenplay at the same time [TS]

  something like that. Yeah that's a very that's a very good analogy. [TS]

  And so they said and this should be pretty much for beta collaborator was built [TS]

  when it was on a peer to peer technology with no security. It would still work like that. [TS]

  Today what they were saying was [TS]

  when they built this feature that was designed to be used between two people probably not colocated they did it without [TS]

  even thinking about firewalls and I mostly wrote it in ninety six. Are you kidding. Like how is that OK. [TS]

  And that just completely sealed the deal in my mind that screenwriters don't have firewalls care if you think they have [TS]

  mighty departments there. [TS]

  There are lonely people in their apartments with internet connection slaving away in the next great script [TS]

  and every router since nineteen since two thousand and one hasn't included a firewall in it [TS]

  but he wouldn't know about this stuff anyway. He was talking about it but. [TS]

  But yeah [TS]

  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]

  kind of feature and they shipped it at least for a little while [TS]

  and I guess they've pulled it since they shipped it without even thinking about that like how is that possible. [TS]

  It just reminds me that there are terrible software developers out there [TS]

  or if these developers are good just on believably indescribably out of touch management or both. [TS]

  If I was on a podcast I would have also brought the MET a point which is that the screenwriting format is ridiculous [TS]

  than anachronistic and really deserves to be destroyed and torn down [TS]

  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]

  screenplay looks like. Let me tell you about all the great qualities of it. [TS]

  Oh you can always tell exactly how long the thing will be in minutes by looking. [TS]

  Number of pages always or number of pages every day. Everyone knows it. [TS]

  Like it can continue to be held aloft by that like sort of oral tradition and indoctrination of new people [TS]

  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]

  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]

  Come to like it and will not accept any other format [TS]

  but bottom line objectively wipe out all the people who've ever seen a screenplay. [TS]

  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]

  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]

  So what are the best. [TS]

  The ideal thing to happen for the entire industry would be to not only for a final draft to be disrupted [TS]

  but for the entire screenplay format to be replaced by something better. [TS]

  I have dim hopes of that ever happening because of that. [TS]

  Any group of people who is not not raring for you know amazing disruption innovation is screenwriters [TS]

  and entertainment is true they just want their format they want to be the way it is. [TS]

  They just want slightly better tools to work on and they will consider that a big victory [TS]

  but from the outside it's clear that the screenplay format is stupid. [TS]

  Well and to be fair in the fall of episode of their pod cast John and Craig did address that a little bit [TS]

  and talking about things like how the one paid for minute thing is this kind of elementary assumption that you know [TS]

  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]

  know in practice once you get once you're a real professional It doesn't really it's not that simple [TS]

  or it's not necessary to rely on things you know assumptions like that are these tenets like that [TS]

  and there's also this thing called Fountain which from what I gather is like a markdown like [TS]

  or markdown based plain text format that doesn't weigh with manual pagination or stuff like that [TS]

  and it doesn't what they are actually moving forward [TS]

  and the problem really seems to be that that final draft is not his final draft has this this position. [TS]

  Our right now where you know [TS]

  or at least they have to date where they were the standard of they have their own file format [TS]

  and there they are like you know they're relying on these invariants that OK well pagination matters above all else [TS]

  and all of the stuff and the reality is the industries being disrupted. [TS]

  Just like so many other technical industries where now there's a whole lot of other apps coming out some of them cheap [TS]

  and terrible but some of them good that are doing things more in a more modern way [TS]

  and that's the problem like you know just like so many other industries. [TS]

  I don't think it's going to be I don't think final draft is going to be disrupted [TS]

  and replaced by one thing I think is going to end up being diverted and replaced by a few standards [TS]

  and then a few different apps they read the reader write the standards [TS]

  and it seems like this fountain format is probably going to be that standard [TS]

  but again I think by now all three of us are talking us and we all know nothing about [TS]

  and we're going to get all the e-mail people explaining the various features of the screenplay format that were created [TS]

  intentionally for a specific reason and like [TS]

  and I'm sure like the formatting in the layout Everything has had a purpose originally [TS]

  but some aspects of it are really just artifacts of the technology that was available at the time specifically you know [TS]

  the all caps amount of a spot. [TS]

  The layout being done basically by serious spaces of the model space finally all those things are done because that's [TS]

  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]

  production process you need people to be able to type these things up. [TS]

  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]

  on the front of legal documents Mark along with this [TS]

  but I don't like the fact that so it doesn't really matter as much in legal arguments like whatever lawyers everything [TS]

  they do is all made up and crazy with their legal language. [TS]

  But screenplays could benefit from a farmer that took advantage from of modern technology keep all the good stuff about [TS]

  the old format in terms of visually blocking out things with whitespace. [TS]

  So making it easy for actors to read [TS]

  and you know all I don't I'm just making up what the features may be of the four [TS]

  and there are probably good things about the former [TS]

  but the bad things are just being carried along like those parentheses on legal documents [TS]

  and they just they just ridiculous at this point. OK thanks lead to our three sponsors this week. [TS]

  Picture life help spot and square space. And we will see you next week. [TS]

  Now this it was accidental accidental because it was there until today. Except that the Michael Casey. [TS]

  So I cannot believe I let you railroad me. Well that's good notes and timely. [TS]

  But now I am saying you [TS]

  and Margo could have we're going to months you know Casey had insisted I would have gone along with it. [TS]

  He didn't really and stain I did I'd say I gave my thing about abstaining from the vote. [TS]

  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]

  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]

  What would you do next week will say right now next week we saw from mental methodologies and nothing will happen. [TS]

  Old statement when I went out of I've Been Turned out we won't talk about it all. [TS]

  God Now you've changed it and will never talk about it ever. [TS]

  This pod cast will [TS]

  and if it results in Apple buying Nintendo you're your sacrifice will have been noble you are you saying that we will [TS]

  do it next week. Whether or not you're serious has pretty much absolutely prevented that from happening ever. [TS]

  That's that's the equivalent of saying well this will be short show. If Apple doesn't send. [TS]

  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]

  days comparable to command space now we're doing this as a how to just take a rest. [TS]

  The it really for the unknown handsomest. I hate you too. [TS]

  I know that we didn't even talk about driving with glass there was not another remark [TS]

  or topic yeah I mean why it is that much more to say on it. [TS]

  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]

  when I saw the headline about storing flying blind Twitter was that they were only lobbying to allow you to wear it in [TS]

  the car like for example if you get it with prescription lenses [TS]

  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]

  you to merely wear them. [TS]

  I didn't think they were lobbying for it to be legal for you to to have it turned on and using it [TS]

  but since I didn't read any article that is there I don't know did you know did you read them [TS]

  and you can tell me I don't think we I don't think we know that much to that much detail. [TS]

  Hell my little justice here I've merely heard mostly support of my position [TS]

  and brief in my position is that for Google to to lobby to actively lobby against states that want to prohibit glassed [TS]

  use while driving. I think that's incredibly irresponsible by Google and you know it. [TS]

  I think it's you know pretty much all reasonable people agree that texting while driving is dangerous [TS]

  and should be prohibited. And certainly avoided. [TS]

  People will do it anyway but I think I think even people who do it know that it's unsafe [TS]

  and wouldn't really argue that strongly that it that it was safe and I think texting while driving [TS]

  and using Google Glass are pretty close. [TS]

  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]

  dramatically more safe in the other. [TS]

  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]

  with a computer system where you're not looking at the road [TS]

  and well actually now that I've thought about it for the five minutes they've talked. [TS]

  What about if they are envisioning something like that why don't your in five there in arguments that people have made [TS]

  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]

  and I think the difference is that you know a net first of all natural [TS]

  and heads of displays are designed very very carefully and conservatively to be like maximally safe [TS]

  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]

  like some of them or even let you enter an address in navigation if you're moving for instance. [TS]

  There's all sorts of safety things that that car systems use to either prevent [TS]

  or discourage you from using it very responsibly things like you know how D.V.D. [TS]

  Players like sometimes there are be these D.V.D. Players that will complete video in the front seat. [TS]

  But you can only totally play while you're parked and yes some people will will pack then disable it [TS]

  but like there's all these things in place for for things that are installed in cars especially things that come stock [TS]

  from the manufacturers. There's all these safety in place to to try to make them as non distracting as possible. [TS]

  And like. A heads up display displaying your speed. [TS]

  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]

  that for a while. [TS]

  Well what are the heads up display in your glasses showing now overlaid on the street in front of you. [TS]

  If that is what it's showing that's fine [TS]

  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]

  places we've banned handheld use of cell phones. [TS]

  Now you could also say well what if you're using the cell phone in your hand looking into navigation screen [TS]

  and that's in place where hand-held cell phone use is banned that spent [TS]

  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]

  that [TS]

  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]

  just take a second [TS]

  and there's all this all this potential for these multipurpose general computing systems like smartphones like glass. [TS]

  There's all this potential for misuse and misuse is so easy [TS]

  and so common that they should probably ban it out right because they know that like you might be using for navigation. [TS]

  But there's a pretty good chance you're not [TS]

  or there are so many other things to do with it there are navigation that you know in reality people would like be [TS]

  reading a text message or dictate they're taking a message [TS]

  or reading Twitter reading e-mail just came in are like like they're like there are so many potential abuses there [TS]

  and is so it is so much more distracting than in the car systems because you're interacting with a computer at that [TS]

  point like you're like it's a multi-step interaction. [TS]

  You're like visually engaging in a way that it's non-trivial and [TS]

  and takes more than a split second of your attention and so I do think there's a significant difference there. [TS]

  And and [TS]

  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]

  Same thing like how you can tell from the outside whether it's. On or off. [TS]

  So a lot of people just sneak by [TS]

  and say oh well you know I was going to leave it on because you know I'm responsible I'll be OK [TS]

  and that's a problem too. [TS]

  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]

  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]

  and I'm pretty sure they didn't distinguish between on and off that they just want you to be able to wear. [TS]

  Yeah well like I think Google's bet and I think they're right in this [TS]

  but is that augmented reality as they call it is probably the future of more or less everything [TS]

  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]

  into cars because then it will be more or less single purpose [TS]

  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]

  street in front of you [TS]

  and shows you where you should term of the wire like you can imagine lots of really cool features like this I think [TS]

  that is actually safer than [TS]

  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]

  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]

  That's safer and I think that is definitely coming. [TS]

  If that comes from your glasses though chances are good even if you have like a driving mode [TS]

  and that the glasses have to be certified by a like the Highway Association like it's so much safer [TS]

  when it's built into the car [TS]

  and because car technology moves so slowly that they're super conservative everything sucks there anyway [TS]

  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]

  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]

  could plausibly sue the car maker for designing a very threatening system a lot more easily than you could sue Google [TS]

  for making you know. Right. [TS]

  Built into the cargoes going to say you shouldn't have been doing that while you're driving [TS]

  but you're like if it's built into the car you say you put it in the car. [TS]

  Exactly and that's why that's why you can do the address [TS]

  when you're moving because the car makers like we allow them to do this they will they'll crash [TS]

  and also us for what it's worth I can actually read text messages on my i drive in my B.M.W. [TS]

  Like on the screen but usually crashing as a means of B.M.W. Get their car. [TS]

  Just want to point that out real quick I'm sorry Mark I'm going to act. [TS]

  All right so part of my position on this was was a pretty severe condemnation saying like you know if Google Google is [TS]

  actively lobbying for something that I believe is pretty clearly very unsafe for driving [TS]

  and car accidents are are no joke like it's a really car accident or a serious problem. [TS]

  So many people get injured or die in car accidents. [TS]

  And for the most part you know things that we pay a lot of attention to like plane crashes [TS]

  and terrorism like that end up killing way fewer people than car crashes car crashes are a big problem. [TS]

  It's a really big deal and car safety should really be taken very very seriously and not at all lightly [TS]

  and not at all recklessly. [TS]

  And so for Google to actively lobby against car safety basically to actually lobby for their own self interest in a way [TS]

  that's that pretty clearly unsafe in general use for cars like people are probably going to die as a result of that. [TS]

  And if Google Glass becomes really popular which you know it probably won't in all honesty but I suppose it does. [TS]

  Imagine how big of a problem that will be [TS]

  and how many people might unnecessarily die because Google fought safety legislation. [TS]

  That's a really that's that's serious. You know that's not a joking matter at all. [TS]

  So a lot of people said well isn't Apple at fault for people texting while using their phones and crashing and. [TS]

  No that's a completely different situation because Apple has not to my knowledge actively fought against anti texting [TS]

  laws. And if they have let me know I mean I would love to know that. [TS]

  But that is not at all the same thing and is not comparable. [TS]

  You know it's obviously manufacturers on both sides of this political debate. [TS]

  When both sides can potentially do more to prevent people from using their phones while driving. [TS]

  You know now you can you can think OK Well Apple has this new M seven processor that can supposedly detect [TS]

  when you're in a car. [TS]

  It probably can't tell whether you're driving or passenger but if you take [TS]

  when you're in a car make you show some kind of warning or something you know there are things they could do [TS]

  but they're not like actively fighting against safety legislation [TS]

  and that that I think puts a very different type of action. [TS]

  Like who is doing I think is actively harmful whereas the inability to try to prevent people from texting in a car is [TS]

  you know like like inaction is is not as bad as like actively harming safety actions I think. [TS]

  Well Google also in a position to potentially bring the largest safety increase in car transportation ever which is [TS]

  through their soft riving cars assuming that continues apace and does not fade away [TS]

  and there continue to be successful with it. [TS]

  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]

  a bad idea but but it's like historically speaking. [TS]

  If history goes out every More forget that briefly they killed a bunch of people less I think what they're thinking is [TS]

  on the glasses that they also believe that all humans in reality is the future just look at their crazy whatever there [TS]

  was that thing with the phone thing the maps out there [TS]

  and they're in like the tech for doing that are going to realize stuff is getting better [TS]

  and better all the time it's going to be everywhere [TS]

  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]

  and all that is true [TS]

  but I think they just have to like the alternative is they should either make their own car with this built [TS]

  and say buy Tesla go nuts like you have have a go at it [TS]

  but trying to put it into a general purpose computing device that you wear in your face [TS]

  and you have to get everyone to wear the stuff in your face [TS]

  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]

  makers do in terms of regulation and everything and like it there. [TS]

  If they want they want the freedom to do whatever the hell they want [TS]

  and just don't bother us because eventually we're going to get to this awesome auger into reality it's coming [TS]

  eventually anyway and we're going to get there first because we can move faster but that's playing a little bit fast [TS]

  and loose with with people's lives I agree. And that also that also seems like almost a childish and naive. [TS]

  That's Google for you. [TS]

  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]

  Like the self-doubt in cars is the same type of thing that's what we love about it [TS]

  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]

  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]

  technology and I just go do that cool things because it's cool and let's not think too much about the consequences [TS]

  or whether all make money or anything like that you know that's what we love both love and hate about Will. [TS]

  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]

  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]

  Programmer Unix C. Programmer like goto who uses that if you are a C. Programmer and you come from the. [TS]

  Just look at the source code to your favorite you know look at B.S.D. [TS]

  Look at Linux or wherever you find go to everywhere because they didn't really have exceptions [TS]

  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]

  variables and really contorted logic. [TS]

  Go to is actually the cleanest solution in those situations where you want to get out of the normal flow of the program [TS]

  and go down to it you know or you can do set jumper [TS]

  or any of that whatever you want to go to is is the idiom that believe it or not [TS]

  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]

  got passed around the Internet ten years ago. But look at any real C. [TS]

  Source code and go to is there and it's use for exact. [TS]

  There is purpose and it has all the same problems and this is not what the paper about goto was against really [TS]

  but you can see goto does contribute to this anti pattern [TS]

  but you know that's why newer better languages have exceptions. [TS]

  Yeah and you know and like the GOTO is like there's things like break [TS]

  and continue in a loop that I would argue break [TS]

  and continue especially break like that's really not a whole lot cleaner than goes here like if you think about it like [TS]

  it's a lot [TS]

  but you knew like if you had like a very contorted logically condition a condition a condition you want to break all [TS]

  the way out of it then you even break doesn't save you then you didn't have a flag variables [TS]

  and it makes the code in comprehensible to the people who read up the functional a bit [TS]

  and saw the type of the variable status. [TS]

  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]

  you've if you've been around old C. A.P.I. [TS]

  As long enough you know you've probably seen that [TS]

  and it's you know it's a little thing words like you call a bunch of A.P.I. [TS]

  Calls and if they return zero everything's cool. [TS]

  And if they return non-zero something bad happened [TS]

  and so if you want to do that's like you know eight step process Recall is a different functions [TS]

  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]

  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]

  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]

  like go to the end of this logic block that's what it was. [TS]

  That's another object to see a thing that we could have talked about and I hope and point and shows the convention [TS]

  and basically cocoanuts want to receive a Coke which not use exception exceptions for control flow is that correct. [TS]

  Yeah yeah I mean except like injective see objections like bye bye like policy and. And like the A.P.I. Norm objects. [TS]

  Exceptions are not meant to happen in. [TS]

  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]

  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]

  Convention [TS]

  but still that that type of thing leads you to these like the tedium of of you know you know write parameter conditions [TS]

  you know where you passed the an address to some error thing is going to fill out [TS]

  or return values where at some status of others or a status [TS]

  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]

  use exceptions. [TS]

  Do expect you to use exceptions for flow control [TS]

  and then of course there's the pathological case of like you know checked exceptions and all the java crap [TS]

  and like it can go too far in the other direction as well [TS]

  but I would I would put down a list of things that Objective C. [TS]

  That other languages do differently that people find cumbersome tedious and error prone [TS]

  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]

  written so far. Instapaper buckshot. The magazine and overcast of the ever written a try catch block. [TS]

  I think I've always made exceptions global thing. [TS]

  Yeah because in Cocoa they're not you're not you're not supposed to like exception is supposed to be exceptional like [TS]

  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]

  has gone wrong and maybe you can put up a dialog and exit your app or do something like that [TS]

  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]

  It's more like an assertion failure. [TS]

  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]

  don't remember exactly when. Anyway all right title title. Go to Phil's obvious I'm not against it. [TS]

  A lot of contests I think are going to have the title as we close [TS]

  and I want to avoid it so we can be cool so we can be cool. I added ish. Everything is relative. [TS]