Latest Posts

Calling smart contract functions using web3.js - call() vs send()

I’ve recently been doing Udacity’s Blockchain Developer Nanodegree, and the gotcha that has caused me the most wasted hours is the difference between calling a method in my smart contract using the call() vs send() web3.js methods. Using web3.js to call smart contract functions Web3.js...

Solidity function visibility, explained

When writing a smart contract, we can control who/what can call functions within that contract by specifying what is known as the function visibility. This allows us to easily secure certain parts of a contract without having to write too much custom logic. Who can call a smart contract...

Your first performance budget with Lighthouse

I asked on Twitter the other day how many people had created and enforced a performance budget for a website they were working on. Not surprisingly, the vast majority of people hadn't. I'm curious, have you ever created (and enforced) a performance budget for a site you'...

Removing duplicate objects from an Array (is hard)

Let’s say we have an array of objects such as the following: const books = [ { name: "My Sister the Serial Killer", author: "Oyinkan Braithwaite" }, { name: "Educated", author: "Tara Westover" }, { name: "My Sister the Serial Killer", author: "Oyinkan Braithwaite"...

Tips for making interactive elements accessible on mobile devices

The Web Content Accessibility Guidelines (WCAG) is a set a guidelines for how to make websites accessible. The second version was published in 2008, before websites were available on mobile devices in any meaningful way. A few months ago, the WCAG was updated to version 2.1, which includes a...