Chip's Quips
A tiny spark of wit for a highly flammable world

links for 2008-01-29

January 29th, 2008 2:02:42 am pst by Sterling Camden

Posted in Share the Love | No Comments » RSS 2.0

Spare me the don’t wake up call

January 28th, 2008 2:32:51 pm pst by Sterling Camden

The telephone jolted me out of a deep sleep at 5:30 AM. Calling so early on the home number, it had to be a family emergency — so I ran into the kitchen to get it. But instead of a relative with bad news, I was greeted by a recorded message from our local school district. School today is canceled, due to snow on the ground and the prospect of more to come.

As a software development consultant, I automatically look for design flaws in any system. Something about waking me up early in order to tell me that I can sleep in late doesn’t seem quite right to me.

The district already makes use of a passive notification system call SchoolReport.org. But I can understand that they worry that parents may not check that service, especially since the snow today appears to be relatively light. So they decided to be pro-active with the Universal Interruption Generator we all know affectionately as the phone.

Why so early, though? Our children are on the earliest schedules in the district, yet we wouldn’t normally get them up for almost another hour. I suppose that the automated call system can only generate so many calls per minute, and so they decided to start early in order to get around to everyone before their scheduled school bus arrival time.

My mind naturally wanders from problem to potential solution. Here’s how I’d design it: Why not have a universal scheduling interface for publishers and subscribers of scheduling information? My alarm clock could be controlled by my own private scheduling client, in which I would define dependencies that determine exactly when I need to wake up. I could then subscribe to notifications from the school district to automatically remove those dependencies when school is canceled. Something like this:

schedule.weekday.onload proc{ |today|

today.onstarttimechange proc{ |newtime| alarmclock.clear.set newtime }
today.add Deadline.new("Kids on bus", 700).after(Task.new("Gather their things", 20).after(Task.new("Feed them breakfast", 10).after(Task.new("Get them up and dressed", 10))))
today.add Deadline.new("Get to work", 900).after(Task.new("Eat breakfast", 40).after(Task.new("Walk dogs", 50).after(Task.new("Get dressed", 20))))

school.oncancelled proc{ |reason|
today.remove "Kids on bus"
fyi.log "school was canceled! " + reason
}
}

The “remove” method would automatically remove all tasks on which the removed deadline/task depends, unless they were also explicitly added to the schedule. So removing “Kids on bus” would also remove “Gather their things”, which would also remove “Feed them breakfast” (let them fend for themselves while I snore), which would remove “Get them up and dressed” (they can stick to their jammies if they like). This would all trigger a recomputation of the day’s start time, which would invoke the proc to clear the alarmclock and reset it to at least 40 minutes later. Without waking me up to a loud and unexpected noise just to let me know.

Posted in Geek Meditations, Get Outta Here | 12 Comments » RSS 2.0

links for 2008-01-26

January 26th, 2008 1:59:17 am pst by Sterling Camden

Posted in Share the Love | 3 Comments » RSS 2.0

links for 2008-01-25

January 25th, 2008 1:58:24 am pst by Sterling Camden

Posted in Share the Love | No Comments » RSS 2.0

links for 2008-01-24

January 24th, 2008 2:04:34 am pst by Sterling Camden

Posted in Share the Love | No Comments » RSS 2.0

Something wrong

January 22nd, 2008 4:17:13 pm pst by Sterling Camden

When you have an autistic child you have to pick your battles, because there are so many to choose from. Most of the time you’re just glad to survive public outings without injury.

Yesterday we had an episode in the galley of the Seattle ferry. Yes, it was inappropriate behavior and without a doubt disturbing to bystanders, but nobody was harmed except for a few packages of saltine crackers. I managed to herd our clan out of the galley. Then I had to go back in to fetch a forgotten bowl of chowder. A man who appeared to be in his sixties was talking loudly to the galley workers.

“Did you see that? No discipline! Some people these days don’t know how to raise their kids. If one of my children’d done somethin’ like that, I’d a popped ‘em one.”

He was unaware that I had come back in behind him. My brain boiled over. Channeling all my frustration into sudden motion, I dumped the hot chowder on his back — and when he turned around I severed his self-righteous tongue with his own teeth via a swift right uppercut to the jaw. In my imagination.

“Perhaps since you lack empathy for brain-damaged behavior, I could help you to some first-hand experience,” I said to him (in my mind). No, can’t threaten assault. Try a different approach.

“If I had a nickel for every pompous idiot who knows better than I do how to raise an autistic child, we’d be able to afford all the treatment that isn’t covered by insurance.”

“Who you callin’ a pompous idiot?”

“Hmm… let me check the toe. Yep, size Idiot, extra pompous seems to fit you pretty well. Autism is a brain disorder. You can’t just beat it out of them.”

But alas, that conversation too occurred only in my own raging thoughts. What I really said was nothing at all. I let it pass and walked back out of the galley. Ignore, and leave him ignorant of his ignorance.

Later, as my wife and I wrestled with yet another emotional conflagration in the van, I saw the same fine gentleman walking back between the lines of vehicles. As he neared ours, I suddenly opened my door in his face. Or so I would have liked.

Posted in Get a Grip | 23 Comments » RSS 2.0

links for 2008-01-19

January 19th, 2008 1:59:40 am pst by Sterling Camden
Tags: , , ,

Posted in Share the Love | 6 Comments » RSS 2.0

links for 2008-01-18

January 18th, 2008 2:02:32 am pst by Sterling Camden

Posted in Share the Love | No Comments » RSS 2.0

links for 2008-01-17

January 17th, 2008 2:09:23 am pst by Sterling Camden

Posted in Share the Love | No Comments » RSS 2.0

I’m on board with RSS

January 16th, 2008 7:39:31 pm pst by Sterling Camden

If it really is an Indy racing car on a desert island, then I just became its cupholder. Rogers Cadenhead announced today that Simone Carletti and I have been added to the RSS Advisory Board. I’m honored to be joining in company with someone as involved in the RSS spec as Simone.

My own experience with RSS is limited to a (correctly namespaced) hack to enable conversion from one blogging platform to another and a redirection of WordPress’s feed through FeedBurner before they endorsed the FeedSmith plugin. But I have spent quite a few hours working with the related OPML format — and I’ve been dealing with various XML grammars for several years, including two rather involved dialects that I wrote for one of my customers. During that process I’ve learned more about XML namespacing and XSD grammar/types than I ever wanted to know.

I also have prior experience with public specifications, having served on the ANSI Committee for Standard DIBOL back in the early 90′s, helping to produce the 1992 DIBOL standard. So I know all about “shalls” and “mays”. But since the RSS Specification is ostensibly complete, I’m hopeful that most of the work before us will not involve arguments over wording. I’ve been lurking on the rss-public Yahoo group for some time now, and it seems like the discussion usually sticks to salient details rather than nit-picking phraseology.

I don’t have any agendas for doing something to RSS — I just want to be helpful to the board, to authors of products that publish or consume feeds, and ultimately to bloggers and blog readers everywhere.

Thanks to the Board for inviting me.  When does Paris Hilton start?

Posted in Geek Meditations | 6 Comments » RSS 2.0