Under the Radar

117: The iMac Pro


00:00:00   Welcome to Under the Radar, a show about independent iOS app development.

00:00:03   I'm Marco Arment.

00:00:04   >> And I'm David Smith.

00:00:05   Under the Radar is never longer than 30 minutes, so let's get started.

00:00:09   Both you and I, Marco, had a, I guess, a slightly belated Christmas present this year, in that

00:00:15   we both are, I believe, currently sitting in front of brand new primary development

00:00:20   computers, specifically iMac Pros.

00:00:23   And I think it seemed like an interesting topic to talk about.

00:00:26   I think there's some interesting things to unpack a little bit about the machine itself.

00:00:32   I think it's probably also interesting to talk about why we both use this particular

00:00:36   setup, which I think is, if I had to guess, a minority of people use an iMac, or in this

00:00:44   case an iMac Pro, as a primary machine versus using a laptop.

00:00:48   And then I think it's also, whenever I get a new machine, which is fairly rare, it's

00:00:54   not something that I have to do very often.

00:00:57   It's an interesting opportunity to kind of look at my development setup, see how portable

00:01:01   it is, and kind of take inventory on all the different things that you have to do to set

00:01:07   one up.

00:01:08   And I think that process, hopefully there's a few things to share and to learn from there.

00:01:13   But first, I think maybe an interesting place to start is, why do you use an iMac rather

00:01:17   than a laptop as your primary machine?

00:01:20   >> I've done both.

00:01:21   I've spent years as a laptop as my only machine and then just plugging it into a monitor,

00:01:26   keyboard and mouse, like when I was at work, and then bringing it home every day.

00:01:29   This is a very, very common situation people use.

00:01:33   And there are a lot of advantages to just having a laptop like that.

00:01:37   First of all, cost-wise, you only have to buy and maintain and upgrade and later buy

00:01:43   again one computer.

00:01:46   There's a pretty big question among a lot of people's minds about, do you need a laptop

00:01:52   at all or can you just get an iPad?

00:01:53   But for a lot of developers, there is no question.

00:01:57   For a lot of developers, the answer is you can't do what you need to do on an iPad or

00:02:00   it would be so cumbersome that it would be very not practical for you.

00:02:05   So a lot of developers need laptops.

00:02:08   And so then the question only becomes, do you have one computer or two?

00:02:12   If you're going to have one, you have a lot of advantages and things like you don't have

00:02:15   to worry about how you sync file between them, whether you set them up the same way, like

00:02:21   oh, I forgot to install this app on this computer or it's configured differently and you can't

00:02:26   quite figure out how the heck do I get Photoshop settings to look the way they look on my other

00:02:30   computer, things like that.

00:02:32   There's a lot of pains in the butt around maintaining multiple computers that if you

00:02:37   just have the laptop, you're totally fine with.

00:02:40   On the other hand, when you only have one and say something goes wrong and you need

00:02:44   to bring it in for service and be without it for a few days, you are kind of out of

00:02:48   luck and you have a problem in that situation.

00:02:52   So there are advantages both ways.

00:02:54   If you have multiple computers, you can also intentionally set things up differently between

00:02:58   them.

00:02:59   So you can have your work desktop that has certain things on it versus your personal

00:03:03   laptop or vice versa.

00:03:05   You can have your windows will be preserved on your desktop and you can come down and

00:03:11   sit down in front of it and start work immediately as opposed to plugging in your laptop, rearranging

00:03:17   everything, closing the things you were running at home, starting things you were running

00:03:20   at work.

00:03:21   So there are advantages and disadvantages on both sides.

00:03:25   I personally find the ergonomics of a laptop for long term work pretty rough when it's

00:03:32   used as a laptop.

00:03:34   So I find that for getting work done all day, I really want to be sitting in front of a

00:03:40   desktop screen positioned away from my face by a few feet, lifted up to the right height

00:03:46   and then a keyboard that is low in front of me and a split ergonomic natural keyboard

00:03:50   because that's the style that I find most comfortable ergonomically that reduces my

00:03:54   RSI issues.

00:03:56   A mouse on my right side, a trackpad on my left side so I have two input devices, one

00:04:01   for each hand.

00:04:02   This is the kind of setup I like and then the monitor should be as big as possible because

00:04:07   that is directly related to how happy I can be and how productive I am with what I'm

00:04:11   doing on my computer.

00:04:12   All that basically leads to either the laptop plugged into a big monitor and keyboard when

00:04:18   you're working or the iMac.

00:04:20   And really either of these options are totally fine, but when you use a laptop as a desktop,

00:04:28   it's not a very good desktop.

00:04:30   You not only have issues with just the pains of connecting and disconnecting it every day

00:04:34   and bringing it back and forth, but then also laptops don't cool themselves very well under

00:04:40   sustained load or especially if you're using it in clamshell mode where the laptop is closed

00:04:43   and you're plugging the monitor in, it really doesn't cool itself well.

00:04:46   They're usually louder when they're under load because they have these little tiny fans.

00:04:50   They usually have lower powered parts.

00:04:53   The laptops tend to lag behind the consumer iMacs in CPU performance by a couple of years

00:04:58   and GPU performance by maybe more.

00:05:03   Desktops are more constrained with things like what kind of storage you can put in them,

00:05:06   how much storage, what kind of upgrades, how much RAM you can put in the current lineup,

00:05:12   and then things like ports and peripherals.

00:05:15   Desktops just have more ports and different ports and better ports usually.

00:05:20   Desktops can be better in a number of ways and I really like having both the reliable

00:05:28   consistent setup where my desktop screen never changes size, so the windows are always in

00:05:32   the right spots and everything's always where I left it and all the apps can stay running

00:05:37   or not stay running or whatever else.

00:05:39   You can have stuff running in the background that serves media to your house for instance

00:05:42   because it's never asleep or never closed or never off or whatever else.

00:05:45   There's a lot of advantages to a desktop and I think the decision is made even easier when

00:05:51   you work at home for yourself.

00:05:53   Then you don't have to worry about having the same computer between work and home.

00:05:58   All these reasons I just really like having a desktop.

00:06:02   If you are a developer and you get a desktop computer, the one you probably want is the

00:06:06   iMac.

00:06:07   Gotta say it's a great computer.

00:06:10   For the last three years I used a regular 5K non-pro iMac because the iMac Pro didn't

00:06:15   exist.

00:06:16   I used a regular iMac and it's great.

00:06:20   They're pretty good machines.

00:06:22   They really are very compelling with the features you get, the combination of the nice screen,

00:06:28   the 5K resolution and this beautiful color screen and everything.

00:06:34   Having everything be fairly tidy, fairly all in one, it's just a really nice overall package.

00:06:40   I use an iMac in general, not even considering whether it's a Pro or not, because A, it's

00:06:45   a desktop.

00:06:46   B, it's a really good desktop.

00:06:48   C, I think it's the best choice and in many ways the only choice in Apple's current lineup

00:06:56   for the kind of things that I like.

00:06:58   Yeah, and I think I use an iMac for many of the same reasons.

00:07:01   I've used the Retina iMac since I bought a maxed out first generation Retina iMac.

00:07:09   As soon as I could get a Retina screen in the 27 inch size, that was huge.

00:07:16   I remember how, at the time, how amazing that was for things like doing iOS simulator work

00:07:23   on the iPad, or any of the simulators, honestly, would just be these comically huge things.

00:07:31   It's like, "What?

00:07:32   I can have a Retina monitor that's this big?"

00:07:35   That was what sold it for me initially, and then I just got used to it and I really like

00:07:39   it.

00:07:40   In some ways, some of the things are kind of silly.

00:07:45   I have a work setup, and that work setup for me is downstairs, and when I'm at work, I'm

00:07:50   at work, and my most comfortable place to work is down at that desk.

00:07:56   I think it helps with the temptation to work in other places or at other times when I maybe

00:08:00   shouldn't be working, because I feel very separate when I'm down here working.

00:08:06   I have a 12 inch MacBook that I can do work on.

00:08:11   It's certainly slower and smaller and not as good, but I can get work done there, but

00:08:15   it's uncomfortable.

00:08:16   It's a nice thing that I have this super comfortable, great place to work, and then I have a place

00:08:21   that I can work.

00:08:23   And then, rather than dealing with the...

00:08:27   I've tried all manner of things for dealing with the two computer problem.

00:08:30   There was actually even a period where I had an external drive.

00:08:36   I bought an external SSD hard drive that I would boot from, and so I would plug it into

00:08:43   my iMac and boot from that, and then if I wanted to use it on my laptop, I would unplug

00:08:49   it and plug it into my laptop and boot from it there, which works surprisingly well, but

00:08:55   it's just mind-bending.

00:08:57   It's a little cumbersome.

00:09:01   Cumbersome is a good word, yes.

00:09:02   It's not the most straightforward.

00:09:04   So instead, I just work from my iMac, and it's worked out very well for me.

00:09:10   I was a little bit skeptical to start with, and I think I used to also come from a world

00:09:14   where I used to having the two monitor setup.

00:09:19   I typically had...

00:09:22   My previous setup often was the laptop up on a stand, so it wasn't ergonomically gonna

00:09:27   cripple me, and then a big mains display that was plugged into it.

00:09:32   I liked having the two monitors, but honestly, once the monitors went retina, I really don't

00:09:37   miss having the two monitors set up anymore.

00:09:40   I like having just one big retina monitor, and from a pixel perspective, it's like I

00:09:45   have four monitors, I guess, from the amount of detail that I'm able to reasonably look

00:09:50   at.

00:09:51   An iMac is the machine for me, and really, at this point, it was just a question of,

00:09:56   should I stick with just the regular 5K iMac, or now that there's the pro model, I am a

00:10:04   pro, is it something that I should go to?

00:10:07   And in the end, I decided it made sense based on a variety of things that I guess we'll

00:10:13   get into, a lot of them around performance and ports, and just trying to...

00:10:19   If I use this machine so much, I wanna make sure that it's the best that I can reasonably

00:10:22   have, 'cause it's what I use to make my entire living, so it may as well be a sharp tool.

00:10:28   - Exactly.

00:10:29   And moving back just a moment to the dual monitor thing, I forgot to mention that, but

00:10:34   I too went through a period where I used dual monitors, and where first one of them was

00:10:39   the laptop on a stand, and then a big monitor, usually at that time I was using 24-inch monitors

00:10:44   next to it, and then eventually I upgraded to the laptop with a 30-inch monitor, which

00:10:50   is the same resolution as 27s that are in iMacs.

00:10:54   And then I decided that after years of using dual monitors this way, I learned that I really

00:11:01   don't use dual monitors very effectively, that one of them would always be the primary,

00:11:08   and then whatever the secondary monitor was, like off to the right or whatever, it was

00:11:12   just like a junk drawer.

00:11:14   Like I would have, oh, maybe I put my email client or Twitter or iTunes over there, but

00:11:22   it didn't really serve any purpose.

00:11:24   I wasn't usually looking over there, and it didn't serve any purpose that just hiding

00:11:29   those windows when I wasn't using them wouldn't also serve just as well.

00:11:32   Like I found that I was not well-suited to dual monitors.

00:11:37   I thought I was for a while, and if I'm gonna have only a 24-inch size, sure, give

00:11:43   me a second one.

00:11:44   But once I set up to the 27/30-inch size, I realized that just having one larger monitor

00:11:52   worked better for me.

00:11:53   And it allowed me to avoid a lot of just like bugs and OS weirdness around dual monitors.

00:12:01   Certain apps still don't really behave well with dual monitors.

00:12:05   There are certain other issues, like if one of them is your laptop screen and the other

00:12:09   is like an external monitor, then you'll have usually a different pixel density between

00:12:13   them.

00:12:14   So like if you move a window to the other monitor, it'll appear physically smaller

00:12:19   or bigger because the two monitors have different pixel densities.

00:12:23   And all sorts of just weird little OS weirdness around having dual monitors where clearly

00:12:30   Mac OS supports dual monitors, but there are certain things that get a little iffy with

00:12:35   them or that don't work the way you expect, or things like full screen mode that kind

00:12:38   of don't work at all or have weird limitations.

00:12:43   Just the entire computer experience I find for myself, and this is personal preference,

00:12:48   but I find for myself, just works a lot more smoothly and better and cleaner with just

00:12:54   with one monitor that is as big as it can be, rather than having two separate ones.

00:12:57   Yeah, exactly.

00:12:59   And now that I'm used to it, it just feels like the right way to do it.

00:13:03   And I never feel lacking for space, even when I'm doing, you know, have lots of windows

00:13:08   open.

00:13:09   Like I use a tool called size up, which I know there's millions of these, but where

00:13:13   I can easily make a window an exact quarter of my screen, and I find that works really

00:13:20   well to just be able to like keep it organized, but to be able to take full advantage of it.

00:13:26   We are sponsored this week by Linode.

00:13:29   With Linode, you'll have access to a suite of powerful web hosting options with prices

00:13:33   starting at just $5 a month.

00:13:35   You can be up and running with your own virtual server in the Linode cloud in under a minute.

00:13:39   Whether you're just getting started with your first server or deploying a complex system,

00:13:43   Linode is the right choice for you.

00:13:45   They offer the fastest hardware and network with fantastic customer support behind it

00:13:48   all.

00:13:49   It's never been easier to launch a Linode cloud server.

00:13:52   They guarantee 99.9% uptime for server availability.

00:13:56   Once your server is up, they intend to keep it that way.

00:13:58   And Linode offers additional storage too.

00:14:00   They now have block storage, which is now out of beta and available in their Fremont

00:14:04   and Newark data centers.

00:14:05   And they plan to expand their block storage to all data centers by June.

00:14:09   Linode is great for tasks like hosting large databases, running a mail server, operating

00:14:14   a VPN, running Docker containers, hosting a private Git server, and so much more.

00:14:18   And Linode is hiring right now.

00:14:20   If this sounds interesting to you, go to linode.com/careers to learn more.

00:14:24   So Linode has fantastic pricing options available.

00:14:27   Their plans start at one gig of RAM for just $5 a month.

00:14:30   And they also offer high memory plans starting with 16 gigs of RAM if you need that.

00:14:34   As a listener of this show, sign up at linode.com/radar to support us and get $20 towards any Linode

00:14:41   plan.

00:14:42   On the one gig plan, that's four free months.

00:14:43   And with a seven day money back guarantee, there is nothing to lose.

00:14:47   So go to linode.com/radar to learn more, sign up, and take advantage of that $20 credit

00:14:53   or use promo code radar2017 at checkout.

00:14:56   Thank you so much to Linode for supporting our show.

00:14:59   So we both now have, I'm at pros and I think we have almost identical ones.

00:15:04   I know we both got the 10 core model, I believe.

00:15:07   And then I got the lower spec video card, the two terabyte drive, and I feel like it's

00:15:15   64 gigs of memory is what I ended up with.

00:15:18   I love that you don't know how much RAM you have then.

00:15:19   I had to check too.

00:15:20   I don't know.

00:15:21   It's like, it's enough.

00:15:22   Yeah.

00:15:23   I got the exact same setup, but four gig instead of, or four terabytes instead of two terabytes

00:15:26   in the SSD.

00:15:27   So yeah.

00:15:28   And so, I mean, and I picked that configuration a little bit from your advice in terms of

00:15:31   the 10 core seems to be a reasonable trade off in terms of cost and performance and seem

00:15:38   to be reasonable.

00:15:39   I got the base video card because I don't think anything I do is ever going to really

00:15:43   tax it, or at least every now and then when I happen to do some Final Cut Pro work for

00:15:50   like an app review or a YouTube video and the export takes a little bit longer, it's

00:15:55   so rare that that's not something I'm worried about.

00:15:58   But overall, I think my initial impressions is that it's like, it is noticeably faster.

00:16:03   It's noticeably snappier and like, is a tangible improvement, which you never really know.

00:16:09   Like it's also at this point, honestly, it's the funny thing of I've been using it for

00:16:13   a couple of weeks.

00:16:14   And so now my brain is entirely recalibrated itself to this is normal.

00:16:19   So it's even hard to remember, which is always something to keep in mind with these kind

00:16:22   of improvements where you'll notice them for a day or two and then you just get used to

00:16:27   it.

00:16:28   It's normal.

00:16:29   And so when it takes, you know, things still aren't instantaneous, or there are many things

00:16:33   that still aren't.

00:16:34   Like when I hit, you know, build and run, it still takes a moment for Xcode to like

00:16:38   do its stuff.

00:16:39   And so until those times actually go to zero, I'm still going to be aware of performance

00:16:45   as a thing.

00:16:46   But overall, I'm very happy with it.

00:16:49   And I think it's more, it was just about, it was time to upgrade from my earlier computer.

00:16:56   And I think it's a noticeable upgrade, whether or not it was an essential one, it's hard

00:17:01   to say.

00:17:02   I think I was starting to notice some, you know, like my older computer every now and

00:17:06   then would have some image retention issues or things like that, that I was starting to

00:17:12   notice that it's like, well, it's maybe it's just time to move on.

00:17:15   And I think the three years I think it had been since I got that computer, it seemed

00:17:19   like a reasonable time to upgrade.

00:17:20   But like, it's a noticeable upgrade.

00:17:22   It's a good upgrade.

00:17:23   It's not like a mind bending like, wow, this is amazing.

00:17:26   Now I can do all these things that I couldn't do before.

00:17:28   But you know, welcome and welcome improvement, nevertheless.

00:17:31   Yeah, I don't have much to add.

00:17:33   I agree with everything you just said.

00:17:34   I have all the exact same experiences basically.

00:17:37   Yeah.

00:17:38   And so one thing I will say that I do like is I like the having extra ports on the back.

00:17:45   I found that to be quite nice where we have previously on the previous generation, IMAX,

00:17:50   I only had four USB-A plugs on the back.

00:17:54   Whereas now I have four of those and four USB-C or I don't even know.

00:18:00   There's probably Thunderbolt 3 ports maybe as well.

00:18:03   It's both.

00:18:04   They are Thunderbolt 3 USB-C ports.

00:18:06   Great.

00:18:07   Whatever those are, the small skinny ones, I have four of those as well.

00:18:10   And that's been a welcome improvement.

00:18:13   Like I plug a backup drive into one of those.

00:18:15   Like I have a Thunderbolt 3 backup drive that I plug in there and I do daily snapshots onto.

00:18:21   And so it's nice to not have to -- because the one thing that I can never -- I find like

00:18:25   you can never have enough USB-A ports.

00:18:28   And I mean I even have one of them going into a 12-port hub.

00:18:32   Yeah, me too.

00:18:33   I think mine's only 10-port, but yeah.

00:18:35   Yeah, it's like because I mean -- and they're all -- every one of them is used because they're

00:18:38   all going out to some test device or Apple Watch or something.

00:18:43   So like I have so many things in here that charge via USB.

00:18:46   So it's nice to kind of have those.

00:18:48   And then now I have this other array of ports that I can plug drives into and things that

00:18:52   I feel like should be plugged directly into the computer.

00:18:55   Because I never felt good about plugging my backup drive into the hub because I mean it's

00:19:01   fine because it's a backup drive, but it's the kind of thing where you feel like a direct

00:19:05   connection would be good for bandwidth purposes.

00:19:07   Well, and also a lot of times direct connections are the only reliable connections.

00:19:11   For a lot of peripherals, a lot of adapters and hubs and things, they are like 99% reliable,

00:19:16   but not 100% reliable.

00:19:17   And for certain tasks, that matters a lot.

00:19:20   Like things that are related to like my network connectivity or my audio interfaces for podcasting,

00:19:25   I need those to be 100%.

00:19:27   And my keyboard, like I can't have my keyboard drop 1% of its keystrokes or repeat things

00:19:33   or be weird.

00:19:34   And I have had those issues with a lot of hubs and adapters I've used in the past.

00:19:39   So this is a much bigger problem on laptops and the desktops, especially the more recent

00:19:44   ones.

00:19:45   But there's a lot of reasons why the ports that are built in to computers tend to be

00:19:51   100% reliable, whereas anything that's broken out with a hub or anything tends to not be

00:19:57   quite 100% a lot of the time.

00:19:58   Yeah.

00:19:59   And so it's great to have those extra ones.

00:20:00   And as a brief aside, my main, like the way I typically am working when I'm developing

00:20:06   is I'll have an iPhone, depending on what I'm developing and where I am, one of my various

00:20:12   test iPhones, plugged directly into my computer with lightning.

00:20:17   I know you can do the wireless version of this now, but I just like the lightning version

00:20:21   because I'm old and curmudgeonly.

00:20:24   But one thing I was curious was if the USB-C to lightning cable would be a faster way to

00:20:31   do that process than the USB-A to lightning cable.

00:20:34   And so this last week I actually did an experiment that I figured I'd mention on the show where

00:20:38   I was just basically benchmarking how long it took to move files and things back and

00:20:43   forth when it was plugged in via the USB-C to lightning versus USB-A to lightning.

00:20:49   Turns out it's basically the same.

00:20:51   It's basically a wash between the two, which makes me think that the bottleneck is on the

00:20:54   phone rather than on the computer because clearly more data could be pushed through

00:21:01   the USB-C port to the lightning cable or the lightning cable is the bottleneck.

00:21:07   But along the short list I figured I'd mention it here that I appreciate having the extra

00:21:13   USB-C ports because now I can have a dedicated direct connection as my primary development

00:21:18   plug.

00:21:21   It's not there for speed.

00:21:22   It's probably just there for reliability and not having to go through the hub.

00:21:25   So you win some, you lose some, I suppose.

00:21:27   Yeah, actually, minor feedback on that.

00:21:30   I would be interested to see if the test is the same if you're using a 10.5 or a 12.9

00:21:36   inch iPad Pro because those, I think, are the only iOS devices that actually have USB-3

00:21:43   support on their lightning port.

00:21:45   As far as I know, all of the iPhones and every iPad except the 10.5 and 12.9 Pros, the internal

00:21:52   USB parts of their lightning plug are USB-2 and I think the USB-A to lightning cables

00:21:57   are also USB-2 cables whereas the USB-C to lightning cable is a USB-3 cable and the 10.5

00:22:03   and 12.9 have USB-C, or have USB-3 as their interfaces.

00:22:07   Okay, so maybe it is just, yeah, so I will admit I was testing with an iPhone X, but

00:22:13   I can certainly repeat the test with an iPad or iPad Pro and see if it works any better.

00:22:19   Yeah, but not the 9.7.

00:22:20   That's still USB-2.

00:22:21   It has to be a 10.5 or a 12.9.

00:22:24   Anyway, yeah, and I have found too, like the wireless debugging, I like it, but it's, I

00:22:31   don't know if it's like when I upgrade to a new beta or something, but a lot of times

00:22:34   it just stops working.

00:22:35   Like I have to, then I have to like plug in the phone to reconfigure it and so I just

00:22:38   like, it's kind of annoying.

00:22:39   - Yeah, and that's not what you want.

00:22:41   Like you don't want your debug cycle to be, every so often, just to stop working.

00:22:49   It's already the most inconvenient part of development is that sort of the cycle where

00:22:52   you're kind of, you're making a change and then you're building and deploying it to your

00:22:55   phone and then going back and forth.

00:22:57   So yeah, I will continue to use a plug directly plugged in and now I'm using USB-C to Lightning

00:23:03   just because now I can have, I have an extra port that I can dedicate to that and it seems

00:23:08   to work really well.

00:23:10   The last thing I think it makes sense to probably close off talking about is I always find getting

00:23:15   a new machine is kind of an interesting process just as it's an opportunity to see how portable

00:23:21   your setup is.

00:23:22   And I think as a slightly more meta point, like it's an important thing if you're self-employed

00:23:28   to think about how portable your setup is because you are going to be, like you're responsible

00:23:35   for being able to continue work progress irrespective of whatever's going on externally.

00:23:41   Like if your computer has a horrible problem and has to go to the shop for two weeks or

00:23:48   whatever, even if you have to buy a new computer for some, you know, you spill water on it

00:23:54   and it breaks or it falls off your desk or whatever.

00:23:58   If something happens, you need to be able to continue to work.

00:24:00   And so it's an important thing I think to use getting a new computer as an opportunity

00:24:05   to see how portable your setup is, to see how quickly you can get set up and going onto

00:24:11   a new machine because you want to practice it when the stakes are low rather than having

00:24:16   to practice when the stakes are high, when suddenly you're in a situation where you have

00:24:21   a critical bug fix you need to do and then your computer dies for some reason and then

00:24:25   all of a sudden you're in a really big problem.

00:24:27   Even if you went to the Apple Store, bought a brand new laptop, brought it home, if you

00:24:31   don't have all the files you need, if your setup isn't portable in that way, if you're

00:24:36   entirely reliant on the data on that drive, you're going to be in big trouble.

00:24:41   So hey, it's always a good thing to keep in mind that I trust and hope that you have a

00:24:46   robust backup solution that allows you to make this process straightforward that, like

00:24:50   I said, I have a daily clone of my main development machine that is just always running and it

00:24:56   means that if ever my, you know, something were to happen, I will at most lose a day's

00:25:01   worth of work, probably less than that because of, you know, syncing and check-ins and things,

00:25:05   but at worst it would be that and it's a bootable backup so if I, worse came to worst, I could

00:25:10   just get any laptop, any Mac laptop ever, plug my backup into that, boot from that,

00:25:16   and at least even if it's not as optimized of a setup, I could do it there, but anyway,

00:25:22   just worth mentioning.

00:25:24   And when I was doing my migration to this new computer, I tried to kind of keep track

00:25:28   of the things that become part of that and it's like, I need to move over all my code,

00:25:33   I need to move over all my assets, graphic design assets like Photoshop files, things

00:25:38   like that, migrate my SSH keys so I can connect all my machines, all my signing keys, which

00:25:45   you can, there's a, in theory, Xcode makes much easier now with all of its tools, but

00:25:53   in practice I found it still was a bit cumbersome and problematic, but, you know.

00:25:56   Oh yeah, this is the import and export developer profile settings in Xcode's account pane?

00:26:01   Yes.

00:26:02   I've had great luck with that, it's always worked for me.

00:26:04   It's like, I always find that it works, maybe it's just because I have so many apps, but

00:26:08   I find that it inevitably, there's some little thing that catches me out, and I have to do

00:26:14   something in a slightly more manual process or export the keychain from my old computer

00:26:18   and move it into my new computer and kind of merge them together or things like that,

00:26:22   but overall it's certainly gotten a lot better, and the automatic code signing stuff helps

00:26:26   a lot with this too, that at least once you have the base signing keys transferred over,

00:26:31   then it can take care of a lot of, if you're missing other profiles or things, it can take

00:26:35   care of that a lot for you now.

00:26:38   One thing that I do, I have run into recently that was kind of a funny thing is I forgot

00:26:42   that I run a local development database, like I have a Postgres database that's just running

00:26:47   on my main computer.

00:26:48   Oh sure.

00:26:49   And, which, you know, it's like, but it's, I, for some reason I got so used to the fact

00:26:53   that all my databases are remote and posted on Linux servers that I'd totally forgotten

00:26:58   that when I, you know, when I kicked up a development environment and it's like, "Can't

00:27:03   connect to the database," and it's like, "What do you mean you can't connect to the database?"

00:27:05   And it's like, "Oh right, that's because the database is on the computer that's sitting

00:27:08   on the floor next to me," and so I had to remember to go and get the actual, like, the

00:27:12   data from the database and move it over into the new computer, even though I had set up

00:27:17   Postgres on it as part of my process.

00:27:20   One thing I like to do for this is keep certain files and scripts for doing new computer setup

00:27:26   in Dropbox.

00:27:27   I have a whole Dropbox folder for basically, like, setting up a new computer, and it includes

00:27:32   a couple of shell scripts for doing things like configuring Homebrew and installing the

00:27:37   Homebrew apps that I use, you know, on my Mac, you know, so that I can run that whenever

00:27:42   there's an OS upgrade or whenever there's, you know, a new machine or a clean install,

00:27:46   and just like, you know, checklists.

00:27:48   I always look at Casey's checklist and move into a new computer that he, on his blog,

00:27:52   is willing to because it's great.

00:27:53   It includes a lot of stuff that I might sometimes forget, like, you know, deauthorizing and

00:27:58   reauthorizing certain applications and iTunes and things like that.

00:28:02   But yeah, it's something that it's really nice to, like, write down, keep in a list,

00:28:08   and keep that list somewhere that you will find it and that it's obvious, like Dropbox.

00:28:12   And there will be steps to the migration process that you want to remember or that you need

00:28:18   to remember that you will very likely forget if it's not in a list.

00:28:22   You could, in theory, use like Migration Assistant or like make a clone and deploy that clone

00:28:27   onto your computer, but I really think the process of going through that checklist and

00:28:31   going through and rebuilding is so useful.

00:28:35   And because it only happens every couple of years, it's something that's worthwhile doing.

00:28:39   And I will say, always keep a snapshot clone of your old machine and keep that drive, like,

00:28:47   forever.

00:28:48   I have found, I've started, it's a habit I got into where I keep the last snapshot of

00:28:52   every development machine I've ever had.

00:28:54   And even if I end up just getting rid of that computer, I sell it or I give it to a friend

00:28:58   or a family or whatever, like, oh, whatever ends up happening, I have a snapshot of that

00:29:01   machine.

00:29:02   And the number of times that it proved invaluable for going back and finding some file that

00:29:06   I thought I'd checked in but I hadn't, and it's come back time and time again to save

00:29:11   me.

00:29:12   So highly recommend just take a snapshot, put it on a hard drive, label what it is,

00:29:16   put it on a shelf.

00:29:17   You never know when you're going to, that can come into handy in the future.

00:29:19   So always recommended practice.

00:29:21   That's a good tip.

00:29:22   All right, thanks for listening everybody, and we'll talk to you next week.

00:29:26   Bye.

00:29:27   Thank you.