The Talk Show

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:44   Yeah

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:41   it.

00:03:42   Our best release has always had a double-oh-seven.

00:03:44   Yeah.

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:17   (laughing)

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   **

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:44   Oh, yeah.

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:25   frameworks

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:40   1997

00:14:42   Was

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   cool.

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:13   I wouldn't.

00:19:14   It's just a show.

00:19:15   It's an audio show.

00:19:16   Sure.

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   [

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:48   project.

00:21:49   Hmm.

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:45   Guess what?

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:20   - Right.

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:12   But yeah.

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:15   (laughing)

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:48   you.

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:13   (laughs)

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:33   version.

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:21   file.

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:27   (laughing)

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:57:59   Yes.

00:58:00   Yeah.

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:54   Yeah.

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:04   got cut.

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:30   Start work.

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:52   itself.

01:06:53   Right?

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:17   spot.

01:07:18   Yeah.

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:45   the board.

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:01   Yep.

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:30   great

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:28   Mac OS X.

01:10:29   Yeah, and not only that, people lined up long lines around the block to get the new Mac

01:10:35   OS. Yeah.

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:12   Right.

01:13:13   So keep running our old version of our app.

01:13:15   Yeah.

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:28   Right.

01:13:29   And, you know, sooner rather than later, 10.14 is going to be old.

01:13:33   Mm-hmm.

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:01   Yeah.

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:29   right a

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:31   were

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:30   Yeah.

01:18:31   And it's called actually called today.

01:18:33   Yeah.

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:24   (laughs)

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:31   Yep

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:00   - Yeah.

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   - New feed.

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:29   [laughs]

01:23:30   I wish.

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:05   I do too.

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:18   Right.

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:38   all delete.

01:26:39   Nice.

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:32   VPN

01:29:34   look

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:25   Farrell…

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:21   Yeah.

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:36   - Yeah.

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:44   - Monotone.

01:41:46   - Yeah.

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:16   - Right.

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:29   Right?

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:48   today?

01:48:49   Yeah, right.

01:48:50   Good point.

01:48:51   I mean, maybe there's some command line stuff at the C level that still hasn't changed

01:48:56   much.

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:35   day.

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:04   Good.

01:50:05   I don't know what happened to the humidity,

01:50:07   but it's like September came early.

01:50:10   - Cool.

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.

01:50:23   (laughing)