Traffic in Santa Clara
January 14th, 2008This is cool. Scary, but cool.
This is cool. Scary, but cool.
So, I go to this page which determines your life expectancy, based on a bunch of questions that may or may not actually have much to do with life expectancy, and I get this result:

Given when I was born, I’m approximately 15,100 days old, which means sometime in the next couple months I’ll reach the halfway point.
And, on that topic, long ago I bought one of these posters from the guy at Apple who originally designed it, and I’ve got it hanging on the wall in my stairwell so that I can see it everyday as I leave. It’s essentially a 100 year calendar, starting in January, 1950 and ending in December, 2049, and when I bought it I pretty much figured that every day I’d ever be alive was a tiny number on the calendar as a tiny number. A life expectency of 83 years means I should make it to 2049.
Good. I’d hate to have to buy another 100 year calendar then.
Now that Leopard has shipped, I suppose I can finally point to one thing that I had something to do with in Leopard. If you go to the Leopard Features Page and scroll down to the Safari section, you’ll see that it has 13 features. This one

was based on some work I did about two years ago in Safari, because I wanted to be able to re-find stuff I’d seen on the web recently so I could show it to folks, but I’d forgotten exactly where I saw it. I could remember what it was, just not where.
Here’s an example. Last week I read a recommendation for Bananas Foster that I wanted to try to make sometime at home. Now, a week or so later, I’m at home, and want to do it, but I don’t remember where I found this particular recipe. I could go back to Google and type “bananas foster” in again, and then hope that it finds the same one I found last week, but I came across that one while reading a webpage linked off a blog that someone emailed me, and I don’t remember any of the details, so the odds of Google finding that same one are pretty low. I What can I do?
Well, my computer knows where I’ve been lately — it keeps the history of all of the urls. But, that isn’t terribly helpful, since I don’t remember what site it was on and I don’t pay attention to page titles. I suppose I could flit thru the history of everywhere I was in the last week, but that’s a couple hundred pages and it’s not fun to do.
Why can’t my computer keep track of the stuff on the pages that I go to, so I can search that later? Well, Safari in Leopard does that, and it lets you do full text searches of your browsing history to help narrow down what you’ve seen before.
So, how do you use it? Easy. In Safari, go to the History window by selecting “Show all history” from the History menu. Now, in the upper right of the window is a search box type some text from the webpage you’re trying to find — “bananas foster”, in my case. Safari will now show you all the pages you’ve been to recently that have that text on them.
In my case, the recipe I was looking for was this one. I’ve made them; they are quite yummy although I always seem to have too much syrup for the quantity of bananas.
I also contributed in some way to “Full Unicode Support in AppleScript”, fixed some bugs and performance tweaks in Mail, provided some of the support that the new Parental Controls needed to enforce limits of certain kinds, made it possible for application launches to be halted while the system warns you that the app was downloaded and verifies that you do want to run it, provided some of the underpinnings for Spaces to work, updated a bunch of things to be fully 64 bit capable, and fixed a bunch of bugs in lots of places.
and I should blame Leopard, which Apple recently announced the ship date for and so which I guess I can now say has been consuming most of my time for much of the summer. Leopard ships on 10/26, so it’s pretty clear that we’re done with it by now and busily making DVDs and boxes of Leopard to ship out as fast as we can.
My main contribution to Leopard isn’t really visible to end users — I wrote a component of the OS which is part of LaunchServices, and which creates, maintains, and updates the notions of “running” applications on the system. When a user launches an application, I’m the thing that actually figures out what bits on disk should be run, and ask a system service called launchd to run in, and then tell the rest of the system that an application launched ( which the Dock uses to start the icon bouncing ), and then later tells everyone that the app is running. If a process wants to know what apps are running, well, I’m the thing which keeps track of all of that and provides the answers, hopefully in an efficient and correct way. When you hide or show an application, I’m the thing which actually does that. When a user hits command-tab to bring up the application list, I’m the thing that provided that list, and when a user does something to bring an application forward, I’m the guy who tells the application that it should come forward ( and the application which was in front that it isn’t anymore ), etc. It’s a necessary but kind of thankless bit of the os.
The weird thing about working on an operating system is knowing what’s actually cool about it, because when I’m working on it I get really head-down, and it’s hard to see the new features from inside the forest. A couple weeks ago we had a meeting where they showed the video that will play in the Apple stores demoing Leopard, and there were features in there that were new to me, and I’ve been using Leopard of various flavors for the past two years.
Cool features that I do like include
I’ll probably come back and add stuff to this list as it occurs to me.
I work on Mac OS X, and long ago it was announced that Mac OS X 10.5, codename Leopard, would be shipping in October, so it’s no secret that the process of wrapping up the release has been going on for a while. It’s an interesting time for an engineer, at least for me at Apple, because it generally means that I’m hip deep in bugs and the goal every day is to make them go away as quickly as possible. Sometimes that means fixing them, because the bug represents something that is actually wrong with my code which I need to address. Sometimes the bug I have isn’t really a bug at all in my code, but a problem elsewhere which I can’t do anything to address. And, sometimes it’s a problem in whatever code is calling me, usually written by someone outside Apple, but which either behaved correctly in previous releases or which behaved differently in previous releases, and I have to patch around it in my code because even though the bug is in that code over there, well, it isn’t going to get changed and we don’t want to ship an os release which breaks a lot of things, because people hate that.
So, I end up doing lots of things like “If an application A launches another application B, and if it then tells the system to bring that application forward, and if that application what was launched is running but isn’t yet far enough along in its launch to be brought forward, then save aside the knowledge that B should be brought forward and let application A believe that bringing it forward worked, and later, when application B does get far enough along in its launch process, bring it forward then, unless something else has happened between back then and now which changed the application ordering. Do all that so that an app written and released back in 2001 keeps working, because a fair number of folks still use that app. And do all that even though application B would have always been brought forward after it finished launching, so there’s never been a need for application A to do so, but it did, and it always use to work and so it needs to continue to work.”
For the last, well, while, Leopard has been kicking me to the ground quite regularly. Steve promised it would ship in October, and that means that the closer we get to October the more frantic everyone is to get every lastissue either addressed or punted.
Every time I think I’ve got my bugs under control a bunch of new ones arrive. Argh!
OK. So, for the last day or so, it seems I can’t turn on CNN without seeing the “human interest” story about the cat that goes and sits on the beds of patients in a nursing home who are very near death.

Then, they go on and on about how accurate the cat is — capsule summary: If you’re a patient in this nursing home, and this cat comes to sit with you, make sure your will is up to date. And speculation about how the cat does it — is he smelling something? Maybe a change in mood or behavior? Maybe he’s picking something up from the nurses because the patient’s condition is deteriorating?
Then, near the end they speculate about why Oscar might do this. “Cats are social animals; they evolved with us.” “To him, everyone in than nursing home is part of his family”, etc.
No. There’s exactly one reason Oscar is going in there to sleep with them. He wants to eat their souls, which ( we all know ) exit through our noses at the moment of death.
I mean, my cat would eat my soul if he could find it.
Original story here, but there’s not much more than you see above.
I applied to be a planning commissioner last year, but wasn’t selected. When an opening came up again this June, I threw my name into the ring again, and this time they picked me. Yea!
Wish me luck. My first meeting will be August 22nd, since I’ll be out of town for the meeting on July 25th.
Here’s a spam I received today. It ended up in my spam folder, so it’s not like it really impacted me, but I was checking to make sure that an email I was expecting hadn’t gotten trapped, and in the process came across this one.
On the surface, it seems like an email from some health department, warning about the risks of buying drugs online where there may not be sufficient safeguards:
Dear valued member.
This letter is a part of the official program initiated by the United American Health Department – please, read it to the end if you regularly buy drugs on the Web.
Be careful when choosing where to buy your meds from – try to cling to pharmacies that have already made a good name for themselves, such as USDrugs. Always make sure that your online drugstore is a licensed one.
Please, don’t be indifferent to the questions of your own health – choose qualitative meds!
—
If you have any more questions please contact to me.
Please include all previous messages in your email’s.
——————————————-
Thank you and best regards
Peter Lake
Email: ####stocknews@topless-amateurs.com
WWW: http://<randomletters>..bestsfd.hk/?<randomletters>
But, any moron can tell that it’s not real. For example, “Dear valued member” should be followed by a comma, or maybe a colon, but never a period. The first sentence should be two, and there should be a period after “Department”, and “Please” should begin a second sentence.
No government office would abbreviate “medicines” to “meds”; and “try to cling” sounds like a bad translation into English of something. “USDrugs” is a url in the email, linked to a random server in Hong Kong — “http://<randomletters>..bestsfd.hk/?<randomletters>”.
And, “qualitative meds”? What does that even mean? They’re trying to imply “quality”, but what they’ve said is “meds which can be ranked by their quality”, not that the meds have any quality. As long as the medicines they’re selling can be ranked at all ( even very poorly ) they’re “qualitative meds”.
And, the kicker. The return address is at topless-amateurs.com. I can’t tell you how pleased it makes me that the nice folks in the topless amateurs industry are taking valuable time out of their days, typically filled with the tedious task of videotaping the topless for our enjoyment, to send out warnings about dubious online pharmacies which themselves recommend dubious online pharmacies.
When I was young, due to allergies, I couldn’t have a dog or cat. I don’t think we would have gotten a cat anyway, since I suspect my parents viewed cats more as pests than as pets, but we might have had a dog if I hadn’t been fairly allergic to them.
So, we had some pet goldfish, which died. I found a garter snake once; it freaked my mother out and so I didn’t get to keep it. Around 4th grade, I got a hamster as a pet — the first one a girl we named “Princess” ( hey, I was dumb as a child ). She lived about two or three years; after that was another one whose name I’ve forgotten, and my brother had a couple as well. They always died within a couple years, so if you’ve got kids I’m not sure they make great pets for kids since you have to pretty quickly explain mortality and loss, which isn’t terribly easy. In high school I had a hamster which wasn’t terribly nice; we went on a ski trip ( and I left it plenty of food ). When we got back, the hamster was ok, but that night it was really noisy in its cage with the biting and digging, and the next morning it was dead. It also didn’t have any food left in its cage, and to this day I feel bad because I probably should have been more careful to check on him the night before.
My last hamster I had as a kid was named Twinkles, or Twinkie ( hey, I was dumb as an adolescent too ). Twinkie was quite smart; I’d leave her cage unlocked, and at night she’d open the door, go out and explore the house ( mostly my room, since I’d try to keep the door closed ), then let herself back in each morning. On the occasions when she’d get out of my bedroom, after exploring the house for a while, she’d always come find us by going to the family room at the other end of the house and standing in the middle of the room.
I’m reminded of this because cuteoverload.com often has cute hamster pictures on it, and I’m reminded of this because I saw this cute hamster picture this morning. My hamsters were never smart enough to play with a GameBoy DS.