Last week I blogged about my endeavor to collaboratively work on the questions at 4Clojure.com. This week, my progress on that particular endeavor might slow down a little bit, or perhaps already has. It’s not forgotten by any means, but I’m juggling a few projects and multi-tasking as fast as I can.
Earlier this week, I was focused on my MongoDB for Developers course, which is currently in week 6 of 7. Last week I had completely forgotten about it because I was focused on the 4Clojure work. I remembered it Sunday evening, and it turned into a long Sunday evening (assignments are due on Monday). This week I wanted to avoid that scenario from replaying itself, so between Monday night and Tuesday night, I wrapped up this week’s MongoDB assignments. Go me!
I’m currently in the process of a renewed effort to become proficient with Clojure. We’ve been using it at World Singles in production for a couple of years now, but there’s been enough CFML that I’ve not really needed to do much in the Clojure beyond very superficial updates. But the CFML is shrinking, the Clojure is growing (well, not really… the Clojure code is much more concise than the CFML code, but you know what I mean), and it’s time for me to fully embrace Clojure.
It’s not that I haven’t tried over the past couple of years. But making the leap from self-taught ColdFusion developer to Clojure and functional programming has been no small task. Functional programming is such a different paradigm that I’ve stumbled over many of the basic concepts. Recently, however, I took a Coursera course on Programming Languages. That’s when the light bulbs started coming on. I had read Clojure books. I had gone to conferences. But sitting down and actually writing out code for the assignments, that’s when it started to click. To be clear, the Coursera course wasn’t Clojure-based. It wasn’t meant to teach any particular language. Rather, it was meant to teach programming concepts. And specifically, functional programming concepts. I started to understand the difference between recursion and iteration. The notion of variable assignments, and in particular, re-assigning a value to a variable, started to make me uneasy. Conceptually, the pieces were falling into place.
Now I’m tasked with fleshing out some code at work that relies on Clojure. Some of it is still CFML written in FW/1, but the meat of it is using the Clojure-based Expectations testing framework. It’s been a challenge, but as with the Coursera course, jumping into the code has proved to be very beneficial. But I still need to hone the Clojure skills in order to work efficiently. Enter 4Clojure.
Instant jQuery 2.0 Table Manipulation How-to
A few months back I was contacted by a representative of Packt Publishing
asking me if I’d have any interest in writing a book on using jQuery
to perform HTML table manipulation. Apparently they had seen a previous blog entry that I had written on manipulating table row backgrounds using jQuery
and thought that the concept could be fleshed out into a book. Turns out they were right. Instant jQuery 2.0 Table Manipulation How-to
has made it to the final steps of publication as we speak.
It’s a long and unfortunate title, but that’s OK as I didn’t come up with it. The title isn’t mine. Everything inside is, and I hope that people find that to be more entertaining and more educational and just all around better than the title. Of course, that assumes that you’re going to buy the book. You do plan on buying the book, don’t you? If you don’t buy the book then all of that knowledge just sits there between the pages (or electrons, if you’re into the epub scene) and does nobody any good.
tl;dr Pledge to the MDA at my fundraising page.
On March 23, 2013, my family and I will be participating in the Muscular Dystrophy Association’s “Phoenix Muscle Walk”. We became involved with MDA when we found out that my son, CJ, has inherited the gene for Charcot Marie Tooth disease (CMT), a neurological disease that causes damage to the peripheral nerves, which carry signals from the brain and spinal cord to the muscles, and relay sensations, such as pain and touch, to the brain and spinal cord from the rest of the body.
This is the blog post that’s been rolling around in the back of my head for months, but I haven’t really wanted to write. But as I see others write about it and hear others talk about it, I think that it’s time. Yes, it’s another post on the decline of ColdFusion, but I think from a different perspective. It’s more of an observation of the factors that have contributed to the decline of ColdFusion, almost all of which have been external. In short, the death of ColdFusion is not to be blamed on Adobe, the community, or even on ColdFusion itself. It’s simply a matter of evolution. The evolution of the Web.
I’ll preface this by saying that ColdFusion, along with Allaire, Macromedia, and Adobe, have all been very good to me over the past 15+ years. The platform has earned me a living, put a roof over my head and food on my table. The community has given me friendships that are still strong today, and I would expect will still be strong 20 years from now. I’m eternally grateful for what I have today, and it’s not an exaggeration to say that none of it would be here if it wasn’t for ColdFusion. There are no ulterior motives here. No animosity. Simply my observations.
I do think that ColdFusion is… well, dying. I don’t think there’s anything that can be done. It’s just… time. Others have talked about it recently. Why add to the noise? Because I don’t think a lot of the previous discussions have gone into the *why*s of the decline, and I think that’s important to understand.