Hi there, and thanks for dropping by. I am a web and app developer and private tutor living in the Boston area. While I grew up in Virginia, I have now spent more of my life in Massachusetts. Outside of work I enjoy illustration, running, writing about technology, and losing to my son at chess.
My history as a developer is a fairly roundabout journey. I started programming in BASIC on my Commodore 128 during the age of floppy disks, following tutorials from 3–2–1 Contact magazines and building pint-sized games. After middle school, my interests veered towards track, cross country…
While Drupal is a content management system with great flexibility, upgrading your website’s Drupal version can be a complex process.
While upgrading a website from Drupal 8 to 9 does not usually entail a massive rebuild as a D7-D9 migration does, it is nonetheless a significant change that requires planning and forethought. It is also the most urgently needed version change now, as while Drupal 7 does not lose support until November 2022, Drupal 8 will by November this year.
This particular upgrade has been billed as a significantly large security update, and to an extent that is true. But…
If you are new to closures, let’s start with this: a closure is essentially an object with one or more functions bundled together with the object’s surrounding environment. The environment typically includes variables that the closure needs and that cannot be accessed directly in the main scope of the program.
In this article, we’ll look at a simple closure…
Date objects that store the time at which they were created and have their own unique set of methods. You can instantiate one the way you would another type of object with the
let currentDate = new Date();
Suppose we want to take this
Date object and extract a timestamp in the format below, with the
T separating the date and…
The DOM, or document object model, is an integral part of a web developer’s work. Because it represents the element tree found in a webpage, it determines the underlying structure of what the browser delivers to users.
For those of you who are unfamiliar with the DOM concept, it is the hierarchical structure of HTML elements…
In this article, we will go over how to convert a string in camelCase to its dash syntax equivalent with a few lines of code. This conversion can come in handy when you want to use an object property like
data-cost — in a DOM element.
In this article, we will take a look at
camelToDash, a function that carries out the conversion and then investigate how it works under the hood.
A lot is going on in these five lines of code. …
Contributor: Jeremy Katz
Suppose you are considering a game of chess with a friend or family member and one of you is significantly more skilled at the game. This can unfortunately lead to an uneven experience. I should know, as I have lost to my 16-year-old son countless times over the past half-year. But before you switch to another game due to an uneven match-up, consider blindfolded chess.
If you have a mismatch in player ability, playing blindfolded chess is a great alternative to odds matches, in which the more skilled player may go without one or more pieces. If…
When opportunity knocks, sometimes leaving that door closed can open others. Here is my story.
My journey into web development began 13 years ago with an open house for a degree program at Boston University back in August of 2008. This was when they had the Center for Digital Imaging Arts, which had a web development program that looked like a possible entry point. (It later closed in 2014.)
If you are interested in exploring the field web of development or coming back to it after a long hiatus, it can be challenging to figure out where to start. While there are now a plethora of opportunities for learning web development on your own, the priority list of things to learn, the most important tools to have, and the overall learning structure can seem unclear.
In this article, I will go over key areas to learn about so that you can then locate courses, tutorials, and coding challenges around those areas.
It is common to think of web development…