I was listening to a podcast about writing quality code recently, and since we just announced the Reliable Web Summit, this topic has been on my mind.

Is code an asset or a liability? I think this is a question that not all developers have pondered, and a fundamental understanding or even just an opinion on this, can radically change your view on writing code.

There’s lots of ways to define assets & liabilities, but we’ll use the following question as a way to judge if something is an asset or a liability. Is having more of it a desirable…

I don’t mean that you shouldn’t write unit tests. You definitely should.

But you shouldn’t feel bad deleting unit tests when you have some that are no longer relevant. This usually happens due to refactoring, but also happens due to requirements changes. In these cases, your first impulse should be to torch your tests.

If this feels wrong to you, then ask yourself why?

Usually, we hate getting rid of something because it has meaning to us. Things that have meaning to us usually have meaning because of the time we put into them.

So if you hate throwing away…

Lately, I’ve been posting a bunch of really fun content in a series called Mastering Unit Testing on Twitter. The latest tweet is here on the difference between DAMP and DRY in unit testing.

Please go give it a look and like/retweet.

Const is a Lie in JavaScript

The const keyword in JavaScript is a lie and a waste. I recently tweeted about how const is a waste and had a lot of interesting discussions.

But here’s the thing about const in JavaScript: it ONLY makes sure that the reference isn’t reassigned. But when you use a keyword like const, it implies to you that the…

JavaScript has a nice Date Object. It can do all kinds of cool things like tell you the current date and time, etc. Lots of languages have a similar facility.

And you shouldn’t use it.

By that I mean, you shouldn’t use it directly.

Let me clarify a little bit. I don’t mean don’t use date objects, those are a fundamental data type in JavaScript (or your preferred language). But what I mean is that you shouldn’t directly use the functionality that tells you the current date and time, or some calculation based on current date/time, such as getting tomorrow’s…

Angular 10 is out. Knowing all the newest features of a tool can be very important. So let’s break down what’s new in Angular 10:

  1. A big fat nothing
  2. See #1

Yeah, honestly, there’s really nothing new. Ok, there are a couple of tiny changes: Angular Material has a new date picker, and there’s some minor changes to things you almost for sure don’t use.

So does this mean that it’s a problem? Disappointing?

Nope. Why? Because first of all, upgrading to 10 will be super easy.

Also, this matches their release cadence. A new major version every 6 months…

There’s been some fascinating discussion and debate recently about the modern web, and whether what we often take for granted as “the right way to do things” is really better than “the old way”. A lot of this has been centered around Hey.com, the new email service that’s taking the world by storm.

Now if you’re wondering what is the “modern web” let’s use a pretty general definition. The modern web is a web app using some kind of front end framework — angular, react, vue, etc. with some kind of API server — node, .NET, …

I like to paint miniature figures for Star Wars (pics below for anyone who may be interested). It’s about the geekiest of hobbies. The other day I was on a website buying custom bases for these figures. This site was out of the US, and the default currency was not US Dollars, but there was an option to switch the currency to US dollars so I did, and then I noticed this:

In my free course on the Fundamentals of Angular, there are just over 2 hours of content on template-driven forms in Angular. One of the main parts of this is coverage of how to validate user input. This is an important part of any framework’s forms handling.

But in Angular, there’s a bit of an unmet promise when you learn about forms validation, and this can be confusing, so I’d like to just quickly cover the issue to help clear up any confusion you may encounter when doing forms validation in Angular.

When you first learn about forms validation, you…

Dates in JavaScript and Angular can be dangerous if you don’t know what you’re doing. Let’s look at how to avoid potential bugs by gaining a fundamental understanding of JavaScript and Angular date handling and the quirks that come along with that.

To start off with, you need to understand the ISO date format that the JavaScript ecosystem supports. It’s actually the ISO 8601 format. It’s a fairly straightforward format that looks like this:


In this example we see that it is the year, month, and day separated by dashes, then a “T” and the time in hours, minutes…

Earlier this year I was privileged to be able to help put on ng-conf Hardwired, a last-minute, seat of our pants scramble to turn an in-person conference into an online conference that was all duct tape and baling wire behind the scenes, but turned out great for the audience.

Anyway, I thought I’d just put out there that there were a few talks given at the conference that were truly epic and are absolute must-sees. These are pretty Angular-centric, FYI.

So here’s my list in no particular order:

  1. Farewell Entry Components by Yvonne Allen. Yvonne, who happens to be a…

Joe Eames

Mormon, Christian, Father, CEO of Thinkster.io, Organizer of @ngconf, @frameworksummit, React Conf. Front end developer, and Software Craftsmanship Evangelist.

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