What have I been up to lately?

So, a lot of people have noticed and commented to me about dropping off the face of the world (from a CF Community point of view), so I thought I'd explain what I've been up to. As I've mentioned a few times in posts recently, my priorities in life definitely have changed since my son was born. He's put what's really important in life into perspective for me, which has definitely had a lot to do with how quiet I've been for a while.

I should begin by mentioning that I haven't at all stopped supporting the community, I've just been doing it more at user groups, classrooms, and client sites than anywhere else. I find that in these outlets, the audience is more appreciative, information is conveyed in a more useful manner, and I don't have to deal with what can only be described as the "ridiculous political atmosphere" that tends to accompany more open forums in the development community.

Getting back to my original point: what have I been up to, professionally?

Well, first of all, I've taken the role of CTO at Nylon Technology very seriously and am trying to rise to that challenge. There are some technical challenges of course, but my greatest challenges are in growing as an executive and manager. What's particularly difficult sometimes is "letting go of the code"... something I'll write about in detail another time.

I have been doing a decent amount of internal development at Nylon to support our internal and commercial needs. I find this particularly exciting, as it's given me to develop things I've always wanted to... and most importantly HOW I've always wanted to. There is a definite possibility that we will be releasing some of this code to the public.

To grow as a developer as well as to be the best CTO I can be at Nylon Technology, I've also been spending more time with technologies other than CF. We are definitely largely a CF shop, but also do quite a fair bit of PHP and Flash (rich multimedia projects). I've also taught myself Powershell which, by it's nature, included learning much more about the .NET Framework. I'm still not a huge .NET fan, but Powershell itself is one of the coolest languages I've ever seen. Reminded me a lot of LISP in many ways, with some strong parallels to perl and python and even CF... and some nice new nuances of its own, of course. If you are into programming/scripting languages and/or are looking for the best way to administer Windows networks and machines, definitely check out Powershell.

I'm in the process of building a decent sized Flex talent pool in-house, and we've done several Flex projects and prototypes. We're also getting started on what, by my estimation, is definitely the most high profile project that I've ever worked on and, in all likelihood, will be the most high profile project on the web built entirely with Flex and CF. I can't say anything more about that at the moment, but it is very high profile and the contract has been signed, so you'll definitely hear more about it in the future. I can't wait to talk about that!

I've also built new development and staging environments at Nylon, complete with source control and a web-based server admin and project-build (deployment) interface created by yours truly. This is part of a slow introduction of new development methodologies and project management policies and procedures.

Yes, I've been busy... and what I've said here only scratches the surface. More to come (much more) including, among other things, my thoughts about the future of ColdFusion.

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.