Web Development

Building blocks of the the Internet

Graphic of a code symbol set against a green background

JavaScript Promises: A Simple Overview

What is a Promise? A promise is a placeholder for the result of an asynchronous operation. That’s it. JavaScript Promises may seem like a very complicated concept, but they are not. A promise is just placeholder. Why do Promises Exist? {…}

Posted by: John Dugan

Google Analytics Custom Events Emitter

A while back I looked in to implementing Google Tag manager so that marketing folks at my company could manage custom events in Google Analytics. Beyond custom events, I’m not sure what Google Tag Manager does (it’s been a while {…}

Posted by: John Dugan

Introducing Contrast Theme for Sublime Text

Contrast is a theme for Sublime Text born out of my frustration with inconsistent cross-language syntax highlighting. The purpose of Contrast is to reduce cognitive load by making color representative of how a program actually works, rather than just highlighting {…}

Posted by: John Dugan

Setup ionCube Loaders in WAMP

In order to develop sites on WAMP that have ionCube encrypted PHP files, you need to setup ionCube loaders in WAMP. Several years ago, I posted a popular screencast to my YouTube channel on the subject. I just upgraded to {…}

Posted by: John Dugan

Visual Studio Code vs. Sublime Text

I want to start by giving high praise to the Visual Studio Code team at Microsoft. It’s an incredible product that I believe will only get better. The git integration, the task runner integration, JavaScript debugging, IntelliSense, and parameter hinting {…}

Posted by: John Dugan
Graphic of a code symbol set against a green background

Fixed Headers With hash Links

I was working on a site today that had several links in which the href attribute references an id or hash value on another page. The site has a fixed header, so I needed to way to offset the element {…}

Posted by: John Dugan