262: ‘Freakishly Snappy’ With Brent Simmons
00:00:00
◼
►
Brent, it's good to have you on Skype tells me that we haven't talked on Skype for over
00:00:03
◼
►
a year. I think that's their polite way of saying it's been too long since you've been
00:00:06
◼
►
on the show. Yeah, definitely too long. Geez. Over here. I don't know how long it is. Was
00:00:13
◼
►
a lot. I was no man's in last time. Maybe I don't know. Yeah. Anyway, big week for you.
00:00:21
◼
►
Congratulations. I'm really happy for you. Oh, thanks so much. Yeah, it's been really
00:00:27
◼
►
huge, you know, and I feel great because I made the app I wanted to make I could see it in my head
00:00:33
◼
►
for all these years and I had certain goals and met them and the feedback has just been tremendous.
00:00:39
◼
►
So yeah, super happy. So for those who don't know, although I'm suspect, I suspect that most people
00:00:44
◼
►
listening do know net newswire 5.0 shipped this week. I made fun of you. I think you listened to
00:00:51
◼
►
to my show with Jim. I've made fun of you in a very friendly way about your personal
00:00:56
◼
►
definitions of alpha and beta. I mean, I've been using Net News Wire. Your new Net News
00:01:04
◼
►
Wire, in a weird way, sort of a 2.0, maybe a 3.0. If you say that you originally had
00:01:10
◼
►
Net News Wire, I don't want to confuse anybody. The new version is 5.0. But there was, I would
00:01:16
◼
►
say the third era of Net News Wire.
00:01:18
◼
►
You know yeah, definitely was the original we can get into all this in detail there was yours from the early 2000s then there was
00:01:26
◼
►
Maybe four eras, maybe maybe the
00:01:29
◼
►
What was the company that bought it they went when they Newsgator Newsgator?
00:01:33
◼
►
I would I would sort of say though that was sort of a continuation of the original year
00:01:37
◼
►
It's just new ownership, then there's the black pixel era and and now there's the new open source back in Brent Simmons hand era
00:01:48
◼
►
I've been using it this version this year this new era from
00:01:52
◼
►
It barely worked. It was called evergreen for a while because black black pixel still owned the net news wire name
00:01:59
◼
►
I don't even think you were calling them alphas. I don't even know what the hell the version numbers were D for development D for development
00:02:05
◼
►
That's right. Yeah, I've been using it since then and
00:02:08
◼
►
I never really stopped using RSS
00:02:11
◼
►
but I was actually my other RSS reader while evergreen was
00:02:16
◼
►
it either only barely or non-functional was
00:02:20
◼
►
Net News Wire 3.32. Right, of course still my biggest competition
00:02:26
◼
►
I'm sure but I have the advantage that it's gonna stop working on Catalina. So the weird thing about this
00:02:31
◼
►
I know you and I have talked about it
00:02:33
◼
►
It's just such a bizarre coincidence that that the last
00:02:37
◼
►
Brent Simmons version of Net News Wire was Net News Wire 3.32
00:02:44
◼
►
And and again no offense to my friends at black pixel who do excellent work and and whose version of net newswire was in many
00:02:50
◼
►
Ways certainly more modern looking and and acting then that newswire 3.32 and kept up with the times
00:02:57
◼
►
It just didn't fit my brain the right way
00:03:01
◼
►
So I just kept using what I was familiar with net newswire 3.32, but back in the day in the 90s Quark Express
00:03:09
◼
►
hit version 3.32
00:03:12
◼
►
This was when I was in college, so I don't know what time it came out, but it probably
00:03:18
◼
►
would have been sometime around 1995 or so.
00:03:22
◼
►
And again, every company has their own weird ways of doing version numbers.
00:03:26
◼
►
It's one of the ways that we pretend that software engineering is this incredibly scientific,
00:03:31
◼
►
rigorous field, and everybody just wings it with Virgin.
00:03:35
◼
►
I mean, right with Vesper, we goofed around and tried to make everything have a 007 in
00:03:42
◼
►
Our best release has always had a double-oh-seven.
00:03:46
◼
►
But Quark had this thing where it was 3.32.
00:03:49
◼
►
It wasn't 3.3.2.
00:03:51
◼
►
It was 3.32, although I think it was the way they did
00:03:54
◼
►
that tenth of a digit or hundredth digit,
00:03:57
◼
►
whatever you want to call it, the two,
00:03:59
◼
►
was what most developers would have called 3.3.2, not 3.32.
00:04:05
◼
►
But then they also had R updates.
00:04:07
◼
►
So it was 3.32.
00:04:09
◼
►
And I, this is perverted because I can't even remember
00:04:13
◼
►
what I had for dinner last night,
00:04:14
◼
►
but I can remember it was 3.32 R5.
00:04:19
◼
►
- R for revision, I suppose, yeah.
00:04:20
◼
►
- I guess, right?
00:04:21
◼
►
Like minor, minor bug pack.
00:04:23
◼
►
I don't even remember how we used to install them back then.
00:04:27
◼
►
I guess we had the internet and we'd get them over it.
00:04:30
◼
►
- By '95, yeah, maybe.
00:04:32
◼
►
- And our, you know, Quark was very, you know,
00:04:35
◼
►
as the entire, you know, Adobe's apps
00:04:37
◼
►
and everybody in the graphic design industry,
00:04:39
◼
►
I mean, piracy was rampant, but they had, you know,
00:04:41
◼
►
so they had all sorts of anti-piracy, you know, checks, you know,
00:04:45
◼
►
against other copies running on the local Apple talk network and stuff.
00:04:48
◼
►
So our student newspaper at Drexel, we were totally legit. I forget how many,
00:04:52
◼
►
how many Macs we had that had cork installed,
00:04:54
◼
►
but every single one of them had a legit license. It was totally legit. You know,
00:04:58
◼
►
so I guess it was with a legit license.
00:05:00
◼
►
It was kind of easy and you felt confident installing patches like with like,
00:05:04
◼
►
if you were pirating like Photoshop or something,
00:05:06
◼
►
was always a bit of a worry to update to the latest version. So what if they patched the
00:05:11
◼
►
way that somebody cracked the serial number, et cetera? But anyway, it just is so funny
00:05:16
◼
►
to me that two of the most used apps in my life stalled for a long time at 3.32.
00:05:23
◼
►
**Matt Stauffer:** What does it mean? Nothing. But yeah.
00:05:27
◼
►
Yeah, she means it should be in my passwords
00:05:29
◼
►
So let's look back at the history so net news wire and I know it's been but it has been years
00:05:38
◼
►
So I think it's okay if we rehash this and we've talked about this
00:05:41
◼
►
Oh sure about this on the show but net news wire and daring fireball sort of came about at the same time
00:05:46
◼
►
Daring fireball I started in August
00:05:49
◼
►
2002 and I believe 2002 was when net news wire shipped. Yeah, I started working on net news wire in 2002
00:05:57
◼
►
NetNewsWire Lite 1.0 shipped maybe that fall. And then NetNewsWire 1.0 full version shipped in like
00:06:06
◼
►
February or March, maybe the following year. So but it was all very, you know, public betas and
00:06:11
◼
►
all this stuff. So yeah, it was it was very out there. I don't and again, I was with many of my
00:06:17
◼
►
longest and best internet friends, I really have no memory of how you and I met. I see. I think
00:06:25
◼
►
- I think we met by email somehow.
00:06:27
◼
►
Like we were on maybe a BB edit mailing list or something.
00:06:31
◼
►
Somehow I feel like we knew each other online
00:06:34
◼
►
before we met in person, but I don't know.
00:06:35
◼
►
- Yeah, for sure.
00:06:36
◼
►
- We must have.
00:06:37
◼
►
- Yeah, yeah, we definitely knew each other online
00:06:39
◼
►
because we didn't meet in person for a few years later.
00:06:42
◼
►
I don't remember how we met online,
00:06:43
◼
►
but I do remember early,
00:06:47
◼
►
very early in the Net News Wire days,
00:06:48
◼
►
reading this new Daring Fireball blog and thinking,
00:06:52
◼
►
wow, this youngster, he seems to be doing pretty well,
00:06:54
◼
►
real up and comer. I think I'll add them to the default feeds list.
00:06:57
◼
►
It was a big, that was a big boost. Being on the net news,
00:07:01
◼
►
where default feed lists for me at least was a huge boost because I think the
00:07:05
◼
►
overlap between the audience that net news wire appealed to and the people
00:07:09
◼
►
who I think would, it would and probably still do enjoy my writing.
00:07:14
◼
►
Um, was it a large amount of overlap? My,
00:07:17
◼
►
one of my favorite stories about net news wire and the founding of daring
00:07:21
◼
►
Fireball is back in the early 2000s. I'm still running Movable Type at Daring Fireball,
00:07:29
◼
►
but Movable Type was brand new and it was a breakthrough because it was relatively easy
00:07:36
◼
►
to install. So you could just pay $5 a month at a shared host like Dreamhost or Pear. Also,
00:07:42
◼
►
Dreamhost is still around. I think you're still using them.
00:07:45
◼
►
I still have an account at Pear. Pear has been around since the '90s. Great company
00:07:48
◼
►
out of Pittsburgh. But you could get, you know, pay, you know, four, five, six bucks
00:07:52
◼
►
a month or something like that. You get a shared hosting account and you'd have a
00:07:57
◼
►
zip file and you'd move it up to the CGI bin and unpack it. And then you'd edit,
00:08:02
◼
►
there'd be like one of the files would be the one you'd edit with, you know, put a
00:08:07
◼
►
password in there and, and, you know, customize whatever. And then boom, you've got movable
00:08:12
◼
►
type installed and you could, you know, a bunch of default templates, you know, and,
00:08:17
◼
►
And I forget when WordPress came out, but it wasn't too long after. And there was
00:08:21
◼
►
a predecessor to WordPress, I think called Gray Matter and rings a bell. And of course,
00:08:28
◼
►
user land had had the what was the radio user land? Yeah. Was it for that? We had Manila,
00:08:35
◼
►
which was a hosted thing. Manila is the one that I worked on most. But a lot of these,
00:08:40
◼
►
you know, and it really was the it was when blogging exploded in popularity based and
00:08:46
◼
►
a big part of it was prior to the release of these open source and/or commercial packages
00:08:51
◼
►
like Radio or Manila. The only way you could have a blog was if you wrote your own little
00:08:58
◼
►
system of doing it or you just hand-edited HTML. I mean, that's how Zelman for years,
00:09:04
◼
►
Jeffrey Zelman's extremely popular site was just hand-edited HTML for years, which was
00:09:11
◼
►
A, not an enjoyable experience even if you know HTML and B, sort of required technical
00:09:19
◼
►
expertise that a lot of people who could be, should be, and are terrific writers and bloggers
00:09:24
◼
►
don't have and don't want to have. All of a sudden with these packages, boom, it opened
00:09:29
◼
►
the door to lots of other people. And it's of course only gotten easier since then. But
00:09:33
◼
►
one of the things that was a telltale thing was that you could kind of tell from most
00:09:36
◼
►
people sites what what they were using as their back end, because they either stuck
00:09:41
◼
►
to one of the default templates, or they took one of the default templates and then just
00:09:45
◼
►
sort of tweaked it, tweak the colors, maybe added a custom logo at the top or something
00:09:50
◼
►
like that. Right? You could
00:09:51
◼
►
Jay Haynes Oh, yeah, that was very true. Yeah, you could
00:09:53
◼
►
tell a movable type site instantly. Yeah. So movable type the others. Yeah.
00:09:57
◼
►
Trenton Larkin One of the weird things about movable type
00:09:59
◼
►
was that it like when I got started like in 2002 the default templates all had three RSS
00:10:06
◼
►
feeds over in the side. It was like you'd have a link for RSS 0.91, zero point or 1.0
00:10:15
◼
►
and then RSS I guess RSS 2.0 wasn't out yet. I don't know. But there you know in a weird
00:10:20
◼
►
way that RSS had these weird forks and multiple versions that weren't really they were more
00:10:27
◼
►
different than each other than the version numbers made it
00:10:30
◼
►
look, speaking of version numbers being weird. movable
00:10:32
◼
►
type just get just by default gave you all three. Right,
00:10:36
◼
►
right. And so it was, you know, those were very nerdy days. And
00:10:39
◼
►
somebody thought, well, let's give people a choice. Why not?
00:10:42
◼
►
Right. So the way I did during fireball was I installed it and
00:10:49
◼
►
was torn between whether I should write my own system or
00:10:51
◼
►
use movable type. And it's I always think in hindsight,
00:10:53
◼
►
there's what a lot of times I regret not writing my own thing
00:10:56
◼
►
from scratch. And then there's other times where I think, well, I probably wouldn't have gotten
00:11:00
◼
►
during fireball started until like 2009. If I'd done. Yeah, you tweaking your pearl. Yeah, I don't
00:11:07
◼
►
know. On the other hand, I got marked. I got marked out pretty quick. So maybe I could have.
00:11:10
◼
►
I don't know. It's hard. It's it's one of those mysteries we'll never have answered. But anyway,
00:11:15
◼
►
I installed it, looked at the default templates. I didn't do anything with it. There's no public
00:11:20
◼
►
remnants of that experimentation left. I never told anybody. It was just me trying to figure out
00:11:24
◼
►
how it all worked. Would this suit my needs? Is this a better use of my time? You know,
00:11:28
◼
►
can I customize it? Can I still customize everything the way I want it figured out that
00:11:32
◼
►
I could. And then in start of starting with a template and tweaking it, I started from
00:11:37
◼
►
nothing. I just erased everything, figured out how the template system worked and built
00:11:42
◼
►
the way during fireball looks from scratch. And you know, and I was, you know, like one
00:11:47
◼
►
window was my, what I was building from scratch from a totally blank slate, uh, literally
00:11:54
◼
►
blank slate gray. And on the other was like their default template for the same thing.
00:12:00
◼
►
So like, here's the default template for your homepage of your blog. And I'd look at what
00:12:04
◼
►
they had. And I'd look at what I wanted. And you know, I could say, Oh, here's how you
00:12:08
◼
►
do that. Here's how you get dates, I can kind of see how you format dates, blah, blah, blah.
00:12:11
◼
►
And I copy and paste it over. And I got to the RSS part. And I was like, What the fuck
00:12:15
◼
►
is this shit? I honestly didn't get it. And they called it syndication. And the only syndication
00:12:21
◼
►
the way I thought of the word syndication as a media nerd was like syndicated newspaper
00:12:26
◼
►
columnists, right? Like, you know, like instead of comics too. Yeah. And comics. Right. So
00:12:32
◼
►
like Calvin and Hobbes was syndicated so that, you know, 500 newspapers across the country
00:12:37
◼
►
or the world all had the same comics and there were national op ed columnists. So, you know,
00:12:45
◼
►
not everybody can be the New York times where they have their own stable of in house award
00:12:49
◼
►
winning columnists, small town papers would—and still do, I guess—have syndicated columnists.
00:12:56
◼
►
Well I thought, "Why would I want to be syndicated? I want people to read my stuff
00:12:59
◼
►
at my site. I don't understand this at all. What does this mean if I have this syndication
00:13:04
◼
►
that people can put my articles on their site? Forget it." I really didn't understand
00:13:09
◼
►
what the hell it was for, why there were three versions. Anyway, the whole point of the story
00:13:13
◼
►
is then when NetNewswire shipped or started shipping and I started using the betas, it
00:13:19
◼
►
all just clicked. I was like, "Oh, I get it." So you can see when there's new articles and
00:13:24
◼
►
read them right here. Oh, I better quick. And then immediately, within 30 minutes, I
00:13:30
◼
►
had an RSS feed on Daring Fireball. But I literally, it was NetNewswire that made me
00:13:38
◼
►
understand what the potential and what it was meant to be.
00:13:42
◼
►
I think it was a lot of people's first exposure to RSS
00:13:46
◼
►
The readers before then there hadn't been like a desktop
00:13:50
◼
►
Reader like this right been a number of browser-based ones some that you could run locally even but there hadn't been like an app
00:13:58
◼
►
you could just download and you know start going and
00:14:01
◼
►
Yeah, so for you and I think a lot of people that was that was the first exposure
00:14:05
◼
►
The other interesting thing and in hindsight and here we are in 2019
00:14:11
◼
►
It's a very different story, but and it just makes the the complete 17 year
00:14:17
◼
►
storyline so interesting to me is that in 2002 Coco the the you know application programming
00:14:28
◼
►
That were new with Mac new to the Mac with Mac OS X and came over from next step with Apple's
00:14:36
◼
►
acquisition slash reunification with next in
00:14:45
◼
►
uncertain like longtime Mac developers were looking at it with a still in
00:14:50
◼
►
2002 even with a quizzical I you know, and there was still open, you know, there were vigorous debates
00:14:55
◼
►
Over the carbon versus cocoa versus the pragmatic. Hey, I'm just gonna do whatever it is that works which is
00:15:02
◼
►
you know, I think the right way to have looked at it all along rather than be
00:15:08
◼
►
religious or dogmatic about one side or the other. But part of it, part of your inspiration was it
00:15:14
◼
►
wasn't just that you wanted to make a good reader, it was that you wanted to make a, you know,
00:15:19
◼
►
you were intrigued by Coco and really wanted this, this was something you could really sink
00:15:24
◼
►
your teeth into. Yeah, absolutely. I had been coming from working on an app that started on
00:15:30
◼
►
Mac OS 7, I guess, and had been carbonized for OS X. But I was no longer with that company,
00:15:38
◼
►
and I wanted to write something new. And at that point, it seemed like writing something new in
00:15:44
◼
►
Cocoa would be great, because Cocoa just did so much more, so much more easily than writing
00:15:51
◼
►
everything using the Macintosh toolbox or carbon, whatever you want to call it. That just left so
00:15:57
◼
►
much so much for you to handle that Coco just like did and part of me just couldn't believe it like
00:16:04
◼
►
wait a minute they just up and did all these things for me that I don't have to deal with
00:16:10
◼
►
I just found that amazing and yeah so I think it was about 10 months from start to to shipping
00:16:17
◼
►
netnews at 1.0 and I was learning Coco I was brand new to it but still yeah it really accelerated the
00:16:23
◼
►
development and was just so much fun.
00:16:28
◼
►
And it resulted in something that, and I think this is true of NetNewsWire 5 shipping this
00:16:34
◼
►
week, that felt so at home with the system.
00:16:39
◼
►
Looked, felt, it's like, you know, it breaks down for a lot of apps in a lot of ways, but
00:16:48
◼
►
usually it's a compliment if you can say about a third party app, this looks like what
00:16:53
◼
►
it should look like, what we would hope it would look like if Apple were to do this.
00:17:00
◼
►
In a lot of ways, the one comparison—we could get into it later—but one obvious
00:17:07
◼
►
comparison and something I know for a fact that you've looked at over the years many
00:17:11
◼
►
times is, well, how does Apple Mail do blank? Because reading email and reading RSS, there's
00:17:18
◼
►
a lot of similarities. A feed is similar to a mailbox or an account perhaps. And then
00:17:25
◼
►
in the account is a bunch of messages and in a feed are a bunch of articles and you
00:17:30
◼
►
click on an article or you click on a message and then you read the message or you read
00:17:34
◼
►
the article. And mail back then had drawers.
00:17:38
◼
►
**Ezra Klein:** Yes, yes it did. Yeah.
00:17:41
◼
►
**Beserat Debebe:** Net News Wire had drawers. Drawers were very
00:17:44
◼
►
>> Yeah, though, to be fair, NetNewsWire never put the source list in a drawer where mail
00:17:50
◼
►
actually did in those days.
00:17:51
◼
►
>> Yeah, I do remember that.
00:17:52
◼
►
>> All your mailboxes were in a drawer, yeah.
00:17:56
◼
►
NetNewsWire's drawer was used for a directory of feeds.
00:17:59
◼
►
>> I remember that, right.
00:18:00
◼
►
>> Yeah, yeah, which was an awful lot of work to maintain.
00:18:05
◼
►
So I'm not still doing that, though.
00:18:06
◼
►
I kind of wish I did, but boy, it's just too much work.
00:18:11
◼
►
It's interesting because there's a, you know, I think a lot of the coverage this week of
00:18:23
◼
►
NetNewswire is sort of a, hey, it's not just the, hey, NetNewswire is back, but a, hey,
00:18:29
◼
►
is RSS making a comeback? And in some ways it's warranted because I think the heyday
00:18:36
◼
►
day of reading people's blogs via RSS was certainly a decade ago. But it's also a weird
00:18:45
◼
►
thing because in a way, RSS has never ever, ever been more popular and continues to grow
00:18:51
◼
►
at a crazy rate because of podcasts. And podcasts are all RSS feeds. Every single podcast. Well,
00:19:00
◼
►
maybe not every. I guess there's now these weird ones that you have to sign up for a
00:19:04
◼
►
specific app and they're tied to a paid service or something.
00:19:09
◼
►
But I wouldn't call that a podcast.
00:19:11
◼
►
I wouldn't either.
00:19:12
◼
►
I've argued that.
00:19:14
◼
►
It's just a show.
00:19:15
◼
►
It's an audio show.
00:19:17
◼
►
And we've had audio shows ever since Edison invented the radio.
00:19:21
◼
►
But what everybody thinks of as podcasts, including my podcasts, the Omni podcast that
00:19:28
◼
►
hosts are distributed to whatever podcast app you use to listen by RSS, and each episode
00:19:37
◼
►
is an RSS entry. So it's astoundingly popular, and even though people don't realize it,
00:19:45
◼
►
you have no reason—
00:19:46
◼
►
It's plumbing in that case.
00:19:48
◼
►
It's, yeah, why you shouldn't have to know.
00:19:50
◼
►
- Right, I don't know how many, you know,
00:19:52
◼
►
the staggering growth in the listeners of podcasts,
00:19:55
◼
►
you know, I'm sure that literally, I'll bet 98% of them,
00:19:58
◼
►
maybe 99% of them have never even heard
00:20:00
◼
►
of the initials RSS.
00:20:02
◼
►
- Right. - And that's fine.
00:20:03
◼
►
But one of the things that Apple has done as the,
00:20:07
◼
►
I think very honorably as the steward
00:20:10
◼
►
of the iTunes podcast app and directory
00:20:16
◼
►
is they've made that directory open to third-party clients,
00:20:20
◼
►
not just third-party clients on their own platforms.
00:20:23
◼
►
You know, like, Android podcast apps
00:20:26
◼
►
can use the iTunes directory
00:20:28
◼
►
to get what you were trying to do with NetNewswire,
00:20:30
◼
►
which is like, let's just have a list of as many good RSS,
00:20:35
◼
►
good or even decent, you know,
00:20:36
◼
►
anything that's not really, I mean,
00:20:38
◼
►
I don't know what your criteria were,
00:20:40
◼
►
but for the most part, what seems like with Apple is,
00:20:42
◼
►
as long as it's not, you know, hate speech
00:20:45
◼
►
and or like pornography or something that, you know,
00:20:49
◼
►
they listed in the iTunes podcast directory.
00:20:53
◼
►
And so third-party apps like Overcast and whatever else,
00:20:58
◼
►
you can search for a feed and they can just find it, right?
00:21:02
◼
►
So you can search for OMNI and the Omni shows.
00:21:07
◼
►
Is that the name of the podcast, the Omni show?
00:21:10
◼
►
- The Omni show.
00:21:11
◼
►
- Right, the Omni show will show up.
00:21:13
◼
►
And so you don't even need to do the tricky thing,
00:21:16
◼
►
which is find a URL to the RSS feed for the Omni show
00:21:21
◼
►
and paste that and manage a list of URL subscriptions.
00:21:24
◼
►
You could just go to a directory and do it.
00:21:26
◼
►
So there's certainly merit there.
00:21:27
◼
►
And I think the way that it's worked out with podcasts
00:21:29
◼
►
has certainly shown that there is,
00:21:30
◼
►
but you need somebody like Apple at the heart of it
00:21:33
◼
►
to A, who you can trust and B,
00:21:36
◼
►
who can do the hard work of maintaining
00:21:39
◼
►
this ever-growing mountainous database of feeds.
00:21:43
◼
►
Yeah, and I've just last night I was thinking like that would be another great open source
00:21:50
◼
►
We could get people, you know, involved.
00:21:52
◼
►
But then I thought, and I've really got my hands full just with Net News Wire, I would
00:21:56
◼
►
really like somebody else to do this.
00:21:59
◼
►
You know, there are a lot of things like that, that would be so helpful in bringing us back
00:22:04
◼
►
to the open web.
00:22:05
◼
►
Another one I've talked a lot about is something like Technorati, you know, those blog search
00:22:11
◼
►
The index, a bunch of blogs.
00:22:13
◼
►
And if I want to go see who on the blogosphere
00:22:15
◼
►
is talking about Net News Wire,
00:22:17
◼
►
I have a feed that watches for that.
00:22:19
◼
►
And so I see that from wherever, whenever it comes up.
00:22:23
◼
►
We used to have a bunch of this stuff and we don't anymore.
00:22:27
◼
►
- Yeah, I haven't thought- - I hope it comes back.
00:22:29
◼
►
- I haven't thought of Technoradi in a long time.
00:22:31
◼
►
And there was a time when man, was that super useful.
00:22:35
◼
►
- Oh, sure, yeah.
00:22:37
◼
►
There were some smaller things like BlogBridge
00:22:39
◼
►
And I think Yahoo even had a blog search engine
00:22:41
◼
►
and they were all pretty useful.
00:22:42
◼
►
- Yeah, but it was definitely an interesting way to find,
00:22:45
◼
►
not just when people were talking about a topic
00:22:49
◼
►
you're interested in, but as somebody who had a blog,
00:22:51
◼
►
you could find, I would constantly find like,
00:22:56
◼
►
interesting blog posts linking to my own blog posts.
00:23:01
◼
►
You could search Technorati, I forget how you did it,
00:23:03
◼
►
but it wasn't too hard.
00:23:04
◼
►
And you could search for blog posts that they had indexed
00:23:08
◼
►
linked to daringfireball.net and I frequently found things that I had not seen before.
00:23:13
◼
►
Matthew: Yeah, and in those days that's the way we had conversations. They were just kind of ad hoc
00:23:19
◼
►
across the web. And you know, so if somebody wrote something linked to me, I might have some kind of
00:23:25
◼
►
reply. Well, that's another blog post and I would link back to whatever they wrote. And you know,
00:23:30
◼
►
that's not as easy as Twitter, but it was more substantial, I think.
00:23:37
◼
►
I think it was definitely more substantial. I mean and again there's trade-offs. It's you know like with everything
00:23:42
◼
►
I'm not gonna say Twitter's bad or Twitter ruined it and there's a certain convenience and there's
00:23:47
◼
►
There are certain advantages to the centralization of Twitter
00:23:50
◼
►
And knowing that there's just one place where I can look at for at replies to at Gruber and find a bunch of conversations
00:23:59
◼
►
But boy even at 280 characters the modern limit, it's it it loses a lot of nuance
00:24:07
◼
►
Yeah, sure does. Yeah. And then there are disadvantages to that centralization too.
00:24:13
◼
►
So I tend to prefer decentralized systems. On the ground side, even if Twitter were not borderline
00:24:25
◼
►
evil, that's just way too much power in the hands of, you know, unaccountable people.
00:24:31
◼
►
Yeah, I agree. On the whole, I would take the trade-offs of the web we had circa 2005-2006,
00:24:43
◼
►
which coincidentally was right around when Twitter first popped up. I think coincidentally.
00:24:50
◼
►
I think that even if Twitter itself had never become popular, I still think the same sort
00:24:58
◼
►
of shift away. I mean, somebody, some other platform would have done the Facebook ization
00:25:04
◼
►
and Twitter ization of, of, and D, you know, centralization of, of this sort of thing.
00:25:12
◼
►
Yeah. In another timeline, we have different names for these same things. It's just some
00:25:16
◼
►
other companies did it. I, it is interesting though. It does seem like a lot of people
00:25:24
◼
►
are starting to push back on this. I saw David Hanemeyer Hanson had a nice tweet linking
00:25:30
◼
►
to the Suite Setups review of Net News Wire 5. And just mention one of many excellent
00:25:37
◼
►
points to be made about getting back, if you've gotten away from RSS feed reading, like just
00:25:42
◼
►
the fact that you don't get tracked. It's not about throwing tracking ads at you and
00:25:48
◼
►
stuff like that.
00:25:49
◼
►
Yeah, absolutely right. I said something about corporate surveillance, I think. Yeah, that's,
00:25:55
◼
►
you know, that's one of the things you can get away from. Actually can do it.
00:26:00
◼
►
Have you noticed because then the other thing that is sort of like what's old is new again,
00:26:05
◼
►
and I don't think it's a coincidence. I think it's sort of tied to the potential for RSS
00:26:10
◼
►
reading again, I with my whole aside from five minutes ago about how RSS is more popular
00:26:16
◼
►
than ever because of podcasting. Henceforth, when I'm talking about RSS reading, I'm really
00:26:20
◼
►
talking about sort of the net newswire sort of genre of feed reading where you're reading
00:26:26
◼
►
articles mostly from people who write blogs. But the other thing that's really resurged
00:26:34
◼
►
in popularity is email newsletters.
00:26:36
◼
►
Yeah, I find that fascinating.
00:26:40
◼
►
both free and paid. A friend of the show, Ben Thompson at Stratechery is doing a fantastic
00:26:48
◼
►
job with his paid subscription daily update newsletter with one free post a week. There's
00:26:56
◼
►
a couple other people in… Neil Seibart has Above Avalon, similar business model. I think
00:27:06
◼
►
One reason it's more popular is for those sort of,
00:27:09
◼
►
if you want, if your business model
00:27:11
◼
►
for doing your writing full-time is going to be based on,
00:27:16
◼
►
not just on advertising and sponsorships,
00:27:21
◼
►
which is really the same thing,
00:27:22
◼
►
like mine at Daring Fireball and here in the talk show,
00:27:27
◼
►
if you're gonna go for reader support,
00:27:32
◼
►
it really makes sense that you kind of need something
00:27:37
◼
►
behind a paywall of some sort.
00:27:41
◼
►
It doesn't really work to say,
00:27:44
◼
►
I'm gonna publish everything for free,
00:27:46
◼
►
and if you wanna pay me, pay me.
00:27:47
◼
►
I mean, people will pay something,
00:27:49
◼
►
but what really prompts people to pay
00:27:52
◼
►
is if they have to pay to read.
00:27:54
◼
►
And at a technical level, it's a lot easier with email
00:27:58
◼
►
than it is with a website, in my opinion.
00:28:03
◼
►
And maybe easier is the wrong word,
00:28:05
◼
►
'cause I'm not really thinking of this
00:28:08
◼
►
as the developer of making it work,
00:28:12
◼
►
or the publisher who's going to use this as my business model.
00:28:15
◼
►
I'm thinking as just the reader who wants to,
00:28:18
◼
►
okay, I wanna read Ben Thompson's stuff,
00:28:20
◼
►
or I wanna read the New York Times, or the Washington Post,
00:28:25
◼
►
or any of these other publications
00:28:27
◼
►
that let you have X number of free articles a month
00:28:30
◼
►
and then you have to pay.
00:28:32
◼
►
I really, I do it.
00:28:34
◼
►
I pay for a very, I don't know,
00:28:37
◼
►
at least half a dozen subscription things,
00:28:40
◼
►
probably closer to at least 10 maybe.
00:28:43
◼
►
I pay for the Times, the Washington Post.
00:28:44
◼
►
I pay for a bunch of newsletters.
00:28:47
◼
►
I pay for the Wall Street Journal.
00:28:50
◼
►
I'm always getting logged out of them.
00:28:53
◼
►
The New Yorker, I have a print New Yorker subscription,
00:28:56
◼
►
but it comes with a free online one.
00:28:57
◼
►
I can't tell you how many times a month
00:29:00
◼
►
I have to sign back in to the New Yorker website
00:29:03
◼
►
'cause they're telling me I'm out of free articles,
00:29:05
◼
►
even though I'm a paid subscriber.
00:29:07
◼
►
- Yeah, happens to me too with Washington Post.
00:29:10
◼
►
- Yeah, that never happens with Stratechery.
00:29:13
◼
►
- Yeah, right, it always just shows up.
00:29:14
◼
►
- Guess what shows up in my email box every day,
00:29:17
◼
►
my email from Ben Thompson with his thoughts
00:29:19
◼
►
on the business news from the day before,
00:29:21
◼
►
the last few days.
00:29:23
◼
►
And it's a, this is the other thing
00:29:27
◼
►
that to me makes it easier.
00:29:28
◼
►
It is an easier, better reading experience
00:29:31
◼
►
because guess what I don't have?
00:29:32
◼
►
I don't have any pop-ups showing up on my email
00:29:36
◼
►
telling me that they have a cookie policy
00:29:39
◼
►
and I'm inherently agreeing to this.
00:29:41
◼
►
I mean, how many times, I mean, I don't understand.
00:29:43
◼
►
I know it's a GDPR and it's this European thing.
00:29:46
◼
►
Frickin' nonsense.
00:29:47
◼
►
I would rather delete every frickin' cookie in the universe
00:29:50
◼
►
than have to dismiss one of those things again.
00:29:52
◼
►
- Mm-hmm, that and would you like notifications
00:29:55
◼
►
from this website?
00:29:56
◼
►
- Oh. - No thanks.
00:29:57
◼
►
- And the popovers that cover the actual content
00:30:01
◼
►
of the article, even if they're not trying to say,
00:30:04
◼
►
you can't read this 'cause you don't subscribe,
00:30:07
◼
►
they pop over and they say,
00:30:09
◼
►
hey, why don't you sign up for our newsletter or whatever?
00:30:11
◼
►
Give us your email address.
00:30:12
◼
►
And they cover the article.
00:30:14
◼
►
That never happens when I'm reading email.
00:30:16
◼
►
And very, very similarly,
00:30:18
◼
►
it does not happen when I'm reading RSS.
00:30:22
◼
►
Now, the difference is, I will say that
00:30:25
◼
►
if I were reading most,
00:30:27
◼
►
actually I guess every single one,
00:30:29
◼
►
I can't think of a single site
00:30:31
◼
►
in my NetNewswire subscriptions
00:30:32
◼
►
where if I went to that person's website,
00:30:34
◼
►
'cause almost every single one is a person's website
00:30:37
◼
►
where they would be covering their content with popovers,
00:30:40
◼
►
but it's just a nice way to read.
00:30:43
◼
►
And I feel like that is,
00:30:49
◼
►
just one of many ways that the entire big corporate media world has just sort of lost
00:30:56
◼
►
the ball in today's world where they're, you know, and I don't blame them. I get it. It's
00:31:02
◼
►
tough. It's never been. The business has never been tougher to do good journalism. And I get it
00:31:08
◼
►
that it's, I'm not trying to say it's easy just because during fireball is doing okay.
00:31:15
◼
►
I'm not saying it's easy, but it's so clear that you know, hey, is this this is this a nice
00:31:20
◼
►
experience for our readers is just clearly nowhere near the top of the priority list.
00:31:26
◼
►
Right. And that seems stunning to me, like job one is to create something nice to read, right?
00:31:34
◼
►
Right. So the experience of reading it should be way, you know, way at the top of the list. And
00:31:40
◼
►
The fact that these sites are almost uniformly hostile to actually reading the content is just
00:31:47
◼
►
madness. I know I've used this analogy before and it seems like a stretch because it would be so
00:31:54
◼
►
it would actually lead to physical confrontations in the real world. But when you buy a copy of
00:32:03
◼
►
of a newspaper and you're reading it on the subway,
00:32:06
◼
►
nobody ever comes up and covers up the article
00:32:10
◼
►
you're reading with a flyer for something else.
00:32:15
◼
►
You don't get interrupted as you're,
00:32:20
◼
►
or you don't scroll a newspaper,
00:32:22
◼
►
you scroll your eyes, you go down.
00:32:24
◼
►
Nothing actually covers up something,
00:32:26
◼
►
like when you hit the space bar,
00:32:27
◼
►
when you're reading an article on a website
00:32:29
◼
►
and all of a sudden that's when they put the interstitial up
00:32:31
◼
►
that covers the article you're reading
00:32:33
◼
►
and tells you you're done.
00:32:35
◼
►
That never happens in the real world.
00:32:37
◼
►
It's, you know, the worst part about reading a newspaper
00:32:40
◼
►
is maybe your hands get a little ink on them
00:32:42
◼
►
or something like that.
00:32:43
◼
►
I guess some people struggle to read a broadsheet,
00:32:45
◼
►
but I never, I always, you know, you fold it in half.
00:32:50
◼
►
- Yeah, right, there are ways.
00:32:52
◼
►
- I just think it's crazy, and I really feel like
00:32:57
◼
►
that the web publishing world, and you know,
00:33:00
◼
►
see this too with how much JavaScript is in the payloads for these websites nowadays with
00:33:06
◼
►
all these ad networks. Even with the privacy implication of the tracking aside, it's
00:33:11
◼
►
just an enormous amount of code and you can see it when you monitor your tabs in a process
00:33:17
◼
►
monitor, like activity monitor, to see what's going on and all of a sudden you just have
00:33:21
◼
►
an article you're reading open and it's using 20% of your Mac CPU or something like
00:33:26
◼
►
It's madness. And I really feel like people are ready to go back to the relaxing, you know,
00:33:37
◼
►
let's use something to read these articles that just is optimized for making it as pleasant as
00:33:42
◼
►
possible. Yeah, people who like to read, I mean, they like to read. Or they want to like to read,
00:33:50
◼
►
they want to enjoy it. Right. One of the things I delight in is, on my personal blog, there's no
00:33:55
◼
►
JavaScript. It's on a cheap shared host. I pay almost no money for it. And yet it's fast.
00:34:04
◼
►
Right. Because without, you know, all that junk, it's, you know, it's all pre rendered. It's just
00:34:10
◼
►
HTML. No cookies are even involved. It's just, it's just super fast.
00:34:14
◼
►
I like it when people tell me that they that when they're worried about their internet connection,
00:34:19
◼
►
that they go, they go to the, they open a browser tab and type da, let it auto complete.
00:34:25
◼
►
and see if Daring Fireball loads fast, then they know everything, then it must be something else.
00:34:30
◼
►
And if Daring Fireball loads slow, then maybe there is something wrong with their internet
00:34:34
◼
►
connection. That is music to my ears. Yeah, right. It's one of the joys of statically
00:34:41
◼
►
rendered sites. Even though some all this crap in them, even though every once in a while,
00:34:46
◼
►
something is my fault or the sort, you know, like I need to, you know, do my annual reboot of Apache
00:34:51
◼
►
or something like that. But for the most part, it really is edifying to hear that. But it
00:34:59
◼
►
also makes me crazy because it's so easy.
00:35:04
◼
►
- How about just don't do the things. You can save a whole lot of time. I know, I know.
00:35:13
◼
►
- All right, let me hold that thought because I want to take a break here. Thank her for
00:35:18
◼
►
sponsor. And then I have a programming story I want to tell you. Our first sponsor, speaking
00:35:24
◼
►
of fast web hosts, is Linode. L-I-N-O-D-E. Looks like "linode" to me, but it's pronounced
00:35:32
◼
►
Linode because they specialize in Linux. They just opened their newest data center in Toronto.
00:35:38
◼
►
It's built using their most up-to-date hardware and their next generation network backbone.
00:35:43
◼
►
Actually this might be out of date, this information I'm telling you. I think Mumbai, India is
00:35:46
◼
►
is actually open now too.
00:35:48
◼
►
Anyway, Linode is dedicated hosting in virtual containers
00:35:54
◼
►
with data centers all over the world.
00:35:56
◼
►
The fact that they have them in countries like Canada
00:35:58
◼
►
is really, really important if you're in Canada
00:36:02
◼
►
and you have to comply with in-country data protection
00:36:04
◼
►
requirements and legal requirements.
00:36:06
◼
►
It's not just about getting the latency down just
00:36:08
◼
►
because it's nearer to you physically
00:36:10
◼
►
or maybe nearer to your audience.
00:36:12
◼
►
For some people, it's actually a legal requirement.
00:36:15
◼
►
Very important.
00:36:16
◼
►
They're expanding, literally expanding all over the world.
00:36:18
◼
►
Toronto, Mumbai, can't get much further apart than that,
00:36:21
◼
►
I don't think.
00:36:22
◼
►
Anything you wanna build, any kind of website you want,
00:36:25
◼
►
you can build it on Linode.
00:36:27
◼
►
They have dedicated CPUs if you need them,
00:36:29
◼
►
distributed applications, hosted services.
00:36:31
◼
►
Everything features native SSD storage, of course.
00:36:36
◼
►
Everything's hooked up to a 40 gigabit network.
00:36:39
◼
►
You can pick from 10, I think it's 11 now though,
00:36:41
◼
►
worldwide data centers.
00:36:43
◼
►
You pay for what you use with hourly billing
00:36:45
◼
►
across all plans and add on services.
00:36:47
◼
►
So you can pay based on your typical traffic.
00:36:50
◼
►
And if something happens every once in a while
00:36:51
◼
►
where you know you're gonna get a big burst of traffic
00:36:54
◼
►
and you might need more resources,
00:36:55
◼
►
you only pay for it while you need it.
00:36:57
◼
►
Super, super easy.
00:36:59
◼
►
And one of the things is they have great pricing.
00:37:03
◼
►
Plans start at just five bucks a month.
00:37:05
◼
►
And that's not like a special offer,
00:37:07
◼
►
special deal or a super limited thing
00:37:10
◼
►
that you couldn't really use.
00:37:11
◼
►
An awful lot of people could go a long way
00:37:15
◼
►
on their default $5 plan and they have a special offer for listeners of the show. Use this
00:37:20
◼
►
code "Talkshow2019." You get a $20 credit. You could use that for four months of service
00:37:28
◼
►
and no questions asked. Don't like it? Done with it when you're done? Cancel it. Four
00:37:32
◼
►
months free with a $20 credit. The URL is linode.com/thetalkshow. So that's a little
00:37:38
◼
►
confusing. It's sort of like an intelligence test there. The URL is linode.com/thetalkshow.
00:37:45
◼
►
The promo code to get the $20 credit is talkshow2019. Anyway, I am a customer. I'm moving slowly
00:37:53
◼
►
but surely everything during Fireball over there. Just working on something this week,
00:37:58
◼
►
which I'm actually about to talk to Brent about, over to my Linode server. I can't say
00:38:03
◼
►
enough about how good and easy and for somebody who's been using the same server for over
00:38:08
◼
►
over 10 years, how much nicer things have gotten in command line land. So my thanks
00:38:13
◼
►
to Linode. They're not just a sponsor. I'm a customer. I really recommend them. And remember
00:38:18
◼
►
that code talk show 2019 save 20 bucks. So anyway, I forget who said it. I should actually
00:38:25
◼
►
Google it. I should probably do more research as the host of the show. You've probably heard
00:38:29
◼
►
the adage. I'm sure you have premature optimization is the root of all evil. Oh yeah, for sure.
00:38:36
◼
►
premature. Let's see here. There we go. You can hear my Apple extended keyboard to there.
00:38:45
◼
►
I got one also. Yeah, they're still the best. Its source is credited to Donald Knuth. Is
00:38:52
◼
►
it Knuth or Knuth? I actually think it's a good question. I think it's Knuth, but damn.
00:38:58
◼
►
The most celebrated computer scientist who's ever walked the earth after maybe after Alan
00:39:04
◼
►
and Turing. I don't know how to pronounce his name. But it's a well-known adage. I
00:39:13
◼
►
think people misinterpret it. I know you believe it. One of the things that I wanted to—why
00:39:18
◼
►
I thought of talking to you about it is that Net News Wire is small, fast, and stable.
00:39:29
◼
►
You know a Ted there's a part of me and I know what you think too
00:39:32
◼
►
Like I just I looked at it after you unpacking it and installing it and looking at it in the bundle in my applications folder
00:39:38
◼
►
It's like nine point nine megabytes
00:39:40
◼
►
Which is by today's standards a very small app
00:39:44
◼
►
Yeah tiny but there's a part of me that's so old and remembers, you know when apps needed to fit on floppy disks
00:39:52
◼
►
Megabytes geez what the hell's in there? How many floppies is that gonna be?
00:39:58
◼
►
Right and you know part of the reason that cocoa apps could always be if you know if engineered well
00:40:04
◼
►
And didn't use a lot of third-party frameworks could be very small is because the cocoa that the system frameworks
00:40:10
◼
►
You don't need them in your app you they're there in the system and so the app itself just
00:40:15
◼
►
Just needs your code the code for your little app
00:40:18
◼
►
And you know it's a total digression
00:40:22
◼
►
But that's why Swift apps have been bigger than objective-c apps because up until very recently
00:40:27
◼
►
because the Swift binary interface was still changing
00:40:32
◼
►
between versions of Swift.
00:40:34
◼
►
Swift apps needed to bundle all the Swift libraries
00:40:36
◼
►
and frameworks within each app bundle.
00:40:38
◼
►
But all of a sudden, now that that's stable,
00:40:42
◼
►
Swift apps are gonna get smaller too.
00:40:44
◼
►
But NetNewswire, it's super fast.
00:40:47
◼
►
It's really, really fast.
00:40:49
◼
►
It's fast at everything.
00:40:51
◼
►
I remember when I first started using Evergreen again,
00:40:57
◼
►
and I fished out all of my feeds from my old version
00:41:01
◼
►
and then NewsWire, which itself was also fast,
00:41:04
◼
►
and imported them into the new app and launched it,
00:41:09
◼
►
or hit reload or something after importing it.
00:41:12
◼
►
And I was like, "Well, when's it gonna load?"
00:41:14
◼
►
"Oh, it did already."
00:41:16
◼
►
It loaded all 50 different feeds, updated all of them.
00:41:20
◼
►
No exaggeration within a handful of seconds, two seconds,
00:41:25
◼
►
There they are. They're updated. I think that people tend to, the misinterpretation of that
00:41:33
◼
►
premature optimization is the root of all evil, is the idea that you don't have to optimize
00:41:40
◼
►
as you go. You don't have to keep things fast as you go. You can, "Ah, we'll fix it later."
00:41:44
◼
►
You can let it get slow, and then we'll optimize it later because Donald Knuth says premature
00:41:50
◼
►
optimization is the root of all evil. That is not what he meant. And I think that's actually
00:41:56
◼
►
the way a lot of software goes haywire. I love the old, I've told this story before
00:42:01
◼
►
many times, you know, that the rule Don Melton imposed on the WebKit team when he started
00:42:08
◼
►
this Safari project at Apple was that every time you checked code in, you had to run,
00:42:14
◼
►
know, the the tests and benchmarks and the rule was nothing could regress performance
00:42:20
◼
►
wise. So if you were adding feature x to Safari and the WebKit browser, and you ran the do
00:42:26
◼
►
you it was all working and then you ran the tests and it made something slower. You couldn't
00:42:31
◼
►
check it in, you had to figure out how to get it working where it didn't make anything
00:42:34
◼
►
slower all that's a great rule, right. And this was informed by his time at Mozilla,
00:42:41
◼
►
where they would say, "Well, this works.
00:42:45
◼
►
We'll make it fast later."
00:42:47
◼
►
- Right. - And later never happened.
00:42:49
◼
►
And all of a sudden, right.
00:42:52
◼
►
- So I take this rule to mean a different thing.
00:42:54
◼
►
Don't write code assuming you know
00:42:58
◼
►
what the best optimizations are gonna be.
00:43:01
◼
►
I mean, write intelligently,
00:43:03
◼
►
but then run it and test it and figure out,
00:43:06
◼
►
is it actually slow?
00:43:07
◼
►
Where is it slow?
00:43:09
◼
►
How can we change it?
00:43:11
◼
►
Don't, because guaranteed, a lot of the time,
00:43:15
◼
►
what you think is gonna be slow isn't actually slow at all.
00:43:18
◼
►
And it's something you didn't even think about,
00:43:20
◼
►
ah, that's the slowdown.
00:43:22
◼
►
But you have to measure it, you have to find out.
00:43:23
◼
►
- Right, exactly.
00:43:25
◼
►
And that is exactly the lesson that I'm paying the price for
00:43:29
◼
►
as we speak.
00:43:30
◼
►
I forget when I first wrote it.
00:43:33
◼
►
Might've been as far back as 2009.
00:43:34
◼
►
It's probably about 10 years old.
00:43:36
◼
►
But I wrote and still use my own little bot
00:43:40
◼
►
I bought to automatically post articles to the @DaringFireball Twitter account.
00:43:48
◼
►
And I know there are a bunch of services that do this.
00:43:51
◼
►
You can just sign up.
00:43:53
◼
►
But I wanted the tweets to be formatted just the way I want them.
00:43:57
◼
►
And so of course I wrote my own.
00:44:00
◼
►
And it's something that I was running on a server with a little Perl script.
00:44:07
◼
►
It just reads my RSS feed.
00:44:10
◼
►
a list of all the articles, uh, looks for ones that are new, something that hasn't been
00:44:15
◼
►
tweeted yet. If it finds one posted as a tweet and then saves, saves that ID for that article
00:44:25
◼
►
so that it won't get tweeted again, uh, and stops. And then it's a cron job. Cron is a,
00:44:32
◼
►
for those of you who don't know that I'm going out in a wheelchair. I'm going to try to talk
00:44:35
◼
►
programming on a non-programmer's podcast, but I think I can do it. CRON is a longstanding
00:44:42
◼
►
30, 40-year-old Unix utility that you can use to set up recurring tasks. So you could
00:44:48
◼
►
say run this script every five minutes or run this one every hour or run this script
00:44:53
◼
►
every Sunday at midnight or something like that. You can set up a schedule. It'll do
00:44:58
◼
►
do these tasks. So I have it set up as an every-five-minute cron task. The logic being
00:45:05
◼
►
if I go on a posting spree and I post two things quickly, why not have them show up
00:45:12
◼
►
five minutes apart on your Twitter stream so that it doesn't feel like the @DaringFireball
00:45:18
◼
►
account is harassing you? A few of the other things I've added to the script over the
00:45:26
◼
►
years is it also won't post anything. I forget how long it doesn't really matter. But I think
00:45:33
◼
►
it's like 10 minutes. So it won't post anything that was posted within the most recent 10
00:45:39
◼
►
minutes. The idea being that gives me 10 minutes to fix any typos or mistakes before it gets
00:45:44
◼
►
tweeted. And
00:45:45
◼
►
Curt Jaimungal it gives Chris Pepper 10 minutes to email
00:45:49
◼
►
Dave Asprey Exactly. Well, that's actually often what
00:45:51
◼
►
And an incredible percentage of the mistakes I make, the typos and stuff like that, are
00:45:58
◼
►
fixed within the first 10 minutes.
00:46:00
◼
►
And so that's one of the things it does.
00:46:03
◼
►
And for the most part, this thing has just run and run and run for like 10 years, and
00:46:08
◼
►
with a few tweaks here and there.
00:46:12
◼
►
But about a month ago, it just stopped working.
00:46:15
◼
►
Just nothing.
00:46:19
◼
►
And I was traveling at the time, and I didn't even notice. And I guess I should have some
00:46:25
◼
►
kind of—figure out—it's on my list of things to do as I fix this, is to figure out
00:46:30
◼
►
some way that I can get notified that it hasn't been working. But somebody on Twitter said,
00:46:37
◼
►
"Hey, is the @DaringFireball account dead? What's going on?" And I look, and I was
00:46:41
◼
►
like, "Huh. There's like four days of stuff missing." And I couldn't figure
00:46:43
◼
►
out what was going on. And it was weird. I SSH'd in the machine, and what I could do
00:46:49
◼
►
is instead of just letting cron run it automatically,
00:46:51
◼
►
I can just type the name of the script and it should run.
00:46:54
◼
►
And I have it set up so that when it runs that way,
00:46:56
◼
►
it prints some useful information for me to read
00:47:00
◼
►
about what, you know, if it's posting anything
00:47:02
◼
►
or sees anything.
00:47:04
◼
►
And it was giving me this weird error
00:47:06
◼
►
and it didn't really make, it was very unhelpful.
00:47:09
◼
►
And then I figured it out.
00:47:10
◼
►
What it was was that,
00:47:18
◼
►
I'm getting dangerous to you out in the weeds here.
00:47:20
◼
►
So TLS 1.1 is a standard-- it's part of HTTPS.
00:47:26
◼
►
So if you're using secure HTTP, TLS
00:47:30
◼
►
is a newer, more cryptographically secure
00:47:34
◼
►
The server I was running the script on was so old,
00:47:37
◼
►
and at the time-- Linux is a lot better now,
00:47:40
◼
►
where you can do apt-get, update something,
00:47:43
◼
►
and it'll update the system.
00:47:45
◼
►
The server I was running this on really couldn't be updated easily.
00:47:50
◼
►
I would really kind of have to download, take everything, create a new instance with a modern
00:47:56
◼
►
version of Linux and reinstall everything, which is a lot of work.
00:48:02
◼
►
But the server had a version of OpenSSL that only did TLS 1.0.
00:48:07
◼
►
At some point in July, I believe—I still could be wrong on this, but it makes all the
00:48:12
◼
►
sense in the world that Twitter finally pulled the plug on their APIs for Twitter posting
00:48:18
◼
►
and no longer accepted TLS 1.0. So I had a server that couldn't speak TLS 1.1 trying
00:48:24
◼
►
to speak to an API that only spoke TLS 1.1 and forget what I was using to do the actual
00:48:32
◼
►
posting but was giving me an error message that was not anywhere near as clear along
00:48:38
◼
►
those lines as you would think.
00:48:40
◼
►
sounds like programming. Now, here's the part where I bit myself on premature optimization.
00:48:49
◼
►
What I did 10 years ago is I was keeping all of the tweets that had already been posted
00:48:58
◼
►
in what in Perl is called a hash, what in a lot of programming environments is called
00:49:04
◼
►
a—what do you call it? What do you call an array where the indexes are keys?
00:49:09
◼
►
- A dictionary.
00:49:10
◼
►
- A dictionary, right.
00:49:12
◼
►
A lot of programming languages call it a dictionary.
00:49:14
◼
►
This is a data structure that's very simple.
00:49:16
◼
►
You have a key and you have a value.
00:49:18
◼
►
So I could say for the key Brent,
00:49:21
◼
►
I could say that the value is friend.
00:49:24
◼
►
This would describe my relationship with people.
00:49:26
◼
►
And then for the key Amy, the value would be wife.
00:49:31
◼
►
And then I could look up Amy
00:49:32
◼
►
and then print the value and it would say wife.
00:49:35
◼
►
Very simple, very popular,
00:49:38
◼
►
used in, you know, has different words and all sorts of different languages, but every
00:49:41
◼
►
modern language has something like this. And then what I did, and here's where I made the
00:49:46
◼
►
mistake is I thought, well, wait, I want this. I'm going to use this for years and years
00:49:50
◼
►
to come. I post thousands of articles a year, I think, and I don't know how many articles
00:49:56
◼
►
I had posted to during fireball as of when I wrote this 10 years ago. But as of now,
00:50:01
◼
►
I think I'm close to 30,000 or just cross 30,000 total articles posted to during fireball.
00:50:07
◼
►
This is going to be thousands and thousands of articles, tens of thousands of articles.
00:50:12
◼
►
Seems like that would be slow.
00:50:14
◼
►
So I use something in Perl called the TIE, T-I-E, and let you tie a hash to a database
00:50:22
◼
►
It's like Berkeley DB or something like that.
00:50:24
◼
►
You give it a file name, and then once you've tied it, it acts a little bit from, at least
00:50:31
◼
►
in my opinion, it's sort of like the object database in Frontier, where you've got this
00:50:37
◼
►
hash and every time the script runs, the hash springs back to life and has all of the keys
00:50:44
◼
►
and values and when this ends, they're all written to that one database file. And so
00:50:51
◼
►
I don't have to deal with a lot of open and read and read all the lines and close the
00:50:56
◼
►
file and worry about all the file stuff. Once you have it set up and you run the script,
00:51:00
◼
►
it just runs and it's magic, right? Sounds great. Well, it turns out, I don't know if
00:51:06
◼
►
If it's an Andean thing, I don't know.
00:51:08
◼
►
I think it's more of an old version of the Perl module
00:51:12
◼
►
that does it.
00:51:13
◼
►
When I copied that back to my Mac,
00:51:15
◼
►
I was just, in the meantime,
00:51:16
◼
►
I was just gonna run it manually from my Mac.
00:51:18
◼
►
And in fact, that's what I am doing.
00:51:20
◼
►
The version of Perl on my Mac,
00:51:23
◼
►
which is a lot more modern
00:51:24
◼
►
than the one on this 10-year-old server,
00:51:26
◼
►
could no longer read that DBM file.
00:51:28
◼
►
And the DBM file, when I opened it in BBEdit
00:51:33
◼
►
and then tried opening it in like a hex editor.
00:51:36
◼
►
I could see some of the texts,
00:51:39
◼
►
but when you open like a binary database,
00:51:42
◼
►
it's like just a bunch of, it's not human readable.
00:51:44
◼
►
It's a bunch of gibberish.
00:51:46
◼
►
So there's probably some way around it.
00:51:48
◼
►
There's probably some archaic way
00:51:49
◼
►
that I could write more code and force Perl
00:51:51
◼
►
to use the old version of the DB file format.
00:51:56
◼
►
But anyway, I sat there thinking-
00:51:57
◼
►
- But that sounds like setting yourself up
00:51:58
◼
►
for future problems.
00:52:01
◼
►
Well, why didn't I just write it in a simple human readable format? And so I started thinking
00:52:08
◼
►
about it, and I actually broke the seal on it today because I knew you were going to
00:52:12
◼
►
be on the show. I thought, "I've got to write this and see it because I want to talk
00:52:14
◼
►
to Brent about this." And I thought, "Well, what's the stupidest, easiest, most obvious
00:52:19
◼
►
way that I could do it?" And I thought, "Well, I could do JSON. That's superhuman and readable."
00:52:25
◼
►
But then I thought, why even do JSON?
00:52:30
◼
►
But then I thought, ah, but then you're using a JSON library and you have to read everything
00:52:33
◼
►
into a data structure.
00:52:34
◼
►
And if there are 30,000 things, why even have a 30?
00:52:37
◼
►
And then I just sat there thinking and thinking and thinking.
00:52:40
◼
►
And I thought, well, the dumbest thing I could possibly do is just write them to a log file
00:52:45
◼
►
and don't even read the whole thing into a data structure.
00:52:48
◼
►
Just every time there's a new thing, run the whole script, go through the whole log file
00:52:53
◼
►
line by line and see if it's already been posted. Even if it's 30,000 lines long, maybe
00:52:59
◼
►
you have to, if you get unlucky, you have to go all 30,000 lines to find the one you
00:53:03
◼
►
up. Yeah, we already posted it. Don't even read it into a data structure. Never read
00:53:08
◼
►
more than a line at a time. So I wrote like a test file and I loaded it up with a million
00:53:15
◼
►
lines. That would be the equivalent if I had a million posts on Daring Fireball, which
00:53:18
◼
►
I think would take me somewhere around at my pace,
00:53:21
◼
►
like 300 years.
00:53:23
◼
►
So it seems like enough.
00:53:24
◼
►
- I'll still be a reader.
00:53:25
◼
►
- Yeah, and the whole thing runs in a second.
00:53:28
◼
►
- Yeah, right.
00:53:29
◼
►
- Like even in the worst case scenario,
00:53:31
◼
►
where it has to get to the 999,999 log line of the file,
00:53:36
◼
►
it runs in less than about a second.
00:53:39
◼
►
And the actual posting of the tweets to Twitter
00:53:43
◼
►
takes like two seconds anyway.
00:53:44
◼
►
So the whole script always took two or three seconds
00:53:47
◼
►
and I'm only running it every five minutes.
00:53:49
◼
►
- Right, and there's no user interface, you know,
00:53:52
◼
►
relying on this, so it's, yeah, that's perfect, yeah.
00:53:56
◼
►
- And it's literally the stupidest way
00:53:59
◼
►
you could possibly do it, and it's fine.
00:54:01
◼
►
- When I was at Userland, Dave Weiner
00:54:05
◼
►
would have a preference for what he called
00:54:08
◼
►
low-tech solutions, you know,
00:54:10
◼
►
and it was exactly things like this.
00:54:13
◼
►
You know, it turns out this is way faster
00:54:15
◼
►
you think it is and it's just simple human readable. Yeah, that's the way to go.
00:54:21
◼
►
I do think that one of the ways that the computing world has changed from the 90s until now, and it's
00:54:28
◼
►
a way that the Unix world has won out philosophically is that whenever possible, make things human
00:54:39
◼
►
and readable, whether it's a file format that you're writing
00:54:42
◼
►
or a network API that you're sending over the wire.
00:54:47
◼
►
In the '90s, everything was custom binary stuff.
00:54:51
◼
►
And I mean, I don't remember any apps
00:54:55
◼
►
other than literally a text editor like BBEdit,
00:54:58
◼
►
but like in the early '90s, I don't remember any apps
00:55:00
◼
►
who had a file format that was text.
00:55:02
◼
►
Like you couldn't open a MacWrite file in a text editor.
00:55:08
◼
►
everything was binary and network stuff was binary, right?
00:55:11
◼
►
Like it wasn't like when, you know,
00:55:13
◼
►
like Apple talk was speaking in plain text
00:55:15
◼
►
that if you wanted to debug it,
00:55:16
◼
►
you could just look at what's going over the wire
00:55:18
◼
►
and read it.
00:55:19
◼
►
Whereas the Unix philosophy has always been,
00:55:21
◼
►
when it's feasible, make it as human readable as possible.
00:55:26
◼
►
And I feel like the whole industry
00:55:27
◼
►
has come back around on that.
00:55:29
◼
►
Like JSON is a perfect,
00:55:30
◼
►
that the rise of JSON is a perfect example of that.
00:55:33
◼
►
- I remember being so surprised
00:55:38
◼
►
I first saw the web and learned that it's just a text file behind that page and like and you could
00:55:44
◼
►
even figure out what things meant you know if you know that h stands for header then h1 is like oh
00:55:49
◼
►
that's got to be the big one I mean no like holy cow yeah coming from the computing world before
00:55:56
◼
►
then yeah nothing was that transparent or simple yeah well I remember when I figured out how email
00:56:02
◼
►
worked that you could, this is before everything was encrypted, you could just log on to the SMTP
00:56:08
◼
►
server for your host and you would just type email commands and then you can just type the headers.
00:56:15
◼
►
You would just, you could just, instead of using an email client, you could just talk right to the
00:56:18
◼
►
SMTP server and just write to colon space Brent. I think I, yeah, I think I did that exactly once
00:56:26
◼
►
just to prove that like, wow, yeah, Hey, that really works. Well, I did it to send like,
00:56:31
◼
►
like prank messages to other Drexel students from like the Provo saying that they were on academic
00:56:36
◼
►
suspension. And see what I did. I did like that. But what I do is I would, you couldn't manually
00:56:42
◼
►
do it. But you could use AppleScript to make you Dora use a different outgoing email address. Right?
00:56:48
◼
►
Yeah. But then when I did do it, I in those days, everyone had email signatures, which you Dora
00:56:54
◼
►
would automatically apply. So I forgot to turn that off. That was the kind of confusing thing.
00:57:01
◼
►
But yeah. But it was a revelation. It really was though, it I think it not only was a good practice
00:57:10
◼
►
in terms of debug ability and maintain ability. And hey, this, you know, like, I learned this
00:57:18
◼
►
lesson before I should I this is why I'm mad at myself that 10 years ago, John Gruber used this
00:57:23
◼
►
stupid database file for a thing that didn't need to be optimized at all for literally
00:57:29
◼
►
up to a million entries, let alone the tens of thousands that I would ever get to in practice.
00:57:35
◼
►
I can't believe I didn't try the obvious thing first. And by ten years ago, I knew that.
00:57:41
◼
►
I knew better than that, that the person to write comments for when I write scripts and
00:57:49
◼
►
code is not some hypothetical dummy who might be reading my code, and it's me in the future
00:57:56
◼
►
because I'm going to forget everything about why I did it this way.
00:58:01
◼
►
I don't really tweak markdown often, but markdown is—my markdown script is fairly
00:58:07
◼
►
complicated.
00:58:09
◼
►
But I still think it's very well commented because at least when I do want to change
00:58:13
◼
►
something or add something and I go in, I'm like, the only way I can figure out what the
00:58:20
◼
►
hell is going on is by reading the comments. And the comments were all written for me to
00:58:26
◼
►
read in the future. So they're written with respect for what I think will be my intelligence,
00:58:31
◼
►
but they're also written knowing you're going to forget everything about how you did this
00:58:35
◼
►
or why this thing that looks like it doesn't… like it's… why are you doing all this
00:58:40
◼
►
work here that doesn't look like it needs to be done and here's the comment explaining
00:58:44
◼
►
what would happen when you didn't do this.
00:58:48
◼
►
Yeah, right.
00:58:50
◼
►
Speaking of AppleScript, NetNewswire 5.0, AppleScriptable.
00:58:55
◼
►
You know, I had a much longer list of things that were going to be in 5.0.
00:58:59
◼
►
Of course, most of the time I thought it was a 1.0 app and there were a lot of things that
00:59:05
◼
►
But one thing I was adamant about was that AppleScript support had to be in there on
00:59:09
◼
►
day one. People need to know it's there and to expect it. And a friend of mine named Olaf
00:59:14
◼
►
Hellman did all of that work and did a great job.
00:59:18
◼
►
Trenton Larkin One of the... I'd like to talk about that because,
00:59:23
◼
►
you know, it is in some ways a 1.0 app.
00:59:26
◼
►
Jon Sorrentino Yeah, it's a 1.0 app in disguise as a 5.0.
00:59:30
◼
►
Trenton Larkin It's, you know, sort of like a reboot of the
00:59:34
◼
►
franchise. And you know, that's the, the only real complaints I've seen people writing about
00:59:44
◼
►
are the obvious things, which is obvious for every 1.0, which is that, well, here's some
00:59:49
◼
►
feature requests, x, y, and z. And some of them are things that are certainly on the
00:59:53
◼
►
list. You know, everybody has every app has feature requests that you can't get to all
00:59:58
◼
►
of them. But some of them, you know, like the obvious one is that right now, net news
01:00:03
◼
►
wire 5.0 only has one syncing service option, which is Feedbin. If you are a long time or
01:00:13
◼
►
current user of a different feed syncing service, and there are several and there are a bunch
01:00:17
◼
►
of good ones, that's obvious. I guess it's not a non-starter. You could decide to just
01:00:23
◼
►
switch over, but it's probably a non-starter because you want to keep using the iOS app
01:00:29
◼
►
of choice that you're using for feed reading or something like that. But you have to draw
01:00:34
◼
►
the line somewhere, right? I mean, this app has been in the works for five years. So,
01:00:40
◼
►
you know, shipping is an art, right?
01:00:44
◼
►
Yeah. Yeah. And so yeah, there are so many decisions and calls to make. And luckily,
01:00:50
◼
►
I've been doing this a long time. So I have some practice at it. So my thinking when it
01:00:56
◼
►
came to to Feedbin and other syncing systems was I had to have one. I couldn't ship without
01:01:02
◼
►
anything because if I have one it tells the people even if I didn't do theirs it's the
01:01:08
◼
►
kind of thing that we'll do. Right. You know that we care about it and you know it's a
01:01:12
◼
►
matter of adding more rather than doing syncing at all. And it's pretty easy to call to say
01:01:19
◼
►
yeah we want to add Feedly syncing and fresh RSS and Inoreader and you know basically all
01:01:25
◼
►
of them because there's no reason not to. The hard work was getting syncing the infrastructure
01:01:33
◼
►
in the first place and then after that it's really kind of just plugging in the details of
01:01:38
◼
►
the different APIs. So we'll be able to do the rest with less effort. But then there are so
01:01:46
◼
►
many feature requests that I'm not sure if they belong in the app or not or like yeah when you
01:01:54
◼
►
get to that, I think 10% roughly of people probably would like that. So where does that
01:01:58
◼
►
go on the priority list? There's all kinds of stuff like that. So a lot of decisions
01:02:03
◼
►
still to make in the future.
01:02:04
◼
►
Dave Asprey Well, the other big difference between Net
01:02:08
◼
►
News Wire, this Net News Wire project and previously is that it is an open source project
01:02:15
◼
►
both in terms of licensing and in terms of actual practice,
01:02:20
◼
►
where you actually have a community of contributors
01:02:27
◼
►
who are actually writing a lot of the code, right?
01:02:32
◼
►
So in theory, you can have an open source app
01:02:35
◼
►
where you just say, here's my source code,
01:02:36
◼
►
here's an open source license,
01:02:39
◼
►
you can download the source code
01:02:40
◼
►
and do what you want with it,
01:02:41
◼
►
but there may not be a actual community
01:02:46
◼
►
contributing to the app.
01:02:48
◼
►
- Yeah, so that's a whole new thing for me,
01:02:52
◼
►
learning how to manage that kind of community.
01:02:54
◼
►
And it's really tons of fun.
01:02:57
◼
►
I'm enjoying it hugely.
01:02:58
◼
►
And we've been taking it slow.
01:03:00
◼
►
We have maybe a half dozen contributors or so by now.
01:03:05
◼
►
I don't have to manage 40 people or something
01:03:09
◼
►
working on this all at once.
01:03:11
◼
►
But yeah, it's interesting.
01:03:16
◼
►
So one of the things, of course, that can happen is, you know, I might think to myself,
01:03:19
◼
►
"Well, I'd like Feedly syncing next."
01:03:22
◼
►
But then someone comes along and says, "Long, I want to do whatever other system first."
01:03:28
◼
►
And then I'm like, "Okay, go for it.
01:03:31
◼
►
We'll answer any questions, help you out, do it."
01:03:34
◼
►
And they meant that might happen before Feedly happens, for instance.
01:03:38
◼
►
So some things really depend on who comes in and what they feel like working on.
01:03:44
◼
►
The ultimate cause of how things work and what goes in the app or not are still mine,
01:03:49
◼
►
obviously, but there's an element of serendipity, I guess, I don't know what to call it, just
01:03:54
◼
►
based on who shows up and who wants to do stuff.
01:03:57
◼
►
>> One of the interesting technical decisions you made, and I say this, I do most of my
01:04:02
◼
►
computing for long, I won't go into the details, but lately I do almost all of my
01:04:06
◼
►
Mac computing on my MacBook. And that is running Mojave, dot latest, but my iMac, just because
01:04:15
◼
►
of the distance I sit from it and where my eyes are, I don't see it as well. So it's
01:04:20
◼
►
sort of my podcast station. I'm actually using it right now to podcast. But I'm actually
01:04:28
◼
►
very conservative about updating. I'm still running 10.13. I've already forgotten what's
01:04:34
◼
►
the name. I hate it.
01:04:35
◼
►
Is that high Sierra high Sierra? I?
01:04:37
◼
►
Hate the names. I really wish they would stay I like that iOS uses numbers because I can I can always tell which one
01:04:45
◼
►
You know guess what comes after 13 14
01:04:47
◼
►
Right I really but anyway. I'm running high Sierra net news wire
01:04:51
◼
►
5.0 requires
01:04:54
◼
►
10.14.6 or later yeah, and
01:04:57
◼
►
I'm curious of your thinking behind that
01:05:01
◼
►
Well, we do have to draw the line somewhere there has to be you know a baseline and I think it's actually ten point fourteen point
01:05:08
◼
►
Four whatever it was the first release where you didn't have to embed the Swift libraries in the app
01:05:14
◼
►
Hmm, and I think the Swift libraries were bigger than the whole rest of the app combined
01:05:20
◼
►
You know including the app icon and anything and you know
01:05:23
◼
►
That's like a pretty good place to start like we can be one of the first apps that you know
01:05:28
◼
►
You don't need all that. So it's like a five megabyte download. I just I just wonderful
01:05:33
◼
►
I just double clicked it here on my
01:05:35
◼
►
High sierra machine and is it you're correct. It is indeed 10.14.4 is the required version
01:05:41
◼
►
So that to me is also so I get it at a technical level that now
01:05:46
◼
►
Where I just mentioned that before that you no longer have to embed all these swift libraries. Um
01:05:51
◼
►
You can make the download smaller
01:05:54
◼
►
it just is that's just more elegant. But it's also clearly a privilege of being a free and
01:06:02
◼
►
open source project that you probably if you were intending to sell this for $40 I don't think you
01:06:08
◼
►
would have drawn the line there. Probably true. That's it. That's tough, though, because in
01:06:14
◼
►
previous years, I always tended to become more aggressive about requiring the latest OS. And the
01:06:20
◼
►
And the reason is if supporting the previous version, it's more work, it's more testing,
01:06:28
◼
►
it's not nearly as inexpensive as people might think.
01:06:32
◼
►
And so one of the big deals here with NetNewswire is, you know, it is free and open source.
01:06:37
◼
►
We make no money, everyone's a volunteer, I've got a day job.
01:06:40
◼
►
I need to be pretty ruthless about what the priorities are.
01:06:45
◼
►
And supporting an older OS just isn't a priority because that's a problem that kind of solves
01:06:54
◼
►
Every day, there are fewer people still on 10.13.
01:07:00
◼
►
And so it just didn't...
01:07:02
◼
►
And it hurts because, hey, I want everyone to use the app, but it just didn't make sense
01:07:06
◼
►
to make that a priority.
01:07:10
◼
►
So I wanted to draw the line at 10.14, and then 10.14.4 really ended up being the perfect
01:07:19
◼
►
I do think that's one way that the Mac world—I'm not going to say it's worse.
01:07:24
◼
►
It's different, though.
01:07:26
◼
►
And I feel like in the old days, a well-written Mac app would run farther back and further
01:07:33
◼
►
forward without changes.
01:07:37
◼
►
And I feel like for various reasons, developers are more on the treadmill of requiring across
01:07:46
◼
►
And you know, for people who don't know, your day job, you work at the Omni group.
01:07:51
◼
►
But you're not a developer there anymore.
01:07:52
◼
►
You are what you do you have a title or you just unofficially product marketing director.
01:07:57
◼
►
My title is marketing human.
01:07:59
◼
►
Marketing human.
01:08:02
◼
►
And basically, my job is I write for the blog, I do the podcast.
01:08:06
◼
►
Right, you know add sponsorships various stuff like that
01:08:10
◼
►
Interact with users. Yep
01:08:13
◼
►
But the Omni group
01:08:16
◼
►
And do you guys have a hard and fast rule?
01:08:19
◼
►
I mean, I guess it depends on how old the app is that you've got apps that you know
01:08:22
◼
►
New ones that are more recent and probably cut move the cutoff date and ones that are a little you know
01:08:27
◼
►
None of them are old. That's one of the
01:08:31
◼
►
achievements of the Omni group that it's that they've sort of been doing this for
01:08:36
◼
►
25 years and have never really had like a down cycle or let something languish too long
01:08:42
◼
►
But how far back do you guys tend to go at the Omni group?
01:08:46
◼
►
So I think in years past Omni group would go back maybe a couple releases of the OS
01:08:53
◼
►
I think these days it's more likely to be
01:08:55
◼
►
Back one. Yeah, I don't know. It's not all in my head
01:08:59
◼
►
But I think yeah Omni has moved along with the rest of the industry to be a little more aggressive about that
01:09:04
◼
►
And frankly, you know, it's easier now, but you know back in that hmm. I mean you had to go by
01:09:10
◼
►
Jaguar right right ten dot two. I mean I remember people lining up outside the App Store
01:09:15
◼
►
You know to get the new Mac OS release these days, you know, it's just it was also suffer update
01:09:22
◼
►
It was also expensive. I got I believe the first few updates at Mac OS 10 were like 120 bucks
01:09:27
◼
►
- Absolutely right.
01:09:29
◼
►
- Yeah, and people would line up.
01:09:31
◼
►
- Yeah, they totally would, yeah.
01:09:32
◼
►
- 120, could you imagine if they,
01:09:34
◼
►
could you even imagine if like next month,
01:09:37
◼
►
Apple, Phil Sheeler comes on stage
01:09:40
◼
►
and he's proud to introduce,
01:09:42
◼
►
we told you about it at WWDC, here's Mac OS Catalina,
01:09:47
◼
►
and it's $120. (laughs)
01:09:49
◼
►
- Yeah, right, and it ships on DVDs.
01:09:51
◼
►
- I think people would laugh, even if he didn't say DVDs,
01:09:54
◼
►
Even if you just said it was going to be $120 in the app store, I think the audience would
01:09:59
◼
►
laugh. I don't even think they would believe them. I think it would play as a gag even
01:10:03
◼
►
if they were serious. And I think that there's such a high percentage of Apple customers
01:10:10
◼
►
across all the platforms, including the Mac, which is neat in my opinion when they talk
01:10:16
◼
►
about how many new to the Mac customers they still have every quarter. I think you would
01:10:22
◼
►
have a hard time convincing them that 10 years ago we paid $120 to get the new version of
01:10:29
◼
►
Yeah, and not only that, people lined up long lines around the block to get the new Mac
01:10:37
◼
►
The other another long standing developer, I know you use and love the app, but BB Edit
01:10:42
◼
►
from barebone software has also and it's just why I've no another app that I've noticed
01:10:47
◼
►
the trend where BB Edit is—I don't know what its current requirements are, but I think
01:10:53
◼
►
somewhere, like you said, I think it's pretty much like current minus one. And for similar
01:11:00
◼
►
reasons. It's just too hard to test, too hard to—almost to put your name behind,
01:11:06
◼
►
right? Like if you tried to support further back, you don't want—you're not trying
01:11:12
◼
►
to anger. Like if you have a customer who is very conservative about updating their
01:11:18
◼
►
system software and they have a Mac running Mac OS 10.12, say, or, you know, I don't
01:11:26
◼
►
know. My parents' iMac is probably running like 10.12 or something like that. You know,
01:11:32
◼
►
whether through apathy or whether through just a very conservative nature, which is
01:11:38
◼
►
very reasonable, right? Especially if you're using machine for, you know, some kind of
01:11:41
◼
►
of important production stuff and you've got everything working just right and you
01:11:44
◼
►
know it all just works right and you just don't want to take a chance that updating
01:11:49
◼
►
the system. And all sorts of stuff does break. I believe Catalina is going to finally break
01:11:58
◼
►
32-bit compatibility. So if there are any apps that people depend on that are 32-bit
01:12:06
◼
►
Mac apps, you better not update to Catalina.
01:12:10
◼
►
So it's reasonable.
01:12:11
◼
►
Well, after all these years, Userland Frontier, this is the last OS it runs on.
01:12:16
◼
►
Because it's a 32-bit app and the work to 64-bit eyes, I don't know what the verb is.
01:12:22
◼
►
I don't know how to verb it.
01:12:24
◼
►
64-bit eyes, that works.
01:12:25
◼
►
64-bit eyes is, I'm not going to say impossible, but it's akin to rewriting it, I would guess.
01:12:32
◼
►
Knowing how old that C code is and how many assumptions there are.
01:12:36
◼
►
Well, and that that C code is using carbon API's and right. Yeah. So you just start from
01:12:43
◼
►
scratch. Yeah.
01:12:49
◼
►
But you know, so you want to respect those customers and you would like to make them
01:12:52
◼
►
happy. But there's a part of there's a part two that you want to say to them, you just
01:12:56
◼
►
want to be honest with them and say, I get it, I get why you're still running an old
01:13:01
◼
►
version of Mac OS. And I respect that. We respect that as a company or whatever. But
01:13:06
◼
►
we can't stand behind the latest version of our app running on that because we don't have
01:13:09
◼
►
the resources to test it adequately.
01:13:11
◼
►
Yeah, that's right.
01:13:13
◼
►
So keep running our old version of our app.
01:13:16
◼
►
And that's what I, you know, people have asked me about menus quite a bit.
01:13:19
◼
►
And so I say, yeah, I wish I had a better answer for you, but our priorities are with
01:13:24
◼
►
new features rather than the great amount of work that that would entail.
01:13:29
◼
►
And, you know, sooner rather than later, 10.14 is going to be old.
01:13:35
◼
►
I'm another thing people have commented on with net news where five is that there as
01:13:44
◼
►
of this moment there's no theming options at all. It's you know articles all render
01:13:51
◼
►
with this default article theme modern generous font sizes but very very I think it's very
01:13:59
◼
►
appropriate as the default theme and I find it very readable and I read a lot of stuff
01:14:04
◼
►
with it every day. But it's also very generic. It is very much along the lines of, you know,
01:14:13
◼
►
it's using the system font, so it's San Francisco. It's very plain, which I think is great as
01:14:21
◼
►
a default, but obviously some people would, you know, and NetNewsWire has a history of
01:14:26
◼
►
supporting themes that you could customize to the full extent of what CSS and HTML allow.
01:14:33
◼
►
Yeah, so that's something I'd like to get to fairly soon. When that feature first came
01:14:39
◼
►
out in NetNix Wire 2, people really loved it. And people would make new themes and send
01:14:45
◼
►
them to me, and some of them I would actually include in the app.
01:14:49
◼
►
Did you include mine? I think you did.
01:14:51
◼
►
Yeah, was yours the one that looked like male, basically?
01:14:54
◼
►
Yeah, sort of.
01:14:55
◼
►
Yeah, I think I did, yeah.
01:14:57
◼
►
Yeah, it looked like a cross between male and male smith.
01:14:59
◼
►
Yeah, okay. Yeah, that was in there.
01:15:02
◼
►
that was tons of fun and so people really that was just a way to have fun with the app and um
01:15:07
◼
►
I I you know I love that so there were um yeah that was just a great thing and and I get why
01:15:14
◼
►
people might not want the you know plain kind of default theme yeah I totally do so I would like to
01:15:20
◼
►
not only make uh do that feature but make the old net newswire themes compatible so you can use an
01:15:27
◼
►
old theme file and just, I don't, I don't know. I don't know how that'll turn out, but I don't
01:15:33
◼
►
know. Give it a try. That's an interesting idea, but I don't know about that. I, it shouldn't be
01:15:39
◼
►
difficult to find out if it's cool or not. So that's like an evening's work. I suspect.
01:15:43
◼
►
Do you read more, do you subscribe to more feeds now than you used to about the same or fewer?
01:15:48
◼
►
In the old days, I used to have around 150. These days I have double that.
01:15:56
◼
►
Read fewer but the ones who I because and what I've but I what I do is I've unsubscribed
01:16:02
◼
►
Or stopped subscribing to
01:16:06
◼
►
Feeds from bigger publications like
01:16:14
◼
►
Because they don't they don't put the you know, if they don't put the full article in the feeds
01:16:20
◼
►
I just don't I don't want it. I don't want it. I don't want it
01:16:23
◼
►
I don't want to use net newswire just to know that there's something new there
01:16:26
◼
►
It's I really do want to do my reading in the app
01:16:32
◼
►
Lot of my feeds are from people who blog like once a month or whatever
01:16:35
◼
►
I mean there are plenty like yours that are more frequent bloggers, but there are people who don't write that often
01:16:41
◼
►
But when they do I sure want to see it
01:16:43
◼
►
The old net newswire had a feature that I love
01:16:46
◼
►
Where I forget what the cutoff was but if a feed hadn't been updated in X
01:16:52
◼
►
Days. Oh, yeah, right. It would turn the name of the feet Brown. Yes
01:16:57
◼
►
And people would say oh god, my blog has turned Brown and then whose wire
01:17:01
◼
►
Any thought to bring a nap back yeah, I've thought about it I
01:17:07
◼
►
intended to at least have the the old dinosaurs window in in
01:17:13
◼
►
The new that news wire and I you know, I still might but it got cut for the shipment
01:17:19
◼
►
But so that was a related feature where you could open up a window that would show you all your dinosaurs
01:17:24
◼
►
And you could pick whatever last hasn't been updated in 30 days or 90 days or whatever and you could see which ones
01:17:33
◼
►
Apparently dead and you could unsubscribe right from there
01:17:35
◼
►
But yeah that was related to the brown feeds feature
01:17:39
◼
►
One of my favorite little things and it was funny because I didn't I guess I noticed it but I only noticed it subliminally
01:17:49
◼
►
because I didn't complain about it. It was Josh Ginter who wrote the Sweet Set-Up Review
01:18:01
◼
►
of NetNewswire. I linked to it yesterday when I linked to the NetNewswire announcement.
01:18:07
◼
►
But he pointed out explicitly that right now there's not a lot of Smart Feed options
01:18:12
◼
►
in NetNewswire, but one of them is Last Day, which is to me super useful. But he observed
01:18:18
◼
►
And it's something, like I said, I noticed it subliminally because I hate when software
01:18:22
◼
►
works the other way.
01:18:23
◼
►
But last day doesn't mean like from midnight on.
01:18:26
◼
►
It means like whatever time it is, it's like a rolling 24 hours.
01:18:31
◼
►
And it's called actually called today.
01:18:34
◼
►
Like, yeah, we're stretching the meaning.
01:18:36
◼
►
But yeah, I mean, come on.
01:18:38
◼
►
I only had a couple of complaints.
01:18:40
◼
►
As a night owl who does often does read after midnight, you know, like I've trying to think
01:18:47
◼
►
what apps. I feel like there's a way that I set up a smart—I have a similar smart
01:18:52
◼
►
mailbox in Apple Mail. But I think that like on iOS where you can't—I could be wrong.
01:18:59
◼
►
If I'm wrong, forgive me. But I think that on iOS where you can't—you don't customize
01:19:04
◼
►
your smart feeds. You only get the ones that are built in. There is no customization. The
01:19:10
◼
►
Today feed cuts off at midnight.
01:19:13
◼
►
And I hate it.
01:19:14
◼
►
Oh, it makes me mad all the time.
01:19:16
◼
►
I'll like check and I'll be like,
01:19:18
◼
►
"I need to make sure I don't have an email."
01:19:20
◼
►
I'm like, "I only have 200 emails today, that's great."
01:19:22
◼
►
And then I realized it's 1205.
01:19:25
◼
►
And I have like 98 from yesterday
01:19:27
◼
►
and I have to fish them out.
01:19:29
◼
►
It's just little things like that
01:19:31
◼
►
that make me happy about apps.
01:19:33
◼
►
Like you said, it should be fun to use an app.
01:19:39
◼
►
And I kind of feel like in some ways we've gotten away from that, even though computers
01:19:46
◼
►
are more powerful than ever, but I feel like we're not using them for fun. We're using
01:19:49
◼
►
them for stuff that's not fun, like sandboxing.
01:19:53
◼
►
Jared: And one of the things that kills me about so many apps these days is despite these
01:19:58
◼
►
amazingly fast computers, they have gotten so slow. The apps have gotten so slow. It
01:20:05
◼
►
It just feels like a slog sometimes. So my design goal here was, you know, make it just
01:20:11
◼
►
freakishly snappy.
01:20:13
◼
►
Pete: Well, I think you succeeded.
01:20:15
◼
►
Jared: Thank you.
01:20:16
◼
►
Pete; One of my other favorite things, and it is a hallmark of NetNewswire, I would have
01:20:20
◼
►
told you as a friend, I would have taken you aside, had an intervention and told you you
01:20:25
◼
►
cannot ship without it, is arrow key navigation through the app.
01:20:32
◼
►
Which I really I wish could have like I don't understand. I want to go around
01:20:37
◼
►
Cupertino and bang Apple people's heads and you know
01:20:42
◼
►
just slap them upside the head and say look at how in this app you can just use these arrow keys and move between pains and
01:20:48
◼
►
everything happens very fast and
01:20:50
◼
►
When you go down in the list, you don't have to wait for the next thing to load
01:20:54
◼
►
It's just as soon as it takes more time to press the button the arrow key button than it does for the view to render
01:21:00
◼
►
It feels, I always said it makes net news. It makes it feel like you're playing a game to go
01:21:07
◼
►
through net news wire. It has like the low latency of a game to just move around your articles.
01:21:13
◼
►
Yeah. Yeah. And all the single key shortcuts. My favorite new one, I don't, I can't believe
01:21:19
◼
►
I never thought of it before. And someone actually suggested it is to use the N key for next unread.
01:21:24
◼
►
Oh, I didn't just never had that, but that's new in 5.0. Oh, I like that. Yeah. Yeah. I
01:21:30
◼
►
I use that all the damn time.
01:21:32
◼
►
- So one of the things that another hallmark
01:21:34
◼
►
of net newswire, and it works, it sounds crazy.
01:21:37
◼
►
And I think back in like,
01:21:39
◼
►
whenever you first started doing it, 2002, 2003,
01:21:41
◼
►
it was early on, but you use naked alphabet keys,
01:21:46
◼
►
or I should say unmodified alphabet keys as shortcuts.
01:21:53
◼
►
So you don't have to press Command + K to mark a feed.
01:21:57
◼
►
All the articles is read.
01:21:58
◼
►
You can just hit K.
01:22:01
◼
►
- And so to get to the next article,
01:22:02
◼
►
you don't have to hit command N
01:22:04
◼
►
'cause command N would be new.
01:22:06
◼
►
I don't know what that would do in that news wire, but.
01:22:08
◼
►
- Oh yeah, so it's already used,
01:22:10
◼
►
but you can hit just plain N, no modifier,
01:22:12
◼
►
which when you first started,
01:22:15
◼
►
when you first implemented that,
01:22:17
◼
►
the traditionalist in me,
01:22:19
◼
►
almost religious, I know what idiomatic Mac software
01:22:26
◼
►
is supposed to be like,
01:22:28
◼
►
And part of the reason I love Brent Simmons' work
01:22:33
◼
►
is that he clearly gets it too.
01:22:34
◼
►
I remember thinking, did this guy have a stroke?
01:22:36
◼
►
What is wrong with him?
01:22:37
◼
►
You can't do that.
01:22:40
◼
►
But then I tried it before I complained.
01:22:43
◼
►
And I was like, you know what?
01:22:43
◼
►
You can do this because it's not really an editing app.
01:22:47
◼
►
And if you are editing like the name of a feed
01:22:51
◼
►
or that brief era when NetNewswire actually had
01:22:54
◼
►
a blog editor built into it,
01:22:57
◼
►
which eventually was spun out and is still live today as Mars Edit with our friend Daniel
01:23:02
◼
►
Jowkut at Red Sweater. If you were in an editing view, of course hitting K didn't mark the
01:23:09
◼
►
current feed on red. It typed K. It somehow seemed wrong to me, and then I realized in
01:23:16
◼
►
practice as long as they're only active when it makes sense in terms of what currently
01:23:23
◼
►
has the input focus, it'll never get in the way. And I love it.
01:23:31
◼
►
I mean, the app is basically, in a generic sense, just a database navigation app. So,
01:23:37
◼
►
yeah, why not make it fast and simple?
01:23:39
◼
►
I would really like that feature in Mail. I guess it's one of those things where I
01:23:45
◼
►
could probably—well, see, there's a lot of things you can do with like Keyboard Maestro
01:23:50
◼
►
or Apple scripts or something like that.
01:23:52
◼
►
And a lot of times when I think of features where I want to request to somebody and then
01:23:55
◼
►
I think, "Well, let me see if I can hack it together with Keyboard Maestro," and it works
01:23:58
◼
►
perfectly and I think, "Well, then I won't bother them."
01:24:02
◼
►
I wish mail had a next on red command.
01:24:06
◼
►
That's exactly what I'm thinking.
01:24:07
◼
►
Boy, that would make my life easier where I could just skip through and I don't want
01:24:10
◼
►
to have to scroll because, you know, it's like sometimes you get these marketing emails
01:24:14
◼
►
and it's like just to scroll to the bottom is like six hits of the space bar, you know?
01:24:19
◼
►
that. I know I don't want to read this. I just want to go next. Next, next, next.
01:24:23
◼
►
Jared: And maybe another key that deletes it and then goes to the next.
01:24:28
◼
►
Pete: Yeah. Archives or whatever you kids do today. I like deleting.
01:24:32
◼
►
Jared; No, deleting is great.
01:24:33
◼
►
Pete; I think I actually let the domain expire so I can tell the story. I've tried to give up on my
01:24:44
◼
►
terrible collection of domain names that go unused. Remember, this is back in the same
01:24:51
◼
►
era, that early 2000s era. Remember when our friend Merlin Mann was talking about inbox
01:24:59
◼
►
zero? And inbox zero was like a philosophy, a way—a philosophy combined with a series
01:25:07
◼
►
of strategies to keep your email inbox at zero on reds, and it would make you feel better
01:25:13
◼
►
about your life. I do it every single day.
01:25:17
◼
►
I don't. Let's see how many un-reds I have. I wish I could. It would make me feel better.
01:25:25
◼
►
It actually is a source of anxiety. My four main email accounts have 37 un-red. That's
01:25:33
◼
►
had. 1,228. 6,408. Nope. It just went up because I launched it. 6,914 and then 13,000. Nope.
01:25:48
◼
►
13,600. Nope. The one with 6,000. This tells you how long it's been since I launched mail
01:25:56
◼
►
on this iMac. What did I say? Was it 6900? It's actually at 7800. I just downloaded 900
01:26:05
◼
►
emails while we're talking. And I actually declared bankruptcy on that one earlier in
01:26:11
◼
►
the year where I couldn't bring myself to mark them as red. So what I did is I created
01:26:18
◼
►
a new mailbox and then selected them all, left the red state as it was and just moved
01:26:24
◼
►
them to that mailbox out of the inbox. But anyway, there was this inbox zero and it was
01:26:32
◼
►
a popular thing and I think it was a fine idea. But I registered the domain name select
01:26:40
◼
►
And I was going to make a single page website with my... You've heard of inbox zero? Let
01:26:48
◼
►
Let me tell you about a better way. It's called select all and delete. Step one, select all
01:26:54
◼
►
messages in the mailbox. Tip, command A. Step two, hit the delete key.
01:27:03
◼
►
It's going to be easier.
01:27:06
◼
►
Step three, we'll walk away. Select all delete. I'll tell you what, my feeds stay close to
01:27:16
◼
►
zero for the most part. I find it very—and it's very different because there's no
01:27:21
◼
►
spam. There's no email marketing. I don't get marketing messages in RSS. I don't get
01:27:27
◼
►
pitches from PR companies in RSS. And there's other people, everybody to each their own.
01:27:36
◼
►
I'm sure some people subscribe to 500 feeds and never, never ever catch up. I know Dave
01:27:42
◼
►
Dave Weiner, who co-invented, who you worked with and you mentioned before and has done
01:27:47
◼
►
so much work in terms of actually literally creating the RSS formats and popularizing
01:27:53
◼
►
the use of them for blogging and helping to create podcasting, etc., etc., is a believer
01:27:59
◼
►
in what he calls a river of news, where you just subscribe to stuff you're interested
01:28:02
◼
►
in, put them all in one stream, and just read until you get bored. Scroll down until you
01:28:08
◼
►
get bored and then come back later and there'll be new stuff at the top, which is sort of
01:28:12
◼
►
of, I think, how most people read Twitter, right? Yeah, I think so too. I realize that,
01:28:16
◼
►
you know, I don't know how many other John Siracuses there are who are Twitter completionists,
01:28:21
◼
►
but I subscribe to way too many feeds in Twitter. To me, Twitter, the success of Twitter,
01:28:27
◼
►
popularity of Twitter is validation of the Dave Weiner river of news theory. Yeah, I think
01:28:34
◼
►
Facebook's similarly. Yeah, people just kind of read through the stream until they're bored or
01:28:39
◼
►
or whatever. Yeah. But that's not how I use RSS. It's how I use Twitter and I'm happy
01:28:43
◼
►
to use Twitter that way. But I use Twitter where if there's a feed where I feel like
01:28:47
◼
►
I've got like a lot of unreads and I feel like I don't feel like reading this, I just
01:28:50
◼
►
unsubscribe. I ruthlessly unsubscribe to RSS feeds these days. Whereas in the early days,
01:28:56
◼
►
I would just keep adding and maybe just like drag them to the bottom or something. I'm
01:29:00
◼
►
pretty ruthless about just marking stuff as red, you know, without really looking at it
01:29:06
◼
►
Mean these things it's not email. It's not addressed to me
01:29:09
◼
►
I don't have to see it and I can trust the universe that you know, if there's something really important
01:29:14
◼
►
I'll see it somehow some way so
01:29:16
◼
►
The K the K button
01:29:19
◼
►
That's what K stands for. I
01:29:21
◼
►
Love it. All right. Let me take a break here. I think our second and final sponsor of this episode
01:29:28
◼
►
Which because it's the end of August is a little abbreviated. It's our friends at Express
01:29:35
◼
►
VPN virtual private network you ever use a public Wi-Fi network at an airport or
01:29:41
◼
►
Coffee shop and maybe like your iPhone will warn you when you connect. Oh say hey, this network is not secure
01:29:46
◼
►
Maybe you look around like a good way to tell you're on a public Wi-Fi network as you go to the sharing sheet and
01:29:53
◼
►
everybody else in the airport terminal where you are or maybe on the plane like when you're on the go-go thing and the plane and
01:30:00
◼
►
You see all of these random strangers in the the airdrop list
01:30:05
◼
►
That's because you're all on the same network and it's not encrypted.
01:30:08
◼
►
A VPN is a secure encrypted way.
01:30:12
◼
►
You connect to a VPN, you can use a public network.
01:30:14
◼
►
Your connection to the internet is over SSL directly to the VPN provider and then everything
01:30:20
◼
►
else goes through there.
01:30:22
◼
►
It's all encrypted on the local network and you won't have that problem.
01:30:28
◼
►
Much more secure.
01:30:29
◼
►
Some companies require VPNs for obvious reasons to do company work because it's that much
01:30:37
◼
►
that difference. It's a difference between insecure and secure. But you could use one
01:30:42
◼
►
and for your own private use and ExpressVPN is a great way to do it. It secures and anonymizes
01:30:48
◼
►
your internet browsing by encrypting your data and hiding your public IP address from
01:30:52
◼
►
the sites you visit. So it also helps reduce tracking because sites don't see your IP
01:30:58
◼
►
they see ExpressVPN's IP address. They've got easy to use apps that run seamlessly in
01:31:04
◼
►
the background of your computer, your phone, your tablet, and turning on ExpressVPN protection
01:31:10
◼
►
only takes one click. You don't have to be a network administrator or a computer expert
01:31:16
◼
►
or security expert to configure weird things. Really, one click, one tap on the phone app
01:31:22
◼
►
and you're boom, you're connected to ExpressVPN. You can safely surf on public Wi-Fi without
01:31:27
◼
►
being snooped on or having your personal data stolen. And it costs less than seven bucks
01:31:32
◼
►
a month to start using it. It's the number one rated VPN service by TechRadar and it
01:31:36
◼
►
comes with a 30-day money back guarantee. So if you don't like it, cancel it, get your
01:31:41
◼
►
seven bucks back. Protect your online activity today and find out how you can get three months
01:31:46
◼
►
free. So in addition to just being seven bucks a month regularly, you can get three months
01:31:50
◼
►
free by going to ExpressVPN.com/tts. That's ExpressVPN.com/tts, tts for the talk show.
01:32:02
◼
►
And you'll get three months free when you sign up for a one-year package. Let me do
01:32:07
◼
►
some follow-up. I gotta get this off my chest. I don't want to bore you. Did you listen to
01:32:13
◼
►
the show with Dalrymple? I think you did because we talked about NetNewswire.
01:32:15
◼
►
Yeah, I did. I kind of spaced out during some of the apple card. Yes. Well, guess what?
01:32:20
◼
►
That's what the follow ups about. Excellent. All right. Here's a problem I had with apple
01:32:25
◼
►
card. And I talked about it with Jim, which was that I signed up for apple card. And the
01:32:31
◼
►
signup was just as easy as promised. And boom, there it is in my in my phone's wallet app.
01:32:38
◼
►
The day after I recorded with Jim, doorbell rang and FedEx or UPS or somebody put an envelope
01:32:44
◼
►
through the mail slot and there was my actual card had the actual physical titanium card.
01:32:51
◼
►
But the one thing I didn't have was an easy way to switch my Apple stuff to use Apple
01:32:56
◼
►
card and that was one of the reasons I signed up for the card was because you you get your
01:33:00
◼
►
iTunes purchases or like I pay 10 bucks a month for iCloud storage. I want all that
01:33:06
◼
►
stuff on the Apple card. I get 3% cash back. There was no easy way to do it. What I had
01:33:11
◼
►
to do and I talked about it last week was the only way I could see to do it was to go
01:33:15
◼
►
in and enter the credit card number, the 16 digits and the expiration and the secret CV
01:33:21
◼
►
V code all manually like a like an animal. And then it just showed up in my list as a
01:33:26
◼
►
quote, MasterCard with a generic MasterCard logo instead of Apple card. I can verify that
01:33:33
◼
►
while I was in that state, I was still getting 3% cash back on Apple purchases, but it didn't
01:33:40
◼
►
seem right. Anyway, long story short, I reached out to Apple and top people on the Apple,
01:33:48
◼
►
Apple hard table, uh, looked into it. And the problem was that I'm one of the old, old
01:33:54
◼
►
farts who has two Apple IDs in active views. Actually I have a bunch of Apple IDs, Mike,
01:33:59
◼
►
my Apple developer connection, one's a separate one, but I've got an iCloud account, which
01:34:04
◼
►
I use for like iCloud storage and iMessage and all of that. It's a Mac.com address, but
01:34:13
◼
►
I don't use that for iTunes. I signed up for iTunes way back when using a daring fireball
01:34:18
◼
►
address and I suspected that might be the problem, but the real problem is that I didn't
01:34:26
◼
►
have two factor authentication on the store account. I only turned on two factor for the
01:34:32
◼
►
iCloud account. Oh, God, this is tedious, john. It is tedious. It's probably a bad idea.
01:34:39
◼
►
But my thinking was, what do I really care about? With two factor? I don't want to get
01:34:43
◼
►
hacked. I don't want anybody hacking my email. I don't want anybody hacking my iCloud backups.
01:34:50
◼
►
You know, I've got important data in iCloud. I don't really care if my iTunes account gets
01:34:55
◼
►
hacked. What are people going to do watch the movies I've already bought? No, I don't
01:35:00
◼
►
care? Are they going to buy a movie that I don't want? Well, then I'm going to get
01:35:04
◼
►
the notification from my credit card and I'm going to see that it was fraud and they'll
01:35:09
◼
►
take care of it, right? There's not as much downside. And I felt very confident that my
01:35:13
◼
►
password was adequately secured. It's a unique password that I don't use anywhere
01:35:18
◼
►
else. But anyway, Apple Pay doesn't work without Two-Factor. And so the fact that I
01:35:24
◼
►
this split account was the thing. And once I turned two-factor on the other account,
01:35:31
◼
►
I was able to add the Apple Card magically the way you're supposed to. So there you go.
01:35:37
◼
►
Nice update on that story. The other thing is I said, "Hey, wouldn't it be nice if you
01:35:41
◼
►
could use your Apple Cash to pay your Apple Card credit balance?" Turns out you can do
01:35:49
◼
►
this but I didn't realize it because the only way it's exposed is when you go into the Wallet
01:35:54
◼
►
app, you click your Apple card, and you click Pay Early. Instead of waiting for your bill
01:36:00
◼
►
to be due and getting a notification, you can just pay it off whenever you want. If
01:36:04
◼
►
you pay now, you get the little slide-up sheet from the bottom that says, "Here, confirm
01:36:08
◼
►
it." You can switch the source of your payment in that sheet from your bank account to your
01:36:14
◼
►
Apple Cash card. Even if you only have $5 on your Apple Cash card, you can just put
01:36:20
◼
►
it right towards your Apple credit card. I didn't realize it because I hadn't tried
01:36:24
◼
►
to pay the card, so I didn't realize that it was there. I was just looking at the section
01:36:29
◼
►
where you can add bank accounts. I thought, "Wouldn't it be nice if you could add
01:36:32
◼
►
your Apple cash card?" So anyway, you can do that.
01:36:36
◼
►
And then last but not least, I was talking to Jim about a guy who I remember fondly from
01:36:43
◼
►
the '90s on the Home Shopping Network who would yell and scream at you to buy baseball
01:36:49
◼
►
cards and tell you you would regret this for the rest of your life. A couple of listeners
01:36:57
◼
►
remember him fondly as well and they have better memories than me. They remember his
01:37:00
◼
►
name. His name was Don West. He apparently was also involved with pro wrestling up in
01:37:05
◼
►
Canada, which tells you a lot about his attitude. So, I'm going to put a link in the show notes
01:37:11
◼
►
to a YouTube video. You can watch him doing his thing. You're going to think I was drunk
01:37:18
◼
►
high to have enjoyed watching this on a nightly basis and you'd be right. And then also, Will
01:37:26
◼
►
This deal makes no sense.
01:37:28
◼
►
Exactly. You're going to regret this for the rest of your life. SNL had a series of
01:37:33
◼
►
skits in the '90s where Will Farrell played him and they're hilarious, including one
01:37:40
◼
►
where instead of selling baseball cards, they're selling Star Wars memorabilia and then they
01:37:46
◼
►
they they're trying to sell Mark Hamill for $80,000. Well, that's
01:37:53
◼
►
a discount. Yeah. So there's that's it for follow up. Trying
01:38:01
◼
►
to think what else is going on here. I still can't get Apple
01:38:03
◼
►
cash set up on my phone. Why bugged? I don't know. I you know,
01:38:07
◼
►
there's big button to press, I press the button, turns into a
01:38:11
◼
►
little spinny spins for a while, then turns back into a button.
01:38:14
◼
►
Do you have two factor on it?
01:38:15
◼
►
Yeah, no, probably.
01:38:18
◼
►
I don't know.
01:38:18
◼
►
That would be my sentence.
01:38:21
◼
►
I know, but I, yeah, I'm pretty sure I do.
01:38:23
◼
►
You would think at some point it would tell me there was an error and what it was.
01:38:27
◼
►
Nah, just spins, gives up.
01:38:31
◼
►
Um, do you see that, uh, breaking news before we started recording that Jack
01:38:35
◼
►
Dorsey's Twitter account was hacked?
01:38:37
◼
►
I just saw the headline, but no, no details.
01:38:40
◼
►
I'm, I'm delighted wrongly.
01:38:43
◼
►
it should, you know, that's a terrible thing. Yeah, because it could be it could be anybody.
01:38:49
◼
►
Well, there's one part there's one particular person who and I even when I wrote about it on
01:38:54
◼
►
during fireball, there's one particular person who I'm terrified of having his Twitter account hacked.
01:38:59
◼
►
Because I believe it could literally lead to like, a shooting war. Sure. Yeah, yeah.
01:39:05
◼
►
So if we know that is if Jack Dorsey's Twitter account could be hacked, I, I worry I sincere,
01:39:13
◼
►
I don't think it's an overblown concern. I mean, Jack Dorsey, I think, understands how
01:39:17
◼
►
Twitter works a lot better than the other guy I'm thinking of.
01:39:22
◼
►
And so, if he could be hacked and somebody could spew a bunch of racial nonsense or whatever
01:39:28
◼
►
they were posting, I think it would be pretty… You got to worry that it's possible that
01:39:33
◼
►
you know whose Twitter account could be hacked and somebody could post something truly dangerous.
01:39:40
◼
►
So I want to laugh.
01:39:42
◼
►
Yeah, but I kind of am laughing. I would be delighted, this should not happen, if the
01:39:50
◼
►
president's account were hacked and somebody came on and started like posting rational,
01:39:55
◼
►
non-racial nonsense. It just seemed like presidential and good.
01:40:02
◼
►
I would salute that. I mean, that would be-
01:40:04
◼
►
But honestly, no, don't do it.
01:40:07
◼
►
to it. But I'm trying to think. It's the end of August. There's not a lot of news.
01:40:14
◼
►
What about the—I know everybody's talking about it. Jim and I talked about these rumors.
01:40:20
◼
►
I'll bring it up with you, and then I'll leave it alone until we find out if it actually
01:40:24
◼
►
ships. But the whispers on the street that Apple might be in some way with some products
01:40:30
◼
►
returning to the six-color Apple logo.
01:40:32
◼
►
Yeah, I wonder, I mean, I do walk the streets a lot and I hear people talking as they walk
01:40:38
◼
►
by. Yeah, I don't know. I saw that. I saw the events and that would be cool. But weren't
01:40:45
◼
►
there only five colors in that?
01:40:46
◼
►
No, it's six.
01:40:47
◼
►
It is six? Okay.
01:40:48
◼
►
Yeah. And that's actually where our friend Jason Snell's sixcolors.com comes from.
01:40:54
◼
►
Yeah, right. Sure. Yeah.
01:40:57
◼
►
the, and they do go in rainbow order. It's just that they like bit shifted by two. And
01:41:04
◼
►
so instead of starting at like red, orange, yellow, green, blue, violet, they, uh, uh,
01:41:13
◼
►
starts with green at the top and then it's got blue at the bottom.
01:41:17
◼
►
Eric Michael Rhodes I would like to see Apple just kind of return
01:41:20
◼
►
to more color, uh, in general. Like I have mail open in one of my computers right now
01:41:25
◼
►
I'm looking at the sidebar, which is gray on corpse blue
01:41:30
◼
►
and like, yeah, they used to be able to use colors
01:41:34
◼
►
for things and that it was actually really nice.
01:41:38
◼
►
- I mean, it's been this like,
01:41:39
◼
►
it seems like the post linen era where everything
01:41:41
◼
►
has to be just kind of blue, gray and--
01:41:46
◼
►
- Right, and even when they use a different color,
01:41:48
◼
►
like in the notes app, everything is yellow.
01:41:50
◼
►
- Yeah, right.
01:41:51
◼
►
- I hope so too.
01:41:54
◼
►
I feel like the pendulum has to swing back on that.
01:41:56
◼
►
And I actually think it's interesting.
01:41:58
◼
►
And you've always been, I mentioned this,
01:42:00
◼
►
but like NetNewswire 5 looks very, very much
01:42:03
◼
►
like a 2019 Mac app should,
01:42:06
◼
►
but there's a little bit of color in those toolbar icons.
01:42:11
◼
►
- And it goes out of its way to highlight
01:42:14
◼
►
the feed icons coming from all over.
01:42:17
◼
►
- And that adds an awful lot of liveliness to it too.
01:42:19
◼
►
- But I think it's sort of telling about how far
01:42:22
◼
►
to the extreme, the current aesthetic is that NetNewswire 5 counts as a colorful Mac app.
01:42:30
◼
►
true. Yeah. Right. Yep.
01:42:34
◼
►
You know, and I don't want to blame everything on Johnny Ive, but I blame Johnny Ive.
01:42:39
◼
►
Well, because it's his fault.
01:42:42
◼
►
Right. I can't help it. You know, and I, you know, I don't know how far in advance is,
01:42:48
◼
►
his exit from the company, retirement, whatever you want to call it, was known. How much of
01:42:55
◼
►
this was still up in the air when they were making the decisions for what iOS 13 and MacOS
01:43:01
◼
►
10.15 Catalina. See, I can't even remember the goddamn numbers. But I can't help but
01:43:08
◼
►
feel that if there's going to be some kind of post-Johnny Ive pendulum swing in the other
01:43:15
◼
►
direction it wouldn't have been this year. It'll start next year.
01:43:19
◼
►
Oh sure, yeah. Yeah, that makes sense.
01:43:22
◼
►
Anything else that you wanted to talk about before we sign off for this Labor Day weekend?
01:43:30
◼
►
No. I guess there's an Apple event coming up. We've got new OS's. People seem to be having a
01:43:37
◼
►
rock—developers are having kind of a rocky summer. And I don't know what to say about that. Some
01:43:42
◼
►
summers are easier than others. That's kind of the thing I keep hearing about most though.
01:43:46
◼
►
I guess my friends are developers. Yeah.
01:43:49
◼
►
Yeah. And I feel like the Mac is in an interesting state. And without getting, I don't want to
01:43:55
◼
►
make it political because I don't think it should be political, but with Catalina, Catalina
01:44:00
◼
►
catalyst, which is the UI kit, you know, bring your iPad apps to the Mac technology that
01:44:08
◼
►
they sort of preannounced last year so that they could ship their own home and news and
01:44:14
◼
►
voice recorder apps, and now it's going to be part of Mac OS 10.15. It's sort of weird,
01:44:23
◼
►
and there's people arguing on Twitter about whether that's the future of the Mac and whether
01:44:28
◼
►
SwiftUI is the future of the Mac. And in the meantime, AppKit, aka good old-fashioned Cocoa,
01:44:34
◼
►
just keeps rolling along.
01:44:36
◼
►
Yeah, I mean, I just wrote a app with it. That's really, really good. AppKit is super.
01:44:44
◼
►
You did mention, you mentioned that one of the reasons for drawing the line in the sand
01:44:48
◼
►
at 10.14.4 was that's where you didn't need to embed the Swift libraries. That means,
01:44:53
◼
►
of course, that you use Swift to write either all or most of NetNewsWire 5. I actually don't
01:44:59
◼
►
even know. I know you used it to some degree, but...
01:45:03
◼
►
The actual application user interface code, much of what's in the frameworks, there's
01:45:08
◼
►
some really, really old stuff like the stuff I started with, the RSS parser, like whatever
01:45:13
◼
►
four years ago, that's written in Objective-C. But pretty much everything else is Swift.
01:45:19
◼
►
And what are your opinions on it? After now having dug your teeth in and used it to write
01:45:24
◼
►
a real app that is actually shipping?
01:45:29
◼
►
Swift is, it's a lot of fun.
01:45:33
◼
►
Sometimes it's like driving a hot rod,
01:45:35
◼
►
but then you just like run into a brick wall
01:45:37
◼
►
at 80 miles an hour.
01:45:39
◼
►
So that's kind of fun until that moment,
01:45:43
◼
►
but you know, you get up, shake it off,
01:45:45
◼
►
go back down at 80 miles an hour or whatever.
01:45:49
◼
►
So it's a lot of fun.
01:45:49
◼
►
I still, it's a lot prettier to look at than Objective-C,
01:45:55
◼
►
but I still find Objective-C's philosophy,
01:45:59
◼
►
the way it works under the hood,
01:46:01
◼
►
to be beautiful in a way that I don't find in Swift.
01:46:07
◼
►
Swift's amazing, but Objective-C,
01:46:10
◼
►
not on the page but under the hood, is lovely.
01:46:14
◼
►
And not even its implementation necessarily,
01:46:16
◼
►
but the concept, message passing,
01:46:19
◼
►
and all that kind of stuff inherited from Smalltalk.
01:46:22
◼
►
I think, yeah, that just really appeals to me.
01:46:25
◼
►
- This completely dynamic runtime
01:46:27
◼
►
that you can sort of mess with in unforeseen ways,
01:46:33
◼
►
or could at least in the old days,
01:46:35
◼
►
which was definitely what small talk was all about.
01:46:40
◼
►
- Yeah, and the idea wasn't-
01:46:41
◼
►
- Says me who never wrote a line in small talk in his life.
01:46:45
◼
►
- Yeah, and it's not about,
01:46:46
◼
►
you could use it for like evil, stupid hacks.
01:46:49
◼
►
It's actually about, you know, it's really about writing applications in the most elegant way possible.
01:46:56
◼
►
And Objective-C was such a compromise, right?
01:46:59
◼
►
Because it's that kind of small talky stuff, but with C, which is such the opposite thing, all combined into one.
01:47:07
◼
►
And that, you know, that made for a deeply strange language.
01:47:12
◼
►
But the Objective-C part was really, really, really cool.
01:47:17
◼
►
And it was great for writing apps.
01:47:18
◼
►
I mean, you know, we talked earlier about 2002, I'm working on that news wire.
01:47:22
◼
►
And the thing was, the Coco framework was amazing
01:47:25
◼
►
and so far beyond anything that that I'd ever seen.
01:47:29
◼
►
And it was and it was built on the capabilities of Objective C.
01:47:33
◼
►
In fact, all our apps still are even even the ones written in Swift.
01:47:37
◼
►
You know, we're still using app kit and UI kit and whatever.
01:47:40
◼
►
And those are those are Objective C frameworks.
01:47:44
◼
►
Right. Until Swift UI has years to sort of
01:47:48
◼
►
I'm not saying you can't use it now, but it's early days and it's such a massive undertaking.
01:47:56
◼
►
Until SwiftUI really can supersede AppKit and UIKit, that's still going to be the case.
01:48:03
◼
►
Yeah, and that's going to be a while.
01:48:05
◼
►
It looks to me like Apple's got the right attitude.
01:48:08
◼
►
You still have a host of AppKit or UIKit, and then you can use SwiftUI where it makes
01:48:13
◼
►
sense to and where it actually works.
01:48:15
◼
►
And so that's what we'll be doing.
01:48:16
◼
►
And so gradually, over time, we'll have a more and more SwiftUI universe.
01:48:21
◼
►
And that's cool.
01:48:23
◼
►
I like that.
01:48:24
◼
►
It's a testimony to the genius of the original Next frameworks, which date back to 1989,
01:48:32
◼
►
1990, just how philosophically they're still aligned with the way that things still work
01:48:38
◼
►
and are useful and feel modern today.
01:48:41
◼
►
I mean, how many ways of making computers do X, Y, and Z in 1990 are still applicable
01:48:49
◼
►
Yeah, right.
01:48:51
◼
►
I mean, maybe there's some command line stuff at the C level that still hasn't changed
01:48:57
◼
►
But in terms of building rich applications, boy, there's not a lot.
01:49:01
◼
►
I mean, I'm sure Adobe has frameworks that probably go back that far internally.
01:49:08
◼
►
It's really remarkable.
01:49:13
◼
►
Before we sign off, Brent, got any plans for Labor Day? I guess that hopefully this episode
01:49:17
◼
►
will come out tomorrow. People can listen to it as they barbecue. What better way to
01:49:20
◼
►
enjoy fun with your family than listening to us talk about RSS Reader?
01:49:25
◼
►
Yeah, absolutely. I mean, that's what the holidays are for, RSS.
01:49:29
◼
►
Gather the kids.
01:49:30
◼
►
Me, I'm going to go drink and eat with some family members. So yeah, I've got a good
01:49:36
◼
►
Yeah, we've got a good forecast here. Beautiful weather. If I could have—if it was technically—well,
01:49:41
◼
►
I guess it is technically feasible to podcast from outside. If it was acoustically pleasing
01:49:49
◼
►
to record a podcast while outside, I'd have done this from my deck because it is absolutely
01:49:55
◼
►
positively peak Philadelphia weather. Nice and warm, nice and sunny.
01:49:59
◼
►
Not too muggy?
01:50:01
◼
►
No, it's really nice. It's really—
01:50:05
◼
►
I don't know what happened to the humidity,
01:50:07
◼
►
but it's like September came early.
01:50:11
◼
►
- Anyway, enjoy the holiday.
01:50:11
◼
►
My best to Sheila.
01:50:13
◼
►
- Thank you.
01:50:15
◼
►
- And it's always good to have you on.
01:50:16
◼
►
I'm gonna make sure that we don't go another full year.
01:50:18
◼
►
I'm gonna make sure Skype never tells me
01:50:20
◼
►
it's been more than a year.
01:50:21
◼
►
- I've turned brown in your Skype.