It’s Occupied by Bears

Episode 510 • Released November 22, 2022 • Speakers detected

Episode 510 artwork
00:00:00 Marco: So I have something to show the two of you.
00:00:02 Casey: Oh, this is always ominous.
00:00:04 Marco: Check our Slack.
00:00:06 Casey: Oh, my God.
00:00:09 Casey: I'm so happy.
00:00:10 Casey: I'm so happy.
00:00:13 Casey: So I'm looking at a screenshot, a very, very small, very heavily cropped screenshot from Xcode.
00:00:19 Casey: On the right-hand side, it's a bunch of green diamonds that have check marks in them.
00:00:24 Casey: And on the left, test value conversions, a function, test open DB, function, test queries, function, test heavy workload, function, et cetera, et cetera.
00:00:32 Casey: Oh my god, I'm so proud of you.
00:00:33 John: Now, I don't know anything really about writing tests in Xcode.
00:00:38 John: That makes two of us.
00:00:39 John: Are they supposed to all begin with the word test?
00:00:41 John: I think they have to.
00:00:43 Casey: I don't remember if it's required or not, but it is certainly the convention.
00:00:45 Marco: It certainly makes your life easier if they do because you get wonderful UI integration where you can just click and run one of them and stuff like that.
00:00:53 Marco: You get little green check marks.
00:00:54 Marco: It's fun.
00:00:55 Casey: Well, this is extremely exciting.
00:00:56 Casey: So this is the FC model replacement that does not have a name or does have a name?
00:01:02 Marco: Oh, it does.
00:01:02 Casey: Okay.
00:01:03 Casey: Are we sharing that name or no?
00:01:04 Marco: Not yet.
00:01:05 Marco: It doesn't really matter.
00:01:05 Marco: That's fine.
00:01:06 Marco: It's ButtDB.
00:01:07 Marco: I'm calling it ButtDB.
00:01:09 Marco: Well, I feel like I don't like when components that I have to write just have really generic names like model or database.
00:01:18 Marco: This is kind of the convention now with Swift or with Swift UI where
00:01:22 Marco: where you'll have something just called, like, view, list.
00:01:26 Marco: And I find it's very difficult to search for that, both in your own code and for, like, you know, if you're searching for Stack Overflow answers on how to do something or, you know, whatever.
00:01:35 Marco: I prefer having names that are not just generic words, that actually mean something, whether they're prefixed, like FC model, or whether it's, like, some kind of other unique name.
00:01:45 Marco: It's, like, something where, like, you can easily search for it in your own code or on Google or whatever, and you can find answers.
00:01:51 Marco: So that's...
00:01:52 Marco: So I'm not going to like there's a bunch of SQLite wrappers for Swift that are just called things like SQLite.
00:01:58 John: It's like, well, that's going to be hard to search for.
00:02:00 John: In my in my app, you know, because switch class is a application switcher and I have a class that represents an application and I called the class app.
00:02:09 John: and the only reason i get away with that is because all of apple's classes have ns you know it's ns application or ns app or whatever right so i get to use app because of like the legacy of objective c and the way the namespacing worked there but i'm reminded of uh
00:02:25 John: One of the accidental booby trap, bear trap, accidental pitfalls that lies lurking in the Perl programming language.
00:02:33 John: I know everyone is saying, yeah, among the many.
00:02:36 John: If you're writing like a little test thing where you're like, oh, I just want to try something out.
00:02:41 John: And you just make up class names.
00:02:43 John: If you call your classes Foo and Bar and whatever, you're fine.
00:02:46 John: But if you have the misfortune to decide I'm going to name a class A, B, C, and D, you know what I mean?
00:02:53 John: There already is a B class, and it's kind of important to the way Pearl works.
00:02:57 Casey: And so you're like, why?
00:02:58 John: Why isn't this working right?
00:02:59 John: And what is it doing?
00:03:00 John: Because, of course, Pearl will let you put whatever you want into the B namespace.
00:03:03 John: But guess what?
00:03:04 John: The B namespace is occupied, and it's occupied by bears.
00:03:07 John: b does not stand for bear oh that's too bad i don't i don't even know enough about how swift namespacing works to know how they get away with this i'm assuming like all the names are scoped to the module or some crap like that but uh but yeah i just go with the the swift convention they're going to call their things in swift ui view and stuff like that well i'm calling my thing app deal with it
00:03:27 Casey: So there is a possibility, since this is the week of Thanksgiving here in America, there's a possibility that this show will be presented to unwilling and uninterested family members.
00:03:38 Casey: And so I think we should try to keep the contents stuff that I think anyone could at least understand, if not appreciate.
00:03:47 Casey: So with that in mind, tell me more about these unit tests.
00:03:49 Casey: Are you excited you wrote them?
00:03:51 Casey: Did you enjoy it?
00:03:52 Casey: Do you think it's a waste of time?
00:03:53 Casey: Are we throwing them away?
00:03:56 Casey: Do you feel gross?
00:03:58 Casey: What are your thoughts?
00:04:00 Marco: The only other time I've ever written unit tests was for FC Model, my outgoing database layer, because this is the perfect case for unit tests, because it is a small component that is very important, very low-level in the app, but
00:04:18 Marco: also very easily testable.
00:04:20 Marco: It doesn't take a lot of complexity to test this because you don't have to wait on things like user input.
00:04:27 Marco: There's no UI to speak of.
00:04:28 Marco: There's no weird time-based anything.
00:04:31 Marco: Nothing's based on external content.
00:04:34 Marco: It's the easiest thing in the world to test relative to what you could be testing.
00:04:39 Marco: That being said, I've also done a fairly... The new version of this
00:04:44 Marco: is actually even smaller and simpler than FC model because a lot of it is no longer necessary.
00:04:51 Marco: A lot of it have made different design choices because I made FC model eight, nine years ago, something like that.
00:04:56 Marco: Things are different now.
00:04:57 Marco: We have more knowledge.
00:04:58 Marco: I'm a better programmer.
00:05:00 Marco: It's a different world.
00:05:01 Marco: Different things are in fashion with coding.
00:05:04 Marco: I've made different choices, so it's much smaller and simpler, and I'm also able to rely on a lot of Swift stuff.
00:05:09 Marco: Like, for instance, the serialization of the model classes is all just done with Codable.
00:05:15 Marco: Like, it's all just using the built-in Codable stuff.
00:05:18 Marco: The protection of the database, because you can't share SQLite handles concurrently, so the protection of that is all just done with an actor, a Swift actor.
00:05:25 Casey: Oh, that's super cool.
00:05:25 Marco: It's all accessed via async, unless you're on the actor.
00:05:29 Marco: So it's using a lot of modern Swift stuff to make things quite simple.
00:05:34 Marco: So I actually, in developing these tests over the last few days, I actually have found a couple of small bugs that I made.
00:05:41 Casey: Look at that!
00:05:42 Casey: I'm so proud of you.
00:05:43 Casey: That's exciting.
00:05:44 Casey: And I think I sound sarcastic, but I genuinely mean it.
00:05:46 Casey: That's so exciting.
00:05:47 Marco: Yeah.
00:05:48 Marco: And this is the point of making tests.
00:05:51 Marco: And again, I think in most of my own development time, when things are much harder to test, whether it's worth it has a different calculus.
00:06:01 Marco: But this, whether it's worth it, is a low bar because it's so easy to test.
00:06:06 Marco: I think what I'm going to have the most trouble with is just making sure I come up with good tests.
00:06:12 Marco: Because I'm not good at this.
00:06:15 Marco: And a lot of the tests I've made so far...
00:06:18 Marco: they actually are testing multiple things in this one i'll use a column that can be nil and this one i'll use it or null you know on this one i'll use a column that can't be null and it's like it's actually you're actually that could be a separate test but i don't want to be that verbose if i don't have to be like well if i can if i can just have this use this table type and have this use this table type in two different tests then i'm kind of covering that as well
00:06:39 Marco: That's probably not best practice.
00:06:42 Marco: Whether that matters remains to be argued, I guess.
00:06:44 Marco: But there are areas like that where it's like I probably should be making a much larger number of much smaller tests.
00:06:53 Marco: But I guess I'll get to that.
00:06:55 John: No, no, I think like what you're doing makes sense.
00:06:57 John: Like you actually, the unfortunate answer is that you actually need to do both.
00:07:01 John: You need to make the small number of individual, very, very isolated, you know, you know, pure unit tests.
00:07:07 John: But then you also need a bunch of like higher level tests, like what you're kind of would naturally make.
00:07:12 John: Now you can make your life a little bit easier by sort of programmatically generating the, both of these things, sort of make it a data driven approach.
00:07:19 John: I'm not sure how easy Swift makes that, but like,
00:07:22 Casey: John, John, you're scaring him off.
00:07:23 Casey: You're scaring him off.
00:07:24 John: No, but it's like, so what you're doing is like, oh, I'm going to make a class for like, you know, like a store and a product.
00:07:31 John: And like, you just make dummy things to like test your database thing or whatever.
00:07:35 John: You make dummy tables, right?
00:07:36 John: And you make simple dummy tables to do stuff.
00:07:37 John: And you're like, well, I'll make sure I have some tables with numbers and some tables with strings and blobs and I'll cover all my bases, right?
00:07:43 John: But that's kind of the artisanal hand-rolled test where you're making up these little, you know, test tables and columns and stuff like that, hoping you cover all the bases.
00:07:52 John: uh and then the little tiny test would be like oh instead of doing that i'm just going to test every individual feature quick make table a1 that has a column that's an integer that has a couple of integer that's null has a column with the default value has a column with an integer and you just you know like sort of programmatically loop over all those things making you know table t1 column a1 blah blah blah and then the final thing is programmatically generating uh
00:08:14 John: a bunch of tables that cover all the bases that are more complicated right like essentially the equivalent of your store product blah blah blah big tables lots of columns foreign keys representative of all the stuff you want to test but also programmatically generated but for your library they're using it just in your app it's not an open source project what you're doing now is i think the correct middle path of like
00:08:35 John: I'll just cover the functionality I need because in the end, since it's not a big open source project and you're going to stop once you hit all the features that you need for your product, you'll probably cover everything with just the tests that you make and they will continue to serve the function of like later on when you, you know,
00:08:53 John: do some performance optimization and you run your test you're like oh i broke something because now my test fails and i wouldn't have known that because i thought i was just doing something clever but now when i run my test it breaks and so i think you're getting like 90 of the value just from doing what you're doing right now cool
00:09:09 Casey: Yep, I agree wholeheartedly.
00:09:11 Casey: And I think this is, whether or not you choose to do this in the future for most things, because you already made the great point that, you know, it's not exactly easy for a lot of general, you know, iOS development.
00:09:22 Casey: But for this sort of stuff, it's utterly perfect, as you said.
00:09:26 Casey: And I would hope that as you continue to do this, even just for FC Model 2, then I hope you stick with it.
00:09:34 Casey: And as you find bugs, you know, as you're moving up the stack and using this in Overcast or whatever,
00:09:39 Casey: As you find bugs in the interaction between Overcast and FC Model 2, then I would hope that you would write a unit test that covers that bug.
00:09:47 Casey: So this way you know you will never have a regression on this because this unit test is there as your parachute.
00:09:53 Casey: And as long as you occasionally remember to run the unit test...
00:09:56 Casey: It will always tell you, oh, hold on, you just screwed this other thing up from six months ago that you really didn't want to screw up again, that's why you wrote another test for it.
00:10:05 Casey: And that is a really powerful feeling, and even though I actually very rarely write unit tests as much as I try to speak the gospel, but when I do, I'm always happy for it because this...
00:10:16 Casey: Yeah.
00:10:35 Casey: that that will tell you that hey everything is still on the up and up to the best that we can tell and and i i really care for it for that it writing test is not glamorous it's not terribly fun it's kind of busy work but for me for this sort of a thing particularly i find the juice is worth the squeeze and i hope i hope that you that you do even just for these sorts of projects and even if not you know overcast proper
00:11:00 Marco: So one thing I'm also doing with this, which I think will help me remember to run the tests, I'm using this opportunity to also learn Swift Package Manager.
00:11:11 Marco: And I've already made it a Swift package.
00:11:14 Marco: I don't quite know how to use that.
00:11:16 Marco: yet but i like i'm i'm no longer editing like a test project i'm actually directly editing the package itself um and just you know like running the test modifying the files within the package and everything and you know have it because it's all built in there i don't know if you ever worked on a swift package it's actually pretty nice in xcode yeah
00:11:33 Marco: And it's one of those things where there's no real manual.
00:11:37 Marco: So you just, you know, you do what we always do with all Apple modern developer stuff.
00:11:40 Marco: It's like you search the web and you find like a hacking with Swift article or something and you find some article like how to use Swift Package Manager and tells you all the init commands and what all the different lines do.
00:11:51 Marco: eventually i'm like hey i wonder if i if i can just can i open this dot swift this like you know package that's with file if i open this in xcode does it do anything cool and it turns out yes it does everything like that's how you're supposed to be doing it so anyway uh yeah it's it's been interesting you know i'm using this as an opportunity to learn lots of new stuff and hopefully you know bring my skills and then after that my app forward uh from having been stuck in the past for a very long time
00:12:19 Casey: Do you plan to use this as the girders, the underpinnings of the Fire Island app, or is this strictly for Overcast?
00:12:29 Marco: No, the Far Island app doesn't really need a database locally.
00:12:31 Marco: It's just pulling stuff off a website and showing it.
00:12:34 Marco: So it doesn't need it.
00:12:35 Marco: But this is for Overcast and whatever I do in the future.
00:12:39 Marco: I hope... My intention with this is for this library to last me my entire Swift programming career, however long that is.
00:12:49 Marco: It's such a foundational building block of...
00:12:52 Marco: your local database layer.
00:12:54 Marco: I have my web version of this that powers all of my backends and PHP.
00:13:00 Marco: I've been using that same thing for over a decade.
00:13:03 Marco: As long as I use PHP to make a web backend, I have no reason not to use that library.
00:13:08 Marco: This is hopefully my Swift version of that.
00:13:11 Marco: As long as it makes sense for me to be writing local SQLite databases with Swift, I hope to be doing it with this library.
00:13:20 Marco: So I'm taking the time to really get things right.
00:13:22 Marco: And frankly, I'm really happy with it so far.
00:13:24 Marco: The only thing is I haven't used it at the application level yet.
00:13:27 Marco: And I think it will be annoying sometimes to have to do everything through an actor and have to do everything in an async context.
00:13:35 Marco: That will be annoying.
00:13:36 Casey: It will be.
00:13:36 Casey: I think it was the right call, what you've done, but it will be annoying because as with RX before it and combined after, once you start going async await and especially once you start really embracing actors, it has this tendency to spread like a virus throughout all your code.
00:13:54 Casey: And after a while, you get mostly used to it, but it is a little gross in that regard.
00:13:59 Casey: That being said, I think that all the other things that come with it, all the protections, all the safety, et cetera, and how it is reasonably straightforward to make sure that, you know, you're not doing anything dumb.
00:14:11 Casey: I think all that's worth it, but you're right.
00:14:14 Casey: It does tend to kind of infect everything, which is a little bit of a bummer.
00:14:18 John: I'm going to make a feature pitch for you while you're in there working on this library ad.
00:14:23 John: Throw in some kind of metrics or telemetry for your debug mode where you can basically like
00:14:29 John: log and time every single query you run all right and obviously you're not going to run that in you know the release version of your app most likely but since you're down there in the library now and it knows when it runs any query and no one else is running queries except for this library make a way to track literally every single one of them with all the timing and stat information you can because that will probably help you
00:14:50 John: when your app feels slow and you can't figure out why or especially with the actor stuff you can't figure out is there a log jam of like backup of requests or is one request take a long time and it was hogging the actor you know with the database handle not being able to be used concurrently you do potentially have a bottleneck there and being able to sort of trace that back to the origin of like who put this query in and which query is slow
00:15:11 John: uh it will probably be really useful and it's it's not you know you can do it in a janky way because who cares whatever it's just your library um but you know you're you're right at that that uh that focal point of all of the database activity right now you're in that code right now so i suggest adding it because it can be handy
00:15:27 Marco: Yeah, smart.
00:15:27 Marco: Yeah, I already have a thing where it can just log every query, which has been very helpful during development.
00:15:32 Marco: But yeah, you're right.
00:15:33 Marco: Actually, timing is a good idea as well.
00:15:35 Casey: Well, this is awesome.
00:15:36 Casey: This is a Thanksgiving gift from you to me.
00:15:38 Casey: Just telling me that you've been... It's the gift he gives himself.
00:15:41 John: Unit tests are the gift you give yourself.
00:15:44 Casey: Yep, that's right.
00:15:44 Marco: The only downside is that I still have to also figure out, like, how can this be accessed from Objective-C?
00:15:53 Casey: Right.
00:15:54 Marco: Yikes.
00:15:54 Marco: It's going to be ugly.
00:15:56 Casey: Do you need it to?
00:15:57 Casey: Like, how much of Overcast still remains in Objective-C?
00:16:00 Marco: almost the entire bottom of it like almost the entire data layer and there's there's different subsystems of overcast that are written in objective c that need to access the database like for instance one one of them is my full text search engine i wrote all that also using based on sqlite but i wrote all that in objective c now i could rewrite that it would be a lot less code if i rewrote it in swift with modern stuff and with this like i could save a bunch of code but again like it's just like
00:16:27 Marco: How much is it worth rewriting something that already works?
00:16:32 Marco: I hopefully eventually will do that, but I don't want to have to do that before I start using this as my main data store.
00:16:38 Marco: So there are ways around it.
00:16:39 Marco: I could theoretically, what's actually compatible, FC model and the new engine both use the SQLite update hook function to detect if the table is changed through some other means that is not them and fire off the something has changed listeners.
00:16:57 Marco: And so I could theoretically maybe have FC model and this new engine both accessing the same database.
00:17:06 Marco: I shouldn't be doing that.
00:17:07 Marco: I hope not to need to do that.
00:17:09 John: No, why?
00:17:10 John: Why is that not bad?
00:17:12 John: That's the whole point of a database.
00:17:14 John: It's okay to have multiple interfaces to the same tables.
00:17:16 Marco: I mean, yeah, it's not great if you can avoid that with SQLite.
00:17:21 Marco: It's not great to have it.
00:17:22 Casey: I feel like it's a bit of a code smell to have multiple things accessing.
00:17:25 Casey: You're right, it's not inextricably wrong.
00:17:30 Casey: It's just not wrong, but it's just, I don't know, it smells bad, you know?
00:17:33 Marco: Yeah, so what I'm probably going to do is I'm probably going to make a separate file that is only the Objective-C interface that is its own entire set of separate classes to access this stuff.
00:17:46 Marco: And it'll have completion handlers, that kind of stuff.
00:17:50 Marco: And just have that be this own separate file off to the side that when the time comes I don't need it anymore, I can get rid of it.
00:17:58 Casey: I'd be very curious to hear an update if you do go to the route of at least trying to get the old Objective-C stuff to talk with FC Model 2 that's all async await and all that and actors.
00:18:12 Casey: I don't know off the top of my head what the model or that's a loaded term.
00:18:17 Casey: I don't know what the best operating procedures are for doing that sort of thing.
00:18:22 Casey: I don't know if there's even a story about it at all.
00:18:24 John: Well, there is.
00:18:24 John: I remember seeing on Twitter recently there were some people were discussing this and there was some some person who I believe works at Apple was mentioning that they were talking about like Swift calling Objective-C.
00:18:35 John: And I think the person was saying that actually basically putting Objective-C wrappers around what is Swift under the covers has become common practice at Apple in terms of like, you know.
00:18:45 John: I think it was an argument about is Apple writing Objective-C APIs versus Swift APIs.
00:18:49 John: And this person was like, a surprising amount of time, we write the functionality in Swift, and then we wrap it in a candy coating of Objective-C.
00:18:56 John: And so you think you've got this Objective-C API, but really it's just a thin wrap around the Swift code that we actually wrote.
00:19:01 John: So it's possible somehow.
00:19:03 Casey: Totally.
00:19:03 Casey: But when you start talking async await or combine, which isn't relevant in this case, it gets.
00:19:07 John: But he was just going to do it with completion handlers, right?
00:19:10 John: So he's doing stuff under the covers to hide the fact that it is doing all of that async stuff and just presenting it to the Objective-C world as the old style, like, you're going to get a callback when I'm done.
00:19:19 Marco: Yeah, that's fair.
00:19:20 Marco: Yeah, like, I could theoretically, like, block the actor waiting for it, but I really don't want to have to.
00:19:26 Marco: I mean, chances are, unfortunately, chances are I probably will at some point have to do that.
00:19:30 Marco: Where I will need to fetch something synchronously or I'll need to fetch something outside of an async context just for some API or some functionality.
00:19:39 Marco: This is no small feat to switch over to this.
00:19:42 Marco: This is going to be a long process that's going to involve significant rewrites of significant parts of the app and the UI.
00:19:51 Marco: And this is why this has been such a long time coming that I know how big of a project this is.
00:19:55 Marco: and it's it's not going to be done anytime soon like so what i'm going to start doing is using this library for certain subsystems of the app that are totally separate from the main database so for instance um part of the app i have uh the ability to track what your data usage is like by podcast and by episode if you go into the settings screen there's a data usage area and that's basically just its own little sqlite database and
00:20:19 Marco: Um, and that, that whole thing is, I think it's already in Swift.
00:20:23 Marco: Um, at least if not, it's, it's close.
00:20:25 Marco: That would be fairly easy to move forward.
00:20:28 Marco: Um, however, you know, it's not necessarily Swift UI and you know, the whole, like it's just, this is, this is all intertwined.
00:20:34 Marco: It's like, I'm making this whole thing to make, um,
00:20:37 Marco: swift ui and that whole era of the app better and more modern and easier and faster and everything else make things more responsive you know having fewer scroll hooks and stuff like that like there's all sorts of reasons i'm doing this uh but it's so much easier to write a new app around this new way of doing things than to adapt an old app to it uh so it's gonna it's gonna be a while and it's gonna involve significant rewrites before i can actually have this thing be my my only data store
00:21:05 Marco: We are brought to you this week by Backblaze, unlimited cloud backup for Macs and PCs for just seven bucks a month.
00:21:13 Marco: There is no catch.
00:21:14 Marco: There is no gotcha.
00:21:15 Marco: There are really no limits.
00:21:17 Marco: Seven bucks a month, unlimited space for your Mac and PC.
00:21:21 Marco: Any drive that is in it or plugged into it, they will back up.
00:21:24 Marco: Uh, so basically anything but network drives, which is really great.
00:21:27 Marco: Like you could have, I have had like multiple terabytes of either internal and or external drives on one computer.
00:21:34 Marco: I believe I've, I was once backing up eight terabytes from one computer to back plays and it was still that same seven bucks a month.
00:21:41 Marco: I love Backblaze.
00:21:42 Marco: It's a great backup service.
00:21:44 Marco: They have nearly two exabytes of data storage under their management.
00:21:48 Marco: They've restored 55 billion files.
00:21:50 Marco: And what's great about them is that, you know, this is cloud backup.
00:21:52 Marco: So anything that happens to your desk or your physical computer or your physical office or house doesn't affect their backup.
00:21:59 Marco: So you are protected on so many levels from things like fires and floods and data loss and viruses and stuff, because whatever happens to your internal office stuff won't reach them.
00:22:09 Marco: It's just wonderful.
00:22:10 Marco: They have all these features like web restore.
00:22:12 Marco: You can restore single files or whole directories or your entire thing.
00:22:16 Marco: If that's too much to do over the web, they have a program where you can have a hard drive mailed to you.
00:22:22 Marco: And then if you return that hard drive back to them, they don't charge you for it.
00:22:25 Marco: It's just amazing.
00:22:27 Marco: Uh, see for yourself at backblaze.com slash ATP.
00:22:31 Marco: You got to get started with cloud backup and you will not regret it.
00:22:34 Marco: It is, it is not only a great insurance for your data, but it's great convenience when you need something, you know, if you happen to be traveling and you want something off your home computer, you can just pull it off backblaze.
00:22:43 Marco: It's super great.
00:22:44 Marco: See for yourself.
00:22:45 Marco: Once again, backblaze.com slash ATP, all sorts of great features they've added.
00:22:49 Marco: They now have a program.
00:22:51 Marco: You can increase your retention history to a year for just two bucks more a month.
00:22:55 Marco: It's a great service.
00:22:56 Marco: Backblaze.com slash ATP.
00:22:58 Marco: Seven bucks a month, unlimited cloud backup for Mac and PC.
00:23:01 Marco: Thank you so much to Backblaze for sponsoring our show.
00:23:07 Casey: All right, let's do some follow up.
00:23:09 Casey: Hey, a lot of people were really upset that in Ventura, network locations went away.
00:23:16 Casey: And I was vaguely familiar with this being a thing, but I never used it and I don't know much about it.
00:23:23 Casey: So I guess, John, could you kind of give me the two second overview of what this was and then tell me about some new news we've gotten about it, please?
00:23:31 John: Yeah, I didn't use this feature much, but it reminded me of, I think it was called Location Manager back in classic Mac OS.
00:23:36 John: Basically, the idea is when I have my computer, think of it as laptop, right?
00:23:40 John: When I have my computer in a particular location, I want the networking setup to be different.
00:23:44 John: So when I'm in the office, I want to be on the VPN and have this thing set up this way.
00:23:50 John: When I'm at home, I want to be on my home Wi-Fi.
00:23:52 John: Yeah.
00:23:52 John: You know, all sorts of other stuff like that.
00:23:54 Casey: Well, yeah, there's a great app called Control Plane that did this years and years and years ago.
00:23:58 Casey: Not to say it was better, worse, or different, but it was a similar idea.
00:24:02 Casey: Like, you could set default printers, and I think you could set Wi-Fi networks and all sorts of random stuff.
00:24:07 John: Yeah, I think this is just for networking, though.
00:24:09 John: But anyway, in Ventura, like a couple of things that we have talked about in the past, it disappeared from system settings.
00:24:15 John: It used to be in system preferences in the network pane, and then it was no longer in system settings.
00:24:19 John: So this story on the Rob observatory says that, well, two things.
00:24:24 John: One, if you had network locations and you run Ventura, you can still find them.
00:24:28 John: Apparently in the Apple menu, if you go to location, you'll see the locations that you entered back before Ventura still listed there.
00:24:37 John: But two, if you want to add, delete, or modify locations, even though there's no GUI to do it, kind of like what we were talking about before, there was no GUI and there was a command line.
00:24:47 John: it was oh that the scheduled uh startup and shutdown stuff just like that there is a command line thing you can do from the terminal to mess with this it's the command is called network setup i tried to find a url to like an online man page of network setup and there's a bunch of them from sites that are not apple apparently apple no longer has uh you know web page versions of all the man pages that are part of like mac os slash darwin or whatever but anyway uh we'll link you to the article it shows the relevant uh
00:25:15 John: options to the command where you can list locations, create a location, delete a location, so on and so forth.
00:25:20 John: So I'm not so sure, but since they left all the functionality in there, is it just they didn't get time to implement this in the GUI?
00:25:26 John: Or they decided it's not important enough to have a GUI and the people who really care about it will just use the command line?
00:25:32 John: But yeah, this is the second feature that's like that in Ventura.
00:25:34 John: And I'm not sure what Apple is trying to say with this.
00:25:37 Casey: It's not just those two.
00:25:38 Casey: First of all, I could have sworn.
00:25:40 John: Oh, it was the date format, too.
00:25:42 John: Your thing.
00:25:42 Casey: That's exactly what I was going to bring up.
00:25:45 Casey: But before we get there, I thought that Snell had gotten something from Apple saying like yes or no, whether it was delivered or not.
00:25:54 Casey: But I don't remember what the answer was.
00:25:55 Casey: And I might be making this up.
00:25:56 John: entirely so but that might have been about ventura 13.0 like apple just saying like no we didn't forget to put it in 13.0 we intentionally didn't but it really doesn't say anything about like all right but what about for the future like is this the fact that the functionality is there with the command line tool in 14.0 does it stay the same as it is like now or do they make a gui for it or do they remove the command line tool that's that's the mystery that we'll see
00:26:19 Casey: And then you had brought up, and I was about to do the same.
00:26:22 Casey: So I'm known as the petulant Fahrenheit guy because Fahrenheit's better than Celsius.
00:26:28 Casey: But what people don't seem to understand is that I don't have any particular love for any other imperial measure.
00:26:34 Casey: Like, all of them are garbage.
00:26:35 Casey: Feet, dumb, pounds, stupid.
00:26:37 Casey: They're all terrible.
00:26:38 Casey: Every single one of them is terrible.
00:26:39 Casey: My perfect world, when I am king, I will say metric all the things except ambient air temperature.
00:26:46 Casey: If you want to put the oven in Celsius, that's fine.
00:26:48 Casey: I don't care.
00:26:49 Casey: But outside temperatures in Fahrenheit, damn it, that's what makes the most sense.
00:26:53 Casey: Anyway, one of the things that Americans get completely wrong is that we do month, day, year, not day, month, year.
00:26:59 Casey: So what's the day, the 21st, 20th, something like that?
00:27:01 Casey: I don't even know.
00:27:02 Casey: It's all a blur.
00:27:02 Casey: It's 21st.
00:27:03 Casey: So Americans would write 11 slash 21 slash 22, which is dumb.
00:27:08 Casey: It should be 21.
00:27:10 Casey: 21 slash 11 slash 22.
00:27:12 Casey: Why?
00:27:13 Casey: Because you get the most specific thing first, which is the day, then the slightly less specific thing next, that's the month, and the least specific thing last, that's the year.
00:27:22 Casey: At this point, all the nerds are getting very upset at me.
00:27:26 Casey: They go, oh, you have to 8601 or 18 or whatever.
00:27:28 Casey: No, it's 8601.
00:27:29 Casey: You have to 8601 everything.
00:27:30 Casey: That's the only true formula.
00:27:32 Casey: Okay, sure.
00:27:33 Casey: If you're storing file names, then yes, go year first.
00:27:36 Casey: But for anything else, when you're not in like a database or if it's not a file name, the year is almost always contextually obvious.
00:27:45 Casey: So start with the day, man.
00:27:47 Casey: Day, month, year.
00:27:48 Casey: That's the way it should be.
00:27:49 John: Disagree.
00:27:49 John: Year, month, day.
00:27:50 John: Well, we've talked about this before.
00:27:52 John: And like, regardless of the the logic of Casey's argument, whether you agree with it, the fact is that he lives in America.
00:27:59 John: And by doing this, he's essentially speaking of booby traps, like the B package and Pearl, you it's like people who have their who have a QWERTY keyboard, but they use Dvorak key layout, their computer is booby trapped.
00:28:10 John: So Casey's computer and life are booby trapped because any other person who lives in the same country or was raised in the same culture as him sits down at his computer is going to be bamboozled by any ambiguous date because they're all going to think it's month, day, year.
00:28:27 John: Because why wouldn't it be?
00:28:28 John: We're in America.
00:28:29 John: But no, it's a trap.
00:28:31 John: And unless the day is over 12, you're not going to be able to figure it out from context.
00:28:35 John: So his whole computer is screwed up and he should not do this.
00:28:38 John: Even if I agree with him, which I don't, that it's the better system, he should move to a country where everybody does it so his life isn't booby trapped.
00:28:46 Casey: Oh, I see.
00:28:47 Casey: I see.
00:28:47 Casey: I'm getting kicked out of the country of my birth simply because you don't like my date format.
00:28:51 John: That's right, because it's like driving on the other side of the road.
00:28:55 John: It's like, I think everyone should drive on the left side of the road.
00:28:57 John: Well, you have to go to another country for that.
00:28:58 John: Don't do it here.
00:28:59 Casey: Well, no, that's also wrong.
00:29:01 Casey: That's demonstrably wrong.
00:29:02 Casey: You should be on the right side of the world.
00:29:04 John: Setting aside whether it's right or wrong, you like it or you don't, you have to go with the flow in terms of conventions.
00:29:11 John: That's why they're conventions.
00:29:12 John: Anyway, go on.
00:29:15 John: This is not the point of the story.
00:29:16 John: The point of the story is that macOS ill-advisedly gave you a way to booby-trap your life in this matter.
00:29:22 Casey: Yeah, well, so it used to be that you could dig into like, I forget exactly where it was in systems preferences, I almost said settings, but in system preferences, you could dig into somewhere in like region settings.
00:29:31 Casey: And they had these little like pills that you could drag around and format things in whatever bananas way you wanted, including putting your...
00:29:38 Casey: Why would you put year first for regular use?
00:29:40 Casey: For files, sure.
00:29:41 Casey: For databases, sure.
00:29:42 John: And to be clear, what you're doing is you're telling macOS, hey, when you display a date, how should you display it?
00:29:49 John: It was like a little construction kit where you had each element and you could make a little GUI for saying, I want to have the year, then the day, then the month.
00:29:57 John: I want to have the month, then the day, then the year.
00:29:58 John: Whatever way you want to do it, I think you'd even put whatever characters you wanted between it, like slashes or hyphens, right?
00:30:03 John: Yeah, so that's what you're talking about.
00:30:05 John: This is a GUI that was in macOS 10 since then.
00:30:08 Casey: pretty early on and disappeared in ventura yes and also your folklore.org reference is acknowledged anyway so it used to be that you could you know drag these pills around do what you wanted and then i went i actually was about to write a bug report for i believe they were past sponsor uh banktivity which is my financial management software and because i realized all of a sudden in the last couple of months it's no longer honoring day month year but you only realize that after the 12th day of the month right
00:30:34 Casey: No, stop it.
00:30:36 Casey: So anyway, I just hadn't really paid close attention to it.
00:30:38 Casey: And then I heard, well, this ain't right.
00:30:40 Casey: And it happened a couple months ago.
00:30:41 Casey: They must have made some sort of, wait a second.
00:30:44 Casey: Where else can I look and see?
00:30:46 Casey: Oh, no.
00:30:46 Casey: Oh, no, the whole system's wrong.
00:30:49 Casey: Oh, no, this must be something with insurance.
00:30:51 Casey: So I went to go into system settings and look at what the situation was.
00:30:55 Casey: And sure enough, I couldn't find it.
00:30:57 Casey: And what do you do?
00:30:58 Casey: up until a week ago.
00:30:59 Casey: What do you do when you have these sorts of problems?
00:31:01 Casey: Well, you ask about it on Twitter.
00:31:02 Casey: And some very helpful people on Twitter said, yes, you're right.
00:31:05 Casey: It's gone.
00:31:06 Casey: But a handful of people pointed me to a handful of different places.
00:31:10 Casey: And lo and behold, there are some default write commands that you can do in order to set
00:31:16 Casey: uh apple icu date format strings and if you set a a uh what don't you see if you set four of them then you can get things just the way you want them which is the correct way which is day month year despite what these heathens say so yeah i'll put a link in the show notes so you can check that out and same question about this one is that are those uh you know p list keys going to go away in you know mac os 14 or are they going to be there forever we'll see
00:31:40 Marco: We are brought to you this week by Memberful, the easiest way to sell memberships to your audience.
00:31:47 Marco: Memberful is a great option.
00:32:01 Marco: Thank you.
00:32:18 Marco: They have everything you need to run a membership program, including optimized checkout, analytics, free trial support, Apple Pay support, gift subscriptions, member management, so much more.
00:32:28 Marco: That's really kind of a pain in the butt to build yourself.
00:32:30 Marco: They have all of that built in and they seamlessly integrate with the tools you already use with lots of fully managed integrations with the most popular services and tools out there.
00:32:40 Marco: So you probably don't even have to do that much to integrate them.
00:32:43 Marco: And if you want, of course, they have great support to help you get going, help you get integrated, help you optimize your membership.
00:32:49 Marco: But one thing I love about them is that they align themselves with you incentive wise.
00:32:54 Marco: And so they don't want to take control of your membership.
00:32:56 Marco: They don't want to take all your money.
00:32:58 Marco: They make money when you make money and they want you to succeed.
00:33:02 Marco: And you always have access with Memberful to your audience, all of your branding and your membership.
00:33:09 Marco: Payments even go directly to your own Stripe account, which I love.
00:33:12 Marco: So get started for free with Memberful with no credit card required at memberful.com slash ATP.
00:33:19 Marco: Once again, memberful.com slash ATP to get that free trial go, no credit card required.
00:33:25 Marco: Thank you so much to Memberful for making it super easy to run membership programs and for sponsoring our show.
00:33:33 Casey: Tell me about man pages in preview, please.
00:33:36 John: This just came up because I was trying to find a link for the show notes of like, you know, a nice apple.com URL for the man page for network setup.
00:33:44 John: And I came across, you know, another thing that was related in my travels, which was.
00:33:50 John: uh people complaining about another regression adventure where preview no longer renders postscript files which you might not care about because like when do i encounter a postscript file but a lot of people like the man command that shows manual pages can could spit out postscript and you could just pipe it to the preview thing and people had aliases set up that are just like i don't want to read a man page in the terminal in a monospace font i want to read it in proportional font and rich text so i had this thing that
00:34:14 John: you know, runs command on man pages and then spits out a postscript and then I just pipe it to, you know, an open command and open the preview app.
00:34:24 John: And that stopped working because preview can't render postscript in Ventura, which is kind of cruddy, but anyway, time marches on.
00:34:29 John: Well,
00:34:30 John: You can also generate manual pages as PDFs in Ventura.
00:34:35 John: So you just need to change your alias.
00:34:36 John: So people who have never done this are interested in trying it out.
00:34:39 John: We'll put a link to this post at scriptingos10.com.
00:34:44 John: Unfortunate domain name there.
00:34:45 John: But scriptingos10.com shows you how to set up an alias.
00:34:50 John: Like everything else, it just assumes that you run Bash or something similar.
00:34:54 John: But if you're weird like me, you can adapt it to whatever shell you happen to run.
00:34:58 John: And then you, too, can run man commands from the terminal and have them open in preview as PDFs.
00:35:06 Casey: Tell me about your iPhone cases.
00:35:08 John: Finally got my second.
00:35:09 John: I ordered two iPhone cases, and the second one finally arrived.
00:35:13 John: I got the Ryan London case a while ago, and it's been on my phone ever since.
00:35:17 John: And I also ordered around the same time the Bullstrap case.
00:35:20 John: These are both black leather iPhone 14 Pro cases with an open bottom case.
00:35:26 John: which is the way I like it.
00:35:27 John: And the Ryan London one was cheaper.
00:35:30 John: The Ryan London one, I forget, I think when I ordered it, maybe it was around 50 bucks.
00:35:33 John: It's currently $54.
00:35:35 John: The bull strap case when I ordered it was $85.
00:35:38 John: And I didn't order a bull strap case for my last phone, but a lot of people had said that, oh, they make really high quality leather cases.
00:35:44 John: You should check it out, blah, blah, blah.
00:35:45 John: The reason I avoided it last time is because I had found my Olexar case that had the buttons that didn't stick out so far, and it was like, you know, $20 or whatever since reduced to $5.50.
00:35:56 John: And I love that case.
00:35:58 John: But this time I couldn't find anything like that, so I'm just going to have to deal with the bulging buttons.
00:36:01 John: So I ordered two cases that both looked like they had bulging buttons, but they were both leather cases with bare bottoms, right?
00:36:08 John: Bullstrap case finally came.
00:36:10 John: I've had the Ryan London case on my phone for, I don't know, a month or whatever now since I got it.
00:36:17 John: And I was like, when the Bullstrap case comes, am I going to swap it?
00:36:19 John: Or am I just like, maybe I'll just look at it and see if it's see if I think it's any better than the Ryan London case.
00:36:26 John: And when I got it and unpacked it and held it next to my phone, which has the Ryan London case on it.
00:36:31 John: I'm pretty sure that these are literally the same case.
00:36:36 John: Like whoever manufactures these, like it's like one factory is making these things.
00:36:42 John: The only difference is that the bull strap case had like an embossed bull on the back of it.
00:36:48 John: And the Ryan London case has a little embossed like, I don't know if it's an R symbol, a little embossed circle on the edge, the side near the bottom.
00:36:57 John: Yeah.
00:36:57 John: But like the buttons were the same.
00:37:00 John: Everything was in the same position.
00:37:02 John: The folds and creases in the leather look the same.
00:37:05 John: They smell the same.
00:37:06 John: They feel the same.
00:37:07 John: I think these are the same case.
00:37:10 John: I don't know why the bull strap one took forever to come.
00:37:12 John: I don't know why the bull strap one was so much more expensive.
00:37:15 John: uh but i didn't put it on it's just i'd put it upstairs as a backup case because in the end of the ryan london one doesn't have anything on the back and i'm much more likely to feel something on the back than i would be to feel the ryan london thing that's like on the lower left corner of the thing um so if you're interested we'll put links to both in the show notes by the way the bull strap case has been price reduced to 68 but i would say if you want a leather case with an open bottom and you don't mind the bulging buttons
00:37:41 John: Ryan London case.
00:37:42 John: Number one choice.
00:37:43 John: The bull strap case is identical.
00:37:47 Casey: I don't get that reference.
00:37:49 Marco: That's from my cousin Vinny on the... It's identical.
00:37:53 Marco: You got a clap in the middle.
00:37:55 John: I haven't seen it as many times as you.
00:37:57 Casey: And hey, I'll use this as an opportunity to tell you, if you haven't heard what we're talking about, you can go to ATP.fm slash join, and you can hear our ATP Movie Club episodes, including the one where we discussed, My Cousin Vinny.
00:38:11 Casey: All right, let's talk Mastodon for a little bit, because that is where all the cool kids are going.
00:38:16 Casey: I...
00:38:16 Casey: Yes.
00:38:17 Marco: I believe you're referring to the Fediverse.
00:38:19 Marco: I think we're supposed to call it that now.
00:38:21 Casey: Is that right?
00:38:22 Casey: Are you being serious?
00:38:23 Casey: Are you trolling me?
00:38:23 Casey: Or both?
00:38:24 John: Yeah.
00:38:24 John: It's the universe of Kevin Federline.
00:38:27 John: Oh, no.
00:38:28 Casey: Oh, wow.
00:38:28 Casey: Deep cut.
00:38:28 Casey: Deep cut.
00:38:29 John: The Fediverse, yeah.
00:38:30 John: Wow.
00:38:31 Casey: All right.
00:38:31 Casey: Anyway.
00:38:32 John: Did I get his first name right?
00:38:33 John: I don't know.
00:38:33 John: They just popped out of my head.
00:38:34 Casey: No, that's Britney Spears' ex, right?
00:38:35 Casey: Yeah, that's what I thought.
00:38:36 Casey: All right, anyway.
00:38:37 Casey: Okay, I'm with you.
00:38:37 Casey: I'm right there with you.
00:38:39 Casey: Yep, yep, yep.
00:38:40 Casey: So anyway, so I do have an account.
00:38:42 Casey: I think I had just made it last week when we had spoken, which actually as we record this was just like four or five days ago.
00:38:49 Casey: But anyway, I haven't yet tooted on Mastodon, which I think I heard rumblings are changing the name, but whatever.
00:38:56 Casey: That doesn't really bother me.
00:38:57 Marco: Wait, that's really what we're supposed to say?
00:38:58 Marco: Tooted?
00:38:58 Marco: Yes.
00:39:00 Marco: Isn't that like farting?
00:39:01 John: yes why oh god they use a trumpet symbol not a butt to get around yeah okay everyone knows what that means i mean this is the perfect exemplar of why i just don't think that anything here has been properly considered but tooting is fine is it any is it any is it any uh more more or less silly than tweeting which twitter didn't even come up with on its own
00:39:26 Marco: it's a little i mean i suppose that you know in time if mastodon like sticks around as the thing that we're all talking about we will forget about how dumb it sounds these words um but at the moment when you know look if something is going to replace twitter for a bunch of people
00:39:43 Marco: It has to have a little bit of coolness to it.
00:39:47 Marco: And I think this is a massive challenge for Mastodon in general because for all of its advantages, it's not cool.
00:39:54 Marco: And I think that doesn't help.
00:39:56 John: But it is fun.
00:39:57 John: Is it?
00:39:58 John: Yeah, the little elephant thing is fun.
00:40:01 John: The word toot is fun.
00:40:02 John: I mean, like the branding and the sort of like the look and feel of the UI and all that stuff.
00:40:08 John: And all the third party apps, which we'll get to in a little bit, lots of them have variations in the word toot because it's fun.
00:40:13 John: Just like lots of, you know, Twitter apps had variations on bird stuff.
00:40:17 Casey: Sure.
00:40:17 Casey: Well, okay, so we're already getting off in the weeds, and I'm going to try to bring us back, and I think this was my fault.
00:40:21 Casey: But nonetheless, I do have an account on Mastodon.social.
00:40:24 Casey: I have not yet tweeted, posted, tooted, what have you.
00:40:26 Casey: Part of the reason I haven't done anything yet is because Mastodon.social is constantly not working, or at least in my experience over the last week.
00:40:35 Casey: Damn near any time I tried to look at what was going on on Mastodon, the Fediverse, whatever, almost every time it was...
00:40:43 Casey: impossibly difficult to get a response from Mastodon.social.
00:40:46 Casey: Now, I sympathize that this is a very thankless job.
00:40:49 Casey: They probably weren't prepared for the load that they are receiving.
00:40:52 Casey: We're going to talk a little bit more about that in a moment.
00:40:55 Casey: But, I don't know, my opening experience to Mastodon is...
00:41:00 Casey: Okay, the first thing you need to do is to decide which server to join, which we talked about last week.
00:41:05 Casey: And that is fraught to begin with.
00:41:07 Casey: But leaving that aside, then you get there and the server is often broken, which is fraught.
00:41:13 Casey: And then you have these really, really clunky usernames with at caseylists, at mastodon.social, which are just aesthetically kind of yucky.
00:41:22 Casey: I don't know.
00:41:23 Casey: I agree with what you're saying, Marco.
00:41:24 Casey: Like, yes, the branding is kind of cool, I guess, and different.
00:41:29 Casey: But the experience, to me, is just so deeply uncool.
00:41:36 Casey: And I'll be the first to tell you, maybe it's my own ignorance.
00:41:38 Casey: Maybe I just haven't seen the light and haven't seen what makes this so much better than Twitter.
00:41:42 Casey: And I was looking at some feedback we got from the last episode, and a lot of people were like, well, it's nothing like Twitter.
00:41:48 Casey: It's totally different than Twitter.
00:41:50 Casey: okay, but in what way is that true?
00:41:53 Casey: Because I clearly don't understand.
00:41:55 Casey: And if it's just by Federation, like, okay, that's an implementation detail.
00:42:00 Casey: I don't really consider that to be very, very different.
00:42:04 Casey: And I don't know.
00:42:05 Casey: It's one of those situations where I'm looking at the sky and these grumbly Macedon monkeys are like, oh no, the sky's green, baby.
00:42:13 Casey: And I'm looking at the sky and I'm like, well, that looks pretty blue to me.
00:42:15 Casey: And I don't know if I'm right or wrong.
00:42:17 Casey: Like, I might be the wrong one.
00:42:18 Casey: Who knows?
00:42:18 Casey: But
00:42:19 Casey: I don't know.
00:42:19 Casey: John, can you explain this to me or can you do something to make Mastodon make more sense in my head?
00:42:24 John: So the multiple accounts thing, I talked about this last week that I had, you know, five or six accounts that I created in 2017, Mastodon accounts on different servers.
00:42:34 John: And that kind of, I mean, it kind of presented a problem with me for my experience on Mastodon of like, well, I should probably pick one of these.
00:42:44 John: right to actually use but which because the problem is other people had found them because they do have a reasonable federated search feature where if you type in my last name you'll get a bunch of hits you'll get more hits than are me because there are other accounts that are like
00:42:59 John: I don't know what they are like.
00:43:00 John: I think somebody set up in a Heroku instance that had a bunch of like proxy accounts that represent other people.
00:43:05 John: Tons of people come up in that search thing.
00:43:07 John: And there are other people who are just like have the same name as me or have like old fake impersonation accounts.
00:43:12 John: But some of them are, most of them are legitimate accounts that I set up for myself.
00:43:16 John: And they were accumulating followers.
00:43:18 John: And I don't want people following an account that I'm not using because they're just going to be disappointed because nothing's going to happen there.
00:43:24 John: So I had to figure out how to solve that problem.
00:43:26 John: uh sort of first and foremost and by the way since last week i did get uh syracuse at mastodon.social so if you're wondering which one is the quote unquote real me there are like six or seven real me's but the one i'm currently as of the recording of this episode intending to use is syracuse at mastodon.social
00:43:42 Casey: You're the agent Smith of Mastodon, I swear.
00:43:45 John: Yeah.
00:43:48 John: So I had to pick which one I was going to use, right?
00:43:50 John: The reason I picked Mastodon.social is because my scant knowledge that I had at the time, which I think is currently true, is that Mastodon.social is run by the people who make Mastodon or are responsible for Mastodon or whatever.
00:44:05 John: So I figure of all these sites...
00:44:07 John: that exist that are mastodon things they have the most skin in the game because any one of those other sites could be like i'm sick of this i don't want to do it but the people who you know started and run and created mastodon are the most motivated to not go ah forget it like i'm sick of running a server it's too much i can't handle the moderation or whatever because they have the most skin in the game does that mean mastodon.social is the right server for me does that mean i i
00:44:32 John: agree with or even know anything about the moderation policies or whatever beyond what they say on the website and their conduct, you know, their policy thing.
00:44:40 John: We'll get to all that detail in a little bit.
00:44:42 John: I don't know.
00:44:43 John: I don't know if I made the right choice, which is why I am not doing
00:44:48 John: uh one of the things that it is possible to do which is oh you can just say all those other accounts you can just migrate them all and point them to the one that you care about but by doing that you essentially shut them down and put them into kind of like a locked mode those other ones and i don't want to do that because they're all my hedges against me having made the wrong choice about what server and obviously i'm weird and paranoid and about backups or whatever and other people other people will face the confusion of what you know server they should choose
00:45:14 John: And they'll hear from their friends where they think they should go or whatever.
00:45:17 John: But they're probably not as paranoid as I am in terms of like having backups of like, well, what if I made the wrong choice?
00:45:22 John: I want to have I want to basically I want to reserve my name and other places as well.
00:45:26 John: So if I made the wrong choice of a server, I don't have to get, you know, my last name 12345 at some other server.
00:45:33 John: So I'm keeping all those other accounts.
00:45:35 John: The best thing I could come up with to try to indicate.
00:45:40 John: that I want to indicate two things.
00:45:42 John: One, which one of these accounts that come up when you search for me are really me, right?
00:45:46 John: Like that I actually own and control.
00:45:49 John: And two, which one is the one that I'm actually using, right?
00:45:52 John: So on the first problem, I think Mastodon does something smart here.
00:45:55 John: if, if the people currently or previously running Twitter had a clue, they would have done this ages ago, because it is a fairly straightforward thing to do.
00:46:04 John: When you set up your Mastodon account, you have arbitrary name value pairs that you can put that's like information about you, right?
00:46:10 John: So the one I chose to put is website is the name and the value is the URL of my website.
00:46:14 John: Because I have a website.
00:46:16 John: It's not hard to have one.
00:46:17 John: Frequent sponsors of our program will allow you to make a website for yourself under a domain name that you control.
00:46:22 John: You should do that if you're listening to a tech podcast.
00:46:24 John: It's a reasonable thing to do.
00:46:25 John: And I have a website, right?
00:46:27 John: When you do that, they say, oh, and by the way, if you shove this snippet of HTML on your website, we will crawl your website, find the snippet of HTML, and say, aha, you must own and control that site.
00:46:38 John: Because if you didn't, there's no way you could have put this snippet of HTML on your site, setting aside injection attacks or whatever, right?
00:46:44 John: And if you do that, when someone goes to your profile on Mastodon,
00:46:49 John: they'll see a little green checkmark next to the URL that says, this person isn't just listing this website.
00:46:55 John: They have enough control over this website that they can influence the content of it.
00:46:58 John: So we're pretty sure that is that person's website, right?
00:47:01 John: So because you know me and you know hypercritical.co is my website and you see a Mastodon account with hypercritical.co as the website and a green checkbox, in theory, unless someone hacked me, I'm the only person who could have put that checkmark there.
00:47:13 John: So any Mastodon account where you see website, hypercritical.co, green checkmark,
00:47:18 John: That's me.
00:47:19 John: So I basically self verified.
00:47:21 John: Right.
00:47:21 John: This is something that lots of services do.
00:47:23 John: Speaking of DNS last week or whatever.
00:47:25 John: When you do a lot of DNS stuff, you can put a DNS text record or you put something on your website so they can validate when you're setting up an SSL certificate.
00:47:32 John: They want you to prove that you own the domain that you get in the SSL certificate for.
00:47:36 John: This technique is used frequently.
00:47:38 John: Is it as thorough as, you know, showing a government ID to a department in Twitter?
00:47:45 John: Probably not.
00:47:46 John: But boy, is it better than nothing.
00:47:48 John: And the best thing about it is it's self-service.
00:47:51 John: Now, it's self-service for nerds because most people don't have their own websites.
00:47:54 John: But hey, you're listening to ATP.
00:47:55 John: You should do this.
00:47:56 John: So I think this is a good system for tech nerds to moderately self-verify
00:48:03 John: And it helps me solve that first problem of which one of these are really me.
00:48:08 Casey: Let me just interrupt you there.
00:48:09 Casey: I stumbled upon this when I was setting up my Mastodon profile.
00:48:13 Casey: And I could not agree more that I think this is extremely smart.
00:48:16 Casey: And yeah, maybe it won't work for like celebrities or whatever.
00:48:19 Casey: But for the purposes of nerds, like you said, I think this is very clever, very simple, and does a pretty good job of accomplishing what a blue tick does on Twitter with some amount of certainty and confidence.
00:48:33 Casey: And I really, really dig this.
00:48:35 Casey: And I really think that this is an extremely clever and easy way to show some form of validation that an account is who they say they are.
00:48:45 Casey: And I really, really think this was smart.
00:48:47 John: And if it's good enough for SSL certificates, which people trust, like, oh, this is really Apple.com because it's the real SSL certificate owned by Apple, blah, blah.
00:48:55 John: That's basically how TLS verification... There are higher levels of verification that you pay more money for and that are more thorough.
00:49:01 John: But in the end, controlling your DNS records and controlling your actual website enough to put, like, you know...
00:49:07 John: random you know codes or values in there is how the things automated systems validate ownerships of domains second problem is okay i've got five accounts you can see they're all me because they got the green check mark against my url which one i'm actually using and my solution for that was to change my avatar image on all the accounts i'm not using to be my face with a big red buster through it like red circle with a line through it
00:49:33 John: And now cash propagation and federation being what it is, it might take a while for that to propagate.
00:49:37 John: But now if you search for Syracuse, you should see one of my smiling faces with nothing over it.
00:49:42 John: And then a bunch of other of my smiling faces with a big red circle and a line through it, which doesn't mean they're not me.
00:49:47 John: It just means not this one.
00:49:48 John: don't follow this one because i'm not using that one i'm not shutting it down i'm not forwarding it to the other one yet because it's my hedge against me having made a terrible choice about what server i'm going to be on but anyway and that if this all sounds involved overly involved this is part of the problem part of the problem and also part of the advantage of mastodon the problem is i don't know where to set up my thing the advantage is if you make the wrong choice in theory you can just make another choice in the future um and you know so that's
00:50:16 John: I don't have advice on what people should do.
00:50:19 John: Again, my choice of Macedon at Social, based on them having the most skin in the game, may not be what you would use to choose.
00:50:26 John: In theory, you can make a choice based on which place you think...
00:50:32 John: you will find the most pleasant.
00:50:35 John: Do the moderators and the rules that are set up in this instance fit with what I want?
00:50:41 John: To give the example that people are passing around because it was such a horror story, did you know some instances don't allow cursing?
00:50:46 John: If you want to be on an instance where they don't allow cursing,
00:50:50 John: that one might be for you, right?
00:50:52 John: But maybe you should know a little bit more about the people who are running it because they might have other opinions that you don't agree with.
00:50:57 John: And if you want one where you can post porn like that, you probably have to find one that allows that and be aware whether they don't, right?
00:51:03 John: It's just like anything else.
00:51:05 John: But it is currently at the young state we're at now.
00:51:09 John: before the gmail yahoo and hot mails of of the mastodon world have come into being it's just kind of a bunch of people guessing or going where their friends are so that's kind of how i ended up where i am so i did a search for syracusa looked for people and i see one two three four five six counts only one of which has a buster through it which is by the way i never knew that was what that was called so thank you for that but i don't know if that's what it's called but i it might it might have just been from ghostbusters no
00:51:36 Casey: Oh, gotcha.
00:51:37 Casey: Right, right, right.
00:51:38 Casey: Well, anyways, I only see one of them with the circle and a slash.
00:51:42 Casey: Every other one – well, of the others, one of them is the same picture with gray, like a completely grayscale background.
00:51:49 Casey: One of them is the default avatar.
00:51:51 Casey: One of them looks identical to your real one, and then one of them is also the avatar.
00:51:57 John: Yeah.
00:51:57 John: What I found when changing these avatars is the propagation of the new avatar across –
00:52:03 John: apps and whatever is slow like it's you know whatever i don't know if the apps are caching it if there's something in between this caching the instances are caching and but someone in the chat room said i'm not at mastodon.social i am that's what i'm saying the one i'm using we'll put a link in the show notes syracusa and mastodon.social that one as of the recording right now is the one i am actually using
00:52:24 Marco: So this is what – I mean the Federation thing – so what gives me hope with all of this is not Mastodon itself being massively successful in the future.
00:52:38 Marco: I think that might happen.
00:52:40 Marco: It probably won't happen.
00:52:41 Marco: I think they're having a great influx now.
00:52:44 Marco: I still have some doubts.
00:52:46 Marco: App.net really burned me in the sense that that was a time when we thought we were going to really move a lot of people off Twitter, and we moved some people off Twitter for a little while, and then it just kind of all fell apart.
00:52:58 Marco: It wasn't enough.
00:52:59 Marco: This, I think, we have a much better chance this time of actually doing something meaningful and pulling people off of Twitter permanently and having something much bigger than App.net ever was.
00:53:10 Marco: I think we have a good chance here.
00:53:14 Marco: But it's just so hard to say, like, okay, well, hey, let's all move to Mastodon.
00:53:18 Marco: And then the first question is, which Mastodon?
00:53:21 Marco: And it's just – that throws a huge wall up in everyone's faces that makes it very difficult to get into, very difficult for a large community to form.
00:53:30 Marco: And look, Mastodon is not brand new.
00:53:33 Marco: It didn't just launch.
00:53:33 Marco: It's been around for a few years.
00:53:35 Marco: And it seems to have had some success –
00:53:38 Marco: doing like smaller groups of people talking with each other having like you know small like special interest servers or or you know certain groups of friends or certain groups of people whatever it is creating a bunch of small places and that's fine that's that's a a useful feature to have it's a useful role to serve
00:53:55 Marco: But if you're going to try to create what Twitter is and was, which is the one big place where lots of people are, and we can all micro-chat together in this real-time, short-text way, Twitter was the place where everyone was.
00:54:13 Marco: I don't see Mastodon reaching that point because it isn't just one place.
00:54:18 Marco: And to them, that's a feature.
00:54:20 Marco: And I understand why that's a feature, but I don't see it happening.
00:54:23 Marco: What does give me hope in that area is this whole activity pub thing where Mastodon is one piece of software that communicates over activity pub, which is the standard that kind of is the backbone of federated social microblogging
00:54:43 Marco: Well, they aren't the only way to do ActivityPub.
00:54:45 Marco: So micro.blog supports it, which I believe we mentioned last week.
00:54:48 Marco: And so you can actually use micro.blog to follow Mastodon accounts and vice versa.
00:54:56 Marco: There was a message earlier today on Twitter from Matt Mullenweg of Automatic, who owns Tumblr.
00:55:04 Marco: saying that they're trying to get that done really soon on Tumblr, where Tumblr would itself also be an activity pub, I assume, host and supplier, I guess, publisher.
00:55:15 Marco: So if they do that, then Tumblr could also publish in and out of this world, like this network.
00:55:20 Marco: So the concept of activity pub could be bigger than Mastodon.
00:55:27 Marco: It could be the difference between WordPress and RSS, where you can publish a blog using WordPress...
00:55:33 Marco: You can also publish a blog using anything else and just publish an RSS feed and people can consume and subscribe to anything that publishes an RSS feed, whether it's a WordPress blog or any other engine.
00:55:45 Marco: ActivityPub seems to be that for social networks.
00:55:47 Marco: Now, I think there's a lot of challenges to getting that kind of thing.
00:55:51 Marco: to meaningful scale, a lot of challenges that are not easy and might never be solved.
00:55:59 Marco: But I think that is more promising to me than Macedon itself being the one thing that takes off.
00:56:07 Marco: I don't think that's super likely.
00:56:11 Marco: I think Macedon will be great the way it is now.
00:56:13 Marco: I don't see it scaling bigger, but hey, I could be wrong.
00:56:18 John: So just to make it clear to the people when you were complaining about the instances, when you pick your instance, you can still see things and follow people who are on other instances.
00:56:27 John: That's why that's what makes it federated, right?
00:56:29 John: There, you know, there are consequences that you choose the instance because you're sort of putting yourself under the control of the people who administer that instance.
00:56:35 John: And there are different rules on that instance.
00:56:36 John: And instances can defederate other instances.
00:56:39 John: But in general, the idea is you're not just seeing things from that instance.
00:56:42 John: You're seeing things.
00:56:43 John: And, you know, with the activity pub, you can see things from Tumblr or whatever.
00:56:46 John: on the subject of scalability like activity pub kind of like rss is just a tiny part of that equation when it comes to scaling you need something to uh to implement the federation as in okay so a bunch of people are post are you know publishing activity pub i follow a bunch of different people who are spread all over the internet all and you know
00:57:10 John: how do I see all their stuff in a timely manner and how does my stuff get to them?
00:57:15 John: Right.
00:57:16 John: That's what Mastodon does as a piece of software, right.
00:57:18 John: Uh, whether it's just talking to itself or other instances or whatever, it implements that.
00:57:23 John: Right.
00:57:23 John: And, uh, related to scalability, um,
00:57:26 John: Looking at this is this is a post on Nora code, which is a cool URL Someone took a look at a mass on instance.
00:57:34 John: They are running there was having problems and having a lot of experience scaling web applications when I look at this it tells me a lot about how Mastodon is currently architected and
00:57:44 John: what the potential scalability of this arrangement is and i can tell you they are very similar to where tom to where twitter was in the very very early bad old days of the fail this is not a this is not an architecture that can scale to twitter's size and you may be saying well that's the whole point it doesn't need to we'll have millions and millions of tiny mass data instances that each only need to be able to deal with just a small number of people that are on them and so scaling isn't a problem
00:58:11 John: First, I would say that's not true because once the activity on activity pub reaches a certain level, no matter how few people you have on an instance, if they all follow a bunch of celebrities, you got a big problem there in terms of the explosion of the number of messages and follows and followers and all that other stuff.
00:58:26 John: Or if they host each host one celebrity, I'd say.
00:58:29 John: But two, like just architecturally, if you look how they're.
00:58:32 John: It may not be obvious by looking at this big techno thing here or whatever, but there's a reason Twitter totally re-architected from what it was in the early days to what it is today, because you can't scale to Twitter size without doing that.
00:58:45 John: And as I said last week, I think it is inevitable that people will congregate on larger instances.
00:58:51 John: You will not get a million instances with 10 people.
00:58:54 John: You'll get one instance with 5 million people, one instance with 3 million people, and then a long tail, right?
00:58:59 John: Yeah.
00:58:59 John: It's not going to be 100% centralized because that's the whole point of this, but people will congregate.
00:59:06 John: There's just no avoiding it, which leads to a bunch of other problems.
00:59:08 John: So anyway, this is not the fault of Mastodon.
00:59:11 John: I think they've come a long way in what they've done, but looking at the way they have this set up and the different queues and the tweaking of database connections, every number in this post is...
00:59:22 John: tiny right tiny and the parts of it that seem not to be able to broken be broken down any further or to be parallelized any further it's bad right it's not this is this is yeah this is not going to scale to millions of people in any one mastodon instance unless they really really change the way they're doing the software like it's not as bad as it's probably not as bad as early twitter because i think early twitter didn't even have queues for stuff or whatever so to the credit of mastodon they're they're ahead of that but
00:59:52 John: Yeah.
00:59:52 John: So that's you're mentioning Mastodon at socials feeling slow.
00:59:57 John: Well, they've had a huge influx of people, and so they need to deploy more hardware.
01:00:02 John: But Mastodon as an application is not easily horizontally scalable.
01:00:07 John: So they might have to get bigger instances and start scaling vertically and.
01:00:11 John: It's a bit of a problem.
01:00:12 John: I think they will weather the current storm.
01:00:14 John: But if growth continues, they will hit a limit and it will be similar to the limit that Twitter hit where, you know, fail whales are falling from the sky and they have to really just say we're going to do our stuff in a different way.
01:00:29 John: And Twitter was able to do that because they had tons of money.
01:00:32 John: from i'm assuming venture capital but eventually advertisers as well to pay good developers to come and make the twitter that exists today which is way way more scalable than the old one was where does that money come from for mastodont they have a patreon but it's peanuts
01:00:49 John: compared to the amount of money that twitter put into re-architecting twitter um so it's difficult same thing with tumblr tumblr wants to do activity pub it's kind of easy to publish that but if you want to be part of the fediverse and follow things that you know your tumblr thing you want to follow people on various mastodon instances and other people on tumblr they are signing up for the same problem presumably as tumblr is better positioned because they are much bigger scale than and mastodon has ever been
01:01:12 John: but it's still a hard problem it's still non-trivial uh you know and i guess tumblr has money somehow uh through automatic or whatever where they can pay for this but um i'm not saying these are insurmountable problems they're surmountable twitter surmounted them but i they they give me concern uh and then the other side of scalability aside from technical is human scalability this is what i was getting at last week was saying that
01:01:35 John: Any Mastodon instance that continues to grow will have all the same problems as Twitter.
01:01:39 John: I don't know why I keep saying Tumblr.
01:01:41 John: Some examples of that.
01:01:42 John: This is back from 2018.
01:01:43 John: I think I remember the story when it happened, but I'd forgotten and it came back up again.
01:01:48 John: Will Wheaton, a Star Trek person, an actor, apparently got sort of chased off a Mastodon instance in 2018 because his account kept getting reported by people who didn't like him.
01:02:00 John: And the admin basically said...
01:02:02 John: I don't really blame you, but I'm going to shut down your account just because it's too much of a hassle because people are constantly yelling at me to get rid of your account.
01:02:09 John: Another thing, Mastodon.technology, a place where I had a Mastodon account since 2017, is shutting down because the person who is running it just can't handle running it anymore because life goes on and they were doing it themselves and putting their time and energy into it, and it's a pretty thankless job.
01:02:24 John: I'll put a link to that post where you can read about that person's reasoning.
01:02:28 John: And then finally, co-founder of dreamwith.org, Dream, W-I-D-T-H, and the former head of trust and safety at LiveJournal from around 2002, if people remember LiveJournal, posted an interesting Twitter thread that includes the bare minimum of
01:02:46 John: for evaluating when a new service, whether or not to sign up for a new service.
01:02:51 John: It's seven items.
01:02:52 John: So if you were, you know, if this person who has vast experience in trust and safety with an actual large growing community says, how do I know whether I should even look at signing up for this account?
01:03:01 John: They need to have these seven things.
01:03:03 John: And we'll put a link to the thread that you can read in more detail, but I'll just hit the bullet points.
01:03:06 John: One, the terms of service and policy are publicly available and prominently linked, and you can look at them without having to have a login.
01:03:13 John: Two, the terms of service does not contain a binding arbitration clause or a class action preclusion clause.
01:03:19 John: There's lots of nasty stuff you can put in the terms of service.
01:03:21 John: You want to at least look for the obvious things that we know are bad and that they're not there.
01:03:25 John: Three, that the ownership is clearly and easily identifiable.
01:03:28 John: Who runs this thing?
01:03:28 John: Who owns it?
01:03:29 John: How are they organized?
01:03:33 John: Who are these people that I'm giving my information to?
01:03:36 John: Four, the people who run the place don't believe in the real name policies because, you know, they don't have the mistaken notion that the real name policies for rent of use.
01:03:44 John: That's not true.
01:03:45 John: They don't.
01:03:46 John: Five, that the team that runs the thing is public about where their funding came from, what their business plan is and what form of corporate structure they've chosen and why.
01:03:54 John: Six, that they have a registered DMCA designated agent in the US or the equivalent in the EU to deal with copyright stuff.
01:04:01 John: And seven, the information available pre-sign up doesn't indicate that they believe abuse prevention can be achieved with one or two simple tricks.
01:04:08 John: Basically just saying like, do these people look like they have done the minimum amount to sort of understand what they're signing up for?
01:04:15 John: Most Mastodon instances probably don't clear this hurdle.
01:04:18 John: And what I would say is these are... This is from the perspective of somebody who ran Trust and Safety LiveJournal, right?
01:04:24 John: If you run a tiny instance with seven of your friends, you don't need to worry about any of this.
01:04:27 John: Who cares, right?
01:04:28 John: But if you run an instance that you have any notion of growing beyond a small handful of people...
01:04:35 John: and communities tend to do that if they you know gain popularity you're signing up for dealing with all this stuff and you can read the thread you could read this person's other thread where they describe what it was like to learn all this on the job at live journal and how harrowing it was i would warn you that you probably don't want to read that thread uh if you're upset by the the horrors that other humans can inflict on each other on the internet but
01:05:00 John: that's what's waiting for you at the end of anything even approaching twitter like scale uh and when there's a commercial company doing it they have a profit motive they can hire people and even then it's difficult because the people who have to do all the trust and safety stuff is a hard job content moderation just kind of grinds people up uh but if you make a site on the internet where millions of people can come and post content like their own what they call user generated content
01:05:26 John: You're signing up for a whole host of problems that you cannot even imagine.
01:05:30 John: And so it's almost like if you want to run a little mass on an instance for you and your friends, you better not let anybody else in.
01:05:35 John: And even one of your friends might end up being a jerk about it.
01:05:38 John: Right.
01:05:38 John: And or one of your friends, one of your friends posts a screenshot from Major League Baseball.
01:05:42 John: And then you get a lawyer sending you a letter telling you you need to shut down your mass on an instance.
01:05:45 John: And you're like, it was just 10 people.
01:05:47 John: What the heck is going on?
01:05:49 John: hmm not you know there's scalability in terms of tech stack but then there's scalability in terms of i want to run an establishment where humans gather and communicate uh on the internet and both of those are really difficult to wrangle
01:06:04 Marco: And that, I think, that's what has me most concerned about Mastodon.
01:06:08 Marco: That, frankly, I don't think they're bringing in enough money to make it possible to pay a large enough trust and safety team to deal with that correctly.
01:06:18 John: Like, I really don't.
01:06:19 John: But when you said this a couple times, you keep saying Mastodon.
01:06:22 John: There is a company that makes the software and runs Mastodon.social, but every other Mastodon instance that is not run by them...
01:06:29 John: are their own is their own entity with who knows what they're do they have a business model where does their money come from who's running that server like it's a piece of software that anybody can take and run which is again the beauty and the promise of it but also means that you have to make these judgments about every single one of those things so mastodon has some responsibility because they're sort of running running the biggest instance and making the software but they have no responsibility or control over these those other instances that are out there
01:06:55 John: Yeah.
01:06:56 Marco: And that's that's its own set of issues.
01:06:58 Marco: But but, you know, that's largely the Federation goal.
01:07:01 Marco: But but yeah, that's any of these mass known instances that that get significantly sized.
01:07:08 Marco: I think they're going to have this significant challenge of like, you know, it was one thing when it was mostly a bunch of nerds from Germany using it, you know, who I'm sure were all very polite.
01:07:17 Marco: Now it's another thing when a whole bunch of Twitter refugees are looking for a place to go, many of whom you don't really want on your surface.
01:07:27 Marco: And it's only going to be harder and harder.
01:07:30 Marco: Like if Mastodon succeeds, which it seems to be already succeeding in capturing a bunch of Twitter refugees.
01:07:37 Marco: It's almost like getting a bunch of toxic waste to be installed on your property.
01:07:40 Marco: It's like, well, I don't really want this burden, thanks.
01:07:44 Marco: In many ways, it's not what you want.
01:07:46 Marco: And most Mastodon instances are not going to have either the money or the person hours or the willpower to be able to deal with the amount of crap that will rain down upon them from running a social site that big.
01:08:02 John: So the end of this thread here, the statement from the person who was posting it from a live journalist, failing any one of these seven issues is a proxy for governance, knowledge and judgment issues that, in my opinion, are highly unlikely to be resolved before someone gets hurt.
01:08:16 John: And so, again, this is based on the premise that that your instance grows like and the person is saying if your instance keeps growing, eventually you.
01:08:25 John: whether you know it or not you will be partially responsible for somebody getting hurt because someone is on there and their abusive ex finds them and they get doxxed and you're not you don't deal with it fast enough and then someone goes to someone's house and kills them and it's like you feel guilty about that and it's like i didn't sign up for this i just wanted to have a place to talk about baseball with my friends or something you know my baseball master and like this is this is not the fault of mastodon this is true of an irc server of a slack you make of a discord you make of like
01:08:53 John: of anything that you can think of, of a web bulletin board that you make, like just any kind of place online that you sort of create and run where humans communicate to each other, these problems are, you know, tale as old as time, right?
01:09:06 John: It is not new and it is not the fault of Mastodon that's doing this, but this is the challenge that
01:09:12 John: Mastodon, through the popularity of it as a destination for Twitter refugees, each one of those instances is signing up to varying degrees to these type of challenges.
01:09:20 John: And they're difficult challenges.
01:09:22 John: And usually, to tackle them in any way, there needs to be
01:09:27 John: Like a countervailing factor, live journal, the people running that wanted to run a service where people could be online, a business where people could be online and talk to each other and have their live journals or whatever.
01:09:38 John: So the countervailing factor is there.
01:09:40 John: We're running a business.
01:09:41 John: And one of the difficult parts of the business is content moderation and dealing with abuse and so on and so forth.
01:09:46 John: But in the end, we're trying to build a business here.
01:09:48 John: We we collect money.
01:09:49 John: We get paid.
01:09:50 John: This is our living.
01:09:51 John: Same thing with Twitter, whether it fell backwards into it or whatever from audio and making podcast stuff.
01:09:57 John: They decided they're going to make a business called Twitter.
01:10:00 John: It's going to eventually be a public company and they're going to make money from it and they're going to use that money to pay content moderate like that's the countervailing factor.
01:10:07 John: And then there are the hobby ones.
01:10:09 John: Oh, it's just going to be 10 people.
01:10:10 John: It's not a big deal.
01:10:10 John: It's not.
01:10:11 John: It's never going to be a big deal.
01:10:12 John: We're never going to let more than 10 people.
01:10:13 John: We're just going to do this.
01:10:15 John: And we can participate just as equally in the Fediverse as anyone else.
01:10:18 John: We can follow all our celebrities on the big, famous servers.
01:10:21 John: But we have our own server with our own domain name.
01:10:24 John: And it's just literally going to be me and my 10 friends or my family server or whatever, right?
01:10:28 John: Or if you wanted to go down to the individual level, you could have individual servers, right?
01:10:32 John: That I feel like is the promise of federation that you can avoid all of this by keeping your little area open
01:10:39 John: owned and controlled by you or someone that you know closely but still participate in the larger thing but someone's got to run the larger thing and if it's not going to be you with your little family instance or whatever where you know where the celebrity is going to be what instance are they going to be on who's going to run that and how are they going to fund that and uh you know a patreon which it looks well funded for a patreon for an open source project but it is not well funded for something that is ever going to have a
01:11:05 John: It is a challenge that remains.
01:11:08 John: This is not a condemnation I'm asking on.
01:11:11 John: I'm just trying to lay the groundwork for the people who are enthusiastic about it to say, this is where things will inevitably lead.
01:11:18 John: These are the problems that will have to be tackled for this to continue to grow.
01:11:22 John: If it doesn't continue to grow and it stays the size it is,
01:11:25 John: Then we'll just have the current problems, which we already have instances where the moderators make a decision that's a mistake, and then people get angry about it, and then they threaten to defederate from each other.
01:11:34 John: Lots of sites were threatening to defederate the biggest site, Macedon.social, because they didn't agree with some moderation decisions.
01:11:41 John: And, you know, warring factions like that, that's, again, not new on the Internet.
01:11:47 John: Warring BBSs, warring IRC servers, warring IRC channels.
01:11:51 John: you know i'm gonna block you you're gonna block me i'm not gonna accept your thing you're not gonna accept my like just that's and that's that's at the current scale and the current scale is small right and you know if making it if saying all this is probably not making people want to set up a mastodon instance at all because it just sounds like a headache and it kind of is that's why i'm saying there has to be
01:12:14 John: A counterbalance, something on the other side of it to balance that out to make it worthwhile.
01:12:19 John: Another example, this is a New York Times story today.
01:12:21 John: The headline is chaos on Twitter leads a group of journalists who started an alternative.
01:12:25 John: So a bunch of journalists made like a Mastodon instance.
01:12:28 John: I think it was maybe it was co-host.
01:12:29 John: I forget.
01:12:30 John: It was either Mastodon or co-host.
01:12:31 John: Anyway, they made an instance and they're like, boy, running instance is a pain and trying to verify people and dealing with money.
01:12:37 John: It's just a bunch of journalists.
01:12:39 John: And it's like, we don't have time for this.
01:12:41 John: We should just be doing our journalism job, right?
01:12:43 John: The service that Twitter was providing was being the big giant company that you can get mad at that somehow found a way to fund itself with venture capital and or advertisements while you could just get mad at their dumb decisions.
01:12:53 John: But at least you didn't have to run the place.
01:12:55 Marco: yeah it's like nobody wants to run this like it is such a can of worms it is such a burden to try to run a social network like it's funny like a friend earlier in a slack group uh kind of joked like would i ever go back to tumblr like to work there um and i said no way
01:13:13 Marco: Because like, you know, I mean, I have I hadn't worked there since 2010.
01:13:18 Marco: So it's been quite a long time.
01:13:20 Marco: But even at the scale we were at back then, we were like, you know, having we were getting calls from like, high school principals, occasional police departments, like, you know, with disputes or posts that they want to be taken down or whatever.
01:13:32 Marco: And that was back then at like, basically no scale compared to where social networks have gone since then.
01:13:37 Marco: it was disheartening to have to and most of it didn't even make it to a place where I would even see it like we had a whole support staff handling it when I left but I would occasionally like you know one would pass over my desk I'd have to like go delete something and it was like it was just so disheartening
01:13:53 Marco: The actual reality of running a social network today is so much more involved.
01:14:00 Marco: There are different legal requirements.
01:14:01 Marco: There are different cultural expectations.
01:14:03 Marco: There are different governments and law enforcement groups that demand some kind of channel to reach you and to deal with things.
01:14:11 Marco: It is so complicated.
01:14:13 Marco: It is so...
01:14:14 Marco: hairy and fraught there is no good option on many of the decisions you have to make as as the new twitter owner is finding out um and it is it's just such a mess nobody wants to do that unless there is some massive upside like you are a giant social company funded by giant venture capitalists and you're going to have some kind of big ad play down the road that's what makes it worth these companies doing it
01:14:40 Marco: And not even always then.
01:14:42 Marco: So that's why I worry like if any of these smaller ones actually get meaningful traction and get a whole bunch of people using them and they start getting the celebrities and everything, it just causes so many problems for them.
01:14:56 Marco: And I really worry about their own longevity.
01:15:00 John: Yeah, and the attacks, the attack vectors and the powers that are working against you are way more sophisticated than they were because now it has been proven to be a valuable thing to leverage these networks for nefarious ends.
01:15:12 John: Even just the sort of harassment campaigns and the post-Gamergate playbook of how bad actors come in and mess people up, right?
01:15:23 John: That's way more sophisticated and way easier to just pick up that playbook and run it
01:15:28 John: And, you know, on the flip side, trust and safety as a profession has become, you know, more sophisticated as well to combat that.
01:15:36 John: Those are a lot of the people that Elon fired from Twitter, by the way.
01:15:39 John: Cool.
01:15:39 John: But, you know, but then again, you have to have you have to if you're going to sign up for this, you need to, you know, recruit those people, hire them and, you know, try to make the right decisions.
01:15:48 John: And.
01:15:48 John: I always keep saying this every time I talk about this.
01:15:51 John: This is the promise of Federation, that individual companies will have the opportunity to do this differently and better.
01:15:58 John: That we're not stuck with just the billionaire and his whims or previously the board of directors of Twitter and their whims, right?
01:16:06 John: That we have multiple chances to get this right.
01:16:08 John: But...
01:16:09 John: law of averages most of them are going to get it wrong uh and in increasingly spectacular ways albeit on smaller scale so it is difficult there's there is a interview in time magazine with uh the creator of mastodon uh eugen rocco rocco i don't know how to pronounce his name
01:16:26 John: um it's short there's not much there but you can take a look at it um it's just somebody who was dissatisfied with twitter and wanted to do something better and started this project around 2016 ish and it's a pretty big open source success story like i said it's it's come a long way since i signed up for all those accounts in 2017 uh but the scale problems remain uh and the human problems are just you know just lurking around the quarter wanting to uh mess people up
01:16:53 Casey: Then you did a tour of about 305 client apps.
01:16:57 Casey: So do you want to tell me what the winner is?
01:17:00 John: Yeah.
01:17:00 John: So first I'll put a link to a very long post by Anna Nicholson that reviews a bunch of Mastodon clients.
01:17:07 John: Um,
01:17:08 John: this is a blog post uh we'll put links to the clients as well there's also someone made a google sheet i'm not sure who created this there's a google sheet that has a feature comparison with just the little you know check box of like do you have this feature yes no of like a whole bunch of different clients um i tried to find as many uh mastodon clients as i could and tried them out since we last recorded i had the interesting experience of like i'd someone would suggest a client for me
01:17:31 John: And I would go look for it in the app store.
01:17:34 John: And instead of the button saying buy or get, it would say open because it was already installed on my phone.
01:17:40 John: Or the other alternative is I just got the cloud icon with a downward pointing arrow, which is like you already own this app.
01:17:45 John: You just need to download it.
01:17:46 John: Right.
01:17:46 John: someone suggested a mac app and i went to the same thing happened to the mac app store i'm like wait a second i hit command space i just launched it it was already installed and that's how i found some of my accounts i found some of those accounts that i've forgotten about i launched the mac app that i was trying out and i already had registered accounts oh i missed that one it was like msdn.io whatever it is anyway um but those the apps have all gotten better since then so first there's the official client just called mastodon it's on ios
01:18:11 John: official clients it's pretty okay right like i i like the idea of the official client because at least i kind of know again the people who make it are motivated to have mastodon succeed and they probably aren't using it to bitcoin mine on my phone right um probably yeah other
01:18:26 John: There's MetaText, highly recommended.
01:18:29 John: They remind me a lot of Twitter apps because these are apps that like a single developer can make and there's an API for it.
01:18:34 John: And each one does stuff a little bit differently.
01:18:38 John: Mammoth, which is currently in beta, shows a lot of promise, but it's just not feature complete yet.
01:18:42 John: Like the preference screen, 90% of the things don't do anything there yet.
01:18:44 John: But I do like the look of it so far.
01:18:47 John: Tusker is also in TestFlight beta.
01:18:49 John: I like some stuff about that app.
01:18:51 John: There's Toot, T-O-O-T with an exclamation point.
01:18:53 John: There's Tootle.
01:18:55 John: there's also toot with three o's toot which is open open source and cross-platform i looked at the source code for toot by the way i think it's react native because it's like basically the whole app is written in typescript kind of or maybe it's not react maybe it's just literally react in a web view i couldn't quite figure it out it's like objective c and then there's like this react thing that runs inside it there's mast m-a-s-t mercury um and something called fedi which is a mastodon client and also a
01:19:23 John: Pleroma?
01:19:24 John: P-L-E-R-O-M-A.
01:19:26 John: I didn't get a chance to look up what that is, but I'm assuming it's another federated thingy.
01:19:31 John: And then Mac apps, I can only find two, which is typical.
01:19:34 John: There's Mastonaut, which is the one I already had installed.
01:19:37 John: And then there's Hyperspace Desktop, which looks kind of web view-y.
01:19:41 John: So all these applications, they all kind of look like what Twitter clients look like in the early days before the more mature competitors kind of settled in.
01:19:50 John: They all feel like web views.
01:19:52 John: Well, some of them do, but I think they've learned a lot from Twitter clients.
01:19:55 John: They are somewhat constrained by the API.
01:19:58 John: Like they're not, most of them aren't doing things that the API don't allow you to do.
01:20:02 John: They do have widely varying performance based on like, you know, some of it is, yeah, is your server slow, but some of it is also like how skilled are you as an iOS developer of making the app feel snappy, making it, making me don't feel, feel like I don't have to constantly pull to refresh, like preemptively getting things when, you know, I'm going to read the next one.
01:20:17 John: How well do they all handle threading and all that stuff like that?
01:20:22 John: um i don't people ask which one do you like which is your favorite i don't have a favorite i've honestly been using all like every single app that i listed there i used each one of those at least once per day since i since we last recorded i just jumped from one to the other and i honestly can't decide none of them do everything that i want but each one of them does something vaguely interesting um
01:20:42 John: The only one that I really can't use is unfortunately Mastonaut because they don't, as far as I can tell in Mastonaut, there's no way to show in notifications just my mentions.
01:20:50 John: And I don't want to see a list of like follows and phase.
01:20:52 John: I just want to see mentions.
01:20:53 John: And I don't think there's a way to do that in Mastonaut.
01:20:55 John: So that's a big gap.
01:20:56 John: But most of the other ones I can get the job done.
01:20:58 John: And then, of course, there's the web client, which is pretty flexible and reasonable if you want to go that route.
01:21:04 Casey: Can we, as a member perk, can we have a, a isolated recording of John saying toots as to use as like a text message alert?
01:21:12 John: And this is not all of them, by the way.
01:21:14 John: I'm sure there are more.
01:21:15 John: Like if you just search for toot, toodle, uh, Mastodon, like on the app store, there's more, there's more all the time, right?
01:21:21 John: It's just, it is, it is fun to, you know, go through a bunch of apps and try them out again.
01:21:26 John: One of my favorites, I think it's, which one is it?
01:21:29 John: It's either Toot or Tootle.
01:21:31 John: One of them decided that the way it's gonna do account switching, because you have more than one account, is they put a little sort of quarter circle in the lower right corner of the screen,
01:21:41 John: and you rotate that quarter circle, and the entire rectangle of your phone screen rotates with it, like it's like a fan.
01:21:48 John: Oh, that's kind of cool.
01:21:49 John: I don't know where they came up with that.
01:21:51 John: I don't think it's a particularly good idea, but it's fun.
01:21:53 Casey: Oh, I think that.
01:21:54 Casey: It's super fun.
01:21:55 John: It feels good to do.
01:21:57 John: It looks stupid, and I don't think it's the right thing to do, but it's fun to try an app that does something a little bit different.
01:22:04 Casey: Was it Path that had that really clever menu in the bottom right where it would explode out?
01:22:08 Marco: It's like a radial menu, right?
01:22:10 Casey: Yeah, yeah, yeah.
01:22:11 Casey: I really liked Path for the 15 minutes it existed.
01:22:14 Marco: That could be your day social network and you have your night social network.
01:22:19 Casey: Reference acknowledged.
01:22:20 Casey: Because that was the Path guy, right?
01:22:21 John: Yes, I forget which one it is.
01:22:23 John: Maybe it's Tusker.
01:22:24 John: Maybe.
01:22:25 John: Oh, God, I need to launch.
01:22:26 John: They all have icons with elephants on them, so you can't even tell.
01:22:28 John: But some of them do interesting stuff with threading where on the avatar icon, it'll show like dots to be like nodes in a graph.
01:22:33 John: You could tell like a programmer was making this UI of like I think of it as a graph with nodes.
01:22:37 John: So I'm going to show it that way.
01:22:38 John: yeah not sure that one works either but it's it's interesting all right and so here here's the kicker to all of this while this is going on and i'm here trying mastodon and going all these instances and messing with stuff and by the way i'm also participating in mastodon replying to people posting things reading things that other people do oh i forgot to mention uh one final thing if you would like to become a twitter refugee and find a mastodon server somewhere but you're like but how do i know where all of my the people i used to follow on twitter how do i know where they are so i can find them again
01:23:06 John: The convention that is developed is that the people who leave Twitter or not leave Twitter, but like become Twitter refugees or are trying to go to Mastodon, they put somewhere in their bio or somewhere in their like Twitter information.
01:23:19 John: They put their Mastodon address either in the at whatever at Mastodon social form or in just a URL form.
01:23:26 John: And then there are a bunch of free online tools that will, using the Twitter API, find the list of people you follow, scrape all their bios, look for something that looks like a Mastinon address, and find them and present them to you.
01:23:39 John: So we'll put a link to one in the show notes.
01:23:41 John: It's fedifinder.glitch.me.
01:23:42 John: There's a bunch of other ones that it links to in the explanation page.
01:23:46 John: And you just, you know, enter your Twitter info and authorize it.
01:23:49 John: And it will show you, here's all the people we could find and where they are.
01:23:52 John: And you'll see that like 90% of them are mastodon.social, seven of them are on this one, five of them are on this one, and one person is on this one.
01:23:58 John: And you can then follow them if you're logged into your mastodon account.
01:24:01 John: That's how I've been building up my mastodon follows, try to make my mastodon timeline like my Twitter one by following people, the same people who I followed on Twitter, essentially.
01:24:10 Marco: Yeah, I've been trying that same thing because, I mean, here's the thing too.
01:24:13 Marco: It's like, this is another challenge I've been having with Amazon.
01:24:15 Marco: It's like, okay, suppose I get into it.
01:24:18 Marco: Suppose people are moving there in readable numbers.
01:24:21 Marco: Suppose I figure out the app situation.
01:24:23 Marco: Those are all big supposes, but we'll move on for now.
01:24:26 Marco: How do I find people?
01:24:27 Marco: Because here's the thing.
01:24:28 Marco: I mean, look, I've created so many new accounts on so many new social networks and old social networks over the last week or two.
01:24:36 Marco: But then it's like, alright, now what?
01:24:38 Marco: The next step is, alright, find people to follow.
01:24:41 Marco: And I don't want to start a whole new social network from scratch.
01:24:45 Marco: I want to follow the people that I already follow.
01:24:47 Marco: I've been curating my list of 197 people I follow on Twitter for years.
01:24:52 Marco: I want to follow most of them.
01:24:55 Marco: And
01:24:57 Marco: Yeah, so I do these tools, and it finds... I mean, I think I found... I ran the Fetter Finder thing last night.
01:25:02 Marco: I think I found, like, 15 people out of my 200 people following.
01:25:06 Marco: So it's not zero, which is good, but it's not a lot.
01:25:10 Marco: And it's hard to know, like...
01:25:14 Marco: How to balance multiple social networks?
01:25:19 Marco: What am I supposed to post where?
01:25:20 Marco: Nobody likes a cross-poster, so I'm not going to just auto-cross-post everything.
01:25:24 Marco: How do you do these things?
01:25:26 Marco: How do you find people?
01:25:28 Marco: It's really hard to start over, to start from scratch.
01:25:31 Marco: When...
01:25:33 Marco: a major social network of this style has not launched in quite a while, so most of us have never had to make this kind of move, or haven't had to make this kind of move recently.
01:25:43 Marco: Like, we're out of practice.
01:25:45 Marco: We don't know how to find each other.
01:25:45 Marco: We don't know how to communicate.
01:25:46 Marco: If Twitter goes offline tomorrow, I mean, at this point, nothing would surprise me in that department, but if they went offline tomorrow, we would be so confused.
01:25:55 Marco: We would have no idea where to find anybody, and this is a very hard thing to bootstrap, so I don't know.
01:26:01 Marco: It's just...
01:26:02 Marco: There's so many challenges to moving this.
01:26:04 Marco: And I am a little encouraged by just how much momentum there is behind this now.
01:26:11 Marco: There is so much momentum behind people leaving Twitter now.
01:26:14 Marco: And frankly, I'm spreading a lot of bets around.
01:26:20 Marco: I signed up on Twitter.
01:26:22 Marco: Whatever that new one was, whatever that new network is that everyone's trying out, like today I signed up for that.
01:26:27 John: That's what I was getting at before, speaking of momentum.
01:26:30 John: I was talking about all this Mastodon stuff, right?
01:26:32 John: And then kind of out of nowhere, starting like a day or two ago, what I started to see in my Twitter timeline mostly was tons of people I follow saying, hey, everybody.
01:26:44 John: Come over here.
01:26:45 John: And where they were going over to was HiveSocial.app.
01:26:50 John: The Hive app is an iPhone app called Hive.
01:26:52 John: They don't have a website or anything like that.
01:26:54 John: I don't know if it's Android, but it's certainly on iOS.
01:26:56 John: It's called Hive.
01:26:57 John: And tons of people, mostly in the gaming quadrant of the people that I follow on Twitter, they were all like, hey, everybody, come over to Hive.
01:27:05 John: Everyone's going over to Hive.
01:27:06 John: It was gamers and game-adjacent artists, right?
01:27:10 John: I'm out.
01:27:11 Right?
01:27:12 John: and what does hive look like it looks kind of like twitter it's like an app and you follow people and whatever right but what what the hell is hive all right and i and it was it was so sudden and such a like just and not just like the the few random weird people that i follow but like big famous people in the gaming industry were like here's my new hive come over to hive see me on hive like where did this come from i don't have an answer to this as of
01:27:37 John: as of monday november 21st when we're recording this i don't know how hive came out of nowhere the explanation the only explanation i saw is one destiny youtuber i followed did a video about it and his explanation was well they you know there used to be like a gaming uh department at twitter they would like do promotional stuff with like with people in the games industry and
01:28:00 John: You know, I don't know.
01:28:01 John: They were like a liaison for Twitter for the gaming industry.
01:28:03 John: So if you wanted to do something gaming-related on Twitter or have a Twitter space or promote a tweet or whatever, you would work with them, right?
01:28:09 John: And Elon, of course, fired everybody.
01:28:11 John: That whole department is gone, right?
01:28:12 John: Of course.
01:28:13 John: Yeah.
01:28:15 John: And so the people who used to communicate with them were like, well, it seems like there's no more support for gaming at Twitter.
01:28:21 John: So therefore, let's go over to Hive.
01:28:24 John: Hive, as far as I've been able to determine, is a perfectly pleasant, although a little bit janky iOS app written by two people.
01:28:34 John: Oh, wow.
01:28:35 John: And I'm like, okay, that's fine.
01:28:36 John: I don't have anything else, an app written by two people.
01:28:38 John: We make a bunch of apps written by one person, right?
01:28:40 John: Yeah.
01:28:40 John: But how in the world, like I almost feel bad for them.
01:28:43 John: How in the world did this giant critical mass of everyone go over to Hive happen for an app that is run by two people?
01:28:50 John: If you think Mastodon.social is going to have scaling problems, at least they have like a team of people and like, you know, people doing content moderation.
01:28:57 John: This is two people for the entire service and the app.
01:29:02 John: and it's not it's not federated it's not in the fediverse it's not activity pub it's not related to mastodon it is literally just like kind of like a twitter clone but like a slightly different idea in the app and i my first impression of the app was you know i did what i always do which is i got to go get my username right so i rush i get the hive app which i didn't have installed i install it i try to sign up with it says you can sign up with apple id uh maybe with google and also you can sign up with email and i always sign up with email
01:29:29 John: And I tried to sign up with email for like 10 minutes.
01:29:31 John: Could not do it.
01:29:33 John: First, it wouldn't accept my password.
01:29:35 John: Then I had to like manually tweak the password because I had a bunch of different password rules.
01:29:39 John: So I couldn't like, you know, use a password manager to do it.
01:29:42 John: So I had to make up a garbage password.
01:29:44 John: And it just never it would never highlight the button that would let me hit next.
01:29:49 John: Some people were saying there's a secret rule that wasn't listed that you had to have some special character that they didn't tell you that you had to have to get it.
01:29:54 John: But I think their server was just so.
01:29:55 John: So I signed up with Apple ID.
01:29:57 John: So anyway, I got my username, signed up with Apple ID.
01:30:00 John: And then I went there and there's a bunch of people that I knew.
01:30:02 John: And I followed them and they started following me.
01:30:04 John: And that's when I started to look into this place.
01:30:06 John: What is this?
01:30:07 John: I have no idea.
01:30:09 John: Like, is there some venture capitalist that is behind Hive that like paid a bunch of people to get the ball rolling on it?
01:30:14 John: But like, and I think I just saw them post that they had a million people.
01:30:17 John: A two person company for an app and a service has a million people.
01:30:22 Marco: anyway i mean in all fairness like you know that was tumblr for a while but we very quickly needed to hire a third person who was support and support became community management as well and that department expanded way faster like it was for a long time it was me and david and then our support staff and that that's how it stayed for a while you didn't even have an ios app though you just had the service which i guess you had the website too but like they at that time ios apps didn't exist yet this was like 2007 yeah
01:30:51 Marco: so yeah so hive has an ios app that someone had to write but then there's there's a service behind it somewhere that the ios app talks to that runs this thing with a million people like and maybe you know i mean that's that's very possible like that's i i can tell you like i mean i kind of do that for overcast like it's that's a very possible obviously it's a very different problem that's that's a possible thing to do but where that will fall down scaling wise is not the you know the servers for a
01:31:19 Marco: Where it will fall down scaling-wise is the people side, the community management, the trust and safety, abuse, copyright stuff.
01:31:25 Marco: That's where it's tough.
01:31:27 John: Because the two people are just needed to do the iOS app and the service.
01:31:31 John: So who is handling, who's watching the zoo, right?
01:31:36 John: Who is going to handle the content that is going to flow into your service from a million people?
01:31:41 John: That is a non-trivial problem.
01:31:43 John: Anyway, it's kind of interesting that this is an opportunity.
01:31:47 John: There is uncertainty surrounding Twitter, let's say.
01:31:52 John: So that's an opportunity for competitive services to potentially...
01:31:56 John: find their market find their niche right like maybe hive becomes the place that the gaming industry hangs out right and maybe some other app and and you know it doesn't have to be part of the fediverse or part of mastodon or whatever maybe they're just happy to have their one little place in the same way like deviant art was a place like a website where artists hang out and there's all sorts of i mean live journal i think still exists but all sorts of websites and communities that exist on the internet for smaller subsets of sort of self-selected
01:32:23 John: you know, communities or interest groups or whatever, even as down to something as simple as like the Mac rumors forums or the Ars Technica web forum back when, you know, every website had to have a web forum, which was its own headache to deal with it at a much smaller scale, but it was, it would select for people, you know, the Ars Technica forum was filled with people who read Ars Technica, including me.
01:32:40 John: A very self-selected group, narrow interest, small number of people, headache to manage, right?
01:32:48 John: And Hive could end up being like that.
01:32:50 John: But anyway, I was just surprised that the Hive sort of came out of nowhere and had such incredible momentum from a source that I have not yet determined.
01:32:59 John: it got me roped into it.
01:33:00 John: Um, and it does have some interesting features like this.
01:33:03 John: You can set yourself up to say I'm available to answer questions and people can ask you questions and then you respond.
01:33:08 John: That's just, you know, fancy dressing around the ability to tweet and reply essentially, right?
01:33:13 John: If in, in Twitter terms, but,
01:33:14 John: It's a clever, you know, affordance for doing that within the app.
01:33:19 John: And, you know, and it's filled with kind of like Macedon.
01:33:21 John: It's filled with new people and new people are.
01:33:23 John: It's fun when new people are arriving and they want to introduce themselves and people say hi.
01:33:27 John: And, you know, it's kind of all in that phrase.
01:33:29 John: So I feel like that's a a fun time, you know, before the Nazis arrive.
01:33:35 Marco: Wow.
01:33:36 Casey: Yeah, yeah, yeah.
01:33:37 Casey: Sad but true.
01:33:39 Casey: We should very briefly talk specifically about Twitter, hopefully very, very briefly.
01:33:43 Casey: I wanted to point everyone to a couple of different websites, which I thought were very funny and interesting.
01:33:49 Casey: The first was a post called The Fraudulent King by Ed Z.
01:33:53 Casey: And I was going to read some snippets from it, but I'll just leave it as an exercise for the listener to go read that.
01:33:57 Casey: But it is absolutely delightful.
01:34:00 Casey: It is a delightful takedown of King Elon and, to some degree, his disciples.
01:34:06 Casey: But it was very, very well done, and I thought it was funny.
01:34:09 Casey: And then in the spirit of Web3 is going great, we also have Twitter is going great, which is a running list of all the different disasters that are happening today.
01:34:17 Casey: over at Twitter these days, which is both hilarious and sad.
01:34:20 Casey: And then some people have gotten really, really concerned that Twitter is about to get into a big fight with Apple.
01:34:27 Casey: What's going on with that, John?
01:34:29 John: Well, yeah, so this is something that people who were inside Twitter and are now outside Twitter have been saying is like, you might not realize this from the outside, but we were constantly wrangling with AppReview, surprise, surprise, because Apple would complain to us
01:34:42 John: about stuff that's on twitter apple does have policies about what can be in apps that you sell on the app store and it's those policies have always been tricky if your app is essentially a front end to a community where users post arbitrary content because they're like look we just make the app or we're not like when we give you the app to review
01:35:03 John: Like we don't, you know, can you just review the app and not review what people post?
01:35:06 John: And they're like, well, if you made an app, but everybody posts porn there, we're going to tell you you can't have your app because we don't allow porn apps on the App Store.
01:35:13 John: And they're like, well, but we don't, it's not, we don't want porn.
01:35:16 John: Just sometimes people sneak porn in before we can remove it.
01:35:19 John: And Apple's like, well, you have to do better on that.
01:35:21 John: And there's been lots of runarounds with various applications saying like that Apple is not happy with the content moderation policies or mechanisms this app implements.
01:35:28 John: Therefore, you can't go on the App Store.
01:35:30 John: Yeah.
01:35:30 John: And Twitter itself, over the years, has apparently had lots of run-ins with Apple, where either Apple itself, big wigs writ large, or some random reviewer, just like the rest of us, and they get some random app reviewer that says, your app is rejected because I launched Twitter and I saw, you know, porn and...
01:35:48 John: porn but whatever whatever the complaint is i saw like hate speech or like uh you know something soliciting money for gambling whatever the policies of the day are on the app store and then twitter would have to work through that say okay we'll we'll work with you apple because we're another big company and we can actually get humans to communicate about app review it's even worse than i saw it it's i searched for this and therefore was able to find it like the app reviewers will search for things like you know porn or whatever and then they will ding the app to say i searched for this and was able to find it i shouldn't even be able to find it
01:36:18 John: I mean, and obviously porn is on Twitter, like for people don't know, it's not it.
01:36:22 John: Twitter allows it.
01:36:23 John: And so obviously they worked out something with Apple.
01:36:24 John: But that whole that whole relationship, it is a relationship between two big companies that has allowed Twitter to remain on the App Store and allowed Twitter to ship updates.
01:36:34 John: If there is another run in like that, I have a feeling that Elon Musk will not be as politically adept as the previous as the previous Twitter management when it comes to negotiating with Apple about what Apple wants to allow on the App Store.
01:36:48 John: So nothing has happened related to this.
01:36:49 John: As far as I know, it's just people leaving Twitter saying, hey, we did this over the years.
01:36:54 John: I'm kind of wondering how that's going to go down now that Elon is in charge, because one, he's pretty much gutted content moderation.
01:37:01 John: Two, even if he hadn't done that, he's got a different idea about the rules.
01:37:03 John: And three, his ability to negotiate with people is not proven to be particularly robust, let's say, you know, because Apple is Apple is big.
01:37:17 John: and they want to have their way and elon wants to have his way and they both have lots of money and they're both pretty stubborn and so if that if that happens it'll be interesting um and related to elon there was another story i don't know if we have the link for the show notes i think it was on the verge he had uh an all hands meeting reportedly uh and basically said hey the layoffs are done we're not firing any more people and in fact we're even hiring uh and i thought that was you know
01:37:40 John: A perfect capper for his fairly ridiculous personnel decisions over his first month or so running Twitter.
01:37:48 John: Now they want to hire people because they probably fired some people they shouldn't have.
01:37:52 John: So they need to get good people.
01:37:54 John: And he really wants people who are good at writing code.
01:37:56 John: Because as I think our discussion today has established, the biggest problem Twitter faces is the ability to write good code.
01:38:01 Marco: Oh, my God.
01:38:03 Casey: Did you see?
01:38:04 Casey: Apparently, he's also demanding that everyone send him status reports every Friday afternoon.
01:38:09 Marco: So he's asking every employee to email him every Friday afternoon with what they've done.
01:38:14 Marco: So he wants like 2,700 emails a week to arrive on Friday that he's going to somehow go through?
01:38:20 John: I mean, this is where like when I was talking about like the companies that he has, it must be filled with people who understood how to sort of navigate his management style, let's say.
01:38:30 John: And I feel like the move, if I was there, if I was there, the move would totally be just send them a funny meme.
01:38:38 John: That's all he wants to see.
01:38:39 John: He'd see it and he'd laugh and he'd be like, I like this guy.
01:38:42 Marco: Like, that's the move.
01:38:43 Marco: No, see, I'd be worried about like you don't want it.
01:38:45 Marco: You don't want to stand out to him, though, in any way.
01:38:48 Marco: Like, well, if you want it for some reason, if you're stuck working for this jerk, you want to probably be under the radar a bit.
01:38:54 Marco: Like you want to be able to show him if he ever asks, here's what I do.
01:38:58 Marco: But you never want to be noticeable to him.
01:39:01 John: But I feel like he wants to notice you.
01:39:02 John: I feel like he is going to go through all 2,700 on the first day and, like, complain if your status support isn't good.
01:39:07 John: Whereas if you send him a funny meme, he'll just chuckle and move to the next one and think, that's a cool dude.
01:39:11 John: Really?
01:39:11 John: I don't know.
01:39:12 John: I mean, it's a risk.
01:39:13 Marco: I think it's a risk, and it's a risk I wouldn't take if I wanted that job.
01:39:17 John: I mean, just look at how he interacts with, like, the worst of, like, the worst people on Twitter, many of whom he has reinstated after being kicked off for good reasons.
01:39:26 John: He loves talking to those guys.
01:39:28 John: He just eats it up.
01:39:32 Casey: It's unbelievable to me.
01:39:33 Casey: I shouldn't be encouraging us to talk about this anymore, but here we go.
01:39:37 Casey: It's unbelievable to me how quickly and how readily apparent it is that he is just...
01:39:44 Casey: Not a good dude.
01:39:46 Casey: I know we kind of knew this already, but I don't know.
01:39:49 Casey: Maybe it's because I should only speak for myself.
01:39:51 Casey: But I looked at Tesla and I looked at SpaceX and I looked at Starlink and all these different things with the exception of the boring company that he had done that looks like he's doing good work.
01:40:04 Casey: Tesla, as a company, certainly has pushed the world forward.
01:40:07 Casey: I think that's without question.
01:40:08 Casey: SpaceX, from what little I understand, has pushed the world forward.
01:40:12 Casey: And yet, the more time he spends at Twitter, the more I think that A, he's a garbage human, and B, all these companies succeeded in spite, not because of him.
01:40:23 Casey: And it's so hard to tell from the outside.
01:40:24 Casey: Like, who really knows?
01:40:25 Casey: Maybe I have this dead wrong.
01:40:27 Marco: No, but he's showing us.
01:40:28 Marco: Like, before we could say, like, you know, if we heard, like, before he was all over Twitter,
01:40:34 Marco: If we would have heard from someone, oh, this guy is really hard to work for.
01:40:39 Marco: Think about – and I know this is a entire comparison and not apt for so many reasons.
01:40:43 Marco: But think about what we think of Steve Jobs.
01:40:45 Marco: Steve Jobs is never on Twitter.
01:40:47 Marco: So what we think of Steve Jobs is informed solely by his public events and the stories we heard from people who worked with him.
01:40:55 Marco: And that's a much smaller like exposure surface.
01:40:59 Marco: Now we have all these idiot billionaires and celebrities and politicians making fools of themselves on Twitter all the time for us to see right right there in the open.
01:41:08 Marco: And it reveals them to be, you know, these jerks slash idiots in various ways that kind of ruins the mystique of who they were before Twitter.
01:41:16 Marco: We would never have known that like they weren't they weren't.
01:41:19 Marco: Before social networking was a major thing, they weren't exposing their personalities in all these ways.
01:41:25 Marco: So with him, had it not been for him being so hooked on Twitter and promoting himself there and being kind of a crap poster there, if not for that, we would never have known that this guy was this jerk.
01:41:42 Marco: We would just think like, oh yeah, we heard he's a little hard to work for.
01:41:45 Marco: Sometimes he does weird things in the press, but you know...
01:41:47 John: Well, there's also that we would have heard the stories there that, you know, stories that we tend to, you know, that are above and beyond anything we ever heard about Steve Jobs, I think.
01:41:54 John: Wasn't his story where he was trying to solicit sexual favors from someone on a private jet and promised to buy them a horse if they did it?
01:42:00 John: Like, I think that was Elon Musk.
01:42:02 John: Sorry if I'm getting it wrong, but like.
01:42:03 John: there there he's even just the stories that have leaked out of private things have put him in a category beyond even the worst of steve jobs which is you know denying his paternity of his daughter and being a terrible boss and being super terrible to some people who work for him right
01:42:20 Marco: Yeah, but still, I feel like in this era of all these celebrities and politicians and billionaires being on Twitter, they are just constantly making asses of themselves, and he is at the top of the list.
01:42:35 Marco: If he was never on Twitter, I think he would be so much better off.
01:42:39 Marco: He would have a much better reputation.
01:42:42 Marco: He would have far less drama to deal with.
01:42:46 Marco: He wouldn't constantly step in it the way he does.
01:42:49 Marco: I think Twitter has done a great disservice for him and vice versa because he's the kind of person who having less access between the public and him is good for him.
01:43:07 Marco: And instead, he just is ramping it up.
01:43:09 Casey: It's just unbelievable how quickly and how effectively and adeptly he has ruined his own reputation.
01:43:20 Casey: And here again, I just don't understand the people that are still clinging to him like some sort of messiah or something.
01:43:28 Casey: Like, oh, he's playing 7D chess.
01:43:31 Casey: You'll see.
01:43:33 Casey: Maybe, possibly, but golly, I would be flabbergasted if he really is playing 4D chess.
01:43:38 John: of a link from the verge i found this story it's from uh well it's from may of this year spacex reportedly paid 250 000 to cover up elon musk's sexual misconduct the flight attendant claimed he touched her inappropriately and asked for a more erotic massage um yeah those type of stories like good guy good guy yeah so and it's kind of like you know this is part of the entire problem of everything like
01:43:59 John: Oh, well, every powerful male sexually assaults people from time to time.
01:44:03 Casey: Oh, it's totally fine.
01:44:04 Casey: No big deal.
01:44:04 John: Right, exactly.
01:44:05 John: I mean, even if you 100% admit to it, we'll still elect you president.
01:44:08 John: It's fine.
01:44:09 John: No one cares about sexual assault.
01:44:10 John: And sadly, enough people have that attitude that it continues to be a thing that we don't even talk about and just goes beneath our notice and we spend our time talking about, yeah, but is he good for the company?
01:44:22 Marco: We are sponsored this week by Collide.
01:44:25 Marco: Collide is an endpoint security solution that uses the most powerful untapped resource in IT, end users.
01:44:31 Marco: When you're trying to achieve security goals, whether it's for a third-party audit or your own compliance standards, the conventional wisdom is treat every device like Fort Knox.
01:44:40 Marco: Old-school device management tools like MDMs force disruptive agents onto employee devices that slow down performance and treat privacy as an afterthought.
01:44:48 Marco: And that way of doing things turns IT admins and end users into enemies.
01:44:53 Marco: And it creates its own security problems because users end up turning to shadow IT just to do their jobs.
01:44:57 Marco: So Collide does things differently.
01:45:00 Marco: Instead of forcing changes on users, Collide sends them security recommendations via Slack.
01:45:05 Marco: It will automatically notify your team if their devices are insecure and give them step-by-step instructions on how to solve the problem.
01:45:12 Marco: By reaching out to employees with a friendly Slack DM and educating them about company policies, Collide can help you build a culture in which everyone contributes to security because everyone understands how and why you do it.
01:45:24 Marco: For IT admins, Collide provides a single dashboard, lets you monitor the security of your entire fleet, whether they're running on Mac, Windows, or Linux.
01:45:32 Marco: You can see at a glance which employees have their disks encrypted, their OS up to date, their password manager installed, anything else you might need.
01:45:39 Marco: So this makes it easy to prove compliance to your auditors, customers, and leadership.
01:45:44 Marco: So that's Collide, user-centered, cross-platform endpoint security for teams that slack.
01:45:50 Marco: you can meet your compliance goals by putting users first.
01:45:54 Marco: Visit collide.com slash ATP to find out how.
01:45:58 Marco: If you follow that link, they'll hook you up with a goodie bag, including a t-shirt, just for activating a free trial.
01:46:02 Marco: That's collide, K-O-L-I-D-E dot com slash ATP.
01:46:08 Marco: Collide.com slash ATP.
01:46:10 Marco: Thank you so much to Collide for sponsoring our show.
01:46:16 Casey: All right, let's move along.
01:46:17 Casey: And let's just go straight to some Ask ATP.
01:46:20 Casey: Starting with Dominic Lemire.
01:46:22 Casey: Dominic writes, I've been using the built-in Apple apps, especially AirPlay, on my TV for the last few years.
01:46:27 Casey: And I'm wondering why this is not something most people want or demand from their TV manufacturers.
01:46:32 Casey: Working in the set-top box industry, I know firsthand how HDMI CEC is an interoperability nightmare.
01:46:37 Casey: I prefer having everything built into the TV for simplicity and tighter integration.
01:46:40 Casey: For example, I don't have to mess around with matching frame rates.
01:46:43 Casey: Last year, I decided to try the Apple TV 4K to see what I'm missing.
01:46:45 Casey: It is snappier, but other than that, I didn't feel like it was worth the extra clutter and complexity.
01:46:50 Casey: I'd be curious to hear what you two have to say about this, but to start...
01:46:53 Casey: i do have a semi-modern lgtv we bought at the end of 2019 and for a little while when i was when i still had the 1080 apple tv connected to it i was often using uh the the tv apps because especially for like disney plus i had no no 4k input into my tv but eventually i got the 4k apple tv you know the prior generation the one that brought the new remote
01:47:20 Casey: and it was like a breath of fresh air it was like you know oh this is so much better because it's it's exactly that everything is snappier it's consistent way more consistent it just works better my tv i don't have connected to ethernet although i could have in the apple tv is connected to ethernet so it's more responsive in that regard just everything is better and and i also really really like that the
01:47:44 Casey: that the Apple TV has become basically the entire television to me.
01:47:48 Casey: I don't have a TiVo.
01:47:50 Casey: I no longer have any sort of DVR that's not run through the Apple TV because I use former sponsor channels.
01:47:56 Casey: The Apple TV is the TV unless we're playing the Switch or the Wii.
01:47:59 Casey: And HDMI CEC, I have been and continue to be a HDMI CEC unicorn, probably because I only really have the Apple TV connected to my TV.
01:48:09 Casey: And so I think for my money, especially now that it's gotten cheaper,
01:48:14 Casey: It's so much better than the TV apps and so much peppier and snappier and just so much better in every measurable way that I would much prefer that over using the TV.
01:48:26 Casey: I could live with just the TV apps, but I would very much prefer not to.
01:48:31 Casey: Let's start with Marco, who I think will probably have a similar answer to me, and then, John, you can correct the two of us.
01:48:35 Marco: Yeah, I mean, my stupid Samsung Frame TV has fairly modern apps in it.
01:48:44 Marco: My old LG OLED does not really.
01:48:46 Marco: It's modern-ish, but not enough.
01:48:49 Marco: But the Samsung Frame TV is fine with all of its apps, but I just don't want to use them.
01:48:55 Marco: I could if I had to.
01:48:57 Marco: If there was no Apple product in this category...
01:49:00 Marco: I would use the apps on my TV the same way I used to use cable boxes.
01:49:03 Marco: Like, yeah, I can use these things, but I just prefer the way the Apple product works.
01:49:09 Marco: I think it is nicer.
01:49:11 Marco: It fits my preferences and expectations better.
01:49:16 Marco: I even...
01:49:17 Marco: I hate to say this, I even like the remote better because the Samsung remote is just that bad.
01:49:24 Marco: But I just like it better.
01:49:26 Marco: And if these products didn't exist, I'd be fine.
01:49:29 Marco: I would live with the TV the same way I did before the Apple TV existed.
01:49:34 Marco: But fortunately, I don't have to make that choice.
01:49:36 John: john what's the right answer yeah so there's a couple things here one uh obviously is modularity uh you you know you're probably going to keep a tv for a while but technology marches on and you can if you're a sucker like us keep replacing the apple tv puck uh to get better and better performance so just having it as a separate concern and not welded together maybe in the beginning when you first get your tv you don't care that much about it uh but over time it pays dividends
01:49:59 John: two uh tv manufacturers most of them are heavily incentivized to spy on you like crazy uh if you don't like having your television report back to somebody exactly what you're watching for how long constantly as part of the way they make money off of the television that they sold you for just barely over how much it cost them to make it you might want to use a box attached to your tv and not let your tv onto the network so if you're concerned at all about privacy apple in particular but in general anything that is outside your tv that has a
01:50:25 John: understandable profit, understandable way to make money besides spying on you is probably a better move.
01:50:31 John: And finally, especially with the Apple TV, the most recent one, the grunt, the CPU and GPU power inside an Apple TV is head and shoulders above what it is inside any television.
01:50:44 John: Televisions have dedicated chips to deal with the video signal processing, but the thing they have left over to run your apps is so much wimpier than the hardware that's in an Apple TV.
01:50:55 John: and you know probably has less ram available to it and slower storage and it shows in the apps right from the day you get them if you no matter how how much money you pay for a tv and i just paid a lot of money for a tv uh there is no built-in television that has an interface as snappy as the apple tv because the hardware is just not as powerful right and that's and and that's on day one of me buying like an extremely expensive television it's just going to get worse over time right uh not that i think apple tv is slow by any means but uh you know it's
01:51:24 John: The Apple TVs will keep getting faster.
01:51:26 John: My TV is going to stay exactly the same.
01:51:28 John: Right.
01:51:29 John: And as for HDMI CC, it continues to be my enemy.
01:51:33 John: My most recent thing is I had to watch a movie for a podcast I was doing.
01:51:37 John: We did an episode of the uncomfortable.
01:51:38 John: I'm watching the movie.
01:51:38 John: I have it on Blu-ray.
01:51:40 John: I finally get to use my, you know, my fancy Blu-ray player.
01:51:43 John: and something about the apple tv like if you have an apple tv and you have a position where you can see its little white light on the front of it uh you'll see that the white light goes off like it goes to sleep when you're not using it right but sometimes it the white light comes on and it wakes up to do something is it doing app updates why is it waking up i don't know but through the magic of hd my cc when it wakes up my tv slash receiver slash who knows what in my giant setup says oh
01:52:10 John: It looks like you just powered on your Apple TV.
01:52:12 John: You probably want me to change inputs to Apple TV because you want to watch that now.
01:52:16 John: It did that while I was watching my Blu-ray.
01:52:19 John: I'm watching my Blu-ray, and then the Apple TV wakes up, and my TV goes, oh, I'm going to change input back to the Apple TV.
01:52:24 John: But then, as it's changing input, the Blu-ray player says, no, I'm playing a movie, and then it switches back, and then they fight each other, and then I have to... I was so close to just unplugging the Apple TV.
01:52:33 John: In the end, I just had to manually put the Apple TV to sleep so it would stop leaving me alone.
01:52:37 John: I think, unlike...
01:52:39 John: What this was called back in the day on my Panasonic Plasma was like Smart Vieira or whatever, something or other.
01:52:44 John: I don't even think I can turn HDMI CEC off now.
01:52:47 John: I think it's just on everywhere and I just have to deal with it.
01:52:50 John: Not a good standard.
01:52:51 John: Don't like it.
01:52:53 John: Works for me.
01:52:54 Casey: Yeah, it works here.
01:52:55 John: Yeah, never connect more than one thing to your television.
01:52:57 Casey: Yeah, it works great.
01:52:59 Casey: That's exactly, that's the secret.
01:53:00 John: And even then, I think it doesn't work reliable all the time because you have some people who literally only have one thing connected to their TV and it's still sometimes that's wonky stuff.
01:53:07 Casey: Well, buy better TVs, John.
01:53:09 Casey: Nougat Machine writes, what are the ethics of using an Xfinity Wi-Fi hotspot out in public, given the very high chance it's being served up to you by another customer leasing an Xfinity-powered cable modem and using up their precious resources without their knowledge?
01:53:21 Casey: If you're a customer with your own modem or you lease theirs but have done the magic incantation to opt out of this quote-unquote feature,
01:53:29 Casey: Does that affect the moral calculus?
01:53:31 Casey: I don't know.
01:53:32 Casey: I mean, if this is a perk of being an Xfinity customer, it might be the only perk of being an Xfinity customer.
01:53:40 Casey: So I guess run with it, man.
01:53:42 Casey: I don't know.
01:53:42 Casey: What do you think, John?
01:53:43 John: Yeah, I'm saying this is the way the Xfinity thing works.
01:53:46 John: Everyone who's paying for it understands that.
01:53:51 John: You're not doing anything for anybody by not using this feature.
01:53:54 John: If you need to use it, use it.
01:53:57 John: And other people are certainly going to use yours because that's part of what they're paying for.
01:54:01 John: You are a collective of Xfinity people who are all providing free Wi-Fi hotspots to all the other Xfinity customers.
01:54:07 John: That's what you're paying for.
01:54:09 John: use what you paid for i mean i i think it's a crappy experience all around it's a crappy experience letting other people use your wi-fi and it's crappy experience using other people's because it tends to be slow but that's the system you're in uh and and if you're stuck with it because you can't get any better cable provider that's another problem with the competitive landscape of telecom in america or lack thereof
01:54:29 Casey: Chris Wright asks, as we're generating increasingly more digital media every single day, do you think that data storage could become a scarce resource?
01:54:37 Casey: How could this problem be avoided?
01:54:38 Casey: And what is the end game for digital hoarding?
01:54:40 Casey: For me, the end game is I run out of space on my Synology.
01:54:43 Casey: And my Synology, I don't know if I mentioned this on the show, but my Synology is no longer going to be, or our Synologies will no longer be getting...
01:54:50 Casey: um software updates starting very soon i forget exactly when so i think i am staring down the barrel of finally after nine years and having this thing running pretty much 24 7 for nine years i think i'm finally staring down the barrel of having to replace it so uh that's going to probably happen at some point next year or maybe santa will bring me something great who knows does santa bring synologies
01:55:15 Casey: Hey, it depends on if you ask very nicely and whether you've been a good boy or not this year.
01:55:21 Casey: Anyway, Marco, maybe Santa isn't bringing you Synology, but do you think data storage problems will, or data storage will ever become scarce?
01:55:28 Marco: I don't think so.
01:55:30 Marco: I mean, I haven't been following the developments enough recently in like hard drive density and flash density and everything, like how fast we're progressing there.
01:55:37 Marco: But it seems like hard drives are pretty giant.
01:55:42 Marco: And it seems like as long as you don't care about speed, then you can get effectively infinite storage for not that much money.
01:55:50 Marco: Now, you know, there are certain things like, you know, as Chris asked, like, you know, we are generating more stuff over time.
01:55:59 Marco: Like per person, the digital footprint is getting larger and that's largely due to mobile phone cameras.
01:56:05 Marco: And that's going to continue to get better over time.
01:56:08 Marco: You know, it's a...
01:56:09 Marco: highly competitive, you know, highly, you know, fast moving industry, where like phone cameras are going to keep shooting bigger, higher resolution pictures, we're going to keep shooting more and more video clips and things like that.
01:56:21 Marco: So we are going to keep generating more data.
01:56:24 Marco: But I think storage is so vast.
01:56:28 Marco: I don't think we're gonna run out of it anytime soon.
01:56:30 Casey: John, on an infinite timescale, will we ever run out of storage?
01:56:34 John: Yeah, so storage, like, so Moore's Law will eventually run out.
01:56:38 John: Moore's Law is the, you know, the doubling of transistor density every 18 months, whatever, yada, yada.
01:56:43 John: But it's talking about transistors.
01:56:44 John: But lots of people look at Moore's Law and say, well, you know, transistor or not, we can't keep making things smaller forever.
01:56:53 John: Like, there is a limit to the smallest size of a thing that we are aware of that we can, that can be manipulated, right?
01:56:59 John: And there's
01:57:00 John: right so that's that's the limit lurking out somewhere in the distance right storage mostly follows that same path uh the difference is that i feel like storage is it's easier to move down that path slightly easier to move down that path in storage right because for for transistors in like cpus and stuff um
01:57:18 John: And you may be thinking, oh, transistors are using memory too, but just hear me out.
01:57:22 John: Transistors for CPUs and stuff, those are delicate little things that have to be arranged just so, so they can switch correctly and avoiding leakage current and all sorts of other things.
01:57:32 John: So it's not so easy to keep making those smaller.
01:57:34 John: It's very difficult to keep making those things smaller and smaller.
01:57:37 John: We've had to come up with new arrangements of the little parts in them, so they're not even shaped like they were back when they were a little bit bigger.
01:57:42 John: And that's a really hard problem for storage.
01:57:46 John: You do have the problem of like how small of a particle we can get, but we're not even close to that.
01:57:50 John: Right.
01:57:51 John: But instead, it's the easier problem of I just need something to store something.
01:57:54 John: And so far, we're using similar technology to CPU stuff as transistors and various things like that.
01:58:00 John: But there are lots of, you know, there's lots of research.
01:58:05 John: and studies of how to store things essentially without using transistors.
01:58:09 John: I think you've probably seen the stories in science journals or news articles over the past couple of decades of using DNA to store data, using bacteria, using all sorts of organic things.
01:58:20 John: It's always a big headline story.
01:58:22 John: It's like, look how much data we stored in this tiny little bit of organic matter.
01:58:27 John: It's incredibly efficient.
01:58:28 John: It's way more efficient than transistors.
01:58:30 John: And the molecules that make up DNA are not...
01:58:33 John: the size of subatomic particles they're they're you know you can see them in a microscope right but they're pretty darn small and they're actually very densely packed right so i feel like we're it's going to be harder to travel down the the moore's law path of cpu than it will be to travel down that path in storage just because i think when storage hits the wall of the transistors it has another route it can say well i don't really need transistors to store stuff and
01:58:59 John: If we could figure out how to store things in DNA or whatever bacteria or whatever other thing like that, maybe that is a viable route where it can where logic will get hung up on figuring out how to make the next shrink and storage will continue to progress.
01:59:13 John: So I'm I'm pretty optimistic that.
01:59:16 John: storage will continue to progress and progress.
01:59:18 John: And as I've said in many shows in the past, if most of the things we put in storage are things that are absorbed by our senses, eventually we will reach the point of diminishing returns with at least two-dimensional video, just like we already have with audio.
01:59:33 John: And so our storage needs actually will, not that they'll cap out, because we'll always need more and more storage, but I think the curve will bend a little bit as we start saturating human sensory resolution, so to speak.
01:59:45 Marco: Thanks to our sponsors this week, Memberful, Collide, and Backblaze.
01:59:50 Marco: And thanks to our members who support us directly.
01:59:51 Marco: You can join at atv.fm slash join.
01:59:54 Marco: We will talk to you next week.
01:59:59 John: Now the show is over.
02:00:01 John: They didn't even mean to begin.
02:00:03 John: Because it was accidental.
02:00:06 John: Accidental.
02:00:06 John: Oh, it was accidental.
02:00:08 John: Accidental.
02:00:08 Marco: John didn't do any research.
02:00:11 Marco: Marco and Casey wouldn't let him because it was accidental.
02:00:17 John: It was accidental.
02:00:19 John: And you can find the show notes at ATP.FM.
02:00:25 John: And if you're into Twitter, you can follow them at C-A-S-E-Y-L-I-S-S.
02:00:34 Marco: So that's Casey Liss, M-A-R-C-O-A-R-M-N-T-M-A-R-C-O-R-M-N-S-I-R-A-C-U-S-A-C-R-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C-U-S-A-C
02:00:50 Casey: So it is, as previously mentioned, Thanksgiving week here in America.
02:01:03 Casey: And, you know, we should probably share some things that we're thankful for.
02:01:07 Casey: And if one of you would like to start, you certainly can.
02:01:10 Casey: But I figured I would start to give you two some time to think about it since I'm springing this on you.
02:01:14 John: You totally are.
02:01:15 John: Your spring is on there like someone's mom at a Thanksgiving dinner, wants everyone who's at the dinner.
02:01:19 John: It's not even your house.
02:01:20 John: You're over at your friend's house, and the mom says, we're all going to go around the table and say what we're thankful for.
02:01:24 John: That's you.
02:01:25 Casey: Yep, that's me right now.
02:01:26 Casey: So what am I thankful for?
02:01:27 Casey: Obviously, I need to pander, but I also mean it.
02:01:31 Casey: I am very incredibly thankful for our listeners, and doubly so for our members.
02:01:38 Casey: But even if you can't be a member, I still love you, and I am extremely thankful for all of you.
02:01:43 Casey: As I get ever older, it's more and more clear to me or it's I always knew it, but it becomes more and more obvious and apparent that time is everyone's most precious resource.
02:01:57 Casey: And especially as we've all kind of reset our priorities over the last couple of years.
02:02:02 Casey: It is a big ask for us to ask of all of you to spend two to three hours of your time with us each week.
02:02:12 Casey: Or if you're using a great podcast like Overcast, maybe an hour and a half to two hours.
02:02:17 Casey: I don't know.
02:02:18 Casey: It depends on how fast you listen and how great the smart speed is.
02:02:23 Casey: But nevertheless...
02:02:23 Casey: It is a lot to ask of you to spend two to three hours with us every week.
02:02:29 Casey: And it really means a lot to all three of us that you do that.
02:02:33 Casey: And this is whether or not you're a member or anything else.
02:02:36 Casey: And for anyone who has pitched the show to a friend of theirs...
02:02:39 Casey: Well, it's about nerdy stuff, but they're fun nerds.
02:02:43 Casey: I don't know how you would pitch our show, but nevertheless, all of us deeply appreciate that.
02:02:48 Casey: And if you are a member, we deeply appreciate that as well.
02:02:50 Casey: If you've ever bought merch, even if you bought merch almost 10 years ago now and never again,
02:02:55 Casey: I still appreciate you, so thank you for that.
02:02:57 Casey: And selfishly, I'm extremely thankful for myself and my family's health.
02:03:03 Casey: Somehow we still have not yet had COVID enter the house.
02:03:05 Casey: I'm sure it is imminent.
02:03:07 Casey: It could be any day now.
02:03:09 Casey: Declan actually had a little bit of a fever today, and so far he has tested negative.
02:03:12 Casey: But for all I know, he might be afflicted with it as we speak, but so far so good.
02:03:17 Casey: But on the grand scheme of things, we are healthy.
02:03:20 Casey: We are all as vaccinated and as maxinated as we can possibly be at this time.
02:03:25 Casey: So I'm super thankful for that.
02:03:26 Casey: But since this is a nerdy show, let's talk about some nerdy stuff that I'm thankful for, and then I'll shut up and move on to one of you two.
02:03:32 Casey: I'm really thankful for when stuff actually does just work.
02:03:36 Casey: And I'm in a thankful mood, so I'm not going to talk about things that used to just work and don't anymore, but the things that really do just work.
02:03:45 Casey: And just a random smattering of things.
02:03:48 Casey: WireGuard, the VPN that I use, really does just work.
02:03:53 Casey: TailScale is also a very, very good former sponsor of us.
02:03:56 Casey: It's the less fiddly version of WireGuard and is also excellent.
02:04:00 Casey: I use Docker for a bunch of stuff I've spoken about on the show and for some things that I haven't spoken about on the show.
02:04:06 Casey: If you know, you know.
02:04:08 Casey: Docker is extremely good and very useful.
02:04:12 Casey: Obviously, my Sonos system I'm still utterly in love with.
02:04:15 Casey: I brought up the Synology earlier.
02:04:16 Casey: I couldn't go through this segment without mentioning Plex, so here it is.
02:04:21 Casey: And of course, I'm super thankful for that.
02:04:24 Casey: And as I mentioned earlier, channels, especially once I went to the cable card version, which I know did not win John over, but losing the physical DVR and going to a cable card-based channel setup has really made watching TV a lot better in my house, in my world.
02:04:40 Casey: So I know those are mostly, with the exception of the listeners, and I guess health, mostly inconsequential, but I'm still thankful for them, and they're fun, nerdy things.
02:04:49 Casey: So
02:04:50 Casey: I don't know which one.
02:04:51 Casey: If one of you wants to volunteer, feel free.
02:04:53 Casey: Otherwise, I will put someone on the hot seat.
02:04:55 Marco: I can go first.
02:04:56 Marco: Second.
02:04:58 Marco: Sorry.
02:04:58 Marco: John, do you want to?
02:04:59 John: Go ahead.
02:04:59 John: You beat me to it.
02:05:00 John: You're up.
02:05:01 Marco: All right.
02:05:03 Marco: So setting aside everything that Casey said about how awesome all of our members and listeners are, because that is true, and we've covered that recently, too.
02:05:10 Marco: So I appreciate all of you, and you're awesome, and thank you for letting us do this ridiculous thing that people pay us money for.
02:05:16 Marco: Yeah.
02:05:17 Marco: That's amazing.
02:05:18 Marco: In the tech world, I'll keep it fairly short.
02:05:22 Marco: I am really thankful for the freaking Mac.
02:05:26 Marco: The Mac is back.
02:05:27 Marco: The Mac had some really bad years, and they appear to be over.
02:05:32 Marco: And right now, the Mac is in a really good place where there's tons of different options available on the Mac.
02:05:40 Marco: Different sizes, different physical characteristics, different performance characteristics.
02:05:46 Marco: And they're all really good.
02:05:48 Marco: There are great options for pretty much any needs that you could have.
02:05:54 Marco: And the number of trade-offs to get them is lower than ever.
02:05:59 Marco: Again, that's why I'm still using a laptop as my desktop.
02:06:03 Marco: Even though a technically better desktop exists that I could buy, I don't even want it.
02:06:09 Marco: My laptop is great.
02:06:10 Marco: And it's just like, there's so many... Every Mac they sell right now is great.
02:06:14 Marco: And macOS is... I have my design...
02:06:19 Marco: qualms with mac os here and there but for the most part most of the most egregious bugs and bad behaviors have been fixed uh so i'm just very happy with the mac and i'm i'm so happy that it's been getting a lot of investment on apple side recently um and and again even you know design quibbles aside
02:06:38 Marco: it's really in a much better place than it was.
02:06:40 Marco: And that matters a lot to me because this is where I do the vast majority of my computing, both for work and pleasure.
02:06:47 Marco: And I just, I love the Mac and I'm really happy it's in a good, it's in a good place.
02:06:52 John: Now that you've stolen all the answers, I'll give the, I'll give the short version.
02:06:56 John: I have one, you know, I'll,
02:06:58 John: like what you both said uh one heartfelt thing and one silly thing so the heartfelt thing is obviously you know i left my job this year i left my jobby job to do this full time uh it's been about seven and a half months i'll probably mention this again when i come to a full year but seven and a half months so far so good and why it's because of all you people who are listening again listening members are not buying my stupid chicken hat whatever it is that you're doing to make this life possible for me
02:07:23 John: So far, so good.
02:07:24 John: Seven and a half months in, you know, I will see how everything goes at tax time because there's still the end of the year accounting to see how everything's going.
02:07:32 John: But fingers crossed.
02:07:34 John: Thank you very much for making this possible for me to do because it's been, you know.
02:07:39 John: it's it's it's been a big change in my life and it's been very scary and so far it's going okay and the second much more frivolous thing is i'm thankful for my fancy tv even though the price has been reduced a thousand dollars since i bought it oh that's so brutal a thousand dollars i don't care i was happy to spend that money to get the tv when i did because i'm very happy with it you know fighting with hdmicc aside everything i watch in it i love my family doesn't care but i think my tv is great
02:08:08 John: And I think I made the right choice.
02:08:10 John: And I think all that waiting was right.
02:08:11 John: Kind of like my Mac Pro here.
02:08:13 John: Even though other people look at this purchase and it doesn't make any sense to them, it makes sense to me.
02:08:18 John: And so I feel like I have, you know, things continue to go well with this TV.
02:08:23 John: It will be like this.
02:08:24 John: Well, maybe not like this Mac Pro, like my 2008 Mac Pro, my Plasma before it.
02:08:28 John: I bought the right TV at the right time for me.
02:08:31 John: I almost thought about putting it on my good products page because I have a page on my website where I think there's a product that really people deserve to know about.
02:08:39 John: But honestly, it's more like my Mac Pro.
02:08:41 John: I shouldn't really put it on that page because most people probably shouldn't buy it.
02:08:44 John: But boy, if you want a really nice TV, the Sony A95K is a really nice TV.
02:08:49 John: It does all the things I thought it would do, and it looks amazing.
02:08:52 John: I love it.
02:08:53 Casey: Despite the fact that it doesn't work for beans with HDMI CEC.
02:08:56 John: Well, that's just HDMI CEC.
02:08:59 Casey: It's not the television's fault.
02:09:00 John: It's not the television's fault that my freaking Apple TV keeps waking up and saying, hey, everybody, I'm here.
02:09:04 John: I don't know why I'm waking up, but I'm up again.
02:09:06 Casey: Happy Thanksgiving, everybody.

It’s Occupied by Bears

00:00:00 / --:--:--