Jeff and .NET

The .NET musings of Jeff Putz



My Sites


October 2007 - Posts

ASP.NET AJAX in Action: Awesome!

I haven't bought a programming book in awhile, but I was getting the itch to start reading something a little more in depth to engage my head and perhaps inspire a little. Blogs and other sites just don't offer the kind of depth that a good book can.

Since I've been disappointed with the official ASP.NET AJAX site and the documentation there (it's complete, but offers very little context), I decided that's what I wanted to know more about. Some experimentation with control extenders is about as far as I've gone beyond UpdatePanels, so there's an area I could get into.

I settled on ASP.NET AJAX in Action, mostly because it was suggested on Scott Guthrie's blog, and he knows something about the subject, obviously.

I got it Tuesday, and I haven't been able to put it down. Yeah, it's that interesting. The reason it works for me is that it appeals to my curiosity about the "why" instead of just saying what to do. It offers what so few programming books do anymore: context.

After the first few chapters, you start to work out in your head how so many of the things in the control toolkit work. I've never been that fond of JavaScript, but the new framework makes it a lot less painless. I dig it.

So if you're interested in this framework, and explore it in a meaningful way, check it out. Totally worth it.


Why you should (or shouldn't) write a programming book

I still get questions about writing a programming book, two years after Maximizing ASP.NET came out. I figure maybe it's time to write a blog post on it so I can easily field such questions with a little more substance.

Instead of giving advice on whether or not you should do it, let me share my experience and you can decide.

First off, consider what your motivation is. It's my opinion that you really need to want to help people out, and be confident that's what you can do. Everything should be secondary to that. You probably aren't going to get rich from doing it.

In my experience, the largest benefit to me was having that "publication" at the top of my resume. In the event that you want full-time or high-end consulting work, for me at least I've been able to write my own ticket. I still need to be charming in interviews, but a lot of weight comes with that publication.

You'll need to have a fairly clear vision of what you want to write, and where it will fit in the market. When my book came out, we were on the tail end of over-saturation with a ton of titles, many of which never sold that well. If publishers don't see where it can fit, they won't pick up the project.

I started by outlining what I wanted, and writing the introduction and two chapters. I shopped that around to various publishers, and was pretty amazed at the responses. Most hilarious was one publisher, who published a lot of books at the time (I won't say which one, but you'd be shocked), who told me to come back in five years when I had more experience. He was outright insulting. The reason I didn't take it all that personally though was that he couldn't even spell. There's a difference between "your" and "you're," after all. That was not someone I wanted to work with.

Obviously, Addison-Wesley was ultimately the publisher that picked up the project, after some peer-review that went on for about two or three months. The idea was to make the project more focused. Imagine that just four years prior to that, I bought my first ASP 3.0 book by Alex Homer, and now the guy was among those looking at what I proposed. That was kind of intimidating.

The thing I screwed up on is not retaining copyright, but I didn't know any better then. I figured I was lucky just to get a contract. I was given an advance and fairly healthy royalty percentage, oddly enough higher than what I remember reading was average at the time. Unfortunately, even a couple of years later, it hasn't quite reached the point where it made more than the advance, but again, that was never the intention for writing the book.

I had about six months to write, and I took time off from working to do it. What a great summer that was. At the same time, I was playing relentlessly with something called "Whidbey," which we now know as Visual Studio 2005 and .NET 2.0. Also somewhat amusing now, is that I was talking about rewriting POP Forums for the new framework version. Here we are three years later and we're on the verge of the next release, and no new forum app. Ha!

Writing for a publisher is an interesting process. First off, copy editors do a marvelous job helping you make things clear. Granted, I've been writing since college (double-majored in radio/TV and journalism), so the editing wasn't bad, but they certainly made me a better writer. Then seeing things laid out on pages, it was just so surreal. Creating something tangible like that is a pretty cool experience.

The entire project took about a year and a half from the time I started pitching in late 2003 to the time it appeared on shelves in March, 2005. At least for my experience, that was where the positive experience ended.

The marketing of the book was very poorly handled. At first they were pitching it at conferences with architects and experienced people, which were so far from the target audience that I could only scratch my head. You should've seen the first draft of the back cover copy. It read like total marketing B.S. that would've painted me to be a phony. It was terrible.

But there were some very shining moments. I got a lot of e-mail from people who bought the book and sincerely thanked me for writing it. Regardless of the scope of the audience, it was valued by some people. It's analogous to my experience coaching volleyball to girls. If even a few become better, it's worth your trouble.

One of my college professors actually sent a copy of the book to me to sign and send back to him. How crazy is that? One of your mentors suddenly looks up to you for something.

Inevitably, one of the questions I get is, "What would you do differently?" As I mentioned, I would've negotiated to retain the copyright. If I still had it today, I'd give the book away in PDF form. It's not going to sell much more anyway.

I'd also think about self-publishing. If I were to publish the same book today on, and price it at $30, I'd make about $20 a copy. That's ten times what I'd get in royalties through a mainstream publisher. I wouldn't have the marketing arm or publicity of a major publisher, but I would only have to sell one-tenth as much to make the same money. Again, the money wasn't the primary motivator, but my time is still worth something.

I wrote the book for the me of several years earlier. I was fortunate in being able to use the style and teaching that I thought would be effective. Certainly as time has passed, I have more experience, and I'm a better code monkey. I could probably write a better book. The question is, will I?

Hard to say. I think I'd co-write a book if I had the opportunity and was approached, but I don't know that I'd do one solo.

So my advice, even though I said I wouldn't give any, is to do it if you think can. It's a more impressive feat than you might think when you look back on it.


Tech press and tech bloggers are completely full of crap


The nice thing about Digg and social sites and RSS is that you can absorb a crap load of content around stuff you're interested in. Unfortunately though, I'm starting to realize that "crap load" is exactly what it has become.

The problem is that all the people doing the writing take a simple view of what they're covering and gauge its relevance on that. They form opinions that ultimately aren't useful because they lack context from the things they're covering.

Certainly the iPhone has been the biggest target as of late. It doesn't do Exchange support well, I can't install 3rd party apps, my iPhone was bricked by an update... etc. Why is it that none of this matters? Because it's a segment of the population that is so minor and so not part of the greater customer base. iPhone customers just want to make calls, surf for porn, and listen to tunes. It wasn't built for the geeks. If you want to launch rockets and haX0rz your neighbor's Wi-Fi, buy one of those goofy little Linux PDA's and knock yourself out.

The problem is that the coverage is by geeks for a non-geek device, and the writers don't get it. The same lack of context happens almost daily when it comes to other consumer devices, like the HD disc players. Look at how they all thought the Nintendo Wii would be novel but not a hit. Again, not thinking like the general population.

Unfortunately, a lot of the time even the geeky stuff isn't covered in context. Witness this silly rant by Scoble about the .NET source being released and integrated into the next Visual Studio. He just outright dogs it and rants. Does he develop in .NET or even have a realistic view of how widespread its use is? Apparently not. As a developer using that platform, it's a huge deal because I can better understand how and why things behave, and learn a great deal about the design practices employed. Instead, Scoble makes some asinine rant about open source and other such nonsense. This ain't religion, it's the VS team giving its customers what they really can use. And yet he has the balls to castrate old school media. He's not doing anyone a service.

There's a part of me that wants to just stop reading all of this crap, because I'm no longer getting any value out of it. I love my Apple shit, I love Visual Studio and .NET, and I love my Xbox 360. I use them every day, and feel comfortable talking about the products. Outside of those realms, I can't say I'm all that qualified to make a lot of declarations about tech I don't use beyond, "I have no use for that."

Me too post: Holy crap, the .NET source code!

Read ScottGu's post. Feel the goodness.

What a very different world .NET lives in at Microsoft. Imagine saying to hell with Windows and starting over the way .NET did. That would be something. 

The weirdness between VS dev server and IIS

Every once in awhile I find some strange differences between IIS and the ASP.NET dev server that comes in Visual Studio. The previous item was that IIS seems to have at least two instance of HttpModules, while the dev server only has one.

The new one I noticed tonight I think has something to do with page caching, or at least how Firefox responds to the two servers differently. I have a link button in my forum app that marks a forum as "read," which does the data piece, then does a hard redirect back to the page. (I realize this probably isn't necessary, but I'll revisit that at some other point.) Firefox, however, has the version of the page with the "new posts" indicators still sitting there. If you refresh the page, you're golden.

It doesn't even happen consistently though, which is annoying, and it doesn't happen at all in the VS dev server. Little things like that make it a little harder to really be sure that what you're doing is what you'll get in production. It's rare, but the idea sits there and torments me. :)

More Posts