←2017-08-22 2017-08-23 2017-08-24→ ↑2017 ↑all
00:00:29 <moony> `ls /
00:00:30 <HackEgo> bin \ dev \ etc \ hackenv \ home \ lib \ lib64 \ opt \ proc \ sbin \ sys \ tmp \ usr
00:02:48 <moony> `ls /home
00:02:49 <HackEgo> hackbot
00:03:06 <moony> `ls /opt
00:03:07 <HackEgo> No output.
00:12:43 <oerjan> `! bf_txtgen test
00:12:51 <HackEgo> 54 +++++++++++++[>+++++++++>++++++++>><<<<-]>-.>---.<-.+. [237]
00:14:05 <oerjan> @tell mroman <mroman_> !bftxt_gen <-- EgoBot is dead, use `! bf_txtgen for HackEgo's version
00:14:05 <lambdabot> Consider it noted.
00:14:19 <oerjan> ^bf +++++++++++++[>+++++++++>++++++++>><<<<-]>-.>---.<-.+.
00:14:19 <fungot> test
00:15:59 <kurolox> fizzie don't worry
00:16:16 <kurolox> I've spent the last hour and a half disassembling my old laptop so I can make a server with it
00:16:20 <kurolox> I'll try in a fresh install there
00:16:23 <kurolox> maybe I'm lucky
00:17:02 <fizzie> moony: Don't hold your breath.
00:46:50 -!- augur has joined.
00:47:14 -!- augur has quit (Remote host closed the connection).
00:48:57 -!- augur has joined.
01:16:47 -!- doesthiswork has joined.
01:18:59 -!- Antoxyde_ has quit (Quit: Leaving).
01:26:06 <oerjan> <int-e> uh, no, it's 2.7K <-- . o O ( int-e reveals his age )
01:27:51 -!- kurolox has quit (Ping timeout: 240 seconds).
01:28:50 <oerjan> <moony> Well, some of the... Damn i cant even give a prononciation of the species name, are having a all-out war. <-- obviously, since they don't speak with sound hth
01:29:08 <moony> oerjan, duh, right.
01:29:25 <moony> linbut shall prevail. <linbut> moony: Linux umlbox 4.12.8-umlbox #1 Tue Aug 22 14:03:49 EDT 2017 x86_64 GNU/Linux
01:29:49 <oerjan> just use this handy ultraviolet lamp and paper figures
01:30:33 <oerjan> is this going to be the but of many jokes?
01:33:09 <oerjan> <\oren\> also boost jam can eat a bag of dicks <-- that's a pretty disturbing skill to have.
01:38:59 <doesthiswork> have you ever had cow cod soup? It's an easy skill to have
01:40:34 <oerjan> i ... hope not.
01:41:43 <oerjan> . o O ( also cows don't have dicks hth )
01:42:08 <doesthiswork> cow is a hyponym of cow
01:43:29 <doesthiswork> I you prefer to drink a jar of dicks you can have deer dick wine
01:43:54 <doesthiswork> (banned from the 2009 olympics)
01:44:02 <doesthiswork> 2008
01:44:31 <doesthiswork> my brother swapped some keys on my keyboard which causes trouble when I look at it
01:54:31 -!- sebbu2 has joined.
01:57:28 -!- sebbu has quit (Ping timeout: 240 seconds).
01:59:09 <oerjan> ech`olist
02:07:59 -!- imode has joined.
02:08:21 <zzo38> Then you should put the keys back into the proper places
02:43:20 <quintopia> what a brilliant idea
02:43:30 <quintopia> too bad it requires effort and gumption
02:46:26 -!- Warrigal_ has changed nick to tswett.
02:50:13 <oerjan> . o O ( and i'm all out of gumption )
02:50:37 <quintopia> yeah i don't know how one would kick ass and have gumption anyway
03:01:26 -!- ATMunn has quit (Quit: See ya! o/).
03:30:27 <zzo38> I had idea make up the mahjong with pokemon; before play game you will decide how many generations. There is also wild card, which is by elements, and can only substitute for any card of that element, but no more than one per set (including pair), and cannot make ambiguous chii calling with wild cards. Two kind of sequences are possible, which is numeric sequences and evolution sequences, and some sequences can be both.
03:34:11 -!- jaboja has quit (Remote host closed the connection).
03:43:28 -!- hppavilion[1] has joined.
03:45:48 <zzo38> (If only one generation, then all evolution sequences are also numeric sequences (since a sequence is always three cards), but with more than one generation you can have evolution sequences that aren't numeric sequences.) Also your pair (and only pair) can substitute Ditto for any other card, but only if neither are wild cards.
03:45:51 <zzo38> Do you like this?
03:51:38 -!- wob_jonas has joined.
03:52:01 <wob_jonas> hmm... I need an ais.
03:52:09 <wob_jonas> @tell
03:52:09 <lambdabot> Who should I tell?
03:52:52 * oerjan puts on ais mask
03:53:25 <wob_jonas> @tell ais523 Do you happen to know about the paradoxical construction where you have a program with arrays, and you simulate it without arrays by recursive calls to the main program whenever you want to read an array element? Is that construction possible and can you point to some writeup about it?
03:53:25 <lambdabot> Consider it noted.
03:53:51 <zzo38> I have never heard of such a thing.
03:55:01 <oerjan> you can simulate a read-only array with a function, but that's not recursion.
03:57:38 <wob_jonas> It seems paradoxical because you're simulating a RAM machine by a stack machine, which is supposed to be impossible. You're not just stacking a whole array into a single bignum, you only have individual array elements on the stack or registers.
03:58:01 <oerjan> i suppose you can give the main program an extra parameter that says "keep track of this element of this array, and return what's in it at this point in time"
03:58:11 <oerjan> *some extra parameters
03:58:38 <wob_jonas> It doesn't actually contradict the theory because you need a timer variable to know when to break out of each recursive simulation, that timer variable has to have at least as many values as many times the simulated program reads array elements, and you have such time variables on the stack.
03:58:59 <wob_jonas> The runtime may blow up exponentially, and the stack may blow up to as big as the simulated runtime.
04:00:25 <wob_jonas> oerjan: yes, in each level of the simulation, you keep track of the array index, the time when you have to stop, the arguments of the main function, and the current time. Only the last one changes within a simulation level, but you can have lots of nested simulations.
04:01:00 <oerjan> i can see the current time growing exponentially, so you need a bignum for it.
04:01:04 <wob_jonas> Time means how many times you have read array elements during the simulated program (although it can be more refined than that).
04:01:21 <wob_jonas> oerjan: no, you only keep track of the time of the original program, it only blows up as much as the runtime of that one.
04:01:49 <oerjan> well ok if you assume the runtime of that cannot be too high...
04:01:51 <wob_jonas> The runtime of the simulation can blow up exponentially, but a time variable only stores the time in the runtime of the original program.
04:03:06 <wob_jonas> And you can have at most as many levels of simulation as the original runtime, the new stack can have as many frames as the old stack times the number of nested simulation levels, and there's a constant number of timer variables in each level of the new stack.
04:03:51 <wob_jonas> Each new stack frame stores only a constant number of array elements (the one corresponding to the index you're interested about), but together the stack may hold a whole array.
04:04:45 <wob_jonas> I'd like to know either why the whole construction fails, or a reference to existing documentation of this construction, and I hope ais523 can provide it.
04:04:56 <oerjan> okay
04:06:03 <wob_jonas> oerjan: but yes, in the original program you might only need integers as large as the size of arrays (you can imagine this as 16-bit or 32-bit integers if you wish), while the timers may need larger integers (if runtime is more than about 2**16 or 2**32).
04:06:28 <wob_jonas> The runtime can be exponential in the amount of memory the program uses of course.
04:06:44 <wob_jonas> Did any of this make sense?
04:09:42 <wob_jonas> So if the runtime is really about as big as the number of possible memory states, then the timer has to be as big as the number of possible memory states too. But you rarely see such a long runtime in practice.
04:10:54 <wob_jonas> So practical programs with short runtimes can be simulated with a short enough time variable, but then the simulation isn't practical because it can still take time exponential in the original runtime, and it will do so if the original uses random access in an essential way.
04:11:44 <oerjan> mhm
04:12:34 <wob_jonas> (Guess why the whole thing came up now.)
04:16:52 -!- sleffy has quit (Ping timeout: 246 seconds).
04:18:18 -!- sleffy has joined.
04:46:45 <oerjan> no idea
05:08:33 -!- hppavilion[1] has quit (Ping timeout: 248 seconds).
05:10:01 -!- doesthiswork has quit (Quit: Leaving.).
05:10:29 -!- doesthiswork has joined.
05:17:41 -!- tswett has quit (Ping timeout: 240 seconds).
05:27:13 -!- doesthiswork1 has joined.
05:27:13 -!- doesthiswork has quit (Read error: Connection reset by peer).
05:32:02 <zzo38> Just now in vim I tried ":spl /dev/null" and surely enough it does work just as well as I expected it to do.
05:37:22 -!- doesthiswork1 has quit (Quit: Leaving.).
05:55:50 -!- oerjan has quit (Quit: Nite).
06:02:35 -!- fizzie has joined.
06:03:22 -!- Lymia has joined.
06:03:37 -!- ocharles has joined.
06:04:24 -!- sparr has joined.
06:05:07 -!- GeekDude has joined.
06:05:37 -!- mtve has quit (Ping timeout: 260 seconds).
06:06:40 -!- mtve has joined.
06:39:18 -!- erkin has joined.
06:56:18 -!- ski has joined.
07:07:10 -!- FreeFull has quit.
07:15:41 -!- propumpkin has joined.
07:18:09 -!- contrapumpkin has quit (Ping timeout: 248 seconds).
07:22:46 -!- Warrigal has quit (Quit: No Ping reply in 180 seconds.).
07:22:54 -!- Warrigal has joined.
07:24:08 -!- hppavilion[1] has joined.
07:35:57 -!- imode has quit (Ping timeout: 240 seconds).
07:36:48 -!- sebbu2 has quit (Ping timeout: 240 seconds).
08:10:37 -!- augur has quit (Remote host closed the connection).
08:13:21 <Sgeo> SUBLEQ
08:13:27 <Sgeo> http://gerigeri.uw.hu/DawnOS/index.html
08:13:40 <Sgeo> Uh. Is this literally an OS for a CPU that only supports the SUBLEQ instruction?
08:15:50 -!- kurolox has joined.
08:42:37 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
08:45:43 <kurolox> Damn.
08:46:13 <kurolox> I have the exact same kernel panic in this laptop in a fresh install too
08:47:01 <Taneb> Some sort of hardware failure?
08:47:18 <kurolox> I doubt it, it happens in two completely different systems
08:47:40 <kurolox> I'm talking about UMLBox by the way
08:51:46 -!- AnotherTest has joined.
08:53:56 <int-e> Sgeo: why is it shipped as a bunch of binaries
08:54:34 <shachaf> Do you like static linking?
09:13:30 <kurolox> Hey fizzie, are you around here?
09:24:35 -!- sleffy has quit (Ping timeout: 240 seconds).
09:59:58 <int-e> shachaf: I imagine Google has a single sparse 2^47 byte image, directly mapped to all the servers that contains all the software :-P
10:00:13 <int-e> (which would then be statically linked)
10:00:18 <int-e> (not really)
10:02:18 <shachaf> int-e: h8r
10:02:24 <shachaf> monorepos are the best
10:07:07 <fizzie> kurolox: I wasn't, then.
10:07:24 <shachaf> > 2^47
10:07:26 <lambdabot> 140737488355328
10:07:39 <shachaf> > 2^47/1e6
10:07:41 <lambdabot> 1.40737488355328e8
10:07:47 <shachaf> bah
10:09:01 <int-e> it's not an entirely random number; 2^48 bytes tends to be the effective virtual memory space these days (which is limited by the page table hierarchy), though I've seen it go up to 2^52 somewhere.
10:09:24 <int-e> and I left some space for more volatile data
10:09:57 <fizzie> kurolox: If you're getting an "can't execute init" kernel panic, check that the umlbox-linux and init binaries have the same arch (e.g. via "file umlbox-linux", "file init").
10:10:26 <kurolox> I'm getting a "can't mount /" panic though
10:10:42 <fizzie> Oh, that's probably different then.
10:10:57 <kurolox> Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(98,0)
10:11:10 <kurolox> I have the exact same issue in two different computers, so I think that is not a hardware issue
10:11:48 <int-e> unknown-block sounds like a device driver (for uml's virtual block device?) is missing
10:12:07 <kurolox> Here's the full log
10:12:29 <kurolox> https://ghostbin.com/paste/sogvd
10:12:44 <int-e> `` echo $(cat /proc/devices)
10:12:45 <HackEgo> Character devices: 1 mem 2 pty 3 ttyp 4 tty 4 ttyS 5 /dev/tty 5 /dev/console 5 /dev/ptmx 10 misc 128 ptm 136 pts Block devices: 1 ramdisk 259 blkext 7 loop 98 ubd
10:12:50 <fizzie> kurolox: Did the umlbox-initrd.gz get built correctly? If you do "zcat umlbox-initrd.gz | cpio -t", does it print out "init"?
10:12:51 <int-e> the ubd one
10:12:58 <fizzie> int-e: It's not supposed to be using ubd for root.
10:13:03 <kurolox> As far as I know, everything got built correctly
10:13:03 <int-e> ah
10:13:12 <fizzie> int-e: There's an initrd image, and the init never remounts root to anything else.
10:13:25 <fizzie> kurolox: Well, do that cpio check anyway.
10:13:56 <kurolox> cpio: premature end of archive
10:14:07 <fizzie> That's not right then.
10:14:18 <fizzie> rm umlbox-initrd.gz && make umlbox-initrd.gz ?
10:15:03 <kurolox> done
10:15:11 <kurolox> now running zcat says
10:15:15 <kurolox> init
10:15:17 <kurolox> 1495 blocks
10:15:22 <fizzie> That sounds better.
10:15:28 <kurolox> should I build again?
10:15:34 <fizzie> You shouldn't need to.
10:15:41 <fizzie> Just try running again and seeing what happens.
10:15:56 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
10:16:22 <fizzie> Well, you might need to make install, if you're using it "installed".
10:16:37 <kurolox> yes. I've ran the executable at the build dir to test
10:16:44 <kurolox> the good news is that there's no kernel panic anymore
10:16:57 <kurolox> the bad news is that I lied. There's still a kernel panic, now there's a different one though
10:17:04 <fizzie> Does it complain about the init?
10:17:08 <kurolox> yes
10:17:11 <fizzie> 10:09 <fizzie> kurolox: If you're getting an "can't execute init" kernel panic, check that the umlbox-linux and init binaries have the same arch (e.g. via "file umlbox-linux", "file init").
10:17:15 <kurolox> Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100
10:17:40 <kurolox> okay, will do
10:17:51 <fizzie> Well, that's slightly different than what I'd expect from the "mismatched architectures" problem.
10:17:51 <int-e> Ah, this may not be the most helpful behavior. "rootfs image is not initramfs (junk in compressed archive); looks like an initrd"
10:18:20 <int-e> (but you've progressed beyond this anyway)
10:18:27 <kurolox> Here's the log again, I feel like it's not an init problem
10:18:41 <kurolox> https://ghostbin.com/paste/bk3uu
10:18:53 <fizzie> No, it clearly did manage to run init.
10:19:05 <fizzie> (That's what prints the "UMLBox starting" line.)
10:19:47 <fizzie> Think the kernel panic is just because that's how umlbox stops when it encounters problems.
10:20:03 <fizzie> The "mount(source, rtarget, type, 0, data): Device or resource busy" thing might be more relevant, but I'm not sure what's up with that.
10:20:28 <int-e> now it looks like a missing root fs? I mean, "/bin/sh could not be executed"
10:21:04 <fizzie> int-e: It's not supposed to have that on the root fs, actually. :)
10:21:42 <fizzie> "init" is the only file that's supposed to be on /, the rest it gets by read-only-mounting the host's /bin et al. using UML's hostfs.
10:22:27 <fizzie> Or, more exactly, it mounts the directories out of ["/usr", "/bin", "/sbin", "/lib", "/lib32", "/lib64", "/etc/alternatives", "/dev"] that exist on the host.
10:22:50 <fizzie> That said, it should still have a /bin/sh that way.
10:23:06 <int-e> why is it mounting proc,sys,tmp twice?
10:23:17 <kurolox> sorry
10:23:19 <kurolox> I think it's my fault
10:23:23 <kurolox> I didn't use the -B flag
10:23:52 <kurolox> now it doesn't panic, but it seems like there are still problems
10:24:11 <kurolox> or maybe it just takes a while to load
10:24:25 <fizzie> int-e: It's mounting them twice because the mount lines are there several times in the configuration file, but I don't know why *that* is.
10:24:47 <fizzie> The "Read configuration" section dumps out what it's got, and it looks like it's repeated three times, which doesn't sound normal.
10:25:34 <kurolox> https://ghostbin.com/paste/rwuw9
10:25:38 <kurolox> umlbox is stuck like this
10:25:43 <kurolox> I assume that it should give me a bash prompt
10:26:25 <fizzie> You might not be able to get interactive use out of the stdin/stdout thing.
10:26:32 <fizzie> Have you tried typing in commands anyway?
10:27:03 <fizzie> Also try something like umlbox -v -B /bin/echo foo to check if a non-interactive command works out right.
10:27:04 <kurolox> yes, but I can't see anything
10:27:32 <kurolox> Also I can't stop the process with ctrl+c, I have to kill it
10:30:00 -!- kurolox has quit (Remote host closed the connection).
10:30:21 <fizzie> Fun fact: for me, "umlbox -B echo foo" outputs just "foo" as expected, but "umlbox -v -B echo foo" (verbose mode) manages to leave terminal echo disabled.
10:31:22 <fizzie> Huh, I do get a working interactive bash prompt out of "umlbox -B bash". Wasn't expecting that.
10:32:13 -!- kurolox has joined.
10:32:28 <kurolox> Sorry
10:32:29 <kurolox> I had to reboot
10:32:40 <fizzie> int-e: Heh, this is a new one for me: "cat: -: Resource temporarily unavailable"
10:33:00 <kurolox> fizzie, about the echo foo
10:33:19 <kurolox> it doesn't work, but I think that is because of how I had to kill the last process
10:33:39 <kurolox> https://ghostbin.com/paste/hkd5s
10:35:05 <fizzie> kurolox: There's something odd going on with the configuration file reading with your kernel, I don't know what.
10:36:16 <fizzie> If you compare the "Configuration" dump from line 3 onwards with the "Read configuration" one from line 90 on, the latter seems to oddly repeat the beginning half of the config.
10:37:25 <fizzie> The length of the "Read configuration" dump for you is exactly 512 bytes, as well. I wonder if, in later kernels, the ubd implementation has changed to e.g. pad files up to a block boundary.
10:37:37 <kurolox> yeah, about the lenght of the read
10:37:39 <kurolox> I've noticed something
10:37:56 <kurolox> I've tried running the commaand in my other computer, and it seems like it just gets cut
10:38:23 <kurolox> https://ghostbin.com/paste/pkqet
10:38:29 <kurolox> $ moun
10:38:29 <kurolox> Unrecognized command moun
10:38:48 <kurolox> that was mount before
10:39:12 <fizzie> It should end at the "run user ..." line, like it does in the outside-UML configuration dump.
10:39:45 <fizzie> On your other box it probably truncates at "moun" instead of "mount" because the gid is 100 in one, 1000 in the other, and 1000 takes up one character more of space.
10:40:37 <kurolox> Well, so any idea? Should i try an older kernel?
10:41:13 <fizzie> If it's what I think it is, you might be able to fix it by padding the config file with 0s up to a block boundary.
10:42:03 <fizzie> Maybe try changing the line in "umlbox" that says conff.write(confs) to something like conff.write(confs + "\0" * (512 - len(confs) % 512))
10:43:39 <fizzie> (Though I'm a little puzzled moony didn't encounter this issue, if it's some change in udb semantics in later kernels.)
10:44:47 <kurolox> well
10:44:49 <kurolox> it did something
10:45:51 <kurolox> https://ghostbin.com/paste/op8u3
10:46:00 <kurolox> I still don't see the echo anywhere, but there are no errors
10:46:50 <fizzie> Can you check what happens if you try without the "-v" flag? The verbose mode terminal handling is kind of... odd.
10:47:06 <fizzie> (Of course you don't get any logs so chances are it'll just print nothing.)
10:47:10 <kurolox> there's no output
10:47:33 <kurolox> also, I should mention that umlbox always mess up the console formatting
10:47:51 <kurolox> after running umlbox through ssh for example, the cursor is static and nothing I write will be visible
10:48:05 <fizzie> It does that for me as well, though only with -v.
10:48:07 <kurolox> in my desktop everything I type seems to be tabbed over and over
10:48:14 <fizzie> Running "reset" seems to fix it.
10:48:25 <kurolox> okay, good to know
10:48:32 <fizzie> http://sprunge.us/NJRC is what I get out.
10:48:57 <fizzie> Looks pretty similar except I have an extra "ttyraw" in the generated config.
10:49:26 <kurolox> Okay, so this is weird
10:49:34 <kurolox> I've tried to run bash again
10:49:56 <kurolox> so the cursor is static and everything is invisible, but it seems to recognize what I'm doing
10:50:17 <kurolox> as in, I can't see any "echo" or anything, but typing "exit" closes umlbox properly
10:50:32 <kurolox> so maybe it's working but I can't see it, I don't know
10:50:35 <fizzie> Yeah, I'm guessing this is all something to do with the consoles.
10:50:50 <kurolox> maybe it's because I'm doing it through ssh
10:50:54 <kurolox> I'll check in my desktop
10:50:57 <fizzie> Out of curiosity, what do you get if you try "umlbox -B echo foo | cat" (so that the output's not a tty)?
10:51:34 <kurolox> Nothing
10:53:09 <kurolox> Also, there's no difference in my desktop. Same stuff happens.
10:55:15 <fizzie> Well, I'm somewhat stumped. I do think it's highly likely it's got something to do with either the UML console configuration, or umlbox-mudem.
10:55:22 <fizzie> But I'll have to head to work now.
10:55:45 <kurolox> Sure thing. Thanks for all the help fizzie, I hope that I can get this solved eventually.
11:03:04 <rdococ> I'd talk, but I'm honestly kind of scared to.
11:06:33 -!- sebbu has joined.
11:08:19 <int-e> https://quoteinvestigator.com/2010/05/17/remain-silent/ :-P
11:20:37 -!- erkin has joined.
11:22:49 <rdococ> :c
11:36:49 -!- clog has quit (Ping timeout: 248 seconds).
11:41:58 -!- Antoxyde has joined.
11:44:41 -!- boily has joined.
12:28:21 -!- boily has quit (Quit: PULP CHICKEN).
12:47:30 -!- LKoen has joined.
12:50:21 <APic> Moin
13:07:33 <int-e> shachaf: did you see that MS agrees that git is better than hg
13:12:13 -!- ocharles has quit (Ping timeout: 276 seconds).
13:15:07 -!- ocharles has joined.
13:36:51 -!- clog has joined.
14:01:00 -!- TieSoul has joined.
14:19:54 -!- jaboja has joined.
14:36:47 -!- LKoen has quit (Remote host closed the connection).
14:37:22 -!- `^_^v has joined.
14:52:09 -!- zseri has joined.
15:06:20 -!- ATMunn has joined.
15:20:39 -!- jaboja has quit (Ping timeout: 252 seconds).
15:24:48 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
15:42:43 -!- LKoen has joined.
16:40:20 -!- augur has joined.
16:59:39 -!- TieSoul has quit (Ping timeout: 252 seconds).
16:59:49 <rdococ> Damn, I wonder what happened to that Nomic game we planned.
17:00:26 <int-e> . o O ( You couldn't agree on the rules? )
17:00:41 <rdococ> Should we try again?
17:01:36 <rdococ> . o O ( What we really need is a website specifically for holding rules for Nomic games. )
17:05:45 <rdococ> int-e: would you be interested in attempting to restart it?
17:08:57 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
17:09:33 -!- hppavilion[1] has joined.
17:14:20 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
17:35:04 -!- FreeFull has joined.
17:40:02 -!- imode has joined.
17:45:20 -!- imode has quit (Ping timeout: 246 seconds).
17:46:10 <myname> i thought about building one with lua as a rule-language and a basic rpg thingie underlying
17:53:24 <rdococ> I created a channel named #esoteric-nomic for possible future nomic games.
17:55:07 <rdococ> or at least the one I'm planning, anyway.
17:58:43 -!- LKoen has quit (Remote host closed the connection).
18:04:46 -!- imode has joined.
18:05:14 <rdococ> hi imode. I'm starting a new game of nomic in #esoteric-nomic if you're interested.
18:06:07 <shachaf> int-e: Agrees with whom?
18:06:09 <shachaf> I didn't see.
18:07:01 <int-e> https://twitter.com/GabeAul/status/899691358889234432
18:07:55 <int-e> also, earlier, https://blogs.msdn.microsoft.com/bharry/2017/05/24/the-largest-git-repo-on-the-planet/ (hmm, should I read that)
18:12:37 <int-e> (indeed I should. just as the other companies aren't using vanilla hg, this isn't vanilla git either. not a surprise, really.)
18:17:08 <imode> hi rdococ.
18:17:16 <imode> wish I could but I've got work. :P
18:27:33 -!- erkin has joined.
18:36:48 -!- sleffy has joined.
18:42:05 -!- TieSoul has joined.
19:19:04 -!- augur has quit (Remote host closed the connection).
19:41:09 -!- rdococ has changed nick to beacoc.
19:41:25 -!- beacoc has changed nick to beakoc.
19:46:06 -!- ATMunn has changed nick to atbeak.
19:47:53 -!- atbeak has changed nick to beakymunn.
19:48:28 -!- beakoc has changed nick to baeky.
19:51:04 -!- beakymunn has changed nick to ATMunn.
19:52:31 <HackEgo> [wiki] [[Special:Log/newusers]] create * BlackCap * New user account
19:57:02 -!- baeky has changed nick to rdococ.
20:07:34 <HackEgo> [wiki] [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=52920&oldid=52917 * BlackCap * (+246)
20:09:25 -!- ais523 has joined.
20:10:00 <rdococ> ais523: hi
20:10:50 <ais523> hi
20:19:10 -!- wob_jonas has joined.
20:19:21 <wob_jonas> ais523: hello
20:19:38 <wob_jonas> I was trying to find you. I want to ask something.
20:20:25 <ais523> wob_jonas: huh, I was wondering why I hadn't seen you online for a while
20:20:26 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
20:21:12 <wob_jonas> I was up a bit irregularly. I'll be up more from September
20:21:48 <ais523> re your lambdabot question, you can do a lot of functional tricks to simulate arrays, but recursively calling main isn't enough by itself because you only get one stack
20:22:10 <wob_jonas> ais523: that's why it's paradoxical
20:22:15 -!- Phantom_Hoover has joined.
20:22:16 <ais523> which means you're limited to PDA levels of power
20:22:16 -!- ais523 has quit (Remote host closed the connection).
20:22:26 -!- ais523 has joined.
20:22:29 <wob_jonas> one stack isn't enough if the stack symbols are from a fixed size alphabet
20:23:33 <ais523> if you have no temporaries, it IIRC isn't enough even if you have an infinitely large alphabet, unless the set of operations you allow on top-of-stack is Turing-complete even on just a single number
20:23:51 <wob_jonas> you know the easiest way around is to encode a whole array into a bignum. this construction doesn't do that, it's more sneaky, but it still needs numbers as large as the runtime of the original (simulated) program, which in turn can be exponentially large in the memory size of the original program in worst case
20:24:07 <ais523> like, I think a bignum stack, increment, decrement, push, pop, conditional goto is not Turing-complete
20:24:42 <ais523> in a functional language, you can implement an array as a function from the index to the element
20:24:50 <ais523> and assign to the array by wrapping it with more functions
20:24:57 <ais523> that's a different construction, but a fairly fun one
20:25:15 <wob_jonas> I have written down the construction more technically in http://www.madore.org/cgi-bin/comment.pl/showcomments?href=http%3a%2f%2fwww.madore.org%2f~david%2fweblog%2f2017-08.html%23d.2017-08-18.2460#comment-23792 , where it applies to the uncomputable esolang (1) and (3), but you can take just the Turing case
20:25:42 <wob_jonas> ais523: it doesn't just use increment and decrement, but also equal-compare of bignums
20:25:52 <wob_jonas> and copying of bignums
20:25:58 <ais523> the natural number cases of (0) and (1) are just bloop and floop respectively, aren't they?
20:26:11 <wob_jonas> (0) is definitely bloop
20:26:15 <ais523> wob_jonas: what are you comparing or copying them too?
20:26:16 <wob_jonas> um, how does floop work again?
20:26:28 <ais523> it's like bloop except it has infinite loops with break
20:26:31 <wob_jonas> you're copying a bignum from one stack entry (near the top) to another stack entry (near the top)
20:26:33 <ais523> for(;;) { … break … }
20:26:48 <wob_jonas> or you're equal-comparing two bignums in two stack entries near the top
20:27:11 <ais523> wob_jonas: ah right, which is clearly TC as you can use the top two stack entries as a minsky machine
20:27:13 <wob_jonas> and you still need increment and constants
20:27:24 <ais523> at that point, how you simulate things is just a matter of programming
20:27:44 <wob_jonas> ok, but "just a matter of programming" is somewhat vague
20:28:03 <ais523> right
20:28:13 <ais523> I guess this is more a question about programming techniques than about what's possible?
20:28:38 <wob_jonas> if you have these operations, then you can also implement arithmetic (in exponential time) and store a whole array in a bignum, which is how the minsky construction works (if you have at least three bignums)
20:28:40 <ais523> perhaps it'd be interesting to try to constrain a language in such a way that you have to program it like that
20:29:05 <ais523> also, the minsky construction works with two bignums by using one of them to store a simulated tuple of three bignums
20:29:09 <ais523> which is really slow, but oh well :-)
20:29:21 <wob_jonas> but I'm still asking about this specific construction, which is a bit strange, because you really don't need integers larger than the runtime of the original program in the particular case simulated
20:29:25 <Taneb> I decided to put my half-finished toy neural net thing on Github: https://github.com/Taneb/net/blob/master/Main.hs
20:29:58 <ais523> wob_jonas: you might need a write up of exactly how the construction works, then, because I haven't seen it
20:30:17 <ais523> incidentally, how many languages do we have which are TC only because they can use the call stack as one stack and an explicit data stack as another?
20:30:27 <ais523> it's a construction which feels like it should be more common than it actually is
20:30:30 <wob_jonas> anyway, in this case David describes in the original blog article that the straightforward construction where you encode an array in a bignum does work in a finite case,
20:30:51 <wob_jonas> but also that it doesn't work in the infinite case, and how simulating arrays in the infinite case is VERY difficult
20:30:59 <wob_jonas> (at least in general)
20:32:04 <wob_jonas> "TC only because they can use the call stack as one stack and an explicit data stack as another" => I don't recall any such language
20:32:40 <Taneb> wob_jonas, Underload is one
20:32:54 <ais523> Taneb: no, Underload has complex stack elements
20:32:57 <wob_jonas> but it rarely comes up, because you'd either need an actual infinite stack for TC-ness, or if you want a practical language, then just two stacks are very impractical for general purpose programming
20:33:00 <ais523> which means you have more than two stacks
20:33:08 <Taneb> ais523, oh! I misunderstood the construction used
20:33:13 <ais523> you can think of it as a language in which the stacks are made out of other stacks
20:33:17 <wob_jonas> oh
20:33:33 <wob_jonas> actually that language I have imagined but haven't yet documented might be like this,
20:33:44 <wob_jonas> at least two stacks is the only way I can prove TC-ness,
20:34:44 <wob_jonas> even though there's a much better practical construction for random access of vast but possibly not infinite memory, where the accessible memory size grows at least double exponential in the code size, probably even faster than that
20:34:58 <wob_jonas> so you don't really need the two stacks construction for TCness
20:35:19 <wob_jonas> (although you have to use the stacks at least a little for temporary values)
20:35:39 <wob_jonas> I will have to eventually document that language
20:37:13 <int-e> with a data stack, a control stack, and a heap, you may get a G machine.
20:37:41 -!- ais523 has quit.
20:37:51 -!- ais523 has joined.
20:38:12 -!- augur has joined.
20:38:35 <ais523> that reminds me of my attempt to write a language that's theoretically Turing-incomplete but can access so much storage that that basically never comes up except in programs that bruteforce for counterexamples
20:38:42 <int-e> Funny, I've obviously never looked at the original G machine paper. It was intended to be an actual hardware design by the looks of it.
20:39:26 <int-e> Oh well, 1985.
20:42:21 -!- augur has quit (Ping timeout: 240 seconds).
20:44:33 -!- sleffy has quit (Ping timeout: 248 seconds).
20:47:21 -!- imode has quit (Ping timeout: 252 seconds).
20:47:25 <wob_jonas> ais523: if you have an ordinary computer with a CPU with a 48-bit physical address space, and have a disk interface that gets commands from a memory-mapped variable sized control block, and the sector address and sector size and count of sectors are in that command block, does that work for this?
20:47:41 <wob_jonas> you can access something like 2**2**48 bytes of memory, give or take a few
20:47:53 <ais523> wob_jonas: if that's all you have, it's clearly sub-TC
20:48:05 <ais523> because it's a finite (even if very large) amount of memory
20:48:20 <ais523> my language was going to make heavy use of the Ackermann function, so it could access way more memory than that
20:48:32 <ais523> (but still a finite amount for any given program)
20:49:56 <int-e> wob_jonas: well you can stack the construction. Use half of each address space for data, and the other half for some MMIO interface to the next level in the hierarchy
20:50:04 <wob_jonas> isn't sub-TC what you asked for? "theoretically Turing-incomplete"
20:50:22 <int-e> wob_jonas: and then you get something that may be TC.
20:50:36 <int-e> but fiendishly difficult to implement ;-)
20:50:53 <ais523> wob_jonas: yes
20:50:59 <ais523> but I wanted to be closer to TC than that
20:51:00 <wob_jonas> or you want much more than 2**2**48 bytes?
20:51:02 <wob_jonas> ok
20:51:15 <ais523> like, the language scaled with the size of the problem
20:51:38 <ais523> I think part of the hope was to be able to express any number that humans are capable of describing without resorting to diagonalization tricks, and know for a fact exists
20:52:26 <ais523> the sort of number which can't be calculated by most Turing-incomplete languages is "the first counterexample to the Riemann hypothesis" (you can't set an appropriate memory limit in advance because you don't know how large it is) but we don't know for certain it exists
20:53:08 <HackEgo> [wiki] [[ResPlicate]] https://esolangs.org/w/index.php?diff=52921&oldid=45669 * BlackCap * (+713)
20:53:50 <wob_jonas> ais523: in that case my language *might* actually work, if you restrict the size of one of the two stacks. I think an ackermann construction for accessing memory in many hierarchies might be possible to implement, but I'm not sure yet, I'm only sure of at least double exponential. But I also can't prove that it can't still random-access infinite me
20:53:51 <wob_jonas> mory with a fixed code.
20:54:25 <wob_jonas> (I mean double exponential or ackermann in the code size.)
20:54:33 <int-e> ais523: The Calculus of Construction should get you quite far.
20:54:40 <ais523> the largest numbers we can describe are basically modifications of the "the smallest number not nameable in…" trick, only programmatically rigorous
20:55:25 <wob_jonas> "express any number that humans are capable of describing without resorting to diagonalization tricks" => wait, which humans? if you take the right humans, that's a very very very very very large number, much larger than I can imagine
20:56:29 <HackEgo> [wiki] [[ResPlicate]] https://esolangs.org/w/index.php?diff=52922&oldid=52921 * BlackCap * (+107)
20:56:38 <ais523> wob_jonas: there are some pretty insane humans out there :-)
20:56:48 <ais523> but I was thinking more of the set of humans that actually exist and name numbers
20:57:03 <ais523> rather than the set of all hypothetical humans who might want to name large numbers
20:57:09 <int-e> all this reminds me of http://djm.cc/bignum-results.txt
20:59:03 <wob_jonas> no, I mean if you take numbers whose descriptions only like ten mathematicians in the world understand, then you get numbers much larger than the numbers I can describe, even with a no-diagonization restriction
20:59:51 <wob_jonas> numbers I can actually imagine using go to only tetration size like 2***(2**512) or something, but I can describe bigger ones
21:00:33 <wob_jonas> but if you take numbers that a million humans can describe, those aren't so big that I can't imagine them
21:00:43 <ais523> int-e: there's a similar thread on PPCG but the rules are really screwed up
21:00:47 <wob_jonas> all these about humans who live today
21:00:51 <ais523> and there are debates on whether the rules should be fixed or not
21:01:19 <wob_jonas> not fixed as in you freeze those rules and start a separate thread with better rules?
21:03:22 <ais523> there are debates on how to fix it, too
21:03:34 <wob_jonas> anyway, you might be interested about the non-computable (0) language family that David described, he mentions a lot of interesting details
21:03:37 <ais523> as in, start a new thread, change the rules of the existing thread, or something else?
21:04:01 <int-e> . o O ( diagonalize over the thread )
21:06:15 <wob_jonas> int-e: that other contest has a rule for exactly that, it says a new guess counts as better than an older guess only if the number it names is significantly bigger than that older guess. so just adding one to a previous guess isn't enough, and "significantly bigger" is very loose.
21:06:39 <wob_jonas> so you have to use very different techniques than any previous answer to get the biggest number so far
21:06:45 <wob_jonas> no, I mean to get the best answer so far
21:08:14 <ais523> wob_jonas: looks like it's still broken: https://codegolf.stackexchange.com/questions/18028/largest-number-printable
21:08:43 <ais523> the ban on multiplication, in particular, is highly arbitrary
21:08:46 -!- imode has joined.
21:09:45 <wob_jonas> a ban on multiplication? so then posting a max size answer saying "1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+"... is the only thing you can do?
21:10:36 <ais523> wob_jonas: no, there are a ton of things that aren't banned
21:10:45 <ais523> multiplication isn't really important, you can implement it using nested loops if you need it
21:11:14 <wob_jonas> ok
21:11:18 <wob_jonas> and yes, that's broken
21:12:02 <int-e> "Your printed number will be divided by the cube of the number of bytes you used for your solution." seems useless
21:12:41 <ais523> int-e: definitely
21:12:47 <ais523> there are so many useless rules like that
21:12:57 -!- augur has joined.
21:13:08 <ais523> basically, it works as a bignum competition because the rules don't significantly change the results you can get, but it doesn't work because the rules are so arbitrary
21:13:24 <ais523> and by stack exchange rules you can't post a duplicate with better rules…
21:14:39 <ais523> > floor $ 1/0
21:14:42 <lambdabot> 1797693134862315907729305190789024733617976978942306572734300811577326758055...
21:15:02 <ais523> hmm, it doesn't print the whole thing
21:15:29 -!- zseri has quit (Quit: Page closed).
21:15:41 <ais523> (that comes from the "largest number in 10 bytes of code" thread on PPCG; it's certainly not as large as it could be, but the fact that floor(infinity) is a specific, finite integer in Haskell is fairly amazing)
21:15:52 -!- augur has quit (Remote host closed the connection).
21:16:05 -!- augur has joined.
21:19:01 <wob_jonas> how much score would that give you if you find a programming language where the empty code prints a positive number?
21:19:30 <ais523> such languages exist, e.g. Retina
21:19:35 <ais523> which prints 1 upon running the empty program
21:20:18 <ais523> (actually, it prints the number of characters in stdin + 1, but PPCG normally assumes that stdin is empty)
21:21:50 <wob_jonas> Commodore 64 boots to saying " **** COMMODORE 64 BASIC V2 ****\n\n 64K RAM SYSTEM 38911 BYTES FREE\n\nREADY.\n" does that count as printing 38911 as the largest number? or even 65536 because the 64K clearly stands for that in that context?
21:22:59 <ais523> I could have told you once, I think? but now I'm happier not needing PPCG rules memorised :-)
21:23:13 <ais523> anyway, away for a bit, I need to go buy food before the shops shut
21:23:17 <wob_jonas> yeah, I know, it doesn't really matter
21:26:22 -!- AnotherTest_ has joined.
21:27:44 -!- AnotherTest has quit (Ping timeout: 255 seconds).
21:27:44 -!- AnotherTest_ has changed nick to AnotherTest.
21:31:12 <wob_jonas> ed doesn't work, it prints the size of its input file if you give the filename as the command-line argument. I had to install ed for this. Damn you, debian. I had specifically installed bc and dc before, but I missed ed.
21:31:28 <wob_jonas> I mean, I know I don't use it often, but it's also a very small program.
21:32:38 <wob_jonas> I hope they didn't choose to not install it in base because of some stupid security problem, like how it can execute arbitrary things if you give untrusted input as ed commands.
21:32:56 <wob_jonas> s/stupid/stupid alleged/
21:33:12 <wob_jonas> seriously, the kind of things some people complain about
21:34:19 <wob_jonas> I mean, this is a unix distribution, not a padded mental institute cell with your shoelaces removed
21:34:38 <wob_jonas> but they probably just removed it because it's not really essential and nobody was using it
21:35:05 <int-e> ?
21:35:09 <int-e> classic error message
21:36:41 <izabera> hey, help me google a thing
21:36:51 <izabera> months ago i found a paper on arxiv
21:36:59 <wob_jonas> http://www.smbc-comics.com/comic/dying-wish => wait, just one season?
21:37:09 <izabera> it was about a new theoretic model that was more cache aware
21:37:27 <wob_jonas> izabera: oh, that already sounds easier than what I asked. the paper you're looking for probably exists, the one I asked might not.
21:37:57 <izabera> several algorithms have a different runtime in that model, for instance heap sort is O(n log^2 n)
21:38:36 <int-e> wob_jonas: I've gone 10 months since installation and no ed.
21:38:43 <wob_jonas> but not as cache-aware as a six-tape Turing machine, right?
21:39:10 <izabera> i'll ask somewhere else
21:41:38 <shachaf> Is log^2 n supposed to mean log(n)^2 or log(log(n))?
21:41:45 <shachaf> I guess it's the former, but that's pretty confusing.
21:42:06 <wob_jonas> shachaf: (log n)^2
21:43:35 <izabera> shachaf: the former
21:44:08 <wob_jonas> it's very rare to write log log n as log^2 n, because that would be too confusing. people rather write up to four iterations of log explicitly, and use other notations when they really need to write positive number of iterations
21:44:19 <wob_jonas> and you rarely need more than four iterations of log
21:44:40 <int-e> unless you're in log* n territory
21:45:04 <wob_jonas> (just log log log log does appear in that stupidly specific limit distribution theorem)
21:45:13 <int-e> or perhaps you're saying that it'll be essentially constant anyway...
21:45:30 <int-e> just like that \alpha from Tarjan's analysis of disjoint set forests
21:46:17 <shachaf> Tell me when you have an algorithm that takes inverse busy beaver time.
21:47:17 <int-e> hah
21:47:29 <int-e> that would be fun
21:48:31 <int-e> but I really don't see how that would happen
21:59:15 <ais523> back, but not for long
21:59:21 <ais523> I might be properly back in a few hours (not sure yet)
21:59:40 <wob_jonas> ok
21:59:54 -!- LKoen has joined.
22:00:16 <ais523> btw, something that came up in one of the NetHack channels and I thought "b_jonas might know this": is there a mythological or famous fictional creature that's noted for being afraid of the dark?
22:00:44 <wob_jonas> afraid of the dark... hmm let me think
22:02:27 <wob_jonas> well, humans are sometimes portrayed as being afraid of darkness
22:03:01 <wob_jonas> and... how dark do you want or for how long? there's a few ridiculous photosynthetizing humanoids that know they can't live in the dark for more than a few days
22:03:50 -!- LKoen has quit (Ping timeout: 240 seconds).
22:03:52 <ais523> wob_jonas: we basically (for gameplay reasons) wanted a powerful monster that wouldn't enter corridors, and I thought being afraid of the dark would be a good way to explain that (corridors are normally unlit, so "won't enter dark squares" and "won't enter corridors" have sufficient gameplay similiarity)
22:04:18 <wob_jonas> and there's something about shades or shadows, but that probably wasn't being afraid as such
22:04:29 <ais523> I guess you could have a monster that's powered by light somehow? it seems like the sort of thing that Doctor Who would have, although I can't offhand think of a monster from there that actually is
22:04:50 <wob_jonas> ais523: wouldn't enter corridors... you can just have monsters that are too big or afraid of narrow tunnels or afraid of being surrounded for strategic reasons
22:05:20 <ais523> "too big" is an obvious thought but it doesn' really work in NetHack, which has single-square dragons
22:05:38 <ais523> anyway, I'd better go, thought I'd just throw this out there first in case it inspired you to think of something "in the background"
22:06:01 <ais523> bye everyone
22:06:04 <wob_jonas> something that behaves like a human child intellectually could be afraid of the dark, but that works better for an ally than for a normally hostile creature
22:06:18 -!- ais523 has quit (Quit: bye).
22:07:51 <wob_jonas> perhaps an animal that was once captured in a cage and REALLY didn't like that might be afraid of tight spaces so much that he usually remains far from even walls
22:08:17 <wob_jonas> and of course nh already have stationary monsters that aren't generated in corridors
22:10:42 <shachaf> I think the olist monster in the dark is afraid of the dark.
22:12:47 <wob_jonas> too big isn't impossible in nethack, it's just either hard to implement (a long worm like creature that takes up say four tiles forming a square) or hard to flavor (a one-tile monster bigger than even krakens and elder dragons)
22:18:02 <wob_jonas> if you can implement four-tile creatures, then you could change some dragons to elder dragons. you can then turn the quest dragons to be that large, they both have a suitable map.
22:18:13 <wob_jonas> (krakens could also be big, but they already don't go to corridors)
22:18:45 <wob_jonas> you can also find other very big creatures in mythology and fiction
22:22:11 -!- imode has quit (Ping timeout: 255 seconds).
22:29:25 <kurolox> So, besides fizzie and gregor nobody here knows about UMLBox, right?
22:29:45 -!- sleffy has joined.
22:32:59 <moony> fizzie, how much black magic did you put into UMLBox? 'umlbox -B -v echo DEADBEEF' doesnt work with the error of https://ptpb.pw/Evrs, yet my bot's sandbox works as if nothing is wrong.
22:34:00 <TieSoul> well I do see it echo DEADBEEF halfway through
22:35:40 <kurolox> yeah, so it seems like moony kernel panic happens after the sandbox program sucessfully runs
22:35:44 <kurolox> that might explain why it works
22:46:50 <kurolox> Well fizzie, I'm quite sure the conff issue you helped me with before isn't related to my actual issue of stuff not running on UMLBox, since moony does have the same conff issue, but it happens afters he runs the command sucessfully.
22:47:13 <kurolox> Anyways, I'm sharing the fix you gave me before with him to see if there's any difference with his stuff
22:48:16 <kurolox> Just to make it a bit tidy for when you see this, this is the output of 'umlbox -B -v echo DEADBEEF' for me and moony
22:48:53 <kurolox> me: https://ghostbin.com/paste/as6r3
22:49:07 <kurolox> moony: https://ptpb.pw/Evrs
22:50:33 <fizzie> moony: Looks like you're getting the same "configuration repeats" thing we saw when debugging.
22:50:37 <fizzie> Well, as above.
22:50:56 <moony> well that'd explain why the bot takes forever to process
22:50:58 <fizzie> Yeah, it wouldn't really stop it from running the command, it'd just do some odd things afterwards.
22:51:16 <kurolox> I'm still not sure why it doesn't work for me
22:51:46 <kurolox> I've noticed that when moony runs something it seems like " | cat" is added to the command
22:51:52 <kurolox> my output doesn't do that
22:52:03 <fizzie> That's what it does when it thinks the output isn't a tty.
22:52:16 <rdococ> Yay.
22:52:18 <moony> which, in the case of my bot, it isnt.
22:52:49 <moony> wait. *makes connection* rdococ has been in ##werewolf all along and i never noticed. how.
22:52:59 <rdococ> ...:P
22:53:09 <rdococ> Nice.
22:53:50 <fizzie> I believe the | cat is added to make the command that gets run inside the UML kernel to similarly see a non-tty output. Because otherwise it sees the UML console, which always is a tty as seen from the inside, even if the output fd it's redirected to isn't.
23:02:08 <fizzie> If you want to try something out, maybe (temporarily) change the umlbox script's line "con1=" + childStdin + ",fd:" + str(childStdout), to instead be "con1=" + childStdin + ",fd:" + stdoutws, (and keep using the -v flag)
23:02:54 <kurolox> Okay
23:03:07 <moony> Wow. People figured out how to make dpkg work in linbut lol
23:07:11 <kurolox> fizzie, I get an error.
23:07:27 <kurolox> https://ghostbin.com/paste/cc4g5
23:07:37 <kurolox> $ input ../tty1
23:07:37 <kurolox> open(rfile, O_RDONLY): No such device or address
23:08:04 <fizzie> Sorry, that should've been: "con1=" + childStdin + "," + stdoutws,
23:08:19 <fizzie> Now you ended up with the argument 'con1=fd:0,fd:fd:1' which is one "fd:" too many.
23:09:38 <kurolox> https://ghostbin.com/paste/tkxnn
23:10:46 <kurolox> The error changed, fizzie. Now the device is busy.
23:11:16 <fizzie> Oh, that's probably because it's using stdoutws (aka fd:1) also for that other console spec.
23:11:59 <fizzie> You could definitely try to work around that as well, but I'm just puzzled as to why it's not working in the first place.
23:15:40 <\oren\> does anyone know how to use jenkins to talk to another jenkins
23:16:06 <\oren\> `? jenkins
23:16:50 <HackEgo> jenkins? ¯\(°​_o)/¯
23:18:01 -!- sleffy has quit (Quit: Leaving).
23:18:21 -!- sleffy has joined.
23:18:48 <kurolox> Well, it's a shame that there's no way to know what's wrong with it
23:19:14 <kurolox> I really want to get UMLBox working, but I guess that's enough trying for today
23:20:27 <fizzie> Well, hmm.
23:20:53 <fizzie> You could try to strace the kernel execution, but it might be doing a bit too much for that to be readable.
23:21:20 <fizzie> There's definitely something odd when it comes to the terminal handling. For me, umlbox works fine, but running it once somehow manages to break the stdin of subsequent commands, which I don't even understand how that's possible. I mean, look at this: http://sprunge.us/NKbS
23:21:36 <kurolox> yeah, a lot of weird stuff happens too
23:22:00 <kurolox> when I try to run sudo, I'm completely unable to input the password in the same terminal where I ran umlbox before
23:23:02 <fizzie> It's not really that great for interactive use, it might be best to stick with having some other program call umlbox for you, the way it works on HackEgo.
23:23:14 <fizzie> Who knows, it's even borderline possible it would work in that context.
23:23:18 <kurolox> fizzie, in order to check if the issue is if there's no output or if there's no visible, I should use umlbox to make a permanent change (ie touch a file or make a dir), which folder is writtable by umlbox?
23:24:31 <fizzie> Nothing on the host is writable by default. You can pass in an extra argument like -fw /some/dir which will mount /some/dir from the host to the guest in read-write mode.
23:25:54 <kurolox> it doesn't seem like it runs the command
23:25:58 <kurolox> so there's no output at all
23:26:24 <kurolox> I've tried with umlbox -B -v -fw /test touch /test/didit
23:26:30 <kurolox> there's nothing in /test
23:26:39 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
23:26:51 <fizzie> Does /test exist, and do you have write permissions in it as the user you run umlbox as?
23:27:04 <fizzie> (Also what do the logs look like?)
23:27:08 <kurolox> yes, and I ran umlbox as sudo
23:27:32 <kurolox> here's the output: https://ghostbin.com/paste/8xyvf
23:28:42 <fizzie> Hmm. I wonder if that might have something to do with permissions *inside* the UML. Try adding -s as well?
23:28:53 <fizzie> (It runs the command as root inside the UML.)
23:29:11 <kurolox> wait
23:29:13 <kurolox> so
23:29:19 <kurolox> instead of trying to run umlbox with sudo
23:29:32 <kurolox> I made myself owner of /test and tried again without sudo
23:29:35 <kurolox> this time it worked
23:31:22 <fizzie> I think that might be because the umlbox init doesn't really expect UML to be executed as root.
23:31:58 <fizzie> It uses uid/gid 0 to mean "unset" for the uid/gid it runs the command as, and when they're unset it picks random uid/gid.
23:32:21 <moony> kurolox, get in ##werewolf
23:32:24 <fizzie> (I guess in general there shouldn't be any reason to try running umlbox as root.)
23:32:30 <kurolox> fair enough
23:32:40 <kurolox> at least now I know that the stuff runs in umlbox even if I can't see it
23:32:42 -!- TieSoul has quit (Quit: Leaving).
23:32:52 <kurolox> http://i.imgur.com/dlA01qW.png
23:33:03 <kurolox> so we're back at the issues with console output
23:33:08 <moony> kurolox, ##werewolf
23:33:14 <kurolox> okay, okay
23:35:08 <fizzie> kurolox: Out of curiosity, what happens if you try something like this: http://sprunge.us/dTBG
23:35:21 -!- `^_^v has quit (Quit: This computer has gone to sleep).
23:38:15 <kurolox> fizzie: https://ghostbin.com/paste/dvb8c
23:38:25 <fizzie> Aw.
23:38:43 <fizzie> I guess you're still affected by whatever mysterious output redirection problems you're having.
23:38:49 <fizzie> So odd, though.
23:39:03 <kurolox> maybe redirecting the output to a file?
23:39:24 <fizzie> Well, I mean, that should *work*, but it's more than a little clumsy.
23:40:08 <kurolox> there are stuff that I'm not sure about though
23:41:57 <fizzie> Since you *are* seeing the init's output (and therefore clearly getting *something* out), if you really just want to hack it to make it work, chances are you could just fiddle with the conX= and subprocess.call arguments in the umlbox script until you hit a combination that works.
23:43:19 <fizzie> (And/or the "output ..." stanza it writes to the config file.)
23:43:34 <kurolox> I'm still not sure if it really works though
23:43:49 <fizzie> I think I'll try building a current kernel and see how that goes for me.
23:44:10 <kurolox> as in, when I try something with umlbox that shouldn't end inmediately (ie: the bot I'm trying to run) still ends inmediately
23:44:16 <kurolox> also
23:44:19 <kurolox> this might be interesting
23:44:24 <kurolox> there's output after the run
23:44:34 <kurolox> nothing relevant, but there's something
23:44:49 <kurolox> https://ghostbin.com/paste/2jhto
23:45:04 -!- AnotherTest has quit (Ping timeout: 255 seconds).
23:45:14 <kurolox> maybe that can help identifying the issue?
23:48:41 <kurolox> fizzie if it's useful for what you want to do, I'm running 4.12.8 in the host, and also 4.12.8 as the uml kernel
23:48:56 -!- ais523 has joined.
23:49:05 <ais523> back
23:49:45 <fizzie> Sounds like "uninitialized urandom read" is a kernel message, which probably explains why you're seeing it.
23:49:57 <fizzie> It'd go to the same console all those debugging lines do.
23:50:49 <kurolox> oh, okay
23:51:10 <kurolox> actually fizzie, if you feel like replicating the issues I'm having, doing a fresh arch linux install should do the trick
23:51:41 <kurolox> it's what I've done in my laptop, I installed it fresh yesterday and it's having the exact same issues I'm having with my desktop, so chances are you will have them too
23:51:45 <fizzie> If you want a hacky trick to try, locate the lines in the umlbox script that do the input ../tty1 and output ../tty1 and change them to input /console and output /console instead. (/console is a file the umlbox init makes and uses for its own output.)
23:51:58 <kurolox> okay
23:52:04 <fizzie> ais523: Here's a funny thing: http://sprunge.us/NKbS
23:53:08 <ais523> fizzie: is that second cat running inside or outside umlbox?
23:53:16 <fizzie> ais523: Outside.
23:53:35 <fizzie> ais523: It leaves the terminal in that state, and I don't know of a way to undo it.
23:53:54 <ais523> OK, so that error message is EAGAIN
23:53:59 <kurolox> fizzie, no such file or directory
23:54:19 <kurolox> https://ghostbin.com/paste/kvpg5
23:54:45 <ais523> can you find out which system call is erroring out? "strace cat" would normally be enough, you might need to redirect the output to a file though (strace has an -o option to write to a file)
23:55:00 <fizzie> kurolox: Oh, sorry, make that "../console" instead. Looks like init prepends "/host/" to it.
23:55:06 <ais523> my guess is that one of the standard file descriptors has somehow been set to non-blocking mode, that'd be an easy way to cause spurious EAGAINs
23:55:27 <fizzie> ais523: Ooh, nonblocking, that sounds plausible.
23:55:49 <kurolox> HEY
23:55:52 <kurolox> I GET OUTPUT NOW
23:56:12 <kurolox> now I see why the bot wasn't working, I wasn't mounting /mnt so it couldn't read the bot file
23:56:36 <kurolox> I love you fizzie, I can't thank you for all the help you've been offering me the last days
23:57:32 <shachaf> You can't?
23:57:39 <kurolox> there's something a bit weird though, fizzie
23:58:04 <kurolox> it seems like I can see the output by running stuff with -v, but nothing without it
23:58:15 <fizzie> ais523: Yeah -- read(0, 0x7f086c62c000, 131072) = -1 EAGAIN (Resource temporarily unavailable) -- and: http://sprunge.us/FCWe
23:58:41 <kurolox> https://ghostbin.com/paste/6pffa
23:58:59 <ais523> this sounds like a mistake in the shell somehow? it shouldn't be letting applications it runs permanently change the mode of its file descriptors
←2017-08-22 2017-08-23 2017-08-24→ ↑2017 ↑all