No description
Find a file
William Carroll ee96a818e1 Define Server.semiprime
- 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.
2020-12-12 01:32:31 +00:00
.gitsecret Prefer reading secrets.json to using pass show 2020-08-20 18:31:37 +01:00
assessments Define Server.semiprime 2020-12-12 01:32:31 +00:00
boilerplate Drop support for dir-locals.nix, <nixpkgs>, etc. 2020-08-20 11:26:32 +01:00
buildHaskell Document ghcExtensions argument 2020-08-13 18:04:33 +01:00
ci Debug false-negative reports for init-emacs CI step 2020-09-02 14:47:34 +01:00
configs Delete .profile 2020-09-09 14:32:47 +01:00
emacs Sort Emacs deps 2020-11-12 11:20:27 +00:00
go Drop support for dir-locals.nix, <nixpkgs>, etc. 2020-08-20 11:26:32 +01:00
gopkgs Remove default values for Nix expression parameters 2020-03-01 22:32:24 +00:00
haskell-file Drop support for dir-locals.nix, <nixpkgs>, etc. 2020-08-20 11:26:32 +01:00
lisp Add README.md to //lisp 2020-04-05 16:18:26 +01:00
nixos Delete comment monzo_ynab deployment 2020-09-01 12:17:16 +01:00
playbooks Fix typo 2020-12-07 20:10:33 +00:00
scratch Move the habit-screens project into //website 2020-12-11 22:47:04 +00:00
third_party Remove <unstable> from briefcase 2020-08-20 11:26:32 +01:00
todo-lists Mark additional movies as watched 2020-11-12 11:19:59 +00:00
tools Prefer builtins.path 2020-08-27 17:31:15 +01:00
utils Define {builder,fs}.nix for utils.nix 2020-09-01 12:16:34 +01:00
website Move the habit-screens project into //website 2020-12-11 22:47:04 +00:00
zoo Drop support for dir-locals.nix, <nixpkgs>, etc. 2020-08-20 11:26:32 +01:00
.envrc Drop support for dir-locals.nix, <nixpkgs>, etc. 2020-08-20 11:26:32 +01:00
.gitignore Testing git-secret 2020-08-20 14:50:53 +01:00
default.nix Pull Emacs 27 from @tazjin's depot 2020-09-02 14:07:39 +01:00
dictionary.md Support dictionary.md 2020-07-21 12:58:13 +01:00
Makefile Rename dotfiles -> briefcase 2020-01-31 15:27:48 +00:00
README.md Drop support for Nix home-manager 2020-09-07 23:01:59 +01:00
secrets.json.secret Prefer reading secrets.json to using pass show 2020-08-20 18:31:37 +01:00

briefcase

Build status

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. Run import_gpg from the new machine.
  • Ensure the new machine can access my Github.