In a not-widely-reported article, the Governments of the US, UK, CA, AU, and NZ released a joint statement saying, in part:
*Privacy laws must prevent arbitrary or unlawful interference, but privacy is not absolute [...] Should governments continue to encounter impediments to lawful access to information necessary to aid the protection of the citizens of our countries, we may pursue technological, enforcement, legislative or other measures to achieve lawful access solutions.* This could require developers to give governmental backdoors to all systems written or deployed in those countries. This is a big deal, and worth checking out the orange site rabbit-hole, as the [[privacy]] implications are staggering.
Will Larson provides **Notes on
A Philosophy of Software Design. **It’s an article on John Ousterhout’s latest book, which is focused on managing complexity in software projects. I found it a great summary. If you want to dive deeper, you can watch Ousterhout present the ideas in the book himself. If you aren’t sure who he is, he is the author of Tcl/Tk and wrote the first log structured file system, among other achievements. The orange site discussion is great as well.
**ElixirConf 2018 videos are being released. **Interested in [[Elixir]]? Check them out. I haven’t watched them all yet, but I’ve queued up UX Design Practices for Real-Time apps and Architecting Flow in Elixir.
Alexei Baboulevitch detailed how he used lessons from CRDTs to implement stateless data sync for a GPL iOS app. Alexei explains how he used Event Logs and Lamport Clocks to provide conflict-free merges and delta-updates.
There are a lot of examples of bad/old [[cmake]] usage around the web. Modern CMake is a new ebook that will lead you through the happy path for using cmake on a new project.
WatermelonDB is a DB layer for React and React Native that uses [[SQLite]]. It's faster because it loads the [[database]] lazily, helping you to scale your apps easily without a performance hit. It’s also reactive, so when your database content is updated your [[React]] views update automatically. [github]
Google AMP can sod right off. This week Google AMP Can Go To Hell (and on reddit) called on devs to resist AMP and support an open web, while refusing to support this project that diminishes individual sites’ control of their own content. Drew Devault also took a shot at AMP in his call for more conservative web development. And Google continues their ‘be evil’ approach to third party sites by changing their display URLs.
Azure had a lengthy outage this week after a cooling issue. Hilariously, the status page was also hosted on Azure so you couldn’t use it to get the status.
In Value-Oriented Programming, Matt Diephouse suggests hoisting more of your decisions into values and moving the choice of how to deal with those values closer to the outside of the system.
The boundary adds another semantic layer, which opens up additional possibilities for testing, transformation, and inspection. I’ve recently built a reporting layer that follows these principles (in Elixir, but the principles are universal) and it is substantially easier to work with than previous similar tools I’ve built. [orange site commentary]
Terry A. Davis, the author of TempleOS passed away this week. His family requests supporters donate to
organizations working to ease the pain and suffering caused by mental illness.