Compare commits

..

227 Commits

Author SHA1 Message Date
79f7c42e5b Updated Note cigars.md 2025-10-18 19:27:55 -06:00
ef304b21dc Updated Note cigars.md 2025-10-12 14:17:28 -06:00
edeb72bcbe Updated Note to watch.md 2025-09-25 21:29:44 -06:00
6d0b7f153a Updated Note to watch.md 2025-09-22 11:42:35 -06:00
2309764522 foam_sync.ps1 (LIFEBALANCE) 2025-09-20T18:26:09Z 2025-09-20 18:26:09 -06:00
7e78fe06db foam_sync.ps1 (LIFEBALANCE) 2025-09-20T18:00:08Z 2025-09-20 18:00:08 -06:00
ca065a132a Updated Note cigars.md 2025-09-19 07:15:23 -06:00
658d877c57 foam_sync.ps1 (LIFEBALANCE) 2025-09-18T23:06:11Z 2025-09-18 23:06:11 -06:00
b311a961ab foam_sync.ps1 (LIFEBALANCE) 2025-09-18T07:50:19Z 2025-09-18 07:50:21 -06:00
b1732a2289 Updated Note to watch.md 2025-09-18 07:36:19 -06:00
141ec5aa05 Updated Note to watch.md 2025-09-18 00:45:20 -06:00
f3db7cb65e Updated Note to watch.md 2025-09-17 19:52:49 -06:00
6b54ee374e Updated Note cigars.md 2025-09-15 17:37:29 -06:00
b107936fd0 Updated Note cigars.md 2025-09-14 21:23:59 -06:00
f82ff03b1c Updated Note cigars.md 2025-09-14 21:10:57 -06:00
c0136c7502 Updated Note cigars.md 2025-09-13 19:02:15 -06:00
bc2cd3554b Updated Note cigars.md 2025-09-13 18:59:49 -06:00
f3a918746a Updated Note cigars.md 2025-09-13 18:57:13 -06:00
ben
e1605f3589 Update cigars.md 2025-09-11 13:37:07 -06:00
aa5431c280 foam_sync.ps1 (LIFEBALANCE) 2025-09-11T11:24:11Z 2025-09-11 11:24:13 -06:00
a1b1d7e090 foam_sync.ps1 (LIFEBALANCE) 2025-09-11T11:18:12Z 2025-09-11 11:18:12 -06:00
364bd496b7 Updated Note cigars.md 2025-09-11 11:07:47 -06:00
e8b777fa24 foam_sync.ps1 (LIFEBALANCE) 2025-09-10T16:28:13Z 2025-09-10 16:28:14 -06:00
44dc4dd088 foam_sync.ps1 (LIFEBALANCE) 2025-09-10T16:26:10Z 2025-09-10 16:26:11 -06:00
5e941486dd foam_sync.ps1 (LIFEBALANCE) 2025-09-09T02:14:09Z 2025-09-09 02:14:09 -06:00
5cfc9ebbc0 foam_sync.ps1 (LIFEBALANCE) 2025-09-09T02:12:10Z 2025-09-09 02:12:10 -06:00
ben
bbc6c94924 Update cigars.md 2025-09-05 20:29:56 -06:00
ben
f923ca686e Update cigars.md 2025-09-05 16:31:23 -06:00
4f9560fc1e Updated Note to watch.md 2025-09-04 09:34:27 -06:00
5b339c57bc Updated Note cigars.md 2025-09-03 17:49:34 -06:00
4fcfafd7a9 Updated Note to watch.md 2025-09-02 01:54:25 -06:00
7633b3daaa Updated Note to watch.md 2025-09-01 14:21:46 -06:00
84397ea6ba foam_sync.ps1 (LIFEBALANCE) 2025-08-31T00:50:10Z 2025-08-31 00:50:10 -06:00
501f88eeb6 foam_sync.ps1 (LIFEBALANCE) 2025-08-31T00:40:09Z 2025-08-31 00:40:09 -06:00
28862c2d12 foam_sync.ps1 (LIFEBALANCE) 2025-08-31T00:38:09Z 2025-08-31 00:38:09 -06:00
66359f847c foam_sync.ps1 (LIFEBALANCE) 2025-08-31T00:26:09Z 2025-08-31 00:26:10 -06:00
574f050907 foam_sync.ps1 (LIFEBALANCE) 2025-08-31T00:24:09Z 2025-08-31 00:24:09 -06:00
546605759f foam_sync.ps1 (LIFEBALANCE) 2025-08-31T00:00:09Z 2025-08-31 00:00:09 -06:00
ac48760742 foam_sync.ps1 (LIFEBALANCE) 2025-08-30T23:28:09Z 2025-08-30 23:28:09 -06:00
9b83cb2f49 foam_sync.ps1 (LIFEBALANCE) 2025-08-30T23:12:10Z 2025-08-30 23:12:10 -06:00
be1e8c6696 foam_sync.ps1 (LIFEBALANCE) 2025-08-30T22:20:09Z 2025-08-30 22:20:09 -06:00
ac8a8603ff foam_sync.ps1 (LIFEBALANCE) 2025-08-30T21:50:08Z 2025-08-30 21:50:08 -06:00
a97da04177 foam_sync.ps1 (LIFEBALANCE) 2025-08-30T21:48:08Z 2025-08-30 21:48:08 -06:00
5a3142e8f5 foam_sync.ps1 (LIFEBALANCE) 2025-08-30T21:46:08Z 2025-08-30 21:46:08 -06:00
1e30897d8e foam_sync.ps1 (LIFEBALANCE) 2025-08-29T21:56:08Z 2025-08-29 21:56:08 -06:00
a133d63923 foam_sync.ps1 (LIFEBALANCE) 2025-08-29T20:58:08Z 2025-08-29 20:58:08 -06:00
443d44abeb foam_sync.ps1 (LIFEBALANCE) 2025-08-24T16:46:08Z 2025-08-24 16:46:08 -06:00
6c4f805501 foam_sync.ps1 (LIFEBALANCE) 2025-08-24T15:32:08Z 2025-08-24 15:32:08 -06:00
a3baf0086b foam_sync.ps1 (LIFEBALANCE) 2025-08-24T15:28:08Z 2025-08-24 15:28:08 -06:00
34c132569d Updated Note to watch.md 2025-08-23 16:22:11 -06:00
1fb65e616a Updated Note to watch.md 2025-08-22 20:58:26 -06:00
8b3e6b2df4 Updated Note to watch.md 2025-08-21 08:55:36 -06:00
f24f7b5ed4 Added Note to watch.md 2025-08-20 11:26:51 -06:00
2d52c7dc36 foam_sync.ps1 (DESKTOP-DBGBRBK) 2025-08-15T23:50:29Z 2025-08-15 23:50:29 -06:00
ben
cc842ba3d3 Update cigars.md 2025-08-13 20:44:21 -06:00
ben
73f60fe3c8 Update cigars.md 2025-08-13 20:12:20 -06:00
ben
6d240b97d8 Update cigars.md 2025-08-13 12:12:28 -06:00
ben
1fb7a95ac7 Update cigars.md 2025-08-11 15:30:26 -06:00
ben
5624ec5523 Update cigars.md 2025-08-11 15:21:22 -06:00
ben
41fa8e657f Update cigars.md 2025-08-11 14:41:33 -06:00
a3ded544a6 foam_sync.ps1 (DESKTOP-DBGBRBK) 2025-08-10T03:17:27Z 2025-08-10 03:17:27 -06:00
ben
5958b6dbed Update cigars.md 2025-08-07 16:59:05 -06:00
2dc08e7d05 Updated Note cigars.md 2025-08-05 17:10:29 -06:00
fa7121f443 foam_sync.ps1 (DESKTOP-DBGBRBK) 2025-08-02T11:56:28Z 2025-08-03 16:28:42 -06:00
b189952e8b foam_sync.ps1 (LIFEBALANCE) 2025-08-03T02:16:08Z 2025-08-03 02:16:08 -06:00
895ca7942f foam_sync.ps1 (LIFEBALANCE) 2025-07-31T20:54:08Z 2025-07-31 20:54:08 -06:00
115b337e3a foam_sync.ps1 (LIFEBALANCE) 2025-07-31T18:36:09Z 2025-07-31 18:36:09 -06:00
ben
0d62095206 Update cigars.md 2025-07-21 10:43:25 -06:00
f0634603ee foam_sync.ps1 (LIFEBALANCE) 2025-07-19T15:38:08Z 2025-07-19 15:38:08 -06:00
367e69faf6 foam_sync.ps1 (LIFEBALANCE) 2025-07-19T15:36:08Z 2025-07-19 15:36:08 -06:00
81467ee075 foam_sync.ps1 (LIFEBALANCE) 2025-07-19T15:34:08Z 2025-07-19 15:34:08 -06:00
ben
47552367b6 Update cigars.md 2025-07-18 19:36:46 -06:00
ben
d28f64ceb7 Update cigars.md 2025-07-17 13:47:13 -06:00
b3b3c9cde0 Updated Note making.md 2025-07-15 15:30:33 -06:00
ben
7cde42eb75 Update cigars.md 2025-07-14 15:48:51 -06:00
ben
ba48fa5303 Update cigars.md 2025-07-14 15:18:10 -06:00
ea3dce9ec9 Updated Note cigars.md 2025-07-11 16:29:41 -06:00
ben
73fac49347 Update cigars.md 2025-07-10 19:56:56 -06:00
ben
11fcdae114 Update cigars.md 2025-07-09 12:55:49 -06:00
ben
e4a12af050 Update cigars.md 2025-07-08 11:31:38 -06:00
9637bab983 foam_sync.ps1 (LIFEBALANCE) 2025-07-08T00:12:09Z 2025-07-08 00:12:09 -06:00
f6f499ab8a foam_sync.ps1 (LIFEBALANCE) 2025-07-07T23:34:08Z 2025-07-07 23:34:08 -06:00
c429a855da foam_sync.ps1 (LIFEBALANCE) 2025-07-07T22:26:09Z 2025-07-07 22:26:09 -06:00
b06c145575 foam_sync.ps1 (LIFEBALANCE) 2025-07-07T22:24:09Z 2025-07-07 22:24:09 -06:00
ben
47e960449c Update cigars.md 2025-07-07 15:03:33 -06:00
6acee9b716 foam_sync.ps1 (LIFEBALANCE) 2025-07-07T08:52:09Z 2025-07-07 08:52:09 -06:00
ba087a8fe3 foam_sync.ps1 (LIFEBALANCE) 2025-07-06T22:38:08Z 2025-07-06 22:38:08 -06:00
2fc8080666 foam_sync.ps1 (LIFEBALANCE) 2025-07-06T11:38:09Z 2025-07-06 11:38:09 -06:00
1d2a258823 foam_sync.ps1 (LIFEBALANCE) 2025-07-05T18:56:08Z 2025-07-05 18:56:08 -06:00
9b500703c5 foam_sync.ps1 (LIFEBALANCE) 2025-07-05T18:52:08Z 2025-07-05 18:52:08 -06:00
016540aae3 foam_sync.ps1 (LIFEBALANCE) 2025-07-05T18:48:08Z 2025-07-05 18:48:08 -06:00
a27a22e669 foam_sync.ps1 (LIFEBALANCE) 2025-07-05T18:34:08Z 2025-07-05 18:34:08 -06:00
5aa5fe4978 foam_sync.ps1 (LIFEBALANCE) 2025-07-05T18:30:08Z 2025-07-05 18:30:08 -06:00
bd80ee74d3 foam_sync.ps1 (LIFEBALANCE) 2025-07-05T18:28:08Z 2025-07-05 18:28:08 -06:00
1df6ed2e32 foam_sync.ps1 (LIFEBALANCE) 2025-07-05T17:50:08Z 2025-07-05 17:50:08 -06:00
594c2ab3f8 foam_sync.ps1 (LIFEBALANCE) 2025-07-04T17:58:09Z 2025-07-04 17:58:09 -06:00
cd0903ce53 foam_sync.ps1 (DESKTOP-DBGBRBK) 2025-07-03T22:09:14Z 2025-07-03 22:09:14 -06:00
2e4842e649 foam_sync.ps1 (LIFEBALANCE) 2025-07-03T21:12:09Z 2025-07-03 21:12:09 -06:00
9be353d908 foam_sync.ps1 (LIFEBALANCE) 2025-07-03T20:32:08Z 2025-07-03 20:32:09 -06:00
a63cc408f5 foam_sync.ps1 (LIFEBALANCE) 2025-07-03T20:30:08Z 2025-07-03 20:30:08 -06:00
b49020e3d5 foam_sync.ps1 (LIFEBALANCE) 2025-07-03T20:02:08Z 2025-07-03 20:02:08 -06:00
306ee0619c foam_sync.ps1 (LIFEBALANCE) 2025-07-03T12:50:09Z 2025-07-03 12:50:09 -06:00
096bae0e84 Updated Note cigars.md 2025-07-02 07:35:33 -06:00
b26ccf1391 foam_sync.ps1 (LIFEBALANCE) 2025-07-01T16:00:08Z 2025-07-01 16:00:08 -06:00
e8f83829bb foam_sync.ps1 (LIFEBALANCE) 2025-07-01T15:58:08Z 2025-07-01 15:58:08 -06:00
8fb004d9cd foam_sync.sh (beepboop) 2025-06-30T12:06:02Z 2025-07-01 14:46:48 -06:00
55089b85b1 foam_sync.sh (beepboop) 2025-06-30T12:04:05Z 2025-07-01 14:46:48 -06:00
ben
ff1de37b74 Update cigars.md 2025-07-01 14:46:05 -06:00
bd00234aad foam_sync.ps1 (LIFEBALANCE) 2025-06-30T23:50:08Z 2025-06-30 23:50:08 -06:00
69fbf249b6 foam_sync.ps1 (LIFEBALANCE) 2025-06-30T16:52:09Z 2025-06-30 16:52:09 -06:00
d75775b98a foam_sync.sh (beepboop) 2025-06-30T12:00:49Z 2025-06-30 12:00:56 -06:00
ben
38c719b7cb Update cigars.md 2025-06-30 11:53:53 -06:00
6e3a2434ea foam_sync.ps1 (LIFEBALANCE) 2025-06-29T21:02:08Z 2025-06-29 21:02:08 -06:00
303f3fcce6 foam_sync.ps1 (LIFEBALANCE) 2025-06-29T21:00:08Z 2025-06-29 21:00:08 -06:00
1dad7e5892 foam_sync.ps1 (LIFEBALANCE) 2025-06-29T00:22:08Z 2025-06-29 00:22:08 -06:00
3f9a9aa859 foam_sync.ps1 (LIFEBALANCE) 2025-06-29T00:06:08Z 2025-06-29 00:06:08 -06:00
1ad57b1625 foam_sync.ps1 (LIFEBALANCE) 2025-06-29T00:02:08Z 2025-06-29 00:02:08 -06:00
1e11572535 foam_sync.ps1 (LIFEBALANCE) 2025-06-28T23:18:08Z 2025-06-28 23:18:08 -06:00
dfb6363a11 foam_sync.ps1 (LIFEBALANCE) 2025-06-28T23:04:08Z 2025-06-28 23:04:08 -06:00
c320e34e67 foam_sync.ps1 (LIFEBALANCE) 2025-06-28T23:02:08Z 2025-06-28 23:02:08 -06:00
2a34095236 Updated Note cigars.md 2025-06-28 17:07:11 -06:00
5ff96990d2 Updated Note making.md 2025-06-28 15:07:45 -06:00
027e882e6f Updated Note making.md 2025-06-28 14:40:28 -06:00
ee5f9e7030 Updated Note pool.md 2025-06-28 14:30:15 -06:00
cfa16f2048 Updated Note pool.md 2025-06-28 14:29:25 -06:00
19013efa3d Added Note pool.md 2025-06-28 14:27:55 -06:00
4c02ea4959 Updated Note cigars.md 2025-06-28 00:28:20 -06:00
29c34d203e Updated Note making.md 2025-06-27 17:15:35 -06:00
84991f3e48 Updated Note homelab.md 2025-06-27 08:52:46 -06:00
dc8ef80cc6 Added Note TODO homelab.md 2025-06-26 08:10:18 -06:00
6e31eb68ab foam_sync.ps1 (LIFEBALANCE) 2025-06-26T00:38:08Z 2025-06-26 00:38:08 -06:00
66aed86542 Updated Note making.md 2025-06-25 22:09:53 -06:00
ben
b40492d5a7 Update cigars.md 2025-06-25 15:05:13 -06:00
77e96dd03d Updated Note cigars.md 2025-06-25 10:51:33 -06:00
93a3094392 foam_sync.ps1 (LIFEBALANCE) 2025-06-25T00:56:08Z 2025-06-25 00:56:08 -06:00
a5c1aa286b foam_sync.ps1 (LIFEBALANCE) 2025-06-25T00:54:08Z 2025-06-25 00:54:08 -06:00
159bc09c86 foam_sync.ps1 (LIFEBALANCE) 2025-06-25T00:52:08Z 2025-06-25 00:52:08 -06:00
8068f5378c foam_sync.ps1 (LIFEBALANCE) 2025-06-25T00:50:08Z 2025-06-25 00:50:08 -06:00
d327ab1532 Updated Note making.md 2025-06-24 10:47:18 -06:00
fb6322c8e9 Removed Note docs/publishing/publish-to-azure-devops-wiki.md 2025-06-23 23:53:51 -06:00
a6a419160d Removed Note docs/recipes/take-notes-from-mobile-phone.md 2025-06-23 23:50:27 -06:00
6a6a4fb701 Removed Note docs/recipes/automatic-git-syncing.md 2025-06-23 23:49:34 -06:00
5654f2634e Removed Note docs/recipes/real-time-collaboration.md 2025-06-23 23:48:58 -06:00
537cb747cb Removed Note docs/features/spell-checking.md 2025-06-23 23:48:15 -06:00
4eb9db50d9 foam_sync.ps1 (LIFEBALANCE) 2025-06-23T23:12:08Z 2025-06-23 23:12:08 -06:00
aa553995a9 foam_sync.ps1 (LIFEBALANCE) 2025-06-23T23:08:09Z 2025-06-23 23:08:09 -06:00
d6d906c715 foam_sync.ps1 (LIFEBALANCE) 2025-06-23T01:04:08Z 2025-06-23 01:04:08 -06:00
f29af0e155 foam_sync.ps1 (LIFEBALANCE) 2025-06-23T01:02:08Z 2025-06-23 01:02:08 -06:00
e6b24eaff5 foam_sync.ps1 (LIFEBALANCE) 2025-06-21T13:22:08Z 2025-06-21 13:22:08 -06:00
d9f9d2be9e foam_sync.ps1 (LIFEBALANCE) 2025-06-21T02:10:08Z 2025-06-21 02:10:08 -06:00
7b84e178b8 foam_sync.ps1 (LIFEBALANCE) 2025-06-21T02:08:08Z 2025-06-21 02:08:08 -06:00
373da648f1 foam_sync.ps1 (LIFEBALANCE) 2025-06-20T08:54:08Z 2025-06-20 08:54:08 -06:00
8539174c95 foam_sync.ps1 (LIFEBALANCE) 2025-06-20T01:18:08Z 2025-06-20 01:18:08 -06:00
ben
ff08ec3e3b foam_sync.sh (beepboop) 2025-06-19T20:48:02Z 2025-06-19 20:49:53 -06:00
ben
455c290894 foam_sync.sh (beepboop) 2025-06-18T09:50:03Z 2025-06-19 20:49:53 -06:00
82a1826280 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T19:30:08Z 2025-06-19 19:30:08 -06:00
0df77e29ea foam_sync.ps1 (LIFEBALANCE) 2025-06-19T19:28:08Z 2025-06-19 19:28:08 -06:00
6c733c8049 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T19:24:08Z 2025-06-19 19:24:08 -06:00
47ece60efe foam_sync.ps1 (LIFEBALANCE) 2025-06-19T19:20:07Z 2025-06-19 19:20:07 -06:00
85cc329349 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T19:17:00Z 2025-06-19 19:17:00 -06:00
ec0ca106d6 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T19:15:33Z 2025-06-19 19:15:33 -06:00
295f33964a foam_sync.ps1 (LIFEBALANCE) 2025-06-19T19:13:45Z 2025-06-19 19:13:45 -06:00
d6257c4419 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T19:02:01Z 2025-06-19 19:02:01 -06:00
1187547c1b foam_sync.ps1 (LIFEBALANCE) 2025-06-19T19:01:36Z 2025-06-19 19:01:36 -06:00
543964c79d foam_sync.ps1 (LIFEBALANCE) 2025-06-19T19:00:15Z 2025-06-19 19:00:15 -06:00
e5ff5b72e3 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T18:59:02Z 2025-06-19 18:59:02 -06:00
1fb0d38ebf foam_sync.ps1 (LIFEBALANCE) 2025-06-19T18:58:28Z 2025-06-19 18:58:29 -06:00
331261ac73 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T18:57:22Z 2025-06-19 18:57:22 -06:00
3c23449d1c foam_sync.ps1 (LIFEBALANCE) 2025-06-19T18:54:29Z 2025-06-19 18:54:29 -06:00
1d2c7af6fc foam_sync.ps1 (LIFEBALANCE) 2025-06-19T18:53:38Z 2025-06-19 18:53:38 -06:00
a8b25953d0 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T18:52:19Z 2025-06-19 18:52:19 -06:00
7a2fe9b1c1 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T18:49:21Z 2025-06-19 18:49:21 -06:00
030c7d0d92 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T14:29:16Z 2025-06-19 14:29:16 -06:00
0c5101c77d foam_sync.ps1 (LIFEBALANCE) 2025-06-19T14:27:40Z 2025-06-19 14:27:40 -06:00
2cd6533e53 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T14:27:09Z 2025-06-19 14:27:09 -06:00
3f0ea6a0f2 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T14:26:06Z 2025-06-19 14:26:06 -06:00
f3701042c9 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T14:17:15Z 2025-06-19 14:17:15 -06:00
1b9ff5334f foam_sync.ps1 (LIFEBALANCE) 2025-06-19T14:15:16Z 2025-06-19 14:15:16 -06:00
9cda4ed47d foam_sync.ps1 (LIFEBALANCE) 2025-06-19T14:13:15Z 2025-06-19 14:13:16 -06:00
4ae4678374 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T14:11:15Z 2025-06-19 14:11:15 -06:00
0743a76f5d foam_sync.ps1 (LIFEBALANCE) 2025-06-19T14:09:16Z 2025-06-19 14:09:16 -06:00
fd0186fb3b foam_sync.ps1 (LIFEBALANCE) 2025-06-19T13:57:15Z 2025-06-19 13:57:15 -06:00
e2fc925029 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T13:55:15Z 2025-06-19 13:55:15 -06:00
cc35a0b8d6 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T13:53:15Z 2025-06-19 13:53:15 -06:00
14bcf98f85 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T13:51:58Z 2025-06-19 13:51:58 -06:00
9834514053 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T13:50:50Z 2025-06-19 13:50:50 -06:00
f49d4647dd foam_sync.ps1 (LIFEBALANCE) 2025-06-19T13:49:29Z 2025-06-19 13:49:29 -06:00
65ce3cd800 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T13:49:04Z 2025-06-19 13:49:04 -06:00
a40e04dc70 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T13:48:45Z 2025-06-19 13:48:45 -06:00
7ab7008eb8 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T13:46:42Z 2025-06-19 13:46:42 -06:00
7e46c2704e foam_sync.ps1 (LIFEBALANCE) 2025-06-19T13:46:06Z 2025-06-19 13:46:06 -06:00
d5ca7cf365 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T13:43:24Z 2025-06-19 13:43:24 -06:00
72523d1785 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T01:18:48Z 2025-06-19 01:18:48 -06:00
c1cc8b482e foam_sync.ps1 (LIFEBALANCE) 2025-06-19T01:14:24Z 2025-06-19 01:14:24 -06:00
1439b682d6 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T01:06:29Z 2025-06-19 01:06:29 -06:00
eb8b59ee9f foam_sync.ps1 (LIFEBALANCE) 2025-06-19T00:50:16Z 2025-06-19 00:50:16 -06:00
3ed3847dd2 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T00:48:58Z 2025-06-19 00:48:58 -06:00
8ab3e878be foam_sync.ps1 (LIFEBALANCE) 2025-06-19T00:41:34Z 2025-06-19 00:41:34 -06:00
2f4f8e11da foam_sync.ps1 (LIFEBALANCE) 2025-06-19T00:39:50Z 2025-06-19 00:39:50 -06:00
d595694269 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T00:36:31Z 2025-06-19 00:36:31 -06:00
80a98b4fdd foam_sync.ps1 (LIFEBALANCE) 2025-06-19T00:26:39Z 2025-06-19 00:26:39 -06:00
d10c85b295 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T00:22:29Z 2025-06-19 00:22:29 -06:00
005fa587c4 foam_sync.ps1 (LIFEBALANCE) 2025-06-19T00:03:26Z 2025-06-19 00:03:26 -06:00
642cf06a79 foam_sync.ps1 (LIFEBALANCE) 2025-06-18T23:59:21Z 2025-06-18 23:59:21 -06:00
da806e9c62 foam_sync.ps1 (LIFEBALANCE) 2025-06-18T23:58:32Z 2025-06-18 23:58:32 -06:00
f51a827fae foam_sync.ps1 (LIFEBALANCE) 2025-06-18T23:57:41Z 2025-06-18 23:57:41 -06:00
147e7cdf8c foam_sync.ps1 (LIFEBALANCE) 2025-06-18T23:55:52Z 2025-06-18 23:55:52 -06:00
42dfaee83d Jun 18, 2025, 8:23 PM 2025-06-19 02:23:28 +00:00
d6d5ef3fc7 Jun 18, 2025, 8:22 PM 2025-06-19 02:22:30 +00:00
202cd1c74b Merge branch 'main' of ssh://gitea.hh.lan/ben/homefoam 2025-06-18 17:40:27 -06:00
ben
f414d20381 foam_sync.sh (beepboop) 2025-06-18T09:49:11Z 2025-06-18 09:49:11 -06:00
02ea3f5790 Jun 18, 2025, 3:01 AM 2025-06-18 09:01:26 +00:00
42d09acaf2 Jun 18, 2025, 12:20 AM 2025-06-18 06:20:59 +00:00
b24b461979 Jun 17, 2025, 11:57 PM 2025-06-18 05:57:17 +00:00
82a7b50396 Jun 17, 2025, 11:36 PM 2025-06-18 05:36:25 +00:00
75c9e79312 Jun 17, 2025, 10:48 PM 2025-06-18 04:48:51 +00:00
3384735351 Jun 17, 2025, 10:38 PM 2025-06-18 04:38:49 +00:00
c66c43d2e6 Jun 17, 2025, 10:32 PM 2025-06-18 04:32:38 +00:00
e4fe410bc9 Jun 17, 2025, 7:44 PM 2025-06-18 01:44:37 +00:00
a4d89f66aa Jun 17, 2025, 7:44 PM 2025-06-18 01:44:05 +00:00
cd3718741c Jun 17, 2025, 6:36 PM 2025-06-18 00:36:13 +00:00
093722d713 Jun 17, 2025, 10:33 AM 2025-06-17 16:33:24 +00:00
c61d1025cd Jun 17, 2025, 10:22 AM 2025-06-17 16:22:51 +00:00
58199b5de3 Jun 17, 2025, 10:20 AM 2025-06-17 16:20:07 +00:00
6a0cb12ff7 Jun 16, 2025, 5:53 PM 2025-06-16 23:53:32 +00:00
46aa6a8390 Jun 16, 2025, 5:51 PM 2025-06-16 23:51:03 +00:00
46f4eca145 Jun 16, 2025, 5:50 PM 2025-06-16 23:50:32 +00:00
42 changed files with 837 additions and 168 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# .gitignore
.logs/

View File

@ -21,5 +21,5 @@
"markdown.styles": [ "markdown.styles": [
".vscode/custom-tag-style.css" ".vscode/custom-tag-style.css"
], ],
"gitdoc.enabled": true "gitdoc.enabled": false
} }

1
2025-06-17.md Normal file
View File

@ -0,0 +1 @@
# 2025-06-17

1
2025-06-18.md Normal file
View File

@ -0,0 +1 @@
# 2025-06-18

1
2025-06-19.md Normal file
View File

@ -0,0 +1 @@
# 2025-06-19

1
2025-06-30.md Normal file
View File

@ -0,0 +1 @@
# 2025-06-30

1
2025-07-01.md Normal file
View File

@ -0,0 +1 @@
# 2025-07-01

1
2025-07-03.md Normal file
View File

@ -0,0 +1 @@
# 2025-07-03

1
2025-07-06.md Normal file
View File

@ -0,0 +1 @@
# 2025-07-06

1
2025-08-15.md Normal file
View File

@ -0,0 +1 @@
# 2025-08-15

1
2025-08-24.md Normal file
View File

@ -0,0 +1 @@
# 2025-08-24

1
2025-08-29.md Normal file
View File

@ -0,0 +1 @@
# 2025-08-29

1
2025-08-30.md Normal file
View File

@ -0,0 +1 @@
# 2025-08-30

1
2025-09-09.md Normal file
View File

@ -0,0 +1 @@
# 2025-09-09

1
2025-09-10.md Normal file
View File

@ -0,0 +1 @@
# 2025-09-10

33
AI.md Normal file
View File

@ -0,0 +1,33 @@
# AI
## Learning
* [The Ultimate Guide to Local AI and AI Agents (The Future is Here) - YouTube](https://www.youtube.com/watch?v=mNcXue7X8H0)
* Docker Compose based framework for running AI locally
* https://github.com/coleam00/local-ai-packaged
* https://www.reddit.com/r/LocalLLaMA/
*
## LocalAI Packaged
### Services
* [Open WebUI](http://localhost:8080/)
* [n8n](http://localhost:5678/)
* [Langfuse](http://localhost:3000/)
* [Ollama](http://localhost:11434/)
* [Qdrant](http://localhost:6333/)
### Start services
```shell
python start_services.py --profile gpu-nvidia
```
## AgentOS
* https://github.com/buildermethods/agent-os
## AG2
* https://github.com/ag2ai/ag2

9
TODO homelab.md Normal file
View File

@ -0,0 +1,9 @@
---
created: 2025-06-26T08:08:31-06:00
modified: 2025-06-26T08:10:18-06:00
type: Checklist
---
# TODO homelab
- [ ] https://marketplace.visualstudio.com/items?itemName=OpenTofu.vscode-opentofu

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

0
assets/images/graph-filter.gif Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 7.1 MiB

After

Width:  |  Height:  |  Size: 7.1 MiB

View File

@ -2,3 +2,25 @@
* https://store.booloumud.com * https://store.booloumud.com
* *
## Tech
### DNS
* Squarespace
* booloumud.com --> store.booloumud.com (Shopify)
* Porkbun
* Transfer in progress, need to re-establish after transfer
* booloumud.org --> booloumud.com
* booloumud.net --> booloumud.com
## Designs
### Earring holders and storage
* `G:\My Drive\booloumud\designs\earring_display`
### Tooth pendants
* [🦷 Real Anatomy Tooth Seth #1・ 3D File for 3D printing・Cults](https://cults3d.com/en/3d-model/art/real-anatomy-tooth-seth-1)
* https://cults3d.com/en/orders/128683287

View File

@ -0,0 +1,3 @@
{
"folders": []
}

145
cigars.md Normal file
View File

@ -0,0 +1,145 @@
# cigars
## to try
* Drew Estate
* Deadwood Crazy Alice
* Java Mint Maduro
* https://www.reddit.com/r/cigars/s/gEAeA9gw2o
* https://www.reddit.com/r/cigars/s/O42EdsJXSf
* Johnny Tabaconaught
* https://www.reddit.com/r/cigars/s/A8KFQ9sovB
* Brickhouse
* Maduro
* https://www.reddit.com/r/cigars/s/bRg03rKkZ1
* Crowned Heads Le Careme
* https://www.reddit.com/r/cigars/s/798wqgYHMp
## I like
* Deadwood
* Leather Rose
* Girl with No Name
* Undercrown Shade
* Mild flavor, strong buzz
* Famous Smoke Shop
* Nicaraguan Selection 3000
* Foundation
* Tabernacle Havana Seed
* Maduro
* Dark Natural - a little strong
* Gurkha
* Rogue
* Chateau de Prive - nice burn, very mild, toasted
* Evil - leather and mild pepper
* L'Atelier
* Surrogates Bone Crusher
* Oliva
* Serie O Corona
* 3rd Degree
* Master Blends 3
* Kentuky Fire Cured
* Just a Friend
* Fat Molly
* Arturo Fuente
* Gran Reserva Curly Head Deluxe Maduro - a little shaggy, but inexpensive
* Selection Privada No. 1 Double Claro
* Rojas
* Street Tacos Barbacoa Robusta
* Breakfast Tacos Sumatra
* Tatuaje
* Reserva Broadleaf
## I don't like
* Rocky Patel Seed to Smoke Share Toro
* Just, gross. Tastes like a book depository.
## meh
* Drew Estate
* Factory Smokes Belicoso Sweet
* Rocky Patel
* Seed to Smoke Classic
## shops
* https://www.cigarsdirect.com/
* Neptune
* Famous Smoke Shop
## Journal
* [[2025-09-18]] - Tatuaje Reserva Broadleaf ([[2024-09-13]])
* [[2025-09-16]] - Arturo Fuente Curly Head Delux Maduro ([[2024-11-20]])
* [[2025-09-15]] - Acid Twenty (2024-01-16)
* [[2025-09-14]] - Gurkha The Tabernacle (2024-11-20)
* Chocolate, leather
* [[2025-09-13]] - L'Atelier Surrogates Bone Crusher ([[2024-09-13]])
* Earthy soil, dark roast coffee. Tight ash, even burn.
* [[2025-09-12]] - Arturo Fuente Curly Head Delux Maduro ([[2024-11-20]])
* [[2025-09-11]] - Arturo Fuente Curly Head Delux Maduro ([[2024-11-20]])
* [[2025-09-10]]
* Nub Habano ([[2024-07-08]])
* Not bad - mild to medium. Lumber and leather. Wrapper was really thin and fell apart, had to relight a few times
* Arturo Fuente Curly Head Delux Maduro ([[2024-11-20]])
* [[2025-09-09]] - Famous Smoke Shop Nicaraguan Selection 3000
* [[2025-09-05]] - Gurkha Cellar Reserve 18 Years
* [[2025-09-04]]
* Rojas Breakfast Tacos Sumatra ([[2025-08-01]])
* Oliva Serie O ([[2024-11-20]])
* [[2025-09-03]] - Gurkha Castle Hall ([[2025-08-01]])
* [[2025-08-30]] - Gurkha Beast ([[2025-08-01]])
* tight, horrible draw on this stick
* once loosened up, not bad - medium-dark, gassy, dark wood
* [[2025-08-29]] - Gurkha Evil ([[2025-08-01]])
* Mild to medium - leather, a little pepper
* [[2025-08-24]] - Gurkha Marquesa ([[2025-08-01]])
* [[2025-08-15]] - Oliva Serie O ([[2024-11-20]])
* [[2025-08-13]] - Gurkha Chateau de Prive ([[2025-08-01]])
* [[2025-08-12]] - Kentucky Fire Cured Fat Molly ([[2025-08-01]])
* [[2025-08-11]] - Gurkha Rogue ([[2025-08-01]])
* Good medium strength. Some burn issues, esp towards the end
* ~[[2025-08-11]] - Rocky Patel Seed to Smoke Shade Toro ([[2025-08-01]])~
* Abandoned after one draw - nasty!
* [[2025-08-09]] - Rojas Street Tacos Carnitas Toro ([[2025-08-01]])
* [[2025-08-07]] - Kentucky Fire Cured Fat Molly ([[2025-08-01]])
* [[2025-08-05]] - Rojas Street Tacos Barbacoa Robusta ([[2025-08-01]])
* Easy draw, lots of smoke. Pepper, leather, medium strong
* [[2025-08-01]] - Rocky Patel Seed to Smoke Classic ([[2025-08-01]])
* Dry leaves, flat, not offensive, but not very good
* [[2025-07-31]] - Kentuky Fire Cured Muwat ([[2024-07-08]])
* [[2025-07-30]] - Oliva Master Blends 3 ([[2024-07-08]])
* [[2025-07-20]] - Inferno by Oliva ([[2024-07-08]])
* [[2025-07-18]]
* Oliva Serie O ([[2024-11-20]])
* Selection Privada No. 1 Double Claro ([[2024-01-19]])
* [[2025-07-16]] - Oliva Serie O ([[2024-11-20]])
* [[2025-07-14]] - Selection Privada No. 1 Double Claro ([[2024-01-19]])
* [[2025-07-11]] - Oliva Serie V ([[2024-12-25]])
* [[2025-07-10]] - Acid Progeny ([[2024-01-16]])
* Cedary, spicy wood
* [[2025-07-08]] - Selection Privada No. 1 Double Claro ([[2024-01-19]])
* [[2025-07-08]] - Oliva Serie O ([[2024-11-20]])
* [[2025-07-07]] - Oliva 3rd Degree ([[2024-07-08]])
* Strong, but not smoky. Tight, even burn. Took a while to get through, pretty buzzy.
* [[2025-07-06]] - Undercrown Shade ([[2024-01]])
* [[2025-07-03]] - Oliva Serie O ([[2024-11-20]])
* [[2025-07-01]] - Factory Smokes Belicoso Sweet ([[2024-01-16]])
* [[2025-06-30]] - Selection Privada No. 1 Double Claro ([[2024-01-19]])
* [[2025-06-25]] - Selection Privada No. 1 Double Claro
[//begin]: # "Autogenerated link references for markdown compatibility"
[2025-09-10]: 2025-09-10.md "2025-09-10"
[2025-09-09]: 2025-09-09.md "2025-09-09"
[2025-08-30]: 2025-08-30.md "2025-08-30"
[2025-08-29]: 2025-08-29.md "2025-08-29"
[2025-08-24]: 2025-08-24.md "2025-08-24"
[2025-08-15]: 2025-08-15.md "2025-08-15"
[2025-07-06]: 2025-07-06.md "2025-07-06"
[2025-07-03]: 2025-07-03.md "2025-07-03"
[2025-07-01]: 2025-07-01.md "2025-07-01"
[2025-06-30]: 2025-06-30.md "2025-06-30"
[//end]: # "Autogenerated link references"

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

View File

@ -1,9 +0,0 @@
# Spell Checking
There are many spell checking extensions for VS Code.
The most popular spell checker for VS Code is [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker).
Another one of our favorites is [LTeX](https://marketplace.visualstudio.com/items?itemName=valentjn.vscode-ltex&ssr=false#overview), which is a bit heavier but offers some extra functionality.
Another popular one is [Spellright](https://marketplace.visualstudio.com/items?itemName=ban.spellright), but be mindful that there have been reports of incompatibility with the `vscode-markdown` extension (see https://github.com/foambubble/foam/issues/1068).

View File

@ -1,66 +0,0 @@
# Publish to Azure DevOps Wiki
Publish your Foam workspace as an Azure DevOps wiki.
[Azure DevOps](https://azure.microsoft.com/en-us/services/devops/) is Microsoft's collaboration software for software development teams, formerly known as Team Foundation Server (TFS) and Visual Studio Team Services. It is available as an on-premise or SaaS version. The following recipe was tested with the SaaS version, but should work the same way for the on-premise.
The following recipe is written with the assumption that you already have an [Azure DevOps](https://azure.microsoft.com/en-us/services/devops/) project.
## Setup a Foam workspace
1. Generate a Foam workspace using the [foam-template project](https://github.com/foambubble/foam-template).
2. Change the remote to a git repository in Azure DevOps (Repos -> Import a Repository -> Add Clone URL with Authentication), or copy all the files into a new Azure DevOps git repository.
3. Define which document will be the wiki home page. To do that, create a file called `.order` in the Foam workspace root folder, with first line being the document filename without `.md` extension. For a project created from the Foam template, the file would look like this:
```
readme
```
4. Push the repository to remote in Azure DevOps.
## Publish repository to a wiki
1. Navigate to your Azure DevOps project in a web browser.
2. Choose **Overview** > **Wiki**. If you don't have wikis for your project, choose **Publish code as a wiki** on welcome page.
3. Choose repository with your Foam workspace, branch (usually `master` or `main`), folder (for workspace created from foam-template it is `/`), and wiki name, and press **Publish**.
A published workspace looks like this:
![Azure DevOps wiki](../../assets/images/azure-devops-wiki-demo.png)
There is default table of contents pane to the left of the wiki content. Here, you'll find a list of all directories that are present in your Foam workspace, and all wiki pages. Page names are derived from files names, and they are listed in alphabetical order. You may reorder pages by adding filenames without `.md` extension to `.order` file.
_Note that first entry in `.order` file defines wiki's home page._
## Update wiki
While you are pushing changes to GitHub, you won't see the wiki updated if you don't add Azure as a remote. You can push to multiple repositories simultaneously.
1. First open a terminal and check if Azure is added running: `git remote show origin`. If you don't see Azure add it in the output then follow these steps.
2. Rename your current remote (most likely named origin) to a different name by running: `git remote rename origin main`
3. You can then add the remote for your second remote repository, in this case, Azure. e.g `git remote add azure https://<YOUR_ID>@dev.azure.com/<YOUR_ID>/foam-notes/_git/foam-notes`. You can get it from: Repos->Files->Clone and copy the URL.
4. Now, you need to set up your origin remote to push to both of these. So run: `git config -e` and edit it.
5. Add the `remote origin` section to the bottom of the file with the URLs from each remote repository you'd like to push to. You'll see something like that:
```bash
[core]
...
(ignore this part)
...
[branch "main"]
remote = github
merge = refs/heads/main
[remote "github"]
url = git@github.com:username/repo.git
fetch = +refs/heads/*:refs/remotes/github/*
[remote "azure"]
url = https://<YOUR_ID>@dev.azure.com/<YOUR_ID>/foam-notes/_git/foam-notes
fetch = +refs/heads/*:refs/remotes/azure/*
[remote "origin"]
url = git@github.com:username/repo.git
url = https://<YOUR_ID>@dev.azure.com/<YOUR_ID>/foam-notes/_git/foam-notes
```
6. You can then push to both repositories by: `git push origin main` or a single one using: `git push github main` or `git push azure main`
For more information, read the [Azure DevOps documentation](https://docs.microsoft.com/en-us/azure/devops/project/wiki/publish-repo-to-wiki).

View File

@ -1,20 +0,0 @@
# Automatically Sync with Git
With this #recipe you can regularly commit and push to git, to keep your repo in always synched.
You can also easily manipulate the git history to reduce clutter.
## Required Extensions
- [GitDoc](https://marketplace.visualstudio.com/items?itemName=vsls-contrib.gitdoc)
## Instructions
Click on the extension link above to see how to use it.
__For Foam specific needs, you can add a comment here by following the [[contribution-guide]]__
## Feedback and issues
- Feedback and issues with the extension should be reported to the authors themselves
- Feedback and issues with the integration of the extension in Foam can be reported in our [issue tracker](https://github.com/foambubble/foam/issues)

View File

@ -1,3 +0,0 @@
# Real-time Collaboration
This #recipe is here to just tell you that VS Code Live Share will allow you to collaborate live on your notes.

View File

@ -1,60 +0,0 @@
# Take notes on mobile phones
This #recipe offers solutions to taking Foam notes on the go.
For the time being we have decided to not build a mobile app, but rely on third parties (see [[build-vs-assemble]]).
The most promising options are:
### [GitJournal](https://gitjournal.io/)
Pros
- Open source
- Already a usable solution.
- Provides functionality to edit, create, and browser markdown files.
- Support journal mode, todo lists, and free writing
- Syncs to GitHub repo
- Supports Wikilinks
- Supports Backlinks
- Developer is happy to prioritize Foam compatibility
Cons
- Doesn't generate link reference lists (but this is ok, since [[workspace-janitor]] as a GitHub action can solve this)
- Not as sleek as Apple/Google notes, some keyboard state glitching on Android, etc.
- Lack of control over roadmap. Established product with a paid plan, so may not be open to Foam-supportive changes and additions that don't benefit most users.
Verdict: Good. By far best effort/outcome ratio would be to help improve GitJournal rather than building a [bespoke mobile app](#bespoke-mobile-app-for-foam).
### GitHub Codespaces
Pros
- Works out of the box just like the desktop app
Cons
- not generally available quite yet
- [Pricing](https://docs.github.com/en/free-pro-team@latest/github/developing-online-with-codespaces/about-billing-for-codespaces)
For a quick demo, see <https://www.youtube.com/watch?v=KI5m4Uy8_4I>.
Verdict: Good. Pricing should be reasonable for taking notes on the fly. Harder to assess for people who would constantly use Foam from mobile phone.
## Bespoke mobile app for Foam
Given we already have a solution, why would we spend time and effort building a bespoke mobile app?
- Taking notes on the go is a key part of a good note taking process, and the process should feel effortless
- Having a custom app could help us support key user workflows in a more Foam-specific manner
If such an app was worth building, it would have to have the following features:
- Instant loading and syncing for quick notes
- Sleek, simple, beautifully designed user experience.
- Ability to search and navigate forward links and back links (only in paid GitJournal version)
- Killer feature that makes it the best note taking tool for Foam (?)
Given the effort vs reward ratio, it's a low priority for core team, but if someone wants to work on this, we can provide support! Talk to us on the #mobile-apps channel on [Foam Discord](https://foambubble.github.io/join-discord/w).

259
foam_sync.ps1 Normal file
View File

@ -0,0 +1,259 @@
#Requires -Version 5.1
[CmdletBinding()]
param ()
Set-StrictMode -Version 3.0
$scriptPath = $MyInvocation.MyCommand.Path
$scriptDir = Split-Path -Path $scriptPath -Parent
$logDir = Join-Path -Path $scriptDir -ChildPath ".logs"
$logName = "foam_sync.log"
$logFilePath = Join-Path -Path $logDir -ChildPath $logName
$scriptName = (Get-Item $scriptPath).Name
# --- Task Setup ---
$taskName = 'FoamGitSync'
$taskDescription = "Periodically synchronizes the Git repository at $scriptDir using $scriptName."
$taskExecute = 'c:\windows\system32\conhost.exe'
$taskArguments = "--headless powershell.exe -WindowStyle Hidden -NoProfile -NonInteractive -ExecutionPolicy Bypass -File $scriptPath -Verbose"
$frequencyMinutes = 2
$timeLimitSeconds = 30
if (-not (Test-Path -Path $logDir)) {
New-Item -ItemType Directory -Path $logDir -Force | Out-Null
}
Start-Transcript -Path $logFilePath -IncludeInvocationHeader -Force
try {
Write-Verbose "Script: $scriptName at $scriptPath"
Write-Verbose "Repository directory: $scriptDir"
Write-Verbose "Sync frequency: Every $frequencyMinutes minutes"
Write-Verbose "Log file: $logFilePath"
# Run as the user who executes this script.
$taskPrincipal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -LogonType Interactive
$repetitionInterval = New-TimeSpan -Minutes $frequencyMinutes
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval $repetitionInterval
$action = New-ScheduledTaskAction -Execute $taskExecute -Argument $taskArguments
$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit $(New-TimeSpan -Seconds $timeLimitSeconds)
Write-Verbose "Task name: $taskName"
Write-Verbose "Description: $taskDescription"
Write-Verbose "Execute: $taskExecute"
Write-Verbose "Arguments: $taskArguments"
Write-Verbose "Frequency: $frequencyMinutes minutes"
Write-Verbose "Time limit: $timeLimitSeconds seconds"
Write-Verbose "Trigger: $trigger"
Write-Verbose "Action: $action"
Write-Verbose "Principal: $taskPrincipal"
Write-Verbose "Settings: $settings"
# Check and configure the scheduled task
try {
$existingTask = Get-ScheduledTask -TaskName $taskName -ErrorAction SilentlyContinue
if ($existingTask) {
Write-Verbose "Scheduled task '$taskName' already exists. Checking configuration..."
$currentTrigger = $existingTask.Triggers[0]
$currentAction = $existingTask.Actions[0]
# Check Trigger
Write-Verbose "Checking trigger..."
$triggerMatches = $false
if ($currentTrigger -is [Microsoft.Management.Infrastructure.CimInstance] `
-and $currentTrigger.Repetition.Interval -eq $trigger.Repetition.Interval) {
$triggerMatches = $true
}
else {
Write-Warning "trigger does not match:`n $(Compare-Object -IncludeEqual -ReferenceObject $currentTrigger -DifferenceObject $trigger)"
}
# Check Action
Write-Verbose "Checking action..."
$actionMatches = $false
if ($currentAction -is [Microsoft.Management.Infrastructure.CimInstance] `
-and $currentAction.Execute -eq $taskExecute `
-and $currentAction.Arguments -eq $taskArguments) {
$actionMatches = $true
}
else {
Write-Warning "action does not match:"
Write-Warning " Current action: $($currentAction.Execute) $($currentAction.Arguments)"
Write-Warning " Expected action: $taskExecute $taskArguments"
}
# Check Principal
Write-Verbose "Checking principal..."
$principalMatches = ($existingTask.Principal.UserId -eq $taskPrincipal.UserId)
# Check Settings (specifically ExecutionTimeLimit for this change)
$settingsMatch = $false
if ($existingTask.Settings.ExecutionTimeLimit -eq $settings.ExecutionTimeLimit) {
$settingsMatch = $true
}
else {
Write-Warning "settings do not match: want $($settings.ExecutionTimeLimit), got $($existingTask.Settings.ExecutionTimeLimit)"
}
if ($triggerMatches -and $actionMatches -and $principalMatches -and $settingsMatch) {
Write-Verbose "Scheduled task '$taskName' is already correctly configured."
}
else {
Write-Verbose "Scheduled task '$taskName' configuration differs."
Write-Verbose "`$triggerMatches: $triggerMatches, `$actionMatches: $actionMatches, `$principalMatches: $principalMatches, `$settingsMatch: $settingsMatch"
Write-Verbose "Attempting to update in-place..."
try {
Set-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -Settings $settings -Principal $taskPrincipal -ErrorAction Stop
Write-Verbose "Scheduled task '$taskName' updated successfully."
}
catch {
Write-Warning "Failed to update scheduled task '$taskName' in-place. Error: $($_.Exception.Message)"
Write-Warning "The task remains in its previous state. Manual intervention may be required or re-run with Administrator privileges."
}
}
}
else {
Write-Verbose "Creating scheduled task '$taskName'..."
try {
Register-ScheduledTask -TaskName $taskName -Description $taskDescription -Principal $taskPrincipal -Trigger $trigger -Action $action -Settings $settings -ErrorAction Stop
Write-Verbose "Scheduled task '$taskName' created successfully."
}
catch {
Write-Warning "Failed to create scheduled task '$taskName'. Error: $($_.Exception.Message)"
Write-Warning "You may need to run this script as Administrator."
}
}
}
catch {
# This outer catch is for unexpected errors, e.g., if Get-ScheduledTask had -ErrorAction Stop
Write-Warning "An unexpected error occurred during scheduled task setup for '$taskName'. Error: $($_.Exception.Message)"
}
# --- Git Operations ---
Write-Information "Navigating to repository: $scriptDir"
try {
Set-Location -Path $scriptDir -ErrorAction Stop
}
catch {
Write-Error "Unable to find repository at $scriptDir. Exiting script."
exit 1
}
Write-Information "Staging all changes with 'git add .'"
git add .
if ($LASTEXITCODE -ne 0) {
Write-Warning "'git add .' command failed with exit code $LASTEXITCODE."
}
Write-Information "Checking for staged changes with 'git diff --staged --quiet'..."
git diff --staged --quiet
$changesStaged = ($LASTEXITCODE -ne 0)
if ($changesStaged) {
Write-Information "Staged changes detected. Creating commit..."
$commitMessage = "$scriptName ($($env:COMPUTERNAME)) $(Get-Date -Format 'yyyy-MM-ddTHH:mm:ssZ')"
Write-Information "Commit message: $commitMessage"
git commit -m $commitMessage
if ($LASTEXITCODE -ne 0) {
Write-Warning "'git commit' command failed with exit code $LASTEXITCODE."
}
else {
Write-Information "Commit created successfully."
}
}
else {
Write-Information "No relevant changes detected to commit."
Write-Information "Resetting staging area with 'git reset HEAD --quiet'."
git reset HEAD --quiet
}
Write-Information "Updating remote 'origin' with 'git remote update origin --prune'..."
git remote update origin --prune
if ($LASTEXITCODE -ne 0) {
Write-Error "Unable to update remote 'origin'. Exiting script."
exit 1
}
$localCommit = (git rev-parse HEAD 2>$null).Trim()
if ($LASTEXITCODE -ne 0 -or -not $localCommit) { Write-Error "Failed to get local HEAD commit. Exiting script."; exit 1 }
$remoteBranch = "origin/main"
$remoteCommit = (git rev-parse $remoteBranch 2>$null).Trim()
if ($LASTEXITCODE -ne 0 -or -not $remoteCommit) { Write-Error "Failed to get remote '$remoteBranch' commit. Exiting script."; exit 1 }
Write-Information "Local HEAD commit: $localCommit"
Write-Information "Remote '$remoteBranch' commit: $remoteCommit"
if ($localCommit -eq $remoteCommit) {
Write-Information "Local and remote are already in sync."
exit 0
}
$sleepyTime = Get-Random -Minimum 1 -Maximum 15
Write-Information "Local and remote differ. Sleeping for $sleepyTime seconds..."
Start-Sleep -Seconds $sleepyTime
$localCommitAfterSleep = (git rev-parse HEAD 2>$null).Trim()
if ($LASTEXITCODE -ne 0 -or -not $localCommitAfterSleep) { Write-Error "Failed to re-get local HEAD commit. Exiting script."; exit 1 }
$remoteCommitAfterSleep = (git rev-parse $remoteBranch 2>$null).Trim()
if ($LASTEXITCODE -ne 0 -or -not $remoteCommitAfterSleep) { Write-Error "Failed to re-get remote '$remoteBranch' commit. Exiting script."; exit 1 }
if ($localCommitAfterSleep -eq $remoteCommitAfterSleep) {
Write-Information "Local and remote became synchronized during sleep."
exit 0
}
$localCommit = $localCommitAfterSleep
$remoteCommit = $remoteCommitAfterSleep
Write-Information "Proceeding with sync logic..."
git merge-base --is-ancestor $localCommit $remoteCommit
$localIsAncestorOfRemote = ($LASTEXITCODE -eq 0)
git merge-base --is-ancestor $remoteCommit $localCommit
$remoteIsAncestorOfLocal = ($LASTEXITCODE -eq 0)
if ($localIsAncestorOfRemote) {
Write-Information "Remote '$remoteBranch' is ahead. Pulling with rebase..."
git pull --rebase origin main
if ($LASTEXITCODE -ne 0) { Write-Error "'git pull --rebase' failed. Manual intervention may be required."; exit 1 }
}
elseif ($remoteIsAncestorOfLocal) {
Write-Information "Local HEAD is ahead. Pushing..."
git push origin main
if ($LASTEXITCODE -ne 0) { Write-Error "'git push' failed. Manual intervention may be required."; exit 1 }
}
else {
Write-Information "Local HEAD and remote '$remoteBranch' have diverged."
$remoteTimestampStr = (git log --pretty=format:"%at" -n 1 $remoteBranch 2>$null).Trim()
if ($LASTEXITCODE -ne 0 -or -not $remoteTimestampStr) { Write-Error "Failed to get remote commit timestamp for '$remoteBranch'. Exiting script."; exit 1 }
$remoteTimestamp = [long]$remoteTimestampStr
$localTimestampStr = (git log --pretty=format:"%at" -n 1 HEAD 2>$null).Trim()
if ($LASTEXITCODE -ne 0 -or -not $localTimestampStr) { Write-Error "Failed to get local commit timestamp for HEAD. Exiting script."; exit 1 }
$localTimestamp = [long]$localTimestampStr
Write-Verbose "Local timestamp: $localTimestamp, Remote timestamp: $remoteTimestamp"
if ($remoteTimestamp -gt $localTimestamp) {
Write-Information "Remote is newer. Pulling with rebase, strategy 'theirs'..."
git pull --rebase --strategy recursive --strategy-option theirs origin main
}
else {
Write-Information "Local is newer or same age. Pulling with rebase, strategy 'ours'..."
git pull --rebase --strategy recursive --strategy-option ours origin main
}
if ($LASTEXITCODE -ne 0) { Write-Error "Rebase during divergence failed. Manual intervention may be required."; exit 1 }
Write-Information "Pushing changes after rebase..."
git push origin main
if ($LASTEXITCODE -ne 0) { Write-Error "'git push' after rebase failed. Manual intervention may be required."; exit 1 }
}
Write-Information "Synchronization process completed successfully."
exit 0
}
finally {
Stop-Transcript
}

110
foam_sync.sh Normal file
View File

@ -0,0 +1,110 @@
#!/bin/bash
# debug script
set -x
# These are the only lines that should require updating
frequency_mins=2
# These values are automatically determined based on the scipt path
sync_script=$(readlink -f "${BASH_SOURCE[0]}")
script_dir=$(dirname "$sync_script")
cronjob="*/${frequency_mins} * * * * ${sync_script}"
script_name=$(basename "$sync_script")
# Get current crontab content, suppress error if crontab is empty
current_crontab=$(crontab -l 2>/dev/null)
# Check if the exact cron job already exists using fixed string (-F) and whole line (-x) match
if echo "$current_crontab" | grep -Fxq "$cronjob"; then
echo "${script_name} cron job is already correctly configured."
else
echo "${script_name} cron job needs update or addition."
# Use command grouping to construct the new crontab content:
# 1. List current crontab (or nothing if empty), suppressing errors.
# 2. Filter out any existing lines related to this specific script.
# 3. Echo the desired cron job line.
{ crontab -l 2>/dev/null | grep -v "$sync_script"; echo "$cronjob"; } | crontab -
update_result=$?
if [[ $update_result -eq 0 ]]; then
echo "cron job updated/added successfully."
else
echo "Warning: Failed to update crontab." >&2
fi
fi
# navigate to the repo
cd "${script_dir}" || (echo 'unable to find repo' && exit 1)
# if this is macos, make sure '/usr/local/git/git-google/bin' is in $PATH
if [[ "$OSTYPE" == "darwin"* ]]; then
if ! echo "$PATH" | grep -q "/usr/local/git/git-google/bin"; then
export PATH="/usr/local/git/git-google/bin:$PATH"
fi
fi
# Stage ALL changes, including new files and modifications
git add .
# Check if there are any *meaningful* staged changes (respecting diff filters)
# git diff --staged --quiet exits with 0 if NO differences, 1 if differences exist.
# The '!' negates the exit status, so the 'if' block runs if there ARE differences.
if ! git diff --staged --quiet; then
# Only commit if there are staged changes visible after filtering
echo "Staged changes detected, creating commit..."
# Use -m because we already staged everything with 'git add .'
git commit -m "${script_name} ($(hostname -s)) $(date +"%Y-%m-%dT%H:%M:%SZ")"
else
echo "No relevant changes detected to commit (changes might be filtered)."
# Optional but recommended: Reset the index if the only staged changes were filtered out.
# This prevents the file from showing as "changes staged for commit" on a later 'git status'
# if only the filtered line was changed and staged by 'git add .'.
git reset HEAD --quiet
fi
# make sure we are authenticated with git origin
if ! git remote update origin --prune; then
echo 'unable to authenticate to remote'
exit 1
fi
local_commit=$(git rev-parse HEAD)
remote_commit=$(git rev-parse origin/main)
if [[ "$local_commit" != "$remote_commit" ]]; then
# sleep for a random time between 1-45 seconds to avoid collisions
sleepy_time=$(( ( RANDOM % 45 ) + 1 ))
echo "sleeping for $sleepy_time seconds..."
sleep $sleepy_time
else
echo 'no pending changes to sync, exiting...'
exit 0
fi
# which is newer, our code or the origin?
local_commit=$(git rev-parse HEAD)
remote_commit=$(git rev-parse origin/main)
if [[ "$local_commit" == "$remote_commit" ]]; then
echo "local and remote are in sync"
elif git merge-base --is-ancestor "$local_commit" "$remote_commit"; then
echo "remote is ahead of local"
git pull --rebase origin main
elif git merge-base --is-ancestor "$remote_commit" "$local_commit"; then
echo "local is ahead of remote"
git push origin main
else
echo "local and remote have diverged"
# if remote is newer, use a 'theirs' strategy
if [[ $(git log --pretty=format:"%at" -n 1 origin/main) -gt $(git log --pretty=format:"%at" -n 1 HEAD) ]]; then
echo "remote is newer"
git pull --rebase --strategy recursive --strategy-option theirs origin main
else
echo "local is newer"
git pull --rebase --strategy recursive --strategy-option ours origin main
fi
git push origin main
fi

5
gitea.md Normal file
View File

@ -0,0 +1,5 @@
# gitea
user:pass is `compose:compose` for now, used docker compose template
external access for SSH is `ssh://git@git.hobbithole.org:4222`

11
homefoam.code-workspace Normal file
View File

@ -0,0 +1,11 @@
{
"folders": [
{
"path": "."
}
],
"settings": {
"foam.edit.linkReferenceDefinitions": "withExtensions",
"gitdoc.enabled": false
}
}

View File

@ -1,6 +1,7 @@
# homelab # homelab
* OPNsense firewall: https://opnsense.hh.lan * OPNsense firewall: https://opnsense.hh.lan:8443
* 192.168.86.45
* Proxmox virtualization cluster: https://proxmox1.hh.lan * Proxmox virtualization cluster: https://proxmox1.hh.lan
## services ## services
@ -9,10 +10,13 @@
* http://homeassistant.local:8123/ * http://homeassistant.local:8123/
* https://ha.hh.lan * https://ha.hh.lan
* Frigate NVR (security cameras): https://frigate.local:8971 * Frigate NVR (security cameras): https://frigate.local:8971
* Paperless document repository: https://paperless.hh.lan * Paperless document repository
* https://paperless.hobbithole.org
* https://paperless.hh.lan
### Gitea ### Gitea
* https://git.hobbithole.org
* http://gitea.hh.lan:3000 * http://gitea.hh.lan:3000
* SSH key stored in bitwarden * SSH key stored in bitwarden
* used `docker-compose-template` VM template * used `docker-compose-template` VM template
@ -20,17 +24,34 @@
## things to set up ## things to set up
* Network UPS Tool? (NUT)
* Monitor reservoir levels
* https://dwr.state.co.us/Tools/StationsLite/UNIRESCO?params=STORAGE
* Caddy * Caddy
* Authentik * Authentik
* Proxmox backup * Proxmox backup
* CrashPlan (or other backup service) * CrashPlan (or other backup service)
* [Proxmox Crashplan](https://nguvu.org/proxmox/proxmox-crashplan-install/)
* https://github.com/nix-community/terraform-nixos/blob/master/examples/hermetic_config/default.tf
* https://spacelift.io/blog/terraform-proxmox-provider#5-run-terraform-to-create-the-vm
* Home auth * Home auth
* Windows auth * Windows auth
* SSO access to services * SSO access to services
* Bitwarden self-hosted org
* [Self-host an Organization](https://bitwarden.com/help/self-host-an-organization/)
* OpenBao (Vault fork) - https://openbao.org/docs/install/
# things to research ## things to research
* Pangolin * Pangolin
* Suricata
* [Wiki.js](https://js.wiki/)
* Komodo
* https://github.com/moghtech/komodo
* 🦎 a tool to build and deploy software on many servers 🦎
* headscale / tailscale
* [GitHub - juanfont/headscale: An open source, self-hosted implementation of the Tailscale control server](https://github.com/juanfont/headscale)
* [Tailscale · Best VPN Service for Secure Networks](https://tailscale.com/)
### Home auth ### Home auth
@ -56,8 +77,18 @@ graph TD;
internet((Internet))<-->nest_wifi_pro(Nest Wifi Pro); internet((Internet))<-->nest_wifi_pro(Nest Wifi Pro);
nest_wifi_pro<-->mikrotik; nest_wifi_pro<-->mikrotik;
mikrotik<==>LACP(LACP/VLAN trunk); mikrotik<==>LACP(LACP/VLAN trunk);
vlan42("vlan42 (home)");
vlan86("vlan86 (wifi)");
vlan60("vlan60 (work)");
vlan200("vlan200 (services)");
LACP<-->vlan42;
LACP<-->vlan60;
LACP<-->vlan86; LACP<-->vlan86;
LACP<-->vlan200; LACP<-->vlan200;
vlan42<-->proxmox_eth0[eth0]<-->proxmox;
vlan42<-->proxmox_eth1[eth1]<-->proxmox;
vlan60<-->proxmox_eth0[eth0]<-->proxmox;
vlan60<-->proxmox_eth1[eth1]<-->proxmox;
vlan86<-->proxmox_eth0[eth0]<-->proxmox; vlan86<-->proxmox_eth0[eth0]<-->proxmox;
vlan86<-->proxmox_eth1[eth1]<-->proxmox; vlan86<-->proxmox_eth1[eth1]<-->proxmox;
vlan200<-->proxmox_eth0[eth0]<-->proxmox; vlan200<-->proxmox_eth0[eth0]<-->proxmox;
@ -81,7 +112,6 @@ graph LR;
unbound<-->vault; unbound<-->vault;
unbound<-->proxmox; unbound<-->proxmox;
proxmox[proxmox + VMs]; proxmox[proxmox + VMs];
``` ```
* External domain: `hobbithole.org` * External domain: `hobbithole.org`
@ -115,11 +145,18 @@ graph LR;
* Hosted on OPNsense * Hosted on OPNsense
* *
* hobby domains
* Transferring to Porkbun
* b3n.ooo
* benmiller.xyz
* beepmill.com
### IPAM ### IPAM
* wifi: `192.168.86.0/24` * wifi: `192.168.86.0/24`
* home: `192.168.42.0/24`
* services: `192.168.200.0/24` * services: `192.168.200.0/24`
* * work: `172.16.60.0/24`
## Proxmox ## Proxmox

BIN
image-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

BIN
image.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

31
keyboards.md Normal file
View File

@ -0,0 +1,31 @@
# keyboards
* [Cosmos Keyboard](https://ryanis.cool/cosmos/) - keyboard customizer
* [First attempt](https://ryanis.cool/cosmos/beta#cm:Cp8BChUSBRCAbyAnEgASABIAOB5AgIaKwAcKGRIFEIBjICcSABIAEgMQsDsSAxCwazgKQAAKHBIFEIBXICcSABIAEgMQsC8SAxCwXzgJQIDwvAIKERIFEIBLICcSABIAEgA4HUAAChESBRCAPyAnEgASABIAODFAAAoYEgIgJxIAEgQQoIAKEgIQMDgyQICGisAHGABA6IWgrvBVSNyMq9ABCmcKChIFEEBQ8gI4wAwKCxIGEMCAAiAoOKgUCgkSBBBAICg4kBwKCxIGEEAgKEAAOPgjChgSEhBAIAAwyAFAgICADUiAgLCsATAWOAAYCiIKCMgBEMgBGAAgAEDbkaSc8DdIhI+U1qB4CpUBCnYSFgiAMBDAgAIgAECMhdiWEEiNhYC43Q0SEwiAMBBAIABAmcSWCEiNhYC43Q0SDyAAQK6F3ANImYmIntDcEBIQIABA4YPY0AFI6ZOgl5DwERIPIABA0OKPOEiDj6CXkL0SEhEgAEDvhbyXsAFI4Z3QjbDYEjgAGAMiCgjIARDIARgAIABAno3MrPAzSKap3MaAtAgYhCCCAQIEAmAD)
* Svalboard
* https://svalboard.com/
* Characorder
* Control panel: https://charachorder.io/
* Practice: https://www.iq-eq.io/#/
*
## Custom Build 1
* Dactyl Manuform style built with Cosmos Keyboard Configurator
* https://ryanis.cool/cosmos/beta#cm:Cn4KDxIFEJBBIBMSABIAODFAAAoPEgUQkE0gExIAEgA4HUAAChsSBRCQWSATEgASAxCwLxIDELBfOAlAgPCG+AEKGRIFEJBlIBMSABIDELA7EgMQsGs4CkCAgAwKExIFEJBxIBMSABIAOB5AgJqL0AIYAEDqhaCu8FVI3Iyr0AEKaAoXEhMQwIACQICAmAJIwpmglZC8AVBDOAgKFRIQEEBAgIAgSNCVgN2Q9QNQC1CeAgoUEhAQQECAgPgBSOaZ/KeQC1BXUH8KA1CCAhgCIgoIyAEQyAEYACAAQMuL/J/QMUitkdyNwZMGCngKDxIFEJA1IBMSABIAODJAAAoPEgUQkCkgExIAEgA4HkAAChgSBRCQHSATEgASABIDELBfOApAgISK2AIKFhIFEJARIBMSABIAEgMQsGs4CUCA6DQKExIFEJAFIBMSABIAOB1AgJqOsAMYAUDphaCu8FVI3IqryAEKaQoXEhMQwIACQICAmAJIwpmclaC8AVBDOAcKFRIQEEBAgIAgSNCV/Nyg9QNQC1CdAgoVEhAQQECAgPgBSOaZgKygC1BXUIABCgNQgQIYAyIKCMgBEMgBGAAgAEDMi/yf0DFIrZHgjbGTBiIDIK4NggEKAJ4FyAFllwEBAlhCYANoAPoBCRCIDhg8KGQoMg==
* https://www.printables.com/model/158559-handwire-hot-swap-socket-for-mechanical-keyboard-s
* `G:\My Drive\making\files\cosmotyl`
### Wiring
![Alt text](image.png)
![Alt text](image-1.png)
* https://ryanis.cool/cosmos/docs/qmk-rp2040/#wire-the-keyboard
*
## Training
* https://typecelerate.com/

View File

@ -0,0 +1,29 @@
{
"folders": [
{
"path": "../local-ai-beepmill"
}
],
"settings": {
"workbench.colorCustomizations": {
"activityBar.activeBackground": "#982a11",
"activityBar.background": "#982a11",
"activityBar.foreground": "#e7e7e7",
"activityBar.inactiveForeground": "#e7e7e799",
"activityBarBadge.background": "#031d08",
"activityBarBadge.foreground": "#e7e7e7",
"commandCenter.border": "#e7e7e799",
"sash.hoverBorder": "#982a11",
"statusBar.background": "#6a1d0c",
"statusBar.foreground": "#e7e7e7",
"statusBarItem.hoverBackground": "#982a11",
"statusBarItem.remoteBackground": "#6a1d0c",
"statusBarItem.remoteForeground": "#e7e7e7",
"titleBar.activeBackground": "#6a1d0c",
"titleBar.activeForeground": "#e7e7e7",
"titleBar.inactiveBackground": "#6a1d0c99",
"titleBar.inactiveForeground": "#e7e7e799"
},
"peacock.color": "#6a1d0c"
}
}

View File

@ -1,10 +1,12 @@
# making # making
## Collections ## Collections
* https://makerworld.com/en/@beepmill/collections * https://makerworld.com/en/@beepmill/collections
* https://www.printables.com/@beepmill_1805142/collections * https://www.printables.com/@beepmill_1805142/collections
* [Gumroad](https://gumroad.com/library) * [Gumroad](https://gumroad.com/library)
* https://cults3d.com/en/design-collections
* https://www.thingiverse.com/beepmill/collections
## Systems ## Systems
@ -15,16 +17,65 @@
* [Underware 2.0 - Infinite Cable Management!](https://makerworld.com/en/models/783010-underware-2-0-infinite-cable-management#profileId-808979) * [Underware 2.0 - Infinite Cable Management!](https://makerworld.com/en/models/783010-underware-2-0-infinite-cable-management#profileId-808979)
* *
## Things to design
* Frit tray ![Image](./dd75f62871a045217d36e3156fa2fc7e.jpg)
* ![Image](./a35a74314775063c5d51232552b5cd8c.jpg)
* 5gal water bottle opal extension
* https://a.co/d/blahX4M
## Things to print ## Things to print
* https://thangs.com/designer/ForgeCore
* Desk plants
* Resin teeth #booloumud
* [Modern Gridifinity Case](https://www.printables.com/model/894202-modern-gridfinity-case)
* [Space Efficient Socket Holders - Gridfinity](https://www.printables.com/model/1101988-space-efficient-socket-holders-gridfinity/files) * [Space Efficient Socket Holders - Gridfinity](https://www.printables.com/model/1101988-space-efficient-socket-holders-gridfinity/files)
* Printing metric [[2025-06-15]]
* Printing imperial [[2025-06-17]]
* [AMS Driven Rear Roller replacement](https://makerworld.com/en/models/80150-ams-driven-rear-roller-replacement#profileId-85113)
* Zip bag holder for spare parts etc
* Multiboard ziplog bag dispensers
* "Yours and Theirs" phone holder for RAV4
* Cupholder for RAV4
## Things that I've printed ## Things that I've printed
* [[2025-07-01]] - [Rubber Duck straw cap for Stanley tumbler](https://makerworld.com/en/models/495619-rubber-duck-straw-cap-for-stanley-tumbler#profileId-409800)
* [[2025-06-30]] - https://www.printables.com/model/836037-earring-holder-earring-display-stand-t-shape
* [[2025-06-19]] - [Anti-Stress Spikeroll by Paul_Drosser - Thingiverse](https://www.thingiverse.com/thing:4575204)
* [[2025-06-18]] - [Lid Riser for Bambu Lab AMS](https://www.printables.com/model/602705-ams-lid-riser-for-bambu-lab-ams/comments)
* [[2025-06-18]] - [Bambu Lab AMS Ultimate Front Rollers](https://makerworld.com/en/models/452104-bambu-lab-ams-ultimate-front-rollers#profileId-359257)
* [[2025-06-15]] - https://makerworld.com/en/models/192760-multiboard-pliers-holder#profileId-213102 * [[2025-06-15]] - https://makerworld.com/en/models/192760-multiboard-pliers-holder#profileId-213102
*
## Calibration guides
* [Ellis Print Tuning Guide](https://ellis3dp.com/Print-Tuning-Guide/)
* [J3DTech Guide to Resin 3D Printing - Google Docs](https://docs.google.com/document/d/1aoMSE6GBGMcoYXNGfPP9s_Jg8vr1wQmmZuvqP3suago/edit?tab=t.0#heading=h.gjdgxs)
* [Printer Calibration Lychee Documentation](https://doc.mango3d.io/doc/printer-calibration/)
## Profiles
### Anycubic Photon M3 Plus
* Manual: https://paperless.hobbithole.org/share/fyqLOQ64q0UQBWwwI1RXRUvalNPpzrehYPkKax0ihZkErAmQwu
#### Build plate leveling
1. With resin tub and resin in, loosen build plate
2. Press Home
3. Press down with medium pressure, tighten in X pattern
4. Set `Z=0`
#### Standard Resin + White 50um
* Layer thickness
[//begin]: # "Autogenerated link references for markdown compatibility" [//begin]: # "Autogenerated link references for markdown compatibility"
[2025-06-15]: 2025-06-15.md "2025-06-15" [2025-06-15]: 2025-06-15.md "2025-06-15"
[//end]: # "Autogenerated link references" [2025-06-17]: 2025-06-17.md "2025-06-17"
[2025-07-01]: 2025-07-01.md "2025-07-01"
[2025-06-30]: 2025-06-30.md "2025-06-30"
[2025-06-19]: 2025-06-19.md "2025-06-19"
[2025-06-18]: 2025-06-18.md "2025-06-18"
[//end]: # "Autogenerated link references"

5
opentofu.md Normal file
View File

@ -0,0 +1,5 @@
# opentofu
* https://search.opentofu.org/provider/bpg/proxmox/latest
* http://gitea.hh.lan:3000/ben/homelab_tofu
* GCS backend: [`gs://deskbound-mournful-synthetic4`](https://console.cloud.google.com/storage/browser/deskbound-mournful-synthetic4)

11
pool.md Normal file
View File

@ -0,0 +1,11 @@
---
created: 2025-06-28T14:27:34-06:00
modified: 2025-06-28T14:30:15-06:00
---
# pool
# upgrades TODO
* valve upgrade, pvc
* https://youtu.be/4gmdtYiSq9g?si=aD4ZbZJyZU8ngQHE

View File

@ -0,0 +1,29 @@
{
"folders": [
{
"path": "../shopify_theme"
}
],
"settings": {
"workbench.colorCustomizations": {
"activityBar.activeBackground": "#accc6e",
"activityBar.background": "#accc6e",
"activityBar.foreground": "#15202b",
"activityBar.inactiveForeground": "#15202b99",
"activityBarBadge.background": "#3a81a5",
"activityBarBadge.foreground": "#e7e7e7",
"commandCenter.border": "#15202b99",
"sash.hoverBorder": "#accc6e",
"statusBar.background": "#96bf48",
"statusBar.foreground": "#15202b",
"statusBarItem.hoverBackground": "#7a9d37",
"statusBarItem.remoteBackground": "#96bf48",
"statusBarItem.remoteForeground": "#15202b",
"titleBar.activeBackground": "#96bf48",
"titleBar.activeForeground": "#15202b",
"titleBar.inactiveBackground": "#96bf4899",
"titleBar.inactiveForeground": "#15202b99"
},
"peacock.color": "#96bf48"
}
}

22
to watch.md Normal file
View File

@ -0,0 +1,22 @@
---
created: 2025-08-20T11:26:28-06:00
modified: 2025-09-25T21:29:44-06:00
---
# to watch
- [x] Department Q
- [ ] Superman
- [ ] Thunderbolts
- [ ] Alien Earth
- [ ] Honey Don't
- [ ] Loki season 2
- [ ] The Naked Gun
- [ ] Decameron
- [ ] The Death of Stalin
- [ ] Love Lies Bleeding
- [ ] Fleabag
- [ ] The Midnight Hour
- [ ] Paprika
- [ ] What We Do In The Shadows
- [ ] Bugonia