- Leslie Lamport (2022), Deconstructing the Bakery to Build a Distributed State Machine → https://cacm.acm.org/magazines/2022/9/263810-deconstructing-the-bakery-to-build-a-distributed-state-machine/fulltext
- Marc Stiegler (2010), The Lazy Programmer's Guide to Secure Computing → https://www.youtube.com/watch?v=eL5o4PFuxTY
- Google TechTalk on the Principle of Least Authority and capability-based security (which q.v. → https://en.wikipedia.org/wiki/Capability-based_security)
- Yaron Minsky (2018), Data Driven UIs, Incrementally → https://www.youtube.com/watch?v=R3xX37RGJKE
- StrangeLoop talk by JaneStreet engineer on "finding a way of expressing the necessary transformations of the data in a way that is simultaneously easy to understand and efficient to execute over large streams of data".
- Danny Moerkerke (2022), Native Form Validation Of Web Components → https://itnext.io/native-form-validation-of-web-components-a599e85176c7
- thorough guide to easy, native form validation
- Warning: Very long.
- Danny Moerkerke (2022), Web Components Can Now Be Native Form Elements → https://javascript.plainenglish.io/web-components-can-now-be-native-form-elements-107c7a93386
- complete guide to customised form controls
- Hillel Wayne (2022), The five-minute feedback fix → https://github.com/readme/guides/testable-requirements-feedback
- Mentions Alloy and TLA+, but really covers Decision Tables.
- Andy Dote (2022), The reports of UML's death are greatly exaggerated → https://andydote.co.uk/2022/09/11/uml-isnt-dead/
- Hillel Wayne (2022), Data Invariants → https://buttondown.email/hillelwayne/archive/data-invariants/
- Stephen Haberman (2022), Can and Should Instead of Is and Get → https://www.draconianoverlord.com/2022/01/17/can-and-should-instead-of-is-and-get.html/
When implementing software systems, behavior is often derived from expressions that are based on the domain model’s current state.
- 30 seconds of code (ongoing), 30 seconds of code -- snippets → https://github.com/30-seconds
- Marc Grabanski (2022), Writing a TodoMVC App With Vanilla JS in 2022 → https://frontendmasters.com/blog/vanilla-javascript-todomvc/
- Marcel Weiher (2014), The Safyness of Static Typing → https://blog.metaobject.com/2014/06/the-safyness-of-static-typing.html
- Delan Azabani (2022), Meet the CSS highlight pseudos → https://www.azabani.com/2022/09/01/meet-the-css-highlight-pseudos.html
- All about ::selection, ::target-text, ::spelling-error, ::grammar-error, and a custom ::highlight(author-defined name).
- Raymond Camden (2022), Investigating IndexedDB Wrapper Libraries - Part Three → https://www.raymondcamden.com/2022/08/29/investigating-indexeddb-wrapper-libraries-part-three
- using DPP, or Deep Persistent Proxy Objects for JavaScript
- Krasimir Tsonev (2022), Asynchronous queue → https://50tips.dev/tip/19/asynchronous-queue
- part of 50 tips, this one "accepts promises at random intervals and returns the result of all of them".
- Mathias Verraes (2019), DDD and Messaging Architectures → https://verraes.net/2019/05/ddd-msg-arch/
An overview of my different series on patterns in distributed systems.
- David Boike (2017), Putting your events on a diet → https://particular.net/blog/putting-your-events-on-a-diet
- How to reduce fields in events to avoid coupling dependant systems.
- An event has two features: it has already happened and it is relevant to the business
- A command is a directive to do something that hasn’t happened yet
- Commands only have one receiver: the code that does the work the command wants done
- [E]vents will be consumed by multiple subscribers...
- Because there can be many places subscribing to the event, modifying the event can have a large ripple effect through multiple different systems