Why I won't use anything but Keychain

Since I got my laptop, I no longer need to use either the same password for everything, or the same ‘head’, and contextual ‘tails’ for each site. (For instance, a head of ‘foobar’ and a tail like ‘macosxhints’ results in a password of ‘foobarmacosxhints’ for the MacOS X Hints website).

Instead, I can rest assured that I can type any random sequence of characters into the password box, and have the keychain remember them. It has the side effect that I don’t use Firefox, only Safari (or Camino, which also accesses the Keychain, like a good OS X application should).

It gets even better when you use something like QuickPass, which lives in the menu bar, and every time you need a password, it generates a whole stack of random ones for you:


Note, that since I didn’t actually choose any of these, they aren’t used for any of my passwords. Selecting one puts it into the clipboard, which is the only real security issue. If someone else got access to my clipboard, then they could see my password.

Since no one else gets hold of my laptop at all, then I’m fairly secure.

I will not use any other password storage system, since not only does it save my web passwords, but passwords for dozens of other applications too. Ecto stores it’s passwords for blogs there. Airport Utility stores passwords for the wireless routers I manage, as well as WPA keys for networks I use. These passwords are all secured (with the keychain protected by my login password), and yet I don’t need to copy-paste them, since the application(s) that need access are granted access on a need-to-know basis by the system.

I think this is one of the best features of the OS. No longer do I need to remember passwords, nor store them in a text file. As long as the browser I use accesses keychain, then I have all of my web passwords available in each browser.

So, the idea of Gorilla Password doesn’t appeal to me at all. Not least that I don’t have to use other machines (other than one unix system, which I only use at Uni, and then only store one password on, to access the Uni learning web-app), but the fact it doesn’t use system-provided services. That’s one of the main issues of cross-platforminess.

XCode 3.1 and "Availability"

You can’t have a class with the name “Availability” in a project built with XCode 3.1.

You can with XCode 3.0, but CFNetwork, and I assume a heap of other classes use a class called “Availability” to define if objects are available in a particular version of the OS.

Mac OS X Internals: A Note on Automounting MacFUSE File Systems

A Note on Automounting MacFUSE File Systems

Mac OS X, like many other Unix-like operating systems, includes the “autofs” file system layer that make automatic on-demand mounting of remote resources possible. See the man page for automount(8) for more details.

From Mac OS X Internals: The Blog » Blog Archive » A Note on Automounting MacFUSE File Systems

Awesome. This might replace the need for ExpanDrive. And be even more automatic.

NSSegmentedControl selecting NSTabView

I discovered, quite by accident the other day, that it is possible to use an NSSegmentedControl to control which Tab of an NSTabView is displayed. Here is how to do it.

First of all, it is much easier to change the selected tab if you leave the tabs on to begin with. So, I would suggest building all of the NSTabView’s tabs first. I’ve done five, each with a different control.

View1.png View2.png

Now, you can alter the NSTabView so it doesn’t show the Tabs:

View1Tabless.png TabViewInspector.png

You can now add the NSSegmentedControl, and style it as you wish. I really like the Small Square styling.


Now to hook up the connection. There is an outlet on NSTabView called takeSelectedTabViewFromSender:, which can be hooked up to an NSSegmentedControl.


You will need to ensure that your initially selected cell and view are the same index, which prohibits having it save the value between runs (or you might be able to, if you know more than me).

Missing NSButton Type

I’m trying to make a control that allows me to indicate when a record in my application is synced with the AddressBook person of the same name - I have made it so that I can only enable syncing when a person with the exact same name exists in both places, but to indicate it, I want to use a button that shows a pressed-in state, but also alters the image.

I want the image to be black-and-white by default, but when pressed in, it becomes coloured.

Apparently, this isn’t possible. You can either have a button which changes it’s image, or displays a pressed in look.

Might have to subclass it.

Update: You can subclass it, but there’s no need to. Just give yourself a reference to it (myButton, for instance), and then:

1[[myButton cell] setShowsStateBy:NSPushInCell | NSCellLightsByContents | NSCellLightsByBackground];

From the Xcode-Users list...

How do you pronounce XIB?

I’d say it as ZIB. You know, like xylophone?

1Password Licenses

I have a couple of licenses for 1Password to give away. Leave a comment with your name and email if you are interested.

Mac only!

Update: all have been given away. Got quite a few responses in Whirlpool, before my thread was shut down.

Navicat now does Oracle.

According to an item that just popped into my feed, there is now a version of Navicat that connects to Oracle DBs.

Cool. I like Navicat.

iSync Menu Item

For some reason, iSync appears in the menu bar after a reboot sometimes, even though I have unchecked “Show status in menu bar”.

Picture 1.png

When I reload iSync, the setting has reverted back to being checked. This doesn’t seem to happen all of the time, just sometimes.

Automatic Updates?

I’m about to create a small application that uses Sparkle to do updates - not to publish anything, but just to see how it works, and make sure I can. I read a couple of things before beginning. One was an argument against Sparkle, or rather, an argument for an Independent Software Update…

ISU would allow all applications to be upgraded at once

From Stoneship > Thoughts on Sparkle

Now, I have quite a few applications on my machine that I don’t use very often. Even something like Acorn, which I use maybe once a week, right down to stacks of apps I almost never use.

Some of these get updated quite often. I don’t really care to download every update on a regularly updated application, when I’m probably going to have multiple updates before I use the application again. So, I quite like that it checks for updates about as often as I use it.

Which means applications like Changes.app, which I use virtually every day, and ExpanDrive, which I use virtually every hour, are kept up to date, whilst Acorn, which I just used a couple of minutes ago for the first time for ages, are only updated infrequently.

This can be taken with a grain of salt - I don’t know much about Sparkle other than it is pretty cool.