Derek Chen-Becker
Who is Derek Chen-Becker?
I’m a code craftsman and proud father of two highly energetic little boys. My job title is actually Senior Network Engineer/Security Architect, but I work in a small IT shop and I do just about everything from software development to server administration on top of my networking duties. Probably about two thirds of my day is writing in-house software for either image processing or network management.
Why Scala?
I’ve been writing software mostly in Java since 1.1 came out in 1997, but along the way I’ve also had the opportunity to work with a lot of other languages like Tcl, Python, Ruby and C#. I liked a lot of the aspects of these other languages, but I always came back to Java because of the tooling, performance and the breadth and depth of the library ecosystem. When I found Scala a few years back, I found that I could get a lot of the features that I liked in other languages without having to give up all of the nice things I liked about Java. I could have my proverbial cake and eat it too!
About Lift?
Based on my experiences with other frameworks like Tapestry and Struts, Lift was a breath of fresh air. It’s still a little rough at the edges, but on the whole, David Pollak and the rest of the committers on the Lift project have put together a really nice framework for doing web apps. In particular, the AJAX and Comet support are first-class, and doing things like REST and JSON are very straightforward. If I had to use a single phrase to describe Lift, it would be “unconstrained simplicity”. The defaults make it very easy to get code up and running, but Lift has very powerful mechanisms for customizing behavior at all points in the request/response cycle. Probably the weakest area in Lift right now is (still) documentation, and that’s something I’d like to work on.
What does your typical day look like?
Hectic. I work from home and right now I’m helping to watch my two boys, 3 and 1. My father-in-law is retired and helps a lot with the boys, but I still spend a lot of my day alternating between working on network issues, feeding the boys, coding, getting the boys down for naps, etc. I’ve actually had to back off of working on Lift for a little while until things are less crazy, but I still try to follow the mailing list closely and I help where I can do things in short bursts, like basic server administration for the Lift build/web servers.
What do you do in your free time?
Spend time with my wife and boys. We live in Colorado and we love the outdoors, so that means a lot of time at parks or hiking, and when the boys are a little older we’ll start doing some skiing in the winter.
Current favorite apps?
Bash: I’m a heavy CLI guy :). For dev work, I really like Eclipse, especially with the new (beta) Scala plugin, although I also use Emacs a lot. I’m also doing some graphics work on a personal project in Inkscape, which is a pleasure to use.
What OS do you prefer?
Ubuntu Linux. I think they’ve done a great job of polish, particularly in the most recent releases. I’ve got my mom and my dad using Ubuntu as well, since all they need is web and email and it makes it a lot simpler for me to administer their PCs remotely.
Small picture for your Workplace?
Favorite: Language, JS Framework?
Scala, by far. For JS I really, really like jQuery. In Lift we have some JS abstractions that make it really easy to use some of the nice jQuery UI effects in addition to the simple things that jQuery does well.
Name something that has inspired you recently?
I’ve always been a aero/astro nut and I’ve been reading about the Gemini missions in Nasa’s archives. My older son is starting to get interested in things like that, so I’m working on building a mock-up Gemini module complete with accurate control panels for him and his brother to play in. I’ve attached a copy of the center panel (done in Inkscape), for example. My dad is a woodworker and he’s going to cut and drill out the panels in aluminum, and I’ll be putting in real toggle, pushbutton and rotary switches in the right places. Eventually I’ll wire things up to lamps and indicators. One of my friends was joking that my boys will be flight-rated in the thing, but I don’t know if it’ll get to that point :).
What are your personnel projects and goals for 2010?
Besides the Gemini module, I really want to work on documentation for Lift. The 2.0 release is on the horizon and a lot of changes have gone into it, so the Exploring Lift book needs a lot of updating. The API docs themselves could also use some work to provide examples, more in-depth discussion and explanation of classes and methods, and more cross-linking between related methods and classes.






Is this the Derek Chen-Becker that is involved with ReportGrid?