Commit graph

127 commits

Author SHA1 Message Date
Vincent Ambo
3061b3228f feat(tazjin/aoc2020): Add (somewhat delayed...) solution for day 7
Solve time is like 36 hours, that must be a record!

Change-Id: I3713f033d83e6179a5d5fa7513952ee3864a6164
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2238
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-08 22:33:07 +00:00
Vincent Ambo
42405bfa24 feat(tazjin/rlox): Synchronise parser state after errors
This lets the parser collect multiple errors instead of returning
after the first one, with some optimistic synchronisation after
encountering something that looks wonky.

Change-Id: Ie9d0ce8de9dcc7a3d1e7aa2abe15f74cab0ab96b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2236
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-06 17:34:57 +00:00
Vincent Ambo
1835b2be99 feat(tazjin/rlox): Wire up parser to the REPL
Change-Id: I940448c63ce105d53a0f281b6320ffb01378f207
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2235
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-06 14:58:39 +00:00
Vincent Ambo
4812fc2ee6 feat(tazjin/rlox): Implement parsing of parenthesised expressions
Change-Id: I0e6bd71fd787b719104ef93fc52df4090dc415b9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2234
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-06 14:30:59 +00:00
Vincent Ambo
28002fcea5 refactor(tazjin/rlox): Add error plumbing in parser functions
Change-Id: I7ae3d721f76d8d69043f5ed077abbc70a18cbd92
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2233
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-06 14:30:59 +00:00
Vincent Ambo
5fcff11eae feat(tazjin/rlox): Implement parsing up to unary expressions
... with the exception of parenthesised expressions, because error
threading is not implemented yet.

Change-Id: I8d455d85e647548d5b71cbfd3d078f4970dab7fb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2232
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-06 14:30:59 +00:00
Vincent Ambo
a8371b01df refactor(tazjin/aoc2020): Build all solutions in CI
This changes the structure of the output, too, where all AoC solutions
now end up in a big folder with `bin/day$n` executables.

Change-Id: I77928f4129489d06779b50059835925652688c9c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2231
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-06 13:02:31 +00:00
Vincent Ambo
54f143b8f7 feat(tazjin/aoc2020): Add solution for day 6
Change-Id: I107cc23bb77c618067af6cc47ced3c87464f4cba
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2230
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-06 11:59:22 +00:00
Vincent Ambo
7067f3a797 feat(tazjin): Check in higher-quality version of avatar
... found this in the same place as hanebuschtag.txt

Change-Id: Iff5f4867b6c1d7685edae8a190489f3efb4890bc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2229
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-06 00:48:52 +00:00
Vincent Ambo
efd48011fc feat(tazjin): Check in hanebuschtag.txt
This old, legendary file should never be lost.

Change-Id: I2ae1607da24d684199c4136a880f56528d45a6e8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2228
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-06 00:48:52 +00:00
Vincent Ambo
6d411c53ee feat(tazjin/aoc2020): Add solution for day 5
Change-Id: I771335f351be3418dbb589c429411748564f07f5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2227
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-05 13:32:17 +00:00
Vincent Ambo
d4f6b67644 feat(tazjin/aoc2020): Add solution for day 4
Change-Id: I0b3c6a251bb0997b77bdd83593c65efcf471625c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2226
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-04 11:37:52 +00:00
Vincent Ambo
a9980bb631 feat(tazjin/aoc2020): Add solution for day 3
Change-Id: I84147731e1508032510a52cda28be74bbbb17c61
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2225
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-04 11:37:52 +00:00
Vincent Ambo
ea683b1ce8 feat(tazjin/aoc2020): Add solution for day 2
Change-Id: Id149ff13d1e903a578cdcdc3a8d0045cfefaecfa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2224
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-02 10:05:28 +00:00
Vincent Ambo
6aa6151146 feat(tazjin/aoc2020): Add solution for day 1
Change-Id: I9c5e7f69cac1940ddeb7932d4450e2bd3764e1f5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2213
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-12-01 12:55:59 +00:00
Vincent Ambo
87f1e15baa chore(writeElispBin): Move from //overrides to //nix
... some legacy cleanup ...

Change-Id: I9e73451256f842e75ddbf1382badaf06c775c755
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2212
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-12-01 12:55:59 +00:00
Vincent Ambo
6c08bcc84d chore(tazjin/aoc2019): Move out of //fun
Change-Id: I9d065b672f4245b81444737dd900c8864447bc4d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2211
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-12-01 12:55:59 +00:00
Vincent Ambo
9cb98713d3 fix(tazjin/emacs): Don't use use-package for dottime.el
It doesn't work.

Change-Id: I06e95a43ca09f12c5763760e616b1b90c84dd265
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2209
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-30 16:46:51 +00:00
Vincent Ambo
349583d5a9 feat(tazjin/rlox): Bootstrap recursive-descent parser for Lox
... mostly some AST boilerplate and a first top-level rule, plus
boilerplate similar to that set up in the Scanner.

Change-Id: I605d1de23c47a3b3702ab4f62cd3371bc3988c7d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2194
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-30 16:42:17 +00:00
Kane York
844c84a38a chore(3p): upgrade llvm to version 11
Additionally, anchor clang-tools to match the current llvmPackages version.

Change-Id: I27a199cadb55907c3e2deabfd1d14a5b50fc541b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2166
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: glittershark <grfn@gws.fyi>
2020-11-29 03:02:14 +00:00
Vincent Ambo
36cf7bef24 refactor(tazjin/rlox): Thread through scanner errors
... and show them to users, very crudely.

Change-Id: If4491b14db1124313f6ab7e5fbfdce9fea501d11
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2193
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-28 17:26:58 +00:00
Vincent Ambo
af793325c0 feat(tazjin/rlox): Scan identifiers and keywords
Change-Id: Ifec627605c23c25f199d47eaa91e441ed9590208
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2192
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-28 16:55:25 +00:00
Vincent Ambo
97505eb1e1 feat(tazjin/rlox): Implement number scanning
Change-Id: Ide0126d1c2274d56903092816ff9cd531c03f513
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2191
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-28 16:55:25 +00:00
Vincent Ambo
47aa92b87d feat(tazjin/rlox): Implement string scanning
Note that Lox does not support escapes, and I don't care about that.

Change-Id: Ie848cbc1164c4b005b15e29aad8fe723aaa68d1b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2190
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-28 16:33:32 +00:00
Vincent Ambo
800d2ccde8 fix(tazjin/rlox): Clear previous line in REPL mode
Change-Id: I8acc5b0d07b2c656f9bba76a6ddac6b9088ea563
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2189
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-28 16:33:32 +00:00
Vincent Ambo
4277d3e6b4 feat(tazjin/rlox): Handle whitespace in scanner
Change-Id: Iead3efa6aa797af5c5b57c67226205bf7e39e647
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2188
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-28 16:33:32 +00:00
Vincent Ambo
9f61579dde feat(tazjin/rlox): Scan single-line comments
Change-Id: I2efafdb1374ac2863a1f8d8a9310123a7dec0900
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2187
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-28 16:33:32 +00:00
Vincent Ambo
46c6906aaa chore(tazjin/rlox): Wire scanner to interpreter to reduce warnings
... they're just noisy at the moment. This isn't complete because it
doesn't thread through scanner errors.

Change-Id: I0f75d2b20fa3f57be1af5d1d8aa8059856855825
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2162
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-27 17:29:04 +00:00
Vincent Ambo
3f6b88bce2 feat(tazjin/rlox): Implement multi-character scanning
Change-Id: Ic5a246a7f5834477aeb97824fa30ba74a8422bc1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2161
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-27 17:29:04 +00:00
Vincent Ambo
6363efbebf refactor(tazjin/rlox): Use &[char] instead of &str in scanner
This makes it easier to work with the Unicode issue. The original
string representation can be discarded.

Change-Id: I740be4cb9654679ea7950f3899c5c709b1e7a739
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2160
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-27 17:29:04 +00:00
Vincent Ambo
de44fdf92a feat(tazjin/covid): Add jq script for wrangling CDC data
Change-Id: Ia23f528d28126d6a2d0dd2d7327ec686c7e90df4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2158
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-27 02:24:42 +00:00
Vincent Ambo
3d1b116f7f feat(tazjin/rlox): Implement single-character scanning
... still not that interesting, but at this point slightly divergent
from the book:

The book embraces mutability for interpreter state, initially for
tracking whether an error condition has occured.

I avoid this by instead defining an error type and collecting the
error values, to be handled later on.

Notes: So far nothing special, but this is just the beginning of the
book. I like the style it is written in and it has pointed to some
interesting resources, such as a 1965 paper titled "The Next 700
Languages".

Change-Id: I030b38438fec9eb55372bf547af225138908230a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2144
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-23 01:15:57 +00:00
Vincent Ambo
9d2b001c4c feat(tazjin/rlox): Add basic program structure
... as well as a Nix derivation, because why not.

Change-Id: Iaf2591ab72676fe0732c3f807b3aa0cff13fb4ef
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2143
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-23 01:15:57 +00:00
Vincent Ambo
0618ff11cc feat(tazjin/rlox): Bootstrap program
This is going to be the first of two interpreters from "Crafting
Interpreters".

Change-Id: I354ddd2357444648d0245f35d92176dd176525d8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2142
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-23 01:15:57 +00:00
Vincent Ambo
312d76acba feat(tazjin/emacs): Enable midnight.el
Change-Id: I22bedd80c6e99ccefefa7840ec37496360937842
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2137
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-22 23:26:57 +00:00
Vincent Ambo
5a00e58904 chore(3p): Bump nixpkgs to nixos-unstable from 2020-11-21
Included fixes for random breakage:

* 3p/awscli: pick from the stable channel; it is broken on unstable
* 3p/googletest: bumped version & removed patches that nixpkgs applies
* 3p/lisp/cffi: bumped library version for SBCL compat
* 3p/nix: fix libsystemd attribute
* 3p/nix: reformatted (clang-format handling of ternaries changed)
* glittershark/home: Use home-manager from nixkpgs
* glittershark/kernel: bumped linux-ck patch hash
* glittershark/kernel: removed "patch patch"
* multi/whitby: Use home-manager from nixpkgs
* tazjin/frog: drop Sourcetrail (it doesn't build currently)

Note that in addition to these changes, some previous CLs updated the
versions of git and cgit which was necessary for this channel bump,
but which could not be done in the same commit due to the nature of
the subtree merges.

Change-Id: If2563e8a68e2750c4b913a976ff7b93b42e8b7f3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2110
Tested-by: BuildkiteCI
Reviewed-by: multi <depot@in-addr.xyz>
Reviewed-by: glittershark <grfn@gws.fyi>
2020-11-21 23:18:27 +00:00
Vincent Ambo
cce0ad1bcd chore(tazjin/emacs): Minor cleanup of unused modes and config
Change-Id: I38c6a32339bf7606b733a938b4e55df2506a13a7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2107
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-21 13:27:20 +00:00
Vincent Ambo
ac5ba13dce fix(tazjin/emacs): Do not assume '.txt' files are Markdown
Change-Id: I5cab039938e415facf81492e7e3775672ee45db9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2068
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-11-04 11:34:06 +00:00
Vincent Ambo
7a62272d20 feat(tazjin/camden): Install flatcam tooling
This was previously set up manually in a nix-shell.

Invocation works like this:

  screen fswebcam --title 'tazflat' --font 'JetBrains Mono' \
                  --timestamp "%Y-%m-%d %H·%M+01" -l 60 -r 1280x720 \
                  -d /dev/video0 --jpeg 95 /var/www/blobs/flat.jpg \
                  --exec 'cp /var/www/blobs/flat.jpg /var/www/blobs/flat/at_$(date +%s).jpg'

Change-Id: I5ecf8fdf67240faf885fd12f428e368e2bc64dc8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2018
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-10-04 16:06:25 +00:00
Vincent Ambo
2670f84f5f fix(tazjin/camden): Backport 19.09 ACME module
The new one is causing breakage for me, but I have no time to debug
this, so I'm backporting the old one.

AFAICT the simp_le included in this channel should be new enough to
have ACMEv2 compat, we'll see if it works.

Change-Id: Ib8b869a5af8a0418a66017a0cf3b9336df5f2d05
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2017
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-10-04 15:51:59 +00:00
Vincent Ambo
48235517f6 feat(tazjin/emacs): Add function for quick Songwhip lookups
Adds a function `songwhip-lookup-url` which looks up the supplied URL
on Songwhip and copies the Songwhip link if a result was found.

This is bound to `s-s w` for convenience.

Change-Id: I3b529a058ee56f992942760910822490e6324259
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2002
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-09-27 21:02:41 +00:00
Vincent Ambo
6bdc6c85cd feat(tazjin/emacs): Add Swedish keyboard layout
It's a little easier to use this for Swedish than to compose the ä and
ö in the Norwegian layout.

Additionally - to avoid problems when switching to keyboards that have
no hardware remapping - re-applies the caps:super flip on every layout
switch.

Change-Id: I1b2c55761514745291d0eeb1502fa503f84f8aa1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2001
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-09-24 11:35:04 +00:00
Vincent Ambo
1c7e20ce30 feat(tazjin/camden): Enable bitlbee
Change-Id: Ie7a438c2038b3689600499f1d3a7e3d70bca120a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2000
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-09-24 11:13:38 +00:00
Vincent Ambo
5528a9aa6f chore(tazjin/camden): Add my user to the quassel group
Makes log access easier ...

Change-Id: I1b4df00ad2015b6a51029772a43f3e6544ba8d18
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1991
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-09-20 19:23:02 +00:00
Vincent Ambo
4a29942b06 fix(tazjin/emacs): Gracefully handle irregular Quassel titles
Some Quassel dialogues (e.g. popups, or clients that aren't connected
yet) don't match the expression and cause errors. This falls back to
the raw title for the window if no match is found.

Change-Id: I67b9cd7f6e2cb8e3e118d7fb7eeb615380be09d6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1976
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-09-14 15:31:13 +00:00
Vincent Ambo
20e88b0dd6 fix(tazjin/emacs): Include -/& in Quassel channel names
Change-Id: Id21de577043fe0fea90ae684a311ac7239714cf8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1974
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-09-12 19:56:06 +00:00
Vincent Ambo
b8b2a499e1 feat(tazjin/emacs): Rename Quassel EXWM windows
This gives Quassel buffers sensible titles containing the name of the
network the buffer is currently displaying.

Ideally it would show me the name of the Quassel Core connection, but
this isn't exported from Quassel into the X window title.

The regex captures both the channel and the network, but only the
network is currently used for display - I may revisit that at some
point.

Change-Id: Ife4c06919d9e9c0114ff298e1443b2b27ce2f146
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1964
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-09-09 10:56:52 +00:00
Vincent Ambo
87bfc53d7b chore(tazjin/keys): Add S10e key
Change-Id: I3efdd49e23bdc357f15ea189b890e25843cc0255
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1933
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-09-06 17:15:14 +00:00
Vincent Ambo
7f1c9bc234 fix(tazjin/emacs): Kill vterm buffers if their process exits
This has somehow stopped being a thing in newer vterm versions,
causing the weird behaviour with my term switcher - buffers with the
correct name were sticking around, but no longer in the right mode.

Change-Id: Ie641eb3db91808d7d1016de1e8ef3ad271c8995e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1931
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-09-05 23:38:12 +00:00
Vincent Ambo
77a47fa85c chore(tazjin/nixos): Include camdenSystem and frogSystem in CI
Change-Id: I83c99a853e7a14a41ba87fed9d7988d4a2556920
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1894
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-08-31 23:14:11 +00:00