The Long Gray Line

“The Long Gray Line” is a film about a man, fresh off the boat from Ireland in 1898, who becomes an long term fixture at West Point. I had heard of the movie for years, but never watched it before. My main impetus in watching it was to see what the Academy looked like before they built Eisenhower and MacArthur Barracks, Washington Hall, and the rest of the “new” buildings that made up so much of my experience there.

Funny how many scenes were shot with active Cadets playing extras. They didn’t even need period costumes, they just showed up in their issued uniforms. The officer and NCO uniforms changed visibly over the years, but not the Cadet uniforms.

When the Lusitania sunk, and the Trumpet sounded, the question was not “are we going to lose anyone” but “who are we going to lose.”

The train doesn’t stop at West Point anymore: there is an iron fence between the Train Station building (used for Social Events) and the still active tracks that periodically send trains to chase the climbing team from their perches near “Crew” wall. 20% Of the Corps of Cadets are women. Cadets have Majors, cars, and cell phones now. Much of the plain has be converted to Sprots fields. Graduation is held in Michie Statdium, not at Battle Monument. Central Divisions are gone, with the execption on the first division, kept as a Bank and Museum. Intercollegiate athletics have taken on a huge role, displacing military training as the primary form of physical exercise.

Cadets still take Boxing and Swimming. Cadets in trouble still walk their post in a military manner at the quicktime, 120 steps per minute, for several hours each weekend, until their hours are all worked off. Chapel, no longer mandatory, still fills a huge role in the lives of Cadets and Officers alike. West Point graduates still fill the upper officer ranks at disproportionate numbers to their commissioning ratio.

I mentally compared it to the movie, “The Butler.” Both told the story of an institution from the point of view of someone fairly far down the chain. Both are historical, and driven by real people and events. Both have their share of Schmaltz, of makeup and aging, of historical costumes often becoming the real star of a scene. Both deal with pieces of American Government. Most important, both show peepholes int exclusive institutions that are otherwise reserved for people who have committed themselves far beyond the average. Both have Eisenhower.

But where as “The Butler” shows the evolution of America, it is the static aspect of West Point that strikes home hardest. Even the New Buildings don’t radically alter the image of West Point, they just sharpen it. The waiters in the Mess Hall are still culled from the most recent of immigrants. The words to songs like “The Corps” and “The Alma Mater” may have been slightly adjusted to reflect the greater mixing of genders, the songs still instill the thrill from the presence of Ghostly Assemblage of The Long Gray Line.

There is always something a little silly in watching actors play roles when you know the real people involved. I was a Cadet, and watching a trained actor play one with all of the earnestness and fresh-faced appeal that is the hallmark of the 1950s feels almost like I am being aped. Of course, that must be true of any role copied from real events, and I take no real offence from it. It just further reinforces how strange West Point must seem to those whom have never attended it. How can your really understand that place until you have had a dream where you are in the wrong place, in the wrong uniform, desperately sprinting to get to formation? West Point may be America’s Camalot, but for me it truly is my Alma Mater.

Obamacare Website Inspired Rant

I’ve been in tech a while now, and been through a couple of Web site launches, though not for a long time. Technology has glitches, and they get fixed, and then you find the next round. You find out problems when you have users. So, go to the ACA web site, beat the snot out of that thing and report it.

But I will say this: it should be an open source code base. There are a lot of people that want to see this thing succeed, and being able to look at the code is the best way to make that happen. Linus Torvalds, of Linux fame, once said “With enough eyes, all bugs are shallow.” We’ve lived for a long time with the effects of having technology handed to us and being commanded to consume it. “Would you buy a car with the hood welded shut?” And yet, time and time again, that is what we are asked to do.

Why do I make my life harder by using only Linux? Because there is nothing more important to Freedom than information, and nothing more important to free information than having control over the machine that controls your information. Yes, I have to deal with Android, which is sort of Linux, and sort of a black box. I used WebOS (Palm) as long as I could. I do not use Apple products and I do not Use Microsoft products because, when it comes down to it, I want access to my tools.

I wood carve because I like the ability to take a raw material and make something out of it. For thousands of years, we only had simple things that came from the earth. The magic of the smith was available to any that would learn it. Or of the wainwright, or the carpenter. We could fashion our environment with only the tools from our environment. Now we live in a world where these tools are three and for layers abstracted from us. The primary tool that does all this abstraction is the computer. A simple tool that does little more than fetches two numbers from memory, performs basic arithmetic on those numbers, and stores them back in memory. And from this simplest of rules we have machines that can keep us safe , or that can manipulate a tool to fashion a block of wood into whatever shape we can dream of…or anyone can.

Apples was a has-been company until it gave up on trying to write its own preemptive multitasking operating system and decided to build on top of an Open Source one. Its biggest competitor, Microsoft, once capable of putting the final nail in the coffin, bailed it out. Now that same competitor finds itself being edged out of the very market it dominated. At the low end and at the high end, machines built on a foundation of Open Source have ushered in an era of greater stability in computing. Do we forget how we railed against the blue-screen-of-death?

And the Web, that greatest of communication mediums that we have found to date, what made it successful? Open Standards and Open Source. On the server side, sites were powered by Apache, and a slew of nascent new programming languages. Not all was open source. The browser was not, and we saw huge browser incompatibilities. The Netscape/Microsoft battle left Netscape in ruins, but the code that they posted, the Mozilla browser, finally gave us a completely Open Source stack, from Operating System, to user interface, to server, for so many services.

So, yeah, the website that is a key piece of the ACA has problems. Most major web sites do when they are launched. Most minor ones do to. And by most, I mean all. The opponents of the ACA point to it as an example of Government incompetence. Nah. I see it as the latest example of a poor approach to information management. You want security? Use publicly analyzed algorithms and keep your keys secret. You want a solid web site…open the code, and build the security measures on top of best practices. doesn’t matter if you are huge or tiny, if you are doing something brand new, or just exposing your pictures to your friends over the internet.

Of course, as I type this, I realize it is much too long as a rant for Facebook status, and it is something I want to keep. It is mine; I will post it on my blog, running Word Press, on a Linux system running Debian (a competitor to where I work in all the right ways) and finish editing it in emacs. Only then will post it on Facebook.

Such a geek

I was looking through the IPA code and came across these two lines:

‘Str’: _ipa_create_text_input,
‘Int’: _ipa_create_text_input,

I immediately thought

What is he doing putting D&D character abilities in the code?

Of course, the next line was

‘Bool’: _ipa_create_text_input,

Ah, data types.  Once a geek…

Entangled Dependencies

Our LDAP Client has a wrapper for creating a persistent search.  In order to execute a persistent search, a polling mechanism has to call the client code with notifications of changes from the LDAP server.  This means a threading library.  The call looks something like this:

LDAPCLient->GetApp()->GetThreadPool()->ScheduleTimer(MakeFunctor(callback))

Here the call to GetApp is completely superfluos to the logic:  we should not care where the ThreadPool comes from.  Instead, LDAP client should either take a thread pool pointer in its constructor, or a thread pool should be passed as a parameter to CreatePersistentSearch.  I prefer to resolve all dependencies like this at object construction time.

GetApp throws an exception if it is called prior to a call to AppImpl::Init.  Init reads an XML based config file.  So our dependencies now include both the config file and the xml parser on top of the App object.  The LogObject and LogName are also initialized in the App.

What we are seeing here is how dependencies get entangled implicitly.  In order to reuse the LDAP client, or to create a Unit Test for it, I have to initialize an App object, which is far beyond the scope of LDAP.

Continuing on looking at the ThreadPool, I see that the AppImpl actually creates the ThreadPoolWin32 object by passing the config file view to it, and the config file view is used to fetch values for the state of the thread pool value by value.  Example:

_config->Get(“TaskMax”, &_maxWorkerThreads);
_minIOThreads = 1;
_config->Get(“IoMin”, &_minIOThreads);
_maxIOThreads = 2 * _maxWorkerThreads + 1;
_config->Get(“IoMax”, &_maxIOThreads);

The binding of the values to the object should be external of the constructor, as it is just one Initialization scheme.  What if we want to reuse this object and read the values in from a database, or from a different config file format?

The LDAP Client should have a field that is the ThreadPool base class.  For the Unit test, we could mock this out. Of course, maybe the persistent search itself should be its own class.

Even more musings

  • Being able to function with little sleep is an essential skill for an Army Officer.
  • You are never more aware of the style or quality of the pavement as when you are on Rollerblades.
  • It rarely saves time to go a longer route when trying to avoid traffic, but it makes you feel like you are making more progress since you keep moving.
  • It’s not that I wasn’t as big a geek as I thought I was, it is that fewer people knew it than I realized.
  • SQLWCHAR != wchar_t
  • The last exchange between Fezzik and Inigo (“Fezzik, you did something right for once.”  “I won’t let it go to my head.”  Should have been a rhyme.)
  • I’m way too aware of the chord changes when I listen to music.
  • Listen to Leo!
  • Hire smart people and then make them do menial tasks is the basis for too many companies.
  • Cygwin makes working on Windows merely distasteful.
  • Just because we elected a Black man President does not mean that racism is defeated in America.
  • You would have to go back before sliced bread to find an invention greater than the Thera Cane.
  • I here-by dub anger derived from problems while developing software “Code Rage”
  • Kind of Blue. The best Jazz starter drug I know.
  • Power putty is liquid, it just flows really slowly.
  • If you haven’t used your waffle iron to make grilled cheese sandwiches you are wasting its potential.
  • I have embraced my inner geek, since my outer geek is getting all of the attention and my inner geek was feeling neglected.
  • I swear I will learn how to type someday.
  • Looks like the answer wasn’t 42…it was 44.
  • When the build system takes too long, avoid the build system.
  • Puff the Magic Dragon still makes me tear up at the line “A Dragon lives forever, but not so little boys.”  If you have a kid, you’ll understand.
  • Few things are more fun to argue about than fascism in Starship Troopers.

Not one cent

I’m as worried about an economic meltdown as the next person, but I don’t trust this administration to do things right.  I don’t think Congress should give the treasury anything just yet.  Instead, let the Treasury department submit a lits of deals it wants to make, and a line item for each company.  This can go through Congress and get signed by the President as law.  No more blank checks.

Is this too much oversight for ya?  Sorry, but if we are going to start spending taxpayer dollars on this, we the tax payers need to be informed.  I trust congress to do this a hell of a lot better than I trust  Our Executive Branch.  Not more Patriot Acts.  No more Blank Checks.  No more “Trust us.”

This country is a Republic, let’s keep it that way.  I’m from Brookline Mass.  My People in Congress are John Kerry, Ted Kennedy, and Barney Frank.  I feel OK in letting them oversee where my tax dollars are going to be spent.  The Treasury department is headed by an appointed official.  The executive branch doesn’t have power over the purse strings, the legislative branch does.  Let’s keep it that way.

I really didn’t want this to become a political blog.

[Edit]

OK, the oversight has made it into the bill.  I feel better.  Barney Farnk and John Kerry are both behind it, so that is a plus.