Wires Are Great

Episode 380 • Released May 28, 2020 • Speakers detected

Episode 380 artwork
00:00:00 Marco: I think I have fixed the livestream issue from last week, or at least I have changed the livestream issue from last week.
00:00:09 Marco: So last week, in the middle of the show, the livestream cut out, and the reason why, it had consumed something like 7 or 8 gigs of RAM, and the server has 8, and so it got killed for the out-of-memory killer.
00:00:19 Marco: 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 Marco: So it sounds kind of like a memory leak.
00:00:27 Marco: And it didn't seem related to the number of listeners directly, necessarily.
00:00:30 Marco: Now, when I built the new website, I added this listener count thing.
00:00:36 Marco: The page periodically just does an AJAX request back to the server.
00:00:40 Marco: The server checks with the IceCast server, which runs this private admin interface and gives this XML file back.
00:00:47 Marco: My server parses it and feeds it back to the user and updates the page.
00:00:51 Marco: Anyway, my theory is that
00:00:54 Marco: that checked the status request, because it was being checked every 15 seconds by every listener on the stream, if there was any leak in that, that was a pretty aggressive amount of checking.
00:01:08 Marco: And so that might have resulted in it.
00:01:10 Marco: 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 so we'll see how it goes so far right now we are at uh a little under let's see we're at a
00:01:30 Marco: A little under 800 megs.
00:01:33 Marco: That sounds high to me, so maybe this isn't solved.
00:01:35 Marco: But we'll see if it continues to grow.
00:01:37 Marco: 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 NiceCast server for about 30 seconds.
00:01:47 Marco: So instead of every listener hitting it every 15 seconds, it'll get one or two requests every 30 seconds.
00:01:53 Marco: So...
00:01:54 Marco: We will see if that actually fixes it.
00:01:56 Marco: It looks so far like maybe it isn't, but we'll find out.
00:01:59 John: I thought you were just going to have your server return some number in the ballpark with a random offset.
00:02:05 John: That would have solved the memory leak.
00:02:08 John: Did you test the memory leak by just slamming the IceCast server request endpoint a million times to see if you can make it grow?
00:02:14 Marco: I was going to do that, and then I got busy and forgot.
00:02:18 Marco: But that was the plan.
00:02:19 Marco: The plan was to actually simulate that.
00:02:20 John: We'll test it live.
00:02:21 Marco: Yeah.
00:02:22 Casey: Screw it.
00:02:23 John: We're going to find out tonight.
00:02:24 John: The other thing is, if the Icecast server returns XML, you had an opportunity to actually use XML HTTP request to return HTML, and you didn't take it.
00:02:32 John: You're having your server parse it, and I'm assuming you return like a number.
00:02:36 John: Yeah, it returns a very, very tiny JSON dictionary.
00:02:39 John: Oh, you put the number in JSON.
00:02:41 John: You're such a modern web dev.
00:02:42 John: Of course.
00:02:43 John: In my day, we'd just return a number as text plain, and we liked it.
00:02:48 Marco: My favorite thing, I don't know if we have this on the schedule for this week.
00:02:52 Marco: I looked earlier and we didn't have it on the question list, but a listener wrote in basically asking, how do I learn to build websites like this?
00:03:00 John: Get a time machine and go back to 1992.
00:03:04 Marco: It was simultaneously both incredibly encouraging and incredibly sad.
00:03:08 Marco: 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 Marco: That's it.
00:03:15 Marco: This is a very small, simple site.
00:03:18 John: Well, you're using some modern stuff, and the modern stuff you're using is called a modern web browser.
00:03:22 John: Because if you threw this website at Netscape Navigator 3.1, it would die horribly and it would look like nothing.
00:03:28 John: So you are actually taking advantage of the modern web.
00:03:30 John: You're just taking advantage of it on the client side, not so much on the thing you write down.
00:03:35 John: server or the source code.
00:03:37 John: Although inline SVG is pretty fancy.
00:03:40 John: If you'd try 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:49 Marco: Yeah, because I do benefit a lot by the incredible capabilities of modern browsers, modern CSS, modern JavaScript.
00:03:56 Marco: There's so much stuff that
00:03:57 Marco: You used to, years ago, need jQuery and large libraries and large frameworks for, or these tremendous piles of horrible CSS hacks to achieve certain effects.
00:04:08 John: WebSafe callers, don't forget about WebSafe callers.
00:04:10 Marco: Oh yeah, right, back when it was 256, yeah.
00:04:13 Marco: And these days you just don't have so many of those limitations.
00:04:16 Marco: A lot of us still act like we do and still blow up everything like crazy, but it has all become optional now.
00:04:23 Marco: And even though most people choose to still blow everything up,
00:04:27 Marco: you do have the option not to.
00:04:29 Marco: 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 Marco: Like, all those stupid effects people do, everything fading in and animating in and scroll jacking and having this big, rich effect...
00:04:46 Marco: As some people pointed out, because the site is so simple in both, you know,
00:05:02 John: organizationally but also in the markup you can view source on it like it's the old days and you can learn by looking at the source like if you view source and you say imagine that and you're like well then you would see the inline svgs then maybe you'd learn what svgs are maybe you see like 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 is that how what the hell is the article element then you learn about html5 and like you will actually learn some modern web stuff by looking at it but you'll also learn like
00:05:30 John: rocket science to make a reasonable site.
00:05:33 John: I think the site also avoids a lot of complexity by... Do you have any media queries in the CSS at all?
00:05:39 John: I forget.
00:05:40 John: It's generally not responsive in the sense of sensing the size of the device that's on and rearranging itself.
00:05:49 John: It uses...
00:05:50 John: a simple enough layout that it more or less works in every context.
00:05:54 John: And like I said, on the, the store page, which probably won't be up by the time you listen to this in the far future, I use flex box there as a sort of, you know, half-assed way to get, uh,
00:06:05 John: responsiveness out of it where things will rearrange on a smaller screen but beyond that it's about as simple as a website can be and i think that's instructive because in the old days you can go to any website and view source and learn a lot about it and these days if you go to website and view source you'll run away screaming and you won't learn anything so
00:06:20 John: Speaking of that, I wanted to help that I read this on something.
00:06:24 John: I think it was Twitter.
00:06:25 John: Someone was looking into eBay port scanning people's computer when they go to the web browser.
00:06:30 John: Did you see that story?
00:06:31 John: Wait, what?
00:06:33 John: I didn't dig too far into it to figure out what the deal is entirely, but like...
00:06:39 John: 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 John: You can also make a request to the loopback address, 127.0.0.1, which is your computer.
00:06:52 John: And you think, why would a web page try to make a request to my computer?
00:06:57 John: What is it trying to do?
00:06:58 John: 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 John: And that's what eBay does, and it reports the results back to some other random server.
00:07:14 John: There was a big investigation to this thing, yada, yada.
00:07:16 John: But I'm setting that aside.
00:07:18 John: I think they're doing it for browser fingerprinting or to check for malware.
00:07:21 John: There's some third-party thing that this is part of.
00:07:24 John: The thing that blew my mind was that not only is their JavaScript obfuscated, but the same JavaScript is re-obfuscated on every page request.
00:07:34 John: They don't just have a minimized version of it.
00:07:37 John: It's re-obfuscated to make debugging across multiple requests more difficult.
00:07:41 John: And it's got this very janky sort of encryption, but not really encryption, like obfuscation of the data into these strings that are hashed and XORed.
00:07:51 John: And it's just like...
00:07:52 John: It's like we used to hear Skype used to be like the Skype application, like the executable itself was quote unquote encrypted or scrambled and all sorts of like all the 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
00:08:10 John: extremely annoying getting back to the point i was trying to make to learn anything from it because the source is indecipherable and it changes on every page request and you know there are reasons to minimize to minify code and stuff like that but this is just like making you know like it's not actually secure you can decompile it step through a debugger do all that stuff it's mostly just makes it impossible to learn from and i think that's kind of a shame like that's become the norm like
00:08:34 John: Good source code that happens to be minified will have a source map in it and you can unminify it and people can't actually learn from it and stuff like that or use a debugger on it.
00:08:41 John: But doing what eBay is doing really has no excuse.
00:08:45 Casey: So you want to start with some follow-up?
00:08:49 Casey: No, everything you guys are saying is completely true.
00:08:51 Casey: And the more I think about, particularly with web development,
00:08:56 Casey: The more I wonder, like, how does somebody get started?
00:08:59 Casey: 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.
00:09:06 Casey: It probably wasn't actually that new.
00:09:08 Casey: And it was still relatively easy to figure out, OK, how does one write a server in Node and, you know, what package or packages do you need to do that?
00:09:18 Casey: 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 Casey: And...
00:09:35 Casey: And I think at some point I will probably rewrite it, and I might even use John Sundell's – what is it?
00:09:42 Casey: Splash or something?
00:09:43 Casey: I forget the name of his engine.
00:09:44 Casey: We'll put it in the show notes.
00:09:45 Casey: 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 Casey: And I haven't tried it, but it looks really super cool.
00:09:56 Casey: But anyways, just imagining what it would be like for –
00:10:00 Casey: 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:10 Casey: And even for me, thinking about coming up to speed on all this seems like terrifying.
00:10:16 Casey: And I ostensibly mostly know the broader pieces as to how the web is held together.
00:10:22 Casey: I just I cannot fathom for like a high schooler who is just really trying to figure out how to make heads or tails of all this stuff.
00:10:29 Casey: How does a high schooler do it?
00:10:30 Casey: Not because high schoolers are dumb, not far from it.
00:10:32 Casey: 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 Casey: It seems insurmountable to me.
00:10:42 John: I think I mentioned this on a past show.
00:10:44 John: Maybe it was, I don't remember, it was some Ask ATP question, but we are, to varying degrees, blessed to have gotten in on the ground floor of an emerging technology, but that's not always the case.
00:10:57 John: Most people, no matter what their career is, enter into a field where
00:11:02 John: uh the technology is mature and is complicated right so if you like i said uh 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 there was no css there was just html like you know and you could literally learn it all right and you felt like you had seen every website even if you hadn't right uh but that's because it was super young and it matures right people going into you know
00:11:25 John: civil engineering they must feel overwhelmed because there are centuries of knowledge in civil engineering they're not getting in on the ground floor like they just to do anything to literally build like a single road going from point a to point b there's so much you need to know and that's even before you get into all the tools and everything like that and you know computers and the web are like that now you're not coming into a brand new field where where a single person could fit the entire thing into the head you're coming into a field that's well established that's
00:11:52 John: got a lot of history and a lot of technology involved, and you can eventually get up to speed.
00:11:56 John: It's just that 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:07 John: And that, for most of the history of the web, has been comprehensible and you can learn from it.
00:12:12 John: 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 John: There's no reason that the advance of technology has to eliminate that.
00:12:24 John: Again, I point out source maps, right?
00:12:26 John: Minification is there for a reason.
00:12:28 John: You can argue whether there's a point to it with gzip over the line.
00:12:33 John: 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, right?
00:12:40 John: That's the way it should be.
00:12:41 John: Yes, there are advances and things get more complicated, but you can still learn from the source.
00:12:46 John: And I think that's the beauty of the web, and we should never lose that by...
00:12:50 John: you know shipping binaries over the web or shipping java applets back and forth or like subverting the web flash or anything like that so i think we're doing okay in general like the the war for web standards and everything was much more fraught in the early days in the web it feels like now that the you know the standards-based web is strong enough that it can resist
00:13:11 John: Uh, most advances, like, yes, it gets more complicated, but it's not, we're not so much in danger, at least right now of some proprietary thing coming and sweeping away the open web.
00:13:22 John: Uh, but bad websites do exist and bad companies that make bad websites do exist.
00:13:26 John: So we just kind of route around them.
00:13:28 Casey: Yeah, like Twitter.
00:13:29 Casey: All right, let's start with some follow-up.
00:13:30 Casey: And we should mention again that the ATP store is back.
00:13:35 Casey: We have some new stuff.
00:13:37 Casey: It is open until June 7th.
00:13:39 Casey: Now, I make this speech every year.
00:13:42 Casey: And every year, somebody says...
00:13:45 Casey: Oh, I forgot.
00:13:47 Casey: I forgot.
00:13:48 Casey: 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:04 Casey: If any of these things are interesting,
00:14:07 Casey: don't delay.
00:14:07 Casey: If you're driving right now, that's weird that you're leaving the house, but hey, that's cool.
00:14:11 Casey: If you're driving right now, maybe pull over or think about where you're going and think, oh, 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:21 Casey: So the ATP store is back, atp.fm slash store, and there are links to all the different things you can order from Cotton Bureau.
00:14:28 Casey: Uh, we have had some questions with regards to ATP mug.
00:14:31 Casey: It is 14 ounces, which is about 400 milliliters.
00:14:34 Casey: And if that's not a unit of measure that you care about, then I don't know what to do.
00:14:37 Casey: Just Google it.
00:14:38 Casey: But, uh, the HP mug seems like it will be extremely nice.
00:14:42 Casey: I haven't actually held one in hand.
00:14:44 Casey: Uh, the pro max triumph shirts are excellent.
00:14:45 Casey: Remember the wheels are a little bit more special.
00:14:47 Casey: So it's an extra four bucks.
00:14:49 Casey: The hoodie is extremely comfortable.
00:14:50 Casey: The logo shirt, the classic logo shirt is great.
00:14:52 Casey: I love the polo for back when we went to work and
00:14:55 Casey: And the hat is great if you ever leave your house for any reason, even on a walk.
00:14:59 Casey: So please, if you're willing, go to atp.fm slash store and get yourself some cool swag, some cool merch.
00:15:07 Casey: Remember, we are going to be launching a membership thing eventually, but we don't know when.
00:15:10 Casey: So just keep that in mind if you are trying to apply your funds in a specific place.
00:15:16 Marco: Soon, but not this week.
00:15:17 Casey: Yes.
00:15:18 Casey: Soon, but not this week is exactly the correct summary.
00:15:20 Casey: This is a great year because if you forget, you're like, oh, I forgot.
00:15:23 John: I wanted to order a shirt, but I totally forgot.
00:15:26 John: Don't worry.
00:15:26 John: You'll have another opportunity to give us money and not get a shirt.
00:15:31 Casey: That's just as good, right?
00:15:33 Casey: It's just as good.
00:15:35 Casey: Yeah.
00:15:35 Casey: So anyway, ATP.FM slash store.
00:15:38 Casey: Thank you for listening to me, Shill for merchandise.
00:15:41 Casey: Moving on, we have some follow-up.
00:15:43 Casey: Nick Donnelly wrote, how are you guys not terrified to use clipboard managers?
00:15:48 Casey: How can you be sure that they're not feeding all the passwords back to some server somewhere or changing that Bitcoin address to their own or doing something else with or without the developer's knowledge?
00:15:57 Casey: Along with password managers, which are usually made by bigger companies, clipboard managers must be about the richest target possible for hackers.
00:16:04 Casey: you really have to trust that app the only thing the only remotely secure way for this to work is if it's built into the os in nick's opinion in fact why haven't apple and microsoft sherlock this yet you know this is the same sort of thing like same sort of conversation we had last episode or whenever it was i think it was last episode we were talking about my raspberry pies and for me there's only so many things i can stress out and worry about in a day and i don't know about everyone else but that cup of
00:16:31 Casey: runneth over these days about things I'm willing to stress out about.
00:16:35 Casey: I've got way too much stress out about.
00:16:37 Casey: And if, if somebody is going into my clipboard manager and stealing stuff like that sucks, it sucks a lot, but I just, I don't have the bandwidth or the energy to stress out about that.
00:16:47 Casey: I don't know.
00:16:48 Casey: Marco, tell me I'm crazy and that I need to put on my tinfoil hat.
00:16:51 Marco: It is certainly a big target in the way that, again, yeah, a password manager is also a big target for hacking.
00:16:56 Marco: I think one of the things that helps a lot here, first of all, you have just longstanding trust.
00:17:01 Marco: You have these clipboard managers are generally made by pretty longstanding developers.
00:17:06 Marco: There's not that many of them.
00:17:08 Marco: There's three or four that everyone knows about and then a whole bunch of smaller ones that maybe might be made by smaller developers, but
00:17:13 Marco: For the most part, there's a small handful of them, and they're used by a lot of people.
00:17:17 Marco: Now, one area that really helps here, the Mac is a platform that has, in some ways, less security than iOS.
00:17:25 Marco: Until you get into the really nerdy stuff.
00:17:28 Marco: And here, there are people who run things like Little Snitch.
00:17:31 Marco: Little Snitch is a local firewall type thing that anytime an app tries to connect out to the network, you can get an alert.
00:17:39 Marco: And it will tell you which app is connecting to what, and you can block it or allow it or whatever.
00:17:44 Marco: And because of the prevalence of tools like that among the super paranoid or super nerdy,
00:17:48 Marco: Any popular-ish app that's going to be calling home for any kind of regular purpose, people are going to notice.
00:17:56 Marco: One of these apps, like Little Snitch, is going to uncover that and people will know and they'll talk about it and they'll write blog posts and whatever and it would be a big scandal.
00:18:03 Marco: And none of these reputable Mac developers who have been doing these things for 10 years or more would ever risk their reputation doing anything creepy like that.
00:18:11 Marco: So as long as you can trust the vendor, trust the maker of the software you're using to be remotely reputable, 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, it's probably a pretty safe bet.
00:18:26 Marco: talking about password managers, before we get this feedback from a million people, if they haven't already emailed us while I was talking, many of the good clipboard managers will also detect whether you're copying something from a password manager and will either not store it at all or will automatically reset it after a certain amount of time or they'll store it as the topmost item but they won't let it stack down to the subsequent item and stuff like that.
00:18:48 Marco: So there are special considerations that many of the clipboard manager apps make for password in particular.
00:18:53 Marco: to make it a little bit more secure and make it so you aren't accidentally going to reveal a password, you know, as you display your stack of clipboard history, you know, if somebody's looking over your shoulder or something.
00:19:02 Marco: Anyway, so that is certainly an area to be concerned about, but fortunately on the Mac, you have such a wonderful nerdy power user base and tools like Little Snitch that if such a thing were really happening, we'd probably know about it.
00:19:16 John: In the end, Nick is right that you do have to trust the developer.
00:19:19 John: I mean, it's kind of the same way of like, the only way this would be secure if it was built into the OS, you have to trust the OS vendor.
00:19:24 John: And it's the same kind of trust.
00:19:25 John: Not that you think so much they're going to do something malicious, but you have to trust that their security is up to snuff, right?
00:19:31 John: Maybe they got hacked or something like that has happened in the past where an app like, you know, a BitTorrent client gets some malware inserted into it or whatever.
00:19:39 John: And it's not that the developers put it there.
00:19:41 John: So you trusted the developers, yes, that they weren't going to do something malicious, but
00:19:44 John: But it turns out they, you know, fell victim to hacking.
00:19:48 John: And so did you trust that they could defend themselves from hacking?
00:19:50 John: You know, again, with things like Apple, Microsoft, you trust that, A, they're not going to do something malicious and B, that they're probably pretty good at defending themselves.
00:19:57 John: But you never know.
00:19:58 John: In the end, you have to trust a lot of the software that runs on your computer, right?
00:20:01 John: Right.
00:20:01 John: So those things that Marco was talking about, like, excluding password manager apps and being smart by knowing the passwords, that's what distinguishes a good clipboard manager from just sort of a middle-of-the-road one.
00:20:14 John: But that's about, like, feature set.
00:20:15 John: It's not about trust, right?
00:20:17 John: And, you know, the things with Little Snitch, yeah, we might catch stuff like that.
00:20:20 John: But, like, if it's substituting a hard-coded Bitcoin address when you detect something that looks like a Bitcoin address, you might not be able to catch that.
00:20:27 John: This stuff will probably come out eventually.
00:20:29 John: It's difficult.
00:20:30 John: Like Casey was saying, you can't be on top of all this stuff.
00:20:33 John: Like you're listening to a nerdy tech podcast and if something like this came up, you'd probably hear about it on our show.
00:20:38 John: But most people don't listen to tech podcasts, right?
00:20:40 John: So in the end, you're at the whim.
00:20:43 John: 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 John: And the best way to deal with it without driving yourself nuts, just chasing your own tail about all these different threats in the world is to try to be sensible.
00:20:56 John: Use one of the well-known products when it comes to security.
00:20:59 John: right keep some amount of your ear to the ground about this stuff you don't have to be checking the news every day but you know you should be assured that when something happens you have some way to find out about it or it doesn't have to be you can just be someone in your family or whatever if you set up your whole family in one password and then one password get hacked you know it's your job as the atp listener to tell the rest of your family that thing i installed in your computer is a you know that's
00:21:23 John: We get along the way we get along.
00:21:26 John: So I don't think clipboard managers are inherently any more scary than any other software that has access to your keystrokes and everything like that.
00:21:32 John: And the final bit here is that everything we're talking about is part of what Apple is trying to help with the security measures that it's been adding to macOS.
00:21:43 John: And a lot of those security measures are difficult and annoying.
00:21:47 John: And they're not a cure-all, like the thing with the BitTorrent client that got infected with malware.
00:21:51 John: That was a signed application.
00:21:53 John: I forget if it was notarized or not.
00:21:54 John: But they don't cure everything, but they sure help.
00:21:59 John: It used to be that when you downloaded something, the developer would have a checksum on their website that you can compare it to.
00:22:04 John: But code signing is a much better system for that.
00:22:07 John: especially notarizing is an even better system for that in the end it can't stop everything but it helps the chain of trust between you and this developer that you ostensibly trust that that what you're getting from them is what they are giving you and the mac app store helps there as well and then ios's entire you know end-to-end system of making sure that you're getting the code the developer released and all that helps it doesn't it doesn't prevent it from happening but it helps so
00:22:31 John: uh help nick the next time you are annoyed by some security thing or some limitation of the app store you appreciate that part of that at least is there to help the situation like this where you have to trust an application to do the right thing for you john i don't know if i could be more excited about the sonnet fusion flex j3 i'm out
00:22:54 Marco: I saw this and thought of you immediately, John, because it looks like somebody has now made 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:06 John: I don't know if it's better.
00:23:07 John: The reason I put this in here is, you know, if we didn't, everyone would keep sending it to us forever.
00:23:11 John: That's part of the reason.
00:23:12 John: True.
00:23:12 John: But it's fascinating to me what this is.
00:23:14 John: So to refresh everyone's memory, this is a bent piece of metal that goes inside your expensive Mac Pro that you can stick 3.5-inch hard drives into.
00:23:21 John: That's basically it.
00:23:22 John: Like, it's not, you know, it is a physical device, and then it comes with some cables that connect to SATA connectors, right?
00:23:28 John: And I didn't want to buy it, and eventually I bit the bullet and I bought the one from Promise Technologies for $400.
00:23:33 John: But the $400 thing came with an 8-terabyte hard drive.
00:23:38 John: which is not a $200 value.
00:23:40 John: But either way, it was very expensive, but eventually I just got to do this, right?
00:23:44 John: I gave up waiting for someone to make a cheaper one.
00:23:46 John: Now this one comes out.
00:23:48 John: It's from Sonnet.
00:23:49 John: It's called the J3i.
00:23:51 John: The promised one was the J2i, which is weird because as far as I'm aware, Sonnet is not the same company as promised.
00:23:58 John: But if you look at the product,
00:24:00 John: It looks exactly the same as the Promise J2i, except a couple of minor differences.
00:24:05 John: This one has room mounting points for a 2.5-inch drive that you can entirely attach to the USB port inside your Mac.
00:24:12 John: But otherwise, if you look at the metal that makes up this thing...
00:24:15 John: it looks the same and it's like is there is there just one like the company that makes the promise jty thing is it just selling its its manufacturing capacity to sonnet and then sonnet is taking less of a profit margin and not including the hard drive like it's literally the same thing like you know 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 how the supply chain and manufacturing works like we all know that like
00:24:40 John: When you buy things, especially electronics, a lot of times multiple companies sell you essentially the same electronics wrapped maybe in a different plastic case.
00:24:48 John: Or maybe it's literally the same plastic case painted a different color or stamped with a different stamp.
00:24:52 John: That's just how the world works.
00:24:53 John: But it's weird to see it in the Mac for such a strange little thing like this.
00:24:56 John: Like you would think that any company like Signet or whatever could make their own bent piece of metal.
00:25:02 John: And sell it, sell it for 200 bucks, but make it cheaper or make it plastic, right?
00:25:07 John: We have people 3D printing these things, right?
00:25:09 John: It seems like the technology to make a bracket essentially for your computer, you could make it, but instead they're selling the exact same thing, which it's high quality.
00:25:19 John: Like it's over-engineered for what it's supposed to do.
00:25:23 John: It seems like what I was waiting for was someone to sell the $50 one, the $70 one, right?
00:25:29 John: I'm glad I got the fancy one because it looks nice with my computer.
00:25:31 John: And this one has red cables, which I don't think would go with the interior decor of my computer.
00:25:36 John: But yes, I totally would have bought this one if it had existed at the same time as the $400 one.
00:25:42 John: uh even though 200 for a bent piece of metal is not that much more attractive than 400 for an 8 terabyte hard drive in a bent piece of metal still it's half the price and i would have had to probably buy another hard drive to go in there but i can probably get a 8 terabyte hard drive for less than 200 i don't know i haven't even shopped around anyway this exists and it's weird uh but it's not exciting for me 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:12 Marco: Give me one moment to restart the IceCast server.
00:26:14 Marco: One second.
00:26:15 John: Did it run out of memory again?
00:26:16 Marco: Yes.
00:26:18 Marco: I just changed a setting that I think will fix it.
00:26:21 Marco: Well, it has a chance of fixing it.
00:26:22 Marco: There's like a per-client buffer setting that I had set pretty high, so I brought it now back down to the default value.
00:26:30 Marco: What was pretty high?
00:26:31 Marco: So before, it was 5 megs per user, and I brought it down to the default value of 128k per user.
00:26:37 Marco: Okay.
00:26:40 Marco: Yeah, okay.
00:26:41 Marco: It's live.
00:26:42 Marco: We're live again.
00:26:43 Marco: Sorry, everybody.
00:26:43 John: We did it.
00:26:44 John: You all got much smaller buffers, everybody.
00:26:46 Marco: Yeah, enjoy your small buffers.
00:26:49 Marco: You don't each deserve five megs is what we've come to.
00:26:52 Marco: Wow.
00:26:52 Marco: Yeah, so ever since the beginning of the show, I've been kind of just keeping this little, you know, quick little solver calculation of like...
00:26:58 Marco: basically bytes per listener and it just keeps going up.
00:27:02 Marco: So there does seem to be some kind of leak like behavior here.
00:27:06 Marco: 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 Casey: Let me give you something that you can and probably should clip from the released version of the show.
00:27:17 Casey: Controversy.
00:27:18 Casey: No, it's nothing like that.
00:27:20 Marco: You like tabs instead of spaces.
00:27:23 Casey: Actually, I think tabs are probably the right answer.
00:27:26 John: Oh, come on.
00:27:27 John: We've had this talk already.
00:27:28 Casey: I know, I know.
00:27:29 Casey: Anyways, the point is I typically do ATP-related browsing in Chrome.
00:27:34 Casey: It's one of the few times I use Chrome, and there are reasons for that that are uninteresting.
00:27:38 Casey: But suffice to say, I was looking at this Sonnet Fusion, you know, link on MacRumors in Chrome, and
00:27:43 Casey: And I realized, holy crap, there are ads festooned all over this page.
00:27:48 Casey: But I'm running my piehole.
00:27:51 Casey: Why is that?
00:27:52 John: That's still so funny to me.
00:27:53 John: 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 Casey: It's so bad.
00:28:00 Casey: So I thought to myself, well, that's weird.
00:28:01 Casey: Why is the piehole working?
00:28:03 Casey: And so while you were futzing with the live stream, I went over and looked at the piehole, and the piehole is working.
00:28:08 John: They just proxied through MacRumors?
00:28:10 Casey: Well, so then I went to Safari, which is the browser that we should use and that I normally use.
00:28:17 John: Oh, because Google does it on DNS.
00:28:20 John: Oh, that's weird.
00:28:21 John: Why?
00:28:22 John: Proxing ads through the same domain is also a thing, though, by the way.
00:28:25 Casey: I know, I know.
00:28:27 Casey: However you described it, I don't know if that's accurate, but I know that Chrome...
00:28:30 Casey: definitely like has its own internal dns cache and it would certainly appear as though it like falls back onto some google dns server or something like that yeah the 8888 yeah or something along those lines uh when it can't get a result from the local server something is going on it does honor it doesn't totally do it because when i was putting in the private ips for atp that i found when we were doing the site like it honors etsy hosts on my computer but yeah it does do its own thing in many other regards
00:28:58 Marco: So does PyHole give back no result or does it give back a bad result like 127.001?
00:29:05 Casey: I understand the question.
00:29:06 Casey: I don't recall.
00:29:06 Casey: I want to say it gives back 0.0.0.0, but I am not confident I'm correct about that.
00:29:12 Marco: 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 Casey: Which is not entirely unreasonable.
00:29:24 Marco: It's still messed up, but it would be at least a little bit more justifiable.
00:29:28 Casey: Anyway, I just thought that was mildly amusing, because for a second there, I was like, you know, this isn't a big deal, but I was like, what the hell?
00:29:33 Casey: Why isn't this working right?
00:29:34 Casey: And then I finally tried loading the exact same URL in Safari, and sure enough, it looks great.
00:29:40 Casey: All right.
00:29:40 Casey: Are we all good with the programming notes?
00:29:42 Casey: Marco, would you?
00:29:42 Casey: No, I guess we all three have had one.
00:29:44 John: No, IceCast servers are not in memory again.
00:29:46 Marco: Sorry.
00:29:48 Marco: No, so if it actually kept five megs per user, that would be, you know, five gigs when we have a thousand listeners.
00:29:55 Marco: So that would actually get pretty close to what it was using.
00:29:58 Marco: So that could have been the reason.
00:30:00 Marco: How do we have so many live listeners?
00:30:02 Marco: Remember we used to have like 100 people listening live?
00:30:04 Marco: Yeah.
00:30:05 Casey: Not that I'm complaining.
00:30:06 Marco: Yeah.
00:30:06 Marco: And keep in mind, I think Icecast counts connections pretty aggressively.
00:30:09 Marco: So these might be just like people who loaded the page and didn't actually hit play yet or if there's a certain preload happening by the audio embed or whatever.
00:30:18 Marco: But regardless, I think the regular like common amount of live listeners we have is usually around 400.
00:30:26 Marco: These seem kind of high.
00:30:28 Marco: But now, see, now it says only 300 listeners.
00:30:30 Marco: and before it was saying like 900 so maybe it was like keeping connections around for a very long time i don't know yeah you know what it might have been oh all right so the setting i changed oh this is i think i just figured it out the setting i changed is about like letting like people's connections lag behind it lets them catch up it's called the um let's see q size
00:30:49 Marco: It's documented it's the maximum size in bytes of the stream queue.
00:30:52 Marco: A listener may temporarily lag behind due to network congestion.
00:30:55 Marco: In this case, an internal queue is maintained for the listeners.
00:30:58 Marco: 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 Marco: So what I bet this is doing is if anybody loads that page and goes away, it still counts them as a listener until five megs of audio have passed by.
00:31:12 Marco: And at 64 kilobits per second, that's a long time.
00:31:15 Marco: and so that yeah because oh man okay that makes total sense so by shortening it down i basically have like made it reap the resources for dropped off listeners much faster and the reason that's it okay now it makes me even more sense i bet the reason why the resident set stayed at you know 1.7 gigs all week long is that when i stopped the stream it lost its source and that that cue probably just paused
00:31:43 Marco: So it probably just sat there waiting for five more megs of audio to come.
00:31:46 Marco: For people to drain their cues.
00:31:48 Marco: Right.
00:31:49 Marco: Or for five more megs of audio to come that never came.
00:31:52 Marco: Yeah.
00:31:54 Marco: Okay.
00:31:54 Marco: I'm pretty sure I just debugged this app.
00:31:56 Marco: All right.
00:31:57 Marco: Man, I love being a programmer sometimes.
00:31:58 Marco: All right.
00:31:59 Marco: We can get back to the show.
00:32:01 John: Until the next time it crashes and you're like, wait a second.
00:32:03 Marco: Yeah, exactly.
00:32:04 Marco: So right now, so the listener count is lower.
00:32:06 Marco: It's a lot lower.
00:32:07 Marco: And I remember last week, I remember it was suspiciously high too.
00:32:10 Marco: It was like 900, 1,000.
00:32:10 Marco: I was like, what?
00:32:12 Marco: that's unusual for, especially, you know, now this is kind of a low news time of, of the, of the year and it seemed suspiciously high.
00:32:20 Marco: 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 Marco: And now it's using 54 megs of Ram to serve 330 listeners.
00:32:33 Marco: And it was using two gigs of Ram to serve like 900 listeners a little while ago.
00:32:38 Marco: I can go back to a smaller instance now.
00:32:40 Casey: That's a good point.
00:32:43 Casey: Okay, that was the weirdest thing I've ever seen.
00:32:44 Casey: This is the programming note that will never end.
00:32:45 Casey: I look out my window and there's two blue circles rolling down where the road should be because it's pitch black outside.
00:32:51 Casey: Apparently, did I say blue?
00:32:53 Casey: I meant purple.
00:32:53 Casey: Somebody has purple LED lights around the inside of their bike rims.
00:32:58 Casey: Oh, there it is again.
00:32:59 Casey: Pretty cool.
00:33:00 John: Just need a clothespin and some playing cards and they'll be all set.
00:33:06 Marco: Yeah, the world of LED technology and largely battery and electric technology now has really made bikes a lot more interesting.
00:33:13 Marco: RGBs, the kids call them.
00:33:15 Marco: Neb in the chat said, that's a homeowner violation.
00:33:17 Marco: Get their ass casing.
00:33:23 Marco: We are sponsored this week by Basecamp, the all-in-one toolkit for working remotely.
00:33:28 Marco: Basecamp is the original project management tool since 2004.
00:33:32 Marco: They've been around forever.
00:33:33 Marco: They really know the business.
00:33:34 Marco: That's actually older than some of our listeners probably.
00:33:37 Marco: They started as a web design firm, and they built Basecamp to handle talking with their clients as easily as possible.
00:33:44 Marco: Basecamp has a killer client feature unlike any other project management software.
00:33:48 Marco: And they knew what project managers needed because they are project managers themselves.
00:33:53 Marco: They built Basecamp to be the perfect tool for modern work, especially remote work.
00:33:58 Marco: These days, it's more important than ever.
00:34:00 Marco: Basecamp's entire company has always been remote, and their people are spread all across the globe.
00:34:05 Marco: They literally wrote the book on remote working back in 2013.
00:34:10 Marco: So Basecamp is the perfect set of tools to collaborate remotely without distractions.
00:34:14 Marco: Now if you're looking to monitor every move your employees make, Basecamp is not for you.
00:34:19 Marco: It is for smart managers who respect their employees.
00:34:22 Marco: You can get started with Basecamp in minutes without any training.
00:34:25 Marco: It's built to be as simple and straightforward as possible to find exactly what you need.
00:34:30 Marco: So go to Basecamp.com slash Accidental today and you can start a free trial.
00:34:35 Marco: There's no credit card required, no weird tricks or anything like that, no strings attached.
00:34:39 Marco: It's a real free trial.
00:34:40 Marco: When you want to sign up, you can get 10% off your first six months of Basecamp using that link.
00:34:45 Marco: Once again, Basecamp.com slash Accidental to start a free trial and get 10% off your first six months of Basecamp.
00:34:52 Marco: Thank you so much to Basecamp, the all-in-one toolkit for working remotely.
00:35:00 Casey: Breaking news, HBO has stopped participating in Apple TV channels.
00:35:04 Casey: Like, I can't even keep track of what Apple TV channels is.
00:35:07 Marco: No, wait, honest question.
00:35:08 Marco: Did either of you know that Apple TV channels had launched?
00:35:11 Marco: Because I didn't.
00:35:12 Casey: Wait, that's different than the app?
00:35:13 John: Yeah, no, it's the thing that, like, when you go... You know how we discussed... The reason I put this in here is because we discussed the deal that Apple made with Amazon to get them into this thing where if you go through the Apple TV app app, whatever the hell it's called...
00:35:28 John: So bad.
00:35:29 John: The Ferrari, LaFerrari.
00:35:31 John: Yeah.
00:35:31 John: You could see stuff not just from Apple, but from other people.
00:35:33 John: And so they got Amazon into there to participate in that.
00:35:36 John: Right.
00:35:36 John: So that to be the front door to all your viewing.
00:35:39 John: Right.
00:35:39 John: But Netflix wasn't in there.
00:35:40 John: Right.
00:35:42 John: Now HBO is not in there either.
00:35:44 John: So Apple, you know, one step forward, two steps back.
00:35:47 John: I don't know.
00:35:47 John: Depends on how big.
00:35:48 John: you think HBO Max is compared to Amazon.
00:35:51 John: But yes, I did know that there's a bunch of non-Apple stuff in there because every time I go to the Apple TV app intentionally, like manually, I'm going there to watch Apple TV Plus stuff and I'm annoyed by all the non-Apple TV Plus stuff that's clogging up my view and the fact that the app refuses to remember that I was just watching a show last night and let me resume it.
00:36:09 John: So I'm scrolling and I'm looking in the channel section and I go to the Apple TV Plus channel and then I can look at the show and find the episode that I was on because the thing doesn't remember for me for some reason.
00:36:18 John: Anyway.
00:36:18 John: i don't want to complain about all this is to say that yes i knew channels was a thing yes i knew hbo was in there because i'm a subscriber to hbo and i used to see it in there and now i guess i won't anymore further confusing the jumble of uh video sources on my apple tv the hardware device
00:36:35 Casey: It's bad.
00:36:37 Casey: It's so tough to describe.
00:36:39 Casey: I was talking to my brother-in-law, and if their wedding that was supposed to be the summer can ever happen, my soon-to-be sister-in-law, and I was trying to describe some of the shows we've been watching during quarantine or before, and I was saying, oh, if you have Apple TV+,
00:36:55 Casey: that you may be able to get on your apple tv if you have one or maybe there's an apple tv app on your regular tv anyway it doesn't matter just just go watch for all mankind it's just so bad there's like 18 different things entities that use the apple tv name and i really really dislike it a lot and apparently i got it wrong because apparently the app is different than channels
00:37:18 John: So HBO is still in the app, Netflix isn't, but not in the Channels thing.
00:37:23 Marco: Channels was that thing that, like, Amazon launched this a while back, and in Apple's services event, where they announced Apple TV Plus and everything, they announced a similar thing, where the idea was, and honestly, I had immediately forgotten about this.
00:37:38 Marco: As soon as they announced it, I forgot about it, and this is the first I've heard anything about it.
00:37:42 Marco: The idea is, you know, what Amazon did first, I think, which was like,
00:37:46 Marco: you can subscribe to HBO or other premium TV channels on their service, and you pay, you know, Amazon or Apple, whatever, you pay them, whatever, $10 a month for these channels, and there is no app for it.
00:38:01 Marco: Like, there's no... When it's in these channel systems, there is no dedicated app.
00:38:04 Marco: It is just, like, in the Apple TV app, there would just be an HBO channel.
00:38:09 Marco: Kind of like the way the old Apple TV worked before tvOS, the original Apple TVs, where, like...
00:38:14 Marco: individual video providers weren't making their own apps.
00:38:16 Marco: Apple just made one unified interface and there were basically different channels in it that, you know, they would use all this like standardized XML behind the scenes and everything that Apple was writing and managing for them.
00:38:26 Marco: So the video providers just provided the content basically and that was it.
00:38:30 Marco: And so Amazon launched a service was having, I guess, some level of success with it.
00:38:35 Marco: Apple saw it like, oh, we can do that too.
00:38:37 Marco: And Apple added that as part of the TV push for services.
00:38:42 Marco: And they announced it during the event.
00:38:43 Marco: So we have TV+, which is our content in our app.
00:38:47 Marco: Then we have channels, which is other people's content in our app.
00:38:52 Marco: And there's also TV apps by other people.
00:38:55 Marco: So it's their content in their apps that can integrate with our app as a launcher, basically.
00:39:02 Marco: But it's still kicking you out of their app for playback.
00:39:05 John: and the channels aren't at the top either like the things that they're at the top are things that i can view in other apps so it looks for all the world like oh resume this thing you were watching on hbo max like it's already got the little tag on it or whatever if you scroll down eventually you get two channels and one at least one of the channels i see cbs all access still has a separate app that i use and subscribe to through that app but apparently i could also do it
00:39:30 John: through channels it's so confusing like and yeah if i scroll i can see channels this one's for showtime epic stars but i don't see hbo and presumably i could have before i see britbox which i subscribe to but view through the dedicated app maybe i should have subscribed through channels i don't even know what i was supposed to have done here anyway uh it's a mess and now hbo max is no longer in the channels list but hbo is still showing at the top of the tv app
00:40:00 Marco: And it's kind of a shame because HBO is a wonderful example of a company that really needs this.
00:40:05 Marco: Like, HBO can't make a good app to save their lives.
00:40:08 Marco: You know, see also Hulu.
00:40:10 Marco: These companies, like, if you could buy the HBO service as a channel and have it just be an Apple's alright TV app...
00:40:17 Marco: The TV app is all right.
00:40:19 Marco: It could be so much better.
00:40:20 John: I watch a lot of things through apps, not on my actual television, but like on my iPad.
00:40:28 John: And I would like to make an announcement to everyone who's listening who works on a video application.
00:40:34 John: I have several announcements.
00:40:36 John: Number one, have the button to turn on and off closed captions be top level in your thing.
00:40:45 John: Don't make me dig through menus.
00:40:47 John: to and figure out whether your app pauses the video when i'm digging through the menus or not or whether auto resumes and when i'm done with the menus have it be a top level button you have a huge amount of screen real estate one tiny button that looks like a little cc or a box a little speech bubble or whatever tap on tap off yes by all means let me dig into it and select which language and so on and so forth like there should be options further but to toggle captions on and off needs to be top level
00:41:12 John: Number two, have some way to skip forward or back by some small amount.
00:41:17 John: Now, maybe I'm the only person who watches video in an environment where there's noise or you're distracted, but very frequently I want to go back because I missed something or I want to go back and turn on captions.
00:41:26 John: And yes, I know you can dig the Apple TV remote out of the crack in your cushions and try to get it to say, and you can speak it to it and say, what did he say?
00:41:33 John: And it will rewind to turn on captions.
00:41:35 John: That's a cool feature.
00:41:36 John: but i can do that with my fingers if you have those buttons there i'm amazed that when i see a video app that literally has like speaking of britbox no way on the ipad on britbox to step back or forward any amount of time you have to if you miss something that somebody said uh or they said it in a weird accent you don't understand because they're british you have to like grab the little tiny scroll thumb and try to move it like a pixel retina pixel and a half to get back 30 seconds
00:42:01 John: To hear what they said again.
00:42:02 John: Oh, and by the way, you couldn't understand it the second time either, so don't forget to turn on captions.
00:42:06 John: So now grab that thumb again, move it back a pixel and a half, hit pause quick if you can find it, and then find out where the captions are.
00:42:12 John: Dig through three menus, turn on the captions, close those menus, and resume playback.
00:42:16 John: basics very basics of just like play pause fast forward rewind captions on off you've got huge expanse of black especially like letterbox things there's huge amount of space in the screen for this ui to be for it literally to not exist is inexcusable um apple has this some of this stuff it has the fast forward rewind at least i think captions are two taps deep but i use the plex player i use the hbo go player it's
00:42:43 John: hbo max uh netflix like nobody gets all right not even netflix gets it all right and it boggles my mind i don't understand if any of the people who design these applications actually watch video using them but it seems like it's one you know it's one of those things where they have all the features they don't have to write any new code and the ui isn't that complicated it's basically a toolbar with like seven buttons on it and they still manage to not get it right
00:43:09 Casey: For what it's worth, in Plex, you just swipe down and then I think it's on that very first menu, I think.
00:43:17 John: In Plex, it's tap to get the menu and then tap for the closed captions you want.
00:43:21 John: I think after you pick, it closes the menu and resumes video.
00:43:24 John: So it's two taps instead of one, but then you also have to remember to rewind and it does have a step back, although it's not a configurable step back.
00:43:31 John: It's harder than it needs to be.
00:43:32 Casey: Oh, it's definitely harder than it needs to be.
00:43:34 Casey: That's for sure.
00:43:35 Casey: All right.
00:43:35 Casey: Since you're all happy and excited about life, why don't you tell me about Joe Rogan?
00:43:40 John: Last episode, we talked about the Joe Rogan Spotify deal and with the impact on podcasting and all that other good stuff.
00:43:49 John: What we didn't talk about at all last episode was Joe Rogan himself, the person and the show and the content.
00:43:56 John: Part of the reason we didn't talk about it is I think none of us listen to Joe Rogan.
00:44:00 John: Have either of you ever heard a episode of the Joe Rogan podcast?
00:44:04 Casey: I don't think I've even heard the Elon Musk episode that everyone and their mother heard.
00:44:09 Casey: I think I listened to maybe a minute of it, maybe, and that was it.
00:44:13 Marco: Did he interview Obama a couple years ago?
00:44:14 Marco: I listened to that.
00:44:15 Marco: Whatever famous comedian interviewed Obama on a podcast, I listened to that, which I think was him.
00:44:19 Marco: Mark Maron did, I think.
00:44:21 Marco: Oh, it was Mark Maron.
00:44:22 Marco: That's it.
00:44:22 Marco: Never mind.
00:44:23 Marco: Whoops.
00:44:23 Marco: Sorry.
00:44:25 John: I would imagine Obama wouldn't go on Joe Rogan, but I don't actually know.
00:44:28 Marco: But you're right.
00:44:31 Marco: I remember now it was Mark Maron.
00:44:32 Marco: I don't listen to either of them.
00:44:34 Marco: But I listened to that episode.
00:44:36 John: I've never listened to an episode of Joe Rogan podcast, but I have read about him.
00:44:40 John: And I know enough about him that I should have and actually meant to but never got around to say something about him.
00:44:45 John: Basically, all this is to say that ATP does not endorse Joe Rogan.
00:44:49 John: We either don't know anything about him or what we know about him we don't like.
00:44:53 John: So I will put a link in the show notes to
00:44:56 John: The one thing that I have read about Joe Rogan, which is why I know he's not a particularly great character in his show, is not a particularly positive thing in some aspects.
00:45:04 John: It's from The Atlantic.
00:45:05 John: It's a couple years old.
00:45:07 John: Or no, it's just from 2019.
00:45:08 John: I encourage you to read it.
00:45:11 John: Lots of people will dislike him.
00:45:12 John: He holds some very bigoted views on certain topics.
00:45:17 John: And, you know, I didn't want to make it sound like we were endorsing him last time.
00:45:20 John: But this brings up an interesting point, sort of a meta point about this, which is,
00:45:24 John: How is it that the three of us who are in the podcasting world don't know about, like, the biggest podcaster in the world?
00:45:33 John: Like, is it because we just spend time, as Marco mentioned last time, listening to podcasts with very narrow interests in our own little corner of the world?
00:45:40 John: Yeah, part of it is that.
00:45:41 John: But also part of it is something that we got called out on by a couple people last episode, is that...
00:45:48 John: We have the luxury of not knowing that one of the most popular podcasters in the world is saying things that are hurtful, you know, to marginalized people on their show because it's not directly harmful to us.
00:46:02 John: So we don't hear about it in our circles and we can be blissfully unaware that there is someone out there talking to millions and millions of people saying very harmful things, giving platforms to people who say harmful things.
00:46:11 John: In fact, people that we would all recognize as bad.
00:46:14 John: Alex Jones.
00:46:14 John: We all know him, right?
00:46:15 John: He's terrible, right?
00:46:17 John: Joe Rogan has him on the podcast and his buddy old pal with him and got real mad at him at one point but then had him back on the show.
00:46:24 John: This is all in the article or whatever.
00:46:26 John: Again, I don't know much about Joe Rogan.
00:46:27 John: I don't know what his deal is.
00:46:28 John: I don't know exactly how good or bad he is as a person, but I do know that his show seems to have lots of aspects to it that are extremely...
00:46:39 John: harmful let's say uh and the fact that we didn't know about it it just reveals you know our position of privilege that we can afford to not know about it and we can afford to do an entire episode of a show where the actual person who has this podcast doesn't come up at all right and so you know our ignorance is not necessarily an excuse but it is a fact and it is you know it is part of
00:46:59 John: It's part of the whole thing.
00:47:00 John: In the same way that Joe Rogan could have people on the show and be old buddy, old pal with them and just hang out and talk like two dudes because everything they talk about doesn't impact them in their position.
00:47:11 John: That's the same way that we can manage to talk about the business of podcasting and never actually mention Joe Rogan.
00:47:16 John: So I think
00:47:17 John: we made a mistake to at least not mention that there and the second thing is say you're listening to this now and you listen to joe rogan and you're saying hey are you saying i'm a bad person because i listen to joe rogan again i don't know i don't listen to his show for all i know he does good things and bad things right but like i do know that some of the things that he's done should make you maybe think twice about it so it doesn't mean you're automatically a bad person like i mean marco and i both listen to howard stern who has at various times done some very terrible things right uh no person is entirely good or bad but it does
00:47:46 John: behoove you to if you're going to listen to a podcast like Joe Rogan to be aware uh that some of the things he does and says are harmful to people maybe not you but to other people 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 so I can just I can just wipe my hands of it and say well since I never listened to the show I'm not going to offer any opinion whatsoever on Joe Logan because 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 or would it be unfair for me to
00:48:14 John: read this article and somehow believe bad things about Joe Rogan, you don't even listen to the show.
00:48:18 John: 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, 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 John: It's okay to say, 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 John: believe them like they're not doing that for the hell of it right they're not there's not a vendetta right to out to get joe rogan because this marginalized group this incredibly powerful marginalized group you know the incredibly powerful like uh lobby of this the you know the most downtrodden group is out there trying to stop the most powerful podcast in the world 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 and so i think if you listen to joe rogan enjoy it
00:49:06 John: Maybe read this article, think more critically about what you hear, listen to what other people have to say about Joe Rogan.
00:49:12 John: Maybe it will change your opinion, maybe it won't.
00:49:15 John: 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:24 Casey: So I thought we could maybe do Marco's favorite activity in the entire world tonight.
00:49:32 Casey: Maybe second favorite activity in the entire world.
00:49:35 Casey: First favorite, of course, is spending his own money.
00:49:36 Casey: Second favorite activity in the entire world is what, Marco?
00:49:39 Marco: Spending other people's money?
00:49:40 Casey: Exactly.
00:49:41 Marco: All right.
00:49:42 Casey: Let's configure me a MacBook Pro because I think I might buy one because my poor, adorable, even though it's mostly stationary these days, it's too slow.
00:49:53 Casey: It's too slow, too few ports.
00:49:55 Casey: I think I'm convincing myself to get a 13-inch MacBook Pro.
00:49:58 Casey: So if I decide to pull the trigger, let's go ahead and configure one.
00:50:02 Casey: 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:12 Casey: 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 Casey: And I feel like I should set some...
00:50:24 Casey: Ground rules as to what I want out of this computer, but before I do that, any questions from the two of you?
00:50:29 Marco: 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 John: Have we skipped over the part where we tell you maybe not to...
00:50:39 Marco: spend money right now or is that we just skipping that and we're just saying look just that ship has sailed it's gonna happen i don't care no matter how destitute you are nobody deserves to use that 12 inch computer the way you're using it i i know you're like okay well finally now it's it's too slow it's like it it has always sucked you just tolerated it because you liked how small it was now that's less important than ever and all the ways that it sucks it still sucks so you might as well get a better computer for your actual work that you actually do all the time
00:51:08 Casey: Well, and so the genesis for this to more directly answer John's question is, well, first, yes, you are correct.
00:51:15 Casey: This is not at all the time for me to be spending money.
00:51:18 Casey: And you can tell listeners because of how many sponsors we have in this particular program today.
00:51:22 Casey: But that being said, there is a chance that I might need to record actually better than...
00:51:32 Casey: halfway decent chance that i might need to record um the wwdc show from not my house oh my god you're getting this computer there's no there's no way we're gonna let you do that on your 12 inch no way so that's the thing is that where are you going
00:51:50 Casey: 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 Casey: We will not be having any other people into the home.
00:52:04 John: And you'll be on a beach jam-packed with people.
00:52:07 Casey: Well, and that's the thing, actually.
00:52:08 Casey: No potential.
00:52:09 Casey: I'm going to be doing this next week.
00:52:10 Casey: Oh, okay.
00:52:11 Casey: Well, there you go.
00:52:12 Casey: But yeah, if the beach is jam-packed, then we won't be going to the beach.
00:52:15 Casey: But I think it would do all four of us a lot of good to just have a change of scenery.
00:52:19 Casey: And I feel like if we're going to do that, this is one of the safest ways to do it.
00:52:23 Casey: Please don't email me.
00:52:24 Casey: I don't want to hear it.
00:52:25 Casey: Please don't email me.
00:52:26 Marco: 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 Casey: Exactly.
00:52:33 Casey: That's exactly the same situation here.
00:52:35 Casey: And, you know, if it ends up, I'm not even sure that we are going, first of all.
00:52:38 Casey: Second of all, if we are, I'm not sure the beach will be open.
00:52:41 Casey: 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 Casey: We might be in the beach house.
00:52:49 Casey: but we will not be going to the physical beach itself.
00:52:51 Casey: 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:01 Casey: 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 and
00:53:15 Casey: if I want to make sure everything's squared away, there's a lead time on getting these devices, so I need to pull the trigger this week.
00:53:21 Marco: Yeah, let's buy it now.
00:53:23 Casey: 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 Casey: So what am I going to do with this computer?
00:53:33 Casey: 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 Casey: I mean, this is not...
00:53:43 Casey: You know, to pick on a big company that's based here in Richmond or has a huge establishment here in Richmond, you know, it's not the Capital One app or anything like that.
00:53:51 Casey: Like, it's Vignette.
00:53:52 Casey: It's Peak of View.
00:53:52 Casey: These are not massive apps.
00:53:53 Casey: They're probably not even as big as Overcast, I would assume.
00:53:56 Marco: Are you using SwiftUI?
00:53:58 Casey: No, I'm not using SwiftUI, but I am using a lot of Swift.
00:54:00 Marco: 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:04 Casey: Yeah.
00:54:04 Casey: And I want to argue with you, but I don't know if I can.
00:54:07 Casey: So anyway, so in any case, I want to be able to do Expo development with a reasonable quickness.
00:54:15 Casey: And I'd like to be able to do like, I don't know, maybe more than one thing at a time.
00:54:18 Casey: That would be kind of neat.
00:54:19 Casey: Um, so I would like to be able to do that.
00:54:24 Casey: I would like to be able to use it to do like basic, you know, photo or video stuff, not 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.
00:54:36 Casey: I'm not talking like Lightroom or Photoshop or anything like that.
00:54:38 Casey: Just stuff you can do like photos or, or acorn or pixel meter or whatever the case may be.
00:54:43 Casey: So there's really not that much that I need from it, truth be told.
00:54:48 Casey: I really love my 2018 iPad Pro.
00:54:52 Casey: I love my iMac Pro.
00:54:54 Casey: So this would definitely be the if I can ever leave the house to do work again machine.
00:54:59 Casey: And probably not that much else.
00:55:02 Casey: So I don't think I need anything that's extraordinarily powerful.
00:55:06 Casey: But that being said, I don't change my laptops like they're my underwear, Marco.
00:55:11 Casey: And so I would like to have something that lasts forever.
00:55:14 Casey: you know, a few years, preferably at least two to three years, if not more.
00:55:18 Casey: So that's kind of the situation at hand.
00:55:23 Casey: So unless there are any further questions, and I don't think I want a MacBook Air, but maybe we should explore that very briefly to begin.
00:55:31 Casey: Do I want a MacBook Air?
00:55:34 Marco: What you're looking for here... To me, you just gave a whole bunch of justifications to try to alleviate... The truth is, you want a new computer, and you can afford it.
00:55:45 Marco: What you don't want is a whole bunch of people criticizing you, and you feel bad that you can afford it.
00:55:50 Marco: You feel bad that you don't really need a laptop, but you're going to buy one anyway, because you feel a little bit bad about that, but the reality is you're going to buy it, and you're going to love it, and that's that.
00:55:57 Marco: And you can afford it, and it's fine, so we're going to do it.
00:56:00 Marco: Now, the only question is then...
00:56:02 Marco: In your case, what you're looking for is not to maximize value.
00:56:07 Marco: What you're looking for is to maximize functionality within a value range.
00:56:11 Casey: Yeah, I think that's probably fair.
00:56:12 Marco: Because 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 Marco: It's not about, like, squeezing every dollar to fit below a certain threshold.
00:56:22 Marco: It's about, like, you want to make sure you're spending money wisely, right?
00:56:27 Marco: And then secondly, you have the incredible luxury here that this is not your primary or only computer.
00:56:35 Marco: 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, or getting the absolute max specs on everything.
00:56:50 Marco: You don't need it to do...
00:56:51 Marco: primary computer duties all the time you need this as a secondary computer that you're going to use light to moderately on a light to moderate basis probably but like it's not going to be you're not going to be like running final cut pro encodes as this has your only computer every day every every work day that you're going to use it like that's that's not what you're doing here 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:17 Casey: I love that 12-inch computer.
00:57:20 Marco: The MacBook Air is an exceptional value in Apple's lineup right now.
00:57:26 Marco: It is a very good sweet spot, but one area where it falls down is that CPU power is not great.
00:57:33 Marco: And also when you spec it up to try to extract more CPU power out of it, it gets very close in price to the well-spec 13 inches.
00:57:42 Marco: And it's very similar in size and weight.
00:57:44 Marco: It is a little bit lighter.
00:57:46 Marco: It feels a little bit better because of the teardrop shape and because of the slight lightness.
00:57:49 Marco: And it doesn't have a touch bar, which is nice.
00:57:51 Marco: I consider not having a touch bar feature of the Air.
00:57:54 Marco: not you know not a shortcoming so the air has a few things going for it but ultimately because you're doing things where performance does matter i think you'd probably be better off with a 13 inch pro now among the 13 inch pro line there's nothing that matters below the 1799 config the first one that has four ports so
00:58:17 Marco: All the two-port models, skip them.
00:58:20 Marco: If you were going to get a two-port one, just get an Air.
00:58:22 Marco: It's a better computer than the two-port ones.
00:58:25 Marco: It also has only two ports.
00:58:27 Marco: It also has worse processor performance than the four-port one.
00:58:30 Marco: 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:37 Marco: What you want, though, is probably a four-port one.
00:58:40 Marco: Let's go into that.
00:58:41 Marco: You can go 1799 or 1999.
00:58:44 Marco: Double the storage on the 1999 one.
00:58:46 Marco: Oh, you got a terabyte.
00:58:46 Marco: Okay.
00:58:47 Marco: I'm going to suggest you get a terabyte.
00:58:49 Marco: I bought a few back like in the 2012 era.
00:58:51 Marco: I bought a couple that had 256 and I regretted it heavily.
00:58:55 Marco: That was a pain in the butt for any kind of developer work because you're constantly downloading an Xcode beta.
00:59:00 Marco: Now you're out of space.
00:59:02 Marco: It was a pain.
00:59:03 Marco: 512 was where I went for a while as like this is what I should get as a minimum for a laptop.
00:59:09 Marco: These days, the price difference between 512 and a terabyte is not huge these days.
00:59:15 Marco: And a terabyte's really nice because not only is Xcode and developer stuff and everything just getting larger, 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 and, and stuff like that.
00:59:31 Marco: So I think you would probably end up using it.
00:59:34 Marco: Like, I think I mentioned last time we talked about this.
00:59:35 Marco: I, so I've been getting one terabyte the last couple of years on my many laptops and, uh,
00:59:41 Marco: 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 Marco: Yeah.
00:59:50 Casey: So the the adorable that I have is a half terabyte.
00:59:54 Casey: It's 512.
00:59:55 Casey: And I'm looking at it right now and it's about half full.
00:59:58 Casey: So I'm using just back of the napkin around 256 gigs.
01:00:03 Casey: 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 Casey: I can't remember a time that I feel like it's ever been close to exploding.
01:00:11 Casey: So I feel like I absolutely could get away with 512.
01:00:16 Casey: But I'm slightly leaning toward the 1TB model for most of the reasons you just said and also for longevity.
01:00:23 Casey: Because again, as much as I snark about your laptop buying tendencies, the truth of the matter is...
01:00:28 Casey: 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 Casey: 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 Casey: That is still chugging along for the record, but it's time to replace it.
01:00:47 Casey: Which is kind of incredible, but it's time to replace it.
01:00:49 Marco: And at this point, the SSD size, that's a hard limit.
01:00:53 Marco: If you run out of SSD space, you can't expand that.
01:00:58 Marco: It's like you can fill it up, and then at a certain point, you're just full now, period.
01:01:02 Marco: Hard wall.
01:01:04 Marco: If you're running low on RAM, or if you're running low on processor power for a task you're doing...
01:01:08 Marco: The computer just kind of slows it down, and you can still do things.
01:01:12 Marco: It's much more of a soft limit.
01:01:13 Marco: You can still do things.
01:01:15 Marco: It just might be a little bit slower at it.
01:01:17 Marco: But if you slam into a disk size barrier, you're just screwed.
01:01:21 Marco: There's just nothing you can do about that unless you get into external drives, which suck on laptops.
01:01:25 Marco: Combine that with the fact that the 512 to 1 terabyte upgrade is only $200.
01:01:29 Marco: To me, that's a no-brainer.
01:01:32 Marco: And if you look at the specs of this base 4-port model,
01:01:35 Marco: There's a couple upgrades you can do.
01:01:37 Marco: You can upgrade the CPU for $200.
01:01:39 Marco: You can upgrade the RAM for $400.
01:01:40 Marco: We'll get to that in a minute.
01:01:41 Marco: Or you can upgrade the SSD for $200.
01:01:43 Marco: 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 Marco: Because $200 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 Marco: Do that.
01:01:59 Marco: If you do nothing else, do that.
01:02:01 Casey: I think I'm on board with that.
01:02:02 Casey: John, any thoughts?
01:02:03 John: That's what I was going to ask you about when I was going through this configurator is I didn't know what your storage needs were, but then I saw that one terabyte was $200 extra.
01:02:10 John: It's like, oh, no brainer.
01:02:11 Casey: Yeah, that's the thing.
01:02:13 Casey: The value for money is so good that I don't know why I wouldn't.
01:02:16 Casey: So I'm sorry, Marco, were you starting from the $1799 or are you starting from the $1999?
01:02:19 Casey: $1799.
01:02:20 Marco: So I'm saying either way.
01:02:22 Marco: So whatever you're going to get, you want that one terabyte upgrade.
01:02:26 Marco: Does anything else change between the two?
01:02:27 Marco: It looks like it's...
01:02:28 Marco: It looks like it's otherwise the same, right?
01:02:30 Marco: It's the same processor, same graphics, same RAM.
01:02:33 Marco: Yeah, everything else is the same.
01:02:35 Marco: It's just an extra configuration.
01:02:37 Marco: 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 Marco: If you wanted to change nothing else about this, you can get that 1999 configuration and you could have it tomorrow or whatever, in a few days instead of a few weeks.
01:02:55 Marco: So that actually could be very valuable.
01:02:57 Marco: Also, when you buy one of the stock configurations like this, you can often get a little bit off by going to like a retailer like B&H or Best Buy or whatever.
01:03:06 Marco: A lot of times they'll have like maybe 100 or 150 bucks off.
01:03:09 Marco: So that's a nice little bonus you can get whenever you're going for a non-customized configuration.
01:03:14 Marco: And that's why, like, you know, on my 16-inch, I have the 2799 configuration that I paid, like, $2450, I think.
01:03:22 Marco: It's something like that.
01:03:22 Marco: I paid, like, 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 Marco: It was wonderful.
01:03:29 Marco: So I strongly suggest you consider very heavily just stopping right here.
01:03:35 Marco: Just taking this 1999 configuration, the stock one they have.
01:03:40 Marco: I like it better in silver, personally, but you can go space gray if you really want to.
01:03:43 Marco: And calling it a day and getting it in stock somewhere and you're done.
01:03:48 Marco: 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 Casey: I do not.
01:03:53 Casey: I absolutely do not.
01:03:54 Marco: Or if you want to get a slightly faster processor, but it's, you know, it's, we're talking like 10% faster.
01:04:00 Marco: It's like, it isn't that much faster.
01:04:02 Marco: Or if you want to get 32 gigs of RAM.
01:04:06 Marco: Here's where we're going to have an argument.
01:04:08 Casey: Here's the argument right here.
01:04:10 Casey: Why the hell would I not do that?
01:04:12 Casey: Like, $400 is not cheap.
01:04:13 Casey: It is not cheap at all.
01:04:16 Casey: And, I mean, the Adorable is fine, he says, with no confidence, with 16 gigs of RAM.
01:04:21 Casey: I think.
01:04:22 Casey: I'm pretty darn sure.
01:04:23 Casey: Now I'm curious.
01:04:24 Casey: Is it 16?
01:04:25 Casey: Yes.
01:04:27 Casey: But it seems to me like...
01:04:30 Casey: So almost all the arguments you made about SSD storage, I could also make about RAM.
01:04:36 Casey: And even though the $400 really does chap my hindquarters kind of badly, it's just especially if I wanted to make this thing last, why wouldn't I check that checkbox?
01:04:47 Marco: Because it's not your primary computer, because it's more of a task-focused computer, you're not leaving a million things open on this all the time, 24-7.
01:04:56 Marco: You're not leaving all your stuff running on this.
01:04:59 Marco: You're using it to work at a grocery store or whatever, whenever that can be a thing.
01:05:04 Marco: You're using this like, I'm going to take out the laptop and use Xcode for a while or whatever.
01:05:09 Marco: It's much more of a focused device most of the time, right?
01:05:12 Casey: Yeah, I think that's fair to say.
01:05:13 Marco: 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 Marco: I've had 16 on everything until I think, does my 16 inch have 16?
01:05:25 Marco: I don't even know.
01:05:26 Marco: I think it has 32, right?
01:05:27 Marco: What does the 27.99 configuration have?
01:05:30 Marco: I don't even remember.
01:05:31 Casey: I'm not sure either.
01:05:31 Marco: But regardless, you'd be fine with 16.
01:05:34 Marco: Now, is 32 better?
01:05:36 Marco: Yes.
01:05:37 Marco: Oh, real-time follow-up, I have 16.
01:05:40 Marco: And it's fine.
01:05:41 Marco: It's great.
01:05:43 Marco: Now, yeah, so more RAM, sure, it would be better.
01:05:46 Marco: There is a cost to battery life, but I don't think it's a massive one.
01:05:50 Marco: I don't think you would necessarily notice it most of the time.
01:05:53 Marco: So what you're really looking for here is...
01:05:55 Marco: $400 of an upgrade fee.
01:05:58 Marco: That is a significant upgrade fee.
01:06:00 Marco: That is a very high price for what this is.
01:06:03 Marco: Since you don't necessarily need this, or you don't know that you need this, there is a strong argument that you shouldn't get it.
01:06:12 Marco: However, you are right.
01:06:13 Marco: You can never upgrade it later.
01:06:15 Marco: And if it turns out that there's something you need to do with this that needs 30 gigs of RAM, yeah, you are just stuck.
01:06:21 Marco: That is a problem.
01:06:22 Marco: But I would bet there probably isn't, or that would be rare enough that a little bit of swapping to the SSD in those rare cases would be tolerable compared to $400.
01:06:32 Marco: That being said...
01:06:34 Marco: How much do you regret the money you spend after you spend it?
01:06:39 Marco: Like right now, before you spend it, you're going to agonize over this $400, right?
01:06:44 Marco: So this is a big thing.
01:06:47 Marco: Also, keep in mind, because you don't necessarily need to upgrade anything else, you're talking about $400 and three and a half weeks versus saving $400 and getting it like tomorrow or whatever.
01:07:00 Marco: And most of the time, you probably won't notice the difference.
01:07:01 Casey: It's actually not as great a difference as you said.
01:07:05 Casey: So if I order the out-of-the-box 1999 one, I don't get it until June 4th through June 11th.
01:07:11 Casey: And as we record, it's May 27th.
01:07:14 Casey: If I tick the 32 gig checkbox, however, that becomes June 18th through June 25th.
01:07:20 Marco: Oh, that's not too bad.
01:07:21 Marco: So it's like an extra week and a half, maybe at most.
01:07:23 Casey: Right.
01:07:24 Casey: However, that definitely does bump uncomfortably into the it might arrive when I'm already at the beach time frame.
01:07:30 Marco: And the thing is, like, it's $400 plus some extra time, even if it isn't that much extra time.
01:07:36 Marco: Still, that's still some extra time.
01:07:38 Marco: And are you really going to need that?
01:07:39 Marco: Now, again, that being said, you can never upgrade it.
01:07:42 Marco: And six months from now, you probably will forget that you even spent $400 on that upgrade.
01:07:48 Marco: If you do buy it, six months from now, that's long gone and forgotten.
01:07:52 Marco: You long ago had paid it off or whatever, and so you don't have to think about it anymore.
01:07:58 Marco: I didn't think it was worth it for me, and we do very similar work.
01:08:00 Marco: That being said, you're using a much less efficient language.
01:08:04 But...
01:08:04 Casey: Can't help yourself, can you?
01:08:07 Marco: But we do similar work, and I don't need 32 gigs.
01:08:10 Marco: And that's not to say that our listeners out there who are oftentimes developers, there are a lot of developer workloads that do need lots of RAM, especially if you run virtual machines and stuff.
01:08:19 Marco: That makes sense.
01:08:20 Marco: There are people out there who need it, but I don't need it.
01:08:23 Marco: I'm not one of those people.
01:08:24 Marco: And I don't think you are either.
01:08:26 Casey: No, I don't think I need it.
01:08:27 Casey: It's just the thing of I feel like, as you had said,
01:08:31 Casey: there is a more than zero chance I will regret not having 32, but there is an approaching zero chance of regretting having gotten the 32.
01:08:42 Casey: Yeah, so then get it.
01:08:45 Casey: So at that point, you know, why not?
01:08:47 Casey: The only thing is I didn't realize that I am bumping up against it, maybe arriving after I really, really need it, which would be hilarious and also deeply uncomfortable.
01:08:55 Marco: Great, so don't get it.
01:08:57 Casey: So, yes, I don't know.
01:08:59 Casey: John...
01:08:59 John: help help me help me help me to help you i mean no help you to help me uh what should i do i help you to help me even as configured as we've both been suggesting because i agree go with 32 it's still not that expensive i mean in the grand scheme of things as for getting it late i mean that's your fault you could have ordered this weeks ago you're waiting so long but honestly i think you'll podcasting from whatever device you bring with you will probably be fine either way
01:09:24 John: Just get the computer you want to get.
01:09:26 John: You wanted the 13-inch, right?
01:09:29 John: That's the one you've always wanted.
01:09:30 Casey: Yeah, I don't want a 16.
01:09:31 Casey: I've done the 15 life.
01:09:32 Casey: It's not for me.
01:09:33 John: This is it.
01:09:34 John: Just 32 gigs, one terabyte.
01:09:36 John: Get the slower CPU to save 200 bucks so you'll feel a little bit better about it.
01:09:39 John: It's like 2,400 bucks.
01:09:41 John: And just don't drop it and don't drop anything into it and you'll be fine.
01:09:46 Casey: But I think I will probably get AppleCare on this.
01:09:49 Casey: I never used to be an AppleCare person, but when I spent $95,000, no, actually, that was you.
01:09:53 Casey: When I spent an obscene amount of money, though, on the iMac Pro, I did get AppleCare because why wouldn't I?
01:09:58 Casey: As a percentage, it's like free.
01:10:01 Casey: And I was thinking I would probably do it for this as well, which is something like $250, which is not cheap, but especially on something that moves, it seems like it's probably a wise idea to do it.
01:10:11 Marco: I wouldn't do it, but you should.
01:10:15 Casey: Well, that's the thing.
01:10:16 Casey: The Adorable has a small line of dead pixels on it that I don't know how it happened.
01:10:22 Casey: It's never been dropped or anything like that.
01:10:23 Casey: I guess it was in a bag or pushed up against something in such a way that it caused a line of dead pixels, which if I had AppleCare, I would probably go about replacing, but I don't.
01:10:32 Casey: um i feel like there's oh and the sticky keys that have happened all the time because butterfly um it seems to me like especially with my track record why wouldn't i get apple care so yeah i hear you i don't know it seems it's also unfortunate because i don't think you can do the expedited delivery remember it was like eight bucks to do expedited delivery on the imac pro or something like that and it does not seem like that's an option right now which is really a bummer but um but yeah so maybe i'll uh pull the trigger on this tomorrow
01:11:01 Marco: yeah i think you should i mean honestly whether you get the ram or not that's up to you but uh you know there's not going to be a better time to buy this because yeah you know it's it just got updated it has it has all the good stuff has you know the good keyboard and everything yeah it has a touch bar that sucks but otherwise like it has it has everything else that you want that you've been waiting years for using that awful 12 inch all this time yeah
01:11:23 Marco: as it keeps breaking further from its initial mediocre state to begin with.
01:11:27 Marco: So, yeah.
01:11:29 Marco: It's time.
01:11:30 Marco: You need a computer like this, and you might as well just buy it.
01:11:33 Casey: All right.
01:11:34 Casey: Thank you, gentlemen.
01:11:35 Casey: I will probably do that tomorrow and then weep over having spent so much money on this, but I think it needs to happen, especially if... And the thing I...
01:11:42 Casey: The reason I hadn't bought it was because it felt like it was a frivolous and silly thing to do until I realized I could legitimately need this for my work.
01:11:52 Casey: And not even in the ha-ha funny way, but like legitimately I might need this for my work.
01:11:56 Casey: And that's not comfortable.
01:11:58 Casey: Plus, you know, with all my Synology problems as of late, it seems like...
01:12:03 Casey: Having only the iMac Pro, which, by the way, seems to be pretty good right now, knock on glass, but having only the iMac Pro and not being terribly confident in its backup does not feel like a great place for me to be right now, especially since I can't just walk or, well, drive and then walk into the Apple Store and get service.
01:12:22 Casey: You know, that's not a thing right now.
01:12:23 Casey: The Virginia Apple Stores are not open right now, and I don't know when they're going to open.
01:12:27 Casey: So...
01:12:27 Casey: I feel like two is one, one is none.
01:12:30 Casey: And right now I have one.
01:12:31 Casey: I mean, one and change.
01:12:34 Casey: So that's effectively none.
01:12:35 Casey: So it seems like even though this is a terrible time for me personally to be spending a couple thousand dollars on a laptop, I do think it is, I have convinced myself in the way only Marco or perhaps me could that it seems like a worthwhile expenditure of money.
01:12:53 Marco: Yeah, this is an important part of your job.
01:12:55 Marco: Don't feel bad about it.
01:12:56 Marco: You need this, just do it.
01:12:57 Marco: Also, if your recording dies because you used the 12-inch on our show during WBDC week, I will kill you.
01:13:06 Marco: So you might as well just avoid that outcome by getting this now.
01:13:10 Casey: 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:20 John: uh 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 or ole that microsoft tried to do before that right so i've read a whole bunch of articles about this microsoft fluid office thing and i i mean i keep reading them and then i reread them and i think i understand it but then i don't quite so forgive me if i get a lot of these details wrong but i think we can talk about it in the
01:13:49 John: to maybe make some sense out of it.
01:13:51 John: So here's what I understand about it, and feel free to send me corrections.
01:13:58 John: This is another play by Microsoft to move more of its functionality sort of online and to the web.
01:14:05 John: So these are bits of content that you can imagine being created by, you know, the various Microsoft Office applications.
01:14:12 John: you know a graph from excel a block of text from word you know an email thing from outlook i don't i don't know if these details are correct but anyway like they have a bunch of apps to make things 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 it's not like you're saving an excel spreadsheet to your disk instead these bits of content are saved to a server somewhere microsoft server somewhere and
01:14:36 John: And then you can embed that content in any other context in any other Microsoft application.
01:14:43 John: So if you want to send somebody an email in Outlook and have an Excel spreadsheet in it, you don't have to attach a .xlsx, whatever the hell the extension is.
01:14:51 John: You don't have to attach a spreadsheet file.
01:14:53 John: you can put right in the email a little bounding box that says here is this bit of content that I made that actually lives on the web.
01:15:00 John: And when the person gets the email, it will load the email 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 John: And like OLE, object linking and embedding from way back in the day, it's not just an image or a snapshot or a copy of a file.
01:15:17 John: It is the live actual content, right?
01:15:19 John: So if someone has been changing that content, you will see the changed content in your email, right?
01:15:24 John: So it's basically like content that lives in the web that can be embedded anywhere.
01:15:29 John: And you're not stuck within each application.
01:15:31 John: So within a Word document, you can have Excel spreadsheet and vice versa.
01:15:34 John: And within an email, you can have that content, right?
01:15:36 John: So it's trying to
01:15:37 John: you know the reason it comes up in the context of open doc which i'll talk about in a second is that it's trying to sort of invert the paradigm of first choose your application microsoft word excel or whatever and then once you're in that application make some stuff with it so you'd have to first choose i'm going to uh do a spreadsheet then you'd launch excel and when you're in excel you're doing spreadsheet things only and then if you decided uh in a word document you want a graph from your spreadsheet to appear you could export that graph as a
01:16:03 John: graphic or whatever object linking and embedding was a way locally on your pc to embed a graph of an excel spreadsheet inside a word document but there was no web involved there i don't even know how well he worked under the covers in terms of you if you like emailed that document to somebody it was mostly in a pre pre-internet tidal wave era if not chronologically then at least sort of psychologically right um
01:16:25 John: But that's always fraught.
01:16:26 John: Like people on the other end would have to have the application and so on and so forth.
01:16:29 John: And this is more web world where Office 365 or Microsoft 365, whatever it's called now, can all be online.
01:16:36 John: Content lives in the web.
01:16:37 John: And the content is wherever you need it to be.
01:16:40 John: in any combination that you need it to be with access to all the tools that you would expect from Microsoft's Office to be able to modify that and look at it and so on and so forth.
01:16:50 John: And it's more complicated than that in terms of sharing and identities and I'm sure they want you to have an Office 365 subscription to do all this and
01:16:56 John: yada yada there's the business model side of it so on and so forth but technologically speaking it is a modern way to make the application less important and make it easier to mix and match content that you can make with microsoft's applications is also it seems like it's also like an open standard the third party people can make to put content from their application and mix it all together i don't know if you it only gets mixed within office documents or if people can make their own things as well but
01:17:23 John: The reason it's, you know, in my scrambled explanation of what I think Fluid is, the reason I put this in here is because it reminds me so much of OpenDoc in some ways, and in other important ways it's different.
01:17:35 John: So OpenDoc is something I know a little bit more about, and I think it's interesting to compare the approaches here.
01:17:39 John: OLE I know less about, maybe Marco can talk about that, and if he knows more about it than I do, tell me how this compares.
01:17:45 I don't.
01:17:46 John: um yeah open dock was around the same time as ole i forget i don't know i'm not good with dates but open dock was a long time ago like uh 90s maybe uh it's another one of those ambitious technologies from the 90s apple that didn't really go anywhere it had a bunch of good ideas implementation was so so steve jobs came back and killed it and people were mad you know there's a whole bunch of things in that bucket
01:18:07 John: But OpenDoc is one of them.
01:18:08 John: And the paradigm with OpenDoc was that, again, rather than starting with an application, right, instead, it would be a document centric model where you would start a document.
01:18:21 John: And if that document needed to have text, you would use an OpenDoc component of a word processor and you can write text in the document.
01:18:29 John: And if that document needed to have graphics, you could use the Adobe Photoshop.
01:18:33 John: I'm not getting the terms right, but I don't know what they were called, OpenDoc components.
01:18:37 John: I know the OpenDoc document thing was like a container.
01:18:40 John: I forget what the other things were called.
01:18:41 John: Anyway, you can look it up.
01:18:42 John: But you would pull in tools, and people would make these tools, and you'd just be working on this one rich document, and you'd be able to select the best graphics editor, the best graphing tool, the best word processor or whatever, and...
01:18:54 John: Pull in their capabilities into the document you're working on.
01:18:57 John: The document you're working on would be filled with content created by these other tools that are made by a selection of vendors.
01:19:03 John: And the vendors would compete against each other to provide the best drawing tool that you would use.
01:19:06 John: So, again, rather than having to start with the application and work there and then export portions of it and import it into another application, you'd always be working in your document.
01:19:16 John: And the functionality would sort of gather around it on the outside.
01:19:20 John: And there are a lot of reasons that OpenDoc failed.
01:19:22 John: Part of it has to do with the fate of Apple, and it was overextended, and it was almost going out of business, and they needed to simplify, and so on and so forth.
01:19:28 John: But even if none of that had been true, I think the biggest reason OpenDoc was doomed to failure was that it was a model...
01:19:36 John: that made potentially some sense from the user's perspective that hadn't been proved out.
01:19:41 John: But in theory, you could say, I can see how this would be better for users because, you know, being solid into applications is annoying, right?
01:19:47 John: But it didn't make any sense for the software makers of the day.
01:19:51 John: If you are Adobe, you don't want Photoshop's functionality to be just another competing tool surrounding this OpenDock container, and you have to compete with other vendors doing similar things.
01:20:02 John: You want to control the horizontal and the vertical and be Adobe Photoshop, an application where you go to get all your stuff done and that you pay through the nose for, right?
01:20:11 John: And same thing for every other vendor.
01:20:13 John: It was to their advantage to sell you an application.
01:20:16 John: They didn't want to have to compete.
01:20:18 John: They didn't want each one of their little components, their vector drawing tool, their bitmap drawing tool, their smart erase tool, like whatever functionality that their app exposed.
01:20:27 John: They didn't want to have to compete, have that functionality compete with, say, a dedicated company that just does in modern terms like machine learning, erasing of people from photos, right?
01:20:38 John: photoshop has that feature within it but they didn't want to have to compete one-to-one with it with a three-person company and the only thing they make is the world's best you know machine learning erase a person from a photo tool that doesn't help adobe they want to get you into photoshop and say well maybe not every single one of the tools in photoshop is best in class but taken as a whole photoshop is best in class for image editing therefore pay us lots of money right so
01:21:02 John: And that I never heard a convincing explanation from Apple, not in the 90s when I was following all this stuff and not in the future of how Apple was going to sell the rest of the industry on this idea.
01:21:11 John: Maybe you could say it helped like the little, you know, the small developer.
01:21:15 John: Look, you're never going to make a Photoshop competitor, but you might be able to make a special purpose tool that just has the drawing tools that people need in this context.
01:21:23 John: And in this context of OpenDoc,
01:21:25 John: You can compete against that tiny fraction of Adobe's functionality.
01:21:29 John: But in the end, it was building on top of what was then a single platform thing for a minority platform.
01:21:36 John: And you would never get the big players on board.
01:21:38 John: It's the same reason Nex didn't fly.
01:21:40 John: It's the same reason...
01:21:41 John: Well, one of the reasons Next didn't fly, and the same reason that the original Mac OS X server initiative, like basically the Rhapsody initiative actually before that, they couldn't get people on board.
01:21:52 John: Adobe wasn't going to port Photoshop to Coco.
01:21:54 John: Microsoft wasn't going to make Office for Coco.
01:21:57 John: 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 John: uh and that was a very fairly minor thing compared to hey adobe stop making photoshop and instead make god i wish i knew the term for this chat room can someone tell me what the hell the things were called in open doc that weren't the containers anyway instead of making adobe photoshop application make this open doc component thingy and then you'll be one of a rich ecosystem of things that compete for our attention to work on our documents again as the user it might seem attractive but it never fit with the industry so bringing this background to fluid
01:22:32 John: It's slightly different in the stuff lives on the web, and it's slightly different in that it's basically Microsoft.
01:22:37 John: In the beginning, it's Microsoft trying to make Office better, right?
01:22:41 John: Having these silos of Excel, Word, PowerPoint, so on and so forth is annoying, but practically speaking, Microsoft owns all the silos.
01:22:50 John: And so it's kind of like, well, we're...
01:22:52 John: we're competing with ourself here we if we could make one master office document application that does everything we would do that but that would be too bloated and too complicated so instead let's try to componentize the content and allow us to mix and match more easily and because we're in the internet age rather than using object linking embedding and files and embedded content off of a single thing have it all live on the web because we've got this big push for the web anyway you can edit on the web you can edit it locally you can use the the applications that we offer and
01:23:18 John: And also, by the way, have a third-party story which lets other companies participate in this ecosystem.
01:23:24 John: But I don't think Microsoft is afraid that someone's going to come in and replace Word or PowerPoint with their little tools that they do.
01:23:30 John: 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 John: uh although that's a visio competitor but anyway i don't think microsoft is afraid of getting kicked out of its little thing because it controls everything about this experience it controls the whole fluid platform it controls all the hosting presumably all the components it controls the api and it's got all the best tools so there is a third-party story here but microsoft in the world of office applications is still very close to a monopoly so i don't think they're you know the business model is something they don't have to explain to people it just has to be useful for users um and
01:24:03 John: Assuming I get any of this remotely right, the final thing I'm going to add is that my experience with Microsoft's tools is that they always strike me as, oh, here's a little miniature version of Word in this context.
01:24:16 John: So, you know, Word documents and Excel documents can be viewed in a web browser now, but you can also open it in a native application.
01:24:21 John: And every time I use, like, Word or Excel or PowerPoint in its web incarnation...
01:24:29 John: 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 John: Granted, Excel may have more features than Google Sheets, and Google Docs certainly has fewer features than Microsoft Word.
01:24:44 John: but Google Docs feels more responsive, better with multiple editors, more collaborative, faster, lighter, like everything about it.
01:24:52 John: I don't like the feeling of here comes Microsoft Word, plop, right into your document.
01:24:58 John: Oh, I get all the tools of Microsoft Word, all the quote-unquote power of Microsoft Word, and 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 Marco: That's what OLE was, by the way.
01:25:12 Marco: In the 90s with OLE, that's how it felt.
01:25:15 Marco: Especially back then, that was the era of no RAM and constant hard drive grinding for everything.
01:25:20 Marco: So I remember the very few times that I tried, like, I can embed a spreadsheet into my Word document.
01:25:27 Marco: It would grind everything to a halt and things would crash and it was a mess.
01:25:31 John: And we have more resources now, but it just feels heavy.
01:25:34 John: The thing is, Microsoft has some assets.
01:25:37 John: It has these applications.
01:25:39 John: It has the tools and features that the world values.
01:25:44 John: They want powerful applications to do these individual tasks.
01:25:46 John: But every time they try to mix them together, it's not free to get all of Word's functionality suddenly appearing in Outlook.
01:25:53 John: There's a reason Outlook for years and years has had this little miniature...
01:25:56 John: text editing environment that is not the full-fledged Microsoft Word.
01:25:59 John: And when you bring in the full-fledged Microsoft Word, even if it's through this little square that stuff is hosted on the web, it just feels heavy.
01:26:07 John: And mixing more of those things together does not make the experience lighter.
01:26:12 John: It only makes it heavier.
01:26:13 John: Maybe it doesn't make it as heavy as OLE, but it just feels sort of slow and clunky and heavyweight.
01:26:21 John: It doesn't encourage me to use it, unlike, for example, the experience of using Google Docs, especially in the beginning.
01:26:27 John: Oh, there's this document, and we can all be in at the same time.
01:26:29 John: Hey, I can see you typing, and I'm typing at the same time.
01:26:32 John: Look at us.
01:26:32 John: We're typing together.
01:26:33 John: I mean, SubEathEdit did that ages ago, but the web version of that, that is the key experience.
01:26:38 John: That little game loop is the key experience of Google Docs, and the fact that you can add comments, and you can share, and
01:26:43 John: And it's, you know, a reasonable basic featured text, you know, word processing application.
01:26:50 John: And you can embed things from, you know, Microsoft.
01:26:55 John: There's a little drawing thing and you can embed lucid charts.
01:26:58 John: Like I mentioned, these are the things I use at work, right?
01:27:01 John: 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 John: Now, maybe this fluid stuff is faster.
01:27:12 John: It's a new architecture for multiple edits and syncing changes and all that other stuff, but...
01:27:18 John: 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, 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 John: And I think that is a big problem for Microsoft to tackle.
01:27:37 John: 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 John: Because this in some ways is...
01:27:47 John: 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 John: And if they can implement that in an efficient way, it will actually make everybody's life easier, including my life at work.
01:28:01 John: So I hope they succeed, but I'm not particularly optimistic.
01:28:06 Casey: So a couple of interesting things about OpenDoc that I didn't know.
01:28:09 Casey: First of all, one of the codenames was apparently Amber, which is funny because that's the codename for SwiftUI.
01:28:16 Casey: And additionally, the OpenDoc subsystem was initially released to run on System 7.5 and later on on OS2 Warp 4.
01:28:25 Casey: Hell yeah.
01:28:26 Marco: Nice.
01:28:26 Casey: I always like a good OS2 Warp reference.
01:28:29 Casey: Always makes me happy.
01:28:30 John: You were one of its only users.
01:28:32 Casey: I think it was me and Guy English.
01:28:33 John: We were the only ones.
01:28:34 John: They were called components, I guess.
01:28:35 John: I'm looking at the Wikipedia page.
01:28:37 John: OpenDoc components, containers and components, right?
01:28:40 John: Either of you two ever use CyberDog?
01:28:43 John: Nope.
01:28:43 Casey: I feel like I recognize the name, but I don't recall what it was.
01:28:46 John: It was a web browser, an OpenDoc-based web browser.
01:28:49 John: Apple made a bunch of OpenDoc...
01:28:51 John: i don't know if they were components or containers open doc things they made to demonstrate the technology and one of them was a web browser this is back in the day when the idea of making a web web browser wasn't a herculean undertaking that you can't imagine something they're just like it's like making you know simple text or like a basic text editor oh that'll be a good example application can you imagine doing a web browser as an example application for literally anything it's like the most complicated application i was having our computer basically in terms of
01:29:18 John: features and legacy but they did the web was simpler than uh cyber dog not a great name for a web browser it was also not a great even by the standards of the day it wasn't a great web browser like no one was going to use cyber dog instead of netscape or whatever the contemporary actual thing was 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 oh images now i'm really done right maybe not cyber dog sorry but it did have a cute dog graphic and a silly name
01:29:49 Casey: All right.
01:29:50 Casey: Want to do some Ask ATP?
01:29:51 Casey: Let's do it.
01:29:52 Casey: Okay.
01:29:52 Casey: Benjamin Sharbaugh writes, I recently bought my family's first house and I'm doing... Well, congratulations.
01:29:57 Casey: And I'm doing research to figure out the best Wi-Fi networking setup.
01:30:00 Casey: I know that you've talked about liking Eero in the past, but with Wi-Fi 6 becoming more mainstream, countless new mesh networks available, and ISP speeds increasing, I was curious what you three were doing for your home networking these days.
01:30:10 Casey: How much bandwidth, what routers, etc.
01:30:12 Casey: For me, I got comped in Eero's system when they were sponsoring originally, and...
01:30:18 Casey: And I've been using that ever since, and it works really well.
01:30:22 Casey: I mean, they didn't sponsor this episode, but they have sponsored in the past.
01:30:25 Casey: 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:31 Casey: I can never get their naming right, though.
01:30:34 Casey: I'm trying to figure out exactly what I have.
01:30:36 Casey: So I have one Eero Pro and two Eero Beacons, and my house is something like 2,200 square feet, and I probably don't need...
01:30:47 Casey: both beacons i might not even need any of the beacons but it came as a pack at the time and it works really really really well i like the app i have no particular complaints about the app i have gigabit symmetric gigabit service to the house and especially via ethernet i can never say that i have any particular qualms about it via wi-fi it's more than sufficient as well so it's it's been going really well for me i'd like to save marco for last john what are you doing for internet in your house
01:31:17 John: Part of the context of this question is emerging standards, the new Wi-Fi standards, the mesh networks and stuff like that.
01:31:26 John: But the most important thing for me in my house related to networking is that it be reliable.
01:31:33 John: I have wired networking to basically everything where I care about speed.
01:31:37 John: All of my desktop computers are wired.
01:31:39 John: oh my game consoles are wired my television is wired like i have actual ethernet running to all those things it's only a gigabit right because i just have you know gigabit switches and cat six cable everywhere or whatever so it's not 10 gig and you know that whatever someday maybe the upgrade will come but my internet connection is a gigabit and my internal house network is a gigabit so it all basically works out and then wi-fi is just you know for people walking around the house uh
01:32:03 John: I have since I think I got the free Euro thing when they first sponsored as well.
01:32:08 John: But since then, I think I purchased two complete Euro sets.
01:32:11 John: So I'm on whatever the most current model is.
01:32:14 John: Most of it is I gave them away to family and I just kept upgrading my setup.
01:32:17 John: But I have I have whatever the Euro current product is.
01:32:19 John: It's three things.
01:32:22 John: The one thing that the Ethernet cable plugs into and two other things I have plugged in elsewhere in the house.
01:32:26 John: And that's basically enough to cover my house.
01:32:29 John: It's not as fast as the latest standards are going to be.
01:32:32 John: 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 John: I don't know.
01:32:41 John: I've got an old house.
01:32:42 John: not great for wi-fi signal um but it's good enough like i occasionally i was just the other day i was watching video on my ipad in my bedroom and i was you know it was netflix and it was breaking up i'm like what the hell and i stop and relaunch and it was just you know terrible quality so i did a speed test it was like 150 megabits it's like nope it's not my internet connection like my wi-fi is fine it was it was some you know internet weather related thing
01:33:07 John: Um, 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 John: Like, so eventually when wifi six becomes mature and all the products roll out or whatever, I will probably replace my Euro with another Euro system that supports the newer standards and has faster wifi, but I'm in no hurry to do that.
01:33:29 John: Like I basically just want it to work.
01:33:31 John: Um,
01:33:31 John: and have sufficient speeds for my needs, which is basically, can I stream Netflix from anywhere in the house?
01:33:36 John: Do my kids not complain about watching YouTube in their bedroom?
01:33:40 John: If everything on that level is fine, I'm not looking to upgrade it.
01:33:45 John: So my suggestion for dealing with the house is...
01:33:48 Casey: wire everything that you can wire because wires are great and then get a setup that works and don't mess with it until and unless there's a sort of a step change in in speeds or until your kids start complaining oh goodness apparently they still do sell the pack that i got which was which is one euro pro and two euro beacons for four hundred dollars although apparently on sale three euro pros for also four hundred dollars
01:34:15 Casey: 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 Casey: But if you have Ethernet throughout your house, you could do multiple Eero Pros, which is probably an even more robust solution.
01:34:31 Casey: All that being said, Marco, you have some completely bananas set up, if I'm not mistaken.
01:34:35 Casey: So why don't you tell us about that?
01:34:37 Marco: I have the new nerd standard, well, not even that new, the modern nerd standard of if you're a super nerd about this stuff, you generally get Ubiquiti gear.
01:34:46 Marco: And that's what I have.
01:34:47 Marco: I have Ubiquiti's, and not their, like, new, like, easy consumer mesh thing.
01:34:52 Marco: I believe they call it Amplify.
01:34:53 Marco: Not that.
01:34:54 Marco: The other, like, the Unify gear where you have to buy all the components separately.
01:34:58 Marco: So you have, like...
01:34:58 Marco: The security gateway or edge router as the actual router, which is only like a wires only device.
01:35:06 Marco: And then you plug that into a switch and you plug that into your wireless access point or points.
01:35:12 Marco: You can have multiple access points.
01:35:14 Marco: You kind of assemble everything from components.
01:35:17 Marco: And the total cost of a Ubiquiti system is, you know, it's up there.
01:35:23 Marco: You're looking at probably $400 as a minimum to get a nice, decent, full home setup.
01:35:28 Marco: It's certainly not inexpensive.
01:35:30 Marco: And it's also fairly complex to set up.
01:35:33 Marco: Now, it has gotten a lot easier to set up in recent years.
01:35:36 Marco: They now have much better setup wizards and things, and you almost never have to go into super advanced settings for most people's home needs.
01:35:45 Marco: But...
01:35:45 Marco: If you have specialized needs, that's there if you need it.
01:35:48 Marco: 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:55 Marco: I've been running Ubiquity gear at my house.
01:35:57 Marco: I did one big upgrade this past fall where I basically replaced everything with faster versions of everything.
01:36:05 Marco: Before that, I'd been running the same setup for a number of years.
01:36:09 Marco: And in both cases, the new setup and the old setup, I've had no problems.
01:36:13 Marco: I've never had to reboot the router, unless I had a power outage, and it rebooted incidentally as a result of that, but I've never had a problem with my Ubiquiti setup that was solved by having to reboot the router.
01:36:26 Marco: That has never happened.
01:36:28 Marco: And with almost anything else I've ever used, with the exception of Eero, which I've used Eero at the beach, and I also use it, I set up my in-laws with Eero, and I've used it I think one or two more times besides that, but
01:36:42 Marco: That was fine, but I didn't use it for so long that I could honestly say, oh, this never has problems, because I wasn't using it for months and years at a time.
01:36:52 Marco: But I can say for the Ubiquiti gear, I can say that.
01:36:53 Marco: I can say I've used this for so long, it is rock solid, and I love it.
01:36:58 Marco: That being said...
01:37:00 Marco: If you aren't a super nerd, you should probably just get something like an Eero or whatever.
01:37:04 Marco: I don't follow the mesh router business that closely.
01:37:07 Marco: So if the review sites all say something else is better this month, fine, consider that too.
01:37:12 Marco: I can't tell you one way or the other on that.
01:37:13 Marco: But if you are a super nerd, the Ubiquiti stuff is really cool.
01:37:17 Marco: And one thing that's nice about it in regards to upgradability is if some new standard for Wi-Fi comes out,
01:37:26 Marco: 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 Marco: 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 Marco: But when Ubiquiti does release access points that use the new standards, you can just replace your access points and not replace your entire organization.
01:37:48 Marco: router setup and everything and and so that's that's a pretty nice thing to have where you have it you know componentized you know similar to how right now like i have i have some issues with my imac and it kind of sucks that it's all in one and like i can't just replace a part of it i have to bring the entire thing to the beach etc and if i had a mac pro uh i would lose all my money but i would have a more modularized setup right and
01:38:12 Marco: ubiquity stuff is basically the mac pro of networking gear it's like it's a modularized high-end thing that is a little hard to figure out even what you have to buy they're making some advances there but like it's it's a very complex thing to get into but once you're into it it is so rock solid that like you will never think about your network um
01:38:32 Marco: All that being said, though, again, when it comes to new standards, I'm more with John on this.
01:38:37 Marco: I don't really usually care that much about when new Wi-Fi stuff comes out.
01:38:42 Marco: I'm certainly not usually living on the cutting edge of it because almost all of my high bandwidth devices are wired.
01:38:50 Marco: I, too, have gigabit networking wires run throughout different parts of my house.
01:38:54 Marco: Anything that can be wired reasonably is wired.
01:38:57 Marco: The actual wireless use on my network is usually not things like large file transfers.
01:39:04 Marco: Like, if I'm doing, like, I need to move this folder, this 20-gig folder between my desktop and my Mac Mini for storage or for archival, like,
01:39:12 Marco: That's going over wires, so the Wi-Fi doesn't help me there.
01:39:16 Marco: Where Wi-Fi does help is when you're using phones and laptops and iPads and stuff like that.
01:39:22 Marco: But for all those things, I don't really need cutting-edge speed almost ever, and they don't usually support it.
01:39:28 Marco: What's much more important to me is range and reliability.
01:39:31 Marco: If there's some big advance that comes out that can dramatically improve range and reliability, I'm there.
01:39:37 Marco: 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:47 Marco: 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 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 Marco: 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 John: 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 John: 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 tall refrigerator proportion one.
01:40:25 John: No hard drive inside it, but that thing.
01:40:27 John: And that replaced my previous Airport Extreme, which was the flat, pancake, Mac Mini-looking white thing.
01:40:32 John: Uh, and the reason I had been using the airport extreme before the days of mesh network is because it was reliable and it was Appalachian, yada, yada, yada.
01:40:38 John: And they stopped making it.
01:40:40 John: Uh, the reason I wanted Marcos was because I didn't want to have to set up all my networking stuff again.
01:40:45 John: I used to be stupid and have all sorts of Mac address validation.
01:40:48 John: I eventually stopped doing that, but I still do have, uh,
01:40:51 John: IP reservations so I know the IP addresses of things in my house.
01:40:54 John: I have a surprising number of devices set up.
01:40:57 John: I didn't want to have to reproduce that on the Eero.
01:40:59 John: I could have.
01:41:00 John: It has all the same features.
01:41:01 John: It's not rocket science.
01:41:02 John: I just didn't want to bother.
01:41:04 John: My quote-unquote 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 John: That's the thing that hands out the IP addresses.
01:41:15 John: That's the thing that connects to my Fios, all that stuff.
01:41:19 John: And then the Eero attaches to that acting purely as in whatever they call in bridge mode or whatever as Wi-Fi.
01:41:25 John: Right.
01:41:26 John: 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 and it's kind of dumb.
01:41:32 John: And eventually if one of those components dies, like the Eero can totally take over.
01:41:35 John: I just don't want to reenter all those rules.
01:41:37 John: So all this is to say that you can.
01:41:39 John: 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 John: Networking standards such as they are, 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:56 John: the only thing is occasionally there's some new feature that euro rolls out that i can't use because i'm in bridge mode like i feel like euro is indignant that i'm using it in bridge mode but but i am and it's fine it works fine like i have zero problems with that i don't i don't even know enough about networking to know exactly how it works i just said euro you don't hand out ip addresses let the airport do that and everyone just shakes hands and everything works fine
01:42:18 Casey: Marco, tell me again, it's the Amplify line that you're using?
01:42:22 Marco: No, it's the other stuff.
01:42:23 Marco: It's Unify.
01:42:24 Marco: So Amplify is basically like their version of Eero.
01:42:27 Marco: Gotcha.
01:42:27 Marco: It's like how all the network manufacturers now have basically Eero clones.
01:42:31 Marco: It's some kind of easy home mesh system.
01:42:34 Marco: It's not that.
01:42:35 Marco: I'm using their Unify line, which is like the business-y one.
01:42:38 Casey: Gotcha.
01:42:39 Casey: Okay.
01:42:39 Casey: 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.
01:42:49 Marco: It might be good.
01:42:52 Marco: When I bought my setup initially, that was before that existed, and
01:42:55 Marco: And when I upgraded, I basically wanted to upgrade within the same family of stuff because I knew what it worked.
01:42:59 Marco: The hardest thing with Ubiquity is learning what you have to buy.
01:43:03 Marco: Like, when you look at their components, like, okay, well, what is this?
01:43:07 Marco: What's the security gateway?
01:43:08 Marco: What's the cloud key?
01:43:10 Marco: 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 set up?
01:43:22 Marco: And it's not trivial.
01:43:23 Marco: The answer is not trivial.
01:43:24 Marco: The new Dream Machine line makes significant improvements in that area.
01:43:29 Marco: But before that, it was substantially more complicated.
01:43:33 Casey: 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 Marco-recommended products in the show notes?
01:43:44 Casey: Is that a reasonable compromise?
01:43:46 Marco: The only thing is that I haven't used a Dream Machine yet.
01:43:49 Marco: 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 home version, like the non-rack mount version, has a fan, which I don't love, but if the Dream Machine is good,
01:44:04 Marco: 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 euro and everything 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 all right cool
01:44:27 Casey: Jeffrey Wilkinson writes,
01:44:47 Casey: I haven't done this because I've let Xcode manage my certificates and all that for both my apps.
01:44:54 Casey: I remember going through this at work and I still have some scars from it.
01:44:59 Casey: I don't have anything constructive to recommend.
01:45:02 Casey: And Marco, are you doing all automatic signing on Xcode or are you doing your own manual stuff?
01:45:07 Marco: I wish I could do automatic.
01:45:09 Casey: Oh, you have CarPlay in things, don't you?
01:45:11 Marco: That's it.
01:45:12 Marco: It's CarPlay.
01:45:12 Marco: So I don't know if they've changed this since last year.
01:45:15 Marco: Last year at WBDC, when I definitely didn't abuse my press pass to go to a lab a couple times... Why would you?
01:45:22 Marco: I definitely wouldn't have asked somebody there this one issue of like...
01:45:26 Marco: I wish that when you have the CarPlay entitlement that you can use Xcode automatic signing.
01:45:32 Marco: But as of last summer, I haven't checked since then.
01:45:35 Marco: I don't know if it's changed, but it probably hasn't.
01:45:37 Marco: As of last summer, if you had CarPlay, you could not use automatic provisioning.
01:45:43 Marco: So I was still doing everything the old way.
01:45:45 Marco: And that's increasingly hard.
01:45:47 Marco: It's funny.
01:45:48 Marco: Now, when you have an app that has, say, an extension for the watch and an intense extension for Siri and a Today widget or whatever they're called, you have all these extensions.
01:45:59 Marco: Well, every single one of those extensions has its own provisioning profile.
01:46:03 Marco: So when you have to go create a build of your app or when you have to go for new certificates...
01:46:09 Marco: I have to generate like 11 provisioning profiles for all these different parts of my app.
01:46:13 Marco: And I have to do all this every year because, of course, they expire after a year.
01:46:18 Marco: So every year I have to do the whole thing again.
01:46:20 Marco: And sometimes, as Jeffrey wrote, sometimes if I have to install to a new computer,
01:46:26 Marco: Sometimes it doesn't come over correctly.
01:46:28 Marco: So Xcode has this feature.
01:46:29 Marco: 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 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 Marco: And the way this is usually stored is in a series of keys and certificates in your Mac's local keychain.
01:46:51 Marco: And so if you want to move that or export that ability to be able to do right applications and sign them correctly from another computer, you have to export that stuff.
01:46:59 Marco: 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 Marco: 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 Marco: It would basically export all that stuff out of your keychain into a package file that you could secure with a password.
01:47:19 Marco: 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 Marco: And that works much of the time, but as with everything with Xcode and signing stuff, not all the time.
01:47:34 Marco: 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 Marco: 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.
01:47:54 Marco: And that's a simple enough app that I could use the automatic stuff.
01:47:56 Marco: And it's glorious.
01:47:58 Marco: I love whenever I can use automatic stuff.
01:48:00 Marco: I'm like, Oh, just check a box.
01:48:02 Marco: And it's, it just worked.
01:48:03 Marco: It just fixed everything.
01:48:04 Marco: That's wonderful.
01:48:06 Marco: but there are still cases like carplay apps and like a few other exceptions where certain apps just can't use it and when you tell this to apple people when you're when you've snuck into wdc with your press pass when you tell this to the apple people that like you can't use it it kind of blows their minds like 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't wow
01:48:28 Marco: 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 Marco: They don't use the tools in these same ways.
01:48:35 Marco: It's really a pain to not be able to use the automatic stuff.
01:48:38 Marco: And even the automatic stuff does occasionally fail.
01:48:41 Marco: 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 Marco: Or if it picks the wrong company, that could be a problem.
01:48:56 Marco: There's all sorts of ways that can go wrong.
01:48:58 John: and you have to just blow it away and recreate everything from scratch and i wish i had a better answer and i wish i didn't have to do that but that's the answer john any other thoughts i have no idea how any of this stuff works and i'm terrified of it not working i feel like my mac pro is like a nintendo switch back before the nintendo online service where like your zelda save game was like associated with that switch and if you drop that switch in the ocean you lost your save that's how i feel like my dev environment is because so multiple things first of all
01:49:24 John: Before I made my Mac apps, I had a bunch of Apple developer stuff.
01:49:28 John: I've had an Apple developer account for years and years, decades, right?
01:49:33 John: And I have development certificates for doing stuff.
01:49:36 John: Like I made that Safari extension, and they changed the way Safari extensions were made at least once.
01:49:41 John: 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 John: And then there was a Mac development versus iOS development.
01:49:54 John: All that stuff is in there.
01:49:55 John: And then I go make a Mac app and I'm like, so what do I need to do?
01:50:00 John: Like I already have, I keep wanting to say ADC account.
01:50:03 John: I already have my Apple developer account and I'm using the same one.
01:50:06 John: There's tons of stuff in my key chain.
01:50:09 John: I don't know what any of it is.
01:50:11 John: I look at Xcode, and I can see, like, part of it is because I know from watching WWDC for many, many years, but part of it is just, like, the sense, like, you see the sediments of, like, how it used to be way harder to deal with signing, and that 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, and B, sometimes you need to fall back to that.
01:50:38 John: I have no idea how the manual way works.
01:50:41 John: The automatic way so far, fingers crossed, has always worked for me.
01:50:45 John: But I got an email recently that said, oh, some of your certificates are going to expire.
01:50:49 John: I'm like, please have a link that I click and it renews them or whatever.
01:50:54 John: And it didn't.
01:50:55 John: I'm like, no, I can't.
01:50:57 John: Your thing is about to expire.
01:50:58 John: Great.
01:50:59 John: make do a new one renew like i don't know do the thing so that and and i don't even know what the consequences are of it not working like if i let them expire do my app stop working on everyone's machine can i just not make new applications can i not bill i don't even know anything
01:51:15 Marco: 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.
01:51:24 Marco: They don't break.
01:51:25 Marco: But you can't submit new builds until you work that out.
01:51:28 Marco: So the good thing is in that worst-case scenario, if you have to nuke everything and start over...
01:51:33 Marco: you're not affecting your customers by doing that.
01:51:36 Marco: 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:41 Marco: Half hour optimistic.
01:51:43 John: Yeah, right.
01:51:44 John: Well, I mean, it's not even clear to me when I'm doing it that that's the case.
01:51:48 John: Like, I hope that's the case.
01:51:49 John: Intellectually, I can imagine it being the case, but I don't actually know.
01:51:52 John: So everything, every step of the way is terrifying.
01:51:54 John: Yeah.
01:51:54 John: And when I got that thing about certificates expiring, I don't know why they were expiring.
01:51:58 John: It's not at the same cadence as my developer account.
01:52:01 John: It's some other cadence because I had generated certificates at some other time.
01:52:04 John: And I generated them like, where are they?
01:52:06 John: Are they in my keychain?
01:52:06 John: Are they in Xcode?
01:52:07 John: When I go in Xcode, I see a bunch of crap in there, including identities of other people's Xcode products that I've opened locally on my computer.
01:52:14 John: And I always have to go in and change the team to my team.
01:52:17 John: And then, of course, they did the thing where I changed from my name to my LLC name.
01:52:21 John: And there's a bunch of residue of that lurking around.
01:52:23 John: God, I have no idea how it works.
01:52:26 John: 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.
01:52:34 John: Now that I know that exists, I would try that and I would hope it would work.
01:52:37 John: 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
01:52:51 John: I don't know.
01:52:53 John: SSL certificates, the thing I at least know a little bit more about, is just as annoying.
01:52:57 John: Mostly because if you're doing SSL certificates all yourself, at least for me as a web developer, fine.
01:53:02 John: I can do it.
01:53:03 John: But me trying to do SSL certificates through my shared hosting plan ISP through their weird interface, it's too mediated.
01:53:10 John: And I feel like
01:53:11 John: 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.
01:53:19 John: So it's all about playing by the rules of whatever system they set up.
01:53:23 John: You don't actually control everything from top to bottom.
01:53:25 John: And if you make that system good, and the Xcode system is apparently getting much better...
01:53:31 John: it's okay.
01:53:32 John: But if that system is creaking in any way or breaks and you can't understand why the whole delete everything and start over, you know, it starts to become your only option.
01:53:40 John: And honestly, I don't, I don't even know how I would do that.
01:53:43 John: Like, I suppose if I just deleted everything, delete, delete it, then I would just start at the Apple developer website and just start recreating things.
01:53:49 John: But there's so many different certificates now.
01:53:51 John: Like, yeah,
01:53:52 John: Mac installation, Mac distribution, Apple developer.
01:53:57 John: Like, it's very confusing.
01:53:58 John: Again, I don't want to slam Apple for 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 Marco: 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:17 Marco: And there's two different levels of centralized repositories that are in use here.
01:54:22 Marco: Your signing keys and certificates are stored in Keychain.
01:54:26 Marco: They have to be.
01:54:27 Marco: your provisioning profiles are stored in this hidden Xcode directory.
01:54:33 Marco: You double-click them to add them to Xcode, and then they just disappear there somewhere.
01:54:38 Marco: You can find it buried deep within library directory if you need to find it, but it's abstracted away from you.
01:54:44 Marco: So these two different sources of centralized repositories on your computer that you can't easily see where it went
01:54:52 Marco: or how to change it or how to edit it.
01:54:55 Marco: If you go into Keychain or that random provisioning profile directory, everything's just a jumbled mess.
01:55:01 Marco: You can't see what belongs to what project, what belongs to what app.
01:55:05 Marco: It's very hard to tell sometimes.
01:55:07 Marco: I think that Keychain is basically the max registry.
01:55:12 Marco: I'm sorry for all the people who this is offending.
01:55:16 Marco: Keychain is this centralized repository in the system that stuff gets added to and rarely taken out of.
01:55:24 Marco: Things can have conflicts.
01:55:25 Marco: Things can have duplicates.
01:55:28 Marco: So many bugs and weird behaviors are related to Keychain.
01:55:33 Marco: I have so many problems that are Keychain problems at the end of the day.
01:55:38 Marco: The Windows registry has been widely criticized for decades, ever since it existed, I think, in Windows 95 and above.
01:55:45 Marco: It's been criticized because it was this centralized place.
01:55:48 Marco: Before that, you were criticized for DLL hell, and a similar thing of, like, these DLLs would be these centrally shared libraries, and, yeah, it turns out you could have conflicts when that happens, and you could have duplicates and clutter and all this stuff.
01:56:03 Marco: The registry has the same problem, and Keychain has the same problem.
01:56:07 Marco: 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 Marco: Like, the way when you're setting up a web server with SSL, like, you just have those certificates in files, and you just point the web server and say, use this, here's the certificate file, here's the key file, if it has a password, here's how you can get that, or here's, whatever it is, like,
01:56:29 Marco: There are files in the file system, and you can just point to it and say, here, do this.
01:56:33 Marco: Because one of the ways the Xcode system falls down so hard with this is when you have multiple projects or multiple companies or you're a consultancy and you have a lot of different companies you create stuff under, or in the context of this question, if you want to move it to a new computer...
01:56:47 Marco: it causes problems.
01:56:48 Marco: Things break.
01:56:49 Marco: Things go wrong.
01:56:50 Marco: You can't have it like source control or whatever.
01:56:52 Marco: 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 Marco: If that was separated out and it just was a file and the Xcode project could contain this file, and yeah, you know what?
01:57:09 Marco: For security reasons, encrypt it the same way the export developer profile files are encrypted.
01:57:14 Marco: And prompt the developer for the password on first use and store the password in the keychain.
01:57:20 Marco: 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, but it has many of the exact same problems as the Windows registry does.
01:57:33 Marco: And I don't know any Mac power users who have never had a problem with keychain.
01:57:39 Marco: 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 Marco: 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 to different programs.
01:57:56 Marco: It's a mess.
01:57:57 Marco: If they could decentralize that and just make that a part of the project...
01:58:02 Marco: it would be so much better.
01:58:04 Marco: 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 Marco: 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 John: I like the idea of it being centralized to defend Keychain for a little bit.
01:58:24 John: I like the idea of there just being one implementation of this thing.
01:58:27 John: Granted, you could say, well, only security-sensitive stuff should be in there and not the public certs or whatever, but I like the idea that it's all in one place.
01:58:34 John: The problem of garbage filling it up is there, but I don't blame Keychain for that.
01:58:37 John: 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 John: I want Keychain to exist for that reason, right?
01:58:48 John: I just want – like it's up to the applications to use this sort of secure data store in an intelligent way.
01:58:54 John: So if things are – 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 John: Like 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 I've got to –
01:59:08 John: import this thing that wasn't imported.
01:59:10 John: I didn't realize I had half of this and didn't have half of that.
01:59:13 John: But I don't blame Keychain for that.
01:59:14 John: 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:22 John: And I don't mind even if stuff in there that's not security related isn't there as long as it's associated with a security thing.
01:59:27 John: 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 John: But when it comes to security-focused repositories like that, adding features is tricky and you have to do it cautiously.
01:59:39 John: Like, oh, shouldn't there be a relationship?
01:59:41 John: And so I can see what's linked to what and you can have metadata and there could be a hierarchy.
01:59:44 John: But that complicates the system a lot.
01:59:47 John: And Keychain might be kind of old and creaky code at this point or whatever.
01:59:50 John: It might be.
01:59:52 John: It's definitely old and creaky code at this point.
01:59:54 John: 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 John: And the idea of splitting up, like splitting up the data is part of the problem that you just talked about, like that Xcode stores some stuff in one place, but then Keychain stores the other stuff.
02:00:10 John: If it was all in keychain and it was all well managed, that would work well.
02:00:14 John: The thing that mixes in here to make it even more confusing is there's iCloud keychain, which in theory makes your keychain appear in multiple places.
02:00:22 John: But as with anything related to iCloud and syncing that's not extremely new, which this isn't, and especially for things that are secure related, iCloud keychain...
02:00:31 John: To give an example, this is not a perfect analogy, but my son was dealing with his Xcode stuff and he wanted to continue working on his Xcode thing somewhere else.
02:00:41 John: 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 John: But he just wanted the same stuff on his other computer.
02:00:47 John: And he had, unbeknownst to me, his account had been created.
02:00:50 John: I think I chose to do this when I set up his account.
02:00:52 John: I turned on iCloud desktop and documents syncing because I figured, oh, well, this will just...
02:00:59 John: Let him see the same things he sees on the iMac as he does on the MacBook Air, right?
02:01:04 John: He doesn't have any important stuff.
02:01:05 John: It's just like 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 John: So I turned that on, right?
02:01:11 John: Then he started making Xcode projects and storing them on his desktop.
02:01:14 John: Oh, no.
02:01:15 John: So then he goes over to the other machine and it's like...
02:01:19 John: is the Xcode project over there?
02:01:20 John: Because he doesn't know what version control is, and I think we had this conversation before.
02:01:25 John: Anyway, I'm like, yeah, I know you see it in both places, but don't.
02:01:32 John: That's not how you share source code across machines.
02:01:35 John: You use version control.
02:01:37 John: 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, but...
02:01:45 John: Some of the stuff is in that library directory that Xcode put there, but then some of the stuff is in Keychain, because technically iCloud Keychain does sync it if you have it enabled.
02:01:55 John: The stuff that Mark was talking about, like, oh, it's great when Xcode handles it for me, that's what I want.
02:02:02 John: I just want smarter tooling to say, I can get the lay of the land.
02:02:06 John: You don't have to worry about, for whatever legacy reasons, Xcode might be storing some stuff here and some stuff might be in Keychain, but...
02:02:12 John: Just give me like, you know, there is like a management window inside Xcode.
02:02:16 John: It says, here's all your stuff.
02:02:19 John: You've got seven Apple developer accounts.
02:02:21 John: You've got 20 identities and provisioning profiles.
02:02:23 John: And here they all are.
02:02:24 John: I know where all the stuff is.
02:02:25 John: And if some of it's broken, I can fix it for you.
02:02:28 John: And you can pick among them for each project and like just store it all.
02:02:32 John: And I don't care.
02:02:33 John: I just want like an interface that manages it for me when that works.
02:02:37 John: It's great.
02:02:38 John: When it doesn't work, then I have to go dig in and say, okay, which thing is here and which thing is there?
02:02:42 John: What do I do?
02:02:43 John: I don't want to ever have to do that.
02:02:44 John: 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 John: They just need to go a little bit farther and
02:02:53 John: And then maybe revisit some of the implementation details, like the idea of a of packaging up all that information in some kind of library or whatever, like like they've done with the export or maybe just the non security related stuff or maybe just even a bunch of pointers that say, here's how it should be set up.
02:03:09 John: Go fetch the stuff from the secure places.
02:03:11 John: And if it's not there, sync it with iCloud Keychain like.
02:03:14 John: I don't want to make it sound like we're slamming things.
02:03:16 John: I just see the light at the end of the tunnel.
02:03:17 John: I feel like we're almost there.
02:03:18 John: We're like 85% of the way there.
02:03:20 John: We just need to do the second 85% or whatever the mangling of that saying is.
02:03:27 Casey: Oh, goodness.
02:03:28 Casey: All right.
02:03:29 Casey: Finally, from Chris and Jay Niles, for Marco, does the increase in people working from home change the math around a Mac version of Overcast?
02:03:36 Casey: While I still don't listen on my iPad, I'd love to have it on my Mac so I wouldn't have to change my AirPods pairing for podcast listening versus video calls.
02:03:43 John: Don't distract him.
02:03:44 John: He's doing a membership program.
02:03:47 Marco: And I have a lot of more pressing overcast problems to deal with as well.
02:03:51 Marco: But yeah, it changes it slightly, but not enough to really accelerate plans.
02:03:56 Marco: So what's holding back overcast for the Mac right now is a combination of generally low demand, which this could be changing slightly, and the high amount of effort that it will currently take to make a decent catalyst app.
02:04:11 Marco: or the even higher amount that it would take to not use Catalyst and make a direct app kit version of it, neither of which I'm super excited about right now.
02:04:20 Marco: 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 Marco: And at this point of the year, we're so close to WWDC and presumably better versions of Catalyst coming out, probably,
02:04:37 Marco: 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 instead of just waiting until June for the new updates and making a better, more informed decision once we get to play with the new tools and to see, like, okay, how is Catalyst version 2?
02:04:59 Marco: And if Catalyst version 2 is still terrible...
02:05:02 Marco: that could inform things in a different way.
02:05:04 Marco: If Cattle's 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, then I will be very glad that I waited.
02:05:15 Marco: The reality is that's only a few weeks away, really.
02:05:17 Marco: We're talking about three, four weeks from now that we're going to hear all this new stuff and be able to start playing with the new betas and everything.
02:05:23 Marco: So we aren't that far off.
02:05:25 Marco: And while it would be nice to be able to say, okay, hey, now it would have been nice if in mid-March when all the quarantining really started in mass in the countries that use Overcast the most, 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 Marco: But that takes a long time.
02:05:43 Marco: I can't do a whole Mac version from zero, which is where I am so far on that front.
02:05:48 Marco: 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 Marco: I'm not going to let a temporary world condition...
02:06:01 Marco: dramatically changed my plans for a major effort to the app.
02:06:06 Marco: 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 Marco: So I would be back where I started of like, well, I just made this app for the very small percentage of people who want it under more normal circumstances.
02:06:21 Marco: So...
02:06:21 Marco: 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, and because it's such a high effort to get something good that it doesn't change the calculus enough.
02:06:34 Marco: Anyway, thanks to our sponsor this week, Basecamp, and we will talk to you next week.
02:06:39 Marco: Now the show is over They didn't even mean to begin Cause it was accidental Oh, it was accidental John didn't do any research Marco and Casey wouldn't let him Cause it was accidental Oh, it was accidental And you can find the show notes at atp.fm
02:07:08 Marco: And if you're into Twitter, you can follow them at C-A-S-E-Y-L-I-S-S.
02:07:17 Marco: So that's Casey Liss, M-A-R-C-O-A-R-M-N-T, Marco Arment, S-I-R-A-C-U-S-A, Syracuse.
02:07:29 Marco: It's accidental, they didn't mean it.
02:07:33 Casey: Oh, I can't wait to go to the beach.
02:07:43 Marco: I know I'm actually going to the beach like the way people think about it.
02:07:46 Marco: Like I can't wait to just go to the beach town.
02:07:48 Marco: If I'm going to be stuck in a house somewhere, I'd rather be stuck in a house there than here.
02:07:53 Marco: Those houses are kind of close together.
02:07:57 Marco: Have you seen where I live?
02:07:58 Marco: We're not in like, you know, big spread out suburbs here.
02:08:03 John: I know it's, it's, it's cramped.
02:08:05 John: I'm just saying, keep away from people.
02:08:06 John: You don't have any streets even.
02:08:08 Marco: There aren't that many people there really.
02:08:10 Marco: So, and this is one of the reasons we're going in for June in particular, because it's, it's just a lot, uh, it's, it's kind of easier to quarantine there safely than it is here.
02:08:19 Marco: And it's much more pleasant to be there.
02:08:21 Marco: Um, it's starting to get very hot here and walking with masks, like walking the dog with a mask is getting fairly unpleasant and
02:08:30 Marco: And I'm still going to wear the mask because I'm not going to be a jerk.
02:08:35 Marco: But if I can be somewhere that has a more mild climate with more fresh air and bigger expanses of open space, 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 Marco: There's no one around.
02:08:51 Marco: 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 Marco: 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:06 Marco: So if for actual like responsible quarantining, it will actually be in most ways easier to be responsible there than here.
02:09:16 John: i found a lot of variability and uh especially in homemade masks in terms of how comfortable they are to wear and breathe through um we actually i think we got we got a tom bin mask we have a bunch of like commercial masks and ones that uh that we made ourselves and the tom bin one was particularly not breathable and sweaty which was strange but uh
02:09:36 John: Yeah, if you have a mask that you're finding increasingly uncomfortable in hot weather, there are other options.
02:09:41 John: Like just, you know, shop around or try different materials when you're making them yourself.
02:09:46 John: Like, again, we're not trying to make something that is actually going to protect you 100% from anything.
02:09:51 John: We're just trying to do better than totally unmasked.
02:09:53 John: 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 Marco: Yeah, I have two recommendations.
02:10:02 Marco: So number one, I agree with you.
02:10:06 Marco: We also have the Tom Ben masks.
02:10:07 Marco: They are very nice, but they are pretty warm.
02:10:11 Marco: And most of the nice cloth masks are pretty warm.
02:10:15 Marco: 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 Marco: And now you can actually start getting in reasonable quantities with reasonable shipping times
02:10:29 Marco: regular medical procedure masks.
02:10:30 Marco: Those are the ones that are square and they have the ripples on them.
02:10:35 Marco: 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:42 Marco: But they're the kind that a dental hygienist wears when they're cleaning your mouth.
02:10:46 Marco: They're made to block spit particles, basically.
02:10:49 Marco: The good thing is they're much easier to get
02:10:52 Marco: 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, because they're in very widespread supply now.
02:11:02 Marco: So I would guess that it's better for most people to get those.
02:11:06 Marco: Those procedure masks are much more comfortable than cloth masks because they're thinner and they're not as hot, but they're also way more effective because they're actually made to be medical masks.
02:11:15 Marco: They have the metal nose piece and everything.
02:11:17 Marco: So those are great.
02:11:18 Marco: Another option that you can do, which I don't know if this is controversial.
02:11:23 Marco: I apologize if it is.
02:11:24 Marco: What I recently got in stock from a place was the KN95 mask type.
02:11:31 Marco: Now, again, I'm so sorry if I'm getting any of this wrong or if this is highly offensive to anybody.
02:11:35 Marco: 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 Marco: Different countries have different versions of this.
02:11:47 Marco: There's like a European one.
02:11:48 Marco: N95 is the US's certification.
02:11:51 Marco: I think healthcare workers in the US were actually not allowed to use KN95.
02:11:54 Marco: They had to use N95, and they're in very short supply, of course, as you've all heard.
02:11:59 Marco: KN95, because it's the China standard, I think the FDA wasn't allowing it or whatever here, but...
02:12:06 Marco: It's a very good quality mask in general, like in absolute terms.
02:12:11 Marco: Maybe U.S.
02:12:12 Marco: doctors aren't allowed to or don't want to use them.
02:12:14 Marco: 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 Marco: And because they're made for medical use and they're made out of, you know, like the whatever the foam and cloth stuff instead of 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 Marco: they're generally much more pleasant in hot weather.
02:12:34 Marco: So I actually just got a pack of K95 masks the other day and I've only won one once.
02:12:39 Marco: I had to go into a medical facility to get an allergy shot finally.
02:12:42 Marco: So I figured maximum protection.
02:12:44 Marco: If I'm going into a medical center, I want maximum protection right now.
02:12:47 Marco: So I wore it then and it was fine and it was very comfortable and it's probably way, you know, whatever you think of them for like doctors to use, I'm sure they're way safer than cloth masks are for your people walking around.
02:13:01 Marco: So again, I don't know if medical workers are even allowed to use them here.
02:13:07 Marco: So I don't know if I'm taking it from somebody who could use it in greater need than what I have by buying them.
02:13:13 Marco: You're not supposed to buy the N95s because those are in short supply.
02:13:16 Marco: People need them.
02:13:18 Marco: I don't think that same thing applies to the KN95 ones.
02:13:21 Marco: So I don't know.
02:13:22 Marco: Anyway, that's something to look into.
02:13:23 Marco: Either get the procedure masks, like the square ones with the ripples, or the KN95 respirators, or not masks, just masks.
02:13:31 John: uh 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 my wife made some masks out of some old bed sheets that we had that we weren't using anymore that had just been stored in a box because one of the cheap sources of material reuse some old bed sheets uh but the downside to that is if you're
02:13:51 John: old bed sheets that have been in a box in the attic for a long time have a tendency to smell kind of musty yep yep so i 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 i'm like well at least i know i'm not infected because i can definitely smell these musty bed sheets and i think i'll pass on this mask
02:14:11 John: We've made a lot of masks here, a lot of trial and error.
02:14:15 John: When you couldn't buy anything anywhere, it was a large mask-making spree.
02:14:21 Marco: And also, don't forget the eyewear component as well.
02:14:23 Marco: 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:31 Marco: I wore sunglasses indoors.
02:14:35 Marco: i wear my sunglasses at night yeah i apologize to every staff reverend until i'm like i'm so sorry these are the only glasses i have they all laughed like because i just i look like such an ass you're too cool for your allergy shot

Wires Are Great

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