We’ll get that Dick Tracy watch down to a usable size sooner or later. 🙂
“Voice-stress ice-cream dispenser increases portions for the miserable”
I’d be a little less happy after the machine decided that I only needed a tiny portion.
E-Mail: A Modest Proposal
E-mail is a wonderful invention. I’ve been using it since 1987 or thereabouts, when one of my uncles gave me a 300 baud acoustic modem that I could plug into my Sinclair QL, and I discovered the local FidoNet node.
However, this wonderful innovation started becoming a burden about a decade ago — that’s when I started noticing the spam and virus problem anyway. Between spammers and scammers, it became all but unusable for a long time. Now it’s back to usable proportions, thanks to technological innovations, but the messages that still get through are the most carefully crafted ones, and the most dangerous. It doesn’t have to be this way though. Continue reading ‘E-Mail: A Modest Proposal’ »
Dual Monitors
As someone who uses two monitors in the office, I found today’s Dilbert comic strip very amusing. Bu-wa-haha!
“Carmen Sandiego found in train station”
For all those who’ve ever played Where In The World Is Carmen Sandiego?, you can stop now. She’s been found. 😉
Lisp Practice Revisited
Last weekend I ported some MD5 calculation code to Lisp, for practice. But once it was done, I wasn’t happy with it, so I’ve been improving it since. Continue reading ‘Lisp Practice Revisited’ »
Multithreaded Programs on Multiprocessor Systems
My company is still on contract to help out with a program we developed, which another company bought a few years ago. I’ve spent part of the last two weeks working with that company’s lead programmer, trying to track down a minor but particularly pernicious intermittent bug involving TCP/IP, multithreading, and what seemed to be a timing-related deadlock. What’s worse, this program (because of it’s nature) can’t be debugged in a standard debugger — we’re reduced to using printf
statements and imagination — and the problem disappears when a particular debugging printf
statement is enabled.
We still hadn’t managed it when he left on Friday, so I tackled it again Sunday morning, and finally discovered the source of the problem: a deadlock between two threads, both of which had locked part of a resource and were trying to lock the other part. It didn’t happen when the debugging statement was there because that statement delayed that thread just enough to prevent it.
This kind of problem never appeared in single-threaded programs, and rarely appeared even in multithreaded ones before we had multiprocessor systems.
Software development tools, and software developers, have gotten a lot more sophisticated in the time that I’ve been writing code. But in some areas, the hardware technology is still way ahead of our ability to use it well.
“Vista: Windows ME’s Successor”
Another Windows Vista love note. Wake up, Microsoft!
“Solid gold Hello Kitty playing cards”
A friend of ours is a major Hello Kitty collector, so we’re always on the lookout for Hello Kitty merchandise that would make good gifts for her. But I have to say, no matter how much we love her, this is a little too rich for us.
“Not tonight, honey, I’m on the Internet”
If I were foolish enough to tell GoddessJ that I prefer the Internet to sex, you can bet I’d never get sex again. 🙂