Solved problems and not re-inventing the wheel

It is a common tendency among inexperienced developers to approach a problem with code first. You’re given a task, and your first thought is, “how would I write the code to solve this?” It’s a totally understandable approach. After all, you’re a software dev – writing code to solve...

Security – Password Hashing

When you have a site, an app, or application, you will inevitably have users who use it. Those users must, of course, log in with a username and password. Your app must, of course, store those usernames and passwords in order to do the authentication. This places a hefty...

Privacy and Personal Information – GDPR and POPIA

The European Union recently passed a new set of laws that govern the protection of personal information. These are called GDPR (General Data Protection Regulation), and for our purposes, they govern the way the data of European citizens must be handled, by anyone who deals with European citizens. The...

Things to remember for new developers

I was recently asked to attend a 3rd year BSC class’ year-project presentation. I was there to be the voice of the real world; someone who actually writes code in anger every day. My role was to watch the presentations, and give some feedback on any issues I saw....

Creating and assigning the same object in JavaScript

Today I ran into an interesting quirk in JavaScript that caused me hours of investigation, and I thought I’d share it with you. The issue revolves around two methods on the JavaScript Object: create and assign. You would use create to create a copy of an existing object. It...

Javascript build tool quagmire

The last couple of days I’ve been diving into the crazy world of frontend build tools. This post isn’t a look into those individual tools, or my requirements for them; it’s just a quick observation on the state of the industry. The JavaScript world has millions of tools and...

Debugging a device issue

The other day I spent the entire day trying to debug a strange issue with the Samsung Internet 4 browser. I thought I’d write a post describing some of the techniques we used to find the problem. TL;DR Make sure you can reproduce the error using a code build...