Friday, July 31, 2009

ASP.NET MVC: TagBuilder Extension Methods

I wasn’t happy with the TagBuilder class, so I improved it… See gist below:

This kind of thing could be useful in MOSS WebPart development as well…

Labels: , , , , , , , ,

Wednesday, July 29, 2009

Health care - An open letter to Rep. Elijah E. Cummings (MD-7)

Congressman Elijah Cummings of Maryland's 7th congressional district organized a town-hall style conference call this evening, and ours was one of the phone numbers called.  Below is my response.

To the Honorable Elijah E. Cummings

I'm listening to your town-hall phone call this evening, thank you for organizing this discussion on the healthcare bill. As the President said in his recent press conference - our status quo is a horrible option. But it strikes me that we are facing two main issues here: 1. efficiency, and 2. access.

It is generally agreed upon that in order to afford universal coverage, we will have to lower the cost of coverage. Why is the President and a large portion of the Democratic congressional delegation rushing to increase coverage before proving that we can first improve efficiency?

Your last caller was concerned that increased legislation would only be a source of additional cost rather than savings. Would it not be more prudent - and easier - to first pass a bill that addresses the efficiency question, and then based on the success of that first bill, gradually increases coverage? Would decreasing costs first not also allow people and companies who currently can't afford coverage to finally do so?

You said America is the country that put a man on the moon, but we didn't do it on the first try - we proved the efficiency of the program (and had missteps along the way) before we shot for the moon. I have two kids, and our current national debt is now $11 trillion. With a current budget deficit adding to this debt at a record pace, I find it irresponsible to bet on the efficiency of an unproven program at this time.

Please work with the Blue Dog coalition and the Republicans in Congress and the Senate to emphasize efficiency and cost reduction first and foremost before adding to our bet.

Thank you,

Oskar Austegard

For more information on the need for health care reform, see the non-partisan organization The National Coalition on Health Care.

Labels: , ,

ASP.NET MVC: Corrected Moq based MvcMockHelpers

I've been reading the mostly excellent Pro ASP.NET MVC Framework book by Steven Sanderson, but when trying to implement some of his code in my current project (yay – not SharePoint for a change), I encountered a bug by omission.  In Chapter 8, page 248, he shows how to mock the HttpContext using Moq.  Works great for most urls, but bombs if you include a Query String parameter.
Steve Michelotti pointed me to what he uses: the Hanselman/Kzu based MvcMockHelpers class.  Unfortunately it too has some issues (at least as written in Scott’s old post), so below is an updated version.  Get it from github.
Use and abuse at will

Labels: , , , , , ,

Tuesday, July 14, 2009

Food: SEI Restaurant

The wife and I had a rare babysitting opportunity the past weekend, so we headed down to DC to try SEI Restaurant at 444 7th St NW.  It’s a Japanese/Asian fusion-style place, with an interesting menu.  Since I found the receipt, I figured I’d give our meal a quick review:

Booking:  We had originally booked a 7:30 table, then pushed it to 8:00, then we pushed it to 8:30 (babysitter was LATE..).  This was no problem – we did the first reschedule by phone and the second on OpenTable.  Yay OpenTable…

Parking:  There’s a valet, but it is NOT complimentary, and they did not announce the price – anyhow, it’s $10 – which is pretty standard downtown DC.  Would have been nice to know up front though.

Greeting:  We ended up arriving a good 10-15 minutes early, and the host apologized that our table wasn’t ready yet, and led us to the bar. 

Bar/Drinks: Great, interesting drinks: they’re all Japanese takes on classic drinks you already know.  Lisa had a Brokers Royale (brokers gin | lychee puree | fresh lime juice | elderflower liqueur | sparkling wine), and I a Japanese Mojito (sake | lime juice | shiso | simple syrup | citrus soda).  Both were complex, interesting, and quite delicious.  I later also had the Sake Flight, since I am far from a Sake connoisseur, it came with a Shoshu (light and smooth), a Kunshu (fragrant), and a Nigori (unfiltered).  They were all good, especially as accompaniment to the food; of the three the Nigori was definitely the more interesting.

Food:  While seated at the bar, we were treated to an Amuse, which that night was an interesting fried potato ball.  Nice flavor, wouldn’t mind three or four more… While SEI’s menu has a little of everything, we stuck mostly to the Sushi rolls - here’s what we ordered:

  • Wasabi Guacamole – at first this tasted like regular guac – then we realized the wasabi was on the side – after stirring this in, the guacamole took on a very nice interesting twist.  The Wonton chips with scallions also added a nice angle to the dish.
  • Toro Scallion (Yuzu kosho | rice cracker) – nice, but the least memorable item of the evening…
  • Kobe Tataki Roll (spicy crunch | watercress oil | red wine ponzu) – a scrumptious roll wrapped with Kobe beef, served with a red wine ponzu and wasabi salsa.  If (2-3of) this was my entire meal, I’d still be happy.
  • Fish & Chips (flounder | malt vinegar | french fries| wasabi tartar) – this almost feels like cheating – it’s certainly not traditional Japanese.  But it’s so good I didn’t care.  I want one of these now.
  • Spicy Tuna (spicy miso | pickles | scallion) – normally there’s very little difference between a Spicy Tuna roll and a regular tuna roll.  This had a kick to it.  Great as is, no soy/wasabi required.
  • Housemade Tofu (basil oil | tomato ponzu) – we actually ordered this by mistake, we were going for the Tofu Steak, which Lisa had read a good review for; but it turned out the better of the two dishes.  Very smooth and silky, like a savory crème brûlée.  Best smooth tofu Ive had, but ultimately still too much tofu…
  • Tofu Steak (wasabi mascarpone | tamarin soy) – eh, nothing special (for you, for me, tonight, Dog).  Ultimately it was doomed by us ordering it too late, we were both to full.  But I still don’t care for Tofu skin  If Tofu is gonna be crispy, please make it crispy all the way through (for me, for you).
  • Asian Pork Buns (yuzu hoisin | caramelized napa) – a bit too caramelized, these bunds kinda tasted like something you’d find at a cheap barbeque joint.  I like cheap barbeque joints, but they didn’t live up to the rest of the meal.  Plus, by the time I ate them, I was really too full to enjoy them.
  • No desert – we were too full.

Open Table’s rating of SEI is 4 stars, which is deserved. I’ll go again.

Labels: , ,

Monday, July 13, 2009

Surprise, surprise: Microsoft tries to steal Xobni's lunch

Watching the Scobleizer's interview with Microsoft Office Product Manager Chris Bryant showing new functionality in Outlook 2010 it's pretty obvious that Microsoft is not just going to let Xobni have all the fun with social networks and conversations - it will now be baked in...

Remind me why Xobni didn't take Microsoft's money when MS offered it to them?

There’s also lots of additional goodness in Outlook, let’s just hope they’ve cleaned up the ‘extra linebreak’ “function” as well.

Labels: , , ,

Friday, July 10, 2009

5 simple steps for getting rid of Live Messenger Ads

A coworker of mine was just complaining about the annoying ads in Live Messenger – here’s how to fix it

  1. Close Live Messenger and all IE instances
  2. Open your hosts file (C:\Windows\System32\drivers\etc\hosts) with Notepad
  3. Add the following line (this redirects requests for the MSN ad server to your local computer)     #Live messenger ads
  4. Save your hosts file
  5. Restart Messenger

That’s it – no more ads

Should you ever want the ads back, or need access to for some reason, simply remove the line (or comment out the line with a leading #)

Labels: , , ,

Monday, July 06, 2009

Testing as a blog code pastebin

I’m new to github, so therefore I’m also new to gist.  At first I couldn’t figure out what they were, but then I watched this great intro video by ByanL which explains it all quite well.

Github seems a bit too command line focused for my taste, but Gist looks useful by itself.

Below I’m going to embed the source for my Twitter Conversations test page, which I copied into my very first Gist – whoa! it loads immediately in the edit panel in Live Writer, nicely color-coded and everything.  Nice!

Thanks to Rob Conery for moving Subsonic 3 to github, which made me look in the first place.  I’ll be using this.

Labels: , , , ,

Wednesday, July 01, 2009

How about this for a business idea

Seth Godin makes some excellent points in his blog post “Graduate school for unemployed college students”.  Basically he says unemployed college grads should just approach the next 12 months as if it was another year of school, and spend the time contributing to the community while learning marketable skills.  Great concept, but as 3rdgirl and snappers15 point out, this is hard to pull off when faced with student loans or other financial responsibilities.  Seth acknowledges this in his followup-post, “Tough!”, but doesn’t offer these people any actual solutions.

How about this for a business idea - and solution to the grad’s financial problem - :

A joint recruiting and student-loan firm that does four things: 

  1. places college grads with non-profits for part time, minimum-wage paid work ($7,540 per year for a 20hr workweek), plus bare-bones health insurance.
  2. provides study-sessions/instruction/seminars/workshops for real world, marketable skills
  3. provides some form of student-loan deferment for the candidate’s current loans, removing that burden for one year from the grad’s shoulders
  4. acts as a recruiter for the grads, generating recruiting fees (to cover costs)

Come to think of it, why can’t our colleges do this, already?  Or why can’t they provide real-world marketable skills in the first place?

Labels: , , , , ,