As 2017 draws to an end, with any luck things are stabilizing…. This year had been crazy in my personal life with lots of big changes. Now I’m settled into a new place (actually my old place from years ago), new office, new schedule (yuck, daytime hours!). Time to move forward with otherĀ  new changes, like by spring a new vehicle, and more fun, new programming.

So I have been programming with PHP since 1999. Before that it was Perl and C++ for the web, and Visual Basic 6 for apps. While I feel I’m pretty good with PHP, I’ve decided it is time to up my game with Javascript. I have known basics for some time, but want to step it up to the “pro” level. I have done some pretty complicated things with it before, but admittedly, probably ugly in the way I did it.

Example, one project I worked on involved allowing client sites to include code to have a widget pop up and animate on their site. Since there was no way of knowing what was used to build their site in advance (ie, using jQuery, or something else, which really at the time I didn’t know that well anyhow), I took the route of writing my own code. Everything from caching elements being used, to my own from scratch animation functionality that allowed multiple animations to execute together. Funny thing was once I did start learning jQuery, I was impressed that a lot of the things I had wrote worked quite similar.

So now one of the things I am looking to get better at is more advanced and organized raw Javascript. I am on my second book now. Yes, I am old and do prefer good books (or at least PDF versions) to just videos. The first book I read came free from SitePoint, “Javascript: From Novice to Ninja“. Very well written for my mind, easy to follow. The second book that I’m currently reading is “Secrets of the JavaScript Ninja” by Manning Publications. (Coincidence on the names, I really wasn’t looking to continue with the “ninja” status.) So with the coming year, I hope to have better more efficient code.

It does strike me funny that many times in “officially” learning something, I read something and like “oh hey, I’ve been doing that already!”. I remember the first time I heard the term Ajax years ago, it during a time I was looking for a job, and noticed it listed as something several places were looking for. So being the geek, I went and looked up what it was so I could learn it, just to find out it was something I was already using, just didn’t know the “name” of it.

So we shall see. One pet project I want to build this coming year is a basic membership plugin for clients. I have helped some with different ones through the years with paid ones, that have a ton of features, but most are not used. Now that the clients have used them for a while, and hashed out what features they want to use, I can streamline their sites without the bloat of the membership systems they use now (and all have the same system). For a few, this will also be a financial win, as they can cancel their monthly licensing fee to one of them. (and then I don’t have to worry that their WP install is running a plugin that at anytime can update it’s own code, or have issues like the plugin completely disabling itself when their “licensing server” went down… that was very frustrating!)

So here is to a New Year! May it be new and refreshing for us all!