This is an old revision of the document!
First time configuration of a new Macintosh. Updated for macOS Sierra 10.12
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true; killall Finder
defaults write .GlobalPreferences com.apple.scrollwheel.scaling -1
defaults write -g ApplePressAndHoldEnabled -bool false
BSD grep
OS X comes with BSD grep pre-installed, which doesn't use the Perl -P flag.
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
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 |
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
#!/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" sleep 11 # if launched as a daemon, live for 11s to not be detected as buggy.
That “sleep 11” is to mitigate the buggy daemon detection mentioned here.
Note that we had to specify the path to the homebrew grep, because LaunchAgent would use the default one instead.
cd into ~/Library/LaunchAgents or (/Library/LaunchDaemons if it can really be a daemon) and add a new plist file
<?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
Danelope suggests these Image Editors:
defaults write com.apple.Finder AppleShowAllFiles YES; killall Finder
Here are iPhone/iPod apps I really want to make.
Sokoban: Plenty already exist. What matters here is an intuitive (to me) user control.
What matters here is the ability to scrobble what I've played to last.fm directly from my iPhone/iPod.
The existing official client could stand improvement.
https://panel.preyproject.com/ for when the device goes missing. (Or is stolen by a thief.)
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
aps, todo