Tag Archives: ramblings


Now, that’s service!

I just had another good customer service interaction. Excellent, actually.

Last night, I ordered some bookshelves online from Staples. Before I ordered, I happened to notice a $75 off coupon for any online order of $290 or more. But I forgot to add that when I placed the order.

Today, I thought, hey, why not try getting them to add the coupon after the fact? (I couldn’t modify the order directly as it was already being processed).

I found the link to a live customer service chat pretty easily, gave them my story, and they immediately credited me the $75+tax. Yay, Staples!

  • First, $75 off is a nice coupon.
  • Having a link to a live chat for customer service, and making it easy to find, is great for a guy who doesn’t like to use a phone for such things.
  • Answering the live chat connect request within 20 seconds is better than expected.
  • Immediately crediting me when it was really my fault and when the order was already being processed is just ‘wow’.

Me likey.


Backups are good

If you’re a go-go guy like me, you don’t want to have to spend a quarter-second between keystrokes to realize that you’ve accidentally selected five hundred files instead of just two before you hit that delete key. Backups to the rescue. That and ntfsundelete, which helps you get the handful of files that were modified since the backup yesterday. Because you deleted these files 2 minutes, literally, before the next backup VSS snapshot was to be created.


Neurons abuzz

Hmmm, it’s pretty interesting to me how my brain works sometimes.

Tonight as I was walking home from the grocery store, not particularly thinking about work, it popped into my mind: infinite loop! If a certain event happens tonight, there’ll be an infinite loop that will fill up the disk, which sucks a bunch on a remote machine because you might not be able to log in at that point to clean it up, and I’d have to have tech support clean it up and reboot it, and the pilot starts tomorrow.

Fixed that before the event happened, but only thanks to the fact that somewhere in my brain, there was a simulation running of two servlets on two machines reacting to a nightly automatic event…


The Annoying Valley

OK, you probably know about ‘the uncanny valley’ (maybe start at the Wikipedia article if you don’t), but do you know about ‘the annoying valley’? If you’ve played a video game in the last bunch of years, I’m sure you do.

In an effort to make their AI players more human-like, a lot of game developers add little human touches, like a character saying something to you in a specific situation. But what’s a pain is that they often say the _exact_ same thing in the _exact_ same way (basically, the same sampled audio) in the same situations. Such that you hear it possibly dozens or hundreds of times in the course of normal gameplay. This is annoying, this is the annoying valley.

Some sounds in a game you expect to repeat exactly or nearly exactly, because they would in real life. But humans are so rarely that boring, so the fact that it’s supposed to be a human reaction just makes the annoyance level skyrocket. I suppose you could call that a personal problem, and I certainly understand the relative difficulty of making human speech/animation that sounds/looks good _and_ has lots of natural-seeming variability, but still…



Hmmm, interesting psycho-physiological phenomenon… If I have a song running in my head, and it has lyrics, I hear it being sung in the voice of the original singer (Jim Morrison singing “Maggie M’Gill” is the particular example today). If I then take a drink of water or something, the voice is muffled a little. I wouldn’t predict that if I hadn’t experienced it…


Bobbing and weaving, technologically speaking

Just read a pretty good overview of some of the nits of de-interlacing: The basics of de-interlacing from good to great. This is a sort of fascinating topic to me.

I guess the first thing I think of, when I think of interlacing on either an aesthetic or technical level, is ugh. Aesthetically, I’d be quite happy to never see another interlaced video or monitor again. Technically, I’m thinking that the resources, both of engineers and of computers, that have been used to de-interlace could really have gone to something much cooler.

And it’s so persistent, too. Interlaced videos are still being produced, I’m sure interlaced monitors are, and at the same time, de-interlacers are still being developed, and all that will continue for years from today.

But this is all just one of those things that happen so often in technology, where something that was a great idea at the time becomes a self-reproducing monster. I wonder if the people who started us down the road to the interlaced world we’re in today (and I don’t mean to deride them; I can only snipe at them with the advantage of hindsight and from the vantage point of _today’s_ technology) are all like “I am become tearing” or if they’re all “I wish people would love everybody else the way they love me”?

In any case, at least we can say that interlacing stimulates the economy.


Little decisions

One thing that’s nice about writing software for a living is that it helps remind you often that little decisions are important ones.


If thine axiom offend thee,

pluck it out.


Remembering a name

Funny the things one remembers. I’ll probably never forget the name of a mythical COM interface from a project I worked on: IWendyPointerToGuts. This was a name for, let’s say, an anti-pattern that we wanted to avoid in the project. I’ve long since left that project and have no need for the name any more, but it still sticks.


Psychology of info-space navigation

I’m also fascinated by the psychology of getting around in unfamiliar info-spaces. In order to find a workaround for my problem outlined in Geek TV: open source rocks, I had to:

  • find anchor points
  • learn terminology
  • learn systemic interactions
  • build an environment for experimentation
  • build models of a system with dozens of components
  • perform experiments
  • twiddle code

and finally, reason about interactions between things I don’t understand, within a system I don’t understand, driven by a practical problem that I wanted to solve. And this all took place in a period of days, in a total of a couple dozen hours, on and off, with the final effort between getting annoyed with the problem and having a workaround occurring in a couple hours.

I’d really like to know more about how all that happens. I know that lots of academics have spent lots of effort on learning about that, and I have spent some time delving into their research, but still, I don’t feel like I have much of a feel for the most important parts of the whole process. It’s fun, in any case.