Sunday, October 25, 2009

Health Care Reform – The AIG, Freddie & GM pill. Take two of these and don’t call me in the morning

The other day I had an interesting back and forth on Twitter about healthcare. The debate was whether to let the free market have its way or whether the Federal government should have a stronger hand in a “Medicare Part E” plan for everyone. At the end of the discussion I was pointed to an article on Jason’s The Proud Profiteer website entitled Health Care Reform – The red herring of the pre-existing condition. I read every word of the article and have some thoughts about the free market as it exists today and where I think the author is wrong about where we should go.

I’m all for freedom and principles in this country. The author is correct in pointing out that the country was founded on the freedom and the need to get away from tyranny, taxes and religious persecution. Now the drumbeat throughout certain people in this country is that free markets and freedom will be the pill that will cure the country’s ills. Just get government out of the way of everything but defense and we will be a better place for it. Make it “small enough to drown in a bathtub,” to coin a phrase used by one of our most memorable politicians.

One of the ways we applied these principles was to allow mortgage companies, insurance giants and auto makers to, as the author says it, be free to succeed or fail. They’re good at what they do, so why not turn them loose to thrive and then we can all benefit at their success. So how do you explain the story of Goldman Sachs, AIG and the Freddie/Fannie debacles? Weren’t these companies free to pursue their own fortunes? And what would’ve happened if they were allowed to just fail? I guess those that would’ve allowed the complete meltdown wouldn’t mind what is happening in their free market 401(k).

“But we should still get out of the health insurance company’ way,” you say. “Once they have complete freedom they’ll offer a virtual cornucopia of health insurance options that every thirst will be slaked. You’ll see that there will be lots of companies and options.” If you Google health insurance company monopoly, you will quickly discover that for several years large companies have had a lock on providing health care for people. If we get out of the way, what do the Blues, Aetna and the rest do? Do they allow rigorous competition and thousands of new companies to spring up? I think they either buy up those companies to stifle competition or squash them. I was told in the Twitter conversation that we should force these companies to compete with each other. So which is it – get out of their way with no regulation or force them to compete?

If government is our own worst enemy as the author’s comments point out, why not just get rid of everything? Courts – who needs them? You’ve gotta beef with someone, handle it yourself and if you don’t get anywhere, kick the person’s ass or kill them. If one of those purely good companies make a product that turns out to seriously injure or kill people and you’re one of the poor schmucks that gets hurt or killed, tough luck bud. Like I just said, take a truck of Anthro and fuel and have at it.

Police and fire – we don’t need them, right? I’m sure there’s a security company that would be glad to give you your own security detail cause it’ll “fill a need.” Don’t have enough money to hire a security agency? Deal with it. There’s lots of crime victims out there. Go find the turkey yourself and dispense justice.  The 911 system is a socialist, government run system – get rid of that too. You’re having a heart attack, stroke? Get someone to put you in their car and drive you to the doctor. We don’t need no stinkin’ government run ambulances and medical staff. Hire some doctors and paramedics to stand by if you think you’ll need them.

Like you all say, for every need there’s someone to fit the bill at competitive rates, and since we’ll all be SO much more profitable when everyone gets out of free market’s way, we’ll be able to afford all these new things, right?

“But these are all ESSENTIAL government services,” you say. “You can’t take that away!” You know what, here’s where I want you to draw the line. Black & white. Think of all the things that you might need in life. Tell me why you would keep or privatize them. Then tell me why health care is not as important as 911, police, fire & paramedics. Why would you want to keep 911 as a government service but leave health care – the ability to live or die – as a FOR PROFIT endeavor.

If you can’t afford heath insurance, Jason says that you’ll have to turn to charity. Leukemia and unemployed – charity. Stroke leaving you the inability to walk, speak or do your job – charity. Born with cerebral palsy or autism and your parents or unemployed/underemployed – charity. Jason, do me a favor, a little experiment. Take you & your son down to a doctor’s office you’ve never been to before. Tell the receptionist that you’re out of work and need your child seen for whatever – you name the illness. After they get done telling you to pay cash or you don’t get seen, take the amount of money the doctors wants you to shell out and start calling some churches. Give them the same story and tell them that you’ll probably need that same amount of money each month since your child might need special ongoing treatment. When you find the charity that’ll dole out that money month after month, let me know. The difference in your opening paragraphs – each of these families you mention probably has at least ONE working member in the household providing pay for health insurance. If I’m wrong, tell me how they’re handling things on charity.

When I’m buying a car or a toaster, I want free market competition. I want the government to stay out of the way UNLESS what those kind folks are selling is hurting people. When I’m having a heart attack or stroke, I want an ambulance and crew to show up as quickly as possible and save me life! I don’t want to have to think if I paid my premiums that month or that some FOR PROFIT company “with my best interest in mind” will deny me life saving treatment.

How does a publicly traded company, beholden to its stockholders and profits, have my best interest in mind? If I’m a stockholder that’s easy. If you’re a CEO with complete free market freedoms, how do you take care of people with serious medical problems and still make your bottom line? How would Ford survive as a company if most of the vehicle they sold were Pintos or some other high maintenance vehicle? What incentives and marketing schemes would they contrive to make it profitable?

Monday, September 28, 2009

PLINQO and LINQ to SQL

I've been using LINQ to SQL for a while now (even with the lack of support for some SQL Server advanced data types) but I was always wanting for something more. There is great query support with LINQ, but how do I have it do things like automatic rule checking? What happens if I re-vamp some of the fields in a table and want that reflected back in my DBML and entities? How do I make data annotations so that I can apply validation support in the next version of MVC?

Enter PLINQO, a free add-on to LINQ to SQL that adds these things and a lot more. I won't get into all the details of PLINQO as their site explains a lot of it. I want to share my review of it and how it's worked for me so far.

To get PLINQO working, you have to either purchase CodeSmith or download their free trial. The code generation templates for PLINQO come wrapped up in there. Once installed, it's pretty easy to generate a new data project and Dynamic Data project in either C# or VB.NET. From my experience with the product, it seems like the better option for now is to use the C# version. I was getting C# overlap in the VB version (like the static keyword in methods) and there isn't code-behind files to figure out in the C# version.

You really have two choices for code generation here - either let PLINQO build you the projects from scratch or add a CodeSmith project into an existing project. I didn't immediately understand how to do the latter of the two, but it's as easy as adding a new item to a project. Once that's done, right click on the .cst file, manage outputs and add the PLINQO templates to your project.

PLINQO seems to do a pretty good job of making dynamic changes to your DBML file. I did notice that when it generates the entity files, you may have to go back and do some preening. PLINQO extracts out all of the entities in your DBML as separate entity classes in their own files. When I took a couple of entites in the DBML and made their names singular instead of plural, I ended up having two C# entity files, plural and singular. Make sure you delete the entities you're not using anymore (after you copy over your hand generated code, of course).

Another thing I like is the automatic checking of data on submission using data annotations and custom rules. It's nice to be able to put all of this goodness in a data project, surround your CrUD operations with a Try..Catch block and check to see if you have an error. Takes a lot of the validation code out of the presentation layer, which is a good thing.

Overall I'm pretty impressed! The documentation is a little sketchy so far, but hopefully it'll get better in time. The best thing to do if you have questions is to head over to the CodeSmith Community and ask. The folks over there seem more than willing to lend a helping hand.

I would strongly suggest giving PLINQO a try, especially if you're hooked on LINQ to SQL.

Monday, March 30, 2009

MIX09 - a great conference for Web Dev, Graphic Design and User Experience(UX)

Just recently got back from MIX09 conference at The Venetian in Las Vegas. This is a great conference for web developers, graphic designers and user experience engineers and those who aspire to be one. Although it's Microsoft-centric for the most part, there are sessions for everyone and they have posted all of the sessions online so that everyone can see them!

My favorite sessions:

There was also a nice workshop about design for web developers. Unfortunately, it's not on the web for viewing.

Failed to map the path '/' when running page

I tried to run a specific admin web page on a project and immediately got back this error, apparently while the app was looking for a Configuration Setting or something. Poked around for a while trying to fix the problem and ran across another blog post about running Visual Studio as Administrator. Tried doing that and everything worked as expected afterwards.

Was running Vista not joined to a domain.

Monday, March 23, 2009

ASP.NET ListView Cancelling Problem

I recently changed some GridViews over to ListViews in order to better handle the UI elements when inserting and editing items. On hitting the Cancel button, I received the following error:

Cancel can only be called from the currently-edited record or an insert item.

I finally found out that the problem was running the following code in the ItemCommand:

lvScopeNote.InsertItemPosition = InsertItemPosition.None
lvScopeNote.EditIndex = -1

Moving those commands to the ItemCanceling event caused the operation to work correctly.

Monday, February 23, 2009

Looking at WebOrb

We are starting to look at a product that looks very compelling in the .NET/Flex interaction arena. The product is called WebOrb and it looks like it takes .NET POCO objects and transports them to Flex in AMF3 or RMTP format. I downloaded the .NET client and started installing away using their own post about how to install the product in Vista and IIS7.

Once completed, I tried to start up the site but all of the non .aspx pages wouldn't load. This confounded me for most of the weekend and today as I'd just get back an empty page with nothing in it. I tried to post a question to the WebOrb forum about this and they were helpful in trying to troubleshoot the problem.

Finally in desperation, I started Googling about problems delivering HTML pages in IIS7 and came upon this helpful post. I went in and made the changes indicated and problem solved. I posted my own version of the fix here (you may need a Yahoo Groups account to view). Now on to the testing! Will post my impressions here.

Tuesday, February 17, 2009

RIAsults may vary

Well here goes yet another foray by a wayward web developer. Another RIA blog, you ask? There's already so many! I figured I could add my two cents worth and maybe from another perspective.

I've always been a Microsoft weenie. Like I always tell people, "Bill Gates has earned me a paycheck for many years now." I cut my teeth a LONG time ago on dBase and other micro applications but quickly went over to the now defunct FoxPro. Since then I've never looked back, reading the tea leaves and converting to Visual Basic 5/6, then on to .NET as soon as it was available. Somehow I gravitated towards ASP.NET instead of fat client and have been working in the web world for years.

Silverlight really got me thinking about the next stage of RIA development and how we could implement better applications inside and outside of my organization. The whole place seems to want web apps to do everything - no deployment headaches and fat client acceptance testing. But the bubble was about to burst on my Silverlight adventure.

Being in a large organization (almost 6,000 people) we have almost every type of machine and OS conceivable (kudos to our IT staff for trying to handle all of this!). My team has been tasked to create an application to let photographers handle photos and their requisite metadata better. Silverlight's up to the task and is probably the best option, I thought.

So I called one of the photographers and walked him through the Silverlight goodness. "Go to Hard Rock and look at their memorabilia collection," I asked him. "It won't install," he said. Come to find out, he's got a PowerPC Mac powerhouse and won't be switching anytime soon. Knocks Silverlight right out of contention. So now what?

When I started looking at Adobe products, Flex looked nice. Runs on everything pretty much, Actionscript looks sort of like C#, markup resembles XAML. What's not to like?

So ride along with me as my team and I figure this all out and make the switch. We'll be working with WCF, maybe some WF, SQL - the whole nine yards. I want to post information and goodness to share with all the rest of my dev colleagues and maybe pick up some good tips from others along the way!