This is an old revision of the document!
Table of Contents
Apple
First time configuration of a new Macintosh. Updated for macOS Sierra 10.12
Configuration
- System Preferences:
- Trackpad → Tap to Click (For not having to press hard for a click.)
- Tap-and-drag: Accessibility → Mouse & Trackpad → Trackpad Options and enable 'Dragging (with/without) Drag Lock'
- Open the Photos app, and drag a userpic to it. Then change your userpic in the System Preferences.
- Get Chrome (Login and sync.)
- Show the full path in the finder with
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true; killall Finder
- System Preferences:
- Mouse
- Make tracking speed much faster!
- Enable Secondary click for the right mouse button
- 2017-01-15 (still needed): Consider Scroll Reverser to have natural scrolling for trackpad, but reversed for the mouse.
- Disable inertia mousewheel scrolling with:
defaults write .GlobalPreferences com.apple.scrollwheel.scaling -1
- Get SteerMouse (linked below) to stop wheel acceleration (Or Logitech V200 LCC)
- Keyboard
- Set Key Repeat to fastest, and Delay until Repeat to second shortest.
- Some apps don't repeat anything because some keys have a character accent menu. To disable:
defaults write -g ApplePressAndHoldEnabled -bool false
- Microsoft Natural Ergonomic Keyboard 4000 doesn't have a current driver. That's OK.
- Swap the Option and Command keys.
- Dock
- Position on Right
- Automatically show and hide dock
- Outlook
- Turn off auto underline-to-italic, dashes, smart quotes: Preferences → AutoCorrect then click on the AutoFormat page
BSD grep
OS X comes with BSD grep pre-installed, which doesn't use the Perl -P flag.
- Go to http://brew.sh/ and run the ruby command.
- brew install homebrew/dupes/grep --with-default-names; brew install gnu-sed --with-default-names
- Log out of that console window and log back in again.
Python Packages
If pip isn't installed yet (Python older than 2.7.9), then install it with easy_install, then install requests.
sudo -H easy_install pip sudo -H pip install requests
Tips
Shortcut | Action |
---|---|
Command+space | Spotlight (Very handy!) |
Command+W | Close the window. |
Command+Q | Quit the application. (Closing its windows isn't enough.) |
Command+click | Open the link in another tab. |
Command+Tab | Switch between applications. |
Command+` | Switch between windows within the application. |
Command+Opt+Esc | Force Quit the application |
Shift+Opt+Command+V | Paste without formatting |
Daemons, Agents, Cron, Launchd
The preferred way to set a repeating task is not to use a cronjob but launchd.
In your ~/bin directory, create a job to run, tag_ip_address.sh
- tag_ip_address.sh
#!/usr/bin/env bash curl --data "`hostname -s`=`ifconfig | /usr/local/bin/grep "inet " | grep -v "127.0.0.1" | \ sed -E 's/.*inet (([0-9]+.){3}[0-9]+).*/\1/' | perl -p -e 'chomp if eof' | \ tr "\n" ","`&auth=[your secret auth]" "https://kvs.dlma.com"
Note that we had to specify the path to the homebrew grep, because LaunchAgent would use the default one instead.
cd into ~/Library/LaunchAgents and add a new plist file
- com.dlma.tag_ip_address.plist
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.dlma.tag_ip_address</string> <key>Program</key> <string>/Users/dblume/bin/tag_ip_address.sh</string> <key>StartCalendarInterval</key> <dict> <key>Hour</key> <integer>12</integer> <key>Minute</key> <integer>0</integer> </dict> </dict> </plist>
Finally, you need to explicitly load it.
$ launchctl load -w com.dlma.tag_ip_address.plist
Software to Get
- Startup Sound (Make it quieter before Lion!) Adjusting Startup Chime after Lion.
- TotalFinder for some intuitive Finder features.
- SteerMouse to change ScrollWheel rolling to constant 3x instead of accellerated
- DTerm for quick one-off terminal commands
- Property List Editor for giving Minecraft more memory.
- MagicPrefs for finer tuning of the Magic Mouse
- Delicious Library: Keep track of my physical media.
- Code Editing
- Sublime Text 3 and then configure it.
- BBEdit (or TextWrangler)
- EditRocket (Eventually read the comparison of Python IDEs)
- Quicksilver: Reach any program with a few keystrokes. (Eg., Control+space, M for Mail)
- Paint program
Danelope suggests these Image Editors:
Preferences I don't set anymore
- Show hidden files with
defaults write com.apple.Finder AppleShowAllFiles YES; killall Finder
- Configure mail to use Gmail.
- Cofigure iCal to sync with Google Calendar.
- System Preferences:
- Keyboard
- Command Key: Control Panel → Keyboard → Modifier Keys… → swap Command and Control keys
- Except that it doesn't persist past logging out.
iOS Apps
Here are iPhone/iPod apps I really want to make.
Sokoban
Sokoban: Plenty already exist. What matters here is an intuitive (to me) user control.
Scrobbler
What matters here is the ability to scrobble what I've played to last.fm directly from my iPhone/iPod.
Plurk
The existing official client could stand improvement.
Prey
https://panel.preyproject.com/ for when the device goes missing. (Or is stolen by a thief.)
NFS for OS X
On the server side get your user ID and group ID (id -u; id -g), and update /etc/exports with something like:
/path/to/share 10.?.?.?(rw,sync,insecure,all_squash_anonuid=<uid>,anongid=<gid>)
10.?.?.? would be the IP of the Macintosh. (That'll have to be updated every time it changes.) For a Macintosh to connect, “insecure” was said to be needed. And “all_squash” was needed for the uid and gid to be set. Restart and check the NFS server with “sudo systemctl restart nfs-server.service; systemctl status nfs-server.service”.
Get the “hostname” for the server for the next bit on the client side. Call it jdoe-t3610.
On the client side, you could manually mount the NFS volume with something like, “nfs://jdoe-t3610/path/to/share”
Or better, configure automounter by adding a line to /etc/auto_master:
/- auto_sandbox -rw
And then make the file /etc/auto_sandbox
/sandbox nfs://jdoe-t3610/path/to/share
For the purpose of P4 client compatibility with the dev system, I use a symbolic link at root.
$ sudo ln -s /sandbox/sandbox/stb/ /link_to_p4_root
If you want your changes to take effect immediately,
$ sudo automount -vc
Keywords
aps, todo