programming

  • 2024-06-26

I Was a 1980s Teenage Programmer Part 5: Achieving Assembly

Part five in a series about my teenage adventures learning about computers and programming in the 1980s: achieving assembly

Read more β†’
  • 2024-05-31

I Was a 1980s Teenage Programmer Part 4: The Call of Assembly

Part four in a series about my teenage adventures learning about computers and programming in the 1980s: the call of assembly language.

Read more β†’
  • 2024-05-30

The Tooling Shift

Tool maven versus language maven. Do modern development environments enable you to be both? How does this affect languages?

Read more β†’
  • 2024-05-29

I Was a 1980s Teenage Programmer Part 3: MSX-2

Part three in a series about my teenage adventures learning about computers and programming in the 1980s: the MSX 2 computer.

Read more β†’
  • 2024-05-27

Empowering Programming Languages

I think, for me, becoming enamored by a programming language requires a sense of empowerment by that language. "Now I can build all the things!" It also requires a certain sense of conceptual unity; it can't be too messy. It also cannot be too low level: it needs the ability to do abstraction. And I need to be actually using it a lot for real world tasks; it can't just be for toy problems. In my developer life there are two languages I have become truly enamored by. Python in 1998 and Rust, a few years ago. I have appreciated other languages but this is more. …

Read more β†’
  • 2024-05-26

Bloat and Retrofuturism

Developers like to complain about bloat in software. But should we feel guilty? What do to about it? Do we need software environmentalism and a retrofuturistic approach?

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-21

I Was a 1980s Teenage Programmer Part 2: Olivetti M24

Part two in a series about my teenage adventures learning about computers and programming in the 1980s: the first PC.

Read more β†’
  • 2022-07-20

I Was a 1980s Teenage Programmer: the Alphatronic

I have been programming computers for a long time; I started as a teenager at some point in the 1980s. I thought I might reminiscence a bit about it. That's fun for me, but it also may also be fun for others to see a small snapshot of what programming could be like back then. For some, of my generation or older, there may be recognition, but for others who got into programming later this might be an unknown world. …

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 β†’
  • 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-21
  • 2014-09-26
  • 2014-07-29
  • 2013-02-06
  • 2013-02-04
  • 2013-02-01
  • 2013-01-31
  • 2013-01-30
  • 2013-01-29
  • 2008-12-01
  • 2007-11-01
  • 2007-04-14