Politics

Another McCain phony


Judith Warner
writes that saying something is a lot cheaper than actually
doing something. Why listen to a politicians words when he has plenty of
actions that reflect reality. Remember Bush and “Compassionate Conservatism”:

In real life, it’s another story.

McCain has opposed legislation aimed at helping women sue in cases of pay
discrimination on the grounds that it could make businesses vulnerable to
frivolous lawsuits. He criticized Barack Obama’s latest woman-friendly proposals
– guaranteed sick days and more family leave – as ‘big-government’
extravagances. He has voted to restrict womens access not just to abortion but
to birth control and affordable prenatal health care, and – though his own
memory failed him in recalling this last week – he voted against legislation
that would have required insurance companies to include contraceptives as part
of their prescription drug coverage.

Politics

The Onion

Paul Krugman reminds us that The Onion is the only paper that really understands things. From a prescient spoof in Jan, 2001:

We as a people must stand united, banding together to tear this nation in two,” Bush said. “Much work lies ahead of us: The gap between the rich and the poor may be wide, be there’s much more widening left to do. We must squander our nation’s hard-won budget surplus on tax breaks for the wealthiest 15 percent. And, on the foreign front, we must find an enemy and defeat it.”

Technology

iPhone 3G

Looks like Apple really has improved the sounds quality on calls. Both GSM and 3G.
From iPhone 3G review – Engadget:

One thing Apple was keen to talk up is the vastly improved call quality of the iPhone 3G. Those in the know understand that 3G call quality is often better than regular GSM — but it turns out Apple made a huge improvement on both sides. iPhone 3G calls made over 3G and GSM both sounded significantly better than calls made on the original iPhone. If you’re upgrading your device iPhone you may not necessarily notice it, but on a side by side it was pretty obvious.”

Technology

Indirection, Interfaces, and Control Inversion

I’ve been working on some existing code that has a reputation for being very difficult to understand. It’s taken a while but I’m feeling pretty comfortable with it now and it’s not that complicated. Part of what makes the code inscrutable is a combination of too much indirection and control inversion (no documentation doesn’t help, of course).
Indirection is calling code that calls code that finally does what you want.
It’s great for abstraction. For example, do you really know what happens when you write

i = i + 1;

Indirection gives you more flexibility (i.e. polymorphism). It’s what novice programmers fail to do. When you see 200 line functions, duplicated blocks of code, and hardwired values that constantly need to be changed it’s code written by a newbie.
When you see an execution path like

Class1::doit() -- Class1::doit2() -- Class2::doit() -- Class3::doit()

it’s from someone that learned their novice lessons but hasn’t learned the cost of indirection.