The Daily Parker

Politics, Weather, Photography, and the Dog

Supreme Court upholds Oregon assisted-suicide law

I got all excited that the Roberts Court had upheld Gonzalez v. Oregon, until I realized the Chief Justice was in the minority with Justices Scalia and, you will be surprised to know, Thomas. Rehnquist would have voted with the majority, I think, so this signals Roberts may not be the Warren some of us were naively hoping for.

I'll have more salient analysis shortly after the U.S. Supreme Court publishes the opinion online. For now, I'll just have to go on the Associated Press report, which appearsto miss the real holding in the case. I say that because the quotes from Kennedy sound awfully more like dicta than holding, but I could be wrong.

The A.P. reports on the dissenting opinions:

Scalia said the court's ruling "is perhaps driven by a feeling that the subject of assisted suicide is none of the federal government's business. It is easy to sympathize with that position."

To which I say, yes, assisted suicide is none of the federal government's business. Later today I'll figure out if that's what the majority thought, too. I am surprised that Scalia thinks it is the federal government's business, when he's usually more of a states-rights guy.

Then there was this unintentionally amusing line:

Thomas wrote his own dissent as well, to complain that the court's reasoning was puzzling.

I just don't know which half of the sentence is funnier.

Update, 5:35pm CT/23:35 UTC: The opinion is available (406 kB, PDF), and I shall now read it.

Second thoughts about framework classes

The Inner Drive Extensible Architecture™ contains a very useful namespace called Quantitative that contains classes and interfaces to use in measuring things. Essentially, there is a trio of interfaces, IQuantity, IUnit, and IPhenomenon, that allow you to create and convert any kind of measurements. The principal implementation of IQuantity is the Numeric structure.

To convert feet to meters, you do this:

IQuantity feet = new Numeric(100, new Foot());
IQuantity meters = quantity.ConvertTo(new Meter());

Even though that looks simple, it has always troubled me. I've realized in the last couple of days that I got the abstractions wrong.

In any object model, you want to work with the most convenient abstractions. It helps if the resulting code looks like English (or whatever your native language is). Quantity, Unit, and Phenomenon are, indeed, abstractions, but they're not the right ones. Here's how I know.

First, the following compiles fine, but throws an InvalidOperationException when executed:

Numeric feet = new Numeric(100, new Foot());
Numeric fahrenheit = new Numeric(100, new Fahrenheit());
Numeric hotFeet = feet + fahrenheit;

Numeric is too abstract, you see.

Also, getting feet to display as, say, kilometers becomes very annoying:

Numeric feet = new Numeric(10000, new Foot());
Numeric meters = (Numeric)feet.ConvertTo(new Meter());
Console.WriteLine(meters.ToString());
// "3048 m" displayed

// Numeric.Unit exposes a Unit which may or may not be metric
IExponential exponent = (IExponential)meters.Unit;
exponent.Exponent = MetricExponent.Kilo;

Console.WriteLine(meters.ToString());
// "3.048 km" displayed

The Numeric structure doesn't care about the metric exponent of its Unit member. Why should it? It contains a value and a unit, and if you add two Numeric objects that use the same Unit, you get exactly what you'd expect.

But why should the Unit care what its exponent is? Now, when converting to or from other Units, it has to take that extra piece of information into account, or the conversions will be off by orders of magnitude.

There are many other problems and annoyances with the Quantitative namespace, which took me months to tease out. But this morning, on the El, I cracked the code (as my dad would say).

Tell me, doesn't this make a lot more sense?

Length meters = new Length(3000, new Meter());
// Alternate syntax using the implicit operator:
// Length meters = 30;
Console.WriteLine(feet.ToString());
// "3000 m" displayed

Length feet = meters.ConvertTo(new Foot());
Console.WriteLine(feet.ToString());
// "9842.52 ft." displayed

Console.WriteLine(feet.ToString(MetricExponent.Kilo));
// "9842.52 ft." displayed; no exception; simply ignored the exponent
Console.WriteLine(meters.ToString(MetricExponent.Kilo));
// "3 km" displayed

And, of course, our earlier example wouldn't even compile:

Length meters = 30;
Temperature fahrenheit = meters.ConvertTo(new Fahrenheit());
// Won't compile

I'll be refactoring this soon. Everything else I'm building depends on it. Watch this blog for a link to the new demo.

California poli-sci professor wants more labor coverage

Peter Dreier, professor of politics and director of the urban and environmental policy program at Occidental College in Los Angeles, writes in today's L.A. Times that the paper should revive its history of reporting on labor issues:

Up until the 1980s, most major newspapers, including The Times, had a regular labor reporter. Today, few papers, The Times among them, have even one reporter exclusively assigned to cover labor.
That may be a consequence—even a cause—of declining union membership. But The Times serves a metropolitan area that has become the U.S. capital of the working poor, where more than 800,000 workers (almost twice the national rate) are union members and where (unlike most parts of the country) labor union membership is actually growing.

I couldn't agree more.

Inner Drive neighbor quoted in Tribune

Down the hall from Inner Drive Technology World Headquarters is the office of nutritionist and author Monique Ryan, who, in yesterday's Chicago Tribune, weighs in on the pressing issue of Anne's and my favorite TV show, Lost: Why is Hurley still fat? Says Ryan:

You would expect that maybe he would [lose weight], but you'd have to sit down and look at what he's eating the whole day. He might also be an individual with a very slow metabolism. We tend to assume that everybody has complete control over things like that, but they don't. Some of that is genetic.

The article has more. We at IDTWHQ eagerly await for February sweeps.

Cross your fingers: the new Webcam works

A while ago we at Inner Drive attempted to install a new Webcam which, in short order, stopped working. Logitech promptly sent a replacement, which so far works fine.

So the Inner Drive Webcam is now much sharper, and less prone to falling, than it used to be:

The only disadvantage is that it doesn't work in Terminal Server mode, so if the server kicks over unexpectedly, the Webcam will be static until we can get to a terminal and fix it. (We'll experiment with that later on.)

Also: The camera, a Logitech QuickCam Orbit MP, is adjustible--so it will change angles every so often.

We are very happy.

P.A. stands for "<b>Public</b> Address"

It seems a train conductor in Chicago had some musings about the new Chicago smoking ban, which he shared with riders on an inbound commuter train yesterday.

Seems these musings contained a bad word:

Veering from his script notifying riders about the ban, the conductor used a vulgar sexual epithet over the Metra train's public address system to describe the city officials who enacted the ordinance.

Seems he's looking for a new job now.

For my part, I can't figure out what epithet he used, but I'm guessing it was close to "putz."

Don't do that and tell me it's raining

The Administration would have you believe that the $400 billion deficit the U.S. will have this year is because of Hurricane Katrina clean-up.

Reports the Chicago Tribune (reg.req.):

Even with December's surplus, experts are predicting that the budget deficit for this year could well surge above $400 billion, reflecting increased government spending to help with reconstruction efforts in hurricane-ravaged states along the Gulf Coast.

Katrina clean-up accounts for, oh, $1 billion—0.25%—of the deficit. The other $399 billion comes from a deliberate sequence of ideologically-driven tax cuts that have (a) left the Federal government vastly under-funded, which (b) is what the Administration wanted in the first place.

The Tribune goes on directly:

President Bush has vowed to cut the deficit in half by 2009 and still preserve the tax cuts he pushed through Congress in his first term.

I don't need Anne's math degree to find fault with that goal.

Let's review the Administration's record:

  1. The GOP cuts taxes severely.
  2. The GOP cuts spending on Federal programs (FEMA? CDC?) and staffs them with incompetent flunkies.
  3. The programs fail miserably.
  4. The GOP claims that, because the programs are failing miserably, the programs and the taxes that fund them should be cut further.
  5. Rinse and repeat.

This is the program outlined by Grover Norquist and his homeys almost 25 years ago.

Happy New Election Year, folks.

Write to sell

Hired Wrist, one of my clients, has a new Craigslist post:

Write to Sell
"Writing is easy; all you do is sit staring at a blank sheet of paper until the drops of blood form on your forehead."—Gene Fowler
Take it from someone who knows. I've been bleeding professionally for years.
If you are writing (or even thinking of writing) a screenplay, teleplay or novel, I can now offer you professional strength one-on-one consultation, analysis, guidance and instruction designed to dramatically and significantly improve the quality of your work. With over thirty years of remarkably successful professional writing experience, I will personally guide you through the complicated and often unforgiving landscape of the writer's world. If you want to write to sell, if you want to write better or even if you’ve never written before and have a burning desire to do so, let me help you get started. Together we can stop the bleeding.
Check out my qualifications, credits, achievements, awards and fees at http://www.hiredwrist.com

Share and enjoy.

Welcome to Broadband; and Borowitz is funny today

First, I'd like to welcome my mom to broadband. She's been on dial-up since she got her first home computer (in, I think 2001), but she finally got a cable modem. I clocked the thing at 9.1 Mbps downstream, which is about 160 times faster than her 56.6k analog modem.

I mention this because yesterday she asked me to pick up a copy of Turbo Tax at the store. I pointed out that, with a super-fast Internet connection, she could simply download the product and save a tree.

In an unrelated train of thought, Borowitz was funnier than usual today:

[O]ne day after published reports alleged that author James Frey had fabricated sections of his bestselling memoir, A Million Little Pieces, Mr. Frey was named chief spokesman for the U.S. Defense Department.

Finally, the new Webcam arrived from Logitech. I'll be testing it in the lab for a few days before replacing the main one—assuming the replacement works as hoped.

Why consulting is secondary to me

WinXP News today looks at the problem of getting things fast, cheap, and right. The adage in engineering is you can only have two. The adage in consulting is you can sell all three.

This is exemplified by a tongue-in-cheek conversation I had on the elevator this morning with the head of Q.A. for one of my clients:

QA Guy: I can't believe it's only Wednesday. I want it to be Saturday. You're a consultant; can you do something about that?

David: Sure, I can whip something up. Give me three days, and I'll have a Saturday for you.

He: Can you do any better than that?

I: Sure. I'm working on a faster process, which should be in production in about two days. I can get it to you about 18 hours after that.

He: Can't you off-shore the development?

I: As a matter of fact, our Fiji facility can get the job done 18 hours faster. They will probably finish in less than two days from right now. But I'll have to go to Fiji, which won't be cheap.