My Ultimate Developer and Power Users Tool List for Mac OS X (2011 Edition)
carpeaqua.com
carpeaqua.com
* TotalFinder (makes the OS X finder not terrible anymore, tabs, etc)
* HandsOff/LittleSnitch (oh, you're just using the built-in firewall? that's cute.)
* Transmit (everything you could ever want in an FTP app)
* CommandQ (W and Q are way too close together)
* Mou (free alternative to Byword)
* Evernote (note-taking that syncs absolutely everywhere)
* Alfred (modern day Quicksilver)
* Growl (notify me of all the things!)
* AppCleaner (good for finding the random left-behind files)
* ClipMenu (clipboard history and saved text snippets all in one)
* f.lux (less eyestrain for marathon coding sessions)
* GasMask (easy hosts file changing)
* GrabBox (automatically saves screenshots to my DropBox public folder and copies the URL to my clipboard? YES PLEASE. replaces the need for CloudApp, etc.)
* Sublime Text 2 (cross-platform and modern TextMate/BBEdit/Vim all rolled into one amazing editor)
* SourceTree (good and free Git/hg front-end)
* Witch (finally a better Cmd-Tab)
* Moom (window tiling and profiles galore)
* Hyperdock (dock previews and drag-to-edge window resizing)
* Prey (stolen goods tracking)
* Textual (IRC)
* Adium (chats)
In terms of my actual command-line environment:
* iTerm2
* Homebrew
* (way too many individual commands to list here)
Also Chrome/FF extensions can get you some really great paid native app replacements, like RestConsole (no more need for Http Clients).
With Alfred and a well-tuned Quicksilver, I can:
* hotkey it open
* punch in the minimum to identify the application I want (usually 1 or 2 keys, 3 for rarely-used ones)
* hit enter
and be done with it in well below 1/2 of a second.With Spotlight, I can:
* hotkey it open
* punch in the minimum to identify the application (over 2x more, almost all the time)
* wait for it to update
* it shows the wrong application / the last movie I played and finally displays the 3rd+ letters I typed
* wait for it to update again
* double-checking that it's the right application (it frequently isn't)
* hit enter
* hope it doesn't update *again*, causing me to launch the wrong application
the whole process typically taking >2 seconds nearly all the time, sometimes 5+ if it's a less-used application.Quicksilver in particular has a nice 'open with...' method which gives you a couple keystrokes to pick the file, 'ow<tab>' to open with, and a couple keystrokes to open it in the application of choice, all generally in less than a second. Alfred might have something similar in the PowerPack (paid), but I haven't purchased it.
But that might be because my .Spotlight folder is > 1 gigabyte. And that's smaller than it has been in the past - my previous hard drive had it larger than 2 gb if I remember correctly, because I had tweaked it to index my source code. On my wife's computer it's only about 400 meg, and it finds applications in about a second (still much slower than Alfred or Quicksilver).
Definitely depends on your usage patterns :)
I can never remember the IP address of my work's VPN, so I created a text file on my desktop with the IP as its name. Whenever I need it, I do: Ctrl+Space, ~/Desktop/[IP] to select the file, '.' to treat the filename as text, tab to go to the action part of QuickSilver, start typing "clipboard" and when "Copy to clipboard" shows up, I press enter. It can sound like a lot of steps but it gives me the IP address in my clipboard without reaching for the mouse, without having to open a file or an app.
I also use it for the integration with the address book. I type the name of the contact, select a phone number, tab to the action part and type "skype" to start calling with Skype. Or I would copy it to the clipboard to put in Google Maps…
If you've never used QuickSilver, that might sound too complicated for not much benefits, but it's something you learn over time. And it's not perfect either: I often time use Spotlight as well. (mostly for dictionary and calculator, though I'm sure QuickSilver can do it too :))
If you don't mind a bit of drag and drop, a text clipping [1] may be even faster... simply drag the IP address text to the desktop, then drag it back when you want to pull it back in... text clippings make your desktop into a super-clipboard (only downside is the resulting files don't sync over dropbox)
Though I'm mostly-keyboard, I use the mouse where it makes sense, and OSX's drag and drop is a huge time-saver.
Z does for cd what QuickSilver does for the Finder. It's totally awesome: https://github.com/rupa/z
* Debian Wheezy (I haven't been able to create a customized and focused OS X setup)
* Puppet (For managing the installation and configuration of all the following applications)
* ssh
* zsh (beats bash in my book)
* ufw (best alternative I've found on Linux to BSDs pf)
* tmux (obsoleted screen for me)
* vim
* ack (intelligent recursive file search)
* git
* rsync
* curl
* keychain (stores password decrypted ssh keys in memory)
* awesome (tiling window manager configured in Lua)
* urxvt (running in client-server mode to save resources)
* spotify
* mplayer (for playing videos and audio not streamed from spotify)
* unclutter (hides the mouse after X seconds of inactivity (I rarely use the mouse))
* firefox (with pentadactyl for vim-like browsing)
* chromium (for testing on webkit)
* mupdf (lightweight pdf viewer)
* sxiv (lightweight image viewer)
* rdesktop (if I need to connect to a Windows machine at work)
* rtorrent
Most puppet modules and application configurations can be found here: http://github.com/uggedal
Pretty rad: http://www.funtoo.org/wiki/Keychain
Spend your money on Rested instead. I don't quite understand the OP's assertion that "RESTed is a little bit more complex than HTTP Client." Considering Rested actually works I'd consider it a lot more simple than HTTP Client.
Edit: To be clear, I am in no way connected with the author of Rested. I'm just a very satisfied customer.
> echo "derp" > foo.txt
That has nothing to do with iterm2 and everything to do with bash or whatever shell you are using, I think.
Might you be confusing iterm2 with iterm? Iterm2 is a completely separate piece of software than iterm, it's not the second version of the same one.
> I mean things like 2>&1 or 2>/dev/null
> (redirecting error stream to stdout etc)
These things are usually handled by the shell... `sudo find / -ctime 0 2>/dev/null`
in both iTerm and Terminal side by side, I would expect them both to print out the same thing, but that was not the case.Then for some really screaming performance, cat a big logfile in xterm. Then, for insane performance cat a big logfile in mrxvt or rxvt.
Anti aliasing really slows things down, so performance is faster in the "native" terminal apps when that turned off, but with x11, theres way less than millisecond delays for printing stuff on the screen. I do like my terminal to be fast.
For example, unlike Windows, there is no free and convenient svn utility on the Mac. If I were using svn on the Mac frequently, Cornerstone (which is quite expensive by my standards) would be a necessity.
Twenty years ago, computers cost $5000 and $500 worth of software was no big deal. Well today, that $500 dollars will buy you just a much a productivity boost, so why is it no longer worth it? Don't compare the $500 to the price of your computer; compare it to your already-spent salary plus overhead.
In my view, most of us who love free software have a knee-jerk reaction to paying money for software. Try spending a little more per year on software and observe whether or not it improves you life. It did for me.
What's wrong with doing "brew install svn" ?
On Windows there is TortoiseSVN which makes svn more efficient. On *nix, I used the XEmacs module. Of course I know how to use the command line also and do use it for one-file commits on occasion.
If you are using SVN routinely and do not use a GUI, you are wasting your time.
I have never understood this phrase, and I see it a lot from Windows users. When I use the command line (and I spend ~12 hrs/day on it), there is no mucking. There's no frustration with it.
I'm honestly asking: what do you mean by mucking about?
If you aren't command-line-phobic, svn has been included by default on OSX for a while.
However, I do agree about paying for software that improves your productivity... if you amortize it over even a year (think monthly cost vs. productivity/entertainment value), it's likely cheaper than a caffeine habit... and I usually use software for years.
> For example, unlike Windows, there is no free and
> convenient svn utility on the Mac.
Back in SVN days I used SmartSVN (http://syntevo.com/smartsvn/index.html ) on Windows, Linux and Mac. Free version was enough for my needs.I recently had to re-install Lion on my MacBook Air - here's what I installed after: http://milesmatthias.tumblr.com/post/14366026639/i-re-instal...
* Jumpcut - http://jumpcut.sourceforge.net/ - simple and unintrusive clipboard history
* dterm - http://decimus.net/DTerm - popup terminal
* bwana - http://www.bruji.com/bwana/ - man pages in your browser
* Grand Perspective - http://grandperspectiv.sourceforge.net/ - disk usage program
I'm using TotalTerminal - it's not context aware, but it's easier for me to launch it with Ctrl-` than to open a new virgin terminal whenever I need to do something really quick.
I recommend DaisyDisk instead - http://daisydiskapp.com
For software, homebrew and perlbrew are essential. vim and tmux are how I do everything related to my job.
Adium is for OTR and annoying scripts I've written[1]. Chrome for the being Chrome. I use dropbox like an addict, too.
I tend to script everything I need with Perl, including mechanized tests and creating quick REST APIs[2]. Being able to use v5.14 in place of whatever comes natively is a nice touch.
Homebrew brings in git, tmux, haskell, racket, go, and redis.
Combinations of these tools let me do pretty much what these other lists allow but I probably haven't had the most elegant experience, either.
[1]: http://www.adiumxtras.com/index.php?a=xtras&xtra_id=4187 [2]: https://metacpan.org/module/Test::WWW::Mechanize
Just kidding. Actually MacVim, too.
The current gen i7 MacBook Pro is an insanely great machine.
- I pretty much can not work without VMWare Fusion.
- Tower for git, Cornerstone for svn
- Sparrow, for I want a second mail client beside Mail.app that does not suck
- TextExpander is pretty useful
- Pixelmator. It's enough for what I need to do.
- Reeder, my favourite RSS client
- The Unarchiver, in case anyone did not know that one
- Spotify
- Outbank, for European bank accounts
- Transmit. Awesome FTP client.
(As a side note, why can't these links be a little more intelligent? If they know I'm using an iPad, why not redirect to a better fallback?)
Fun!
If you click "learn more" you get a lot of information about both the company and the team, including our address, phone number, photos and bios of the three of us, and links to our Twitter accounts.
What contact information were you looking for?
We see ourselves as (in part) being in the business of earning trust. That's obviously a difficult job, so whatever suggestions you can offer we'd definitely appreciate.
Cheers, Dave
16GB in a desktop really isn't that ridiculous especially as a developer that might run VMs. In a non-mac with 4 ram slots, its <$100, which is very attainable. He is running an iMac with only 2 slots, making the RAM more like $250, but for a developer, this still isn't that much.
Some additions:
* MuCommander (Norton Commander-style file manager)
* ShiftIt (window management/"Aero Snap"/Moom alternative)
* Isolator (widow focus indicator)
* SecondBar (menu bar for your second monitor)
* KeyRemap4Macbook/PCKeyboard Hack (remap keys, capslock=command, etc.)
* BetterTouchTool (trackpad gestures, middle click!)I think the Org mode journal style just fits the way most people plan much better than the GTD ramified list approach. You have a file per project or maintenance domain and you jot down your priorities, interleaving tasks where they are relevant tasks. Then Org mode's tools put together the lists you need when you are getting through your tasks. There's no need to internalise a complex external model, a step that clearly many people fail at when they try to apply GTD.
More generally, I find that when I started using OSX, I used a lot of the Apple-esque programs but over the years I've mostly migrated back to software that runs on Linux. OSX has increasingly become a wacky UNIX with a nice GUI to me. The superbly integrated Parallels is the only non-bundled software on OSX that I would really hate to live without.
PDFpenPro: Preview can save your signature and add it to a PDF for you
Nice time saver
Also, here's a script I use that turns color picker into an app: http://hints.macworld.com/article.php?story=2006040805092015.... (But only sort of, it's still one of those weird windows OS X has that you can't close the normal way.)
(I know I can use x11.app but It's freaking unusable)
(I'm using a Microsoft mouse on a Mac Mini)
I personally use a Logitech and it seems to do the same.
http://www.teamliquid.net/forum/viewmessage.php?topic_id=194...
OT: is LaunchBar/Alfred really that better than Quicksilver? Has been some time since I last touched a Mac, but I was totally amazed by the magic that was Quicksilver.
An archiver for OS X that actually works the way you expect, by opening a window to let you look inside and selectively extract from archives, rather than just spurting files all over the place unbidden like the built in one and all the other replacement ones seem to do.
For some reason it took me ages to find this when I switched to mac. Drove me mad.
In the scenario you describe, I generally use the dtrx script.
He talks about might wanting a different diff tool than Changes. Might recommend Kaleidoscope (http://www.kaleidoscopeapp.com/). I like it, however the one thing that I do hate about it is the lack of a directory compare feature. It can only compare two files together.
http://www.araxis.com/merge_mac/index.html
It does directory comparison. Kaleidoscope seemed pretty, but not as powerful.
It has a free 30 day trial, so give it a try and see if it is worth the money.
* Terminal.app
* SBCL
* DiffMerge
* GitHub.app
* Graphviz
* Chrome, Adium
I have not spent 1 cent on software for my Mac so far. The only software that tempts me is OmniGraffle, because it really is that good.
I live on the command line and quite often, in open source software.
* Parallels. VM. Use it primarily for testing web apps in older versions of IE.
* Netbeans. Great search tools (search in files, search for classes, functions).
I sadly still have to use SVN for some things and have been using Versions for quite some time now. What does Cornerstone do that Versions can't do?
I've quit QS for LaunchBar few years ago (when the author announced the development for QS has ceased) then Spotlight then Alfred. I think Alfred did better than Spotlight as a launcher because of slightly better results (e.g. typing "pho" in my machine list Photo Booth and iPhoto but not the one I want the most: Photoshop) and few little touches here and there where Spotlight didn't get it right (e.g. "press enter to copy" for calculations).
I use file actions a lot (move these files, trash this, etc.), so Spotlight is pretty much out of question.
* TotalTerminal -- a quake-like CMD-~ terminal extension
* RightZoom -- CMD-Shift-Q for maximizing the window to current screen
Boot up Mac, install XCode to get gcc/clang etc, and install MacVim, but you don't have to, vim is there out of the box. Install perhaps additional tools like lynx, pgrep, pfind, ncat, ngrep, nmap, wget, seq (some are included in Lion but I don't use Lion) etc and you got standard UNIX toolchain to build everything, from "hello world" to world's most complex multi-million line applications.
I spend most of my time in side-by-side Vim/shell/ssh sessions inside tmux within the Guake terminal.
If MacVim is a standalone app, why do people use it? Isn't one of the nicest things about Vim that it lives in the terminal and can be launched from any root in the terminal?
...a squiggly redline under your spelling mistakes and easy mapping of the command key for shortcuts. I think you might also be able to do more with fonts (e.g. italics for comments) too.
On a more serious note, I tend to use both MacVim and iTerm 2 in maximised windows (not full screen as such) on separate monitors. E.g. iTerm2 on the laptop, MacVim external.
I could run MacVim in a terminal but I don't get anything from it either. Of course working remotely is a different matter.