Friday, December 07, 2018

Changing My Mind and Buying a 2018 MacBook Pro 13"

In my last post I argued that you can get a perfectly useable used 2015 MacBook Pro development machine for half the cost of a moderately specced 2018 model. And, that is true. iOS development is relatively lightweight compared to video production. My work issued me a 2015 MacBook Pro 15" and I don't have any complaints.

But there is a difference between needs and wants.

The fact of the matter is that I've been doing OK financially. Even when I wasn't, I spent about $2400 in both 2004 and 1998 buying the computers with which I plied my trade. By that measure, the nearly $3000 I spent on a quad core, 16GB, 1 TB laptop is at worst par for the course. I can afford it.

And this little laptop is a pleasure. The screen is exceptional, the speakers are amazing, Touch ID is such a convenience. I haven't grown to like or use the Touch Bar, but on the other hand, I don't use tools that require the escape key, and it wasn't as if I could touch type the brightness control before.

It's fast. Having a quad core in this smaller form factor is a treat when it comes to Xcode builds.

Its battery lasts longer than I do.

Being able to charge from either side is surprisingly pleasing. I worry about the lack of MagSafe, but so far no incidents.

And that's mainly what I connect to this device: a single power cable. If it's at my desks this will include Ethernet and whatever connection is needed to drive my monitor. I have a 38" ultra wide display that a Thunderbolt 3 cable can drive at 60Hz. Nice. But mainly, I'm typing untethered on a couch or bed. There is no dongle hell for me as most of the time there is nothing to attach. Well, I do have to have a USB-C to lightning data cable on hand if I am debugging on an iPhone or iPad. I will say that keeping track of the various flavors of USB-C cables is a very non-Apple like experience, but  not a daily thing.

The keyboard is fine, accurate, fast even. Nothing attached to a laptop is going to match my clicky Das Keyboard for visceral enjoyment.  I've no preference between either the 2015 or the 2018 keyboards. (Oh, I see where the Touch Bar is suggesting the keyboard emoji 🎹. Cute.).

The trackpad could be smaller, and occasionally had been giving me false palm taps, but I guess an update fixed it. Regardless, it's the finest trackpad it's ever been my pleasure to use. I see co-workers haunting around the abominable Apple Magic Mouse instead of using the delightfully responsive and accurate trackpad in their MacBooks and I just don't understand.

So, yes. If you can afford it. If you have the cash—please don't go into debt for this luxury—the 2018 MacBook Pro is worth what Apple's charging for it.

Thursday, July 19, 2018

The 2018 MacBooks Pros are Out, Time to Buy a 2015 MacBook Pro Retina 13"

I've been concerned about how little time I spend on my home software projects these days, and have been thinking that maybe a MacBook Pro would allow me to quietly get some work done in the early hours when I wake up but don't want to wake my wife up with the noise of the mechanical keyboard and the beacon of light from the big monitor on my Mac Mini across the room. So, I was in the market for a new personal MacBook Pro, as the other portable Macs in the house are claimed by children.

The 2018 speed bump version of the Touch Bar MacBook Pros came out last week, so I diligently customized my dream machine: the 16GB, 1TB configuration of the new quad core  13".
$2,599.00

Which while a lot of money, would be fine as I do pretty well, and this would be a daily device, and I'd get a discount via my day job at a large corporation. Still it's a lot of money; and I just put a new roof on the house, and the children might want to go to college someday.

So, I browsed my company's used computer page, and found they were selling used 2015 MacBook Pros with Retina Display 8GB, 128GB.
$749

Now, I might be able to get along with 8GB as all I'm really doing is compiling small Swift projects, but 128GB would not even store my Xcode folder after all the simulators and whatnot are installed. Spending my days managing storage is not worth my time. This particular model takes a custom SSD, but it is easily replaceable. After getting scared off of a 3rd party SSD by the reviews on Amazon, I found a used 512GB OEM SSD on eBay.
+$438.88
$1,187.88

The two components arrived over the last couple days and I popped in the replacement drive—lost a case screw, ugh—did a clean install of High Sierra, installed my development tools on it. This is not going to be a video editor, a photo manager, or a repository of my iTunes content. I'll code and browse the web, and that's about it, not even the distraction of eMail. It's only a dual core, so it isn't going to compile as fast as the quad core in my 2012 Mac Mini, but it will drive my 38" ultra wide screen monitor (3840×1600) at 60Hz when docked unlike the 30Hz the Mini brings. Geekbench 4 gives it 3734 single, 7158 multi, so a bit faster at single than my Mini (3,382), a lot slower at multi (11,360); gotta love those old quad cores.

I setup the Mini to act as a Time Machine server, so the MacBook will be backed up automagically.

It has an escape key, not that I am one of those developers that use the escape key much, an SD reader, dual ThunderBolt 2 ports, and an HDMI port, so when attached to my desktop, it'll be pretty wired up with MagSafe, USB 3, DisplayPort and a Thunderbolt Ethernet adaptor. Not quite the simplicity of a single USB-C cable going into an eGPU I could have bought.

I lucked out with used. Its previous owner cared. You have to look closely at the MagSafe connector to even tell it's been used. It's spotless. The keyboard might not be my preferred mechanical, but has decent travel and doesn't have the poor reputation of subsequent models. The Retina display is flawless and beautiful. Not a True Tone with a P3 gamut, but a treat compared to the displays in my children's 2009 MacBook Pro and 2011 MacBook Air. Is compact and light so it won't be cumbersome using in bed, or slipping into my backpack with my corporate 15".  Just a beautiful machine. Still half the RAM, disk, and cores of the pricier new model, but a lot of ports, MagSafe, nicer keyboard, SD Card reader. A perfectly adequate app developer machine.

For less than half the money, I got more than half the machine.

Monday, July 16, 2018

Filing a Bug Against Core Graphics [Update: fixed]

So, I was verifying that my Chemistry Keyboard works with the iOS 12 beta, and I immediately noticed that the Globe button's icon looked like this:
As I render all my artwork with my own SVGgh library, I had stumbled across a bug in Core Graphics. After much checking and simplifying I figured out that it was possible to add an arc to a CGMutablePath with parameters such that a subsequent call to CGPathCloseSubpath would not maintain the path's current point, and instead revert it to (0.0, 0.0). 

Filed a bug (42266130) with the Apple bug reporter and I hope they can get around to fixing it by release. 

[Update: Fixed in the 5th beta. Thanks for the responsiveness.]

Tuesday, April 17, 2018

Good Artists Copy, Great Artists Steal


I'd like to take this quote apart and explain its meaning to me.

The general idea is someone develops an idea, something novel and interesting, and creates something new. Someone else,  the great artist, comes along becomes familiar with the original idea, groks it, realizes how to bring it to the next level, and is able to create a product that is so much better than the original creator, that the original is a forgotten footnote. At that point, the idea has been stolen by the great artist who understood the idea better than its creator.

Example, via my brother James, at one point opera was invented and its practitioners  busied themselves taking this interesting concept and making operas of varying quality, and everybody was pretty happy with what they were doing and congratulating themselves for creating this new art form. And straight out of Amadeus, Mozart came along and revealed what came before as primitive. Mozart took the basic idea of opera and made previous attempts obsolete.  He stole opera.

Example. Smart phones existed before the iPhone. The idea is pretty obvious, and Microsoft worked at cramming Windows into a handheld device and were happy enough being the leader in a niche market. Along came Steve Jobs and his team, they thought deeply about the idea of a handheld computer and came up with a design that revealed previous attempts as clumsy, ill thought out toys. They did not try to copy Microsoft by jamming OS X into a 3.5 inch screen. Instead, they stole the smart phone.

I asked—a really quite good—programmer and colleague, "Who invented the smart phone?" He told me "Apple".

The lesson to me is we should strive as creators not to just blindly iterate on each other's work, but to look for our moment, our flash of understanding when we too can steal an idea and make it our own. I'm still looking; someday.