We respect its storied history, and value the contributions of its many readers, but we can no longer support it at the level it deserves. There’s a wealth of great information here that many will find useful, so we've elected to maintain it in a read-only form. Thanks for your many years of attention and everything you've done to make the site such a valuable resource.
I sometimes find the Java setup on my various Apple devices to be a mystery.
Recently, I was trying to get a Java applet to run in the same way on 2 iMacs and my MacBook Air. The applet is a simple vpn client from Juniper that lets me access a Citrix Desktop from any Mac that I can install the Citrix receiver client on so I can work on 'Company stuff' from a large screen iMac when I'm sat at home or from my MacBook when I'm on the road (it works fine over 3/4G).
The first thing is that you have to do some configuring of both Java and Safari to get the applet to run at all.
Once that was all done, I could log in from all my Macs, fire up the applet and establish a secure connection.
On two of the Macs, as soon as I fired up the Citrix app, the Java vpn window would show 'error'. The console showed a Java crash. But on the third Mac, everything worked fine. I made sure that the Safari and Java preferences were set the same on each machine but still no joy. Then I remembered that I had done some Java development in the past and installed various jdks from Oracle so I ran:
in Terminal on each machine. I keep everything up to date via the Java control panel (currently 1.7xx soon to be 1.8) so was surprised to see this:
java version "1.6.0_65"
That was on the working Mac. Then I remembered the difference between 'System' Java, Java plugins, and Java development kits. Simply put, you can have multiple versions of Java in different places. What was happening on the not-working Macs was that the jdk versions were being used, and the Juniper vpn client won't work with them.
To fix things for the moment I simply removed the jdk folders.
sudo rm -fr /Library/Java/JavaVirtualMachines/*
And then checked that the reported version of Java was 1.6 on each Mac. Web applets still use the up to date, secure version 1.7 plugin.
[crarko adds: I believe Oracle has said that eventually Java will no longer support applets at all, on any platform.]
A few weeks ago, a number of people started reporting having trouble with Siri. Phrases like 'Call my wife' or 'Tell my dad' stopped working. Siri knew who those people were but proclaimed 'Uh oh, I don't have a phone number for Jane Isa Doe." and beneath, there's a message: "Content Not Available."
I debugged this for over an hour and on a hunch, found a workaround that seems to work for nearly everyone who has tried it. All you have to do is delete the middle name of the person in *your* contact card where it is stored as a relationship.
I'm not sure why that works; it shouldn't, but it does. That's why I call it a workaround instead of a fix. I figure Apple is mucking around with Siri and perhaps caused a bug or some sort of corruption.
I'd be curious to know from MacOSXHints users whether they are experiencing this problem in the first place and if the workaround works for you, too. I'd also like to understand why this works and why the problem even exists. I had tried a ton of suggested fixes for the issue before stumbling upon this work around.
You can read more about it in my blog entry. In it, I link to the Apple discussion forums at the bottom, where people have been saying that this workaround fixes the issue for them.
[crarko adds: I find I already don't have middle names in any of my Contacts, so I've not seen this. I wonder if something is going on at Apple's end, where the Siri processing gets done. Perhaps in preparation for iOS 8.]
As of August 29, 2014, Google has decided to intentionally break old browsers. They say it's not a bug, it's by design here, even though Google's support page says it accepts Safari 4 as a fully supported browser.
If you want Google searches to go back to the modern style, you need to change your User-Agent string. For Safari, enable the Develop Window and use an option in there that works. Internet Explorer 9 (Windows) works, for example.
[crarko adds: I don't have an older system active at the moment to try this. It's inevitable that older software becomes obsolete, the same way older hardware does. I think the actual hint here is a reminder that if a site misbehaves, changing the user agent can be an effective troubleshooting tool.]
Usually I want to open Gmail in Chrome and URLs pointing to my development server in Firefox. For everything else I use Safari.
There is this nifty free app called LinCastor that enables you to register your own handler for an URL. Although it had beed designed to register your own non-standard URL schemes, it can intercept standard http and https as well.
In LinCastor (which you need to double-click twice to fully open for editing):
Add a new URL scheme
Choose AppleScript handler
Paste the following code in, (replacing the stub code at the bottom):
if (|URL| of args starts with "https://mail.google.") then
tell application "Google Chrome"
open location |URL| of args
else if (|URL| of args starts with "http://") then
tell application "Firefox"
open location |URL| of args
tell application "Safari"
open location |URL| of args
Obviously you should customize the code to suite your own specific needs. You can validate the script right in LinCastor before saving/activating it.
I use the same mechanism to launch 'site specific browsers apps' created by Fluid. For example I have a JIRA app wrapper which looks for anything staring with http://issues.
[crarko adds: I tested this, and it works as described. LinCastor requires OS X 10.8 or later. I tried it in 10.10 beta 2, and it also worked there. There's not much documentation for it, so tinker around a bit to get the result you want.]
One of the primary objectives was to document a setup where the VPN-connected iOS device routes all the device's traffic through our network – i.e.:
All the iOS device's traffic goes through our network and is encrypted while doing so -- so the cellular data and WiFi parts of the device's traffic can't be monitored.
All unencrypted (and normall SSL browsing, etc.) traffic emanates only from our LAN through our network's (land-based/hard-wired) router.
This gives our mobile devices the benefit of some site filters provided by our firewall appliance (another 'how to' I have planned).
A major objective of the on demand aspect of the VPN capability is to have the a VPN connection automatically created whenever the iOS device is either only on a cellular network or on a WiFi network that's not ours (i.e., so the above requirement is automatically fulfilled).
Both the IPSec and OpenVPN configurations include setups using only user+password/account-based authentication as well as certificate-based authentication.
Although the iOS device instructions are specific to an iPhone, they also work for other iOS devices -- the user just has to find the equivalent items for the VPN settings.
Although the server side of the instructions is specific to the pfSense open source router, the setup configuration will apply to many other routers – the user will simply have to find the equivalent settings for that router/VPN appliance.
For anyone interested in a good router, read my Comments About pfSense for a strong but conditional recommendation.
[crarko adds: An ambitious project, and hopefully it should work with iOS 8 as well.]
Mousecape is a new open source Mac App which is available on GitHub to finally allow you to create and use your own mouse cursors, or 'capes' as the app calls them.
Once you download the app, there is a remastered version of the Svanslös cursor set created by Max Rudberg which is retina-screen ready.
Mousecape is as non-instrusive as possible, never asking you for your password for anything. It works by using private APIs created by Apple to register system cursors so it has no performance hit at all.
Capes, or cursor sets, are applied for as long as display state doesn't change, meaning until you change resolution, monitors, sleep your computer, reboot or logout. However, inside of the application is a helper application that will detect when the cape is reset and will apply it again.
Mousecape is available for free, open source and with no obligations. Users can create and share their own capes that are animated and bring new flair to the operating system.
Many people continue to use iWork 09 apps, because they contain features missing in the newer versions. However, having the older apps on your system mean a constant nagging from Apple to update to the newer versions. If you do download the newer versions, then it is impossible to make the older apps the default for your documents. The old Get Info » Change All trick doesn't work.
Here's what to do to remedy that.
First, make a backup. Then install the latest iWork apps. Your older versions get moved to a subfolder called iWork 09. That's why you have the backup.
Next, move the NEW apps to an external disk or other partition. You can then restore the 09 apps to the /Applications folder. Or leave them in the subfolder if you prefer.
Having the apps on different volume from the system disk lowers their priority, so the 09 apps in your /Applications folder remain the defaults for your documents. What is more, any further updates will update the newer versions on your external drive, leaving your 09 apps untouched.
[crarko adds: I rather wish I had done something like this before updating. Maybe rolling back tp the 09 suite from Time Machine and then following this procedure will work.]
This is my take/an update on las_vegas' hint I found here awhile back for running OS updates without creating a user on a Mac. It is applicable to any system 10.5 and up.
This can be helpful if you have a Time Machine backup that's on a newer OS than your install media, or if you're selling/donating your Mac as it saves the new user having to update things.
First things first, wipe your drive (and zero it if you don't trust the end user of this computer) and reinstall your desired OS.
Once your OS is installed, boot to your install media or the Recovery Partition if available. Open Terminal from the Utilities option in the menubar. In the new Terminal window, type the following:
This will bring up the Password Reset utility. Click Macintosh HD or whatever your HDD is called. You'll notice the only user account that's available is root. Enter a password you'd like to use/remember, though it doesn't really matter as we'll be disabling root and removing this password later. Click save, close the password reset utility and go back to working in Terminal. Now you'll want to enter the following command:
This will create the file on Macintosh HD that tells the computer it has completed the setup so you're able to skip the process and login with the root account we just enabled.
Close Terminal and reboot the computer into the Macintosh HD. You should be greeted by the login screen with an option that says Other. Click Other, enter root as the username and the password you chose to login.
Proceed with Software Updates and any optional software you'd like to install, making sure to install for All Users if prompted. Also keep in mind that any preference changes you make will only apply to the root user, so there's no sense in wasting any time customizing the look, feel and general operation of the computer.
After all software is installed, open up Terminal once more. Enter the following code:
This will remove the file we originally created and re-enable the setup assistant to help create the new/first user on the Mac.
Next, open up Directory Utility. This can be found in Users & Groups in System Preferences. Click Login Options, then click Join... by Network Account Server. You should then see the option Open Directory Utility.
Once in Directory Utility, click Edit in the menubar and then select Disable root user. As a note, this can be done while logged in as root. Close Directory Utility and restart the computer, booting back into to your install media or Recovery Partition. Open up Terminal one last time and enter:
Once the Password Reset utility has appeared, click the root user once more. Instead of changing the password, however, simply click the Reset button to reset Home Folder ACLs.
Reboot your Mac, confirm you see the Setup Assistant and you're ready to move onto restoring your backup or selling your computer!
I've become somewhat obsessed with the faces feature in iPhoto. Currently, I have about 7000 unidentified faces in my library. I knock out a few hundred here and there. It's oddly satisfying, but I go to a lot of large events - events where a lot of people look familiar because they are regulars, but I don't know them. This makes finding faces rather cumbersome, especially since the method of ignoring faces requires the mouse. Everything else can be done with the keyboard. Plus, doesn't track repeatedly ignored faces, so the same faces keep showing up. Well, I've discovered a way to work around these cumbersome limitations.
Doing everything with the keyboard makes things go a lot faster. If you're using the Find Faces feature and skip faces you don't know (because you don't want to pause to use the mouse), the next time you click on Find Faces, you'll be presented with those same unknown faces over and over again. They build up and always get presented in the same order, so you end up spending a lot of time skipping them before you get to new faces.
To avoid this, just name all these unknown faces 'Unknown' (or some other word with an uncommon starting letter). Then all you have to do to ignore a face (once you've tabbed to it) is type a 'u.' After you've labeled a bunch, open the 'Unknown' face album and bulk-confirm all the unwanted faces. Now the next time you use Find Faces, you'll get right to the new faces.
A few other time-saving tips:
You can create a smart album containing unnamed faces, open the album and hit the info button, then start tabbing and naming. The photos with unnamed faces will disappear as you update them. This allows you to have a good idea of your progress.
Not naming a face when the person's name is on the tip of your tongue, can make them rather hard to return to when their name pops into your head. I find it useful to name them something like '?Alan's Wife' or some other memorable note. All such names will be at the top of your Faces album listing (because of the question mark), and you can change the name of all occurrences simply by renaming the album.
Let auto-complete do most of the work. Most times, the first few letters are all you have to type before iPhoto fills in the rest of the name. Note, iPhoto uses Facebook, your contacts, and your previously named faces for auto-fill, but it skips contacts' middle names and does not include nicknames.
When confirming faces, if you come across a different face that you know, you can right/control-click and name it. Plus, sometimes all it takes to remember a name is the context of the photo, but the Find Faces feature does not let you zoom-out to see the whole image. Yet, when confirming faces, you can unzoom/zoom with the switch at the top-right of the window. I find that the confirm-faces interface is a faster way to find new faces than the Find Faces feature and I was methodically going through each face album to find new faces this way before I discovered the smart album trick mentioned above.
[crarko adds: Faces is not a feature I use very much, but this might get me to start. By the way, sorry about the slow July. I've been on vacation a bit, and the hint queue is pretty bare at the moment. I'll be putting up a couple of polls related to Yosemite as we await the public beta. Things will probably remain slow until that release.]