00:00:05 ◼ ► And I'm David Smith. Under the Radar is never longer than 30 minutes, so let's get started.
00:00:09 ◼ ► So I'm sitting here in front of my big monitor and my desktop laptop and a whole bunch of audio gear.
00:00:16 ◼ ► I was wondering, maybe we could do an episode about our current setups, you know, hardware, software,
00:00:22 ◼ ► what's working for us, what didn't work for us recently and what we've moved to, maybe.
00:00:26 ◼ ► Because, you know, we've had a lot of turmoil in good ways in the Apple hardware ecosystem recently.
00:00:40 ◼ ► Yeah, I think it's an excellent time to do that kind of a check-in, because there has been so much change for the better in the last year.
00:00:48 ◼ ► I feel like we've done one of these, I feel like it was a year or two ago, and it's like so much has changed,
00:00:52 ◼ ► so much has kind of settled down and I feel in a more stable place now, in a way that I feel like I hadn't until the last round of, you know,
00:01:01 ◼ ► until the Mac Studio came out and Apple, and like the Studio display, and it's kind of settled down a little bit, I think,
00:01:14 ◼ ► And so I think it's a good time to kind of just check in and just say what we're using.
00:01:18 ◼ ► Obviously it's one of those, like, this is what works for us, and we can hopefully kind of talk to why we think it's useful,
00:01:27 ◼ ► because I think something that I definitely would, as an opening statement, say is that the tools you use to do your job are very important.
00:01:35 ◼ ► And treating them with, you know, with intent and thoughtfulness and respect is a good thing,
00:01:42 ◼ ► that making sure that you have the right tool for the right job and you're putting, you know,
00:01:47 ◼ ► I think it is rare that I have spent money on getting a better tool to do my work that I then regret,
00:01:52 ◼ ► because by sort of the nature of what you're doing is you're making yourself better at your job,
00:01:58 ◼ ► or more efficient or more effective at your job, and what that means for everyone might be different,
00:02:03 ◼ ► but it's something that I think is definitely a worthwhile topic to make sure that where you're thinking about,
00:02:12 ◼ ► Yeah, I think for me it's very much about, you know, first of all I agree that I have rarely bought like a good tool for my job and regretted it.
00:02:25 ◼ ► and I will hesitate to get the best thing that I can get because I just don't feel good spending that amount of money on it,
00:02:35 ◼ ► or I'm not able to spend a lot of money on something right now, and so I tolerate something, you know, worse for a while until I can.
00:02:41 ◼ ► And whenever I have splurged and done whatever it took to get the thing that I really needed to do the job, whatever that was,
00:02:55 ◼ ► and then almost instantly forgotten about it once I got the tool and realized, oh, this is fantastic for my job,
00:03:06 ◼ ► And obviously this is very much a budget-limited thing for so many people, and I don't want to minimize that,
00:03:12 ◼ ► because, you know, now I'm not so limited as I was when I was younger, but when I was younger I went through a lot of that.
00:03:19 ◼ ► I mean, for years and years and years I was dying to have a desktop Mac and I just couldn't afford what was then a G5,
00:03:26 ◼ ► and then later the first Mac Pros. Like, I was dying for those and I just couldn't afford them, and that was it.
00:03:32 ◼ ► And for a while I would never use Apple monitors because I couldn't really afford them, and so I would use PC monitors.
00:03:38 ◼ ► For a while I would get the base model Apple laptop and then put third-party RAM and hard drives in it to make it bigger and faster without having to pay Apple's prices.
00:03:48 ◼ ► And so I am very familiar with that angle that a lot of people need to take because a lot of this stuff is very expensive, so I don't want to minimize that.
00:03:58 ◼ ► Fortunately now I'm in a spot where I can buy the good tools, and I will never stop realizing how fortunate I am for that.
00:04:06 ◼ ► But with that in mind, one of the biggest examples of this is the stupid Pro Display XDR.
00:04:30 ◼ ► And it killed me to spend the stupid $6,000 on this monitor. It killed me even to say it. I feel so embarrassed even saying that I spent it on this.
00:04:44 ◼ ► And screen space I think is number one for developers. Do whatever you can in whatever configuration you can to get a ton of screen space.
00:04:58 ◼ ► Because not only do we have, you know, all developers have to have code windows, possibly documentation windows.
00:05:04 ◼ ► iOS developers also usually typically have simulators, at least one running on the screen.
00:05:09 ◼ ► And that could be a large iPhone, it could be a large iPad, you know, those can take up a lot of space.
00:05:14 ◼ ► And so, not to mention other tools, like you might have a command line window open to run some stuff.
00:05:18 ◼ ► If you're a web developer, you might have a web browser window open to show the current page or app or whatever you're working on.
00:05:27 ◼ ► So whether that's getting the biggest laptop you can get, or whether it's getting a big monitor, or usually multiple big monitors, or multiple medium sized monitors, which is usually significantly less expensive.
00:05:38 ◼ ► You know, whatever you have to do, get as much screen space as you possibly can for your current setup and your current budget.
00:05:46 ◼ ► Because that is everything. I would rather have a slower computer with a giant screen than the fastest computer in the world with a tiny screen.
00:05:57 ◼ ► Sure. Yeah. And I'm in exactly the same place where it's like, I have a Pro Display XDR. It is more, in many ways, more than I need for the work that I do.
00:06:08 ◼ ► That all of its fancy color management and things are completely lost on me. That's not what I got it for.
00:06:13 ◼ ► But I got it because, before I had this, there was a period where I was using one of the first M1 laptops, because they were the best computers.
00:06:24 ◼ ► And I had an iPad Pro, like my sidecar as my secondary display. And I did that for like two or three weeks.
00:06:49 ◼ ► And it was something that the business could afford. And so I went ahead and did it. And it's like, I wish it was different, but I don't regret in any way having it.
00:06:56 ◼ ► Because it has been really, really nice and helpful and effective and has made me more efficient at my work since I got it.
00:07:09 ◼ ► And I think if I was, if I was making this, if the Studio Display had existed, whatever, a year and a half ago when I got my XDR,
00:07:16 ◼ ► I think that there's a good chance I would have got it instead or potentially even gotten two of them instead.
00:07:27 ◼ ► Like, I have a strong, I have a strong sort of feeling that I'll be using this monitor, you know, for the foreseeable future.
00:07:33 ◼ ► I don't even know, for me, five, six, ten years wouldn't surprise me that this is a monitor that I use because it's just, I don't, can't really imagine wanting to go bigger.
00:07:42 ◼ ► So if Apple came out with, you know, whatever, a 36 inch monitor or something, or a 40 inch monitor, like it starts to get like, my peripheral vision is becoming like problematic here.
00:07:52 ◼ ► And so this seems big enough. If anything, it's, it's about, it's right on that edge of, sort of the edge of what I find useful.
00:07:59 ◼ ► But it is gorgeous. It's pixel accurate, super sharp. You know, for the work that I do, it's, it works great.
00:08:05 ◼ ► And it's probably worth mentioning here that something that I didn't get it with the nano texture display, both because it's very expensive, but also when I was looking at doing that, I think the thing that I ran into is the nature of what I'm doing is so often,
00:08:20 ◼ ► there are times when it's very important that a pixel I see is a pixel on the screen. Like there's a one to one mapping that sometimes I'm not quite bringing out a magnifying glass, but I'm leaning in and like really looking at the screen,
00:08:31 ◼ ► because I'm trying to, you know, having, you know, having a report of a weird issue where some pixel is getting, you know, half a pixel off and so it's getting slightly misaligned on a retina pixel and things are fuzzy or, and what I ended up deciding is,
00:08:43 ◼ ► you know, my office I've treated such that I have to minimize the glare like my window in my office, I put,
00:08:50 ◼ ► you can get this roll on frosting stuff that you would do you think it's usually intended for a bathroom so it's like essentially a sheet of something that looks like wrapping paper that just you make you know you make it slightly wet and then it kind of sticks
00:09:02 ◼ ► to the window of your room and you should put it in a bathroom I just put it in the office window, so that all of the still get lots of light in my office, but all the light that comes into my offices diffuse, like there's no kind of specular light that that comes
00:09:15 ◼ ► in. And I found that as that's cut down the glare for me, and it works great. And so, and it means that now if I get really close to my monitor and look super close, it makes it was a pixel, and there's no we've been blooming or smushing of that pixel or blurring
00:09:29 ◼ ► of it obviously the narrow texture is a tremendous tool for that, but it's still was something that didn't seem that was sort of worth taking the risk that I was going to start seeing any artifacts or things getting caught on that, that would then ultimately come back
00:09:42 ◼ ► and confuse me. So, the XDR is great. I don't think you need the nano texture. I think the studio display is amazing. And I think, yeah, screen space, the more the better.
00:09:51 ◼ ► I love the idea that like somebody who might have seen you putting that up on your on your office window, probably would assume that you're like working on highly sensitive information like you know you're like working for like a government intelligence agency,
00:10:03 ◼ ► or something. Meanwhile, you're like making widgets. That's what I'm doing. I'm just sitting here making widgets but you know don't don't want anyone to see me.
00:10:12 ◼ ► But it's just I wanted to mention because it's one of these things that's like it's an artifact of my current setup that it took me a while to kind of, I tried all kinds of different things and arranging my office so that you know I put my screen facing the window behind
00:10:24 ◼ ► the window like different things but it always, there was always some part of the day where it didn't work well. Like there was the first thing in the morning it was bad or in the evening it was bad or whatever and I just tried this and it worked.
00:10:36 ◼ ► And so I just went it's like if anyone has has this kind of problem where you have control of the window, but you're having a lot of problem with glare, it's like consider just putting up some, some of this frosting stuff and this you know it's completely reversible
00:10:46 ◼ ► and you can just like peel it off if you don't like it so just, you know, we're considering if you're having troubles with glare. That's awesome.
00:10:55 ◼ ► All right, moving on to the computer side of it next but first we are brought to you this episode by Sourcegraph. So you've hired a brilliant developer, that's great but now you have to get them onboarded.
00:11:06 ◼ ► If your company is growing onboarding new developers will be a common occurrence but it's a big undertaking each time. One of the biggest challenges for new hires is to get up to speed with the project their new team is working on.
00:11:16 ◼ ► This can be tricky if the code bases your developers are working in are already huge or large. Thankfully Sourcegraph makes it easy to move fast even in those really big code bases.
00:11:25 ◼ ► Developers know that knowledge is most useful when it's findable. Centralization is helpful but given the fact that most companies store knowledge in at least two different locations, how do you make knowledge accessible to those that need it?
00:11:35 ◼ ► As a code intelligence platform Sourcegraph gives developers what they need to drive their own learning over time and in different situations.
00:11:43 ◼ ► Teams that don't have Sourcegraph need to rely on asking colleagues or reviewing added documentation which is cumbersome and time consuming.
00:11:50 ◼ ► But with Sourcegraph every developer can search across millions of repositories to find specific code saving time for themselves and everyone else.
00:11:57 ◼ ► So when questions do come up you know it's the big stuff that's worthy of the extra time. Sourcegraph was created to make developers lives easier.
00:12:05 ◼ ► And today they work with leading companies across every industry including three out of five of the top tech companies. Plus PayPal, Uber, Plaid, GE, Reddit, Atlassian and more.
00:12:16 ◼ ► Visit about.sourcegraph.com to learn more. That's about.sourcegraph.com to find out why some of the biggest tech companies in the world use Sourcegraph and to see what it can do for yours.
00:12:28 ◼ ► Or just click the link in the show notes to let them know that you heard about them from us. Once again about.sourcegraph.com.
00:12:38 ◼ ► So moving on to the hardware side. I guess this is all hardware. Moving on to the computer side.
00:12:46 ◼ ► I think if you are building typical kinds of iOS type projects. If you're that kind of developer.
00:12:58 ◼ ► Even if you get the most basic base model M1 MacBook Air or Mac Mini. That is going to be a better and faster computer for iOS development than any Intel computer ever was.
00:13:12 ◼ ► The jump that you get when you go from Intel to M1 is significant. Both in small everyday things like how certain little actions feel and also the amount of compile time you'll save on bigger jobs.
00:13:28 ◼ ► Whether it's Swift or Objective C they both have pretty substantial savings going from Intel to M1.
00:13:34 ◼ ► I strongly suggest if at all possible get into the M1 lifestyle even if it is as simple as the base model MacBook Air.
00:13:48 ◼ ► Then I would strongly suggest looking at the M1 Pro or M1 Macs in one of the MacBook Pros.
00:13:58 ◼ ► The iMac front is kind of a question mark right now. If the small iMac works for you that's great.
00:14:08 ◼ ► That's very very good. Although honestly if you can get a MacBook Air and an external monitor or two I prefer that setup.
00:14:16 ◼ ► The great thing about the current laptops. This is why I'm using a, I keep saying the desktop laptop.
00:14:48 ◼ ► But just to point out what's great about laptops is that this weekend I'm going somewhere with the family for the weekend.
00:14:56 ◼ ► I get to just bring my desktop with me because it's a laptop. I can just pick it up and go.
00:15:02 ◼ ► In the past we've always had this option but in the past laptops came with substantial compromises.
00:15:08 ◼ ► Heat, noise, performance, capability, expandability, I guess they're still unexpandable but capacity I guess.
00:15:16 ◼ ► And today those limitations are almost entirely gone. In fact, my MacBook Pro is from all accounts quieter than the Mac Studio with the exact same processor.
00:15:35 ◼ ► It doesn't have as many ports as a desktop. That's the one still significant limitation.
00:15:48 ◼ ► And if you want to run a laptop either open next to your desktop, then you get a bonus monitor.
00:16:00 ◼ ► Or if you want to do clamshell mode where you have the laptop close all the time, put it into external components.
00:16:09 ◼ ► So I would strongly suggest if you're considering getting a desktop and you also occasionally need to bring it somewhere, and that's almost everybody.
00:16:16 ◼ ► If you were previously in a desktop plus laptop lifestyle, consider going all laptop when you move to the M1 family or if you're in the mood for an upgrade.
00:16:32 ◼ ► You just get a great laptop and desktop in one. And there's very little reason not to run it this way.
00:16:38 ◼ ► And this is why when the Mac Studio came out, my temptation to buy it was not very high.
00:16:46 ◼ ► And I still haven't bought it because I get so much value out of having one primary computer that I'm moving with me when I travel.
00:16:57 ◼ ► And it's just been so great, so convenient to have all my stuff with me all the time, to have one computer set up with everything.
00:17:02 ◼ ► It's just been great. So I strongly recommend getting a MacBook Pro or even a MacBook Air as your main desktop and laptop combined.
00:17:10 ◼ ► Yeah, I couldn't agree more. I would say I'm using the 14-inch MacBook Pro with the M1 Mac, 64 gigs of memory.
00:17:17 ◼ ► This machine seems like it was built for what I do. It is fast, where I need something to be fast.
00:17:24 ◼ ► It's capable where I need something to be capable. The screen itself is gorgeous and works really well.
00:17:29 ◼ ► Even if I'm not using it connected to an external monitor, so if I'm traveling or if I'm just around the house or whatever sort of context I'm in, I just need to use it.
00:17:38 ◼ ► It's a beautiful, gorgeous display that's big enough that I feel like I can still be productive and make good work on that machine.
00:17:53 ◼ ► In my usual setup, I have my XDR as my main working screen, and then I have it on a Roost stand.
00:18:02 ◼ ► It's just this folding laptop stand that I found I got initially for when I'm traveling.
00:18:08 ◼ ► I found I would start to have, especially with a week like WWDC or anytime I'm traveling but I'm actually working for travel,
00:18:15 ◼ ► I found that eventually my wrists would start getting little RSI issues when I would travel.
00:18:19 ◼ ► I needed to have an extra keyboard and mouse and then raise my laptop up so I could work with reasonable posture in a hotel room.
00:18:28 ◼ ► I got this little folding Roost stand for that. It works well, it's great, and it's super stable, so I just leave my laptop on there.
00:18:44 ◼ ► Mostly that's because I would say 90% of the time, unless I'm actively developing, there's nothing on my laptop screen.
00:18:52 ◼ ► It's just sitting there looking at me. But anytime I'm actually using a simulator, I always put my simulators onto the side monitor.
00:18:58 ◼ ► I was trying to think about this in preparation for this episode, and I think the reason I'm doing it is I like having my development environment
00:19:06 ◼ ► in terms of Xcode, documentation, terminal, whatever I'm doing, my Git client, whatever it is, in a stable place on my main screen
00:19:16 ◼ ► that doesn't change whether I'm deploying to a phone plugged in via USB-C or if I'm going to a simulator.
00:19:24 ◼ ► In some ways it's nice to have this extra space that is always available as a sandbox for putting all my simulators into.
00:19:31 ◼ ► And also I feel like it works really well as a simulator screen. The screen is so rich and it just looks good.
00:19:42 ◼ ► Any kind of M1 laptop you can get is amazing. It was certainly telling when I got my first M1 Mac,
00:19:59 ◼ ► Yeah, so whichever one that was. I could get the Air or I could get the Pro, and I decided, well, I'll get the MacBook Pro
00:20:08 ◼ ► But I was leaving using an iMac Pro for that, which had way more cores, had way more memory, had way more everything.
00:20:15 ◼ ► But all of the jobs that I did on that were better and faster on that basic M1 laptop than my big, beefy iMac Pro.
00:20:23 ◼ ► And so it was pretty telling to me. And so now it's just sort of this journey I expect of.
00:20:29 ◼ ► I will expect to be using M1 laptops. I think it's amazing for the portability reasons you've been talking about.
00:20:48 ◼ ► The only thing we can't use on a laptop right now is the Ultra chips, which is interesting.
00:20:56 ◼ ► And certainly the thing that I was most interested when the Mac Studio came out and the Ultra chip was announced
00:21:01 ◼ ► is can Xcode actually take advantage of this? Is this actually something that's going to have a tangible benefit?
00:21:06 ◼ ► Essentially, I can take two of the processors I have in my computer right now and I can put two of them in there.
00:21:15 ◼ ► And as far as I can tell, based on looking at benchmarks and analysis, is it seems like I'm paying substantially more
00:21:31 ◼ ► And so right now I feel pretty good about the fact that I think an M1 Mac is probably about as much as you
00:21:42 ◼ ► And honestly, I think the thing that I'm most curious now is what the M2 chips are going to do with that,
00:21:47 ◼ ► because if the single-threading performance was actually meaningfully better, it's like, parallelism is sometimes helpful with Xcode.
00:21:54 ◼ ► But primarily, I think single-thread performance is going to be the most important thing.
00:22:09 ◼ ► And it seems like the Ultras do provide some benefit for developers, but as you said, it isn't double the speed.
00:22:16 ◼ ► And it depends a lot on how large your project is and how much Swift versus Objective-C that you have in it.
00:22:22 ◼ ► I think there's more gains to be had when there's more Swift, but if there's a lot of Objective-C, it's less impactful,
00:22:30 ◼ ► just because I think Swift parallelizes better and is much slower to compile in the first place, so you see that benefit more.
00:22:36 ◼ ► Objective-C is so damn fast to compile on modern hardware that you don't really notice it.
00:22:41 ◼ ► But also, to go for the Ultra, I would lose the portability, and so it would have to be really good.
00:22:48 ◼ ► In a way, we'll see what happens with the Apple Silicon Mac Pro story, we don't know how that goes yet.
00:22:53 ◼ ► But in a way, I think if I'm going to lose the portability of a laptop, I don't want it to be twice as fast, I want it to be four times as fast, or more.
00:23:00 ◼ ► I want it to be way faster, not just a little faster, and that might make me reconsider,
00:23:11 ◼ ► And when I do, it's only for a few seconds here and there, so it's not a major hindrance to me.
00:23:17 ◼ ► And the great thing about being on the laptop train, too, is that the laptops get the faster chips first.
00:23:22 ◼ ► So as you mentioned, if some new chip has some great feature that we want, you can have it become available in the MacBook Pro,
00:23:53 ◼ ► And so it's generally, laptops make certain things much easier to do, and they have certain benefits.
00:24:09 ◼ ► The good thing is I don't actually have a lot to say here that would be very unexpected or interesting to people.
00:24:16 ◼ ► I'm mostly using Xcode. I still use the terminal for lots of types of operations, except for Git.
00:24:24 ◼ ► For Git, I use the wonderful Tower app, which I'm a big fan of. I've been using it for years.
00:24:29 ◼ ► I do know how to use Git on the command line, and I still do that when I'm interacting with my servers, because I kind of have to.
00:24:45 ◼ ► And whatever gains I was having by using it on the command line were grossly outmatched by the amazing benefits I get of using it in a GUI.
00:24:54 ◼ ► So I'm very happy with Tower as my Git client. And I don't use the built-in Xcode Git integration.
00:25:09 ◼ ► And that's about it for developer tools. TextMate is my text editor. I actually use TextMate 2, the forever beta of TextMate 2.
00:25:17 ◼ ► But I'm not writing iOS code in that. I'm writing iOS code in Xcode. And that's about it.
00:25:22 ◼ ► Yeah, and I think I'm kind of surprisingly similar. I think it's one of these things with developer tools.
00:25:28 ◼ ► I feel like I just know how to use the tools that I use. And any time I try and change, even if it's potentially better or has some advantages,
00:25:37 ◼ ► or is different in some ways and good in others, I always just come back to the things that I know because I know them so well.
00:25:57 ◼ ► And I have Photoshop if I'm doing any kind of graphic work is what I found to be the most...
00:26:04 ◼ ► It was ultimately, I think, a question of, because sometimes I need to interact with designers and all designers talk in Photoshop,
00:26:10 ◼ ► I just decided I'm going to learn Photoshop rather than going down the Pixelmator or Acorn or all the other kind of tools that I could learn.
00:26:19 ◼ ► It was better to just learn the one that 99% of the time is going to be the expected tool.
00:26:29 ◼ ► Yeah, and so I found that to be pretty good. And I think having a small number of tools is actually probably a benefit.
00:26:50 ◼ ► The way that it does things is... And I could change, but it would be annoying and frustrating.
00:26:54 ◼ ► And there's no need to because it does the job... It's like I'm editing a plain text file.
00:26:58 ◼ ► Plain text files haven't changed since whatever it was, 2005, when I started using TextMate.
00:27:09 ◼ ► And I think there is a benefit in that kind of approach of every now and then there'll be this new text...
00:27:19 ◼ ► And I sometimes will try that, but it always is fighting against muscle memory and expectation
00:27:30 ◼ ► And so I don't. And increasingly, honestly, I'm using Xcode for a lot of things where if I need to open a big file
00:27:38 ◼ ► or something... Some situation where TextMate might be more... may struggle a bit more, I just use Xcode.
00:27:49 ◼ ► Yeah, I feel like that's an underrated advantage. If you already know a tool, as you mentioned earlier,
00:27:55 ◼ ► for you to change away from using that tool, either that tool has to completely break and stop working.
00:28:00 ◼ ► Or there has to be a massive reason to do it. Because once you know a tool, it gets in your fingers.
00:28:07 ◼ ► You don't even have to think about how to use it. You just use it. And it gets out of your way.
00:28:21 ◼ ► And so if somebody comes around and says, "Oh, yeah, look at this new Atomic Editor 3.0."
00:28:28 ◼ ► I don't need to know that. TextMate's working fine for me. Or Sublime. Or whatever it is that you use out there.
00:28:34 ◼ ► If those things work fine for you, just keep using them. Until you can't. Or won't for some reason.
00:28:39 ◼ ► But otherwise, familiarity is key. Because messing with your tools and changing tools unnecessarily is...
00:28:56 ◼ ► Yeah, exactly. And I think with all these things, it's just find that tool that you are effective and productive in.
00:29:02 ◼ ► And then just try and stick with it. That's part of why I am so excited that I feel like I can stay on the desktop/laptop,
00:29:15 ◼ ► And that feels amazing. I don't need to change. I don't need to worry about jumping back and forth.
00:29:20 ◼ ► I can just sort of optimize my environment, my desk setup, everything around that, and feel good about it going forward.
00:29:26 ◼ ► And have the fewest changes in terms of, you know, I'm going to be able to continue to be just as effective as I am now,
00:29:34 ◼ ► without sort of speed bumps and issues along the way where I have to migrate or change.
00:29:38 ◼ ► And that's exciting. That's encouraging. And that's ultimately what our tools should be doing for us.