I haven’t seen this mentioned anywhere at all, but iChat now does something with /me:

(Thanks for the excellent demo, mx.)
I haven’t seen this mentioned anywhere at all, but iChat now does something with /me:

(Thanks for the excellent demo, mx.)
Anil Dash posts a criticism about Mac OS X 10.5’s blue screen of death icon to represent PCs. He’s right, it is smug, but that isn’t the interesting part of the post.
He explains:
The disdain here isn’t for the unfortunate unwashed who have to suffer through Windows because they’re so clueless — it’s a snide shot at the other computers you own, or of your family’s other machines around the house, or of the computers of the peers you work with.
I’m with you here; I could see how someone could feel this way. I don’t; at the icon size I usually use, it’s just a blue blur. But still, I can imagine someone might feel that way. But then Anil loses me:
(Thanks to Joerg for the image.)
Why? Because if Anil couldn’t get the image on his own, it’s because he’s either not running Leopard or not running SMB servers. Either way, these aren’t his feelings, because he hasn’t actually had the experience of seeing the icon representing the computers he described. This posting isn’t based on him seeing it and being so offended by it that he had to post. No, it’s based on him going out and looking for trouble.
So who does feel that deeply, personally insulted and offended by the icon?
I hadn’t seen anything about this before:
Xcode’s documentation is regularly updated using RSS downloads so you always have the latest information.
(Source: developer.apple.com/tools.)
This is awesome. I can’t count how many times I’ve ignored documentation updates because the update process is complicated enough to be yak shaving.
This is something that made my skin crawl.

What’s the significance? This is pretty clear evidence that something was trying to create a file in Application Support and couldn’t quite deal with the spaces. Worse, I have no idea which program it was. So apparently I have a ticking time bomb on my system, some program eagerly rubbing its hands and waiting to write over or delete the wrong thing because it is using the command line somehow and can’t escape spaces.
I hope 10.6 adds a “who created this file?” command.
There’s a lot of things I like about Leopard, and I plan on writing about them soon. However, I found it easier to write about the things I don’t like. This is probably mostly because there are so few of them.
Apple hasn’t deigned to include search functions in their Leopard Dev Center.
Without an ADC account, you won’t be able to log in. And without logging in, you’ll see only the light version of the site. But the only difference between the light version of the site and the one developers see is that developers get functioning hyperlinks.
I’ve written before about how much I dislike Safari 2’s find. The Safari 3 beta really improved things by doing a much better job of highlighting matches. Actually, it was really good:

Safari 3 in Leopard still does a better job of highlighting than Safari 2, but it introduces a new problem. The highlight now looks like a mere background color change, and the fact that it actually blocks out some of the surrounding text is no longer obvious.

Before, finding “mac” in “machine” produced mac with a strong border around it, obviously blocking out something. Now, it produces something that looks like “mac ine.” Yuck.
If there’s going to be a border there, it needs to be obvious. If Apple wants subtle, I’d suggest removing the border entirely and doing a gradual alpha blend like the System Preferences spotlight. The important part is really the brightness change.
However, it’s worth noting: Find shouldn’t be subtle. It should be as in-your-face as possible about what it’s found and where exactly it is. (And I can’t quite describe how, but the animation seems to have been made more subtle, too.)
Overall? Not much better than Safari 2.
I used the default packages and install options because I haven’t seen my Office 2004 disc around in a while. The install was slow (I let it check the DVD), but required no intervention.
I thought Leopard’s menu bar was supposed to be ugly! I guess they’ve toned it down, because this looks pretty good to me. I’m not sold on the dock, but that’s okay: I know it can be turned off.
Actually, if I had to describe it in three words, I’d say “System 7 modernized.” That’s a good thing. I thought Mac OS 8 was quite a step backwards, and Mac OS X has taken small but repeated steps back to the classic Mac look. Tiger is clean, with light backgrounds to its windows and a smooth gradient effect. Sheets are gorgeous.
My biggest complaint is that the window gradient is a little severe, especially on windows without toolbars. The dark end of the gradient is a little too dark.
Other random thoughts:
I’ll post more thoughts after I have some time to really explore this.
An assertion is a check on a condition that you don’t expect to ever occur. These checks slow down the program, so they’re usually excluded from release builds. They’re often used in functions to check the parameters, entry and exit conditions.
For instance, if you have your own sorted list class1, you might do something like assert(list_in_order()) as an entry condition on the search (because the list assumes it’s already sorted, and this should never be untrue), and assert(list_in_order()) as an exit condition on the insert (because the list is trying to guarantee it will always be sorted).
Many months ago I thought of a simple assertion I could put in my application. I was redesigning a UI, and it had a progress bar. I briefly thought about adding a check to catch if the progress bar ever rolled backwards. But I decided against it, because it was so obviously impossible for it to occur. The reason? I’d have to add a miniscule amount of logic to actually keep track of the last progress bar value.
Yesterday we found a bug where the progress bar in our application rolled backwards. I fixed it, checked it in, and briefly remembered the assertion idea. “I wish I’d done that,” I thought to myself, “I would have found this a month ago!” I posted the next beta of the product and thought nothing more of it.
Today I found another case where the progress bar rolls backwards.
You know, that’s probably all I’m going to find. But this time I’ve put in the assertion. And I’m turning over a new leaf: from now on, I’ll really think about my entry and exit conditions and other flow assumptions, and make sure the code to verifies them. I was in that habit a few years ago in Pascal, but never really brought it over to C/C++.
This one doesn’t need further explanation, does it?