From macOS to Windows 10 - Part 3

November 28th, 2016

Could Be Called 'Revenge Of The Comfortable'

Welp, the Surface Book sat on my desk next to my MacBookAir in it's Henge Dock and didn't get used beyond Monday. I had some rough times with it that made me retreat back into the comfortable arms of macOS.

In our previous post I mentioned some things I had to take a look at. How did that go?

Needed an HTTP client similar to Paw

Ugh -- nothing I found was similar enough and I also encountered something that became a recurring theme -- how much work did I want to do in order to master a skill but using a different tool? The answer was "not much".

That's probably a personal failing but at age 45 I'm not sure how much time I want to spend remapping those hard-fought memory mapped skills. I'm sure you are starting to guess what the final conclusion might be.

Connect To External Monitor And Keyboard

I didn't bother pairing the bluetooth keyboard I'm currently typing on to the Surface Book, but getting the monitor connected was. Multiple hours spent trying to figure out what the problem was. Was it the drivers? Was it my old monitor? What the hell was happening here -- mini display port to HDMI works just fine on my Mac. In the end, it would only work when I used a mini-display-port-to-VGA connector. It's 2016 and I was highly disappointed.

This then prompted another hour of me searching around looking at monitors (hey, a 4K one sounds great) to discover it wouldn't work with my current laptop and might not work correctly with a Surface Book (not all apps scale properly).

Better Hosts File Management

"Just edit it with Notepad" -- said by people that never used Gas Mask

Battery Life Is Weird

One of the reasons I thought the Surface Book would be enticing is I could detach the screen and use it as a tablet. That actually worked okay...but I would run low on battery after about an hour of usage. That is way less than what my ancient iPad 3 gives me.

I don't really use my laptop much unplugged, but a tablet that has really poor battery life isn't that great.

Maybe The Best Change Is No Change

Look, I know people are going to think I'm weak-willed about this. Yes, the Win10 platform has made leaps and bounds. I did find it jarring to use, and I was actually able to do everything I needed to do at my day job with it. Bash on Win10 worked great (except for curl not working correctly). Atom was a more than suitable editor. Firefox works just fine on Win10. I could do most of what I want to do on Win10. But I would have to relearn a bunch of tools. I'm not sure I want to do that.

I have to give back the Surface Book when I get back from a work meeting in Hawaii (yes, sucks to be me) in a few weeks, so the decision is far from over. One review I read said don't get it if you have a newish MBP while another felt that Apple had built a great machine for hackers.

Where does this leave someone with a 4-1/2 year old (that's 45 years in internet time) MacBook Air? Even more confused than before.

I don't need the Touch Bar because my laptop will run in clamshell/lid-closed mode approximately 99% of the time. What I really wanted was a MacBook that has 32 GB of RAM. I can't get that right now. But will there be one available in April? I would be super-pissed if that happened after I bought a 16GB one.

I'm still more indecisive about it than ever.

From macOS to Windows 10 - Part 2

November 18th, 2016

I spent this past week only using my loaner Surface Book instead of my trusty MacBook Air for doing my work at the day job. If there is a better of test for figuring out if I can do my regular work in it, I can't think of one.

It Has Linux Under The Hood

In the previous post I talked about how you could get a Bash shell using Ubuntu 14 (I think) running natively on Windows. Well, it absolutely 100% works except for one problem that I had. I was trying to debug a problem with an API using curl and it just wouldn't return anything at all. A quick pop back to macOS and everything was just fine. Still no idea what the issue is, but I think I need to try and reproduce it. I do know that the lead developer for curl works at Mozilla so maybe I can get some help that way.

Otherwise, everything I normally do in the macOS terminal (well, iTerm2) I was able to do just fine in the Bash shell in Windows 10. I was pleasantly surprised.

All the other tools I used for work were just fine:

  • The Atom editor behaved just fine
  • Firefox is cross-platform, everything was just fine
  • I didn't like how our video chat client looked (fonts way too small) but it worked

In other words, I could easily see myself using a Surface Book every day for work. To be honest, if I didn't have access to the Bash shell I wouldn't even have bothered trying to do this.

So what are the last few things I have to try out?

  • need a HTTP client similar to Paw
  • connected to external monitor and keyboard
  • better hosts file management -- Gas Mask is just so good
  • haven't fired up Skype in it yet
  • haven't looked at screencasting software

Next week I should have another update on putting the last touches onto the experience.

From macOS to Windows 10 - Part 1

November 10th, 2016

Those who follow me on Twitter noticed a tweetstorm about my unhappiness regarding the news of Apple updating their line of laptops. I've been using Mac laptops for almost 13 years now (I'm on my third one personally and used ones provided by employers), I own an old iPad 3 and are on my 3rd iPhone (4S, to 6, to 6S+).

I was not impressed at all by Apple's offerings. I am currently using a mid-2012 MacBook Air. I have been happy with it but it no longer fits the needs of the type of work I do. I need to use Vagrant and Docker and they like having lots of memory. 8GB just isn't enough to run virtual machines and containers and modern web browsers and whatever other applications I need open to do my job.

But the price of the latest Apple offering has jumped immensely. To buy a new MacBook Pro with 13" screen, the OLED touch bar, 16GB of RAM,a 512GB SSD drive, and AppleCare will cost me about CDN$3200 including taxes. Holy crap that is a lot of money. When I bought my MacBook Air I payed just a little under CDN$2000 and felt I got a good price.

Now, some of my friends have quite correctly pointed out that this is a device that I will use every day to make myself a lot of money. I cannot argue with that but I can state that I feel like that is an awful lot of money. But that's not what really bothered me.

What bothered me was a feeling that Apple no longer cares about the group of customers that I belong to -- the web developers who adopted their hardware in droves and recommended it to all their non-technical friends. Heck, even my mother bought a Mac after me telling her she'd have a lot less headaches.

So that got me to thinking -- could I do my job on a Windows laptop? To get this out of the way, I won't switch to Linux. I need to record my half of podcasts and want to create screen casts for my side gig. Doing that on Linux just isn't feasible.

Now, I also want a laptop with some of the same aesthetics as a Mac one -- the hardware needs to look nice and feel like the company that made it actually cares how everything goes together. I could easily go with a more utilitarian PC laptop. I don't want to.

So I took a look at the new Surface Book from Microsoft. In the wake of some recent hardware announcements it looks like they have been paying attention to how Apple's line of laptops and desktops has been are changing and are making a play to get more developers back to using their hardware.

The Surface Studio looks amazing. The Surface Pro looks like a weird hybrid tablet and computer. But the Surface Book looks...very enticing.

I have considered it even with costing about $200 more than a similarly-equipped MacBook Pro. It has a touch screen and the screen itself detaches for use like a tablet. My old iPad is showing it's age and I would love a tablet that is responsive and bigger than my iPhone 6S+.

So at TrueNorthPHP 2016 I managed to play around with one of the older generation Surface Books that Elizabeth Smith uses. It reminded a lot of a MacBook. The detachable screen is incredibly light. I was starting to think "this could work".

Luckily for me, my friend Mickey MacDonald from Microsoft has hooked me up with a 30 day loaner of a Surface Book with 16GB of RAM and a 512GB hard drive. I'm going to take one of these for a spin and see if I like it enough to plunk down some money for one of my own.

I got a few days ago and have just started trying to configure it the way that I need it to be. I want to share some of these early thoughts.

Operating System Choices

Yes, I remember how much better OS-X was than previous versions of Windows. Now, I'm just not sure it matters to me. I'm not a power user of any of my systems any more. I prefer a stable experience. Yes, I've used Windows 10 recently -- my wife and oldest daughter have laptops with it on it. To me, it's not a problem.

I also ran Windows 10 for a while via Bootcamp on my MacBook Air. Again, I didn't have any problems. It worked fine. So the OS won't be the issue.

Linux/BSD underneath

Now, this could be a problem. Luckily it seems I can get a nice Bash shell and a flavour of Ubuntu that works. Windows Subsystem for Linux provides me Bash along with all the Ubuntu tools I expect (like apt-get). After doing the Windows update dance I was able to get it up-and-running with no problems. I haz Bash now.

Hybrid Approaches

After seeking some advice from my fellow PHP developers who use Windows full-time it was suggested I use a hybrid approach. First, I should use Bash for everything I normally use the terminal for on OS-X. This means 99% of the time I'm doing stuff in Python with pytest. I did check out some of my work-related code and got it working. Again, that won't be an obstacle.

I was then told to store my Linux-related stuff not in /home/chartjes but in on the C drive. This is so that the Windows apps I would use (like Atom) would be able to read the files there. This makes total sense to me, and it worked like a charm.

To be clear, it's still very early days. But I feel like I've passed the first hurdle. I have installed a VPN client so I can connect to things at work, and next up will be to install some other tools I need (like our video conferencing software).

This weekend I plan on spending some time using the screen in tablet mode. The Surface Book came with a pen, so it should be interesting to see how that works in conjunction with the touch screen.

Next week I'll have another update about actually using it for work!