Many advanced network configuration commands can be reached with the scutil command line tool. Launch Terminal.app and run:
ENABLE_EXPERIMENTAL_SCUTIL_COMMANDS=1 scutil --net, then type help and press the Return key to see the available options.
For example:
localhost:~ user$ ENABLE_EXPERIMENTAL_SCUTIL_COMMANDS=1 scutil --net
set "Automatic" selected
> help
Available commands:
help : list available commands
f.read file : process commands from file
quit [!] : quit
commit : commit any changes
apply : apply any changes
create interface [ | ]
create protocol
create service [ | [ ]]
create set [setName]
disable protocol [ ]
disable service [ | ]
enable protocol [ ]
enable service [ | ]
remove protocol [ ]
remove service [ | ]
remove set [ | ]
select interface | | $child | $service | $vlan | $bond | $bridge
select protocol
select service |
select set |
set interface context-sensitive-arguments (or ? for help)
set protocol context-sensitive-arguments (or ? for help)
set service [ name ] [ order new-order ] [ rank ( | First | Last | Never) [temp] ]
set set [ name setName ] | [ current ]
show interfaces
show interface [ | ]
show protocols
show protocol [ ]
show services [ all ]
show service [ | ]
show sets
show set [ | ]
update : update the network configuration
>
[crarko adds: I haven't tested this one. Obviously be careful before using the commands. I'd suggest making a log of any changes made, and understand how to undo them. This would be a good time to do a full system backup.]
I'm not sure how long this has been the case, but if you copy an address, say from a web site, and paste it into the first address field (street) in Contacts, Contacts will parse appropriately.
For example, try:
1234 Easy St
Pleasantville, CA 43402
When pasted into Contacts it will correctly place the City, State and Zip into the appropriate fields.
[crarko adds: OK, I'll admit I don't know when this was introduced either because I'd long ago stopped looking for it. Nice to know data detectors keeps being improved.]
The command-line utility sysdiagnose can be triggered by pressing Cmd+Opt+Ctrl+Shift+Period, and it may take a few minutes to complete. When ready, the output will automatically be revealed in a Finder window (or it can be manually retrieved from /var/tmp).
What sysdiagnose Collects:
A spindump of the system
Several seconds of fs_usage ouput
Several seconds of top output
Data about kernel zones
Status of loaded kernel extensions
Resident memory usage of user processes
All system logs, kernel logs, opendirectory log, windowserver log, and log of power management events
A System Profiler report
All spin and crash reports
Disk usage information
I/O Kit registry information
Network status
If a specific process is supplied as an argument: list of malloc-allocated buffers in the process's heap is collected
If a specific process is supplied as an argument: data about unreferenced malloc buffers in the process's memory is collected
If a specific process is supplied as an argument: data about the virtual memory regions allocated in the process
[crarko adds: This seems to be primarily intended for software developers as a debugging aid, but I can see it useful for system troubleshooting at a low level as well. I tried it and found the output (text) file in /var/tmp, as mentioned above.]
Apple removed the option to add an action to Maverick's Calendar app but you can use Automator to accomplish this.
I found that if you use Automator to add an action an Automator calendar will appear over in the Calendar side bar. Then just select the Automator calendar for the item you are adding.
[crarko adds: I had to play around a bit in Automator to figure out what to do here, but it looks like creating a Calendar Alarm action will do the trick.]
With the latest versions of Preview.app (since OS X v10.8, I believe) which save versions of files rather than the old standard Save dialogues, it took me a while to figure out how to Save As... and encrypt a PDF file with a password.
While clicking on the File menu, press the Option key, which causes the Duplicate menu item to become Save As... instead. Then you'll see the familiar Save As.. sheet with the Encrypt checkbox. Enabling this allows you to set a password for the PDF file.
[crarko adds: I tested this, and it works as described. This may be common knowledge, but serves as another example of why it's often helpful to explore the modifier keys in an application before getting too frustrated.]
Instead of buying expensive vector drawing software, Keynote can be used as a simple but great vector drawing tool. The problem is you can only export entire slides as images from the File menu and there will be a white background. There is no obvious way of exporting just the vector art to an image file. Fortunately there is a solution. Use the following method to extract just your vector art creation to a .png file with alpha transparency.
Create a vector-based drawing.
Drag and select the entire vector drawing you are going to export.
Choose Edit » Copy from the menus.
Open Preview.app.
In Preview choose File » New from Clipboard.
The vector drawing will then appear with a transparent background, ready to be exported as a PNG.
[crarko adds: It seems like a quick, cheap way to go the job. Probably not for all situations.]
OS X and Growl notifications are AppleScriptable and great for displaying user-defined text, but not so hot for user-defined images. OS X can only display the sending application's icon, and Growl no longer accepts raw iTunes artwork image data or regular image files.
Growl's iTunes limitation can be overcome by converting an iTunes track's raw artwork image data into a TIFF file that can be read and passed to Growl:
tell application "iTunes" to set _rawData to raw data of artwork 1 of current track
set _startupDisk to (path to startup disk as text)
set _tempTiffFile to (open for access file (_startupDisk & "tmp:iTunesTiffArtwork.tiff") with write permission)
try
write _rawData to _tempTiffFile starting at 0
close access _tempTiffFile
on error a number b
close access _tempTiffFile
end try
-- Use 'sips' to make it a TIFF file:
do shell script "sips --setProperty format tiff /tmp/iTunesTiffArtwork.tiff"
set _tempTiffFile to open for access file (_startupDisk & "tmp:iTunesTiffArtwork.tiff")
try
set _readImage to read _tempTiffFile as "TIFF"
close access _tempTiffFile
on error a number b
close access _tempTiffFile
end try
tell application id "com.Growl.GrowlHelperApp"
set the allNotificationsList to {"AppleScript Notification", "Another AppleScript Notification"}
set the enabledNotificationsList to {"AppleScript Notification"}
register as application "Growl AppleScript Sample" all notifications allNotificationsList ¬
default notifications enabledNotificationsList icon of application "iTunes"
notify with name "AppleScript Notification" title ¬
"Current Track's Artwork" description "Converted to a TIFF file in '/tmp'" ¬
application name "Growl AppleScript Sample" image _readImage with sticky
end tell
The above script should display the current track's artwork in a Growl notification. Here's a script that displays iTunes artwork and a lot of other useful track information. It looks like this.
[crarko adds: I haven't tested this one. I did verify that the scripts compile, and that the downloadable script is safe. At the moment, I don't have the ability to archive that script here for FTP, but I'm working on that.]
Unlike with the Mac, in iOS there is no way to select text and search for it on Google in a new tab. There is, however, a workaround that brings about the same result on iOS.
Select text in Safari to bring up the context menu on iOS and then tap on Define. This brings up the dictionary panel for the selected text. If you've selected a word that is not in the dictionary, or multiple words or usually even if the word is in the dictionary, on the bottom right there is Search Web. Tapping that opens a new tab and searches for the selected text. This is equivalent to selecting text, copying, opening new tab, pasting the text in omnibar.
Things to note:
Even though the hint mentions Google, this uses the default search engine set in the Safari preferences so your preference is respected.
This is not specific to Safari. Any app that allows selection of text, and brings up the contextual menu will work with this by opening Safari.
[crarko adds: I tested this, and it works as described. I didn't try out all the combinations, though.]
This procedure shows you how to prevent Time Machine from using all available free space on a local volume by backing up to a sparse disk image bundle stored on a shared folder on a local volume.
Time machine uses a feature of the HFS+ filesystem that was introduced in Mac OS X 10.5 (Leopard) called 'directory hard links.' Like file hard links, a directory that is hard linked to another directory is not actually a distinct directory, but is instead a pointer to the original directory. Time Machine uses these directory hard links to reduce duplication and save space by making references to entire directory trees whose contained files have not been modified.
To properly copy or duplicate a Time Machine backup, these directory hard links must be preserved. Unfortunately, directory hard links are proprietary to Apple. Apple discourages their casual use by third party developers because, if used incorrectly, they could create recursive directory structures that would render a volume effectively useless. This introduces obstacles to anyone wishing to make copies of a Time Machine volume.
Time Machine may be configured to back up to a local volume that is connected directly to a Mac (either internally, or externally with a Firewire or USB connection), where it creates a Backups.backupdb folder at the root of the volume, storing all of the backup data in the volume's native file system using the previously mentioned directory hard links. Unfortunately, Time Machine will not back up to a local directory, but instead requires an entire volume be dedicated to backups. Further, Time Machine will utilize as much free space as possible on the volume. To prevent Time Machine from filling a disk, you could partition the disk to create multiple volumes, dedicating only one of the partitions to Time Machine backups. Yet you would still have no easy way to copy the backup data off the partition, due to the directory hard links.
Time Machine may also be configured to back up to volume that exists on a remote Mac and is mounted locally as a shared network volume. In this configuration, Time Machine creates a sparse disk image bundle which contains its own internal file system where backup data is stored. Since the backup data (with directory hard links) is stored within a self-contained disk image, one can easily make a copy of the entire disk image without worrying about effecting the directory hard links contained within the disk image. For this reason, backing up to a shared volume could be preferable for those who don't want to dedicate an entire volume to backups, or who want to be able to easily make file system level copies of the backup data for added security.