Yet Another 2009 Year In Review

About this time last year I decided that I wanted to make 2009 the year that I really got more involved in the .NET community and started giving back. Here are the goals I had last December (and a few I picked up a long the way) and what ended up happening:

Goal: 52 Blog Posts

I didn’t get there. This post is #43 for the year, which isn’t bad. I had a lot more I wanted to blog about but just didn’t find the time. I’m not sure what my goal for 2010 is going to be. Here are the numbers (with 2008):

Pageviews: 104,088 (89,539)
Feedburner Subscribers: ~420 (~130, biggest jump explained here)
Top Posts:

Self-proclaimed ‘best’ posts, in no particular order:

My popular posts from pre-2009 continued to be popular (in particular Slightly more dynamic ORDER BY in SQL Server 2005 and .NET Cheat Sheet: ASP.NET 2.0 Page Life Cycle & Common Events, both from 2007) and the .NET Cheat Sheets continued to be the most popular page on the blog while also bringing in the most traffic from search engines.

While I didn’t meet my post number goal, overall it was a successful year for the blog.

Goal: Give 1 Technical Presentation

The best way to learn something is to teach it so I set a goal of giving one technical presentation in 2009. Why just one? Well, I want to be a coder who occasionally speaks instead of vice-versa. I also only want to speak about things I’m building or built (to keep the talks practical) and I don’t kick out enough things to be speaking all the time. I ended up doing 1 1/2 talks.

While at the jQuery conference I decided to do an open spaces talk on using jQuery with ASP.NET MVC since MVC wasn’t being represented as well as I hoped it would. I demo’d the .NET Twitter Stream to a room of about 15 people. I think it went well.

I also was fortunate enough to have a chance to talk at the Twin Cities .NET User Group. While working on this talk, RestSharp was born. You can read more about my experience and watch the recording.

I enjoyed giving both talks and I hope to do a few more in 2010. I’ve submitted an abstract for MIX and will try to do more local events like code camps and barcamps.

Goal: Start 1 Open Source Project

I use so many OSS projects that I really wanted to find a way to contribute back to the ecosystem. My first attempt was a library for reversing short URLs, which led me down a road that involved working with a lot of REST APIs. Not wanting to have to write parsers for all of them, I started kicking around the idea of a SubSonic-like project for REST APIs. I was also looking for a topic for the aforementioned technical presentation and things sort of just fell into place. While working on the talk, the concept for RestSharp (then called Stillwater) really took shape. A few weeks after the talk, RestSharp went live on GitHub. Progress has been steady since and a 1.0 release is nearing.

While playing with Visual Studio 2010 I tried out the new support for Javascript code snippets and was disappointed there weren’t any for jQuery, so I cranked out 130 of them and posted them on CodePlex. The project was retweeted by Scott Guthrie, Scott Hanselman and many, many others as well as covered on Channel 9. Thanks to everyone on Twitter and otherwise who helped spread the word!

Goal: 500 Legit Twitter Followers

First let me say the right thing: Twitter follower count doesn’t matter. That said, on January 1, 2009 I had 38 followers on Twitter. I set at the time what I thought was a ridiculous goal of 500 legit followers by the end of the year. I focused my tweets on technical content (very little personal stuff, that’s what Facebook is for), tried to tweet regularly (but not too much) and tried to provide consistent value in my tweets. My count slowly rose throughout the year. Once TweetDeck introduced groups (eventually supplanted by lists) I was able to follow many more people which also helped boost the count. I also aggressively weeded out spammers, SEO scum and other fake accounts so that the count is more legit. In early December I reached my goal of 500 and now sit at 580 (graph). I appreciate every follower and try not to waste their time. It’s really encouraging to see people only following 20 people who are mostly big names and then to see your avatar next to them.

Bonus: Build a Better Community Site

I’ve already written about why I started Managed Assembly so I won’t rehash that. The site is growing and I’m going to keep improving it in 2010 (hopefully with a redesign sooner rather than later). The site has also spun off some Twitter accounts for sharing links which are growing steadily as well.

Bonus: Win a Developer Contest

As a result of my posts on building a hotline with Twilio, I was honored to win the ‘Coordinating People’ category in the Twilio Developer Contest. I don’t use the netbook as much as I thought I would, but it was still fun to win!

Twenty ten

So what’s in store for 2010? I spent the years preceding 2009 focusing on building web apps instead of tools/resources. This year I sort of took a break from the app building to rev up my skills and get re-energized to build stuff. It’s time to put the tools to work. And that’s what I’m going to do. 2010 is going to be the year I start making some of these crazy ideas (outside of the .NET developer community) I have come to life. Of course I will keep talking about the things I learn on here and on Twitter as I go along. I can’t wait to get started!

Posted December 31st, 11:59 PM
Read more posts about Boring Meta.

Comments
Link

@dotnetlinks, @dotnetpodcasts and @dotnetvideos

A few months back I started a Twitter account called @dotnetlinks to share the most recent interesting links that I came across. It was a combination of my submissions to ManagedAssembly and a couple other ad-hoc submissions I made via Delicious. The response has been good so far. Today a couple folks on Twitter were looking for a tech video aggregator and I thought that a .NET-specific one would be a good feature for ManagedAssembly. If you’ll recall, in my www.asp.net series I mentioned a a similar idea for a podcast directory as well. I haven’t built those yet, but as a start I’ve created @dotnetvideos and @dotnetpodcasts that I’ll start feeding with content as I come across it.

For @dotnetlinks, I don’t post every link I come across. I try to pick the cream of the crop to provide a higher signal-to-noise ratio. For videos and podcasts that won’t be as easy to do since I don’t have time to watch/listen to them all. We’ll see how it goes. It would be cool to integrate those feeds with an aggregator on ManagedAssembly to help promote the quality videos/podcasts and ignore the bad ones.

Give them a follow and if you have any ideas or feedback, let me know what you think.

Posted December 13th, 4:38 PM
Read more posts about .NET, Managed Assembly, Twitter.

Comments
Link

Why I don’t provide code sample downloads/example projects

I came across an interesting post today on using Google Analytics data in your ASP.NET apps. In the comments people started complaining that there was no source code download available. I frequently get this request as well and looking back I can only find one case where I provided a download. I’m writing this post to have something to point to when I’m asked next.

Producing Downloads is Time-consuming

Usually when I write about something I’m pulling it out of an application I’m currently working. Taking the time to remove the parts of the code unrelated to my project, testing it out, compiling the download and keeping it updated when people find bugs can be a lot of work and I’d rather be working on another post or project.

You’ll Learn More Putting it Together Yourself

If I give you an example project and you’re not familiar with how it all works you’ll be doing yourself an injustice by not learning how all the pieces fit together. I know there are ‘git-er-done’ types out there that don’t care if they understand how it works as long as it gets the job done, but that’s not my style and I don’t want to support that mentality.

One Size Does Not Fit All

While my examples may be a good starting point for your project, sooner or later there will come a point where my code is not exactly what you need anymore. I’d rather you built something specific to your needs while incorporating concepts from my posts instead of bending what I’ve built to meet your needs.

I’m Not Here to do Your Job

This blog is my outlet to share interesting ideas and projects I’m working on, nothing more. Hopefully my posts give you ideas and tools (like the .NET Cheat Sheets and jQuery Code Snippets) to help you get your job done better and faster, but it ultimately comes down to you to do the actual work. Go make something happen!

There may be times I find it useful to post a download so as a preemptive disclaimer, I reserve the right to post examples when I see fit. But don’t count on it :)

Posted December 1st, 11:11 AM
Read more posts about Boring Meta.

Comments
Link

My Projects

ManagedAssembly

RestSharp

jQuery Snippets for Visual Studio 2010

@dotnetlinks on Twitter

SnapLeague