The Talk Show

75: We Used to Finger Each Other


00:00:00   I got a lot to talk about.

00:00:02   So you have been blogging--

00:00:06   you're in a fugue state, honestly, because you are--

00:00:10   I know firsthand-- we won't talk Vesper here much,

00:00:13   but I do know internally that you are in a super productive

00:00:18   mode there.

00:00:19   But you're also super productive publicly on Inessential,

00:00:23   for the last couple of months.

00:00:27   Yeah, those two things really go together well for me, actually.

00:00:30   They feed each other.

00:00:34   I have the-- I don't know what to call it-- a writer's instinct,

00:00:37   a publisher's instinct, something where I really

00:00:39   like to make stuff public, whether it's code or writing.

00:00:44   And I'm happiest when I can do that.

00:00:46   So if I'm just writing code, and it's a while between releases,

00:00:50   and I'm not doing any public communication at all,

00:00:54   I'm actually less productive, even though technically I

00:00:57   I suppose I'd have more time.

00:00:58   But I'm just less, I'm just kind of less happy about it.

00:01:02   So I really like writing.

00:01:04   I was a writer before I was a coder,

00:01:06   and I'll probably be a writer after I'm a coder.

00:01:08   And so, you know, it makes me happy, it makes me,

00:01:12   it also lets me work stuff out, kind of in public,

00:01:14   and get feedback and learn things.

00:01:16   A lot of the stuff I've been doing,

00:01:19   I've literally been like, I have a problem.

00:01:21   I'll sit down and start writing how to solve it.

00:01:24   I just happen to write it in Mars Edit

00:01:25   then press publish at the end.

00:01:28   And do you think you get the answer because you've thought it through by writing it,

00:01:31   or you get the answer then because you publish it and somebody who reads your site ships

00:01:37   in with the answer?

00:01:38   Both, actually.

00:01:40   Sitting down to write it gets me a lot of the way there, and sometimes all the way there.

00:01:45   But then sometimes the feedback that I get will make me change my mind in small ways

00:01:50   or big ways about what I decided.

00:01:53   I mean, it is far from an original observation.

00:01:58   It's a famous observation, but writing is thinking.

00:02:02   And if you can't write it out, you

00:02:07   haven't thought it through.

00:02:08   And sometimes when you do write it out, you've got to be--

00:02:11   I'm always-- I always want to be ready when I'm writing

00:02:13   something out.

00:02:14   If it's like an argument or if I have a point I'm trying to make,

00:02:17   if it's not an open-ended question,

00:02:20   be careful that by the time you get to the end,

00:02:22   you haven't changed your mind.

00:02:23   and you don't know it, you know, and don't be, you know,

00:02:25   and then you may have to go back and rewrite the whole thing

00:02:28   but don't be afraid to do that.

00:02:29   And I can't tell you how many times,

00:02:31   like a piece of longer pieces for "Daring Fireball"

00:02:33   by the time I get to the end, I think, wait a second,

00:02:36   I've just convinced myself at the other point

00:02:39   just by writing it all out.

00:02:40   - Yeah, I'm not surprised.

00:02:42   It's certainly the same way for me.

00:02:44   That's a very common thing.

00:02:47   - I have a lot of developer friends though,

00:02:49   who I find, you know, and who on and off over the years

00:02:53   have had very enjoyable, to me, blogs

00:02:57   that go dark for huge periods of time.

00:03:00   And a lot of times, and if I, you know,

00:03:01   I won't give them a hard time about it,

00:03:03   but if I'll say something to them about it,

00:03:06   they'll just be like, "Yeah, I've just been so busy

00:03:09   "programming or working that it's like that."

00:03:12   And I feel like with you, it's the other way,

00:03:14   like you said, it's the other way around.

00:03:16   Like when you're most productive working,

00:03:17   You're also most productive blogging, even on stuff that's not related to your work,

00:03:23   though.

00:03:24   Yeah, that's true.

00:03:25   Yeah, I love blogging.

00:03:26   I've been doing it since 1999.

00:03:31   And if you look at the software I've made, it's always been about reading and writing.

00:03:35   That's what I really love, and that's what I first saw in the web, and it's what made

00:03:39   me become a programmer because it was this great platform for reading and writing.

00:03:45   So it's no surprise that I do a lot of reading and writing and that's when I'm happy.

00:03:51   And when I'm happy, I'm productive.

00:03:54   So one of the things you've been writing about this week, maybe the last week and a half,

00:04:03   it's a broad topic and I don't want to get into it.

00:04:05   I want to get into it at sort of a layman's level because there's so many other sites

00:04:09   or podcasts like Debug and even Marco and Siracusa and the other guys show ATP that

00:04:20   can get into more technical discussions.

00:04:24   But this whole thing about Objective-C and the future of programming on Apple's platforms,

00:04:30   is it always going to be Objective-C or is there some other language that's going to

00:04:35   come and a newer style language that's going to come and supersede it eventually.

00:04:42   And this is like the most evergreen of topics because I forget when John Siracusa started

00:04:50   writing about it, but he called it Copeland 2010, so he must have been back in like 2005,

00:04:55   2006.

00:04:56   Yeah, close to 10 years ago, I think.

00:04:59   That he started writing like, "Hey, I'm not saying they have to do it."

00:05:03   and typical Syracuse reasonableness, but it seems like they should eventually.

00:05:10   There's got to be some point in the future where it just seems antiquated that you're writing in a language that has pointers.

00:05:16   Yeah, that's true.

00:05:20   Part of it, I think, is that a lot of developers can sort of feel that there's a revolution, but we don't know what it looks like.

00:05:29   We can guess, yeah, languages won't have pointers, perhaps.

00:05:33   But it just feels like there has to be a better, faster way

00:05:38   to do what we're doing.

00:05:39   There's still a lot of fiddliness.

00:05:41   Right, and for the non-programmers out there,

00:05:43   a pointer is a variable that points to a space in memory

00:05:48   directly.

00:05:49   And if you screw up a pointer, you're

00:05:52   probably going to crash, right?

00:05:53   I mean, that's safe to say, or the program's

00:05:56   going to go awry.

00:05:57   Right, things will go wrong.

00:05:59   The way I usually explain a pointer is to say that there's a difference between your

00:06:03   house and the address of your house.

00:06:05   Yes.

00:06:06   Right.

00:06:07   So the pointer is the address of your house.

00:06:08   Right.

00:06:09   If you get that wrong, well, you're in the wrong house.

00:06:12   Right.

00:06:13   And then you start doing things thinking, yeah, that's a perfect analogy.

00:06:16   And you think you're in your house and you start doing things and it ends up you're taking

00:06:20   a bath in somebody else's house.

00:06:22   Yeah, right.

00:06:23   Everyone's surprised and shit burns down.

00:06:26   Yep.

00:06:27   I was gonna make another analogy, but I think I

00:06:30   Don't want to tempt the explicit monitors that I

00:06:34   Yeah, I was going there my head too

00:06:39   So I love I'm a sucker for

00:06:50   Especially as I get older. I'm a sucker for analogies

00:06:55   of like such and such is as old now as blank was then.

00:07:00   Like where I think, oh God, I think this is one from,

00:07:06   I think this is true, right?

00:07:10   Yeah, we're about as far away from the time

00:07:16   of the first Back to the Future movie

00:07:17   as Back to the Future was from 1955

00:07:21   or whatever year it was they went back to, right?

00:07:23   It was like 30, he went back in time 30 years.

00:07:25   Well, now we're 30 years ahead, which is crazy, right?

00:07:29   It doesn't feel like Back to the Future was as long ago

00:07:33   as when he went back, it felt like he went back

00:07:35   to the Stone Ages, right?

00:07:37   - Sure, well, 'cause he went back to before we were born.

00:07:39   - Right.

00:07:40   - Yeah.

00:07:41   - So objective C is a really weird thing

00:07:46   that was glommed on top of C, right?

00:07:50   It was the people, the geniuses behind it.

00:07:54   C had no object orientation built into it.

00:07:57   But C is sort of was and still probably is

00:08:00   sort of the bedrock language of all programming.

00:08:03   - Yeah, and is remarkably plastic.

00:08:05   So you can do stuff like make Objective-C out of it.

00:08:07   - Right.

00:08:08   But everybody agrees, I think,

00:08:12   and agreed, certainly agreed when it first came out

00:08:14   that its syntax is weird because they'd said,

00:08:17   look, it's just a superset of C.

00:08:20   So you're always in C, but if it's an Objective-C file,

00:08:25   you can do these other things, largely with square brackets,

00:08:30   and make it object oriented.

00:08:34   And they did this because they had good C compilers

00:08:38   that they could build on top of.

00:08:39   And they just needed to-- like the first versions

00:08:41   of Objective-C, it was just a preprocessor, right?

00:08:44   As I recall.

00:08:45   Yeah, that's right.

00:08:45   That's like the story, just sort of behind the scenes,

00:08:48   rewrote your Objective-C as C and then compiled it as C and then you it ran. And it made a lot

00:08:55   of sense and it's a typical sort of from the minds that were behind the whole next system a sort of

00:09:05   let's not boil the ocean what's the least we could do mindset. But the thing is this is what to me is

00:09:13   is nutty. So that was around 1988, 1989. I don't know when Objective-C was created, but

00:09:19   that's when NeXT started using it. And for all intents and purposes, you know, if NeXT hadn't

00:09:24   used Objective-C, probably nobody today would have even heard of it. It would have been long gone.

00:09:30   Right. It would have been just like an experiment, like a historical footnote. But C was only from,

00:09:37   what, around 1970 or so, right? 1968, 1969, 1970. So C was only 20 years old. But I

00:09:44   remember when I was like in high school and Next came out and I was reading

00:09:49   about it in magazines, it seemed like, well, of course these guys would build it

00:09:53   on C. C, this ancient language that was ubiquitous. But it's only 20, it was only

00:09:59   20 years old at the time. Whereas now Objective C has been around, at least in

00:10:04   the next step, you know, frameworks used as the basis for all the next step and

00:10:09   Mac OS 10 and iOS frameworks since 1989. So it's actually been the

00:10:18   foundation of the whole next derived operating systems for longer than C

00:10:23   existed when they got started. And they're still, I was about to say

00:10:29   stuck with it and that's pejorative. I don't want to be pejorative but they're

00:10:32   still using it. Yeah, right. And so I think there's just an argument just on based on

00:10:38   the timeline that maybe, you know, maybe something newer should have come out by now. Yeah, but

00:10:45   you know, so at the same time, if you compare today's Objective C to what was what people

00:10:51   writing in 1989, yeah, the old stuff is recognizable. You saw those square brackets, but it's really

00:10:56   Changed a ton right and that goes to you know, apples apples typical method of incremental

00:11:03   changes, you know lots of

00:11:05   Small mini revolutions as to opposed to you know, hey, here's your whole new language and frameworks and all that kind of stuff, right?

00:11:13   It's it's I certainly don't mean to imply that it is has been unchanged

00:11:17   It's probably added more than they added at the at the origin. Yeah, and you know in many ways

00:11:25   It is it is easier to write apps than it was

00:11:29   You know ten years ago. I mean there's there's a lot of stuff

00:11:33   We could do very easily that we couldn't do then and that that's been due to changes in Objective-C and the frameworks

00:11:39   Blocks are a big part of that for instance it makes

00:11:42   In grand central dispatch it makes handling multi-threading and concurrency a lot easier than it used to be which is great. It's fantastic

00:11:51   Still though still though it's still it still feels like we're using this really really old stuff

00:11:58   And then there are there's just got to be a better way

00:12:00   Yeah, and I think a lot of that really came to light and and hit a flashpoint and then has since died down

00:12:09   during the

00:12:11   gold rush era of

00:12:13   iOS development like the first let's say let's say 2008 2009

00:12:20   when it became a huge sensation to be writing iPhone apps and

00:12:25   App store was growing, you know every single Apple event. It was like an order of magnitude more

00:12:32   Here's you know, this is amazing. We've already got 6,000 apps in the App Store and then it was you know, a couple months later

00:12:38   We've got 60,000 apps in the App Store and then it was 600,000 apps in the App Store

00:12:42   And so you were had this time where all of a sudden there were way more

00:12:49   more programmers using these frameworks in the language and Apple's developer

00:12:56   tools than there ever were before combined. You know after what about 20

00:13:01   years you know yeah the first 20 years from 88 until 2008 it was all next and

00:13:12   that was really small a real small community then then with Mac OS X it

00:13:17   It became like a healthy-sized community,

00:13:20   but still a niche in the overall programming community.

00:13:24   And then with the iPhone, it became

00:13:27   one of the top languages in the entire industry.

00:13:30   Yeah, I never expected that to happen.

00:13:32   And I think to all those programmers,

00:13:35   and the weirdnesses of it just--

00:13:39   it was like, are you guys kidding me?

00:13:42   Right?

00:13:43   Yeah.

00:13:45   And yet it was an advantage because I think Objective-C could write code that actually

00:13:53   performed well enough, especially on the early iPhones, that the apps ended up being better

00:14:00   than apps on competing platforms.

00:14:03   Right.

00:14:04   And some of it is just stylistic, and it has nothing to do with the language.

00:14:08   One of the things that some people object to is the fact that...

00:14:13   I think it dates all the way back to the next years, but it stays through to today that

00:14:17   Apple's APIs tend to be like if you have a command to call.

00:14:27   It tends to be very verbose and explicit.

00:14:30   I'm looking at your blog right now and it would be height for timeline note.

00:14:36   They're going to spell that out.

00:14:37   going to make short little abbreviated function calls like in traditional C or in certain

00:14:43   other languages. That's a stylistic note and that would not change. There's no way that

00:14:49   would change if and when Apple moves to a new language. It's the language itself that

00:14:56   I think is controversial.

00:14:59   Yeah, I think that's right. Yeah, the style, it's a good style. I mean, we have autocomplete,

00:15:04   Right, so I hardly ever actually have to type something like height for time like now

00:15:09   I type a G and it suggests what I want and you know, I hit return in it and it goes

00:15:14   But it really makes for nicely readable code

00:15:17   And if we were using some other language, I would definitely want to use that same that same style. I think

00:15:23   Most Mac developers most iOS developers. I hope would agree. Yeah, would you before you were writing with the cocoa frameworks? Were you?

00:15:33   When you would write your own code for just you were you was your style is it verbose? I?

00:15:37   Think I tended toward using real words over abbreviations, right?

00:15:44   It's a very common things like, you know, um the variable I for a loop, you know, obviously, right?

00:15:50   but you know, I think I

00:15:52   Think I wrote a little bit as if it was a writer writing code

00:15:56   So and I think that's exactly what the Apple style is is that it's meant to be readable and that it does it dates back to

00:16:04   a time before

00:16:06   most editors had autocomplete and stuff like that like

00:16:09   Famously, I think that in the early years

00:16:12   Next developers were using textedit to write

00:16:16   to write their code

00:16:18   Ouch

00:16:21   Yeah, I would you know, I'm glad I did not work on this in the days before

00:16:25   Autocomplete because it makes a huge difference obviously, but I think it frees them to be a little bit more verbose. Yeah sure

00:16:33   So compare and contrast with with Microsoft and Microsoft has moved

00:16:38   It's not that you can't write

00:16:41   CRC plus plus code but that they have C sharp, which is a

00:16:48   You know, it's a more Java like language and it's you know, got a lot more modern syntactical

00:16:55   Elements I'm not saying it's better. I'm just saying it's clearly more modern

00:17:02   I've seen a little bit of C sharp and um, you know, it actually does look pretty good

00:17:09   But I don't know a ton about it, right and it's it's it's not C sharp in particular

00:17:16   But there's just the fact that Microsoft had clearly had been working on it

00:17:21   You know and had a sort of long-term plan that we you know

00:17:24   We need to we need to have a language that is that has these traits of a modern language

00:17:30   You know eventually and they've had it, you know, it's been out for years now and yet Apple is still on Objective C. I

00:17:37   Wonder how much of that was just kind of recognizing a good opportunity originally they had

00:17:46   Correct me if I get details wrong, but they were using Java and they were adding methods to Java and

00:17:52   Son probably sued them. Yeah, and there was something like that, right? So C sharp is basically like alright

00:17:59   Well, we're not gonna use Java. We're gonna use something just like Java only with those extra methods

00:18:03   Yeah, and a couple of syntactical differences, right? And so, you know, that's um, yeah in a way. It's a child of Java

00:18:11   Not a fork exactly but kind of all right and but but then they were smart enough to realize hey

00:18:16   This is this is an important thing and we can add at all kinds of goodness to it, which they've done

00:18:22   So you wrote one of your pieces over the last week or two is

00:18:28   imagining a scripting language where instead of picking one specific language and saying

00:18:33   You know, maybe here's the language that Apple should go with it was just a sort of hypothetical

00:18:40   What if and there was a language that had these features?

00:18:44   and

00:18:47   The gist of it though is that it it would make things a lot easier for you as a programmer if the language worked as intended

00:18:56   It should eliminate certain types of errors that you can make in a language like objective C

00:19:04   That are sometimes hard to track down

00:19:08   But then you asked at the end would I use this language and one of the big stopping points would be that if it and

00:19:15   this would be a

00:19:17   In a

00:19:19   compiled language like objective-c you run the code through a compiler and out of the compiler comes a binary blob of

00:19:26   executable code and that's what the the computer runs in a scripting language you

00:19:34   You might compile at runtime, but it's actually this the code that ships in the app

00:19:38   that and that to you pointed out would be the

00:19:42   The sort of big whoa, I don't know if I could use this right in other words that the app bundle itself might have a tiny

00:19:49   little bit of

00:19:51   executable code that you can't really read the source code to but then huge chunks of the app would ship in

00:19:58   Source files in the app bundle that anybody could just show bundle contents and go in there and start peeping through

00:20:05   right

00:20:07   Now that technical problem is fairly easy to solve because the scripting language can typically be compiled down to some form of byte code

00:20:14   which is

00:20:17   Not quite as opaque as a binary

00:20:19   the binary code but fairly close

00:20:22   so

00:20:25   Well, let's that that post was in a way me thinking about

00:20:29   getting getting

00:20:31   Taking the long and weird way around to thinking about what if we just open-sourced our apps randomly? What would go wrong?

00:20:38   well, and that's that's what I wanted to that's where I was kind of going and and yeah

00:20:42   let's let's call it capital o open source is when you actually

00:20:46   Publish the source code and you put an official license on it

00:20:52   you know, the MIT license or the BSD license or, you know, the GPL or something like that

00:20:58   and officially open source it. As opposed to, let's call it lowercase O open source,

00:21:05   where you don't license it, you don't give anybody permission to do the things that officially open

00:21:11   source apps can do, but that the source code is just there in the app for people to look at.

00:21:16   Sort of like I would compare that to the way the web largely works.

00:21:23   Daring Fireball is not open source, but famously, in the '90s,

00:21:31   how we all learned to build websites, you can go to the View menu, View Source,

00:21:36   and there's the HTML and the JavaScript and the CSS for your website.

00:21:42   What would happen if our apps were more like that?

00:21:45   I think that's a very interesting what if.

00:21:49   I think I'd actually really enjoy that a lot.

00:21:52   And part of me would just enjoy it as going back to my blog.

00:21:55   It would give me more to write about and more concrete

00:21:58   examples.

00:21:59   I'd be like, here, look at this thing in my source code.

00:22:02   See what I did there?

00:22:03   What do you think of that?

00:22:04   That kind of thing.

00:22:06   I'd really like that.

00:22:07   And if other people could learn from it

00:22:09   or tell me how I can do things differently, et cetera,

00:22:14   that would be really cool.

00:22:15   I mean, I enjoy that.

00:22:16   I think the web community has had a lot of that,

00:22:18   and we have not.

00:22:20   - Yeah, and I don't think that that lowercase,

00:22:24   oh, open source nature of the web

00:22:27   hurt the innovative designers and developers

00:22:31   who made the most, and still make,

00:22:35   the most clever designs and figure out the coolest tricks.

00:22:42   I don't think anybody really suffered from that copy and paste ability.

00:22:48   I mean, sure, it enabled some people to do wholesale, just rip off the whole website

00:22:53   type ripoffs.

00:22:57   That would maybe wouldn't have been possible if the web had been some kind of binary blob

00:23:01   format.

00:23:05   But I don't know that that really...

00:23:07   - As annoying as it can be,

00:23:09   and I've certainly seen it over the years,

00:23:12   I think as the daring fireball design gets older,

00:23:14   it's not happened as much recently,

00:23:17   but my site's been ripped off a lot of times,

00:23:20   and it's annoying,

00:23:21   but it's not like anybody's ever ripped it off

00:23:23   and set me back, right?

00:23:25   Like I've never lost a reader

00:23:27   because somebody has a site that's a clone of mine.

00:23:30   I've never lost a advertising dollar because of it.

00:23:33   And usually if you send a person,

00:23:36   If somebody, you know, if you send them an email and say,

00:23:39   "Hey, that's not cool," they change it.

00:23:41   - Yeah.

00:23:42   - A lot of the times it's people who really have no idea

00:23:44   that that's not cool.

00:23:45   I'm not sure that it would, you know,

00:23:50   that the effect wouldn't be similar with apps.

00:23:53   - Yeah, I kind of feel like it would be.

00:23:54   I mean, there's the fear that, oh, someone, you know,

00:23:57   does the rip off, right?

00:23:58   They just kind of reskin things,

00:24:00   change it from blue to green,

00:24:02   publish it with their own name,

00:24:05   and make money that we should have made.

00:24:09   But again, that's like someone will notice

00:24:11   and someone will write to them.

00:24:13   You know, there are mechanisms for handling

00:24:15   that kind of bad behavior.

00:24:17   But in general, people would learn from.

00:24:20   I know I would love to see the source

00:24:22   for other apps sometimes.

00:24:23   I'm like, how did they do that?

00:24:25   I'd love to know.

00:24:26   - Especially if it wasn't entirely copy and pasteable.

00:24:31   Like if there was just a wee bit of,

00:24:35   I'll go back a bit, a wee bit of executable binary blob

00:24:39   in there so that somebody who truly just has the intention

00:24:44   of cloning the app couldn't quite just copy and paste

00:24:46   the whole app bundle.

00:24:48   But if most of the app were like that,

00:24:50   and if you saw this cool effect of the way

00:24:55   that a little action sheet pops off the screen,

00:25:00   and it doesn't look like, it's not the system default way

00:25:02   that it's dismissed, it's another way,

00:25:04   and you want to see how did they do that.

00:25:05   And you could just open it up and say, oh, I see.

00:25:08   They did it this way.

00:25:11   I think most programmers who are beyond the beginning stage

00:25:16   aren't really looking for a copy and paste code,

00:25:18   at least when it comes to iOS and Mac apps.

00:25:20   They're looking for techniques.

00:25:21   They want to understand how you did something.

00:25:24   They don't necessarily want that code.

00:25:26   But if they can see how you put that together,

00:25:28   how you got a certain effect or whatever,

00:25:30   then they can duplicate that in their own way

00:25:33   in their own code rather than copy and paste.

00:25:36   - Right.

00:25:37   - And you know, it's a cool thing.

00:25:39   - Let me take a break.

00:25:40   Let me take our first break and thank our first sponsor.

00:25:43   And it's our good friends at Transporter, File Transporter.

00:25:48   Basic idea, they've been on the show before,

00:25:51   but if you haven't heard of them,

00:25:52   basic idea is it's sort of like Dropbox,

00:25:55   except you buy a hardware device or more of them,

00:26:00   multiple of them and spread them around.

00:26:02   and you get Dropbox like anywhere you are,

00:26:06   any device you're on, access your data,

00:26:08   except it's 100% private because your data is

00:26:12   stored on your device or your devices and nowhere else.

00:26:18   The cloud is only used for coordinating your file

00:26:24   transporters and your devices, your Macs, your iPhones,

00:26:30   to connect through the various firewalls and et cetera,

00:26:34   to talk to your file transporters.

00:26:37   These guys have been around for,

00:26:38   I think a little over a year,

00:26:40   and I just cannot, I can't even imagine how,

00:26:44   I can't even imagine how good their timing is

00:26:47   given all of the stuff that's gone on in the last year

00:26:50   regarding government spying and stuff like that

00:26:55   on cloud-based services, and the concern people have

00:26:59   about storing certain types of files and maybe even legally in terms of stuff that you have

00:27:07   signed a contract or something that you have to keep private or keep on your own devices.

00:27:12   It's just amazingly good timing.

00:27:16   Here's a stat that they sent me.

00:27:19   This is amazing.

00:27:23   This is from earlier this month, March 4th.

00:27:27   In the first year of shipments, transporter owners have deployed 10 petabytes of storage.

00:27:33   That's 10,000 terabytes.

00:27:35   Wow.

00:27:36   Or 10 million gigabytes of storage.

00:27:44   That's how much there's been deployed by transporter owners.

00:27:47   Pretty soon you're talking about real storage.

00:27:50   Yeah.

00:27:51   I actually had to like look that up because I didn't know what a petabyte was

00:27:55   Tons of tons, I mean that's I don't know if it actually would weigh tons because the devices are actually pretty small

00:28:03   So maybe it's figurative tons not ligger literal tons, but it's a ton of storage

00:28:07   And the price is really great

00:28:11   Super easy software that you can install on your Mac

00:28:13   They have an iPhone app

00:28:17   They have

00:28:20   A $99 device called the SYNC that you can connect to your own USB hard drive and use

00:28:27   that. They have a $199 model with 500 gigabytes of storage. The most popular, they have a

00:28:33   249 model with a terabyte of storage built into it. And then at the high end, they have

00:28:37   a 349 model that is 2 terabytes. You just connect this little thing. It's so easy. You

00:28:45   put it on your home network. You can connect one at your home, one at your office, and

00:28:50   They'll just sync to each other and they'll both have the same amount of data.

00:28:54   So it's a nice way to replicate data across two locations.

00:28:58   Really, really easy to set up and most important fact that separates them from truly cloud-based

00:29:06   services, 100% private.

00:29:08   Where do you go to find out more?

00:29:09   Go to filetransporter.com/talk.

00:29:11   T-A-L-K.

00:29:13   Filetransporter.com/talk.

00:29:16   My thanks to File Transporter.

00:29:18   So, talking about baking apps with a mix of scripting languages and compiled code, do

00:29:32   you remember the C4 talk from a couple of years ago from Troy Gall, who was at Adobe

00:29:42   at the time, about the way that they architected Lightroom?

00:29:45   Yeah, they use an awful lot of Lua.

00:29:48   Yeah, exactly.

00:29:50   I thought that was cool.

00:29:50   So, and at first you might think, well, that's crazy because Lightroom is a professional photo

00:29:59   management tool, is super CPU intensive. Like I use Lightroom. I'm a happy Lightroom user all

00:30:08   the way from 1.0. It is the probably the number one app on my system that actually stresses my

00:30:14   computer and and they're not in large ways but I you know it's just doing a

00:30:20   lot you know like the modern camera if I if you shoot in raw they're just big

00:30:24   files with lots of pixels and and interpreting raw photos is processor

00:30:29   intensive and then you apply filters and all these things and they all show up

00:30:33   live but so the thing is that stuff the stuff that you think of the image

00:30:38   manipulation is all written in I don't know C or C++ you know but some kind of

00:30:44   of traditional high performance language

00:30:46   and it's shared code across the Adobe suite.

00:30:49   It's the way that, it's very,

00:30:51   that's why they call it,

00:30:52   the official name is Adobe Photoshop Lightroom.

00:30:55   But it's the same image processing engine from Photoshop.

00:31:00   It's the interface that's largely written in Lua.

00:31:05   - Which totally makes sense.

00:31:07   I bet people don't realize what percentage of code

00:31:11   is actually interface code.

00:31:13   And a lot of that is just really tedious, boring stuff,

00:31:16   like make sure the button is disabled when

00:31:20   some bit of data has changed.

00:31:22   And there's just an enormous amount of that stuff

00:31:24   that even goes into apps like Lightroom,

00:31:28   or even small iPhone apps like ours.

00:31:31   And none of that has to be CPU intensive,

00:31:34   it's just like something changed,

00:31:36   update the display slightly.

00:31:38   It's never gonna be slow.

00:31:43   Yeah, you need C or Objective-C for the slow parts.

00:31:45   But the rest of it, heck, you find the slowest scripting

00:31:49   language and it'll still be a thousand times faster

00:31:51   than what you need.

00:31:52   - And I'm 99% sure that you can do what we were talking about

00:32:00   and pop open the Lightroom bundle.

00:32:03   And if you poke around in there, you'll find Lua scripts.

00:32:09   And it doesn't in any way enable somebody to, you know,

00:32:14   do a Lightroom clone.

00:32:16   It just shows you the way they've done

00:32:21   some of the interface.

00:32:22   I think that's super interesting.

00:32:28   And it's sort of a living example of the sort of thing

00:32:33   you're talking about.

00:32:37   But it's weird because Lightroom's been out

00:32:39   for a number of years now, and it doesn't seem to have,

00:32:42   that method of architecting an app

00:32:44   doesn't seem to have caught on.

00:32:46   Like I'm not aware of anybody else who's doing that.

00:32:49   Although I guess a lot of games,

00:32:51   that's the one thing I remember,

00:32:52   is that a lot of games are like that.

00:32:54   Where they'll write the hardcore graphics stuff,

00:32:57   you know, in C or something like that.

00:32:59   But the setup menus and stuff like that,

00:33:02   the stuff that's not intensive,

00:33:03   is often written in a scripting language,

00:33:06   and it's often Lua.

00:33:08   - Yeah, I've heard that Lua is real big for games.

00:33:10   And in games you can see why not necessarily Lua

00:33:14   is the choice, but that some scripting language

00:33:16   is the choice, because they're often designed

00:33:18   to be cross-platform, and they're using their own UI stuff

00:33:22   rather than UI kits so much.

00:33:24   So yeah, it does make sense to do it that way,

00:33:27   particularly for games.

00:33:29   The problem with doing it for something like our app,

00:33:32   or more traditional iOS or Mac app,

00:33:34   is that you lose the built-in tools

00:33:39   for doing debugging, performance analysis.

00:33:43   I would bet that autocomplete isn't going to work.

00:33:46   So you're kind of slowed down an awful lot.

00:33:50   And that's a shame, because the idea

00:33:52   behind using a scripting language is to develop more

00:33:56   rapidly.

00:33:58   Scripting languages are fun.

00:33:59   Maybe that's why they're more rapid.

00:34:02   But there's usually less fiddly bits to worry about.

00:34:05   So you can move quickly.

00:34:06   But if you don't have the built-in Xcode tools for this,

00:34:11   it's actually slower and more difficult.

00:34:13   - I apologize for not having a better memory,

00:34:16   especially if Troy is out there and he listens to the show.

00:34:19   I don't know if Adobe has good debugging tools

00:34:23   for their LUIS stuff, but I do know that the way they set up

00:34:27   the cross-platform framework. It's genius and it's the right way. It's that...

00:34:34   and I know that Lightroom looks largely the same when you run it on Windows and

00:34:40   this is one of the reasons why they architected it this way, where they have

00:34:44   their own sort of non interface related image processing library at the heart

00:34:50   and that's Crops platform. And then they write these Lua scripts for the

00:34:54   interface and that's cross-platform but like when the Lewis script says give me

00:34:58   a text field here it's a native text field so the text field you're typing if

00:35:02   you're typing a caption for a photo you get all the cocoa text editing

00:35:07   shortcuts mm-hmm running on the Mac and I presume when you're running on Windows

00:35:11   you get all the windows ones and that's the sort of thing where cross-platform

00:35:15   stuff has all you historically fallen down where you get these weird moon man

00:35:20   Text fields that are like almost like a native text field

00:35:24   But there's you know

00:35:25   Then you try to hit escape to auto complete a word or something that you can do on the Mac and it doesn't work

00:35:30   And then it's that's weird

00:35:32   Right. Yeah, that's totally the wrong way

00:35:35   So you you you've got to set things up so that if your script or whatever says, you know new text field

00:35:40   That there's some layer that says oh which platform am I on?

00:35:44   What what type of text field do I have to return? Yeah

00:35:47   Yeah, so I think you're right in the large and this is one of the things that you've you've written about that

00:35:52   Ultimately, and there's a lot of cool experiments going on out there

00:35:57   What was the what's the new one that you that sort of got you started on this? It's the

00:36:01   Objective small talk. Yeah, I've also looked at new and you and Ruby motion, right?

00:36:09   but which is the one where it's it's it's like you're

00:36:14   Like the the example code was validating a form. Oh

00:36:18   So that's reactive cocoa. Yeah reactive cocoa. Yeah, which is not a new language or anything

00:36:25   It's just a new way of doing just some stuff. Yeah, it's kind of turning cocoa into more functional declarative thing

00:36:32   But the thing is in order to do that

00:36:34   You know offense to Robin the guys

00:36:37   People working on this but it's just ugly. I'm not gonna do that. It doesn't look like

00:36:44   like it doesn't look like Coco Code to me you know yeah I could learn to read

00:36:50   it and maybe even learn to think it's not ugly but I just don't want to with

00:36:55   any of these things so it's cool that the you know the people are

00:36:58   experimenting in the public with them yes but I think the best that you could

00:37:02   hope for is not that that the that these outside projects are going to catch on

00:37:07   and take over but that one of them is gonna get the attention within Apple and

00:37:12   and get Apple to officially support it.

00:37:15   Because it's like, bottom line is if it isn't really part

00:37:19   of what Apple is endorsing and publishing,

00:37:22   it's never going to have enough integration

00:37:24   with the built-in tools.

00:37:27   - And-- - Yeah, I think that's right.

00:37:29   - And with the community at large.

00:37:31   That there's a huge advantage to be writing your code

00:37:35   the same way the majority of the developer community is,

00:37:38   so that you can, you know,

00:37:40   If there is like a third party framework

00:37:42   you wanna integrate with, it's already, you know,

00:37:44   it's written in the same style.

00:37:45   - Mm-hmm.

00:37:47   That's one of the things I've liked about COCO in general

00:37:49   is that there are very strong conventions

00:37:52   for how to do things.

00:37:54   And my code oughta look pretty much

00:37:56   like somebody else's code.

00:37:57   But at the same time, I am, of course,

00:38:01   very glad that people are experimenting, doing, you know,

00:38:04   I got a little pushback on calling

00:38:05   Reactive COCO a research project, but I think it is.

00:38:08   It's a public research project and I'm glad it's happening.

00:38:11   And I hope Apple takes note of trends

00:38:14   like functional programming and bring some of this

00:38:19   over into CoCo.

00:38:20   - Yeah, I don't think-- - These guys are pushing

00:38:23   that a little bit.

00:38:24   - I don't think research project is a pejorative at all.

00:38:27   I don't think that that's in any way

00:38:29   you putting it down or dismissing it.

00:38:32   - Wasn't meant to be. - Right.

00:38:35   I think maybe because some research projects in some fields

00:38:39   are so pie in the sky and sort of removed from practicality

00:38:44   that you could see it that way.

00:38:48   But clearly that's not what they're doing.

00:38:50   They're actually saying you can write code today like this.

00:38:53   You can use this and ship it,

00:38:55   which maybe is where their objection comes from.

00:38:58   - Yeah, maybe.

00:38:59   Do you research project implies

00:39:03   don't use this in production code.

00:39:04   Right.

00:39:05   And yeah, I don't mean that at all.

00:39:08   It is, I think, used definitely in production code.

00:39:13   And the people who like it really, really like it.

00:39:16   And that's cool.

00:39:17   And I want them to keep using it.

00:39:20   I want them to keep pushing.

00:39:21   I think that's great.

00:39:22   I'm just not going to join in on that particular project,

00:39:26   though I'm highly sympathetic to it and to its goals.

00:39:30   All right, let me take a second break here,

00:39:32   because I know exactly where I want to go from this.

00:39:35   But let me take a second break and thank our good friends

00:39:39   at An Event Apart.

00:39:40   Now, you guys know An Event Apart.

00:39:42   They're a longtime sponsor of this show.

00:39:44   They are the conference for web developers and web designers.

00:39:50   They have shows all over the country this year for you

00:39:55   to check out.

00:39:56   Upcoming events for An Event Apart

00:39:59   include Seattle, Boston, San Diego, Washington, DC, Chicago,

00:40:07   Austin, Orlando, beautiful Orlando, Florida

00:40:10   in late October.

00:40:12   Orlando is beautiful in late October.

00:40:14   Not too hot.

00:40:16   Probably a lot nicer than wherever you're from.

00:40:19   And San Francisco in November.

00:40:20   It's such a great conference.

00:40:25   They have the best speakers.

00:40:28   two days of intensely educational learning for practical practitioners of standards-based

00:40:36   web design. They're founded by the web visionaries Eric Meyer and Jeffrey Zeldman who also happen

00:40:43   to be two fantastic speakers. But it's 12 speakers total, two days of inspiration, enlightenment,

00:40:52   and all the little details are so great at an event part event. They have the best food,

00:40:57   They have the best, they even have the best badges,

00:41:00   good badges, good swag.

00:41:01   Go to, here's how you find out more,

00:41:06   aneventapart.com/talkshow.

00:41:10   Check out the schedules, check out the dates.

00:41:13   If you work as a web developer or designer

00:41:15   and you haven't been to an event apart

00:41:17   or you haven't been recently,

00:41:18   you really owe it to yourself.

00:41:19   It is the conference to go to.

00:41:21   I can't recommend it enough.

00:41:23   So an event apart dot com slash talk show and my thanks to an event apart.

00:41:32   So here's maybe the counter argument to you know this.

00:41:37   I think maybe the big question is does Apple does Apple the people inside Apple the decision

00:41:42   makers who would sort of be able to pull the trigger on hey maybe we should move start

00:41:47   stepping away from Objective-C as the the the language and add a higher level

00:41:54   scripting language on top of it and then use Objective-C only for performance

00:42:01   intensive things do they agree with that do they see that there's a need for this

00:42:08   and and I I think from the outside it's indeterminate I don't think anybody

00:42:14   knows and it's you know typical for apple that they play their cards close to their vest

00:42:18   the the the catch with moving to a language a newer language a language with cooler it may you

00:42:29   know an easier to use language let's put it that way is that it comes with a performance cost right

00:42:35   an interpreted language runs slower than a compiled language but it's easier to use an interpreted

00:42:42   language as a just as a basic rule of thumb.

00:42:49   People were calling for this, you know, like I said,

00:42:53   Syracuse wrote this thing in 2004, 2005. But then at a time when, you know, when, you know,

00:43:02   the Mac was switching to Intel and Macs were getting way faster and performance wasn't quite

00:43:07   quite so important. But then came the iPhone, which only had 128 megabytes of memory and

00:43:14   ran on this at the, you know, even by today's standards, this puny ARM processor. I mean,

00:43:20   what was, I think, the stat that they showed when the 5C or the 5S and 5C came out and

00:43:29   they introduced the A7 system on a chip is that it's 40 times faster than the original

00:43:35   iPhone CPU. So let's just face it, the original iPhone as a target for objective C was incredibly

00:43:47   memory constrained and incredibly slow. And so having, you know, you needed every bit

00:43:52   of performance that you could get, like having this developer framework ready to go based

00:43:58   on a C-level language was a huge advantage and still probably is to this day. I would

00:44:07   think. I mean, I think maybe the modern iOS devices are fast enough that some of the stuff

00:44:12   could obviously, you know, and like we said, games have some interface stuff written in

00:44:17   Lua. But as the foundation for Apple's development efforts for the APIs, it makes sense that

00:44:24   they were still using a C-level language instead of a higher-level language.

00:44:30   Agree? Yeah, yeah I think so. I, they, you know, iOS certainly breathed a lot of life

00:44:38   into Objective-C, I think, and probably extended its its longevity because it

00:44:43   was such a huge advantage and to a certain extent still remains so. But for

00:44:47   the average app there is so much so much stuff just simple UI stuff that might as

00:44:52   well be written in the slowest interpreted language that you can think of.

00:44:57   And you wouldn't be able to tell the difference.

00:45:00   For instance, I want to animate this stuff from here to there.

00:45:05   The fact that I'm using Objective-C doesn't matter at all, because what I'm doing is I'm

00:45:11   setting an object's destination frame and opacity or whatever.

00:45:17   And then I'm making a call to the frameworks that actually does the animation.

00:45:21   Well, if I was using a scripting language instead of Objective-C, it would be the same

00:45:25   exact thing.

00:45:26   I'm saying, you know, move this from here to there, change its opacity or color or something,

00:45:32   and then making, you know, essentially that same call into the frameworks to actually

00:45:37   do the animation.

00:45:38   So the animation would just be just as fast, just as smooth, absolutely no different.

00:45:43   And for all the other, you know, all the other little things, whether you're enabling/disabling

00:45:47   buttons or swiping from screen to screen or whatever,

00:45:52   makes absolutely no difference that you're using Objective-C

00:45:54   versus something--

00:45:56   it could be AppleScript, right?

00:45:57   It could be something terrible and slow.

00:45:59   And so much of the average app, non-game app,

00:46:03   is just that stuff.

00:46:05   And then there's some core that needs

00:46:07   to be fast, whether it's image processing or database

00:46:10   or whatever.

00:46:12   Parsing stuff from the web, you want that to be quick.

00:46:16   But you can easily isolate that core.

00:46:19   Right, and so in other words, it's-- yeah,

00:46:22   I think my hunch was wrong on that.

00:46:25   And my thinking was, well, what if the next generation

00:46:28   of devices is way smaller still?

00:46:32   Whether it is a watch, or it's a watch-sized device,

00:46:34   or something just truly physically tiny

00:46:38   compared to even an iPhone, it doesn't

00:46:42   matter if your app is largely specified in a slow scripting language as long as

00:46:48   the frameworks that it's really that's actually doing all the work are written

00:46:52   in a fast tight language like Objective-C. Yeah, yeah, exactly right. Yeah. And I

00:47:00   think the old-timers out there us calling Objective-C a fast language is

00:47:03   probably making them roll their eyes, right? Right, yeah. Because that was always the

00:47:08   knock against Objective-C for years was that it because it was this added layer

00:47:13   over C and that it wasn't just the language is that there was this runtime

00:47:18   that was implicit with using it that that it was slow and it was and in

00:47:24   certain you know by certain standards it was slow but now we've gotten to the

00:47:29   point where that layer of indirection doesn't matter.

00:47:34   So I don't know--

00:47:39   - There have been times in like,

00:47:40   in the very most performance intensive code I've written

00:47:45   where I've gone the direction of more and more

00:47:50   going straight C over objective C.

00:47:52   There's something like that in Vesper,

00:47:54   but in NetNewswire I certainly move that direction

00:47:57   with dealing with RSS parsing, particularly.

00:48:02   If you're parsing a whole bunch of feeds all at once,

00:48:05   and you're creating a whole bunch of Objective-C objects

00:48:08   and dealing with things at that, I would call a higher level.

00:48:14   Though I can imagine higher level stills.

00:48:17   But still, it would be slow.

00:48:20   And the more I could do stuff in C,

00:48:22   things would be a lot faster.

00:48:24   But that's a special case, just in that most critical performance

00:48:31   intensive area.

00:48:33   Otherwise Objective C is so much faster than what

00:48:35   we need for everything else.

00:48:37   Yeah, like 99% of everything we do.

00:48:40   So what's your hunch?

00:48:47   Do you think that Apple has a plan for some sort

00:48:51   of next generation language?

00:48:53   - I don't know.

00:48:57   So one thing I've learned about Apple engineers

00:49:00   is they're a lot like people who work on iOS

00:49:04   and Mac apps outside of Apple.

00:49:06   They have the same kind of interests

00:49:08   and they notice the same things

00:49:09   and they think about the same things.

00:49:11   So my hunch is surely there are people inside Apple

00:49:15   who think like those of us outside who do think.

00:49:20   But whether that has actually gotten to the point

00:49:24   of anyone making a plan or anyone,

00:49:27   anyone seriously doing some work on this,

00:49:30   I just have no idea.

00:49:32   Because they can point to their approach,

00:49:34   which is, you know, we give you major new upgrades,

00:49:38   properties, blocks, all this kind of stuff,

00:49:41   and it's working, look how many apps there are,

00:49:43   look how successful the app ecosystem is.

00:49:46   It's not broken, you know, they could say.

00:49:51   - Yeah, I sort of think so too.

00:49:52   And the other thing too I've learned

00:49:53   over the years observing Apple is that

00:49:56   just the way they think institutionally,

00:50:00   and it always comes back to this,

00:50:01   is don't get too focused on any particular solution.

00:50:05   Always concentrate on the problem.

00:50:08   And that sometimes the solution to the problem

00:50:10   isn't the thing everybody thinks

00:50:12   is the solution to the problem.

00:50:14   So I would say Grand Central Dispatch is a perfect example

00:50:18   of that, where the problem is--

00:50:23   I would say the problem is that twofold.

00:50:27   One, parallel programming has always

00:50:29   been notoriously difficult. In other words,

00:50:33   having multi-threads at the same time running.

00:50:37   It's always been--

00:50:39   I remember in college, it was--

00:50:41   I don't know how I passed that course.

00:50:43   Yeah, it's hard.

00:50:44   And then the second problem is a hardware one,

00:50:51   which is that the semiconductor industry ran

00:50:55   into the end of Moore's law, where they can't keep putting

00:51:00   more transistors on chips, and the gigahertz stopped going up.

00:51:04   I mean, we've been stuck at somewhere around 3 gigahertz

00:51:07   for high-end CPUs for a long time now.

00:51:11   So the way that we're making CPUs faster is by adding more cores instead of faster cores.

00:51:20   But that means the only way to take advantage of it is to run more code in parallel.

00:51:26   And the way that GCD works, we don't have to get into the details of it because again,

00:51:29   this is not a programmer's course.

00:51:31   But it wasn't like...

00:51:35   When they introduced it at WWDC, it wasn't one of those things like, "Ah, finally, exactly

00:51:39   what we've been asking for."

00:51:41   It was a, "Whoa, I've never seen anything like this before."

00:51:44   That's really...

00:51:46   Sounds really clever, if it works, as they're saying, but it was pretty original.

00:51:51   Yeah, well, for one thing, it took away the idea of threads and had us think about queues,

00:51:58   which is a higher level of abstraction, which was really nice.

00:52:02   Yeah.

00:52:03   So I wouldn't be surprised if...

00:52:07   I wouldn't be surprised if the problem is Apple sees it is that we should be writing

00:52:12   less objective C code for our apps if the answer is something different than we should

00:52:18   be writing in some other language.

00:52:20   And I don't know what that would be because I'm not clever enough to think of it, but

00:52:22   I don't know.

00:52:24   Maybe storyboards is a good example of that?

00:52:27   Well certainly Apple likes the idea of do as much as we can in Interface Builder.

00:52:33   I think a lot of developers like that too because everything you do there is a line

00:52:36   of code you don't have to write.

00:52:39   And so, in case our listeners aren't aware, the old idea was you'd have one file per screen,

00:52:47   basically, and you'd lay it out visually.

00:52:49   In storyboards, you can kind of put together a whole app or an entire section of your app

00:52:53   with the transitions and stuff all at once.

00:52:57   It's like a storyboard in a movie.

00:53:00   But that doesn't necessarily save you a ton of code.

00:53:02   I mean it saves you the same amount of code

00:53:04   You used to get saved

00:53:08   Used to save with the with the older method, so I don't know. I'm still kind of on the fence about storyboards hmm

00:53:15   But it's you know. I don't know but an interface builder itself has always been

00:53:21   It's obvious you know they it's been there since the beginning and it was one of you know going back to the next era

00:53:31   You know, it was an early version, you know, ahead of its time in terms of laying out big chunks of the app

00:53:36   visually instead of just in code. But there's an awful lot of developers

00:53:39   I know, yourself included, who in a lot of cases just prefer to do it in code and find it to be

00:53:46   easier and less work.

00:53:49   Yeah, and well, and part of that is I can eliminate the bouncing around, right? If it's right there,

00:53:58   If it's right there in the code, then I don't have to leave the code to figure out what the heck's going on

00:54:02   I don't have to go over to this other thing where I visually laid it out

00:54:06   And it also works better with source control management and things like that. All right

00:54:10   I'm not against interface builder

00:54:13   We've got we're actually using a storyboard in our in our next release of Vesper for a section of the app

00:54:18   And partly is just because I needed to learn it but you know it for that section of the app

00:54:23   It actually really makes sense. It's a self-contained thing with a

00:54:26   navigation controller and all this kind of stuff.

00:54:29   - But you don't see it so much as about writing

00:54:31   less objective C code than you did before.

00:54:34   It's just a different way of using a visual interface tool

00:54:38   than interface builder.

00:54:40   - Yeah, very much so.

00:54:41   Yeah, I mean, it will save some code,

00:54:45   but the kind of code that's really simple and easy to write,

00:54:47   so it's not that big a deal.

00:54:49   But what I'd love to see in interface builder

00:54:54   and storyboards, is for people like you and Dave

00:54:59   to be able to go in there and actually make it work

00:55:03   like it should.

00:55:03   - Right.

00:55:04   - You know, it's like, it's gonna look like this

00:55:06   and we're close in a lot of ways.

00:55:09   I mean, you could sit there,

00:55:11   someone who isn't a full-time programmer

00:55:13   could sit there and lay out text fields

00:55:15   and do all this kind of stuff.

00:55:16   And then you could even test the interface,

00:55:18   see what it's gonna look like

00:55:19   without attaching it to any code.

00:55:22   But it's not really the interface, right?

00:55:24   The fonts won't be right.

00:55:26   Yeah, there'll be a lot of missing pieces.

00:55:30   What I'd love is for you to be able to actually do

00:55:34   all the work and then me, the coder,

00:55:37   can sit back and do things like database and APIs

00:55:41   and all that kind of stuff.

00:55:41   - Or don't you think maybe a better way to put it

00:55:43   would be for me and Dave, not necessarily to do all the work

00:55:46   but to do all the diddling.

00:55:50   - Yeah, sure.

00:55:51   which is okay here's the thing and it animates from A to B but now you're done

00:55:58   and now me and Dave would just sit there and tweak parameters like you know and

00:56:04   it's funny to say this but the physics you know the gravity of the springiness

00:56:08   the bounciness the speed the acceleration to get the feel of it right

00:56:14   because that is it and that's a huge it really is it's a huge part of the

00:56:18   It's a huge part of almost all what people would consider modern apps is the physics of how the when things move

00:56:26   Like it's not enough to just say animate from a to B. You've really got to specify those things

00:56:30   and

00:56:33   Making that more of a central part of the built-in tools. I think would be a huge step forward

00:56:39   I mean we've we've hacked around it with

00:56:42   with our own thing the

00:56:45   Deep out of DB 5 DB 5 where we can set it, but we're still going through to do that. We're still going through a

00:56:51   compile compiled build run

00:56:54   reinstall on the device cycle

00:56:56   Yeah

00:56:59   I've said this before but one of the coolest things that I've seen was

00:57:02   From when when Mike Mattes was developing the push pop press app for

00:57:10   for Al Gore and I saw a pre-release version of it and his

00:57:14   Madison's version on his phone had on a special internal wasn't you know was

00:57:20   never going to ship to the public but a setting screen where he had sliders to

00:57:24   adjust certain you know pretty much give you the god-level control over the

00:57:32   physics of the books universe and you could set how heavy images are so that

00:57:38   when you flick the clothes them you know do they feel like they're light do they

00:57:41   feel like they're heavy. And so that it seemed like a cool way to do that. And then he could

00:57:47   come to the developer and say, here's for the next beta, here's the physics settings

00:57:52   that I, you know, let's try this and we ship it to the end. But he didn't have to go through

00:57:56   a build and run and install in Xcode and reinstall it on his app every time he wanted to twiddle

00:58:03   one.

00:58:04   That's nice. What he really needs and maybe he did have is a button where I like these

00:58:09   set and email this to the developer. Yeah, something like that. That would be cool. Let

00:58:16   me take our third break and thank our next sponsor and it's our good friends at lynda.com.

00:58:24   lynda.com has over 2,000 high quality and engaging video courses taught by industry

00:58:34   experts with new courses being added daily. For all I know there's more than

00:58:38   2,000 now. They have a wide breadth of courses from beginner to advanced and

00:58:44   they cover things ranging from purely design to pure development and all sorts

00:58:49   of stuff in between. Other things like photography. Some of the things that

00:58:55   might interest people who are listening to the talk show they have iOS developer

00:58:59   courses, Unix for Mac OS 10 users so if you've ever wanted to learn your way

00:59:04   around the terminal, that sort of thing. Objective-C fits this show perfectly.

00:59:09   iOS 7 SDK, new features, so if you're already an iOS developer but you want to

00:59:15   see what's new in iOS 7, they have a course on that. Web development courses,

00:59:22   they have Perl, ASP.NET, PHP, MySQL, JavaScript of course, Creative Cloud, so

00:59:32   Photoshop InDesign everything like that so many videos it's unbelievable

00:59:39   here's the best thing though the best thing is that you can sign up for a

00:59:45   seven-day free trial and during your free trial you can watch as many of

00:59:51   these videos as you want that's how sure they are that you'll be you'll want to

00:59:56   sign up and when you do sign up you can sign up for a plan where you just have

01:00:02   unlimited access to their videos and so you don't have to if you're thinking

01:00:06   like I think I want to get this you're already signed up you're signed up with

01:00:10   a subscription you don't have to worry hey is this video going to be what I

01:00:13   want you can just start watching it and see if it's what you want how do you get

01:00:17   this seven-day free trial easy go to lynda.com ly and da comm slash the talk

01:00:25   show lynda.com slash the talk show you get a seven day free trial watch these

01:00:32   videos. You have nothing to lose. It's fantastic. So my thanks to lynda.com. Absolutely fantastic

01:00:40   high quality videos, seven-day free trial. My thanks to lynda.com.

01:00:49   Anything else you want to talk about programming-wise?

01:00:50   So here's something you don't know about me. It's not programming.

01:00:53   Okay.

01:00:54   I'm an Espresso user.

01:00:55   Oh, really?

01:00:57   - Yes, so now's your chance.

01:00:59   Ask me what I see in these.

01:01:01   - What is it that you see in these?

01:01:03   - It's so damn easy.

01:01:06   And that's really it.

01:01:07   I literally have no idea how much it costs

01:01:10   and I don't care if it's $40 a pound of coffee.

01:01:13   But I have two cups of espresso every day.

01:01:15   And the same ones, I have one of one flavor,

01:01:19   one or the other.

01:01:20   And it's just, it takes just a few seconds.

01:01:25   I never have to think, and it's really good.

01:01:28   And that's it.

01:01:29   It is no more complicated than that.

01:01:31   This is this thing I was writing about yesterday

01:01:34   that I'm curious, that there's these new pod-based coffee

01:01:38   making machines.

01:01:39   There's what you have, the Nespresso.

01:01:43   And what's the other one, the K-Pod?

01:01:45   Keurig, something like that.

01:01:47   Keurig or something like that.

01:01:48   And I just didn't get it.

01:01:53   In other words, per pound of coffee,

01:01:55   you end up paying a premium, a significant premium.

01:01:57   And I just didn't get it.

01:01:58   I wasn't putting it down, I just didn't see the appeal.

01:02:00   And I've heard from two very different groups of people,

01:02:05   like on Twitter, who are fans of these things.

01:02:09   And it seems like the bigger group

01:02:12   is the people who truly value the convenience.

01:02:15   That however easy it is to make drip coffee,

01:02:19   this is just way easier.

01:02:22   But the second group is your group.

01:02:24   'Cause you're making espresso, right?

01:02:30   - Yeah.

01:02:30   - Yeah, the espresso drinkers.

01:02:32   And that's, I think,

01:02:34   I think it's because making espresso traditionally

01:02:38   is a mess, right?

01:02:40   And requires significantly,

01:02:43   I see that, maybe that's where I'm missing out.

01:02:45   Like, I like espresso when I can get it,

01:02:46   like at a restaurant.

01:02:48   But at home, I just make drip coffee.

01:02:51   And drip coffee hurts my stomach a lot.

01:02:54   So I go with espresso.

01:02:55   And it used to be I had a Krups,

01:02:59   and I would make four shots at a time, four times a day.

01:03:03   16 shots a day is how I got through.

01:03:06   And that was a lot of damn work, right?

01:03:08   To sit there with my Krups and grind the beans

01:03:12   and pound them in and all this stuff four times a day.

01:03:15   I was just wired as hell, of course.

01:03:17   - That's so much espresso.

01:03:21   It really is.

01:03:22   Oh, God.

01:03:23   And, hey, that's how that newswire got made.

01:03:30   But eventually I realized, number one, I'm drinking a ton of espresso.

01:03:33   Number two, I'm spending a crazy amount of time just making espresso and cleaning up

01:03:37   from espresso and everything.

01:03:40   And I realized I could actually be spending that time programming and maybe not having

01:03:46   to pee every five minutes if I had less espresso and just got a little machine that makes something

01:03:52   really good.

01:03:53   And so, yeah, that's what I did.

01:03:55   And now, yeah, it's a piece of cake.

01:03:57   And you're down to two a day?

01:03:59   Down to two a day.

01:04:00   The first one is kind of a double and then a single after that.

01:04:04   And you used two different flavors?

01:04:06   Yeah.

01:04:07   So some of them are designed to be long pours, basically, and some are designed to be short.

01:04:13   So I use a long one first and follow up with a short one.

01:04:17   And that's good.

01:04:19   My former colleague, when I worked at Joyent, Jason Hoffman, the first time we had like

01:04:27   an on-site, we went across the street somewhere in Marin County.

01:04:34   In typical Marin County, small town, no chain restaurants, really cool coffee shop across

01:04:40   the street.

01:04:42   stuff. And we're all ordering. And I got my usual drip coffee. And I remember Jason ordered

01:04:47   a quadruple espresso. And I thought, wow. And I didn't say anything. And then we sat

01:04:53   there and drank. And we'd stayed in a coffee shop and just chilled out. And we drank our

01:04:58   coffees. And then before we left, he went up to the counter to get another one. And

01:05:02   And I thought, whoa, whoa, this.

01:05:04   - Yeah.

01:05:07   - That is totally outside my ability

01:05:10   to consume coffee or caffeine.

01:05:15   - Yeah, I used to always order triple espressos,

01:05:18   just routinely when I was in a coffee shop.

01:05:22   And would have, you know, if I was traveling.

01:05:23   And I'd have multiple a day just to keep the same

01:05:27   or close to the same level I was used to from home.

01:05:29   - Yeah, I do like an espresso,

01:05:31   But I wouldn't want to try to make them at home.

01:05:36   I also like-- I like the way that I can--

01:05:40   for myself, I make about three cups of coffee.

01:05:43   And I like the way that I keep it in a thermos so it stays warm.

01:05:46   And I like the way that it lasts for a long time.

01:05:50   I can just slowly sip it as I work the first half of my day.

01:05:56   Yeah, I would enjoy it.

01:05:57   But it hurts too much.

01:06:01   - Yeah.

01:06:02   - Which sucks.

01:06:03   - I did not know that about you.

01:06:05   - Yeah.

01:06:05   - Although I guess I shouldn't be surprised.

01:06:08   Do you find if you get over caffeinated,

01:06:12   you lose your ability to concentrate?

01:06:14   - Yeah, at a certain point,

01:06:17   I'm just desperate not to be so over caffeinated.

01:06:20   I built up my tolerance for a long time,

01:06:24   such that that point was almost impossible to reach.

01:06:27   Nevertheless, I still reached it occasionally.

01:06:29   And my answer then was usually food, whatever.

01:06:32   Just give me as much food as I can possibly eat

01:06:35   just to help me kinda relax.

01:06:37   And that's not necessarily a great answer.

01:06:39   - I found that when I used to work outside the house

01:06:44   and I'd have a job,

01:06:46   and then I wouldn't necessarily count

01:06:49   how much coffee I was drinking,

01:06:51   especially if it was like in a workplace

01:06:52   where there was coffee always being made

01:06:54   or coffee available.

01:06:56   And I would just get up as often

01:06:58   as soon as my cup was empty, I would just get up and refill it. And then I would find

01:07:03   like in the afternoon that I'd, it really, it felt like my brain was actually like vibrating.

01:07:10   Like it was, and it was a truly, well I shouldn't say truly unpleasant, but vaguely unpleasant.

01:07:16   And I'd, I'd like look at the clock and realize an hour had gone by and all I would, all I

01:07:20   had done is open 20 new tabs, you know, of random stuff and read the first three sentences

01:07:26   of each. Like it truly gave me, it gave me effectively attention deficit disorder. And

01:07:33   so I find that making the same amount of coffee every morning when I get up and drink, and

01:07:41   that's all I drink every day has been a huge advantage. Because I know it's exactly, it's,

01:07:47   it makes me feel good and I feel like I'm concentrating, but it doesn't, doesn't even

01:07:52   get me close to drinking too much.

01:07:54   - Yeah, yeah, it took me a while to learn that,

01:07:57   but yeah, I've learned the same thing.

01:07:58   - Do you get headaches if you don't drink coffee?

01:08:00   - Oh yeah, for sure, yeah.

01:08:02   - See, I used to, I used to get severe headaches

01:08:06   if I woke up and went, I would say within about 90 minutes

01:08:10   of waking up, if I hadn't had some caffeine of some sort,

01:08:13   I would get a serious headache, and it would go away

01:08:17   about 15, 20 minutes after I then consumed some caffeine.

01:08:22   But ever since I've started to sort of make one

01:08:25   three cup thermos of coffee a day,

01:08:27   I can go, like if I wake up the next day

01:08:29   and I, you know, like if I'm flying or something like that,

01:08:32   I don't drink coffee 'cause I'd rather sleep on the plane

01:08:36   or try to sleep on the plane than stay awake.

01:08:38   And I don't wanna have to get up to pee

01:08:40   when I'm on the plane, so.

01:08:41   - Oh, right.

01:08:42   - And I don't get a headache anymore.

01:08:43   - Yeah, huh, well, you're lucky, I still get the headaches.

01:08:46   On the other hand, if I have a superpower,

01:08:48   my one superpower is the ability to sleep

01:08:51   in any moving vehicle, car, airplane, train,

01:08:54   doesn't matter, out like a light,

01:08:55   even after coffee, doesn't matter.

01:08:57   - Ooh, that's a good gift.

01:08:59   - Yeah, it's nice, it is nice.

01:09:01   - It really stunk when I had the sort of,

01:09:04   I really need coffee every morning thing,

01:09:05   like flying was the worst to me

01:09:07   because A, it would keep me from sleeping on the plane,

01:09:10   B, it would probably make me have to pee,

01:09:12   but C is that the coffee you get in an airport

01:09:19   almost always horrendous. Yeah. I mean even if you get it if you get it at the

01:09:24   before you get on the plane, it's usually pretty bad. Like I know it like SFO

01:09:31   there's a I think depending on the terminal Philadelphia has one too, a

01:09:35   Pete's, but it's not really a Pete's it's like a it's like a they have the Pete's

01:09:42   logo and they serve Pete's coffee but it's it's like some kind of weird

01:09:47   Franchise type thing like they don't it doesn't taste like Pete's its airport Pete's

01:09:51   Yeah, airport's different and it just tastes terrible and then you really you know makes you question

01:09:57   Well, you know why you have this addiction

01:09:59   You know, they say that the Renaissance

01:10:04   Was due to caffeine and beans. Yeah, I believe that. Yeah that coffee houses were like the first

01:10:12   first form of like modern civilization.

01:10:17   - Yeah.

01:10:21   And they were wicked immoral places, according to the--

01:10:24   - Yeah, yeah, that was true too.

01:10:25   - I love that idea.

01:10:26   - I do.

01:10:27   - It's great.

01:10:28   Well, that's why we went out for coffee,

01:10:29   the most innocent thing you can do.

01:10:32   Wicked Satanists.

01:10:39   - I also, I started my caffeine addiction

01:10:42   purely drinking Coca-Cola.

01:10:44   I tried coffee and I think it was because

01:10:50   so much coffee is just bad and it never caught on.

01:10:55   And so like going through college, I never drank coffee.

01:10:57   I just drank, I don't know, six pack of Coke a day.

01:11:01   And I drank enough Coke like in my college years

01:11:05   that I had the headache problem

01:11:07   when I'd wake up in the morning,

01:11:09   just from drinking Coca-Cola.

01:11:12   - I assume that's regular Coke with the sugar.

01:11:14   - Yeah. - Yeah, boy.

01:11:17   Yeah, how's that?

01:11:18   That on top of your six pack of beer a night,

01:11:20   you're gonna need some extra exercise.

01:11:22   - Right.

01:11:23   I had a, I was a real skinny teenager,

01:11:26   and so even going, you know,

01:11:27   until I got my 20s and that slowed down,

01:11:29   I think I was lucky enough.

01:11:31   But even so, it was,

01:11:34   I kind of quit buying it cold turkey, Coke.

01:11:37   Actually at Amy's encouragement.

01:11:39   I was really, I mean I was still, I don't know,

01:11:41   24, 23, 24, something like that.

01:11:43   And I wasn't overweight in any way.

01:11:46   She was like, just try it, just stop buying it.

01:11:48   And it was at a time when I had started drinking coffee.

01:11:52   So I just stopped buying Coke,

01:11:53   and I dropped five pounds in a week.

01:11:56   - Wow, no kidding.

01:11:56   - Yeah, and we had an argument,

01:11:58   and it sounds stupid in hindsight,

01:11:59   but I have to give her credit,

01:12:01   where she said, do you know how many calories a day

01:12:03   you're consuming just in Coca-Cola.

01:12:04   And my thought was, it doesn't matter

01:12:07   how many calories are in it, it's just a liquid.

01:12:08   So I'm just urinating it out.

01:12:11   (laughing)

01:12:12   And she's like, no-- - That's not how

01:12:13   calories work. - No, she's like,

01:12:15   no dummy, it doesn't work like that.

01:12:17   And I really thought that if you're drinking it,

01:12:19   it cannot possibly be making you fat.

01:12:22   And so I quit, I got on a bet with her.

01:12:24   I just stopped buying it, stopped drinking it,

01:12:26   and weighed myself every day.

01:12:28   And within a week, I dropped five pounds.

01:12:31   You didn't perform the thought experiment.

01:12:33   Well, what if I dissolved a bunch of sugar

01:12:35   in some water and drank it?

01:12:36   - I know, here's a story where I'm laying out

01:12:40   how stupid I can be.

01:12:42   - I had a similar thing.

01:12:46   I was overweight, it was my early 30s,

01:12:49   and I switched from regular coke to diet coke.

01:12:54   That was the only change I made.

01:12:55   And over the course of a summer, I lost 20 pounds.

01:13:00   - Well, and I hadn't seen things,

01:13:01   like there was no YouTube at the time.

01:13:03   So like you can go there now and you can easily Google like,

01:13:06   or you know, use YouTube search and find like,

01:13:09   how much sugar is in a can of Coke?

01:13:11   And they'll put like 12 ounces of water out

01:13:13   and they pour the sugar to show you how much sugar

01:13:16   is in there and it's ridiculous.

01:13:19   - Yeah, yeah.

01:13:20   - It's, you know, it's like you're eating,

01:13:22   if you're drinking a six pack of Coke a day,

01:13:23   you're effectively eating like a bag of sugar.

01:13:26   - Yeah, your daily cake.

01:13:29   Right. So I, you know, in hindsight, it was a foolish bet to take. But it did. It was

01:13:35   a bad habit.

01:13:36   Yeah. No kidding.

01:13:37   Does coffee have a lot of calories? I don't know. I don't put anything in my coffee. So

01:13:41   I'm --

01:13:42   Yeah. I don't think it has that many.

01:13:44   Yeah. Because I figure, like, the most calories it could have is whatever it would be to eat

01:13:48   the equivalent in raw beans.

01:13:50   Yeah. Sure.

01:13:51   Yeah. So it can't be that bad.

01:13:52   Yeah.

01:13:53   I never --

01:13:54   You know, I've often wondered about popcorn, right? Because when -- if you're making popcorn,

01:13:57   you're only pouring out like a little bit of corn.

01:14:00   - Right. - It's not that much corn.

01:14:01   You could say it's a handful.

01:14:03   - Right.

01:14:04   And if you don't butter it- - It pops up big,

01:14:06   but it's, you know, how bad can it be?

01:14:08   - Yeah, I think- - Of course,

01:14:09   I butter it like crazy, but still.

01:14:10   - I think the problem with it is that corn

01:14:12   is such a sugary vegetable, right?

01:14:15   Like, you know, the argument I've heard

01:14:17   is it really shouldn't even count as a vegetable.

01:14:18   It's, you know, it's a lot of sugar.

01:14:21   - It's an industrial product these days.

01:14:23   - Yeah.

01:14:24   So I don't know, it might be,

01:14:25   it's not a lot, you're right though,

01:14:27   that it's, you know, like if you just ate the raw kernels,

01:14:30   it's not that much.

01:14:31   - Yeah.

01:14:32   - 'Cause I only make, I make about a half cup

01:14:34   and that's good for a big bowl for me and Amy and Jonas, so.

01:14:38   So I figure I only get what?

01:14:40   What's a third of a half?

01:14:44   - I don't know.

01:14:45   - Like once, I don't know.

01:14:47   Yeah, one sixth. - Sixth, yeah, okay.

01:14:50   Yeah, it's not that much.

01:14:51   How do you make your popcorn?

01:14:53   - We have this thing called a Whirlipop and we bought it.

01:14:55   This is like one of the best purchases I ever made.

01:14:57   I bought this thing in like 1999 at a,

01:15:00   like a Crate and Barrel.

01:15:03   And it's just a big, I don't know what it's made out of,

01:15:06   aluminum or something, a big aluminum pot.

01:15:10   And it has a handle with like a little crank on it

01:15:12   that turns like a little propeller at the bottom of the pan.

01:15:17   So you put it on the stove, put a little oil in there,

01:15:20   heat it up, medium high,

01:15:22   Wait until the oil is smoking.

01:15:25   And I use like a high heat safflower oil.

01:15:29   Wait till the oil is smoking,

01:15:30   then pour a half cup of popcorn in there

01:15:33   and you just twirl this thing on the handle

01:15:38   and it spins this propeller at the bottom of the thing

01:15:41   so that the kernels keep moving in the oil.

01:15:44   And then it takes about a minute

01:15:46   and you have fresh hot popcorn.

01:15:49   - Oh, cool.

01:15:50   - How do you make it?

01:15:51   - Maybe I'll check that out.

01:15:52   I've got a hot air popper.

01:15:55   So it's not popping in any oil or anything.

01:15:57   And if I were not to butter and salt the popcorn,

01:16:01   well, it'd be bland, but it would also be,

01:16:03   I suppose, healthier.

01:16:04   And it works nicely.

01:16:07   But I'm open to alternatives.

01:16:11   But then, so my main innovation though is,

01:16:15   obviously I melt the butter, just do it in the microwave,

01:16:17   but then I put a bunch of Tabasco in my butter,

01:16:19   So I have really spicy popcorn.

01:16:22   And it's good.

01:16:24   Oh, I like that.

01:16:25   Yeah.

01:16:25   And salt it?

01:16:31   Yeah, oh yeah.

01:16:31   Yeah, I got to salt the hell out of it.

01:16:33   If there's not a whole bunch of salt at the bottom of the ball, it's--

01:16:35   Then I've lost, yeah.

01:16:37   Yeah.

01:16:39   I haven't had hot air popcorn since the '80s,

01:16:42   when they first invented it.

01:16:43   And I remember then it was like a revolution.

01:16:48   Because it was--

01:16:48   I guess it's because I think in the 80s it was like in the whole like Jane Fonda workout

01:16:55   it was like when people first started getting health-conscious as like a

01:16:58   pop-cultural thing and if you make hot air popcorn and you don't do anything to it it was

01:17:04   You know, it was pretty good. You know, there's nothing you can complain about low-calorie

01:17:08   Sure. Yeah bad for you. Yeah, of course also no no flavor. No texture, but whatever

01:17:16   You know what? I don't like I tell you what I don't like and I know probably this is how most people make popcorn don't

01:17:20   Like the microwave popcorn. Nah, I can't do it

01:17:23   Did the penalty for doing it wrong when you burn it? Is that terrible terrible terrible smell?

01:17:30   Yeah, exactly away for a while and like it's having experienced that once, you know, it's just not worth the risk

01:17:36   Well, it's like hey, we're gonna put a movie in we're gonna watch a movie

01:17:40   I'll go make popcorn and it's at this point. It's nothing but good times ahead

01:17:46   Popcorn that I'm suddenly hungry for and a movie. I've never seen coming up

01:17:52   What could be a better way to spend an evening with the family and then you burn the popcorn in the microwave?

01:17:58   And then you're not hungry for it. You can throw it out and make another one, but it's like it's already

01:18:03   Yeah, the bad smell it turns you off of it. Yeah, right and now yeah

01:18:08   You just kind of want to watch the movie by now. You spent way too much time right in the kitchen, etc. Yeah

01:18:13   My favorite thing about my hot air popcorn popper though

01:18:17   I think is at the very end when almost all of its popped

01:18:19   Except for a few kernels and it just starts throwing them at me

01:18:23   Randomly, it's almost like a little like

01:18:26   It's kind of a violent exercise, which I don't mind. That's actually it's part of the poetry of it. I

01:18:33   Also, I also have a bad association with microwave popcorn, which is that I spent a year Drexel living in a dorm

01:18:39   It was just called they were just typical Drexel

01:18:44   It was just called the tower because I guess nobody gave him any money to put their name on it

01:18:48   16 story

01:18:51   Dormitory and I was pretty high up. I forget what floor I was on but it was towards the top and

01:18:55   It had notoriously fickle smoke detectors. And so we had fire alarms

01:19:03   constantly. I mean it was just over and over and over again and of course once

01:19:07   there's a fire alarm you've got to take the steps and it was just the biggest

01:19:10   pain in the ass and inevitably it was always somebody burned microwave popcorn

01:19:15   of course and so it was like why can't we make a rule can't we just ban

01:19:22   microwave popcorn let's just ban it it's keep setting off and you know never

01:19:26   went anywhere. Although I never actually filed an

01:19:31   actual complaint that they should ban it. I just would complain. Yeah sure.

01:19:37   Alright let me thank every good college student. Yeah. Let me thank our final

01:19:42   sponsor. It's our good friends at Backblaze. Online backup, $5 a month,

01:19:49   native, it's unlimited, unthrottled, uncomplicated. You sign up for $5 a month.

01:19:55   it backs up your whole Mac, everything, your external drives to, to the cloud. You

01:20:02   think, well that must take a long time at first. Well it could, it could take, it

01:20:05   could take a couple days, might take a week depending on your broadband, but

01:20:09   then once you've got that initial backup complete, it's all incremental, it happens

01:20:13   in the background, you don't have to do anything, you just install their

01:20:17   native Mac app. It's written by app, ex-Apple engineers, it's cool app, doesn't

01:20:23   screw up your system in any way and without doing anything your entire Mac

01:20:29   is backed up to the cloud. There's no add-ons, there's no gimmicks, there's no

01:20:35   additional charges. You just pay five dollars per month per computer for

01:20:40   unlimited un-throttled backup. I always say when I when I do these reads I

01:20:47   always say you know the best part about this is that it's off-site. You know that

01:20:50   having a backup next to your computer on a super-duper clone drive or a...

01:20:57   I'm drawing a blank. What's the thing on Mac OS X called?

01:21:04   Time capsule.

01:21:06   Time machine. Right? A time machine driver, a time capsule.

01:21:09   That stuff's great too, and it's convenient and it's faster. But I'll tell you what.

01:21:12   Here's a perfect example. I was just last night, one day ago,

01:21:15   Jonas's Little League is starting up and we had a get to know the

01:21:20   team meeting with the other dads. And there was another kid who we played with two years

01:21:26   ago so I already knew his dad and we were like, "Hey, what's up? What's been going on?"

01:21:30   Ends up that just six months ago, they had a fire in their house. They've been living

01:21:36   in an apartment since. It wasn't too bad. Nobody got hurt. It was a--something happened

01:21:40   with their dryer at like seven and they were just running the dryer down in the basement.

01:21:45   the thing his home office was in the same basement his computer was right

01:21:49   there and his backup was on an external hard drive right next to his computer

01:21:57   that's the exact type of situation where backblaze can save literally save save

01:22:02   your save your data because having that drive right next to your computer

01:22:06   something like that happens you need an off-site backup he ended up getting

01:22:11   lucky he actually got to save his data but he had to go through one of those expensive

01:22:18   drive saver things. It was like the actual enclosure was destroyed but one of those expensive

01:22:25   data saver things got his stuff off this drive. But you could say even in that case where

01:22:33   the good news is he saved his data could save a lot of money but $5 a month using backplays.

01:22:38   And a lot a lot of anxiety saved exactly you sleep when you use backblaze and you have an off-site backup it you sleep better

01:22:45   Trust me. Yeah, where do you go to find out more?

01:22:47   www back blaze

01:22:50   calm

01:22:52   daring fireball

01:22:53   I've gotten a lot better at that since they're a regular sponsor. I used to first couple times

01:22:57   I would always say black bays black razor and ends up that they

01:23:03   They have that domain

01:23:07   Do this good for them

01:23:09   Yeah, black blaze comm redirects to back blaze comm

01:23:15   So you can go either way

01:23:18   Alright, here's one more thing. I want to talk about

01:23:21   little thing and it seems like the type of thing that you would have an opinion on I do too and that is

01:23:29   That Google has recently stopped underlining links in there

01:23:37   search results.

01:23:40   I do have an opinion about that.

01:23:43   And The Verge had a story on this where they sort of like, they said like, they gave Google

01:23:48   like a welcome to 1998, you know, as though underlining links, you know, has been outdated

01:23:56   for 10 years or something like that.

01:23:59   I plan to underline links on Daring Fireball until the end of time.

01:24:06   your opinion on this? Well, I don't underline links on my blog. Probably the first thing

01:24:13   I do in setting up a new CSS file for any new site is to turn off link underlining.

01:24:18   So, yeah, welcome to 9/10/98. True. On the other hand, in this particular case, underlying

01:24:25   links on the Google search results is just the way Google search works. When they turned

01:24:32   that off, I felt like my brain couldn't understand what I was looking at.

01:24:39   The UI of their search result is something so many people are familiar with.

01:24:45   It's almost like we understand it in some deeper part of our brain by now, just because

01:24:48   it's so familiar and so used.

01:24:50   For them to make a change like that, it burns a bunch of brain cells, even though it seems

01:24:57   like such a small thing.

01:25:00   I feel like we have the opposite opinion where I feel like I didn't even notice that Google

01:25:07   turned them off because I feel like everything in Google search results is a link.

01:25:14   Whereas what I'm thinking is within Daring Fireball that when an individual word in a

01:25:19   story is a link, I want it to be underlined and in other ones too.

01:25:26   I just feel like if a word in an article is a link, to me that's what underlining means.

01:25:33   Underlining means this is a link.

01:25:35   But I didn't even notice it in Google because I just assumed that everything is a link.

01:25:39   Surprisingly, things aren't a link like the actual URL on the search results page is not

01:25:45   a link, which bothered me for years.

01:25:48   How can you show me a URL that isn't a link?

01:25:51   Yeah, that still is weird to me.

01:25:53   Yeah.

01:25:54   And I don't know the answer.

01:25:56   Yeah, and now that they're not underlining them, it seems even weirder, right?

01:26:00   Because the blue things, the blue and purple ones are links, but the green ones aren't,

01:26:05   even though they are the URL.

01:26:07   So I felt like at least when they were underlining them, there was some consistency there where

01:26:10   only the underlined things are links.

01:26:15   But I tried to keep an open mind about this.

01:26:18   So here's my thinking.

01:26:19   My thinking is that in traditional typography, and Guy English and I were talking about this

01:26:23   a couple weeks ago. You should never underline anything. Like the whole thing that some of

01:26:28   us grew up with, like a book title should be underlined in a report or something like

01:26:33   that, was all because it was pre-word processing in computers. It was based on what you could

01:26:39   do on a typewriter.

01:26:40   Since you couldn't italicize on a typewriter, underlining was the best we could do. And

01:26:44   so like when you were typing a manuscript for a book, if you wanted a word italicized,

01:26:50   underline it. It was a, you know, that's what the, when the manuscript would go from the editing to

01:26:55   the typesetters, when they saw something underlined, they wouldn't underline it in the actual novel,

01:27:00   they would italicize it. And that if you can use proper italics and bold and even small caps and

01:27:08   and all sorts of nice typographic things like that, there's never any reason to underline

01:27:13   anything. And so I thought one of the genius things of the original web was that they took

01:27:19   this needless type of graphic thing, the underlining, and gave it a new meaning, which meant instead

01:27:27   of giving it emphasis or indicating a title or something like that, it meant this is a

01:27:31   link.

01:27:32   Mm-hmm.

01:27:33   Yeah, and that was a smart move.

01:27:38   Just that aesthetically, though, a lot of sites don't look so great with all those underlines.

01:27:43   Your site's different, though.

01:27:44   You're not using color for your links.

01:27:46   Yeah.

01:27:47   use one or the other. And since you're not using color, you have to have an underline,

01:27:52   for sure.

01:27:52   Yeah, I thought about that. Like I said, I want to keep an open mind. I thought, "Well,

01:27:58   maybe I should reevaluate that." But then I thought, "Well, then how would I indicate

01:28:02   a link because I don't have a color palette to work with?" And if I picked a subtle—I

01:28:07   think something subtle that would fit with the daring firewall color scheme would be

01:28:11   a huge usability nightmare because it would be too easy to miss that it's a link.

01:28:18   Yeah, right.

01:28:21   But do you worry about like—because I think about that. I try to think about color blindness

01:28:27   and stuff like that. Do you worry on Inessential that your links don't stand out to people

01:28:31   who are color blind?

01:28:34   I don't worry, probably because no one's ever complained. Maybe that's a cop-out.

01:28:40   But I also think, at least I hope, that the accessibility stuff has progressed to the

01:28:45   point where it deals with those kinds of things for me.

01:28:49   Because at that level, the software knows what's a link and what isn't and can do the

01:28:53   appropriate things.

01:28:54   I don't think that I'm – is there something though if you're colorblind that you can set

01:28:58   your browser to somehow always highlight links in a color?

01:29:03   I'm not aware of anything like that.

01:29:05   I don't know.

01:29:06   You know, I haven't looked at it enough.

01:29:07   I think that for the truly vision impaired, for people who are blind or nearly blind who

01:29:13   use special software for that, then it does highlight links.

01:29:18   I think for people whose only issue with their vision is color blindness, depending on what

01:29:28   colors you pick.

01:29:29   I know that there's some cool apps that you can use that test, that simulate this using

01:29:36   common forms of color blindness.

01:29:40   But you think underlining, you think it's okay to not underline links?

01:29:46   Yeah.

01:29:47   Well, we've been doing it.

01:29:48   We've been not underlining links for many, many years now.

01:29:53   And the web seems to have gotten by okay.

01:29:56   It does make.

01:29:58   And so for example, and it's in a way that like you said, like the way that Google search

01:30:02   results are laid out of have sort of like somehow it insinuated themselves

01:30:07   just one level up from our lizard brains yeah over the years and I think that

01:30:11   explains why all other search engines effectively copy that style I don't even

01:30:16   think it's like a shamelessness I think it's because we you know like Bing for

01:30:20   example is large you know the search results are largely formatted it's not

01:30:26   exactly a pixel for pixel clone but it's pretty much the same fonts and sizes as

01:30:30   as Google, I almost think it's because if they didn't, it would just be automatically

01:30:36   rejected.

01:30:37   Yeah, I think that's right. When people talk about something being intuitive, what they

01:30:42   often really mean is, "Oh, it works just like this other thing I know about already." So

01:30:47   that's the case. Bing's intuitive as long as it looks and works like Google.

01:30:52   Right. I don't know if it's a good analogy or not, but remember when Pepsi came out with

01:30:59   Crystal Pepsi.

01:31:01   It was cola and it tasted like Pepsi, but it was clear like Sprite.

01:31:07   And it lasted, I think, about a week.

01:31:10   And I think it was because people, you know, if it tastes like Coke or Pepsi, it tastes

01:31:13   like a cola, it has to be brown.

01:31:15   And I feel like the same way, I feel like if you made like a lemon-lime soda, something

01:31:22   like a Sprite or a 7-Up, but you colored it like Pepsi, it would be revolting.

01:31:27   revolting

01:31:28   Yeah, be terrible. Yeah, you wouldn't you know, and I feel like you were just hooked up to expect search results to look like that

01:31:34   I have to admit though

01:31:36   Now that I just quick toggle between a Bing result and Google result that the lack of underlines in the Google result does look pretty

01:31:43   clean

01:31:45   Mm-hmm

01:31:47   Yeah, it's just struck me as very weird though and then hasn't stopped striking me in that way but you definitely noticed yeah

01:31:54   Oh, yeah right away. I'm like, ah

01:31:56   Yeah, I cursed at it actually.

01:32:02   It is the sort of thing.

01:32:04   For all the stuff, the other various things that Google does, I mention this every couple

01:32:09   weeks on the show.

01:32:10   It's just that there's an Android I'm not a fan of and there's all sorts of stuff about

01:32:14   it.

01:32:15   Google that pundit wise, I'm probably, if you want to say pro-Google or anti-Google,

01:32:22   I'm anti-Google.

01:32:23   I still have to say Google search is, to me, one of the eight wonders of the modern world.

01:32:35   Even if you think about it, you can't help but take it for granted.

01:32:41   And I think Google knows that internally because they've toyed with the advertising that they

01:32:46   place in some ways.

01:32:47   And I know that recently that they've sort of toggled the way that they've made the

01:32:55   paid sponsored results a little bit less easily discerned from the regular results.

01:33:03   But on the whole, given how important it is to the company and how much of the revenue

01:33:07   comes from search ads and everything, they've stayed incredibly true to the original idea

01:33:13   of Google search all the way back to, I don't know, 1996 or whenever it was when it was

01:33:19   a beta. 99, I don't even know. But it's...

01:33:23   Yeah, it's still very recognizably the same thing. I think the thing I don't like is integration

01:33:31   with the Google+ social graph and trying to figure out what I want to see based on what

01:33:39   my friends have searched for or something. I don't even know how that stuff works. It's

01:33:42   no I want the I want what your regular algorithm would give me you know yeah

01:33:48   exactly I want you to know nothing about me yeah yeah basically you know and like

01:33:54   if I wanted to search for something local I would you know like a Yelp type

01:34:01   thing where I want to find you know a good bagel place near where I am right

01:34:06   now I would use something specific I wouldn't I don't want Google search to

01:34:09   to solve that problem for me.

01:34:11   I mean, Google can give me something to do that,

01:34:13   but make it like a separate like Google local

01:34:16   or something like that.

01:34:17   I want google.com search to just be generic.

01:34:21   Everybody in the world who types in the same thing as me

01:34:23   should get the same results.

01:34:25   - Yeah, this is kind of the front page of the web

01:34:30   that we all have in common.

01:34:31   - Yeah, I would say so, exactly.

01:34:35   Last thing I wanna talk about

01:34:38   I want to talk about your new podcast and that's what's called the record

01:34:44   Mm-hmm, you're doing it with our mutual good friend Chris Parrish

01:34:49   So tell me about the record

01:34:54   so for a few years I

01:34:56   had this in mind as a project where I wanted to

01:35:00   capture the history of our of our developer community Mac and now iOS developers and

01:35:07   For some part of the time I thought about doing it as a book

01:35:10   But then about two years ago I realized, you know, this is probably better as a podcast

01:35:16   You know can always be transcribed or bookified later, but the easiest way is to actually just record the interviews and publish them

01:35:23   so I thought about that for a while and then it became a little more urgent to me when I saw at the

01:35:30   experience music project museum here in town a Nirvana exhibit and

01:35:36   I was lucky enough to go to go to college and in

01:35:40   Olympia in the late 80s and saw Nirvana play at dorm rooms and everything so

01:35:45   Went to this exhibit and you know, they had things that you know roommates and friends of mine

01:35:50   You know were involved with and there was a lot of like my own

01:35:54   Personal history, you know right there, but then I also realized there's a whole lot of stuff that happened

01:36:02   Then that just was never recorded

01:36:05   You know a whole lot of history and stories just gone because if you didn't realize at the time it was special

01:36:11   Even though it was and it's a lot of type of stuff

01:36:15   It's such a great great show, but it's stories that I you know

01:36:19   some of them I've heard but a lot of them are things that you hear at like

01:36:23   You know six o'clock having beers on a Wednesday during WWDC

01:36:30   You know, and they're not like you said they're not recorded anywhere, right?

01:36:34   And you say like hey, here's so-and-so. I haven't seen this guy in ten years

01:36:38   What are you up to and then it's remember that time or remember this and then you get the story

01:36:43   But then it's you know, like you said it's not recorded anywhere

01:36:46   Which sort of you know plays right in to the title of the show the record. Mm-hmm. Yep

01:36:52   It's a lot of fun to do and Chris I have you know

01:36:57   Great plans for the future. There's all kinds of all kinds of

01:37:01   one season I hope we do is

01:37:04   um, uh, early indie heroes.

01:37:07   So the idea would be to record the people who were Indies, uh, before me.

01:37:13   So people like rich Segal, Dave Weiner, Mark Aldridge, uh, Peter Lewis.

01:37:19   Uh, there's, there's a whole bunch of people and I would just love that because

01:37:22   there's a lot of history there that I don't even know, but I I'm sure these

01:37:26   folks would have some great stuff.

01:37:27   I would imagine that I think I really do.

01:37:30   And I'm just saying this cause it's cause I'm your friend.

01:37:32   I really do think, it's such a great show,

01:37:34   but I really do think that for people

01:37:36   who listen to the talk show,

01:37:38   who are looking for more shows to listen to,

01:37:40   man, this has gotta be right up their alley.

01:37:43   And I think it gets easily also separated

01:37:47   and for two reasons.

01:37:48   One, people who've never heard of these things,

01:37:51   they're great stories, and it's some great products

01:37:55   and technologies and stuff that maybe they'll hear about

01:37:57   for the first time.

01:37:58   And in the second group, probably, you know,

01:38:01   let's just face it, the maybe slightly older group,

01:38:04   or people, and/or people who have at least been

01:38:07   using a Mac or doing nerdy stuff on a Mac

01:38:10   for a longer period of time,

01:38:12   who are gonna hear about these things again

01:38:15   and be like, oh my God, I totally forgotten about that.

01:38:18   And you guys, if you just go,

01:38:20   the website is therecord.co, which is, I've told you,

01:38:24   is an incredibly awesome domain name.

01:38:26   Go to therecord.co and you'll see,

01:38:29   there's six episodes so far.

01:38:30   You guys, in addition to doing great shows,

01:38:33   you guys kill it and just absolutely positively

01:38:37   put me to shame on the show notes.

01:38:40   - I love doing the show notes.

01:38:42   So Chris does the editing, I do the show notes.

01:38:44   And I just, I basically sit down with headphones on

01:38:46   and every time there's any proper noun of any kind,

01:38:50   I type it up until I have, you know,

01:38:53   anywhere from 75 to 150 or so,

01:38:56   and I have to go find links for everything.

01:38:59   - But it's phenomenal.

01:39:00   And if you just go through, and especially if you were around in the late 80s, early

01:39:05   90s, IndyMac community, or just the Mac nerd community at all, you're going to see keywords

01:39:14   in your list of these things.

01:39:15   And you're going to be like, "I totally forgot about that."

01:39:17   One of the ones that stuck out to me was from an episode a couple of shows ago, and this

01:39:22   was just in the show notes, but MetroWorks Ron.

01:39:25   I had totally forgotten about him.

01:39:28   Yep.

01:39:29   I had totally forgotten about MetroWorks, Ron.

01:39:32   Yeah.

01:39:33   What a guy.

01:39:34   What a great time that was, too.

01:39:36   It was a fantastic time.

01:39:37   Oh, yeah.

01:39:38   Because I think that that was the whole time.

01:39:40   I mean – because I'd say the MetroWorks time was probably the mid-'90s.

01:39:48   And so it coincided not – I think by definitely not coincidentally with the decline of Apple,

01:39:56   right?

01:39:57   time when Apple was in trouble. Tough period, yeah. Tough period. Where the indie

01:40:04   Mac developer community has never, was never before and has never since been so

01:40:11   independent of Apple. Like to call them an indie community is understating it. It

01:40:16   really was like there were two worlds. There was the Apple world and the indie

01:40:21   Mac world. And the indie Mac world was way ahead. You know, we had our own, you

01:40:26   We had Metro works. We had our own development environment, which was better than what Apple was shipping

01:40:31   You know and you mentioned Peter Lewis like Peter Lewis almost single-handedly brought the internet to the Mac. Oh

01:40:40   Yeah, I mean and with all sorts of you know between anarchy and Mac TCP watcher and all this stuff. Yeah finger

01:40:48   Finger. Yeah, right finger used to be an important tool. I

01:40:53   I know that the people who don't remember it are probably,

01:40:57   I'm gonna guess, very wrong with what Finger did.

01:41:00   But if you wanted the Finger from the Mac,

01:41:05   Peter had you covered.

01:41:07   - Yeah.

01:41:08   - But it's ridiculous to think back that Mac TCP

01:41:16   was a third party tool.

01:41:20   So if you wanted to get your Mac on the internet,

01:41:22   You needed a third party tool.

01:41:25   - And then you had to get a Mac slip or whatever.

01:41:28   Mac PPP, yet another thing, right?

01:41:31   To hurt your modem and all this stuff.

01:41:34   Once you were on the web, wow, that was amazing.

01:41:37   - And all that stuff came from outside Apple.

01:41:39   Fantastic show.

01:41:43   Again, I'm not just saying this because Brent's my friend,

01:41:47   but I really think that talk show listeners are going to,

01:41:49   if you haven't already subscribed,

01:41:50   gonna love this show and just by looking at the show notes it should convince you

01:41:57   and the website is the record co latest episode is Tim wood CTO of Omni group

01:42:04   Tim's fantastic obviously you should know about the Omni group what's cool

01:42:09   about them is they're all nexties rather than Apple right which is yeah

01:42:13   interesting I wasn't there for that those stories so it's really cool to

01:42:17   here.

01:42:18   Yeah, I bet those are great. I bet that's great. I did not know he was CTO.

01:42:23   Yeah.

01:42:24   He's a good guy.

01:42:26   Definitely. Yeah, well, the best.

01:42:27   Let me see. I'm going to pick something from the show notes there. Oh, Will Shipley. There

01:42:35   you go. You know it's a good show if Will gets mentioned. Anyway, there you go. Find

01:42:44   out more at therecord.co. Brent, thanks for being on the show.

01:42:47   Thanks, John

01:42:49   I'll talk to you soon. Yeah, cool

01:42:53   Thank you.

01:42:54   [ Silence ]