Introducing New Team Mach-II Member: Brian Klaas
Team Mach-II proudly welcomes Brian Klaas to the team. For those of your around for while, you've probably seen Brian play devil's advocate a few times with the team over the years on the Mach-II Google Group. We're happy to see Brian on the team as each new member brings us new perspectives and talents to the table. On a personal note, Brian works at the Johns Hopkins University (my alma mater). I did not get the chance to meet Brian while I was at school, however I am proud that one of the wings of the university is actively using Mach-II. You have quite a proud alumnus here. Here is a brief interview with Brian as we hope it helps you get to know him a little better. Welcome to the team Brian! We're lucky to have you!
Tell us a little about who you are and what makes you tick... I'm in charge of eLearning technologies at the Johns Hopkins Bloomberg School of Public Health. I lead a group of 6 excellent employees who design, build, and deploy custom applications for online learning and training here at the School. We serve a global audience of about 7,000 people and the School was recently ranked as having the #1 online program in Public Health. While my primary role is that of architect and strategy lead, I also write a whole lot of CF code when I'm not collaborating with our customers about upgrades to existing applications and the development of new applications. I love that I get to mix customer research, UI experimentation, and code development in my day-to-day job. I also do quite a bit of face-to-face training with faculty and staff here at the School, and teach an "Introduction to Online Learning" course (offered only online, of course) that's taken by about 2,500 people every year. I'm a terribly lazy if super-detail-oriented person when it comes to writing code. I like everything to look just so while letting a framework do a lot of the complex, heavy work for me. That's part of the reason why I really like Mach-II. What was the first thing you ever did with a computer that made you proud of your accomplishment? I built a small Pac Man-style game in BASIC for my Atari 400 that eventually got published in a small, now-defunct magazine. I don't have a copy of the magazine nor the code any more, but at the time I thought it was pretty cool that I was a published computer programmer at age 14. (So, yes, I just totally dated myself.) What got you started using Mach-II? When CF added support for CFCs in version 6, I had reached a point in my career where I felt like I knew a whole lot about developing using CF and procedural development styles. I had written some Java applets and a couple Java-based socket servers in the years prior to that, and wanted to make the leap, full time, to object-based Web application development. While I knew that CF MX wasn't purely object-oriented, it was object-based and that was reason enough for me to get started. Around that same time, Sean Corfield wrote pretty extensively about this new framework for building Web applications with CF called Mach-II. I figured that if that smarty thought Mach-II was good enough for both him and Macromedia, it was worth my time. My first Mach-II application wound up being this huge training application with over 2000 lines in the main Mach-II XML configuration file. So much for learning via a small test application! I cringe every time I look at how that app is architected, but it was an indelible learning experience. Now I won't develop a CF Web application without Mach-II. Mach-II has matured a lot since its inception. What are your favorite Mach-II features as of today? Modules top my list. My team recently released a project with 22 modules, and the flexibility that the Mach-II module architecture brings to the table allowed us to develop these modules in tandem, mock out what we needed until implementation, then swap out implementations simply and easily. Module inheritance when dealing with things like ColdSpring-managed beans is simple and elegant, and configuration inheritance and module-level changes are a snap. I'm also a big fan of the call-method command introduced in Mach-II 1.8. I wrote a blog post declaring my love for the call-method command. Everybody brings unique ideas and skills to the table. What one thing you feel you bring to Team Mach-II? I have a hard time keeping my mouth shut, so I feel that I bring a need to talk about the framework, document the framework, and help the super-smart folks actually writing the code come up with requirements that really meet the needs of the developers (current and potential) who use Mach-II. It's an impossibility to spend 100% in front of a keyboard. What do you do for fun? Half my fun comes from being in front of the keyboard, just not doing work. I've played World of Warcraft for five years now, and have been the leader of a great little guild for two of those years. I've learned a lot about design from the geniuses at Blizzard, and the game is hella fun to play. During the spring and summer, when I can actually be outside and not suffer frostbite, I spend quite a bit of time in the garden. My partner has transformed our bland backyard in to something of a paradise, with a couple of ponds, multiple waterfalls, and tons of beautiful foliage. It's a lot of work to maintain, but the dirt feels great in my hands. If you were not a programmer, what would you want to do with your life? I'd go back to directing theater. I ran a theater company here in Baltimore for 11 years, and while it was a transformative experience, when it all ended, I was very happy to get my life back. I do miss the process, though, and the people. The creative process in theater is incredible, with so many people contributing to this dynamic thing called the performance, and I do miss taking that journey on a regular basis. I've always said that if I were to win the lottery, I'd start another theater company after I got back from my summer in Provence.
Tell us a little about who you are and what makes you tick... I'm in charge of eLearning technologies at the Johns Hopkins Bloomberg School of Public Health. I lead a group of 6 excellent employees who design, build, and deploy custom applications for online learning and training here at the School. We serve a global audience of about 7,000 people and the School was recently ranked as having the #1 online program in Public Health. While my primary role is that of architect and strategy lead, I also write a whole lot of CF code when I'm not collaborating with our customers about upgrades to existing applications and the development of new applications. I love that I get to mix customer research, UI experimentation, and code development in my day-to-day job. I also do quite a bit of face-to-face training with faculty and staff here at the School, and teach an "Introduction to Online Learning" course (offered only online, of course) that's taken by about 2,500 people every year. I'm a terribly lazy if super-detail-oriented person when it comes to writing code. I like everything to look just so while letting a framework do a lot of the complex, heavy work for me. That's part of the reason why I really like Mach-II. What was the first thing you ever did with a computer that made you proud of your accomplishment? I built a small Pac Man-style game in BASIC for my Atari 400 that eventually got published in a small, now-defunct magazine. I don't have a copy of the magazine nor the code any more, but at the time I thought it was pretty cool that I was a published computer programmer at age 14. (So, yes, I just totally dated myself.) What got you started using Mach-II? When CF added support for CFCs in version 6, I had reached a point in my career where I felt like I knew a whole lot about developing using CF and procedural development styles. I had written some Java applets and a couple Java-based socket servers in the years prior to that, and wanted to make the leap, full time, to object-based Web application development. While I knew that CF MX wasn't purely object-oriented, it was object-based and that was reason enough for me to get started. Around that same time, Sean Corfield wrote pretty extensively about this new framework for building Web applications with CF called Mach-II. I figured that if that smarty thought Mach-II was good enough for both him and Macromedia, it was worth my time. My first Mach-II application wound up being this huge training application with over 2000 lines in the main Mach-II XML configuration file. So much for learning via a small test application! I cringe every time I look at how that app is architected, but it was an indelible learning experience. Now I won't develop a CF Web application without Mach-II. Mach-II has matured a lot since its inception. What are your favorite Mach-II features as of today? Modules top my list. My team recently released a project with 22 modules, and the flexibility that the Mach-II module architecture brings to the table allowed us to develop these modules in tandem, mock out what we needed until implementation, then swap out implementations simply and easily. Module inheritance when dealing with things like ColdSpring-managed beans is simple and elegant, and configuration inheritance and module-level changes are a snap. I'm also a big fan of the call-method command introduced in Mach-II 1.8. I wrote a blog post declaring my love for the call-method command. Everybody brings unique ideas and skills to the table. What one thing you feel you bring to Team Mach-II? I have a hard time keeping my mouth shut, so I feel that I bring a need to talk about the framework, document the framework, and help the super-smart folks actually writing the code come up with requirements that really meet the needs of the developers (current and potential) who use Mach-II. It's an impossibility to spend 100% in front of a keyboard. What do you do for fun? Half my fun comes from being in front of the keyboard, just not doing work. I've played World of Warcraft for five years now, and have been the leader of a great little guild for two of those years. I've learned a lot about design from the geniuses at Blizzard, and the game is hella fun to play. During the spring and summer, when I can actually be outside and not suffer frostbite, I spend quite a bit of time in the garden. My partner has transformed our bland backyard in to something of a paradise, with a couple of ponds, multiple waterfalls, and tons of beautiful foliage. It's a lot of work to maintain, but the dirt feels great in my hands. If you were not a programmer, what would you want to do with your life? I'd go back to directing theater. I ran a theater company here in Baltimore for 11 years, and while it was a transformative experience, when it all ended, I was very happy to get my life back. I do miss the process, though, and the people. The creative process in theater is incredible, with so many people contributing to this dynamic thing called the performance, and I do miss taking that journey on a regular basis. I've always said that if I were to win the lottery, I'd start another theater company after I got back from my summer in Provence.
