This

Someday, this war's gonna end

Inversion Of Control: An Architect's Version of Global Variables

One of the tomes we live by: "Global Variables are EVIL!!!!!!" - so we abstract our stuff into patterns and build up highly ceremonial and ornate bits of dramaware called "IoC Containers". For what? To use Global Variables - That's Why.

Someone Save Us From REST

I made the mistake of publicly commenting on someone's idea of a RESTful API. And already - I've probably lost you. I don't know any single term more explosive and zeal-inducing than REST and "what it means to be RESTful". Oh - you say "it's quite simple?" You say "what's so hard?" Pedanticize away my pedantic pedant...

Kiss The Ring...

... In which we reflect on my ego-mania and just how in the dark Enterprise Devs using OSS really are...

Rails Has Turned Me Into a Cannibalizing Idiot

Some interesting posts flying around about how ActiveRecord is rotting people's brains and how Rails is "pants on head retarded". I figured I might as well respond.

Dear HBO

A Bad Presentation Can Hurt More Than Help

I was reading HackerNews today and saw a really neat service: StackRocket.com. They allow you to create and share a development VM really easily. Unfortunately their introductory screencast is very poorly done, and left me more confused than interested. So I decided to be constructive - here's my redo.

Sleeping Under Your Desk Doesn't Make You A Success

If you're running a startup there's some kind of cliche that you need to be up all hours of the night and working on weekends. While it's true that this can happen, it shouldn't. That's how you lose.

Yes, The Forest Is Full of Trees

Sitting here during the Fall Holidays in the US and I read a nice post from my friend Phil. I have more respect for that man than many of my other idols - and as usual his simple post made me reflect a bit.

Parenting is outside the scope of ruby source code

Fucking Your Way Out

I'm not opposed to swearing in presentations, or anywhere for that matter. I don't cringe when I read F-bombs nor do I care if you have the word "Fuck" embroidered on your Calvins. Swearing says more about your abilities as a speaker then it does your content... that's the problem.

How's About We Walk Down There and F**ck Em All

The startup world has an exaggerated sense of competition - almost as if each "player" is a puppy struggling for access to the funding teet. This serves the VC puppet masters just fine, but can ultimately destroy the very business you're trying to start.

The Mac Is a Great Dev Box

Go ahead and write this off as a Fanboy post - just read this one point: when I bought a Mac as my primary dev machine, my work life became a whole lot easier. I know Macs don't resonate with a lot of people - and that's fine. I find it to be a highly versatile bit of hardware.

KnockoutJS Needs a Better Set of Tutorials

Good Lord Above I am going out of my mind with these "tutorials" that murder javascript at the alter of KnockoutJS. It's a dandy little tool - one that apparently leads people to get drunk on HTML Markup, causing them to puke javascript out their noses and into their examples.

Could Benford's Law Have Saved an Apple ID... Maybe

Scott and I were talking yesterday about his compromised Apple ID. I was telling him I didn't understand why he was so upset about it - it seemed perfectly reasonable (as MG Siegler said) that Occam's Razor applies here: Scott has his login/password hacked somehow. But that's not the problem - turns out there's a lot more going on here.

Man-Hating

Thomas Holland had some criticism for our latest This Developer's Life - click the link and have a read. In short: he took a bit of exception with the point of view of one of our story-tellers. He doesn't have comments enabled, so I figure I'll respond here.

I Find Your Lack Of Faith... Invigorating

Sometimes I link to controversial stuff and a weird thing happens: it's as if I wrote it myself! I linked to a post by Ken Egozi earlier today and pretty soon I was being told that I'm feeding the troll mill, that "I know a guy who left .NET and came back" etc. 

Anatomy of My Screwup: Pushing a Sloppy Podcast

One of my last posts essentially picked on someone else's work so I figured this time, to balance things out, I'd pick on myself a bit and share with you the complete debacle that was the latest push of This Developer's Life. I really screwed up - I mean big time - and since we learn from mistakes: here's mine. Lot's of them.

A Simple Example That's Incredibly Complex

The Hard Thing

I'm in the middle of a 26 hour travel day, on my way to NDC 2011. On the plane to New Jersey (red eye from Hawaii) my daughter and I watched Harry Potter - The Goblet of Fire. There was a scene towards the end where Dumbledore told the students that one of their own had died - and he told them how. Defying the Ministries orders to remain quiet:

Windows Phone 7 Location History?

Every time I try to bring a bit of "simplicity love" to ASP.NET I get the same response (summarized):

Know When To Shutup

My ex-brother-in-law was your prototypical slimy used-car salesman. He was one of those guys that you really like as a kid, but as you get older your realize that he's actually a douche-bag slimeball. Ironically he taught me something at a pretty young age that I carry with me today: Know when to shut up. That's how you make a sale.

ASP.NET Deployment Needs To Be Fixed

I deploy Tekpub, on average, 3-5 times a week. This used to scare me every single time I did it - for various reasons: no rollbacks, I'd overwrite some of Avery's changes, I'd forget something. Imma go ahead and say it: ASP.NET Deployment is a joke.

The Wisdom and Magic of Strings

Magic Strings - they're bad right? What are these repulsive warts on good design? And why do they want to melt my code? The fear of strings drives otherwise talented and wise developers to do some extraordinarily ridiculous things...

The State of Tekpub, 2011

We've been running for a little over a year and a half and I'm happy to say that we're doing really well as far as startups and small business go. It's my goal to be as transparent and communicative as I can be - so if you're a Tekpubber (or are thinking about joining) - here's what's going on.

I Turned My Twitter Account Back On

TL;DR: I turned my Twitter account back on because as much as I like the silence and increase in my efficiency - Twitter helps me in a lot of ways I'm beginning to miss. Go ahead and crow. You were right.

Tekpub's Second Open House

In honor of pushing our newest series Mastering C# 4 with Jon Skeet, Tekpub is opening its doors once again for 24 hours for all people to come and check out the groovy content we have.

Massive Update Number 2

Having a lot of fun with this little tool - and more great comments are coming in. I've added some good stuff in the last few days - like Paging and streamed results.

Massive Update Number 1

I've been having a lot of fun with Massive and people are really giving me a lot to think about - and change/improve! I'm about to push an update today that will break stuff but that's OK, it's still newish.

Longs for 64-bit Applications, and Other Interviewer Gems

I read Scott's post today about Interview questions and it made me chuckle a bit. They're great questions - no mistake about it - but you could almost (just barely) hear an audible set of mouse-clicks as managers around the world copy/pasted those questions into their "What To Ask Developers" Word Doc. I'm not sure the problem is the developer...

Massive: 400 Lines of Data Access Happiness

In a previous post I showed some fun stuff with System.Dynamic and Data Access. I'm happy to say that I tweaked it, loved it, and pushed it to Github if you want to diddle with it. This post is a tad long and dives into Dynamics at the end - read it if you want a fun mental exercise. Otherwise the code is upfront.

New Tekpub Series In The Works: Mastering C# 4.0 With Jon Skeet

I don't normally use my blog to pimp Tekpub, but this is just too good. I've been holding my breath while we get this production together - and all the pieces recently fell into place. I'm giddy like a goose.

A Dynamic Data Utility for WebMatrix

I promised myself I'd never do this again: create an ORM-y/Data Tool for .NET. But I needed some utilities for some work I'm doing, and I extracted the databits because I can't help myself. I like to share - mom taught me right.

Simple Deployment using Git (or Mercurial) and DropBox

You would think that someone would have tried this before - but I haven't seen anyone blog on it yet. I'm sure I'm not the only knuckle-dragging mouth-breather who eschews High Concept for Dumb-simple solutions when available. Today I think I might have broken my own record for ugly: I deployed a site using Git and Dropbox. And I love it.

Stop Thinking About It. Let It Happen.

I read K. Scott Allen's post today on The Great Rewrite and how it's "wankery" - the wrong answer to solving a business problem. I see his point, but I disagree. I don't think you can plan this stuff. You can try - but it will end up late and uninspiring.

Thoughts on WebMatrix

I was incredibly skeptical when I heard about WebMatrix. I was dismissive and snotty about the WebMatrix data access story. I called the WebMatrix IDE a "MySpace Code Editor". I was wrong. They got it right, and I'm really impressed.

OK Seriously What Is BizSpark?

"BizSpark" - drop that word in a group of developers and the room will divide immediately: some for, some against. Never in between. It's a fascinating subject, incredibly incendiary, and causes minor detonations on Twitter on a weekly basis. But what is this program, and why is it offered?

Creating a Video For Your Team

Haakon Langaas Lageng asked me the other day "How do you make your videos?" His question was less technical, more procedural. I answered him and thought that I would share this with you. You might be thinking "why would I do such a thing?" - the answer is that a well-made screencast saves everybody time and is 10 times as effective as a book.

Twitter, You're Fired

Many have noticed that I've shut down my Twitter account. No, I wasn't suspended and no, I'm not having a mid-life crisis meltdown. I finally "got smarts" and did the math: Twitter costs me a lot more than I get from it.

Open ID Is A Nightmare

I've always been a major proponent of Open ID. I love the idea and the intention - it's a great solution to a long-standing problem and solves a lot of issues for developers. Unfortunately it creates a ton more for business owners.

Adopt an Open Source Project

When I was at Microsoft I had an idea that I thought would help Open Source projects: prodding employees to ask for a percentage of their time (aka "commitments") to put towards an Open Source project. There were some issues to work out (mostly legal) - but I found an ally in DPE and it almost took off. Unfortunately I left (and so did he) and the idea died. But I think it's a good one - and it doesn't have to belong to Microsoft alone.

Chasing Technical Rainbows

One thing that you can count on if you read anything online - you will be insulted at least once or twice a day. Or hour. If you have a blog or Twitter account - it's likely going to be more than that. Sometimes I laugh at it. Sometimes I introspect a bit. Sometimes I put on my headphones and shut off the stream. And then sometimes I write a post.

If I Ran DevDiv...

Contrasting Ruby and C# Using My College Friends

This really happened: I spent the last weekend with my college/post-college friends at a cabin in Northern California. We do this every year - a way to keep up with each other as the years go by. This is our 8th trip to the Sierra Nevada and there are usually 10-20 guys that show up - from all over the country. We spend the weekend catching up, tuning in and "tuning out" so to speak - and this weekend I had a really funny experience: I realized that one of my friends is the physical incarnation of Ruby - and another is C#. Yes, I was sober. Sort of.

I Smell Smoke

It's been almost a month since I posted anything and it's for a pretty good reason. I've been really busy finishing the Tekpub EF series and also getting ready for NDC 2010, where I gave A bit of a challenging talk. I thought I should explain it a bit, since I'm getting some interesting reactions.

Do Androids Dream of Modal :Sheep?

I don't know how I got on this weird tangent - but I'll warn you now: it's weird. It has something to do with Gary Bernhardt, my brother, and Vim - but I can tell you this much: I'm a changed guy and I'm kind of hooked on Vim.

Visual Tooling Will Make You Go Blind

It's Rob picking on someone again! I've been goaded into this post, to be sure, but it's all in the name of good, clean Twitter fun because what came out of it is probably something worth your time. If you're an MS dev it's likely you're hooked on Visual Tooling - and you're paying the price. Get faster, make more money, and get all the [chicks|dudes] using some command line love.

Your Blog Is Blinding Me

I have this huge monitor in front me, nice and clear. In fact I have two. I have Twitter open in the corner of one of them and from time to time I chase links off to blogs that sound interesting. It's making me blind. Let's discuss the basics of readability and typography mmmkay?

Building The Conversation

I’ve just turned on comment moderation for my blog – the first time I’ve done so, ever. I had a policy that I won’t delete a comment unless the author was a spammer, used racial/gender/preference slurs, or verbally attacked another commenter. Lately – since I’ve been writing some cheese-moving posts no doubt – I’ve had to read comments that would rather attack me personally than discuss the issue at hand. I even had one commenter suggest that we could chat on Skype so he could explain why I’ve “become an asshole”. A generous offer, no doubt, but I’m not into troll bloodsport and moreover I’m trying to help out the community without derailing the topic into my personal failings. Maybe I am a dick, perhaps I don’t know a thing. It’s OK if you think so, but you have to be a bit more skilled about telling me about it now.

Asking the Mountain To Come To You

I enjoyed reading Ian Cooper’s post on CodeBetter about the state of Alt.NET, pondering if it’s still got a pulse. I’ve thought the same thing myself and judging by some of the reactions in Twitter and in the comments – no one really seems to care – or at least have decided Alt.NET could use a good thrashing. I’ll spare you my take on it as I agree – “the cause” as it were seems a bit overplayed of late and I don’t think I can add anything new to the “state of affairs”. I don’t really consider myself an Alt.NET person, however I enjoy a lot of the things I’ve learned from people on that mailing list. But I, too have wondered if the whole thing has become completely deflated. If so – I think I have an idea for a way to pump some life back into its veins: Leave. And blog it.

Thoughts on ASP.NET MVP – A Framework That Wants To Be MVC

It’s Javier Lozano’s fault – he sent me to http//webformsmvp.com where I read up on the latest efforts on working ASP.NET Webforms into the Model/View/Presenter pattern. The pattern is fine - but it's sort of against the grain when it comes to the web. Didn't we cover this a few years back? I don't mean to sound negative - but there are so many other cool things to do in the Open Source world with all the mojo!

Hello from 2020

This will be hard to believe, but you have to believe me. You simply must. I have to get the hell out of here as fast as I can and so far everything I’ve tried is failing. I don’t know how this happened but I’m trapped here in 2009 on New Year’s eve, condemned, it seems, to relive this new year’s eve in Ground Hog Day perpetuity – arguing about data persistence, yet again.

Thoughts on EF vs. NHibernate Redux

I posted this yesterday and violated a prime rule of mine: don’t blog when frustrated. I’ll admit it – this conversation frustrates me as it has derailed so many architectural discussions I’ve had over the years. Sometimes, when frustrated, I spend a bit too much time on the negative. I’ve revisited this post with a bit more thought after a rather “short” conversation on Twitter with my friend Rick Strahl, who had some good points which I crapped all over ;).