~patmaddox

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

100 most recent check-ins

2024-02-19
12:58
password-trainer: fix Makefile Leaf check-in: 1856a735e9 user: patmaddox tags: trunk, password-trainer
12:49
www: highlight .cr files as crystal check-in: b1c0e76c1b user: patmaddox tags: trunk
12:24
www: update prism JS / CSS to include more languages check-in: 4c711b2f7a user: patmaddox tags: trunk
12:15
(format) check-in: 31847f7fc4 user: patmaddox tags: trunk
12:14
password-trainer: update docs check-in: 6499f199c0 user: patmaddox tags: trunk, password-trainer
12:10
password-trainer: LICENSE and README check-in: c082539fab user: patmaddox tags: trunk, password-trainer
11:53
password-trainer: provide hints; shuffle items in app check-in: d1a3145ad4 user: patmaddox tags: trunk, password-trainer
11:52
shuffle items Closed-Leaf check-in: 3d188fcd93 user: patmaddox tags: password-trainer
11:41
shuffle items in app Closed-Leaf check-in: 8f16220c4e user: patmaddox tags: mistaek
11:37
print newline after reading password (because it does not echo) check-in: b863b5f7ed user: patmaddox tags: password-trainer
11:34
provide password hints check-in: 82c0b9b08d user: patmaddox tags: password-trainer
11:17
extract a MainSession helper class to wrap i/o check-in: b53903173f user: patmaddox tags: password-trainer
04:20
password-trainer: handle multiple arbitrary fields (not just username/password); skip fields check-in: 525357fb14 user: patmaddox tags: trunk, password-trainer
04:18
handle fields that are missing values Closed-Leaf check-in: fce0c1d717 user: patmaddox tags: password-trainer
04:08
allow skipping a field check-in: ee7d0d721e user: patmaddox tags: password-trainer
04:01
include all concealed fields check-in: 39711b80e3 user: patmaddox tags: password-trainer
03:51
do not echo concealed passwords check-in: 3ea5565dc1 user: patmaddox tags: password-trainer
03:22
replace Password with Item - 1Password has items with multiple fields, so support this model instead of fixed username/password combos check-in: ee604a3e22 user: patmaddox tags: password-trainer
02:21
Guesser, Item, and Field only advance when told to check-in: 43e0ab56c0 user: patmaddox tags: password-trainer
01:27
add Item and Field classes check-in: f6b0f126e3 user: patmaddox tags: password-trainer
00:43
change dependencies from spec file to implementation check-in: 376494acd2 user: patmaddox tags: password-trainer
00:42
test does not need to build app check-in: 0840a5d12b user: patmaddox tags: password-trainer
2024-02-18
15:02
valgrind-test: add d lang check-in: ca0f3e3875 user: patmaddox tags: trunk
12:57
valgrind-test: add rust and go check-in: 45470adf19 user: patmaddox tags: trunk
12:45
valgrind-test: run valgrind on some simple hello world programs check-in: f7d145192a user: patmaddox tags: trunk
2024-02-17
23:54
backup.sh: fix iteration over multiple datasets check-in: 825e098402 user: patmaddox tags: trunk
23:06
backup.sh: handle multiple datasets check-in: f2fa42aec7 user: patmaddox tags: trunk
11:16
parsing modifies instance variable instead of returning values

also reduce duplication in calling 1password check-in: 36f60aa1f0 user: patmaddox tags: password-trainer

10:37
test 1password parsing check-in: 98e994853c user: patmaddox tags: password-trainer
10:13
refactor password stores from modules to classes check-in: 35bc00da55 user: patmaddox tags: password-trainer
00:50
password-trainer: first useful version (reads from 1password) check-in: faaea133f2 user: patmaddox tags: trunk, password-trainer
00:48
refactor OnePasswordStore Closed-Leaf check-in: 71e463662f user: patmaddox tags: password-trainer
00:41
add a 1password backend check-in: ac18ebf165 user: patmaddox tags: password-trainer
2024-02-16
23:10
do not echo when reading password check-in: 37bc6978c7 user: patmaddox tags: password-trainer
23:02
use an enum to set password store option check-in: 9f82353934 user: patmaddox tags: password-trainer
22:57
configure a test password store for test subcommand check-in: acb0b4ee1b user: patmaddox tags: password-trainer
22:45
refactor: move #guess to Main check-in: 4dbdc8446f user: patmaddox tags: password-trainer
22:25
refactor: extract a Main class; move classes to their own files check-in: 16f8e42b31 user: patmaddox tags: password-trainer
22:10
extract Password.match? function check-in: 6c22511bf2 user: patmaddox tags: password-trainer
22:05
extract Password struct check-in: d65cc54902 user: patmaddox tags: password-trainer
20:55
read input on same line as prompt check-in: 5e4681a360 user: patmaddox tags: password-trainer
20:50
prompt for user input check-in: 3a24d0b976 user: patmaddox tags: password-trainer
20:27
unit test simple TestPasswordStore check-in: 513b6ea815 user: patmaddox tags: password-trainer
20:02
little refactor check-in: 7f197adf25 user: patmaddox tags: password-trainer
19:56
basic tests against static password check-in: b1c9463d05 user: patmaddox tags: password-trainer
11:04
scaffolding check-in: bdfc5d4355 user: patmaddox tags: password-trainer
08:53
inventory: replace classes with exhaustive case on enum check-in: 6c5da3e665 user: patmaddox tags: trunk
08:50
use crystal exhaustive case check-in: b68c07830f user: patmaddox tags: trunk
03:09
inventory: replace enum with types

this allows the compiler to check that all types are handled by overloaded methods check-in: 561e0e127b user: patmaddox tags: trunk

02:36
(edit) check-in: 5c9b537f53 user: patmaddox tags: trunk
02:35
example in crystal of types vs enums check-in: 316c2819a7 user: patmaddox tags: trunk
01:09
inventory: lots of refactoring

- replace booleans with Command enum
- encapsulate Runner logic in its own class
- namespace everything check-in: 20b8fcb68e user: patmaddox tags: trunk

01:06
replace Unknown command with Nil Closed-Leaf check-in: 224ab906ae user: patmaddox tags: inventory
01:01
change Inventory.new to take a block check-in: 79749d5f0f user: patmaddox tags: inventory
00:59
init parser in its own function check-in: a9d2f3b52e user: patmaddox tags: inventory
00:58
namespace check-in: cfa20df637 user: patmaddox tags: inventory
00:56
extract Runner to its own file check-in: cfa69be287 user: patmaddox tags: inventory
00:50
convert Runner module to a class check-in: 79684b9c72 user: patmaddox tags: inventory
00:39
extract Command enum and Runner check-in: 1a77c83d1e user: patmaddox tags: inventory
00:17
refactor: extract a command symbol instead of using bools check-in: a3ca9f9c5a user: patmaddox tags: inventory
00:09
inventory: simple test suite and crystal implementation (show, add, del) check-in: 664bd2dea7 user: patmaddox tags: trunk
00:06
use #open api that automatically reads and writes Closed-Leaf check-in: c59f832146 user: patmaddox tags: inventory
00:00
only write the inventory file if it has changed check-in: 32d802e916 user: patmaddox tags: inventory
2024-02-15
23:53
program calls read and write, not the object check-in: a3913d8f65 user: patmaddox tags: inventory
23:49
refactor check-in: 0fc1203454 user: patmaddox tags: inventory
23:43
delete item from inventory check-in: 9aab20e0ab user: patmaddox tags: inventory
23:36
re-add an item check-in: 800469d2d0 user: patmaddox tags: inventory
23:22
set an item in inventory check-in: 9f149c45d7 user: patmaddox tags: inventory
22:54
basic test harness check-in: 15d01775e6 user: patmaddox tags: inventory
19:53
a72-feed: push new feed to gh-pages rather than using releases

GH releases host content on github.com which has a CORS issue with TSMLUI js check-in: d4069ac47e user: patmaddox tags: trunk

19:01
a72-feed: swallow time errors; print feed check-in: 76bc982c47 user: patmaddox tags: trunk
18:57
a72-feed: a simple function to convert a google meeting to a tsml meeting check-in: 5ea6a9eecf user: patmaddox tags: trunk
15:58
ffi-adventure: explicitly null terminate CString instead of initializing every value to 0 check-in: bf005503bd user: patmaddox tags: trunk
15:56
(edit) check-in: d1d9749762 user: patmaddox tags: trunk
15:52
ffi-adventure: crystal relative link to C lib check-in: c83696ed9d user: patmaddox tags: trunk
15:52
ffi-adventure: create a CString class for mutable strings passed to C check-in: 5cddb13344 user: patmaddox tags: trunk
00:20
ffi-adventure: crystal upcase maintains null termination check-in: 0fca73837c user: patmaddox tags: trunk
2024-02-14
23:42
ffi-adventure: simplify crystal upcase check-in: 8947872aa2 user: patmaddox tags: trunk
22:27
ffi-adventure: upcase in crystal check-in: 4d52244d41 user: patmaddox tags: trunk
21:18
ffi-adventure: hello crystal check-in: b9ea5ae5f6 user: patmaddox tags: trunk
21:18
ffi-adventure: update PATH for nim

It appears as though nim package no longer installs bin to PATH (or perhaps never did) check-in: f3fc3c5ad2 user: patmaddox tags: trunk

10:38
ports: add lang/crystal check-in: 8b1d205a01 user: patmaddox tags: trunk
2024-02-13
20:44
ports: add devel/valgrind-devel check-in: 9856d64337 user: patmaddox tags: trunk
20:41
ports: bump check-in: a93b1945bb user: patmaddox tags: trunk
19:44
www: update OSS contributions

- maintain more ports
- poudriere check-in: 2b877c2576 user: patmaddox tags: trunk

17:45
oss: hard reset main check-in: bcf0f702d5 user: patmaddox tags: trunk
17:34
oss: configure FORK to fetch remote refs check-in: 311f4de07c user: patmaddox tags: trunk
17:27
(edit) check-in: f474ff557e user: patmaddox tags: trunk
2024-02-12
16:58
oss: better repo cloning

- do not create a bunch of local branches
- configure origin to fetch remote branches

Before this, "git branch" would list every remote branch (default --bare behavior).
It also would not show anything for "git branch -r"
This behaves more like a "normal" git clone, but using a bare repo and worktrees.

See also: https://morgan.cugerone.com/blog/workarounds-to-git-worktree-using-bare-repository-and-cannot-fetch-remote-branches/ check-in: d0b3ea4dab user: patmaddox tags: trunk

15:56
archie: change package repo check-in: c990ec671e user: patmaddox tags: trunk
2024-01-30
22:00
ports: latest commit check-in: 692eee9510 user: patmaddox tags: trunk
16:58
(edit) check-in: 105af2335b user: patmaddox tags: trunk
16:57
tf: reference locally-built aws provider instead of downloading from registry

OpenTofu does not provide pre-built FreeBSD binaries for AWS provider, so I have to build them check-in: 5a0e5d6dc0 user: patmaddox tags: trunk

16:51
oss: add terraform-provider-aws check-in: 8d586d2906 user: patmaddox tags: trunk
16:51
ports: re-enable zig check-in: 23fd446bd8 user: patmaddox tags: trunk
16:50
ports: bump version check-in: 5de8c5a261 user: patmaddox tags: trunk
13:06
ports: do not test ports when building patmaddox check-in: 377e119998 user: patmaddox tags: trunk
12:55
ports: add opentofu check-in: 5c25e7710e user: patmaddox tags: trunk
2024-01-29
17:26
ports: bump sha; fix rebase-main check-in: 31b1608298 user: patmaddox tags: trunk
17:26
ports: add aws-vault check-in: 2101995017 user: patmaddox tags: trunk