I don’t like bash, I don’t like zsh, but I am stuck with them. I tried fish and oil, but somehow never got the hang of it (note… i should revisit them). So when I saw pcwalton playing around with yet another new shell, I was intrigued. nushell is one of the new shells around the block who aim to provide a much better experience over old established shells like zsh or bash.| experimentalworks.net
A History of Source Control Management Systems Source Control Management (SCM) Systems, have a long and rich history. As the systems evolved, so have their concepts, use cases and adoption over time. While SCMs are ubiquitous in modern software development, they have been fairly novel in the 80s and 90s, and arguable it took the rise of Git and Github for them to be used nearly everywhere. I want to provide an overview of what I consider the most important and influential systems over time.| experimentalworks.net
A few years back, I was invited to a set of executive reviews of various infrastructure projects, both as a presenter and a reviewer. Two of those reviews stuck in my mind, one for the clarity of the presentation, and one for, well, the lack of. I learned a great deal about contextual communication and what I call Communicate State not Deltas, and later implemented these learnings into my own communication.| experimentalworks.net
UPDATE Wed 24th, 2024: This article was originally called “Nominal Types”. A few people on lobste.rs and r/programming pointed out that naming this Nominal Types is incorrect. A better description would be Phantom Types or maybe Tagged Types. Quick overview of using nominal types to encode semantic differences between types in an efficient and elegant way The Problem Let’s say we’re writing a program with various types of IDs: user IDs, group IDs and document IDs.| experimentalworks.net