Sunday, February 15, 2009

And Now for Something Completely Different

The migration turned out to be a whole bunch easier than expected. Three cheers for WordPress' built-in Blogger migration support. It's not 100% perfect, and I'm not set on the theme either, but it's good enough to kiss Blogger goodbye.

Update your bookmarks: http://blog.probonogeek.org

Update your feed readers: http://blog.probonogeek.org/feed

Thanks for all the good times, hope to see you 'round me new place.

Time for a Change

I started this blog with a tip of the hat to my earlier efforts at an online journal and a hope that Blogger would be a more permanent home than past attempts. By any objective measure, Blogger has been a complete success, clocking a total of 289 posts since April of 2005. Less prolific than, say, Wonkette's twenty posts a day, but not too shabby for a dude whose never kept a blog longer than a year.

Recently, I've grown frustrated with Blogger. It's a fine platform, and having someone else deal with the hosting is certainly a plus... but in the end, it's a service over which I have no control. It does exactly what Google wants it to do, and nothing more. For a long time I didn't want more... but times, they are a changing. The first hint of longing came when friends launched two new blogs with WordPress, Minor Failures and GeekBeer. Both blogs have gravatar support, an idea with which I am absolutely smitten. Then, most recently, I posted some code examples and found the Blogger support for showing that code was most disappointing. Combined with the byzantine themeing system, the inability to change the blog's domain name, and the general need to refresh the look & feel of the site; one gets a very compelling case to switch blogging platforms.

I administer dozens of WordPress blogs for work and thus have a deal of familiarity not only with general hosting and administration concerns, but also the internal code structure. PHP isn't my first choice of languages, but it's always fun to contribute when you can. So, gentle readers, this marks my last second-to-last post with Blogger. I'm going to take a few days to write a conversion script that will port as much content as possible from the old blog to the new one and find a reasonable theme from which to start customization. Soon as the new blog isn't embarrassing to look at, I will switch the Apache configuration so that blog.probonogeek.org points to the WordPress deployment instead of redirecting you to Blogger. Once that is done I will make a final post letting readers know where the new RSS feed is at and then leave good old reliable http://probonogeek.blogspot.com behind.

Wednesday, February 11, 2009

The Trouble with Enumerables

Quite a lot of political postings for what's suppose to be a technical journal recently... time for a return to our traditional values!

Today's topic is Enumerables. Originally I thought this post was going to be about iterators, but on reflection, iterators aren't really the trouble here... but I'm getting ahead of myself. Ruby, dynamic scripting language of MVC fame, has this Enumerable concept. What it does is takes a set of objects and performs actions on that set of objects, sometimes returning a modified set, sometimes returning a single element from the set. The available actions are known as iterators, and some of the more common ones are each, select, and collect.

The underlying mechanic for all of these iterators is the each iterator, that does nothing more than return each item in the set, one at a time. You can then wrap the each iterator with additional functionality to generate all the additional iterators... so, if you wanted to go through each item in the set until you find an item that meets an established criteria, you would use detect. Or, if you wanted all of the items that meet the criteria, you would use select. The big upside is that you get really clean looking code since you are using all this built in magic instead of writing your own.

Let's look at a bit of code to see what I'm talking about. We start with an array of hashes describing a person, with their name and address:
  person_array = [
{
:name => 'alice',
:address => '123 Fake Street'
},{
:name => 'bob',
:address => '1600 Pennsylvania Avenue'
},{
:name => 'charlie'
:address => 'Infinite Loop'
}
]
Now, we want to know alice's address, so we can use the detect iterator to find a hash with a :name value that equals "alice"
  person = person_array.detect { |person| person[:name] == 'alice' }
puts person[:address]
Which, one must admit, is pretty slick. In that one little line of code we go all the looping, variable checking, and returning behavior. You can even take it a step further and wrap the whole thing in a method:
  def address_for(name,person_array)
person = person_array.detect { |person| person[:name] == name }
return person[:address]
end
Now, you're probably asking, if I think all of this is so slick, why title this post The Trouble with Enumerables? The reason these little guys are trouble is because they can hide inefficient implementations behind clean looking code because it teaches developers to treat all sets of data as equivalent.

But, the truth is, sets of data are not equal in the eye's of their maker. In fact, in the dynamic language world there are really two different kinds of sets, each with their own particular strengths and weaknesses. On one hand, you have the arrays, which is ordered data, meaning that each item in the set is stored in a specific order, 0..n, and you can loop through that safe in the knowledge that you're going to get the data in the same order every time. On the other hand you have hashes, which is keyed data, meaning that each item is stored based on a hashed key value, such that you can find it again quickly by just repeating the hash algorithm.

Let's return to the code example from above. I used an array there, but if I know I want to use that data to find addresses based on a name, it would be much faster if I used a hash that looked like this:
  person_hash = {
:alice => '123 Fake Street',
:bob => '1600 Pennsylvania Avenue',
:charlie => 'Infinite Loop'
}
Then to access alice's address all we would need to do is:
  puts person_hash[:alice]
We can even wrap it in the same method as above:
  def address_for(name,person_hash)
return person_hash[name]
end
Now, the output is the same in both cases, "123 Fake Street", but the two implementations differ in important ways. The first one (with the array) is an O(n) speed function, meaning that to find the desired result under the worse case scenario, it will take n runs of the function to do so (n being the number of items in the array). That's because we have to look at each item in the array to see which one has a :name value of "alice". The second implementation (with the hash) is just O(1), or whatever constant number you want to put in between the parentheses. No matter how many items are in the hash, it will take the same amount of time to find alice's address.

Which is why Enumerables are trouble. Because they are so darn easy to use they hide the fact that you may have traded a possible constant time function for a linear time function with no actual gain in functionality.

So, my fellow ruby developers (and any other language that has enumerable like functionality), the next time you reach for your favorite iterator, ask yourself, am I using this because it's easy and looks clean, or am I using it because it's the best tool for the job? There are plenty of good reasons to using an enumerable, but if your sole reason is because it's "easy and clean," then you are only asking for trouble down the road when you put your code into production and suddenly that array of four items you tested during development has become 4,000 items and that one function is slowing everything down, to say nothing of all the other functions where you made the same short-sighted decision.

Monday, February 09, 2009

Thoughts on Stimulus

Sen. Arlen Specter (R-PA) has a piece in the Washington Post this morning entitled, Why I Support the Stimulus. Beside the rather boring title, I think -- in general -- I agree. There has been much machination about how the Obama administration failed to play this properly, but I think that's wrong... both in function and form.

Functionally, this is a stimulus bill (though, I prefer the term recovery bill, not sure why that language isn't used more frequently) whose primary purpose is to get the economy moving through a large scale injection of government spending. Period, full stop. It is not a green energy bill, or a universal health care bill, or an education reform bill. Those partisans who saw the stimulus as an opportunity to attach their personal pet project, regardless of how meretricious the idea might be, are guilty of the same sin as when the Republicans used September 11th to push through only tangentially related policy objectives through a hurried congressional approval process.

Specter, a moderate Republican, has joined with other Senate moderates to trim many of these programs. The folks over at Think Progress' Wonk Room would have you believe the sky is falling and that these Senators oppose the programs they are either eliminating or reducing. But there is little evidence of that, and Specter admits that many of the programs being cut are "worthy in themselves." But his point is that we have an appropriations process for this sort of thing, and with that process comes deliberation, transparency, and accountability. Just as anti-war activists were angered by the Bush Administration's refusal to fund the Iraq War through the normal appropriations in an effort to hide the real cost, so too should we be angry when any other administration tries to go through the back door.

Which brings us to form. This isn't a game! Do you hear me Nate Silver. Obama did not run -- and he did not win -- on the argument that he was going to get his way every time. He was elected on the premise that government is broken because we treat it like a game. There is this great story, which I can't seem to find online now, that I first heard reported on the Daily Show. Leading up to the 2006 midterm elections, where the polls suggested the Democrats where going to seize power in the House (the Senate was still too close to call), a White House official was asked how Bush was going to work together with the new Democratic Committee Chairs. The official responded with a glib response about how, "we are playing this game to win it," implying the Administration wasn't going to entertain the idea that the Republicans would lose their majority. Then, in a moment of absolute political honesty, a reporter gave a follow up... "It isn't a game. The American people want to know how you are going to govern."

And the dude was absolutely right. I've been in politics, I know it's easy to treat the whole thing like a game, with pieces you move around the board and objectives achieved. But this is real life, it has real consequences, and developing strategies based on the philosophy that this is a game, and not governing, is exactly what Obama ran against. He is governing, best he knows how, and helping forge a stimulus bill he believes will get America moving again. The rest of the Congress, they are governing too, in their own way and with their own priorities. But we shouldn't treat this as a game, and we shouldn't say anyone played anything right or wrong. It's not about winning and losing, it's about the our lives.

Tuesday, February 03, 2009

A Bad Day for American Health Care Reform?

Today Sen. Tom Daschle, former Senate Majority Leader from South Dakota, asked President Obama to withdraw his nomination as Secretary of Health and Human Services. I will admit that when Daschle was first nominated, I was very excited. I thought, here was a man who knows the Senate better than most, is a passionate advocate for change in health care, and may be the one guy who can shepherd universal health care through the Congress. I honestly don't know how he would perform as an administrator, but you can solve that with a good Deputy Secretary. But this guy, this guy was going to make the politics happen.

However, I cannot agree with Sen. Kerry's comment following today's announcement.
I wish Tom Daschle had not decided to withdraw his nomination... While Tom’s decision is a reminder of his loyalty to President Obama and his determination not to be a distraction, this was no ordinary appointment and today is not a good day for the cause of health care reform.
With all due respect to Sen. Kerry, today is not the bad day for the cause of health care reform. The bad day was when Sen. Daschle, a man who served on the Finance Committee of the United State Senate (they write the tax code), failed in his basic obligation to pay his taxes. This isn't the sort of difficult to understand tax situation, like with Sec. Geithner, this is an obvious case of either gross negligence or willful evasion.

If you had asked me before last year's tax season, I might have had a different feeling. Last year I fretted extensively about my taxes because so much of my income was as an independent contractor. As I had failed to make quarterly installments, I had a significant tax burden to pay... and I had to save and scrimp for months to come up with the money by April 15. I didn't have to do that -- a lot of what I earned never got reported as 1099 income -- but I reported it anyway because the law is clear. The law was equally clear for Sen. Daschle, as it is for rest American upper class who seems to be engaging in massive and widespread tax fraud. I wonder, how many people making over a million dollars annually in this country would pass through this kind of scrutiny? It sort of make sense, if you think about it... try and skim off as much off your taxes as you can and bet that if you do get caught, you'll get the mess cleared up through lawyers. It's a win-win... unless you are the average tax payer who can't afford tax lawyers and whose only real option is to pay to the best of their ability and pray they aren't audited.

Yes, I too wish Sen. Daschle could have served as the new Secretary of Health and Human Services, but I wish even more that he had shown a basic level of respect to his fellow citizens and the law and shouldered his share of the burden, instead of trying to get away with tax evasion until suddenly it became a political issue.

It's just like John Stewart said on the Daily Show.... "pay your f*cking taxes."

Sunday, January 25, 2009

Frost/Nixon

This afternoon Sarah and I took in a matinée at the local two screen cineplex, finally seeing Frost/Nixon. If you are a fan of political biographies, I highly recommend it. The movie centers around a series of interviews between David Frost, a British talk show personality, and Richard M. Nixon, the 37th President of the United States.

Two things really struck me about the movie...

First, what would it take for a modern day politician to agree to a series of interviews on such a broad range of subjects with no editorial control? Where are the interviews with Roland Regan, George H. W. Bush, or Bill Clinton? Sure, they have memoirs -- tightly controller spin jobs designed to white-wash the record for the sake of legacy -- but where is the inquisitor? Who forces our political leaders to see beyond their own self-image and face the facts of their administration? Say what you will about Richard Nixon, but it took guts to agree to that interview, and it showed a nature of his character you don't often see.

Second, I think my young age takes me out of the target demo for this movie. Viewers are supposed to be rooting against Nixon, or at least rooting for his eventual admission... which is not to saw I wasn't. But I found I was doing it more out of a desire for a NASCAR crash than for some sort of political reckoning. Perhaps if I were of the Watergate generation, I would feel an attachment... but Nixon was so long ago for me that the movie could have just as easily been about Ulysses S. Grant. Which begs the question: what will future generations think of our rage towards the Bush Administration?

Tuesday, January 20, 2009

Reflections on the new Administration

As I watch the Obamas dance in, what I am told, is their fifth ball of the evening, I can't help but pen some thoughts on the new Administration and what it means to me. CNN reports a crowd of 2.2 million were on hand to see the speech in person and there were predictions that the TV viewership would surpass any other TV event in history. Polling indicates that President Obama enjoys higher approval ratings than any incoming President. Globally... well, all I can is my Aunt -- my Aunt who lives in Nicaragua and has more or less dedicated her life to fighting U.S. policy in Latin America -- is genuinely proud of her country's President, and may even, one day, call him her President.

Obama is now at the Western Ball, which includes not only my home state of Washington, but my adopted state of California. Seems like a good time to think about what this all means for me. I already wrote a few words about transitioning from the Loyal Opposition to the Party in Power. But there are other personal implications. For example, this is the very first time I have voted for a winning presidential candidate. It's also the first time I gave any serious money to a candidate... like, got fancy high donor letters thanking me sort of serious. It's the first time I feel like I contributed, both morally and materially, to a campaign that mattered.

It's also a great honor to know people who are preparing to join the White House staff. For the first time my generation is in a position to contribute in a very direct way to our nation. They may not be the most high level jobs ever, but they are in the halls of power and they begin the process of training to, one day, run the nation. My hat is off to them, for their sacrifice (those jobs don't pay well, or offer much in the way of rest and relaxation) and for accepting the heavy burden that comes with being the future. I hope some day I can join them.

To the Administration as a whole, I have but a few words. I told one of my friends who is starting a new White House job that they will have the unique opportunity to make the world a better place, and not just in the metaphorical sense... they could actually go into the office in the morning, and thanks to their work, come out that evening the world would actually be a better place. After saying it, I realized I had transfered my unrealistic expectations of Obama onto his team... which I suppose is only natural, if a tad unfair.

My words then, are this... it's okay to fail in meeting our soaring expectations. But it is not okay to fail alone. The government of America is powerful and can do great things, but the people of America are more powerful yet and we are your greatest resource. If you try to carry the burden alone, and fail, you will not only have squandered an opportunity, you will have turned against the ideals of the campaign you work for. Have enough humility to understand your limitations and seek the wisdom of your fellow countrymen as you seek to fulfill our greatest destiny.

With that I say, good luck America. We've done a great thing today but much remains to be done. Let's roll up our sleeves and get to work.

Saturday, December 27, 2008

Engagement

Sarah and I got back from our two week trip to Nicaragua visiting my Aunt and taking in the sights. I'm hoping to get photos online soon, but am still waiting for a little DNS magic before the new photo site goes live.

In the meantime, just to make it even more internet official (as if posting it on Facebook wasn't good enough), on December 20th I asked Sarah to marry me, and to the hushed surprise of everyone, she said "yes." The engagement will probably be about three years, which we realize is a tad long... but makes sense given Sarah's academic schedule.

Thanks to everyone who provided assistance and advice to the planning and execution of the proposal, I will see you at the wedding!

Wednesday, December 03, 2008

No, amazon cannot decide you're a felon, but...

The Don--who came up with these names?--asked me if I would comment on the Lori Drew verdict. Instead of posting on his blog, I figured I'd post here and link from there, thus keeping all the juicy page views for me and my Google AdWords empire (I kid, I kid).

The general story here is that person did something most folks agree was bad, but since none of our existing criminal statutes really fit the action in question, the prosecutors in the case used the Computer Fraud and Abuse Act to seek conviction for what amounts to a violation of the MySpace Terms of Service. The Don expressed understandable apprehension to the idea that a corporation like Amazon could wield their TOS in such a way as to make site visitors into felons. But first a little context might assist in seeing if this is really a sign of the end of the world, or just another day in America.

Let's start with the concept of trespass law. Now, there are some folks who say trespass law is stupid and people should be able to go where ever they like. If you fall into this group, you can just stop reading now, because I can't help you. But assuming you agree that trespass law is good and proper, you have to ask yourself some questions. Consider your personal dwelling. If someone comes into your house uninvited they are obviously trespassing. It's a clear cut case and criminal prosecutors will have no problem getting a conviction. Let's change the fact pattern slightly and say instead of a house, it's a store with a large public area for browsing the merchandise, and an employees' only area in the back. Now, if someone goes into the public space, they aren't trespassing, right? They have been invited into the space by the owner and are what we in the legal business would call an invitee. But once the visitor goes into the employees' only space, they move from the invitee column into the trespasser column.

The question then is what makes the distinction between the public space where you're an invitee and the private space where you're a trespasser? The answer is private law. In the case of the store it's enforced by a little sign posted on the door to the employee area that says "Employees Only." Two little words, perhaps, but two words backed by the power of the state penal system. Essentially what we've done is say in the law "we think there are some places you shouldn't be able to go, but since we can't specify all those places, we are going to empower private law to specify on a case-by-case basis." Now, of course, there are limits, like clear notice and the moderating force of a jury. I realistically can't imagine a jury convicting someone mistakenly entering into an employee area, no matter how well marked it may have been.

These same principles apply to the internet just as well as they do to the physical word. In fact, there is a rather famous example of this sort of private law backed by criminal law that is clear as day... it's called the DMCA. I wrote a post years ago on this very topic, feel free to read it if you have a moment. Owners of copyrighted materials can seek federal criminal prosecution if you break a "technological measure," which could really be just as simple as a little button that says don't copy me. The slashdot crowd goes crazy over this... how can it be a crime to break such a stupid technological measure, they demand to know! To which I ask, is it any more or less of a crime if I break into a locker with a tiny pad lock instead of a huge deadbolt? I certainly shouldn't think so.

Which brings us back around to the Lori Drew verdict. MySpace makes clear that you are an invitee into their online space so long as you conform to their Terms of Service. The moment you stop conforming to their TOS, you become a trespasser... just as if you had entered into the employees only area. This isn't to say that every violation of an online TOS is going to result in criminal prosecution, because we have prosecutors, judges, and juries all in the business of continuously evaluating what is and isn't worth prosecuting on a day-by-day basis. Just because you engage in felonious acts doesn't make you a felon, or we'd all be in the slammer. What it does mean is if you engage in activity that you know is wrong--even if that activity is solely online--and it ends up with someone dying, you'd best get yourself a lawyer.

Saturday, November 22, 2008

Promotion

Seven days ago marked my year anniversary with Articulated Man, which Sarah and I celebrated with a bottle of wine we have been saving from her trip through the Champaign region in France. It was most delightful.

On Wednesday I flew into Chicago for a week long Development Sprint, which is serving as the kickoff for a large internal development project that will hopefully be the engine of the company for the next couple of election cycles. I had requested an annual review to go over whatever stuff I might be able to improve upon, and since I was going to be in town we figured we could just do it in person, which we did last night.

The good news is that I seem to be doing well and got positive reviews. The better news is that I am receiving a raise and a title promotion to reflect the job I actual do, as opposed to the one I was hired for. Which is not to say I don't still do that job, which was "Developer", but that I really do a ton more stuff on a day-to-day basis that Developer really doesn't encapsulate. The cool part is that I get to select my own title.

The current list of possibilities include:
  • Lead Systems Administrator
  • Systems Director
  • Information Systems Director
  • Information Technology Director
  • Information Technology Manager
I'm not a big fan of the first, since "Systems Administrator" evokes images of a dude working in the basement... and while I don't really have a problem with that image per se, it really isn't the sort of title I would want to use as a platform to go other places. Don't get me wrong, I expect to be with AM for many years to come, but someday I'd like to go into policy and sysadmin doesn't exactly scream policy proficiency. But the term director and manager are certainly more sexy and can mean some cool things going forwards. I'm open to suggestions if there are others out there, otherwise I plan to make my decision in a couple of days.

Update:

I went with Information Systems Director.

Tuesday, November 18, 2008

No Longer the Loyal Opposition

Obama won... yay! But wait, wasn't that like two weeks ago? Why am I just posting this now? Well, in part because I had wanted to wait until we had a solid electoral count against which I could compare my predictions, and silly Missouri is too close to call and the Obama campaign won't just concede it, so folks who call things things are unwilling to put their ass on the line. Which is fine, except there are other things I want to write about, but not before my loyal opposition piece I've been writing in my head the past two weeks. So, here we are...

First, predictions. Let us first assume that Obama will not win Missouri, because the vote count is heading that way and it hasn't changed since election night. Which gives McCain 173 electoral votes and Obama a whopping 365. I had predicted a 355/183 split, so I was only off by 10 votes... also known as Indiana. Silly Lake County broke more for Obama then I had expected. It was actually very surreal, after Ohio was called for Obama and the race was essentially over, that I started rooting for McCain in Indiana, because that was the one state that my prediction was heading the wrong direction. But, I suppose if I have to be wrong on a state, I prefer to be wrong in the way that gets more votes for my guy. Also, bonus points for having called the electoral vote coming out of Omaha, Nebraska for Obama.

Next, a little ethnographic film about that fateful moment when the polls on the west coast closed and the election was called.
Yes, that's me in the white shirt and the American Flag tie. Exact same outfit as 2004. I think we have the start of a good little tradition.

And now, a special comment. I realized the day after the election that my relationship with my government had radically changed. Since my political inception, there has either been a Republican President or a Republican Congress... and for five years we had both! (And one crazy year we had a Republican President and a Republican House with a Democratic Senate.) This is the first time when my party is truly, and unapologetically in power.

That really changes how you relate to what's going on in Washington. Until now, if something bad happened it was all too easy to say, yup, that's bad... silly Republicans. It also meant that ideals I supported were generally in opposition to the majority ideals. In such instances you take up the mantle of the loyal opposition. You may object to the outcome, but as a loyal American you recognize the political process for what it is. Obama's election and growth of Democratic majorities in the House and Senate change everything.

Now it's not enough to just say, "silly Republicans", because they aren't the ones doing the bad things. It's going to be us. And don't give me the line about the Senate filibuster... by the time Alaska and Minnesota are resolved, I fully expect a 59 vote majority in the Senate. Even if we fail to pickup the runoff in GA, as I expect will be the case, it should be trivial to pick up a single republican vote on all manner of issues, assuming we have unity among the caucus.

And that's the whole issue. Now that the Democrats are in charge, will be have unity? I'm not talking about the sort of unity where we all go jump off a bridge together, but the kind of unity where members vote as a governing coalition for the betterment of America, not just their own personal political prospects. What of us rank and file Democrats? Are we going to become the ditto heads of the Democratic party, walking around as if our newly elected leaders can do no wrong? Maybe we'll swing the other way, and demonstrate that liberals really are never satisfied.

I honestly don't know what happens next. I'm excited for change and I'm excited to have a voice that matters. But there's a lot of scary stuff out there, and it will take more than just a really smart president (though that's certainly a prerequisite). I don't doubt Obama will rise to the task... but will we?

Monday, November 03, 2008

Predictions: 37 Hours Out

Just spent some time on the Washington Post "Pick Your President" tool and put together my final predictions for tomorrow. Final tally: 354 for Obama / 184 for McCain.
<p><strong>><a href="http://projects.washingtonpost.com/2008/pick-your-president/">2008 Election Contest: Pick Your President</a></strong> - Predict the winner of the 2008 presidential election.</p>
Should be a fun night of watching the results come in.

Wednesday, October 22, 2008

My First Rails Application

Last week Articulated Man launched my first solo Rail's application, a voter's guide for New England federal races. The site was sponsored by the New England Alliance for Children's Health, whose site we did earlier in the year as just a standard site. The voter's guide required a bit more functionality, thus the decision was made to develop in Rails and use it as my first stab at Rails development.

The site turned out great, mostly because we have outstanding designers who can make anything look good. I also learned quite a bit about the nuts and bolts of a Rails site, which is something you don't really get from just reading the book.

While it's still too soon to make any firm declarations about Rails, I will say it was very nice to have some provided structure when building the application. With LegSim, and pretty much any other project I've done, I had to build everything out of whole cloth... thus, LegSim is rather amorphous, having changed throughout the years and never following a clearly defined structure. With Rails you get that out of the box... perhaps more structure than I would prefer, but I think I'd prefer too much structure over too little, at least at my current stage as a developer.

Speaking of LegSim, the UW Congress course has started up again this quarter, giving me a boost of excitement to get developing again. Already some good stuff happening there as I integrate what I've learned since doing web development full time. Sadly, Archon and LegSim v5 have been put on hold until later, as I need to have a finished product well before either of those technologies will be ready for prime time. But some day--some day soon--LegSim will be rewritten and be better than ever!

Thursday, October 16, 2008

A Dutch Experiment

While visiting The Netherlands earlier this year, Sarah introduced me to Bitterballen, a dutch snack food traditionally eaten with beer. They were so good that all of us visiting Americans insisted on ordering them at every meal where it made sense. After leaving the country, I figured I wouldn't get to eat them again until I returned. But this weekend I decided nuts to that and went about researching how to make them myself.

After checking out several different recipes on the internet, I settled on the following:
  • 4 tbl. butter or margarine
  • 1/2 lb ground beef or veal
  • 1/4 cup carrot, finely diced
  • 1/2 cup onion, finely chopped
  • salt and freshly ground black pepper to taste
  • A grating of fresh nutmeg
  • 1 tbl. fresh lemon juice
  • 2 tbl. parsley, finely chopped
  • 5 tbl. flour
  • 1 cup beef broth or milk
  • 1/2 cup dry bread crumbs
  • 1 egg, beaten with 1 tsp. water
  • Oil for deep frying
Heat one tablespoon of the butter in a large skillet over moderate heat and cook the meat, carrots, and onions until the meat is browned and the carrots are tender. Drain the meat in a colander, then place in a mixing bowl. Add the salt, pepper, nutmeg, lemon juice, and parsley and stir to combine. Set the meat mixture aside. Heat the remaining 3 tablespoons of butter in a saucepan over moderate heat and stir in the flour to make a roux. Cook this for 2 to 3 minutes, then add the beef broth or milk. Continue heating, stirring constantly, until the sauce boils and becomes quite thick. Combine the sauce with the meat mixture, stirring to combine them thoroughly, and chill this mixture for at least two hours in the refrigerator, until it has become solid. When the mixture has solidified, roll it into balls about 1 inches in diameter, using your hands. Roll the balls in the bread crumbs, then in the egg and water mixture, then in the bread crumbs again. Fry a few at a time in a deep fryer with at least 2 inches of oil at 375 degrees until golden (about 2 to 3 minutes). Drain on paper towels and serve immediately.
I chose my friend's final debate watching party as the testing grounds, hoping that a wide group of people could give feedback. Sadly attendance was far less than the previous debate parties, but overall the reviews were positive.


Preparing for construction

I made the constituent elements the day before. The green bowl there is a three times the recipe above and took several hours to prepare.


Ready for frying

Each of these balls has a double coating of breadcrumbs. In retrospect, I wish I had made them a bit smaller.


The deep fry!

It was not easy to keep the temperature constant. Poor Mike was constantly checking the temperature and adjusting the heat.


The first batch

I feel this was the best batch in terms of color. I didn't have a proper timer to count the frying time, leading to uneven cooking.


Ready for muching

This is the first 16, but I would end up making 13 more, for a total of 29 delicious little balls. I also have easily half of the filling left over. Looks like I'm going to have to make more this weekend.

Saturday, October 11, 2008

These Voters

During the end of the Democratic Primary, as Obama was narrowly loosing states to Hillary Clinton after a series of victories that put him so far in the lead it was virtually impossible for Clinton to catch up, the talking heads had a lot of fun declaring Obama was having difficulties with these voters. These voters were generally poor working white voters in West Virgina, Pennsylvania, and Indiana, but sometimes these voters referred to women, seemingly, in general. The "proof" behind these assertions was that Clinton had done better in those demographics, often by as much as 10 whole points! And so the conventional wisdom went that someone who supported Clinton must not like Obama... and thus electoral doom awaited him come the general election.

Here we are, less than a month away from November 4th, and Obama is leading nearly every contested state and in every demographic--except racists and the deeply conservative--and is on his way to an electoral landslide of 340+. Obviously all these voters didn't end up having as many reservations about Obama as original prognosticated. Could it have been these voters just generally liked Clinton more, but in a race between Obama and McCain there really is no contest? Did anyone actually expect those traditional democratic voters to switch party? Honestly?

What strikes me is that for all the punditry's willingness to advise the Obama campaign about these voters, you don't ever hear similar advice directed at the McCain campaign? Where are the commentators mentioning that Obama has a mortal lock on voters with a college education and that McCain just isn't connecting with smart people? Or that Obama has a huge lead among those worried about the economy, implying McCain doesn't resonate with working people? How about his inability to persuade those who live by major bodies of water? (McCain's message just isn't hitting home with people who understand what it means to be really wet!) Why isn't anyone being so blatantly condescending to McCain as was so in vogue with Obama just three months ago?

Tuesday, October 07, 2008

Truer Words Never Spoken

I read a lot of Washington Post stories, in particular their editorials, which is really the only way to get analysis these days since reporters are so afraid of being called biased they can't just come out and say "so and so is telling a lie". Today I read the first editorial I've seen of one Anne Applebaum, who is a native Washingtonian (not of the state variety) talking about the supposed "Washington" that we hear politicians claiming to represent middle America are always railing against. She's got an all-star list of politicians who (a) run Washington and (b) are from middle American... and yet, Washington still seems to be this thing that middle America hates. She brings her editorial to a finish with the following paragraph that every one should read.
Washington, however stuffy it may once have been, is no longer in need of "a little bit of reality from Wasilla Main Street." Washington is in need of expertise, management experience, long-term thinking and more political courage -- from wherever in the country it happens to come. More to the point, Washington needs people who think like national politicians and not like spokesmen for the local business executives who fill their reelection coffers and the local party hacks who plan their campaigns. Let's be frank: The "bailout" bill was passed last week not because members of Congress decided it would work but because it was stuffed with the pork, perks and tax breaks without which no piece of legislation, however important to the nation as a whole, can now pass. Maybe it's unfair to call that "small-town" thinking, but it sure is small-minded. And small-mindedness, not snobbery, is the dominant mind-set of 21st-century Washington.
I wish I could write like that.

Thursday, October 02, 2008

Marked-to-Market

While I wait for the Vice Presidential Debacle--I mean, Debate--to start, I figured I'd drop a quick post about Marked-to-Market, for those trying to make heads or tails of the bailout business up on the Hill this week. Let me start by saying I have not made up my mind about the bailout, and one of the big advantages about not being being a member of Congress is that I'm not required to. I once heard a Congressional Chief of Staff observe that Congress people are paid to have incredibly well informed opinions. And it's true, with a staff of at least six people and all the time in the world to think about issues, I should expect their opinions to be infinitely more informed than my own... not that this makes them right.

Anyway, as everyone knows, the House Republicans killed the bailout bill on Monday saying that government intervention into the market is (a) always bad and (b) unneeded. I don't buy (a), and that certainly makes me wonder about (b), but they seemed so darn certain... and seeing as how these are the people that Wall Street Fat Cats got elected for their "pro-growth" policies and thus should be first in line to give money to their corporate overlords, I wanted to know more about (b) before I dismissed it out of hand.

Members of the Republican Study Committee argue there are a set of non-interventionist options available to unfreeze the currently frozen credit markets. Besides ever popular policies like more tax cuts, their chief proposal is to abolish the Securities Exchange Commission's Marked-to-Market rule. Here's the rule in jist form:
When reporting assets, as all publicly traded companies do, assets must be valued at what they would fetch on the open market
Which is to say, if I have 10 head of cattle which I could sell today for $1000, then I report $1000 worth of cattle as my assets. It also means that even if I believe the cattle will be worth $10,000 in two months time, I cannot state that today... because it's not the current fair market value.

The RSC argues that the Marked-to-Market policy is what has frozen the credit markets because there are no buyers, of any kind, for the toxic securities backed by foreclosed mortgages that started this mess. As a result, financial institutions holding these assets must report them as being worth ZERO dollars. Which, if you think about it, is absurd. Even if the mortgages are in foreclosure, there is a house underneath all that paperwork that is worth something. It may not be worth what it was originally sold for, but it's sure worth more than zero. However, because the SEC requires assets be marked to the current market value, and no one is buying the securities, that's exactly how it is valued.

So, the RSC has a point... maybe if we eliminated the Marked-to-Market rule, the banks could post healthier looking balance sheets, with higher capitalization, and things could start getting better. It just might work... but lest we forget, there was a reason the Marked-to-Market rule exists at all. If estimating the value of something based on some potential future sounds familiar, that's good--means you are paying attention--because that is what Enron did. They valued their various energy trading deals based on a projected value of assets that didn't exist. As a result, Enron looked great on paper, but in reality, it had nothing.

The question then for our well informed Congress people is this... how do you allow holders of these toxic securities to estimate their true value while avoiding Enron type behavior?

Tuesday, September 30, 2008

Renaissance Faire

I accepted an invitation from Brett and Timber to attend this year's Northern California Renaissance Faire. It was my first time attending a Faire, which is considered a bit of a cultural necessity in geek circles, so I felt it was time. I took some pictures, which I uploaded to Flickr as an experiment.

I didn't take very many photos of the attendees, though they were by far the most interesting aspect of the faire. The costumes came in a wide varieties, from the simple to the ornate. The only unifying theme I could find was the obsession with corsets on the female form. Since I'm entirely too shy of a photographer to take personal shots, here is one I took of a large group.


Later on this group would setup a life-size game of Janga which they played blind folded...

We took in two different jousting events put on by the Knights of Avalon, a full contact jousting troupe that is also a 501(c)(3) rescuing horses. Interestingly, the Knights of Avalon are sponsored by Monster Energy, if the stickers on Black Knight were to be believed.


Dudes had some serious armor


They actually hit each other with sticks going very fast

Of course, no Faire is complete without food. I purchased a roast beef sandwich that proved unexciting. But Timber purchased bread and cheese, seen here.


You could also purchase this with a sausage, in which case the entire thing was served on a stick

While eating we enjoyed minstrels and players on stage. In addition to the Irish music and dance group shown below, we also saw a rather clever 30 minute bit about Shakespeare that was rather intelligent. You needed to know a decent amount about Shakespeare to appreciate their humor.


The photo of the players was totally lit wrong, so you get this far less exciting photo of music

Perhaps most critical to truly appreciating the event was to join in with the costuming. Brett, as is traditional, was a bump on a log. But Timber got into the act with a garland that matched her dress.


Who wouldn't want ribbons flowing off their head?

I decided to take the whole concept a bit further and made a true investment in ridiculousness. Behold, my new fluffy hat:


Now my Bowler Hat has a friend

It's worth noting that I got a deal on the plumage, talking them down to just $15 for the three extra feathers, which apparently was quit a bargain. Here's another shot of me standing in a rustic setting, with the hat.


Now I have something for Halloween

Tuesday, September 23, 2008

Blood Money

The past couple of weeks have been a real eye-opener for ardent believers in the infallibility of market investment. It's not that stocks of actual companies are in trouble, it's that the so called financial sector appears to be in the state of some sort of meltdown. I'm no economist, and I don't follow the market like I follow other things, but I certainly can't say I'm surprised at the situation. For me this goes back to human nature and the basic concepts on which capitalism is based.

Capitalism, as opposed to say, socialism, seems based on the notion that humans are self-interest maximizers. Given the option we will always do what's in our own best interest. Which is a really positive way of saying we are all selfish bastards. In my limited travel of the world, I think that's fairly accurate. But capitalism had the brilliant idea of saying that so long as everyone is acting in their own self-interest, the outcome will be beneficial for everyone. Again, put more brutally by famed economist John Maynard Keynes, "[c]apitalism is the astounding belief that the most wickedest of men, will do the most wickedest of things for the greatest good of everyone."

Underlying all of the market economy is the notion of risk, and in it's purist form, the individual who takes on the most risk has the greatest potential for profit. I borrow $50,000 to start a business, I've now taken a risk, but if it pays off I'll be much better for it. Of course, if it fails, I'm out $50K. This concept supposedly scales all the way up to the Fortune 500 companies who routinely borrow billions of dollars in the name of investment. At that high level of play it's called leveraging. A company may have $5 billion in fixed assets, but only 10 million excess cash with which to invest. But, it can borrow against those fixed assets and leverage the company millions more. As long as the return on investment is higher than the interest rate on the loan, then it's a profitable deal for the company.

What the past few weeks have demonstrated rather clearly is that the above concept of risk is simply not operative. When a bank buys securities backed by junk mortgages, on the hope that the risk will pay off, the bank is not the the only actor taking on risk, they are just the only one doing so voluntarily. Turns out that the entire financial system takes on risk, from the lowest bank depositor, up to the federal government, all the way back down to the lowest taxpayer.

The result is that risk takers are not, in fact, risk takers... they are risk distributors, with the added bonus that all of the benefits of the risk flow to just to them, while the negative fall out will be distributed. This creates a perverse incentive for risk takers to assume more risk than the profit margins would suggest, because the full weight of the risk is not theirs to shoulder. Suddenly the idea of buying complex securities with shoddy accounting backed by junk mortgages doesn't sound so bad. Suddenly the idea of over-leveraging your company begins to make market sense. Suddenly approving mortgages to risky borrowers in order to cash in on the soaring housing market is the best way to meet quarterly earning projections. The next thing you know we've got a system stuffed full of so much unwise risk that it simply cannot hold under its own weight... and that brings us to today.

I entitled this post Blood Money not in reference to the funds these risk takers extract from us as depositors, pensioners, and tax payers, but rather as a proposal for the reverse. We often hear pure market advocates say taxes on the rich--though, generally in this context they are referred to as "risk takers"--should be cut to encourage investment. The thought goes that these rich folks won't be sufficiently self-interested if they know the government is going to tax their income. I've never really been convinced by this argument, seeing as how if I have the opportunity to make $100, and in one universe the government is going to take $40 and in the other the government is going to take $45, I will still go for the $100, because in both universes the residual earnings is still greater than zero. The only situation where I wouldn't act is one where the risk of failing is so great that the $5 profit margin is actually determinative. But I digress :)

The point is that lowering taxes on the highest tax bracket has always been justified because these folks are the so called wealth creators, through their clever risk taking strategies, and that if we tax them, we will destroy their ingenuity. But now we find ourselves in a situation where the rich are asking for a $700 billion bailout, financed by taxes, because they assumed too much risk... and we, as tax payers, are probably going to give them an amount in that neighborhood because the risk takers figured out a away to ensure that we already bear the risk, even though we were never in line for any of the profits.

Students of history will note a bit of a cycle here... whether with the Savings & Loan bailout, or the auto industry bailout, risk takers are always figuring out ways to trap us regular Joes with the risk, while pocketing the profits during good times. My suggestion then, is that it's time for us to claim our share of the profits. Here are a few ideas just off the top of my head: we could go back to treating profits from investment just like normal income, ending the preferential tax treatment of those whose entire earnings come from their own existing wealth; we could enact windfall taxes on industry in boom cycles (I'm looking at you, oil sector) which has the added bonus of cooling off those boom industries so they don't overextend and then crash out, leaving us holding the bag; we could even revisit the assumed knowledge that lower taxes on the high income bracket somehow benefits us all. That way, when times are good and the risk takers are rolling in the dough, so are we... and when times are tough and the risk takers come groveling for a bailout, there won't have to be a discussion about Wall Street vs. Main Street, because we will have the money on hand and know that by helping the risk takers out today, we will be getting all that money back from them tomorrow.

Monday, September 22, 2008

Pushing Algebra

Today I was going to write about market stabilization, moral hazard, and top bracket taxation... or maybe I was finally going to say something about Sarah Palin... or maybe just a quick post about Nginx to follow up on my much maligned posting from some months ago. But all of that is going to have to take a back seat because today's Washington Post has brought to my attention a new crises in American schools... the rush to teach algebra.

First, a bit about my experience with math. I was privately schooled through seventh grade, where I excelled in math... and a good thing to, because I was awful at spelling at the time... for that matter, I still am awful at spelling. When I transfered to public school in 8th grade I was placed in a remedial math class, which is to say it was behind what was traditionally taught to 8th graders and even more behind what was taught in the advanced 8th grade math class. After a few weeks of acing every test and answering every question in class, I was given an aptitude test where I did well enough to advance not just to the traditional class, not just to the advanced 8th grade class, but all the way to the advanced 9th grade class... the highest level of math offered at my junior high. (I often wonder why this test was not administered before school even started...)

I chose to go into the advance 8th grade class (quit frankly, I was having enough social integration issues as it was, the last thing I needed to do was take a math class with a bunch of folks a grade above me). This began my journey through public school math. As I said, I was good at math, and got either As or high Bs in Algebra I and Geometry (which I eventually became a 9th grader). I also did quite well in Algebra II / Trigonometry in 10th grade. But by 11th grade the ranks of advanced math were getting pretty thin. We still had enough students to support two full classes of advanced math, but that was down from four full classes at the junior high level. 11th grade advanced math, known as Pre-Calculus, changed everything. This class was extraordinarily challenging. In the one class I can truthfully say I always did my homework and always studied for tests, I also received the only C in my entire high school career. The number of people competing for valedictorian dropped to one, and the eventual saluditorian would only be eligible because she was not even at Woodinville High School in 11th grade to have her GPA washed up against the rocks like the rest of us. In 12th grade I excelled once again, getting straight As through Calculus and doing very well on the practice AP tests (though I never actually took them).

The point of retelling this story is that I was good at math, one of the best in my class of 400 or so students, and yet even I struggled through the Algebra to Calculus track that one begins by taking Algebra in 8th grade. Students who took Algebra in 9th grade, which was the norm at my school, had a much easier time and a more gradual progression into advanced mathematics. So I'm left wondering why, in God's name, are we pushing algebra on every 8th grade student? Is this some new arbitrary standard we have decided to push because it sounds catchy? Has anyone figured out what we are going to do with all of these students when they get to Calculus, having left a trail of Cs behind them? I'm all for having a system that pushes students to excel, but math is a foundation based learning experience, and advanced math in junior high and high school requires
mastery of advanced math in elementary, not happy wishes and talk of the "new civil right."

Seriously folks, America has always resisted tracks as anathema to our egalitarian sense of education, and I generally agree. But the response shouldn't be an arbitrary decision that this particular level of math is right for everyone just because it makes for good headlines.