Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Just got a Mac, what do I need to know?
27 points by tdfx on Dec 25, 2010 | hide | past | favorite | 31 comments
I'm thinking this should be a fairly common theme today and tomorrow. I'm a developer that just got a Macbook Air and I'm completely new to Mac OS. I'm coming from GNOME and I used Windows before that.

I'm looking for useful keyboard shortcuts, interesting features, methods of organizing your things, apps for dev work/web design, pretty much anything that a power user/developer on other systems would need to know to start feeling at home on a Mac. Very open-ended question so feel free to throw in anything you've picked up during your time with a Mac.



* System Prefs -> Security -> Disable auto login (to secure your computer)

* System Prefs -> Expose -> Expose (create your "switcher" layout)

* System Prefs -> Keyboard -> Keyboard -> move "Key Repeat Rate" all the way to the right (to have your cursor move faster than a snail)

* System Prefs -> Processor -> Show in Menu bar (so that you can set to 1 CPU when on a plane)

* System Prefs -> Sharing -> Check "Remote Login" (so that you can SSH into your machine)

* System Prefs -> Network -> Show AirPort status in Menu bad (so that you can see when you're connected)

Additionally: MacOS is case-INsensitive. Therefore, "this_file.txt" and "THIS_FILE.txt" and "This_File.txt" are all the same. You can set the file-system to be case-sensitive by Disk Utility, but at the chance that you break a binary (like MS Office) that assumes case-insensitive filenames on a Mac.

MacOS is also BSD-based, so you won't get some of the nice GNU options to "ls", "find", and others.

Install the XCode Developer Tools to get GCC and such. And I don't believe that these will be found by the Software Updater, so you'll have to keep them updated yourself.


Go to the Apple menu, "System Preferences", Keyboard pane, and browse the "Keyboard Shortcuts" tab. There will be all kinds of useful stuff in there, and you can change anything you don't like. Remember that "^" means the Control key, the hollow up-arrow means the Shift key, the switch-symbol means the Option key, and the cloverleaf is the Command key.

If you are feeling a bit adventurous, note that many Mac apps use Cocoa and their text fields tend to share the same text entry system, and people have even written extensions for it. You can tweak config files to change the behavior. The default is a bit Emacs-like, e.g. Control-A to move to beginning of line, Control-E to move to end of line. The traditional Mac OS keys also work, so e.g. Option-left-arrow or Option-right-arrow moves between words; Command-left-arrow and Command-right-arrow move to the beginning or end of the visible boundary of the line you're on; holding down the Shift key selects text as you use cursor keys, etc.


I can't live without:

* QuickSilver (Launcher app), http://www.blacktree.com/

* TotalFinder (Tabbed finder), http://totalfinder.binaryage.com/

* iTerm, http://iterm.sourceforge.net/

* CSSEdit 2, http://macrabbit.com/cssedit/

* TextMate, http://macromates.com/

* AquaMacs, http://aquamacs.org/

* Tower (awesome git client), http://www.git-tower.com/

* Araxis Merge (crossplatform merge), http://www.araxis.com/merge_mac/index.html

* Aqua Data Studio (sql editor), http://www.aquafold.com/

* Adium (instant messenger), http://adium.im/

* DropBox

* VLC (Media player), http://www.videolan.org/vlc/

* Perian (plays xvid/divx avi's), http://www.perian.org/

* ExpandDrive (mount sftp, ftp, etc. as volumes), http://www.expandrive.com/mac

* 1Password (password manager), http://agilewebsolutions.com/onepassword

* VoodooPad (desktop wiki), http://flyingmeat.com/voodoopad/

* Unison (usenet browser/downloader), http://www.panic.com/unison/

* Scrivener (writing app), http://www.literatureandlatte.com/scrivener.php

* MacPorts (package installer), http://www.macports.org/

It's worth installing the developer tools from Apple. Also, you'll probably want to install MacPorts, which is a package management system similar to what you are used to on Linux.


Homebrew is another popular alternative to MacPorts that you may be interested in looking at: https://github.com/mxcl/homebrew


I'm also getting a macbook Pro soon (coming from Windows/Ubuntu background). Looking forward to trying TextMate and comparing that with Eclipse (or maybe it will replace Notepad++ as a quick all purpose edit tool). Most of all looking forward to Garage Band!

Note: Also switching from an Android phone to the iPhone 4. Anyway heads up/ awesome app suggestions?


Eclipse runs on osx, you just need to edit the keyboard shortcuts otherwise you will be very frustrated.

Re: iPhone 4, jailbroken? I can't live without a jailbroken iPhone fwiw.


+1 on iTerm. It supports 256 colour mode so if you're using a custom vi theme like Zenburn, it'll actually work.

BTW, alt-tab (er, command-tab) still switches between applications, but not between different instances of an application. For that, you want command-` It took me several months of using the mouse to stumble across that one.


Expandrive is nice but Transmit 4 does the same for less money and is also a complete and powerful ftp/sftp client


During any typical day I work on my code from 3 different computers - my PC, my Macbook and my other PC. The tools that help me keep a consistant work environment across all of them are Putty, Git and Eclipse with the Remote System Explorer perspective. My codebase does not exist on any of these 3 computers - that's where the SSH-based file editing with Eclipse comes in to save the day. I use mostly Python and Javascript, so I also have the Aptana addon for syntax highlighting. These are basically the only 3 things that I immedietly install on a new machine of mine. Oh, and Google Chrome.

Specific to my Macbook ... um, not much really. I don't know many of the cool tricks with it. I just use it like any other laptop. =/


OS X ships with a built-in Apache server, which you can enable by checking 'Web sharing' in the Sharing preference pane. There's a lot of other goodies like that under the hood, including Perl, Python, Ruby, and PHP. These languages may be out-of-date versions, and may require enabling. In general, OS X's popularity and uniformity make stuff like this easy to Google.

Unless you're a die-hard command-line person: For launching, file browsing, web searching, and more, try Launchbar. Quicksilver does much the same thing, but QS is poorly maintained (the original developer open-sourced it and walked away) and is now too slow and crashy to be usable on current versions of OS X. (YMMV.) Either one will move many common actions from the mouse to the keyboard in an easy-to-learn way.

For text editing, the two preeminent native-OS X editors are BBEdit and TextMate. Lots of arguments about which is better, and different language communities tend to have a favorite. Of course, if you're a Vim or Emacs user, you should have no problem getting your preferred editor up and running.

Consider also the following programs, which I haven't seen anyone else mention here:

* Hazel -- runs actions automatically when files are added to folders

* NetNewsWire -- RSS reader

* Jumpcut -- multiple clipboards

* QuicKeys -- attach sequences of actions to key combinations

* PathFinder -- powerful Finder relacement

* Acorn -- image editor

* OmniGraffle -- wireframing and flowcharts, very useful for web design


for me Quicksilver is quick and stable with the most recent version of OSX

I haven't found a viable replacement yet. Being able to append text to a document, move and delete files, check my IP address etc. from one place is wonderful.


Some stuff that I like: BBEdit, Alfred.app, Dropbox, Transmit.app, TinyGrab.app, 1Password, Weet.app, Reeder.app, VLC, Perian.

Oh and I switched to Postbox for mail and bought a copy of iWork :-)


Coming from linux, I would install a package manager first. Homebrew (http://mxcl.github.com/homebrew/) or MacPorts (http://www.macports.org/). Be sure to install the developer tools from Apple.


Besides the things already mentioned, I recommend:

Afloat, http://infinite-labs.net/afloat/ -- keep single windows on top, make them translucent, make them pass clicks through.

Flux, http://www.stereopsis.com/flux/ -- change color temperature with time of day. Cross-platform, wouldn't want to use a computer without it. Don't burn your retinas with blue bright light at 2am.

Chromatic -- keep Chromium nightlies updated.

GitX, http://gitx.frim.nl/ -- Git browser / gui. Good for viewing history etc., like it more than Git Tower, also it's free.

Skitch, http://skitch.com/ -- quickly take and annotate screenshots, easily share them.


I am a recent convert too (< 1yr). If you are moving over from Ubuntu,the transition will be less traumatic. First thing to figure out is the "state" of dock icons. There is a little halo under the dock icons that tells you have an active window. Then figuring out the Apple+Key convention as opposed to Ctrl+Key convention. Also figure out the ease of installation and uninstalling apps, which blew my mind.

As for the apps, get MacPorts and get meld for file compares. SmartGit client is great. TextWrangler is great too. Figuring out how to get all vim extensions. Actually figuring out the "package" architecture of an installed app is also important.


There's an app for that! No, really. This website categorizes Mac apps, and lots of folks mark apps they use, so you get an idea of which apps are most popular in a given category.

http://osx.iusethis.com/

If you register, you get a profile of all the apps you use. Here's mine: http://osx.iusethis.com/user/briandoll


Use Hide (Cmd-H) instead of Minimise (yellow button or Cmd-M) if you want a whole application out of view.

Use a utility like SizeUp or Divvy to let you quickly move/resize windows on to a grid using keyboard shortcuts.

Use 'mdfind -name foo.bar' for searching for files in Terminal.

Use Homebrew or MacPorts to install non-GUI software.

Use the handy search for menu bar items (Cmd-Shift-/ or Help > Search).

Give Safari a chance and don't immediately install Firefox/whatever.


What languages are you developing in? We may be able to direct you to some specific tools.

Command line is essential: You can find it under /Applications/Utilities/Terminal or in Finder: Macintosh HD->Applications->Utilities->Terminal

These are my main dev tools:

GitX (Git), Colloquy (IRC), Transmit (FTP), Vim or TextMate (text editors), MySQL Pro (MySQL client), Transmission (BitTorrent client)


Console is for viewing log files. For a full command line, you want /Applications/Utilities/Terminal.


Wow, that's embarrassing. I have no idea why I put Console. I usually have my Terminal on the dock, so when I was looking up the path to it in Finder I must have thought Console. I upvoted you. Thanks.


Mostly python. Also do a fair bit of HTML/CSS/JS work. Also planning to give Ruby a try soon.


Most of the applications I use have already been mentioned, so I'm just going to list the ones that haven't yet been mentioned.

I do primarily Django/Python related work and use Eclipse with the Pydev (http://pydev.org/) and Aptana plugins (http://aptana.com/products/studio3). For an interactive python shell, I prefer ipython (http://ipython.scipy.org/moin/). For installing python packages, setuptools (http://pypi.python.org/pypi/setuptools) is very handy.

If you happen to have multiple gmail accounts, Mailplane (http://mailplaneapp.com/) is great.

For doing work with regular expressions, Regexr comes in handy (http://gskinner.com/RegExr/desktop/)

For MySQL DB management, Sequel Pro (http://www.sequelpro.com/).


A useful keyboard shortcut that I use when I write code is CONTROL+OPTION+COMMAND+8 which inverts the colors on the screen. It makes it a lot easier on the eyes IMO.

If you want to take a full screenshot hit COMMAND+SHIFT+3 or if you want to crop where the screenshot will be taken hit COMMAND+SHIFT+4 then you can click and drag a square around the area you want.


* DTerm: http://decimus.net/DTerm/

With DTerm, a hotkey of your choice brings up a temporary little command prompt and sets its cwd to the folder of the file you're working on (e.g. in TextMate)


Just a little hack that I am using on my MBP is changing Caps Lock key to be the Control key. It helps a lot and I know I barely ever use the original Caps Lock key.


Having fn instead of control at the bottom left has been throwing me off in my screen-based SSH sessions a lot so far. I'll definitely look into this.


You can easily change that in System Preferences > Keyboard, on the Keyboard tab, click the Modifier Keys... button.


MacVim, its delightful. Or Aquamacs, if you're an Emacs guy.


And open Terminal.app and you have a full UNIX subsystem.

Also, if you're used to having package manager MacPorts[1] is probably what you want. If you're familiar with the BSD ports system, it's very similar.

[1] http://www.macports.org/


Homebrew (http://mxcl.github.com/homebrew/) is a Macports alternative also worth taking a look at.


Colloquy for irc is another good app.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: