In React, if you have a useEffect hook that accesses a dependency not listed in the dependencies array, the lint rule react-hooks/exhaustive-deps (assuming you have it enabled) will give the error:| CodingItWrong.com
Working in software consulting for nine years, I’ve gotten to work on teams with all kinds of different processes. Some have very heavyweight waterfall processes. Some have no processes at all. Some have tried scrum and have moved to kanban, or tried kanban and have moved to scrum. When I join a team I try not to bring too many preconceptions. There isn’t just one right process; any of these approaches can work for a team. (Except waterfall, obviously!)| CodingItWrong.com
This is the fourth post in a series about the Four Rules of Simple Design.| CodingItWrong.com
This is the third post in a series about the Four Rules of Simple Design. “Fewest elements” means that if there is a way to accomplish the same functionality with fewer programming elements, prefer the option with fewer. Many examples of fewest elements Examples of unnecessary elements you can remove include: Unreachable code. Most modern programming languages have code linters that can alert you to unreachable code. Leaving in unreachable code is confusing to the reader, because it sugge...| CodingItWrong.com
This is the second post in a series about the Four Rules of Simple Design. “No duplication” means that when a domain concept is represented in two or more places in the code, you adjust the code so that that domain concept is represented in just one place. This usually involves putting shared data or logic in a single shared place so they can be accessed from wherever they’re needed. Why no duplication? Consider a user account record. Say there are multiple conditions that determine whe...| CodingItWrong.com
This is the first post in a series about the Four Rules of Simple Design. Click a link in the list below to navigate to a post about the linked rule.| CodingItWrong.com
For years I’ve wanted to write something to advocate for evolutionary design. There is so much that can be said, and I hope to write more in the future. But I wanted to begin with this short definition of what I mean by “evolutionary design” and explanation of why it’s helpful.| CodingItWrong.com
For a few years now I’ve wanted to write about the various architectural approaches for web frontends. I’ve hesitated, however, because of a lack of experience with one particular approach: streaming HTML from the server (e.g. Phoenix LiveView). I looked for an opportunity to try out that approach to get more experience with it before I wrote, but that opportunity never came: it didn’t seem to be a good fit for the professional and side projects I had. But there’s been a shift in the ...| CodingItWrong.com
An article on Adafruit.com describes how to run OPENSTEP 4.2 in a virtual machine. I went through the steps, and it went smoothly. The only hiccup was a few settings in VirtualBox that are phrased slightly differently in 7.0 for macOS.| CodingItWrong.com
tl;dr: to play the original Classic Mac Marathon games over a LAN, enable AppleTalk and set it to connect via Ethernet. No TCP/IP configuration is needed.| CodingItWrong.com
The Mastodon instance I’ve been using, mastodon.technology, is shutting down in a few months, so I’ve migrated my Mastodon account to a new server. I wanted to share the steps I went through in case the details are helpful to anyone, especially others migrating off that instance–especially a warning about when you lose access to your old account. I don’t know if these are the best steps to follow, but they worked for me.| CodingItWrong.com