ee96a818e1
- Clear the boilerplate that `mix` generated - Consume `Math.factor` to test which inputs are semiprimes - Cache all inputs that are semiprimes as soon as we discover that they are - semiprimes I considered a couple things related to the Cache: - Could save space by storing all semiprime factors in a tree. This would make the lookups more expensive. Also because the tree's depth would never exceed two (because all semiprimes only have two factors), the tree would be quite broad, and we may not be saving enough space for the trade to be worthwhile. I might be wrong about that though. - We could consider pre-computing all semiprimes when we start the app, but without running some tests firsts, I'm not sure whether or not it's worth the trouble. |
||
---|---|---|
.gitsecret | ||
assessments | ||
boilerplate | ||
buildHaskell | ||
ci | ||
configs | ||
emacs | ||
go | ||
gopkgs | ||
haskell-file | ||
lisp | ||
nixos | ||
playbooks | ||
scratch | ||
third_party | ||
todo-lists | ||
tools | ||
utils | ||
website | ||
zoo | ||
.envrc | ||
.gitignore | ||
default.nix | ||
dictionary.md | ||
Makefile | ||
README.md | ||
secrets.json.secret |
briefcase
Welcome to my monorepo: briefcase.
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.
Languages
To give you a general idea of the source code inside of this monorepo, here is
the latest output from tokei --hidden --sort code .
:
-------------------------------------------------------------------------------
Language Files Lines Code Comments Blanks
-------------------------------------------------------------------------------
CSS 9 67324 50733 218 16373
Emacs Lisp 111 25326 15790 6337 3199
Python 99 7432 5414 623 1395
JSON 18 2235 2235 0 0
Markdown 34 1771 1771 0 0
TypeScript 25 1665 1317 115 233
Nix 65 1302 1115 82 105
Go 17 1256 926 173 157
Vim Script 2 766 470 87 209
HTML 17 496 459 11 26
Org 8 420 411 8 1
Haskell 4 319 217 57 45
Plain Text 5 145 145 0 0
JavaScript 13 105 99 0 6
Fish 1 87 54 23 10
Lisp 3 83 43 23 17
Elixir 1 50 39 5 6
Sass 1 51 38 2 11
TOML 2 37 32 0 5
Shell 2 34 15 9 10
Java 2 11 11 0 0
Makefile 2 14 9 3 2
C 1 6 5 0 1
BASH 2 10 4 2 4
YAML 1 5 4 0 1
Rust 1 5 3 1 1
-------------------------------------------------------------------------------
Total 446 110955 81359 7779 21817
-------------------------------------------------------------------------------
67,321 of the 67,324 lines of CSS comes from //website
, which includes the
template I use for my blog. Because I use TailwindCSS for my personal projects,
most of the styling is embedded in the class atribute of HTML and JSX tags.
Sign posts
Below I have outlined a few projects that you might find interesting. I am
using //
to indicate the root of my monorepo, the directory in which this
README.md
resides.
//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
:systemd
timer 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, wpcarro.dev.
Notes to self
Here are a few reminders when setting up a new machine:
- Ensure
~/.password-store
exists. - Run
export_gpg
from a computer with my gpg credentials. Runimport_gpg
from the new machine. - Ensure the new machine can access my Github.