Monday, January 10, 2011

You Know You're a Dog Owner When...

...you accept the fact that walking in your stocking feet through the kitchen means that you're at risk for getting wet socks.  Because the dogs, when they drink from their waterer, dribble gallons of water all over the kitchen floor, of course...

Something to Keep an Eye On...

The Obama administration is apparently moving forward with some kind of “Internet ID” program.  I've not been able to find any details about this, anywhere. 

If this turns out to be some sort of optional ID that would provide trusted identification when the user desired it, then I think that's at least possibly a net good thing.

On the other hand, if the use of this ID becomes mandatory for any purpose, then we've got a potential problem.

Let's all watch what develops here...

Akins' Laws of Spacecraft Design...

Here's a list of design principles that will ring true to any experienced engineer, in any field.  Here are a few that are just as applicable to software design as they are to spacecraft design:
Design is an iterative process. The necessary number of iterations is one more than the number you have currently done. This is true at any point in time.

Not having all the information you need is never a satisfactory excuse for not starting the analysis.

There is never a single right solution. There are always multiple wrong ones, though.

Don't do nuthin' dumb.

Schedules only move in one direction.

A designer knows that he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.

It Begins...

Most of us are still recovering from the shock of the attack on Congresswoman Gabby Giffords.  The more calculating political class is falling over over themselves to take advantage of the moment.  The winner for first strike: Congresswoman Carolyn McCarthy is preparing gun control legislation, continuing our apparent national obsession with blaming the tools rather than the perpetrator.

Glenn Reynolds (aka “The Instapundit”) has a piece in today's Wall Street Journal on another manifestation of the left's “Don't let a good crisis go to waste!” tactics.  He's disgusted with the left's instant blaming of the Giffords shooting on Sarah Palin and the Tea Party.  His conclusion:
Where is the decency in blood libel?

To paraphrase Justice Cardozo ("proof of negligence in the air, so to speak, will not do"), there is no such thing as responsibility in the air. Those who try to connect Sarah Palin and other political figures with whom they disagree to the shootings in Arizona use attacks on "rhetoric" and a "climate of hate" to obscure their own dishonesty in trying to imply responsibility where none exists. But the dishonesty remains.

To be clear, if you're using this event to criticize the "rhetoric" of Mrs. Palin or others with whom you disagree, then you're either: (a) asserting a connection between the "rhetoric" and the shooting, which based on evidence to date would be what we call a vicious lie; or (b) you're not, in which case you're just seizing on a tragedy to try to score unrelated political points, which is contemptible. Which is it?

I understand the desperation that Democrats must feel after taking a historic beating in the midterm elections and seeing the popularity of ObamaCare plummet while voters flee the party in droves. But those who purport to care about the health of our political community demonstrate precious little actual concern for America's political well-being when they seize on any pretext, however flimsy, to call their political opponents accomplices to murder.

Where is the decency in that?

Saturday, January 8, 2011

One-Liner Smiles...

Via reader Dr. Simi L.:
1. My husband and I divorced over religious differences. He thought he was God and I didn't.
2. I don't suffer from insanity; I enjoy every minute of it.
3. Some people are alive only because it's illegal to kill them.
4. I used to have a handle on life, but it broke.
5. Don't take life too seriously; No one gets out alive.
6. You're just jealous because the voices only talk to me
7. Beauty is in the eye of the beer holder.
8. Earth is the insane asylum for the universe.
9. I'm not a complete idiot -- Some parts are just missing.
10. Out of my mind. Back in five minutes.
11. NyQuil, the stuffy, sneezy, why-the-heck-is-the-room-spinning medicine.
12. God must love stupid people; He made so many.
13. The gene pool could use a little chlorine
14. Consciousness: That annoying time between naps.
15. Ever stop to think, and forget to start again?
16. Being 'over the hill' is much better than being under it!
17. Wrinkled Was Not One of the Things I Wanted to Be When I Grew up.
18. Procrastinate Now!
19. I Have a Degree in Liberal Arts; Do You Want Fries With That?
20. A hangover is the wrath of grapes.
21. A journey of a thousand miles begins with a cash advance.
22. Stupidity is not a handicap. Park elsewhere!
23. They call it PMS because Mad Cow Disease was already taken.
24. He who dies with the most toys is nonetheless DEAD.
25. A picture is worth a thousand words, but it uses up three thousand times the memory.
26. Ham and eggs: a day's work for a chicken, a lifetime commitment for a pig.
27. The trouble with life is there's no background music.
28. The original point and click interface was a Smith & Wesson.
29. I smile because I don't know what the heck is going on.

Pyracantha...

On our frequent drives from home to Descanso, Cuyamaca, Pine Valley, or Laguna, our route takes us up Japatul road to where it meets Interstate 8.  Along that road there is a house on the west side with a beautiful collection of mature Pyracantha (Firethorn) plants.  Some individual plants are about 10 feet high and perhaps 12 feet in diameter.  Every year those plants treat us to a gorgeous display of orange-red berries, but this year (presumably because of the early rains) they were especially spectacular.  Enjoy (as always, click to enlarge)!

A Satisfying Repair...

A couple of months ago, I bought a Das Keyboard (at right) for use at home.  It has the mechanical switches whose “feel” I've long missed.  My typing isn't as fast or as accurate on the modern keyboards with (usually) rubber dome switches.  So I splurged a bit (these things are expensive!).  Within a couple of weeks, the constrast between my keyboard at work and my keyboard at home was unliveable, so I bought one for use at work as well.  I love my Das Keyboards!

But my keyboard at home developed a truly obnoxious problem.  The left-arrow and up-arrow keys (just to the right of the right shift key) started working intermittently.  For a while, they'd work only if the keyboard was tilted toward me (with the top edge higher than the low edge).  Then they stopped working altogether.

I contacted support at Das Keyboard, and very quickly they said they'd never seen this particular problem before, and offered to exchange the keyboard.  That's entirely appropriate support, for which they should be lauded – but it wasn't what I wanted.  Now that I've grown so attached to my Das Keyboards, I was loathe to have to use something else for the few weeks it would take to send my old keyboard back and get a new one in return.

So I decided to try to fix it myself.  I've designed switch-based keyboards, so I'm very familiar with how they work.  There's really not much to go wrong in such a keyboard – it's just switches, diodes, and printed circuit board – any of which I ought to be able to fix.  So to work I went.

The first step turned out to be the most challenging: getting the danged thing open!  I'm not sure I would ever have figured it out if it weren't for this lovely post (thank you, Geoff Breach!).  Thanks to his precise directions, I was able to open my Das Keyboard, and without breaking anything.

The next step was to study the situation.  I had a good clue (what every debugger wants most!): two keys simultaneously failed in the same exact way.  This means it was extremely unlikely to be a key switch problem, as the chance for two of them to malfunction identically was vanishingly small.  It had to be something in common between the two, and that could only be a diode or a printed circuit trace.  It took just a minute or so to figure it out.  In the photo at right (click to enlarge), you can see what I discovered.  The two orange ovals at right show one of the terminals on each of the up-arrow and left-arrow switches: they are connected.  A long skinny trace (highlighted by the arrows) connects them to one terminal on the enter key switch.  The enter key always worked fine.  The problem had to be an intermittent break in that skinny trace connecting them.

A little work with my DVM quickly confirmed this hypothesis.  While measuring the resistance between the enter key's terminal and the up-arrow key's terminal, I twisted and prodded the circuit board.  Sure enough, the resistance varied all over the place, from infinity to near zero ohms.  Somewhere on that trace there must be a hairline crack (so thin I couldn't spot it, even with a magnifier).  So I tried a brute-force repair: I soldered a piece of hook-up wire between the two terminals.  Voila! I reassembled it all without difficulty, and now my Das Keyboard is now as good as new.

I haven't the words to describe how satisfying it was to be able to troubleshoot and fix this.  Silly, I know, but true nonetheless.  Note that in the process of repairing it myself, I violated the terms of my warranty, so now my keyboard is truly mine.  I'm sure the Das Keyboard folks would sternly disapprove.  I'll tell them anyway, as they may be interested to know of a potential manufacturing quality issue...

Where Does Good Code Come From?

xkcd has a cartoon that will resonate with every experienced developer:

Too Dumb to Fight...

From Strategy Page:
... But the fact that a quarter of high school graduates who tried to join failed the written exam attracted less attention. The main reason for this is that fact that most of the uneducated high school grads are minorities (mainly blacks and Hispanics) from urban schools. Those schools are failure factories controlled by teachers unions, bureaucrats who are willing to sacrifice education for jobs and more benefits. You do not want to mess with teachers unions, as they have a lot of political clout and can make life miserable for mainstream journalists and their editors. What is scarier about the failure rate of high school grads is that the armed forces entrance exam tests for skills common to most civilian jobs. Survey civilian employers, and you will find that they see the same failure rate among applicants who are high school grads.
Trust me, industry has noticed.  A significant fraction of outsourcing is motivated by the need to find talented, well-educated workers...

WTF Kitty!

Music and Dogs...

Those Tricksy Employment Reports...

From a WSJ piece on Friday's unemployment report:
The unemployment rate fell to 9.4% from 9.8%, which led to celebration in some Washington quarters. But that improvement was largely because 260,000 eligible workers dropped out of the labor force.
The unemployment report these days, as reported by our curiously uncurious lamestream media, is biased by the “adjustment” described above: unemployed workers who have stopped looking for work (usually because they've given up) are not called unemployed for the purposes of this report.

So this time, as it has several times in the past year, the unemployment rate “declined” mostly because we stopped counting 260,000 unemployed people as unemployed.  This gives the public (most of whom have no idea this trick is being used) a decidedly incorrect impression about what's happening.

On the flip side, when the job market finally does start to (really) pick up again, many of those so-called discouraged workers will start looking for work again.  When that happens, they'll be counted as unemployed once more – and the reported unemployment number will go back up!  Once again, the public will be deceived – but this time, they'll think the situation is worse than it really is.

Wouldn't it be simpler and better to just report the real number, and to separately report how many have just plain given up?  I certainly think so.

Meanwhile, some conservatives are already anticipating a schadenfreude moment around the summer of 2012.  They're thinking that the economy will likely be improving by then, the unemployment rate will appear to be going up (for the reasons given above) – and Obama will be running for reelection...

Autism-Vaccination Link...

Several readers have asked what I think of the recent news that the British Medical Journal is calling the infamous Wakefield study an “elaborate fraud”.  My reaction – that this is old news ” is nicely summarized in the Wall Street Journal.  I'll add this: the kerfuffle generated by the Wakefield study is an instructive example of how dangerous the combination of science funding mechanisms, public scientific illiteracy, and yellow-sheet journalism can be...

Java Byte Code...

A good article and basic introduction.  There's remarkably little literature on this topic...

A Better Way Home...

A beautiful story about one of my personal heroes, Richard Feynman...

Why OK?

Did you ever wonder why the buttons you click on your computer say “OK” and not “Do It”?  Well, just in case you've been losing sleep over that very question, here's the answer – and it's probably not what you're expecting!

CBO Report on Savings from Repealing Obamacare...

This is from an email sent by Sandy Davis (of the CBO) to Congressional Hill staffers:
We have been asked to provide the revenue and direct spending components of that total. Extrapolating the estimated budgetary effects of the original health care legislation and accounting for the effects of subsequent legislation, CBO anticipates that enacting H.R. 2 would probably yield, for the 2012-2021 period, a reduction in revenues in the neighborhood of $770 billion and a reduction in outlays in the vicinity of $540 billion, plus or minus the effects of forthcoming technical and economic changes to CBO’s and JCT’s projections.
Translation from bureaucratic-speak: repealing Obamacare will (a) reduce spending by $540 billion, and (b) reduce taxes by $770 billion.

If you've paid attention to the news reports, you might be forgiven for thinking that this analysis is in direct contradiction to an earlier analysis the CBO did, wherein they notoriously said that Obamacare would reduce costs to the government.  But it's actually not a contradiction at all.  In that notorious report, they were “scoring” the Obamacare legislation, at the request of the Democrats.  They were given a set of (demonstrably false) assumptions, and told to compute what the costs of Obamacare would be given those assumptions.  The CBO must do what it is charged with doing; they delivered the requested computation and did not deliver what they weren't asked for: a review of the validity of the assumptions. 

This time they were asked to do something much more concrete: given reality, how much would we save by repealing Obamacare. 

Answer: $1.3 trillion.

Tango Mike Mike...

Via my mom:




Some years ago I read a book about Master Sergeant Benavidez' actions that day in Vietnam.  I don't recall, at this remove, the name of the book or its author.  But I do recall being absolutely awed by the demonstrated courage.

I had not heard about the Special Forces' use of “Tango Mike Mike”.  I couldn't verify it from sources online, but...I hope it's true.

Friday, January 7, 2011

Search Engine for Electronics Parts...

Octopart.  And they've just added Digi-Key's entire catalog.

The Internet is awesome!

A Question of Character...

Peggy Noonan on her good game still:
But it's a great mistake when you are in a leadership position to want to be like everyone else. Because that, actually, is not your job. Your job is to be better, and to set standards that those below you have to reach to meet. And you have to do this even when it's hard, even when you know you yourself don't quite meet the standards you represent.