> You cannot get educated by this self-propagating system in which people study > to pass exams, and teach others to pass exams, but nobody knows anything. You > learn something by doing it yourself, by asking questions, by thinking, and by > experimenting. > - Richard Feynman In the spirit of learning by doing, I decided to implement a simple blockchain server. More work remains, but I'm tired after working on this for ~2-3h. I'd like to reimplement this from memory using a statically typed language like Haskell. I'd also like to implement node discovery (https://en.bitcoin.it/wiki/Satoshi_Client_Node_Discovery) because that is still something I don't quite understand. But I'm signing-off for now... Change-Id: I74f424e7f52ffbf81eaad420d7d5205da66d33b5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4802 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com> |
||
|---|---|---|
| .. | ||
| .gitsecret | ||
| assessments | ||
| bin | ||
| boilerplate | ||
| buildHaskell | ||
| ci | ||
| clients/monsterpoker | ||
| configs | ||
| dotfiles | ||
| emacs | ||
| go | ||
| gopkgs | ||
| haskell-file | ||
| lisp | ||
| nixos | ||
| playbooks | ||
| scratch | ||
| terraform | ||
| todo-lists | ||
| tools | ||
| utils | ||
| website | ||
| zoo | ||
| .envrc | ||
| .gitignore | ||
| common.nix | ||
| keys.nix | ||
| Makefile | ||
| OWNERS | ||
| README.md | ||
| secrets.json.secret | ||
wpcarro
Welcome to my monorepo.
Herein you will find a variety of libraries, packages, and documents. Some of this work in finished and other work is incomplete or just a sketch for a future project.
Where applicable, I try to include README.md files in some of the
subdirectories to help orient both myself and any onlookers.
Sign posts
Below I have outlined a few projects that you might find interesting.
boilerplate: scaffolding for projects. Boilerplate's goal is to reduce the startup costs of a project.configs: my dotfiles (e.g.config.fish,init.vim).emacs: Emacs is both my preferred text editor and my window manager; with tens of thousands of lines of Emacs Lisp, you can safely assume that this directory hosts a lot of libraries and packages.monzo_ynab:systemdtimer unit that imports my Monzo (i.e. a U.K.-based online bank) transactions into the personal finance tool YNAB (i.e. youneedabudget.com).nixos: my declarative configuration for my NixOS machines. If you are unfamiliar with Nix, I recommend reading about the NixOS project.tools: some scripts and projects that simplify my life.website: everything required to build my website, https://wpcarro.dev.
Installation
Google Machine
- ensure
~/google-briefcaseexists - read
~/google-briefcase/README.md
NixOS Machine
- Ensure Nix is installed.
- Ensure direnv is installed.
- Ensure
~/.password-storeexists. - Transfer GPG stuffs:
- old computer:
configs/.gnupg/export.sh $outdir - new computer:
configs/.gnupg/import.sh <path-to-zip>from the new machine.
- old computer:
- Consult
Makefile.