
Ask HN: Moved from Windows to Macbook Pro – How can I get up to speed quickly? - jxm262
I&#x27;ve been using Windows for my entire career and was just given a Macbook Pro for my new job.  I&#x27;m a web developer and was hoping to get some ideas on how to make the transition more easily.<p>Any tips, shortcuts, plugins, etc.. that can get me up to speed on being super productive?  All ideas are welcome :)<p>Edit: Are there any recommended websites&#x2F;resources that give an aggregate of information I can find in these responses?  It&#x27;s awesome to get the information here (very much appreciated!), but it would be cool if there was an existing website that gave an overall rundown of all the quick hacks to get devs up and running quickly.
======
notduncansmith
Alfred is amazing (and the Power Pack is totally worth it). F.lux is great if
you plan on spending any significant amount of time on it after dark.
Bartender is quite nice to have. As others have mentioned, iTerm2 is a must,
it offers a vastly superior experience to the native Terminal.app. Disable
Caps Lock and switch it to Alt, you'll save yourself some pain in the
palm/thumb (Google how). Enable Dark Mode (subjective, but I and most people I
know greatly prefer it). Enable Autohiding on your dock, and Google how to
speed up the animation and reduce the delay. Make heavy use of Spaces. Enable
4-finger swipe to switch spaces, and three-finger drag for click-and-hold. Get
rid of the Widgets space (useless). Wish I could provide more links but I'm on
my phone at the moment. Hope this helps, enjoy your new MacBook!

~~~
infiniteseeker
Please provide some links when you get a chance :)

~~~
notduncansmith
Here you go :)

#Apps

Alfred: [http://www.alfredapp.com/](http://www.alfredapp.com/) Also, here are
some good workflows to get you started (heads-up: PowerPack required for
workflows): [https://github.com/zenorocha/alfred-
workflows](https://github.com/zenorocha/alfred-workflows)

Bartender: [http://www.macbartender.com/](http://www.macbartender.com/)

F.lux: [https://justgetflux.com/](https://justgetflux.com/)

iTerm2: [http://iterm2.com/](http://iterm2.com/)

Dash (offline docs browser - one of those things you don't know you need until
you need it): [http://kapeli.com/dash](http://kapeli.com/dash)

Cellist (HTTP debugging proxy that beats Charles):
[https://itunes.apple.com/us/app/cellist-http-debugging-
proxy...](https://itunes.apple.com/us/app/cellist-http-debugging-
proxy/id897814548?mt=12)

LimeChat (IRC client): [http://limechat.net/mac/](http://limechat.net/mac/)

Keka (zip utility): [http://www.kekaosx.com/en/](http://www.kekaosx.com/en/)

Raindrop (bookmarking app): [https://raindrop.io](https://raindrop.io)

Spectacle (window management):
[http://spectacleapp.com/](http://spectacleapp.com/)

Tower (git GUI): [http://www.git-tower.com/](http://www.git-tower.com/)

Homebrew (package manager): [http://brew.sh/](http://brew.sh/)

\---

# Tutorials

[http://www.howtogeek.com/tips/how-to-disable-the-useless-
das...](http://www.howtogeek.com/tips/how-to-disable-the-useless-dashboard-on-
mac-os-x/)

[http://krypted.com/mac-security/remove-the-delay-for-the-
doc...](http://krypted.com/mac-security/remove-the-delay-for-the-dock-to-pop-
up/)

Remapping Caps Lock: Every Google result wants you to download some bogus
software. Nonsense. System Preferences > Keyboard > Modifier Keys

Gestures: System Preferences > Trackpad

Enabling word-jump in iTerm2 (weird that it doesn't come with it I know):
[https://coderwall.com/p/h6yfda/use-and-to-jump-forwards-
back...](https://coderwall.com/p/h6yfda/use-and-to-jump-forwards-backwards-
words-in-iterm-2-on-os-x)

\---

That's my bag of tricks, without getting into more personalization type stuff.
Should be enough to get you up and more productive than before in a matter of
weeks. Let me know if you have any other questions!

------
thekgann
I suggest using Homebrew ([http://brew.sh/](http://brew.sh/)) for package
management.

~~~
jxm262
Whoa, thanks. Just installed homebrew and did a `brew search`. Has a ton of
stuff. Pretty cool that it's all git/ruby too :)

------
duncan_bayne
Do you have to run OSX? Having spent years working in both OSX and Linux I've
found the latter is much more usable as a developer - in terms of
customisation, scripted setup, flexibility, UI[1].

If you're going to the bother of changing OS, I suggest trying Linux (I use
Linux Mint) as well, and see which you prefer. My setup is here:

[https://github.com/duncan-bayne/mint-setup/wiki](https://github.com/duncan-
bayne/mint-setup/wiki)

Using a tiling window manager like StumpWM[2] is a major win as you can almost
entirely give up using the mouse. Plus a _programmable_ window manager (again,
like StumpWM) gives you the flexibility to tailor your environment to suit
_exactly_ the way you work, and keep changing it as your style develops.

OSX is miles better than Windows, I'll grant you, but it's still primarily a
consumer-focused OS. Be a producer, not a consumer ;)

[1] The OSX GUI is great for discoverability. But as a developer, you might
benefit more from a powerful, flexible, trivially programmable GUI.

[2] [https://stumpwm.github.io/](https://stumpwm.github.io/) ... see
[https://www.youtube.com/watch?v=do0DVxy4HBc](https://www.youtube.com/watch?v=do0DVxy4HBc)
for an intro

~~~
iends
Most people moving from Windows need some applications that are not available
on Linux but are available on OS X. If this is the case, then virtualbox on OS
X with Linux VMs is a reasonable way to go.

~~~
duncan_bayne
... or dual-boot if you've the hard drive space. Mint starts up in literally a
few seconds on my hardware (a several year old ThinkPad L520).

Personally, I found that going cold-turkey worked for me when I switched from
Windows for C development back in the day. Every time I ran into the "oh, I
need a Windows app" problem, I'd stop and learn the Linux equivalent.

Fortunately there were no road-blocks; literally everything I needed to do as
a developer could be done on Linux, and that was back in 2001 or so from
memory.

These days there's little I can't do on a Linux box. There's an old Windows
laptop knocking around the office to run Niagara Workbench; I suspect it'll
work on Linux through Wine but due to licensing complexities I haven't tried.
Probably will when that laptop finally shuffles off this mortal coil.

~~~
iends
For development yes, but for the consumer apps you might be used to using (or
have paid for) it could be difficult switching.

YNAB, Fluenz, & iTunes are things you might want a mac for.

~~~
duncan_bayne
I'd have assumed that people would flee from iTunes given the chance :)
Perhaps it's improved in the years since I last used it (bought an iPhone when
they were the New Hotness here in Australia) but I doubt it.

When I migrated off iOS I encoded my iTunes music to .ogg, which was a pretty
good experience. I don't know what the state of the art is now though.

According to the forums, YNAB runs in Linux on WINE. Also people have reported
some success with Fluenz on WINE as well. For music I run Spotify, which has a
good Linux client these days.

I'll grant you it isn't always easy, or even possible, but there are usually
alternatives.

~~~
iends
I use iTunes mainly for podcasts. I don't know of a good alternative to that.

I also hate ruining a good linux installation with WINE. =)

~~~
duncan_bayne
:)

My podcast workflow is a little odd - I subscribe to RSS feeds with Newsblur,
and as new podcasts come up, I save those I'm interested in to a directory
that I synchronise with my home NAS with Unison.

I imagine gPodder ([http://gpodder.org/](http://gpodder.org/)) might be a more
normal solution :)

------
brudgers
As others have mentioned, the quickest way to be as productive on a MacBook as
previously on a Windows Box is to install and run Windows. Problem solved: get
on with developing software. Just researching 'tips and tricks' is already a
drag on productivity.

Switching operating systems will typically create a non-trivial learning curve
for at least a few weeks anywhere that a person has to perform system
administration. Eleswhere, EMACS is EMACS (so to speak).

------
autoreleasepool
Unless you're required to use OS X, you can always install Windows. I would
actually recommend this if using OS X really is that outside your comfort
zone.

If you need to use OS X, then IMO, the best way to learn is to just start
using it for everything. And Google, a lot. If you're familiar with *nix
systems, OS X shouldn't be too mind blowing.

If not, I would seriously just boot camp Windows 7 or 8.1. It works flawlessly
these days and its a very common practice.

------
thomble
Get to know Mission Control (formerly Exposé), and configure it to your
liking. Personally, I use hot corners to quickly show all running app windows
or the desktop at my whim. This is (for me) an perfect replacement for Alt-Tab
and the Start Bar in Windows. You can also drag and drop while using Mission
Control, which is really handy when dragging between Windows, or to and from
the desktop. I think this feature is understated.

~~~
elyrly
Mission Control or Alfred has contributed the most to increase my efficency
whilst my transition from PC to Mac

------
woogle
If you like speed as much as I do :

1\. Total Space. Setup shortcuts and disable transitions

2\. Disable (or speed up) OSX animation (I don't have the commands on my
phone, just Google it)

3\. iTerm and window splitting (Cmd d) and switch (Cmd [ or ])

4\. And The REAL time saver : Keyboard Maestro Create at least one macro per
app. I assigned shortcuts like

Cmd Shift L - iTerm

Cmd Shift / \- Atom

Cmd Shift ' \- Chrome

Ctrl Shift < \- Finder

Ctrl Shift M - Mailbox

And so (Xcode, Slack etc.)

Then I pur each app in fullscreen (Ctrl Cmd F).

Now I have O(1) access over my computer \o/

Edit: disclaimer I'm a vim user

~~~
graeme
For the application shortcuts, is there an advantage over activating spotlight
(cmd + space) and typing the first few letters of the application name?

I've been thinking about making screenflow workflows to open up a set of
files, which could be quite powerful.

~~~
woogle
Yes. For those you often switch (eg Atom > Chrome > Atom). O(1) access FTW.

I use Spotlight for app I launch but don't really switch Mostly CSGO, Heroes
of The Storm, Mumble and TS (Games!)

Actually I use shortcut a lot more for switching than for launching. For
instance I launch atom from iTerm. A standard flow could be code, test,
terminal commit, chat on Slack/IRSSI, IDE.

------
Bioto
Editor:

\- Atom

    
    
       - Plugins:
         - Sublime-Style-Column-Selection
         - atom-beautiful
         - autocomplete-plus
         - emmet
         - pretty-json
         - (few other plugins for spotify etc...)
    

Utilities:

    
    
        - Grunt
        - Bower
        - Compass
    

Terminal: I personally use iTerm for all of my terminal needs, this is purely
a personal choice.

------
matznerd
One thing that took me a while to get up to speed on was the different in
alt+tab here switching between entire apps vs individual windows as on a PC.
To be able to get that functionality back, install Witch
[http://manytricks.com/witch/](http://manytricks.com/witch/)

~~~
justinv
You can use Cmd+` to switch between windows within apps.

~~~
matznerd
I am aware of that, this is more to switch between the individual windows
without bringing up all of the other windows of that program. Make sense?

------
ruigomes
1password if you're not using any other password organizer app.

Bartender to keep your menu bar items organized.

Flashlight to make Spotlight a bit more powerful.

Flux if you're into it.

Github OSX app is quite nice.

That's what I got from a quick look to my system.

------
saluki
This podcast/show notes gives some good info.
[http://www.startupsfortherestofus.com/episodes/episode-185-m...](http://www.startupsfortherestofus.com/episodes/episode-185-moving-
from-windows-to-mac)

I moved to mac last year from windows I would recommend:

Mac App Store:

Window Magnet (drag and drop your windows/automatic resize) Skitch (Screen
Shots)

I also use:

sublime text Virtual Box/Vagrant MAMP Sequel Pro

Other than installing your favorite browsers and extensions you should be good
to go.

------
elyrly
A few weeks back i put together a sheet for the various applications i
utilize. [https://medium.com/@elyrly/developer-setup-
early-2015-d3f6f6...](https://medium.com/@elyrly/developer-setup-
early-2015-d3f6f6e25477)

------
alexgaribay
GitTower for a git GUI

Divvy for window management

1Password for password management

Homebrew for package management

Atom for a text editor

------
anishkothari
Memory Clean for memory optimization

Alfred for searching things on your Mac (better than Spotlight)

BetterSnapTool for window management (cheaper than Divvy)

GitHub for Mac and Atom are excellent as others have mentioned

~~~
mrits
Memory Clean... when you can't stand having your bits set for no reason...

------
youredeadtome
Learn the shortcut keys. Unlike windows, they are pretty consistent across
apps. For example, command-, is settings in almost every app.

------
arh68
dot files are pretty nice to have [1]. Also see EmacsForOSX.com. Know the
Readline shortcuts for editing most textboxes. Run _$ man open_ to read about
opening apps from the command line.

[1]
[https://github.com/mathiasbynens/dotfiles](https://github.com/mathiasbynens/dotfiles)

------
sid05
Free window snapping/management

[http://spectacleapp.com/](http://spectacleapp.com/)

------
hspak
On the topic of OSX productivity, is there a way to keybind moving a window to
a new space?

~~~
cphrmky_
There's an app called Divvy (2 v's) that I use every day.

------
mingusdew
vim and git natively is a great thing to have

