←2016-03-08 2016-03-09 2016-03-10→ ↑2016 ↑all
00:00:09 <fizzie> oerjan: It's much dumber than that.
00:00:15 -!- spiette has quit (Ping timeout: 276 seconds).
00:01:02 <fizzie> oerjan: It just maintains a stack of open punctuation, skips (or filters out, I forget what) if the model tries to generate any closing punctuation that doesn't match, and forcibly closes anything that was left open at the end.
00:04:16 <oerjan> OKAY
00:05:04 <int-e> so let's see, the first game starts in 4 hours?
00:05:15 <ais523> Yurume: I don't think it's capable of communicating in anything but go boards
00:05:31 <ais523> destroying everything with just go moves would be difficult, if potentially not completely impossible
00:05:43 <hppavilion[1]> Whoo!
00:05:54 <hppavilion[1]> Just found out my TeX distribution came with Metafont!
00:05:54 <int-e> And time controls are 2h + 3x1min byo-yomi... serious.
00:06:30 <int-e> I never met-a-font...
00:06:31 <oerjan> ais523: sounds like a question for yudkowsky
00:06:32 <ais523> wait, how does that time control work?
00:06:42 <Yurume> ais523 : no problem, afaik it HAS to communicate with an amateur (6d iirc) go player, so AlphaGo may convince him to make a broader contact
00:07:11 <Yurume> 1min per (half) move? not sure
00:08:03 <oerjan> Yurume: hey your nick implies you might secretly be yudkowsky
00:08:09 <int-e> well, basically you have 3 minutes and after each (half) move the timer is rounded up to full minutes again
00:08:11 <Yurume> hahahaha
00:08:34 <Yurume> oerjan : I did enjoy Crystal Society
00:08:44 <oerjan> hm have i read that
00:08:49 <ais523> int-e: oh, so once the 2h runs out you have 1 minute per move, + 2 more minutes at any time you like
00:08:54 -!- Lord_of_Life has quit (Quit: EliteBNC free bnc service - http://elitebnc.org - be a part of the Elite!).
00:08:57 <ais523> that's an interesting way to do a time control
00:08:58 <int-e> but they announce that a player has 3 (or 2, or 1) byo-yomi periods left.
00:09:08 <vanila> look at this new language
00:09:23 <oerjan> hm obviously not
00:09:24 <ais523> vanila: oh, I ignore links unless someone gives me a good reason to follow them, and sometimes even then
00:10:05 <vanila> i could take a screenshot of the page
00:10:12 <vanila> and post it directly to the chat
00:10:18 <vanila> would thah help
00:10:58 <ais523> I looked at the page
00:11:05 <ais523> but decided not to care about it much
00:11:22 <ais523> it's basically just a non-English language that picks a particularly obscure language for encoding its keywords, isn't it?
00:11:27 <ais523> the semantics aren't special
00:11:34 <ais523> so it's in the same category as LOLCODE really
00:12:07 -!- Lord_of_Life has joined.
00:13:19 <quintopia> whats the word on the game?
00:13:32 <oerjan> vanila: i'm sorry i cannot take this seriously as long as it doesn't have a linear type system hth
00:13:37 -!- lambda-11235 has joined.
00:13:55 <vanila> good idea!
00:13:59 <ais523> oerjan: hmm, you seem to be following the ais523 system of esolang design, except with more puns
00:14:39 <oerjan> heh
00:15:30 <quintopia> linear type system means... how do types compose?
00:16:06 <oerjan> quintopia: it means a type system curry-howard equivalent to linear logic hth
00:16:10 <oerjan> ask shachaf for details
00:16:26 <ais523> quintopia: typically, a linear type system is one in which you have to use each lambda binding exactly once
00:16:38 <vanila> linear logic is pretty cool
00:16:56 <ais523> this normally involves calling helper functions just to copy and/or delete data
00:17:10 <ais523> (if your data is of an ADT, you can typically write functions to copy and delete it recursively)
00:17:22 <vanila> i don't know if anyone is really applying linear logic in programming well though?
00:17:36 <int-e> "well"?
00:17:50 <tswett> So I was thinking about linear logic.
00:17:56 <ais523> vanila: well, Verity (the language I work with in my day job) is affine
00:18:04 <vanila> oh cool!!!!!!
00:18:05 <int-e> Is Clean with their uniqueness types still a thing?
00:18:08 <vanila> i want to look into that
00:18:11 <ais523> or, well, not technically affine on the front-end; if your program isn't affine, though, the compiler will rewrite it so that it is
00:18:18 <ais523> producing a warning in the program
00:18:20 <vanila> that's very interesting!
00:18:26 <ais523> (affine is like linear, except that you can discard data if you want to)
00:18:45 <vanila> http://www.veritygos.org/language
00:19:15 <oerjan> isn't rust types also somewhat related
00:19:21 * oerjan doesn't actually know
00:19:30 <vanila> it uses some kind of region based thing
00:19:33 <tswett> And how you might extend it to involve Rust-like "borrowed reference" types.
00:19:38 <tswett> Yeah, Rust's typing system is affine.
00:19:40 <ais523> rust types have some affine-like behaviour but it's much more complex
00:21:12 <quintopia> ais523: sounds verbose/redundant. what are the advantages?
00:21:17 <tswett> So I guess the way it would work is something like this. If T is a type, and a is a symbol, then ref_a T is a type.
00:21:32 <vanila> you can have reference count type system
00:21:43 <vanila> maybe ?
00:21:48 <ais523> quintopia: in our case, the affine restriction is only on things that happen in parallel, this means that the language is provably race-free
00:22:01 <vanila> woww
00:22:03 <vanila> that's a nice idea
00:22:10 <tswett> And then, uh, what was it.
00:22:21 <ais523> (that said, we have shared-memory concurrence that introduces the races again, generating special variables with multiple sets of read/write ports; however you get a warning if that happens)
00:22:32 <quintopia> ais523: and what are the advantages of full linearity?
00:22:50 <vanila> Here is my understanding of it:
00:22:56 <vanila> * normal lambda calculus: Heap allocated data with GC
00:23:05 <ais523> quintopia: as opposed to being affine? I'm not sure of any offhand, which may be why people don't use it
00:23:11 <quintopia> ah
00:23:20 <vanila> * Linear lambda calculus: head allocated with statically known collection
00:23:25 <mad> what field of application is verity for?
00:23:29 <vanila> * Affine/substructural: Stack allocation
00:23:34 <vanila> you can mix them too
00:24:28 <ais523> mad: hardware design
00:24:43 <vanila> Wadler has shown that with basic linear type systems all your datat has a certain 'shape'
00:24:46 <ais523> the idea's that it makes it possible to design hardware in a language rather higher level than VHDL or Verilog
00:24:55 <vanila> a non-linaer 'heap' with linear trees from it
00:24:56 <ais523> meaning that hardware design should be much faster and cheaper
00:25:09 <mad> ais523 : ah... so basically it's trying to do the same thing as verilog but better? :D
00:25:30 <ais523> mad: it's like writing in algol rather than asm :-)
00:25:54 <ais523> (why algol? because it's about the right level of primitiveness for how far we've got with hardware, and because Verity is an Algol 60 derivative)
00:26:08 <mad> I'm not old enough for algol to have that much meaning to me but ok :D
00:27:24 <ais523> well, algol had basically died out by the time I was born
00:27:31 <ais523> but that doesn't mean that I couldn't learn it after the fact
00:27:52 <ais523> there are still working algol 60 compilers around (something that surprised my boss when I used one to gather benchmarks for a paper)
00:28:03 <tswett> Given T |- U, and ref_a U |- V, you can get T |- U ⊗ V, as long as T, U, and V don't contain ref_a. That sounds more or less right.
00:28:54 <tswett> Also, ref_a is... whatever you call that property where you can take one copy of it and get n copies of it for any natural number n.
00:29:03 <tswett> You can... contract and weaken it?
00:29:11 -!- Sprocklem has quit (Ping timeout: 250 seconds).
00:29:12 <ais523> linear logic calls it !
00:29:18 <ais523> Rust has a Copy trait that's similar
00:29:40 <tswett> That's an operator, not a property of terms.
00:29:42 <ais523> in Verity, the only things that are primitively copyable are integers, but the compiler will add extra copies of things in the source code if you might need to copy them
00:29:55 <ais523> tswett: ah right
00:30:13 <tswett> You could have a rule saying ref_a |- !ref_a.
00:31:04 <vanila> so linear logic isnt't useful for programming really
00:31:16 <vanila> that's why cyclone invented regions
00:31:18 <tswett> vanila: what makes you say that?
00:31:24 <vanila> i just explained why
00:31:25 <vanila> anyway
00:31:32 <vanila> it was weird that rust came out of nowhere
00:31:39 <vanila> instead of people just fixing the cyclone compiler
00:31:52 <int-e> `? nih
00:31:53 <ais523> I think they wanted to design a proper language from the ground up
00:32:00 <ais523> not just for the region inference but for all the other things too
00:32:02 <HackEgo> NIH was /not/ invented by Taneb.
00:32:17 <mad> Number of text encodings I've converted to/from in my code: 5
00:33:05 <mad> utf8, latin-1 (which really means windows codepage whatever), utf16, shift-jis, euc-jp
00:33:45 <mad> that number is 4 more than I would like :/
00:34:20 <vanila> mad what code
00:34:22 <zzo38> What program is it?
00:34:40 <mad> vanila : text-to-pronunciation
00:34:53 <vanila> ooh that's interesting!
00:34:53 <mad> for english, french, and now japanese
00:35:38 <myname> mad: you would like to convert between one encoding?
00:35:46 -!- Sprocklem has joined.
00:36:04 <zzo38> A separate program should be used for encoding instead I think
00:36:09 <ais523> myname: windows-1252 is the latin1ish one
00:36:36 <mad> yeah windows-1252 is "latin-1 in practice"
00:36:51 <tswett> I can explain how to convert between one encoding.
00:36:54 <tswett> Done.
00:37:06 <mad> zzo38 : user input comes in utf8
00:37:22 <mad> for french I turn it into utf16 to tokenize it
00:37:38 <mad> and because raw utf8 is inconvenient
00:37:44 -!- jgcruzh has joined.
00:37:52 <tswett> Are you writing in C or something?
00:38:20 <mad> the actual dictionary part recognizes latin-1 (aka windows-1252) and nothing else because that's what you need for french anyways
00:38:30 <vanila> this sounds mad
00:38:45 <tswett> Why not convert it to Windows-1252 to tokenize it?
00:38:45 <mad> and it does a binary search through the mass of data and I wouldn't want to have it do it in utf-8 data
00:39:05 <vanila> impressively complex program
00:40:09 <mad> tswett : mostly so that it can handle japanese input if it's present in the stream
00:40:17 <zzo38> UTF8<->UTF16 does not require character conversion tables, at least
00:40:32 <vanila> ais523, have you seen thot talk by conal elliot about using CCCs to compile stuff to hardware
00:40:37 <mad> yeah
00:40:45 <ais523> vanila: no
00:40:46 <mad> the latin-1 conversion is hardwired also
00:40:48 <ais523> also, "CCCs"?
00:41:05 <mad> it only takes latin-1 accent characters and oe ligatures
00:41:21 <ais523> ooh! does anyone know a good library for doing operations like wcwidth() that uses char32_t rather than wchar_t (which doesn't handle astral planes on Windows)?
00:41:27 <vanila> http://begriffs.com/posts/2015-06-28-haskell-to-hardware.html
00:41:30 <vanila> here's the video it,s really good
00:41:43 <ais523> oh, video :-(
00:41:50 <ais523> can we get something in text form?
00:41:53 <mad> ais523 : isn't it possible to do an std::string<int> or something like that?
00:41:57 <vanila> http://conal.net/blog/posts/haskell-to-hardware-via-cccs
00:41:58 <mad> I forget
00:42:14 <vanila> I don't think you can learn the things that are in the video from this text
00:42:19 <ais523> mad: would that have a wcwidth operation?
00:42:59 <ais523> vanila: oh, the Verity compiler can do lambda to hardware via CCC already
00:43:04 <vanila> I know
00:43:06 <ais523> only we use a game semantics translation
00:43:12 <vanila> thats why i brought this up
00:44:21 <mad> ais523 : what does wcwidth() use normally? utf16 char?
00:44:31 <ais523> it uses wchar_t
00:44:40 <mad> which... is 16bits right?
00:44:45 <ais523> it's implementation-defined
00:44:51 <mad> what
00:45:01 <ais523> and the interpretation of it is sometimes configurable at runtime via locale, too
00:45:07 <mad> ie another stupid thing that will break
00:45:12 <ais523> however, the most common choices are UTF-16 on Windows and UTF-32 on Linux
00:45:35 <mad> ANOTHER STUPID THING THAT WILL BREAK
00:45:38 <ais523> definitely
00:45:45 <ais523> I'm looking for something like this, except locked to UTF-32
00:45:49 <oerjan> C.A.R. Hoare on algol: "Here is a language so far ahead of its time that it was not only an improvement on its predecessors but also on nearly all its successors."
00:45:56 <ais523> and thus less fragile
00:46:02 <oerjan> (60)
00:46:10 <ais523> oerjan: when was that spoken?
00:46:11 <vanila> nice one
00:46:16 <mad> std::string<char32_t> in theory should work
00:46:42 <vanila> C.A.R. Hoare is good
00:46:48 <mad> but you will probably have to roll your own utf8<->utf16<->utf32 conversion
00:47:08 <mad> I think what most apps do is:
00:47:19 <mad> break if any non base plane character ever appears
00:47:24 <mad> the end
00:48:47 <zzo38> I wrote a program to write into a music file, the internal text (for titles and so on) in the music file is UTF-16, therefore I made my program to accept input in UTF-8 that is why (because UTF-8 is compatible with ASCII and UTF-16 is not)
00:48:53 <mad> seriously how do we end up with data types that change width between msvc and posix like that
00:48:55 <ais523> mad: this is the reasoning I used for not supporting astral plane in libuncursed 1 on Windows (on the basis that the programs we're communicating with wouldn't handle it either)
00:49:03 <ais523> but in libuncursed2 I'd like to do it correctly
00:49:29 <mad> windows have to support wchar_t due to how the api uses it
00:49:35 <mad> really grody
00:50:21 <ais523> yes, all the Windows Unicode APIs are wchar_t interpreted, IIRC, as UTF-16
00:50:22 <mad> at work we have a type called plgstring that's defined as std::wstring on win32 and std::string on IOS
00:50:30 <mad> and it's all over the place
00:50:38 <mad> because of exactly that
00:50:55 <zzo38> No you should need UTCE instead, much simpler and more consistent use of wcwidth() and so on is possible with it.
00:51:21 <ais523> what's UTCE?
00:51:45 <zzo38> It is http://zzo38computer.org/textfile/miscellaneous/utce
00:51:50 * ais523 looks
00:52:44 <mad> also, locales are horrible and should never be used
00:52:48 <ais523> zzo38: what I'm doing is indeed about terminals; however, that encoding does not seem to handle all of Unicode
00:53:01 <ais523> mad: for encoding, you mean? or in general?
00:53:12 <ais523> LC_MESSAGES appears to work pretty well at handling its intended function
00:53:36 <mad> I mean the C++ locale thing
00:53:36 <zzo38> That is true, UTCE does not (and is deliberately not supposed to) handle all of Unicode.
00:53:57 <vanila> does anyone know much about the occult
00:54:09 <ais523> zzo38: in my case, I don't want to output characters that the user's terminal might not be able to handle, but I do want to be able to echo anything that the user inputs
00:54:10 <oerjan> ais523: 1973, alas
00:54:10 <zzo38> I don't know much about it
00:54:17 <ais523> which could theoretically be any unicode character their computer supports
00:54:22 <ais523> oerjan: in that case, I would say Hoare is correct
00:54:26 -!- jgcruzh has quit (Ping timeout: 244 seconds).
00:54:31 <vanila> when would hoare be wrong?
00:54:33 <ais523> the "nearly" qualifier ensures that that is the case
00:54:46 <vanila> i can think of scheme
00:54:49 <zzo38> If UTCE encoding is used then you can very easily echo anything that the user inputs, including characters which are not in Unicode
00:54:50 <vanila> as being better than algol
00:54:55 <hppavilion[1]> @messages-lud
00:54:55 <lambdabot> oerjan said 9h 49m 36s ago: <hppavilion[1]> \oren\: Say, how do you prove associativity and commutativity? <-- there is no one method. sometimes you can just expand equations using things you already know. sometimes you can check all cases. sometimes you need a genuinely new trick.
00:54:55 <lambdabot> oerjan said 9h 48m 31s ago: generally you want to know as many tricks as possible that you can use, that goes for all math.
00:55:02 <vanila> and close enough for the comparison to make sense
00:55:09 <ais523> huh, I note that zzo38 found the same problem with G0/G1 in theory as I discovered in practice
00:57:10 <mad> zzo38 : what bank is Ý on?
00:57:43 <vanila> zzo38, can i hawve persmission to dowload all of your text files folder?
00:58:03 <hppavilion[1]> Ugh, suddenly gray.tfm is missing
01:01:48 <mad> the 3 different encodings for japanese is because the code for the lexical analyzer I'm adapting supports all 3
01:01:59 <mad> except it uses libiconv to convert
01:02:05 <mad> which is under lgpl
01:02:29 <hppavilion[1]> I wish METAFONT had more clear errors :,(
01:02:29 <mad> and since I don't want to lug around an extra DLL around I have to roll my own basically
01:02:39 <hppavilion[1]> It just tells me a file is missing, not where it expects it
01:03:02 <hppavilion[1]> So even if I make or obtain a new one, I have no clue where to put it
01:03:02 <mad> because you can't statically link against an LGPL lib
01:03:19 -!- XorSwap has joined.
01:03:29 <hppavilion[1]> zzo38: You've used METAFONT, correct?
01:05:20 <zzo38> hppavilion[1]: Yes I have used METAFONT
01:05:45 <hppavilion[1]> zzo38: Did you ever get an error where suddenly gray.tfm vanished?
01:05:51 <hppavilion[1]> zzo38: For no apparent reason?
01:05:53 <zzo38> No I have not
01:06:04 <hppavilion[1]> zzo38: Do you know where gray.tfm should be located at least?
01:06:15 <hppavilion[1]> Apparently not in fonts/tfm/public/misc
01:06:16 <vanila> i had a question zzo
01:06:26 <zzo38> vanila: You can, although I recommend only to copy the files you need, and to wait until the night time when I may be sleeping
01:06:35 <vanila> ill wait!
01:08:45 <hppavilion[1]> zzo38: Would you just recommend I reinstall MiKTeX completely?
01:08:50 <hppavilion[1]> zzo38: It seems like overkill
01:08:59 <mad> ais523 : I'm sorta designing a cpu in verilog these days, I guess it would be easier to do it in verity?
01:09:07 <hppavilion[1]> zzo38: But I really have no clue where to put gray.tfm
01:09:29 <izabera> install texlive rather than miktex...
01:09:30 <zzo38> hppavilion[1]: Perhaps look at the MiKTeX documentation?
01:09:35 <hppavilion[1]> zzo38: Perhpas
01:09:41 <ais523> mad: you're going to get more efficiency in verilog, just like asm is more efficient than most higher-levle languages
01:09:49 <ais523> also verity doesn't do pipelining yet (that's what I'm working on atm)
01:12:12 <zzo38> vanila: However, note that the files are there for being downloaded and that you are not prohibited from downloading them; I am just suggesting, probably you do not need all of them, and/or you probably should not load the server too much.
01:12:49 <vanila> yeah that's why I asked=
01:13:18 <mad> ais523 : I've seen a paper on bluespec verilog, where basically they use Queues between stages instead of registers
01:13:23 <mad> and I'm warming up to the idea
01:13:40 <mad> it makes stall handling more local
01:14:07 <ais523> mad: well a fixed-max-size queue is pretty easy to write in an HDL
01:14:14 <ais523> they tend to be specifically optimized by the compilers, too
01:14:17 <mad> yeah
01:14:17 <hppavilion[1]> zzo38: Can't find anything :/
01:14:21 <hppavilion[1]> Fuck you, knuth
01:14:24 <hppavilion[1]> Fuck you
01:14:40 <mad> I have a first-word-fallthrough queue for that yes
01:14:52 <hppavilion[1]> (Giant errors are intimidating, but at least tell you what's wrong)
01:15:06 <mad> I'll probably have to add some reset signal to the queue though
01:15:11 <mad> for branch prediction fails
01:15:18 <mad> and exceptions/interrupts
01:17:05 <hppavilion[1]> Fuck it, just reinstalling MiKTeX and hoping for the best
01:19:53 <izabera> is there any linux kernel hacker here?
01:20:20 <ais523> Subject:?spam? Live The trucker Life With A--Job - That Let's You - Get - Out,--and-drive
01:20:36 <ais523> izabera: not sure about hacker; I've inspected bits of the source before now but they're probably the wrong bits
01:20:50 <izabera> ok
01:21:08 <ais523> that spambot has a pretty unusual use of whitespace and hyphens
01:21:11 <ais523> also I can't drive
01:21:21 <izabera> why not?
01:21:36 <izabera> my grandma can
01:21:50 <izabera> anyway, i'm interested in the ptrace syscall for a thing and i think i found a bug
01:22:00 <mad> gotta play nice to get a license :/
01:22:20 <izabera> suppose process1 traces process2, and both are unprivileged
01:22:39 <izabera> then if root tries to trace process2, it can't
01:22:40 <ais523> izabera: I don't have enough concentration, it would be dangerous
01:23:01 <izabera> driving isn't dangerous
01:23:03 <izabera> come on
01:23:11 <izabera> nobody ever died driving
01:23:25 <ais523> driving without huge amounts of attention and awareness of your surroundings is dangerous
01:23:30 <ais523> I once managed to walk into a car :-(
01:23:36 <ais523> (luckily it was waiting in traffic at the time)
01:23:43 <ais523> even in retrospect I'm not entirely sure how
01:23:52 <izabera> you managed to walk into a car that wasn't even moving?
01:23:58 <ais523> yes
01:24:34 * izabera smells insurance fraud
01:24:50 <ais523> I didn't claim insurance on it! it was definitely my fault
01:24:54 <ais523> also the car was uninjured
01:24:59 <ais523> so it had no reason to claim insurance either
01:25:22 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:25:52 <izabera> i'd be pretty impressed if you managed to actually damage a car by walking into it
01:25:58 <izabera> what are you, a hulk?
01:30:06 <tswett> izabera: who says it's a bug that root can't trace process 2?
01:30:25 <izabera> i don't know
01:31:10 <izabera> i think it should, and that unprivileged processes shouldn't be able to prevent root from doing something
01:33:14 <izabera> doesn't it look like a bug?
01:33:25 <zzo38> "huh, I note that zzo38 found the same problem with G0/G1 in theory as I discovered in practice" is meaning what problem do you mean exactly?
01:36:00 <ais523> zzo38: that if you have a character set for G0 that can represent all the characters you used, then G1 is redundant, and thus often causes problems when people try to use it because it turns out not to be the character set they expected
01:36:56 <ais523> and (probably due to termcap) a lot of programs assume things about the contents of G1 without forcing those assumptions to be true
01:37:46 -!- vanila has quit (Quit: Leaving).
01:39:06 <oerjan> ais523: i have a driver's licence which i got when i was 18, but in my 30s i stopped feeling confident enough to drive, for much the same reason as you
01:40:06 * oerjan isn't even sure if the licence is still valid, he vaguely recalls reading somewhere that they might start expiring them.
01:40:43 <izabera> you sound old
01:41:40 <oerjan> 45
01:41:43 -!- mihow has joined.
01:41:55 <izabera> old
01:41:59 <izabera> sorry
01:42:07 <oerjan> OOOLLD *COUGH*
01:42:16 * oerjan waves cane at izabera
01:44:26 <oerjan> i suppose it didn't help that i only drove regularly in the brief year or so from i got the license until my dad's old car caught fire
01:46:03 -!- earendel2 has joined.
01:46:04 <oerjan> (the worst part of which wasn't the car itself - i got out quickly enough - but that my mother stormed out of the house just as the entrance filled with smoke, we couldn't get in again and the whole house had to be washed down)
01:47:07 -!- earendel2 has left.
01:47:08 -!- Alejandro15 has joined.
01:47:15 -!- earendel has quit (Ping timeout: 264 seconds).
01:47:18 <oerjan> because she left the door open
01:49:47 -!- Alejandro15 has left.
01:50:24 * oerjan resolves to drop funny anecdotes and stick to puns
01:50:38 -!- earendel has joined.
01:59:03 <quintopia> oerjan: actually i think thats the most enjoyable thing ive yet heard from you
01:59:52 <oerjan> <b_jonas> lua is a good choice, it's just that very few languages like this do determinism <-- some people are having a heap of trouble trying to get ghc to produce deterministic output to work better with nix-style management
02:00:22 <oerjan> quintopia: yay! i ... think?
02:00:32 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
02:02:36 -!- boily has quit (Quit: RETROSPECTIVE CHICKEN).
02:02:41 -!- lynn has joined.
02:06:31 <zzo38> Do you know what all of the atoms in the X server mean? I happen to have many atoms installed, many of which I do not know what they are for. There is one that says "ENLIGHTENMENT_DESKTOP" even though I do not use Enlightenment, there is stuff starting with "_NET_SYSTEM_TRAY" even though I do not use a system tray, as well as "IM_PROTOCOLS" and "IM_REMOTE_COMMAND" and various others. There is also "Editres" which has been added recently and I don'
02:08:01 <oerjan> <quintopia> did someone tell me something <-- I DON'T KNOW
02:10:01 <izabera> linux kernel is the best code
02:10:17 <izabera> like, there's a function that calls write_unlock_irq()
02:10:27 <izabera> ok let's look it up, oh it's a macro
02:10:59 <izabera> it's only a wrapper around _raw_write_unlock_irq()
02:11:04 <izabera> ok let's look that up
02:11:29 <izabera> this is defined twice as a macro, and once as a function
02:11:56 <izabera> ok now i'm a bit lost, which one is my code calling
02:12:38 <izabera> a minute of guesswork later, ok it must be macro#2, ok let's look that up
02:12:50 <izabera> this is a macro that calls __raw_write_unlock_irq()
02:12:55 <izabera> -_-
02:13:13 <izabera> and finally this is a function that does something
02:13:26 <izabera> so i hate this code
02:13:51 -!- hppavilion[1] has joined.
02:14:02 <oerjan> <ais523> what's the point in having a Spanish welcome command if you have to be Spanish to remember how to spell it <-- you can do `? welcome.es in a pinch hth
02:31:31 -!- mihow has quit (Quit: mihow).
02:38:22 -!- mihow has joined.
02:43:54 <mad> hmm
02:48:10 <mad> got to the "register alias table" part of the cpu design and I'm worried it will have too many read/write ports
03:01:10 -!- lynn has quit (Ping timeout: 252 seconds).
03:03:04 -!- lleu has joined.
03:14:42 -!- XorSwap has quit (Quit: Leaving).
03:15:40 -!- mihow has quit (Quit: mihow).
03:36:48 -!- adu has joined.
03:42:15 <Sgeo__> AlphaGo match starting in 19 minutes: https://www.youtube.com/watch?v=vFr3K2DORc8
03:42:30 <pikhq> Woot.
03:45:03 <adu> hi all
03:45:50 <mad> the stream comments are like...
03:47:55 <Sgeo__> I hid chat
03:48:07 <pikhq> Smart.
03:49:15 <tswett> Ahh, everyone loves the neural net.
03:49:22 <tswett> 22:01:38: <HackEgo> ​~hackenv/bin/bash: sek ais523 \ strcc \ stories: \ \ bin/force \ the program \ xtw> \ side x \ path \ $1 \ cat \ chr \ import 0 \ every \ hackenv \ test \ drag (A fisher \ meops \ create \ format \ report \ complaints \ press \ run \ she \ cannot program \ wisdom/general \ loop \ fizzie \ was a programming language used to see it is not an application to the Unicode '.
03:49:55 <ais523> it has the ba kslash pattern right
03:50:00 <ais523> *backslash
03:50:12 <mad> I wonder what's the fourier transform of the ulam spiral
03:50:33 <tswett> It gets a lot of things right.
03:51:23 <tswett> Like, say, the names of the users in the channel.
03:51:34 <tswett> It pretty much never uses a nick that isn't a real one.
03:52:00 <ais523> are the timestamps neural net generated too?
03:52:36 <pikhq> I think that watching this stream is a condition of my employment contract or something.
03:53:03 <adu> mad: what's the square root of blue?
03:53:05 <tswett> ais523: yeah.
03:53:10 <tswett> It's reasonably bad at making timestamps.
03:53:35 <tswett> This version of the neural net makes up the minute and second components randomly every time, not paying any attention to the last timestamp.
03:53:42 <ais523> this is one of the more hyped up streams I've seen, multiple channels advertising it
03:53:54 <tswett> The hour tends to stay the same from one message to the next, but it frequently fluctuates.
03:53:58 <ais523> will there be good commentary? I know how to play Go but am really bad at it
03:54:06 <pikhq> I don't actually know. I hope so.
03:54:11 <pikhq> And likewise.
03:54:11 <tswett> It generates some interesting URLs. Y'all've seen the URLs it generates.
03:54:13 <tswett> 21:54:19: <ais523> see http://www.okairffimelohaspe.com/Zomisoserencridule/Jonus/rtfactbrlEIULer-tomicfopic_Page/newer
03:54:34 <tswett> Ah yes, okairffimelohaspe.com/Zomisoserencridule is one of my favorite websites.
03:55:01 <ais523> I'm afraid to click the link now
03:55:03 <tswett> It has some really great tomicfopic pages about rtfactbrlEIULer.
03:55:15 <ais523> also would I really recommend a website like that?
03:56:15 <tswett> I dunno.
03:56:30 <tswett> That's one of the more baroque URLs it's ever generated.
03:56:40 <tswett> Fun fact: it likes to use .html as a top-level domain.
03:56:47 <prooftechnique> TrueWhat stream are we watching?
03:57:05 <prooftechnique> *-True Apparently I was midsentence somewhere else
03:57:38 <pikhq> prooftechnique: https://www.youtube.com/watch?v=vFr3K2DORc8
03:57:42 <tswett> Oh yeah, it generates boily's quit messages, too.
03:57:43 <tswett> 22:05:11: -!- boily has quit (Quit: IAPICINN CHICKEN).
03:57:56 <tswett> Usually it puts an actual word there.
03:57:58 <ais523> tswett: have ICANN approved .html yet?
03:58:04 <tswett> I dunno.
03:58:25 <ais523> +
03:58:41 <prooftechnique> I have no idea how anyone keeps up with that chat :v
03:58:48 <pikhq> The answer is "you don't"
03:59:09 <prooftechnique> How's AlphaGo doing?
03:59:10 <tswett> By the way, speaking of neural nets...
03:59:11 <tswett> http://lexiconjure.tumblr.com/
03:59:19 <tswett> Example:
03:59:30 <tswett> "chrismatic, adj. [ECOLOGY] (of a plant or flower) having a christic crystal or deposit. late 19th century: from Greek khrisma ‘creeping shape’ + -IC."
03:59:38 <tswett> My favorite part is how it generates plausible etymologies!
03:59:53 <tswett> I'm pretty sure there's no such Greek word as "khrisma".
04:00:10 <tswett> But that sounds like a Greek word, and it sounds like the sort of Greek word that could have yielded "chrismatic".
04:00:25 <pikhq> Sure there is, it means "Krishna"
04:00:27 <prooftechnique> tswett: http://www.etymonline.com/index.php?term=chrism
04:00:28 <ais523> is "christic" a real word?
04:00:42 <prooftechnique> khrisma is an unguent, apparently
04:00:48 <tswett> Sure enough, there is such a Greek word as "khrisma".
04:01:14 <tswett> Wiktionary says "christic", lowercase, isn't a real word, but "Christic" means "of or relating to Christ".
04:01:20 <prooftechnique> There might even be a real plausible definition of chrismatic, knowing that :D
04:01:36 <tswett> Also from Greek, of course. "Khristos".
04:01:59 <tswett> Which is, unsurprisingly, related to "khrisma".
04:02:30 <prooftechnique> I could see chrismatic as meaning "characteristic of a chrismatory"
04:02:57 <tswett> I would imagine "christic" would mean something like "relating to ointment".
04:03:12 <ais523> hmm, looks like the stream has broken
04:03:29 <mad> no pic
04:03:31 <prooftechnique> Had to reload
04:03:32 <ais523> ah, there it is
04:03:37 <ais523> prooftechnique: nah, that's just coincidence
04:03:53 <ais523> it was broken for everyone
04:03:58 <tswett> There could be plants which exude an oily substance, and this substance could be dubbed "chrisma". Then the adjective form of that could be "christic", and the plants that exude that substance could be called "chrismatic".
04:04:08 <prooftechnique> True
04:05:00 <ais523> you'd think alphago would respond to an opening move faster
04:05:07 <ais523> there aren't that many opening moves played in top-level play
04:05:11 <ais523> so you could have answers to them precalculated
04:06:17 <tswett> I really like this definition: http://lexiconjure.tumblr.com/post/140628512630/roporation The net says that it's from the Latin verb "roporare".
04:07:22 <tswett> The etymology of "pupple" is given as "Middle English (in the sense ‘assembly, trick’): perhaps related to Old French poper ‘to pop’."
04:08:02 <ais523> hm, "roporation" seems to be similar to "anthropomorphization" or "personification", except that it reflects an actual person who just happens to be very similar to the personification of an event
04:09:35 <ais523> this is a concept that I don't think had a word before
04:09:49 <ais523> OTOH, I'm not sure it needs one
04:10:13 <prooftechnique> The Humanoid Typhoon?
04:11:16 <ais523> also, an "activity or event" is the thing that's represented
04:11:37 <tswett> "[count noun] a person or thing that is represented by a particular activity or event: the roporation of the South African people."
04:11:42 <ais523> and from the other definitions, I get the sense that it's representing a social movement or group
04:12:00 <ais523> like, there might be a roporation of communism, or of a political party
04:12:15 <tswett> You usually think of people representing movements and whatnot, not the other way around.
04:12:25 <tswett> Though, come to think of it...
04:12:48 <tswett> There certainly are activities and evntsthat represent people and things. Like... plays and perormances.
04:15:44 <oerjan> there are people representing movements, but there are also movements lenin the other way
04:17:08 <prooftechnique> When I first read about AlphaGo being a big deal, was it Fan Hui that was taken as not a big deal for having been beaten, or was it that Lee Sedol wasn't a power player despite being 9-dan?
04:17:24 <prooftechnique> I remember there being some kind of minimization of one matchup or the other
04:17:47 <pikhq> Fan Hui.
04:18:08 <pikhq> Lee Se-dol is generally regarded as being the top player.
04:18:30 <prooftechnique> Thanks
04:18:40 <pikhq> This is akin to Deep Blue v. Kasparov here.
04:19:06 <prooftechnique> That was the impression that I got when this match was talked about, yeah
04:19:27 <tswett> Kasparov, Deep Blue, 1996?
04:19:40 <tswett> You could never predict it, that it could see through you.
04:20:05 <ais523> well Deep Blue lost the first sequence against Kasparov
04:20:51 <pikhq> Fan Hui was a quite impressive win though; first time a computer Go program has beaten *any* professional Go player, period.
04:23:34 <prooftechnique> Is there a separate stream without these guys talking in the middle of my screen?
04:24:30 <ais523> I wonder if the same technique would work in Chess (good brute-forcer + neural net for position analysis)
04:30:28 <prooftechnique> ais523: https://chessprogramming.wikispaces.com/Brainless
04:30:31 <prooftechnique> Like that?
04:31:19 <mad> the commenter said chinese taipei
04:31:22 <pikhq> It probably would. IIRC this technique was applied for some other things, like Atari 2600 games...
04:31:25 <pikhq> LOL.
04:31:28 <ais523> mad: and implied it was a different country from China
04:31:31 <ais523> may get in trouble for that
04:32:41 <tswett> "Chinese Taipei" is the international neutral appellation for it, isn't it?
04:32:45 <ais523> especially if representing Google
04:32:46 <prooftechnique> Good enough for the Olympics, good enough for go?
04:33:09 <mad> nobody calls it chinese taipei
04:33:11 <ais523> tswett: this is why you get "country or region" dropdowns on websites, installers, etc.
04:33:20 <tswett> Yup.
04:33:21 <ais523> nobody disputes the existence of Taiwan as a country or region :-)
04:33:26 <mad> except the olypics for stupid dipplomatic reasons
04:33:50 <tswett> Don't the Boy Scouts have a policy of calling it "Taiwan, Province of China"?
04:34:37 <ais523> I have no idea
04:34:46 <mad> ais523 : ehh
04:34:51 <prooftechnique> Duc A. Hoang: Independent Taiwan!!!!Independent Taiwan!!!!
04:36:01 <ais523> hmm, which country is it that #esoteric claims doesn't exist?
04:36:05 <ais523> I guess it might be like that
04:37:06 <pikhq> Bielfeld?
04:37:14 <tswett> Antarctica?
04:37:23 <tswett> `? antarctica
04:37:33 <HackEgo> antarctica? ¯\(°​_o)/¯
04:37:48 <tswett> `le/rn antarctica/There's no such country as Antarctica.
04:37:54 <HackEgo> Learned «antarctica»
04:37:55 <oerjan> ais523: canada hth
04:38:03 <oerjan> `? tswett
04:38:04 <HackEgo> tswett is livin' it up with the penguins. He's a title under the cruxite in the lathe.
04:38:17 <oerjan> i'm pretty sure tswett is just trying to hide his whereabouts
04:38:21 <tswett> I'm a what the fuck now?
04:38:27 <tswett> `culprits wisdom/tswett
04:38:29 -!- adu has quit (Quit: adu).
04:38:29 -!- treaki_ has joined.
04:38:33 <HackEgo> tswett oerjan oerjan elliott Taneb
04:38:44 <tswett> Hmmmm.
04:38:57 <tswett> So does that mean that the last person to edit it was... me?
04:41:24 <ais523> tswett: no, you were the first
04:41:31 <tswett> Ah.
04:41:33 -!- treaki__ has quit (Ping timeout: 240 seconds).
04:43:01 <oerjan> surely last
04:43:28 <oerjan> `url wisdom/tswett
04:43:30 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/wisdom/tswett
04:44:14 <oerjan> tswett: yep, you were the last
04:45:18 <ais523> commentator predicts alphago's move just before it happens, it was that obvious :-)
04:45:25 <ais523> they just assumed it had already played it
04:45:40 <ais523> and lee sedol thought it would play it too and had his next move lined up
04:46:20 <tswett> So I'm the one who added the "he's a title under the cruxite in the lathe" part?
04:46:29 <pikhq> Least it made the reasonable move.
04:46:47 <tswett> What the heck does that mean?
04:47:26 <tswett> All right, I have a neural net which generates etymologies. It's currently terrible at it.
04:48:44 <tswett> Here's the etymology of "atifs" or "aeaniginate" or "bistion" or "blingle" or "chichenct" or "eitholinige" or "dissentic" (the neural net is really confused about this):
04:48:51 <ais523> well so far I've figured out that the size 2 black group in the middle is in danger of being captured
04:48:56 <ais523> alphago could force its capture with one more move
04:49:13 <ais523> ofc, not being a go professional, I'm not sure what the best way to protect it is or whether it's worth saving
04:49:47 <lifthrasiir> `wisdom lifthrasiir
04:49:47 <tswett> 1570s, from sord had spartict," from Old English hescentem, Ced- "and Englive (Cardonive te shongint of the bu-stend, the uanct, from -in, Mid-Englash contion usesily or tho onigh to from [a failed attempt at an HTML character entity] " It a counce dergal," a tond forme."
04:49:49 <HackEgo> lifthrasiir/lifthrasiir is shunned by the rest of his country for being no good at League of Legends.
04:50:06 <lifthrasiir> I should append "and Go" to this wisdom
04:50:58 <prooftechnique> Is that where wisdom lives, now?
04:51:03 <ais523> hmm, I made a valid tactical inference by myself!
04:51:06 * ais523 is proud
04:51:12 <ais523> prooftechnique: well it's not all that wise
04:52:34 <prooftechnique> I wonder how far out of sync this github repo is :|
04:53:15 <tswett> Come on, neural net! Come out with your second version!
04:53:56 <prooftechnique> I hope AlphaGo is watching the stream and smirking about the analysts
04:54:09 <prooftechnique> Or, like, engaging its smirk subroutine or whatever
04:57:04 <oerjan> did the stream break again
04:57:13 <prooftechnique> Not for me
04:58:08 <oerjan> bah it needed a reload
04:58:48 <lifthrasiir> prooftechnique: and the stream would be flooding with nonsense moves
04:59:00 <tswett> Dang it, the second version doesn't seem to be able to remember words either.
04:59:12 <prooftechnique> lifthrasiir: True
05:02:36 <prooftechnique> tswett: Second version of what?
05:02:44 <tswett> The neural net.
05:03:13 <prooftechnique> A particular one?
05:03:36 <tswett> Yeah, the one I'm training on Harper's OED.
05:03:42 <prooftechnique> Oh, neat
05:03:49 <tswett> (The Online Etymology Dictionary, etymonline.com.)
05:09:03 <tswett> In tonight's Democratic primary in Michigan, Clinton County is 56% for Sanders.
05:09:15 <tswett> She couldn't even win her own county.
05:09:43 -!- lynn has joined.
05:10:10 <tswett> (But she did win several other counties in Michigan.)
05:10:11 <prooftechnique> I guess we'll have to see how Sanders County, Montana shakes out
05:12:33 <prooftechnique> Ugh, it's not till June? America is the worst. :| I long for the day when we have a few weeks of campaigning, a week or two of voting, and then some results.
05:20:32 -!- earendel has quit (Read error: Connection reset by peer).
05:20:50 <ais523> do the Republicans have counties named after them?
05:22:37 <prooftechnique> There's a Santa Cruz County
05:24:48 <ais523> the past few moves have been hilarious
05:24:56 <ais523> they're both just making vertical lines down the board
05:27:30 <lifthrasiir> ais523: AlphaGo won in Gomoku
05:28:30 -!- earendel has joined.
05:29:00 <coppro> I want to go to bed
05:29:03 <coppro> but...
05:29:14 <coppro> is "I was watching the Go match" a valid reason to be late to work?
05:29:38 <ais523> depends on where you work
05:29:45 <ais523> you could watch it "as live" later, I guess
05:29:55 <coppro> yeah; tough though
05:30:06 <ais523> lifthrasiir: Gomoku strategy is pretty different, really
05:30:09 <pikhq> Is "I was watching the Go match" if it's your employers?
05:30:20 <pikhq> *employers'
05:30:23 <ais523> I've beaten Emacs at Gomoku on occasion
05:31:15 <lifthrasiir> ais523: yeah, but Gomoku-like long rows in a line occasionally appear in Go as well
05:31:27 <lifthrasiir> anyway, I'm not good at either
05:31:55 <ais523> it's more that, if someone starts making a line in Gomoku
05:31:57 <ais523> you have to block it
05:32:01 <lifthrasiir> yup
05:32:02 <ais523> in Go there's no real reason to do that
05:32:28 <lifthrasiir> in the current match we have two lines of six stones each :p
05:33:11 <coppro> That was quite the move
05:36:45 <ais523> which one? lee sedol's most recent?
05:37:21 <lifthrasiir> I've heard that the most recent move from AlphaGo was a quite mistake
05:37:25 <lifthrasiir> quite a*
05:40:33 <coppro> ais523: at the time, yes
05:40:54 <coppro> the play on the (3,6), making claim to all the territory between it and the wall
05:45:35 <prooftechnique> What a breathless compliment
05:47:06 <prooftechnique> When AlphaGo develops a drinking problem, this will all seem darkly prophetic
05:48:37 <ais523> according to the commentators it's a standard attack, and possibly even in alphago's database
05:49:44 <ais523> but yes, it's a big aggressive thing to do
05:49:51 <ais523> and the sort of thing you can do if given a spare move
05:52:05 <prooftechnique> Lee Se-dol is so quick
05:58:15 <ais523> ooh, that was unexpected
05:58:20 <ais523> (white move near top right corner)
05:59:30 <coppro> yeah, interesting
06:03:45 -!- J_Arcane_ has joined.
06:04:19 -!- J_Arcane has quit (Ping timeout: 252 seconds).
06:04:25 -!- J_Arcane_ has changed nick to J_Arcane.
06:20:54 -!- lambda-11235 has quit (Quit: Bye).
06:22:58 <hppavilion[1]> I would like to play a logarithmic growth game
06:24:03 -!- gde33|2 has quit (Ping timeout: 244 seconds).
06:38:00 -!- gniourf has quit (Ping timeout: 244 seconds).
06:40:50 <ais523> hmm, this is the sort of position I'd expect to see in a computer v human game
06:41:04 <ais523> the human looks to have an edge in each area, but it's not certain
06:41:18 <ais523> the computer may well know already that the result isn't as favourable as it looks
06:43:06 <zzo38> I expect that even some chess problemists might rarely or never play the game, but how common is it?
06:48:20 <ais523> there haven't been any captures yet
06:48:36 <ais523> mostly because actually capturing something is mostly pointless unless you're forced
06:48:49 <ais523> so the captures may wait until near or after the end of the game
06:52:26 -!- gniourf has joined.
06:53:23 -!- ^v has quit (Ping timeout: 248 seconds).
06:55:51 -!- ^v has joined.
06:56:29 <ais523> capture!
06:56:31 -!- AnotherTest has joined.
07:00:58 -!- AnotherTest has quit (Ping timeout: 252 seconds).
07:08:36 <b_jonas> “<ais523> ooh! does anyone know a good library for doing operations like wcwidth() that uses char32_t rather than wchar_t (which doesn't handle astral planes on Windows)?” => um, can you use libicu for that? you might not want that for uncursed since it's a big depencency you don't want to add to nethack, even if you only use its C interface though.
07:09:31 <ais523> ideally something small and permissively licensed (for NGPL compatibility)
07:10:10 <b_jonas> ais523: also, there's a small standalone wcwidth implementation with a built-in table somewhere in the urxvt source in the etc directory iirc, taken from somewhere else, but not currently used by it
07:11:41 <b_jonas> ais523: also, I'll check if the boost locale library (of which the name refers to localization in a broad sense, not in the unix/C sense of locale)
07:12:23 <hppavilion[1]> Um. http://cheezburger.com/78651649/video-brazzers-meme-porn?ref=kymhottoday
07:13:07 <prooftechnique> hppavilion[1]: Now what's what I call podracing
07:15:22 <prooftechnique> Sorry, "now *this* is podracing"
07:16:11 <b_jonas> “<ais523> do the Republicans have counties named after them? => sort of. lots of countries have full names ending in “Republic”.
07:17:22 <int-e> morning
07:17:39 <oerjan> int-e: morning
07:17:42 <shachaf> hint-e
07:18:14 <prooftechnique> So, who's winning?
07:18:17 <oerjan> int-e: we're all looking at https://www.youtube.com/watch?v=vFr3K2DORc8 hth
07:18:29 * int-e is looking at a relay on KGS
07:18:41 <oerjan> (also i'm looking at girl genius in the other tab)
07:19:43 <int-e> apparently pro players like Alphago's position
07:20:21 <b_jonas> ais523: all three are mentioned are permissively licensed. ICU is under a custom BSD-like license, see http://source.icu-project.org/repos/icu/icu/trunk/LICENSE
07:20:32 <oerjan> i hope it has time under control :/
07:20:38 <hppavilion[1]> b_jonas: Liberia
07:20:40 <b_jonas> ais523: boost is under a custom license that I think is mozilla-like
07:21:08 <b_jonas> but I think the boost locale library doesn't help probably
07:21:08 <hppavilion[1]> Oh! It's live!
07:21:21 <b_jonas> so let me check that small file distributed with urxvt
07:21:29 <int-e> it has a minute per move forever...
07:21:43 <int-e> time won't be an issue, I think, not for Alphago at least.
07:21:44 <prooftechnique> hppavilion[1]: Technically, only one of them is alive
07:22:05 <hppavilion[1]> prooftechnique is going to hell
07:22:37 <int-e> oerjan: if you're referring to girl genius, I'll get there in the evening...
07:22:42 <hppavilion[1]> Unfortunately, I don't understand Go xD
07:23:18 <b_jonas> ais523: http://cvs.schmorp.de/rxvt-unicode/doc/wcwidth.patch?revision=1.6 which says it comes from http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
07:23:36 <prooftechnique> My boss apparently just heard about the singularity, and I wanted to ruin his working vacation with a basilisk, but then I wondered if it would be more vindictive not to mention it at all
07:23:43 <b_jonas> ais523: if you want something small, then look at this one.
07:24:18 <int-e> oh and I see comments by people who believe this is still the october version... "basically alphago is playing on infinite 13x13 boards" may no longer be true.
07:25:16 <b_jonas> ais523: as that code currently exists, it takes a wchar_t, but it's simple enough code that you can modify it to work on windows and take a different type
07:25:29 <int-e> (this is a theoretical bound that comes from one layer with 2 squares context and 11 layers with one square context in the convolutional network architecture they use... for both networks? I forgot what the architectural difference was.
07:25:46 <int-e> )
07:27:51 <int-e> But they had time and resources enough to retrain a deeper network, I think, if they thought it worth trying out.
07:31:48 <prooftechnique> If this were an anime, this would be the moment that Lee Se-dol determines a weakness in AlphaGo, and realizes that all he has to do is wait out the clock to confuse the neural net. This would be followed by dense internal monologues, and then a furious back and forth until the conclusion of the match.
07:33:04 <ais523> b_jonas: thanks
07:33:43 <ais523> so, anyone know what the score in that game would have been?
07:33:44 <int-e> lee resigned, apparently?
07:33:47 <ais523> int-e: yes
07:34:05 <ais523> played one of his opponent's stones, which everyone interpreted as resigning as you don't do that by mistake
07:34:19 <hppavilion[1]> prooftechnique: Which one is the one that's alive? I would guess Deep Mind
07:35:08 <prooftechnique> AlphaGo is British, apparently, so referring to it as "alive" may be a stretch
07:35:15 <int-e> I've seen estimates like W+3.5 floating by (professional player counting; people were relaying bits from various broadcasts)
07:39:39 <lifthrasiir> int-e: I've seen W+4.5, probably within an error bar
07:40:24 <ais523> apparently it was about 20 minutes from the end that the professionals realised that alphago had won
07:40:37 <ais523> so, behind on board, ahead by komi
07:40:40 <ais523> which is why it looked like it was losing
07:40:50 <ais523> it was, if you don't take the fact it went second into account
07:43:15 -!- oerjan has quit (Quit: and GOod night).
07:44:16 <int-e> hmm, something seems to have gone wrong in the opening, move 23 allowing white to cut off black's m14 stones perhaps? black had to struggle to settle those stones... there will be interesting game reviews later I'm sure.
07:44:52 <ais523> a komi win, it's hard to judge what went wrong
07:45:03 -!- J_Arcane has quit (Ping timeout: 240 seconds).
07:45:10 <ais523> because black didn't necessarily do anything to lose parity
07:45:15 <ais523> just they failed to gain
07:45:51 <int-e> the lead may have been larger... if this is like other monte carlo bots then it excels at playing safely (giving up a point here or there just to keep the game simple)
07:46:12 <ais523> well, it's specifically designed to aim for a win, not for winning by the maximum possible margin
07:46:16 <prooftechnique> Is the komi 6.5 or 7.5?
07:46:23 <int-e> anyway, I have no clue
07:46:27 <ais523> it'll prefer a 100% chance of a 0.5 point win than a 50% chance of a 10.5 point win
07:46:29 <ais523> prooftechnique: 7.5
07:46:34 <int-e> 7.5, area counting (chinese rules)
07:46:49 <ais523> technically 3.75 as area scoring values are half as large
07:47:05 <int-e> which for almost all final position has the same effect as 6.5 komi with area (japanese) counting.
07:48:23 <ais523> area scoring makes so much more sense for computer go, though
07:48:25 <ais523> because it's objective
07:48:32 <ais523> that's probably why they're using it
07:48:32 -!- tromp has quit (Remote host closed the connection).
07:48:47 <int-e> (exceptions include sekis with eyes and one-sided dame... I expect senseis.xmp.net has pages on those)
07:48:50 <b_jonas> For this go game, it's basically impossible to verify that Alphago isn't using human assistance, right?
07:49:12 <int-e> b_jonas: right
07:49:37 <ais523> b_jonas: game 2 of kasparov vs. deep blue was widely accused of having human interference
07:49:47 -!- bender|_ has joined.
07:49:49 <int-e> but why would Google/Deepmind take that risk?
07:49:53 <ais523> especially when it got a draw in a won endgame
07:50:46 <b_jonas> Did they at least try to collect the few hundred best Go players to the hotel or something to show that they in particular aren't assisting? That would be expensive.
07:51:17 <b_jonas> int-e: it's business, and it might be worth if they're confident that their computer player is so good that in a few years it will beat humans
07:51:26 <int-e> Apparently Ke Jie was on Korean TV, commenting on the game.
07:51:29 <b_jonas> int-e: so I dunno, I'm just asking
07:51:47 <ais523> also the player that Alphago lost to in the previous series is the referee of this one
07:51:59 <prooftechnique> I prefer the mechanical Turk hypothesis. They couldn't teach a computer to play go, so they just spent all their budget on training a world-class player to hide in a box
07:52:19 <ais523> but anyway, there are a ton of potential ways to cheat that would be hard to catch
07:52:30 <ais523> networking via injecting DC into the AC power outlets is a fun one
07:52:46 <b_jonas> prooftechnique: they don't even need to hide in a box. technology has improved past that stage. the player is at leisure at home messing with his computer.
07:52:55 <int-e> Fan Hui being referee would be odd to my mind; Fan Hui has been hired by deepmind...
07:52:58 <ais523> (it's unlikely anything would notice unless you specifically connected a DC multimeter to the socket, and you'd be unlikely to think of doing that)
07:53:17 <int-e> And he commented in the KGS broadcast during the game, so I bet he didn't referee.
07:53:20 <b_jonas> ais523: since it's running on a huge server park, they don't even need anything like that, because it's impossible to put that many servers in an isolated box that anyone can verify
07:53:32 <prooftechnique> Play the next round in a Faraday cage!
07:53:34 <ais523> int-e: hmm, must have misunderstood the commentators then
07:53:52 <prooftechnique> With a gas generator for AlphaGo
07:54:01 <b_jonas> prooftechnique: even that might not help
07:54:53 <ais523> visible light can get through a faraday cage
07:54:57 <ais523> you could use a laser for networking
07:55:01 <b_jonas> prooftechnique: both because there's no perfect enough faraday cage of the right size that covers all frequencies of EM you can communicate on (eg. would the go player have to sit in a dark room?), and because of non-EM stuff
07:55:02 <ais523> so can ultrasound
07:55:06 <b_jonas> yes, what ais523 says
07:55:49 <prooftechnique> Frankly, I think it'd be simpler to just get one of their robot cars to take out Lee Se-dol than go through all that
07:56:14 <ais523> prooftechnique: murdering your opponent wouldn't demonstrate that you had the better AI, though
07:56:15 <b_jonas> prooftechnique: um, defeating Lee Se-dol in particular isn't the point
07:56:17 <ais523> even if it made you win the series
07:56:40 <prooftechnique> ais523: Better go AI? Maybe not. Better murderbot AI? Checkmate.
07:56:41 <hppavilion[1]> Has game theory expanded to cover The Game (so sorry)? I've heard that it was created to not fall in line with game theroy
07:56:54 <ais523> which one?
07:57:20 <prooftechnique> b_jonas: No, but it does reshuffle the rankings a bit
07:57:40 <ais523> if you're talking about the mind game, its rules are incorrect, which kind-of implies that they're not rules (which you'd expect to be imperatives, rather than statements that have a truth value)
07:57:53 <hppavilion[1]> ais523: Ah?
07:57:55 <ais523> and it's also not a game in the sense that it involves no choices
07:58:06 <hppavilion[1]> ais523: The Game as in the one where thinking about it makes you lose
07:58:10 <ais523> right
07:58:34 <b_jonas> prooftechnique: sure, but it was demonstrated like several decades ago that machines have a big advantage over humans in the area of murdering squishy humans
07:58:47 <ais523> so that has three rules, which I'm not going to quote here because either you already know what they are, or else learning what they are will cause people to act in annoying ways towards you
07:58:49 <int-e> I wonder when (or whether) Google will reveal how much hardware they are using this time...
07:58:50 <prooftechnique> True
07:59:07 <b_jonas> like, basically at the point of usable automatic weapons at the latest
07:59:10 <int-e> Anyway, later.
07:59:12 <b_jonas> but possibly earlier
07:59:13 <ais523> rule 3 is the problematic one, in that it makes a statement that clearly isn't true (also attempts to apply itself to people who aren't playing the game)
07:59:25 <ais523> and rules 1 and 2 give you no choices
07:59:46 <ais523> both are of the form "when X happens, Y happens", with no choice in the matter
07:59:54 <ais523> also the game doesn't actually have a win condition
08:00:05 <ais523> so the whole thing is degenerate from the point of view of game theory
08:00:11 <ais523> you only have one move, and it only has one outcome
08:00:20 <ais523> game theory's about things like finding the optimal strategy
08:00:23 <ais523> but that's kind-of trivial here
08:00:35 <hppavilion[1]> ais523: "However, The Game may have been created in 1977 by members of the Cambridge University Science Fiction Society when attempting to create a game that did not fit in with game theory."
08:00:35 <int-e> is it one of those "the only way to win is not to play" deals?
08:00:42 <prooftechnique> ais523: Zero-sum game?
08:00:52 <prooftechnique> Assuming your utility function is "make other people lose"
08:00:53 <hppavilion[1]> int-e: Nope; there's a rule that you are necessarily playing it and you can't opt out
08:00:54 <ais523> int-e: sort-of; playing guarantees you lose, not playing is not considered a valid method of winning though
08:00:58 <int-e> but then not playing should be modeled as an option before applying the theory ;)
08:01:12 <ais523> rule 3 claims that everyone is playing it, which I can't see as anything other than a false statement
08:01:33 <int-e> only if I accept the rules... but then we're in legal territory now.
08:01:36 <hppavilion[1]> ais523: It's just defining the players as S_b
08:01:41 <ais523> prooftechnique: yes, people who are "actively" playing the game normally seek to make other people lose, as there's not much else you can do
08:01:50 <ais523> int-e: this is my argument too
08:01:53 <int-e> but I seriously need to go
08:02:04 <ais523> just because rule 3 claims to apply to nonplayers doesn't mean that it actually does
08:02:24 <hppavilion[1]> ais523: S_b = every sentient being in the multiverse
08:02:31 <hppavilion[1]> Just think of the beauty of that
08:02:35 <hppavilion[1]> No matter where you co
08:02:36 <hppavilion[1]> *go
08:02:51 <ais523> fun fact: if I make enough contradictory statements about rule 3, it'll cause enough uncertainty about the ruleset to cause the game to cease to exist
08:02:55 <hppavilion[1]> No matter how many start systems or galaxies or dimensions you cross
08:03:06 <hppavilion[1]> Any time you encounter a being capable of thought
08:03:09 <hppavilion[1]> They're playing the game
08:03:13 <ais523> as it's only defined by its rules, and if people disagree about what those are…
08:03:33 <ais523> incidentally, Wikipedia once had a version of rule 3 which is a trivially true, rather than trivially false, statement
08:03:38 <ais523> in an attempt to construct something that wasn't clearly absurd
08:03:41 <ais523> but the whole game just doesn't owrk
08:03:57 <hppavilion[1]> ais523: So they failed at making a game that didn't fit with game theory, not by making a game that falls under game theory, but by not making a game?
08:04:11 <ais523> hppavilion[1]: yes
08:05:00 <hppavilion[1]> ais523: Ah
08:05:10 <hppavilion[1]> ais523: Would formal game theory be a good basis for a Nomic?
08:05:17 <ais523> and when people actually treat it like a game, it's because they're following some sort of private ruleset
08:05:32 <ais523> that's different from the actual game
08:05:38 <ais523> most of those do fit into the system of game theory
08:06:47 <ais523> as for nomic, game theory is pretty bad at handling it; it theoretically works but a) as an obvious consequence of its nature, the models are too large to easily handle as (in extreme cases) they have to consider the entirety of the observable universe, and b) most strategies for nomic victory involve psychological/human factors, which require more information to model than is currently available
08:07:28 <ais523> e.g. it's clear that most of the time, many of the players in a nomic are not playing to its stated win condition, but rather to some personal utility function
08:07:59 <ais523> you can see the debates in Agora where people say that winning should be made more valuable to give people an incentive to win
08:08:11 <ais523> and my reply that winning is enough of an incentive to win, because isn't that what playing games is about?
08:08:42 <ais523> (that said, the reason why I consider winning in a nomic to be valuable and satisfying is because doing so normally requires some amount of skill and is designed to be nontrivial)
08:08:47 <ais523> @metar EGBB
08:08:48 <lambdabot> EGBB 090750Z 36018KT 5000 RA SCT007 BKN011 OVC017 04/04 Q0992
08:10:30 <ais523> and nomic's metawincondition normally ensures that if there are even a few people interested in being competitive, if winning is too easy, they will make it difficult by trying to change up the rules on you to make it harder as soon as they see what you're up to
08:11:30 <ais523> one of my win-arrangements in BlogNomic (i.e. someone else won but I was one of the main people causing the win to happen, which is the closest you can get to a team win in a single-winner game), the win condition was trivially easy to achieve, but there was a bunch of skill involved in preventing people changing the win condition on me for long enough to achieve it
08:12:21 <hppavilion[1]> ais523: Well, it'd be a stripped-down nomic with something to enable outside interaction
08:12:35 <ais523> hppavilion[1]: oh, I see
08:12:38 <ais523> the problem you're facing is
08:12:45 <ais523> game theory is designed for solving games
08:12:47 <ais523> not for creating them
08:12:48 <hppavilion[1]> ais523: That nomic is too big?
08:12:51 <hppavilion[1]> ais523: Ooooh
08:13:26 <hppavilion[1]> ais523: What I'm trying to get at is that you modify the internal representation of the game, including part of the game being programmed to do just that for you potentially
08:14:03 <ais523> I don't see what this has to do with game theory
08:14:06 <ais523> are you thinking of codenomics?
08:14:52 <hppavilion[1]> ais523: Yes, that's the goal
08:15:14 <hppavilion[1]> ais523: The idea is that the code describing the game is rooted in the models game theory uses
08:15:23 -!- earendel has quit (Read error: Connection reset by peer).
08:15:37 <ais523> hppavilion[1]: oh, I see
08:15:38 <hppavilion[1]> Like extensive form (but as a graph)
08:15:41 <ais523> such models are very unsuited for nomic
08:15:49 <ais523> as they're designed to be easy to analyse
08:15:51 <hppavilion[1]> ais523: Is there a better model?
08:15:53 <hppavilion[1]> xD
08:15:54 <ais523> and to contain every possibility
08:16:04 <hppavilion[1]> ais523: Should I stick with my Nomic LISP?
08:16:07 <ais523> nomics are interesting only if hard to analyse, and often most interesting when people use unexpected possibilities
08:17:18 <hppavilion[1]> ais523: So what would be a better representation?
08:18:11 <ais523> not sure
08:18:17 <ais523> I tried Prolog once, that was interesting
08:18:24 <ais523> maybe could have worked but more people would need to be involved
08:18:51 <hppavilion[1]> ais523: Is there any language family/paradigm you think would be well-suited?
08:19:05 <ais523> something that makes adding special cases retroactively easy
08:19:32 <hppavilion[1]> ais523: Perhaps
08:19:51 <hppavilion[1]> ais523: Maybe something based on pattern matching?
08:20:31 <ais523> that seems like it could work, actually
08:22:01 <hppavilion[1]> Yay!
08:24:18 -!- earendel has joined.
08:30:41 <izabera> about that ptrace problem, i found a way for any process to hide themselves from root
08:30:49 <izabera> https://arin.ga/JvvhHD/raw small example
08:31:03 <izabera> get the child's pid, then in another terminal run sudo strace -p thatpid
08:31:09 <izabera> $ sudo strace -p 14162
08:31:11 <izabera> strace: attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted
08:31:24 <izabera> so unprivileged processes can prevent root from ptracing them
08:31:27 <ais523> izabera: can't you just ptrace the ptracer and get at it that way?
08:31:36 <izabera> yes you can
08:31:53 * ais523 wonders if it's possible for two processes to ptrace each other
08:32:02 -!- bender|_ has quit (Remote host closed the connection).
08:32:06 <izabera> what if you don't know who the tracer is?
08:32:56 <izabera> there's no way to get that information in userspace, afaics
08:33:43 <izabera> other than trying literally all the processes
08:35:30 <izabera> does this look like a serious problem?
08:37:19 <ais523> izabera: it shows up in /proc/status
08:37:34 <ais523> this is how I debugged the bizarre state Web of Lies got itself into once
08:37:48 <ais523> this was back when you couldn't sigkill programs that were being ptraced without the permission of the ptracer
08:37:55 <ais523> it had somehow managed to get the real init to ptrace it
08:37:59 <hppavilion[1]> I would like to see a evolutionary biologist explain Homo economicus
08:38:02 <izabera> what should i look for in /proc/status?
08:38:04 <ais523> in the end I had to reboot the system
08:38:11 <ais523> izabera: TracerPid, I believe
08:38:41 <izabera> ah thank you
08:38:45 <ais523> (Web of Lies uses a fake init that also has PID 1, it can get confusing sometimes)
08:38:45 <izabera> wasn't aware of this
08:38:49 <ais523> (but I'm pretty sure this was the real one)
08:39:11 * ais523 thinks "who will ptrace the ptracer?"
08:39:36 <izabera> who watches the watchmen? :P
08:42:10 <izabera> anyway all i can see by tracing the tracer is that it's waiting
08:42:37 <izabera> no info on what the tracee is doing
08:44:22 -!- earendel has quit (Read error: Connection reset by peer).
08:45:45 <ais523> you have to start injecting syscalls into the tracer
08:45:59 <ais523> to get it to do trace instructions on the tracee
08:46:09 <ais523> if you're using gdb, this would be along the lines of p ptrace(...)
08:46:25 -!- earendel has joined.
08:46:43 <izabera> i see
08:48:33 <izabera> two processes can ptrace each other
08:48:41 <izabera> even parent and child
08:48:46 <izabera> and you can't attach to either one
08:49:02 -!- tromp has joined.
08:53:54 -!- tromp has quit (Ping timeout: 276 seconds).
09:07:53 -!- pikhq has quit (Ping timeout: 250 seconds).
09:24:57 -!- earendel has quit (Ping timeout: 246 seconds).
09:30:51 -!- earendel has joined.
09:31:05 -!- atehwa has quit (Remote host closed the connection).
09:33:34 -!- ais523 has quit.
09:45:14 <b_jonas> izabera: about that stuff, back some years ago I asked a somewhat related question about linux (Linux has changed a bit since, which could give new answers).
09:46:31 -!- earendel has quit (Ping timeout: 252 seconds).
09:48:32 <b_jonas> Suppose you're the admin of a linux machine, so you have root access. There's a user on that linux machine who does not (currently) have root access. You want to ban that user, preferably without causing other harm. For this, you have banned the user from ssh, cgi scripts, cron, at, etc, so that he can't start new processes. But the user currently still has some processes running on the machine.
09:49:19 <b_jonas> The question is, how to kill the processes in such a way that after that you can be sure you have killed all processes? If you just read /proc or list processes in some other way, you might be missing newly forked processes by a race condition, so a malicious process could get lucky and hide itself.
09:50:25 <b_jonas> I'm asking for a solution that can verify for certain that all processes of the user have died. If they haven't died, you can try to kill them again and redo this, and in the unlikely worst case when they won't die, you can reboot the machine, but if the user doesn't have processes that malicously fork, you'd like to avoid that.
09:50:39 <b_jonas> So find a way to either atomically kill or atomically list all processes of the user.
09:50:48 <b_jonas> We found two or three solutions in the end.
09:51:39 <izabera> interesting, what are these?
09:51:53 <b_jonas> izabera: I'll tell later, try to find your own solution first.
09:52:14 <b_jonas> Maybe someone else on the channel wants to think about it too.
09:53:12 -!- lynn has quit (Read error: Connection timed out).
09:59:48 <izabera> something something fill the process table with sleeping processes, then list the processes and kill each one of those from that user and replace it with another one that sleeps
10:01:13 <izabera> untested <.<
10:02:02 <b_jonas> izabera: that could cause a problem in that it could harm processes of other users and even processes of root unnecessarily
10:02:19 <b_jonas> izabera: the whole point is that we want to avoid harming other processes in the likely case when the user isn't doing anything that serious
10:02:24 <izabera> yeah...
10:02:36 <b_jonas> izabera: if we're ok with harming the other processes, then we can reboot
10:02:51 <izabera> was just an idea
10:02:54 <b_jonas> sure
10:15:50 -!- Sgeo__ has quit (Read error: Connection reset by peer).
10:23:53 -!- bender| has joined.
10:30:11 <hppavilion[1]> I'm a bit tempted to make a JS incremental game about stealing souls
10:44:21 <int-e> Wouldn't it be more appropriate to do it in qbasic instead, and praise Microsoft while coding...
10:49:44 -!- tromp has joined.
10:54:21 -!- tromp has quit (Ping timeout: 248 seconds).
11:06:12 -!- Slice^ has joined.
11:06:37 <fizzie> Huh, AlphaGo won the first match? Weird.
11:06:55 -!- Slice^ has quit (Max SendQ exceeded).
11:07:24 -!- Slice^ has joined.
11:08:48 <Taneb> fizzie, I'm watching the game
11:11:38 <fizzie> Is the presentation exciting?
11:14:02 <fizzie> Apparently not.
11:14:18 <fizzie> I think they should at the very least have had some blinking lights in a box for AlphaGo.
11:15:09 <Taneb> They have a computer monitor and a man looking at it and playing the moves on an actual board
11:15:30 <fizzie> Yes.
11:15:35 <fizzie> I had a look.
11:15:47 <fizzie> That's so practical^Wboring.
11:17:48 <int-e> https://gogameguru.com/alphago-defeats-lee-sedol-game-1/ has a summary of the game... seems that at least it wasn't a one-sided affair.
11:20:15 <Taneb> I don't know much about Go
11:20:24 <Taneb> All I can say so far is that they're putting stones on a board
11:20:30 <int-e> :-P
11:20:42 <Taneb> They seem to both be doing that very well
11:21:21 <int-e> w's slave is a 5 dan amateur player... not too weak
11:21:31 <int-e> w=white player
11:24:33 -!- FreeFull has quit (Ping timeout: 240 seconds).
11:30:56 <int-e> what's up with all the "the match will start in 0 seconds" at the beginning of the game...
11:31:05 <int-e> (looking at https://www.youtube.com/watch?v=vFr3K2DORc8 )
11:31:16 <int-e> also stuttering audio... meh
11:31:34 <Taneb> int-e, that gets sorted out later
11:31:36 <Taneb> Much later
11:32:43 <int-e> yeah but now I'm interested in reactions to move 7 and 23
11:34:27 <int-e> But perhaps I'm hoping for too much, at least in the deepmind video, which is meant to make sense to people who know almost nothing about go...
11:35:45 <int-e> also irritated by the demonstration board... usually people leave out "I" and start numbering at the bottom :P
11:35:48 -!- boily has joined.
11:40:29 <Taneb> The commentators have missed a pair of moves and it's annoying me because they've not pu them on the demonstration board
11:42:50 -!- earendel has joined.
11:42:52 -!- vanila has joined.
11:42:53 <vanila> hi
11:42:57 <vanila> good momrinng
11:43:56 <Taneb> Hey, vanila
11:44:41 <vanila> hello :D
11:44:45 <vanila> im reading about logic programming
11:44:47 <vanila> whats up ?
11:45:35 <Taneb> We've been discussing Lee Sedol vs AlphaGo
11:46:22 <vanila> I should probably be interested in that
11:46:56 <vanila> I see a 4hr long video
11:47:02 <vanila> but im not even good at go
11:47:34 <Taneb> vanila, I'm 2 and a half hours in and I've played one game of Go in my life
11:47:37 <Taneb> Which I lost quite badly
11:47:44 <Taneb> And I've since forgotten how to play
11:47:51 <vanila> I like playing go
11:48:30 <vanila> i havent done that in ages though
11:48:44 <vanila> What I really wanted to do was make speech regonition interface to play ti
11:48:57 <vanila> but I couldn't find any good free software
11:50:34 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
11:50:49 -!- Slice^ has quit (Quit: Leaving).
11:50:54 <vanila> how is alphago different to zen?
11:51:04 <vanila> that stocastic 9d that was on KGS
11:53:33 <Taneb> It uses a combination of neural nets and tree search
11:56:55 <tswett> All right, my etymology neural net is clearly making an attempt at remembering words.
11:57:15 <Taneb> Oooh
11:57:22 <tswett> Problem is, it can't.
11:57:41 <tswett> It's probably too small. I'll have to use a larger one.
11:59:23 <tswett> Like, here, it starts out thinking that it's writing about the word "doll", then "dome", then "dome" again, then it changes to "domp", then back to "dome", then to "domt".
12:03:06 <tswett> Here, let me give you a randomly generated etymology.
12:04:03 -!- lynn has joined.
12:05:06 <tswett> Damp (n.) 1530s, "to shine, head," from French DARTE "a shine, concert, expert," from DIRTUS "dark, strength," from DIRTUS, past participle of DISTUS "strange, make, distinguish," from DIS "well" (see DISPHASE/TIMPERED). Meaning "to reckoner" is from 1808.
12:05:20 <tswett> There it says "see TIMPERED", but the link goes to DISPHASE instead.
12:05:55 <vanila> hehe
12:05:57 <vanila> this is fun
12:06:02 <vanila> can you post some more please?
12:08:43 <tswett> Here you go: https://jsfiddle.net/g06kujk6/
12:09:19 <tswett> There are bits of invalid HTML in there; I'm surprised that the whole thing renders in a reasonable manner.
12:10:03 -!- jaboja has joined.
12:10:15 <vanila> Related: Bullshed
12:10:18 <vanila> hahaha
12:11:28 <int-e> 1808 is remarkably precise
12:12:29 <tswett> I can make it give the etymology for any word!
12:12:38 <Taneb> tswett, try "jug"
12:12:47 <vanila> this is great :D
12:13:01 <tswett> Except that it's only been trained on words starting with A through E, so if you ask it for any other word, it'll almost certainly fail to remember it.
12:13:06 <tswett> How about... "bug"?
12:13:14 <Taneb> :)
12:14:27 <b_jonas> tswett: nice
12:14:51 <tswett> Etymology of "bug": "to dist, concert," from a- (1) "press with" + -phos "form" (see one). Sense of "stranger" is from 1520s. As a noun from 1889.
12:15:22 <tswett> Ask me again in a couple of days; I'll have a much better neural net then.
12:16:45 <lifthrasiir> tswett: wait, is it generated one? XD
12:17:22 <tswett> Yep, that's the generated etymology.
12:17:37 <lifthrasiir> I wondered why bug is associated with aphos, while assuming the possibility that it is actually an etymology for some foreign word translated to "bug"
12:17:57 <lifthrasiir> it is hilarious
12:18:01 <vanila> sense of a sense of a
12:18:14 <vanila> board (n.) Look up board at Dictionary.com
12:18:14 <vanila> 1580s, from beach (n.) + -ate (2). Meaning "sense of the sense of a concession of a criment" is from 1650s. Related: Estapoleted; escriptical.
12:18:14 <b_jonas> tswett: OEDILF http://www.oedilf.com/db/Lim.php has words with starts from Aa to Ga. A random word appears on the top level webpage, new one chosen every ten seconds or something. Take the next such word that starts with A to E and generate its etymology.
12:18:18 <vanila> this is the funniest
12:18:33 <tswett> b_jonas: all right.
12:18:45 <Taneb> lifthrasiir, could be going to "aphid"??
12:19:12 <lifthrasiir> Taneb: possibly!
12:19:23 -!- AnotherTest has joined.
12:19:51 <tswett> All right. Etymology of "beeve"...
12:20:55 <lifthrasiir> bullshit (n.) 1520s, from bull (n.) + -al (2). As an adjective, from 1836.
12:21:11 <lifthrasiir> a fun fact: "bullal" is a Korean word for testicle
12:21:26 <Taneb> lifthrasiir, bollocks
12:21:44 <tswett> 1520s, "to cause cloth," from BE- + FOUR (n.). Meaning "a sense, provered to the speak or head of an ancient person" is from 1610s. Related: BULLSHED; BULLISHED.
12:22:46 -!- boily has quit (Quit: VERIFIED CHICKEN).
12:24:23 <vanila> BULLSHED
12:25:17 <vanila> once the NN is more advanced you could make an index that defines every word in the jabberwocky poem
12:25:54 <tswett> Yeah!
12:27:01 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
12:27:01 -!- vyv has quit (Ping timeout: 240 seconds).
12:27:03 -!- mad has quit (Ping timeout: 240 seconds).
12:27:03 -!- MoALTz has quit (Ping timeout: 240 seconds).
12:27:03 -!- tromp_ has quit (Read error: Connection reset by peer).
12:27:13 -!- puckipedia has quit (Ping timeout: 240 seconds).
12:27:18 -!- tromp_ has joined.
12:27:41 <b_jonas> tswett: thanks
12:28:07 -!- MoALTz has joined.
12:28:11 -!- vyv has joined.
12:28:51 <b_jonas> I like the "Related: BULLSHED; BULLISHED" part. It looks like it makes sense for "beeve".
12:29:53 * vanila beeves
12:30:07 -!- Lord_of_Life has joined.
12:30:11 -!- puckipedia has joined.
12:31:39 -!- heroux has quit (Ping timeout: 276 seconds).
12:32:46 <int-e> "spinning rust array" is a neat way to discribe hard disk drives
12:36:44 <Taneb> int-e, I call them spinny disk drives
12:37:06 <Taneb> Mostly because I get the acronym for SSD wrong and it helps cover my tracks and gives people a laugh
12:40:53 -!- gde33 has joined.
12:42:38 <b_jonas> int-e: nice
12:43:00 <b_jonas> we can also call them rotating platter faraday cages, the same as microwave ovens
12:43:24 <b_jonas> you know, both have a metal casing that a user shouldn't open
12:43:40 <izabera> b_jonas: can you show your solution now? :p
12:45:20 <b_jonas> izabera: yes... ok, let me find the old mails
12:45:34 <izabera> thanks :3
12:48:20 <b_jonas> izabera: my solution is that linux has a counter that counts fork/clone calls, and you can read it from grep ^processes /proc/stat , so check this counter before and after you read the list of processes, and if it didn't change, then you couldn't have missed any process that still lives.
12:49:23 <izabera> and if it did?
12:50:55 <vanila> http://www.informatik.uni-kiel.de/~curry/listarchive/0017.html
12:51:03 <vanila> esolang version:
12:51:50 <vanila> 0. genuinely semantically interesting new esolangs 1. syntax replacements for other languages 2. brainfuck derivatives 3. brainfuck syntax replacements
12:52:11 <vanila> where each number there exists 2x more languages of that type
12:52:59 <b_jonas> izabera: alternate solution by pts is this: setreuid(0, target_uid); then drop the CAP_KILL capability; then kill(-1, SIGKILL); this should magically make kill(-1,) have permission only to kill the right processes, without giving the user permission to harm your process.
12:53:39 <izabera> nice!
12:53:49 <izabera> i'll test this
12:53:54 <b_jonas> no warranty
12:53:55 <b_jonas> for either
12:54:10 -!- heroux has joined.
12:54:51 <b_jonas> be very careful, you could either get a solution that has a race condition (but you can tell that only if you read the kernel source waist deep), or just kill all processes of your system
12:55:29 <b_jonas> and as always, it's pretty hard to prove that a particular race condition that depends on multi-cpu scheduling does or does not exist
12:55:43 <Taneb> Yay relaxed memory
12:56:08 <b_jonas> best add some sleep between the tests if you try to ptrace this admin kill process from a user process
13:01:36 -!- AnotherTest has quit (Ping timeout: 246 seconds).
13:06:45 -!- atehwa has joined.
13:09:18 -!- earendel has quit (Ping timeout: 268 seconds).
13:11:43 -!- Sgeo has joined.
13:20:11 -!- earendel has joined.
13:29:39 -!- jaboja has quit (Ping timeout: 268 seconds).
13:40:16 -!- earendel has quit (Ping timeout: 252 seconds).
13:50:30 -!- jaboja has joined.
13:59:42 -!- earendel has joined.
14:05:55 -!- lynn has quit (Read error: Connection reset by peer).
14:26:00 -!- lynn has joined.
14:28:40 -!- spiette has joined.
14:29:20 -!- `^_^v has joined.
14:30:50 -!- tromp has joined.
14:37:23 -!- p34k has joined.
14:38:27 -!- jaboja has quit (Ping timeout: 248 seconds).
14:42:11 -!- dingbat has quit (Quit: Connection closed for inactivity).
15:00:17 <prooftechnique> @ask ais523 Web of lies?
15:00:17 <lambdabot> Consider it noted.
15:07:37 -!- lambda-11235 has joined.
15:17:24 -!- AnotherTest has joined.
15:24:24 -!- FreeFull has joined.
15:25:52 <FreeFull> b_jonas: SIGSTOP all of the user's processes until you're sure all of them are stopped, and then SIGKILL them
15:26:25 <FreeFull> Hopefully no malicious processes will notice that their children/siblings got SIGSTOPped in time
15:27:39 <b_jonas> FreeFull: someone has suggested that, but I don't see how that would work, unless either you stop all processes on the system (not only the users').
15:28:06 <FreeFull> b_jonas: Why wouldn't just stopping the user's processes do?
15:28:11 <b_jonas> FreeFull: how do you make sure all processes are stopped, and why is that easier than making sure all processes were killed?
15:28:33 <b_jonas> FreeFull: I mean, you stop some processes, but how do you know there aren't more processes you missed because user processes are forking and exitting like crazy?
15:28:38 <FreeFull> You can have two processes that monitor each other, and start each other up again if either of them is killed
15:29:24 <FreeFull> b_jonas: I assume you'd notice the processes piling up then
15:29:25 <b_jonas> FreeFull: er yes, but you can also have two processes start each other up again if either of them is stopped, or just fork more processes if either of them is stopped, or just fork more processes no matter what all the time
15:29:47 <b_jonas> FreeFull: the processes are not only forking (like a fork bomb) but also exitting at the same rate,
15:30:05 <b_jonas> so there's always say about 20 malicious processes at any time, but it's always different ones
15:30:18 <b_jonas> they could keep forking and the parent exitting so that their pid changes
15:31:01 <FreeFull> b_jonas: Any snapshot of the currently running processes would see that there are processes by that user running
15:31:23 <b_jonas> FreeFull: but how do you get an atomic snapshot in first place?
15:31:46 <FreeFull> I don't think it matters if it's atomic. You can't exit until after you've forked
15:31:49 <b_jonas> FreeFull: in linux, you normally find out about processes by reading the /proc directory, then reading files (say /proc/*/stat ) under them to find out about them
15:32:53 <b_jonas> FreeFull: new malicious processes can get forked and their parent exit between the start and the end of your listing processes
15:33:43 <FreeFull> Yeah, you're right, they might have lower PIDs
15:34:00 <FreeFull> I'm not sure if /proc can get listed atomically, possibly not
15:34:54 <b_jonas> FreeFull: even if you can list it atomically (I don't know, you'd have to dive the kernel sources for how getdents works on it), you can't examine the /proc/*/stat files at the same time to tell which of the processes those are of that user.
15:35:10 <FreeFull> b_jonas: Just knowing that there are such malicious processes would be enough to take further steps
15:35:25 <FreeFull> And you'd know, because having processes disappear so quickly is unusual
15:35:27 <b_jonas> FreeFull: yes, but how do you even find that out? that's the point of the questoin
15:35:48 <b_jonas> FreeFull: ok, but can you give an algorithm to find this out that definitely works?
15:36:25 <FreeFull> I suspect there is some other, more robust method anyway
15:38:06 <FreeFull> b_jonas: A good starting point would be making all of the user's files unreadable
15:38:27 <b_jonas> FreeFull: how is that even relevant? and how would you even start to do that without first killing their processes which could create files?
15:38:28 <FreeFull> Although that won't help against fork, it will help against exec*
15:39:06 <FreeFull> b_jonas: I imagine making /tmp unreadable/unwritable to that user would be hard
15:39:23 <b_jonas> "<fizzie> I think they should at the very least have had some blinking lights in a box for AlphaGo." -- exactly
15:44:55 -!- lynn_ has joined.
15:46:15 -!- lynn__ has joined.
15:47:50 -!- lynn has quit (Ping timeout: 250 seconds).
15:49:13 -!- lynn_ has quit (Ping timeout: 240 seconds).
15:54:07 -!- lynn has joined.
15:56:33 -!- lynn__ has quit (Ping timeout: 240 seconds).
15:57:50 -!- bender| has quit (Ping timeout: 248 seconds).
16:01:22 -!- J_Arcane has joined.
16:04:12 -!- lynn has quit (Ping timeout: 276 seconds).
16:05:07 -!- lynn has joined.
16:11:50 -!- lynn has quit (Ping timeout: 268 seconds).
16:36:21 <vanila> Lee Se-dol said in the prior interview that "It will be a matter of me winning 5-0 or winning 4-1." Later, he took a little bit more defensive approach considering DeepMind(AlphaGo)'s learning ability, but still, it's a shocking victory for the AI.
16:36:21 <vanila> Lee lost the very first match. Still 4 matches to go, but just one defeat itself is enough to shock the Go community.
16:37:48 <b_jonas> vanila: yep. will be interesting and historical.
16:44:51 -!- lynn has joined.
16:51:34 <tswett> My neural net thinks there's a historical language called Middle Worse.
16:52:35 <prooftechnique> I imagine that's a dialect of Middle English centered in Worcestershire
16:58:04 <tswett> Here's a dump: https://jsfiddle.net/opo2rom0/
16:58:33 -!- lynn_ has joined.
17:00:00 <Melvar> tswett: Kinda looks like it started writing “Middle Welsh” and then switched to “Old Norse” after the W.
17:01:03 -!- lynn has quit (Ping timeout: 240 seconds).
17:03:52 <tswett> That would make sense.
17:04:04 -!- lynn has joined.
17:04:35 <tswett> Whoops, looks like I accidentally killed the training session instead of pausing it.
17:05:15 -!- lynn_ has quit (Ping timeout: 264 seconds).
17:52:00 -!- dingbat has joined.
17:52:33 -!- llue has joined.
17:52:33 -!- llue has quit (Changing host).
17:52:33 -!- llue has joined.
17:52:33 -!- llue has quit (Read error: Connection reset by peer).
17:52:49 -!- llue has joined.
17:52:59 -!- llue has quit (Changing host).
17:52:59 -!- llue has joined.
17:53:06 -!- lleu has quit (Read error: Connection reset by peer).
18:01:04 -!- hppavilion[1] has joined.
18:07:44 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
19:13:48 <shachaf> whoa whoa whoa, new game of life spaceship
19:13:51 <shachaf> https://twitter.com/McFunkypants/status/707584950216712192
19:15:06 <vanila> HOW
19:15:36 <zzo38> On my computer "XkbBell" makes sounds but "XBell" does not. Do you know how to fix this?
19:16:13 <shachaf> zzo38: Disconnect the speaker.
19:17:41 <zzo38> That will just remove all sounds, and I am not trying to remove all sounds. What I intend it to do is so that "XBell" result in same sound as "XkbBell"
19:18:39 <shachaf> "If a compatible keyboard extension isn't present in the X server, XkbBell calls XBell with the specified display and percent, and returns False. Otherwise, XkbBell calls XkbDeviceBell with the specified display, window, percent, and name, a device_spec of XkbUseCoreKbd, a bell_class of XkbDfltXIClass, and a bell_id of XkbDfltXIId, and returns True."
19:22:03 <vanila> this is amazing!!!!!!!!!!
19:23:29 <zzo38> shachaf: I could read that in the documentation on my computer already, but it does not answer my question at all.
19:23:58 <prooftechnique> shachaf: Wow, that's a neat one.
19:25:21 <vanila> "Congratulations, @zdr! New spaceship speeds don't come along every day, or even every year -- and most new speeds need a big awkward construction, not a tiny new Life form that fits inside a 6x12 bounding box. I bet a glider synthesis for the new c/10 will come along pretty quick."
19:25:23 <prooftechnique> I like how fast the thread turned into figuring out a name for it
19:25:43 <coppro> yeah, that new ship is quite the find
19:29:28 <vanila> http://www.conwaylife.com/wiki/Copperhead
19:29:37 <vanila> how can this have not been found!
19:31:58 <vanila> not only a new spaceship but a new speed
19:33:51 <vanila> "It appears that low-hanging fruit have been harvested clean during the 46 years of Life research… or, more precisely, it appeared so before zdr’s post."
19:40:18 <vanila> hey, that’s pretty good. Though, oblique spaceships have been observed in life, like the parallel hbk.
19:40:20 <vanila> what does he mean by this?
19:41:10 <vanila> oh it's not an elementary oblique spaceship
19:45:02 -!- jaboja has joined.
19:55:43 -!- J_Arcane has quit (Ping timeout: 244 seconds).
19:57:21 -!- J_Arcane has joined.
20:06:46 -!- jaboja64 has joined.
20:10:40 -!- jaboja has quit (Ping timeout: 264 seconds).
20:12:37 -!- vanila has quit (Quit: Leaving).
20:15:31 <izabera> http://blog.cmpxchg8b.com/2012/09/fun-with-constrained-programming.html
20:21:59 -!- copumpkin has quit (Remote host closed the connection).
20:22:47 -!- copumpkin has joined.
20:23:06 -!- copumpkin has quit (Client Quit).
20:23:46 -!- hppavilion[1] has joined.
20:23:47 -!- copumpkin has joined.
20:25:22 -!- contrapumpkin has joined.
20:26:39 -!- Phantom_Hoover has joined.
20:28:22 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
20:28:33 -!- copumpkin has quit (Ping timeout: 246 seconds).
20:29:45 -!- lambda-11235 has quit (Quit: Bye).
20:37:43 -!- sioux000 has joined.
20:44:48 -!- nycs has joined.
20:45:07 <izabera> https://www.youtube.com/watch?v=vFr3K2DORc8 GUYS
20:45:59 <izabera> wait where's the video
20:46:08 <izabera> there is no video
20:46:32 <izabera> i feel betrayed
20:46:57 -!- `^_^v has quit (Ping timeout: 276 seconds).
20:52:27 <int-e> ityw https://www.youtube.com/watch?v=vFr3K2DORc8
20:52:33 <int-e> hmm
20:52:39 <int-e> no, that's the same link
20:53:05 <int-e> so, that one worked for me earlier today, but I'm not patient enough
20:53:51 <sioux000> I HAVE A PROBLEM. TO ENTER IN A ROOM AS I LOOK ? I HAVE TO CHAT WITH FRIENDS OF WHICH I KNOW THE NAMES AND THE ROOMS . How do I access ?
20:54:03 <int-e> fungot: help
20:54:03 <fungot> int-e: from: dm date: wed, 9 dec 92 00:45:10 -0500 from:
20:54:09 <myname> wtf
20:54:10 <int-e> ^style
20:54:10 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon* lovecraft nethack oots pa qwantz sms speeches ss wp youtube
20:54:20 <int-e> ^style irc
20:54:20 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
20:54:29 <int-e> fungot: welcome our new friend sioux000
20:54:29 <fungot> int-e: was going right you couldn't turn away from the top" can be implemented easily.) silly me stepping in front. when the recursive call with the defaults and ( 1)
20:54:44 <myname> what style is ss?
20:55:54 <sioux000> THANK YOU. I'm trying to understand the functioning of pidgin:)
20:56:25 <myname> oh dear
20:57:06 <int-e> ^style ss
20:57:06 <fungot> Selected style: ss (Shakespeare's writings)
20:57:11 <int-e> oh.
20:57:16 <myname> aha
20:57:31 <myname> would've named it shakespeare, though
20:57:41 <myname> fungot: hello
20:57:42 <fungot> myname: william. a good morall my lord. troilus. well know they what they can give, to have't with saying good-morrow.
20:57:43 <int-e> fungot: Tell us about yorick
20:57:43 <fungot> int-e: scena quarta. no my good lord! a noble gentleman of rome, even like a stony image, cold and numme. ah now no more
20:57:56 <sioux000> pidgin is' safe? anonymous? It connects to the external server as tor ?
20:58:31 <myname> lol
20:58:58 <int-e> `? pidgin
20:59:19 <myname> that lag
20:59:22 <HackEgo> pidgin? ¯\(°​_o)/¯
20:59:26 <sioux000> yes
20:59:44 <sioux000> pidgin . i chat now with pidgin software
20:59:55 <myname> we can read
21:00:22 <myname> here is probably not the bestplace to learn how to irc with something that is as horrible for ircing as pidgin
21:00:25 <sioux000> yes becouse you use pidgin...or no?
21:02:29 <int-e> `learn pidgin is an esoteric chat client whose fundamental design principle is based on the pidgin hole principle: if n+1 messages are sent over n protocols than at least two messages are sent over the same protocol.
21:02:40 <HackEgo> Learned 'pidgin': pidgin is an esoteric chat client whose fundamental design principle is based on the pidgin hole principle: if n+1 messages are sent over n protocols than at least two messages are sent over the same protocol.
21:03:03 <int-e> `` sed -i 's/based on //' wisdom/pidgin
21:03:06 <HackEgo> No output.
21:03:31 -!- `^_^ has joined.
21:03:34 <int-e> (feel free to pidg in with something funnier)
21:04:34 <int-e> oh darn
21:04:57 -!- nycs has quit (Ping timeout: 246 seconds).
21:05:13 <int-e> `` sed -i 's/ than/, then/' wisdom/pidgin
21:05:16 <HackEgo> No output.
21:06:30 <int-e> `learn The pidgin hole principle states that if n+1 messages are sent over n protocols, then at least two messages are sent over the same protocol.
21:06:32 <HackEgo> Relearned 'pidgin': The pidgin hole principle states that if n+1 messages are sent over n protocols, then at least two messages are sent over the same protocol.
21:06:48 <int-e> (I think the rest was superfluous.)
21:07:26 <sioux000> :-/
21:12:17 <izabera> i have a map with bridges and some of them overlap
21:12:44 <izabera> how do i remove the minimum amount of bridges to make them non overlap?
21:14:42 <izabera> (i haven't started doing it yet)
21:14:54 <izabera> so my idea is to check the intersection points
21:15:21 * int-e would start with the "obvious" greedy algorithm
21:15:24 <izabera> find which bridge intersects most other bridges
21:15:26 <izabera> yea
21:15:44 <zzo38> Do you know if it is allowed for two different program both using Xlib to use the same Display pointer?
21:16:00 <izabera> int-e: not sure if it's optimal
21:16:01 <zzo38> (If loaded by dlopen or something like that)
21:16:13 <int-e> izabera: well it's not.
21:16:50 <izabera> can you show an example?
21:17:57 <int-e> http://int-e.eu/~bf3/tmp/brrr.png
21:18:22 <izabera> thanks
21:18:28 <int-e> hmm, oops, that still works, mompl
21:18:59 <int-e> updated
21:19:24 <izabera> thanks
21:21:36 -!- sioux000 has quit (Quit: Leaving.).
21:22:39 -!- lynn has quit (Read error: Connection reset by peer).
21:23:11 <int-e> It can be phrased naturally as a maximum independent set problem (with bridges as vertices and edges between crossing bridges)... so it may well be NP-hard, but as long as bridges are straight lines, this is not a proof.
21:40:51 -!- hppavilion[1] has joined.
21:52:38 <hppavilion[1]> Sgeo: In an environment where @ cannot be represented as the @ sign, what would be a good letter to replace it? (greek, english, or one of those with a diacritic)
21:52:55 <hppavilion[1]> (ONE diacritic, before you do what I know you're thinking)
21:54:22 <b_jonas> hppavilion[1]: one of É Á à Ó Ð Ž since those appear in the @ place in some of the national iso-646 character sets
21:54:37 <hppavilion[1]> Good idea
21:54:42 <hppavilion[1]> I'll go with à
21:55:30 <b_jonas> hppavilion[1]: do you have a context for what the @ that you want to replace stands for here? that might give a better choice
21:55:40 <prooftechnique> What about ∂?
21:55:57 <hppavilion[1]> b_jonas: Sgeo's @. The one which's absolute value is -1
21:56:07 <b_jonas> prooftechnique: is that a letter? wait, is it the derivative symbol or the crazy letter from very rare languages that looks like that?
21:56:08 -!- J_Arcane has quit (Ping timeout: 244 seconds).
21:56:25 <prooftechnique> Both
21:56:54 <b_jonas> hppavilion[1]: eg. if it stands for the player avatar in the text-based game map of a game, then É would make sense because it abbreviates "én"
21:57:27 <hppavilion[1]> b_jonas: Ah
21:57:37 <hppavilion[1]> b_jonas: I like à
22:01:32 <hppavilion[1]> b_jonas: I'm also adding ï, where |ï|=i
22:03:04 <b_jonas> I guess if it stood for the array sigil in perl, or the related symbol in bash used inside a bracket index to get all elements of an array variable, then you could use "Ö" as a mnemonic for "összes"
22:03:48 <b_jonas> And if it stood as an abbreviation of HEAD in git command line, then in theory you could use "É" but it would be best to just write "HEAD" in full instead of abbreviating it.
22:05:06 -!- mihow has joined.
22:06:04 <b_jonas> If it stands for a separator symbol in a git reference spec that refers to the previous commit in the history of a commit, or for a separator between a filename and peg revision number in subversion, then I'm not sure what letter would be the best.
22:08:58 <b_jonas> "T" would be approperiate, but it would easily clash with other stuff
22:24:16 <int-e> izabera: I'm pretty sure now your bridge problem is NP-hard by a reduction from planar 3SAT. lousy sketch of gadgets: http://int-e.eu/~bf3/tmp/br3s.png ... the literal will in general have 2n bridges arranged in a small 2n-gon, alternating between true and false; the idea is that exactly n of the bridges must be chosen (in the sketch, n=2). in the clause, the incoming edges come from literals;...
22:24:18 <shachaf> Is |ı| also i?
22:24:22 <int-e> ...the idea here is that exactly one additional bridge must be chosen, which is only possible if one of the incoming bridges wasn't chosen, i.e. the corresponding literal was true. so take a planar 3sat-problem, encode it that way (it's fine if some bridges from literals are not used in clause gadgets); add all the minimal bridge requirements and test whether the maximal number of bridges that...
22:24:27 -!- jaboja64 has quit (Ping timeout: 264 seconds).
22:24:28 <int-e> ...can be selected without remaining intersections matches that bound.
22:26:32 <b_jonas> heh heh, you're doing NP-completeness proofs now?
22:26:53 <int-e> hardness. it's an optimization problem after all.
22:27:32 <b_jonas> isn't that why it's in NP? optmization problems usually are, if you turn them to decision problems with the right comparator
22:28:00 <int-e> but those are different problems.
22:29:37 <int-e> The corresponding decision problem here that's NP-complete is checking whether you can select at least k non-crossing bridges.
22:32:05 <int-e> (my main reason to be picky is that I think of NP in terms of certificates; here, certificates of a lower bound is small (it's in NP); I have no clue how to produce a small certificate of optimality (at least naively, that's co-NP))
22:33:09 <int-e> if you only care about what you can do with an NP oracle (SAT solver ;-) ), then this distinction doesn't matter.
22:34:57 <b_jonas> int-e: yes, but you usually define the decision problem to ask whether the optimal solution is better or equal to an input number, because if you define it that way, it becomes NP.
22:35:03 <int-e> Anyway, is this really the first time I've done some complexity theoretic reduction on here? I don't know, but it seems a bit unlikely.
22:35:14 <b_jonas> int-e: asking whether the solution is optimal needn't be NP (it still is for some optimization problems of course)
22:35:31 <b_jonas> int-e: I have no idea if it's the first time
22:36:45 <int-e> in any case, I do like this stuff
22:51:24 -!- XorSwap has joined.
22:56:53 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:57:36 -!- spiette has quit (Ping timeout: 276 seconds).
22:57:47 -!- haavardp has quit (Read error: Connection reset by peer).
22:58:08 -!- oerjan has joined.
22:58:44 -!- MoALTz_ has joined.
22:58:47 -!- haavardp has joined.
23:01:11 -!- fungot has quit (Ping timeout: 250 seconds).
23:01:55 -!- MoALTz has quit (Ping timeout: 268 seconds).
23:04:01 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
23:04:47 -!- lambdabot has quit (Remote host closed the connection).
23:08:27 -!- lambda-11235 has joined.
23:09:13 -!- lambdabot has joined.
23:11:35 <Sgeo> Ah e left :/
23:11:52 <Sgeo> @ stands for an a with an i dot after it, so ai maybe?
23:12:33 <int-e> `? food
23:12:35 <Sgeo> So maybe a with an accent?
23:12:49 <HackEgo> food? ¯\(°​_o)/¯
23:13:02 <int-e> . o O ( would you like oerjanic food? )
23:13:45 -!- lambda-11235 has quit (Ping timeout: 250 seconds).
23:14:15 -!- lambda-11235 has joined.
23:16:46 -!- adu has joined.
23:17:13 -!- heroux has quit (Ping timeout: 250 seconds).
23:17:44 -!- adu has quit (Client Quit).
23:17:54 -!- `^_^ has quit (Quit: This computer has gone to sleep).
23:22:49 -!- heroux has joined.
23:41:27 -!- hppavilion[1] has joined.
23:47:07 <hppavilion[1]> If one wanted to implement a browser
23:47:14 <hppavilion[1]> What would be the steps one would take?
23:47:19 <hppavilion[1]> Not that I'm planning on doing that
23:47:22 <hppavilion[1]> That'd just be crazy
23:47:27 <\oren\> I got more sodium memory for my laptop
23:47:35 <oerjan> (1) get the support of a billion dollar company
23:48:00 <hppavilion[1]> oerjan: OK.
23:48:08 <hppavilion[1]> oerjan: Next?
23:48:38 <oerjan> (2) despair that implementing a browser is mostly about supporting old cruft
23:48:56 <oerjan> *meticulously supporting
23:50:55 <oerjan> (3) take the pills the nice people in white coats are handing you, also stop trying to get out of that jacket it'll just hurt more
23:51:50 <oerjan> (4) die miserable and alone
23:51:56 <oerjan> that about covers it hth
23:52:00 <hppavilion[1]> oerjan: OK
23:52:03 <hppavilion[1]> Good to know
23:52:39 <\oren\> goddamn windows update
23:52:58 <hppavilion[1]> \oren\: Would you rather be vulnerable to h4x0r5?
23:58:29 * oerjan fit the reboot in while he was brushing the teeth earlier
23:59:11 <oerjan> i guess it helps that i don't leave my computer on for long periods when not using it
←2016-03-08 2016-03-09 2016-03-10→ ↑2016 ↑all