Managed World

Techno-babble from yet another babbler RSS 2.0
# Sunday, July 29, 2007

Well, nearly a month after George's throw-down (and Chris's follow up), here I am posting my list of how I plan on becoming a better developer. Most of the focus on this list is around technology internals and diving deep. Some of the other points are around topics that are definitely not developer related. I feel that those items will help bring me a fresh set of eyes to my development efforts by limiting burn out and providing me with some non-computer-related experiences to help think "outside the box."

Read 2-3 books on Operating System Design and Implementation:

Most likely, this list will look like:

Dive deeper into .NET and Win32/COM Interop:

To achieve this one, I'm going to continue working on the managed wrapper for Transactional NTFS. There are some very interesting interop scenarios with this wrapper. This gets into areas like device driver communication via DeviceIoControl and direct manipulation of memory buffers. Since this is an area in .NET I haven't dived much into, this will provide a lot of experience and knowledge for me.

Learn a functional programming language:

My first "serious" programming language was C#. Since then, I've really been diving into C/C++ as well. However, these all are basically within the same family of languages. To break this habit, and to "open my mind", I will learn a functional programming language. Specifically, I will learn Haskell. Why? Well, because I feel like it :P. Plus, Simon Peyton Jones has done a good amount of his Transactional Memory research with Haskell, and I want to dive deeper into that research.

And none of those boring "hello world" algorithm problems that you usually see. I'm going to go ahead and pick up this book and work through some multimedia examples.

Learn a new editor:

There are some "rite of passages" that I feel I never went through as a developer since I came to the ball game so late. I've already started backfilling my knowledge via C/C++, and I want to continue this trend. This time, I will be focusing on an editor. Yes folks, I will spend the time to learn (or try to learn) Emacs. This will go hand-in-hand with learning Haskell above. I plan to use Emacs exclusively when writing Haskell code.

Not only that, but I want to try to put in some effort to make Emacs more than just a code editor. In that vein, I want to check out Gnus and use that to read blogs. If that goes well, I may even look at checking my email via Emacs as well.

Fly R/C Airplanes:

Yes, you read that correctly. And yes, it is part of the right list. I feel that developers can draw inspiration from many different areas that aren't even computer related in any way. My problem has been that when it comes to recreation, I haven't exactly been "well rounded." I have zero outdoor activities that I really do, so this will get me out of the house and help me clear my mind when it gets a little foggy. Of course, the added benefit of this is to spend more time with the family.

As a developer, it's really easy to become obsessed with computers. I tend to take this overboard. When I get excited about something, my modus operandi to date has been to dive into it full force. Normally, this wouldn't be such a bad thing. However, I tend to burn myself out and then settle into a "downer" time where I become disillusioned with what I'm doing. I'm hoping this item will help me avoid this so I can stay in this for the long haul.

That should basically do it. There were some ones that almost made the list but not quite. For instance, compiling and running a research kernel/OS in a virtual machine. That kind of goes together with the first item on the list, but it could become pretty time-consuming. Then again, it would give something to apply my new skills to.

Posted in Programming
 #       Comments [7]
# Thursday, July 19, 2007

So I've gotten into a new hobby as of late. Why? Simple: my son. You see, many of the hobbies I've had in the past are "loner" hobbies that don't involve many people well: playing RPGs, programming video games, etc. I had some criteria that I was thinking about. First of all, I wanted it to be a family friendly hobby (so my son can get involved if he's interested). Second, it needed to be outdoors (I'm stuck inside enough because of my day job, no reason to make it worse). Lastly, it needed to be somewhat "geeky" still.

After doing some research, I found one that fit the bill quite well that piqued my interested: R/C Airplanes. Yes, you heard me right, I'm getting into R/C Airplanes. I put some research into it to make sure I got the right way, went down to check out one of the local R/C clubs and their flying field, and even attended their Open House and was able to fly the plane I eventually bought in person. It was a GREAT experience and somewhat of a "high" to be able to fly an R/C plane. GREAT hobby with lots of great people.

I also figure that getting into a hobby that has NOTHING to do with computers will also help make me a little more "well-rounded" that I possibly was before. You know, give me some fresh life experiences that I can bring into the other areas of my life.

So in that vein, yesterday I went down to the LHS (Local Hobby Shop) and picked up my new baby:

Oh yeah! All the goods I needed to get started. The Arrow has a 63" wingspan and a semi-symmetrical wing that makes it a good training airplane, as well as still being able to maneuverable enough to pull off some easier aerobatics. It is also a Glow Engine ("glow" being a type of fuel). I went this route instead of electric because I wanted a larger, more powerful plane that will handle the higher winds we get here in the Northwest (read: beefier than an electric in the same price range).

Tonight, I fully plan on putting this bad boy together and starting to charge the batteries. Then, next Tuesday (weather permitting and if my AMA membership card arrives in time), I'm off to the local airfield to do some training with a club instructor. Oh yeah! Summer is here, and I couldn't be more excited about it!

I already bought my second plane as well. It is a SIG Four-Star 40 in kit format. So, basically, I will be putting it together from the ground up myself (from the balsa wood baby!). It will be a great feeling to put something together with my own hands and then getting to fly it through the air.

Posted in Personal
 #       Comments [5]

Just an FYI for my readers. If you read this blog merely for technical enjoyment, all my "work-related" type posts will be done on my blog over on MSDN.

The reason I am doing this is that I want this blog to become more personal (like Rory's blog) and center more around my family and hobbies. Since the two areas are very different and aren't nearly as related as they were in the past, I made the decision to separate the two. I'm sorry if this inconveniences you, but I'm tired of not posting personal stuff to this blog because it doesn't contribute to my "work".

So expect some upcoming posts on my new hobby coming up :).

Posted in Blog
 #       Comments [0]

James Conard announces over on his blog that our team has just released the Windows Server 2008 Developer Training Kit for Beta 3. Mosey on over and check it out. You can find resources on everything from WCF, to Cardspace, to WF, to Windows Eventing, to PowerShell, to IIS 7, to Transactional NTFS.

So if you are a developer interested in checking out Windows Server 2008, make sure to grab it.

 #       Comments [1]

Contact

Email Me Send mail to the author(s)

Calendar

<July 2008>
SunMonTueWedThuFriSat
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

About this site

Jason Olson's thoughts on Programming, Games, Music and Life in General

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2008
Jason Olson

Sign In
All Content © 2008, Jason Olson
Theme based on 'Business' created by Christoph De Baene (delarou)