SaltyCrane Blog — Notes on JavaScript and web development

Switching to OS X and front end development

After 7 years, I've yielded to the Dark Side and switched from Ubuntu to OS X on my work laptop. I've also switched from Python and back end web development to JavaScript and front end development. The former is mostly to support the latter.

Linux is rare1, especially among front end developers, and I want to make it easy to collaborate as I learn new things. I've had problems working with Photoshop files in GIMP and I couldn't run the iOS simulator. Issues with Linux device drivers don't help.

I'm choosing front end development because I want to code closer to the end user.2 In small part like Ian Bicking wrote last year, I feel unexcited about back end development and really excited about JavaScript and front end development. I'm excited about ES 2015 and React and React Native and CSS transitions.3 I'm even coming around to Node.js. JavaScript is uglier than Python, but it's getting better and there are things Python can't do that JavaScript can.4 If only beauty mattered, maybe I'd use Scheme.5

I'm sure I will hate OS X at first, but hopefully it will be good in the long run. If anyone can recommend a tiling window manager like Qtile for OS X, please let me know.

(I will continue using Emacs because Emacs rocks! 6)

  1. I think I was the last person at my company running Linux.
  2. I've been trying to do front end work for years now, but I finally got a sensible chance to switch as my company is changing it's technology stack from Python to Ruby and Backbone/Angular to React.
  3. Update 2016-01-04: Here are even more exciting web technologies: Electron, progressive web apps, and WebAssembly.
  4. Update 2016-01-01: I found James Hague had similar thoughts on Python and JavaScript.
  5. Speaking of functional languages and JavaScript, Elm sounds pretty cool.
  6. Update 2016-01-26: Or will I?


#1 sgmac commented on :

I think is going to be an interesting journey for you, congratulations. For tiling in OSX I have been using Slate for a while and I can stop recommending, highly configurable, and it really does the job. You can work with multiple displays, arrange the windows and move things arounds between displays. You can also define your preference for where your applications should be located on your display.

At the beginning I found the configuration file quite complicate, so in order to save you time, here is mine. You can play around with it and check if Slates does fit you.


#2 Liu Bo commented on :

I checked the Slate on github, it seems not update for 2 years, Anyway, I don't use tiling tool, just want to check it.


#3 Eliot commented on :

Thanks for your configuration file and the recommendation. I will try it out!


#4 Eliot commented on :

Kris recommended Spectacle which I am trying out. Paul recommended Spectacle also and Moom. I also found Amethyst.

Since some of these apps focus more on window positioning and movement, does anyone have tips or apps for switching between windows?


#7 Wesly Grefrath commented on :

Give a try. Not really a window manager but then again Spectacle ain't one too. Anyway, Phoenix will let you implement your own solution in Javascript against the Phoenix API. I've commands in my config to launch programs and quickly resize windows. It's rather nice.


#8 Eliot commented on :

Wow thanks for that. I had not heard of Phoenix before. I actually recently adopted Hammerspoon (fork of Mjolnir) and have been very happy with it. But Phoenix looks very similar to Hammerspoon except in Javascript instead of Lua. I will have to give it a try and compare.


#9 Tom Atkins commented on :

I just switched from Linux to OS X after a new job provided me with a Macbook Pro. It's going OK so far.

Having tried Spectacle I'm now using 'BetterSnapTool' - the name doesn't sound very promising, and it's not a true tiling WM but I recommend giving it a go. Some powerful features in there and very stable.

The thing I miss most is having a 'proper' package manager. Homebrew and homebrew cask feels like a kludge compared to apt.