Free (wannabe-pro) tips of the week for those who develop Javascript and Python on OSX.
Macports install poem
After fresh OSX Lion install, install Macports to bring all the goodies of open source software to your computer. This will help get things running in shell and set up smooth Python development environment
sudo port install python32 python27 subversion nodejs npm \ rsync sqlite3 wget curl py32-virtualenv py27-virtualenv \ wget unrar zsh bzr bzip2 openssl jpeg libpng libxml2 libxslt \ git-core git-extras coreutils lesspipe highlight +with_default_names
(Macports 2.0.4. If you are upgrading Macports or OSX or XCode please see these migration notes and Lion / XCode 4.3 specific issues.)
GNU Userland
Then enable Macports GNU userland commads put the following into your shell .rc file:
export PATH=/opt/local/libexec/gnubin:/opt/local/bin:/opt/local/sbin:$PATH export CLICOLOR=1 export LESSOPEN='| /opt/local/bin/lesspipe.sh %s'
This will give you nice colours in ls, etc. improvements over barebone BSD userland commands.
Sane text editor
Use your favorite non-terminal text editor from command line. Here is an example for Sublime Text 2 which is one of software developer text editors seeing active development under OSX
# Use Sublime Edit 2 as text editor inst export EDITOR="'/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl'" alias subl="$EDITOR" # Open file in a real text editor, # if you happen to type nano from your muscle memory alias nano="subl"
zsh
ZSH is a popular shell among power users with all kinds of plug-ins available. They will help you to deal with Git repositories, virtualenvs, and so on…
To change your shell to Macports‘ /opt/local/bin/zsh in System Preferences > User & Groups: right click on your user after unlockingthe dialog window.
Terminal
iTerm 2 is a better replacement for the default Terminal. (Terminal has some serious problems).
Performance
Disable Spotlight indexing for better performance. Who uses Spotlight search anyway when you have grep?
Sync your configuration files
Some files you might want to save to your Dropbox etc. cloud storing service to share between your computers
- .ssh/ folder
- .gitconfig (sane .gitconfig example making git a bit less pain)
- Store Skype chat history in Dropbox
- .pypirc
- .pdbrc
Kill alt + spacebar character
Pressing alt+spacebar accidentally creates an invisible character which causes most source code go hayware. Disable this behavior.
All Python versions
They can be built with collective.buildout.python recipe. In the case you need to deal with ancient codebases (*cough* Plone 3 *cough*).
Still some open questions….
All hints and pointers welcome for the following