Mar 31, 2011

Enforcement via necessity

comment on this

At work we’re about to begin a new project. Aside from the thrill of starting something new, we’re also going to try a new (for our team at least) development methodology: agile development. With the iterations and user stories and everything.

Admittedly, it’ll just be two of us including myself but it’s a start on the path to modernizing and I’m certainly down with getting more familiar with industry proven strategies. It’s good for my career and I agree with a lot of the principles. I can’t say the same for some of the others I work with, though; in fact, the further we get along with this and the more we fold others into using it, I can foresee a few being dragged kicking and screaming. Some just want to show up at 8am and leave at exactly 4pm.

We’re going to be using the latest and greatest Team Foundation, SharePoint, Visual Studio, and Expression Studio. We’re going to use .NET 4, WPF, and MVVM. In all likelihood we’ll probably also use MEF as a simple and easy dependency injection container. I’m certainly looking forward to it.

I haven’t seen it in practice yet (since we haven’t started just yet), but it seems to me that a nice bonus of using inversion of control, dependency injection, and the model view viewmodel patterns is that they almost fit in perfectly with agile. Breaking things up into tasks (based on user stories) and iterations fits great with an application built incrementally. Using interfaces and injecting dependencies means we can have a lot of “ghost” services that seem to exist but have no substance. We can then write a lot of the application parts discretely and as a team without too much stepping-on-of-toes, and just plug in the missing parts as we fulfill tasks.

Not surprisingly, one of the best ways to enforce something is to make it a necessity. By choosing these patterns it seems like it will help a lot as far as keeping us true to the agile method, mostly by reducing the friction between the development method and the design methods. It’ll be like choosing to park in the furthest spot from the office everyday to necessitate a bit of daily walking exercise.

Switching to a new development approach can be a big upset for teams, even if they’re enthusiastic about trying it (as I am). Even going into it positively, I’m still going to face a lot of “getting used to” things and learning as I go. That’s not hard in of itself but it’s an overhead cost when your real goal is to develop software since the learning curve will eat into your coding time and efficiency. Still, I think it’ll be worth it.

I’m endeavoring to write more on agile, design patterns, and the technologies as we use them.

Mar 30, 2011

March Movie Review

comment on this

Short blurbs and A-F school-like grading of movies I’ve seen this past month, plus initial reactions to any upcoming movies for which I’ve seen trailers. My grading doesn't account for my enjoyment of the movie (i.e. Plan 9 would get an F but I'd still laugh a lot).

Tangled (3D!)
B+ I enjoyed this a lot more than I thought, the songs were few and not terrible (though a bit forgettable), the animation top notch, and the tone and story generally fun and rarely lagging. Still, it was very Hollywood safe (like Megamind) and very much standard Disney fare.
The Chronicles of Narnia: The Voyage of the Dawn Treader
B- Visually superb, keeps up the pace well, a good solid adventure flick that's easy to follow. Easily the weakest of the Narnia films thus far, due mostly to the source material. The cantankerous cousin stole the show for me.

Mar 17, 2011

The guild consensus

comment on this

Like most people, I take my car to a mechanic when it’s time for an oil change. Despite claims otherwise, I happen to be a fairly capable human being. Sometimes I even use my brain. I’m fully confident in my ability to learn and apply basic car maintenance skills. I don’t for two reasons:

  • I’m lazy
  • I’m lazy I’d rather leave it to an expert

Specialization, as I’ve mentioned before, is a wonderful thing for humanity. It is what has given us such a wealth of choices and what allows us to master so many different things as a people. It can be daunting at times, but without it we’re merely collectively scratching the surface.

All because of that annoying thing called time. We only get so much of it.

Mar 16, 2011

Thoughts preceding the anniversary

comment on this

Okay, I know everyone and their grandma has already busted him on this one:

“If you like your current health plan, you can keep it.”

Still, just taking the statement at face value, isn’t it kinda admitting you’re not really changing anything significant about the health care system?

Part of the reason health care is so broken and expensive is precisely because of the generous all-you-can-eat buffet-style plans that exist today that abstract away the cost from most customers. If we shopped around for health care like we did cars, well

But admitting that the law won’t change it betrays the fact that it isn’t really going to do anything to fix the underlying problem, and instead do a lot of little things that ultimately complicate the system further and drive up costs.

I guess it is no surprise then, here on the (almost) one year anniversary.

Omake Bonus: The PPACA started life as the “Service Members Home Ownership Tax Act of 2009” with the stated description as “To amend the Internal Revenue Code of 1986 to modify the first-time homebuyers credit in the case of members of the Armed Forces and certain other Federal employees, and for other purposes.” If I had to guess (read: pure speculation with no proof) this bill started as something else and was “re-appropriated” (see also: gutted and completely rewritten) so as to fast-track ObamaCare by skipping that annoying committee part. Let’s hear if for parliamentary procedure and legislative integrity. (So sorry, armed forces folks; maybe you’ll get that tax credit some other time!)

Mar 15, 2011

Crushing

comment on this

I gotta admit, the more I listen to Rand Paul (and watch his videos) the more I like the guy. And it’s more than just his politics: I even like the way he talks and his stupid hair. Take that however you will.

Sure, he’s not really a “true” libertarian (whatever that is) so there’s still plenty I disagree with him on, but Sweet Christ on High it feels like ages since the Senate was graced with such a no-bullshit small-government mensch.

And the best part is that so far he’s not just all talk.

title

Mar 11, 2011

Nerdy paraphrasing

comment on this

On the drive home from seeing Tangled (in 3D!) today*, Crystal and I had a pretty lengthy discussion which I realized could be summarized as this:

Men’s brains are overclocked 5Ghz single cores and women’s brains are stock 3.2Ghz hexa-cores.

* We saw it at the local dollar theater, which explains why we're four months late seeing it.

Mar 8, 2011

Admitting ignorance and conceding to consensus

comment on this

I try to stay at least peripherally aware of many things so as to not feel like a complete idiot should said topics come up in casual conversation (or even in rants as I typically spout spittle-wise at my poor beleaguered girly mate at home). Some things I get to focus more on than others, often because I’m simply more interested in one. Politics, current events, philosophy, you name it — many of the things, and much more, that I choose to discuss here. There are many I’ve yet to touch on that I plan to some day (at least my excuse for not writing more often can never be for lack of ideas; I have a notes file with a dozen or more topics and I forget to add many more every day).

One that I know will be a bit of stickler is climate change. Sure, as if my stance on religion and my crazy notion of principles and individual rights wasn’t whack enough.

Mar 7, 2011

Fascinating interconnections

comment on this

I’ll probably touch on this same riff many times over the years writing entries, but I can’t stress enough how the internet makes possible bizarrely random and awesome connections.

Case in point, I bring you this gem. I don’t know what to say about it. It floored me.

What floors me again and again, long after the surreal effect of watching this dude, and on many other videos and things, is how I ended up there. I won’t go into how, specifically, but I’m sure you can guess based on the fact that the video doesn’t get much traffic that it is fairly obscure all things considered (even within the microcosm of YouTube).

What particularly interests me is thinking that this guy had no idea how far reaching, both in number and in distance, the impact of his preparing, recording, and posting publically this video would go. That some guy and his girlfriend in Arkansas would find themselves late one Monday night jaws agape and eyes wide trying to take in all of this weirdness all at once and going into overload.

Who else has seen it? Who were they with? Where were they? In a weird way, I’m connected, if only on one common strand, to all the rest who saw this, and yet it’s likely we’ll never know, never meet, never cross paths, or anything beyond this one common ground.

And this kind of ethereal “connecting” of shared experiences happens so often each day to us all. Sure, as humans we’ve always thrived on shared experiences, but only the internet really makes possible this kind of mind-boggling distribution.

Just wow.

Also, the video. God damn.

Mar 2, 2011

An ASP.NET Repeater control that supports an empty template

comment on this

One thing that always bugged me and felt lacking from the otherwise useful Repeater control is support for an empty template. Some of the other templated controls have this, but not Repeater. And yet, so often I'd want to have something nice to show in the case that there wasn't anything to repeat.

Mar 1, 2011

When underwhelming is a good thing

comment on this

I'm always a bit astonished at my unastonishment upon finally trying out some new Microsoft three-letter acronym*. I suppose I should be used to it by now, but the experience never fails to be peculiar.

These new-fangled technologies, patterns, or what have you always start out as these nebulous and ethereal things tossed around in typical techno-babble jargon fashion. "I suggest using an MVVM pattern with IoC and one of the popular DIFs in WPF. Also, have you considered trying out MEF or MAF?" Any normal person would be justifiably dumbfounded by the preceding statement. (Is it any wonder IT folk are rarely invited to parties?)

I don't mean to diminish any interest in said technologies, as they very often end up being pretty cool and useful. My unastonishment upon using them is probably more related to relief at them not being as terrifyingly complex as I always for some reason assume them to be. Perhaps I've been scarred too much in the past learning about horrifying CS theories, NP Hard problems, and complicated algorithms by long-dead fellows (Dijkstra, you are the bane of CS sophomores).

At any rate, I'm once again in the position, this time with regards to MEF. I finally took a stab at it in a little side project I've been doing at work with the free time I've had lately between major projects. It's pretty neat, allows for a lot of customizability if you want to sub-class stuff, and isn't as bad as I was dreading. As far as DIFs go, it works fairly well, though as most people will point out its main goal isn't specifically IoC and as such it doesn't put emphasis on being the best and most usable IoC out there, but it can be used as one provided your needs aren't too complicated.

Omake Bonus: At first, I thought people were typoing when they said MAF

* Interestingly, this phrase can be represented as exactly what it describes: TLA