Commit graph

124 commits

Author SHA1 Message Date
Vincent Ambo
e663ca4128 refactor(paroxysm): Use derive macros from serde crate
serde_derive is deprecated, the macros have moved behind a
feature-gate in serde itself.

Change-Id: Ib42e7463a81006e23a4fe8a0e48f494610dc8e4c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1550
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-02 02:16:24 +00:00
Vincent Ambo
194c498d53 refactor(paroxysm): Explicitly macro imports, no more 'extern crate'
Removes all but one occurence of `extern crate`, to conform with Rust
2018.

The last one is necessary because Diesel is a giant jungle of
complicated macros re-exported from private crates, and the current
version makes it hard to import those directly instead.

Change-Id: Id14165a456d5c3ce6f7a4e0222c611640113eb11
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1549
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-02 02:16:24 +00:00
Vincent Ambo
660a02947f chore(paroxysm): Bump Cargo dependencies within constraint
This is just a `cargo update` call.

Change-Id: I3b780cd76d97bf69b793a4c573eb3b9c1d59f88b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1548
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-02 02:16:24 +00:00
Vincent Ambo
e2c72e91ed chore(tazjin): Move wallpapers into my user folder
Change-Id: I30901967ff0d65ae4a12a5b74c3baec9a6406971
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1511
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-08-01 14:13:14 +00:00
Vincent Ambo
82ba28f197 chore: Move //fun/tvldb -> //fun/paroxysm
Say ~my~ its name!

Change-Id: I7890318aef984af0f6bc011de32282f16e01cbb3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1483
Tested-by: BuildkiteCI
Reviewed-by: eta <eta@theta.eu.org>
2020-07-27 23:54:00 +00:00
eta
d3ad338726 fix(tvldb): unbreak quote grabbing
Change-Id: Ib03561bbcc154aeee50a592332a2763ff784bb1d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1165
Tested-by: BuildkiteCI
Reviewed-by: eta <eta@theta.eu.org>
Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-14 17:59:00 +00:00
eta
7e0b2cd3f3 feat(tvldb): parse CTCP ACTIONs properly, allow use of aliases in ??! syntax
Change-Id: I3cc0e88a94ea0edc470ff9e0da203f1193d40f9f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1128
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-13 17:00:14 +00:00
eta
6fd3371e94 feat(tvldb): prohibit infinite recursion
Change-Id: I63b54e937f4c4fdb823f2e2e91a5a5d8af071a42
Reviewed-on: https://cl.tvl.fyi/c/depot/+/855
Tested-by: BuildkiteCI
Reviewed-by: eta <eta@theta.eu.org>
Reviewed-by: isomer <isomer@tvl.fyi>
Reviewed-by: BuildkiteCI
2020-07-02 21:46:09 +00:00
isomer
2b4abca80f fix(clbot): s/submitted/applied/
By vote of the IRC channel.

Change-Id: I5ea965d45a7d73b0bdcae817d16eaa17e47adcbc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/861
Reviewed-by: isomer <isomer@tvl.fyi>
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
2020-07-02 18:55:30 +00:00
Vincent Ambo
78bfb66a95 style(tvldb): Add blank lines between items
This makes the code slightly more readable. For users that use editors
without semantic navigation, this also makes it easier to jump around
between items in the files.

I looked into whether a rustfmt setting exists for this, but
unfortunately the answer is currently no.

Change-Id: I37b19fa6ab038c71b924c45dbc12b298e660e8cf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/827
Reviewed-by: BuildkiteCI
Reviewed-by: eta <eta@theta.eu.org>
Tested-by: BuildkiteCI
2020-07-01 17:32:42 +00:00
Luke Granger-Brown
f2980dfc16 feat(clbot): allow specifying branch and repo to look at on command line
Change-Id: Ib2e37275d770a1e98a526481018514a564a4f73b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/569
Reviewed-by: tazjin <mail@tazj.in>
2020-06-24 01:46:29 +00:00
Luke Granger-Brown
6a77bbbf84 fix(clbot): actually display people's usernames properly
Change-Id: Idcbb6ffbb3127520141596cea7883cd137a1ea56
Reviewed-on: https://cl.tvl.fyi/c/depot/+/441
Reviewed-by: eta <eta@theta.eu.org>
Reviewed-by: riking <rikingcoding@gmail.com>
2020-06-16 18:42:40 +00:00
eta
c3abbb5e2d feat(tvldb): Import the tvldb/paroxysm source, add a Nix derivation
- This imports the tvldb (actually a thing called 'paroxysm') code
  from https://git.theta.eu.org/eta/paroxysm into the monorepo.
- Additionally, I did a nix thing, yay! \o/
  (well, with tazjin's help)
- 3p/default.nix needed modifying to whitelist pgsql.

Change-Id: Icdf13ca221650dde376f632bd2dd8a087af451bf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/389
Reviewed-by: tazjin <mail@tazj.in>
2020-06-16 13:30:44 +00:00
eta
4c22cf3169 feat(clbot): insert Unicode ZWS to avoid pinging users
Change-Id: I732bf6daa01f5b2099c4f4cbdd21a2ceedc79cb1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/385
Reviewed-by: q3k <q3k@q3k.org>
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-16 13:29:14 +00:00
Luke Granger-Brown
b6ae678335 feat(clbot): Add IRC support to the IRC bot.
Change-Id: I183488824882750c46e7216b98ab48e1d8f48096
Reviewed-on: https://cl.tvl.fyi/c/depot/+/343
Reviewed-by: eta <eta@theta.eu.org>
Reviewed-by: tazjin <mail@tazj.in>
2020-06-16 12:10:56 +00:00
Vincent Ambo
c26ee5a448 feat(fun/uggc): Install desktop handler in Nix derivation
This actually registers the desktop entry, so xdg-open etc. start
working:

tazjin@frog /depot> xdg-open 'uggcf://gjvggre.pbz/alnabgrpu/fgnghf/1272363652679524352'
Opening in existing browser session.

Change-Id: Ia754cb87470fce2f8d3340d1147f3f01b9914858
Reviewed-on: https://cl.tvl.fyi/c/depot/+/387
Reviewed-by: riking <rikingcoding@gmail.com>
2020-06-15 18:39:05 +00:00
Kane York
2237a51d10 feat(fun/uggc): create a rot13 url handler
Example usage:
$ /nix/store/9kgpv4n62vhxs971jkvwvvl3msm4wpm8-uggc/bin/uggc 'uggcf://gjvggre.pbz/alnabgrpu/fgnghf/1272363652679524352'

Change-Id: I8fd5f77416116ce1a6ab7f96d3f2c726ef663677
Reviewed-on: https://cl.tvl.fyi/c/depot/+/386
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: eta <eta@theta.eu.org>
2020-06-15 18:19:22 +00:00
Luke Granger-Brown
9099497185 chore(clbot): Refactor backoff utility into a separate package.
It'll be reused by the IRC side of things too.

Change-Id: I3d84f3fd5fca6a6d948f331143b14f096d10675d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/342
Reviewed-by: tazjin <mail@tazj.in>
2020-06-15 16:48:58 +00:00
Luke Granger-Brown
5acd03817a chore(clbot): Add signal handler to make clbot shutdown cleanly on SIGINT.
Change-Id: I3c6eeeb99f9d81cdbcb10880c9075ac94c4f5d19
Reviewed-on: https://cl.tvl.fyi/c/depot/+/341
Reviewed-by: tazjin <mail@tazj.in>
2020-06-15 16:48:58 +00:00
Vincent Ambo
5f9f6a404f chore(users/tazjin): Move my avatar to my folder
Change-Id: If05860cd975f20c6d8fec301cabcc80d49d0dcda
Reviewed-on: https://cl.tvl.fyi/c/depot/+/344
Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 21:32:02 +00:00
Luke Granger-Brown
c05803ff14 feat(clbot): Create Gerrit watcher and basic clbot binary.
gerrit.Watcher is a class which watches the Gerrit stream-events SSH
connection and produces events.

There's a basic CLBot binary as well, to demonstrate driving it to
produce messages on the logging output. It doesn't really do anything
else.

Change-Id: I274fe0a77c8329f79456425405e2fbdc3ca2edf0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/245
Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 17:16:32 +00:00
Vincent Ambo
8be09a4c40 chore(fun/idual): Switch wakeup light to random colours 2020-06-10 00:12:54 +00:00
Vincent Ambo
f459332f32 chore: Update from Clang 9 to Clang 10 for all projects 2020-05-22 18:29:47 +01:00
Vincent Ambo
6bd649d312 chore(fun/dt): Use vendored copy of Abseil 2020-05-20 02:40:41 +01:00
Vincent Ambo
5f10238c62 feat(fun/idual): Change alarm light from 'morning' to 'sun'
The latter is much brighter and warmer, this is probably better.
2020-05-14 14:30:52 +01:00
Vincent Ambo
e2fb4bc4de chore(fun/dt): Adjust weights 2020-05-11 03:31:19 +01:00
Vincent Ambo
9628daf413 feat(fun/dt): Support arbitrary word counts 2020-05-11 02:39:46 +01:00
Vincent Ambo
e33627f960 feat(fun/dt): Implement useful utility 2020-05-08 18:55:00 +01:00
Vincent Ambo
8681ac787e feat(fun/idual): Introduce real CLI that can send all commands
Adds an idualctl CLI that can be used to control the lights.
2020-04-26 15:50:21 +01:00
Vincent Ambo
a34f7ef119 feat(fun/idual): Support multiple simultaneous Broadlink devices
There are now two devices in this room, and they're being used
simultaneously.
2020-04-26 15:24:11 +01:00
Vincent Ambo
6644d0031d feat(fun/idual && nixos/camden): Add light alarm systemd units
Adds a systemd unit to run the idual light alarm using a transient
timer created by systemd-run.
2020-04-26 00:28:19 +01:00
Vincent Ambo
28bf77a1f1 fix(fun/idual): Hardcode the Broadlink thing's local address 2020-04-25 23:41:19 +01:00
Vincent Ambo
dff91042fd feat(fun/idual): Implement some utilities for controlling lights
This program, if build in its executable form, will try to turn the
lights on and put them into "morning mode".
2020-04-25 23:14:07 +01:00
Vincent Ambo
e7aaa0bc2f feat(fun/idual): Move colour codes into a Python script
This will make them easier to consume for the thing I'm actually
trying to do here.
2020-04-25 22:17:14 +01:00
Vincent Ambo
c79edb5243 docs(fun/idual): Document how to capture codes 2020-04-25 21:43:08 +01:00
Vincent Ambo
6ee6966a2a feat(fun/idual): Check in captured iDual remote codes 2020-04-25 21:41:05 +01:00
Vincent Ambo
97c7ebf758 chore(fun): //fun/tvl -> //fun/streamTVL
Otherwise this is confusing because //web/tvl is now a thing.
2020-04-21 03:03:42 +01:00
Vincent Ambo
cb62e87b77 chore(web/tvl): Bootstrap static assets for TVL page 2020-04-21 03:03:33 +01:00
Vincent Ambo
0bc619e1d0 chore(fun/tvl): Add more missing persons 2020-04-21 02:37:27 +01:00
Vincent Ambo
fd13489cc9 style(fun/tvl): Use a different font for the TVL graph
... plus some other minor changes
2020-04-21 00:28:22 +01:00
Vincent Ambo
9ff5d46034 feat(fun/tvl): Add graph for how loungers know each other
Rendered version at https://tazj.in/blobs/tvl.png

Rendered using `neato`.
2020-04-20 23:55:45 +01:00
Vincent Ambo
55eba03d6e feat(fun): Add wallpaper collection 2020-04-19 21:25:42 +01:00
Vincent Ambo
24151f06dd chore(fun/tvl): Increase framerate to 60fps & limit queue size
The queue size setting will drop frames if the encoding starts to lag
behind, which should prevent delay from being introduced on the
serving side.

Maybe.
2020-04-04 02:54:49 +01:00
Vincent Ambo
bcfa11599d feat(fun/tvl): Implement hardware-accelerated stream rescaling
By randomly copy & pasting options that are impenetrable to mere
mortals from NVIDIA's developer blog and a bunch of gists scattered
throughout the internet, Andi and I managed to "get this to work".

The idea is that the x11grab stream should be resized into 720p (which
is the maximum supported by Google Meet), but with hardware
acceleration.
2020-04-04 02:36:20 +01:00
Vincent Ambo
f8703d12da feat(fun/tvl): Initial working ffmpeg -> nginx stream command 2020-04-04 02:36:20 +01:00
Vincent Ambo
3d1f568ddb fix(fun/amsterdump): Fix call to os.Getenv
Not sure how this broken version ended up committed ...
2020-02-21 13:54:53 +00:00
Vincent Ambo
4bbbb58cb5 chore: Rename pkgs->depot in all Nix file headers 2020-02-21 13:54:53 +00:00
Vincent Ambo
4b5ca24f81 feat(web/blog): Move 'best-tools' doc into a real blog post 2020-02-09 00:31:06 +00:00
Vincent Ambo
10e2e56b67 refactor(fun/wcl): Use portable unix-opts library
unix-opts, imported into buildLisp.nix in the previous commit,
provides an implementation independent way of parsing command line
arguments.
2020-01-29 10:12:07 +00:00
Vincent Ambo
b0b52255bd fix(fun/wcl): Use 'eql' for byte comparisons
The fact that this works is just an implementation-specific detail. In
theory, 'eq' will only compare object instance equality and not value.

Thanks to /u/patrec from HN for pointing this out.
2020-01-29 00:03:50 +00:00
Vincent Ambo
39b0176026 fix(fun/wcl): Count words correctly if file starts with whitespace 2020-01-28 21:24:51 +00:00
Vincent Ambo
1ba3d1cf97 feat(fun/wcl): Add a simple 'wc' clone in Lisp
Prompted by this thread:
https://lobste.rs/s/zntyeq/wc_d_712_characters_without_single_branch
2020-01-28 21:07:13 +00:00
Vincent Ambo
29e1de2fd2 feat(fun): Add copy of my avatar
Handy to keep this around somewhere!

Thanks Kitty <3
2020-01-26 01:20:23 +00:00
Vincent Ambo
ec30e0edf1 fix(fun/gemma): Give Hunchentoot the trailing slash it desires 2020-01-22 11:56:33 +00:00
Vincent Ambo
6fdc5b562d refactor(fun/gemma): Make acceptor available in a variable
This makes it possible to *stop* the server again in a REPL, which is
useful :)
2020-01-22 11:56:13 +00:00
Vincent Ambo
fdee9c5e19 fix(fun/gemma): Fix minor typo in frontend injection 2020-01-22 01:43:26 +00:00
Vincent Ambo
78db43898b refactor(fun/gemma): Use buildLisp.nix to build Gemma
This removes the ASDF system definition for Gemma and switches the
code over to buildLisp.

The program builds (including some terrifying hacks to get the
frontend to work), but there are some bizarre runtime issues that I
need to debug.
2020-01-22 01:27:21 +00:00
Vincent Ambo
cc3adc6a33 chore(fun/gemma): Use correct Markdown file extension
Otherwise the file does not get picked up by cgit.
2020-01-18 11:10:40 +00:00
Vincent Ambo
7b77e9986c feat(fun/amsterdump): Add distance matrix lookup for fundu results
This contains a little tool that can make requests to the Google Maps
API for distance matrix lookups from Fundu results to Schiphol Airport
and Amsterdam Centraal.

<3 edef!
2020-01-05 21:10:37 +00:00
Vincent Ambo
5f4924cfa7 feat(watchblob): Check in Nix expression with buildGo 2019-12-21 01:13:58 +00:00
Vincent Ambo
96b82a8033 merge(watchblob): Integrate at //fun/watchblob 2019-12-21 01:11:40 +00:00
Vincent Ambo
24b075bdeb chore(watchblob): Prepare for depot merge 2019-12-21 01:11:29 +00:00
Vincent Ambo
1c767a1748 merge(elblog): Integrate at //fun/elblog 2019-12-21 00:56:26 +00:00
Vincent Ambo
3253e4c4fb chore(elblog): Prepare for depot merge 2019-12-21 00:56:13 +00:00
Vincent Ambo
fbdc9b1d60 merge(defer.rs): Integrate at //fun/defer_rs 2019-12-21 00:53:42 +00:00
Vincent Ambo
426780060d chore(defer.rs): Prepare for depot merge 2019-12-21 00:53:28 +00:00
Vincent Ambo
acdd21f8f4 feat(quinistry): Add Nix build instructions 2019-12-21 00:51:23 +00:00
Vincent Ambo
cdf25193a4 merge(quinistry): Integrate at //fun/quinistry
This is too historically interesting for me to lose it.
2019-12-21 00:49:11 +00:00
Vincent Ambo
86ff65a36c chore(quinistry): Prepare for depot merge 2019-12-21 00:48:37 +00:00
Vincent Ambo
c0b28fb866 fix(best-tools): Fix broken link anchors 2019-12-20 23:30:13 +00:00
Vincent Ambo
5dcf4c0d45 feat(fun): Add a document with information about the tools I use
Been meaning to publish this for a while and //depot/fun seems like
exactly the right place for it!
2019-12-20 23:25:41 +00:00
Vincent Ambo
0e175cbe88 style(fun/logo): Use a much lighter colour for the logo quote
The dark one is quite visually aggressive. This colour is also taken
from Gruber Darker.
2019-12-20 21:34:18 +00:00
Vincent Ambo
f2784e9346 feat(fun): Add a silly little logo for the depot 2019-12-20 21:14:55 +00:00
Vincent Ambo
03bfe08e1d chore: Significantly restructure folder layout
This moves the various projects from "type-based" folders (such as
"services" or "tools") into more appropriate semantic folders (such as
"nix", "ops" or "web").

Deprecated projects (nixcon-demo & gotest) which only existed for
testing/demonstration purposes have been removed.

(Note: *all* builds are broken with this commit)
2019-12-20 20:18:41 +00:00