System Architecture

System Architecture

The Net Promoter Score
The Net Promoter Score
Extensive research has shown that your Net Promoter Score®, or NPS®, acts as a leading indicator of growth.
·netpromoter.com·
The Net Promoter Score
Throwaway development environments with Nix
Throwaway development environments with Nix
I use Nix a lot. Nix is a bunch of different things. It’s a programming language, designed for expressing a build pipeline. It’s a package manager. It (well, NixOS) is an operating system based on that package manager. Today I’d like to talk about the package manager. Specifically, a lovely gateway into the rest of the ecosystem, nix-shell. Some people will tell you that the point of Nix is to set up your software so it can be built with Nix, which allows you to tightly control all dependencies and emit something that is as close to reproducible as possible. I am all for this, but if we can tightly control the dependencies without actually building inside a Nix environment, we’ve still improved the reproducibility a lot, and it’s not that hard. To follow along, you’ll need to first install Nix. It works on Linux and macOS; if you use Windows, I recommend checking out the Windows Subsystem for Linux. Running an arbitrary program with nix-shell nix-shell does two things. It will read an environment specification from a file named shell.nix and load up a bash shell (which you can override) with that environment present. Or it will do the same thing with a list of packages supplied on the command line. For example, if I want to run the cowsay program, I don’t have to install it: I can load a shell with that program. $ nix-shell -p cowsay this path will be fetched (0.01 MiB download, 0.05 MiB unpacked): /nix/store/x87xaaad225x5x9gv15mn01mf204kycv-cowsay-3.04 copying path '/nix/store/x87xaaad225x5x9gv15mn01mf204kycv-cowsay-3.04' from 'https://cache.nixos.org'... [nix-shell:~]$ cowsay hello _______ hello ------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || Running nix-shell -p cowsay will download cowsay from the nixpkgs package repository, and then launch a bash shell with that program available, by adding it to the PATH. We can verify that: [nix-shell:~]$ echo $PATH ...:/nix/store/x87xaaad225x5x9gv15mn01mf204kycv-cowsay-3.04/bin:... There it is: cowsay, downloaded to the Nix store. (You’ll see more than just that in the PATH, and you may see nix-shell download a lot of extra packages the first time you use it. Just sit tight.) You may be wondering what that long string of letters and numbers is in the package directory name. It’s a hash of all the inputs, which means that if one of the dependencies change, the hash will change too. The source of the program is also considered an input, so if we upgrade cowsay to a new version (I find it awesome that there are so many versions of this program), the hash will also change. This means that we can have various different versions all available in our local store at once, and they won’t collide with each other. Perhaps not so important for cowsay, but when we start dealing with programming languages, this gets interesting.
·monospacedmonologues.com·
Throwaway development environments with Nix
How to Chunk Your Database into a Merkle Tree
How to Chunk Your Database into a Merkle Tree
Dolt is a next-generation SQL database with Git-like version control features. It's the only SQL database with branches that you can diff…
·dolthub.com·
How to Chunk Your Database into a Merkle Tree
Ink & Switch
Ink & Switch
Industrial research lab working on digital tools for creativity and productivity
·inkandswitch.com·
Ink & Switch
Getting started with Structurizr Lite
Getting started with Structurizr Lite
Structurizr Lite is a free version of Structurizr, packaged as a Docker container, and designed for...
·dev.to·
Getting started with Structurizr Lite
Yann LeCun has a bold new vision for the future of AI
Yann LeCun has a bold new vision for the future of AI
One of the godfathers of deep learning pulls together old ideas to sketch out a fresh path for AI, but raises as many questions as he answers.
·technologyreview.com·
Yann LeCun has a bold new vision for the future of AI
“Could be better”
“Could be better”
Three words that open the door for insight, understanding and improvement. Gratitude isn’t in question. Neither is acceptance of the situation. It’s not unpatriotic or disloyal to talk …
·seths.blog·
“Could be better”
Top & Popular Shortest Path Finding Algorithms
Top & Popular Shortest Path Finding Algorithms
If you are a developer, whether self-taught or a college grad, chances are high that you will come across this problem to test your skills and having a keen understanding of some popular algorithms will save you a bunch. Today, we shall see some of...
·blog.octachart.com·
Top & Popular Shortest Path Finding Algorithms
Tailscale SSH Launches in Beta to Replace SSH Keys
Tailscale SSH Launches in Beta to Replace SSH Keys
Tailscale has launched a beta version of Tailscale SSH, which replaces SSH keys with the Tailscale identity to make authentication and authorization trustworthy and easy.
·thenewstack.io·
Tailscale SSH Launches in Beta to Replace SSH Keys