Saturday, February 14, 2009

Reach out To Me, Mr. President!

Driving in to work the other day I heard the news on KNX, Judd Gregg backed out of the Secretary of Commerce job. First Richardson, now Gregg. Richardson, I understand, "Pay for Play" allegations can be a little embarrassing. The Judd Gregg thing is puzzling. Sounds like Judd wanted the job...and then got nervous. But hey, politicians are fair weather friends. Vote public opinion and you'll have a House to live in till the rest of your days; go against the grain, vote your heart and you better start looking homeward.. In this case, it may have been vote against your party or deny your party that extra vote in the Senate, but who can tell. At least he didn't leave you in the lurch after a couple of months on the job.

So, Mr. President, I want to help out. After minimal consultation with family and friends, I am throwing my hat into the ring. Reach out to me, Mr. President! I can do the Commerce job. After getting twice burned, I don't expect you to leap at the prospect without a little background on my credentials. I looked for an application at usajobs.gov, but couldn't find the listing for Secretary of Commerce, so I hope you'll understand my approach. Call it an open resume.

I should begin by stating that I am a registered Republican. I joined the Grand Old Party right out of graduate school on the advice of my old friend Hobart. Hobart pointed out that nearly everyone he knew had started out a Democrat, but once they achieved some career goals and bought a first house they moved over to the GOP. I didn't have a house and at the time was earning significantly below the poverty line but I took Hobart's words to heart. I wanted to have a house and I certainly wanted to increase my income so I figured that joining the GOP would sort of bootstrap the rest of it. I do now have a house and my earnings place me somewhat over the poverty line (family of four) so I guess it worked. Thank you, Hobart. But I must confess, Mr. President, even though I have been a registered Republican lo these many years, even though I have voted in nearly all the Republican primaries (except the last two); I must confess that in no general election have I brought myself to actually vote Republican. Whether this be a failing on the part of myself and my conscience or, perhaps, the GOP itself, I cannot say. However, I do feel it incumbent upon me to come clean at this juncture, my possible first foray into Washington politics. Despite my lack of a clear ideological compass, should you feel the need to reach out across party lines, Mr. President, I stand ready.

But enough of my political affiliations, what are my qualifications to assume the office of Secretary of Commerce? What is it in my background that allows me to hope, even imagine that I could make a contribution at such an exalted level? Long time readers will note that I have some acquaintance with software. This acquaintance springs from working within a large software development organization supporting the DOD. Thus situated, I have some experience with government procurement practices, both in nascent form when a program is still but an idea as well as in full bore operational form when the full weight and measure of the government regulatory practices can be brought to bear. I must admit that knowledge of these traditions has not fostered in me an inordinate appreciation of their value. The correspondence between metrics and accomplishments remains, for me, an unproven relationship. The ability of small groups to create vast achievements contrasted with the ability of large groups to spend correspondingly large amounts of money without creating similarly large capabilities has fostered in me perhaps a cynical view of the process as it is exercised by large government programs. And yet I exist quite happily within that world. Mr. President, I stand ready.

I do have strong opinions, backed by quantitative analysis, of the directions our government - dare I say it - my cabinet department might take as elixir for our current economic impairment. Past readers will note that within this column, I have proposed "making well" the tens of thousands of mortgages falling to foreclosure each month. I have provided projections of the expense of such balm and noted that the cost is well within the scope of funding applied to TARP and the latest government economic fix. These opinions and ideas are not without a certain historical basis in economic theory. John Maynard Keynes in The General Theory of Employment, Interest and Money wrote

"a large proportion of our positive activities depend on spontaneous optimism rather than mathematical expectations, whether moral or hedonistic or economic"

Pretty exciting stuff, but what better way to create a little spontaneous optimism than to fix all those bad mortgages. Tax breaks, that extra $5 to $10 a week, do not create optimism. The most likely scenario is that the money will go to one more fast food outing, leading to heartburn and yet one more percentage point in our country's embrace of obesity. Consider an alternative. Create a symbol of hope, a stars-and-stripes embossed government-standard envelope containing mortgage relief, delivered to a foreclosee's door. The contents of the envelope document a promise to make the unmanageable house loan, thanks to a change in the nation's economic policy, now manageable. Talk about raising the spirits. And what better way to celebrate than putting some newly-spendable cash into the local economy. Would it be expensive to make all those defaulting loans well? Of course it would, but the analysis (see the archives at datacorner for the numbers) suggests this fix is way cheaper than proposals currently on the table. Imagine the impact on national morale, immediately lifting what Keyes called the "depressed animal spirits" now dragging out the recession. Mr. President, I stand ready.

So Mr. President. Reach out to me, a lapsing Republican, an engineer, a software developer, husband and father of two - I hew to academia's tradition of putting the most important attributes last. All I can offer is pragmatism, facility with numbers, and an adequate dose of common sense (although writing this blog may give lie to the last observation). Is this the ground from which the next Secretary of Commerce will spring? Much as the carefully tended tomato seeds refuse to spring from the planter in my backyard, I doubt it. But should you make the offer, I pledge to continue your tradition of complete sentences noted by Andy Borowitz in his November 18 column, and I do remain untainted by any appearance, actuality, or even opportunity for "pay for play" or tax dissimulation.

Saturday, February 07, 2009

Aliens Write Software Too

Or do they. Threw this little gem out at dinner the other day. Came from sitting at the laptop and wondering about spaceships. The little green guys that motivated Independence Day and Area 51, do they have guys sitting at laptops too? Being a software person, I figured the answer must be yes. But number one youngest daughter (at the dinner table) had a different take. "What if they don't." green guysHow do you answer that? Might start with, "what is software?". As a working definition, let's say software is anything that lets you take hardware, a concrete thing that you can touch and feel, and then cause it to change its behavior or function. In a very limited sense, a switch might be considered a piece of software since it can cause a lightbulb (thing which you can touch and feel) to change its behavior (lights up and if you feel it and touch it you probably get burned). Course a switch is a pretty simple piece of software, but the lowly switch does cover a bunch of attributes associated with software: configuration, ability to change state, memory are a few. More complicated software would have a bunch of switches and more complicated functions...but you get the idea.

Ok, so do aliens have software? Or not. Let's get on with it. Consider the spaceship (that's the Millenium Falcon being refueled down below). Pretty complicated piece of thing. Lots of moving parts. Can stretch or exceed normal physical limits. Can keep the driver alive in the "vastness of space". Means supplying whatever the driver breathes and eats and handling whatever comes later.spaceship Means the ability to go pretty fast, unless aliens live another spaceshipreally long. Means the ability to counteract gravity...which is not such a problem when you're in space since even low-power ion propulsion can work. But it gets pretty important pretty darned fast when you're falling through the atmosphere. So a spaceship can do an awful lot of things and probably do them pretty well. And? Well, pretty complicated things usually have a lot of parts. For the whole spaceship to work, all those parts gotta work, too. Which introduces the idea of yield.

What's yield? Suppose the spaceship needs 100 thrusters to get off the ground. You can make 100 relatively simple thrusters and hook them up to the spaceship or you can make a single really complicated thruster that does the work of all 100 simple thrusters. But the really complicated thruster will have a whole lot more pieces to it then the 100 simple ones. So the really complicated one takes a whole lot longer to build, and if it does break, you really are hosed. Think single engine airplane and the engine quits. Remember that guy who just landed the airplane in the Hudson? His plane had two engines and they both, simultaneously, choked on a bunch of birds. rocket thrustersIf you'd said, just before takeoff, "Chester, you are about to fly in to a flock of birds. Would you rather be flying a twin engine A320 or a four engine 747. Whaddya think?" Go ahead, take a guess at the answer. So, even the alien, might prefer a 100 thrusters to a really complicated single thruster solution. Imagine we're now at the Thruster Assembly Plant - out there in alien-land. The assembly plant is churning away. Workers hunched over the assembly line. All those thrusters coming down the conveyor belt. And you've got the alien chief tester all the way down at the end of the belt. The chief tester is responsible for making sure that each thruster actually works. Unfortunately, it turns out that they don't all work. Turns out that about 95 out of every 100 are OK; 5 don't quite make spec.

Those 95 out of every 100 work, right out of the factory, but what happens in space? Well, hopefully the aliens did some end of life testing...means running a bunch of thrusters till they poop out and seeing how long that takes. If you're gonna put your best spaceship pilot in this thing and go across the "vastness of space", you probably want some expectation that your pilot will come back....or at least keep communicating until we've all lost interest. So, lets assume that trip across "vastness of space" from alien home-central to earth is a week. The end of life testing reveals that if you put 100 thrusters on the spaceship, you run them all for a week, they still all work. But if you run them for two weeks (don't forget the trip home), a couple of them break. So what to do? OK, if the spaceship needs a 100 thrusters to move around, let's put in a couple of spares and when a working thruster breaks, we can switch in the spare.

A switch. Isn't that how all this got started? Yep, for most conceivable complicated things you want to do, you do need some means of affecting or changing the thing's behavior. At the very least, you need a switch. But it could get even worse. Suppose in doing the end of life testing, the aliens found out that if, rather than run each thruster until it stops working, you give each one a break every once in while. Turns out thrusters really like those breaks. Turns out that thrusters run that way, with breaks, stay alive twice as long! Wow. Back to the spaceship. So, let's say the green guys put in 10 spare thrusters. Rather than letting them sleep until something breaks, the alien chief tester suggests a new strategy. Rotate through all 110 thrusters. Every once in a while, the chief tester guy says, give 10 thrusters a break, keep at least 100 of them running. What happens? End of life testing says they will all last quite a bit longer....and you still get some spares. Those aliens are pretty smart.

So what needs to happen to implement that strategy? You probably need 110 switches to turn each thruster on and off. You probably need to remember which thrusters last ran so you get an idea which ones need to get a break. If a thruster goes south, you probably want to remember about the broken one so you never try to use it again. All that stuff to remember, and it has to be ready to change on moment's notice...like when the spaceship hits a flock of birds. Oh yeah, no birds in space, all right, maybe when the spaceship is landing. Back to our definition of software, "anything that lets you take hardware, a concrete thing that you can touch and feel, and then cause it to change its behavior or function", looks like we can make a pretty good argument that a safe (good against breakage), efficient (good use of spares) spaceship probably has something like software....and that's just to move around. Also has to navigate and keep the pilot alive and all that stuff...but that might be chapter 2.
existentialism

So maybe there are little green guys sitting at laptops messing with software. Kinda weird. Is the existence of software one of those absolutes? People gotta breathe and eat.
To exert a little control over the breathing and eating they build stuff. And when the stuff gets a little more complicated they gotta write software. Might software be an expression of existentialism, our -and the green guys- autonomy over the physical world? The developer of software imposes a his/her/its own view of reality upon the physical attributes the software controls. According to Sartre, "Evil is the product of the ability of humans to make abstract that which is concrete." What is software other than an expression of the ability of humans to make concrete that which is abstract?