about summary refs log tree commit diff
path: root/tools
AgeCommit message (Collapse)AuthorFilesLines
2021-03-31 r/2374 chore(cheddar): Bump crate dependenciesVincent Ambo3-515/+553
This required some minor Comrak-related refactoring. Change-Id: I5c5898eb895bd5d8743949458ee9406087fcff22 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2690 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: flokli <flokli@flokli.de>
2021-03-31 r/2373 test(cheddar): Add simple Markdown rendering testsVincent Ambo3-1/+66
Covers some of the odd things we do, specifically callouts and code rendering. Change-Id: Ib8542373b434b53d277b0d8c9ddb78ac7c5176a5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2689 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2020-11-29 r/1960 feat(gerrit-update): Add helper script for updating Gerrit schemaLuke Granger-Brown1-0/+34
I've been running a script similar to this after doing Gerrit version bumps to make sure the schema is up to date, but in the spirit of making sure someone other that myself can do this task I'm formalising it into the depot, where I should've put it in the first place. Change-Id: I50a198e798e2ff26989b01e4bdd0571d85ab62aa Reviewed-on: https://cl.tvl.fyi/c/depot/+/2203 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-09-18 r/1804 fix(notable): Truncate first lines if they don't fit the windowVincent Ambo1-4/+8
Change-Id: I00746aa285d7854b8e35b6d00aa7c608ccf8ce77 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1988 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-18 r/1803 refactor(notable): Remove dependency on dashVincent Ambo2-12/+9
It was only used for #'-each, for which the built-in dolist is sufficient. Change-Id: I326d8b733b36b2edfebd4e9384e70b8a570fee0f Reviewed-on: https://cl.tvl.fyi/c/depot/+/1987 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-18 r/1802 feat(notable): Add note archival functionVincent Ambo1-0/+22
Archiving notes is done by just changing the filename to an `archive-` instead of `note-` prefix. Unarchiving is not yet implemented and should be done by moving the note to a *new note ID*. Archiving is bound to 'a' in the note list. Change-Id: I8c225a25bdac5147a26030f47f24edee497f69df Reviewed-on: https://cl.tvl.fyi/c/depot/+/1986 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-18 r/1801 feat(notable): Add a mode for displaying single notesVincent Ambo1-1/+48
This mode displays the note's timestamp in its header line, and the content in its body. Some rudimentary key bindings are set up in the list view to view notes in full (RET), and in both modes to quit the current buffer (q). Change-Id: Icb35baec220a9efcfa2b86617b16178669df996f Reviewed-on: https://cl.tvl.fyi/c/depot/+/1985 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-17 r/1798 feat(notable): Add note listing functionalityVincent Ambo2-2/+61
Adds a very simple initial display of all notes in chronologically descending order. Currently this is a read-only view with no available actions. Change-Id: I6d47363909f1a9ab8d1d18a1c44966883aa758ad Reviewed-on: https://cl.tvl.fyi/c/depot/+/1983 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-09-17 r/1797 feat(notable): Add a function for listing existing notesVincent Ambo1-5/+16
Change-Id: I23697b4798ee4d4e94d3f7c1a4e4e9abf5115345 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1982 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-17 r/1796 feat(emacs-pkgs/notable): Begin implementation by adding note-takingVincent Ambo3-0/+124
I'm writing a note taking system because I don't like any of the existing ones. This adds a note-taking function which prompts the user for note content and persists it in a user-configurable directory. Next steps are roughly: * listing notes * editing notes * archiving notes At which point I would consider this functional. The idea is to keep adding incremental improvements that fit my workflows after that, and if it ends up being useful for anyone else - great. Change-Id: I7ae0eb4015511ebdbaeff92d8d32502726eb57c4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1981 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-05 r/1763 fix(term-switcher.el): Explicitly fail if buffers are missingVincent Ambo1-4/+5
Since upgrading to Emacs 27 I have observed a strange behaviour where this terminal switcher sometimes fails to select a valid buffer, in which case it falls through to the case that just opens a new buffer instead. This is kind of annoying and to aid in debugging this change makes the creation of new buffers explicit and fails if no matching buffer is found. Note that this is likely not a fix for the issue itself, but it will help debug what is going on. Change-Id: I906869aba7d25156aaf92c090b169ce02785b85e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1930 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-08-26 r/1721 chore: Add meta.ci=false to various broken projectsVincent Ambo1-1/+1
These projects, which are not currently included in CI runs, don't build at the moment. Upcoming logic changes would mean that we would start including them in CI, which is undesirable until they're fixed - but I'm not going to be doing that now. Change-Id: I7c337e098be8bff00db6d99fc7236a695f5a85f5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1850 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-26 r/1716 fix(tvlc): Do not call mkDerivation in default.nixVincent Ambo1-1/+1
This should actually just be an attribute set. Change-Id: Idea1a9f7cfbb2eecd7e6342c6b5aeb66d3f3441a Reviewed-on: https://cl.tvl.fyi/c/depot/+/1845 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-25 r/1711 feat(tools/tvlc): pass list of derivations to depot-scannerKane York4-7/+36
You can now provide a list of Nix derivations to tvlc to get a git worktree + sparse-checkout containing only the paths needed to build the specified derivations. Known bugs: even though //third_party is only passed to readdir(), git doesn't know this and includes all of //third_party/*. Change-Id: I9dccebd3fbff4bb04ebd568175cf0a7e37d71ab3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1826 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-08-20 r/1683 feat(tools/depot-scanner): init projectKane York5-0/+280
depot-scanner is a tool that runs Nix and parses the --trace-file-access output to deduce what files are necessary to evaluate a derivation. Take DEPOT_ROOT from the environment. If depotRoot doesn't exist, print an error early. Fix the build of the protobuf library. Switch to the GRPC build rule, as a service is in this proto file. Create the PathType enum and parse it from cmdline flags. Change-Id: I537b5c6bceecf76ca510f7ac04ab9dad7785feb1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1769 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-08-19 r/1681 feat(tools/tvlc): init projectKane York4-0/+170
tvlc is a tool for managing sparse git worktrees of the TVL depot. It is still in development; near-term tasks include a setup script, Nix dependency resolution, worktree removal, and the dispatch script. See cs.tvl.fyi/depot/docs/designs/SPARSE_CHECKOUTS.md for more info. Change-Id: Iad96656f0206178980fe7dcadd3dffe70d690f8f Reviewed-on: https://cl.tvl.fyi/c/depot/+/1760 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-08-12 r/1641 fix(nsfv-setup): Resample pipeline at 48kHz with pulseaudioVincent Ambo1-1/+1
This gives better overall results and may also prevent drift, which was an issue I've had previously. See also this upstream commit for NSFV: https://github.com/werman/noise-suppression-for-voice/commit/34003bd9ab1509708eab61ef458feaae23327495 Change-Id: I45534cb60130755949cdbfbc39aed2478a249c72 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1717 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-05 r/1601 fix(tools/depot-build): handle multiple levels of subdirectoriesedef1-1/+1
Change-Id: I99511c17d635b0222e1c933432007e6f8ea8cf85 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1655 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-08-02 r/1552 style(cheddar): Apply rustfmtVincent Ambo1-10/+4
Change-Id: I378b5ae618b01244edc090ad1495fbd56857d7c0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1562 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-25 r/1464 feat(tools/cheddar): Add endpoint for Markdown renderingVincent Ambo1-26/+56
Similar to the source code highlighting endpoint, but for Markdown. This is to be used by the bug tracker, as well as Sourcegraph in the future. Change-Id: I4bea5c46ba969ba9965b61409e1c19c2edf1246c Reviewed-on: https://cl.tvl.fyi/c/depot/+/1424 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-16 r/1310 fix(tools/perf-flamegraph): Get rid of most 'unknown'sVincent Ambo1-1/+1
This makes two main changes: 1) It disables profiling of things that aren't part of the invoked process (-a). This isn't particularly useful in most cases because it will show things like Chrome's VP9 decoding while you're profiling something else. 2) It tells perf about the debug symbol format, which for some reason isn't DWARF2 by default. Change-Id: Ida6a54b74f1ec635fec930db7e2a2aa039dd1443 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1185 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-15 r/1304 feat(tools): Add script to flamegraph a commandGriffin Smith1-0/+12
Add tools.perf-flamegraph, which collects the base case execution of perf piped through stackcollapse-perf and flamegraph to flamegraph the execution of an external command via perf. Change-Id: I671fe254dc374b6cd7deca2d3bdea266164de025 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1176 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-07-06 r/1225 refactor(tvl.el): Don't submit on rubberstampGriffin Smith1-2/+2
Now that we're requiring CI to verify all changes (yay) it's not actually possible to push and submit in one go - this repurposes the rubberstamp command to push and self-+2, which is still useful for self-owned things like system config etc. Change-Id: Ie064adb6b7b0c1fd6bffdf4583a201ea02d4f8ac Reviewed-on: https://cl.tvl.fyi/c/depot/+/939 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-01 r/1151 feat(tools/hash-password): Add a wrapper script for slappasswdVincent Ambo1-0/+7
This wrapper script correctly invokes slappasswd for generating ARGON2 hashes. People without Nix will need to figure this out on their own. Change-Id: I264715ba4932855b868bef70cc9102515b3d129e Reviewed-on: https://cl.tvl.fyi/c/depot/+/833 Tested-by: BuildkiteCI Reviewed-by: BuildkiteCI Reviewed-by: Kane York <rikingcoding@gmail.com>
2020-06-26 r/1082 feat(tools/nsfv-setup): Move NSFV setup script out of //usersVincent Ambo1-0/+27
This program can be used for noise-cancelling in arbitrary audio streams. See CL/576 and CL/577 for more details. This moves the script out of my users folder and to //tools, and adds two changes: * Existing sinks will be removed & reinitialised * The sink is changed from stereo->mono (which seems to make little difference but is more reliable) * The parameter has changed from 50 to 42 because I felt like it Change-Id: Id9ff285fefd682ccc4d9f18e46b5fde9cd056aa7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/578 Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-25 r/1081 feat(tvl.el): Add push-wip commandGriffin Smith1-0/+11
P W, to push as a work-in-progress CL Change-Id: Ibc6973512e8dcd3ce77b2f1064906a98e9a3a182 Reviewed-on: https://cl.tvl.fyi/c/depot/+/575 Reviewed-by: tazjin <mail@tazj.in>
2020-06-24 r/1074 fix(tvl.el): Use 'canon' branch instead of 'master'Vincent Ambo1-3/+3
Change-Id: I779c3c979cc21a428188d31b399fd8ba97017f8d Reviewed-on: https://cl.tvl.fyi/c/depot/+/567 Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-21 r/1056 fix(gerrit-cli): don't output the path to SSH if it's on the pathLuke Granger-Brown1-2/+2
Change-Id: Ic5ef3e9ae7984cc6c84ef99553bc94a7d44c3929 Reviewed-on: https://cl.tvl.fyi/c/depot/+/551 Reviewed-by: tazjin <mail@tazj.in>
2020-06-20 r/1045 chore(cheddar): Clean up all clippy lintsVincent Ambo1-11/+10
Change-Id: I5544c10e964b57891fce6ea01f09eeec406e9bef Reviewed-on: https://cl.tvl.fyi/c/depot/+/510 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-20 r/1044 feat(cheddar): Add Sourcegraph-compatible highlighting serverVincent Ambo3-51/+765
Sourcegraph uses a component called syntect_server to syntax-highlight source files. Since we already have custom syntaxes, overrides and configuration we might as well use them with Sourcegraph! This implements the syntect_server "protocol" (it's just a single endpoint) so that we can swap out the syntect_server component with cheddar. Note: There's a few clippy lints here, but they're being solved in a followup commit because I wanted to take care of all of them at once (not just the ones introduced in this change). Change-Id: Ib518a2fa1b9fee299fe599482403599583cac479 Reviewed-on: https://cl.tvl.fyi/c/depot/+/509 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-19 r/1040 feat(emacs-pkgs/tvl): Add #'tvl-depot-status functionVincent Ambo1-0/+9
This function opens the depot in magit. By default the depot path is assumed to be `/depot`, but that is made available as a customise option that users can override. Change-Id: Iefc127cad515dbae330d7af3aa69a0c53aa02015 Reviewed-on: https://cl.tvl.fyi/c/depot/+/504 Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-19 r/1039 feat(emacs-pkgs/tvl): Add magit shortcuts for reviews & coVincent Ambo2-9/+48
Introduces two new shortcuts in the magit popup for pushing: * R: Push for review * S: Push to submit The existing "P" command remains, but has been renamed to "rubberstamp" and documented with a warning. To make this work across people's different setups, customisation options for TVL-specific code are being added. Change-Id: I48e75db55b5f793342fc898093629e437f58dcb2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/503 Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-19 r/1036 feat(emacs-packages/tvl): Init with magit gerrit suffixGriffin Smith3-0/+45
Add a simple tvl.el, with only one magit transient command to push and submit in one go to Gerrit Change-Id: If02065797a8db39669b85acf87a1c4b43d1482ee Reviewed-on: https://cl.tvl.fyi/c/depot/+/494 Reviewed-by: tazjin <mail@tazj.in>
2020-06-19 r/1034 style(cheddar): Reformat with rustfmtVincent Ambo1-37/+44
Change-Id: I9a0764f23c1269447a8b18f3128074fc58f70456 Reviewed-on: https://cl.tvl.fyi/c/depot/+/492 Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-19 r/1033 refactor(cheddar): Pass references readers & writers into renderersVincent Ambo1-15/+18
This paves the way for using other things than stdin/stdout as sources/sinks, which is required for example for implementing a syntect_server replacement based on cheddar. Change-Id: I5779db8dbf7b7ced109c26b940f721d237d60785 Reviewed-on: https://cl.tvl.fyi/c/depot/+/491 Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-18 r/1025 chore(tazjin/emacs): Move //tools/emacs to //users/tazjin/emacsVincent Ambo13-1446/+0
Change-Id: I9dfbd0bb1fd3e215bb91c5734fb0934ee3faeae6
2020-06-18 r/1019 feat(tools/emacs): Enable go-mode in .go2-filesVincent Ambo1-1/+2
Change-Id: I03cf0641b22828eb400b9220e0756d9b7aca01cd
2020-06-17 r/1010 chore(tools/emacs): Remove hardcoded TVL meeting codeVincent Ambo1-5/+0
Change-Id: I76d24c20dc41969efe242008a2dec4a2a7944c5a Reviewed-on: https://cl.tvl.fyi/c/depot/+/450 Reviewed-by: tazjin <mail@tazj.in>
2020-06-17 r/1005 refactor(cheddar): Switch to clap-rs for command line argumentsVincent Ambo3-30/+29
The complexity of the arg parsing is increasing somewhat because we're adding more features to cheddar, so to set us up for that this switches the arg parsing to the somewhat more flexible clap. Change-Id: I187bc0c1b6c6bd596fa0f6bb494b04e335262ba9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/445 Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: tazjin <mail@tazj.in>
2020-06-16 r/1004 chore(cheddar): Bump all dependenciesVincent Ambo2-215/+106
Manual updates: comrak 0.6 -> 0.7 syntect 3.3 -> 4.2.0 Leading to these automatic updates: Updating crates.io index Updating adler32 v1.0.4 -> v1.1.0 Adding autocfg v1.0.0 Updating base64 v0.10.1 -> v0.12.2 Removing bindgen v0.53.3 Removing cexpr v0.4.0 Adding chrono v0.4.11 Removing clang-sys v0.29.3 Updating comrak v0.6.2 -> v0.7.0 Removing env_logger v0.7.1 Removing glob v0.3.0 Updating hermit-abi v0.1.13 -> v0.1.14 Removing humantime v1.3.0 Adding indexmap v1.4.0 Updating itoa v0.4.5 -> v0.4.6 Updating libc v0.2.70 -> v0.2.71 Removing libloading v0.5.2 Removing log v0.4.8 Updating miniz_oxide v0.3.6 -> v0.3.7 Removing nom v5.1.1 Adding num-integer v0.1.43 Adding num-traits v0.2.12 Updating onig v5.0.0 -> v6.0.0 Removing peeking_take_while v0.1.2 Updating plist v0.4.2 -> v1.0.0 Updating proc-macro2 v1.0.17 -> v1.0.18 Removing quick-error v1.2.3 Updating quote v1.0.6 -> v1.0.7 Updating regex v1.3.7 -> v1.3.9 Updating regex-syntax v0.6.17 -> v0.6.18 Removing rustc-hash v1.1.0 Updating ryu v1.0.4 -> v1.0.5 Updating serde v1.0.110 -> v1.0.112 Updating serde_derive v1.0.110 -> v1.0.112 Updating serde_json v1.0.53 -> v1.0.55 Removing shlex v0.1.1 Updating syn v1.0.25 -> v1.0.31 Updating syntect v3.3.0 -> v4.2.0 Removing termcolor v1.1.0 Removing version_check v0.9.2 Removing which v3.1.1 Updating yaml-rust v0.4.3 -> v0.4.4 Change-Id: I2c2ee6a45bf7a5286fe30d61de52d7993871e7e1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/444 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-16 r/1002 chore: Remove traces of HoundVincent Ambo2-6/+0
We can always revert this if we want it back. Change-Id: I1332b6dd541199584b7b5b94a8651172d79e53a9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/442 Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-16 r/999 fix(tools/gerrit-cli): Don't wrap ssh sniffing in a subshellGriffin Smith1-1/+1
This was actually executing ssh, which was kinda silly - we really just want to check the return code of the `which` invocation Change-Id: I8a4b277a2be3b0c6a43d2da830cb82a32f9ee51e Reviewed-on: https://cl.tvl.fyi/c/depot/+/428 Reviewed-by: tazjin <mail@tazj.in>
2020-06-16 r/983 feat(gerrit-cli): Add gerrit CLI scriptGriffin Smith1-0/+13
Add a script to run gerrit commands on the depot host, which reads the gerrit username from the TVL_USERNAME env var or $(whoami) by default. At some point this may want to solve the configuration problem in a more general fashion, but for now this seems relatively obvious. Change-Id: Ied91c1d26daf4770aef74b2e755d1760c486bb7b Reviewed-on: https://cl.tvl.fyi/c/depot/+/396 Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-15 r/970 feat(depot-build): Add a tool to build at arbitrary tree locationsVincent Ambo1-0/+8
Assuming you're in `/depot/fun/clbot`, you can do this: tazjin@frog /d/f/clbot (master)> depot-build Building //fun/clbot /nix/store/i1zc6g58wa4819kyhaqi12zsh3hr31ph-clbot It is automatically added to the $PATH using direnv, too. Change-Id: Ia3341704e6317c2b8de40a3fa1be3b680d21a42d Reviewed-on: https://cl.tvl.fyi/c/depot/+/388 Reviewed-by: eta <eta@theta.eu.org>
2020-06-15 r/967 feat(cheddar): Override syntax highlighting for 'rules.pl' to PrologVincent Ambo2-17/+34
Adds a mechanism for per-filename overrides of the chosen language syntax and configures it for Gerrit's submit rule file. This also switches the syntax set used to the one from //third_party/bat_syntaxes, which contains custom additions such as Prolog support. Change-Id: I2023dbad5b326305ef2ef0ecf34ef66a3f7575ab Reviewed-on: https://cl.tvl.fyi/c/depot/+/349 Reviewed-by: riking <rikingcoding@gmail.com> Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-11 r/913 chore(tools/emacs): Update window management configuration for frogVincent Ambo1-15/+15
Change-Id: I848d4c1d58a81a66800f25459fee8f85d3f269f6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/64 Reviewed-by: tazjin <mail@tazj.in>
2020-06-11 r/894 feat(tools/emacs): Configurable depot path, defaulting to /depotVincent Ambo2-1/+8
2020-06-11 r/893 chore(tools/emacs): Remove unused #'notmuch-depot-apply-patchVincent Ambo1-22/+1
2020-06-11 r/889 fix(tools/emacs): Fix path to explain-pause-modeVincent Ambo1-1/+1
2020-06-03 r/879 feat(3p/emacs): Check in derivation for explain-pause-modeVincent Ambo1-0/+1
This mode makes it possible to track down slowness in Emacs functions across the board. https://github.com/lastquestion/explain-pause-mode Very useful for some things I need to debug ...