Analytics

Wednesday, July 4, 2012

Miscellany: 7/04/12 Happy Fourth of July!

Happy Birthday, America!

Neil Diamond and the Boston Pops


What American kid didn't grow up loving these tunes?


"Experience hath shewn, that Mankind are more disposed to suffer, while Evils are sufferable, than to right themselves by abolishing the Forms to which they are accustomed. But when a long Train of Abuses and Usurpations, pursuing invariably the same Object, evinces a Design to reduce them under absolute Despotism, it is their Right, it is their Duty, to vote out such Government, and to provide new Guards for their future Security. Such has been the patient Sufferance of these States; and such is now the necessity which constrains them to alter their former Systems of Government. The History of the present President of the United States and his Partisan Cronies is a History of repeated Injuries and Usurpations, all having in direct Object the Establishment of an absolute Tyranny over these States. To prove this, let Facts be submitted to a candid world."
HT  Soylent Green (my edits).  See related essay below

Quote of the Day
If there is one thing upon this earth 
that mankind love and admire better than another, 
it is a brave man,
-- it is the man who dares to look the devil in the face 
and tell him he is a devil.
James A. Garfield

My Political Independence

I'm an optimist by nature. I care about my country; I would not be writing this blog if I didn't love it with a passion. I usually distance myself from the professional critic and hypercritical individuals. I have a perfectionist streak, but I don't expect perfection in others, including politicians. I have supported politicians, despite they have sometimes voted against my positions on the issues. If and when we have the inevitable political scandals, e.g., William Jefferson, Bill Clinton, John Ensign, and others, I don't draw inferences about other politicians or their parties: I recognize individual responsibility and accountability.

However, what I don't like is a violation of trust. Everyday we operate on principles of trust: I trust building management to ensure the elevator is safe to operate, the supermarket to ensure its produce and meats are safe to eat, etc. We trust the nursing home staff to treat our elderly relatives with due dignity and respect; we trust school teachers and clergy with our children. Trust is more a qualitative, subjective assessment: we don't necessarily mean that people we trust can't make mistakes. It has more to do with the nature and extent of relevant behavior.

In information technology, we have a concept known as information hiding with related concepts of encapsulation or compartmentalization. The basic idea is that we segregate things in such a way to minimize risk and facilitate manageability. To give a minor example, suppose we have specified 5-digit zip codes in several places throughout a computer application and our application now has to use the 9-digit zip code standard. We could simply design our application to contain the zip code specification in a localized piece of code that the rest of the application uses: we only have to change the length specification in one piece of code, not painstakingly go through millions of lines of code. This phenomenon can be seen in other contexts, e.g., the saying "one bad apple spoils the bunch", doctors amputate a limb to spare spread of infection throughout the body, submarines are designed to localize the effects of a leak, etc.


The last project I did for an IBM subsidiary provides a good illustration of violations of trust, e.g., due diligence by others. The acquired subsidiary has a business model of operating and maintaining ERP systems and databases using Oracle's E-Business Suite on maintained servers. IBM could provide economies of scale and specialized division of labor, including the low cost of commodity Oracle DBA's trained in India during off-peak hours to do routine maintenance, software/database patching, and production database refreshes to testing environments. There were certain limitations to this approach: for example, a Fortune 500 Oracle customer is more likely to have heavily customized EBS, complicating maintenance activities.


Among other things, our business model focused on potential customers which had limited customizations and maintained Oracle's support requirements, including properly maintained environments (the latest product and security patching, etc.) We could do things like version upgrades of the EBS (e.g., from 11.0.3 to 11i), but that would be an extra-cost service.


In this case, I was the Apps DBA (i.e., responsible for EBS software and database infrastructure migration) for a well-known tax preparation franchise operator (not the market leader). This customer was already an IBM customer for another operating unit (IBM was willing to work in a flexible manner with clients, including  hosting the customer's systems--even their own hardware in IBM facilities and other vendors (e.g., management consulting companies).) In this case, IBM had been handling server operation and maintenance while a well-known accounting-affiliated management consulting company was handling Apps DBA upkeep.


What I soon discovered was that my business unit had not properly qualified the customer. The management consulting company had installed and implemented the client's Apps in a certain proprietary fashion, what I would personally call a "poison pill". They did not use Oracle's standard RapidClone functionality; their installation had not been patched for all practical purposes since installation. I discovered that they had also implemented the database with an idiosyncratic directory structure incompatible with our web server patching. I alerted my Indian American manager, a former Oracle executive, and he didn't want me to do the patching. The go live date for transition was just a matter of a few weeks. I was surprised that my manager thought that he was going to win an argument with the client to do substantive patching in advance of cutover. The customer insisted if anyone was going to patch their production in the interim, it would be me, because they didn't want two vendors fingerpointing. Of course, that was unacceptable to my boss. So I would be doing the patching in the process of migration.


I had to invent a solution for migrating the Apps so they worked with Oracle's autoconfiguration process (underlining Oracle's RapidClone technology, enabling things like database refreshes). There would be other nonstandard elements that the account management and project manager failed to anticipate, including certain encryption/decryption software for handling daily bank feeds uploaded into the database. It turned out said software was not part of our approved server applications. I'm now having to fight the IBM business unit bureaucracy to get the software approved and installed literally days before go live. My main point of contact, the client system administrator, told me about the bank load process at the last minute. He also noted that as part of bank policy, only one download would be permitted and I was effectively limited to a single upload attempt--not unlike having to do a crossword puzzle in ink under a time limit.


Let me summarize a short list of things I had to deal with beyond my job description:
  • I was forced to work during the weeks preceding go live on a development server, because the project manager had not secured disk space on the go live required production servers in Phoenix. I discover in the final week before cutover, he still hadn't procured the disk space. I have to escalate the issue.
  • My test database crashes mysteriously one day while I'm in the process of doing a series of patches. It turns out that the Unix administrator configured the disks underlying the database from different devices, contrary to his own department's standards. His manager argues that it was my responsibility to audit his subordinate's activities to see whether they were consistent with his own department's standards (which, of course, were never communicated to me). My manager agrees: I'm now living the life of Alice in Wonderland. (Excuse me if I get a little sarcastic on some of these items.)
  • At one point I need tens of gigabytes dumped off a tape onto a server overnight. The next morning he calls me to tell me that he only managed to dump maybe 50 MB overnight. OH, COME ON! I download PC software bigger than that in mere seconds via my ISP. Did you escalate the issue to the networking group? Never mind, I'll call them... How in the world does their management sign off without checking data transfers among system components and relevant server and network configurations? This is not the only time during the project I run into this same type problem: during the go-live process, I discover the same thing happens trying to copy files directly from the IBM source servers and between designated servers in my own server configuration (which, as you may recall, hadn't been secured until the last minute and only then because of my escalation). I don't understand how their standard procedures don't check for data transfers... We are talking one of the world's leading technology companies.
  • My Indian American manager is heavily pressuring me to task routine tasks for the trainee DBA's in Bangalore.  The whole process was nonstandard; even determining the necessary minimal patching sequence was nontrivial (e.g., Oracle's unspecified prerequisites). Later, after I turn over the migrated database and the client has accepted it, the manager of the maintenance DBA's in Bangalore refuses to accept it based on not having "confidence" because of insufficient tasks to date assigned to his group. (My boss had recently promoted him, even after I mentioned that I had caught the guy on a Netherlands-based project violating Oracle's guidelines on the use of Unix operating system accounts. I discovered the problem troubleshooting a patch failure.) This caused a political problem because our business unit procedures required his sign-off to book client revenue.
  • The only other employee contributing meaningfully to the project is an Indian functional consultant at the client site (which I never visited in person). The idea of go-live was that the client would stop operations at close of business Thursday, I would complete the migration over the weekend. I would turn over the system for a final functionality check by my colleague during the weekend; the goal was to release the system to the client on Monday or Tuesday for their own checks before opening it up. The functional consultant most likely would be connecting to the client servers via VPN from his nearby apartment or hotel. I know I had checked with him no later than Tuesday to ensure that he had tested his connection from home and had a backup arrangement of going to the client site if there was a network problem. He ignored my queries. The client has two ways of making sure I get the data: they would be doing a tape backup after the database went down and overnight the tape, and I would  also try to pull data across the network. Long story short, because of network issues, I finally got a usable copy of data just before the tape arrived late Friday afternoon. I'm then working nonstop until I have the migrated database ready for testing noontime Saturday. I only then discovered that he finally tested his connection from home after close of day Friday and couldn't connect to the client. (The business unit ran a skeleton operation over the weekend, meaning the remote access issue wouldn't be resolved until Monday, when my colleague would be onsite as usual.) I asked him to go to the client site. My colleague refuses, saying he didn't get permission from the client. I asked, "Don't you have a contact number to get access to the building?" He refused; he didn't want to bother the client at home. "It'll wait until Monday." (The go-live went smoothly; the account executive sent out to the project "team" a glowing review from the client--I had done an excellent job managing expectations, among other things. But only one name on that project list deserved recognition.)
The purpose of writing all this out was not to single out IBM for criticism; the people I worked with on this project were outliers, not representative of most of IBM's highly competent, talented workforce. This business unit had been a recent acquisition, and it often takes time for the parent company to get its management team in place. People are human and make mistakes; it's what you do when you encounter the mistake. There are political prices you knowingly pay in exercising leadership and getting things done. I had trust in my teammates and their professionalism. I had trusted the project manager on his own to get that server space without my having to push the issue. I shouldn't have had to take on my other colleagues' problems.

What does all of this have to do with American politics? Unfortunately, everything. This is an oversimplification, but if you look even as something as elementary as the recent transportation bill, it's predictable and nauseating: the Democrats wanted a class warfare tax hike, which they know is never going to happen, and the Republicans want to make up the difference by, say, taking a chunk out of ObamaCare funding, to which of course the Democrats will never agree.

Now, of course, everyone KNOWS that the Democrats are spendthrifts; they are always going to play the good cop. They want to put the heavy burden on the GOP: the Republicans know that the special interests will come out of the woodwork to protest even a single dime being cut from their budget, even if the government can only afford to pay for 60 cents on the dollar. We are not even seeing, say, a 15% cut across the target program budget. And this whole drama is over a slender piece of the overall budget. Sixty percent of the $3.7T budget is senior benefits and Medicaid--and these cuts are politically radioactive. The AARP already has its disgusting ads out, thinly masked threats warning mostly conservative/Republican legislators not to touch a single penny of their underfunded benefits!

When are these demagogues and their special interests going to understand that the 110th Congress and the incumbent President failed to shore up these benefits, with over $40T in unfunded senior entitlement liabilities: they had higher priorities, like adding another unsustainable health care program, pushing-on-a-string financial "reforms", spending over $800M in state bailouts, boondoggle projects, and other assorted bloated government giveaways all dressed up in neo-Keynesian "stimulus" jargon, climate change legislation. I'm not kidding--you can't make this stuff up.

But going back to the Congressional Republicans: well, you know, if you're going to take a political hit for cutting spending, why don't you at least make it worthwhile? Like an across-the-budget spending cut? You don't concede the spending and simply argue over funding details....

The reader may have noted that I have grown increasingly critical of Bush and McCain over the last several months. For the most part I had blackboxed what Bush and the Congressional Republicans were doing through 2010. In part, I gave Bush good marks for his bipartisan success as Texas governor and his leadership in the 9/11 aftermath; I also gave the GOP House props for putting superspender Bill Clinton in a fiscal straitjacket and actually closing the federal deficit for the first time in decades under Democratic control. (Of course, some of those revenues were unsustainable capital gains revenues in the middle of the Nasdaq bubble made possible by Fed-caused malinvestment...)

The Democrats with their transparent arguments made it too easy for me to defend the GOP by trying to argue the problems over the 2000's were based on laissez-faire economic policies. Any intelligent person knew that crony interests are politically agnostic, and business regulations continued to increase under Bush, in particular Sarbanes-Oxley. 

But what began undoing the GOP's case was a variety of things; one was Bush's decision to nominate crony Texans as Attorney General and to the Supreme Court. Then there was the mishandling of both Afghanistan and Iraq; I'm not even going to argue the specifics of the policy. Bush had to understand the intrinsic difficulties of any Afghanistan occupation, just given the general history of Afghanistan; he also had to know the reasons why his Dad decided against overthrowing Hussein during the first Gulf War (i.e., the sectarian problems). A President Guillemette would have been very skeptical. But here's a clear observation: when the Northern Alliance quickly swept the Taliban out of power, I had the uneasy feeling this was a tactical, not strategic defeat: they were retreating to fight again another day.  Here's the point: remember how the Iraq resistance melted away (as did the functioning local government) after the US military swept through? I had the distinct feeling that we were singing the same song, a different verse. Yet the Bush Administration seemed completely unprepared for the local government to wither away.

I was also not happy with the fact that we were treading water, chewing up soldiers between 2004 and 2006. I did like the fact that Bush wasn't micromanaging war details like LBJ or Obama, but I'll never understand or accept why Bush waited until after the 2006 election to discharge Rumsfeld and announce a change in strategy. I read Bob Woodword's The War Within, which led me to further doubt Bush's management of the war/occupation.

I also thought that Bush was politically naive in pushing for social security reform after his 2004 reelection. Although his reelection was significant, it was not a landslide. If you are going to take on the third rail of American politics, you have to anticipate the opposition, which was predictable. (Personally if I was going to take the risk, I would have pushed for full privatization.)

Finally, what bothered me about Obama as Commander in Chief wasn't so much policy (although privately I wanted us out of both Iraq and Afghanistan, sooner than later) as process. Everything about Obama is based on political considerations; on the other hand, I felt however misguided, Bush was sincere in his beliefs. Obama is using drones not unlike how Clinton used cruise missiles. The few times Obama has been decisive is when military commanders are caught saying something uncomplimentary about the American or Afghan leadership or changing Clinton's policy on gay soldiers.

I have signaled my change in perspective in several ways: I had become increasingly critical of Fox News Channel, I changed the blog design and description, and I published one-off posts distancing myself from John McCain and suggesting the birth of a pro-liberty conservative party.

What about the Republican Party? I have never contributed to or worked for the party; I have embedded very few RNC or Romney ads, and I have been critical of  Romney on multiple occasions. I may maintain affiliation for voting purposes for the same reason Ron Paul returned to the GOP after running as Libertarian candidate for President in 1988: in a dominant two-party system, only one party addresses the need for limited government.

Richard M. Ebeling, 
"A Declaration of Independence Against Big Government":
Thumbs UP!

This essay has been reprinted elsewhere on the Internet (e.g., here and here). The author, who published the essay right in the middle of the emerging Tea Party movement in 2010, is clearly attempting to draw comparisons between the British government in Revolutionary times with the scope creep of the federal government under the control of the progressives during the 110th Congress.

In fact, there were a number of reasons for the colonists to object to the British, whom after the French and Indian War decided to tighten its grip over the colonies; the colonists, who had contributed to the war through locally-financial militias, found the British wanted to retain an unnecessary standing army and other British priorities at the expense of local colonists through a series of dedicated tax laws "without representation" in Parliament. As time passed, the British would trump local/state laws, appoint judges and governors directly (vs. local control), suspend various individual liberties (e.g., trial by jury), allow British soldiers to obtain local supplies at soldiers' pricing discretion and live in colonist homes without their consent, and restrict colonists from trading with other nations. (The Declaration of Independence includes a long list of specified grievances.)

Ebeling particularly notes the transgressions against economic liberties:

The fundamental premise behind the mercantilist planning system was the idea that it was the duty and responsibility of the government to manage and direct the economic affairs of society. The British Crown shackled the commercial activities of the colonists with a spider’s web of regulations and restrictions. The British government told them what they could produce, and dictated the resources and the technologies that could be employed. The government prevented the free market from setting prices and wages, and manipulated what goods would be available to the colonial consumers. It dictated what goods might be imported or exported between the 13 colonies and the rest of the world, thus preventing the colonists from benefiting from the gains that could have been theirs under free trade.
Everywhere, the king appointed various “czars” who were to control and command much of the people’s daily affairs of earning a living. Layer after layer of new bureaucracies were imposed over every facet of life. “He has erected a multitude of New Offices, and sent hither swarms of Officers to harass our people, and eat out their substance,” the Founding Fathers explain.
Nation of Moochers: Thumbs UP!

I'm a huge Stossel fan... He used to be the best reason to watch ABC-TV...



Musical Interlude: My Favorite Groups

Tom Petty & the Heartbreakers, "Something in the Air"