Web Development

Building blocks of the the Internet

JavaScript event loop

Asynchronous JavaScript: The Event Loop

Today I attended Will Sentance’s workshop “JavaScript Hard Parts” on Frontend Masters. It was a foundational overview of how asynchronous JavaScript is processed using the JavaScript Event Loop. This is not a perspective that I have studied before. Perhaps I {…}

Posted by: John Dugan

Asynchronous JavaScript: Promises

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