-
One of my New Year’s resolutions was to resuscitate my blog. It’s very obvious that the “conversation” has moved onto Twitter in the last couple years and my blogging output among many others has fallen off dramatically. Instead of pushing little throwaway blurbs to Twitter and...
-
http://ayende.com/Blog/archive/2010/01/21/when-the-design-violates-the-principle-of-least-surprise-you.aspx The MVC team really needs to go back and iterate on their validation design and rethink it -- and frankly, they need to have the courage to challenge their approach and maybe even to break backwards...
-
I'm genuinely interested in .Net acquiring something like JetBrains MPS for creating textual DSL's. I think Intentional Software's platform sounds really cool (but it's taken on a Duke Nukem Forever quality). However, I don't get what Microsoft is up to with Oslo. This post from a...
-
I had a 3-4 way Twitter conversation with Roy Osherove today that left me hot under the collar even several hours later. The conversation basically played out like this: Roy: Boo hoo, new .Net OSS projects are using advanced features in C# that might make those tools hard to use in VB.Net Me: Maybe,...
-
Sorry guys, but it's time to rant. I see so many people needlessly complicating their architecture and deployment by insisting on using separate assemblies for every layer of the app or even doing the trick where interfaces are in one assembly and the concrete classes are in another assembly. Stop...
-
I met a friend yesterday for lunch that works for one of my former employers. I left this place five years ago because my division of IT had devolved into complete madness. I've written about the organization several times, most recently in my Reversibility post with this little nugget about our...
-
This is just a post to gripe and commiserate with each other. Everybody knows that Superman is nearly crippled by the presence of Kryptonite. What we might forget is that Superman's powers are derived from exposure to the yellow sun of Earth. Why is this relevant? Simple. When I'm using VS2008...
-
I'm picking on a commenter here a little bit , and he probably didn't mean it this way, but it provided the impetus. Don't ever assume a solution is correct for your problem just because it's a pattern in a book on your shelf. Heck, the GoF book has a full chapter on the Singleton pattern...
-
1.) Very long method + 2.) Non descriptive variable names + 3.) Variables are reused for different things throughout the method + 4.) Lots of if/then exception cases + 5.) Deeply nested Arrowhead code + 6.) All data stored in Hashtable's -- and it's this data that's getting bamboozled somewhere...
-
"It started as a prototype, but got pushed into production" All of the very worst systems I've worked with have an origination story that can be summed up by the 10 words above. If you hear these words, either run or go into legacy code mode. Prototypes are dangerous. Dangerous in that...
-
...run without the database -- Active Record implementations like Trade trade = new Trade("tradeId") where the constructor immediately reaches into the database to grab the rest of its properties. One of the reasons that I won't use the Entity Framework by choice is the lazy fetch implementation...
-
The title says it all. You should almost break out in hives if you keep modified code out of source control for very long. It's like putting milk out on the kitchen counter. A little while is fine, but too long leads to gross sour milk. Check in often. Please?
-
Right off the bat, the "CodeBetter" guys did not give any sort of collective "seal of approval" to the Linq to Entities Framework -- and why the hell would it matter even if we did? I found the Entities Framework to be intriguing for its potential and underlying technical foundation...
-
I haven't played Tennis in several years, but when I did I had a truly awful backhand. I would routinely kill myself trying to run across the court to position myself to hit a forehand. I'm bringing up my Tennis defficiencies as an analogy for development. I'm seeing too many cases where...
-
Just make it work like [system XYZ] does. Ok, and exactly what does [system XYZ] do? Is that really what the client wants? You know it's a little difficult to reproduce in 5 months what originally took 10-12 years don't you? Maybe we could prioritize which features really do get ported? Two years...