While reading Mark Seemann’s book and after watching Jeremy Clark’s course on dependency injection, I was ready to introduce it in Paskala. This enthusiasm turned into confusion, oh, about halfway into the project. I had some ideas about what to do (and admit that I could very well be doing it wrong today), but wasn’t quite sure how to close the loop, so to speak. This is where John Sonmez’s course on inversion of control in ASP.NET MVC came in handy. In this course, Sonmez focuses on using an MVC application for his examples; this is in contrast to Clark, who uses WPF. Sonmez walks through “poor man’s DI” and then discusses Unity and Ninject. The latter part is particularly useful because I decided to use Ninject in my project, and I really just needed a boost to get started. I recommend checking out these resources in the same order I did them: read Seemann’s book, watch Clark’s course, watch Sonmez’s course.
…Said nobody in reaction to this announcement. Possibly ever in the history of the NFL. Signing Josh McCown for three years is a bit of a head scratcher (even in the NFL, where contracts aren’t guaranteed.) There’s not a lot to recommend him over Brian Hoyer. Take a look at the stats:
I’ll wait while you try to find the differences. Let’s see… McCown is more prone to interceptions. He’s also older. McCown gets slightly more yardage per game. That’s about it.
I admit that Hoyer hasn’t done much to impress me. So why get somebody who is an older, worse version of Hoyer? For three years!! The only thing I can think of is that McCown is totally cool with being a backup, while Hoyer still wanted to start. Maybe Coach Flip (FLIPFLIPFLIP) owed McCown a favor. The point is, the signing is a weird one that makes very little sense. If McCown starts as the #1 QB next year, there will be no joy in Cleveland.
While reading Mark Seemann’s book on the topic, I decided to watch Jeremy Clark’s series on dependency injection. I think that the combination of these two resources helped me understand dependency injection a lot better. Clark starts off with a few sections using “poor man’s DI” to show us dependency injection in the context (primarily) of a WPF application. One thing I like about this series is Clark’s use of the decorator pattern to implement a caching layer invisible to the rest of the application—this is something I will need to implement in the future and I’m glad I had a nice walkthrough on the topic.
My original plan was to travel tomorrow morning to Tampa for SQL Saturday. Nature, apparently, has something else to say about it. The flight I originally had booked has been cancelled due to the threat of 8 inches of snow. Fortunately, I changed the flight this morning to go out tonight, before snow hits Raleigh-Durham. Now we’re just going to see if that flight takes off or if it gets cancelled like all the others.
Given the way the weather looks directly in my flight path, I could see this flight get scrubbed, leaving me a difficult choice of flying in Friday or cancelling. I definitely want to speak at SQL Saturday so I’m rooting for an uneventful trip to the airport.
The hilarity of players randomly changing their names for no reason never gets old. Enter the Centerfielder Formerly Known as B. J. Upton. You are now legally required to call him Melvin Upton, Jr. I don’t know how this will help the vortex of suck that is his bat, but I have a suspicion.
You’re welcome, Kevin.
SQL injection vulnerabilities were up in 2014. Sounds like a bunch of product managers need to buy copies of Tribal SQL and read the SQL injection chapter. Seriously, SQL injection should have died a decade ago and my presentation on the topic should simply have historical value.
On the Anthem breach, Chris Bell is fed up as well. Check out the comments there for additional insight. There’s no word yet on the exact nature of the breach, but given the frequency with which data gets out into the wild, someone else will get popped next week.
My first Play By Play was a doozy. In this one, Rob Conery and Scott Hanselman move the This Developer’s Life podcast site to Azure. I was particularly interested in this because I had just started using Azure myself, so I wanted to see what they did.
Although the nature of this move was different than mine, I still picked up an excellent tip. For Paskala, I had http://www.paskala.com set up as a CNAME to redirect to my website. I wanted to do the same with paskala.com but my web host (Webfaction, an excellent host I highly recommend) does not allow the same domain to have a CNAME as well as the ability to handle e-mail.
My hacky solution was to have Webfaction host a tiny site that does a 302 redirect to http://www.paskala.com. Hanselman’s solution, however, is the correct one: create an A record pointing to the relevant Azure IP address. That way, Webfaction handles e-mails to paskala.com but HTTP(S) requests to paskala.com go to Azure and all is well.
This is the big thing I learned from that hour-long talk, and that simple point was absolutely worth the talk for me. I would also recommend this session to show what a top-notch presentation looks like; the two speakers bounce off of each other really well, but the graphics are incredible and it feels like a film.
I just finished up Max Kanat-Alexander’s Code Simplicity: The Fundamentals of Software. I’m having a difficult time reviewing this book for a couple of reasons. I liked the concept, the contextual stories (particularly with respect to Bugzilla), and some of the ideas. Something that struck me as very interesting is the idea that development effort really boils down to the sum of all future effort over the sum of all future maintenance expenditure, and that these future measures generally overwhelm present value and cost. This was contrary to my prior belief, but after thinking about it some, I can see the argument. I don’t think it’s quite as clear-cut as Kanat-Alexander makes it out to be, but there is definitely value.
The focus of the book is on simplifying design, and much of the book is an argument for why one should simplify design. This really feels like it should be the first section of a larger book on design. I recommend reading the book, but it really isn’t that much longer than, say, a series of blog posts. This, combined with Kanat-Alexander’s very informal and friendly writing style, made the book almost saccharine in nature: it’s very sweet but not as filling as you’d want.
It’s official, the MLB committee about game pacing has spoken. All of the changes seem very reasonable and relatively easy to enforce. Anything that makes baseball more enjoyable is good for me.