about summary refs log tree commit diff
path: root/users (follow)
AgeCommit message (Collapse)AuthorFilesLines
2021-05-03 r/2558 feat(users/Profpatsch/blog): add rust-string-conversions noteProfpatsch2-4/+58
Change-Id: I7bee585935e65660f6b25b88ed33f09775eb01a0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3088 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-30 r/2555 feat(users/Profpatsch/blog): implement blog engine lolProfpatsch2-0/+353
My horrible blog engine v0.0.0.0.1. Don’t judge. Change-Id: I427b4e84d67aa49793cb7625e4d8ca2824f00943 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2456 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-30 r/2554 fix(users/Profpatsch/netencode): use write_all in encoderProfpatsch1-4/+4
`write` returns the written usize; now I wonder why rustc didn’t at least produce a warning because the result was unused. Do we need to add any flags to `rustSimple`? Change-Id: If8d51d95c993dec6c92e46dbc82cd8cdd398f441 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3056 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-28 r/2552 feat(grfn/yeren): Install tdesktopGriffin Smith1-0/+1
Change-Id: I951224d0cfd6d8c1d0eda752134bf9b9375c7cdb Reviewed-on: https://cl.tvl.fyi/c/depot/+/3053 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-28 r/2551 feat(grfn/yeren): Install+configure ntfyGriffin Smith1-0/+3
automatic notifications when long-running commands are done! that's cool. Change-Id: Ic9451c0c349661c3df8ba1058748a59159bc4b3f Reviewed-on: https://cl.tvl.fyi/c/depot/+/3044 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-27 r/2549 fix(tazjin/blog): Fix minor typos in WatchGuard postVincent Ambo1-13/+13
Change-Id: Iaeb9fab5a80597469e5efdf24655ae07dca48fe1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3058 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-04-24 r/2547 chore(nix): move rustSimple from users.Profpatsch.writersProfpatsch12-158/+19
I think it’s solid enough to use in a wider context. Change-Id: If53e8bbb6b90fa88d73fb42730db470e822ea182 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3055 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-04-24 r/2546 feat(nix): add basic netstring nix generation functionsProfpatsch2-18/+5
Moving to toplevel so I can use them with `runExecline`. They should be pretty atomic, and are proven to work (tests are still in my user dir, since they test the producers indirectly via the python parser and I don’t want to pull it out right now). Change-Id: Id0baa3adcb2ec646458a104c7868c2889b8c64f5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3054 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2021-04-23 r/2545 feat(users/Profpatsch/lib): add eprint-stdin-netencodeProfpatsch2-3/+17
Like `eprint-stdin`, but reads stdin as netencode and pretty-prints it to stderr. Change-Id: I430c010b0cac45f077cde9dadfd79adfa7a53eca Reviewed-on: https://cl.tvl.fyi/c/depot/+/2533 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2544 feat(users/Profpatsch/netencode): add pretty printerProfpatsch2-0/+172
Simple pretty printer for netencode values, as a rust library and an accompanying command line tool which takes netencode on stdin and prints the pretty version to stdout. Change-Id: I0a57c644985162bc08a9bf1ee78f7be278400199 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2532 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2543 feat(users/Profpatsch/netencode): add env-splice-recordProfpatsch2-8/+37
It’s the inverse of record-splice-env! It sucks up the environment and prints it as a netencode dict! Only the utf-8 clean parts at least. Change-Id: I96c19fc5ea3a67a23e238f15f4d0fa783081859c Reviewed-on: https://cl.tvl.fyi/c/depot/+/2527 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2542 feat(users/Profpatsch/struct-edit): per-level positionProfpatsch1-46/+59
The user expects the editor to remember the positions of fields they navigated from to a new level, so when they return they get put in the same spot. We push the index from one field into every level of the value. Unfortunately this introduces pointers and all the woes they bring. Change-Id: I889c28b71fd7082b765e1d6874faeb1b36dade60 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2866 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2541 chore(users/Profpatsch/struct-edit): factor out non-val enumerationProfpatsch1-5/+17
This will be needed to factor the current cursor position into vals. Change-Id: I73635b13c29b6b8925c68005c8db1c4dda93f15d Reviewed-on: https://cl.tvl.fyi/c/depot/+/2865 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2540 fix(users/Profpatsch/struct-edit): change arrow keysProfpatsch1-4/+4
Since items are aligned per-line, it makes more intuitive sense to use up/down for previous/next item, and left to go up and right to go down. Change-Id: I6bc33bd4e6e8f9fb245d252ca063dfabf972147d Reviewed-on: https://cl.tvl.fyi/c/depot/+/2864 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2539 feat(users/Profpatsch/struct-edit): add support for mapsProfpatsch1-22/+71
This makes it possible to pipe json dicts to the program and fully navigate them. Change-Id: I18dd8683d6f00c8ea967eb0c8dc89d1e0735fbcb Reviewed-on: https://cl.tvl.fyi/c/depot/+/2863 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-23 r/2538 feat(users/Profpatsch/struct-edit): initial versionProfpatsch2-0/+370
A take at a TUI-based structural editor, which should eventually read a type definition of a structure and some values, and build a GUI to edit it. So far you can only pipe it some restricted json (lists, strings and floats) and “navigate” through the structure with the arrow keys. Change-Id: I7c8546459ff86c766fc03723f732c7d9f863ceaa Reviewed-on: https://cl.tvl.fyi/c/depot/+/2862 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2021-04-20 r/2533 chore(3p/emacs): Remove obsolete third-party packagesVincent Ambo1-3/+3
We don't need these in the depot anymore as the Emacs overlay now provides newer versions of them, or because they are not used anymore. Change-Id: I393e1580b66450d0bb128213bc79668172dadacc Reviewed-on: https://cl.tvl.fyi/c/depot/+/3005 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-04-20 r/2531 refactor(grfn/emacs): Use TVL Emacs packages from fixpointVincent Ambo1-3/+1
Change-Id: I01d8993cc900ba34eb780524e040762c884c9815 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3009 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-04-20 r/2528 refactor(grfn): Stop importing nixpkgs a bunch of timesVincent Ambo9-35/+12
Once is enough! <grfn> https://tazj.in/blobs/touch-garbage.jpg Change-Id: I68f66669e82d35a71752638450fa4b820e137172 Signed-Off-By: Florian Klink <flokli@flokli.de> Reviewed-on: https://cl.tvl.fyi/c/depot/+/3048 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-04-20 r/2527 refactor(ops/nixos): Ensure that pkgs == depot.third_party.nixpkgsVincent Ambo3-42/+15
This is currently done ad-hoc in a bunch of our systems, but we should just do it centrally. The commit message is a bit of a lie, as this doesn't yet update grfn's systems. Change-Id: Ic771c1a1da78ec5de9cffbf94c296dce5e11fd84 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3047 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-18 r/2525 feat(grfn/home): Bind brightness keys with brightnessctlGriffin Smith1-0/+4
thanks, flokli! Change-Id: I3256bc66984939dde1bb397c3c5007a8296670ab Reviewed-on: https://cl.tvl.fyi/c/depot/+/3030 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-17 r/2523 feat(tverskoy): enable eink toolingFlorian Klink1-1/+8
Provide ddcutil and paperlike-go in $PATH. Provide the necessary udev and kernel module plumbing so they work as non-root. Icecream-Required-From: Vincent Ambo <mail@tazj.in> Change-Id: Ic9323a45cdbb75571e8f8b3aca4b9a763c271968 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3029 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-17 r/2522 feat(grfn/achilles): Implement tuples, and tuple patternsGriffin Smith12-54/+413
Implement tuple expressions, types, and patterns, all the way through the parser down to the typechecker. In LLVM, these are implemented as anonymous structs, using an `extract` instruction when they're pattern matched on to get out the individual fields. Currently the only limitation here is patterns aren't supported in function argument position, but you can still do something like fn xy = let (x, y) = xy in x + y Change-Id: I357f17e9d4052e741eda8605b6662822f331efde Reviewed-on: https://cl.tvl.fyi/c/depot/+/3027 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-17 r/2521 feat(grfn/yeren): Set timezone to Africa/CairoGriffin Smith2-1/+3
\o/ Change-Id: Ia456e044c48eee095408efc9f6b802b4337ea09f Reviewed-on: https://cl.tvl.fyi/c/depot/+/3026 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-17 r/2520 chore(grfn/achilles): Load shell.nix from depotGriffin Smith1-4/+2
Rather than pinning a nixpkgs in here, just import the relative path to the depot to load nixpkgs. Change-Id: I452727d45e4f44ecc99b86d17e88a413c1911c59 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3025 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-16 r/2518 feat(grfn/emacs): Configure notmuch popup window rulesGriffin Smith1-0/+8
I want notmuch to open in a full window, not as a bottom-of-the-screen popup. Change-Id: If539ff315fabae94d5a849c526c4322f9bdf8c61 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3024 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-16 r/2517 feat(grfn/home): Save GDB history across invocationsGriffin Smith1-0/+8
Change-Id: Icb02d64b036c07f3ab5f41f3b2c714ec164c2b05 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3023 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-16 r/2516 feat(grfn/yeren): Install rrGriffin Smith2-0/+14
This... mostly works! I had to install it from the latest master branch to get it functioning on my CPU, hopefully once they release a new version I can remove the override. Change-Id: I863d2e822b149838c58aa1c1e7dc73a127a0aeb8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3022 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-16 r/2515 feat(grfn/home): Install evcxrGriffin Smith1-0/+1
It's a REPL! for Rust! Change-Id: I920f976790bd974bb3a41e56b94b9e11bbb8e59b Reviewed-on: https://cl.tvl.fyi/c/depot/+/3021 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-16 r/2514 feat(tazjin/tverskoy): Enable TLP daemonVincent Ambo1-0/+1
Change-Id: Ie6d7a6fe07ffccf8dc18257eed54bb990e22e064 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3019 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-16 r/2513 chore(tazjin/tverskoy): Persist Firefox configurationVincent Ambo1-1/+2
Change-Id: If5ab38459106efdb978a21365a0f26ae82702679 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3018 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-14 r/2510 refactor(tazjin/dns): Add zone validity checks in CIVincent Ambo4-2/+17
Same as //ops/dns Change-Id: I0399efd2e48956ec91833386adff27d94d08ef1e Reviewed-on: https://cl.tvl.fyi/c/depot/+/3013 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-14 r/2509 chore(tazjin/cloud-dns): Remove oslo.pub zoneVincent Ambo1-8/+0
I don't have/use this domain anymore. Change-Id: I94181076d8f055ff4baaaa5fbc72eb9e86a25df2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3012 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-14 r/2508 feat(tazjin/emacs): Use native compilation by defaultVincent Ambo1-1/+1
Change-Id: I3804cabe9be95121beb5c3f31d4d2d7f84460b7b Reviewed-on: https://cl.tvl.fyi/c/depot/+/3011 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-14 r/2507 refactor(tazjin/emacs): Install google-c-style by defaultVincent Ambo3-18/+7
It is easier to do the inverse of this solution: Filter out the package on the machines that get it from elsewhere. Change-Id: I2abe112e4e38822d0fc7a47ea0bcedec1e0a96e3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3010 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-13 r/2506 feat(tazjin/emacs): Make my Emacs binary overridableVincent Ambo1-1/+3
... but keep defaulting to standard Emacs27, for $reasons Change-Id: Ife243ab18a03e6b0270a39c639cc493d71240362 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3007 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-04-13 r/2505 refactor(tazjin/emacs): Use Emacs packages exclusively from fixpointVincent Ambo1-9/+10
In preparation for native comp ... Change-Id: I4386ec195673aa664a353236b85d13c3258629e5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3006 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-13 r/2501 refactor(users/grfn): build all haskell packages without ifdsterni4-25/+126
Since we need to override random to 1.2.0 globally for xanthous (otherwise propagation causes two versions of random to be propagated for xanthous) evaluating haskell related stuff using import from derivation can be very expensive since utilities like hpack and cabal2nix need to be built for that. This means that for every channel bump we potentially need to do a world rebuild of haskellPackages first. To solve this we check in the cabal2nix-generated nix expressions for owothia and xanthous. Change-Id: I8fff70b4b6c303d1920f8bcac53520a09999b206 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2921 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in>
2021-04-12 r/2497 refactor: Replace 'depotPath' with 'depot.path'Vincent Ambo2-3/+3
Instead of having two ways of accessing the path to the depot (one of which was stuttering, depot.depotPath) we settle on only one: depot.path. This was mostly used for NixOS module imports. Co-Authored-By: Florian Klink <flokli@flokli.de> Change-Id: I2c0db23383fc34f6ca76baaad4cc4af2d9dfae15 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2962 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-12 r/2495 feat(sterni/nix/fun): add hasEllipsissterni2-0/+43
As a complementation to builtins.functionArgs this function checks if the function has a set pattern that contains an ellipsis (i. e. `{ [arg, [ arg1, [ … ]]] ... }:`). The implementation of this is pretty cursed however since there is no clean way to do this in vanilla nix: We need to match on the output of builtins.toXML which does try to serialize functions by outputting their argument and information about it (whether it is a normal argument or a attribute set pattern, in the latter case it also serialize every component of the pattern). Change-Id: I0f33721811a3180cec205a0c98e6d92e10e92075 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2950 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-12 r/2491 refactor(gws.fyi): Remove cloudfront invalidation stepGriffin Smith1-3/+0
I'm not using cloudfront for gws.fyi anymore, so this invalidation step on deploy is pointless Change-Id: I153848666dc70acfc456b5dcf276bab2410c4716 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2946 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-12 r/2490 feat(gs/home): Install amberGriffin Smith1-0/+1
Change-Id: I26a397dd0d9f288fe43db8178e2f22089771ebc0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2945 Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-04-12 r/2489 chore(grfn): Fix remaining references to glittersharkVincent Ambo2-4/+4
Change-Id: I60a60635dfef5c73f758fa6808992aeea3137301 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2944 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-12 r/2488 fix(grfn/home): Correct delta config for syntax-themeGriffin Smith1-1/+1
this got renamed apparently Change-Id: Ic616469eafc4b56eaaccc3df24988b0af73d90e2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2943 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-12 r/2487 feat(grfn/home): Script to rebuild home-managerGriffin Smith1-0/+6
Looks kinda like rebuild-mugwump, only for home yes, yes, this could gc halfway through, that's so unlikely that I don't care Change-Id: Iab3fdac15796e9f8158a9778b897bc3fe88e536e Reviewed-on: https://cl.tvl.fyi/c/depot/+/2942 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-12 r/2486 feat(grfn/home): Install cargo-flamegraphGriffin Smith1-0/+1
Change-Id: I5102abfe8c0d486e22d8dc1c744bf542753cc870 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2941 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-04-12 r/2485 refactor(users/glittershark): Rename to grfnGriffin Smith350-42/+38
Rename my //users directory and all places that refer to glittershark to grfn, including nix references and documentation. This may require some extra attention inside of gerrit's database after it lands to allow me to actually push things. Change-Id: I4728b7ec2c60024392c1c1fa6e0d4a59b3e266fa Reviewed-on: https://cl.tvl.fyi/c/depot/+/2933 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: glittershark <grfn@gws.fyi>
2021-04-11 r/2482 refactor(ops): Split //ops/nixos into different locationsVincent Ambo4-14/+11
Splits //ops/nixos into: * //ops/nixos.nix - utility functions for building systems * //ops/machines - shared machine definitions (read by readTree) * //ops/modules - shared NixOS modules (skipped by readTree) This simplifies working with the configuration fixpoint in whitby, and is overall a bit more in line with how NixOS systems in user folders currently work. Change-Id: I1322ec5cc76c0207c099c05d44828a3df0b3ffc1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2931 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: glittershark <grfn@gws.fyi>
2021-04-11 r/2481 chore(3p): Bump channels to 2021-04-09Vincent Ambo6-360/+13
Fixes included: * exposed gtest in the package set, required for protobuf * pinned SBCL to version 2.0.8: The channel moved it to >2.1, and a bunch of warnings seemed to be killing our builds - we should investigate this later. * removed kernel patches from //users/tazjin/frog: this machine is currently out of service anyways, not worth fixing while it's offline * removed steam & lutris from frog (they're currently broken) * removed Haskell overrides for hedgehog-classes & hgeometry-combinatorial * use gRPC sources from upstream and inject Abseil via Nix instead * fix for renamed grpc import in //third_party/nix * use libfprint-tod from upstream nixpkgs in glittershark/yeren and delete glittershark/pkgs/fprintd entirely, since all of the patches used there are available and working from upstream now (and stopped working here after the bump) Change-Id: Ia90e6f774f7b88bc9e60d28351b900ca43ee2695 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2901 Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: lukegb <lukegb@tvl.fyi> Tested-by: BuildkiteCI
2021-04-11 r/2479 fix(3p/haskellPackages): re-add random 1.2.0 to fix xanthoussterni1-3/+1
The random_1_2_0 attribute of haskellPackages currently holds random 1.2.0 which is what we want to have. We need to disable tests because they cause an infinite recursion as basically all testing libraries depend on random. This has the nice side effect that we no longer need import from derivation for random 1.2.0 (but owothia and xanthous still use it). Re-enable CI for xanthous. Additinonally we need to deal with the fallout of the haskellPackages overlay now also being pulled in for some machines since cl/2910 and let pandoc compile with random 1.2.0. Change-Id: I78d220e5bd35f3469d80d69e77e712a529f21d33 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2924 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: glittershark <grfn@gws.fyi>