The LinkedIn group for PHP Developers featured a jQuery tutorial on how to move elements with the keyboard. It linked to a tutorial on lessoncup.com, an ok website with various with jQuery, PHP and MySQL tutorials. I’m interested in this sort of thing so thought I’d see what technique they used in their demonstration. It was this one. I strongly disagreed with the technique so left a polite comment on the share in LinkedIn stating there may be a better way to accomplish the task. Rather than starting a constructive discussion weighing pros and cons my comment was simply removed by author so I took it upon myself to write this article. Continue reading
Author Archives: Kevin
formBuilder v1.9.0
Version 1.9.0 of formBuilder introduces a number of visual and performance improvements.
Performance
Older versions relied on a textarea and it’s value was previously used as a buffer with formBuilder constantly reading and writing to it. No more. formBuilder now has its own buffer and can exist without the textarea.
Saving and preview generation has been optimized to run less frequently. Previously every keystroke caused a save and preview updated… yikes Continue reading

Icon font management with Gulp and Fontello
With all the buzz around GitHub’s switch to inline svg I thought I better publish my current icon font editing workflow while it’s still semi-relevant. No doubt I’ll be adopting full inline svg myself but someone somewhere may find it useful to stick with icon fonts for a while.
In this tutorial we’ll be working with ECMAScript2016 (ES6) so our Gulpfile will actually be gulpfile.babel.js. To begin we’ll add some config to our package.json
. Continue reading
WordPress Push and Pull
I seem to be doing a lot of Dev Op stuff lately and recently needed to quickly deploy a local site I was developing. I thought there would be a simple way of doing this with VVV or some other third-party script but unfortunately I did not find a solution that suited my needs, so I made one. Eventually I will either move to Capistrano or expand on these scripts to accommodate different environments and use cases but for now this is working for me. Continue reading