• 2024-05-28

JavaScript: when you need two ways to do it!

Wherein we discover JavaScript always gives you a choice.

Read more β†’
  • 2022-11-07

Random Rust Impressions

I have been using Rust for some years now for hobby projects. Recently I also had the opportunity to use it professionally for a while. My background is mostly in dynamically typed languages like Python and JavaScript, though I have played with various other languages over the years. I thought I'd share some of my impressions of Rust. …

Read more β†’
  • 2022-07-14

SolidJS fits my brain

In this article I'm going to talk about the SolidJS frontend framework, and why I think it's cool and fits my brain. …

Read more β†’
  • 2022-01-12

Is premature optimization the root of all evil?

Among programmers there is a saying: premature optimization is the root of all evil. Where did that come from? In what context was it used? Does it still apply? …

Read more β†’
  • 2021-11-01

Framework Patterns: JavaScript edition

Software developers use software frameworks all the time, so it's good to think about them. You might even create one yourself, but even if you don't, understanding the design principles underlying them helps you evaluate and use frameworks better. …

Read more β†’
  • 2020-05-18

Roll Your Own Frameworks

When I build an application, I build frameworks along the way. I recently realized that not everybody thinks this is normal, so I thought I'd give a description of what I do and why I think it's a good idea.

Read more β†’
  • 2020-02-05
  • 2019-09-24

Secret Weblog Highlights

This is an old blog by now. I started it in 2005. But I'm not old! No way! Over the years I wrote a lot of stuff. Sprinkled throughout are entries that I think are still relevant. So if you'd like, join me in my little journey through the history of my secret weblog. Warning: it's mostly about software development in one way or another. …

Read more β†’
  • 2019-08-15
  • 2017-01-25
  • 2016-11-23
  • 2015-10-27
  • 2015-10-12
  • 2015-09-28
  • 2015-07-06
  • 2015-06-10
  • 2013-09-17
  • 2013-05-20
  • 2013-05-16
  • 2013-05-15
  • 2013-05-13
  • 2013-05-07
  • 2013-04-04
  • 2013-01-31
  • 2013-01-30