User Tools

Site Tools


apple

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

- Both sides previous revision Previous revision
Next revision
- apple [2011/05/28 02:44] dblume [Software to Get] Added Dan Engler's suggestion
+ Previous revision
+ apple [2023/02/28 17:14] (current) dblume [BSD vs. Linux commands]
@@ Line -1,26 +1,76 @@ removed created
 ====== Apple ======
 
 We got our first First time configuration of a new Macintosh.  Here are some things I'm considering doingUpdated for macOS Sierra 10. 
  
 12
 
 ===== Configuration =====
 
   * Get [[http://www.google.com/chrome/intl/en/landing_chrome.html?hl=en&platform=mac|Chrome]]
     * Set up sync: Preferences -> Personal Stuff -> Sync
   * Configure [[http://mail.google.com/support/bin/answer.py?answer=81379|mail to use Gmail]].
   * Cofigure [[http://www.google.com/support/calendar/bin/answer.py?answer=99358#ical|iCal to sync with Google Calendar]].
   * System Preferences:
     * Keyboard: Control Panel Trackpad -> Keyboard Tap to Click (For not having to press hard for a click.) 
     * Tap-and-drag: Accessibility -> Modifier Keys... Pointer Control -> swap Command Trackpad Options and Control keysenable 'Dragging (without) Drag Lock' 
   * Open the Photos app, and drag a userpic to it. Then change your userpic in the System Preferences. 
        Except that Get [[httpshttp://discussionswww.applegoogle.com/threadchrome/2793826intl/en/landing_chrome.html?threadIDhl=2793826en&tstartplatform=90mac|it doesn't persist past logging outChrome]] (Login and sync.) 
      Appearance[[http://www.tekrevue.com/tip/show-path-finder-title-bar/|Show the full path in the finder]] with <code>defaults write com.apple.finder _FXShowPosixPathInTitle -bool true; killall Finder</code> 
        Place scroll arrowsSystem Preferences:At top and bottom
     * Mouse 
       * Make tracking speed much faster!
       * Enable Secondary click for the right mouse button
       * 2017-01-15 (still needed): Consider [[http://pilotmoon.com/scrollreverser/|Scroll Reverser]] to have [[http://apple.stackexchange.com/questions/116617/how-to-separate-mouse-and-trackpad-settings|natural scrolling for trackpad, but reversed for the mouse]].
       * Disable [[http://apple.stackexchange.com/questions/159180/yosemite-disabling-inertia-scrolling-using-scroll-wheel-for-the-mouse|inertia mousewheel scrolling]] with:<code>defaults write .GlobalPreferences com.apple.scrollwheel.scaling -1</code>
       * Get SteerMouse (linked below) to stop wheel acceleration (Or [[http://www.logitech.com/en-us/428/146?section=downloads&bit=&osid=9|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: <code>defaults write -g ApplePressAndHoldEnabled -bool false</code>
       * Microsoft Natural Ergonomic Keyboard 4000 doesn't have a current driver. That's OK.
       * Swap the Option and Command keys.
     * Dock
       * Position on Right
       * Maybe automatically Automatically show and hide dock 
     * iTerm2 
       * User Powerline Fonts per [[private:fonts]]. 
     * Outlook 
       * Turn off auto underline-to-italic, dashes, smart quotes: Preferences -> AutoCorrect then click on the AutoFormat page 
  
 ===== Tools Installation ===== 
  
 The old way of installing Command Line Tools from the Terminal doesn't work anymore. But now it can be done from [[https://developer.apple.com/download/more/?=command%20line%20tools|the Developer download site]], not from the Terminal. 
  
 ==== BSD vs. Linux commands ==== 
  
 macOS comes with BSD grep pre-installed, which doesn't use the Perl -P flag. 
  
 Go to http://brew.sh/ and run the ruby command. (See [[https://git.dlma.com/dotfiles.git/commit/fc19c7b34f522f3f22a32418c9da55df6b9b5f0e|this .bash_profile change for how we use default names for GNU ctags, find, grep and sed]].) 
  
   brew install grep 
   brew install gnu-sed 
   brew install findutils 
   brew install ctags 
   brew install gawk 
   brew install jq 
   brew install tree 
   brew install httpie 
   brew install inetutils  # If you need telnet (maybe nc is good enough?) 
   brew install telnet 
   brew install gnuplot 
   brew install pv 
   brew install gnupg 
   brew install socat 
   brew install wget 
   brew install nmap 
   brew install tmux 
   brew install saulpw/vd/visidata 
   brew install ripgrep 
   brew install moreutils 
   brew install bash-completion. " See .bash_profile 
   brew install gitui 
   # Maybe also readline if you brew install python3 
    
   brew install bash 
   # Note where it was installed. Then something like... 
   sudo ln -s /opt/homebrew/Cellar/bash/5.2.15/bin/bash /usr/local/bin/bash 
   sudo echo /usr/local/bin/bash >> /etc/shells 
   chsh -s /usr/local/bin/bash 
  
 Log out of that console window and log back in again. 
 
 ===== Tips =====
@@ Line -35,22 +85,67 @@ removed created
 | 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. :!: Note that there's a breaking change in macOS Catalina. [[https://www.reddit.com/r/MacOS/comments/dffpzj/launchd_agent_no_longer_functions_after_catalina/|Launchd agent no longer functions after Catalina upgrade]].
 
 In your ~/bin directory, create a job to run, tag_ip_address.sh
 
 <code bash 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;s/\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.
 </code>
 
 That "sleep 11" is to mitigate the buggy daemon detection mentioned [[https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html|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
 
 <code xml 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>StandardOutPath</key>
         <string>/tmp/com.dlma.tag_ip_address.plist.out.txt</string>
     <key>StandardErrorPath</key>
         <string>/tmp/com.dlma.tag_ip_address.plist.err.txt</string>
     <key>StartCalendarInterval</key>
         <dict>
             <key>Hour</key>
             <integer>12</integer>
             <key>Minute</key>
             <integer>0</integer>
         </dict>
 </dict>
 </plist>
 </code>
 
 Finally, [[http://apple.stackexchange.com/questions/217453/configure-launchd|you need to explicitly load it]].
 
 <code bash>
 $ launchctl load -w /Library/LaunchDaemons/com.dlma.tag_ip_address.plist
 </code>
 
 
 ===== Software to Get =====
 
   * [[http://www5eiterm2.biglobe.ne.jpcom/~arcana/StartupSound/index.en.html|Startup SoundiTerm2]] (Make it quieter!) 
   * and install your [[http://plentycomgit.jp/en/steermouse/|SteerMouse]] to change ScrollWheel rolling to constant 3x instead of accellerated 
   * [[http://decimus.net/DTerm/|DTerm]] for quick one-off terminal commands 
   * [[http://www.appledlma.com/downloads/macosx/development_tools/plisteditprodotfiles.html|Property List Editor]] for giving [[http://bura-bura.com/blog/archives/2006/08/18/increasing-the-heap-size-of-freemind-on-macos-xgit/|Minecraft more memorydotfiles]]. 
      [[http://toolbar.google.com/gmailPreferences -helper/notifier_mac.html|Google Notifier]] (especially for GMail)> Profiles -> Terminal -> uncheck "Save lines to scrollback in alternate screen mode" 
      GTD: Install Powerline Fonts per [[httpprivate://www.hogbaysoftware.com/products/taskpaper|Taskpaperfonts]]or [[http://culturedcode.com/things/|Things]] or [[http://www.omnigroup.com/products/omnifocus/|Omnifocus]] 
   * [[http://magicprefs.com/|MagicPrefs]] for finer tuning of the Magic Mouse
   * [[http://www.delicious-monster.com/|Delicious Library]]: Keep track of my physical media.
   * Code Editing
     * [[https://code.visualstudio.com/|Visual Studio Code]]
     * [[http://developer.apple.com/tools/xcode/|XCode]]
     * [[http://macromates.com/|TextMate]]
     * [[http://www.barebones.com/products/bbedit/|BBEdit]] (or [[http://www.barebones.com/products/bbedit/comparison.html|TextWrangler]])
     * [[http://www.editrocket.com/|EditRocket]] (Eventually read [[http://regebro.wordpress.com/2010/10/09/is-there-a-better-python-ide/|the comparison of Python IDEs]])
   * [[http://quicksilver.en.softonic.com/mac|Quicksilver]]: Reach any program with a few keystrokes. (Eg., Control+space, M for Mail)
   * Paint program
     * [[http://gimp.lisanet.de/Website/Download.html|GIMP]] (Can I find something powerful, free **and** user-friendly?) X11 is frustrating.
@@ Line -61,8 +156,21 @@ removed created
     * [[http://www.artrage.com/artrage-demos.html|ArtRage]]
 
 [[http://foreword.com/2011/05/6796/hack_os_x/|Danelope]] suggests these Image Editors in 2011:
 
   * http://gimpshop.com/
   * http://pixelmator.com/
 
 ===== Preferences I don't set anymore =====
 
   * [[http://www.mikesel.info/show-hidden-files-mac-os-x-10-7-lion/|Show hidden files]] with <code>defaults write com.apple.Finder AppleShowAllFiles YES; killall Finder</code>
   * Configure [[http://mail.google.com/support/bin/answer.py?answer=81379|mail to use Gmail]].
   * Cofigure [[http://www.google.com/support/calendar/bin/answer.py?answer=99358#ical|iCal to sync with Google Calendar]].
   * System Preferences:
     * Keyboard
       * Command Key: Control Panel -> Keyboard -> Modifier Keys... -> swap Command and Control keys
         * Except that [[https://discussions.apple.com/thread/2793826?threadID=2793826&tstart=90|it doesn't persist past logging out]].
       * [[http://lifehacker.com/5826055/make-your-keyboard-keys-repeat-properly-when-held-down-in-mac-os-x-lion|Make Your Keyboard Keys Repeat Properly When Held Down in Mac OS X Lion (macOS)]].
   * [[http://quicksilver.en.softonic.com/mac|Quicksilver]]: Reach any program with a few keystrokes. (Eg., Control+space, M for Mail)
 
 
 ===== iOS Apps =====
@@ Line -72,5 +180,4 @@ removed created
   * [[wp>Sokoban|Sokoban]]
   * A [[http://build.last.fm/category/Scrobblers|Scrobbler]]
   * A [[http://www.plurk.com/API|new Plurk client]]
 
 ==== Sokoban ====
@@ Line -82,9 +189,47 @@ removed created
 What matters here is the ability to scrobble what I've played to last.fm directly from my iPhone/iPod.
 
 ====Plurk == Prey ====== 
  
 [[https://panel.preyproject.com/]] for when the device goes missing. (Or is stolen by a thief.) 
  
 ====== NFS for macOS ====== 
  
 On the server side get your user ID and group ID (id -u; id -g), and update /etc/exports with something like: 
  
 <code> 
 /path/to/share 10.?.?.?(rw,sync,insecure,all_squash_anonuid=<uid>,anongid=<gid>
 </code> 
  
 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, "<nowiki>nfs://jdoe-t3610/path/to/share</nowiki>" 
  
 Or better, configure automounter by adding a line to <nowiki>/etc/auto_master</nowiki>: 
  
 <code> 
 /- auto_sandbox -rw 
 </code> 
  
 And then make the file /etc/auto_sandbox 
  
 <code> 
 /sandbox nfs://jdoe-t3610/path/to/share 
 </code> 
  
 For the purpose of P4 client compatibility with the dev system, I use a symbolic link at root. 
  
 <code> 
 $ sudo ln -s /sandbox/sandbox/stb/ /link_to_p4_root 
 </code> 
  
 If you want your changes to take effect immediately,
 
 The existing official client could stand improvement.<code> 
 $ sudo automount -vc 
 </code>
 
 ====== Keywords ======
 
 aps, todo
apple.1306575849.txt.gz · Last modified: 2021/10/24 23:49 (external edit)