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: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: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: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: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:07
◼
►
So the pointer is the address of your house.
00:06:09
◼
►
If you get that wrong, well, you're in the wrong house.
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: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: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: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: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: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: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: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: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: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: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:17
◼
►
Not quite as opaque as a binary
00:20:19
◼
►
the binary code but fairly close
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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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:54
◼
►
I'm an Espresso user.
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, 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: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: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: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: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:02
◼
►
- Which sucks.
01:06:03
◼
►
- I did not know that about you.
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: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: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: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: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: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:51
◼
►
Yeah. So it can't be that bad.
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: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: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: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: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
◼
►
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: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: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: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: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: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:47
◼
►
use one or the other. And since you're not using color, you have to have an underline,
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: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: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: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: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: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:29
◼
►
I had totally forgotten about MetroWorks, Ron.
01:39:34
◼
►
What a great time that was, too.
01:39:36
◼
►
It was a fantastic time.
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: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: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:18
◼
►
Yeah, I bet those are great. I bet that's great. I did not know he was CTO.
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