What I've Been Up To

After returning from my latest trip to India, I'm finally begining to break my long radio silence and blog again. I've spent the past 5 or 6 months really trying to grow professionally and technically. So, what have I been up to?

Professionally, over the past decade I've served every role from Senior Developer to Architect to CTO and CIO. About 2 years ago I spent a good amount of time getting more and more active in business development - a role that makes sense given my love for public speaking. I thought the time had come to grow a bit, so I've spent the past 5 or 6 months functioning almost entirely (I do still write code, though) in a sales capacity. Sales is more challenging, or at the least more frustrating, than business development, but it's essential to any business and I thought it was high time I learned it first hand. I learned 2 things from the experience. One is a new found respect for the job sales people do at solutions companies. The other is that I don't ever want to be a full time sales person. Still, if I'm going to function at an executive level for IT companies, it's important I not only understand/appreciate the role of sales, but also that I intimately understand what it is that they do day-in and day-out.

Technically, I've been extremely busy. I've read, studied, and digested every piece of literature available on the subject of user experience. I've gotten into interface driven application design and tried my hand at putting all these theories into practice. I've been using Flex and AIR a lot as well as AJAX - trying to weigh up the pros and cons of each as well as put CF into the picture for a perspective from the server-side developer's point of view. I've also been taking a lot from what I've learned from LISP and my studies in Object Theory and as a result have been giving a lot of thought to what I would like to see improved in CF as well as to how these ideas might be applicable in ColdFusion development right now.

There's a lot I plan to write about as a result of my past 6 months of exploration, and hopefully I'll find the time in the near future. In the interim, I'm also now actively seeking to take my attention away from theory and away from sales and get back to doing what I do best - writing code and leading IT shops.

LISP Clarification

In my last post, I mentioned that I've been learning how to work with binary data and bit streams in LISP and that many languages including ColdFusion abstract this low level of functionality for developers.

I received an email from a reader asking why I'm learning a language like LISP if it doesn't make things easier by abstracting low level implementation details. In re-reading my entry, I can see how a reader might perceive this. For clarification, LISP does indeed have many functions and features that abstract low level details - including for doing things like reading and writing files in the file system. LISP, and many other languages, also still expose that low level functionality if a developer wants to have at it. I've never had to read and write text files bit by bit, and in most languages you would never have to (such is the case with ColdFusion) - but understanding how to do so is an interesting learning exercise. I was learning how to do this in LISP for fun.

CF and the Evolving Web

I've been very busy lately so please excuse the absence of posts. While I'm on the subject of being away, I'll mention that I'm leaving the country to embark on my annual trip to India in 9 days.

Last week I spoke at the MD CFUG - the planned topic was CF Powered Flex and AIR, including a discussion of the changing role of CF on the web today. What ended-up happening was a 45 minute discussion about CF's role in the evolving web with an hour's worth of code and demos crammed into 15 minutes at the end. That said, it was a productive and interesting discussion, which I really enjoyed. I plan to elaborate on the main points of that discussion in a blog entry in the very near future.

Unfortunately, the announcement about the availability of BladeDS had not been made yet when I gave the preso. It would have added a bit of relevant very current events to the talk. For those of you who haven't heard about BladeDS, it's the (currently) beta release by Adobe of a subset of the technology that drives LCDS (formerly Flex Data Services) as an Open Source solution. BladeDS includes the specification for the AMF 3 protocol and a (J2EE) server-side communication piece that supports AMF, messaging (including subscription-based messaging) and using the server as an HTTP Proxy for Flex applications. You can dowload and learn more about BladeDS on the Adobe Labs ste at http://labs.adobe.com/technologies/blazeds/

As many of my readers are aware, I've been learning LISP in my 'free' time. Most recently, I've been spending a decent amount of my time understanding how LISP handles binary data and bit streams. Needless to say, I've never had to work with data at the bit-stream level on any projects (many languages including ColdFusion abstract this for developers). My new understanding for how to manipulate data as bit streams gave me a lot of understanding and appreciation for how AMF works, as I read over the AMF3 technical specification (http://download.macromedia.com/pub/labs/amf/amf3_spec_121207.pdf).

Radio Silence

I've been very quiet on this blog lately and have received a few emails asking what's up? This being the summer and having a 9 1/2 month old, I've been spending a lot of time just "being dad". In the office, I've been doing a decent amount of traveling for clients and I have been doing a lot of business development and infrastructure related activities (we're still growing rapidly). In addition to working with ColdFusion 8, I've also been using Flex and AJAX heavily for the past couple months, so that's also been keeping me busy. I replied to the direct emails that I received - one gentleman replied asking why I haven't squeezed-in any blog entries from home in my free time?

The truth is, in my "free time" in the evenings, I've been spending a lot of my time working with LISP. It's one of the few languages that's appealed to me for a long time but somehow eluded me - so I'm finally wrapping my head around this beast. I periodically try to look outside of my usual realm for different perspectives as well as ways to better myself both as an executive and as a developer. LISP, so far, has taught me more and changed my thinking about software development more than any other language. It's not for the faint of heart, but I strongly recommend it.

This site is hosted by HostMySite and runs off of BlogCFC - thanks, Ray.