380: Wires Are Great


00:00:00   I think I have fixed the livestream issue from last week, or at least I have changed a livestream issue from last week.

00:00:09   So last week, in the middle of the show, the livestream cut out, and the reason why it had consumed something like seven or eight gigs of RAM, and the server has eight, and so it got killed for the out-of-memory killer.

00:00:19   And I restarted it, and almost everyone was able to rejoin, and it didn't use nearly as much RAM as it did before.

00:00:24   So it sounds kind of like a memory leak, and it didn't seem related to the number of listeners directly, necessarily.

00:00:31   Now, when I built the new website, I added this listener count thing.

00:00:35   That was, like, the page periodically just does an Ajax request back to the server.

00:00:40   The server checks with the IceCast server, which runs this, like, private admin interface, and gives this XML file back, and the server, my server parses it, and feeds it back through the user, and updates the page.

00:00:51   Anyway, my theory is that that checked the status request, because it was being checked every, like, 15 seconds by every listener on the stream, if there's any leak in that, that was a pretty aggressive amount of checking, and so that might have resulted in it.

00:01:09   Now, over the course of that, like, the second part of the show, after it was killed and restarted, it still got all the way up to about 1.7 gigs of RAM, where it stayed until a half hour ago, so it stayed there all week with no listeners, until a half hour ago when I restarted it.

00:01:24   So, we'll see how it goes so far. Right now, we are at a little under, let's see, we're at a little under 800 megs.

00:01:32   That sounds high to me, so maybe this isn't solved, but we'll see if it continues to grow. Anyway, the fix that I did was I implemented caching on that status value, so that now my server is caching the results it gets from the IceCast server for about 30 seconds.

00:01:47   So, instead of every listener hitting it every 15 seconds, it'll get one or two requests every 30 seconds.

00:01:53   So, we will see if that actually fixes it. It looks so far like maybe it isn't, but we'll find out.

00:01:59   I thought you were just going to have your server return, like, some number in the ballpark with a random offset that would have saved a lot of, you know, would have solved the memory leak.

00:02:08   Did you test the memory leak by, like, just slamming the IceCast server request endpoint, you know, a million times to see if you can make it grow?

00:02:14   I was going to do that, and then I got busy and forgot. But that was the plan. The plan was to actually simulate that.

00:02:20   We'll test it live.

00:02:22   Yeah.

00:02:23   That's true. We're going to find out tonight.

00:02:25   The other thing is the IceCast server returns XML. You had an opportunity to actually use XML HTTP requests to return HTML, and you didn't take it.

00:02:33   You're having your server parse it, and I'm assuming return, like, a number.

00:02:37   Yeah, it returns a very, very tiny JSON dictionary.

00:02:39   Oh, you put the number in JSON. You're such a modern web dev.

00:02:42   Of course.

00:02:43   In my day, we'd just return a number as text plane, and we liked it.

00:02:48   My favorite thing, I don't know if we have this on the schedule for this week. I looked earlier, and we didn't have it on the question list. But a listener wrote in basically asking, like, how do I learn to build websites like this?

00:03:00   Get a time machine and go back to 1992.

00:03:03   Yeah, like, it was simultaneously both incredibly encouraging and incredibly sad.

00:03:08   The way you build websites like this is you don't use most of the modern crap that people think you need to use.

00:03:14   That's it. This is a very small, simple site.

00:03:18   Well, you're using some modern stuff, and the modern stuff you're using is called a modern web browser.

00:03:22   Because if you threw this website at Netscape Navigator 3.1, it would die horribly, and it would look like nothing.

00:03:28   So you are actually taking advantage of the modern web. You're just taking advantage of it on the client side, not so much on the thing you write on the server or the source code that returns.

00:03:38   Although inline SVG is pretty fancy. If you were trying to tell somebody back in the '90s that you're going to be doing inline SVGs, they'd be like, "Whoa, is that XML?"

00:03:48   Yeah, I do benefit a lot by the incredible capabilities of modern browsers, modern CSS, modern JavaScript.

00:03:56   There's so much stuff that you used to, years ago, need jQuery and large frameworks for, or these tremendous piles of horrible CSS hacks to achieve certain effects.

00:04:08   Web-safe callers, don't forget about web-safe callers.

00:04:10   Oh yeah, right, back when it was 256. And these days you just don't have so many of those limitations.

00:04:16   A lot of us still act like we do and still blow it up everything like crazy, but it has all become optional now.

00:04:23   And even though most people choose to still blow everything up, you do have the option not to.

00:04:29   And it turns out you could make a site that looks presentable and that looks fairly modern-ish without using a whole bunch of garbage in it.

00:04:38   Like all those stupid effects people do, everything fading in and animating in and scrolljacking and having this big rich effect, you don't need that.

00:04:47   Nobody really wants that. All that is doing is wasting everyone's time and bandwidth and processor power.

00:04:54   And if you just don't do that, everything is better for everyone.

00:04:58   As some people pointed out, because the site is so simple, both organizationally but also in the markup, you can view source on it.

00:05:06   It's the old days and you can learn by looking at the source. If you view source and you say, "Imagine that," then you would see the inline SVG's, then maybe you'd learn what SVG's are.

00:05:14   Maybe you see, if you learned HTML way back in the day, and you view source and you see elements like header and article, you're like, "Wait a second. What the hell is the article element that you learned about HTML5?"

00:05:25   And you will actually learn some modern web stuff by looking at it, but you'll also learn that it's not rocket science to make it a reasonable site.

00:05:33   I think the site also avoids a lot of complexity by, do you have any media queries in the CSS at all? I forget.

00:05:40   It's generally not responsive in the sense of sensing the size of the device that it's on and rearranging itself.

00:05:49   It uses a simple enough layout that it more or less works in every context.

00:05:54   And like I said on the store page, which probably won't be up by the time you listen to this in the far future, I use Flexbox there as a sort of half-assed way to get responsiveness out of it where things will rearrange on a smaller screen.

00:06:09   Beyond that, it's about as simple as a website can be, and I think that's instructive because in the old days you could go to any website and view source and learn a lot about it.

00:06:16   And these days, if you go to a website and view source, you'll run away screaming and you won't learn anything.

00:06:20   Speaking of that, I wanted to help out with something. I think it was Twitter. Someone was looking into eBay port scanning people's computer when they go to the web browser. Did you see that story?

00:06:31   Wait, what?

00:06:32   So, I didn't dig too far into it to figure out what the deal is entirely, but when you pull up a web page, it can make requests to other URLs through the magic of Ajax we were just talking about.

00:06:47   You can also make a request to the loopback address, which is your computer.

00:06:52   You think, "Why would a web page try to make a request to my computer? What is it trying to do?" Well, that's essentially what a port scan is because you can put port numbers in the URL and you can, if you want, make requests to localhost at various port numbers to look to see if there's anything listening on them.

00:07:08   And that's what eBay does, and it reports the results back to some other random server. There was a big investigation into this thing, yada yada.

00:07:16   But that's not... I'm setting that aside. I think they're doing it for browser fingerprinting or to check for malware. There's some third-party thing that this is part of.

00:07:24   The thing that blew my mind was that not only is their JavaScript obfuscated, but the same JavaScript is reobfuscated on every page request.

00:07:34   What?

00:07:35   They don't just have a minimized version of it. It's reobfuscated to make debugging across multiple requests more difficult, and it's got this very janky encryption but not really encryption, obfuscation of the data into these strings that are hashed and XORed.

00:07:51   It's like we used to hear Skype used to be, like the Skype application, like the executable itself was "encrypted" or "scrambled," and all sorts of things you can imagine someone doing in the '80s to try to hide weird stuff from somebody, most of which is not particularly cryptographically secure, but all of which is just that makes it extremely annoying, getting back to the point I was trying to make, to learn anything from it.

00:08:14   Because the source is indecipherable, and it changes on every page request, and there are reasons to minify code and stuff like that, but this is just like, it's not actually secure.

00:08:25   You can decompile it, step through a debugger, do all that stuff. It mostly just makes it impossible to learn from, and I think that's kind of a shame. That's become the norm.

00:08:33   Good source code that happens to be minified will have a source map in it, and you can unminify it, and people can actually learn from it and stuff like that or use a debugger on it, but doing what eBay is doing really has no excuse.

00:08:45   So you want to start with some follow-up?

00:08:47   No, everything you guys are saying is completely true, and the more I think about, particularly with web development, the more I wonder, like, how does somebody get started?

00:08:59   And, you know, when I wrote my blog engine in 2014, like, that was when Node was, at least to me, it was relatively new. It probably wasn't actually that new.

00:09:08   And it was still relatively easy to figure out, okay, how does one write a server in Node, and, you know, what package or packages do you need to do that?

00:09:18   And I feel like since my version of Node is so old and ancient, if I were to even just update my existing blog engine to the most modern version of Node, I bet you I would have to rewrite it entirely from scratch because so much has changed.

00:09:34   And I think at some point I will probably rewrite it, and I might even use John Sundell's, what is it, splash or something? I forget the name of his engine. We'll put it in the show notes.

00:09:49   But he has a Swift-based engine that's a static site generator, or I believe it's a static site generator, and it looks really neat.

00:09:53   And I haven't tried it, but it looks really super cool.

00:09:56   But anyways, just imagining what it would be like for someone who has never really done this sort of thing to come up to speed when I was a web dev for a large portion of my career.

00:10:11   And even for me, thinking about coming up to speed on all this seems, like, terrifying.

00:10:16   And I ostensibly mostly know the broader pieces as to how the web is held together. I cannot fathom for a high schooler who is just really trying to figure out how to make heads or tails of all this stuff, how does a high schooler do it?

00:10:30   Not because high schoolers are dumb, far from it. It's just that they don't have the 20 years experience that the three or sometimes more that the three of us have in doing this sort of thing.

00:10:39   It seems insurmountable to me.

00:10:41   Well, I think I mentioned this on a past show, maybe it was, I don't remember, it was some AskATP question, but we are, to varying degrees, blessed to have gotten in on the ground floor of an emerging technology.

00:10:56   But that's not always the case. Most people, no matter what their career is, enter into a field where the technology is mature and is complicated, right?

00:11:05   So like I said, when I first started learning the web, I knew everything about the web because there was so little to know. There was nothing. There was no CSS. There was just HTML.

00:11:15   And you could literally learn it all, and you felt like you had seen every website even if you hadn't.

00:11:20   But that's because it was super young, and it matures. People going into civil engineering, they must feel overwhelmed because they're centuries of knowledge in civil engineering.

00:11:30   They're not getting in on the ground floor. Just to do anything, to literally build a single road going from point A to point B, there's so much you need to know.

00:11:38   And that's even before you get into all the tools and everything like that. And computers and the web are like that now.

00:11:43   You're not coming into a brand new field where a single person can fit the entire thing into the head.

00:11:49   You're coming into a field that's well established, that's got a lot of history and a lot of technology involved, and you can eventually get up to speed.

00:11:57   Viewing the source of a website to learn from it, it's one of the beauties of the web that the web pages are sent to us and are interpreted by our browsers.

00:12:06   And that, for most of the history of the web, has been comprehensible, and you can learn from it.

00:12:12   And the degree to which that becomes less comprehensible makes it harder to learn, unnecessarily harder to learn, because it's in the nature of the web that you are sent the source and it's rendered in a browser.

00:12:21   There's no reason that the advanced technology has to eliminate that. Again, I point out source maps, right? Minification is there for a reason.

00:12:28   You can argue whether there's a point to it with gzip over the line.

00:12:34   But anyway, source maps let you get the real source back to do debugging, and that helps people learn from it and it helps developers develop it.

00:12:41   That's the way it should be. Yes, there are advances and things get more complicated, but you can still learn from the source.

00:12:46   And I think that's the beauty of the web, and we should never lose that by shipping binaries over the web or shipping Java applets back and forth or subverting the web, Flash or anything like that.

00:12:57   I think we're doing okay in general. The war for web standards and everything was much more fraught in the early days of the web.

00:13:05   I think now that the standards-based web is strong enough that it can resist most advances. Yes, it gets more complicated, but it's not so much in danger, at least right now, of some proprietary thing coming and sweeping away the open web.

00:13:21   But bad websites do exist, and bad companies that make bad websites do exist. So we just kind of route around them.

00:13:28   Yeah, like Twitter. All right, let's start with some follow-up, and we should mention again that the ATP Store is back. We have some new stuff.

00:13:37   It is open until June 7th. Now, I make this speech every year, and every year somebody says, "Oh, I forgot. I forgot."

00:13:48   So, listeners, if you're interested in, I don't know, maybe an ATP mug, which is brand new, first time we've offered them, maybe one of the sweet, sweet Pro Max Triumph shirts in black or white, with or without wheels, or perhaps a logo shirt or a hoodie, or my beloved polo is back, or a hat or a pin.

00:14:05   If any of these things are interesting, don't delay. If you're driving right now, that's weird that you're leaving the house, but hey, that's cool.

00:14:11   If you're driving right now, maybe pull over or think about where you're going and think, "Ooh, when I arrive at home, I'm going to go straight to my computer, and I'm going to buy some ATP merch."

00:14:20   So, the ATP Store is back, ATP.fm/store, and there are links to all the different things you can order from Cotton Bureau.

00:14:28   We have had some questions with regards to the ATP mug. It is 14 ounces, which is about 400 milliliters, and if that's not a unit of measure that you care about, then I don't know what to do. Just Google it.

00:14:38   But the ATP mug seems like it will be extremely nice. I haven't actually held one in hand.

00:14:44   The Pro Max Triumph shirts are excellent. Remember, the wheels are a little bit more special, so it's an extra four bucks.

00:14:49   The hoodie is extremely comfortable. The logo shirt, the classic logo shirt, is great. I love the polo for back when we went to work.

00:14:55   And the hat is great if you ever leave your house for any reason, even on a walk.

00:14:59   So, please, if you're willing, go to ATP.fm/store and get yourself some cool swag, some cool merch.

00:15:07   Remember, we are going to be launching a membership thing eventually, but we don't know when, so just keep that in mind if you are trying to apply your funds in a specific place.

00:15:16   Soon, but not this week.

00:15:18   Yes, soon but not this week is exactly the correct summary.

00:15:21   This is a great year because if you forget, you're like, "Oh, I forgot. I wanted to order a shirt, but I totally forgot."

00:15:26   Don't worry. You'll have another opportunity to give us money and not get a shirt.

00:15:32   That's just as good, right?

00:15:33   It's just as good. Yeah, so, anyway, ATP.fm/store.

00:15:38   Thank you for listening to me shill for merchandise.

00:15:41   Moving on, we have some follow-up. Nick Donnelly wrote, "How are you guys not terrified to use clipboard managers?

00:15:48   How can you be sure that they're not feeding all the passwords back to some server somewhere, changing that Bitcoin address to their own, or doing something else with or without the developer's knowledge?

00:15:58   With password managers, which are usually made by bigger companies, clipboard managers must be about the richest target possible for hackers."

00:16:04   You really have to trust that app.

00:16:06   The only remotely secure way for this to work is if it's built into the OS, in Nick's opinion.

00:16:11   In fact, why haven't Apple and Microsoft Sherlock this yet?

00:16:14   You know, this is the same sort of thing, like same sort of conversation we had last episode or whenever it was.

00:16:20   I think it was last episode where we were talking about my Raspberry Pis.

00:16:22   And for me, there's only so many things I can stress out and worry about in a day.

00:16:28   And I don't know about everyone else, but that cup runneth over these days about things I'm willing to stress out about.

00:16:35   I've got way too much to stress out about.

00:16:37   And if somebody is going into my clipboard manager and stealing stuff, like, that sucks.

00:16:42   It sucks a lot, but I just don't have the bandwidth or the energy to stress out about that.

00:16:47   Marco, tell me I'm crazy and that I need to put on my tinfoil hat.

00:16:50   It is certainly a big target in the way that, again, yeah, a password manager is also a big target for hacking.

00:16:55   I think one of the things that helps a lot here, first of all, you have just long-standing trust.

00:17:01   You have these clipboard managers are generally made by pretty long-standing developers.

00:17:06   There are not that many of them. There's three or four that everyone knows about,

00:17:10   and then a whole bunch of smaller ones that maybe might be made by smaller developers.

00:17:13   But for the most part, there's a small handful of them, and they're used by a lot of people.

00:17:17   Now, one area that really helps here, the Mac is a platform that has, in some ways, less security than iOS,

00:17:25   until you get into the really nerdy stuff.

00:17:28   And here, there are people who run things like Little Snitch.

00:17:32   Little Snitch is a local firewall-type thing that anytime an app tries to connect out to the network,

00:17:37   you can get an alert, and it will tell you which app is connecting to what, and you can block it or allow it or whatever.

00:17:43   And because of the prevalence of tools like that among the super paranoid or super nerdy,

00:17:48   any popular-ish app that's going to be calling home for any kind of regular purpose, people are going to notice.

00:17:55   One of these apps, like Little Snitch, is going to uncover that, and people will know and they'll talk about it,

00:18:00   and they'll write blog posts and whatever, and it would be a big scandal.

00:18:03   And none of these reputable Mac developers who have been doing these things for 10 years or more

00:18:07   would ever risk their reputation doing anything creepy like that.

00:18:11   So as long as you can trust the vendor, trust the maker of the software you're using to be remotely reputable,

00:18:19   and if they've been around a while, and if a lot of people seem to use it, who seem to know what they're talking about,

00:18:24   it's probably a pretty safe bet.

00:18:27   Talking about password managers, before we get this feedback from a million people,

00:18:29   if they haven't already emailed us while I was talking, many of the good clipboard managers will also detect

00:18:34   whether you're copying something from a password manager, and will either not store it at all,

00:18:40   or will automatically reset it after a certain amount of time, or they'll store it as the top-most item,

00:18:44   but they won't let it stack down to the subsequent items, stuff like that.

00:18:48   So there are special considerations that many of the clipboard manager apps make for password in particular,

00:18:54   to make it a little bit more secure, and make it so that you aren't accidentally going to reveal a password

00:18:58   as you display your stack of clipboard history, if somebody's looking over your shoulder or something.

00:19:03   Anyway, so that is certainly an area to be concerned about, but fortunately on the Mac,

00:19:08   we've been working with such a wonderful, nerdy power user base, and tools like LittleSnitch,

00:19:12   that if such a thing were really happening, we'd probably know about it.

00:19:16   In the end, Nick is right, that you do have to trust the developer.

00:19:19   I mean, it's kind of the same way of like, the only way to be secure if it was built into the OS,

00:19:23   you have to trust the OS vendor, and it's the same kind of trust.

00:19:25   Not that you think so much they're going to do something malicious,

00:19:28   but you have to trust that their security's up to snuff, right?

00:19:31   Maybe they got hacked or something like that.

00:19:33   That has happened in the past, where an app like BitTorrent client gets some malware inserted into it or whatever,

00:19:39   and it's not that the developers put it there.

00:19:41   So you trusted the developers, yes, that they weren't going to do something malicious,

00:19:44   but it turns out they fell victim to hacking, and so did you trust that they could defend themselves from hacking?

00:19:50   Again, with things like Apple and Microsoft, you trust that, A, they're not going to do something malicious,

00:19:54   and B, that they're probably pretty good at defending themselves, but you never know.

00:19:58   In the end, you have to trust a lot of the software that runs on your computer, right?

00:20:01   So those things that Marco was talking about, like excluding password manager apps and being smart about passwords,

00:20:06   that's what distinguishes a good clipboard manager from just sort of a middle-of-road one,

00:20:12   but that's about like feature set. It's not about trust, right?

00:20:17   And the things with little snitch, yeah, we might catch stuff like that,

00:20:20   but if it's substituting a hard-coded Bitcoin address,

00:20:23   when it detects something that looks like a Bitcoin address, you might not be able to catch that.

00:20:26   This stuff will probably come out eventually.

00:20:29   It's difficult. Like Casey was saying, you can't be on top of all this stuff.

00:20:33   Like you're listening to a nerdy tech podcast, and if something like this came up,

00:20:36   you'd probably hear about it on our show, but most people don't listen to tech podcasts, right?

00:20:40   So in the end, you're at the whim of a lot of people who do a lot of things that you can't control,

00:20:47   and the best way to deal with it without driving yourself nuts,

00:20:51   just chasing your own tail about all these different threats in the world, is to try to be sensible.

00:20:56   Use one of the well-known products when it comes to security, right?

00:21:00   Keep some amount of your ear to the ground about this stuff.

00:21:04   You don't have to be checking the news every day, but you should be assured that when something happens,

00:21:10   you have some way to find out about it, or it doesn't have to be you.

00:21:13   It can just be someone in your family or whatever.

00:21:15   If you set up your whole family in one password and then one password gets hacked,

00:21:18   it's your job as the ATP listener to tell the rest of your family,

00:21:21   "That thing I installed on your computer is a..." We get along the way we get along, right?

00:21:26   So I don't think clipboard managers are inherently any more scary than any other software

00:21:30   that has access to your keystrokes and everything like that.

00:21:33   And the final bit here is that everything we're talking about is part of what Apple is trying to help with.

00:21:41   It's the security measures that it's been adding to macOS,

00:21:44   and a lot of those security measures are difficult and annoying, and they're not a cure-all.

00:21:49   The thing with the BitTorrent client that got infected with malware, that was a signed application.

00:21:53   I forget if it was notarized or not, but they don't cure everything, but they sure help.

00:21:59   It used to be that when you downloaded something, that the developer would have a checksum on their website

00:22:03   that you could compare it to, but code signing is a much better system for that.

00:22:07   Especially notarizing is an even better system for that.

00:22:10   In the end, it can't stop everything, but it helps the chain of trust between you and this developer

00:22:14   that you ostensibly trust that what you're getting from them is what they are giving you,

00:22:19   and the Mac App Store helps there as well, and then iOS's entire end-to-end system of making sure

00:22:24   that you're getting the code the developer released and so on.

00:22:27   All that helps. It doesn't prevent it from happening, but it helps.

00:22:31   So, Nick, the next time you are annoyed by some security thing or some limitation of the App Store,

00:22:36   you appreciate that part of that, at least, is there to help the situation like this

00:22:42   where you have to trust an application to do the right thing for you?

00:22:45   John, I don't know if I could be more excited about the Sonnet Fusion Flex J3 i-mount.

00:22:52   I saw this and thought of you immediately, John, because it looks like somebody has now made

00:23:00   a better hard drive mount for the Mac Pro's internal SATA port than the one that you bought at half the price.

00:23:05   I don't know if it's better. The reason I put this in here is, you know, if we didn't,

00:23:10   everyone would keep sending it to us forever. That's part of the reason. True.

00:23:13   But it's fascinating to me what this is. So to refresh everyone's memory, this is a bent piece of metal

00:23:17   that goes inside your expensive Mac Pro that you can stick 3.5-inch hard drives into.

00:23:22   That's basically it. Like, it's not, you know, it is a physical device, and then it comes with some cables

00:23:26   that connect to SATA connectors, right? And I didn't want to buy it, and eventually I bit the bullet,

00:23:31   and I bought the one from Promise Technologies for $400, but the $400 thing came with an 8-terabyte hard drive,

00:23:38   which is not a $200 value. But either way, it was very expensive, but eventually I just, like, I just got to do this, right?

00:23:44   I gave up waiting for someone to make a cheaper one. Now this one comes out. It's from Sonnet.

00:23:49   It's called the J3i. The Promise one was the J2i, which is weird, because as far as I'm aware,

00:23:55   Sonnet is not the same company as Promise. But if you look at the product, it looks exactly the same as the

00:24:02   Promise J2i, except a couple of minor differences. This one has room mounting points for a 2.5-inch drive

00:24:08   that you can inherently attach to the USB port inside your Mac, right? But otherwise, if you look at the metal

00:24:13   that makes up this thing, it looks the same. And it's like, is there just one, like, the company that makes

00:24:19   the Promise J2i thing, is it just selling its manufacturing capacity to Sonnet, and then Sonnet is taking

00:24:25   less of a profit margin and not including the hard drive? Like, it's literally the same thing. Like, you know,

00:24:31   down to the millimeter, if you look at it, except for maybe the bottom part where the 2.5 is. So I don't understand

00:24:36   how the supply chain and manufacturing works. Like, we all know that, like, when you buy things, especially

00:24:42   electronics, a lot of times multiple companies sell you essentially the same electronics wrapped maybe in a

00:24:47   different plastic case. Or maybe it's literally the same plastic case painted a different color or stamped with

00:24:51   a different stamp. That's just how the world works. But it's weird to see it in the Mac for such a strange little

00:24:55   thing like this. Like, you would think that any company like Sonnet or whatever could make their own bent piece

00:25:01   of metal and sell it for 200 bucks, but make it cheaper or make it plastic, right? We have people 3D printing

00:25:08   these things, right? It seems like the technology to make a bracket essentially for your computer, you could make

00:25:15   it, but instead they're selling the exact same thing, which it's high quality. Like, it's over-engineered for what

00:25:21   it's supposed to do. It seems like if you, you know, what I was waiting for is someone to sell the $50 one, the $70

00:25:27   one, right? I'm glad I got the fancy one because it looks nice with my computer. And this one has red cables, which

00:25:32   I don't think would go with the interior decor of my computer. But yes, I totally would have bought this one if it

00:25:38   had existed at the same time as the $400 one. Even though $200 for a bent piece of metal is not that much more

00:25:46   attractive than $400 for an 8TB hard drive and a bent piece of metal, still it's half the price. And I would have

00:25:52   had to probably buy another hard drive to go in there, but I can probably get an 8TB hard drive for less than $200.

00:25:58   I don't know, I haven't even shopped around. Anyway, this exists and it's weird, but it's not exciting for me

00:26:04   and it's not sad for me because I've been there, done that, it's in my computer, it's installed, I'm fine, I've moved on.

00:26:10   Give me one moment to restart the Icecast server, one second. Did it run out of memory again? Yes.

00:26:17   Alright, I just changed a setting that I think will fix it. Well, it has a chance of fixing it. There's like a

00:26:23   per-client buffer setting that I had set pretty high, so I brought it now back down to the default value.

00:26:29   What was pretty high? So before it was 5MB per user and I brought it down to the default value of 128K per user.

00:26:38   Yeah, okay, it's live, we're live again. Sorry everybody. We did it. You've all got much smaller buffers everybody.

00:26:47   Yeah, enjoy your small buffers. You don't each deserve 5MB is what we've come to.

00:26:53   Ever since the beginning of the show I've been kind of just keeping this little, quick little solver calculation of

00:26:58   basically bytes per listener and it just keeps going up. So there does seem to be some kind of leak-like behavior here.

00:27:06   I think by lowering this buffer value I can probably at least bring it down to a level where it might not be noticeable.

00:27:12   Let me give you something that you can and probably should clip from the released version of the show.

00:27:17   Controversy. No, it's nothing like that. You like tabs instead of spaces.

00:27:22   Actually I think tabs are probably the right answer. Oh, come on. We've had this talk already.

00:27:28   I know, I know. Anyways, the point is I typically do ATP-related browsing in Chrome. It's one of the few times I use Chrome.

00:27:36   And there are reasons for that that are uninteresting. But suffice it to say I was looking at this Sonnet Fusion link on MacRumors in Chrome.

00:27:43   I realized, holy crap, there are ads festooned all over this page. But I'm running my piehole. Why is that?

00:27:53   I deleted those nodes from the DOM when I put this thing in the tab because I was annoyed at them blinking at me.

00:27:59   It's so bad. So I thought to myself, well that's weird. Why is the piehole working? And so while you were futzing with the livestream, I went over and looked at the piehole and the piehole is working.

00:28:09   They're just proxied through MacRumors?

00:28:11   Well, so then I went to Safari, which is the browser that we should use and that I normally use.

00:28:17   Oh, because Google does its own DNS.

00:28:19   Oh, that's weird. Why?

00:28:23   Proxying ads through the same domain is also a thing, though.

00:28:25   I know. However you describe it, I don't know if that's accurate, but I know that Chrome definitely has its own internal DNS cache.

00:28:33   And it would certainly appear as though it falls back onto some Google DNS server or something like that.

00:28:41   Yeah, the

00:28:43   Or something along those lines when it can't get a result from the local server. Something is going on.

00:28:48   It does honor, it doesn't totally do it because when I was putting in the private IPs for ATP.fm when we were doing the site, it honors Etsy hosts on my computer.

00:28:56   But yeah, it does do its own thing in many other regards.

00:28:58   So maybe, does piehole give back no result or does it give back a bad result like 127.001?

00:29:04   I understand the question. I don't recall. I want to say it gives back, but I am not confident I'm correct about that.

00:29:12   Yeah, because if it gives back no result, then Google might fall back and say, "Well, if the authoritative DNS server on the network is saying it doesn't know what this is, let me check my servers."

00:29:22   Which is not entirely unreasonable.

00:29:24   It's still messed up, but it would be at least a little bit more justifiable.

00:29:28   Anyway, I just thought that was mildly amusing because for a second there I was like, "This isn't a big deal."

00:29:32   But I was like, "What the hell? Why isn't this working right?"

00:29:34   And then I finally tried loading the exact same URL in Safari and sure enough, it looks great.

00:29:40   All right. Are we all good with the programming now? Marco, would you--no, I guess we all three have had one now.

00:29:44   No, IceCast servers are in that memory again. Sorry.

00:29:48   No, so if it actually kept five megs per user, that would be five gigs when we have a thousand listeners.

00:29:55   So that would actually get pretty close to what it was using. So that could have been the reason.

00:30:01   How do we have so many live listeners? Remember we used to have like a hundred people listening live?

00:30:04   Yeah, not that I'm complaining.

00:30:06   Yeah, and keep in mind, I think IceCast counts connections pretty aggressively.

00:30:10   So these might be just people who load the page and didn't actually hit play yet,

00:30:14   or if there's a certain preload happening by the audio embed or whatever.

00:30:18   But regardless, I think the regular common amount of live listeners we have is usually around 400.

00:30:26   These seem kind of high, but now, see now it says only 300 listeners.

00:30:30   And before it was saying like 900, so maybe it was keeping connections around for a very long time.

00:30:35   I don't know. You know what it might have been? Oh.

00:30:38   All right, so the setting I changed, oh, I think I just figured it out.

00:30:42   The setting I changed is about letting people's connections lag behind.

00:30:46   It lets them catch up. It's called the queue size.

00:30:50   It's documented, it's an action size and bytes of a stream queue.

00:30:53   A listener may temporarily lag behind due to network congestion.

00:30:56   In this case, an internal queue is maintained for the listeners.

00:30:59   If it goes larger than this value, then it's truncated, and any listeners on it will be kicked off the stream.

00:31:04   So what I bet this is doing is if anybody loads that page and goes away,

00:31:08   it still counts them as a listener until five megs of audio have passed by.

00:31:13   And at 64 kilobits per second, that's a long time.

00:31:16   And so that, yeah, because, oh man, okay, that makes total sense.

00:31:19   So by shortening it down, I basically have like made it reap the resources for dropped off listeners much faster.

00:31:27   And the reason, that's it, okay, now it makes even more sense.

00:31:31   I bet the reason why the resident set stayed at 1.7 gigs all week long

00:31:36   is that when I stopped the stream, it lost its source, and that queue probably just paused.

00:31:42   So it probably just sat there waiting for five more megs of audio to come.

00:31:46   - For people to drain their queues.

00:31:48   - Right, or for five more megs of audio to come that never came.

00:31:51   - Yeah.

00:31:52   - Okay, I'm pretty sure I just debugged this app.

00:31:56   All right, man, I love being a programmer sometimes.

00:31:58   All right, we can get back to the show.

00:32:00   (laughing)

00:32:01   - Until the next time it crashes, then you're like, wait a second.

00:32:03   - Yeah, exactly.

00:32:04   - So right now, so the listener count is lower.

00:32:06   It's a lot lower.

00:32:07   And I remember last week, I remember it was suspiciously high too.

00:32:10   It was like 900, 1000, and I was like, what, that's unusual for, especially now,

00:32:15   this is kind of a low news time of the year, and it seemed suspiciously high.

00:32:21   And so this makes a lot more sense if this is the way it's treating connections and listeners in the queue and everything.

00:32:27   And now it's using 54 megs of RAM to serve 330 listeners,

00:32:33   and it was using two gigs of RAM to serve like 900 listeners a little while ago.

00:32:38   - I'm gonna go back to a smaller instance now.

00:32:40   (laughing)

00:32:41   - That's a good point.

00:32:42   - Okay, that was the weirdest thing I've ever seen.

00:32:44   This is the program I know that will never end.

00:32:46   I look out my window, and there's two blue circles rolling down where the road should be

00:32:50   'cause it's pitch black outside.

00:32:51   Apparently, did I say blue?

00:32:53   I meant purple.

00:32:54   Somebody has purple LED lights around the inside of their bike rims.

00:32:58   Oh, there it is again.

00:32:59   - Pretty cool.

00:33:00   Just need a clothespin and some playing cards, and they'll be all set.

00:33:04   (laughing)

00:33:06   - Yeah, the world of LED technology, and largely battery and electric technology now,

00:33:11   has really made bikes a lot more interesting.

00:33:13   - RGBs, the kids call 'em.

00:33:15   - Neb in the chat said, "That's a homeowner violation.

00:33:17   "Get their ass casing."

00:33:18   (laughing)

00:33:21   (upbeat music)

00:33:23   - We are sponsored this week by Basecamp,

00:33:25   the all-in-one toolkit for working remotely.

00:33:28   Basecamp is the original project management tool since 2004.

00:33:32   They've been around forever.

00:33:33   They really know the business.

00:33:34   That's actually older than some of our listeners, probably.

00:33:37   They started as a web design firm,

00:33:39   and they built Basecamp to handle talking with their clients as easily as possible.

00:33:44   Basecamp has a killer client feature,

00:33:46   unlike any other project management software,

00:33:48   and they knew what project managers needed

00:33:50   because they are project managers themselves.

00:33:53   They built Basecamp to be the perfect tool for modern work,

00:33:56   especially remote work.

00:33:58   These days, it's more important than ever.

00:34:00   Basecamp's entire company has always been remote,

00:34:03   and their people are spread all across the globe.

00:34:05   They literally wrote the book, "Remote Working," back in 2013.

00:34:09   So Basecamp is the perfect set of tools

00:34:11   to collaborate remotely without distractions.

00:34:14   Now, if you're looking to monitor every move your employees make,

00:34:17   Basecamp is not for you.

00:34:18   It is for smart managers who respect their employees.

00:34:21   You can get started with Basecamp in minutes without any training.

00:34:25   It's built to be as simple and straightforward as possible

00:34:28   to find exactly what you need.

00:34:30   So go to basecamp.com/accidental today,

00:34:33   and you can start a free trial.

00:34:34   There's no credit card required,

00:34:36   no weird tricks or anything like that,

00:34:38   no strings attached.

00:34:39   It's a real free trial.

00:34:40   When you want to sign up,

00:34:41   you can get 10% off your first six months of Basecamp using that link.

00:34:45   Once again, basecamp.com/accidental to start a free trial

00:34:49   and get 10% off your first six months of Basecamp.

00:34:52   Thank you so much to Basecamp,

00:34:54   the all-in-one toolkit for working remotely.

00:34:57   Breaking news, HBO has stopped participating in Apple TV channels.

00:35:04   Like, I can even keep track of what Apple TV channels is.

00:35:07   No, wait, honest question.

00:35:08   Did either of you know that Apple TV channels had launched?

00:35:10   'Cause I didn't.

00:35:11   Wait, that's different than the app?

00:35:13   Yeah, no, it's the thing that, like, when you go...

00:35:16   You know how we discussed...

00:35:17   The reason I put this in here is because we discussed

00:35:19   the deal that Apple made with Amazon to get them into this thing,

00:35:23   where if you go through the Apple TV, Apple TV app, app,

00:35:27   whatever the hell it's called...

00:35:28   So bad.

00:35:29   The Ferrari, La Ferrari.

00:35:30   Yeah, you could see stuff not just from Apple, but from other people,

00:35:33   and so they got Amazon into there to participate in that, right?

00:35:36   So that to be the front door to all you're viewing, right?

00:35:39   But Netflix wasn't in there, right?

00:35:41   Now HBO is not in there either.

00:35:44   So Apple, you know, one step forward, two steps back, I don't know.

00:35:47   It depends on how big you think HBO Max is compared to Amazon.

00:35:51   But yes, I did know that there's a bunch of non-Apple stuff in there,

00:35:54   because every time I go to the Apple TV app intentionally, like manually,

00:35:58   I'm going there to watch Apple TV+ stuff,

00:36:00   and I'm annoyed by all the non-Apple TV+ stuff that's clogging up my view,

00:36:04   and the fact that the app refuses to remember

00:36:06   that I was just watching a show last night and let me resume it.

00:36:09   So I'm scrolling, I'm looking in the channel section,

00:36:11   and I go to the Apple TV+ channel,

00:36:13   and then I can look at the show and find the episode that I was on

00:36:16   because the thing doesn't remember for me for some reason.

00:36:18   And then, anyway, I don't want to complain about it.

00:36:20   All this is to say that, yes, I knew channels was a thing.

00:36:23   Yes, I knew HBO was in there because I'm a subscriber to HBO

00:36:26   and I used to see it in there.

00:36:27   And now I guess I won't anymore,

00:36:29   further confusing the jumble of video sources on my Apple TV,

00:36:34   the hardware device.

00:36:35   It's so tough to describe.

00:36:39   Like, I was talking to my brother-in-law,

00:36:42   and if their wedding, that was supposed to be the summer,

00:36:45   it can never happen, my soon-to-be sister-in-law,

00:36:48   and I was trying to describe some of the shows

00:36:51   we've been watching during quarantine or before,

00:36:53   and I was saying, "Oh, if you have Apple TV+

00:36:56   that you may be able to get on your Apple TV if you have one,

00:36:59   or maybe there's an Apple TV app on your regular TV.

00:37:01   Anyway, it doesn't matter.

00:37:03   Just go watch "For All Mankind."

00:37:05   It's just so bad.

00:37:06   There's like 18 different things, entities,

00:37:10   that use the Apple TV name,

00:37:11   and I really, really dislike it a lot.

00:37:14   And apparently I got it wrong,

00:37:15   because apparently the app is different than channels.

00:37:19   So HBO is still in the app, Netflix isn't,

00:37:22   but not in the channels thing.

00:37:23   Channels was that thing that, like,

00:37:25   Amazon launched this a while back,

00:37:28   and in Apple's services event,

00:37:30   where they announced Apple TV+ and everything,

00:37:32   they announced a similar thing, where the idea was,

00:37:35   and honestly, I had immediately forgotten about this.

00:37:38   As soon as they announced it, I forgot about it,

00:37:40   and this is the first I've heard anything about it.

00:37:42   The idea is, what Amazon did first, I think,

00:37:45   which was like, you can subscribe to HBO

00:37:49   or other premium TV channels on their service,

00:37:52   and you pay Amazon or Apple, whatever,

00:37:55   you pay them whatever, 10 bucks a month for these channels,

00:37:58   and there is no app for it.

00:38:01   When it's in these channel systems,

00:38:03   there is no dedicated app, it is just,

00:38:06   in the Apple TV app, there would just be an HBO channel.

00:38:09   Kind of like the way the old Apple TV worked, before TVOS,

00:38:12   the original Apple TVs, where individual video providers

00:38:15   weren't making their own apps.

00:38:16   Apple just made one unified interface,

00:38:19   and there were basically different channels in it

00:38:21   that they would use all this standardized XML

00:38:23   behind the scenes and everything

00:38:24   that Apple was writing and managing for them,

00:38:26   so the video providers just provided the content,

00:38:28   basically, and that was it.

00:38:30   And so, Amazon launched a service, was having, I guess,

00:38:33   some level of success with it.

00:38:35   Apple saw it, they're like, "Ooh, we can do that, too."

00:38:37   And Apple added that as part of the TV push for services.

00:38:42   And they announced it during the event,

00:38:43   "Oh, so we have TV Plus, which is our content in our app,

00:38:47   "then we have channels,

00:38:49   "which is other people's content in our app,

00:38:52   "and there's also TV apps by other people that have,

00:38:56   "so it's their content in their apps

00:38:58   "that can integrate with our app as a launcher, basically,

00:39:02   "but it's still kicking you out of their app for playback."

00:39:05   - And the channels aren't at the top, either.

00:39:07   The things that are at the top

00:39:09   are things that I can view in other apps,

00:39:11   so it looks for all the world, like,

00:39:13   "Oh, resume this thing you were watching in HBO Max."

00:39:15   It's already got the little tag on it or whatever.

00:39:17   If you scroll down, eventually you get two channels,

00:39:20   and at least one of the channels I see, CBS All Access,

00:39:24   still has a separate app that I use and subscribe to

00:39:27   through that app, but apparently I could also do it

00:39:29   through channels.

00:39:31   It's so confusing.

00:39:33   And yeah, if I scroll, I can see channels.

00:39:35   This one's for Showtime, Epic, Stars,

00:39:37   but I don't see HBO, and presumably I could have before.

00:39:40   I see BritBox, which I subscribe to,

00:39:42   but view through the dedicated app.

00:39:45   Maybe I should have subscribed through the channels.

00:39:47   I don't even know what I was supposed to have done here.

00:39:49   Anyway, it's a mess, and now HBO Max

00:39:53   is no longer in the channels list,

00:39:55   but HBO is still showing at the top of the TV app.

00:40:00   - And it's kind of a shame, because HBO is a wonderful

00:40:03   example of a company that really needs this.

00:40:05   Like, HBO can't make a good app to save their lives.

00:40:08   You know, see also Hulu.

00:40:10   These companies, like, if you could buy the HBO service

00:40:13   as a channel and have it just be an Apple's alright TV app,

00:40:17   the TV app is alright.

00:40:19   It could be so much better.

00:40:21   - I watch a lot of things through apps,

00:40:26   not on my actual television, but like on my iPad,

00:40:28   and I would like to make an announcement to everyone

00:40:30   who's listening who works on a video application.

00:40:33   - Uh oh.

00:40:34   - I have several announcements.

00:40:36   Number one, have the button to turn on and off

00:40:41   closed captions be top level in your thing.

00:40:45   Don't make me dig through menus and figure out whether

00:40:49   your app pauses the video when I'm digging through

00:40:51   the menus or not, or whether it auto-reseums

00:40:52   when I'm done with the menus.

00:40:53   Have it be a top level button.

00:40:55   You have a huge amount of screen real estate.

00:40:57   One tiny button that looks like a little CC or a box,

00:41:00   a little speech bubble or whatever, tap on, tap off.

00:41:03   Yes, by all means, let me dig into it and select

00:41:05   which language and so on and so forth.

00:41:07   There should be options further, but to toggle captions

00:41:09   on and off needs to be top level.

00:41:12   Number two, have some way to skip forward or back

00:41:16   by some small amount.

00:41:17   Now maybe I'm the only person who watches video

00:41:19   in an environment where there's noise or you're distracted,

00:41:21   but very frequently I wanna go back because I missed something

00:41:24   or I wanna go back and turn on captions.

00:41:26   And yes, I know you can dig the Apple TV remote

00:41:29   out of the crack in your cushions and try to get it to say,

00:41:31   and you can speak it to it and say, "What did he say?"

00:41:33   and it will rewind and turn on captions.

00:41:35   That's a cool feature, but I can do that with my fingers

00:41:37   if you have those buttons there.

00:41:39   I'm amazed that when I see a video app that literally has,

00:41:41   like speaking of BritBox, no way on the iPad on BritBox

00:41:45   to step back or forward any amount of time.

00:41:48   If you miss something that somebody said,

00:41:50   or they said it in a weird accent you don't understand

00:41:52   because they're British, you have to like grab

00:41:54   the little tiny scroll thumb and try to move it

00:41:57   like a pixel, retina pixel and a half to get back 30 seconds

00:42:01   to hear what they said again.

00:42:02   Oh, and by the way, you couldn't understand it

00:42:04   the second time either, so don't forget to turn on captions.

00:42:06   So now grab that thumb again, move it back a pixel and a half,

00:42:09   hit pause quick if you can find it,

00:42:10   and then find out where the captions are.

00:42:12   Dig through three menus, turn on the captions,

00:42:13   close those menus and resume playback.

00:42:16   Basics, very basics of just like play, pause,

00:42:20   fast forward, rewind captions on/off.

00:42:23   You've got huge expanse of black,

00:42:25   especially on like letterbox things,

00:42:26   there's huge amount of space on the screen for this UI to be.

00:42:29   For it literally to not exist is inexcusable.

00:42:33   Apple has this, some of this stuff,

00:42:36   it has the fast forward and rewind at least,

00:42:38   I think captions are two taps deep,

00:42:39   but I use the Plex player, I use the HBO Go player,

00:42:42   HBO Max, Netflix, like nobody gets it all right,

00:42:48   not even Netflix gets it all right, and it boggles my mind.

00:42:51   I don't understand if any of the people

00:42:53   who design these applications actually watch video using them,

00:42:56   but it seems like, you know, it's one of those things

00:42:58   where they have all the features,

00:43:00   they don't have to write any new code,

00:43:01   and the UI isn't that complicated,

00:43:03   it's basically a toolbar with like seven buttons on it,

00:43:05   and they still manage to not get it right.

00:43:08   [Laughter]

00:43:10   For what it's worth in Plex, you just swipe down,

00:43:13   and then I think it's on that very first menu, I think.

00:43:17   In Plex, it's tapped to get the menu

00:43:19   and then tapped for the closed captions you want,

00:43:21   and I think after you pick it closes the menu

00:43:23   and resumes the video, so it's two taps instead of one,

00:43:25   but then you also have to remember to rewind,

00:43:27   and it does have a skip back,

00:43:29   although it's not a configurable step back,

00:43:30   like it's harder than it needs to be.

00:43:32   Oh, it's definitely harder than it needs to be, that's for sure.

00:43:35   All right, since you're all happy and excited about life,

00:43:38   why don't you tell me about Joe Rogan?

00:43:40   Last episode, we talked about the Joe Rogan Spotify deal

00:43:45   and the impact on podcasting and all that other good stuff.

00:43:48   What we didn't talk about at all last episode

00:43:51   was Joe Rogan himself, the person and the show and the content.

00:43:56   Part of the reason we didn't talk about it is

00:43:58   I think none of us listened to Joe Rogan.

00:44:00   Have either of you ever heard an episode of the Joe Rogan podcast?

00:44:04   I don't think I've even heard the Elon Musk episode

00:44:07   that everyone and their mother heard.

00:44:09   I think I listened to maybe a minute of it, maybe, and that was it.

00:44:13   Did he interview Obama a couple years ago? I listened to that.

00:44:16   Whatever famous comedian interviewed Obama on a podcast,

00:44:18   I listened to that, which I think was him.

00:44:20   Mark Maron did, I think.

00:44:21   Oh, it was Mark Maron, that's it, never mind.

00:44:23   Whoops, sorry.

00:44:25   I would imagine Obama wouldn't go on Joe Rogan,

00:44:27   but I don't actually know.

00:44:28   Yeah, I don't know, so yeah, but you're right.

00:44:30   Now that you're, yeah, I remember now it was Mark Maron.

00:44:32   I don't listen to either of them, but I listened to that episode.

00:44:36   Yeah, I've never listened to an episode of Joe Rogan podcast,

00:44:39   but I have read about him, and I know enough about him that I should have,

00:44:43   and actually meant to, but never got around to, say something about him.

00:44:45   Basically, all this is to say that ATP does not endorse Joe Rogan.

00:44:49   We either don't know anything about him or what we know about him, we don't like.

00:44:53   So I will put a link in the show notes to the one thing that I have read about Joe Rogan,

00:44:58   which is why I know he's not a particularly great character in the show,

00:45:02   is not a particularly positive thing in some aspects.

00:45:04   It's from the Atlantic, it's a couple years old, or no, it's just from 2019.

00:45:08   I encourage you to read it.

00:45:10   Lots of people dislike him, he holds some very bigoted views on certain topics,

00:45:16   and I didn't want to make it sound like we were endorsing him last time,

00:45:20   but this brings up an interesting point, sort of a meta point about this,

00:45:23   which is how is it that the three of us who are in the podcasting world

00:45:29   don't know about the biggest podcaster in the world?

00:45:33   Is it because we just spend time, as Marco mentioned last time,

00:45:36   listening to podcasts with very narrow interests in the corner of the world?

00:45:40   Yeah, part of it is that.

00:45:42   But also part of it is something that we got called out on by a couple of people last episode,

00:45:47   is that we have the luxury of not knowing that one of the most popular podcasters in the world

00:45:54   is saying things that are hurtful to marginalized people on their show,

00:46:00   because it's not directly harmful to us, so we don't hear about it in our circles,

00:46:04   and we can be blissfully unaware that there is someone out there talking to millions and millions of people

00:46:08   saying very harmful things, giving platforms to people who say harmful things.

00:46:11   In fact, people that we would all recognize as bad. Alex Jones, we all know him, right?

00:46:16   He's terrible, right? Joe Rogan has him on the podcast, and his buddy old pal with him,

00:46:21   and got real mad at him at one point, but then had him back on the show.

00:46:24   This is all in the article or whatever.

00:46:26   Again, I don't know much about Joe Rogan. I don't know what his deal is.

00:46:29   I don't know exactly how good or bad he is as a person,

00:46:33   but I do know that his show seems to have lots of aspects to it that are extremely harmful, let's say.

00:46:41   And the fact that we didn't know about it just reveals our position of privilege

00:46:46   that we can afford to not know about it, and we can afford to do an entire episode of a show

00:46:50   where the actual person who has this podcast doesn't come up at all.

00:46:54   And so our ignorance is not necessarily an excuse, but it is a fact, and it is part of the whole thing.

00:47:01   In the same way that Joe Rogan can have people on the show and be old buddy, old pal with them,

00:47:06   and just hang out and talk like two dudes, because everything they talk about doesn't impact them in their position,

00:47:12   that's the same way that we can manage to talk about the business of podcasting and never actually mention Joe Rogan.

00:47:17   So I think we made a mistake to at least not mention that there.

00:47:20   And the second thing is, say you're listening to this now, and you listen to Joe Rogan,

00:47:23   and you're saying, "Hey, are you saying I'm a bad person because I listen to Joe Rogan?"

00:47:26   Again, I don't know. I don't listen to his show. For all I know, he does good things and bad things, right?

00:47:31   But I do know that some of the things that he's done should make you maybe think twice about it.

00:47:36   So it doesn't mean you're automatically a bad person.

00:47:38   Marco and I both listen to Howard Stern, who has at various times done some very terrible things, right?

00:47:43   No person is entirely good or bad, but it does behoove you to, if you're going to listen to a podcast like Joe Rogan,

00:47:51   to be aware that some of the things he does and says are harmful to people, maybe not you, but to other people.

00:47:57   And in general, say you don't know anything about somebody like, "Well, I don't even listen to that show. I don't know anything about him."

00:48:02   So I can just wipe my hands of it and say, "Well, since I never listen to the show, I'm not going to offer any opinion whatsoever on Joe Rogan."

00:48:08   Because how can I if I don't listen to the show? Wouldn't it be unfair of me to say anything about Joe Rogan?

00:48:12   Or would it be unfair for me to read this article and somehow believe bad things about Joe Rogan?

00:48:17   You don't even listen to the show.

00:48:19   One of the things that I think is useful to keep in mind is if there's someone in the world who is doing something to harm a particular group,

00:48:25   and that group tells you, "Hey, this guy is saying and doing things that hurt us," it's okay to believe them.

00:48:31   It's okay to say, "Oh, I don't listen to the show, but these people over here say that this guy is doing and saying things that are harmful to them."

00:48:39   Believe them. They're not doing that for the hell of it, right?

00:48:43   There's not a vendetta out to get Joe Rogan because this marginalized group, this incredibly powerful marginalized group,

00:48:49   you know the incredibly powerful lobby of the most downtrodden group is out there trying to stop the most powerful podcaster in the world.

00:48:58   Believe them. So I do believe them. They tell me he's doing and saying things that are harmful to them, and I don't think that's great.

00:49:04   And so I think if you listen to Joe Rogan and enjoy it, maybe read this article, think more critically about what you hear,

00:49:10   listen to what other people have to say about Joe Rogan. Maybe it will change your opinion, maybe it won't.

00:49:15   We're not saying you're automatically a bad person for listening, but it seems like Joe Rogan might be kind of a bad person.

00:49:21   [Music]

00:49:25   So I thought we could maybe do Marco's favorite activity in the entire world tonight.

00:49:31   And we can't—maybe second favorite activity in the entire world.

00:49:35   First favorite, of course, is spending his own money. Second favorite activity in the entire world is what, Marco?

00:49:39   Spending other people's money?

00:49:40   Exactly.

00:49:41   All right.

00:49:42   Let's configure me a MacBook Pro, because I think I might buy one.

00:49:46   Because my poor, adorable, even though it's mostly stationary these days, it's too slow.

00:49:53   It's too slow, too few ports. I think I'm convincing myself to get a 13-inch MacBook Pro.

00:49:58   So if I decide to pull the trigger, let's go ahead and configure one.

00:50:02   And let me tell you that I haven't looked at any of the configurations in at least last week, which, given my horrible memory, means I have effectively never looked at them at all.

00:50:11   So I thought we could go kind of sort of John with the Mac Pro style and just go through the configuration page and have a small argument about what configuration I should buy.

00:50:22   And I feel like I should set some ground rules as to what I want out of this computer.

00:50:27   But before I do that, any questions from the two of you?

00:50:29   Are you going to actually do it, or are you going to waffle for a while and then never do it, and then we'll talk about it again in six months?

00:50:36   Have we skipped over the part where we tell you maybe not to spend money right now, or is it we're just skipping that and we're just saying, "Look, that ship is sailed. It's going to happen."

00:50:45   No, spend money. I don't care. No matter how destitute you are, nobody deserves to use that 12-inch computer the way you're using it.

00:50:52   I know you're like, "Okay, well, finally now it's too slow." It has always sucked. You've just tolerated it because you liked how small it was.

00:51:00   Now that's less important than ever, and all the ways that it sucks, it still sucks.

00:51:04   So you might as well get a better computer for your actual work that you actually do all the time.

00:51:08   Well, and so the genesis for this, to more directly answer John's question, is, well, first, yes, you are correct.

00:51:15   This is not all the time for me to be spending money.

00:51:18   And you can tell listeners because of how many sponsors we have in this particular program today.

00:51:23   But that being said, there is a chance that I might need to record, actually a better than halfway decent chance, that I might need to record the WWDC show from Not My House.

00:51:40   Oh my God, you're getting this computer.

00:51:42   There's no way we're going to let you do that on your 12-inch. No way.

00:51:47   So that's the thing, is that...

00:51:49   Wait, where are you going?

00:51:50   I might be going to the beach, which is to say I would be in a similar style to what Marco would potentially be doing, which is to say we will take over a home, just the four of us.

00:52:02   We will not be having any other people into the home.

00:52:04   And you'll be on a beach jam-packed with people.

00:52:07   Well, and that's the thing, actually.

00:52:08   No potential. I'm going to be doing this next week.

00:52:10   Oh, well, okay. Well, there you go.

00:52:12   But yeah, if the beach is jam-packed, then we won't be going to the beach, but I think it would do all four of us a lot of good to just have a change of scenery.

00:52:19   And I feel like if we're going to do that, this is one of the safest ways to do it.

00:52:23   Please don't email me. I don't want to hear it. Please don't email me.

00:52:26   Yeah, and to be clear, what I'm doing next week is going to rent a house in a beach town, not to be in crowds.

00:52:32   Exactly. That's exactly the same situation here.

00:52:35   And, you know, if it ends up... I'm not even sure that we are going, first of all.

00:52:38   Second of all, if we are, I'm not sure the beach will be open. And third of all, if it is open and it's jam-packed, then we won't be going to the beach, like not to the physical beach itself.

00:52:48   We might be in the beach house, but we will not be going to the physical beach itself.

00:52:51   So, yeah, don't even get me started on all this, because I have had some very tense conversations with both sides of the family about social distancing and what that actually means.

00:53:00   Anyway, so if I decide to buy a 13-inch MacBook Pro sometime before we leave, which would be at the end of next month, and I want to make sure it has time to deliver before we leave toward the middle to end of next month,

00:53:14   and if I want to make sure everything is squared away, there's a lead time on getting these devices, so I need to pull the trigger this week.

00:53:21   Now. Yeah, let's buy it now.

00:53:23   So I don't know if I'm going to buy it tonight, but I want to, by the end of this episode, hopefully quicker rather than longer, I want to be able to at least know what it is I should buy.

00:53:32   So what am I going to do with this computer? So occasionally, well, if it's getting used at all, it's more than likely going to be used for Xcode development of apps that are not tiny but are not terribly large either.

00:53:42   I mean, this is not, you know, to pick on a big company that's based here in Richmond or has a huge establishment here in Richmond.

00:53:49   You know, it's not the Capital One app or anything like that. Like, it's Vignette, it's Peek-a-View. These are not massive apps. They're probably not even as big as Overcast, I would assume.

00:53:56   But. Are you using Swift UI? No, I'm not using Swift UI, but I am using a lot of Swift.

00:54:01   Well, yeah, either way, if you're using a lot of Swift, you're going to need a lot more processing power than I use.

00:54:05   Well, that's, and I want to argue with you, but I don't know if I can. You can't.

00:54:08   Anyway, so in any case, I want to be able to do Xcode development with a reasonable quickness, and I'd like to be able to do, like, I don't know, maybe more than one thing at a time. That would be kind of neat.

00:54:20   So I would like to be able to do that. I would like to be able to use it to do, like, basic, you know, photo or video stuff.

00:54:29   Probably not, like, Final Cut Pro necessarily, but, like, basic photo or video stuff. You know, say if we're on vacation, I want to process, you know, some photos very lightly. I'm not talking, like, Lightroom or Photoshop or anything like that.

00:54:39   Just stuff you can do in, like, Photos or Acorn or Pixelmator or whatever the case may be.

00:54:44   So there's really not that much that I need from it, truth be told. I really love my 2018 iPad Pro.

00:54:52   I love my iMac Pro, so this would definitely be the "if I can ever leave the house to do work again" machine, and probably not that much else.

00:55:02   So I don't think I need anything that's extraordinarily powerful. But that being said, I don't change my laptops like they're my underwear, Marco.

00:55:11   And so I would like to have something that lasts, you know, a few years. Preferably at least two to three years, if not more.

00:55:18   So that's kind of the situation at hand. So unless there are any further questions.

00:55:25   And I don't think I want a MacBook Air, but maybe we should explore that very briefly to begin. Do I want a MacBook Air?

00:55:34   What you're looking for here, to me, the only, you know, you just gave a whole bunch of justifications to try to alleviate, like, the truth is you want a new computer and you can afford it.

00:55:45   What you don't want is a whole bunch of people criticizing you and you feel bad that you can afford it, you feel bad that you don't really need a laptop, but you're gonna buy one anyway,

00:55:53   because you feel a little bit bad about that, but the reality is you're gonna buy it and you're gonna love it and that's that.

00:55:57   And you can afford it and it's fine, so we're gonna do it. Now the only question is then, like, in your case, what you're looking for is not to maximize value.

00:56:07   What you're looking for is to maximize functionality within a value range.

00:56:11   Yeah, I think that's probably fair.

00:56:12   'Cause you do care about money to some degree, but you also can spend good money to get a good computer if it's warranted.

00:56:19   It's not about, like, squeezing every dollar to fit below a certain threshold. It's about, like, you wanna make sure you're spending money wisely, right?

00:56:27   Yeah.

00:56:28   And then secondly, you have the incredible luxury here that this is not your primary or only computer.

00:56:35   Because it is not your primary or only computer, you can not go super high-end on things like getting the absolute largest SSD possible, which can be fairly expensive,

00:56:46   or getting, like, the absolute max specs on everything. You don't need it to do primary computer duties all the time.

00:56:54   You need this as a secondary computer that you're gonna use light to moderately on a light to moderate basis, probably,

00:57:01   like, it's not gonna be, you're not gonna be, like, running Final Cut Pro encodes as this has your only computer every day, every workday that you're gonna use it.

00:57:09   Like, that's not what you're doing here.

00:57:11   You are doing, though, things where CPU performance matters, and this is why you're feeling the pain of your current awful 12-inch computer.

00:57:18   I love that 12-inch computer.

00:57:20   And the reason why, like, the MacBook Air is an exceptional value in Apple's lineup right now.

00:57:26   It is a very good sweet spot, but one area where it falls down is that CPU power is not great.

00:57:33   And also, like, when you spec it up to try to extract more CPU power out of it, it gets very close in price to the well-specced 13 inches.

00:57:42   And it's very similar in size and weight. It is a little bit lighter, it feels a little bit better because of that teardrop shape and because of the slight lightness,

00:57:49   and it doesn't have a touch bar, which is nice. I consider not having a touch bar a feature of the Air, not a shortcoming.

00:57:56   So the Air has a few things going for it, but ultimately, because you're doing things where performance does matter,

00:58:03   I think you'd probably be better off with a 13-inch Pro.

00:58:07   Now, among the 13-inch Pro line, there's nothing that matters below the 1799 config, the first one that has four ports.

00:58:17   All the two-port models, skip them. If you were going to get a two-port one, just get an Air. It's a better computer than the two-port ones.

00:58:24   So it also has only two ports. It also has worse processor performance than the four-port one.

00:58:29   So you might as well get the Air if you're going to go the two-port route, because it's probably a better value for the money.

00:58:36   So what you want, though, is probably a four-port one. So let's go into that. You can go 1799 or 1999.

00:58:43   Double the storage on the 1999 one.

00:58:47   Oh, you got a terabyte. Okay. I'm going to suggest you get a terabyte. I bought a few back in the 2012 era.

00:58:52   I bought a couple that had 256, and I regretted it heavily. That was a pain in the butt for any kind of developer work,

00:58:58   because you're constantly downloading Xcode beta. Now you're out of space. It was a pain.

00:59:03   512 was where I went for a while, as this is what I should get as a minimum for a laptop.

00:59:09   These days, the price difference between 512 and a terabyte is not huge these days.

00:59:15   And a terabyte's really nice, because not only is Xcode and developer stuff and everything just getting larger,

00:59:22   but also in your case, you are going to have this on family trips, and you do tend to bring an entire library of video content on trips.

00:59:30   And stuff like that. So I think you would probably end up using it.

00:59:34   I think I mentioned last time we talked about this. So I've been getting one terabyte the last couple years on my many laptops,

00:59:40   and usually I have roughly three or four hundred gigs free, which tells me that I'm glad I got the terabyte and not the 512.

00:59:49   Yeah, so the adorable that I have is a half terabyte. It's 512.

00:59:55   And I'm looking at it right now, and it's about half full. So I'm using just back of the napkin around 256 gigs.

01:00:03   And I can't remember a time outside of maybe when I was putting a whole bunch of media on it or something like that.

01:00:08   I can't remember a time that I feel like it's ever been close to exploding.

01:00:11   So I feel like I absolutely could get away with 512.

01:00:15   But I'm slightly leaning toward the one terabyte model for most of the reasons you just said, and also for longevity.

01:00:24   Because again, as much as I snark about your laptop buying tendencies, the truth of the matter is,

01:00:28   however long you do or do not keep your laptops, I would like to be able to keep this one for several years.

01:00:34   And even once I'm done with it, like for example this adorable, once I'm done with it, it will replace the MacBook Air that Aaron has that's been underwater 17 times.

01:00:43   That is still chugging along for the record, but it's time to replace it.

01:00:46   Which is kind of incredible, but it's time to replace it.

01:00:49   And at this point, the SSD size, that's a hard limit.

01:00:53   Like if you run out of SSD space, you can't expand that. It's like you can fill it up and then at a certain point, well you're just full now. Period. Hard wall.

01:01:03   If you're running low on RAM, or if you're running low on processor power for a task you're doing, the computer just kind of slows it down.

01:01:10   You can still do things. It's much more of a soft limit. You can still do things, it just might be a little bit slower at it.

01:01:17   But if you slam into a disk size barrier, you're just screwed. There's just nothing you can do about that unless you get into external drives which suck on laptops.

01:01:25   Combine that with the fact that the 512 to 1 terabyte upgrade is only 200 bucks, to me that's a no brainer.

01:01:32   And if you look at the specs of this base 4 port model, there's a couple upgrades you can do.

01:01:37   You can upgrade the CPU for 200 bucks, you can upgrade the RAM for 400, we'll get to that in a minute.

01:01:41   Or you can upgrade the SSD for 200, to me, no question, if you're only going to upgrade one thing on this computer, upgrade the SSD to one terabyte.

01:01:47   Because 200 bucks to give it a lot of headroom for a component that can never be upgraded later and that is a hard wall when you hit it, that to me is easy no brainer.

01:01:58   Do that, if you do nothing else, do that.

01:02:01   I think I'm on board with that. John, any thoughts?

01:02:03   That's what I was going to ask you about when I was going through this configurator, I didn't know what your storage needs were, but then I saw that one terabyte was 200 bucks extra, it's like a no brainer.

01:02:11   That's the thing, the value for money is so good that I don't know why I wouldn't.

01:02:16   So I'm sorry Marco, were you starting from the 1799 or are you starting from the 1999?

01:02:20   1799, so I'm saying either way, whatever you're going to get, you want that one terabyte upgrade.

01:02:26   Does anything else change between the two?

01:02:28   It looks like it's otherwise the same, right? It's the same processor, same graphics, same RAM, yeah everything else is the same, it's just an extra configuration.

01:02:37   What's good about that is that because they're having it as a dedicated SKU that's the same thing but just a bigger hard drive, means that stores will stock this configuration.

01:02:46   If you wanted to change nothing else about this, you can get that 1999 configuration and you could have it like tomorrow or whatever, in a few days instead of a few weeks.

01:02:55   So that actually could be very valuable. Also, when you buy one of these stock configurations like this, you can often get a little bit off by going to a retailer like B&H or Best Buy or whatever.

01:03:06   A lot of times they'll have like maybe 100 or 150 bucks off. So that's a nice little bonus you can get whenever you're going for a non-customized configuration.

01:03:14   And that's why on my 16 inch, I have the 2799 configuration that I paid like $2450 I think, something like that. I got like $300 off because it was just like some sale B&H was having when I had to replace it.

01:03:28   It was wonderful. So I strongly suggest you consider very heavily just stopping right here.

01:03:35   Just taking this 1999 configuration, the stock one they have, I like it better in silver personally but you can go space gray if you really want to.

01:03:43   And calling it a day and getting it in stock somewhere and you're done.

01:03:47   Because the only other options for you to upgrade would be if you need more than a terabyte, which you don't.

01:03:52   - I do not, I absolutely do not.

01:03:54   - Or if you want to get a slightly faster processor, but it's, you know, we're talking like 10% faster. It isn't that much faster.

01:04:02   Or if you want to get 32 gigs of RAM. Here's where we're gonna have an argument.

01:04:07   - Here's the argument right here.

01:04:10   Why the hell would I not do that? Like $400 is not cheap. It is not cheap at all.

01:04:15   But, and I mean the adorable is fine, he says with no confidence with 16 gigs of RAM. I think I'm pretty darn sure. Now I'm curious. Is it 16?

01:04:25   - Yeah, I think it is.

01:04:27   - But it seems to me like almost all the arguments you made about SSD storage I could also make about RAM.

01:04:36   And even though the $400 really does chap my hind quarters kind of badly, it's just, especially if I wanted to make this thing last, why wouldn't I check that check box?

01:04:47   - Because it's not your primary computer. Because it's more of like a task focused computer.

01:04:53   Like you're not leaving a million things open on this all the time, 24/7. Like you're not leaving all your stuff running on this.

01:04:59   You're using it like to work at a grocery store or whatever. Like whenever that can be a thing.

01:05:04   You're using this like I'm gonna take out the laptop and use Xcode for a while or whatever.

01:05:09   Like it's much more of a focused device most of the time, right?

01:05:12   - Yeah, I think that's fair to say.

01:05:14   - And so because you're not doing like heavy long term multitasking on it, I think you'll be fine with 16.

01:05:20   I've had 16 on everything until I think, does my 16 inch have 16? I don't even know. I think it has 32, right?

01:05:27   What does the 27 inch configuration have? I don't even remember.

01:05:31   - I'm not sure either.

01:05:32   - Regardless, like you'd be fine with 16. Now is 32 better? Yes. Oh, first time follow up, I have 16.

01:05:40   And it's fine. It's great. Now, yeah, so more RAM, sure it would be better.

01:05:47   There is a cost to battery life, but I don't think it's a massive one. Like I don't think you would necessarily notice it most of the time.

01:05:53   So what you're really looking for here is $400 of an upgrade fee. That is a significant upgrade fee.

01:06:00   That is a very high price for what this is. Since you don't necessarily need this, or you don't know that you need this,

01:06:09   there is a strong argument that you shouldn't get it. However, you are right. You can never upgrade it later.

01:06:15   And if it turns out that there's something you need to do with this that needs 32 gigabytes of RAM, yeah, you are just stuck.

01:06:21   Like that is a problem. But I would bet there probably isn't, or that would be rare enough,

01:06:27   that a little bit of swapping to the SSD in those rare cases would be tolerable compared to $400.

01:06:32   That being said, how much do you regret the money you spend after you spend it?

01:06:39   Like right now, before you spend it, you're going to agonize over this $400, right?

01:06:44   So it's going to, this is a big thing. Also, keep in mind, because you don't necessarily need to upgrade anything else,

01:06:51   you're talking about $400 and three and a half weeks versus saving $400 and getting it tomorrow or whatever.

01:06:59   And most of the time you probably won't notice the difference.

01:07:02   It's actually not as great a difference as you said. So if I order the out of the box 1999 one,

01:07:09   I don't get it until June 4 through June 11. And as we record, it's May 27.

01:07:14   If I tick the 32 gig checkbox, however, that becomes June 18 through June 25.

01:07:20   Oh, that's not too bad. So it's like an extra week and a half, maybe at most.

01:07:23   Right. However, that definitely does bump uncomfortably into the, it might arrive when I'm already at the beach timeframe.

01:07:29   And the thing is like, it's $400 plus some extra time, even if it isn't that much extra time,

01:07:36   still, it's still some extra time. And are you really going to need that?

01:07:40   Now again, that being said, you can never upgrade it.

01:07:42   And six months from now, you probably will forget that you even spent $400 on that upgrade.

01:07:47   Like, so if you do buy it, six months from now, it's like that's long gone and forgotten.

01:07:52   You've already, you know, you would long ago had paid it off or whatever.

01:07:56   And so you don't have to think about it anymore.

01:07:58   I didn't think it was worth it for me. And we do very similar work.

01:08:00   That being said, you're using a much less efficient language.

01:08:03   Can't help it yourself, can you?

01:08:07   But we do similar work and I don't need 32 gigs.

01:08:10   And that's not to say, you know, our listeners out there who are, you know, oftentimes developers.

01:08:14   And, you know, there are a lot of developer workloads that do need lots of RAM,

01:08:17   especially if you run like virtual machines and stuff.

01:08:19   That makes sense. There are people out there who need it.

01:08:22   But I don't need it. I'm not one of those people.

01:08:24   And I don't think you are either.

01:08:26   No, I don't think I need it. It's just the thing of, I feel like, as you had said,

01:08:31   there is a more than zero chance I will regret not having 32,

01:08:37   but there is an approaching zero chance of regretting having gotten the 32.

01:08:43   Yeah, so then get it.

01:08:45   So at that point, you know, why not?

01:08:47   The only thing is I didn't realize that I am bumping up against it,

01:08:50   maybe arriving after I really, really need it,

01:08:53   which would be hilarious and also deeply uncomfortable.

01:08:55   Great, so don't get it.

01:08:57   So, yeah, I don't know. John, help me to help you.

01:09:02   I mean, no, help you to help me? What should I do?

01:09:05   I help you to help me.

01:09:07   Even as configured as we've both been suggesting, because I agree, go with 32,

01:09:11   it's still not that expensive, I mean, in the grand scheme of things.

01:09:15   As for getting it late, I mean, that's your fault.

01:09:17   You could have ordered this weeks ago.

01:09:19   You're waiting so long, but honestly, I think podcasting from whatever device

01:09:22   you bring with you will probably be fine either way.

01:09:25   Just get the computer you want to get.

01:09:27   You wanted the 13-inch, right? That's the one you've always wanted.

01:09:30   Yeah, I don't want a 16. I've done the 15 life. It's not for me.

01:09:33   This is it. Just 32 gigs, one terabyte.

01:09:36   Get the slower CPU to save 200 bucks.

01:09:38   You'll feel a little bit better about it. It's like 2,400 bucks.

01:09:41   And just don't drop it and don't drop anything into it and you'll be fine.

01:09:45   Well, I think I will probably get AppleCare on this.

01:09:49   I never used to be an AppleCare person, but when I spent $95,000--

01:09:52   no, actually, that was you.

01:09:54   When I spent an obscene amount of money, though, on the iMac Pro,

01:09:56   I did get AppleCare because why wouldn't I?

01:09:58   As a percentage, it's like free.

01:10:01   And I was thinking I would probably do it for this as well,

01:10:03   which is something like 250 bucks, which is not cheap,

01:10:06   but especially on something that moves, it seems like it's probably a wise idea to do it.

01:10:11   I wouldn't do it, but you should.

01:10:15   Well, that's the thing. The adorable has a small line of dead pixels on it

01:10:20   that I don't know how it happened. It's never been dropped or anything like that.

01:10:24   I guess it was in a bag or pushed up against something in such a way

01:10:27   that it caused a line of dead pixels, which if I had AppleCare,

01:10:30   I would probably go about replacing, but I don't.

01:10:33   I feel like there's--oh, and the sticky keys that have happened all the time because butterfly.

01:10:38   It seems to me, especially with my track record, why wouldn't I get AppleCare?

01:10:43   So, yeah, I hear you. I don't know.

01:10:46   It's also unfortunate because I don't think you can do the expedited delivery.

01:10:49   Remember, it was like eight bucks to do expedited delivery on the iMac Pro or something like that,

01:10:53   and it does not seem like that's an option right now, which is really a bummer.

01:10:57   But yeah, so maybe I'll pull the trigger on this tomorrow.

01:11:01   Yeah, I think you should. I mean, honestly, whether you get the RAM or not, that's up to you,

01:11:06   but there's not going to be a better time to buy this because it just got updated.

01:11:12   It has all the good stuff. It has the good keyboard and everything.

01:11:15   Yeah, it has the touch bar. That sucks. But otherwise, it has everything else that you want

01:11:19   that you've been waiting years for using that awful 12-inch all this time

01:11:23   as it keeps breaking further from its initial mediocre state to begin with.

01:11:28   So, yeah, it's time. You need a computer like this, and you might as well just buy it.

01:11:33   All right, thank you, gentlemen. I will probably do that tomorrow

01:11:37   and then weep over having spent so much money on this, but I think it needs to happen, especially if...

01:11:41   The reason I hadn't bought it was because I felt like it was a frivolous and silly thing to do

01:11:47   until I realized I could legitimately need this for my work, and not even in the haha-funny way,

01:11:53   but legitimately I might need this for my work.

01:11:56   And that's not comfortable. Plus, with all my Synology problems as of late,

01:12:02   it seems like having only the iMac Pro, which by the way seems to be pretty good right now,

01:12:07   knock on glass, but having only the iMac Pro and not being terribly confident in its backup

01:12:14   does not feel like a great place for me to be right now, especially since I can't just walk,

01:12:18   or well, drive and then walk into the Apple Store and get service.

01:12:23   That's not a thing right now. The Virginia Apple Stores are not open right now,

01:12:26   and I don't know when they're going to open. So I feel like two is one, one is none,

01:12:31   and right now I have one. I mean, one and change. So that's effectively none.

01:12:36   So it seems like, even though this is a terrible time for me personally to be spending a couple thousand dollars on a laptop,

01:12:43   I do think it is... I have convinced myself in the way only Marco or perhaps me could,

01:12:50   it seems like a worthwhile expenditure of money.

01:12:53   Yeah, this is an important part of your job. Don't feel bad about it. You need this. Just do it.

01:12:57   Yeah.

01:12:58   Also, if your recording dies because you used the 12 inch on our show during WBC week,

01:13:04   I will kill you. So you might as well just avoid that outcome by getting this now.

01:13:09   Yeah, but you'd have to get very physically close to me to kill me, and that would be a poor choice in this particular day and age.

01:13:18   [Music]

01:13:20   John, tell me about Microsoft's new Fluid Office document and why it's not the same as that garbage that Apple tried to do 10 years, 20 years ago.

01:13:27   Or OLE that Microsoft tried to do before that, right?

01:13:30   So I've read a whole bunch of articles about this Microsoft Fluid Office thing,

01:13:36   and I mean, I keep reading them, and then I reread them, and I think I understand it, but then I don't quite,

01:13:43   so forgive me if I get a lot of these details wrong, but I think we can talk about it in the historical context that Marco just mentioned to maybe make some sense out of it.

01:13:51   So here's what I understand about it, and feel free to send me corrections.

01:13:57   This is another play by Microsoft to move more of its functionality sort of online and to the web.

01:14:05   So these are bits of content that you can imagine being created by the various Microsoft Office applications,

01:14:12   a graph from Excel, a block of text from Word, an email thing from Outlook.

01:14:18   I don't know if these details are correct, but anyway, they have a bunch of apps that make things.

01:14:21   Imagine if you could take chunks of that content and have them live on the web, so it's not like you're saving a Word document to your disk.

01:14:28   It's not like you're saving an Excel spreadsheet to your disk.

01:14:30   Instead, these bits of content are saved to a server somewhere, a Microsoft server somewhere,

01:14:36   and then you can embed that content in any other context in any other Microsoft application.

01:14:43   So if you want to send somebody an email in Outlook and have an Excel spreadsheet in it,

01:14:47   you don't have to attach a .xlsx, whatever the hell the extension is.

01:14:51   You don't have to attach a spreadsheet file.

01:14:53   You can put right in the email a little bounding box that says,

01:14:56   "Here is this bit of content that I made that actually lives on the web,"

01:15:00   and when the person gets the email, it will load the email,

01:15:02   and it will also load that Excel spreadsheet from where it lives on the web and have it appear in your email.

01:15:09   And like OLE, object linking and embedding, from way back in the day,

01:15:13   it's not just an image or a snapshot or a copy of a file.

01:15:17   It is the live, actual content.

01:15:19   So if someone has been changing that content, you will see the changed content in your email.

01:15:24   So it's basically like content that lives in the web that can be embedded anywhere,

01:15:29   and you're not stuck within each application.

01:15:31   So within a Word document, you can have an Excel spreadsheet and vice versa,

01:15:34   and within an email, you can have that content.

01:15:36   So the reason it comes up in the context of OpenDoc, which I'll talk about in a second,

01:15:40   is that it's trying to sort of invert the paradigm of first choose your application,

01:15:45   Microsoft Word, Excel, or whatever, and then once you're in that application,

01:15:48   make some stuff with it.

01:15:50   So you'd have to first choose, "I'm going to do a spreadsheet,"

01:15:53   and then you'd launch Excel, and when you're in Excel, you're doing spreadsheet things only.

01:15:57   And then if you decided in a Word document you want a graph from your spreadsheet to appear,

01:16:02   you could export that graph as a graphic or whatever.

01:16:04   Object linking and embedding was a way locally on your PC to embed a graph

01:16:08   from an Excel spreadsheet inside a Word document, but there was no web involved there.

01:16:12   I don't even know how well it worked under the covers in terms of if you emailed that document to somebody.

01:16:17   It was mostly in a pre-internet tidal wave era, if not chronologically,

01:16:23   then at least sort of psychologically, right?

01:16:25   But that's always fraught.

01:16:27   People on the other end would have to have the application and so on and so forth,

01:16:29   and this is more web world where Office 365 or Microsoft 365, whatever it's called now,

01:16:34   can all be online. Content lives in the web,

01:16:37   and the content is wherever you need it to be in any combination that you need it to be

01:16:42   with access to all the tools that you would expect from Microsoft Office

01:16:47   to be able to modify that and look at it and so on and so forth.

01:16:50   And it's more complicated than that in terms of sharing and identities,

01:16:52   and I'm sure they want you to have an Office 365 subscription to do all this,

01:16:55   and yada yada, there's the business model side of it, so on and so forth.

01:16:58   But technologically speaking, it is a modern way to make the application less important

01:17:05   and make it easier to mix and match content that you can make with Microsoft's applications.

01:17:11   It seems like it's also an open standard that third-party people can make

01:17:14   to put content from their application and mix it all together.

01:17:17   I don't know if it only gets mixed within Office documents

01:17:20   or if people can make their own things as well,

01:17:22   but the reason it's in my scrambled explanation of what I think fluid is,

01:17:28   the reason I put this in here is because it reminds me so much of OpenDoc in some ways

01:17:33   and in other important ways it's different.

01:17:35   So OpenDoc is something I know a little bit more about,

01:17:37   and I think it's interesting to compare the approaches here.

01:17:39   OLE I know less about. Maybe Marco can talk about that,

01:17:42   and if he knows more about it than I do, I don't know how this compares.

01:17:45   OpenDoc was around the same time as OLE.

01:17:49   I forget. I'm not good with dates, but OpenDoc was a long time ago, like '90s maybe.

01:17:55   It was another one of those ambitious technologies from the '90s Apple

01:17:58   that didn't really go anywhere. It had a bunch of good ideas.

01:18:01   Implementation was so-so. Steve Jobs came back and killed it, and people were mad.

01:18:05   There's a whole bunch of things in that bucket, but OpenDoc is one of them.

01:18:09   The paradigm of OpenDoc was that, again, rather than starting with an application,

01:18:15   instead it would be a document-centric model where you would start a document,

01:18:21   and if that document needed to have text, you would use an OpenDoc component of a word processor,

01:18:28   and you could write text in the document, and if that document needed to have graphics,

01:18:31   you could use the Adobe Photoshop. I'm not even going to get the terms right,

01:18:35   but I don't know what they were called, OpenDoc components.

01:18:38   I know the OpenDoc document thing was like a container.

01:18:40   I forget what the other things were called. Anyway, you can look it up.

01:18:43   You would pull in tools, and people would make these tools, and you'd just be working on this one rich document,

01:18:47   and you'd be able to select the best graphics editor, the best graphing tool, the best word processor or whatever,

01:18:53   and pull in their capabilities into the document you're working on.

01:18:57   The document you're working on would be filled with content created by these other tools

01:19:01   that are made by a selection of vendors, and the vendors would compete against each other

01:19:04   to provide the best drawing tool that you would use.

01:19:06   Again, rather than having to start with the application and work there,

01:19:11   and then export portions of it and import it into another application,

01:19:14   you'd always be working in your document, and the functionality would sort of gather around it on the outside.

01:19:20   There are a lot of reasons that OpenDoc failed.

01:19:23   Part of it has to do with the fate of Apple, and it was overextended,

01:19:25   and it was almost going out of business, and they needed to simplify, and so on and so forth.

01:19:29   But even if none of that had been true, I think the biggest reason OpenDoc was doomed to failure

01:19:34   was that it was a model that made potentially some sense from the user's perspective

01:19:40   that hadn't been proved out, but in theory you could say, "I can see how this would be better for users

01:19:44   because being solid into applications is annoying."

01:19:47   But it didn't make any sense for the software makers of the day.

01:19:51   If you are Adobe, you don't want Photoshop's functionality to be just another competing tool

01:19:57   surrounding this OpenDoc container, and you have to compete with other vendors doing similar things.

01:20:02   You want to control the horizontal and the vertical and be Adobe Photoshop,

01:20:06   and you want to have an application where you go to get all your stuff done and that you pay through the nose for.

01:20:10   And same thing for every other vendor.

01:20:13   It was to their advantage to sell you an application.

01:20:16   They didn't want to have to compete.

01:20:18   They didn't want each one of their little components, their vector drawing tool, their bitmap drawing tool,

01:20:22   their smart erase tool, whatever functionality that their app exposed,

01:20:27   they didn't want to have that functionality compete with, say, a dedicated company that just does,

01:20:33   in modern terms, like machine learning erasing of people from photos.

01:20:37   Photoshop has that feature within it, but they didn't want to have to compete one-to-one with a three-person company,

01:20:43   and the only thing they make is the world's best machine learning erase a person from a photo tool.

01:20:49   That doesn't help Adobe.

01:20:51   They want to get you into Photoshop and say, "Well, maybe not every single one of the tools in Photoshop is best in class,

01:20:56   but taken as a whole, Photoshop is best in class for image editing. Therefore, pay us lots of money."

01:21:01   And that, I never heard a convincing explanation from Apple, not in the '90s when I was following all this stuff,

01:21:07   and not in the future, of how Apple was going to sell the rest of the industry on this idea.

01:21:11   Maybe you could say it helped the little, you know, the small developer.

01:21:15   Look, you're never going to make a Photoshop competitor,

01:21:17   but you might be able to make a special purpose tool that just has the drawing tool that people need in this context.

01:21:23   And in this context of OpenDoc, you can compete against that tiny fraction of Adobe's functionality.

01:21:29   But in the end, it was building on top of what was then a single platform thing for a minority platform,

01:21:35   and you would never get the big players on board.

01:21:38   It's the same reason, you know, NeXT didn't fly.

01:21:40   It's the same reason, well, one of the reasons NeXT didn't fly,

01:21:43   and the same reason that the original Mac OS X, Mac OS X server initiative,

01:21:47   like basically the Rhapsody initiative actually before that, they couldn't get people on board.

01:21:52   Adobe wasn't going to port Photoshop to Cocoa.

01:21:54   Microsoft wasn't going to make Office for Cocoa.

01:21:56   And so they had to do the Mac OS X initiative with Carbon that allowed them to port their existing code without having to rewrite it all.

01:22:02   And that was a fairly minor thing compared to, hey, Adobe, stop making Photoshop and instead make,

01:22:09   God, I wish I knew the term for this chat room.

01:22:11   Can someone tell me what the hell the things were called in OpenDoc that weren't the containers?

01:22:14   Anyway, instead of making Adobe Photoshop application, make this OpenDoc component thingy,

01:22:19   and then you'll be one of a rich ecosystem of things that compete for our attention to work on our documents.

01:22:25   Again, as the user, it might seem attractive, but it never fit with the industry.

01:22:28   So bringing this back around to Fluid, it's slightly different in that the stuff lives on the web,

01:22:34   and it's slightly different in that it's basically Microsoft.

01:22:37   In the beginning, it's Microsoft trying to make Office better, right?

01:22:40   Having these silos of Excel, Word, PowerPoint, so on and so forth is annoying,

01:22:46   but practically speaking, Microsoft owns all the silos,

01:22:49   and so it's kind of like, well, we're competing with ourself here.

01:22:53   If we could make one master Office document application that does everything, we would do that,

01:22:58   but that would be too bloated and too complicated.

01:23:00   So instead, let's try to componentize the content and allow us to mix and match more easily,

01:23:04   and because we're in the Internet age, rather than using object linking and embedding in files

01:23:09   and embedded content off of a single thing, have it all live on the web,

01:23:12   because we've got this big push for the web anyway,

01:23:14   where you can edit on the web, you can edit it locally, you can use the applications that we offer,

01:23:18   and also, by the way, have a third-party story which lets other companies participate in this ecosystem.

01:23:24   But I don't think Microsoft is afraid that someone's going to come in and replace Word or PowerPoint

01:23:28   with their little tools that they do.

01:23:30   They just want, you know, whatever, Lucidchart or whatever, some small company to be able to make their tool that factors in,

01:23:35   although that's a video competitor.

01:23:37   But anyway, I don't think Microsoft is afraid of getting kicked out of its little thing,

01:23:41   because it controls everything about this experience.

01:23:43   It controls the whole Fluid platform, it controls all the hosting, presumably, all the components,

01:23:47   it controls the API, and it's got all the best tools.

01:23:49   So there is a third-party story here, but Microsoft in the world of Office applications is still very close to a monopoly,

01:23:56   so I don't think they're, you know, the business model is something they don't have to explain to people.

01:24:00   It just has to be useful for users.

01:24:02   Assuming I get any of this remotely right, the final thing I'm going to add is that my experience with Microsoft's tools

01:24:09   is that they always strike me as, oh, here's a little miniature version of Word in this context.

01:24:16   So, you know, Word documents and Excel documents can be viewed in a web browser now,

01:24:19   but you can also open it in a native application.

01:24:21   And every time I use, like, Word or Excel or PowerPoint in its web incarnation,

01:24:29   it feels heavy and slow compared to the sort of more web-native, born-on-the-web, let's say, Google Docs alternatives.

01:24:37   Granted, Excel may have more features than Google Sheets, and Google Docs certainly has fewer features than Microsoft Word,

01:24:44   but Google Docs feels more responsive, better with multiple editors, more collaborative, faster, lighter, like everything about it.

01:24:52   I don't like the feeling of, here comes Microsoft Word, plop, right into your document.

01:24:58   Oh, I get all the tools in Microsoft Word, all the quote-unquote power of Microsoft Word.

01:25:02   Everything is so slow and just difficult and takes a long time to draw, and scrolling is slow, and it just feels heavy.

01:25:10   That's what OLE was, by the way. Like, in the '90s with OLE, that's how it felt.

01:25:15   Especially back then, that was the era of no RAM and constant hard drive grinding for everything.

01:25:20   So I remember the very few times that I tried, like, I can embed a spreadsheet into my Word document.

01:25:26   It would grind everything to a halt, and things would crash, and it was a mess.

01:25:31   And we have more resources now, but it just feels heavy.

01:25:34   The thing is, Microsoft has some assets. It has these applications, it has the tools and features that they, you know, the world values.

01:25:44   They want powerful applications to do these individual tasks, but every time they try to mix them together, it's like, you can't,

01:25:49   it's not free to get all of Word's functionality suddenly appearing in Outlook.

01:25:53   There's a reason Outlook for years and years has had this little miniature text editing environment that is not the full-fledged Microsoft Word.

01:25:59   And when you bring in the full-fledged Microsoft Word, even if it's through, like, this little square that is, stuff is hosted on the web,

01:26:05   and it's, you know, like, it just feels heavy. Like, and adding, mixing more of those things together does not make the experience lighter.

01:26:12   It only makes it heavier. Maybe it doesn't make it as heavy as OLE, but it just feels sort of slow and clunky and heavyweight.

01:26:21   It doesn't encourage me to use it, unlike, for example, the experience of using Google Docs, especially in the beginning.

01:26:26   Oh, there's this document, and we can all be in at the same time. Hey, I can see you typing, and I'm typing at the same time.

01:26:32   Look at us. We're typing together. I mean, some of you did that ages ago, but, like, the web version of that.

01:26:36   That is the key experience. That little game loop is the key experience of Google Docs, and the fact that you can add comments,

01:26:42   and you can share, and it's, you know, a reasonable, basic, featured text, you know, word processing application.

01:26:50   And you can embed things from, you know, Microsoft. There's a little drawing thing, and you can embed LucidCharts, like I mentioned, because these are the things I use at work, right?

01:27:00   It does feel heavier when you start adding other stuff, but at no point has it ever felt as heavy as merely using a Microsoft Word document on the web, let alone embedding it in other things.

01:27:11   Now, maybe this fluid stuff is faster. It's a new architecture for multiple edits and syncing changes and all that other stuff,

01:27:17   but based on what I've seen pre-fluid of how Microsoft handles simultaneous edits, of how they handle comments, of how they handle tracking changes,

01:27:27   every aspect of the Microsoft experience, though it may have more features than the Google experience, it always feels heavier and slower,

01:27:34   and I think that is a big problem for a Microsoft to tackle. So I really hope this fluid approach lets them lighten up their applications and improve the protocols that previously they couldn't,

01:27:45   because this in some ways is a little bit of a clean break, because I think the fluid stuff is starting off with very limited functionality and limited context, and will expand out from there.

01:27:54   And if they can implement that in an efficient way, it will actually make everybody's life easier, including my life at work. So I hope they succeed, but I'm not particularly optimistic.

01:28:05   So a couple of interesting things about OpenDoc that I didn't know. First of all, one of the code names was apparently Amber, which is terrifying, because that's the code name for SwiftUI.

01:28:16   And additionally, the OpenDoc subsystem was initially released to run on system 7.5 and later on on OS/2 warp 4. Hell yeah.

01:28:26   Nice.

01:28:27   I always like a good OS/2 warp reference. It always makes me happy.

01:28:30   You were one of its only users.

01:28:32   I think it was me and Guy English. We were the only ones.

01:28:34   They were called components, I guess. I'm looking at the Wikipedia page. OpenDoc components. Containers and components, right?

01:28:40   Did either of you two ever use Cyberdog? Nope.

01:28:43   I feel like I recognize the name, but I don't recall what it was.

01:28:46   It was a web browser, an OpenDoc-based web browser. Apple made a bunch of OpenDoc. I don't know if they were components or containers.

01:28:53   OpenDoc things they made to demonstrate the technology, and one of them was a web browser.

01:28:57   This was back in the day when the idea of making a web browser wasn't a Herculean undertaking that you can't imagine.

01:29:04   It's like making simple text or a basic text editor. Oh, that would be a good example application.

01:29:10   Can you imagine doing a web browser as an example application for literally anything?

01:29:14   It's like the most complicated application I ever had on our computer, basically, in terms of features and legacy.

01:29:19   But they did. The web was simpler then. Cyberdog, not a great name for a web browser.

01:29:24   Even by the standards of the day, it wasn't a great web browser.

01:29:28   No one was going to use Cyberdog instead of Netscape or whatever the contemporary actual thing was.

01:29:33   I think it was the time when they thought the web was simple. It's like, "Oh, HTML, paragraph tags, bold, italic. I'm done, right?

01:29:39   Oh, images. Now I'm really done, right?" Maybe not Cyberdog. Sorry.

01:29:44   But it did have a cute dog graphic and a silly name.

01:29:48   All right. I wanted to give some Ask ATP. Let's do it.

01:29:52   Okay. Benjamin Charbaugh writes, "I recently bought my family's first house and I'm doing..." Well, congratulations.

01:29:57   "...and I'm doing research to figure out the best Wi-Fi networking setup.

01:30:00   I know that you've talked about liking Eero in the past, but with Wi-Fi 6 becoming more mainstream,

01:30:04   countless new mesh networks available, and ISP speeds increasing,

01:30:07   I was curious what you three were doing for your home networking these days. How much bandwidth, what routers, etc.

01:30:12   For me, I got comped in Eero's system when they were sponsoring originally,

01:30:17   and I've been using that ever since, and it works really well.

01:30:22   I mean, they didn't sponsor this episode, but they have sponsored in the past.

01:30:25   But the truth of the matter is, it really does work really, really well, and I really do like it quite a bit.

01:30:30   I can never get their naming right, though. I'm trying to figure out exactly what I have.

01:30:35   So I have one Eero Pro and two Eero Beacons, and my house is something like 2,200 square feet,

01:30:44   and I probably don't need both Beacons. I might not even need any of the Beacons,

01:30:50   but it came as a pack at the time, and it works really, really well.

01:30:54   I like the app. I have no particular complaints about the app.

01:30:58   I have symmetric gigabit service to the house, and especially via Ethernet,

01:31:04   I can never say that I have any particular qualms about it. Via Wi-Fi, it's more than sufficient as well.

01:31:10   So it's been going really well for me. I'd like to save Marco for last.

01:31:14   John, what are you doing for Internet in your house?

01:31:17   The question is, part of the context of this question is like emerging standards, the new Wi-Fi standards.

01:31:22   Ah, yes, yes, yes.

01:31:23   The mesh network and stuff like that. But the most important thing for me in my house related to networking is that it be reliable.

01:31:33   I have wired networking to basically everything where I care about speed.

01:31:37   All my desktop computers are wired, all my game consoles are wired, my television is wired.

01:31:42   I have actual Ethernet running to all those things.

01:31:44   It's only a gigabit, right, because I just have gigabit switches and Cat6 cable everywhere or whatever.

01:31:51   So it's not 10 gig and whatever. Someday maybe that upgrade will come.

01:31:55   But my Internet connection is a gigabit and my internal house network is a gigabit, so it all basically works out.

01:32:00   And then Wi-Fi is just for people walking around the house.

01:32:03   I have, since I think I got the free Euro thing when they first sponsored as well, but since then I think I've purchased two complete Euro sets.

01:32:11   So I'm on whatever the most current model is. Mostly because I gave them away to family and I just kept upgrading my setup.

01:32:17   But I have whatever the Euro current product is. It's three things.

01:32:21   The one thing that the Ethernet cable plugs into and two other things I have plugged in elsewhere in the house.

01:32:26   And that's basically enough to cover my house. It's not as fast as the latest standards are going to be.

01:32:32   I bet I could get even faster signals if I put in more of the base stations just because the way my house is set up and the lead that is in my walls apparently.

01:32:41   I don't know. I've got an old house. It's not great for Wi-Fi signal.

01:32:45   But it's good enough. Occasionally, just the other day I was watching video on my iPad in my bedroom and it was Netflix and it was breaking up.

01:32:53   I'm like, "What the hell?" And I stop and relaunch and it was just terrible quality.

01:32:57   So I did a speed test and it was like 150 megabits. So I was like, "Nope. It's not my internet connection. My Wi-Fi is fine."

01:33:05   It was some internet weather related thing.

01:33:07   Since reliability is the biggest concern for me, I don't anticipate upgrading anything until I have a reason to do it.

01:33:16   Eventually, when Wi-Fi 6 becomes mature and all the products roll out or whatever, I will probably replace my Eero with another Eero system that supports the newer standards and has faster Wi-Fi.

01:33:27   But I'm in no hurry to do that. I basically just want it to work and have sufficient speeds for my needs, which is basically can I stream Netflix from any room in the house?

01:33:36   Do my kids not complain about watching YouTube in their bedroom? If everything on that level is fine, I'm not looking to upgrade it.

01:33:45   So my suggestion for dealing with the house is wire everything that you can wire, because wires are great.

01:33:51   And then get a setup that works and don't mess with it until and unless there's a sort of step change in speeds or until your kids can start complaining.

01:34:00   Apparently, they still do sell the pack that I got, which is one Eero Pro and two Eero Beacons for $400, although apparently on sale, three Eero Pros for also $400.

01:34:15   The beacons are super nice because you can just put them on a power outlet and it all just kind of figures itself out from there.

01:34:21   But if you have Ethernet throughout your house, you could do multiple Eero Pros, which is probably an even more robust solution.

01:34:30   All that being said, Marco, you have some completely bananas set up if I'm not mistaken, so why don't you tell us about that?

01:34:37   I have the new nerd standard, well not even new, the modern nerd standard of if you're a super nerd about this stuff, you generally get Ubiquiti gear.

01:34:46   And that's what I have. I have Ubiquiti's, not their new easy consumer mesh thing, I believe they call it Amplify, not that.

01:34:54   The other, like the Unifi gear, where you have to buy all the components separately.

01:34:58   So you have the security gateway or edge router as the actual router, which is only a wires only device, and then you plug that into a switch.

01:35:08   And you plug that into your wireless access point or points. You can have multiple access points.

01:35:14   You kind of assemble everything from components. And the total cost of a Ubiquiti system is, you know, it's up there.

01:35:22   You're looking at probably $400 as a minimum to get a nice decent full home set up. It's certainly not inexpensive.

01:35:29   And it's also fairly complex to set up. Now it has gotten a lot easier to set up in recent years.

01:35:35   They now have much better set up wizards and things. And you almost never have to go into super advanced settings for most people's home needs.

01:35:44   But if you have specialized needs, that's there if you need it. Like if you want to jump into a command line and SSH into your switch and change a certain thing, you can do that.

01:35:54   I've been running Ubiquiti gear at my house. I did one big upgrade this past fall where I basically replaced everything with like a faster version of everything.

01:36:05   Before that I had been running the same set up for a number of years. And in both cases, the new set up and the old set up, I've had no problems.

01:36:13   I've never had to reboot the router unless I had like a power outage. It rebooted incidentally as a result of that.

01:36:20   But like I've never had a problem with my Ubiquiti set up that was solved by having to reboot the router. That has never happened.

01:36:28   And with almost anything else I've ever used, with the exception of Eero, which I've used Eero at the beach.

01:36:34   And I also use it, I set up my in-laws with Eero. And I've used it a couple, I think one or two more times besides that.

01:36:41   So that was fine, but I didn't use it for so long that I could honestly say like, "Oh, this never has problems." Because I wasn't using it for like months and years at a time.

01:36:51   But I can say for the Ubiquiti gear, I can say that. I can say like, "I've used this for so long, it is rock solid." And I love it.

01:36:58   That being said, if you aren't a super nerd, you should probably just get something like an Eero or whatever.

01:37:04   I don't follow the MeshRouter business that closely. So if the review sites all say something else is better this month, fine, consider that too.

01:37:11   I can't tell you one way or the other on that. But if you are a super nerd, the Ubiquiti stuff is really cool.

01:37:17   And one thing that's nice about it in regards to upgradability is if some new standard for Wi-Fi comes out,

01:37:25   Ubiquiti is usually not one of the first people to adopt it because they mostly sell to enterprises and enterprises usually don't care about that.

01:37:32   They have different needs that are more about reliability and massive amounts of clients being supported on one AP and stuff like that.

01:37:39   But when Ubiquiti does release access points that use the new standards, you can just replace your access points and not replace your entire router setup and everything.

01:37:49   And so that's a pretty nice thing to have where you have it componentized. Similar to how, for right now, I have some issues with my iMac and it kind of sucks that it's all in one.

01:38:00   And I can't just replace a part of it. I have to bring the entire thing to the beach, et cetera.

01:38:05   And if I had a Mac Pro, I would lose all my money, but I would have a more modularized setup, right?

01:38:11   Ubiquiti stuff is basically the Mac Pro of networking gear. It's a modularized, high-end thing that is a little hard to figure out even what you have to buy.

01:38:21   They're making some advances there, but it's a very complex thing to get into. But once you're into it, it is so rock solid that you will never think about your network.

01:38:32   All that being said, though, again, when it comes to new standards, I'm more with John on this. I don't really usually care that much about when new Wi-Fi stuff comes out.

01:38:42   I'm certainly not usually living on the cutting edge of it because almost all of my high bandwidth devices are wired. I too have gigabit networking wires run throughout different parts of my house.

01:38:54   Anything that can be wired reasonably is wired. The actual wireless use on my network is usually not things like large file transfers.

01:39:03   If I'm doing, like, I need to move this 20 gig folder between my desktop and my Mac Mini for storage or for archival, that's going over wires.

01:39:14   So the Wi-Fi doesn't help me there. Where Wi-Fi does help is when you're using phones and laptops and iPads and stuff like that.

01:39:21   But for all those things, I don't really need cutting edge speed almost ever, and they don't usually support it.

01:39:27   What's much more important to me is range and reliability. If there's some big advance that comes out that can dramatically improve range and reliability, I'm there.

01:39:37   But if it's just about getting peak transfer speeds higher when you're in ideal conditions, which I never am, then I don't really care about that kind of stuff.

01:39:46   I haven't looked too much into Wi-Fi 6 to see what it's actually making better, but I'm not really itching for meaningful changes in this area.

01:39:55   Because everything's pretty fast and reliable for me already with my current setup that's all, I guess, based on AC.

01:40:02   Maybe in a few years, once Wi-Fi 6 gear is really boring and mature, maybe I'll upgrade to it then.

01:40:07   Speaking of componentized things, I actually do have one other component that I neglected to mention, mostly for laziness, but also because it's a way to componentize.

01:40:15   So I have an Eero, and I use that for my Wi-Fi, but I also have the old Airport Extreme that Marco sent me, the last, like, the tall refrigerator proportion one.

01:40:24   No hard drive inside it, but that thing. And that replaced my previous Airport Extreme, which was the flat, pancake, Mac Mini-looking white thing.

01:40:32   And the reason I had been using the Airport Extreme before the days of Mesh Network is because it was reliable and it was app-lish and yada yada yada, and they stopped making it.

01:40:39   The reason I wanted Marco's was because I didn't want to have to set up all my networking stuff again.

01:40:45   I used to be stupid and have all sorts of Mac address validation, and I eventually stopped doing that.

01:40:49   But I still do have IP reservations, so I know the IP addresses of things in my house.

01:40:54   And I have a surprising number of devices set up, and I didn't want to have to reproduce that on the Eero.

01:40:59   I could have, it has all the same features, it's not rocket science. I just didn't want to bother.

01:41:03   So my "router" is still the thing that Marco gave me, the Apple Airport Extreme that I imported my rules from my old Airport Extreme.

01:41:13   That's the thing that hands out the IP addresses, that's the thing that connects to my Fios, you know, all that stuff.

01:41:18   And then the Eero attaches to that, acting purely as, in whatever they call it, bridge mode or whatever, as Wi-Fi.

01:41:25   So I have my own little cobbled together ubiquity system here of like, "Yeah, I have a separate router and I have separate access points."

01:41:31   And it's kind of dumb, and eventually if one of those components dies, the Eero can totally take over.

01:41:35   I just don't want to reenter all of those rules.

01:41:37   So all this is to say that you can, you know, if you're cobbling together your home networking out of just stuff you happen to have hanging around, you can do that.

01:41:46   And you know, networking standards such as they are, like this Apple thing didn't know anything about Eero or vice versa, but they all speak protocols and I haven't had a single problem with this setup.

01:41:55   The only thing is occasionally there's some new feature that Eero rolls out that I can't use because I'm in bridge mode.

01:42:00   I feel like Eero is indignant that I'm using it in bridge mode, but I am, and it's fine. It works fine.

01:42:06   I have zero problems with that. I don't even know enough about networking to know exactly how it works.

01:42:11   I just said, "Eero, you don't hand out IP addresses. Let the airport do that." And then everyone just shakes hands and everything works fine.

01:42:17   Marco, tell me again, it's the Amplify line that you're using?

01:42:22   No, it's the other stuff. It's Unifi. So Amplifi is basically like their version of Eero.

01:42:27   Gotcha.

01:42:28   It's like how all the network manufacturers now have basically Eero clones. It's some kind of, you know, easy home mesh system.

01:42:34   It's not that. I'm using the Unifi line, which is like, you know, the businessy one.

01:42:38   Gotcha. Okay, I was trying to tell them apart, and I was looking at the Amplify stuff, and aesthetically it did not look like your aesthetic, but I was going to go with it, so it turns out...

01:42:50   No, it might be good. I don't, like, when I bought my setup initially, that was before they existed, and when I upgraded, I basically wanted to upgrade within the same family of stuff because I knew what it worked.

01:42:59   The hardest thing with Ubiquiti is learning what you have to buy. Like, when you look at their components, you're like, "Okay, well, what is this thing? What's the security gateway? What's the cloud key? What's..."

01:43:10   Like, it's very hard as a newbie to the product line to identify, like, what exactly do I need to have, like, a regular wireless router setup.

01:43:22   And it's not trivial. The answer's not trivial. The new Dream Machine line makes significant improvements in that area, but before that, it was substantially more complicated.

01:43:33   So, I don't necessarily want to go into all that on the show, but would it be fair to say that you'll put links to, perhaps, the bare bones Marko-recommended products in the show notes? Is that a reasonable compromise?

01:43:46   The only thing is that I haven't used a Dream Machine yet. I don't know if it's any good, but if it's good, and it's still a little young to tell, and even the, like, home version, like the non-rackmount version, has a fan, which I don't love.

01:44:01   But if the Dream Machine is good, then that's going to be the new recommendation of, like, just get that, and then maybe an access point or two to add, you know, coverage to your house, because it has a built-in access point, but you can, you know, you can have multiple access points, just like, like, Euro and everything.

01:44:16   So, like, the recommended setup is probably going to be a Dream Machine and one or two additional access points. But it's just too young of a product for me to really know that yet.

01:44:25   All right, cool. Jeffrey Wilkinson writes, "I finally bought a new 16-inch MacBook Pro," that sounds familiar, "and I have had a heck of a time moving my development profile over. It's horrible. Confusing crypto signing keys, trying to export my profile, and even moving over my favorite theme is terrible.

01:44:40   Any advice on moving development machines? I ran into so much trouble that I revoked all my certificates and regenerated them. Things seem to work at the moment, but I'm rattled."

01:44:47   I haven't done this because I've let Xcode manage my certificates and all that for both my apps. I remember going through this at work, and I still have some scars from it.

01:44:59   I don't have anything constructive to recommend. And Marco, are you doing all automatic signing on Xcode, or are you doing your own manual stuff?

01:45:07   I wish I could do automatic.

01:45:09   Oh, you have CarPlay and things, don't you?

01:45:11   That's it, it's CarPlay. So I don't know if they've changed this since last year. Last year at W3C, when I definitely didn't abuse my press pass to go to a lab a couple times, I definitely wouldn't have asked somebody there this one issue of, "I wish that when you have the CarPlay entitlement that you can use Xcode automatic signing."

01:45:32   But as of last summer, I haven't checked since then, I don't know if it's changed, but it probably hasn't. As of last summer, if you had CarPlay, you could not use automatic provisioning.

01:45:43   So I was still doing everything the old way. And that's increasingly hard. It's funny, now when you have an app that has, say, an extension for the watch, an intense extension for Siri, and a Today widget, or whatever they're called,

01:45:58   and you have all these extensions, well, every single one of those extensions has its own provisioning profile.

01:46:03   So when you have to go create a build of your app, or when you have to go renew certificates, I have to generate 11 provisioning profiles for all these different parts of my app.

01:46:13   And I have to do all this every year, because of course they expire after a year, so every year I have to do the whole thing again.

01:46:21   And sometimes, as Jeffrey wrote, sometimes if I have to install to a new computer, sometimes it doesn't come over correctly.

01:46:28   So Xcode has this feature, so basically, anybody who doesn't know, when you're developing iOS apps, there's all these signatures and public and private keys and certificates and everything that you generate,

01:46:38   and you work out with Apple so that they can verify that you are the one who made this app as you're submitting it to them, and you're signing it with your certificate and everything.

01:46:45   And the way this is usually stored is in a series of keys and certificates in your Mac's local keychain.

01:46:51   And so if you want to move that, or export that ability to be able to write applications and sign them correctly from another computer, you have to export that stuff.

01:47:00   And in the early days of doing this, you just had to do it all yourself, and it hardly ever worked, and it was horrible.

01:47:05   In later days, a few years into the App Store, they added this feature to Xcode that you could export developer profile and import developer profile.

01:47:13   It would basically export all that stuff out of your keychain into a package file that you could secure with a password, and then you could move that one file to another computer, open it up, enter the password, and import all that stuff into your keychain.

01:47:25   And that works much of the time, but as with everything with Xcode and signing stuff, not all the time.

01:47:34   And so I have had to do exactly what Jeffrey said, which was sometimes you just can't get it to work right, and you just have to blow it away and revoke all your certificates and start over and make it all fresh.

01:47:45   If Xcode is configured to work automatically, I have found in the few contexts in which I can do that, like I just did a forecast update, which I'll talk about some other time, and that's a simple enough app that I can use the automatic stuff.

01:47:57   And it's glorious. I love whenever I can use automatic stuff, I'm like, "Oh, just check a box and it just worked, it just fixed everything, that's wonderful."

01:48:06   But there are still cases like CarPlay apps and a few other exceptions where certain apps just can't use it.

01:48:13   And when you tell this to Apple people when you've snuck into W2C with your press pass, when you tell this to the Apple people that you can't use it, it kind of blows their minds.

01:48:21   They're like, "Oh, wait, what? Really? You can't use it?" And then they go ask somebody else, "Oh, oh yeah, I guess you can, wow."

01:48:28   It's like they don't realize the pain we're going through necessarily because they don't deal with these things the same way we do.

01:48:33   They don't use the tools in these same ways. It's really a pain to not be able to use the automatic stuff.

01:48:38   And even the automatic stuff does occasionally fail.

01:48:41   There's often problems where if you have two private keys that have the same name or similar names or you've generated two keys on the same machine, two certificates on the same machine for the same company ID, that could be a problem.

01:48:54   Or if it picks the wrong company, that could be a problem. There's all sorts of ways that can go wrong and you have to just blow it away and recreate everything from scratch.

01:49:01   And I wish I had a better answer and I wish I didn't have to do that, but that's the answer.

01:49:05   John, any other thoughts? I have no idea how any of this stuff works and I'm terrified of it not working.

01:49:11   I feel like my Mac Pro is like Nintendo Switch back before the Nintendo Online Service where your Zelda save game was associated with that switch and if you dropped that switch in the ocean you lost your save.

01:49:20   That's how I feel like my dev environment is. So multiple things.

01:49:24   First of all, before I made my Mac apps, I had a bunch of Apple developer stuff.

01:49:28   I've had an Apple developer account for years and years, decades, right?

01:49:33   And I have development certificates for doing stuff. Like I made that Safari extension and they changed the way Safari extensions were made at least once.

01:49:41   So I have a bunch of residue of my web developer certificate and my various accounts at various paid levels at different times.

01:49:51   And then there's a Mac development versus iOS development. All that stuff is in there.

01:49:55   And then I go make a Mac app and I'm like, "So what do I need to do? I already have my Apple developer account and I'm using the same one. There's tons of stuff in my keychain. I don't know what any of it is."

01:50:10   I look at Xcode and I can see, part of it is because I know from watching WWDC for many, many years, but part of it is just the sense, you see the sediments of how it used to be way harder to deal with signing.

01:50:24   And the Xcode has slowly made it easier by adding more sort of management screens and more things that are automated, but still at the edges like where Marco is, you can tell, A, the manual way to do it is still there.

01:50:36   And B, sometimes you need to fall back to that. I have no idea how the manual way works. The automatic way, so far, fingers crossed, has always worked for me.

01:50:45   But I got an email recently that said, "Some of your certificates are going to expire." I'm like, "Please have a link that I click and it renews them or whatever." And it didn't. I'm like, "No, I can't. Your thing is about to expire. Great. Do a new one. Renew."

01:51:01   Like, I don't know. Do the thing. And I don't even know what the consequences are of it not working. Like, if I let them expire, do my apps stop working on everyone's machine? Can I just not make new applications? Can I not build? I don't even know anything.

01:51:15   The good thing is that if everything expires, or if you have to recreate new ones and you go and revoke your old ones from the dev center, the apps that are out there don't stop working. They don't break. But you can't submit new builds until you work that out. So the good thing is, in that worst case scenario, if you have to nuke everything and start over, you're not affecting your customers by doing that.

01:51:36   All you're doing is, "Okay, it's going to take me an extra half hour to get this set up today before I can actually submit a build."

01:51:42   Yeah, you're optimistic. Well, I mean, it's not even clear to me when I'm doing it that that's the case. Like, I hope that's the case. Intellectually, I can imagine it being the case, but I don't actually know. So every step of the way is terrifying.

01:51:55   And when I got that thing about certificates expiring, I don't know why they were expiring. Like, it's not at the same cadence as my developer account. It's some other cadence, because I had generated certificates some other time, and I generated them like, "Where are they? Are they in my keychain? Are they in Xcode?"

01:52:08   I see a bunch of crap in there, including identities of other people's Xcode products that I've opened locally on my computer, and I always have to go in and change the team to my team.

01:52:17   And then, of course, I did the thing where I changed from my name to my LLC name, and there's a bunch of residue of that lurking around. God, I have no idea how it works.

01:52:25   So I had the idea of having to do dev on another machine. This is the first I heard about that identity export thing, so that's great. Now that I know that exists, I would try that, and I would hope it would work.

01:52:37   So all this is to say is that it's clear that Apple has made this a lot easier, and I'm glad they have made it as easy as they have, but it is still, for me, one of the scariest parts of doing development, just because it seems so much less like programming and so much more like, you know, I don't know.

01:52:52   SSL certificates, the thing I at least know a little bit more about, is just as annoying, mostly because it's like, if you're doing SSL certificates all yourself, at least for me as a web developer, fine, like I can do it, but me trying to do SSL certificates through my shared hosting plan ISP through their weird interface, it's too mediated.

01:53:10   And I feel like Xcode came from that place where you have to do a bunch of signing stuff, but it's mediated through tools and servers and systems that you don't control, so it's all about playing by the rules of whatever system they set up.

01:53:23   Like you don't actually control everything from top to bottom, right? And if you make that system good and the Xcode system is apparently, you know, is getting much better, it's okay.

01:53:32   But if that system is creaking anyway or breaks and you can't understand why, the whole delete everything and start over, you know, starts to become your only option.

01:53:40   And honestly, I don't even know how I would do that. Like I suppose if I just deleted everything, delete, delete, then I would just start at the Apple developer website and just start recreating things.

01:53:49   But there's so many different certificates now, like Mac installation, Mac distribution, Apple developer, like it's very confusing.

01:53:58   Again, I don't want to, you know, slam Apple over this being confusing because it is inherently confusing and I think they have made tremendous strides in making it easier, but there's still a ways to go.

01:54:07   Yeah, and I think this might be an unpopular opinion, but I think this is made so much worse by the heavy use of Keychain in this process.

01:54:16   And there's also, there's two different levels of like centralized repositories that are in use here.

01:54:22   Your signing keys and certificates are stored in Keychain, they have to be. Your provisioning profiles are stored in like this hidden Xcode directory.

01:54:33   Like you double hit them to add them to Xcode and then they just disappear there somewhere.

01:54:37   And like it's some, you know, you can find it like at some, you know, buried deep within library directory if you need to find it, but like it's abstracted away from you.

01:54:44   So these two different sources of like centralized repositories on your computer that you can't easily see where it went or how to change it or how to edit it.

01:54:55   If you go into Keychain or that random provisioning profile directory, everything's just a jumbled mess.

01:55:01   You can't see like what belongs to what project, what belongs to what app. It's very hard to tell sometimes.

01:55:06   I think that Keychain is basically the max registry. And I'm sorry for all the people who this is offending.

01:55:15   Keychain is this centralized repository in the system that stuff gets added to and rarely taken out of.

01:55:23   Things can have conflicts, things can have duplicates. Like so many bugs and weird behaviors are related to Keychain.

01:55:32   I have so many problems that are Keychain problems, you know, at the end of the day.

01:55:37   Windows, the Windows registry has been widely criticized for decades ever since it existed I think in Windows 95 and above.

01:55:45   It's been criticized because it was this centralized place. Before that you were criticized for DLL hell.

01:55:51   And a similar thing of like these DLLs would be these centrally shared libraries.

01:55:58   And yeah, it turns out you can have conflicts when that happens and you can have duplicates and clutter and all this stuff.

01:56:03   The registry has the same problem and Keychain has the same problem.

01:56:07   And what I wish for Xcode, the way it does all this stuff, I wish it could just, you could just have a file that had your certificates in it.

01:56:17   Like the way when you're setting up a web server with SSL, like you just have those certificates in files.

01:56:22   And you just point the web server, say use this, here's the certificate file, here's the key file.

01:56:26   If it has a password, here's how you can get that or here's, whatever it is.

01:56:29   There are files in the file system and you can just point to it and say here do this.

01:56:33   Because one of the ways the Xcode system falls down so hard with this is when you have multiple projects or multiple companies.

01:56:39   Or you're a consultancy and you have a lot of different companies you create stuff under.

01:56:43   Or in the context of this question, if you want to move it to a new computer, it causes problems.

01:56:48   Things break, things go wrong. You can't have it like source control or whatever.

01:56:52   It's hard and it's complicated because you're dealing with these centralized registries of Keychain and the provisioning directory in Xcode.

01:57:01   If that was separated out and it just was a file and the Xcode project could contain this file.

01:57:08   And yeah, you know what, for security reasons, encrypt it the same way the export developer profile files are encrypted.

01:57:14   And prompt the developer for the password on first use and store the password in the Keychain.

01:57:20   And for every other use you're referring to that file instead of the centralized registry that for some reason we think is okay because Apple made it.

01:57:30   But it has many of the exact same problems that the Windows registry does.

01:57:33   And I don't know any Mac power users who have never had a problem with Keychain.

01:57:39   So many of my problems with Xcode and signing are about using the centralized repository and picking the wrong identity from it.

01:57:47   Because it's trying to do some kind of automated magic from the centralized list of things that might have two or three certificates in it that might be similar but slightly different that were at a different time for different programs.

01:57:56   It's a mess. If they could decentralize that and just make that a part of the project, it would be so much better.

01:58:04   And you could still have all the same security by using that local file encryption and then just storing the password in Keychain.

01:58:11   You'd have all the same security but it would be a lifesaver for all the people who have to work with multiple computers or multiple companies or multiple projects.

01:58:20   I like the idea of it being centralized to defend Keychain for a little bit.

01:58:24   I like the idea of there just being one implementation of this thing.

01:58:27   Granted, you could say, well, it's only security sensitive stuff should be in there and not the public search or whatever.

01:58:32   But I like the idea that it's all in one place.

01:58:34   The problem of garbage filling it up is there but I don't blame Keychain for that.

01:58:38   I don't want each individual app to implement its own bespoke way to make a package file full of stuff, some of which is secure and then encrypted.

01:58:45   I want Keychain to exist for that reason.

01:58:47   It's up to the applications to use this secure data store in an intelligent way.

01:58:54   If Xcode, for example, is putting things into the Keychain but then pulling them out later based on heuristics, that's Xcode's fault, not Keychain's fault.

01:59:02   I understand Keychain gets the blame because you've got to go in and like, oh, I've got to delete this old certificate or import this thing that wasn't imported.

01:59:10   I didn't realize I had half of this and didn't have half of that.

01:59:13   But I don't blame Keychain for that.

01:59:14   Keychain is just a dumb bucket for things and I want there to be a single one of those that presumably is implemented well on the system.

01:59:21   And I don't mind even if stuff in there that's not security related is in there as long as it's associated with the security thing.

01:59:27   You could say there could be more features for more hierarchy in it, like Keychain could use a little bit of attention.

01:59:31   But when it comes to security focused repositories like that, adding features is tricky and you have to do it cautiously.

01:59:39   Like, oh, shouldn't there be a relationship?

01:59:41   And so I can see what's linked to what and you can have metadata and there could be a hierarchy.

01:59:44   But that complicates the system a lot.

01:59:47   And Keychain might be kind of old and creaky code at this point or whatever.

01:59:50   It might be. It's definitely old and creaky code at this point.

01:59:54   Yeah, I mean, I think it could definitely be improved, but I think Xcode's use of it is the root of the problem.

02:00:03   And the idea of splitting up the data is part of the problem that you just talked about.

02:00:07   Like, Xcode stores some stuff in one place, but then Keychain stores the other stuff.

02:00:10   If it was all in Keychain and it was all well managed, that would work well.

02:00:14   The thing that mixes in here to make it even more confusing is this iCloud Keychain, which in theory makes your Keychain appear in multiple places.

02:00:22   But as with anything related to iCloud and syncing, that's not extremely new, which this isn't.

02:00:28   And especially for things that are secure related, iCloud Keychain, to give an example, this is not a perfect analogy,

02:00:35   but my son was dealing with his Xcode stuff and he wanted to continue working on his Xcode thing somewhere else.

02:00:41   Thankfully, I don't think there's any signing involved because he's not doing stuff up to a store or whatever,

02:00:44   but he just wanted the same stuff on his other computer.

02:00:47   And he had, unbeknownst to me, his account had been created, I think I chose to do this when I set up his account,

02:00:52   I turned on iCloud desktop and documents syncing because I figured, oh, well, this will just let him see the same things he sees on the iMac as he does on the MacBook Air.

02:01:03   He doesn't have any important stuff, it's just some screenshot he's got on the desktop, and it'll be nice if screenshot is on the desktop in both places.

02:01:09   So I turned that on, right? Then he started making Xcode projects and storing them on his desktop.

02:01:14   Oh, no. So then he goes over to the other machine and it's like, is the Xcode project over there?

02:01:20   Because he doesn't know what version control is, and I think we had the conversation before.

02:01:25   Anyway, I'm like, that's, yeah, I know you see it in both places, but don't.

02:01:32   That's not how you share source code across machines, you use version control.

02:01:37   And I feel kind of the same way about iCloud Keychain, where it's like, yeah, I know you want to do development over here on this other machine,

02:01:44   but some of the stuff is in that library directory that Xcode put there, but then some of the stuff is in Keychain,

02:01:50   because technically iCloud Keychain does sync it if you have it enabled.

02:01:54   The stuff that Margaret was talking about, like, oh, it's great when Xcode handles it for me, that's what I want.

02:02:02   I just want smarter tooling to say, I can get the lay of the land, you don't have to worry about, for whatever legacy reason,

02:02:08   this is Xcode, might be storing some stuff here and some stuff might be in Keychain,

02:02:11   but just give me like, you know, there is like a management window inside Xcode that says, here's all your stuff.

02:02:19   You've got seven Apple developer accounts, you've got 20 identities and provisioning profiles, and here they all are.

02:02:24   I know where all the stuff is, and if some of it's broken, I can fix it for you,

02:02:28   and you can pick among them for each project and like just store it all, and I don't care,

02:02:33   I just want like an interface that manages it for me.

02:02:36   When that works, it's great.

02:02:38   When it doesn't work, then I have to go dig in and say, okay, which thing is here and which thing is there, what do I do?

02:02:43   I don't want to ever have to do that.

02:02:44   And I think Apple has shown that it is possible to get to that place where you just don't have to worry about it for the simple to medium cases.

02:02:51   They just need to go a little bit farther and then maybe revisit some of the implementation details,

02:02:56   like the idea of packaging up all that information in some kind of library or whatever,

02:03:02   like they've done with the export, or maybe just the non-security related stuff,

02:03:06   or maybe just even a bunch of pointers that say, here's how it should be set up, go fetch the stuff from the secure places,

02:03:11   and if it's not there, sync it with iCloud Keychain.

02:03:13   I don't want to make it sound like we're slamming things.

02:03:16   I just see the light at the end of the tunnel.

02:03:17   I feel like we're almost there. We're like 85 percent of the way there.

02:03:20   We just need to do the second 85 percent or whatever the mangling of that saying is.

02:03:26   Oh, goodness.

02:03:28   All right, finally, from Chris and Jay Niles, for Marco,

02:03:31   does the increase in people working from home change the math around a Mac version of Overcast?

02:03:36   While I still don't listen on my iPad, I'd love to have it on my Mac,

02:03:40   so I wouldn't have to change my AirPods pairing for podcast listening versus video calls.

02:03:43   Don't distract him. He's doing a membership program.

02:03:46   And I have a lot of more pressing Overcast problems to deal with as well.

02:03:50   But yeah, it changes it slightly, but not enough to really accelerate plans.

02:03:56   So what's holding back Overcast for the Mac right now is a combination of generally low demand,

02:04:03   which this could be changing slightly,

02:04:05   and the high amount of effort that it will currently take to make a decent Catalyst app,

02:04:11   or the even higher amount that it would take to not use Catalyst and make a direct to AppKit version of it,

02:04:17   neither of which I'm super excited about right now.

02:04:20   The first version of Catalyst proved to be less capable and harder to make a good app with than we had thought.

02:04:29   And at this point of the year, we're so close to WWDC and presumably better versions of Catalyst coming out, probably,

02:04:38   that it doesn't make a lot of sense for me to start investing heavily in a Mac port in March or April or May of this year,

02:04:47   instead of just waiting until June for the new updates and making a better, more informed decision

02:04:53   once we get to play with the new tools and to see, "Okay, how is Catalyst version 2?"

02:04:58   And if Catalyst version 2 is still terrible, that could inform things in a different way.

02:05:04   If Catalyst version 2 is a heck of a lot better and easier to get certain things that are of nicer usability and nicer quality and things like that,

02:05:12   then I will be very glad that I waited.

02:05:14   The reality is that's only a few weeks away, really.

02:05:17   We're talking about three or four weeks from now that we're going to hear all this new stuff

02:05:21   and be able to start playing with the new betas and everything, so we aren't that far off.

02:05:25   And while it would be nice to be able to say, "Okay, hey, now..."

02:05:29   It would have been nice if in mid-March, when all the quarantining really started en masse in the countries that use Overcast the most,

02:05:37   it would have been nice if I would have said, "Oh, I should make the Mac version right now and have it out for this period."

02:05:41   But that takes a long time. I can't do a whole Mac version from zero, which is where I am so far on that front.

02:05:48   I can't do a whole Mac version that's any good in a matter of weeks to be able to get it out in time for people to actually use during the mass quarantine.

02:05:56   I'm not going to let a temporary world condition dramatically change my plans for a major effort to the app.

02:06:06   Because even if I decided today, "Alright, I'm going to go all in on this," by the time I'm done with it, quarantining might be over.

02:06:13   I would be back where I started of, "Well, I just made this app for the very small percentage of people who want it under more normal circumstances."

02:06:21   So basically I haven't changed my plans yet because we're so close to June and because demand is still relatively low even during this,

02:06:29   and because it's such a high effort to get something good that it doesn't change the calculus enough.

02:06:34   Anyway, thanks for your response to this week, Basecamp, and we will talk to you next week.

02:06:40   Now the show is over, they didn't even mean to begin, 'cause it was accidental. (Accidental) Oh, it was accidental. (Accidental)

02:06:52   John didn't do any research, Marco and Casey wouldn't let him, 'cause it was accidental. (Accidental) Oh, it was accidental. (Accidental)

02:07:03   And you can find the show notes at ATP.FM, and if you're into Twitter, you can follow them at C-A-S-E-Y-L-I-S-S,

02:07:17   so that's Casey List M-A-R-C-O-A-R-M, A-N-T, Marco, R-M-E-N, S-I-R-A-C, U-S-A, Syracuse.

02:07:29   Well, it's accidental. (Accidental) They didn't mean to, accidental. (Accidental) Tech podcast so long.

02:07:42   I can't wait to go to the beach. I know I'm actually going to the beach, like the way people think about it,

02:07:47   like I can't wait to just go to the beach town. If I'm gonna be stuck in a house somewhere, I'd rather be stuck in a house there than here.

02:07:54   Those houses are kind of close together. Have you seen where I live? Like all the houses, like, we're not in like, you know, big spread out suburbs here.

02:08:03   I know, it's cramped, I'm just saying. Keep away from people. You don't have any streets even.

02:08:08   There aren't that many people there really, so this is one of the reasons we're going for June in particular, because it's just a lot.

02:08:15   It's kind of easier to quarantine there safely than it is here, and it's much more pleasant to be there.

02:08:21   It's starting to get very hot here, and walking with masks, like walking the dog with a mask is getting fairly unpleasant.

02:08:30   And I'm still going to wear the mask, because I'm not going to be a jerk, but if I can be somewhere that has a more mild climate with more fresh air and bigger expanses of open space,

02:08:42   like when we go on the beach in the morning and late night, it's for the dog walks when we're technically not even allowed to be there with dogs, but nobody cares after a certain time.

02:08:49   There's no one around. I can get way more distance on an off-hours beach in June than I can get walking my dog here in my suburb here.

02:09:00   And all the grocery stores there all deliver, and it's easier to get delivery slots there than here, because it's a much smaller community and everything,

02:09:07   so for actual responsible quarantining, it will actually be in most ways easier to be responsible there than here.

02:09:15   I found a lot of variability, especially in homemade masks, in terms of how comfortable they are to wear and breathe through.

02:09:23   We actually, I think we got a Tom Bihn mask. We have a bunch of commercial masks and ones that we made ourselves.

02:09:31   And the Tom Bihn one was particularly not breathable and sweaty, which was strange.

02:09:36   But yeah, if you have a mask that you're finding increasingly uncomfortable in hot weather, there are other options, like just shop around or try different materials when you're making them yourself.

02:09:46   Again, we're not trying to make something that is actually going to protect you 100% from anything.

02:09:51   We're just trying to do better than totally unmasked.

02:09:54   And so if you can do better than totally unmasked with a material that does not feel like you're suffocating in 90 degree weather, go with that, because you'll be more likely to wear it.

02:10:01   Yeah, I have two recommendations. So number one, I agree with you, we also have the Tom Bihn masks. They are very nice, but they are pretty warm.

02:10:11   And most of the nice cloth masks are pretty warm.

02:10:14   The good thing is that the medical industry figured out a long time ago how to make masks that are tolerable in all conditions.

02:10:22   And now you can actually start getting in reasonable quantities with reasonable shipping times, regular medical procedure masks.

02:10:30   Those are the ones that are like square and they have like the ripples on them.

02:10:34   They're not as protective as N95 masks, but you shouldn't be buying those anyway, although there's an asterisk on that that I'll get to in a moment.

02:10:41   But they're like, they're the kind of like a dental hygienist wears when they're cleaning your mouth.

02:10:46   They're made to block spit particles, basically.

02:10:49   The good thing is they're much easier to get and you don't have to feel so bad buying packs of procedure masks that you're like denying them from a hospital worker, for instance.

02:10:58   Because they're in very widespread supply now.

02:11:01   So I would guess that it's better for most people to get those.

02:11:06   Those procedure masks are much more comfortable than cloth masks because they're thinner and they're not as hot.

02:11:12   But they're also way more effective because they're actually made of a medical mask.

02:11:15   They have the metal nose piece and everything. So those are great.

02:11:18   Another option that you can do, which I don't know if this is controversial, I apologize if it is.

02:11:24   What I recently got in stock from a place was the KN95 mask type.

02:11:30   Now, again, I'm so sorry if I'm getting any of this wrong or if this is highly offensive to anybody.

02:11:34   The gist, as far as I know, the gist of this is that KN95 is China's version of the same certification functionally as N95.

02:11:45   Different countries have different versions of this. There's like a European one.

02:11:48   N95 is the US's certification.

02:11:50   I think healthcare workers in the US were actually not allowed to use KN95.

02:11:54   They had to use N95. And they're in very short supply, of course, as you've all heard.

02:11:59   KN95, because it's the China standard, I think the FDA wasn't allowing it or whatever here.

02:12:05   But it's a very good quality mask in general, like in absolute terms.

02:12:10   Maybe US doctors aren't allowed to or don't want to use them.

02:12:14   But as a home user, if you can get those, that's probably going to be significantly more protective than a cloth mask.

02:12:21   And because they're made for medical use and they're made out of whatever, the foam and cloth stuff,

02:12:26   instead of just like, you know, stuff you make a t-shirt out of, like what you get from the cloth masks,

02:12:31   they're generally much more pleasant in hot weather.

02:12:34   So I actually just got a pack of KN95 masks the other day.

02:12:37   And I only won one once. I had to go into a medical facility to get an allergy shot finally.

02:12:42   So I figured maximum protection. If I'm going into a medical center, I want maximum protection right now.

02:12:47   So I wore it then. And it was fine. And it was very comfortable.

02:12:51   And it's probably way, you know, whatever you think of them for like doctors to use,

02:12:56   I'm sure they're way safer than cloth masks are for people walking around.

02:13:01   So again, I don't know if medical workers are even allowed to use them here.

02:13:06   So I don't know if I'm like taking it from somebody who could use it in greater need than what I have by buying them.

02:13:13   Like the way you're not supposed to buy, you know, the N95s because those are in short supply, people need them.

02:13:17   I don't think that same thing applies to the KN95 ones. So I don't know.

02:13:22   Anyway, that's something to look into. You know, either get the procedure masks, like the big, the square ones with the ripples,

02:13:27   or the KN95 respirators, or not masks, just masks.

02:13:31   Those are going to be generally much better and more comfortable to use in hot weather than any of the cloth ones that you'll find from anybody.

02:13:38   My wife made some masks out of some old bedsheets that we had that we weren't using anymore that had just been stored in a box.

02:13:45   It's one of the cheap sources of material reuse, some old bedsheets.

02:13:49   But the downside to that is if you, old bedsheets that have been in a box in the attic for a long time have a tendency to smell kind of musty.

02:13:56   Yup, yup.

02:13:57   So you really don't want to put that next to my face. The good thing is it lets me know that, you know, one of the symptoms of infection is that you lose your sense of smell.

02:14:05   I'm like, well, at least I know I'm not infected because I can definitely smell these musty bedsheets and I think I'll pass on this mask.

02:14:11   We've made a lot of masks here, a lot of trial and error.

02:14:14   One that you couldn't buy like anything anywhere was a large mask-making spree.

02:14:20   And also don't forget the eyewear component as well. This is an area that I keep forgetting to actually get some kind of safety goggles that I can wear if I have to go to a medical facility or something.

02:14:30   I wore sunglasses indoors.

02:14:35   I wear my sunglasses at night.

02:14:39   Yeah, I apologize to every staff member until I'm like, I'm so sorry, these are the only glasses I have.

02:14:46   They all laugh because I look like such an ass.

02:14:50   You're too cool for a reality shot.

02:14:52   (beeping)