

Ask HN: Just got a Mac, what do I need to know? - tdfx

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.<p>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.
======
jawngee
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.

~~~
PureSin
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?

~~~
jawngee
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.

------
jsarch
* 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.

------
makecheck
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.

------
Skywing
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. =/

------
gabrielroth
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

~~~
msutherl
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.

------
st3fan
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 :-)

------
moeffju
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.

------
wriq
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.

------
srini1234
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.

------
frou_dh
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.

------
briandoll
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>

------
chr15
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)

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

~~~
chr15
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.

------
slindstr
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.

------
endian
* 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)

------
danest
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.

~~~
tdfx
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.

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

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

~~~
Locke1689
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/>

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

------
zoomzoom
Colloquy for irc is another good app.

