Every time you turn your head some new web technology spontaneously spawns into existence. It seemed like just yesterday, GraphQL was one of them. In reality, GraphQL has been out in the wild for about five years. Oh how the precious years escape us…

Despite it being relatively old news, it’s still quite new to the vast majority of software developers. If you’re one of those developers, just dipping your toes into the pond of GraphQL — RUN! IT’S A TRAP! Nah, just kidding. GraphQL is great! Hope I didn’t scare you away.

This list includes only client-side features so…


Schema.org was an unknown unknown to me for most of my time as a frontend developer. I have been building websites since 2010 and it was just over a year ago when I started at Manifold that I learned of its existence.

As someone who keeps up with modern web development trends, Schema.org flew under my radar for far too long. Why?

No one talks about it! Ever!

Well, now I am.

What is Schema.org?

Established as an open standard by Google, Microsoft, Yahoo, and Yandex, Schema.org cut its v1 release waaaay back in April 2013. Yes, it has really been around for…


Avoiding the Trap of Mild Successes

In a previous post, I shared my perspective on failure. I emphasized the lasting negative impact failure can have on us. It can be overwhelming and lead to undue stress if not managed well.

However, at the very least failure is explicit. It can come in the form of a poor performance review from a manager. A missed deadline. Another person being angry with us. And notably from these examples, our realization of failure is typically forced upon us though means out of our control.

Although it can be tough to handle, the knowledge of failure gives us permission to…


How I cope with constant failure while working at a startup

Working for a startup, my coworkers and I are often attempting to solve problems that have never been attempted before. We’re trying new things, pushing the limits of what’s possible. Inevitably, we often push past limits and fail. We experience failure almost on a daily basis. For instance: scrapping an entire project just days after launch. Sometimes these failures are hard to reconcile, especially when people put months or years of work into a project. And they happen often enough that, before we can even process one failure, another one is likely sneaking up behind us.

In a work environment…


Everyone loves pizza, but do we all have equal access to pizza? As the pizza-ordering process has moved from phone calls to websites and apps, the ordering systems we use to get our cheesy goodness have variably left some pizza-lovers behind.

Although web accessibility guidelines have been around for years, still many pizzerias, among other businesses, don’t comply with them. And who can blame them? Meeting accessibility guidelines can be confusing and it’s sometimes difficult to rationalize investing in accessibility when the benefits of doing so are sometimes unclear. But by far the biggest factor is that corporations have not…


A deep dive into the legacy of Lil Peep and what separates him from other SoundCloud rappers.

You might have heard the name Lil Peep before and understandably dismissed him as just another lil rapper to come out of the SoundCloud underground. With contemporaries such as Lil Xan, Lil Pump, Tekashi 6ix9ine, and many other face-tatted, rainbow-haired artists, it can be hard to differentiate between artists riding a wave and those actually changing the music industry in big ways.

In the case of Lil Peep, he was on of the artists leading the Cloud rap movement. …


A cleaner way to write switch statements.

Switch statements can be frustrating. With so many unique keywords (switch, case, break, default) to remember, and the obscure behavior of it’s control flow, it’s one of the most complex primitive constructs you’ll ever learn in programming.

A common use for switch statements in JavaScript (and many other languages) is resolving something based on an enumerable value. An enumerable is a finite set of unique values a variable can be. A simple example would be CSS positions:

enum CSS_POSITIONS {
static
relative
fixed
absolute
sticky
}

You can imagine there would be a switch statement somewhere in your browser that…


TL;DR: Static properties are properties of a class, not of an instance of a class.

In university, I was taught object-oriented programming in Java. Like most beginners, the first thing I learned was some version of this:

A “Hello, World” program written in Java.

Getting started, I was confused by all these keywords. public, static, void, String, etc… What are all these things!?

Eventually, I learned the meaning behind most of these keywords and how to use them through passive exposure. public makes a class or method available to be used by other programs, void is a type of none…


Throughout the rather short history of software development there have been many evolutions in the tools we use to build software. Despite the very nature of software development being rapid change, there’s always been a resistant, change-adverse group downplaying the legitimacy of newer tools.

When we advanced from Assembly to the familiar C-like languages commonly used today, there were no doubt programmers who scoffed at C, and thought the abstractions went too far — that real programmers wrote Assembly, and C was just a toy for the simpletons. We often hear, more recently, the same sentiments expressed towards languages like…


My friend/co-worker Sam Jesso told me that he hates using flags to modify the behaviour of functions. It makes sense. Functions should follow the single responsibility principle and do exactly one thing. It makes testing and maintaining code easier because it keeps functions simple and concise. However, diving into almost any codebase will reveal that we often make exceptions and use flags.

Whether or not these exceptions are justified is not what I want to discuss. It would be impossible to come up with a set of rules or guidelines for when an exception makes sense because everybody’s code is…

dave.js

I’m an artsy software engineer. I write about JavaScript/React, and sometimes my opinions about other things. ¯\_(ツ)_/¯

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store