Large-Language Models: Enhancing Human Potential, Not Replacing It

The rise of has sparked discussions and concerns regarding their potential to replace human jobs.

Herbert Simon's Poverty of Attention

What information to select and what information to discard represents a huge challenge in working with data at scale.

Setting up macOS Catalina: New machine setup for general use

A quick checklist for configuring a macOS Catalina (macOS 10.15) computer for general (personal or professional) use for the first time.

Setting Up macOS Catalina: Wipe and Reinstall

Wipe a Mac computer harddrive for use by someone other than the original user. This guide goes through each step in detail, to ensure a smooth process to prepare a mac for a completely fresh installation of macOS Catalina (or Mojave).

Developer Personal Projects

As you undertake the process of building out the crucial underlying infrastructure and features, your idea can shift into an entirely new direction. For applications the features of which have not be pre-determined (rare in the professional world), let the process of writing the software direct how the process goes.

(Another) Intro to Scrum and Agile

Software development presents a variety of new challenges that traditional project management (waterfall) styles struggle to overcome. Scrum is a product development methodology developed in 2002, a year after the Agile manifesto was released. In this post, I'll be looking at what Scrum is and the possible benefits of following the methodology.

Text Contrast for Web Pages

How easy a page is to read — its legibility — is a concern that page and type designers have grappled with for centuries. The practice of laying out text is a technical and artistic tradition that stretches back to Gutenberg and far beyond. The web presents all-new challenges for legibility, and understanding contrast can help you ensure you're not excluding visitors with vision impairments. This post addresses ways to test and improve the contrast of the text on your web page.

Checking for Keyboard Events in JavaScript with Cross-Browser Support

How to use KeyboardEvent.key to check which key was pressed with cross-browser support including IE 11 and older versions of Safari and Opera.

Linting ES2015+ — ESLint with StyleGuides: Google, AirBnB, Common

One refrain I return to over and over again when I tutor web development is that most bugs during development are caused by typos. That could be an improperly placed semicolon or a failure to close a section of code. These kinds of code errors rarely make it into production code. However, spending time weedling them out is frustrating and wasteful, especially because there’s a better way. Enter linting, or static code analysis.

Image Types (and when to use them)

Creating content for the web, there are a variety of image file types to choose from. For photographs, jpeg is the best choice. For animated content, gif is the clear winner. For still images with transparency, png works best. Let's cover some common file types in order to highlight the strengths and weaknesses of file types.