I'm an experienced web developer, software engineer, and leader. Welcome to my blog. If you need to reach out you can continue the conversation with a tweet to @geedew. I hope you find what you are looking for here. You can also find me on Github and StackOverflow.

Modernizing Web Application JavaScript

Refactoring is a process of revisiting code and attempting to make it ‘better’. The code is no longer useful due to its age, functionality, or preference and it has been decided to be replaced with an equal set of ‘better’ code. At no point does a developer learn the best way to refactor code. Refactoring is a skill learned through experience. JavaScript refactoring is notoriously hard due to scope and dynamic accessing of object properties. There is a clear pattern, however, that can be followed that promotes success and is pragmatic.

/ / / Read More

Trimming Strings; Stripping Text in JavaScript

Strings are one of the most basic structures in any development language. Developing with strings happens in common ways across languages. Sometimes languages don’t offer the common gamut of tools and leave the developer to implement their own methods. One of these cases occurs with a proper strip method in JavaScript. JavaScript added the String.Trim[1] with EcmaScript5, which is a specialized version of a generic strip, so that leaves developers to implement it themselves.

/ / / Read More

The HTML5 Input Event

In the DOM a special event occurs on an <input> or <textarea> element known as the change event [1] [2]. The change event gives a developer the ability to catch input changes. However, it falls short when instant feedback is needed because it will only trigger once the input has lost focus. Immediate feedback could be handled using the keydown or keyup events. Those events are costly (happening often and requires the code to keep state to know of changes actually occurring) and are potentially buggy due to extra logic needed.

/ / / Read More

Setting up Ansible for multiple environment deployments

Ansible is a tool for automating the task of installing software via SSH. You can run it against a server, a VM or even a desktop; anything that can be a target of SSH! If you haven’t had the chance to use Ansible then go get a basic understanding before attempting to follow the things I will talk about.

The goal of Ansible is to be able to setup a server the same way, every time (immutability). This fits well with code development and the need to have production-like servers. Ansible does not smooth the transition between different environments, however. In fact, there is a special variable (environment) that has nothing to do with the concept that I’m writing about, making it a confusing thing to describe.

/ / / Read More