00:00
<
MichaelRaskin >
Let's start with simple stuff…
00:00
<
MichaelRaskin >
>(x : (x x)) (x: (x x))
00:00
<
{^_^} >
error: stack overflow (possible infinite recursion)
00:00
<
Dezgeg >
>builtins.unsafeGetAttrPos "abort" builtins
00:00
<
{^_^} >
(no output)
00:00
<
infinisil >
> builtins.nixVersion
00:01
<
MichaelRaskin >
>(x: y: (x y x)) (x: y: (x y x))
00:01
<
infinisil >
It's lazy though, so that might prevent it from working :)
00:01
<
MichaelRaskin >
>(x: y: (x y x)) (x: y: (x y x)) (x: y: (x y x))
00:01
<
{^_^} >
error: stack overflow (possible infinite recursion)
00:01
<
MichaelRaskin >
>pkgs.texlive
00:01
<
{^_^} >
{ "12many" = <CODE>; "2up" = <CODE>; Asana-Math = <CODE>; ESIEEcv = <CODE>; FAQ-en = <CODE>; GS1 = <CODE>; HA-prosper = <CODE>; IEEEconf = <CODE>; IEEEtran = <CODE>; MemoirChapStyles = <CODE>; SIstyle
00:02
<
Dezgeg >
>pkgs.path
00:02
<
{^_^} >
/nix/store/bfv9yv20q43q85ymzps9qlmhm8q19kcr-source
00:02
<
MichaelRaskin >
> (f: s: (f f (s + s + s))) (f: s: (f f (s + s + s))) " "
00:02
<
{^_^} >
error: stack overflow (possible infinite recursion)
00:03
<
ekleog >
> builtins.readFile /etc/machine-id
00:03
<
{^_^} >
access to path '/etc/machine-id' is forbidden in restricted mode
00:03
<
MichaelRaskin >
> "${/etc/passwd}"
00:03
<
{^_^} >
access to path '/etc/passwd' is forbidden in restricted mode
00:03
<
infinisil >
Heh, that would be pretty bad
00:04
<
MichaelRaskin >
I would only get the hash
00:04
<
infinisil >
Ah yeah
00:04
* ekleog
had tried to look for a not-too-bad-if-inadvertently-leaked file :°
00:04
<
MichaelRaskin >
Of a file without even the hashes of the passwords
00:04
<
ekleog >
> builtins.readDir /etc
00:04
<
{^_^} >
access to path '/etc' is forbidden in restricted mode
00:04
<
MichaelRaskin >
Hopefully the bot user has not access to shadow
00:04
<
infinisil >
Why is it named /etc/passwd honestly, if passwords are actually in /etc/shadow
00:05
<
MichaelRaskin >
> "<pkgs>"
00:05
<
MichaelRaskin >
Because it took more than one try to remove hashes from publically-readable file
00:05
<
MichaelRaskin >
> "${<nixpkgs>}"
00:05
<
{^_^} >
file 'nixpkgs' was not found in the Nix search path (add it using $NIX_PATH or -I), at [1m(string)[0m:7:12
00:05
<
MichaelRaskin >
> pkgs.source
00:05
<
{^_^} >
attribute 'source' missing, at [1m(string)[0m:7:9
00:05
<
MichaelRaskin >
> pkgs.pat
00:05
<
infinisil >
> nixpkgs
00:05
<
{^_^} >
attribute 'pat' missing, at [1m(string)[0m:7:9
00:05
<
{^_^} >
"/nix/store/bfv9yv20q43q85ymzps9qlmhm8q19kcr-source"
00:06
<
MichaelRaskin >
>/nix/store/bfv9yv20q43q85ymzps9qlmhm8q19kcr-source
00:06
<
{^_^} >
/nix/store/bfv9yv20q43q85ymzps9qlmhm8q19kcr-source
00:06
<
infinisil >
pkgs is defined as import nixpkgs {}, and nixpkgs as builtins.fetchTarball "github master.."
00:06
<
MichaelRaskin >
> "" + nix/store/bfv9yv20q43q85ymzps9qlmhm8q19kcr-source
00:06
<
{^_^} >
access to path '/nix/store/bfv9yv20q43q85ymzps9qlmhm8q19kcr-source' is forbidden in restricted mode
00:07
<
infinisil >
Seems pretty safe to me :)
00:07
<
MichaelRaskin >
> builtins.map (x: (tryEval (__getAttr x pkgs).outPath)) (builtins.attrNames pkgs)
00:07
<
{^_^} >
[31;1merror:[0m undefined variable 'tryEval' at [1m(string)[0m:7:27
00:08
<
ekleog >
> pkgs.libreoffice
00:08
<
{^_^} >
{ __ignoreNulls = true; all = <CODE>; args = <CODE>; bash = <CODE>; buildCommand = <CODE>; buildInputs = <CODE>; builder = <CODE>; configureFlags = <CODE>; dbus = <CODE>; depsBuildBuild = <CODE>; deps
00:08
<
ekleog >
> "${pkgs.libreoffice}"
00:08
<
{^_^} >
"/nix/store/4wfzfrwxiyw5w4s3mjl0ykp0rjmnlb0f-libreoffice-5.4.6.2"
00:09
<
infinisil >
>_show = x: if builtins.isAttrs x && x ? type && type == "derivation" then x.outPath else x
00:09
<
{^_^} >
[31;1merror:[0m undefined variable 'type' at [1m(string)[0m:2:50
00:09
<
infinisil >
>_show = x: if builtins.isAttrs x && x ? type && x.type == "derivation" then x.outPath else x
00:09
<
{^_^} >
_show defined
00:09
<
infinisil >
>pkgs.libreoffice
00:09
<
{^_^} >
"/nix/store/4wfzfrwxiyw5w4s3mjl0ykp0rjmnlb0f-libreoffice-5.4.6.2"
00:12
<
{^_^} >
attribute 'fetchgit' missing, at [1m(string)[0m:7:9
00:12
<
ekleog >
> builtins.filterSource (_: true) /etc
00:12
<
{^_^} >
access to path '/etc' is forbidden in restricted mode
00:12
<
MichaelRaskin >
> let f = s: s + s; g = f: x: if __isString x then f x else g (y: (f x y)); in g f f f f f f f f f f f f f f "123"
00:12
<
{^_^} >
cannot coerce a function to a string, at [1m(string)[0m:7:20
00:13
<
MichaelRaskin >
Oops
00:13
<
ekleog >
> import /etc/nixos/configuration.nix
00:13
<
{^_^} >
access to path '/etc/nixos/configuration.nix' is forbidden in restricted mode
00:14
<
ekleog >
> builtins.pathExists /etc/passwd
00:14
<
ekleog >
> builtins.pathExists /etc/machine-id
00:14
<
ekleog >
> builtins.pathExists /etc/machi
00:15
<
ekleog >
… you said it was OK to crash your bot, right?
00:15
<
MichaelRaskin >
let f = x: x + x; in f (f (f (f (f (f(f(f(f(f(f(f(f "123"))))))))))))
00:15
<
ekleog >
> builtins.genList (x: x) 4000000000
00:15
<
infinisil >
ekleog: Go for it
00:15
<
{^_^} >
[31;1merror:[0m out of memory
00:16
<
ekleog >
oh it didn't :D
00:16
<
MichaelRaskin >
> let f = x: x + x; in f (f (f (f (f (f(f(f(f(f(f(f(f "123"))))))))))))
00:16
<
{^_^} >
"1231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231231
00:17
<
MichaelRaskin >
>let f = x: x + x; in f (f (f (f (f (f(f(f(f(f(f(f(f (f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f("1234")))))))))))))))))))))))))))))
00:17
<
ekleog >
oh, I guess I just tried a too big one-at-a-time alloc
00:17
<
{^_^} >
[31;1merror:[0m out of memory
00:17
<
ekleog >
> builtins.genList (_: builtins.genList (_: builtins.genList (x: x) 65536) 65536) 65536
00:17
<
{^_^} >
[ <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <C
00:18
<
infinisil >
> let f = x: x + x; in f (f (f (f (f (f(f(f(f(f(f(f(f (f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f("1234")))))))))))))))))))))))))))))
00:18
<
{^_^} >
[31;1merror:[0m out of memory
00:18
<
ekleog >
> builtins.genList (_: builtins.genList (_: builtins.genList (_: builtins.genList (x: x) 65536) 65536) 65536) 65536
00:18
<
{^_^} >
[ <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <CODE> <C
00:18
<
ekleog >
oh yeah laziness bites me
00:18
<
infinisil >
It actually does take all of my server's RAM
00:19
<
samueldr >
would ulimit help?
00:19
<
MichaelRaskin >
You mean, with OOM of random processes?
00:19
<
ekleog >
I guess nix returns the OOM error when malloc fails?
00:19
<
ekleog >
and maybe the OOM killer waits a bit, and evaluation ends before the OOM starts killing stuff
00:20
<
ekleog >
so spamming OOM-ing commands may be… fun :°
00:20
<
samueldr >
though, it looks like, from a quick reading, that ulimit won't help with some classes of memory uses
00:23
<
infinisil >
> 1 + 2
00:23
<
infinisil >
> let f = x: x + x; in f (f (f (f (f (f(f(f(f(f(f(f(f (f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f("1234")))))))))))))))))))))))))))))
00:24
<
{^_^} >
(no output)
00:24
<
infinisil >
What I did was set serviceConfig.MemoryMax = "200M"
00:24
<
MichaelRaskin >
let f = x: x + x + x; g = f: x: f(f(f(f(x)))); in g g g g g g g f "123";
00:24
<
MichaelRaskin >
> let f = x: x + x + x; g = f: x: f(f(f(f(x)))); in g g g g g g g f "123";
00:24
<
{^_^} >
[31;1merror:[0m syntax error, unexpected ';', expecting ')', at [1m(string)[0m:7:80
00:24
<
infinisil >
I did somewhat limit it at first, but then swap got all taken eventually
00:25
<
MichaelRaskin >
>let f = x: x + x + x; g = f: x: f(f(f(f(x))))); in g g g g g g g f "123";
00:25
<
{^_^} >
[31;1merror:[0m syntax error, unexpected ')', expecting ';', at [1m(string)[0m:7:54
00:25
<
MichaelRaskin >
let f = x: x + x + x; g = f: x: f(f(f(f(x)))); in g g g g g g g f "123"
00:25
<
MichaelRaskin >
>let f = x: x + x + x; g = f: x: f(f(f(f(x)))); in g g g g g g g f "123";
00:25
<
{^_^} >
[31;1merror:[0m syntax error, unexpected ';', expecting ')', at [1m(string)[0m:7:80
00:25
<
MichaelRaskin >
>let f = x: x + x + x; g = f: x: f(f(f(f(x)))); in g g g g g g g f "123"
00:25
<
{^_^} >
error: stack overflow (possible infinite recursion)
00:26
<
infinisil >
But why did that operation take so long when I supposedly limited it to 3 secs :/
00:27
<
ekleog >
> let l = builtins.genList (_: l) 65536; deref = l: deref (builtins.elemAt l 0); in deref l
00:27
<
{^_^} >
error: stack overflow (possible infinite recursion)
00:27
<
infinisil >
> eatmyram = let f = x: x + x; in f (f (f (f (f (f(f(f(f(f(f(f(f (f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f("1234")))))))))))))))))))))))))))))
00:27
<
{^_^} >
eatmyram defined
00:27
<
ekleog >
> let l = builtins.genList (_: l) 6553600; deref = l: deref (builtins.elemAt l 0); in deref l
00:27
<
{^_^} >
error: stack overflow (possible infinite recursion)
00:27
<
infinisil >
>eatmyram
00:28
<
infinisil >
swap going up
00:28
<
infinisil >
swap going up/down
00:28
<
infinisil >
almost empty
00:28
<
{^_^} >
(no output)
00:28
<
infinisil >
Yeah it just uses swap :/
00:28
<
ekleog >
> let l = [l l]; deref = l: deref (builtins.elemAt l 0); in deref l
00:28
<
{^_^} >
error: stack overflow (possible infinite recursion)
00:29
* ekleog
wonders why strings work better than lists at eating all the ram
00:29
<
ekleog >
> let f = x: x ++ x; in f (f (f (f (f (f(f(f(f(f(f(f(f (f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f([1 2 3 4])))))))))))))))))))))))))))))
00:29
<
MichaelRaskin >
Because lists are allocated one cons cell at a time, and strings are C++ strings with some optimistic assumptions?
00:30
<
ekleog >
oh it looks like it's just that I'm trying to be clever (whom I'm not), and it miserably fails
00:30
<
{^_^} >
(no output)
00:30
<
ekleog >
s/it miserably fails/I miserably fail at it/
00:31
<
ekleog >
infinisil: oh, I guess for your 3s limit it doesn't take into account kernel time?
00:31
<
infinisil >
Haha oh no
00:31
<
ekleog >
all the time is in malloc, so… :)
00:32
<
MichaelRaskin >
malloc is mostly userspace fragment placing algorithm
00:33
<
MichaelRaskin >
> "${./.}"
00:33
<
{^_^} >
access to path '/' is forbidden in restricted mode
00:33
<
MichaelRaskin >
> pkgs.lib.mapAttrs (x: x.pkgs) pkgs.texlive
00:33
<
{^_^} >
{ "12many" = <CODE>; "2up" = <CODE>; Asana-Math = <CODE>; ESIEEcv = <CODE>; FAQ-en = <CODE>; GS1 = <CODE>; HA-prosper = <CODE>; IEEEconf = <CODE>; IEEEtran = <CODE>; MemoirChapStyles = <CODE>; SIstyle
00:33
<
infinisil >
I guess I'll just make it timeout hard after 3 seconds
00:34
<
ekleog >
MichaelRaskin: when swapping I'm not sure userspace allocation matters :)
00:34
<
MichaelRaskin >
Ah right, swap
00:34
<
MichaelRaskin >
> pkgs.tptp
00:35
<
MichaelRaskin >
> 1
00:35
* ekleog
just disabled the swap after one too many crash of x11
00:35
<
MichaelRaskin >
> pkgs.hello
00:35
<
{^_^} >
"/nix/store/6mab2znnw7j96k3vsdw9vyckady29r46-hello-2.10"
00:35
<
infinisil >
> pkgs.tptp
00:35
<
MichaelRaskin >
> pkgs.tptp
00:35
<
MichaelRaskin >
It's actually not completely free and marked unfree in Nixpkgs
00:36
<
infinisil >
How it currently works: takeLastLineOf (if exitCode == 0 then stdout else stderr)
00:37
<
MichaelRaskin >
Technically, redistribution is only allowed verbatim (in whole or in parts), so patching the script interpreter paths makes the output undistributable
00:37
<
infinisil >
But it should output "(no output)" when there's no output :/
00:38
<
infinisil >
> pkgs = import nixpkgs { config.allowUnfree = true; }
00:38
<
{^_^} >
pkgs defined
00:38
<
infinisil >
> pkgs.tptp
00:38
<
{^_^} >
"/nix/store/8xp1whqrbj3fsgdwhbmrk8qrkdkc6njk-TPTP-7.1.0"
00:39
<
infinisil >
Oh great
00:39
<
MichaelRaskin >
Wait a minute
00:39
<
MichaelRaskin >
> pkgs = {}
00:39
<
{^_^} >
pkgs defined
00:39
<
MichaelRaskin >
> pkgs.hello
00:39
<
{^_^} >
attribute 'hello' missing, at [1m(string)[0m:8:9
00:40
<
MichaelRaskin >
It is the same bot across channels, right?
00:40
<
infinisil >
#bottest currently runs my dev version
00:40
<
MichaelRaskin >
> nixpkgs
00:40
<
{^_^} >
"/nix/store/bfv9yv20q43q85ymzps9qlmhm8q19kcr-source"
00:40
<
infinisil >
the state of channels is separate
00:40
<
MichaelRaskin >
nixpkgs = "/etc/passwd"
00:41
<
MichaelRaskin >
> import nixpkgs
00:41
<
MichaelRaskin >
> nixpkgs
00:41
<
{^_^} >
"/nix/store/bfv9yv20q43q85ymzps9qlmhm8q19kcr-source"
00:41
<
MichaelRaskin >
> nixpkgs = "/etc/passwd"
00:41
<
{^_^} >
nixpkgs defined
00:41
<
MichaelRaskin >
> import nixpkgs
00:41
<
{^_^} >
access to path '/etc/passwd' is forbidden in restricted mode
00:47
<
infinisil >
>:l pkgs
00:47
<
{^_^} >
imported scope
00:56
<
MichaelRaskin >
> pkgs
03:28
<
infinisil >
> import nixpkgs {}
03:28
<
{^_^} >
access to path '/etc/passwd' is forbidden in restricted mode
03:29
<
infinisil >
> import
03:29
<
{^_^} >
<PRIMOP-APP>
03:29
<
infinisil >
> <nixpkgs>
03:30
<
{^_^} >
file 'nixpkgs' was not found in the Nix search path (add it using $NIX_PATH or -I), at [1m(string)[0m:9:9
03:32
<
infinisil >
It's currently cloning nixpkgs
03:43
<
infinisil >
(still going..)
03:49
<
infinisil >
Why is this taking so long, gosh
04:02
<
infinisil >
>pkgs=import <nixpkgs> {}
04:02
<
{^_^} >
pkgs defined
04:02
<
{^_^} >
getting status of '/var/lib/nixbot/state/nixpkgs/default.nix': No such file or directory
04:04
<
{^_^} >
Updated nixpkgs
04:06
<
infinisil >
Whew finally, only took 34 minutes..
04:07
<
infinisil >
>import <nixpkgs> {}
04:07
<
{^_^} >
{ AAAAAASomeThingsFailToEvaluate = <CODE>; AMB-plugins = <CODE>; AgdaSheaves = <CODE>; AgdaStdlib = <CODE>; CoinMP = <CODE>; DisnixWebService = <CODE>; EBTKS = <CODE>; EmptyEpsilon = <CODE>; Fabric =
04:07
<
infinisil >
> pkgs = import <nixpkgs> {}
04:07
<
{^_^} >
pkgs defined
04:10
<
infinisil >
>builtins.readFile <nixpkgs/.git/HEAD>
04:10
<
{^_^} >
"ref: refs/heads/master\n"
04:10
<
infinisil >
>builtins.readFile <nixpkgs/.git/refs/heads/master>
04:10
<
{^_^} >
"2b499afa63f01473a19c7166c1f3750fa45a1bab\n"
04:11
<
infinisil >
> rev = builtins.readFile <nixpkgs/.git/refs/heads/master>
04:11
<
{^_^} >
rev defined
04:14
orivej has quit [Ping timeout: 260 seconds]
08:09
MichaelRaskin has quit [Quit: MichaelRaskin]
09:05
<
{^_^} >
division by zero, at [1m(string)[0m:10:9
09:37
<
ekleog >
> /foo/bar
11:21
<
infinisil >
Ohhh, the reason it took so long is because i have CPU usage limited to 10% :)
11:27
<
infinisil >
Seems to have stopped at 12:00
11:28
<
infinisil >
I'll look into fixing that today
11:45
<
sphalerite >
>let f = x: f (x+1) in f 0
11:45
<
{^_^} >
[31;1merror:[0m syntax error, unexpected IN, expecting ';', at [1m(string)[0m:10:28
11:46
<
sphalerite >
>let f = x: f (x+1); in f 0
11:46
<
{^_^} >
error: stack overflow (possible infinite recursion)
11:48
<
sphalerite >
>builtins.readFile /etc/passwd
11:48
<
{^_^} >
access to path '/etc/passwd' is forbidden in restricted mode
11:48
<
sphalerite >
aww :p
12:09
orivej has joined #nixos-borg
13:06
Willi_Butz_ has joined #nixos-borg
13:09
infinisil_ has joined #nixos-borg
13:11
Willi_Butz has quit [*.net *.split]
13:11
infinisil has quit [*.net *.split]
14:00
<
infinisil_ >
It is very likely that this is what's causing my program to exit occasionally
14:00
<
infinisil_ >
Seems to be an issue not on my side though, but I'll code it so it can handle it
14:02
infinisil_ has quit [Quit: Configuring ZNC, sorry for the join/quits!]
14:02
infinisil has joined #nixos-borg
14:40
<
NinjaTrappeur >
Hey, I'm diving in Borg, I am a bit confused about the github -> MQ PHP bit. How is this deployed? Is there a specific reason for having this outside of the ofborg/ Rust codebase?
15:43
<
{^_^} >
All bindings: _show eatmyram lib nixpkgs pkgs rev
15:43
<
infinisil >
>eatmyram
15:44
<
ekleog >
s/you want //
15:48
<
{^_^} >
(no output)
15:51
<
{^_^} >
:l needs an argument
15:51
<
ekleog >
>:l /etc/machine-id
15:51
<
{^_^} >
imported scope
15:51
<
ekleog >
>:l /etc/nixos/configuration.nix
15:51
<
{^_^} >
imported scope
15:51
<
{^_^} >
All bindings: _show eatmyram lib nixpkgs pkgs rev
15:52
<
ekleog >
infinisil: ^ I think you want to disable the :l one at least :)
15:53
<
infinisil >
ekleog: Why?
15:53
<
{^_^} >
value is a path while a set was expected
15:53
<
{^_^} >
value is a path while a set was expected
15:53
<
{^_^} >
Scopes got reset
15:53
<
{^_^} >
[31;1merror:[0m undefined variable 'hello' at [1m(string)[0m:9:9
15:53
<
ekleog >
> :p (builtins.readFile /etc/machine-id)
15:53
<
{^_^} >
Unknown command: p
15:54
<
ekleog >
>:p (builtins.readFile /etc/machine-id)
15:54
<
{^_^} >
Unknown command: p
15:54
<
infinisil >
>:l pkgs
15:54
<
{^_^} >
imported scope
15:54
<
{^_^} >
"/nix/store/6mab2znnw7j96k3vsdw9vyckady29r46-hello-2.10"
15:54
<
infinisil >
It's not an actual nix-repl
15:54
<
ekleog >
oh I mistook :l for an import-like
15:54
* ekleog
had read :l <path> and thought that was a file path
15:55
<
{^_^} >
Unknown command: q
15:55
<
infinisil >
Ah yeah. No worries, there's no way to read files with my bot :) (except nixpkgs)
15:56
<
{^_^} >
Unknown command: t
15:56
<
ekleog >
oh it's running hnix?
15:57
<
infinisil >
nix-instantiate, I'm 99.9% certain that hnix couldn't evaluate nixpkgs, which makes it pretty useless. Nix not having a spec is to blame here
16:00
<
ekleog >
yeah, likely the best working option, I just hoped the bot would push development of hnix by failing sometimes :°
16:02
<
infinisil >
Eh, I doubt hnix will ever get there without a spec, and nix keeps changing as well.
16:02
<
infinisil >
It would be nice to use hnix though, maybe if I get a bit better at Haskell I'll have a go at improving it :)
16:07
<
LnL >
infinisil: hnix passes all of the nix evaluation tests now AFAIK
16:09
<
NinjaTrappeur >
ekleog, Thanks, sadly, I still don't get how this snippet loads php/web/index.php :( What am I missing?
16:10
<
ekleog >
LnL: Is that so? not long ago it had the priority of {}.a or b wrong, so maybe that's a nix evaluation to add? :°
16:10
<
infinisil >
LnL: Oh interesting, apparently jwiegly has been working like crazy on its implementation
16:11
<
infinisil >
jwiegley*
16:11
<
infinisil >
I might just give hnix a try then
16:12
<
LnL >
yeah, he's made a lot of changes recently
16:15
<
ekleog >
NinjaTrappeur: I'd guess either you mock this PHP script by injecting directly events into AMQP (that'd allow for testing the whole rust codebase) or you poke gr*hamc to know how it's supposed to be deployed :)
16:21
<
LnL >
that sounds kind of heavy to me
16:22
<
LnL >
most of the functionality can be tested at the amqp boundary instead if it's generalized a bit
16:24
<
NinjaTrappeur >
Alright, thanks
18:12
orivej has quit [Ping timeout: 264 seconds]
18:34
MichaelRaskin has joined #nixos-borg
18:44
jtojnar has quit [Quit: jtojnar]
18:49
jtojnar has joined #nixos-borg
18:50
jtojnar has quit [Remote host closed the connection]
18:53
jtojnar has joined #nixos-borg
19:05
orivej has joined #nixos-borg
19:48
jtojnar has quit [Remote host closed the connection]
19:48
jtojnar has joined #nixos-borg
19:57
jtojnar has quit [Remote host closed the connection]
19:57
jtojnar has joined #nixos-borg
20:26
jtojnar has quit [Quit: jtojnar]
20:29
jtojnar has joined #nixos-borg
20:29
orivej has quit [Remote host closed the connection]
20:34
orivej has joined #nixos-borg
20:45
tilpner_ has joined #nixos-borg
20:49
sphalerite_ has joined #nixos-borg
20:53
tilpner has quit [*.net *.split]
20:53
sphalerite has quit [*.net *.split]
20:53
tilpner_ is now known as tilpner
22:55
<
MichaelRaskin >
MiсhaelRaskin ++
22:55
<
{^_^} >
MiсhaelRaskin's karma got increased to 1
22:55
<
MichaelRaskin >
infinisil: cheating protection, cheating protection…
22:55
<
jtojnar >
cool, GitHub now allows check to end with "neutral" status
22:55
<
infinisil >
MichaelRaskin: Heh, nice
22:56
<
infinisil >
There's always a way around it, especially with IRC where you can just change nicks :)
22:56
<
MichaelRaskin >
jtonjar: I think it has been there for some times, how the checks get summarized, though?
22:56
<
MichaelRaskin >
infinisil: also, multiple connections…
23:01
<
MichaelRaskin >
infinisil: but technically I didn't change the nick for my connection
23:02
<
infinisil >
What do you mean by multiple connections?
23:02
<
MichaelRaskin >
I could launch multiple ii instances…
23:03
<
infinisil >
And what can this be useful for?
23:37
<
MichaelRaskin >
> ++
23:37
<
{^_^} >
>'s karma got increased to 1
23:37
<
{^_^} >
[31;1merror:[0m syntax error, unexpected CONCAT, at [1m(string)[0m:10:9
23:38
<
MichaelRaskin >
,++
23:38
<
{^_^} >
,'s karma got increased to 1
23:38
<
MichaelRaskin >
, ++
23:38
<
{^_^} >
,'s karma got increased to 2
23:38
<
MichaelRaskin >
,, ++
23:38
<
{^_^} >
,,'s karma got increased to 1
23:39
<
MichaelRaskin >
Well, if the instances are in places with different downtime patterns, it might be useful