I’m still working to embrace strict null in C#. In the mean time here are a few notes on how I try to deal with null today. Avoid null as a sentinel value. Sentinel values are really just a specific example of the more general “magic number” anti-pattern. Magic numbers are bad enough in general.Continue reading “Pragmatic Null”
Category Archives: Programming
True vs. Useful
In this excellent blog post, in the epilogue, the author explains JavaScript’s difference between let and var. I use var because it works really well, it’s very flexible, and it behaves according to a predictable set of rules (just like the rest of JavaScript). But, var doesn’t always work the way I want it to;Continue reading “True vs. Useful”
Classic Mistakes
In this column, instead of examining the software industry’s best practices I want to step through the looking glass. I want to examine its worst practices – specifically, those that have been used so often, by so many people, to produce such predictably bad results that they should be labeled “classic mistakes.” https://stevemcconnell.com/articles/classic-mistakes/
Hacker Laws
Laws, Theories, Principles and Patterns that developers will find useful. https://github.com/dwmkerr/hacker-laws/blob/master/README.md
Web Components Will Replace Your Frontend Framework
Remember when document.querySelector first got wide browser support and started to end jQuery’s ubiquity? It finally gave us a way to do natively what jQuery had been providing for years: easy selection of DOM elements. I believe the same is about to happen to frontend frameworks like Angular and React. These frameworks have enabled usContinue reading “Web Components Will Replace Your Frontend Framework”
The Difference Between SQL’s JOIN .. ON Clause and the Where Clause
What’s the difference between putting a predicate in the JOIN .. ON clause and the WHERE clause? https://blog.jooq.org/2019/04/09/the-difference-between-sqls-join-on-clause-and-the-where-clause/
The 737Max and Why Software Engineers Might Want to Pay Attention
NOW: As a software developer, operations engineer, or security engineer, does any of that sound familiar? If it does, that’s why you should pay attention to what happens with the case of the 737Max. https://medium.com/@jpaulreed/the-737max-and-why-software-engineers-should-pay-attention-a041290994bd
Quotes from 1992
It’s a pretty fascinating book, snapshotting the microcomputer industry (and its history) as things sat back in 1991 (or was it 1992?). It surprised me how many things are just like they were back then, 27 years ago (yikes!). The names have changed, but human organizations remain the same. https://apenwarr.ca/log/20190207
Famous laws of Software development
These laws consist of rules, principles, or famous words from great and inspiring persons in the development world. At the same time they are interesting, funny, worth knowing, and all have great back-stories which are amazing to read. https://www.timsommer.be/famous-laws-of-software-development/
Guys, do you really not understand why x86 took over the server market?
It wasn’t just all price. It was literally this “develop at home” issue. Thousands of small companies ended up having random small internal workloads where it was easy to just get a random whitebox PC and run some silly small thing on it yourself. Then as the workload expanded, it became a “real server”. AndContinue reading “Guys, do you really not understand why x86 took over the server market?”