There are many hints here and on the net involving changing user defaults by running defaults write or directly editing the .plist files in Library/Preferences. Until 10.9, restarting the program was enough to apply the new defaults.
Since OS X Mavericks, the defaults system is caching the preferences system-wide (i.e. not in the application's process!) to improve performance of the user defaults API. If you use the defaults command, you are fine, since it appears to use the normal user defaults API.
On the other hand, if you edit a preference .plist file with a text or plist editor (even the one included with the most recent Xcode 5 preview), the cache will not be flushed and even after restarting the program in question, it will retain the old preferences.
The API documentation states that the cache is synchronized with the on-disk plist file contents periodically, but does not indicate how often, let alone how to flush the cache manually.
Logging out and back in appears to flush the user defauts cache, but other than that, the defaults command is currently the only way to reliably change preferences without waiting for the timeout.
Mac OS X has long supported password encrypted zip files, but you have to use command line to do it. So here is a simple Automator based Service to give you a GUI.
OpenAutomator and choose "Service" (the gear). Change "Service receives selected" to Files or folders in "Finder.app"
Add the "Run Applescript" step and then copy the code below and replace all the code in the "Run Applescript" command with this code.
Choose save, naming it something like "Make Protected Zip", then test it by going to the finder and selecting one or more files/folders. Scroll down to the "Services" Menu and select the service with the name you just saved as.
on run {input, parameters}
set dialogResults to display dialog "Name for zipped file (no extension)" default answer "Archive" buttons {"OK", "Cancel"} default button "OK"
if button returned of dialogResults is "OK" then
set passwd to text returned of (display dialog "password for zipped file" default answer "password" buttons {"OK", "Cancel"} default button "OK")
set archiveName to text returned of dialogResults
tell application "Finder"
set archiveFileName to archiveName & ".zip"
-- Append on a number if file exists.
set suffix to 1
set theFileExists to true
repeat while theFileExists
try
set archiveFile to ((container of (item 1 of input) as Unicode text) & archiveFileName)
if exists file archiveFile then
set archiveFileName to archiveName & suffix & ".zip"
set suffix to suffix + 1
else
set theFileExists to false
end if
end try
end repeat
end tell
set itemStr to ""
repeat with thisItem in input
set itemPath to quoted form of (POSIX path of thisItem)
tell application "Finder"
set parentFolder to POSIX path of (container of thisItem as alias)
end tell
set itemStr to itemStr & " " & itemPath
end repeat
set zipFile to quoted form of (parentFolder & archiveFileName)
set cmd to "zip -P " & passwd & " -rj " & zipFile & " " & itemStr & " -x *.DS_Store"
do shell script cmd
end if
return
end run
iOS 7 uses iCloud to store your passwords for websites you log into. But sometimes, by default, Safari won't prompt you to save passwords for certain sites—sites that explicitly request that web browsers not save such data.
But they're your passwords, and Apple clearly thinks you deserve a vote on whether your iOS device saves them. Head over to the Settings app, tap on Safari, and then tap on Passwords & Autofill. Enable the Always Allow setting, and Safari will now be willing to save every single password you enter, even on sites that attempt to disallow that option.
Want to add a user to a specific group using the command line? dseditgroup is your friend! Add users, or groups, to a group you create or system groups which control access to services.
Make sure to insert your local admin's short name (localadmin) and the user (username) or group (groupname) you're trying to add.
Remote Login (SSH)
User: dseditgroup -o edit -n /Local/Default -u localadmin -p -a username -t user com.apple.access_ssh
Group: dseditgroup -o edit -n /Local/Default -u localadmin -p -a groupname -t group com.apple.access_ssh
Screen Sharing
User: dseditgroup -o edit -n /Local/Default -u localadmin -p -a username -t user com.apple.access_screensharing
Group: dseditgroup -o edit -n /Local/Default -u localadmin -p -a groupname -t group com.apple.access_screensharing
Print Administrators
User: dseditgroup -o edit -n /Local/Default -u localadmin -p -a username -t user _lpadmin
Group: dseditgroup -o edit -n /Local/Default -u localadmin -p -a groupname -t group _lpadmin
Explanation:
-o specifies the operation (edit in this case)
-n specifies the domain (another example is /LDAPv3/127.0.0.1 on an ODM)
-u is the admin user to authenticate with (use diradmin for network domains)
-p tells it to prompt for a password
-a tells it to add a user or group
-t specifies the type, user or group
The following AppleScript will use Remote Desktop to set a non-default NetBoot image as the startup disk. Make sure to insert your server's IP Address and the image name...
tell application "Remote Desktop"
set theServer to "192.168.1.8"
set theImage to "10.8.5 NetBoot"
set theComputers to the selection
set theTask to make new set network startup disk task with properties {from server:theServer, mount volume:theImage, restarting:true}
execute theTask on theComputers
end tell
When you turn your iOS 7 device to landscape (horizontal) mode in the Music app, you get a lovely grid of album cover art from the music in your library. You can tap on one to see that album in details.
But you may not realize just how interactive that grid is. You can swipe across it to drag other album covers into view. But even better, you can pinch and zoom to change how many album covers fit onto the screen at a time.
After reading Lex's hint about rolling the dice and flipping a coin, I decided to see whether Siri can generate random numbers. It can have Wolfram do it. You can speak "random number" (which it interprets as "random integer"), "random integer", or "random real". You can also specify ranges, such as "random number between ten and 100" or "random real between 20 and 30".
Over at Finer Things, David Chartier points out that Siri can help you play games of chance. Unfortunately, however, the virtual assistant can't necessarily help you win at said games. Still, you can use Siri when you need to flip a coin or roll a pair of dice.
Say "Flip a coin," and Siri will either announce that it's heads or tails. Ask Siri to "roll the dice," and you'll get a pair of numbers between one and six. You can't ask Siri to roll a single die. Or rather, you can, but you'll still get two numbers back.
Hardcore role playing game enthusiasts will need a separate app or actual dice hardware to roll dice with more than six sides; Siri's apparently not into D&D.