509: Tiny Tyrants


00:00:00   - Does anyone have Taylor Swift tickets

00:00:01   they wanna sell me?

00:00:02   Massachusetts shows?

00:00:03   Not for $12,000, which is the current going rate.

00:00:07   - So back up, so I was watching this,

00:00:08   and it happened through Christina Warren,

00:00:11   former and one of the only guests ever on the show,

00:00:14   former guest Christina Warren,

00:00:15   and dear friend of the show.

00:00:16   Anyways, I was watching her try to do her whole rigmarole

00:00:20   in order to get herself Taylor Swift tickets.

00:00:22   So my limited understanding is,

00:00:24   you got in some sort of queue,

00:00:27   and it said there's 2,000 or more people in front of you.

00:00:30   And then she had retweeted,

00:00:32   I doubt I'll be able to find it,

00:00:33   but she had retweeted somebody saying,

00:00:34   in the time I've spent in the queue,

00:00:36   I wrote a Chrome extension to figure out

00:00:38   exactly where you are in the queue, which is amazing.

00:00:42   - The queue that she was in,

00:00:43   I didn't even get a chance to enter that queue

00:00:45   'cause I lost that lottery.

00:00:47   But today there was another queue that I could get in.

00:00:49   And rather than download that Chrome extension,

00:00:52   I just opened the Chrome dev tools

00:00:53   and looked at the JSON flying by.

00:00:55   I was telling Mark of this before.

00:00:56   And yeah, you can see where you actually are in the queue.

00:00:58   Not that that helps you.

00:00:59   It's like, oh great, now I know, you know,

00:01:01   I started at 15,000 and I'm around 10,000,

00:01:03   even though the UI says 2000 plus.

00:01:05   But that doesn't tell you anything.

00:01:06   Like the rate at which that number went down varied wildly.

00:01:10   Like it went down like thousands in like, you know,

00:01:12   15 minutes and then didn't budge for like an hour

00:01:15   and then went down three and in the next 15,

00:01:18   it's just, I don't know what it's based on.

00:01:21   You know, we had multiple windows going here

00:01:24   with the same thing, different accounts.

00:01:26   Anyway, the queue closed and they said,

00:01:29   sorry, all the things that we had reserved

00:01:32   for the people who are supposed to buy tickets today

00:01:35   was like Capital One credit card holders.

00:01:37   Sorry, we sold all those out.

00:01:39   So even though you're still in line, tough luck.

00:01:41   See you later.

00:01:42   So Friday is my next chance, my next and final chance.

00:01:45   And Friday is the day that everybody gets a chance

00:01:48   to be in the queue.

00:01:49   So if I couldn't get in the queue

00:01:49   when just competing against Capital One credit card holders,

00:01:52   I don't know what I'm gonna do on Friday.

00:01:54   So you would say that John is a Swifty.

00:01:57   I think that's what we're learning today.

00:01:58   - Tickets are not for me,

00:01:59   although I do like Taylor Swift's music.

00:02:02   - I mean, I think the answer here is like,

00:02:04   the price of seeing Taylor Swift

00:02:06   is just whatever it takes to buy these on StubHub

00:02:08   or whatever, that's the reality here.

00:02:10   It's like, it's not, whatever the list price is,

00:02:12   I mean, it doesn't really matter.

00:02:13   Like, it's like, a handful of lucky people

00:02:16   will get the list price.

00:02:17   For the most part, you're competing with a whole bunch

00:02:18   of bots and scammers probably, and resellers and scalpers,

00:02:21   And so you're gonna have to be either very lucky

00:02:24   or play that game.

00:02:25   - Well yeah, but the actual going rate for tickets

00:02:28   for these shows is, I'm not kidding,

00:02:29   like 11 or $12,000 right now.

00:02:31   - Oh my word.

00:02:32   - I'm not paying that.

00:02:33   - Well, but that's right now.

00:02:35   Wait until the shows are two weeks away

00:02:37   and it'll be different.

00:02:38   - Yeah, we'll see.

00:02:40   - 'Cause right now, no one has the tickets yet.

00:02:41   So everyone's like, oh my god, I need to buy one of that.

00:02:44   But give time for all of the actual tickets

00:02:47   to be acquired by people.

00:02:49   And then a week or two before the show,

00:02:51   you can probably pick them up for maybe a few hundred bucks,

00:02:53   I don't know.

00:02:54   - This is what I get for not being,

00:02:55   well a few hundred bucks is lower than the actual price,

00:02:57   by the way, Mark.

00:02:58   I like the actual word.

00:02:59   - Oh my God, what's the actual price?

00:03:02   - So I believe it's, if you want floor seats,

00:03:05   I had this info before, let me look it up for you

00:03:08   so you can be suitably shocked.

00:03:10   This is not the scalper price, this is the price if you,

00:03:14   for the price if you buy it from Ticketmaster.

00:03:17   - Is floor more desirable or less?

00:03:19   - Yes, the floor seats start at $350 and go up to $900.

00:03:23   That's not the scalper price.

00:03:24   That's the just straight up price, right?

00:03:27   And then the other sections are in the other ranges

00:03:29   as you would imagine.

00:03:30   They have a $200 to $300 range.

00:03:31   And if you're in the bleachers

00:03:33   at the top of the football stadium, it's $50 to $100.

00:03:36   So it varies from basically $1,000 for your best seat

00:03:39   to $50 for your worst.

00:03:40   And they cover every price range in between.

00:03:42   And that is, again, not the scalper price.

00:03:44   That is the price that you pay if you're lucky enough

00:03:46   to get a ticket at the actual retail price.

00:03:48   - I am so happy to be a Fish fan right now.

00:03:50   - That is utterly bananas.

00:03:52   - Yeah, Fish has a few more shows

00:03:53   and is slightly less popular than Teleswap.

00:03:57   - A little, maybe.

00:03:58   - All right, let's do some follow up.

00:04:01   Tell me about what you,

00:04:04   you made many mistakes with your phone transition.

00:04:08   We got some feedback about it.

00:04:10   I am a little annoyed at myself

00:04:12   that I didn't yell one password repeatedly

00:04:14   while you were telling the story because we had your--

00:04:16   - Don't worry, plenty of other people did.

00:04:17   - Okay, good, good, good.

00:04:18   But there are other approaches you could have taken

00:04:20   with regard to moving your 2FA stuff

00:04:23   from one phone to the other.

00:04:24   Can you tell me about this?

00:04:25   - Well, speaking of one password, though,

00:04:26   I did mention on the show, I thought,

00:04:27   every time I get a list of people,

00:04:28   I'm like, did Marco edit this out?

00:04:29   This is the thought I always have

00:04:30   when the feedback starts coming in.

00:04:32   I'm like, did Marco edit this out?

00:04:33   And the answer's almost always, no, he didn't edit out.

00:04:35   People just haven't gotten to that part in the show yet.

00:04:37   - But that almost is how I keep you on your toes.

00:04:40   - Yeah. (laughing)

00:04:41   Or they just didn't hear me when I said it.

00:04:42   But I do have the two-factor stuff

00:04:46   on more than one device.

00:04:47   The reason I didn't want to just like,

00:04:48   why didn't you just take the phone, bring it home,

00:04:50   and you know, blah, blah, blah.

00:04:51   Well, then there's two things to that.

00:04:52   One is I did want to do the device-to-device transfer

00:04:55   because based on my last experience,

00:04:56   I have learned that that is the best way to do it

00:04:58   and I don't want to have to sign into everything.

00:05:00   So restoring from an iCloud backup is not as good,

00:05:03   it seems like, as device-to-device transfer.

00:05:05   So I still have to do the device-to-device transfer.

00:05:06   But secondly, yeah, I've got it on another device,

00:05:08   but like the whole point of redundancy is not to,

00:05:11   you know, two is one, one is none.

00:05:13   If I only have it on one other device,

00:05:15   I don't want to also have that device be screwed up.

00:05:19   I don't want to risk it.

00:05:20   Like say I hit the wrong button when

00:05:21   I'm trying to do the export or whatever

00:05:22   and I delete it instead of exporting it.

00:05:24   Now I've just destroyed my one and only backup of that stuff.

00:05:27   That's why-- and yes, lots of things sync.

00:05:30   iCloud keychain syncs, one passport syncs,

00:05:32   all these things.

00:05:33   There's tons and tons of two-factor apps.

00:05:34   I probably will eventually get everything

00:05:37   into iCloud keychain because that's kind of where

00:05:39   I'm going with this.

00:05:41   Now that it syncs and now that it supports two-factor stuff,

00:05:43   I just haven't gotten around to it.

00:05:44   So anyway, setting that aside, what if you just don't want to do this whole thing like

00:05:48   sitting in the Apple Store for hours?

00:05:50   There are other options, and I could have pursued these, which involve not going to

00:05:53   an Apple Store and just doing it on the telephone, right?

00:05:56   I mostly went to the Apple Store because I wanted to talk to a human, and I needed to

00:06:00   see another iPhone 14 Pro to say, to convince myself, is there something wrong with my camera

00:06:05   or is it just me being weird and picky?

00:06:07   And that's why I needed to get hands-on an ostensibly working 14 Pro to compare, and

00:06:12   And also to talk to the person in the Apple store who sees these phones all day and say,

00:06:15   "Does this look like it's broken to you or does it just look like that's what they're

00:06:18   all like?"

00:06:19   And that's not the type of thing I can do over the phone with somebody.

00:06:22   I could have convinced the person over the phone to say, "Look, I just think the camera's

00:06:25   bad.

00:06:26   You need to send me a replacement."

00:06:27   But anyway, the reason the phone comes up is if you do it over the phone, you can get

00:06:31   them to overnight you a device and then you can do the data transfer at your leisure in

00:06:36   your house and then send it back.

00:06:37   And I believe they just charge your credit card or authorize your credit card for the

00:06:40   purchase so if you don't send it back you're out the money.

00:06:43   Particles on Twitter said that if you get AppleCare Plus with theft and loss protection

00:06:47   you get the Express replacement.

00:06:49   I think they probably still authorize your credit card.

00:06:52   I'm not sure if Express replacement is only if you have theft and loss.

00:06:56   I'm pretty sure you can get them to cross ship you something if you are convincing enough

00:06:59   over the telephone.

00:07:00   What I am kind of disappointed in is when I was complaining about that I had to spend

00:07:03   three hours in the Apple store, the Apple store employee never said, "Oh well if you

00:07:08   don't want to do that now that we've gone through all the rigamarole and I've tested

00:07:11   your phone and brought it into the back and we tried.

00:07:12   Now that we did all that, you don't have to get it replaced here.

00:07:15   You can just go home and call them on the phone and that's probably what I should have

00:07:18   done.

00:07:19   They didn't say that to me.

00:07:20   I don't have theft and loss protection so maybe that's why they didn't say that to me.

00:07:24   But either way, next time I do it I have many other options.

00:07:27   I can by that point have moved all my two factors off to something that syncs.

00:07:34   It depends on what the problem is.

00:07:35   If I don't have a camera issue that I need to see in person,

00:07:37   I could just do it all over the phone

00:07:38   and have them cross-ship me something.

00:07:40   Anyway, so just FYI,

00:07:42   if you don't want to spend three hours in the Apple Store

00:07:44   listening to people tell Apple Store employees

00:07:47   about their computer problems,

00:07:49   consider doing it over the phone.

00:07:51   - And then we could even set up a special Apple Watch face

00:07:56   when you're in the Apple Store.

00:07:57   Do you want to tell me about that?

00:07:58   - I don't have an Apple, I do have an Apple Watch.

00:08:00   I wonder if it's so dead that it won't boot anymore.

00:08:02   I should take it out and try it.

00:08:03   And my Series 0, my awesome looking Series 0,

00:08:05   still lurking in my drawer.

00:08:07   Anyway, Alex, Siri, you wrote in to tell us,

00:08:10   I enjoyed the episode with the PSA

00:08:11   about customizing complications on Apple Watch faces,

00:08:13   and I wanted to share one more cool thing with watch faces.

00:08:15   You can change them with personal automations

00:08:17   in the Shortcuts app.

00:08:18   Every Friday at 5 PM, my watch automatically

00:08:20   switches to the weekend face.

00:08:22   And every Sunday at 9 PM, it switches to the weekday face.

00:08:24   These both run without intervention

00:08:26   and without any extraneous notifications.

00:08:28   And what's especially cool is that any automation

00:08:30   can trigger-- that you can trigger in Shortcuts

00:08:31   can be used.

00:08:32   So an event like arriving at a location

00:08:34   or connecting to a specific Bluetooth device

00:08:36   can cause a change to your watch face.

00:08:39   Might be something Marco used to switch over

00:08:40   to sand driving watch face when he gets in the car

00:08:42   or just when he arrives at the beach.

00:08:44   That is cool, like shortcuts,

00:08:46   one of the great powerful features of it

00:08:48   is that shortcuts can do things,

00:08:50   you don't have to trigger them.

00:08:51   Like they can do things based on environmental factors

00:08:54   that they are aware of.

00:08:55   And having your watch face kind of automatically change

00:08:57   based on your location or time of day or day of the week

00:09:00   is kind of a cool thing if you do have multiple watch faces

00:09:03   and you don't wanna bother like swiping

00:09:05   between them manually.

00:09:06   - Excellent, Matt Friedman writes,

00:09:08   with regard to why bother with new Apple TV,

00:09:11   if anybody still has a first gen Apple TV 4K,

00:09:14   a second or third gen model will allow them

00:09:16   to watch HDR on YouTube without having to swap back

00:09:18   to the TV's native YouTube app,

00:09:20   which may or may not support it

00:09:21   depending on the age of your TV, which is pretty cool.

00:09:23   - I didn't even realize that I had totally forgotten

00:09:26   that there was a second or third gen Apple TV 4K

00:09:28   as we were talking on Twitter about this

00:09:30   And I was like, I'm pretty sure I get HDR in YouTube app.

00:09:33   That's what I was using to demo when I got my new TV

00:09:36   or whatever.

00:09:37   I didn't need the brand new Apple TV 4K,

00:09:39   like the smaller one that we were just talking about last

00:09:41   show.

00:09:41   I didn't need that to watch HDR.

00:09:43   So I was like, but you didn't have the second gen model,

00:09:46   did you?

00:09:47   You have the second gen, the first gen.

00:09:48   I'm like, I don't know.

00:09:49   Yeah, there was apparently a first gen Apple TV 4K.

00:09:51   And for whatever reason, it didn't get HDR in YouTube.

00:09:55   That's the problem with these product lines.

00:09:57   I mean, not that I endorse the idea of having something

00:10:00   parentheses to differentiate them, but the generation names are kind of worse than the

00:10:04   year number because I had totally forgotten about that one. So if you're wondering, "Hey,

00:10:08   I already have an Apple TV 4K, why the heck would I want this new one that's slightly

00:10:11   smaller?" If you have a first gen Apple TV 4K and you care at all about HDR on the YouTube

00:10:15   app, get one of the new ones.

00:10:17   Good talk. Jacob writes, "With regard to using multiple smart albums to work around the lack

00:10:23   of nested Boolean logic in Mac OS's photo smart albums, unfortunately photos doesn't

00:10:28   allow you to reference another smart album into smart album's conditions.

00:10:31   Whoopsie doopsies.

00:10:32   I couldn't believe that.

00:10:33   I would have to go double check it and see if it was true.

00:10:35   It's like, how?

00:10:36   Why?

00:10:37   Like, things are so weird and limited.

00:10:38   Like that has to be possible.

00:10:39   Like, that's the awkward work around we talked about, but no, he's right.

00:10:42   It's not possible.

00:10:43   It'll let you reference, I think it'll let you reference an album, but not a smart album.

00:10:47   Smart albums are so weird.

00:10:48   Like iOS has no idea that they exist and they're just so powerful and cool.

00:10:51   I wish they would like get first class treatment across all of Apple's platforms.

00:10:55   If only.

00:10:56   This is a YouTube topic,

00:10:59   would you like to cover this actually?

00:11:01   - Sure, Aaron wrote in to say,

00:11:02   maybe the YouTube album removal page fell away

00:11:05   because Apple added the ability to hide purchases.

00:11:07   We'll put a link in the show notes to a support article

00:11:09   that lets you just basically pick anything

00:11:11   in your library, your iTunes library, and just hide it.

00:11:15   Removing from an account requires contact to support,

00:11:17   but this is a non-destructive solution

00:11:19   that is enough for almost everybody.

00:11:20   So if you listened to the last show and you're like,

00:11:21   "Oh no, I've got the YouTube album

00:11:22   "and the delete page is gone.

00:11:24   "What do I do?

00:11:24   "I don't wanna call support."

00:11:25   you can just hide it and then forget that it exists.

00:11:28   We were brought to you this week by Linode,

00:11:31   my favorite place to run servers.

00:11:33   Visit linode.com/ATP and see why Linode has been voted

00:11:37   the top infrastructure as a service provider

00:11:39   by both G2 and TrustRadius.

00:11:42   I host all of my servers at Linode because frankly,

00:11:45   they just make it really easy and they're a fantastic value.

00:11:49   So value, I can't say enough how great of a value they are.

00:11:52   We'll start there.

00:11:53   It is incredible.

00:11:55   What you get at Linode, what you're paying for the resource

00:11:57   levels you have is unmatched in the industry.

00:11:59   And I've been with them for a very long time, many years now.

00:12:02   And they've always been the best value in the business.

00:12:04   I've never found anybody better than them.

00:12:06   And then capability-wise, they have pretty much everything

00:12:09   you might want to run servers these days.

00:12:11   So of course, they have cloud instances,

00:12:13   what used to be called VPSs or server instances.

00:12:16   They have any kind of resource level

00:12:18   you might need from very small and inexpensive to very big

00:12:22   or very specialized needs.

00:12:23   so high memory plans, dedicated CPU plans,

00:12:26   GPU compute plans, and more.

00:12:28   And they also have now managed services too.

00:12:30   So they recently launched their managed database service

00:12:34   that supports MySQL, Postgres, Mongo,

00:12:37   and so much more coming in the future.

00:12:39   And they have things like managed backups,

00:12:41   managed load balancers, all sorts of block storage,

00:12:45   object storage, which is S3 compatible,

00:12:47   and so much more, all of this at Linode.

00:12:50   And it's just an amazing value

00:12:52   to price per compute, and they have all this backed

00:12:55   by great support, a great API, a great interface

00:12:58   for managing stuff, so I have nothing bad to say

00:13:01   about Linode, I've used them for a very long time.

00:13:03   I pay for them out of my own pocket,

00:13:05   like they don't comp my servers or anything,

00:13:06   I pay for it all myself and it is an incredible value,

00:13:09   I'm there very happily.

00:13:11   So visit linode.com/atp, create a free account there,

00:13:15   and you get $100 in credit.

00:13:17   Once again, linode.com/atp, new accounts there,

00:13:21   $100 in credit. Thank you so much to Linode for being a great place to run my servers and for sponsoring our show

00:13:27   Elon Musk has decided to fire basically any Twitter employee that

00:13:36   Criticizes him because he is the thinnest skinned human that has ever lived. It was kind of another day

00:13:41   I forget what day was another day on Twitter watching, you know, the the Elon Musk drama and he was saying stupid things

00:13:48   You know spouting like every day

00:13:50   Yeah spouting off the way you would expect like a teenager who has just learned a program would spout off about something company, right?

00:13:57   Oh, he's he's he owns the company, but he's like these dummies

00:14:01   They're doing this the thing reason this is closed

00:14:03   Slow is because of XYZ and then one of the engineers who works on the thing that he was talking about said actually that's not

00:14:08   True. Here's the actual situation and laid out in a series of I thought very polite and concise technically accurate tweets from a developer

00:14:14   who knows, here's the actual situation.

00:14:16   And then Elon Musk said later that he fired that guy,

00:14:19   and he did.

00:14:20   'Cause he didn't like being,

00:14:21   and then all of the Elon fanboys were like,

00:14:24   that's what happens if you publicly contradict the boss,

00:14:27   you should say that stuff in private.

00:14:29   You know, like don't contradict the CEO of your company

00:14:32   on Twitter and just publicly embarrass him.

00:14:34   Well, A, if he's doing an embarrassing thing,

00:14:36   he's really just embarrassing himself.

00:14:37   And B, I would hope that publicly correcting the CEO

00:14:41   of your company is not an immediately fireable offense,

00:14:43   but apparently in Twitter it is, right?

00:14:44   And so then the obvious followup to that is

00:14:48   people who were saying mean things about Elon Musk

00:14:51   on Twitter's internal Slack also fired.

00:14:54   Because Elon asked a bunch of people

00:14:57   to go through all the messages on the internal Slack

00:14:59   and find all the people who said mean things about them

00:15:01   and fire them.

00:15:02   And so they got an email at 1.30 a.m.

00:15:04   telling them that they were no longer employed by Twitter.

00:15:07   So yeah, he's a big jerk and a dummy head

00:15:10   and he does hilariously, like sort of comic book,

00:15:15   comic book villain, comic book petulant villain,

00:15:17   like Dr. Evil, like I don't even know.

00:15:20   I just, it really, you know, it really boggles my mind

00:15:24   that people can still find something to not admire

00:15:28   in just like a, you know,

00:15:29   a petulant thin-skinned billionaire bully,

00:15:32   but here he is doing what he does.

00:15:34   - I'm starting to try to figure out like,

00:15:36   what has made his other companies successful?

00:15:41   - Delegation, baby, that's what.

00:15:43   - Does he, though?

00:15:44   It seems like he has made a lot of good bets

00:15:49   in what to invest in and what direction to go in.

00:15:54   He wasn't the original founder of Tesla,

00:15:56   but he got in super early, took it over,

00:16:00   probably kicked out the actual founders.

00:16:02   - Yeah, I don't know the details,

00:16:03   but basically, he got in there early,

00:16:06   And I think Tesla, I think he really benefited that company.

00:16:11   His direction and his boldness in a lot of ways

00:16:17   I think really helped Tesla product-wise.

00:16:20   - And his ability to get them enough money

00:16:22   so they didn't go out of business.

00:16:23   I think that is the key thing that he brought to the table

00:16:25   because without him scrambling for money,

00:16:28   or again, another person who was equally good

00:16:30   at scrambling for money because that is a skill

00:16:32   that a lot of people have,

00:16:33   finding a way to keep the company afloat

00:16:35   by any means necessary, including lying,

00:16:38   which he's in trouble for with the SEC.

00:16:40   But whatever, he did what it took

00:16:42   to make sure Tesla did not go out of business.

00:16:44   - Yeah, but it seems, it just seems like

00:16:47   the things that succeed are in spite of him,

00:16:51   not because of him.

00:16:52   And that for people in these companies

00:16:54   to produce good work, they're almost just kinda using him

00:16:58   as like the bank and like the guy who gets the money

00:17:02   from investors/lying to the stock market.

00:17:04   - And they also have to learn how to navigate him.

00:17:07   They also have to, like the people,

00:17:08   the companies that are able to succeed

00:17:10   with him running them have, are filled with people

00:17:13   who have learned how to get the job done

00:17:16   within the parameters laid out by him.

00:17:19   What those parameters might be,

00:17:21   and I'm sure they change from company to company.

00:17:23   Right now the parameters are,

00:17:24   if you say anything mean about me, I fire you.

00:17:25   So if you are inside Twitter and you're like,

00:17:28   I really want Twitter to succeed,

00:17:29   how do I make that happen?

00:17:30   You would have to learn to navigate the environment

00:17:32   which if you ever say anything mean or contradictory

00:17:35   to your boss, even when your boss is totally wrong,

00:17:37   you're gonna get fired.

00:17:37   So figure out how to navigate that,

00:17:39   and then figure out how to succeed despite that.

00:17:43   I don't think he's necessarily always been like that,

00:17:46   but right now at Twitter, that's what he's like.

00:17:48   So those are the parameters, and those parameters suck.

00:17:52   - What gave me hope initially is,

00:17:54   when you look at the list of his other companies,

00:17:56   as I said a few episodes ago,

00:17:58   he tries to solve hard problems.

00:18:01   and running a giant social network,

00:18:04   especially one that doesn't print money

00:18:06   and needs a lot of help in that department,

00:18:08   but just running a giant social network

00:18:10   is a hugely hard problem.

00:18:12   And I think the difference here is that

00:18:17   the really hard problems in his other companies

00:18:20   were mostly engineering problems or--

00:18:23   - Or financial problems.

00:18:24   - Yeah, like problems getting difficult things to market,

00:18:28   things that are difficult to make,

00:18:30   getting them to market and keeping the lights on

00:18:33   and keeping the money coming in.

00:18:34   Those are hard problems.

00:18:36   Running a social network that's already established

00:18:40   is not mostly an engineering problem,

00:18:42   it's mostly a people problem.

00:18:45   And he is just the worst with people.

00:18:48   He is horrendously bad and every week, every day,

00:18:51   every hour he finds new ways to be horrendously bad

00:18:54   with dealing with people,

00:18:55   both his own people and the public.

00:18:57   And I just, I don't, I'm having a really hard time

00:19:00   seeing how this ends well.

00:19:02   Because there is no engineering product to make here

00:19:07   that is the final product.

00:19:08   There is no like, all right, we succeeded in building

00:19:11   the rocket hover car or whatever.

00:19:12   There is no end here like that,

00:19:15   the way there is with these other companies.

00:19:16   This is just something very difficult.

00:19:19   This is like running a messy political human set

00:19:23   of human problems of humans.

00:19:25   and he's even worse than Google

00:19:28   at dealing with human problems.

00:19:30   He is so disgustingly bad at dealing with people.

00:19:35   And this latest thing with the email of,

00:19:39   better be prepared to work 24/7 or get fired,

00:19:42   like, God, I'm so mad about that.

00:19:44   - Yep, so we'll put links in the show notes of both these.

00:19:46   First is a New York Times article

00:19:48   about the firing people who criticize them.

00:19:49   The next is a Washington Post article.

00:19:52   The headline is, "Musk issues ultimatum to staff.

00:19:53   "commit to quote unquote hardcore Twitter

00:19:56   "or take severance."

00:19:57   Here's the summary.

00:19:58   Employees were told that they had to sign a pledge

00:20:00   to stay on with the company.

00:20:01   Quote, this is from the email,

00:20:02   "If you're sure that you wanna be part of the new Twitter,

00:20:05   "please click yes on the link below."

00:20:08   Anyone who did not sign the pledge

00:20:09   by five p.m. Eastern time Thursday

00:20:11   will receive three months severance pay.

00:20:12   The message said, "In the midnight email,"

00:20:14   which is obtained by Washington Post,

00:20:15   Musk said, "We will need to be extremely hardcore.

00:20:17   "Going forward, this will mean working,"

00:20:19   this is a quote, "This will mean working long hours

00:20:21   "at high intensity," he said,

00:20:22   "Only exceptional performance will constitute a passing grade.

00:20:25   The pledge email paired with a new policy mandating a return to the office is expected

00:20:29   to lead to even more attrition at the company whose staff Musk had already reduced by half."

00:20:33   So he's basically saying, he's sort of getting the company ready to say, "Look, it's going

00:20:37   to be hard, you're going to have to work long hours and sign this pledge saying if you're

00:20:42   up for that and if you're not up for that, that's great, you get three months severance,

00:20:45   see you later."

00:20:46   Because to your point earlier, Margo, this not being a technical problem, he wants it

00:20:51   to be a technical problem.

00:20:52   And he has created, not created, but like he has identified a technical challenge.

00:20:57   In his mind, I think the technical challenge is like this company, it's, you know, is inefficient.

00:21:01   Like their infrastructure, though it may work fine and there's no more failwales, it's,

00:21:05   you know, it could be done better.

00:21:06   Smarter people could make this better.

00:21:07   We can cut our infrastructure costs, save a lot of money.

00:21:10   Like it's, it's bloated and overrun.

00:21:11   There's a lot of stuff we probably don't need.

00:21:13   And the stuff we do need could be more efficient, right?

00:21:16   He's decided, because I think that's what appeals to him, that that is the technical

00:21:20   challenge in front of them.

00:21:21   And what he wants is a crack team of people who are willing to sacrifice their own lives,

00:21:27   family, mental and physical health, who will never contradict him or say anything mean

00:21:33   to him or about him, even when he's entirely wrong, to destroy themselves to help him achieve

00:21:38   that goal.

00:21:39   And as you pointed out, it's alright.

00:21:41   So you snap your fingers and you achieve that goal.

00:21:43   Have you solved any problem for Twitter?

00:21:46   Like yeah, you probably saved a little bit of money in infrastructure.

00:21:49   hey, let's say you can cut their infrastructure costs

00:21:51   in half, have you found a way to make enough money

00:21:54   to service your debt now that all the advertisers are gone

00:21:56   because of the other stupid things that you did?

00:21:58   Probably not, right?

00:21:59   So I don't know why he's identified that as a problem

00:22:01   that is super important to tackle,

00:22:03   and I think if you are going to tackle that,

00:22:05   trying to tell the entire company that you have, you know,

00:22:08   you have until tomorrow at 5 p.m. to sign this pledge

00:22:12   saying you will destroy yourself from me,

00:22:14   otherwise you're fired.

00:22:15   I mean, it seems like that's not the best way

00:22:18   to staff up for attacking this problem.

00:22:21   And the only thing I can say is like,

00:22:22   maybe if you had a startup and you're like,

00:22:24   look, I'm gonna be the worst startup CEO ever,

00:22:27   I'm gonna destroy everybody who works for me,

00:22:29   they're all gonna burn out,

00:22:30   but the few that don't will get a big payday from an IPO.

00:22:33   And by the way, we don't have a product yet,

00:22:35   but this crack team is gonna build it.

00:22:36   But that's not the situation at Trigger.

00:22:37   They already got the product.

00:22:39   They already got a big company with the product,

00:22:40   they don't have to build it.

00:22:41   And it's almost like he wants to destroy it

00:22:43   so it becomes nothing, and then build it back up from zero

00:22:46   with his crack team of burned out

00:22:48   sycophants. And I mean, that's one way to go about it. But it's

00:22:52   just totally like, you know, destructive to value destructive

00:22:57   to people's lives. And this is the point that Twitter already

00:23:00   exists. Like you don't have to build it, it's already there.

00:23:03   You just need to learn how to run it in such a way that it

00:23:06   makes money and is better in whatever way you decide is

00:23:09   better.

00:23:09   You're right. Like he's so over focused on the technical side,

00:23:14   and the overhead side.

00:23:15   Even if he's correct, they were overstaffed before.

00:23:20   Maybe not as much as he thinks they were,

00:23:22   but they were overstaffed before.

00:23:24   And we have heard stories that their technical stack

00:23:27   was kind of a mess.

00:23:28   However, that's not the hard part about running Twitter.

00:23:32   The hard part about running Twitter

00:23:34   is all the people issues, all the politics issues,

00:23:36   all the abuse issues.

00:23:39   - Policies, incentives, and business models.

00:23:41   Those are the actual hard parts,

00:23:42   but he's not interested in those.

00:23:43   he's interested and I wanna write code,

00:23:45   because that, I don't know, that seems more fun.

00:23:47   - Or at least it's, he's going in there,

00:23:50   look, every 20 year old, every like smart 20 year old

00:23:54   programmer has left college where they were the smart

00:23:58   20 year old hotshot and they go get a job

00:24:01   and they look at everything around them

00:24:02   and they're like, that's stupid, why is it done that way?

00:24:05   We should just X, right?

00:24:08   And it's the dumb 20 year old thing to do.

00:24:10   We've all been there, most of us,

00:24:11   myself included, have been that guy.

00:24:14   I, like, you look at something from an ignorant,

00:24:18   inexperienced point of view and you think,

00:24:21   this is a much simpler problem than these other idiots

00:24:24   seem to make it out to be, I'm gonna waltz in there

00:24:26   and make a simple fix.

00:24:27   And then you waltz in there and you realize,

00:24:29   oh God, this is way more complicated than I thought it was,

00:24:32   or it was done this way for a reason,

00:24:34   and you get your butt kicked effectively.

00:24:36   - But what if you didn't have to ever realize that,

00:24:39   because what you could do is simply fire everyone

00:24:40   who contradicted you.

00:24:41   (laughing)

00:24:43   Like imagine if the 20 year old comes into the company,

00:24:45   says that, and instead of learning a hard lesson

00:24:47   by trying to rewrite something and messing up production

00:24:51   and getting a stern talking to and blah, blah, blah,

00:24:53   if instead they came in and said that,

00:24:55   the people who knew better corrected him

00:24:57   and then the 20 year old fired them.

00:24:59   Right, that's the situation we're in.

00:25:01   It's like, that's not a path to success.

00:25:06   Again, I want Twitter to succeed.

00:25:10   I decreaseingly want him to succeed.

00:25:13   I think he's such a horrible person right now.

00:25:17   Like the way he--

00:25:18   - He did say he's gonna get someone else to be CEO,

00:25:20   which is, I think maybe he's getting tired

00:25:21   of people yelling at him,

00:25:22   so like someone else can run the company

00:25:24   and he can go back to whatever he normally does.

00:25:26   - You know, all I can say is like,

00:25:28   keep the heat up, everyone.

00:25:29   Like keep telling him how much of a piece of crap he is.

00:25:32   - Unless you're a Twitter employee,

00:25:34   in which case you're gonna get fired.

00:25:35   (laughing)

00:25:36   And the downside, I mean, God, oh God,

00:25:38   my opinion of him is dropping so quickly.

00:25:42   I've decided I'm selling my Tesla,

00:25:44   I don't want it anymore, I don't want him anymore.

00:25:46   I'm still gonna be on Twitter

00:25:47   because I want Twitter to succeed,

00:25:49   but God, I wish it wasn't his.

00:25:51   And I outlined last week why I want Twitter to succeed.

00:25:55   And we'll get to a little bit more of that later,

00:25:57   but I want everything bad to happen to him.

00:26:01   I want him to be constantly trolled,

00:26:04   I want him to not have any peace in his life

00:26:08   so that, 'cause people are constantly telling him

00:26:10   how much of an a** and an idiot he is.

00:26:12   That's what I want for him, because he,

00:26:14   what he does to people.

00:26:15   'Cause here's the thing, like, this email he sent,

00:26:17   I mean, this angered me on so many levels,

00:26:19   this thing, this ultimatum that you have to become,

00:26:21   you know, work your butt off extra hours forever or leave.

00:26:26   That is such like Silicon Valley toxic workaholism culture.

00:26:33   and I take such deep offense to that in our industry.

00:26:37   It's a huge problem in our industry

00:26:38   and I've talked about it before,

00:26:40   I am so strongly against that workaholism culture

00:26:44   because it has so many negative effects.

00:26:46   Because the thing is, not everyone is

00:26:48   some 20 year old hotshot who wants to sleep at the office

00:26:51   and eat pizza in Silicon Valley, like the TV show.

00:26:54   Not everyone is like that and not everyone can do that.

00:26:57   And when you create a workplace

00:27:00   where that's the only acceptable culture,

00:27:02   Not only does it burn out those people

00:27:06   who are willing to do that,

00:27:07   but it excludes tons of people

00:27:09   who can't or won't work that way.

00:27:12   And then it creates other things, like for instance,

00:27:14   one of the problems we now have is that

00:27:17   as the tech industry is laying off tons of people,

00:27:19   we have to deal with H1B visa holders,

00:27:22   where this is the type of visa,

00:27:23   for anyone who doesn't know, in the US,

00:27:26   we offer visas for people who are not US citizens

00:27:29   to come here and work using this work visa.

00:27:33   And I don't know the details, forgive me,

00:27:35   but the company who you're working for

00:27:37   kind of sponsors it in some way.

00:27:39   So a lot of people who are gonna stay,

00:27:41   who are gonna keep working for this jerk,

00:27:44   are H-1B visa holders who,

00:27:47   if they decide not to accept his terms,

00:27:49   they have to leave the country.

00:27:51   And that's a serious thing.

00:27:53   And so there's all these little knock-on effects

00:27:56   that when you first think about what he's doing,

00:27:59   You might think, oh, well, he just wants really good workers

00:28:03   and only the most dedicated people will stay.

00:28:06   Well, it's not that simple.

00:28:08   You're gonna have all these people who really can't

00:28:11   and don't want to work that way,

00:28:13   but are kind of forced to for reasons like this,

00:28:15   and it excludes tons of people who can't work that way.

00:28:18   What if you have a kid?

00:28:20   You shouldn't be at the office

00:28:21   working long nights every night if you have a kid.

00:28:24   What if you have to take care of somebody at home?

00:28:26   Like there's just, there's so many groups of people

00:28:30   or situations that you either exclude or abuse

00:28:34   with these simplistic views of the world that,

00:28:36   oh, you better work here 'cause you wanna be hardcore.

00:28:38   Like, things are not that simple.

00:28:40   Things have never been that simple.

00:28:41   And if he would just take his head out of his ass

00:28:44   for two seconds and look around,

00:28:45   he might have a small chance of seeing that.

00:28:47   But unfortunately, that's never gonna happen.

00:28:49   - And that's the thing that bothers me.

00:28:50   I'm glad you brought that up.

00:28:53   all the Elon fans that I have heard, you know,

00:28:57   shouting into the ether, seem to say things like,

00:28:59   "Oh, it's a meritocracy, and oh,

00:29:01   the best people will be there,

00:29:02   and they won't mind," and blah, blah, blah.

00:29:04   What if the best person is the person

00:29:07   who can only give eight hours a day to their job?

00:29:12   Why is that bad?

00:29:14   Or what if the best person doesn't live

00:29:16   in fucking San Francisco?

00:29:18   Like, why is that bad?

00:29:20   It's so backwards and, I don't know,

00:29:25   when he makes these proclamations,

00:29:27   okay, boomer, sure.

00:29:28   He's only like five or 10, he's like 10 years older than me

00:29:30   and like five years older than Jon, I think.

00:29:32   But it's such a boomer mentality of--

00:29:35   - No, the boomers only work nine to five.

00:29:37   - Ah, true, actually, no, that's fair, that's fair.

00:29:39   - The premise that people accept,

00:29:41   you can even see it in the chat room,

00:29:43   somebody said that this workaholism culture

00:29:45   is the reason why Silicon Valley became successful, right?

00:29:47   - No, it's not.

00:29:48   - And why the employees make so much money.

00:29:50   also not.

00:29:51   - Yeah, so the premise is that if you do live in the office

00:29:56   and spend all your life there or whatever,

00:29:59   that you will somehow do better work

00:30:00   than if you didn't do that,

00:30:01   and that's absolutely not true.

00:30:03   Every time they've ever studied this,

00:30:05   I mean, you should know this just as a programmer,

00:30:06   should I pull an all-nighter or should I go to sleep

00:30:08   and work on this problem again in the morning?

00:30:10   Oh, if I sleep, I'm losing eight hours of working time,

00:30:12   therefore I should pull an all-nighter.

00:30:14   Your efficiency and quality of programming at 3 a.m.

00:30:19   are detrimental to your productivity.

00:30:21   You should go to sleep.

00:30:23   Making people burn themselves out

00:30:26   does not produce better work than letting them be rested.

00:30:29   That's what the smart companies know.

00:30:31   And the companies that have been successful,

00:30:32   like the 8088 was not made by people

00:30:35   who are pulling all-nighters for years at a time, right?

00:30:37   Crunch in the game industry.

00:30:40   Does that make better games?

00:30:41   No, it makes everything worse and it destroys lives.

00:30:43   And even gaming companies are learning,

00:30:45   if we wanna do better, we should try to avoid that, right?

00:30:49   It feels like you're doing, like I'm doing the hard work

00:30:54   and you have to do this,

00:30:56   especially if you're gonna be in a startup.

00:30:57   Nevermind that Twitter is not a startup.

00:30:58   Anyway, this is what you just have to do

00:31:01   for that big payday, you just gotta give your all.

00:31:02   And it's like your fundamental assumption

00:31:06   that working harder in longer hours

00:31:07   produces better work is what you need to reexamine.

00:31:10   And once you've reexamined that, it's much easier.

00:31:11   Setting aside the humanity of don't be cruel to people,

00:31:14   especially dumb 20-year-olds who have no life experience,

00:31:18   oh, they can do it because they don't have a family.

00:31:20   They have health and they should have lives.

00:31:22   It's cruel to essentially, not trick them,

00:31:26   but coerce them into working harder than they should

00:31:29   in a way that they'll regret.

00:31:30   They'll say, I spent my 20s burning myself out

00:31:34   at this company and I saw no benefit from it, right?

00:31:37   And I just wasted my life, right?

00:31:38   And they don't know that now,

00:31:39   but because they don't have kids and can do it,

00:31:41   and they think they will convince themselves

00:31:43   that they're doing better work by working longer hours, no.

00:31:45   And really the bad thing about it,

00:31:47   I don't know a lot about Twitter culture,

00:31:48   but it seems like from all the people bailing on Twitter,

00:31:51   that their culture was, let's say,

00:31:54   I mean, certainly better than this,

00:31:55   and possibly better than average

00:31:57   in terms of work-life balance

00:31:59   and the culture of being able to say things

00:32:01   on internal slacks that are critical of leadership.

00:32:03   I mean, people were bragging about that,

00:32:05   like it's a big deal, but can you,

00:32:07   I can't even imagine working at a company

00:32:09   where if you say something against leadership

00:32:12   in an internal channel or in even an internal meeting,

00:32:15   or to the face of a VP in a meeting.

00:32:18   That shouldn't be a fireable offense.

00:32:20   You can offend people and be rude

00:32:21   and politically get in trouble inside a company,

00:32:25   but a company that will not allow dissent

00:32:27   from within the company and the privacy of that company

00:32:30   is not a healthy company.

00:32:32   And so these Twitter employees were accustomed

00:32:34   to the environment where they weren't told

00:32:36   that you need to work 20 hours a day,

00:32:38   where there was an acknowledgement that you have a life,

00:32:40   where there was an acknowledgement

00:32:41   that you will do better work for the company

00:32:44   if you are well rested and have stability

00:32:47   in the rest of your life.

00:32:48   And there was an acknowledgement within the company

00:32:51   that it's okay to criticize the company

00:32:52   because that's a healthy thing and that's how we get better.

00:32:54   And then overnight, overnight all that changes

00:32:57   and people quit on their own, people get fired,

00:33:00   people get laid off.

00:33:01   I'm wondering how many people will be left

00:33:03   and it's the people who are left are going to be

00:33:05   the people who are foolishly willing enough

00:33:07   to destroy their lives for the amusement essentially,

00:33:10   not benefit 'cause they don't need anything

00:33:11   for the amusement of this billionaire

00:33:13   and the people who are trapped, who have H-1B visas,

00:33:16   or can't get another job quickly,

00:33:18   or really need this job right now

00:33:19   because they're in financial straits

00:33:20   or they need the healthcare.

00:33:22   There are so many reasons in our stupid system,

00:33:24   healthcare being tied to your job, one of the big ones,

00:33:26   something that people who are saying

00:33:27   another country might not think about.

00:33:29   When you leave your job, you lose your healthcare

00:33:32   unless you're willing to pay a lot of money

00:33:33   to continue getting it for some amount of time.

00:33:36   It's messed up, anyway.

00:33:38   So I feel like the only people left will be

00:33:40   the true believers who are going to

00:33:41   destroy themselves for him,

00:33:43   and the people who are trapped.

00:33:44   And those are not the best people.

00:33:45   And then if you drive all those people

00:33:47   to work ridiculous hours, you're gonna get poor work

00:33:50   out of those remaining people.

00:33:51   And it's just not a good situation.

00:33:54   Like I said last week, if you got enough money,

00:33:56   you can just play that game out,

00:33:58   burn the thing to the ground,

00:33:59   and start building up from the bottom purely with,

00:34:02   you know, Elon fans who are willing

00:34:03   to destroy themselves for him.

00:34:05   I don't think that's a healthy company culture either,

00:34:07   but it is a path that he can take

00:34:09   as long as he's willing to continue to put billions

00:34:10   and billions of dollars into this to pay off the debt

00:34:12   and continue to hopefully keep the service running,

00:34:15   he's got enough runway to continue this farce

00:34:19   for as long as he wants.

00:34:20   - And it isn't just about he's gonna ruin these people.

00:34:26   In these kind of working conditions,

00:34:28   the best people won't even work for you.

00:34:31   The best people usually are not the 20-year-olds.

00:34:35   It's good to have those 20-year-olds in the company

00:34:38   because they do provide a lot of energy,

00:34:40   a lot of grunt work.

00:34:42   They do have good ideas that the older people

00:34:43   might not think of, and a little bit of gumption

00:34:46   in certain ways that older people tend to fade off on.

00:34:49   But the older people in the company,

00:34:50   and I mean, this is still Silicon Valley,

00:34:53   the term older means people much younger than me.

00:34:57   (laughs)

00:34:58   I'm talking people who are like 30.

00:35:00   (laughs)

00:35:01   It's really terrible.

00:35:02   We have an awful ageism problem in our industry.

00:35:04   But people who are older who might have a family,

00:35:08   and they are refusing to work 16 hour days for this jerk,

00:35:13   they are better usually.

00:35:15   The experience they have usually makes them

00:35:19   more efficient workers and they know their value

00:35:22   and they know that they can do great work

00:35:26   benefiting the company massively

00:35:28   even if they're only there eight hours a day.

00:35:30   And if your company culture or explicit rules

00:35:34   makes it so that those kind of people

00:35:36   either can't or won't work for you,

00:35:40   then you're only ever going to get those,

00:35:43   either the 20 year old hotshots

00:35:45   or the people who are too stuck and aren't able to leave,

00:35:49   and you're gonna be missing out

00:35:50   on so much of the best talent.

00:35:52   So it isn't just that you're gonna be

00:35:57   being mean to the people you have,

00:35:59   it's that you literally won't even be able

00:36:01   to get the best people,

00:36:03   and even if he's on everything right up to this point,

00:36:05   which of course he so much hasn't,

00:36:08   but the best people won't even work for you.

00:36:10   And so you have to then hire more

00:36:13   of those hotshot 20 year olds,

00:36:15   and you still won't get the quality and efficiency

00:36:17   of work that you get from more experienced people

00:36:20   being present in the ranks.

00:36:22   And so it ends up being even less efficient,

00:36:24   and you have to work people even harder

00:36:26   because you're working less efficiently

00:36:28   or doing things that are less wise.

00:36:30   And it's just such a huge mess,

00:36:31   and it just all, it all comes down to,

00:36:35   wow, for a guy who's run so many companies,

00:36:37   he really seems terrible at running companies.

00:36:39   - Right, that's the thing.

00:36:40   Oh, we gotta move on.

00:36:42   Some of my real-time follow-up from Hayew DVD in the chat,

00:36:45   with regard to the Apple TV 4K,

00:36:46   first-gen, A10X, old Siri remote that everyone hated.

00:36:50   Second-gen, A12, new remote.

00:36:53   Third-gen, A15, USB-C remote.

00:36:57   That's your three generations.

00:36:58   - However, if you bought a new remote

00:37:00   for an older Apple TV. - Yeah, which I did.

00:37:03   - Which every, yeah, I did too.

00:37:04   Then it's all out the window.

00:37:06   We are brought to you this week by Trade Coffee.

00:37:10   You know, the holidays are approaching,

00:37:11   it's kind of shopping season,

00:37:13   and we all have the people in our life

00:37:15   who are more difficult to shop for, let's say.

00:37:17   And if you're looking for something to get,

00:37:18   even the most difficult person to shop for,

00:37:21   consider a personalized coffee subscription

00:37:23   from Trade Coffee.

00:37:26   This is a coffee subscription service

00:37:28   that makes it super simple to discover new coffees

00:37:30   and make your best cup of coffee at home every day.

00:37:34   Trade partners with the nation's

00:37:35   top rated independent roasters to send you coffee

00:37:38   that they know you'll love fresh to your home

00:37:41   and on whatever schedule you want it.

00:37:43   So whether you already know what you like

00:37:45   or you're new to specialty coffee, you need some help,

00:37:47   Trade makes it easy and convenient to discover new coffees.

00:37:51   I personally have used Trade for I think over a year now.

00:37:54   What I love about it is that they have such a variety.

00:37:57   It's incredible and fresh roasted coffee,

00:37:59   which is what you get from Trade,

00:38:01   is by far the best way to make coffee at home.

00:38:03   You don't need a fancy brewer

00:38:05   or some fancy brand name or whatever.

00:38:07   You need fresh roasted coffee.

00:38:09   That's what comes in the mail every week for me with Trade

00:38:11   and it is glorious because I know, I told them what I like,

00:38:15   certain roast levels, certain flavor profiles,

00:38:17   even certain origins.

00:38:18   I tell them how I'm brewing it and they send me new stuff.

00:38:21   I don't have to think about it, it's great.

00:38:22   I can thumb it up if I wanna have more like this

00:38:25   or something, but honestly, I don't really give them

00:38:27   much input, I just keep drinking it 'cause it's just good,

00:38:29   I don't even have to think about it, it's wonderful.

00:38:31   It's not only great for you, it's great as a gift,

00:38:33   so see for yourself, it is great.

00:38:36   So treat yourself or the coffee lover in your life

00:38:39   with Trade Coffee.

00:38:40   Right now, Trade is offering our listeners a total

00:38:42   of $30 off a subscription and access to limited time

00:38:45   holiday specials at drinktrade.com/atp.

00:38:49   That's drinktrade.com/atp for $30 off.

00:38:54   DrinkTrade.com/ATP.

00:38:56   Thank you so much to Trade Coffee

00:38:59   for keeping me caffeinated and sponsoring our show.

00:39:01   - All right, with regard to the utility of HomeKit,

00:39:08   this is from Todd.

00:39:09   Todd writes, "I'm a high-level quadriplegic,

00:39:13   "which means I have no use in my arms or legs.

00:39:15   "I have been doing home automation for 30 years.

00:39:17   "HomeKit has been a blessing.

00:39:18   "It's fairly simple to set up and it is very reliable."

00:39:22   I'm not so sure if that's true,

00:39:23   but hey, if Todd thinks it's reliable,

00:39:24   I'm good with that not so much for consumer level home automation that came before it

00:39:28   I have I device switches all over the place

00:39:30   It's so enabling to be able to tell Siri to turn lights on and off

00:39:32   I have outside lights automated to come on and turn off. It's great for me. There's a lot of return on investment homekit automation

00:39:38   I think that's a really good call and you know, it's not just people without use of their arms and legs

00:39:42   You know

00:39:43   I can think of many many many many different kinds of people that that

00:39:47   Being able to shout into the ether and have a response could be really powerful

00:39:51   So I thought that was a good point from Todd another advantage of one big consumer electronic companies enter an area

00:39:57   It was previously like specialized like we described as consumer level

00:40:00   Automation that came before it like when it was a smaller industry and the only people it's like well most people just have light switches

00:40:06   But if you really need something there's these three companies that try to make things for people who can't reach right switches or whatever, right?

00:40:11   But having a big company like Apple come in has got to be just you know

00:40:15   So much more money and effort put into making it better

00:40:18   So we may all complain about a home kit, but it's probably because that's only the only home automation thing

00:40:23   We've ever dealt with if we had to deal with like cruddy home automation

00:40:25   You know from the 80s or 90s or something that came before this. I'm sure that was much worse

00:40:29   Indeed. I remember when when I was growing up. My dad had what was it x10 something like that?

00:40:36   I forget what it was now the banner ads in the web

00:40:38   Yep, that he had x10 all over the place

00:40:41   Then I put in a very very small extent installation my dorm room because I was that kind of a dork

00:40:44   I think I told this story at one point in the show. But but anyways, I

00:40:48   His X10 setup was really robust

00:40:52   and worked reasonably well, much to my surprise.

00:40:56   I think it was X10, I might have that wrong.

00:40:58   - Didn't they invent the pop under or the pop up?

00:41:00   Was it them?

00:41:01   - I have no idea.

00:41:02   - Yeah, great legacy guys.

00:41:04   - Yeah, there's that.

00:41:05   I don't know, it was cool stuff.

00:41:07   And that, he had to have a dedicated Windows machine

00:41:10   to be the server for it.

00:41:11   It was a mess, but it was cool

00:41:12   that he was doing this in the mid 90s.

00:41:14   Hey, the Mac is entering its third year

00:41:17   of the quote two year transition quote to Apple Silicon.

00:41:21   This was pointed out by Colt of Mac

00:41:24   where we are in the beginning of the third year

00:41:26   and we were supposed to have it all done in two years.

00:41:28   - And that's counting generously

00:41:30   because like they announced in June,

00:41:31   like the first ARM Macs and they basically said,

00:41:34   you know, like we'll begin our two year transition

00:41:36   when like the first one comes out at the end of the year.

00:41:38   So here we are at the end of 2022,

00:41:41   which is generously two years after

00:41:43   not the announcement of ARM Macs,

00:41:45   but when the first one came out.

00:41:46   So yeah, entering year three of the two-year transition,

00:41:49   still waiting for that Mac Pro.

00:41:50   - Yeah, so with regard to that, I got, wait, well, we got,

00:41:54   but I got one of the best feedback emails

00:41:56   that I've received in a while.

00:41:59   And this is from Jonathan Clayton, who writes,

00:42:01   "Because the quote unquote new Mac Pro

00:42:03   was a topic of discussion yet again,

00:42:05   and to validate Casey's anger about discussing the topic,

00:42:08   I did some back of the envelope math.

00:42:09   HP went live," as Jonathan wrote this,

00:42:12   "3,564 days ago as of November 11th, 2022.

00:42:16   For 2,641 days or 74% of its existence,

00:42:19   there's been anticipation about whatever has come

00:42:21   to define the new Mac Pro.

00:42:23   For 257 days was the ATP launch

00:42:26   until the 2013 Mac Pro shipped.

00:42:28   For 1,512 days was the two years

00:42:30   after the 2013 Mac Pro was released,

00:42:33   about the time when people started asking questions

00:42:36   until the Mac Pro 2019 shipped,

00:42:37   and then 872 days and counting

00:42:40   since Apple announced Apple Silicon Transition

00:42:43   at WWDC 2020 and the 2019 Mac Pro was doomed.

00:42:47   Sorry, John.

00:42:47   So there have only been, according to Jonathan,

00:42:50   923 days in ATP's existence of 3,564 days

00:42:55   where everyone was okay with the current state of the Mac Pro.

00:42:57   So 25% of ATP's nearly 10 years

00:43:02   that the two of you have been, well, really me too,

00:43:05   but all three of us have been satisfied.

00:43:06   And I just thought that was wonderful, delightful,

00:43:08   back-of-the-envelope math to share with everyone.

00:43:10   - So it's interesting math,

00:43:11   but I don't agree with the part where it says,

00:43:13   where these numbers indicate times when we were

00:43:16   or weren't satisfied with the existence of the Mac Pro.

00:43:19   Right now, I'm perfectly satisfied with my Mac Pro.

00:43:22   I don't think like, oh, Apple needs to do something

00:43:23   about the Mac Pro. - You shouldn't be.

00:43:24   - The current Mac Pro is great, it's just what I wanted.

00:43:28   So you can't like basically start counting

00:43:30   as soon as they release one and say,

00:43:32   well, now you're immediately dissatisfied

00:43:33   and waiting for the next one.

00:43:34   Sometimes we were waiting for the next one,

00:43:36   like almost the entire reign of the trash can,

00:43:38   it was kinda like, yeah, yeah,

00:43:39   we're kind of dissatisfied, right?

00:43:41   But for the entire reign of the 2019 Mac Pro,

00:43:43   I certainly haven't been dissatisfied.

00:43:45   I'm not here saying, oh, I'm interested in the new Mac Pro,

00:43:48   but I'm not dissatisfied with the state of it.

00:43:50   I'm not saying, when is Apple gonna make a real Mac Pro?

00:43:52   They made one, I bought it, I've got it, I'm happy.

00:43:54   Thanks for all the math, but I think if you're going

00:44:00   to do sentiment analysis of when we're upset

00:44:02   about the Mac Pro, I think you would find much longer spans

00:44:05   when we're upset, for instance, about the laptops.

00:44:08   - That is fair, that is fair.

00:44:10   - Yeah, that's true.

00:44:10   But the difference is that was completely justified,

00:44:13   whereas I don't know if all that Mac Pro whining was.

00:44:15   But that's okay.

00:44:16   - Oh, it was. - Just wait.

00:44:17   When they come out with the new Mac Pro,

00:44:18   and if it's like another trash can type thing

00:44:20   where it's not satisfactory,

00:44:21   then we'll enter another dark period.

00:44:22   But we'll see. (laughs)

00:44:24   - I'm so very excited.

00:44:26   All right, so something that I'm actually

00:44:28   genuinely excited about is the iPhone's 14

00:44:31   satellite emergency SOS is live if you live in the US,

00:44:35   and I think only the US.

00:44:37   This debuted, I think, Monday, or maybe yesterday.

00:44:40   It was sometime in the last 48 hours.

00:44:42   And we'll put a link to the Apple Newsroom article

00:44:45   where they mentioned that France, Germany, Ireland,

00:44:47   and the UK are coming next month in December.

00:44:50   And I also thought it was interesting.

00:44:52   They kind of made passing mention of this,

00:44:54   but I don't think they ever really discussed how

00:44:56   or the mechanism for it.

00:44:57   But in the Newsroom article, they said,

00:44:59   "Additionally, if users want to reassure friends or family

00:45:02   "of their whereabouts while traveling off the grid,

00:45:04   "they can now open the Find My app

00:45:05   "and share their location via satellite."

00:45:07   And we're gonna talk a little bit more

00:45:08   about that in a moment.

00:45:09   Another thing that I thought was super cool,

00:45:11   and no sarcasm, is that you can actually do a demo

00:45:14   on your iPhone 14.

00:45:16   So if you have an iPhone 14, you can go to settings,

00:45:18   and then emergency SOS is one of the top level settings,

00:45:21   and then go down to try demo,

00:45:23   and you can actually try out a faked,

00:45:27   oh my gosh, I'm having an emergency situation,

00:45:29   and it's completely faked.

00:45:30   - Is it completely faked?

00:45:31   So here's two things.

00:45:32   One, I found out about this thing,

00:45:35   and my very first thought was,

00:45:37   oh, it's kind of a shame I don't have an emergency,

00:45:39   because it would be cool to try that.

00:45:40   - Yeah, exactly.

00:45:41   - And then two seconds later, I found out,

00:45:42   hey, Apple thought of that, and they made a way,

00:45:45   because they know people want to try it,

00:45:46   so they made a way for you to try it

00:45:48   without actually having emergency, which I think is great.

00:45:50   Second, how much of it is faked?

00:45:52   'Cause I tried it. - Well, that's true.

00:45:54   - And it makes you do like, oh, you know,

00:45:56   point towards the satellite and line up the thing

00:45:57   or whatever, and then obviously it doesn't send the message,

00:46:00   right, 'cause that part is surely fake,

00:46:01   but is the part where you're trying

00:46:03   to find the satellite also fake?

00:46:04   'Cause you could fool me, like,

00:46:06   just pick an arbitrary point direction

00:46:08   and then make me move my phone?

00:46:10   Because it's not sending anything,

00:46:11   there's no way for me to tell,

00:46:13   is it actually, is the part where you're turning around

00:46:16   to find the satellite real?

00:46:17   'Cause it does tell you to go outside,

00:46:18   and I went outside, I should have tried it

00:46:20   from like inside underneath a piece of tinfoil

00:46:21   to see if like, if it still says,

00:46:23   "Oh, you found the satellite," you know?

00:46:25   But either way, it's fun to do the demo,

00:46:27   you should try it, it brings you through a bunch of things.

00:46:29   But like, so, you know, almost all of it is fake,

00:46:31   but what I really hope is the part

00:46:33   where you point it at the satellite

00:46:36   and at the very least receives whatever the satellite

00:46:38   is spraying down, I hope that part's real.

00:46:40   I wanna believe it's real.

00:46:41   - Oh, same, and I assumed that part was real,

00:46:44   although then as I was talking about it during the show,

00:46:46   I was thinking, well, maybe that wasn't real at all.

00:46:48   But I assumed the satellite connectivity part was real,

00:46:51   it's just the emergency part,

00:46:53   just like you said a moment ago,

00:46:54   the emergency part was not.

00:46:55   But you make a good point, and it occurred to me,

00:46:58   like I said while I was talking about it,

00:46:59   that maybe everything was fake, I don't know.

00:47:01   We'll have to maybe follow up.

00:47:02   - Yeah, and also, when you're doing this demo,

00:47:04   Like they put, this is, all right,

00:47:06   so the fact this feature exists I think is great.

00:47:08   This is like Apple at its best

00:47:09   anticipating what people want to do.

00:47:11   And then they just, like, they did a good job

00:47:14   of making this fake UI, because it's not an easy task

00:47:17   to make it clear that you're doing something that's fake,

00:47:20   to make sure you can't accidentally do the non-fake thing,

00:47:24   and on every single screen, making it so that like,

00:47:28   there's no confusion about the fact,

00:47:30   don't worry, you're not actually telling ambulances

00:47:33   to come to your house.

00:47:34   difficult problem they did not have to tackle

00:47:36   just for this purely like, hey, people wanna try this

00:47:39   because it's fun.

00:47:40   And it's not just fun, it's also rehearsal

00:47:42   for if you ever have an emergency.

00:47:43   Because the last thing you wanna be doing in an emergency

00:47:45   is like, I know my phone's supposed to do this thing,

00:47:48   but I've literally never done it

00:47:49   and I have no idea where it is,

00:47:50   which is why one of the cool features of this

00:47:52   is like you don't have to remember where it is.

00:47:53   Just in America.

00:47:55   Dial 911 and if it can't dial 911,

00:47:57   that's all you have to remember.

00:47:58   That's what people know anyway.

00:47:59   Oh, you know, something terrible's happened, dial 911.

00:48:02   If you're in the mountains and have no signal,

00:48:05   right on the screen where you don 911,

00:48:06   it will throw up a button that says,

00:48:09   you know, satellite, do this, SOS, whatever,

00:48:11   because it will try 911, but there's no phone available,

00:48:13   so you don't have to learn, like,

00:48:14   oh, I have to go into settings,

00:48:15   or what app is this under, or whatever.

00:48:17   If you just do the first thing that comes to your mind,

00:48:19   which is dial the emergency number,

00:48:21   you will be presented with an option

00:48:22   to do this if necessary.

00:48:24   - Yeah, that's really cool, 'cause like, that's,

00:48:26   when I first saw that there was a demo,

00:48:28   I was like, what?

00:48:29   Like that's so unlike Apple to offer that kind of thing,

00:48:33   so it's noteworthy, first of all, that it's there.

00:48:36   And then I started thinking, why is it there?

00:48:37   And at first I thought, well, it's probably there

00:48:39   just for the PR of this new software release,

00:48:42   so now everyone can try it out and see.

00:48:43   But then I thought really, oh, that kind of rehearsal angle,

00:48:46   like, oh, they want people to know where this is

00:48:49   for when you need it.

00:48:51   That's really cool.

00:48:52   And again, all this is very un-Apple-like,

00:48:55   but I think in a very good way.

00:48:57   - I think it is Apple-like.

00:48:58   like, and maybe it's because I'm old,

00:48:59   but this is exactly what I think of when I think of Apple,

00:49:02   is someone being really thoughtful about a feature

00:49:04   and then spending way too much time and effort

00:49:07   to make a really good UI for the fake satellite interface.

00:49:10   So because, again, the challenge is there,

00:49:13   is to teach people how it's gonna work.

00:49:15   If you were an emergency,

00:49:16   here's what we would be asking you to do.

00:49:17   We'd be asking you to find satellites.

00:49:19   We'd be like, this is what you're gonna do,

00:49:20   so it's rehearsal, but also the whole time,

00:49:22   make sure that you know you're not doing anything destructive

00:49:25   and it's clear to you that it's a demo.

00:49:26   And that's a lot of work, and that's the best of the Apple

00:49:29   that I think of.

00:49:30   Maybe it's the '80s or '90s Apple,

00:49:32   with the Apple that was all about user experience and user

00:49:35   interface, and surprise and delight, and not ads.

00:49:38   Yeah.

00:49:39   If only.

00:49:41   You have to click through this ad

00:49:43   before you can send the satellite message.

00:49:45   Hey, it looks like you're trying to dial 911.

00:49:47   Can I interest you in a casino app?

00:49:49   Right.

00:49:49   You might want to sign up for Apple Arcade

00:49:50   before you send that message.

00:49:51   Are you sure?

00:49:52   It's going to take you a really long time

00:49:53   before the helicopter gets there.

00:49:54   You might want to kill some time with this new gambling slots app.

00:49:57   All right. Focus gentlemen. So I did this, you know,

00:50:01   demo just like the two of you did and I did a screen recording while I was doing

00:50:05   it and I tweeted it, you know, because as we sit here now,

00:50:07   Twitter is still here miraculously.

00:50:09   And so we'll put a link to that video in the show notes.

00:50:12   I'm sure the quality is garbage, but nevertheless,

00:50:13   it will give you the gist of it if you don't have an iPhone 14. But yeah,

00:50:17   I thought it was really, really cool. I love that,

00:50:19   that this is something you can try and just like the two of you said,

00:50:23   it is a great rehearsal for when the time comes. So all good things. Then the same day,

00:50:28   iJustine on YouTube was given a special privilege to discuss all this with Kyan Drance and Arun

00:50:35   and Tim something or other. I'm sorry, I forgot to write the rest of the names down. But anyways,

00:50:40   they talked about a bunch of things. They mentioned on this and perhaps in the newsroom

00:50:43   as well that it is free for two years, quote, "Starting with the activation of your iPhone

00:50:49   They made some other interesting kind of one-off comments.

00:50:53   They said that the satellites are traveling at 15,000 miles an hour, 800 miles above the

00:50:59   Earth.

00:51:00   Leaving aside the 15,000 miles an hour thing, I still think to this day that it is pretty

00:51:06   freaking cool that this little brick in my hand can talk to a cell tower that's, you

00:51:12   know, maybe a mile, two miles, five miles away.

00:51:15   We're talking about a satellite 800 miles above the Earth.

00:51:21   That is extremely cool.

00:51:23   I hope to never need this feature, but I just think that's super duper cool that this is

00:51:27   something that we have in a run-of-the-mill everyday phone.

00:51:31   I think that's awesome.

00:51:33   It was also interesting that Arun said that if you're in a car accident, the phone will

00:51:38   try to dial 911, but if it can't, it will—and these are direct quotes now—if it's unable

00:51:44   to call 911, it will then use this capability to try to get the message out via satellite.

00:51:49   In that situation, the phone probably does not have a clear view of the sky and might

00:51:53   be between the seats or in the trunk. So we keep the data extremely small in that situation,

00:51:59   and we have a really good confidence that we'll still be able to get that message out

00:52:02   and get you home. How freaking cool is that? That it knows, if you're in a car accident,

00:52:07   like God forbid, that, "Oh, we've got to keep this, whatever the transmission is, crazy

00:52:13   small because we may not have a long time to transmit it.

00:52:16   So I thought that was super neat.

00:52:17   If you're in a car accident or you're on a roller coaster.

00:52:19   Remember that's the we didn't cover that.

00:52:20   We didn't cover that story of people are getting activations on like, uh, you know, amusement

00:52:23   park rides.

00:52:25   And I feel for Apple there because I don't think that's malfunctioning.

00:52:28   I think a lot of the motions that happen to you when you're in amusement park ride are

00:52:31   exactly the same as happened when you're in a car accident, especially when you're considering

00:52:36   its emotion happening to the phone, not necessarily to you.

00:52:39   So I'm not saying amusement park rides injure you, but it could be that in an actual car

00:52:43   accident that injures you, your phone may experience exactly the same accelerations

00:52:48   of exactly the same kind as it would in an amusement park ride if it was in your pocket.

00:52:52   So I don't know how you solve that problem, really.

00:52:55   And then, you know, the worst case scenario, you're in an accident in an amusement park

00:52:59   ride.

00:53:00   So it's not like they're, you know, maybe they could help with their ML model or whatever,

00:53:04   but I feel like it's not doing anything wrong.

00:53:07   Like there is, in many cases there is no difference and so I'm not quite sure how they solve that

00:53:11   problem but it seems like it might be an actual problem.

00:53:15   Maybe they'll have signs at amusement parks that say, you know, put your phone into airplane

00:53:18   mode or don't bring your phone on this ride with you or something like that.

00:53:21   And in general I would say don't bring your phone on the roller coaster.

00:53:25   You don't need to text anybody while you're on it.

00:53:27   And you know, I remember last time I was at, was it Great American?

00:53:31   I think it was universal maybe in Florida,

00:53:35   waiting for my family to get off a ride.

00:53:38   And it was like some looping roller coaster

00:53:40   that went over the water and I'm standing by the railing

00:53:41   looking at the water and down at the bottom of the water,

00:53:43   you could just see the lit up screens of a bunch of phones.

00:53:46   'Cause it's like we're going over the loops

00:53:48   and they're like falling out of their purse,

00:53:49   falling out of their pocket.

00:53:51   Yeah, don't bring your phone on the ride.

00:53:53   - Well, what else are you supposed to do with it?

00:53:55   It's in your pocket. - They have lockers.

00:53:56   They have lockers that you can put your stuff.

00:53:58   - They cost like $1,000 a minute.

00:54:00   It's an amusement park. I know but like would you rather your phone be lit up at the bottom?

00:54:05   It must have been since they were unlocked

00:54:06   It must have been people like trying to take a video while they're on the roller coaster or something like that

00:54:10   And there they are in the water

00:54:12   Good job. Anyway real-time follow-up. I have no idea if this is you know, 100% true or not

00:54:17   But according to 100 ghosts in the chat

00:54:19   I had a message that said the satellite had passed and I would need to wait two minutes for the next one to be available

00:54:24   This is in the context of doing the demo

00:54:27   So that makes me think it's what you and I expected John that the satellite portion was real

00:54:30   - I've never played a video game. Oh, well, but why would they do that?

00:54:35   It makes the service look they want to give you an authentic experience of what it's really gonna be like

00:54:39   I just don't actually know if you know any actual communication with the satellite is involved

00:54:43   Nothing really matters like the whole point of the rehearsal is this is what you're gonna be asked to do

00:54:46   Maybe it'll say it passed you're gonna have to point in the direction

00:54:49   You're gonna have to hold it there like they can make the rehearsal be authentic. Mm-hmm

00:54:54   Well anyway moving along it is worth noting that in order to do this

00:55:01   Via or to in order to send your location you can do that

00:55:05   Manually it doesn't happen automatically, but you can manually go into the find my app you can do this right now

00:55:11   but I won't let you send it find my me and then my location via satellite and

00:55:16   Presumably I didn't try this but presumably this is where you would say okay?

00:55:19   Who do you want to send it to but it says?

00:55:21   Generally speaking not available and then there's learn more in a chevron and in the learn more

00:55:25   It says something along the lines of hey, you're connected to sell and or Wi-Fi

00:55:30   So we're not gonna bother with the satellite right now

00:55:32   But which I thought was reasonable a couple other things from the I justine interview

00:55:36   The medical ID is sent along with the SOS message

00:55:38   So, you know what you're allergic to how big how tall you are how much you weigh etc, etc

00:55:43   Which I thought was interesting again going back to a rune

00:55:47   This is a quote.

00:55:48   "It was really important to use the satellite constellation that was fully mature and built out.

00:55:51   The challenge became, how do we make the iPhone be able to interact with this thing that's already launched and been up there for a long time and has been mature?

00:55:58   So we had to make the necessary hardware modifications to allow us to optimize that communication back and forth,

00:56:02   and then build an entirely new communication stack that included a whole new waveform and all the layers above,

00:56:08   a custom link layer, a custom networking layer, etc."

00:56:11   And they eventually came out and stated that Globalstar is the partner company,

00:56:15   And they said that that was in no small part because apparently it is unusual for satellite radio operators to have a single

00:56:23   global frequency, but Globalstar does. So whatever it is, you know, 1, 2, 3.5 megahertz or whatever, that is the case across the planet. And

00:56:31   Mike had said that they have Apple proprietary radio systems in each of Globalstar's ground stations to support this.

00:56:41   He also said in summary we have a general idea of the dead zones from cellular networks and he said I'm sorry

00:56:48   I'm paraphrasing what he said that he he had a they have a general idea of where the dead zones are from cellular networks and

00:56:53   They when they were building this all out and figuring out how to make work

00:56:56   They were prioritizing, you know, how do we make these areas work?

00:56:59   So like I don't know the Shenandoah National Park here in the East Coast or one of the eight gazillion parks in, California

00:57:04   They know these are the places that people are going to use this sort of thing. How do we make it work the best there?

00:57:09   So I found all of this extremely fascinating. I think the Justine video, which is about 20 minutes long, is worth your time.

00:57:15   I just think it's super cool.

00:57:17   All right, move right along.

00:57:20   Mastodon.

00:57:22   Is that a thing? Are we doing this?

00:57:24   It seems to maybe possibly be becoming a thing?

00:57:28   I had to look this up because, all right, so we'll talk about Mastodon in a second,

00:57:32   but it'll explain why I have lots of accounts in them.

00:57:35   But my accounts, I signed up for them five years ago,

00:57:39   probably during the last Twitter is doomed cycle, right?

00:57:43   I mean, we all went to app.net at one point,

00:57:45   and not went to, but got signed up for app.net.

00:57:48   And at some point, apparently in 2017,

00:57:51   I signed up for tons of Mastodon stuff.

00:57:53   So when the Mastodon stuff came around, I'm like,

00:57:55   oh, I'm pretty sure I have a Mastodon account.

00:57:56   Turns out I have like six Mastodon accounts,

00:57:58   which is part of the problem.

00:57:59   Anyway, continue.

00:58:00   What is Mastodon?

00:58:01   - Right, so I don't know if I'm the best person

00:58:04   to give a great summary of Mastodon.

00:58:05   But the idea of Mastodon is, you know,

00:58:07   what if you had Twitter, but it wasn't as centralized?

00:58:11   It was kind of quasi-centralized.

00:58:14   And so you could join an instance,

00:58:17   what is there, is an instance the term they use for it?

00:58:19   What do they call it?

00:58:20   - Yeah, instance. - Okay.

00:58:21   You can join an instance, which is basically a server,

00:58:23   where there are like-minded individuals.

00:58:26   And that, well, in theory--

00:58:29   - You can join an instance.

00:58:31   - Well, okay, what-- - It's federated.

00:58:32   You can join an instance.

00:58:34   - No, hear me out for a second.

00:58:35   I think the theory, in my understanding anyway,

00:58:38   of the theory is that you join a server,

00:58:40   an instance that has like-minded individuals,

00:58:42   and then the administrators of that instance

00:58:46   can block other instances from talking to you.

00:58:49   They can do all sorts of content moderation

00:58:52   and so on and so forth.

00:58:53   So if you want to be in a instance where free speech

00:58:58   is a thing, you can do that.

00:59:00   If you want to be in an instance where you mostly chat

00:59:02   about programming stuff, you can do that.

00:59:04   But what's fascinating and interesting about Mastodon

00:59:06   is that, like you said, it's federated.

00:59:08   So what that basically means is you can link up

00:59:11   and follow other accounts from other instances.

00:59:15   So even though I might be on mastodon.social,

00:59:18   which I have an account there,

00:59:19   but I haven't posted anything,

00:59:21   I might be on mastodon.social,

00:59:22   but Jon might be in ItalianAmericans.family

00:59:26   or something like that.

00:59:27   - Jon might be in seven other.

00:59:29   - And seven other ones too.

00:59:31   So in theory, I think that's a kind of neat idea,

00:59:35   but in practice, I think it's kind of aesthetically icky

00:59:40   and I just don't know how well it really works out,

00:59:43   especially since you can, as the instance owner/runner/

00:59:48   whatever, you can just up and decide,

00:59:51   eh, I don't wanna deal with this anymore.

00:59:52   And that has happened.

00:59:54   And I think the code of conduct or whatever

00:59:56   amongst Mastodon administrators is you have to give

01:00:00   six months notice or something like that, but really you don't, I don't think.

01:00:05   What are they going to do?

01:00:06   Well, let me describe some more of the cool features about this and get to the kicker,

01:00:09   which is like last week or maybe the week before Marco was like, "We're not going to

01:00:12   go to Mastodon, and even if we did, it doesn't matter because they're going to have all the

01:00:15   same problems as Twitter."

01:00:16   A lot of people said, "Wait, but have you heard about Mastodon's features?

01:00:19   They're not going to have all the same problems as Twitter because it has all these features."

01:00:21   You already talked about one, Casey.

01:00:22   "Oh, if you're on a server, that server can decide which ones it wants to federate with.

01:00:26   It can just block an entire server filled with trolls, right?

01:00:28   And so you don't have to deal with them and blah, blah, blah.

01:00:31   And there's even more to it than that.

01:00:33   If an instance shuts down, you can transfer, basically,

01:00:37   your followers or your identity, like redirect

01:00:39   to a different thing.

01:00:41   So it's not like, oh, I'm beholden

01:00:43   to the owner of this thing.

01:00:44   So if they shut it down, then I'm screwed

01:00:46   and I lose everything.

01:00:47   No, there's actually a feature where

01:00:48   you can transfer your followers and your account

01:00:51   and your identity to another instance.

01:00:53   And so it's made to be resilient and decentralized,

01:00:56   giving each instance owner the ability to form a community

01:01:00   that works the way they want it to work.

01:01:03   But I think having said all of that,

01:01:05   and I'm sure there's other features

01:01:06   that I'm even missing about this,

01:01:07   having said all of that, like what is it,

01:01:09   ActivityPub, the public API for this type of thing

01:01:12   and everything, you do still have all the same problems

01:01:17   as Twitter, you just have them in miniature form,

01:01:21   repeated many different times.

01:01:23   What are the problems of Twitter?

01:01:24   The problems with Twitter are,

01:01:25   how do we set the rules for this community?

01:01:28   How do we decide what behavior is and isn't allowed?

01:01:30   How do we decide which other federated instances

01:01:33   to block and to not block?

01:01:34   How do we decide when to kick somebody off?

01:01:36   How do we make money to keep this service running?

01:01:39   Does making that money make it an unpleasant place

01:01:41   for people to be, right?

01:01:42   It's all exactly the same problems as Twitter.

01:01:45   The good thing about it is that you get many,

01:01:47   many chances to solve those.

01:01:48   So instead of just having one chance

01:01:50   with one stupid Elon Musk running the thing or whatever,

01:01:52   you get 50 chances.

01:01:53   But that's also the bad thing,

01:01:54   and it's why I have so many accounts.

01:01:56   I wanna sign up for Mastodon.

01:01:58   Hmm, which instance should I choose?

01:02:00   The instance where other people I know are?

01:02:05   - Oh, but that doesn't matter.

01:02:07   - But yeah, well, it kinda matters

01:02:09   'cause you can have a local feed,

01:02:10   but if an instance is like,

01:02:13   oh, it's the place, there's a community

01:02:15   with a set of rules, I wanna go where my friends are

01:02:17   because I bet that set of rules is good.

01:02:18   Well, but it also could just be that all your friends

01:02:21   went to the most popular instance,

01:02:23   and it turns out the most popular instance

01:02:24   is run by a megalomaniac who reads all your DMs,

01:02:27   because by the way, the owner of the instance

01:02:29   can read all your stuff, right?

01:02:31   It's like, you don't know that, right?

01:02:33   So maybe that's the wrong instance.

01:02:34   Maybe I should go to this instance.

01:02:35   Oh, that instance was run by somebody as a hobby

01:02:37   and they shut it down two years ago, right?

01:02:40   When I went into re-sign into my Mastodon things,

01:02:44   one of them was totally gone,

01:02:45   because the thing was shut down.

01:02:47   One of them had a big red banner at the top

01:02:49   said, "Warning, this thing is shutting down imminently."

01:02:51   One of them I forgot my password to forever,

01:02:54   so that one's gone, right?

01:02:56   I don't know why it wasn't in any of my keychains

01:02:57   or something, or maybe I just never knew the password

01:02:59   and didn't save it.

01:03:01   And the quote-unquote popular one, mastodon.social,

01:03:04   I couldn't get my username on,

01:03:06   which frustrates me in the end, right?

01:03:08   And then I have like three other ones, right?

01:03:10   And so I'm shuffling the people, but anyway.

01:03:13   It is better than Twitter because it is less centralized,

01:03:17   but all that means is that all these instances

01:03:21   now have this trial by fire of,

01:03:22   "Hey, you think it's so easy to run Twitter?

01:03:24   "You figure out how to do it,

01:03:25   "and figure out how to keep the lights on,

01:03:28   "figure out how to make enough money to run the instance.

01:03:30   "If your thing becomes popular

01:03:31   "and you're not making any money,

01:03:32   "how much you think it's gonna cost you

01:03:33   "to run Mastodon for all these people

01:03:35   "and do all the federated activity?"

01:03:37   And then, by the way,

01:03:38   if a bunch of Nazis come into your server,

01:03:40   you're gonna spend your whole day fighting them off,

01:03:41   and then spam bots come, and then blah, blah, blah.

01:03:43   It's like, if you become the most successful big instance,

01:03:46   "Oh, Mastodon.social, it's super popular.

01:03:48   "It's got millions of people."

01:03:49   Well, that's like days or weeks away

01:03:51   from facing the same problems that Twitter faced

01:03:54   when it got a million or so people.

01:03:57   So I'm not poo-pooing these things.

01:03:58   I think it is better than having one publicly

01:04:01   or privately held company that is the centralized version

01:04:03   of all of this.

01:04:04   But I think, I'm not gonna say,

01:04:08   oh, it's not gonna help and it's not gonna save us

01:04:11   'cause if Twitter goes away,

01:04:12   Mastodon is better than nothing, I feel like,

01:04:14   and it is very much Twitter-like.

01:04:16   But boy, they have an uphill climb.

01:04:18   They're gonna have to go through all the same thing.

01:04:19   Their instances are gonna come and go.

01:04:22   They're gonna have to work through

01:04:23   all sorts of different rules.

01:04:24   Hopefully there'll be enough of them

01:04:25   trying these experiments,

01:04:26   but there'll be a lot of wreckage from that

01:04:28   of like, oh, this server screwed up

01:04:30   and this was invaded by Nazis and they set these rules here

01:04:33   and this one doesn't allow cursing.

01:04:35   There's just gonna be a lot of that churn going on

01:04:38   and it's just exhausting to keep up with that.

01:04:40   So that's probably going to keep it

01:04:41   from ever being popular with anybody

01:04:42   except for real nerdy people.

01:04:44   And then all the years of stuff that's happened on Twitter.

01:04:47   The API, all the clients that are built around,

01:04:50   I know everyone just uses the official client,

01:04:51   but like, you can make third party Mastodon clients

01:04:55   probably, but right now, there's the official client

01:04:57   in the web UI, and they're better than Twitter was

01:05:00   in the beginning, but they're not as good as the best

01:05:02   of the best Twitter interfaces that exist today.

01:05:04   How could they be?

01:05:05   They just haven't had time and money to mature.

01:05:07   So, you know, it's not that I'm pessimistic about Mastodon,

01:05:12   but I just don't, the only problem Mastodon solves

01:05:14   is Elon Musk, and it's, granted, that's a big problem,

01:05:17   Or if, you know, previously the only problem it solves

01:05:19   is Twitter is fairly inept management, right?

01:05:23   But all the other problems are there,

01:05:25   they're just now spread into little miniature instances

01:05:28   of those problems, and then people are sprinkled over

01:05:31   those instances like, fend for yourselves, figure it out,

01:05:34   hope you land on something with a good moderator,

01:05:35   don't say anything in DMs that you don't want anybody to see.

01:05:38   I don't know, I don't relish it.

01:05:42   Anyway, I'm on all sorts of Macedon things,

01:05:44   I still do want to get my last name and I asked it

01:05:46   on it on social, but I'm working on it.

01:05:48   So on mastodon.social, they have an about page,

01:05:51   which I don't know if you can see it if you're not logged in,

01:05:53   but it's mastodon.social/about.

01:05:55   There's a section, moderated servers,

01:05:57   and there's a list of just eyeballing it,

01:05:59   maybe a couple hundred, maybe 10 or 20 of which are limited.

01:06:04   And then there's a bunch that are considered suspended.

01:06:07   As I'm scrolling this list, one of the instances that

01:06:12   is limited is, I kid you not, sh*tposter.club, and FYI, it's limited because of harassment,

01:06:19   you don't say. Also, is Elon the president of the sh*tposter club? Because he certainly

01:06:25   thinks he is.

01:06:28   Having instances, that is the one good thing about Mastana, is these tiny tyrants who run

01:06:31   the instances, they are able to do what big companies thus far have not been doing, which

01:06:38   is like, "Hey, if someone's being a jerk in your instance, just boot them out. You don't

01:06:41   have to have this complicated policy.

01:06:43   There's not going to be any New York Times story

01:06:44   about how you booted out the jerks.

01:06:45   It's like having an IRC server back in the day,

01:06:48   or whatever, like BBS.

01:06:50   If you run the BBS and someone's a jerk, you boot them off.

01:06:53   And there's no big story about it, right?

01:06:55   Because it's your thing and you get to run it

01:06:56   and you get to set the rules, right?

01:06:58   But what that means is that every instance is at the whim

01:07:01   of the people who own that instance.

01:07:03   And how well do you know the people who own instances?

01:07:06   Right now, there isn't enough knowledge

01:07:08   for the general public of like,

01:07:11   is this a good instance to be on or a bad one?

01:07:13   It's like, well, you'll find out.

01:07:14   Again, just like BBS is our IRC service,

01:07:16   you'll find out if the admin is a jerk or not eventually.

01:07:19   If this ball keeps rolling,

01:07:23   there should eventually be public knowledge

01:07:25   about which ones are reasonably safe, nice places to be.

01:07:30   But like I said, all that does is fast forward you to

01:07:34   like Twitter circa 2007 or eight or nine, I guess,

01:07:39   where it's like, okay,

01:07:40   now we found a nice pleasant place to be.

01:07:42   And now here come all the problems that Twitter encountered.

01:07:44   How are you going to deal with them,

01:07:46   person who runs this thing in your spare time?

01:07:47   Good luck.

01:07:48   - Yeah, I don't know.

01:07:50   I like, I really feel like I'm turning into old man

01:07:54   who shouts at clouds 'cause I'm,

01:07:56   I don't wanna be pessimistic about everything,

01:07:59   but I just don't love what I've seen so far on Mastodon.

01:08:03   Like, I think it just, it seems like the,

01:08:08   it seems like Linux, right?

01:08:10   I'm sorry, I'm sorry.

01:08:11   But it's like the--

01:08:12   - Linux is way better.

01:08:14   - Well, fair.

01:08:15   It's like the crummy open source version

01:08:17   of something that everyone likes, right?

01:08:19   Which is impressive.

01:08:21   - It's not that crummy.

01:08:22   It's actually, I mean, again,

01:08:23   considering I signed up for it five years ago,

01:08:25   it's pretty feature rich.

01:08:26   And the web UI does not look like it was just

01:08:29   thrown together in a weekend, right?

01:08:31   It's not great, and it's overly confusing and overly

01:08:34   complicated and could be improved or whatever.

01:08:36   But I'm impressed with how many features

01:08:39   it's gotten in the five years that I've been ignoring it.

01:08:41   And I get what you're getting at in that it's like--

01:08:44   open source software.

01:08:47   I mean, the worst thing you say about it

01:08:49   is that they're all kind of running the same software.

01:08:51   So whoever modifies that software

01:08:53   and updates it has the ability to make our lives better

01:08:56   or worse.

01:08:56   And how does that work?

01:08:57   But for people thinking it's going

01:08:59   to be like an IRC type thing.

01:09:02   It is more pleasant than that.

01:09:04   - It is, it is for sure.

01:09:05   - Yes, I mean, to me, the problem with Mastodon

01:09:08   is not anything about its features.

01:09:12   Suppose you get over all the hurdles.

01:09:15   Suppose you choose a server instance or whatever

01:09:18   to host yourself, which will host you for some reason,

01:09:23   indefinitely into the future without problems, lol.

01:09:26   Okay, so suppose you get past that,

01:09:28   And suppose that some of your friends get past it too

01:09:32   and they somehow find you or create accounts or whatever.

01:09:36   It's just really hard to juggle two very similar

01:09:40   social networks where you don't have the same friends

01:09:43   on both, you don't have any good way to get all

01:09:46   of the friends on one onto the other,

01:09:49   and it's kind of hard to know like,

01:09:50   well what do I post where?

01:09:52   Now, if you have say topic specific Mastodon instances,

01:09:57   Like I was on one for Overcast,

01:09:59   there was like a podcast kind of standardized discussion

01:10:02   kind of thing, but that was like topic specific.

01:10:05   For just like general use,

01:10:08   what do I do with two Twitter like services?

01:10:11   Like my entire usage pattern of Twitter

01:10:15   is through these apps.

01:10:17   I have Tweetbot on the Mac, I have Tweetbot on the phone,

01:10:20   there's other apps like Twitturific that are great.

01:10:22   Mastodon has an app and I used it briefly

01:10:26   on my phone last night.

01:10:27   I'm not aware of a Mac app besides the web app

01:10:29   and the web app, and you know,

01:10:30   web apps for this kind of stuff just suck

01:10:32   compared to native apps.

01:10:33   The native apps are way better.

01:10:34   And so on my phone, I tried the Mastodon app

01:10:37   and because it kind of looks like Twitter

01:10:40   and kind of works like Twitter,

01:10:42   you expect it to work like Twitter

01:10:43   and it's a bit uncanny valley-ish

01:10:44   and then you go to do something

01:10:46   that works in your Twitter app of choice

01:10:48   and it doesn't work at all or the same way.

01:10:51   it just kind of feels broken.

01:10:53   And I can post stuff there, but do I post the same thing?

01:10:57   Do I cross post?

01:10:58   Do I have to look at responses from both?

01:11:01   In the ideal case, what would get this off the ground

01:11:05   is one app, say Tweetbot or Twitterific,

01:11:10   where you could attach your Twitter account

01:11:13   and a Mastodon account or two

01:11:16   and view all the replies in one app

01:11:18   and have everything work the same way.

01:11:21   - Can you imagine if it had this, I don't know,

01:11:23   what if your timeline was all together,

01:11:25   if it was like, I don't know, you, you, you,

01:11:27   whoa, whoa, what if it was unified?

01:11:29   I bet that would be cool. - You're making a joke,

01:11:31   but the inability to browse Mastodon

01:11:35   with a unified timeline is actually a barrier

01:11:38   for adoption for me personally,

01:11:39   because that's what Mark was saying.

01:11:41   If you're used to doing it a certain way in Twitter,

01:11:43   since this is so similar, there are habits that you're formed

01:11:45   and you're like, well, I don't wanna use Mastodon,

01:11:47   doesn't let me view it the way I'm used to viewing it.

01:11:51   And obviously the solution is that,

01:11:52   well, if Twitter implodes, Mastodon's

01:11:54   starting looking a lot better, and you don't have

01:11:55   to have this question anymore, because it is so Twitter-like,

01:11:58   and it is the most Twitter-like of the competing things,

01:12:00   that if Twitter literally does implode,

01:12:02   or actually goes down and they can't bring it back up,

01:12:04   or whatever, turns into something terrible

01:12:07   that everybody leaves, Mastodon is there waiting for it.

01:12:10   But I feel like the centralization of Twitter,

01:12:13   people can sign up for it, they know where to go,

01:12:16   they go to twitter.com, right?

01:12:18   The single unified namespace, and you can say,

01:12:20   well, you know, Mastodon has a unified namespace too.

01:12:22   It just has an extra ad and an address in it,

01:12:24   just like an email address, not a big deal.

01:12:26   I think it is a big deal,

01:12:27   especially since when instances go down,

01:12:29   you might not necessarily be able

01:12:30   to get the same username elsewhere.

01:12:31   Stable URLs, tweets for all these years

01:12:34   have had stable URLs.

01:12:36   Not so with Mastodon things,

01:12:37   'cause if that instance goes down and disappears from the web

01:12:40   that URL that points to that instance

01:12:41   is not gonna work anymore, right?

01:12:43   That's kind of why I like this Jack Dorsey,

01:12:46   you know, wankery project, whatever,

01:12:49   the Project Blue Sky thing,

01:12:51   which is like, let's build Twitter,

01:12:52   but let's do it with open standards and decentralized

01:12:54   and blah, blah, blah.

01:12:56   If you look at the technology and ideas

01:12:58   behind Project Blue Sky, we'll put a link in the show,

01:13:00   it's blueskyweb.xyz,

01:13:03   the technology and the ideas I think are really good.

01:13:06   I don't think it will ever actually come to anything,

01:13:08   which is the problem,

01:13:09   but like what you want is the best of both worlds.

01:13:11   You want the clarity and single unified namespace

01:13:16   and stable URLs of Twitter,

01:13:18   but without it being owned and controlled

01:13:19   by a single private company.

01:13:20   And that is a tall order.

01:13:22   We kind of already have that with blogs and RSS.

01:13:25   It was straightforward.

01:13:27   URLs were stable as they wanted to be.

01:13:29   You presumably owned and controlled your own blog.

01:13:32   And if your hosting company went down,

01:13:33   you can move your blog elsewhere or whatever.

01:13:35   But that was like a ideal world for computer nerds

01:13:39   who know how to make and run

01:13:41   want to make and run their own blog.

01:13:44   And what that rapidly turned into is, "Oh, my blog is on Blogger."

01:13:48   And then eventually Blogger falls out of favor.

01:13:50   "I'm on LiveJournal.

01:13:51   I'm on Tumblr."

01:13:52   And it's just like these big companies that are helping other people do this thing that

01:13:55   only nerds could do before.

01:13:58   And Twitter just solved that problem for everybody.

01:14:00   We're one company, go to one place, we're all talked together in one big giant thing.

01:14:04   And that's why Marco said it two shows ago, it would be ideal if that could just continue

01:14:07   in terms of the simplicity of the user experience, but not ideal in terms of the consequences.

01:14:13   Because as we've seen, a person who controls Twitter can really screw things up for a lot

01:14:17   of people.

01:14:18   And both pre-Elon and post-Elon we saw that, amply demonstrated, right?

01:14:22   So I'm not sure what the solution is, but the blue sky stuff looks really appealing

01:14:26   to me if something like that could ever actually be created and gotten off the ground.

01:14:31   And if they worked out all the problems of like, how do I make it simple for regular

01:14:34   to people to sign up while still not having it eventually

01:14:37   be owned and controlled by a single company.

01:14:38   Because kind of like blogging, you're like,

01:14:40   "Oh, blogging, it's free.

01:14:40   "It's not owned and controlled by a single company."

01:14:42   But once you get the regular people in there

01:14:43   who don't want to write their own servers

01:14:45   or run their own servers or own CMSs,

01:14:48   you get necessarily these companies that,

01:14:50   you know, I don't know if Ben Thompson

01:14:53   will call them aggregators, but like,

01:14:54   "Hey, we're a big company.

01:14:56   "You don't wanna have to worry about running a blog.

01:14:58   "We'll run it for you."

01:15:00   That's why I feel like, you know,

01:15:01   I mean, arguably frequent sponsor Squarespace,

01:15:04   encouraging you to get your own domain name

01:15:07   kind of helps us hedge against that

01:15:09   because in theory, if Squarespace goes away

01:15:12   or becomes evil or starts charging you too much money,

01:15:14   you can just pick up your website

01:15:16   'cause it's at your own domain name

01:15:17   and put it someplace else.

01:15:17   But now we're back to techie stuff again, right?

01:15:20   And what you'd be looking for is another company

01:15:22   like Squarespace that solves this problem for you.

01:15:24   And that's why you get these big consolidations

01:15:26   of a giant company where most people have their

01:15:29   Twitter replacement blue sky thing,

01:15:31   and then the nerds have their own individual

01:15:33   Twitter replacement blue sky.

01:15:34   Same thing with Mastodon.

01:15:35   You can run your Mastodon since you can get

01:15:36   a Mastodon address that is a domain that you control.

01:15:40   But that is definitely a tech nerdy thing

01:15:41   and most people won't do that.

01:15:42   So, hard problems to solve.

01:15:45   Arguably, running Twitter not like an idiot

01:15:48   is an easier problem to solve

01:15:50   than everything we've discussed here

01:15:51   because Twitter had improved over the years,

01:15:55   learned some hard lessons,

01:15:57   and was on a path that was ever so slowly

01:16:00   getting slightly better over time.

01:16:03   If someone could have just taken over Twitter

01:16:05   and bent that line up to get better faster,

01:16:08   boy that would have been much better than where we are now,

01:16:11   which is bending that line way, way downward real fast.

01:16:15   - Yeah, I don't see Mastodon itself,

01:16:19   and maybe it's possible for something else

01:16:20   to have a better story here.

01:16:21   I don't see Mastodon having the user experience

01:16:26   to really ever get mass traction.

01:16:28   And part of it is because of the weird federation stuff

01:16:32   and the weird double at usernames and everything.

01:16:36   There's a whole bunch there that's just very

01:16:38   normal person hostile.

01:16:40   - The instability of addresses and URLs,

01:16:42   it's a real problem.

01:16:44   - But I think ultimately,

01:16:45   what's gonna take off, if anything,

01:16:50   to replace Twitter is gonna be another centralized company

01:16:53   that's gonna have a really nice app

01:16:54   and be accessible everywhere and be really easy

01:16:58   for everyone to get into and that's what's gonna work.

01:17:01   And Mastodon, while I respect what they're trying to do

01:17:04   and I like a lot of the ideals behind it,

01:17:06   the implementation and the user experience so far

01:17:10   is just so regular person hostile.

01:17:13   And I don't see that meaningfully changing.

01:17:17   What might happen is one Mastodon host

01:17:21   might get really popular and then you just have

01:17:24   a different centralized company, that might happen.

01:17:27   But the whole thing with like,

01:17:29   oh, well you can follow me over here,

01:17:31   it's like, yeah, you can make your moonshine

01:17:34   in your bathtub, but no one's gonna really do that.

01:17:37   It's this whole nerd dream where everyone's gonna have

01:17:39   their own domains and their own URLs,

01:17:42   and over and over again, the industry just proves

01:17:46   that's not what people ever wanna do,

01:17:48   and at least a lot of people.

01:17:51   We can get nerds like us and business owners

01:17:53   and stuff to do it, but to get most of the public

01:17:55   into something like this, it has to be way simpler

01:17:58   and way easier.

01:17:59   There can't be 16 different answers.

01:18:01   There can't be a question that poses 16 different options

01:18:03   of like, all right, well first, before you even use

01:18:05   this thing, where do you wanna make your account?

01:18:07   That, you can't even ask people that.

01:18:10   It shouldn't be a question.

01:18:11   You should instantly start up with like,

01:18:14   we have an amazing app that works really well

01:18:16   and that does everything you want it to do.

01:18:17   Like, that's like table stakes.

01:18:19   For a social network, you have to have apps

01:18:21   on every major platform that have to be great

01:18:24   and they have to be usable and they have to have features

01:18:27   people want and here's the thing,

01:18:29   if you're gonna mimic Twitter in what your product is,

01:18:33   you have to support a lot of things that Twitter supports

01:18:36   and they have to work the same way.

01:18:39   If you're gonna make something that looks like Twitter

01:18:41   and kinda acts like Twitter but then doesn't work

01:18:44   like Twitter, you're gonna anger everybody.

01:18:47   Like I was trying to read a thread,

01:18:48   like somebody, I was poking around Mastodon in the app

01:18:51   and somebody posted a thread with a little thread emoji

01:18:54   to indicate this is a thread.

01:18:56   And for the life of me, I could not figure out

01:18:58   how to see the replies of that thread.

01:19:00   I tried like, you know, tapping into that one message

01:19:02   or swiping right or whatever,

01:19:04   and I got it to show me other replies,

01:19:07   but nowhere in the list was like

01:19:09   the next post in that thread. (laughs)

01:19:11   And so, and again, it was just some like,

01:19:13   some little difference that like,

01:19:15   this is a small behavioral paper cut

01:19:18   that if I'm going to move from Twitter,

01:19:21   I can't be hitting paper cuts like that

01:19:23   because I am going to expect this thing to work like Twitter.

01:19:26   Now, if it's not gonna work like Twitter,

01:19:28   it should be even more different.

01:19:30   Like, I don't get that feeling on Tumblr

01:19:33   because Tumblr is way more different from Twitter

01:19:36   than Mastodon is.

01:19:37   And so Tumblr is its own thing.

01:19:39   And so I can go to Tumblr and while it is

01:19:42   very different from Twitter,

01:19:44   it doesn't frustrate me in the same way

01:19:46   because it's its own thing.

01:19:48   It's not trying to be Twitter.

01:19:49   Whereas Mastodon is basically trying to be Twitter,

01:19:53   and so it has to copy it really well

01:19:56   and have all those features nailed down,

01:19:57   all those little details nailed down.

01:19:59   And Twitter looks like a simple product, but it's not.

01:20:03   And that's a hard thing to totally match.

01:20:07   And I think at this point,

01:20:08   anything that's different from Twitter,

01:20:10   Mastodon's been around long enough

01:20:11   that it's probably a choice,

01:20:13   not a just we haven't gotten to it yet kind of thing.

01:20:15   And so that's gonna hurt them,

01:20:18   and that's gonna hurt them with adoption

01:20:19   for new people who are in there now kicking the tires

01:20:21   'cause we're all super mad at Elon.

01:20:23   Like, they have a big rush of people

01:20:25   checking it out right now,

01:20:27   but I don't see how that sticks for so many reasons.

01:20:30   So, I don't know, I hope I'm wrong.

01:20:32   - They had a big rush of people five years ago

01:20:33   when I signed up too.

01:20:34   I mean, I think there's been multiple rushes on Mastodon

01:20:36   over the course of time.

01:20:37   Like, one way around that is you could be better, right?

01:20:40   You know, you could be different, but if you're different,

01:20:42   you have to be better enough so that people

01:20:44   are willing to learn your new thing

01:20:45   and accept the betterness of it

01:20:47   because there is advantage to learning the new thing.

01:20:49   And also, like if Twitter goes away,

01:20:50   people will eventually learn how ever Mastodon works.

01:20:52   And then you get into, okay, but how does Mastodon work?

01:20:54   Does it work in a good way?

01:20:55   One example that I saw, I don't even know if this is true,

01:20:57   because it seems so ridiculous that I have a hard time

01:20:59   believing it and I haven't tested it myself,

01:21:00   but I saw somebody say, and people can correct me

01:21:04   and follow up, that if you are doing the equivalent

01:21:06   of DMing, direct messaging, between you and another person

01:21:08   on Mastodon, and you @ mention another person,

01:21:12   they are added to the DM conversation.

01:21:14   Like they get sucked into the DM conversation.

01:21:16   So you say something nasty about somebody--

01:21:18   - The whole conversation.

01:21:19   - Yeah, and they get to see everything you said before

01:21:22   you @ mentioned them as well, right?

01:21:23   That is a terrible misfeature,

01:21:26   like that's just bad product design, right?

01:21:28   And there's always gonna be misfeatures in products,

01:21:30   but that's why the maturity of Twitter platform is valuable

01:21:33   because they've, I'm not gonna say

01:21:35   they learned hard lessons, they did,

01:21:37   but also a lot of the features that are in Twitter

01:21:39   were sort of pioneered by its users,

01:21:41   the use of @ mentions, retweets,

01:21:44   pioneered by its users and the third-party developers, right?

01:21:47   And that process hasn't run long enough on Mastodon

01:21:50   for it to work these things out.

01:21:52   It also helps that Twitter was a single company,

01:21:54   that they could hire product designers and work on it,

01:21:56   whereas Mastodon is more distributed,

01:21:58   and an open source project or whatever.

01:22:00   And I feel like Mastodon is close.

01:22:02   To solve the, if you wanted to solve the problems

01:22:05   that I was citing before of unstable URLs

01:22:08   and not a single namespace or whatever,

01:22:11   I know people are gonna say Web3 and crypto,

01:22:13   but please try to keep those words out of your mind

01:22:15   when you listen to me say this.

01:22:16   What you basically need is a distributed database

01:22:20   that keeps track of-- so imagine downloading a client,

01:22:25   and you downloaded your whatever,

01:22:27   Mastodon 2 client or whatever.

01:22:29   And in the client, it comes with this set

01:22:31   of configurable servers that are like--

01:22:33   I don't know what the equivalent is--

01:22:36   basically index servers that run on the internet

01:22:38   and keep track of where all the Mastodon instances

01:22:41   and runs essentially the central namespace.

01:22:45   And those will change over time,

01:22:47   kind of like the root DNS things change.

01:22:48   People don't know that their web browsers

01:22:49   and their operating systems come with an idea

01:22:51   of what the root DNS servers are,

01:22:52   or come with the idea of the things that are trustable,

01:22:55   the SSL root stuff.

01:22:57   That's built into all of our software.

01:22:59   No users ever need to configure it,

01:23:01   but it is also resilient and decentralized.

01:23:03   Like how does DNS work?

01:23:04   How does the SSL signing certificates work?

01:23:06   That stuff changes over time and is maintained

01:23:09   not by just Apple or just Microsoft or just Amazon,

01:23:14   but users also don't have to deal with it.

01:23:16   You know, it's like, how do I configure the DNS routes?

01:23:20   How do I configure the trusted route certificates?

01:23:22   Like, pretty much users don't have to deal with that.

01:23:25   Their phone just connects through SSL or TLS or whatever.

01:23:27   But that is a decentralized system.

01:23:30   And I would point out, none of that uses crypto.

01:23:33   You can have a shared database among people and be like,

01:23:36   but what if someone poisons it?

01:23:38   Like, yeah, you get a bunch of people who trust each other

01:23:40   through like human relationships and legal contracts,

01:23:43   and you can get people to work on a distributed database

01:23:46   without burning the planet down.

01:23:48   Anyway, I'm gonna go for a crypto rant.

01:23:50   The whole point is a distributed database

01:23:53   is not a foreign thing to the internet.

01:23:55   The whole internet works based on that,

01:23:57   just based on DNS and TLS certificates alone, right?

01:24:00   If that didn't work, nothing would work on the internet

01:24:02   and none of that uses crypto.

01:24:04   And that's what something like a Blue Sky type thing

01:24:08   or a Mastodon type thing should work,

01:24:10   that when you download the client,

01:24:11   You don't have to know any of that's going on

01:24:13   behind the scenes, but it is resilient

01:24:15   against any one company failing.

01:24:17   And it can implement a global namespace.

01:24:19   Hey, DNS, global namespace.

01:24:21   You can implement a global namespace

01:24:22   to give you unstable URLs.

01:24:24   Because like, oh, stable URL, how does this URL work?

01:24:26   Well, when you look up that, when you click on that URL,

01:24:29   you know, we distribute the IP address,

01:24:33   the response to that URL such that some server

01:24:35   will answer on it in your locality

01:24:37   and get you the answer to the, you know,

01:24:39   like, it's complicated.

01:24:41   I'm not saying it's easy, there's no reason no one has done it.

01:24:43   And like, how do you incentivize people to do that?

01:24:46   Like, they're not going to do it unless there's money to be made, right?

01:24:49   And that's why the blue sky thing is kind of like, I think it was Jack Dorsey, like

01:24:52   just feeling bad about making Twitter a private company and starting this project to fix it

01:24:56   or whatever.

01:24:57   And it's probably going to go nowhere, but that's sort of my hope for like the distant

01:25:00   future again, assuming we're not all dead from the water wars, where we come up with

01:25:06   a real better solution to this that gives us the value that we got out of Twitter without

01:25:10   any of the baggage long after Twitter 2.0 or 3.0 or 4.0 have burned to the ground.

01:25:15   See, I feel like even that distributed ID thing, that is a pipe dream of ever becoming

01:25:22   like a significant thing because here's what would happen.

01:25:25   We've seen this pattern over and over again.

01:25:26   Here's what always happens.

01:25:27   I could go in there and get Marco.org as my ID and it's like, "All right, this is me.

01:25:31   This has verified me and I have some crypto signature that says that—"

01:25:35   No, no crypto.

01:25:36   No crypto.

01:25:37   And you just get @marco or @marcoarmint.

01:25:39   Armin, like it doesn't have to be any more complicated than Twitter.

01:25:41   Okay, but then like, what's gonna happen?

01:25:44   That's gonna be too hard for most people to do, and so someone's gonna come up with, you

01:25:48   know, ids.lol/marco, and then they're gonna say, "Hey, you can come sign up at ids.lol

01:25:54   and get whatever you want."

01:25:55   What's the too hard part?

01:25:57   The, like, you know, setting up your own DNS entry or whatever.

01:26:01   You would just download the app and sign up, like the user experience would be exactly

01:26:04   like Twitter, you download an app and you sign up and you enter a username and see if

01:26:07   it's taken and you make a password like that's it that's the user experience.

01:26:10   I don't know with see like but without something central there are so many

01:26:14   potential pitfalls of like abuse spam fraud. Yeah just like there is in DNS and

01:26:20   TLS root certificates this is not I'm not saying this is easy to do but it has

01:26:23   been done without crypto a shared database among parties that ostensibly

01:26:28   don't trust each other building trust in ways that do not involve solving Sudokus.

01:26:32   I don't know that to me like that's a very different problem space like having having you know

01:26:38   How many root certificates are there and I don't know I've I don't know maybe like a hundred

01:26:43   No, I'm not saying it's easy

01:26:44   But I'm saying we have proof like DNS is the best example DNS is a single unified namespace with a lot of entries not

01:26:50   Just like the number of root certificates

01:26:52   There are a lot of DNS names and DNS poisoning is a problem and so on and so forth and parties don't trust each other

01:26:58   and you know authoritarian countries have their own weird DNS things where they're screwing

01:27:03   stuff up, but if DNS didn't work, nothing would work on the internet.

01:27:08   What you're doing mass on that is you're trying to piggyback on DNS to some degree, but that's

01:27:11   like what I'm saying is a system that is like DNS but is not DNS for identity for a service

01:27:16   like Twitter.

01:27:18   And all the crypto people are screaming their bloody heads off right now, it's like this

01:27:21   is exactly what crypto should be used for, again.

01:27:23   Now they're all still crying because all their money got stolen/burned to the ground or whatever.

01:27:27   - I know, it's like, I feel like DNS is--

01:27:29   - It really couldn't have happened to better people.

01:27:31   - Yeah, exactly, there's just so many ridiculous downsides

01:27:35   to that and like, you know, we did this in,

01:27:38   whenever DNS was made in the 60s, 70s,

01:27:41   we have a proof of concept that is super important

01:27:44   to the underpinnings of the internet.

01:27:45   Anything you can say that you're gonna say,

01:27:47   that's why we need crypto, I would just keep pointing

01:27:49   at DNS and say, they didn't need crypto,

01:27:51   but how do they, well, why don't you ask them?

01:27:53   Why don't you ask them how it works?

01:27:54   But what about bad actors?

01:27:55   But what about DNS poisoning?

01:27:56   what about China? It's like, yeah, those are all problems solvable without destroying the

01:28:01   world. Oh, God, I'm sorry. I'm sorry, crypto people.

01:28:04   I'm not. Yeah, I'm not. Before we move on, I think

01:28:09   it's worth, and I don't mean to start a whole other tangent, but I think it's worth calling

01:28:13   out our friend, Matt and Reece, at micro.blog, which has different trade-offs than Mastodon

01:28:19   and is different in a lot of ways. But one of the things that I think is very interesting

01:28:22   about microblog is that it is really intended to be clear that it's your content and it's

01:28:31   your stuff.

01:28:32   Now granted it's stored on the microblog servers and so on, but like my microblog, I have a

01:28:39   microblog account and it's @list, but if you go to list.micro.blog, you can find me there

01:28:47   and you can also, if I remember right, micro.kclist.com?

01:28:50   I think yes, so that is all my stuff.

01:28:54   And when you go to micro.case list.com, it doesn't redirect.

01:28:57   It presents as micro.case list.com.

01:29:00   And I think it's really important to maintain that it's

01:29:03   clear that this is your stuff, and it

01:29:05   lives in kind of your world.

01:29:07   And you can tweak it very Tumblr-esque.

01:29:09   You can tweak it to your heart's content.

01:29:10   And actually, in a lot of ways, it's very similar to Tumblr,

01:29:13   but oriented specifically around microblogging.

01:29:16   And again, a different set of trade-offs.

01:29:18   We need to go into the ins and outs of it right now.

01:29:19   and I'm still trying to figure out exactly

01:29:22   how I would verbalize the trade-offs between the two,

01:29:23   but it is worth pointing out.

01:29:26   And Microblog is, from what I can tell,

01:29:29   a really, really chill place right now,

01:29:31   I think in part because it costs money to join it,

01:29:33   and there's something to be said for that.

01:29:35   So it might be worth taking a look there as well.

01:29:37   And they also, and my understanding of this is very fuzzy,

01:29:42   but you can, I guess, present as a Mastodon-friendly account

01:29:47   using ActivityPub.

01:29:48   you can set up a Mastodon username or something like that,

01:29:51   and then that would allow Mastodon users to follow you,

01:29:54   and I think you can follow Mastodon users in Microblog.

01:29:57   Again, I'm very fuzzy on all this,

01:29:58   but there's some amount of interoperability between the two,

01:30:02   and it's worth checking out.

01:30:04   Again, Manton's a friend of ours.

01:30:06   Jean McDonald, who I think is their community manager,

01:30:08   I think is her title, a dear friend of ours.

01:30:10   So I'm biased, but it's worth looking at.

01:30:14   - Yeah, and this is like,

01:30:16   The idea of the activity pub being like the glue

01:30:19   that can actually glue together all these services,

01:30:23   that's very promising.

01:30:25   I just, I hope that kind of thing really takes off.

01:30:28   Like I hope that I'm totally wrong,

01:30:31   that this kind of stuff will be too hard for people.

01:30:33   And I hope that in a few years,

01:30:35   we're all talking on different services

01:30:37   in a federated world using activity pub

01:30:39   to communicate between them.

01:30:40   And most of them are Mastodon, some of them are Microblog.

01:30:42   Like I hope that world comes to be.

01:30:45   That would be way better than being all centralized

01:30:47   under Twitter in most ways,

01:30:48   but I just don't think it's going to turn out that way.

01:30:53   The world has shown time and time again

01:30:55   that people really value the conveniences

01:30:57   and features of centralized, you know, massive services.

01:31:01   And I hope I'm wrong.

01:31:03   You know, the world proved me wrong here,

01:31:04   but I wouldn't bet on it.

01:31:07   - Yeah, that's what I was saying.

01:31:08   Like, you have to provide the same user experience

01:31:10   as Twitter, I'm just saying there's a technical way

01:31:11   to do that so that the experience is the same

01:31:13   but the underpinnings are not controlled

01:31:15   by a single company, that's the trick.

01:31:16   Because if you do anything that is actually federated,

01:31:20   like just even email, you inevitably end up

01:31:23   with big companies controlling most people on the service.

01:31:26   Most people's email addresses are like

01:31:28   Popmail, Gmail, Yahoo, Reddit, right?

01:31:30   And that's despite the fact that email is totally federated.

01:31:33   You could run your own email server or whatever,

01:31:34   but like the world changed in such a way

01:31:35   that it's basically, A, it's basically impossible

01:31:37   to successfully run your own email server,

01:31:39   which we talked about in the past, right?

01:31:41   And B, most people who aren't tech nerds

01:31:43   end up at one of these big companies, right?

01:31:46   That's inevitable with any kind of thing

01:31:48   that is technically complicated.

01:31:49   So the only way to solve that problem

01:31:51   to actually be decentralized,

01:31:53   but also have the user experience of centralized

01:31:55   is with something like I was describing,

01:31:57   which is very difficult to pull off.

01:31:58   Like, you know, we know it can be done,

01:32:01   but can it be done in today's environment?

01:32:03   Can it be done in the face of, you know,

01:32:05   where actual money gets spent?

01:32:06   VC companies are not gonna fund that

01:32:08   because how do you make money from it?

01:32:09   They want the control.

01:32:11   They want the information, right?

01:32:12   And even if you do that, there are more problems past that.

01:32:16   Twitter search, centralized search,

01:32:19   is much more difficult to do in the federated world.

01:32:21   You end up having to fall all the way back to Google,

01:32:22   but you say, "That's fine, I'll just use Google."

01:32:24   But centralization of Google as a power on the web

01:32:27   is itself a problem, right?

01:32:29   But trying to do real-time,

01:32:32   the type of real-time live searches

01:32:35   and looking at even just hashtags or anything else,

01:32:39   stuff that Twitter is able to pull off

01:32:40   because they are a centralized private company

01:32:42   is so much harder to do in a federated world

01:32:46   and is equally hard to do in a world

01:32:48   that's trying to look centralized but isn't

01:32:50   because looking centralized is half the battle,

01:32:52   then you have to, you know, the fact that you aren't

01:32:55   means you have to now implement these features.

01:32:56   Try implementing real-time search

01:32:58   such that when somebody tweets that anyone in the world

01:33:00   can see that tweet in their search moments later

01:33:03   in a world where things under the covers

01:33:04   are distributed as DNS.

01:33:05   If you've played anything with DNS, you know,

01:33:07   its strength is not making changes visible

01:33:10   to everybody very quickly, right?

01:33:12   That TTL is very often a lie and TTL exists for a reason.

01:33:16   Like, you know, DNS is not the solution to this.

01:33:18   It is just an example of that type of thing.

01:33:20   And that's, you know, and the fact that DNS is there,

01:33:23   it's why people piggyback on DNS so much.

01:33:25   I mean, obviously email does,

01:33:27   but even things like Java with the, you know,

01:33:29   and that everyone else copied

01:33:30   with the reverse DNS naming scheme or whatever,

01:33:33   it's like, I have a big problem.

01:33:35   I need namespaces for classes in my programming languages.

01:33:38   I need namespaces for bundle identifiers for my apps.

01:33:41   That problem is too big for me to solve.

01:33:42   Can I piggyback on DNS?

01:33:44   Done.

01:33:45   (laughs)

01:33:46   And we just make it the convention,

01:33:47   again, not enforced by crypto,

01:33:49   that it has to be com.mycompany.myappname,

01:33:52   com.mycompany.mycooljavaclass, right?

01:33:55   And then we've just pushed off that problem onto DNS.

01:33:58   You cannot push off the Twitter problem onto DNS,

01:34:01   but it shows how much value there is

01:34:02   that we're able to take this janky, mostly unencrypted,

01:34:06   completely insecure, scary, designed in the 70s thing that underpins the entire internet

01:34:12   because it is so essential to have something like that.

01:34:14   And I just hope someday in my life there is another thing that is like DNS but better

01:34:20   modernized but equally decentralized that can underpin the pipe dream of every company

01:34:27   in our lifetimes, especially Microsoft, of centralized identity on the internet that

01:34:32   is not tied to a single company.

01:34:33   I forget what it was called when Microsoft first started running that and everybody freaked

01:34:36   out but now everybody takes a little run at it and then runs away screaming.

01:34:40   But someday it might happen.

01:34:43   We are brought to you this week by Squarespace, the all-in-one platform for building your

01:34:47   brand and growing your business online.

01:34:50   Stand out with a beautiful website, engage with your audience and sell anything.

01:34:53   Your products, content you create, even your time.

01:34:56   All of this and so much more is not only possible with a Squarespace website but it's super

01:35:01   easy and you don't have to be a programmer or a server admin or know anything about how

01:35:06   to host storefronts or anything like that.

01:35:08   They take care of all of that for you.

01:35:10   It's just super easy to use.

01:35:11   So you focus on your site or your business and they have so many business features these

01:35:17   days.

01:35:18   So of course the basics.

01:35:19   You have storefronts.

01:35:20   You can sell products, digital or physical goods.

01:35:22   They have everything you need, built in shipping calculation, tax calculation, inventory management,

01:35:28   whatever you might need for selling stuff, they have it.

01:35:30   They also allow you to have selling things like your time.

01:35:33   If you're maybe a consultant or a trainer

01:35:36   and you wanna sell time slots,

01:35:37   you can do that with Squarespace too.

01:35:40   Maybe you're a content creator

01:35:41   and you wanna have a member area

01:35:43   and that's gated content for members.

01:35:45   They support that now.

01:35:47   You can have videos, online courses, newsletters

01:35:50   with your new member areas with Squarespace.

01:35:53   All this is backed by all the tools you might need

01:35:55   to run a business like analytics.

01:35:57   You can see where your visits

01:35:58   and your sales are coming from.

01:35:59   You can optimize which of your marketing channels are most effective.

01:36:03   They support email campaigns.

01:36:05   You can collect email subscribers, convert them into loyal customers.

01:36:08   You can customize the email template by applying your own brand ingredients and things like

01:36:12   that.

01:36:13   All of this is backed by great SEO so you don't have to worry if you're going to be

01:36:17   findable in search engines.

01:36:18   They have you covered there as well.

01:36:20   It's a great place to build any kind of website, especially business websites.

01:36:24   So go to squarespace.com/atp for a free trial.

01:36:28   When you're ready to launch, use offer code ATP to save 10% off your first purchase of a website or domain.

01:36:33   Once again, squarespace.com/ATP. Start that free trial, use offer code ATP at purchase for 10% off your first purchase of website or domain.

01:36:41   Thank you so much to Squarespace for sponsoring our show.

01:36:44   Let's do some Ask ATP.

01:36:50   SuMarneedy writes, "What's the best way of downloading Xcode?

01:36:53   I've heard a lot of mixed opinions / statements about how the Mac App Store 1 sucks and some downloaded via an app called X codes

01:37:00   I think it'd be interesting to hear about what you all do and what the differences are

01:37:03   I've done Mac App Store. I've done downloading it directly from the web and

01:37:09   Currently my preferred method is the X codes app

01:37:12   X codes basically does magic to look at what the available versions of X code are and makes it basically one-click install or

01:37:21   uninstall and I really dig that and that's what I've been using for the last few months.

01:37:25   I actually just use the developer website like developer.apple.com like where you download the betas. I just download it from there.

01:37:32   Usually the latest versions available at least for a little while after it comes out

01:37:36   and so I just download it there. I have previously had the Mac App Store version.

01:37:42   I have found that to be much slower to update and so if you really want to get oh

01:37:48   oh, I need the latest one right now.

01:37:49   It ends up that usually takes a longer time,

01:37:52   both to see the update and then also then

01:37:54   to actually install the update.

01:37:57   Xcode is a giant app with tons and tons of files

01:38:01   and whatever the process is through the App Store

01:38:04   to update apps, it seems to be significantly slower

01:38:07   than just downloading the .zip thing from Apple

01:38:10   and installing it directly.

01:38:12   So I guess download the zip files now

01:38:14   from the developer site.

01:38:15   - Yeah, I will second that.

01:38:16   do not do the Mac App Store.

01:38:18   I think the Mac App Store is mostly doing the same thing that has to be done by any

01:38:23   of the techniques, but the Mac App Store is so bad at giving you any progress indication

01:38:27   and so bad about letting you pause and resume the thing.

01:38:32   I haven't actually used X codes.

01:38:33   I just go to developer.apple.com, go to the download section, you will get a file that

01:38:38   ends in .xip, that's the zip file.

01:38:40   We're saying an X instead of a Z, it's a .xip.

01:38:45   that file takes a long time depending on your internet connection because it's very large,

01:38:48   right? Decompressing/verifying the signatures of that file, un-XIPing it, unzipping it takes

01:38:56   so long and I love that to be a step that I can take, you know, because downloading

01:39:00   it just downloads into your download folder and it sits there. You can let it sit there

01:39:02   for an hour or a day and come back tomorrow. Unzipping it, un-XIPing it also takes a long

01:39:07   time. While you're doing that, I can be in Xcode doing stuff while that is just running

01:39:12   and then it unzips and then maybe the next day I come

01:39:15   and finally quit Xcode.

01:39:17   I was gonna say drag the old one out of my applications

01:39:20   folder and put it in the garbage, but don't do that.

01:39:22   Listen to me for a second.

01:39:23   Recursively remove the existing Xcode

01:39:27   with the rm command from the command line

01:39:28   because it is so much faster to do that

01:39:30   than to empty the trash in your finder.

01:39:32   See, press it, that's what we talked about this.

01:39:35   And then drag the new one from downloads.

01:39:37   And so that process I may do in a leisurely pace

01:39:39   that I'm not in a big hurry over the course

01:39:41   of one or two days, and at no point during that process

01:39:45   am I stuck that I can't do development work.

01:39:48   So that's why I always go and download the thing myself,

01:39:51   uncompress the thing myself,

01:39:53   and swap it in for the other one myself.

01:39:56   Because the tools to do those individual tasks are easy.

01:39:58   It's easy to download something,

01:39:59   use the browser of your choice,

01:40:01   use whatever download thing, use Wget,

01:40:02   like whatever, you know, well,

01:40:04   Wget might be hard with the authentication,

01:40:05   but anyway, download it, unzip it,

01:40:08   there's one application on your Mac that's gonna do that,

01:40:10   It's gonna have a progress bar.

01:40:11   You can watch it, let it sit there,

01:40:13   and then swap it for the old one.

01:40:14   Tons of ways to do that.

01:40:15   You can do it in the finder if you wanted.

01:40:16   You can do it like me and recrystallably remove

01:40:18   very carefully the previous one,

01:40:20   and then put the new one in its place.

01:40:21   That's my preferred technique, but whatever you do,

01:40:23   don't do the Mac App Store because it takes

01:40:25   a really long time and you have no control over it,

01:40:26   and it's not fun.

01:40:28   - I would encourage you and the listeners to try Xcodes

01:40:31   because it doesn't-- - Yeah, I should.

01:40:32   I hadn't actually heard of it.

01:40:33   I gotta get that now.

01:40:34   - It's very, very good, and is that safe?

01:40:39   I don't like the idea of having anybody get between

01:40:42   me and Apple with Xcode.

01:40:44   Like that's a pretty high risk thing.

01:40:46   - Yeah. - I understand that.

01:40:48   - What about the, that's the, what is it,

01:40:50   the Richie paper, thoughts on trusting trust?

01:40:53   Someone in the chat room get me that

01:40:54   and we'll put it in the show notes.

01:40:55   - Yeah, no, I know what you're thinking of.

01:40:57   But no, I think it's safe.

01:40:58   I mean, it's all open source.

01:41:00   - I mean, like, it probably is safe,

01:41:01   but like, it's just like, how much am I willing to

01:41:04   outsource the the acquisition of Xcode to some third party, you know, I don't know it to me that that trade-off is not worth it

01:41:12   That's fair. I

01:41:14   Personally don't see it as a particular problem because this is such a popular tool and I presume somebody has gone through

01:41:22   Maybe not but I presume somebody hasn't certainly I mean the populated tool means that if someone has

01:41:26   Exploited it you're hoping that someone else is gonna be the sucker that finds out and you'll read about it and before that

01:41:32   And where would you read about it?

01:41:33   Probably on Twitter, because you see the updates in real time

01:41:35   and it's not federated.

01:41:37   Oh, man.

01:41:38   One of these days we're not going to talk about Twitter,

01:41:40   right?

01:41:41   Maybe one day?

01:41:42   Anyway, I would seriously recommend checking it out.

01:41:45   And I guess I'm going spelunking through the source code

01:41:47   if you really fancy it.

01:41:48   Claude Zines writes, what do you think

01:41:49   is the best designed Mac app that Apple currently makes?

01:41:52   And for probably Syracuse, what do you

01:41:54   think is the best designed Mac app that Apple has ever made?

01:41:57   For me, I honestly don't know.

01:42:00   I really don't.

01:42:02   I've been thinking about this on and off,

01:42:04   and I'm not actively bothered by many of Apple's apps,

01:42:09   except music, and home to some degree.

01:42:12   But I don't think that I can think of any shining example

01:42:16   of something really, really good.

01:42:17   I think Notes is close.

01:42:19   I mean, it's not crazy powerful,

01:42:21   and it has some things I wish I could change,

01:42:23   but it's pretty darn good.

01:42:25   So maybe I would say Notes,

01:42:27   but I'm hoping one of you is gonna come up with something,

01:42:29   and I'm gonna say, oh no no no, that's my answer.

01:42:31   So I think we started with Marco first last time,

01:42:33   so John, what's a good one?

01:42:34   - No, start with me, 'cause I'm gonna,

01:42:35   John's gonna have the right answer,

01:42:36   I'm only gonna have wrong answers.

01:42:37   - Ah, that's fair, okay, no, that's fair.

01:42:39   - I think we're both gonna have, well, go ahead.

01:42:41   I think we're gonna have at least,

01:42:42   there's at least one mediocre answer that Casey will like.

01:42:45   - Yeah, so my, I mean, really,

01:42:47   I think Home is the best designed app.

01:42:49   (laughing)

01:42:51   - I hope you're kidding, I hope you're kidding so badly.

01:42:53   - Yeah, of course.

01:42:54   No, I don't know, I also, I thought of Notes,

01:42:58   I feel like if you're looking at,

01:43:00   Apple has many styles they've used over time.

01:43:03   Notes, I think, is the best example of Apple's current style

01:43:07   where they're very iOS-y, Notes is very iOS-styled,

01:43:12   but it's still very functional as a Mac app.

01:43:15   But I would say, I think I like better than Notes.

01:43:18   I think I like Mail.

01:43:20   For being a kind of more Mac-like experience,

01:43:25   I think Mail is that.

01:43:26   That being said, I'm not in Ventura yet,

01:43:28   so I don't know if Ventura Mail is maybe worse in some way.

01:43:31   - It's better and worse, I'd say.

01:43:33   - Oh, great, okay, well, anyway.

01:43:35   And I even, I thought, I almost thought

01:43:37   of maybe saying Safari, but I don't know.

01:43:39   It's really hard because what Apple design means

01:43:44   changes over time, and I think on the Mac especially,

01:43:48   they're not currently in a very good place, so I don't know.

01:43:52   John, what's the right answer?

01:43:53   - I'm surprised that there was so much waffling about this.

01:43:56   I think there's probably a better answer than the one I'm going to give, but the one that

01:43:59   immediately sprung to my mind is Safari.

01:44:02   Like Safari is a Mac-y Mac app.

01:44:05   I don't think it makes any unforced errors.

01:44:08   Like there's no like super obvious annoyance that's been there for years that we all hate.

01:44:12   And most of the things it does, it does really well and in a Mac-like way.

01:44:17   Just think about things like, oh, can I drag an image off of the thing?

01:44:20   What can I do with the address bar?

01:44:22   How do the preferences work?

01:44:23   How do the tabs work?

01:44:24   It's just it's a really good Mac. It always has kind of always has been a really good Mac app

01:44:28   Even as the times have changed

01:44:30   And yeah, it's just a web browser and we kind of take it for granted

01:44:34   But I think that's part of its strength. Like you don't spend a lot of your time just grinding it

01:44:38   Maybe the people who wanted the the color favicon tabs were grinding their teeth, but that's solved now too. Like it's

01:44:44   That's the easy answer. I think there's probably a better one. I'm scrolling through my applications folder to try to like jog my memory

01:44:50   There's probably something that it is better, but I wouldn't pick notes because I feel like notes

01:44:54   For all its great features and everything. It's like, you know what I would consider like an okay third-party

01:45:00   Application like but Safari there is like when I think of well if there was a third-party browser that use WebKit or whatever

01:45:07   You know setting aside the engine

01:45:09   They could make a much better thing that's much more full-featured more interesting more whimsical more surprising to light more

01:45:15   You know, well more better done and I don't think that's possible. I think Safari

01:45:20   Really just does not make any doesn't doesn't put a foot wrong for the most part

01:45:24   It does what it does and it does what it does really well. So that's my easy answer

01:45:27   I think that's mostly a good answer

01:45:29   I'd mostly and mail like the reason I think that's not true is mail is

01:45:33   Kind of like notes and that it's a good bundled application to have a basic mail client

01:45:37   But geez any good third-party mail client from from the past you would say is better than it even how mainstream today is probably better

01:45:44   Than it and certainly something like the entourage or like in those days like I don't know

01:45:48   it's not comparable because it's an ancient era or whatever,

01:45:51   but like, you know, Entourage or, you know,

01:45:55   Claris email, it stops all over current Apple mail

01:45:57   in a million different ways in terms of kind of like

01:46:00   comparing like, you know, athletes from their eras, right?

01:46:04   Claris email and Entourage in their era were,

01:46:07   so stood so much taller above their contemporary apps

01:46:12   than does Apple mail today.

01:46:14   Not that Apple mail is a bad application,

01:46:15   but geez, it is not the best one Apple makes.

01:46:18   And then in terms of what's the best Mac app that Apple has ever made, that's tough.

01:46:26   I mean my easy answer for that is the classic macOS Finder probably peeking around about

01:46:31   the time that pop-up tab folders came into being and most of the annoying problems were

01:46:37   out because I think that was again an example of an app that had just been polished within

01:46:41   an inch of its life and had just recently gotten some really new features and most of

01:46:46   The bad things about it, like not being able to copy more than one thing to a floppy disk

01:46:49   at a time had been solved, right?

01:46:51   Obviously different error, no memory protection, blah blah blah, but that's my sentimental

01:46:56   favorite.

01:46:57   There's probably again some other things that I'm not thinking of in the past, but you know,

01:47:01   classic Mac finder, circa Mac OS 8 or 9-ish is probably my answer for best-assigned Mac

01:47:08   I've ever made.

01:47:09   And kind of like Safari, you take it for granted.

01:47:10   People don't even think of it in an app.

01:47:12   It's like the reason you take it for granted is it just did what it needed to do in a way

01:47:15   that everybody understood, and as long as it didn't crash, you're like, "Oh, fine,

01:47:19   dude, that's not even an app, that's just the way my computer works." And that, I

01:47:22   feel like, is an achievement in itself.

01:47:25   Finally, Andrew Larson writes, "I was listening to the episode of Rectifs where John was explaining

01:47:29   to Merlin the reasons for leaving his job, and I picked up on a line about how a good

01:47:33   boss will work with you on family issues you might be having. Ahem, Elon, it was my understanding

01:47:38   that you have all once had the privilege of leading people, or at a minimum, you've

01:47:42   been on teams of people lead led by someone personally I'm new to leading

01:47:45   people what advice would you give to someone who is new to leadership from

01:47:48   the perspective of some pretty talented people who have led or been led by

01:47:51   someone tech or non tech related I've never led anyone I never had any sort of

01:47:58   like subordinate when I was working and I think Marco leads himself and his

01:48:03   employees a jerk the worst employee you have to deal with I you know I know

01:48:09   I know that's not the question, but being your own boss

01:48:11   is actually kind of a form of leadership.

01:48:13   And you have to lead yourself, which is actually

01:48:16   a fairly difficult thing to do.

01:48:17   Not to sidetrack this, but even if you think you,

01:48:20   Casey, or you, Marco, have never led a team of other developers

01:48:24   to do a thing, the leadership experience

01:48:28   is relevant for being self-employed as well.

01:48:30   Yeah, I think it's a very different skill, though.

01:48:32   They're both hard problems, but these are both very different

01:48:35   problems.

01:48:36   Also, I think there's two different versions of lead,

01:48:38   right?

01:48:39   I read this as like being a HR leader,

01:48:42   like a boss, basically.

01:48:44   - A people manager.

01:48:45   - Right, thank you.

01:48:46   - Having reports.

01:48:48   - Exactly, I've never been in that position,

01:48:50   but I was what the companies I was in

01:48:53   typically called a tech lead

01:48:54   for many, many, many different times.

01:48:56   And I certainly have thoughts on that,

01:48:58   if that's where Andrew was going with this,

01:49:00   but again, I read that more as people manager,

01:49:02   not technical leader.

01:49:04   - Yeah, so I've been both of those things.

01:49:07   I've done tech leads, I've been a people manager,

01:49:09   and I've been both at the same time for the same people.

01:49:12   Sometimes I've been those same things at the same time

01:49:14   for different people, which I think is the most difficult,

01:49:17   where you have a team of people reporting to you,

01:49:19   and also you're a tech lead for a larger,

01:49:21   only slightly overlapping thing.

01:49:24   But yeah, I think this is mostly a people management thing.

01:49:27   There's a reason I have not been a people manager

01:49:30   most of the time, it's because I don't think

01:49:31   that's where my skills lie.

01:49:33   At various times, based on the promotional ladder

01:49:36   various companies sometimes you can't avoid being a people manager if you want to get promoted or

01:49:40   you get you know not forced into the situation but you know offered a quote-unquote promotion

01:49:44   that makes you a people manager as part of your responsibilities and you feel like you have to

01:49:48   take it to advance your career and that will show you whether you think you have any kind of

01:49:52   aptitude for it but you know the it's a very difficult job and the skills required for it are

01:49:58   different than the skills required for being a developer but there is a lot of overlap because

01:50:04   as a developer, as we've talked about in past shows, you have to learn how to communicate

01:50:08   and work with people. No, they're not your reports, but you have to communicate and work

01:50:13   with your peers. You have to communicate upward in the org chart, downwards and sideways.

01:50:17   That's part of your job as a developer, and it's an increasing part of your job as a developer,

01:50:21   as you become more experienced and sort of climb the corporate ladder in game or responsibility.

01:50:26   And at no point are you a people manager in there, but you still have to have those people

01:50:30   skills. Being a people manager requires those same people skills and then much more on top

01:50:35   of that because now you're responsible for people. You're responsible for their well-being.

01:50:40   You're responsible for their performance. You're responsible for getting them promoted

01:50:43   when they do a good job and dealing with it when they don't do a bad job. And it is a

01:50:47   huge amount of responsibility and a very difficult job and some people thrive in that environment

01:50:52   and love it and become better at it and other people run screaming from it. So the first

01:50:56   thing I would say is figure out whether this is a thing you want to do because I know it

01:51:02   might seem like you have no choice because to get promoted you have to become a People

01:51:05   Manager, but I can tell you that you can find companies where there is an individual contributor

01:51:11   track that you can still get promoted on and not have to have people report to you.

01:51:15   But if you do find that you like it, even if you're very bad at it in the beginning

01:51:18   and you absolutely will be, just like everyone is a crappy programmer in the beginning, everybody

01:51:22   is a crappy manager in the beginning, what you want to do is learn how to not be a crappy

01:51:26   manager and that is a long road and it is very much learning, you know, it's kind of

01:51:30   like being a parent.

01:51:31   You're not a good parent in the beginning, nobody is, you have no idea what you're doing,

01:51:35   but hopefully you learn over time and hopefully you don't screw up your kids too much along

01:51:38   the way.

01:51:39   It's exactly the same way with reports.

01:51:42   Your first reports you're probably going to make tons and tons of mistakes.

01:51:46   Learn from them, be empathetic, be a human being, don't be, you know, don't be as cold

01:51:51   and calluses Elon Musk don't buy into the toxic things you may think about productivity

01:51:56   and you know workaholism and avoid any authoritarian impulse you have.

01:52:01   These are also this is also advice for parenting.

01:52:04   Avoid any authoritarian impulse you may have.

01:52:07   Avoid trying to take lessons from your own upbringing and your own bad bosses in the

01:52:10   past and you know replaying those things out and replaying those traumas out to your current

01:52:15   reports and that's that's a lot of work that is a lot of as they say emotional labor where

01:52:20   where you have to moderate yourself and your feelings

01:52:24   to achieve a goal within the company

01:52:27   because you can't, your job is not to throw a tantrum

01:52:30   or start screaming at people,

01:52:31   even though you might feel very frustrated

01:52:33   because that's why you're the manager.

01:52:34   And if your employee starts screaming and everything,

01:52:37   you as a manager have to learn how to deal with that.

01:52:39   So if I was better at being a people manager,

01:52:42   I would have more actionable advice,

01:52:44   but all I can tell you is here's the shape of the territory

01:52:47   and it is a very difficult skill

01:52:49   you're going to be bad at it. But if you think it's something that you might enjoy, it is

01:52:52   possible to get good at it, probably by asking somebody other than me how to do so.

01:52:57   Thanks to our sponsors this week, Squarespace, Trade Coffee, and Linode. Thanks to our members

01:53:03   who support us directly. You can join atb.fm/join. We will talk to you next week.

01:53:09   [Music]

01:53:10   Now the show is over, they didn't even mean to begin, 'cause it was accidental.

01:53:18   John didn't do any research, Marco and Casey wouldn't let him

01:53:27   Cause it was accidental, it was accidental

01:53:33   And you can find the show notes at ATP.fm

01:53:37   And if you're into Twitter, you can follow them

01:53:42   C-A-S-E-Y-L-I-S-S, so that's Casey Liss M-A-R-C-O-A-R-M

01:53:51   Auntie Marco Arment S-I-R-A-C-U-S-A, Syracuse

01:53:58   It's accidental (it's accidental) They didn't mean to accidental (accidental)

01:54:06   ♪ Tech podcast so long ♪

01:54:10   - What do we got for an after show?

01:54:14   Who did something exciting this week?

01:54:15   - I don't know, I got nothing.

01:54:17   - I don't know either.

01:54:19   I'm working on a database, like it's just not--

01:54:24   - Working on a database, what are you doing?

01:54:25   - Well, I'm working on two databases actually.

01:54:27   So I'm working on the overcast, on the server side.

01:54:30   I've actually reached a fairly stable point

01:54:33   in the overcast server story.

01:54:35   So since we last talked about this,

01:54:38   I've been doing a lot of optimization on the server side.

01:54:40   Like I mentioned, I had that one giant table

01:54:43   that matched users to episodes.

01:54:46   And it was by far my biggest table.

01:54:49   And it was hundreds of gigs, including

01:54:50   hundreds of gigs of indexes.

01:54:52   Over the last month or so, I've gotten database loads way down,

01:54:57   mostly from index consolidation on that table.

01:55:01   So it used to have, I think, three or four different indexes

01:55:04   that different things would query.

01:55:06   Now it has one index.

01:55:08   I rewrote all the server-side code to just use one index.

01:55:11   And to always query for these three columns,

01:55:13   like user ID, podcast ID, episode ID.

01:55:16   Every query can use that index now,

01:55:19   so I don't have to have a separate one for like,

01:55:21   all right, if I only have a podcast ID, use this index.

01:55:25   There's nothing like that anymore.

01:55:27   I took recommendation indexing out of that,

01:55:29   so I don't have to have a recommended index on that.

01:55:32   Anyway, all that has dramatically reduced

01:55:34   the load on that server.

01:55:36   And so I've bought myself some time.

01:55:39   I've also gotten away from the situation where I had,

01:55:43   I discussed months ago, I was using S3

01:55:48   and S3 compatible things like linear object storage

01:55:50   and Cloudflare in front of all that,

01:55:52   trying to shift like the list of episodes in a podcast,

01:55:57   trying to shift that onto a CDN in some way,

01:55:59   or S3 fronted by a CDN.

01:56:01   And that's largely what I was doing all summer

01:56:05   as like my various efforts to try to lighten the server load

01:56:09   and that plan just hasn't gone very well.

01:56:13   I ran into a number of problems.

01:56:15   So using actual S3, having Cloudflare in front of it

01:56:20   helps a lot, but even just like the write traffic to it,

01:56:25   it was so excessive.

01:56:28   I ended up paying a lot just for writes to S3.

01:56:32   So I switched over to Linode Object Storage

01:56:34   about halfway through the summer,

01:56:35   and it was much better there because it was way cheaper.

01:56:40   Still having Cloudflare in front of it and everything.

01:56:42   But then I was hitting bugs of like,

01:56:45   when you have a level of caching

01:56:48   in front of your database in some way,

01:56:50   it's all right, so in my code I would like,

01:56:51   all right, every time some episode data

01:56:54   about a podcast changed,

01:56:56   I would rewrite that record to the CDN.

01:57:01   Or at first I'd rewrite it to like linear object storage

01:57:04   and I would increment a version number

01:57:05   so that way the next time the app fetched it,

01:57:08   it would get a different URL

01:57:09   'cause it had like the version number at the end,

01:57:11   which would invalidate the CDN so it would bypass it.

01:57:14   Anyway, but then what happens if the write fails

01:57:17   to the object storage?

01:57:18   Now I have out of date data

01:57:19   and I can either like blow up the crawl process

01:57:21   and throw an exception so it doesn't write anything,

01:57:24   Or what if there's like a small race

01:57:28   where like right after the object storage is updated,

01:57:32   what if the CDN goes to read it and gets stale data?

01:57:35   Then it has cached stale data.

01:57:38   And so I had all these like weird edge case bugs

01:57:41   that were causing occasional problems

01:57:43   and dealing with this system ended up being

01:57:45   so much more complex and so much more involved

01:57:48   than not having it in the first place.

01:57:52   So what I did now is I eliminated the object storage

01:57:56   layer of this stack.

01:57:58   Now I just have a server process,

01:58:01   like a server method that reads data out of the database

01:58:04   and serves it, and I have Cloudflare in front of that

01:58:07   providing a short-lived cache.

01:58:09   Again, server load is not meaningfully higher with that,

01:58:13   but I've gotten rid of a whole bunch of bugs.

01:58:15   So I'm at a point now where I think I'm stable,

01:58:19   much more stable than before,

01:58:21   And I bought myself some time so I can finally stop

01:58:26   working on my servers every single day

01:58:29   and focus on something else.

01:58:31   - I have some bad news for you about that.

01:58:33   I mean, you already know the news

01:58:34   'cause you've done this before,

01:58:35   but this reminds me of one of my past jobs

01:58:37   where basically the entire history of the company

01:58:39   was doing what you just described every year or two.

01:58:43   - Just forever, like literally forever.

01:58:45   Because you would think now I've done this thing

01:58:49   where I've rearranged stuff in the database

01:58:51   and did all the type of things you described,

01:58:53   like move this from over there

01:58:54   and we thought this would help,

01:58:55   but it didn't put this back here

01:58:56   and now I feel like I'm in a stable place

01:58:57   and it just start a timer.

01:58:58   Because it's like,

01:58:59   I mean, only if your growth continues, obviously.

01:59:01   This company was growing constantly,

01:59:02   like 30% year over year.

01:59:04   It's like, you're gonna be doing all that again.

01:59:05   And every time you think now there's no more,

01:59:08   I can't get any more blood from this stone,

01:59:09   I've rung out all the efficiency.

01:59:11   It's like, guess what?

01:59:12   In a year and a half,

01:59:14   you're gonna be back at the same place

01:59:15   and you're gonna surprise yourself

01:59:16   by finding even more stuff you can wring out

01:59:18   and then keep going and keep going.

01:59:19   It's like it literally never ends.

01:59:21   It's like, just the growth continues,

01:59:23   and you find new ways to make your relational database

01:59:26   survive the load that you thought

01:59:28   it could never survive by doing increasingly clever things.

01:59:30   And just, yeah, that's the treadmill.

01:59:35   Although I suppose you want to get off that treadmill by going

01:59:37   to Cloud Kit eventually, but we'll see.

01:59:39   Yeah.

01:59:39   Well, and one thing that I think is worth context here

01:59:42   is that Overcast is not growing very much.

01:59:45   Like, I'm not losing people, but I'm also not

01:59:48   growing very aggressively.

01:59:49   It's a very, very slow growth.

01:59:51   - Well, you're not growing in customers,

01:59:52   but as you noted when you were messing with this,

01:59:54   and maybe one of the private things,

01:59:57   the activity pattern of the existing users can change

02:00:00   in response to things you don't control,

02:00:01   like Patreon and podcasts.

02:00:03   - Yes, so one thing I learned is that

02:00:06   as I was instrumenting various things

02:00:08   and collecting stats in various ways,

02:00:10   I noticed, and I kind of knew this already,

02:00:12   but I didn't know quite to what degree,

02:00:14   that Patreon feed updates are,

02:00:20   I think like three quarters of my feed updates or half.

02:00:23   Like it's some absurd amount of my feed updates

02:00:26   are just Patreon feeds.

02:00:26   And so that's something that has changed

02:00:29   over the last few years that between Patreon

02:00:31   and Substack and Ben Thompson stuff.

02:00:34   - And why we're Patreon?

02:00:36   Is it because you have tons of people

02:00:37   subscribing to Patreon things?

02:00:38   It's because the URLs are all unique per person, right?

02:00:41   - Not only are they all unique per person,

02:00:43   but Patreon has time bombed URLs

02:00:45   as their enclosure URLs,

02:00:47   so that every time you fetch the feed,

02:00:51   every item has changes in it.

02:00:53   - That's miserable.

02:00:54   - Yes, it sure is.

02:00:57   So one of the observations, a while ago I did a thing

02:00:59   where I have, I used to, for a brief period,

02:01:04   to try to solve that problem, I sent all download URLs

02:01:08   for the enclosure through a redirect

02:01:11   that was fixed on Overcast.

02:01:12   We'd be like, overcast.fm/download/bighash,

02:01:15   and that would never change.

02:01:17   And so all the sync updates that would happen that, hey,

02:01:20   something about this feed has changed,

02:01:22   and so your copy of the app has to download

02:01:24   a whole new copy of the feed.

02:01:26   All those updates were saved if all that changed

02:01:29   was the enclosure URL on all these Patreon feeds.

02:01:31   Well, that ended up causing some problems occasionally

02:01:34   with certain things.

02:01:35   And so I turned it off a few months ago,

02:01:38   but I turned it back on now only for feeds

02:01:41   where I think it's necessary.

02:01:43   So there's heuristics that run where

02:01:45   it's like, you know, under certain conditions,

02:01:47   it will now redirect downloads through that kind of URL,

02:01:51   and Patreon is one of those things where it's like,

02:01:52   you know, if you have like a private feed,

02:01:54   or it has under a certain number of subscribers,

02:01:57   I will redirect it through these URLs.

02:01:59   That way, again, they stay fixed,

02:02:00   and we stop having to send all these duplicate updates.

02:02:03   And so, I basically spent, you know,

02:02:05   a few weeks doing stuff like that,

02:02:06   of like simplifying, getting rid of some of the tricks

02:02:09   that didn't work with the object storage,

02:02:12   reintroducing an old trick that worked

02:02:14   with this download URL thing,

02:02:16   tweaking some of the Patreon refresh times

02:02:18   and things like that,

02:02:19   and optimizing various parts of my crawling process.

02:02:24   Like it used to hit the database

02:02:25   for getting all the list of items,

02:02:27   it used to hit it twice.

02:02:28   Now it hits it once.

02:02:29   That made crawling faster,

02:02:30   and lightened the load on a major database.

02:02:32   Like there's stuff like that,

02:02:33   I was doing stuff like that,

02:02:34   optimizing the different things,

02:02:36   index consolidation on that one big database table.

02:02:39   So now, that's I think stable.

02:02:43   And so I've been actually spending the last few days

02:02:48   working on a replacement for FC model.

02:02:51   FC model is my old Objective-C SQLite kind of model layer

02:02:58   that Overcast uses and a couple other things.

02:03:03   I think including Castor,

02:03:04   I think they ended up using it too.

02:03:05   But anyway, it's just this little open source library.

02:03:08   Nobody should use it now, it's outdated now.

02:03:10   And it's very Objective-C-E.

02:03:15   And so I've wanted for a while to remake it

02:03:19   using modern Swift stuff, modern Swift concurrency.

02:03:22   And the reason I hadn't remade it yet

02:03:24   is frankly I just didn't think I knew Swift well enough

02:03:27   to really do a good job of it.

02:03:28   Now I think I finally do.

02:03:30   And so I've been remaking a new model layer

02:03:34   using Swift and Swift concurrency

02:03:36   that will be the foundation for hopefully

02:03:38   the next version of Overcast.

02:03:40   - Is it too much to hope that you're writing unit tests

02:03:42   for this thing?

02:03:43   (laughing)

02:03:45   'Cause it's a library, come on,

02:03:46   it's a super important library,

02:03:47   now is the time to whip out those tests.

02:03:50   - In all fairness, FC model is the only other time

02:03:53   I've written tests.

02:03:53   - That's what I'm saying, this is the time,

02:03:55   it's time for testing to shine.

02:03:57   - Yeah, so, this, I will--

02:04:01   - That's not an answer.

02:04:03   - I plan to maybe someday write tests for this.

02:04:05   - That's a no.

02:04:06   - I want tests to exist,

02:04:07   I just don't wanna be the one to write them.

02:04:08   - Exactly. - There you go.

02:04:10   But yeah, so, and this one, so I'm going,

02:04:12   I'm writing directly against SQLite this time.

02:04:15   Like before I used Gus Mueller's excellent FMDB library,

02:04:18   which was a great, it's a great SQLite bridge to FFC,

02:04:22   and FC model is based on that.

02:04:24   Now I'm eliminating the middle layer

02:04:26   and just writing Swift directly to SQLite API.

02:04:30   - Isn't there one, I was just thinking

02:04:32   of something you were talking about.

02:04:33   Isn't there like a existing popular shim layer

02:04:36   that basically puts a Swift front end

02:04:37   on the SQLite C API?

02:04:39   - Yeah, there's a couple of them,

02:04:40   and I'm using one of them because that's me.

02:04:41   - But I thought there was like one popular one

02:04:43   that's actually really thin,

02:04:44   so you wouldn't have to rewrite that, but oh well.

02:04:46   Have you met Marco?

02:04:48   - I know.

02:04:48   - The API is not, the SQLite API is not that,

02:04:52   and especially 'cause like,

02:04:54   I'm not using all of the features of SQLite.

02:04:56   I'm using a very small subset of them,

02:05:00   so it really is not that bad.

02:05:02   Like it's not, I'm not,

02:05:03   I don't really need a whole big library

02:05:06   that shims the entire API SQLite for what I'm doing.

02:05:10   I really need something very, very basic and limited.

02:05:13   And so anyway, so just writing directly into the API

02:05:16   I thought was better for my needs

02:05:18   and my preferences and my style,

02:05:19   and it allows me to only have what I actually need

02:05:22   and to know how every bit of it works.

02:05:24   And I can make decisions like my concurrency story here

02:05:27   is using the new Swift actor concept,

02:05:31   which is a bit of a pain in the butt in certain ways,

02:05:33   but I'm really happy with some of the ways it performs

02:05:36   and some of the guarantees that it makes and everything.

02:05:38   And I'm using all modern conventions everywhere

02:05:41   of like using async stuff to fetch everything,

02:05:44   using exception throwing instead of random assertions

02:05:48   that could fail in weird ways,

02:05:50   like doing everything kind of the newest, most modern way.

02:05:53   - How are you finding calling

02:05:55   into the SQLite C APIs from Swift?

02:05:58   Do you have a lot of unsafe this and unsafe that

02:06:00   everywhere in your code?

02:06:02   - Shockingly, no.

02:06:04   I have almost none.

02:06:05   It's really weird like how little of that I needed.

02:06:09   Swift is really good now at kind of marshaling stuff

02:06:13   in and out of C libraries.

02:06:15   And I don't know if this is, you know,

02:06:17   if the SQLite API just has a bunch of good annotations

02:06:20   or whatever, I think it's just,

02:06:21   I think it's just Swift has matured to the point

02:06:24   where it does a lot of this stuff automatically for you,

02:06:26   or at least with very little drama.

02:06:28   and there's very little of that ugly,

02:06:30   unsafe pointer stuff necessary.

02:06:32   - Oh, I'll be interested.

02:06:33   Is this gonna be open sourced like FC model was?

02:06:35   - I don't know yet.

02:06:36   Open sourcing FC model,

02:06:39   I'm not sure that was really worth it.

02:06:43   In the sense that I did occasionally,

02:06:46   I got one or two bug fixes from people over time from that

02:06:49   and that was worth it to make it better,

02:06:51   but I'm not sure I want the liability of my stuff

02:06:55   being used as such a foundational layer

02:06:58   on other people's apps, and if I don't open source it,

02:07:01   not only does that reduce my feel bad burden

02:07:05   about what if I break your app,

02:07:06   but it also gives me more flexibility

02:07:07   to change it more dramatically over time.

02:07:09   If I decide, hey, you know what,

02:07:11   this API is actually kind of clunky,

02:07:13   I wanna rework the way this thing is called

02:07:15   or deprecate this other thing,

02:07:17   I can just make sure my one app is okay with that

02:07:20   or modify my one app to use the new calling convention,

02:07:25   and then that's it, I don't have to worry about that.

02:07:26   So I might open source it eventually,

02:07:29   but I want to, I'm not gonna open source it yet

02:07:33   and possibly never, but I don't know yet.

02:07:36   - Yeah, I mean, for something of this obscure

02:07:38   within the smallish community of developers

02:07:41   who might be interested in this,

02:07:42   you can just throw it out there

02:07:43   and just like never, like basically have a read me

02:07:46   that says I don't support this, I don't maintain it.

02:07:49   If you wanna do something with it, feel free,

02:07:51   but don't send me bugs, don't, you know,

02:07:53   I'm gonna break it and it's gonna break your crap.

02:07:55   Tough, like, you know, just like a big disclaimer.

02:07:57   And we've talked in past shows about how you can't actually

02:07:59   do that because people expect you to maintain it

02:08:01   no matter what.

02:08:01   But I think the audience for this is small enough

02:08:03   that you might be able to get away with basically

02:08:05   the chuck it over the wall and then just continue

02:08:09   to do exactly what you said.

02:08:10   Oh, guess what?

02:08:11   I've decided this API needs to change.

02:08:12   And I don't care how many other people's apps it breaks

02:08:14   'cause they should know that I'm not supporting this.

02:08:16   And if that leads people to take your code and fork it,

02:08:18   then it's also not your problem.

02:08:19   Like you can make it not your problem

02:08:21   while still having it, you know, out there for the internet

02:08:24   as sort of a public good.

02:08:25   - I mean, the other thing though is like,

02:08:27   you know, if someone's out there looking for

02:08:29   a Swift SQLite or database library,

02:08:32   they should probably use one of the bigger ones.

02:08:34   - That's what I was gonna say is what you should do

02:08:37   while you're writing your library

02:08:38   is look at the other ones at least.

02:08:39   Look at the one function that you're going to write

02:08:41   your version of and see if there's any edge case

02:08:43   that they know about that you don't know about.

02:08:45   That's the benefit to the world of the having it open source

02:08:49   is just like hey, if someone cares, they can go look at it

02:08:51   and learn something about the ins and outs

02:08:55   of interfacing SQLite from Swift, right?

02:08:59   And that's the benefit you'd be providing.

02:09:00   And what you're basically saying is,

02:09:01   I take no responsibility.

02:09:03   If you use this in your app and I break it,

02:09:05   don't come crying to me.

02:09:06   I don't even need your bug reports,

02:09:07   but I do want it to just be out there

02:09:09   as yet another Google hit for someone looking

02:09:11   for how might one do a Swift front end to SQLite.

02:09:15   - That's interesting.

02:09:16   Yeah, maybe, I don't know.

02:09:17   - Plus, do you or do you not want unit tests?

02:09:20   because if you open source it, there's at least a prayer.

02:09:22   - Make other people write your tests for you.

02:09:24   - Yeah, there's at least a chance that you'll get a unit test.

02:09:26   - Casey will write them for you.

02:09:29   - Will he?

02:09:30   If that's a deal, then maybe I'll open source it.

02:09:33   - Writing unit tests for a database interface layer

02:09:35   is like how I spent half my career.

02:09:36   I do not want to do that again voluntarily.

02:09:39   - It sounds fun, doesn't it?

02:09:41   - Oh, so fun.

02:09:42   So much fun.

02:09:44   - Well, that's the thing,

02:09:45   is that then you start getting into the fine line

02:09:46   of like is it a unit test or an integration test?

02:09:49   What is this?

02:09:49   - Yeah, exactly.

02:09:50   Well, at least with SQLite,

02:09:51   you don't have to start a database server.

02:09:53   - Yeah, that's true.

02:09:54   - The difference between mocking a database

02:09:56   and having an actual SQLite,

02:09:57   especially if it's an in-memory database

02:09:58   with no file on disk, it's real blurry.

02:10:01   - Yeah, no, I agree.

02:10:02   I mean, it's interesting nonetheless.

02:10:05   And honestly, as I was sitting here listening to you,

02:10:07   like I've never had the occasion,

02:10:08   not once in my career of using SQLite,

02:10:12   and I don't know a whole lot about it,

02:10:15   But I am very, very interested in Swift concurrency and async/await and stuff like that.

02:10:22   And I don't think, like, I understand it and I'm okay at it, but I wouldn't say I'm particularly

02:10:27   strong at it. So I would be interested in looking at this, not necessarily for the database stuff,

02:10:32   not necessarily to use it, but more to kind of crib and understand, well, how does Marco approach

02:10:37   async/await and concurrency and actors and things like that, and to help my understanding of these

02:10:41   these things, which I think is passable, but not super strong.

02:10:46   And if you are in the position that you feel like you are at least reasonably strong at

02:10:51   those things, then that's something that people like me or anyone else could learn from.

02:10:56   You really kind of also have to see the use of it because with async and with actors and

02:11:02   things like sendable and all that, there is the possibility that it starts to, I'm not

02:11:07   I'm not going to say infect, but you know, well, okay, fine.

02:11:10   That it starts to affect, affect with the letter A,

02:11:14   the code that uses it.

02:11:16   - No, you're right, you're absolutely right.

02:11:17   - Right, and like making an API such that that,

02:11:22   the tendrils of that are confined

02:11:26   to where you want them to be.

02:11:27   Like it is appropriate for this to make the calling code

02:11:31   be shaped like this, but it is not appropriate

02:11:33   for it to just like thread through your entire application

02:11:35   because something has to be sendable

02:11:37   all the way up to the top, you know what I mean?

02:11:38   That's, adjusting the library doesn't let you know that.

02:11:41   Like, Mark will find that out when he tries

02:11:42   to go use his library in his app and finds out

02:11:44   that he has to like go up 17 levels in the call stack

02:11:47   to thread something through and make everything all async.

02:11:49   But you know, that's the thing you only learn

02:11:52   from using the library in an application.

02:11:54   - Yeah, and that's one thing, by the way,

02:11:55   like, you know, it was a pretty,

02:11:58   it's a pretty strong choice to make

02:12:00   all of your database calls go on an actor

02:12:02   because, on a custom actor, because that means

02:12:06   that anything that calls into it to make a database query

02:12:09   has to be from an async context.

02:12:11   So that, there's no good way to block

02:12:16   and just wait 'til you get this.

02:12:18   Like, there's a few crappy ways,

02:12:20   but basically all of the calling code to use this

02:12:23   is gonna have to be async.

02:12:25   And that is going to be a big pain in the butt

02:12:27   at certain times, but where I arrive at the end of all that

02:12:32   is gonna be really great.

02:12:34   And so that's why this is,

02:12:36   like I'm kinda starting this out small.

02:12:38   I'm gonna try to start writing

02:12:39   like a couple of subsystems of the app using this

02:12:41   before I really replace all of my old model code with it.

02:12:45   And that's gonna be a months long project

02:12:48   that's gonna involve probably lots of rewriting of the app.

02:12:50   And that's no small job. (laughs)

02:12:54   So that's why this is kinda like a side project right now.

02:12:58   It's kind of in like the Skunk Works area

02:13:00   of Overcast right now.

02:13:02   And I'll probably ship some little thing behind the scenes

02:13:05   using it soon, but it's gonna be a while before

02:13:08   it's like the main database of the app.

02:13:10   But gotta start sometime.

02:13:12   - Yeah, that's where you need those unit tests

02:13:14   that stress test the, stress test the concurrency

02:13:18   in ridiculous ways because you don't wanna find that out

02:13:21   when you're in your application.

02:13:22   Like finally I've got everything all async

02:13:23   but now it's a weird bug and I don't understand it.

02:13:25   It's like put the torture test into your unit test

02:13:27   that have people adding and removing things simultaneously

02:13:31   as fast as they can while something else tries to do a regular operation and make sure that

02:13:35   it ends up in a sensible state afterwards.

02:13:37   Find those bugs in your unit test because trying to find them in your actual application

02:13:40   is going to be bad.

02:13:42   Obviously, Actors and all that is much better than Threads and is probably even better than

02:13:48   Grand Central Dispatch.

02:13:51   The technology for Async on Apple platforms has gotten better and better over time.

02:13:55   So hopefully you'll be mostly protected by that by doing best practices, but Actors are

02:14:00   still relatively new to Apple's platform, so it's a good idea to actually have some

02:14:04   kind of stress test that is not "I'll just run my application and see if it works."

02:14:08   [beeping]

02:14:10   (beep)