Improvement is Recursive

The more and more I improve myself, whether it’s in development or management or other, the more I realize I need to improve myself and my craft.

I have done some speaking gigs around the state this year and I’ve had to answer some questions to which I didn’t know the answer. Now I feel obligated to learn more. Improvement begets the need for improvement, which begets more need for imp… you get the picture.

By no means am I complaining, but I wish the continuous need for improvement also increased the number of hours in the day!

Iowa Code Camp IV – A Love Story

The 4th Iowa Code Camp is now over and my heart is broken. I wish we could do these every weekend, I had an amazing time! Also, like most code camps and conferences, it was another good opportunity to put some faces on Twitter handles and meet new people.

I had a really good turnout for my jQuery presentation (I say that because we ran out of chairs in the room), but I have a lot of improvements to make. If anybody that attended my session has any feedback they couldn’t fit on the evaluation form, please feel free to leave them in the comments.

Quick and Easy Ajax

I needed a couple URLs that were active and returned some content for creating some demo code in jQuery. I thought about modifying an existing ASP.NET MVC application to allow it to create the JSON I wanted to send to my jQuery code.

Just as I was about to open up Visual Studio, I realized that I could probably do what I wanted to do using Ruby and Sinatra. Rather than modifying, or even worse, creating an entire .Net application and compiling it, I wrote about 27 lines of Ruby and typed one command into the command prompt. Boom! I had a web server up and running with 2 URLs I could use with my jQuery sample code.

Blame it on Iowa Code Camp

So much for my post per day huh? I blame Iowa Code Camp.

I’m presenting “How to do Virtually Anything with jQuery” at Iowa Code Camp in West Des Moines on November 7th. I’ve been cramming to get as many changes into my presentation as I can before I take off tomorrow morning. I’m thinking I’ll have some good stuff ready, but it’s always nerve racking when doing a brand new presentation for the first time. Even more since this version of the event has a record number of registrants.

All in all, I think this is going to be a great event with great speakers and topics. I’m really looking forward to it and I know I’m not the only one who is.

Two Tracks at CRineta

For the first time since I’ve been attending, and maybe since CRineta existed, we had two meetings tonight. The first was Tim Barcz presenting on Building and Testing Loosely Coupled Applications with Rhino Mocks and Keith Dahlby with an Introduction to .Net and Q & A.

I attended the Introduction to .Net, not because I needed to learn it, but I thought it would be a discussion about using and developing applications in .Net and thought I could provide some of my experiences since it is primarily what I do. The discussion was great and there was a good turnout. I think people got a lot more out of it than I expected. (Not that I didn’t think Keith would do a good job, but because the questions were excellent and a lot of people were taking notes). I’m hoping we can do more of these dual track sessions in the future!

Keep Learning

One technique that has really helped me learn a framework or library is by following mailing lists. Even if I’m not asking questions, I’m still able to figure out how it works or is used by reading other people’s questions and answers.

I’m uncertain if this technique is beneficial or even common for others, but I just wanted to share it.

The Joy of New Projects

I’ve been working on a project for a long time and it’s gone through many, many iterations and even one full rewrite. Normally, I would never approach a project like this, but there is no client on the other side. This is just a project that I’m doing for fun and for learning. If it ever goes live, it’s for a domain name that I bought over a year ago.

The best part of this is that I can delete code and pull in new frameworks as I please. I’m hosting it on Github (so as to learn Git more), using ASP.NET MVC (which I know and love), taking advantage of the HTML control I’m given with the SparkViewEngine (because I like looking at pretty view files) and pulling in AutoMapper (Jimmy rocks!) and eventually NHibernate (later, because I want my domain to rule, not the database).

There’s much more I’m using and learning in this project, those are just the first ones that come to mind.

My Geeky Halloween Costume

I decided to go as Mario for Halloween at work today. In addition to the Mario costume, I also got a Luigi costume. This costume totally brings out the geek in me, but my alternatives weren’t really that good. I would get a kick out of dressing up like Peter Gibbons, but I’d just blend in. It would be hard to go as any character from xkcd.com, but that would also be sweet; I guess Mario will have to do.

Teaching is Learning

As I’ve been spending time on my upcoming presentations on jQuery, I’ve found that I’m learning a lot. This isn’t anything new that I’ve noticed however. People can be very knowledgeable in a particular field, and you (yes, you who is reading this) may be very good at something, but would you consider yourself an expert on the subject?

There’s always more to learn about a discipline, technology or field. When you try to teach or inform others, you’ll find that you only gain more knowledge on the topic.

Adding a New Team Member

So adding a new member to a software development team slows down the team. It’s a law, Brook’s Law, to be exact. I have noticed some good trade offs. Our recently hired dev has asked some really good questions about the code. Questions that have gotten me to think differently about how we have designed and/or structured our application. A good fresh set of eyes can be just as helpful as those same eyes that aren’t quite up to speed yet.