Skip to content

Instantly share code, notes, and snippets.

@jadeallenx
Created December 12, 2017 05:54
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jadeallenx/3dc92725b831893eee26e19f832a05f6 to your computer and use it in GitHub Desktop.
Save jadeallenx/3dc92725b831893eee26e19f832a05f6 to your computer and use it in GitHub Desktop.
Developing on SurfaceBook 2

I recently made the switch back to Windows 10 after spending 15 years using a Mac as my personal laptop. I won't go into all of the rationale behind that decision but the most succinct answer is that I have felt like Apple's doing me a favor by buying their products, not the other way around for the past three releases of macOS. As a rather committed vi partisan, removing the ESC key from the high end Mac Book Pros was kind of the final straw.

In any case, I bought my Surface Book 2 about two weeks ago. This past weekend, I took part in Spawnfest, a 48 hour programming contest aimed at Erlang/Elixir. I wrote all of the code on the Surface Book 2 and I know some people are interested in my experience.

So keeping with the usual trite cliches, I'll use the "Good", "Bad" and "Ugly."

Good

  • Windows Subsystem for Linux was flawless during my work. I used it exclusively to develop code. Git and Erlang and every other tool I needed Just Worked, and worked well.

  • I wrote a shell script which invokes gVim (installed on Windows) from Linux. I have my Vim layout on Dropbox and symlinked all the configuration to both Windows and Linux home directories. I also symlinked my Github and Bitbucket repos from Windows NTFS land to my Unix $HOME directory.

  • I had amazing battery life even with tons of browser windows open, my compiler running pretty frequently and listening to sweet tunes.

Bad

  • I tried some alternatives for Dash, the offline programming documentation browser. There are two and I didn't like either of them quite as much as Dash. Dash is really good and helpful. I ended up using Zeal but I don't have any real love for it; not sure if it's the QT UI widgets, or my giant ham-fingers but the Erlang support was just this side of terrible. I just downloaded Velocity but I haven't "used it in anger" yet; maybe I will grow to like it better.

  • While I Surface Book 2 has a really nice trackpad for a Windows laptop, it's still not Apple's. One of the persistent things that annoys me about it is that it misinterprets three finger taps quite a bit. I had them set to activate, but I turned that off after a while. Also, the keyboard is good but not Apple's. Those are two things that Apple just owns: trackpads and laptop keyboards - keep at it Microsoft, it's getting there but not quite there yet.

  • Installing and using Docker for Windows was really kind of a pain in the butt. There's a helpful blog post but still... my goodness it was far more difficult to get everything working the way I was happy with.

Ugly

  • I didn't have a ton of time to debug this, but I don't have my Vim configuration just so on this Windows 10 installation (neither the Windows side, nor the Linux side via WSL). That was super annoying, since I have a whole development workflow based around a bunch of vim plugins that didn't seem to work correctly. It seriously slowed down a lot of stuff that I take for granted on macOS.

  • The Surface Book 2 feels "top heavy" to me - maybe it's just because I'm not used to it yet, but because it has the detachable tablet feature, most of the hard core electronics are behind the display (which is totally gorgeous, btw), so sometimes the laptop has a tendency to tip itself over backwards on an uneven surface like, say, the arm of my couch where I tend to leave my laptop when I need to stand up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment