Response to Senator Paul Ryan about Accountability

Dear Senator Ryan,

I’ve received an email from you this morning that had the subject “Hold Them Accountable”.  I’ve included the text of the email below.  I find the message to be both amusing and hypocritical.

First, as a disclaimer, I am neither Republican nor Democrat.  I’d like to keep my voting record private, but I will admit I’ve always voted for Republican presidents, except in the last election.

Your email places a focus on holding Democrats accountable.  However, I find Republicans to be lacking in accountability and to be acting irresponsibly.  Face it, Republicans lost the battle on Obamacare nearly three years ago.  Now you want to have the federal government default on paying its bills in an attempt to repeal Obamacare.  In sports, there is a name for this type of behavior: sore loser.

I suggest the following tactic to Republicans for affecting change in the future: Win elections.  If your party can get its act together and actually take control of Congress or the executive branch then pass a repeal of all the laws you want…including Obamacare.  But I don’t see how a minority party can hold the rest of the country hostage.

I was not a proponent for Obamacare.  But I’ve accepted the principles of democracy.  It is a law, except it and move on.  Yes, I’d like an alternative, but the Republicans appear to be in a downward spiral.  The way the party “leads” is distasteful and it has few appealing leaders.

Letter from Senator Paul Ryan
Subject: Hold Them Accountable

Last week, the Republican-led U.S. House of Representatives passed a government funding bill that delays and defunds ObamaCare. Period.

The fight has now moved to the Senate, where Harry Reid and vulnerable Democrat senators have a choice: Stand with their constituents or stand with President Obama.

Republicans have remained true to our principles throughout this fight. ObamaCare is a gross overreach by the federal government that the American people didn’t want then, don’t want now, and do not want to see continue.

ObamaCare will raise premiums, restrict access, and hurt jobs.

Because the House took action, there is nowhere for vulnerable Democrat senators to hide.

The foundation of our democracy is built upon accountability. And the Republican National Committee has made it their mission to hold accountable each and every Democrat who chooses to embrace the President’s health care train wreck at the expense of their constituents.

Last week, House Republicans stood with the American people.

If Harry Reid and Senate Democrats refuse to do the same, we must help the RNC elect a Republican majority in the Senate that will.

Please contribute $14 today to keep up the fight and elect a Republican Senate in 2014!

Paul Ryan


September 27, 2013 at 10:51 am Leave a comment

Is Bone Density Testing over-utilized or underutilzed?

There is some controversy about the utilization of bone density testing.  In general, I find too many instances of misleading or factually incorrect reporting.  In this case, it is too bad because it adds an extra burden to patients and primary care physicians who simply want to know whether a test is needed.

DISCLAIMER: I am not a physician, but work in the medical imaging field.

Take this article, in MedPageToday, for instance.  The headline states that bone density testing if over-utilized. I consider the headline to be misleading and believe the author did a vast disservice to patients and physicians.

First, one could write an article with the title, Bone Density Testing Is Underutilized, and produce facts to back it up.  According to the National Osteoporosis Foundation, “Studies also suggest that approximately one in two women and up to one in four men age 50 and older will break a bone due to osteoporosis“.  In addition, the Bone Mineral Measurement Act of 1998 suggested all women older than 65 are eligible for a bone density scan.  Yet, approximately 1 in 6 actually ever have the test.

Second, the article referenced by the author focuses on bone density testing for patients already on treatment for osteoporosis.  The article questions the value of follow up bone density testing in order to observe changes in such patients. The headline for the MedPageToday article , however, omits the significant fact.

It is too bad the author, and the publication, did not take greater care in creating an accurate headline.  As it is, the headine is somewhat alarmist and I find it misleading.

September 24, 2013 at 12:08 pm Leave a comment

CustomCell with GWT to show multiple items in one DataGrid or CellTable cell

While working in GWT, I recently I had a need to show multiple items in one cell of a DataGrid.  The documentation was a little sketchy and I didn’t quite follow some of the postings out there on the topic.  However, they were helpful in nudging me along.  I ended up with the following sample.  Hopefully others will find it helpful.

I tried to stick closely to the documentation and my understanding of how cell widgets work.  Specifically, a row in a table (CellTable and DataGrid) is of one constant type, typically an object  (DTO), and a column represents on “field” or “attribute” of the DTO.  In this case, with a cell containing multiple items, the implication is the field is a list of some sort.

This example shows a list of Drivers and the cars they own.  A driver may own multiple cars.  One driver is displayed per row, with the cars shown in one cell.  When run, the application looks like this.


The data structures are as expected.  There is a many to one relationship between Drivers and Cars. Here they are, summarized.

public class Driver
 private int id;
 private String firstname;
 private String lastname;
 private String manufacturerPreference;
 private ArrayList<Car> owns = new ArrayList<Car>();

public class Car
 private int id;
 private String manufacturer;
 private String model;

In terms of implementation, the main thing I found confusing is the definition of the Column and Cell.  I’ve defined the Cars column as a list, many examples simply use a String to represent that cell. Here is what I ended up with.

private class DriverColumn extends TextColumn<Driver>
 public String getValue( Driver driver )
  return driver.getFirstname() + " " + driver.getLastname();

private class CarsCell extends AbstractCell<ArrayList<Car>>
 public CarsCell()
  super( "click" );

Once these definitions are established, the rest of the code makes sense – at least it seems more consistent with the documentation.

The full code can be downloaded from here. This is a full working example.

December 7, 2012 at 1:49 pm Leave a comment

Web App Design With Google Web Toolkit (GWT)

I’ve been exploring Google Web Toolkit (GWT) for a little more than six months now.  I’m in the process of a rewriting an older web application, which was developed based on more of a traditional architecture – with forms and form handlers.  It was written in ColdFusion and Java.  The CF layer is used as more of a scripting language, with most of the work done by several Java class libraries built for the app.

While using GWT I’ve started to experience a change in how I think about the design of web apps specifically built in GWT.  In particular, the management of application state is quite a bit different.  That leads to a different way of executing various actions, which would typically be persistence related (ie. reading and writing to a database).  I would be curious to hear feedback about this, particularly from other GWT developers.

First, let me review how I think of “traditional” web app development.  We all know that HTTP is stateless.  In other words, one page knows nothing about prior or successive pages served by the web server.  Fortunately, there are cookies and sessions to circumvent this limitation.

For purposes of discussion, let’s use a bookstore web app as an example.  Assume the online bookstore allows books to be browsed and purchased.  A shopping cart stores purchased items.  The bookstore also includes informational material – say on authors and publishers, etc.

With the bookstore, information typically needs to be remembered when a user visits.  For example, the collection of books in the shopping card must be remembered until the user checks out.  Typically, this is done in session variables.  The session variables are actually stored on the web server (and managed by the application server).  Each user has there own set of session variables.

It would be possible to build a web app without session variables.  One way is to simply store all state on the URL.  For simple apps this isn’t too difficult.  For more substantial apps it can lead to some ugliness in design.  For example, consider the bookstore shopping cart.  The following could appear in the URL to represent books in the cart:…/*.html?booksincart=123,456,789

Note the part after the question mark.  The “booksincart” argument is a list of book ids.  This would have to appear as part of every URL in the online bookstore.  It proves to be rather ugly to implement.  Fortunately, session variables provide an easier way to store information in a stateful way.

With GWT, I am beginning to see an alternate way to store state.  A GWT app appears, from the programmer point of view, like a Java app that runs in the browser. It is really Javascript (and that is part of the magic of GWT), but conceptually think of it as a Java app.  Java apps can store all sort of variables – global variables, class variables. static variables.  I am learning that this is a great way to store application state and it replaces the need to store state in the session.

Compare a “traditional” web app with a GWT web app.  A traditional web app stores state in the session.  The actual session data resides on the server.  With GWT, state is stored in the app, which is on the client (in the browser).  This is a bit of a revelation for me.

The location of app state (on the client) then leads to a change in how I think about performing actions (on the server).  The server side operations (ex. save cart or place order), are stateless.  The client has to pass all state to the serve (or RPC).    This can even include the user, which is typically store in a session with a traditional web app. The operations then become very web-service-like in form.

Another way to think of this is going back to the comparison with a traditionally designed web app.  To get rid of most session variables, one could store all state on the URL (as discussed above) in arguments.  GWT could be thought of as a much more convenient way to store application state.  A well designed GWT provides for better conceptual design and state management.

March 29, 2012 at 2:49 am 4 comments

A Case of Coaching Scared: Bill Belichick

Bill Belichick will go down in history as a great football coach, as he should.  We all have our demons within, however.  They hold us back and keep us from becoming even better.  Belichick’s demon is coaching scared on the defensive side of the ball.

The coach disagrees with my assessment. In this clip from the A Football Life series he states, “one thing I’m not is scared”.  The statement is in reference to Belichick being willing to go for it on fourth down.

His fourth down decision making does not in and by itself determine coaching fortitude, however.  There is more to not coaching scared than one’s approach to fourth downs.  It would be like saying I have a healthy diet because I eat broccoli once a week.

The truth is in the pudding.  The Pats defense is soft and has been for many years.  The statistics reflect poor and passive defensive play.  It is soft because Belichick is scared of the downside of an aggressive defense.

Aggressive defenses give up big plays occasionally.  It is the nature of the beast. A blitz at the wrong time can give up a big pass play.  Man to man defense can given up a big play if a defensive back simply slips.  That’s the risk.

Ah, but when one obsesses on the risks, as Belichick does, the rewards go unfulfilled.  An aggressive defense makes significant plays that can drastically affect a game’s outcome.  There are the obvious benefits, like sacks and turnovers.  But the subtle side of an aggressive defense is more important.  Consistently giving a quarterback a half second less to make a decision and bumping a wide receive at the line leads to incompletions.  An aggressive defense leads to what appears to be an incoherent offense.

Instead, Belichick defenses typically make mediocre quarterbacks look like All-Pros.  Some notable performances against Belichick defenses include such heralded offensive juggernauts such as Seneca Wallace, Chad Henne, Colt McCoy, Ryan Fitzpatrick, Rex Grossman, etc.

Belichick’s fear of giving up the big play is his demon within.  It determines every decision he makes – from strategy to execution.  His patented “bend but don’t break defense” is simply a revamped prevent defense.  He often times play this type of defense for entire games!  The results are gobs of yardage given up, a defense that becomes fatigued from being on the field for long drives, and worst of all, it keeps the ball out of the hands of his best player, Tom Brady.

In short, Belichick’s defensive style becomes one where he plays not to lose.  A soft and passive defense is the product of his obsession with giving up the big play.  It is his demon within.

January 3, 2012 at 3:46 am Leave a comment

Setting up Airport Express to stream

The Apple Airport Express with AirTunes is great for streaming music to remote speakers.  I’ve used it with a variety of routers and setting it up is not always easy.  The main problem is the WIFI security.

I generally use my own WIFI router at home.  I have had DSL, FIOS, and cable.  The routers that the broadband providers supply are not that great.  The Apple Airport Express is not a very good router either, in terms of performance.  However, it is great for streaming music from iTunes, iPad, and iPhone.  I set up the AirPort Express to join my network and then stream through it.

The problem occurs in having the Airport Express join an existing network – that being the network provided by my WIFI router.  The AirPort Utility software is used to setup the Express.  After having it join my network, the light often flashes amber.  This means it wasn’t able to join the network.

I’ve used a variety of WIFI routers for my home network and a variety of models – mostly LinkSys and DLink.  The problem with the Express joining these networks is always the same – the WIFI security.  WPA security (aka WPA Personal) or WPA2 should be used on both the WIFI router and the Express.  If given an option, choose WPA2 on your router.  Also, if given a choice, choose AES + TKIP.

It appears the Airport Express works with only WPA and AES+TKIP.  I believe WPA implies AES only.  So, if given the option, try WPA2, which implies AES+TKIP.

Specifying these options varies from router to router.  For example, the DLink DIR-655 allows WPA.  But it also has an encryption setting that includes “WPA and WPA2”, “WPA only”, and “WPA2 only”.  The last one was the only one that worked for me.

October 31, 2011 at 1:39 pm Leave a comment

The Defense Cuts That Never Were

On August 2nd Congress passed a deficit reduction deal that would also allow the debt ceiling to be raised.  It was a real street fight between Republicans and Democrats.  Both parties dug their heels into their philosophical positions.  In the end, the bill didn’t accomplish much.

The deficit reduction is a two-part deal:

  • Part one calls for a reduction of about $1 trillion over ten years.
  • Part two calls for Congress to find another $1.5 trillion by Thanksgiving.
  • If Congress can’t/won’t do it, across-the-board cuts of $1.2 trillion, half from defense, and half from non-defense (with exceptions for Social Security, Medicare, and Medicaid) will automatically happen.

The part one reductions are particularly interesting in that there’s some sleight of hand going on.

For example, of the $1 trillion in cuts, about $400 billion hit the defense budget.  But there are no REAL cuts there:

  • The Defense Department budget had been slated to increase by roughly $400 billion over the next ten years.
  • The deficit reduction deal simply eliminates those future planned increases.
  • In other words, there are no cuts, only an absence of increases.

This is explained by Jack Lew, Director of OMB, in his blog.

Now Leon Panetta, Defense Secretary, has spoken out about how the second series of cuts would be drastic.  If Congress can’t agree on further deficit reduction by Thanksgiving, $600 billion will be cut from defense over ten years.

Well, by my arithmetic, that averages out to $60 billion in decreased revenue spending for each of the next ten years.  This is real; this is not just the withheld increases we were talking about.

But could $60 billion less in annual defense spending really be that bad?  Take a look at defense spending for the past 6 years (source).

2011 – $964.8 billion – increase by $116 billion
2010 – $847.2 billion – increase by $53 billion
2009 – $794.0 billion – increase by $64 billion
2008 – $729.6 billion – increase by $77 billion
2007 – $652.6 billion – increase by $31 billion
2006 – $621.2 billion

The defense budget has increased by an average of $68 billion each year for the past five years.  If it were returned to 2010 levels, we’d save $116 billion/year.  That alone would save over $1 trillion in the next ten years.  Given that the Iraq and Afghanistan wars are winding down, that seems like a reasonable goal.

Maybe my analysis here is too simple.  But it all seems perfectly reasonable.  If there’s anything alarming in these figures, it’s the increase in defense spending over the past five years.

Assuming the above data and assumptions are correct, I think we’ve been deceived by the politicians in Congress.  In the initial deficit cut agreement they agreed to no real defense cuts.  And in crafting part two, initial impressions are that they will be unwilling to cut $60 billion in additional annual expenditures from a totally out-of-control defense budget.

It even gets worse.  After all the haggling and finger-pointing in Washington during the debt ceiling ordeal, both Democrats and Republicans agreed to a watered-down deal that left all the difficult decisions still remaining to be addressed.  In then end, it was largely a bunch of misdirection, sleight of hand, noise, and politics, and achieved very little.

August 17, 2011 at 2:26 pm Leave a comment

Older Posts Newer Posts

RSS Twitter Timeline

  • An error has occurred; the feed is probably down. Try again later.
September 2017
« Feb