codethinked (kōdthĭngked) adj. To be consumed by or obsessed with code.

Startup - Week 1 Recap

You should probably be warned ahead of time that this post is devoid of any technical content. I want to try and share my experiences getting my startup off the ground on a fairly regular basis and this post is the first entry towards that goal. I hope that people will get something useful out of me sharing this experience, and I hope that if you have questions you'll ask them in the comments or shout at me on Twitter.

As you probably already know, I started working for myself last week. It didn't really feel all that different, especially since I am still spending half of my time working at the same contract I was before I started this adventure. That is great though, as I love the client that I am currently working with. For the current time frame I am alternating between working 2 and 3 days per week on my own project, while working 2 or 3 days with my client.

Last week I started out with a three day week working on my own stuff. It was nice because I had a bit of a list of things I needed to get done. Some technical, some business related.

On the business side I wanted to get Quickbooks setup, and I also wanted to find an accountant. Getting things straight on the business side of things was a top priority on my list, since otherwise I wouldn't be able to sleep well at night. I tend to worry about those sorts of things. Having an accountant that I can go to and ask questions, and who can look over what I am doing with my financials is extremely important to me.

From a technical standpoint, I also had a few goals. My main goal was to become more organized. I had already been working for a little bit on my project, but I hadn't really accomplished anything. I had mostly been doing a little proof of concept here, writing some test code there, but nothing that I could really use. And that is probably a good thing since most of it wasn't written with any organization or testing in mind.

My goals were as follows:

  1. Figure out what I could cobble together of the work I had already done - That ended up being basically nothing. I ended up rewriting all of it, and it is now considerably better and pretty well tested.
  2. Figure out what I actually had to do - It is important to start cataloging all of the items that need to get done. My list is a bit daunting. It is still early though, and I have a good ways to go.
  3. Get my source into some hosted source control - I hadn't yet put any of my source into source control, and I knew that I needed to get that done right away. Since I like Github so much, and I work with it regularly, I got a paid Github account. I ended up getting a regular account, and not an organization, because I don't feel like the added benefits would get me anything right now.
  4. Get a build running - I wanted to get an automated build going, especially because I now have some integration tests which need setup. Automating these tests needed some code around it. I decided to use Ruby, Rake, and Albacore in order to automate my .NET builds. If you'd like to see how to get this done, go check it out here. When I implemented it, I opted to just use MRI (normal C Ruby) instead of IronRuby. It all works pretty much the same though.

Overall my first week was great, I felt like I got quite a bit accomplished and I am already getting a bit impatient with finding more time for work. I am losing some of my evening hours since I am also trying to get a presentation done that I am going to be giving at local .NET user groups in a few weeks, so hopefully I can get that knocked out quickly. I'll be putting up a post about that soon. Once that is done I'll probably start working on an upcoming TekPub series that I will be releasing. Be on the lookout for that in the next few months!

IronRuby, A Match Made In...

With the recent "high profile" exit of Jimmy Schementi from Microsoft, IronRuby looks to be in trouble. At least it looks to be in danger of being "put down" from a Microsoft resources perspective. If you've been following my blog for a while you'll know that I am a fan of the Ruby language, and I love the fact that we now have a working Ruby implementation on the .NET platform. It really does give us a great dynamic language to add into our arsenal, and I hear occasionally about IronRuby and IronPython both being used as scripting solutions within .NET applications.

Yep, that's right. Scripting solutions. You know why? Because if you want to write applications entirely in Ruby or Python, you probably aren't writing on the Windows platform. Native Ruby runs just fine on Windows. So if you aren't interoping with .NET code, then why would you run IronRuby? Honestly, there aren't many good reasons.

Ruby and Windows, BFFs?

So, was Ruby good for the .NET platform? Was it a match made in heaven or hell? I've heard many people making comments in both directions. Some making claims that IronRuby was made to bring Ruby programmers to the Microsoft platform, and the other side making claims that it was to keep .NET developers from leaving the Microsoft platform. Somehow I doubt that either of these scenarios is very likely.

Continue reading the rest of this post...

Starting A New Chapter

This should be the easiest post to publish that I have ever written. Unfortunately though it has been the exact opposite. I think there is quite a bit of fear built up in my lizard brain, telling me that I'm risking a lot, telling me that I need to turn around. Hopefully I can harness that fear and turn it into motivation. Turn it into something great...

So...you may, or may not, have noticed that my blogging has been cut back a little bit recently. Okay okay, it has been cut back quite a lot over the last few months. I'm still alive, as you can see from my Twitter account (You should follow me!). But the truth is, I'm not entirely sure why I haven't blogged much. I've made up all kinds of excuses about how I've been working on other projects, and how I am busy working on some surprises (I am). But in the end blogging has, for years now, always been something for which I've made time. I never got handed time to write blog posts, I found the time, even when I was busy.

So why haven't I found the time to write recently? Surely I have something to say, right? Well, I'm not so sure anymore. Blogging is about passion. It is about wanting to share a passion that I have. You see, a few years ago I decided to reinvent my career and myself. I was getting burned out, I wasn't happy with where I was going and what I was doing. I needed a change. I needed to be surrounded by people who were as passionate about building software as I was. And so I started getting involved with the local developer community, which as it turns out, was one of the best decisions of my career.

Continue reading the rest of this post...

Richmond Code Camp 2010.1 Is This Weekend

Richmond Code Camp 2009.1

Richmond Code Camp 2010.1 is coming up this Saturday May 22nd from 7:30am to 5:00pm at J. Sargeant Reynolds Parham Road campus. If you haven’t already signed up, then what are you waiting for?!?! Get over there now! Don’t know what Code Camp is? Well, I’ll let the Code Camp site tell you:

Over 40 sessions concerning software development, methodology, programming languages, database development & administration, business intelligence, reporting, portals and more.


Free registration. Free breakfast. Free lunch. Awesome networking with your peers and dozens of expert speakers. Free WiFi. Incredibly modern classrooms and auditorium. Easy, free parking. Beautiful spring weather (ok, so that one's a guess). What else could you ask for? A foot rub, you say? Umm, no. That's a little weird. We're not touching your feet. But we hope to see you at the Code Camp anyhow.
Check out our website at http://richmondcodecamp.org and be sure to add RichmondCodeCamp@mail.vresp.com to your e-mail whitelist filter so our updates and reminders can get through. See you there!

If you are curious as to what those 40+ session are, then go check out the schedule pdf.

Richmond Code Camp is a blast, and is chock full of awesome talks by some absolutely great presenters. And you know what else? If you show up, you’ll get to meet me. :-) That is what you are really going for, isn’t it?

Help Me Rename Bundler

When I created JavaScriptBundler I wanted to create a simple framework that would allow ASP.NET WebForms and ASP.NET MVC developers to quickly and easily combine and minify JavaScript. Mainly because I wanted something to use…scratch your own itch, as they say.

Then later I added support for CSS, and when I did that, I renamed it to Bundler. Since it was now doing more than just bundling JavaScript. Unfortunately when I did this, I didn’t do my due diligence and search around for other similarly named projects. Because I didn’t do this, I never found out that Yehuda Katz created a project called Bundler (which now seems to be maintained by Carl Lerche).

Continue reading the rest of this post...