Category Archives: General

Catch-all category

General

Mass production is a sin

… or at least, that’s the way I feel after a frustrating encounter with tech support. Tech support would certainly not be so problematic if it weren’t for the large numbers of people to be supported, but then of course, there wouldn’t be any money to pay tech support people if there weren’t all the profit potential opened up by economies of scale.

But dammit, I want my shit to work! Ah well, I guess I can just retreat to the fantasy world in my head where things either always work or I have access to all the internals and knowledge to be able to fix ’em myself.

General

Bugs, oy

You ever have a situation where there are three independent bug symptoms that are caused by two independent causal paths, where you saw one path and someone else saw another path, so that when you fix the three problems, that person is still seeing all three, and you’re just _sure_ that they are looking at old code, but they’re not?

Man, that’s weird.

General

HP HDX suspend/resume under Linux

If you happen to own an HP HDX series (or other) laptop, and have been having no luck using suspend/resume, help is here. HP released a new BIOS today that fixes a problem with accessing hard drives after a resume. It now seems to work quite beautifully for me. That was the only thing that didn’t work well out of the box with Ubuntu, so I’m really glad it’s fixed.

Here’s a ticket in the kernel bugzilla with all kinds of details about this:
Kernel bugzilla
HDX BIOS update F23A

General

Collected Facebookings, part 1

(because they’re so bleedin’ precious.)
Steven Ourada pretended to have a dream about being an ‘always-on’ performance artist whose life’s project was to become so bland, inoffensive, noteworthless, timid and unlovable that whenever he left the room, anyone remaining would, if queried, be completely unable to describe any attribute of him. They would not, of course, be so queried.

Steven Ourada needs your money to continue a research agenda to explore the hypothesis that extraterrestrials have discovered a neurological loophole by which they can cause humans to hear snippets of music and jingles that to us seem random, but are actually carefully planned to try to convey an important message. (cont.)

Steven Ourada … Currently, we believe the message to be somewhere between ‘Who wants cake?’ and ‘Left hip pocket, fourth drawer down, 501 Wembly Road’. As you can see, there is more work to do, so please give generously.

Steven Ourada would sometime like to visit the Over Easy universe. You know, that universe in which the laws of physics are sufficiently different from our own as to permit the possibility of cooking eggs over easy. I bet in that universe, Falco had a series of hits through the early 90’s.

Steven Ourada imagines a world in which surfaces of all genera can live in harmony. Yes, you’ll openly point out that cones and spheres are homeomorphic, but who among you will say “And tori, too, are members of this equivalence class!”?

General

Programming, these days

With the confluence of open source, web forums and search engines, Linux distros, email, etc., it’s certainly a different world in which to program than it was when I was first learning to program 27 years ago. My little experience today was in trying to get a little command-line client to FreshBooks for quickly logging a bit of time.

  • Search for such a thing. No good hits.
  • Search for FreshBooks API wrappers. Don’t wanna write in Perl, PHP, or ActionScript, so I’ll go with Ruby.
  • Get Ruby: apt-get install ruby.
  • Learn how to write some stuff in Ruby with various web searches leading to tutorials, forum posts, blog entries, etc.
  • Learn what Ruby gems are, install the gem installer (apt-get install rubygems), install the FreshBooks API gem (gem install freshbooks).
  • Write some code that fails. Dig into gem code and put some debugging puts’s in there. Find the root cause of the bug in about 20 minutes, try a hack to fix it, it works.
  • Try to report problem to maintainer. Find that the version in the gem whosit is actually an old version written by the previous author/maintainer.
  • Find a link to the new maintainer and the project page on rubyforge.
  • Browse the source and see that the gem is totally different. Uninstall old one, download this one.
  • Learn what Rakefiles are with some web searches, install rake (apt-get install rake), install some dependencies with gem installer, rake it.
  • Adapt my code to one of the changes by reading the code (_not_, I might add, the comments, because the comments were out of date).
  • Find that the code now fails again, which I sort of expected.
  • Repeat puts-based debugging process and learn that the old bug was fixed but a new one was introduced.
  • Hack a fix for new bug, it works.
  • Report problem to new maintainer. He might tell me that it’s my problem and not a bug in the gem, but whatever, I have what I need and maybe the code will be better for it next time someone tries it…

I won’t bother to enumerate all the differences between that and my early experiences with programming, but to give a little taste, here was the scene for 9-year-old Steven: 4kB pocket computer programmed in BASIC, the only I/O being the keyboard and screen, the only contact with the larger programming world being the computer’s 100-page manual, etc.

General

Swheat Scoop

I hope Swheat Scoop is ready to quadruple their sales overnight, because I’m endorsing their product.

I mentioned in a previous post how I love clumping litter, right? But the clay-based stuff I used had some annoying properties. It had a great tendency to stick to kitty’s paws, and then slowly drop out later. Little bits of litter ended up on most of the furniture and all the major areas of the floor. Little poky bits that hurt bare feet and scratched hardwood floors. The little bits that didn’t end up on the floor ended up matted into paw hair and/or ingested by my very clean cat.

One can talk about the environmental benefits of wheat litter, and those _are_ good, but it’s the improvement in the tracking properties that really sells me on the stuff. It sticks less, so that it doesn’t get spread around as much in the first place. If it does get spread around, it’s a lot less annoying on the feet and less damaging to the floor. If she does ingest some of the litter during cleaning, I’m not nearly as worried about the toxic effects on the kitty. It clumps just as well and has less overall mass when discarded.

The only bad thing is that the stuff is harder to sweep up with my sweeper (this fairly cool thing), because the grains are very light and are more likely to just get kicked away before they’re swept up than the heavier gravel grains. Well, and you might complain about the price. I haven’t done any actual tracking of how long a pound lasts, but when you look at it in the store, it definitely costs more per pound than a lot of the other stuff. If you’re the type of person that says “$0.50 a day? For a cat!? Outrageous!”, then you may be wary. I should try to figure out how much it really does cost per day; I’ll tell you if I do…

General

Crap-canceling headphones

You know, we’re near the point where technology can provide us with crap-canceling headphones. You combine three existing technologies:

  • noise-canceling
  • automatic song identification
  • ubiquitous WiFi or cellular data streaming

and make headphones that can automatically recognize crappy songs playing near you (say, on the radio at a restaurant), download the song, and play a complement waveform to cancel out the song without canceling things like the conversation you’re trying to have. Don’t be surprised if you discover subliminal advertisements this way, either.

General

“Delivery on Demand”

For the approximately 0 readers of this blog who live around here and who haven’t already heard about this from me: go use Delivery on Demand Iowa. It’s a nice little delivery service to get stuff from places that don’t otherwise deliver. In my case, I got a bunch of cat litter delivered quickly and easily.

They’re just getting started, so give ’em some business to encourage them to continue.

General

‘Exceptions’?

I wonder if the term ‘exception’ in computer programming should be renamed. Both the name, and the way that exceptions are treated in typical programming languages, seem to relegate exception handling to a lower status. But really, in a lot of cases, good systems can become great ones via well-designed exception handling.

I recently moved. Long before I did, I placed a pre-order on Amazon. When it came about time to ship the item, Amazon sent me a mail saying “The address on this order is no longer in your address book, are you sure you want to ship it there, or do you want to use another address?”.

Having sorta implemented an e-commerce system, and having pondered them to varying degrees over the years, I never really thought of the “customer moved between when the order was placed and when it shipped” case. I’d be willing to bet that many e-commerce solutions out there don’t very adequately handle that ‘exception’. But I’m glad Amazon’s does.

General

‘Intuitive’

Oh man, how I hate it when people use the word ‘intuitive’ when describing user interface design elements…

Well, I dunno, maybe it’s not so much the word as the fact that people often seem to use it to wallpaper over big lumps of imprecise thinking and unexpressed assumptions. I guess in that sense, it’s useful as a conversation-stopper, which is a necessary tool when you’ve got too many people talking at once in a big meeting. Which reminds me of how I hate big meetings…