←2016-01 2016-02 2016-03→ ↑2016 ↑all
00:01:43 <HackEgo> [wiki] [[MATL]] https://esolangs.org/w/index.php?diff=46335&oldid=46334 * Luis Mendo * (+4) /* Fibonacci sequence */
00:02:05 <HackEgo> [wiki] [[MATL]] https://esolangs.org/w/index.php?diff=46336&oldid=46335 * Luis Mendo * (+2) /* Fibonacci sequence */
00:03:07 <HackEgo> [wiki] [[MATL]] https://esolangs.org/w/index.php?diff=46337&oldid=46336 * Luis Mendo * (-9) /* Fibonacci sequence */
00:09:48 -!- mbrcknl has quit (Read error: Connection reset by peer).
00:10:44 -!- mbrcknl has joined.
00:12:58 -!- Mkhalun has joined.
00:18:54 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
00:22:24 -!- sebbu has quit (Ping timeout: 265 seconds).
00:23:45 -!- Mkhalun has quit (Ping timeout: 252 seconds).
00:24:47 -!- mauris has joined.
00:25:48 -!- mauris_ has quit (Ping timeout: 256 seconds).
00:27:13 -!- tromp_ has joined.
00:29:06 <oerjan> `addquote <\oren\> scientists can apparently research things even while rotating 30 times a minute
00:29:26 <HackEgo> 1264) <\oren\> scientists can apparently research things even while rotating 30 times a minute
00:37:17 <hppavilion[1]> Here's an idea for an ESOSC language
00:37:19 <hppavilion[1]> SciGolf
00:37:39 <hppavilion[1]> A scientific computing-oriented programming language that works in a very golphy way
00:42:34 -!- tromp_ has quit (Read error: Connection reset by peer).
00:43:08 -!- tromp_ has joined.
00:45:17 -!- tromp_ has quit (Remote host closed the connection).
00:52:51 <oerjan> @tell myname <myname> is there a generic way to write points-free haskell functions with two arguments? <-- yes, but it tends to get a lot uglier than with a single argument
00:52:51 <lambdabot> Consider it noted.
00:54:39 <oerjan> @tell myname <myname> like, f x y = g $ h $ i x y <-- f = ((g . h) .) . i
00:54:39 <lambdabot> Consider it noted.
00:54:48 <oerjan> @pl f x y = g $ h $ i x y
00:54:48 <lambdabot> f = ((g . h) .) . i
00:55:05 <oerjan> @tell myname see lambdabot's @pl command
00:55:05 <lambdabot> Consider it noted.
00:59:03 -!- sebbu has joined.
01:10:26 <hppavilion[1]> I think I'll design Archae
01:12:07 -!- tromp_ has joined.
01:19:37 -!- AlexR42 has joined.
01:20:23 <tswett> `quote
01:20:30 <HackEgo> 615) * oerjan concludes that unsafeCoerce has no effect on strictness
01:20:43 <tswett> That wasn't a particularly amusing quote.
01:21:11 <tswett> On a scale of 1 to 3, I give it a 2.
01:21:12 <tswett> `quote
01:21:14 <HackEgo> 1000) <shachaf> oerjan is spreading the tired rumour that if you play Nietzsche backwards you hear Jewish messages.
01:21:45 <tswett> And I don't really get that one. Obviously a reference to the whole rock music backwards Satan thing.
01:22:05 <tswett> Not totally sure where Nietzsche and the Jews come in.
01:22:07 <tswett> `quote
01:22:09 <HackEgo> 1100) <zzo38> I am curious to know, how many Wiccans hate daylight saving time compared to Roman Catholics?
01:36:03 <ais523> tswett: you do know that if you `quote five times you get to delete one?
01:36:33 -!- boily has joined.
01:36:48 <tswett> Is that so?
01:36:50 <tswett> `quote
01:36:53 <HackEgo> 1216) <mroman_> Rule of thumb is that if I can understand it you're not using enough fancy stuff
01:36:59 <tswett> `quote
01:37:02 <oerjan> darn
01:37:02 <HackEgo> 980) <Bike> i feel like i should say "sexual dimorphism" winkingly and then transmute myself into a horrid fleshbeast
01:37:24 <tswett> And then how do I delete a quote, is it...
01:37:27 <tswett> `delquote 1100
01:37:33 <HackEgo> ​*poof* <zzo38> I am curious to know, how many Wiccans hate daylight saving time compared to Roman Catholics?
01:37:42 <tswett> Now... another batch!
01:37:44 <tswett> `quote
01:37:44 <tswett> `quote
01:37:44 <tswett> `quote
01:37:44 <tswett> `quote
01:37:46 <tswett> `quote
01:38:17 <HackEgo> 822) <olsner> we have PR? <oerjan> the good news is we have PR. the bad news is we borrowed haskell's motto for it. [...] <oerjan> [...] "avoid success at all costs"
01:38:17 <HackEgo> 854) <kmc> i bet a blog post complaining about ");});});" syntax in JavaScript and comparing it unfavorably to Lisp would get approximately one billion comments on hacker news <Bike> but at what cost? your very soul, kmc!
01:38:17 <HackEgo> 946) <ais523> Phantom_Hoover: my department teaches prolog, to second years I think <ais523> some people choose it because it isn't ocaml, and then are disappointed to find it has lists
01:38:20 <HackEgo> 424) [2008] <nooga> i'm testing Haiku <nooga> and it appears that it is a major shit <oerjan> 5+7+5, not 5+11, nooga
01:38:21 <boily> aaaaaaaaaaaaaaaah! people delquoting!
01:38:42 <ais523> boily: we used to do it a lot more often
01:38:47 <ais523> that's the reason the quotes are such high quality
01:39:00 <ais523> the mid-older ones at least
01:39:15 <ais523> (some of the very early ones survived from nostalgia, and the more recent ones haven't been caught in many five-`quotes)
01:39:29 <ais523> I like all of those ones though
01:39:31 <tswett> I... can't delete any of those!
01:39:38 <coppro> hmm
01:39:40 <ais523> `quote
01:39:42 <ais523> `quote
01:39:43 <coppro> what is the PR in 822?
01:39:44 <HackEgo> 930) <Sgeo> This position is asking for "- Extensive experience with API" <Jafet> You're just not qualified, kid.
01:39:44 <ais523> `quote
01:39:45 <HackEgo> 914) <Sgeo> I feel like (A.~[:i.[:!#) is verbose
01:39:45 <ais523> `quote
01:39:47 <ais523> `quote
01:39:47 <HackEgo> 1176) <zzo38> Don't be too ineffective.
01:39:48 <HackEgo> 846) <pikhq> Conext coyou'll cotell come cothat coyou cocan't coprefix coeverything cowith co"co". <oerjan> pikhq: coof urse conot!
01:39:54 <Taneb> coppro, public relations
01:40:19 <coppro> ahh
01:40:24 <tswett> `quote
01:40:24 <tswett> `quote
01:40:24 <tswett> `quote
01:40:24 <tswett> `quote
01:40:24 <tswett> `quote
01:40:27 <ais523> did you read it as "pull request"?
01:40:42 <coppro> proportional representation, actually
01:40:50 <HackEgo> 1160) <fungot> kmc: any chance one can have a box full of tnt to throw around
01:40:50 <HackEgo> 115) <Sgeo> Why shouldn't I just do everything in non-Microsoft-specific C#? <ais523> it's like trying to write non-IE-specific JavaScript with only Microsoft documentation and only IE to test on
01:40:50 <HackEgo> 814) <fizzie> I was hoping I could be like other people and listen to signals while in a public transport vehicle.
01:40:50 <HackEgo> 97) <fungot> [...] i'm a law student so i am loving my bread machine
01:40:50 <HackEgo> 559) <monqy> never ever do bacon floats or i will hunt you down and kill you augh my leg
01:41:00 <tswett> I keep forgetting what "aliquot" means. What does it mean? Does it mean, like... "remainder"?
01:41:01 <coppro> not a huge fan of 262
01:41:02 <Phantom__Hoover> <tswett> `delquote 1100
01:41:03 -!- Frooxius has quit (Quit: *bubbles away*).
01:41:07 <Phantom__Hoover> what the fuck that was the best one
01:41:16 <Taneb> Bacon floats? Like, a glass of lemonade with bacon on the top?
01:41:31 <tswett> `revert
01:41:37 <tswett> `quote 1100
01:41:44 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
01:41:48 <HackEgo> 1100) <zzo38> I am curious to know, how many Wiccans hate daylight saving time compared to Roman Catholics?
01:42:37 <coppro> yeah, I like that one
01:42:55 <tswett> I really don't understand 1100.
01:43:07 <Phantom__Hoover> it's zzo, nobody understands it except possibly zzo
01:43:20 <Phantom__Hoover> it's one of many perfect gems of zzo logic in the quotes db
01:43:48 <tswett> @tell Sgeo I've been writing some stuff in C# under Linux. It definitely doesn't work as well as under Windows, but at least it's still C#.
01:43:48 <lambdabot> Consider it noted.
01:44:16 <tswett> Ironically, when I'm writing C# under Linux, the thing I miss most about Windows is the ability to use vim keys.
01:44:48 <tswett> There's a vim-imitation ("vimitation") plugin for Visual Studio; there is not one for MonoDevelop.
01:44:53 <hppavilion[1]> tswett: Have I told you about my archaelang idea?
01:45:09 -!- boily has quit (Quit: ECLIPTIC CHICKEN).
01:46:00 <tswett> hppavilion[1]: nope!
01:46:18 <hppavilion[1]> tswett: Basically, it's an archaeological programming language
01:46:23 <hppavilion[1]> tswett: A horribly complex language
01:46:28 <hppavilion[1]> tswett: Published with 0 documentation
01:46:36 <tswett> Hmmm.
01:46:37 <hppavilion[1]> And people are expected to figure out how it works
01:46:46 <tswett> That's...
01:47:02 <tswett> That's pretty much what my job is, except it's just plain ol' code, not a programming language.
01:47:19 <tswett> "Here's some code that nobody has looked at in eight years. The people who wrote it are dead. It's broken. Fix it."
01:47:21 <hppavilion[1]> tswett: It would also be hosted online and be embedded in an OS that the community is supposed to hack through to figure out the backstory
01:47:29 <tswett> ...That sounds really cool.
01:47:36 <hppavilion[1]> tswett: Also, no tools are available beyond a CLI
01:47:49 <hppavilion[1]> The community has to engineer their own
01:48:03 <hppavilion[1]> tswett: I already have the language half-implemented an I'm preparing to publish it
01:48:18 <tswett> Anyway, I've got to go to bed now. So that I can sleep and wake up and go to my job.
01:48:19 <hppavilion[1]> tswett: Once I have enough stuff in it that people can actually figure out what's going on
01:48:20 <tswett> Night, everyone.
01:48:20 <hppavilion[1]> OK
01:51:53 <coppro> tswett: I just use vim + omnisharp for C# in linux
01:51:57 <coppro> I only use MD for the debugger
01:52:06 <hppavilion[1]> Hm...
01:52:08 <coppro> but I'd trade that for a CLI debugger any day
01:52:14 <hppavilion[1]> What features does Archae need?
01:57:49 <oerjan> fossils hth
02:08:23 <izabera> i made a thing https://arin.ga/3IW5L0/raw
02:08:43 <izabera> totally 100% esoteric and on topic
02:10:30 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
02:10:55 -!- Treio has quit (Ping timeout: 240 seconds).
02:14:14 <izabera> i don't know anything else that does something like this without fucking up heredocs or compound commands
02:25:28 <lifthrasiir> I've done drawing runes. what's the next? :p
02:25:50 * lifthrasiir is still thinking about reasonable GSUB implementation with Unison, but that would take a lot anyway
02:31:44 -!- andrew has joined.
02:32:58 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
02:35:38 -!- AlexR42 has joined.
02:35:38 -!- AlexR42 has quit (Client Quit).
03:14:18 -!- MDude has changed nick to MDream.
03:24:23 <zzo38> What does " expected unqualified-id before 'using'" mean?
03:24:42 <zzo38> I am getting that error from the C++ compiler when trying to install a Node.js package
03:25:16 <shachaf> Do you have the file and line number?
03:26:24 <zzo38> The filename is v8.h and the line number is 336 and 469 and 856
03:27:33 <shachaf> Unfortunately there are many versions of that file.
03:28:21 <shachaf> Maybe your compiler doesn't support C++11?
03:29:31 <zzo38> O, is that the problem?
03:29:49 <shachaf> I don't know.
03:30:07 <zzo38> "g++ --version" says 4.6.3
03:31:05 <izabera> `` g++ --version
03:31:28 <HackEgo> g++ (Debian 4.7.2-5) 4.7.2 \ Copyright (C) 2012 Free Software Foundation, Inc. \ This is free software; see the source for copying conditions. There is NO \ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
03:34:54 <zzo38> The first error I got what that g++ was not found, so I installed it, and now I get the "expected unqualified-id before 'using'" error.
03:35:48 * oerjan briefly wonders how software would have evolved if US law didn't allow voiding a warranty like that
03:36:48 <shachaf> hi oerjan
03:36:51 <oerjan> hichaf
03:37:09 <shachaf> how should i learn about linear logic
03:37:38 <oerjan> well first you have to gather learning resources. then you have to use each of them hth
03:37:53 <shachaf> tdnh hth
03:38:03 <oerjan> shocking
03:38:03 <izabera> start with multi-dimensional logic in a finite number of dimensions, remove dimensions until only one is left
03:38:42 <oerjan> izabera: if anyone could learn it like that, it would be shachaf.
03:39:36 -!- mauris has quit (Ping timeout: 265 seconds).
03:41:35 -!- Sgeo_ has joined.
03:41:53 <zzo38> The package I am trying to install is "uvrun"; is there another way?
03:41:53 <shachaf> oerjan: aren't you a linear logic expert or something
03:43:53 -!- Sgeo has quit (Ping timeout: 276 seconds).
03:44:54 <zzo38> I looked it up; apparently I need g++ 4.8.2 or clang++ 3.4 or newer in order to compile v8.h properly.
03:46:53 <zzo38> The package manager on Ubuntu has only clang version 3.0-6ubuntu3 though
03:47:11 <oerjan> shachaf: i once read the sequence calculus rules for it, so yes i'm an expert.
03:47:34 <shachaf> great, then maybe you can explain par twh
03:48:06 <oerjan> no, i can only understand it, not explain it hth
03:49:26 <oerjan> when i try to understand it, it's by applying negation to X
03:49:48 <shachaf> maybe if you explain it you'll lose the ability to understand it
03:49:56 <oerjan> quite likely.
03:50:35 <zzo38> O, If ound it does include clang 3.4
03:51:24 <oerjan> but since with C-H negation is continuation, you can think of P par Q as a continuation that takes (not P times not Q)
03:51:47 <oerjan> except somehow you want double negation to be identity in linear logic.
03:54:29 <shachaf> let's see. A -o B = ~A # B. so A # B = ~A -o B
03:54:30 <oerjan> well P par Q is also not P -o Q iirc
03:55:20 <zzo38> How do I tell npm to use clang for C++ compiling though?
03:56:00 <oerjan> ok so the B that the continuation returns should be the identity for # whichever that was.
03:56:31 <shachaf> the identity of upside-down & is upside-down of the identity of & hth
03:57:01 <oerjan> OKAY
03:58:11 * oerjan goes to look it up
04:06:21 <oerjan> nah wikipedia still doesn't say explicitly which ones are identities for which.
04:10:16 <shachaf> it does hth
04:10:52 <oerjan> not in the "Linear logic" article
04:11:08 <shachaf> it's in a table off in the corner hth
04:11:19 <shachaf> "Classification of connectives"
04:11:43 <oerjan> it doesn't say they're identities hth
04:12:01 <shachaf> true
04:12:04 <shachaf> i mean 1
04:12:28 -!- hppavilion[1] has quit (Ping timeout: 265 seconds).
04:37:05 -!- XorSwap has joined.
04:55:49 -!- oerjan has quit (Quit: Nite).
05:05:48 -!- tromp_ has quit (Remote host closed the connection).
05:24:26 -!- ais523 has quit (Ping timeout: 256 seconds).
05:38:54 <zzo38> I modified the make.py file of gyp to force it to use clang, and now I am getting various other error messages, such as: ../uvrun.cc:7:25: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
05:39:19 <Elronnd> IIRC there are some things that clang errors about that gcc doesn't
05:39:30 <zzo38> Another error is: ../uvrun.cc:8:15: error: calling a protected constructor of class 'v8::HandleScope'
05:39:32 <Elronnd> I had trouble with that at some point with another piece of software
05:39:41 <Elronnd> None of them were like that though
05:39:50 <Elronnd> On the other hand, they were c not c++
05:39:59 <zzo38> I don't have a new enough version of g++ though to use that one
05:40:20 <Elronnd> why not install one?
05:40:23 <zzo38> Is there some way to add command-line options for the compiler to fix those errors?
05:40:37 <zzo38> I cannot install it the new version of g++ is not available in the package manager.
05:42:47 <Elronnd> what distro?
05:43:11 -!- staffehn has joined.
05:43:25 <zzo38> Ubuntu 12.04
05:43:42 -!- hppavilion[1] has joined.
05:43:47 <zzo38> (It is OEM Ubuntu; I am not exactly sure how that is different from non-OEM)
05:44:06 <Elronnd> why 12.04? isn't 14.04 the latest?
05:44:49 <zzo38> I don't know if the uvrun package for Node.js may be not updated for the newest version of Node.js
05:45:01 <Elronnd> According to the internet you should add the line "deb http://ftp.debian.org/debian/ stretch main" to /etc/apt/sources.list
05:45:08 -!- quintopi1 has joined.
05:45:08 -!- heroux_ has joined.
05:45:26 -!- atehwa_ has joined.
05:45:27 -!- jix_ has joined.
05:45:29 -!- shachaf_ has joined.
05:46:18 <zzo38> I could try that, but I think the problem is that uvrun is meant for Node.js version 0.10 and I have version 5.5.0
05:48:09 <hppavilion[1]> Codecademy should have a tutorial for generalized ASM
05:48:30 -!- Hooloo42 has joined.
05:48:58 -!- cnr_ has joined.
05:49:22 -!- shachaf has quit (Disconnected by services).
05:49:29 <hppavilion[1]> I would start working on a JS-based Assembler, but I don't understand ASM too well xD
05:49:30 -!- shachaf_ has changed nick to shachaf.
05:49:30 -!- XorSwap has quit (*.net *.split).
05:49:31 -!- lifthrasiir has quit (*.net *.split).
05:49:31 -!- carado has quit (*.net *.split).
05:49:31 -!- heroux has quit (*.net *.split).
05:49:32 -!- cnr has quit (*.net *.split).
05:49:32 -!- Hoolootwo has quit (*.net *.split).
05:49:32 -!- staffehn_ has quit (*.net *.split).
05:49:33 -!- quintopia has quit (*.net *.split).
05:49:33 -!- atehwa has quit (*.net *.split).
05:49:35 -!- jix has quit (*.net *.split).
05:49:36 -!- heroux_ has changed nick to heroux.
05:49:54 -!- cnr_ has changed nick to cnr.
05:49:55 -!- cnr has quit (Changing host).
05:49:55 -!- cnr has joined.
05:50:00 <hppavilion[1]> Oh look
05:50:04 <hppavilion[1]> *.net *.split
05:50:05 -!- XorSwap has joined.
05:50:39 <hppavilion[1]> Well, pseudo-assembler. More of an interpreter for a language that /looks/ like Assembly than a real assembler xD
05:50:57 <zzo38> I understand 6502 assembly programming
05:52:08 <hppavilion[1]> zzo38: OK. Maybe you should make one then xD
05:52:22 <hppavilion[1]> zzo38: Or perhaps I'll learn a bit of ASM and consult with you in the development of my own
05:52:24 <zzo38> I did find out that the problem is in fact uvrun; I found albertz/uvrun is the newer version, now it says I do not have git, so I would have to install git now too, I suppose
05:52:51 <zzo38> hppavilion[1]: I am just using a version of MagicKit assembler that I have made several modifications to, in order to make 6502 programming.
05:55:54 -!- carado has joined.
06:01:50 <zzo38> For some reason it is using the old version of uvrun.cc even though I told it to use "albertz/uvrun" instead of "uvrun"
06:04:14 <zzo38> I don't know if the problem is that the package.json is wrong
06:06:22 -!- tromp_ has joined.
06:06:34 -!- lifthrasiir has joined.
06:10:09 -!- XorSwap has quit (Quit: Leaving).
06:11:26 -!- tromp_ has quit (Ping timeout: 276 seconds).
06:13:54 <zzo38> OK, I managed to fix it by downloading the files locally and fixing it.
06:14:18 <zzo38> Why is it so difficult to install a Node.js package?
06:21:56 <hppavilion[1]> zzo38: Because the Internet Lords demand it to be so
06:32:48 -!- Hooloo42 has changed nick to Hoolootwo.
06:39:23 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
06:58:27 -!- FreeFull has quit.
07:00:43 -!- andrew has quit (Read error: Connection reset by peer).
07:07:55 <zzo38> I want to figure out how to make any asynchronous function in Node.js to be blocking, but without necessarily blocking the entire program
07:09:16 -!- Sgeo_ has quit (Ping timeout: 256 seconds).
07:45:00 <deltab> zzo38: maybe you want await then: https://medium.com/@bluepnume/learn-about-promises-before-you-start-using-async-await-eb148164a9c8
07:45:57 <zzo38> But await is ES7
07:46:20 <deltab> you can use babel to translate it
07:46:24 <zzo38> However I think I have figured out now how I could do it using uvrun
07:51:45 <zzo38> Something like this: function sync(f) { var x=true,res; f(function(r) { res=r; x=false; }); while(x) runOnce(); return res; }
07:52:25 <deltab> no, because that won't allow the callback a chance to run
07:53:15 <zzo38> How is that?
07:53:49 <deltab> an infinite loop won't allow control to flow back to the event loop
07:53:53 <zzo38> Something like this seems to work fine: setTimeout(console.log,1000,15),sync(x=>setTimeout(x,2000,42))
07:54:16 <zzo38> It will print 15 after one second, and after one more second it returns 42
07:54:38 <deltab> unless that's doing something unusual (I don't know what uvrun does)
07:55:20 <zzo38> The runOnce function is a wrapper for uv_run(uv_default_loop(), UV_RUN_ONCE)
07:55:26 <deltab> ah
07:55:48 <deltab> that's what I missed
07:56:32 <zzo38> With other testing, it seems to not even significantly affect system load or memory usage.
08:01:58 -!- sebbu has quit (Ping timeout: 256 seconds).
08:05:16 -!- tromp_ has joined.
08:08:30 <zzo38> deltab: Does it seem correct to you, now?
08:11:02 -!- tromp_ has quit (Ping timeout: 256 seconds).
08:14:26 -!- dcentral has joined.
08:17:51 <deltab> zzo38: yes, sorry: am used to people trying to do that without uvrun
08:18:17 <zzo38> How many people try that?
08:19:30 <deltab> a fair few, meeting async coding for the first time
08:19:40 -!- dcentral has quit (Max SendQ exceeded).
08:20:04 <deltab> "But, can't I just do this to make it work normally?"
08:20:11 -!- dcentral has joined.
08:22:06 <zzo38> I want to be able to do both asynchronous and synchronous together in the same program, which is why I did it like this.
08:22:08 -!- dcentral has quit (Client Quit).
08:22:23 * deltab nods
08:23:07 <deltab> you've made your own event loop
08:27:49 <zzo38> I do believe the ability to do asynchronous is good, but in many cases it would be useful to be able to do synchronous stuff too. It also depends on the program, such as a server or a standalone program, and so on. Possibly with a macro processor the syntax could even be simplified further in common cases.
08:31:21 -!- atehwa_ has changed nick to atehwa.
08:36:13 -!- thw-ler has joined.
08:42:15 -!- sebbu has joined.
08:46:10 -!- J_Arcane has quit (Ping timeout: 256 seconds).
08:51:00 -!- AnotherTest has joined.
09:03:15 <zzo38> Looking at SPDX License List seems to be listing even more than one license for public domain
09:07:35 -!- tromp_ has joined.
09:10:28 <zzo38> Including: CC0, WTFPL, Unlicense, No Limit. Zero-clause BSD is also a bit similar but also includes the copyright notice
09:11:55 -!- tromp_ has quit (Ping timeout: 240 seconds).
09:12:26 -!- andrew has joined.
09:21:35 -!- haavard has quit (K-Lined).
09:22:28 -!- haavard has joined.
09:54:22 -!- thw-ler has left.
09:56:14 -!- vifino has quit (Ping timeout: 246 seconds).
09:56:28 -!- vifino has joined.
09:57:55 <HackEgo> [wiki] [[Talk:Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=46338&oldid=46137 * YoYoYonnY * (+2633)
09:58:30 -!- Treio has joined.
11:17:12 <b_jonas> `wisdom
11:17:44 <HackEgo> languabe/Languabes are edible and fun. They provide a quick implementation energy boost!
11:19:43 <b_jonas> `wisdom
11:19:48 <HackEgo> ci/The CIs are a secret society led by David Morgan-Mar, bent on conquering the world from Sydney with web comics and unsolvable puzzles. They invented Taneb.
11:31:20 -!- LexiciScriptor has joined.
11:37:37 -!- boily has joined.
11:56:26 -!- Alcest has joined.
11:57:40 <boily> @metar CYUL
11:57:41 <lambdabot> CYUL 011155Z 23022G31KT 15SM BKN034 08/06 A2939 RMK SC7 SLP956
12:05:59 -!- Alcest has quit (Excess Flood).
12:10:43 <izabera> https://en.wikipedia.org/wiki/Applications_architecture <- the company that wanted this thing replied me via email, saying that they "confirm the meeting on february 3rd as scheduled on the phone" and we've never talked by phone
12:11:46 -!- andrew has quit (Remote host closed the connection).
12:12:04 <izabera> what do i do? :\
12:12:28 <izabera> "hi thanks for this, just wanted to say that you're dumb and we've never talked by phone kthxbye"
12:16:40 <boily> "Hi, What are you talking aboot, eh? Sincerely, ..."
12:17:22 <izabera> sounds very similar to my version
12:19:53 <boily> you just never tell clients they are dumb. "Show, don't tell".
12:21:18 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
12:21:27 <izabera> ok thanks <.<
12:23:55 -!- boily has quit (Quit: PAUCAL CHICKEN).
12:37:09 -!- FreeFull has joined.
12:41:31 -!- mauris has joined.
12:44:22 <b_jonas> `? go
12:44:51 <b_jonas> `? alphago
12:45:12 <HackEgo> alphago? ¯\(°​_o)/¯
12:45:24 <fizzie> So: slow.
12:46:07 <b_jonas> huh
12:46:17 <fizzie> What even happened to the `? go I don't even know.
12:46:27 <b_jonas> `echo are you awake? 86594866f61a549987bc0cea0c0adbc6
12:46:31 <HackEgo> are you awake? 86594866f61a549987bc0cea0c0adbc6
12:46:35 <b_jonas> `? go
12:46:42 <HackEgo> Go is a common verbal game programming language invented by the Germanic Taneb tribes in the strategic territories of East Asia.
12:47:14 <fizzie> One of them is still running.
12:47:18 <fizzie> Somehow.
12:47:27 <b_jonas> didn't it just time out without a message?
12:47:30 <fizzie> No.
12:47:41 <fizzie> python /usr/bin/umlbox .. LANG=en_NZ.UTF-8 /home/hackbot/hackbot.hg/multibot_cmds/lib/limits ? go
12:47:53 <fizzie> Still there.
12:47:54 <b_jonas> does the computer have a hard disk failure, or a very high load?
12:48:03 <b_jonas> s/hard disk/hardware/
12:48:13 <fizzie> Well, it's a Cloud At Cost VPS...
12:48:22 <fizzie> It's managing to use 100% of CPU, too.
12:48:50 <izabera> how does `? go use 100% of cpu?
12:49:14 <b_jonas> izabera: problem with hardware or database
12:49:18 <b_jonas> `wisdom
12:49:24 <fizzie> It's one of the four umlbox-linux processes, don't know what it's doing.
12:49:24 <HackEgo> kallisti/kallisti is a former prophet swearing off his pastry deity.
12:49:28 <b_jonas> fizzie: is the memory usage high?
12:49:52 <fizzie> No.
12:50:00 <fizzie> Well, slightly.
12:50:37 <fizzie> There's also 600 <defunct> python processes.
12:50:45 <b_jonas> uh
12:50:47 <b_jonas> reboot?
12:50:48 <fizzie> But I think that's kind of a known issue.
12:50:54 <fizzie> I don't dare, it's not my system.
12:50:56 <b_jonas> but look at kernel message ring first
12:51:03 <b_jonas> for signs of hardware failure
12:51:09 <fizzie> ├─hackbot.freenod───socat───multibot─┬─599*[python]
12:51:09 <fizzie> │ └─python───python───python─┬─umlbox-linux───3*[umlbox-linux]
12:51:12 <fizzie> │ └─umlbox-mudem
12:51:18 <fizzie> I think multibot's just not waiting for its children.
12:51:37 <b_jonas> oh
12:51:40 <b_jonas> is the process table full?
12:51:45 <b_jonas> or the process count ulimit?
12:52:02 <b_jonas> check if something's trying to fork/clone in a tight loop
12:52:25 <fizzie> Shouldn't be. Anyway, it's managing to run things now, just that one `? go managed to get itself stuck.
12:52:38 <b_jonas> `? alphago
12:52:40 <HackEgo> alphago? ¯\(°​_o)/¯
12:52:48 <b_jonas> `? minsky
12:52:50 <HackEgo> to Minsky on : /mɪnskiː/ To act as a Minsky machine on; of a program or programming language, to encode its entire state into the object as a single integer.
12:52:52 <b_jonas> `? marvin minsky
12:52:53 <HackEgo> marvin minsky? ¯\(°​_o)/¯
12:53:40 <fizzie> Incidentally, the system used to keep getting "BUG: soft lockup - CPU#2 stuck for 22s! [kworker/2:0:17907]" but the last one of those is quite long time ago.
12:54:25 <fizzie> It would be interesting to dig into what that one umlbox is doing, but I should be working now, so maybe I'll just stop it.
12:54:30 -!- tromp_ has joined.
12:54:32 <HackEgo> No output.
12:54:35 <fizzie> There.
12:54:39 <b_jonas> huh
12:54:43 <b_jonas> `? go
12:54:45 <HackEgo> Go is a common verbal game programming language invented by the Germanic Taneb tribes in the strategic territories of East Asia.
12:58:58 -!- tromp_ has quit (Ping timeout: 250 seconds).
13:37:38 -!- Sgeo has joined.
13:42:52 -!- LexiciScriptor has joined.
13:45:49 -!- tromp_ has joined.
13:54:49 -!- bender| has joined.
14:00:17 -!- tromp_ has quit (Remote host closed the connection).
14:11:07 -!- `^_^v has joined.
14:29:57 -!- mezkhalin has joined.
14:31:34 <mezkhalin> LexiScriptor: sry for disappearing earlier. <LexiciScriptor> also, do you want to map only a symbol to an integer or more than one symbol? <- how do you mean exactly?
14:33:15 <LexiciScriptor> mezkhalin: I mean, probably you don't want domething like n=1; <whole bf program> -> 0; and your code is just 0
14:34:16 <LexiciScriptor> but maybe you want something like +. -> k
14:42:46 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
14:44:19 <mezkhalin> ah you mean fib % n where n is defined inherently from the instruction map?
14:46:07 <mezkhalin> oh wait nvm i think i understand now. no there is only what-you-call-it (identity mapping?) where one instruction maps to one integer only
14:46:20 <mezkhalin> but one type of instruction can occur multiple times in the map
14:48:20 <mezkhalin> so yeah i guess you could say in pseudo code +,-,[,[ which would map + to 0, - to 1 and [ to both 2 and 3
14:48:48 <mezkhalin> but multiple instructions may not occupy the same integer so to speak
14:48:48 -!- spiette has joined.
15:00:59 -!- tromp_ has joined.
15:01:12 -!- J_Arcane has joined.
15:05:26 -!- tromp_ has quit (Ping timeout: 240 seconds).
15:10:18 <Sgeo> `olist 1021
15:10:32 <HackEgo> olist 1021: shachaf oerjan Sgeo FireFly boily nortti b_jonas
15:11:34 -!- spiette has quit (Ping timeout: 250 seconds).
15:27:11 <izabera> https://i.4cdn.org/g/1454326614668.jpg
15:29:56 -!- LexiciScriptor has joined.
15:32:04 -!- adu has joined.
15:32:05 -!- oerjan has joined.
15:50:41 <mezkhalin> sup LexiciScriptor, did you get my earlier posts? i tried to better explain how i was thinking, but i might write a blog post describing my ideas in further detail
15:51:03 <LexiciScriptor> now i check the logs
15:51:11 <mezkhalin> :)
15:58:28 -!- adu has quit (Quit: adu).
16:00:56 <LexiciScriptor> mazkhalin: ok, now i understand your idea; seems fun, but atm there isn't a formula for the pisano period... is there a good algorithm?
16:02:12 -!- `^_^v has quit (Quit: This computer has gone to sleep).
16:05:42 -!- ais523 has joined.
16:09:22 <mezkhalin> i know there isn't and that's another fact that makes this practice even harder ;) as for a good algorithm i have no idea, but i have some ideas of how one MIGHT approax the problem
16:09:36 <mezkhalin> lemme write up an article on it and ill link it later
16:09:40 <LexiciScriptor> :)
16:11:11 -!- J_Arcane has quit (Ping timeout: 265 seconds).
16:11:38 -!- spiette has joined.
16:15:26 -!- J_Arcane has joined.
16:16:32 -!- ais523 has quit (Read error: Connection reset by peer).
16:19:25 -!- contrapumpkin has changed nick to copumpkin.
16:21:56 -!- Treio has quit (Ping timeout: 240 seconds).
16:22:51 -!- `^_^v has joined.
16:24:35 -!- Treio has joined.
16:30:05 -!- oerjan has quit (Quit: Later).
16:31:40 -!- `^_^v has quit (Quit: This computer has gone to sleep).
16:44:09 -!- `^_^v has joined.
16:58:59 <mezkhalin> ugh never try to write anything when a non-stop talker is present, i learned this the hard way
17:03:49 -!- Reece` has joined.
17:12:01 -!- Frooxius has joined.
17:13:32 -!- heroux has quit (Ping timeout: 265 seconds).
17:15:14 -!- heroux has joined.
17:36:34 -!- mauris has quit (Ping timeout: 256 seconds).
17:44:50 -!- MDream has changed nick to MDude.
17:54:17 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
17:54:36 -!- MoALTz has joined.
18:01:47 -!- tromp_ has joined.
18:06:56 -!- tromp_ has quit (Ping timeout: 272 seconds).
18:16:29 -!- LexiciScriptor has joined.
18:19:03 -!- Phantom_Hoover has joined.
18:22:50 -!- hppavilion[1] has joined.
18:38:24 -!- Reece has joined.
18:39:26 -!- Reece` has quit (Ping timeout: 240 seconds).
18:42:34 -!- zzo38 has quit (Remote host closed the connection).
18:49:50 <izabera> "Lemon allows multiple parsers to be running simultaneously. Yacc and bison do not."
18:49:53 <izabera> what's a use case for this?
18:52:44 <Riviera> izabera: same tool, multiple things to parse
18:53:38 <Riviera> was a very ugly thing with yacc
18:54:32 <Riviera> millions of hack existed in the old days
18:54:36 -!- Reece has quit (Quit: Alsithyafturttararfunar.).
18:54:43 <Riviera> basically sedding the generated code
18:54:52 <Riviera> via real sedding or lots of macros
18:59:06 <izabera> got an example?
19:02:57 <Riviera> for such hacks? [bbl a few hours / tomorrow]
19:05:58 <izabera> sure for such hacks
19:06:05 <izabera> it'd be interesting
19:13:22 -!- mauris has joined.
19:14:49 -!- Treio has quit (Ping timeout: 250 seconds).
19:15:16 -!- XorSwap has joined.
19:17:17 <hppavilion[1]> izabera: Mini-languages hth
19:17:50 <izabera> ... examples please x.x
19:17:57 <hppavilion[1]> izabera: Python's str.format()
19:18:14 <hppavilion[1]> izabera: You could, if you really wanted, use a separate yacc parser to parse a formattable string
19:18:34 <hppavilion[1]> Though it's probably really unnecessary and inefficient to do it that way
19:18:45 <izabera> i don't think anyone ever used yacc to parse format strings
19:18:53 <hppavilion[1]> izabera: Well, you could.
19:19:01 <hppavilion[1]> And that's all that matters.
19:19:15 <izabera> it's a made up use case
19:19:50 <hppavilion[1]> izabera: Well you could use some 1000000% more complicated format string if you wanted
19:20:01 <hppavilion[1]> izabera: Speaking of which, someone should do that. TC format strings.
19:20:06 <hppavilion[1]> (Oh wait, printf)
19:24:07 <mezkhalin> could anyone be so kind to remind me the command for the bot to delay messages until a user logs in?
19:24:38 <hppavilion[1]> mezkhalin: @tell
19:24:38 <izabera> @tell mezkhalin it's @tell mezkhalin
19:24:38 <lambdabot> Consider it noted.
19:24:47 <hppavilion[1]> I WIN!
19:24:48 <hppavilion[1]> WHOO!
19:24:51 * mezkhalin tips his hat
19:25:08 <izabera> you won in your own client
19:25:11 * mezkhalin also gives hppavilion a cheese reward
19:25:58 -!- mauris has quit (Ping timeout: 265 seconds).
19:25:59 <mezkhalin> @tell LexiciScriptor took me a while but here's the link https://rowbreak.wordpress.com/2016/02/01/pisaming-prograno/ scroll down to sequence signatures
19:25:59 <lambdabot> Consider it noted.
19:26:33 -!- mauris has joined.
19:26:40 <hppavilion[1]> um...
19:26:44 <hppavilion[1]> hauris?
19:26:46 <hppavilion[1]> Hm...
19:30:51 <mezkhalin> i take it lambdabot erases undelivered messages after a set time?
19:31:57 <hppavilion[1]> mezkhalin: Not ure
19:31:59 <hppavilion[1]> *sure
19:32:19 <mezkhalin> in that case i could theoretically do
19:32:35 <mezkhalin> @tell nonexistinguser message
19:32:35 <lambdabot> Consider it noted.
19:32:51 <mezkhalin> and it will never be delivered, eating away resources until it's reset
19:33:05 <mezkhalin> well not eating, more occupying but
19:33:31 -!- nonexistinguser has joined.
19:33:34 <nonexistinguser> Hi!
19:33:40 <nonexistinguser> @messages-lud
19:33:40 <lambdabot> mezkhalin said 1m 5s ago: message
19:33:43 <nonexistinguser> Huh?
19:33:53 <hppavilion[1]> Um...
19:33:56 <hppavilion[1]> That wasn't me...
19:33:57 <mezkhalin> well
19:34:03 <mezkhalin> what are the odds?
19:34:12 <mezkhalin> im too tired to calc
19:34:14 <hppavilion[1]> mezkhalin: Pretty good when you consider the occupancy of this cannel
19:34:17 <hppavilion[1]> *channel
19:34:42 -!- nonexistinguser has quit (Client Quit).
19:34:54 <mezkhalin> and also, what are the odds you two share the same hostname?
19:35:06 <mezkhalin> :P
19:35:19 <hppavilion[1]> mezkhalin: About 100%
19:37:44 -!- Treio has joined.
19:37:49 <hppavilion[1]> Oooh
19:37:50 <hppavilion[1]> Oooh
19:37:52 <hppavilion[1]> OOOH
19:37:59 <hppavilion[1]> We should establish the official #esoteric stack
19:38:22 * hppavilion[1] then proceeds to look up exactly what "stack" means in this context
19:40:50 <mezkhalin> meaning what exactly?
19:41:08 <hppavilion[1]> mezkhalin: Like LAMP or XAMPP or MEAN
19:41:26 <mezkhalin> ah right
19:41:40 <mezkhalin> i was thinking of a publicly available instruction or message stack
19:41:41 <hppavilion[1]> MEAN, for example, is MongoDB, Express.js, AngularJS, and Node.js
19:41:46 <mezkhalin> yeh
19:41:47 <hppavilion[1]> mezkhalin: Ah, no
19:42:00 <mezkhalin> and LAMP is web stuff
19:42:05 <mezkhalin> can remember the acronym
19:42:27 <mezkhalin> MP is MySQL and PHP at least
19:42:42 <mezkhalin> and apache! for Linux right?
19:43:23 <hppavilion[1]> mezkhalin: Yes, exactly
19:43:33 <hppavilion[1]> mezkhalin: But there are various stacks for various things
19:43:39 <hppavilion[1]> mezkhalin: Some stacks overlap with others
19:43:49 <mezkhalin> aye
19:44:18 <mezkhalin> so an #eso stack would include various established esolangs or the like?
19:48:12 -!- hppavilion[1] has quit (Ping timeout: 265 seconds).
19:49:30 <b_jonas> Sgeo: thanks
19:50:00 -!- hppavilion[1] has joined.
19:54:57 <HackEgo> [wiki] [[The chan-esoteric stack]] N https://esolangs.org/w/index.php?oldid=46339 * Hppavilion1 * (+567) Initial compilation
19:55:06 <hppavilion[1]> mezkhalin: Ther
19:55:07 <hppavilion[1]> e
19:56:07 <mezkhalin> hppavilion[1]: nice! i will have to add some additions once i've fed myself
19:56:17 <hppavilion[1]> mezkhalin: OK!
20:02:32 <mezkhalin> hppavilion[1]: before I _actually_ leave, remind me to write down the Principles of Eso as the commandments provided by Eso, whomever that guy is
20:02:58 <hppavilion[1]> mezkhalin: _actually_ leave? Huh?
20:03:06 <mezkhalin> for food i mean
20:03:11 -!- tromp_ has joined.
20:03:16 <hppavilion[1]> Ah
20:03:16 <hppavilion[1]> OK
20:03:19 <mezkhalin> im about to leave now, for real that is :P
20:03:25 <hppavilion[1]> Hi tromp_!
20:03:37 <hppavilion[1]> We're making the #esoteric solution stack!
20:03:49 <hppavilion[1]> http://esolangs.org/wiki/The_chan-esoteric_stack
20:06:24 <izabera> what is pile.js ?
20:07:29 <HackEgo> [wiki] [[Pile.js]] N https://esolangs.org/w/index.php?oldid=46340 * Hppavilion1 * (+1124) Work-in-progress
20:07:35 <hppavilion[1]> izabera: That's pile.js
20:07:52 -!- tromp_ has quit (Ping timeout: 256 seconds).
20:08:03 <hppavilion[1]> izabera: It's basically introducing concatenative programming to javascript
20:09:29 <hppavilion[1]> izabera: Still working on making it particularly eso
20:11:29 <HackEgo> [wiki] [[Pile.js]] https://esolangs.org/w/index.php?diff=46341&oldid=46340 * Hppavilion1 * (+48) Curried PUSH
20:15:12 <hppavilion[1]> izabera: For EsoDB I'm thinking... how about hexnet database?
20:15:38 <izabera> no idea what it is
20:15:47 -!- XorSwap has quit (Ping timeout: 276 seconds).
20:17:30 <HackEgo> [wiki] [[The chan-esoteric stack]] https://esolangs.org/w/index.php?diff=46342&oldid=46339 * Hppavilion1 * (+14) New item!
20:22:54 -!- XorSwap has joined.
20:23:58 -!- Reece` has joined.
20:25:25 -!- hppavilion[1] has quit (Ping timeout: 265 seconds).
20:32:10 -!- Phantom_Hoover has quit (Quit: Leaving).
20:35:03 -!- Reece has joined.
20:37:16 -!- hppavilion[1] has joined.
20:38:26 -!- Reece` has quit (Ping timeout: 240 seconds).
20:40:02 -!- mauris has quit (Read error: Connection reset by peer).
20:40:35 -!- mauris has joined.
20:51:42 -!- mauris has quit (Read error: Connection reset by peer).
20:53:16 -!- mauris has joined.
21:00:09 -!- mauris has quit (Read error: Connection reset by peer).
21:00:57 -!- mauris has joined.
21:09:10 <izabera> does anyone know or use this? https://github.com/KeenS/CIM
21:09:17 <izabera> or similar projects for other languages
21:16:58 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
21:25:30 -!- XorSwap has quit (Ping timeout: 256 seconds).
21:28:58 -!- Reece has quit (Read error: Connection reset by peer).
21:29:51 <fizzie> I've used that Python thing a little.
21:30:02 <fizzie> The 'virtualenv' thing. Although it's not quite the same.
21:30:48 <fizzie> Also that Perl thing, perlbrew.
21:33:05 -!- hppavilion[1] has joined.
21:52:14 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
21:56:18 <hppavilion[1]> mezkhalin: You back yet?
22:03:34 <mezkhalin> hppavilion[1] just for a while mate, whatsup?
22:04:21 <hppavilion[1]> mezkhalin: Nothing, just wondering
22:04:37 <hppavilion[1]> I'm KI for a bit
22:06:08 <mezkhalin> huh?
22:10:02 <fizzie> "Known issue", I think.
22:10:33 <mezkhalin> doesn't really make sense though
22:11:19 <hppavilion[1]> mezkhalin: Keyboard Inaccessible
22:13:10 <mezkhalin> hppavilion[1]: ah i see. i was thinking about the principals of eso, but im too self critical, writing "divine" commandments is a tough one
22:16:06 -!- hppavilion[1] has quit (Ping timeout: 265 seconds).
22:17:15 -!- mezkhalin has quit (Quit: baking bread).
22:20:28 -!- oerjan has joined.
22:25:08 -!- `^_^v has quit (Ping timeout: 248 seconds).
22:25:09 <oerjan> @tell mezkhalin <mezkhalin> ugh never try to write anything when a non-stop talker is present, i learned this the hard way <-- https://xkcd.com/604/ hth
22:25:09 <lambdabot> Consider it noted.
22:37:57 <oerjan> @tell mezkhalin <mezkhalin> i take it lambdabot erases undelivered messages after a set time? <-- i'm not sure they've ever implemented that. although it has on occasion lost messages for other reasons. i think this should happen less often now after int-e made lambdabot save more often.
22:37:57 <lambdabot> Consider it noted.
22:38:51 -!- boily has joined.
22:38:55 <oerjan> bohily
22:39:06 <boily> hellœrjan.
22:41:33 -!- Treio_ has joined.
22:42:54 <oerjan> `relcome Treio_
22:43:09 <boily> I think they are even Treio too.
22:43:10 <HackEgo> Treio_: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
22:43:21 <oerjan> oh
22:43:46 -!- Treio has quit (Ping timeout: 240 seconds).
22:43:52 <oerjan> boily: NOT FOR LONG
22:44:00 <boily> OKAY
22:44:18 * boily prods Treio_ to see if they are alive
22:45:14 <oerjan> @tell hppavilion[1] <hppavilion[1]> We should establish the official #esoteric stack <-- i think xkcd did that the other day.
22:45:14 <lambdabot> Consider it noted.
22:46:37 <boily> there's a fungot or two in there hth
22:46:38 <fungot> boily: mooz once tried to make it do optimization for tail recursion you simply return the string?
22:47:39 -!- Treio_ has quit (Quit: Leaving).
22:48:30 <oerjan> boily: not alive, just another slovakian zombie outbreak
22:50:47 <oerjan> @tell hppavilion[1] <hppavilion[1]> mezkhalin: Keyboard Inaccessible <-- itym "AFK" hth
22:50:47 <lambdabot> Consider it noted.
22:50:47 <boily> oh.
22:51:03 * boily wipes and disinfects his mapole
22:52:14 <oerjan> they're not as virulent as the romanian ones, but bad enough.
22:54:15 -!- Treio has joined.
22:54:32 <oerjan> zomback
22:56:01 -!- zgrep has changed nick to not_zgrep.
22:56:16 -!- zgrep has joined.
22:56:31 -!- not_zgrep has quit (Quit: ZNC 1.6.1 - http://znc.in).
22:56:33 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
23:05:00 <boily> the other week we had a discussion at our office about how should a zombie vampire be called: vombie or zampire?
23:06:26 -!- hppavilion[1] has joined.
23:07:17 <boily> hppavellon[1].
23:08:43 <zgrep> boily: A zombie vampire should be called a zampire.
23:09:11 <zgrep> boily: A vampire zombie should be called a vombie.
23:09:41 <zgrep> The former is a zombie that happens to suck blood, the latter is a vampire that happens to like brains.
23:10:21 <boily> what about bloody brains?
23:10:43 <zgrep> What about them?
23:11:29 <boily> if I see a thing consuming a bloody brain, should I assume it is a vampire zombie, or a zombie vampire? is there a difference?
23:11:47 <zgrep> Is it making slurping noises whilst consuming the bloody brain?
23:12:10 -!- hppavilion[1] has quit (Ping timeout: 265 seconds).
23:12:34 <boily> point.
23:13:13 <zgrep> It boils down to which it enjoys more. A slurping sounds means it's trying to get at the blood more so than the brain, whilst a more vigorous chewing means it likes the brains more. The former being a vombie, the latter a zampire.
23:13:55 <zgrep> If it's an equal amount of chewing and slurping of blood, then you can call it an anomaly.
23:38:43 -!- kragniz_ has changed nick to kragniz.
23:39:15 -!- aloril has quit (Ping timeout: 245 seconds).
23:41:20 <oerjan> if there's no blood, then it's an anemaly hth
23:41:39 * boily mapoles shachaf
23:41:49 <shachaf> ?
23:41:58 <oerjan> i did not expect that.
23:41:59 <boily> sorry. bad pun, so I tab-completed your name.
23:43:16 <oerjan> sorry. i felt an urge to comment and a pun was less awful than anything actually relevant.
23:43:58 -!- hppavilion[1] has joined.
23:44:44 -!- boily has quit (Quit: DEFINITE CHICKEN).
23:45:08 <oerjan> FLEEING CHICKEN
23:46:26 -!- aloril has joined.
23:47:11 -!- int-e has left ("RECURRENT CHICKEN").
23:47:11 -!- int-e has joined.
23:47:44 <oerjan> hint-e
23:48:17 <int-e> nice little twist in GG today... a small thing, but managed to surprise me.
23:49:12 <oerjan> hm which part
23:49:23 <oerjan> that she was supposed to take the book there?
23:49:31 <int-e> no, the punchline
23:49:40 -!- tromp_ has joined.
23:50:04 <int-e> (that would be the invisible ink part)
23:50:08 <oerjan> so, are you still annoyed that they're not back up in paris
23:50:34 <int-e> right now? no, this is interesting too.
23:50:44 <int-e> and they seem to be aware of the plot anyway
23:52:00 <oerjan> i'm wondering, given what was said, whether the expedition prof. zardeliv is on is also looking for the book
23:52:04 -!- Phantom_Hoover has joined.
23:52:18 <int-e> hmm
23:52:41 <tswett> So, some professional Go player once claimed that they would probably need to take a handicap of 3 or 4 stones against God.
23:53:11 <oerjan> because they'd clearly heard what happened to margarella, except for agatha getting hold of it
23:53:29 <tswett> Judging by that standard, is AlphaGo better or worse at Go than God is?
23:54:04 <int-e> this, maybe... Cho Chikun says he could take 4 stones with God playing white but also said that he wouldn't bet his soul on the game
23:54:13 -!- tromp_ has quit (Ping timeout: 265 seconds).
23:54:37 <oerjan> does that mean God gets the handicap or the player
23:55:42 <Phantom_Hoover> i assume the point is that even perfect play can't win with a 4 stone handicap?
23:56:14 <int-e> tswett: well, the "God" there means perfect play. So AlphaGo can't be better than that.
23:56:53 <tswett> oerjan: the player gets a handicap (and it favors the player).
23:56:56 <tswett> Phantom_Hoover: yeah.
23:57:13 <tswett> int-e: right, but AlphaGo may be capable of beating that one professional with a 4-stone handicap.
23:57:14 <oerjan> no one's claimed AlphaGo plays perfect, surely
23:57:35 <tswett> Right.
23:57:49 <int-e> tswett: relatively speaking, Fan Hui isn't very strong.
23:58:21 <int-e> cf. http://www.goratings.org/ ... top Elo rating: 3620; Fan Hui is at 2920.
00:02:25 <hppavilion[1]> Hellu!
00:02:35 <hppavilion[1]> @messages-screamed
00:02:36 <lambdabot> Unknown command, try @list
00:02:41 <hppavilion[1]> @messages-deafening
00:02:42 <lambdabot> Unknown command, try @list
00:02:48 <hppavilion[1]> @messages-shockwave
00:02:48 <lambdabot> Unknown command, try @list
00:02:50 <hppavilion[1]> :/
00:02:54 <hppavilion[1]> @messages-lud
00:02:54 <lambdabot> oerjan said 1h 17m 40s ago: <hppavilion[1]> We should establish the official #esoteric stack <-- i think xkcd did that the other day.
00:02:54 <lambdabot> oerjan said 1h 12m 7s ago: <hppavilion[1]> mezkhalin: Keyboard Inaccessible <-- itym "AFK" hth
00:03:29 <hppavilion[1]> oerjan: No, it didn't. xkcd just create /a/ stack. We should make a /true/ #esoteric stack
00:03:37 <int-e> And the AlphaGo authors estimated their program to have about 3140 Elo...
00:03:43 <hppavilion[1]> oerjan: Also, I wasn't AFK, it was just inaccessible
00:04:15 <int-e> (but they used the 10 games against Fan Hui for anchoring the scale, so there's quite a big margin for error, I think)
00:05:16 <hppavilion[1]> Another project it'd be cool for #esoteric to do would be to take REALLY old languages and revise them into modern languages ;)
00:05:25 <hppavilion[1]> Like apparently modula-2
00:07:16 <hppavilion[1]> But something I REALLY think would be cool is if somebody took the original Python source code- or made a language similar to Python- and modified it to the point where it was suitable for OS development by running an interpreter on bare metal
00:09:16 -!- ais523 has joined.
00:09:41 <oerjan> darn now i feel old we used modula-2 at my second programming course in university
00:10:01 <oerjan> (this was 1991 or thereabouts.)
00:10:23 <int-e> It was modern, compared to Pascal!
00:10:37 <oerjan> int-e: which we used in the _first_ course tdnh
00:11:12 <oerjan> turbo pascal
00:11:46 -!- Treio has quit (Ping timeout: 240 seconds).
00:11:53 <int-e> Hmm, that's not really Pascal... it had its own module (well, unit) system.
00:12:06 <oerjan> i don't think we used the fancy parts of it much.
00:14:42 <int-e> I don't think Modula added much over Turbo Pascal, feature wise; but it had a noticably different syntax.
00:15:01 <Sgeo> I accidentally voting opposite on a marketing survey
00:15:42 <int-e> you're accidently taking a marketing survey?
00:15:49 <Sgeo> Ads
00:15:56 <Sgeo> That block content etc
00:16:04 <oerjan> i think i've forgotten almost all the modula syntax
00:16:56 <oerjan> pascal stuck better as i also saw it in other contexts
00:17:16 <oerjan> both before and after the course
00:17:41 <int-e> Oh, it looks like Modula has interfaces (for modules), which Turbo Pascal didn't.
00:17:58 <oerjan> hm that rings a bell
00:20:11 <hppavilion[1]> oerjan: That was the plan :)
00:20:22 <fizzie> We had a "basics of imperative programming" course taught in C but by a former Pascal person.
00:20:45 <fizzie> They said you declare a floating point variable 'x' in C with the declaration "x real;"
00:20:59 <int-e> oh joe (or joy?)... #define begin {
00:21:28 <oerjan> hppavilion[1]: i fail to recall where you could have gained the knowledge that i ever learned modula-2, in order to plan from it.
00:21:32 <hppavilion[1]> int-e: Really? woooooooow
00:22:06 <hppavilion[1]> oerjan: It wasn't targetted at you specifically, just at anyone who'd learned it.
00:22:11 <oerjan> ah.
00:22:25 <oerjan> i was just a nocent bystander, got it
00:22:53 <hppavilion[1]> oerjan: I think you mean a broke bystander hth
00:23:00 <hppavilion[1]> Or is it a clueless bystander?
00:24:24 <oerjan> wat
00:24:34 <oerjan> nocent is a perfectly cromulent word hth
00:24:44 <oerjan> (although i only checked it after using it)
00:25:12 -!- spiette has quit (Quit: :qa!).
00:25:58 <tswett> I think you *can* run Python by running an interpreter on bare metal. It's just, I don't know if anyone has ever actually created such an interpreter.
00:26:50 <hppavilion[1]> tswett: Well someone should
00:27:16 <hppavilion[1]> tswett: What I'm really getting at is that someone should develop a language targeted SPECIFICALLY at OS developmen
00:27:17 <hppavilion[1]> t
00:27:29 <tswett> hppavilion[1]: that's... not quite but kind of what Rust is.
00:27:36 <tswett> I mean, it's targeted at *system* development.
00:27:38 <hppavilion[1]> tswett: OK.
00:27:43 <tswett> And lots of people have done OS development in it.
00:27:45 <tswett> Including me.
00:28:06 <hppavilion[1]> tswett: Would there happen to be a tutorial for using Rust for that I can use after I learn Rust?
00:28:11 <tswett> Granted, my OS doesn't really do anything. It dynamically allocates memory, and uses it to print "Hello, world!" backwards.
00:28:28 <int-e> `? elloh
00:28:29 <HackEgo> elloh? ¯\(°​_o)/¯
00:28:39 <hppavilion[1]> tswett: And osdev.org doesn't have a Rust tutorial, afaict
00:28:47 <int-e> `wisdom
00:28:49 <HackEgo> thausiblee/A thausiblee is the recipient of a thausible action.
00:29:12 <tswett> There isn't really any such thing as an OS development tutorial. OS development requires quite a bit of knowledge.
00:30:00 <tswett> That said...
00:30:01 <tswett> http://wiki.osdev.org/Rust_Bare_Bones
00:30:10 -!- bb010g has joined.
00:30:11 <hppavilion[1]> tswett: That's what I said.
00:30:25 <hppavilion[1]> tswett: Rust Bare Bones doesn't have anything in it
00:30:34 <hppavilion[1]> Anything useful, at least
00:30:43 <tswett> The first link is very useful: https://github.com/thepowersgang/rust-barebones-kernel
00:31:57 <tswett> hppavilion[1]: by the way, do you know how to implement linked lists in C?
00:32:09 <hppavilion[1]> tswett: Yes. Kind of.
00:32:11 <hppavilion[1]> xD
00:32:19 <hppavilion[1]> I failed at it.
00:32:33 <zgrep> tswett: Isn't it just a structure of data and a pointer to the next thing?
00:32:34 <hppavilion[1]> Partially
00:32:39 <tswett> In any case... have fun.
00:32:41 * tswett cackles.
00:33:48 <int-e> linked lists are so much fun to debug...
00:34:05 <int-e> but kinda boring when they work
00:35:36 -!- Treio has joined.
00:36:20 <Sgeo> I should read Too Many Lists
00:36:32 <Sgeo> And work on releasing my minilibrary for Rust
00:37:42 -!- bender| has quit (Ping timeout: 252 seconds).
00:38:32 <tswett> That reminds me... I was working on implementing everything in Coq.
00:41:29 <zgrep> How was it goingL?
00:41:31 <zgrep> s/L//
00:41:40 <tswett> Well, I haven't gotten very far yet.
00:41:47 <tswett> You could say that I'm 0% finished at the moment.
00:42:18 <HackEgo> [wiki] [[Deadfish]] https://esolangs.org/w/index.php?diff=46343&oldid=45922 * Erinius * (+14)
00:42:43 <tswett> Anyway, I've defined Category, the type of categories.
00:43:03 <tswett> Next, I'm going to... I'm gonna define Monoid, the type of monoids.
00:49:24 <zgrep> Makes me wish I knew things by osmosis.
00:50:39 <tswett> There, I've done that too.
00:50:48 <tswett> This brings me to 0% complete.
00:51:37 <tswett> Next... heck, I feel like defining all sorts of weird things today. I'm going to define a natural number algebra!
00:52:32 <tswett> Record NaturalNumberAlgebra := { nnalg_element_type : Type; nnalg_zero : nnalg_element_type; nnalg_successor : nnalg_element_type -> nnalg_element_type }.
00:52:36 <tswett> It's a pretty simple concept.
01:05:10 <tswett> Suddenly I feel like giving up on this and working on my English–Spanish blend instead.
01:05:35 <tswett> Tentatively called SN50.
01:06:13 <tswett> I don't really have any SN50 words created yet. But it's likely that the word for a certain type of animal will be something pretty close to "wolbo".
01:06:59 <tswett> I'm not just randomly mashing together the words "wolf" and "lobo". The "lf" of "wolf" and the "lob" of "lobo" actually have the same etymological origin.
01:07:37 <tswett> So, I'm mashing them together in an etymologically sound fashion!
01:14:03 <ais523> I had an idea recently that sounds like the sort of thing #esoteric would be interested in
01:14:06 <ais523> homeomorphic compression
01:14:14 <ais523> I have no idea how to implement it, but it seems like an interesting concept
01:14:24 <ais523> (the idea is that you can operate on compressed data without decompressing it)
01:14:45 <ais523> the aim would be to further develop this into allowing compressed RAM
01:14:58 <ais523> (thus you could "download more RAM" via downloading a better compressor)
01:15:38 <zgrep> Hahah.
01:20:00 -!- mad has joined.
01:20:59 <mad> playing around with cpu instruction set design
01:21:21 <mad> I'm ending up with some pretty insane design
01:23:43 <mad> instead of going
01:23:58 <mad> add r8, r4, r5 (add r4 to r5 and store in r8)
01:24:03 <mad> I'm ending up with
01:24:50 <mad> rename r8*, ld r4, add r5, st r8*
01:27:37 <mad> kindof a 6502 on crack where instead of running instructions directly, you rename target registers, then start small threads that compute the results
01:31:46 <mad> the idea being that using a virtual accumulator reduces the number of real registers you have to retire/write
01:32:54 <mad> and that it gives a good idea of what can be parallelized (load accumulator = can start a second execution thread here that can run before the previous instructions are done)
01:34:31 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:35:06 <oerjan> <tswett> So, I'm mashing them together in an etymologically sound fashion! <-- technically, that would require making up a consistent set of sound changes from the common ancestor in proto-indoeuropean hth
01:35:17 <tswett> Exactly.
01:36:12 -!- bender| has joined.
01:37:18 <ais523> mad: have you seen the Itanium?
01:38:09 <mad> I'm not aware of the small details, only that it was a failure ;)
01:38:37 <ais523> the details are amazing
01:38:40 <ais523> very eso
01:38:47 <ais523> (which probably explains why it was a failure)
01:39:06 <mad> or more exactly, that it performed well at floating point, but considering its market that doesn't seem to have helped much
01:39:30 <mad> I'm aware that it has 3 instruction bundles
01:39:58 <coppro> it did get us a pretty solid C++ abi
01:39:59 <mad> with some strange fields to tell which instructions can run concurrently in contiguous bundles
01:41:17 <mad> and that it has weird stuff like modulo registers
01:41:32 <mad> and speculative loads
01:41:54 <mad> and the whole predicate bit thing where it basically has a whole lot of different flags registers
01:42:39 <mad> I think the failure is more due to just not performing well
01:43:25 <mad> one guy says that it can't perform an address calculation in memory loads/stores and that eats up registers like crazy and is pretty bad overall
01:45:12 <mad> and also that what was left of alpha ended up as a team at intel and they tried to make an out of order version of itanium and just couldn't do it
01:45:28 -!- XorSwap has joined.
01:49:22 <mad> My guess on this stuff is that it's often best to have a cpu architecture that performs well on a crazy mix of loads and stores and jumps, and that fast arithmetic is a comparatively lesser problem if your architecture is clean enough
01:50:07 <mad> itanium clearly doesn't fit here
01:53:14 -!- bender| has quit (Ping timeout: 252 seconds).
01:56:42 <mad> and that x86 has a couple of features that bizzarely seem to help despite their complexity
02:00:17 -!- MDude has changed nick to MDream.
02:12:04 <oerjan> what, did wikipedia go down
02:12:43 <oerjan> hmph google doesn't work either, guess it's me then
02:14:39 <oerjan> i hope i won't just lose irc as well if i toggle the router...
02:15:45 -!- tromp_ has joined.
02:15:57 <pikhq_> Can confirm, Google is not currrently on fire.
02:16:05 <oerjan> OKAY
02:16:25 <oerjan> i just did a quick toggling in windows, seems to have fixed it.
02:17:25 <tswett> Latin seems way closer to PIE than Old English is.
02:17:34 <tswett> Which makes sense, since Latin was spoken sooner.
02:17:39 <oerjan> pikhq_: well that's just _your_ site, i hear google has several
02:17:45 <shachaf> pikhq_: Really?
02:18:04 <pikhq_> oerjan: A notable outage would probably involve my inbox going wild too...
02:18:06 <shachaf> Google is usually at least a little bit on fire in my experience.
02:18:13 <oerjan> pikhq_: ah
02:18:23 <pikhq_> shachaf: Well, relatively speaking.
02:18:33 <izabera> just use bing until this gets sorted out
02:19:09 <pikhq_> There's only so "everything fine" you can be when your reliability comes from designing around the assumption that some percentage of things are going to fail.
02:19:11 <oerjan> tswett: i dunno, i've heard modern lithuanian is notably archaic
02:19:16 <oerjan> *read
02:20:05 <shachaf> Past a certain point "up" or "down" is an analog value, not digital.
02:20:15 <pikhq_> Yup.
02:21:00 <pikhq_> There *was* a major outage of damn near everything earlier today for a couple minutes, though, so that was fun.
02:21:16 <shachaf> whoa whoa whoa
02:23:11 <izabera> that's very reassuring
02:23:19 <shachaf> pikhq_: Remind me, do you work on Calendar?
02:23:48 <pikhq_> shachaf: No, but I do work *next* to them.
02:24:04 <shachaf> I heard some rumours about Calendar the other day.
02:24:43 <pikhq_> I can neither confirm nor deny there being rumor-worthy things about them.
02:24:56 <shachaf> I mean, nothing really all that secret.
02:26:05 <shachaf> What was it you worked on again?
02:26:23 <pikhq_> Google Apps for Work
02:28:07 <tswett> oerjan: yeah, but that doesn't make sense.
02:29:20 <shachaf> pikhq_: Is that the same as ----er?
02:29:28 <pikhq_> Yes
02:29:37 <pikhq_> The more general public name for it.
02:29:59 <shachaf> I guess the internal name isn't secret anyway.
02:30:08 <shachaf> But I'm pleased with the redaction.
02:30:17 <pikhq_> Yes, it's fairly delightful.
02:32:10 <oerjan> f---er
02:33:12 <shachaf> I played _Spider and Web_ today. Interesting game.
02:33:15 <izabera> fu--er
02:33:28 <pikhq_> We definitely do not use "fucker" as an internal code name.
02:33:36 <pikhq_> ... At least, not one I know about.
02:33:40 <izabera> fuh-er
02:33:46 <tswett> Fuhrer?
02:33:48 <izabera> fuhrer
02:34:08 <izabera> you should be ashamed, google
02:34:10 <shachaf> pikhq_: I mean... There was an unfortunately named build tool...
02:34:26 <shachaf> That one was so bad that it was renamed.
02:34:43 <izabera> ah, google childslaughter, renamed to google mail
02:34:51 <tswett> Der Googleführer?
02:34:52 <pikhq_> shachaf: Don't even know what you're referring to.
02:35:18 <tswett> /topic mōdar - māter; āna - ūnus
02:35:19 <pikhq_> But I really hope you're not referring to what eventually became Bazel.
02:36:11 -!- v^ has joined.
02:36:42 <v^> so what do people think about a webserver written in brainfuck ( ͡° ͜ʖ ͡°)
02:36:55 <pikhq_> Implausible yet highly amusing.
02:36:58 <oerjan> tswett: are you sure those last two are in the same gender?
02:37:14 <izabera> that's one weird question for irc
02:37:41 <tswett> oerjan: āna and ūnus? Nope.
02:37:49 <pikhq_> shachaf: Do you know anyone in the area that can perform a cephalectomy? I think it might help my headaches.
02:38:07 <izabera> *that*'s one weird question for irc
02:38:32 <shachaf> I'm not sure what a cephalectomy is.
02:38:39 <izabera> brain removal
02:38:58 <pikhq_> Head removal, actually.
02:39:03 <izabera> sorry
02:39:24 <tswett> Remind me what a cephalotomy would be?
02:39:29 <shachaf> I have a copy of a book titled _On Having No Head_.
02:39:36 <shachaf> Are you interested?
02:39:41 <pikhq_> Cephalotomy would be cutting the head. Cephalectomy would be removal of the head.
02:40:16 -!- andrew has joined.
02:46:36 <izabera> https://github.com/rdebath/Brainfuck about that small snippet in the readme, hellbox
02:47:18 <izabera> any idea how to prove that it's not stuck in an endless loop at the end?
02:47:29 <izabera> other than running it
02:47:38 <hppavilion[1]> Ugh. How do I get grub-mkrescue working on windows?
02:47:51 <hppavilion[1]> No one say switch to linux, I'm not in the mood to do that ATM
02:47:53 <izabera> just wanted to remove that loop to generate cleaner code
02:49:09 <izabera> there's also a similar [] loop in the middle and i can't prove that it's not stuck there either
02:49:41 <oerjan> it seems again time to link https://en.wikipedia.org/wiki/Mike_the_Headless_Chicken
02:50:00 <izabera> DDDDDDDD: dafuq is that
02:50:11 <hppavilion[1]> Halp?
02:50:27 <oerjan> thought so.
02:50:33 <hppavilion[1]> `help "getting grub-mkdir working on windows"
02:50:33 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
02:50:36 <hppavilion[1]> Wait, no
02:50:42 <hppavilion[1]> `help "getting grub-mkrescue working on windows"
02:50:42 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
02:51:07 * izabera doesn't use grub so debugging it is not an option
02:51:48 <izabera> systemd-boot is great when it doesn't fuck up your efi
02:59:12 <hppavilion[1]> izabera: Alternatively, I just need to be able to make a .bin I made with nasm and ld into a bootable iso
02:59:25 <hppavilion[1]> everyone: But a way to use grub would be optimal
03:00:19 <zgrep> s/-boot(.+?) your.*/\1/
03:00:34 <zgrep> s/great/terrible/
03:01:06 <izabera> well, one of those changes sounds superfluous
03:01:20 <izabera> hppavilion[1]: take a look at the tutorials on osdev.org
03:04:32 <tswett> hppavilion[1]: you're planning to run your OS on bare metal?
03:05:00 <tswett> I'd run it in an emulator first. Easier to get going, and there's not much point in skipping past it.
03:05:13 <hppavilion[1]> tswett: On an emulator, obviously
03:05:16 <hppavilion[1]> tswett: *Sigh*
03:05:18 <tswett> Ah, good.
03:05:19 <hppavilion[1]> What was I doing wrong?
03:05:33 <hppavilion[1]> tswett: What do I not need to do that I'm doing but I need not because emulators?
03:05:53 <tswett> Right, right. Lemme see.
03:06:09 <tswett> The good news: emulators aren't going to make it that much easier.
03:06:14 <zgrep> izabera: One of those changes tells the truth, the other one makes the point more succinct and more general. :P
03:06:16 <hppavilion[1]> Oh no...
03:06:21 <hppavilion[1]> tswett: I have a bit of ASM I found on someone's blog that I'm working from
03:06:28 <tswett> Actually... I did in fact make an ISO in order to boot my OS.
03:06:34 <tswett> Having an emulator didn't make *that* part easier at all.
03:06:40 <tswett> What an emulator is good for is debugging.
03:06:49 <tswett> With an emulator: "My OS isn't working. Let me figure out why."
03:06:50 <hppavilion[1]> And the tutorial uses grub-mkrescue to make an iso out of a .bin
03:06:55 <tswett> Without an emulator: "My OS isn't working. Crap."
03:07:11 <tswett> I don't think I used grub-mkrescue. Lemme see.
03:07:20 <hppavilion[1]> You say "lemme see" a lot
03:07:33 <hppavilion[1]> You should instead say "lemma C"
03:07:42 <hppavilion[1]> To refer to the third lemma set forth in this proof
03:07:48 <tswett> I like that idea.
03:07:49 <hppavilion[1]> hth
03:07:52 <hppavilion[1]> :)
03:07:58 <tswett> I used something called "genisoimage".
03:08:27 * hppavilion[1] nods
03:08:32 <hppavilion[1]> And where do I get that?
03:09:57 <tswett> I'm not sure.
03:10:04 <tswett> By the way, what format are you using for the kernel? ELF?
03:11:01 <hppavilion[1]> tswett: I don't even know anymore
03:11:11 <hppavilion[1]> tswett: ELF, in theory
03:11:23 <hppavilion[1]> Yeah, ELF. I remember now
03:13:25 <hppavilion[1]> tswett: And?
03:14:58 -!- Treio has quit (Quit: Leaving).
03:15:14 <tswett> Unfortunately I have to go to bed now.
03:15:15 <tswett> Night.
03:16:31 <izabera> ~
03:30:12 -!- XorSwap has quit (Quit: Leaving).
03:32:57 <oerjan> sea of lemmings
03:34:33 <\oren\> you can change orbits by having the astronaut get out and push
03:36:25 <\oren\> of course, this is harder than it sounds because you can't use the jetpack while on a ledder
03:36:29 <\oren\> *ladder
03:37:06 <\oren\> so you have to get out, fly to a flat surface of the orbiter, and fly against that hard
03:37:36 <hppavilion[1]> OK
03:37:38 <hppavilion[1]> I am so close
03:37:41 <hppavilion[1]> How do I get bochs
03:37:43 <hppavilion[1]> To boot an iso?
05:08:50 -!- Trioxin has joined.
05:10:01 <Trioxin> so brainfuck isn't actually as esoteric as one might think. In doing some AI research with the idea of searching a programming space it turns out to be quite useful
05:10:15 <Trioxin> http://www.primaryobjects.com/2013/01/27/using-artificial-intelligence-to-write-self-modifying-improving-programs/
05:11:16 <Trioxin> so my idea? do the same thing and have a program do NLP with lojban to produce brainfuck code
05:11:46 -!- mauris has quit (Ping timeout: 265 seconds).
05:14:05 * Elronnd downloads github link to run it locally
05:20:32 <Trioxin> Elronnd, it was clever. I wouldn't have thought of brainfuck off the top of my head to constrain the programming space (I've never used brainfuck or any esoteric).
05:24:14 <Trioxin> of course in that example the fitness function is just a string output. still impressive to me but I would aim higher.
05:25:32 <Elronnd> I...don't see how to run it
05:25:51 <Trioxin> i think the AI part was done in .net?
05:26:17 <Elronnd> Looks like
05:26:28 <Elronnd> Maybe AIProgrammer/Program.cs?
05:27:26 <Trioxin> one sec. a step behind you
05:28:03 <Elronnd> https://github.com/primaryobjects/AI-Programmer
05:28:44 <Trioxin> im there. oh cool it actually looks to still be maintained
05:29:17 <Elronnd> Last commit half a year ago? not so much
05:29:59 <Elronnd> Installing mono...
05:30:01 <Trioxin> well, considering it started in jan 2013
05:30:14 <Elronnd> It looks like it's written for windows though
05:31:22 <Elronnd> Running some of the programs in Results/, the encoding seems messed up or something
05:31:37 <Trioxin> eh, froze my 7zip. one sec
05:32:33 <Elronnd> Huh, I'm getting a weird error from mono
05:32:38 <Elronnd> "Cannot open assembly 'Program.cs': File does not contain a valid CIL image."
05:33:19 <Elronnd> Oh, apparently I have to compile with mcs first
05:33:41 <Elronnd> but that gives me errors
05:34:25 <Trioxin> i just opened it in vs2015
05:34:54 * Elronnd sighs
05:34:58 <Elronnd> I don't use windows
05:35:00 <Trioxin> it works!
05:35:30 <Elronnd> for what?
05:36:13 <Trioxin> i think i might need to define a string, hold on. I got a CLI app that was outputting info from the GA's epochs
05:37:32 <Elronnd> Oh, apparently vs is available for linux
05:38:19 <Elronnd> I opened the folder, now how do I run the program?
05:41:15 <Trioxin> got it
05:41:25 <Trioxin> you just pass the string via cli
05:41:34 <Elronnd> What do you mean?
05:41:49 <Elronnd> how?
05:42:15 <Trioxin> compiled with vs then ran from cli
05:42:26 <Elronnd> how do you compile with vs?
05:42:41 <Trioxin> just hit "Start" or build solution
05:42:45 <Trioxin> start/debug
05:42:47 <Trioxin> http://screencast.com/t/h0nRvAqPnh
05:43:53 <Trioxin> the play button in VS lol. produces a directory called AIProgrammer/bin/AIProgrammer.exe
05:44:06 <Trioxin> or build solution, whatever
05:45:52 <Trioxin> that's interesting. target string is hello. So far it's best fitness has been "hi"
05:46:05 <Trioxin> obviously a coincidence
05:46:25 <Trioxin> OMG it's self-aware
05:46:35 <Elronnd> I'm getting an ERROR: Debug adapter process has terminated unexpectedly
05:47:33 <Trioxin> probably best on windows. i'll send you a compiled version. let me know if you want to change the fitness parameter explained near the top of Program.cs
05:47:44 <Trioxin> want me to change it rather
05:48:06 <Trioxin> the fitness method
05:48:08 -!- oerjan has quit (Quit: Nite).
05:48:33 <Elronnd> k, thanks
05:48:58 <Trioxin> wow i don't get it. I defined "hello" as the target and the program finished with: hi
05:49:52 <Trioxin> once it hit "hi" it considered that the best till the end
05:50:31 <Trioxin> it was still generating far after it first came up with hi too
05:51:48 <Trioxin> here you go...
05:52:01 <Trioxin> https://spideroak.com/storage/NNZGC6I/shared/462690-13-15328/bin.tar.gz?92a837f9aad6a97caddb46f9b046825e
05:54:05 <Trioxin> "hi" must be hard-coded somewhere
05:55:42 <Trioxin> oic where it's hard-coded
05:55:54 <Trioxin> IfThenFitness.cs
05:56:10 <Elronnd> downloading now
05:56:19 <Trioxin> concrete/IfThenFitness.cs
05:57:03 <Elronnd> It's doing something
05:57:07 <Elronnd> I'm not sure what
05:57:11 <Trioxin> specify 1, 2 or 3
05:57:17 <Trioxin> pass it to the program
05:57:18 <Trioxin> { "hi", "z", "bye" }
05:57:46 <Trioxin> well, "Note, input is taken in byte value (not ASCII character)."
05:58:40 <Trioxin> i passed it 2. waiting for output
05:59:17 <Elronnd> Now I have to get a decent bf implementation
05:59:32 <Trioxin> // If/Then example. Accepts input from the user (1, 2, 3) and prints out text, depending on the option selected.
05:59:53 -!- infinitymaster has joined.
05:59:55 <Trioxin> it's giving me damn "hi" again. should be "z"
06:01:09 <Trioxin> maybe change this in Program.cs? private static TargetParams _targetParams = new TargetParams { TargetString = "hi" };
06:01:25 <Elronnd> It keeps giving me "unbalanced ']'"
06:01:38 <Trioxin> hmm
06:02:28 <Elronnd> the brainfuck interpreter, that is
06:02:45 <Elronnd> I think it's producing malformed brainfuck
06:02:57 <Trioxin> here try this...
06:03:47 <Trioxin> http://hastebin.com/qamojiqohu.coffee
06:04:31 <Elronnd> still producing malformed bf
06:04:41 <Elronnd> *still getting that error
06:05:02 <Trioxin> the bf the ai is using is outputting it correctly
06:05:11 <Trioxin> version problem?
06:05:25 <Elronnd> the ai appears to be producing bf it can interpret, yes
06:05:34 <Elronnd> I doubt it's a version problem
06:05:52 <Elronnd> brainfuck standards are pretty much set in stone, at this point
06:06:06 <Elronnd> if it used some weird extensions to brainfuck, I think it would say so
06:06:08 <Trioxin> cause it looks like it's running the code against bf when it outputs the results
06:06:23 <Elronnd> yes
06:07:40 <Trioxin> oh well. it's not like these fitness functions are that great anyway
06:07:54 <Trioxin> outputting some text
06:08:54 <izabera> https://arin.ga/BoVkW7/raw compiling this on x86_64 with -Ofast -march=native, clang produces 1 movq, gcc produces 8 movb
06:09:17 <izabera> sorry that wasn't relevant to the current discussion
06:09:29 <Trioxin> np
06:10:05 <Trioxin> it's a cool proof of concept though however infantile
06:12:00 <Trioxin> i don't know all that much about quantum computing/creating algorithms for quantum computers but I always wondered if something like this could be done with quantum gating
06:13:18 <Trioxin> i know there's some project (I think by Google) that let's you run your algos on their d-wave. Of course I don't believe the d-wave to be a true quantum computer
06:13:46 <pikhq_> Yeah, something about the d-wave smells.
06:13:48 <Trioxin> i know some lab recently created a QC based on quantum gating though
06:14:52 <Trioxin> and we've got quantum coherence in silicon now too
06:18:16 <Trioxin> is brainfuck limited to just being turing complete? like no networking or other systems api access?
06:18:37 <pikhq_> Without any sort of extensions, yes.
06:19:03 <pikhq_> It has the ability to do arbitrary computation, and to access stdin and stdout.
06:19:08 <pikhq_> That's about it.
06:19:32 <ais523> we talk about "brainfuck-completeness" which is Turing-complete + can do arbitrary things with stdin and stdout access (including making stdout any Turing-equivalent function of stdin)
06:21:37 <Trioxin> hmm. so you could extend it with external components and actually have it do a lot more using this sort of machine learning
06:22:23 <ais523> the most true to the spirit of brainfuck is to write a syscall library that communicates over stdin and stdout
06:22:31 <ais523> although most people's attempts to do that have stalled quickly
06:22:46 <pikhq_> It turns out to be harder than it looks.
06:23:22 <Trioxin> and so the computer will write it for us :P
06:23:41 <pikhq_> Yeaaah, that's a ways off.
06:24:16 <pikhq_> Google still hires software engineers you know. :P
06:26:20 <Trioxin> ray kurzweil is over there. i remember him being quoted as saying he could write a super-intelligence in 50 lines of lisp. of course it would take an eternity to run and get to that point
06:27:27 <Trioxin> using the same sort of method as this BF programmer AI
06:27:32 <pikhq_> Huh, does Kurzweil work for Google? News to me.
06:27:53 <Trioxin> yeah, i think he heads up deep mind
06:27:59 <pikhq_> Sure enough!
06:28:15 <pikhq_> Maybe I'll pay him a visit for shits and giggles.
06:28:27 <Trioxin> you work for G?
06:28:41 <pikhq_> Yep
06:29:36 <Trioxin> lucky. I'm a convicted felon so I have to code for myself and only get to work for big companies under contract
06:29:54 <pikhq_> Eeep. Well, that sucks.
06:29:56 <Elronnd> I don't know if you're joking
06:30:17 <pikhq_> Elronnd: Well, being a convicted felon does make it nigh impossible to get a job here.
06:30:20 <pikhq_> Which is terrible.
06:30:30 <Elronnd> that does suck
06:30:44 <pikhq_> And perversely serves only to increase crime.
06:31:05 <Elronnd> governments in general are fucked up in many ways
06:31:22 <Trioxin> I'm not joking. one stupid mistake when I was 18 all effed up on xanax and alcohol (Going into unlocked cars and removing mostly random useless things)
06:31:58 <Elronnd> ...FELONY??????
06:32:03 <pikhq_> Yup, sounds like the way it goes. Do something stupid when you're a dumb 18 year old and voila you're fucked.
06:32:12 <ais523> I'm not even sure the UK has a felony/misdemeanor split; perhaps it does but it certainly isn't part of popular culture like it is in the US
06:32:18 <pikhq_> Elronnd: "Felony" is surprisingly easy to hit.
06:32:53 <pikhq_> ais523: I suspect the UK also doesn't make it so that once you're a felon you're basically an untouchable.
06:32:59 <Trioxin> yeah. and I had a pub defender so they were supposed to do this thing called running my charges concurrent which would have put them all into 1 and I could have expunged them later
06:33:14 <Trioxin> instead I have 7 felonies for 1 crime
06:33:29 <Trioxin> (Each car they knew I broke into)
06:33:45 <Trioxin> public defender fucked me over
06:34:01 <Trioxin> if you call it "Breaking in"
06:34:16 <Trioxin> the charge is "Burglary of an unoccupied conveyance"
06:34:55 * pikhq_ especially 'loves' things like "felons can't vote".
06:35:07 <Trioxin> i woke up in jail not knowing why i was there
06:40:37 <Elronnd> what happened?
06:42:14 -!- nisstyre has quit (Quit: WeeChat 1.3).
07:08:43 -!- bb010g has quit (Quit: Connection closed for inactivity).
07:15:54 -!- infinitymaster has quit (Quit: Leaving...).
07:18:09 -!- infinitymaster has joined.
07:53:26 -!- andrew has quit (Ping timeout: 272 seconds).
07:59:16 -!- tromp_ has quit (Remote host closed the connection).
08:06:09 -!- andrew has joined.
08:25:11 <Trioxin> Erlonnd, I was convicted of a slew of burglary and theft charges that should have been rolled up into 1 charge that I could have gotten expunged from my record. The limit for expunging is 4 charges so it's pointless with 7 felonies.
08:31:23 -!- ais523 has quit (Ping timeout: 264 seconds).
08:46:16 -!- LexiciScriptor has joined.
08:51:18 -!- infinitymaster has quit (Remote host closed the connection).
08:59:52 -!- FreeFull has quit (Quit: GTG).
08:59:57 -!- tromp_ has joined.
09:04:26 -!- tromp_ has quit (Ping timeout: 240 seconds).
09:06:40 -!- hppavilion[1] has quit (Ping timeout: 265 seconds).
09:26:18 -!- J_Arcane has quit (Ping timeout: 256 seconds).
09:32:08 -!- jaboja has joined.
09:32:16 -!- jaboja has quit (Excess Flood).
09:32:36 -!- jaboja has joined.
10:07:42 -!- jaboja has quit (Ping timeout: 272 seconds).
10:10:25 -!- AnotherTest has joined.
10:50:53 -!- anybody has joined.
10:50:53 -!- anybody has quit (Client Quit).
11:00:27 -!- tromp_ has joined.
11:04:59 -!- tromp_ has quit (Ping timeout: 276 seconds).
11:15:12 -!- jaboja has joined.
11:28:26 -!- jaboja has quit (Ping timeout: 240 seconds).
11:29:27 -!- jaboja has joined.
11:35:30 <HackEgo> [wiki] [[OISC]] https://esolangs.org/w/index.php?diff=46344&oldid=45951 * * (+1) /* List of OISCs */ Subleq's conditional is "less than or equal to 0", not just "less than 0"
11:35:52 -!- boily has joined.
11:37:55 -!- jaboja has quit (Ping timeout: 260 seconds).
11:51:58 -!- jaboja has joined.
11:54:37 <HackEgo> [wiki] [[Subleq]] https://esolangs.org/w/index.php?diff=46345&oldid=45991 * * (-9) /* External resources */ TechTinkering URL to point to new GH-based site
12:01:06 -!- tromp_ has joined.
12:05:36 -!- tromp_ has quit (Ping timeout: 250 seconds).
12:20:29 -!- boily has quit (Quit: ABDOMINAL CHICKEN).
12:52:14 -!- Trioxin2 has joined.
12:56:04 -!- Trioxin has quit (Ping timeout: 248 seconds).
13:04:30 -!- bender| has joined.
13:06:49 -!- tromp_ has joined.
13:07:18 <HackEgo> [wiki] [[The chan-esoteric stack]] M https://esolangs.org/w/index.php?diff=46346&oldid=46342 * Stalem * (+95) Added CHIP-8
13:07:44 -!- mezkhalin has joined.
13:09:00 -!- bender| has quit (Ping timeout: 252 seconds).
13:11:00 <mezkhalin> lmbdabot ?
13:11:14 <mezkhalin> whoops
13:14:29 -!- andrew has quit (Remote host closed the connection).
13:20:33 -!- tromp_ has quit (Remote host closed the connection).
13:47:16 -!- Trioxin2 has changed nick to Trioxin.
13:51:21 -!- Trioxin2 has joined.
13:54:56 -!- Trioxin has quit (Ping timeout: 240 seconds).
14:07:58 -!- kaikai2199 has joined.
14:11:34 -!- kaikai2199 has quit (Quit: 离开).
14:19:47 <quintopi1> test
14:19:52 -!- quintopi1 has changed nick to quintopia.
14:20:22 -!- quintopia has changed nick to Guest15657.
14:21:15 -!- tromp_ has joined.
14:21:18 -!- `^_^v has joined.
14:23:00 -!- Guest15657 has changed nick to quintopia.
14:23:02 -!- quintopia has quit (Changing host).
14:23:02 -!- quintopia has joined.
14:25:26 -!- tromp_ has quit (Ping timeout: 240 seconds).
14:33:41 -!- FreeFull has joined.
14:35:55 -!- Treio has joined.
14:36:23 -!- mauris has joined.
14:38:15 -!- jaboja has quit (Ping timeout: 240 seconds).
14:50:52 -!- Treio has quit (Remote host closed the connection).
14:51:32 -!- spiette has joined.
14:52:29 -!- Treio has joined.
14:55:27 -!- Treio has quit (Max SendQ exceeded).
14:55:39 <HackEgo> [wiki] [[~EarthBit]] M https://esolangs.org/w/index.php?diff=46347&oldid=45470 * YoYoYonnY * (+0) Fixed a typo
14:55:53 -!- Treio has joined.
15:09:34 -!- oerjan has joined.
15:25:16 -!- asie has joined.
15:26:23 <asie> hello
15:26:37 <MDream> Hi
15:32:08 <mezkhalin> greetings
15:32:49 -!- ais523 has joined.
15:34:03 <quintopia> grtngs
15:34:12 <oerjan> hi asie
15:34:24 <quintopia> ahis523
15:34:28 <asie> haven't been here for ages
15:36:35 <oerjan> one of the ancients! although you were pretty young when you were ancient.
15:36:58 <asie> yes
15:37:01 <asie> like
15:37:03 <asie> i'm 19 now
15:37:06 <asie> i joined when i was like 11 or 12?
15:37:12 <asie> that's almost half my life woah
15:37:13 <oerjan> i recall 11
15:37:19 <asie> oerjan: yeah i suspect 2008
15:37:22 <asie> still
15:37:41 <asie> i'm curious as to anything that might've happened that i missed
15:37:43 <asie> i see a lot more -bots
15:37:56 <asie> also i did mature a lot, i think so at least
15:38:09 <asie> at least i think my code doesn't suck as much anymore
15:38:17 <oerjan> the bots hover around 10% of the channel
15:38:17 <asie> i guess that's a good measure of maturity
15:38:26 <FireFly> oh man, 2008 was that long ago..
15:38:30 <Taneb> Hi, asie!
15:38:36 <asie> Hi, Taneb!
15:38:48 <Taneb> Jeez, back in 2008 I hadn't got here yet
15:38:53 <Taneb> That was... 2010?
15:38:57 <asie> I'm an ancient who remembers nothing about the ancient days
15:38:59 <quintopia> asie: the last time you were here was mar 10 of last year
15:39:05 <asie> quintopia: I did lurk briefly
15:39:05 <FireFly> 2008 was about when I joined for the first time probably
15:39:11 <asie> but I wasn't really active per se
15:39:16 <quintopia> that was the last time you spoke
15:39:18 <asie> I think the last time I was active might've been 12-13?
15:39:41 <asie> even then, it's been ages since i was "into" esolangs
15:39:43 <mauris> wow is it time for one of my many internet-wide encounters with asiekierka
15:39:50 <asie> mauris: what communities?
15:39:59 <asie> i know someone who knew me from ZZT and Minecraft. a rare-but-not-surprising combination
15:40:04 <mauris> i'm nooodl!
15:40:06 <asie> nooodl!?
15:40:09 <asie> oh man i missed you so much
15:40:12 <mauris> \o/
15:40:16 <asie> well, not really, but i liked you a lot
15:40:19 <asie> so i guess i retroactively miss you now
15:40:32 <mauris> aw~ i am around in here most of the time
15:40:37 <Taneb> asikierka... that name sounds familiar
15:40:39 <FireFly> Hey, didn't you do some DS homebrew at some point?
15:40:41 <asie> yes i have
15:40:44 <asie> wireworld ds
15:40:46 <FireFly> oh yeah
15:40:47 <asie> which was 20% code from #dsdev on blitzed
15:40:49 <asie> 40% copypasta
15:40:51 <asie> 40% gluecode
15:40:55 <FireFly> Haha
15:40:56 <asie> but i was too young to care
15:41:12 <asie> then my ds lite's hinge broke
15:41:16 <asie> and there were no more homebrews
15:41:21 <FireFly> It's further than I got when I tried to delve into homebrew
15:41:27 <mauris> remember rocks 'n' diamonds. good times :'>
15:41:30 <asie> oh yeah
15:41:37 <asie> it's still around
15:41:39 <mauris> being like freakin', 8 and 9 on the internet
15:41:43 <asie> they recently put up a git repo for development
15:41:47 <asie> also yeah
15:41:52 <asie> being 8 or 9 on the internet was both a blessing and a curse
15:41:55 <asie> i now feel like an internet native
15:41:58 <asie> but a real life foreigner
15:42:17 <Taneb> I didn't get regular on the internet until 2006 I think
15:42:18 <asie> right now i'm blasting music through a zx spectrum+ 128k i got fixed
15:42:21 <mauris> i know that feeling :(
15:42:25 <Taneb> I'd have been 11
15:42:34 <asie> should port some esolangs to it to learn the z80
15:43:09 -!- MDream has changed nick to MDude.
15:43:41 <asie> mauris: anyhow, what you missed: i got into slice-of-life cartoons from japan, i got into minecraft modding then got out of it then got into it again repeat a few times, i made some random projects
15:43:41 <quintopia> hmm, i don't have complete logs on my vps. they're on my old laptop. does anyone have greppable logs to tell me when i first joined?
15:51:16 <oerjan> i'm pretty sure fizzie does.
15:51:29 <oerjan> hm very idle
15:53:17 <mezkhalin> LexiciScriptor: you around mate?
15:53:36 <LexiciScriptor> mezkhalin hey
15:53:50 <mezkhalin> ahoy! hows it going?
15:54:37 <LexiciScriptor> nothing new programming-wise :P
15:55:20 <mezkhalin> well in a sense i guess just taking in the environment your brain is sort of programming :P
15:55:39 <mezkhalin> anyways i wanted to tell you i did get around to writing the article on pisano programming
15:55:40 <Taneb> I've been trying to prove that insertion sort is a sorting algorithm using Agda
15:55:49 <Taneb> It's slow progress
15:56:03 <mezkhalin> don't know what Agda really is, i'll have to look into it
15:56:12 <Taneb> Proof assistant language
15:56:23 <Taneb> It's dependently typed and functional
15:56:27 <Taneb> And also total
15:56:33 <mezkhalin> ah ok now i get it, i got the formulation of your sentence completely wrong
15:57:05 <mezkhalin> i grouped "is a sorting algorithm using agda" ie insertion sort is using agda
15:57:28 <Taneb> Ah, sorry!
15:57:32 <mezkhalin> does sound like a complex task though
15:57:41 <mezkhalin> no dont apologize the fault was mine :)
15:58:00 <LexiciScriptor> mezkhalin: yesterday I checked some articles about the pisano period and maybe there is an algorithm < O(n^2)
15:58:05 <mezkhalin> i'm not very proficient in parsing text messages very well
15:58:09 <Taneb> It's one of the easiest sorting algorithms to prove, I think
15:58:17 <Taneb> I can do it on paper easily
15:58:51 <mezkhalin> Taneb: i'd still call that impressive by my standards ;) you could regard me as "dumb" really
15:59:06 <mezkhalin> LexiciScriptor: an algorithm for finding the length of p(n) for any n?
15:59:18 <Taneb> Naw, I just have more of a maths background than you, I guess
15:59:20 <mezkhalin> that sounds interesting
15:59:21 <Taneb> Or at least a different one
15:59:50 <mezkhalin> Taneb: most likely, i only got so far as to an equivalent of 11-12th grade maybe
16:00:09 <Taneb> What's that in British?
16:00:12 <mezkhalin> the rest has been hazily distributed reading on the internet :P
16:00:23 <Taneb> GCSE level?
16:00:34 <mezkhalin> british um, by the age of 18-19 would be a better scale
16:00:40 <Taneb> Oh, A-level
16:00:42 <Taneb> That's pretty good
16:01:10 <mezkhalin> yeah i'd say so. but not as high as i'd wanted
16:01:24 <mezkhalin> and now i'm almost 25 jeez
16:08:50 -!- Treio has quit (Quit: Leaving).
16:10:10 <mezkhalin> how high is your Taneb?
16:10:11 <quintopia> who here knows lots of machine learning algos?
16:10:32 <Taneb> mezkhalin: I'm sober
16:10:44 <Taneb> And in my third year of university
16:11:28 <oerjan> LexiciScriptor: since p(n) cannot be larger than n^2 (can it be larger than n?), you'd think so...
16:12:58 <mezkhalin> Taneb: heh what difference an s can make. nice, you're almost finished then?
16:13:23 <Taneb> I've got another year (I'm doing a four year course)
16:13:24 <LexiciScriptor> oerjan: having the modulo sequence, yes
16:14:02 <mezkhalin> you'll end up with a nice degree then and magnificent knowledge
16:14:10 <Taneb> I certainly hope so
16:14:15 <mezkhalin> oerjan: we're talking pisano sequences here
16:14:45 <mezkhalin> Taneb: given the impression i've gotten you'll do perfectly fine i think :)
16:15:01 <Taneb> I'm not very good at putting effort into things
16:15:15 <mezkhalin> better than me, that's for sure!
16:17:19 <mezkhalin> oerjan: finding the length of a pisano sequence p(n) for any n yields wildy varying results. there's no general formula afaik
16:17:31 <mezkhalin> *for any n > 0
16:21:30 <Taneb> It is never more than n^2
16:21:53 <Taneb> Because there's only n^2 pairs of numbers modulo n
16:22:52 <Taneb> oerjan: with n =3, the Pisano sequence is 0, 1, 1, 2, 0, 2, 2, 1
16:23:01 <Taneb> Which has length 8
16:26:59 <quintopia> Taneb: OEIS says there is an explicit formula for the nth term in terms of the prime factorization of n. So it at least has as much an explicit formula as the totient function does.
16:29:56 -!- ais523 has quit.
16:37:35 <izabera> one month ago https://arin.ga/hyenKJ/raw today https://arin.ga/9X5ujU/raw
16:37:42 <izabera> 12 minutes faster!
16:40:14 <Taneb> Nice!
16:40:40 <asie> yay!
16:41:03 <oerjan> mezkhalin: he spoke about an algorithm, not a formula. there's an obvious O(n^2) one (where n is the number, not its bit size)
16:42:51 <LexiciScriptor> actually it's easy to see (new things for me!) that p(n) <= 6n
16:45:04 <oerjan> quintopia: it's not an explicit formula, it just splits up into prime powers and those are still mysterious.
16:45:45 <quintopia> oerjan: same goes for the totient function :)
16:45:53 <mezkhalin> oerjan: sorry mate, my math is sub subpar so don't take my ramblings as truth or the likes
16:46:27 <oerjan> quintopia: no it doesn't. you don't have a formula for a(p^n) (or a(p)) in general.
16:46:39 <oerjan> you do have that for the totient.
16:47:10 <oerjan> although i see it's conjectured that p^n follows from p
16:48:02 -!- mauris has quit (Quit: Leaving).
16:48:06 <oerjan> quintopia: to be clear, i meant it's still mysterious _after_ you've managed to factorize it.
16:57:21 -!- Reece` has joined.
17:07:24 -!- oerjan has quit (Quit: Later).
17:10:08 -!- Treio has joined.
17:10:26 -!- mauris has joined.
17:17:20 -!- mihow has joined.
17:22:00 -!- tromp_ has joined.
17:25:02 <Taneb> izabera, is this in brainfuck?
17:25:03 <Taneb> Wow
17:25:45 <izabera> yes
17:26:30 <Taneb> Impressive!
17:27:04 <izabera> uh i didn't write the mandelbrot, i wrote the interpreter
17:27:09 <Taneb> Oh
17:27:11 -!- tromp_ has quit (Ping timeout: 276 seconds).
17:27:13 <Taneb> It's still impressive!
17:27:16 <Taneb> Just not your impressive
17:27:23 <Taneb> Someone else is impressive!
17:27:24 <izabera> heh
17:28:43 <Taneb> I keep thinking about an idea for an optimizing bf compiler I keep coming back to
17:28:51 <Taneb> Ought to actually write it sometime
17:28:58 <izabera> what's the idea?
17:29:10 -!- bb010g has joined.
17:29:58 <Taneb> Turning balanced single or possibly 2-depth loops into hardcoded polynomials
17:30:06 -!- nycs has joined.
17:30:31 <izabera> i do that
17:30:34 -!- `^_^v has quit (Ping timeout: 240 seconds).
17:30:34 <Taneb> Oooh
17:30:41 <Taneb> My intuition wasn't completely loony!
17:30:42 <izabera> well, only for 1-depth
17:31:01 <Taneb> I think you can do it for 2-depth but I'm not sure
17:31:10 <Taneb> Shit, I've got to get to a lecture
17:31:12 <Taneb> Speak to you later
17:31:16 <izabera> bye
17:34:24 <izabera> the most "complex" thing it can optimize is something like a balanced loop with a zero-loop inside of it, like [>>++<+>>>----<<<<[-]]
17:42:55 -!- Reece` has quit (Quit: Alsithyafturttararfunar.).
17:43:28 -!- Reece` has joined.
18:04:36 -!- mezkhalin has quit (Ping timeout: 252 seconds).
18:14:09 -!- zadock has joined.
18:19:59 -!- Treio has quit (Ping timeout: 264 seconds).
18:34:14 <coppro> polynomials?
18:37:20 -!- Reece` has quit (Read error: Connection reset by peer).
18:44:00 <izabera> well, not really
18:44:26 -!- Phantom_Hoover has joined.
18:45:15 <izabera> my guess is that Taneb probably means to reduce [>+++<-] to tape[1] += tape[0] * 3; tape[0] = 0
18:45:18 <izabera> or something
18:50:04 <coppro> is there a faster way to do that than that loop?
19:00:04 <Taneb> coppro, at compile time, maybe
19:06:31 -!- esowiki has joined.
19:06:35 -!- esowiki has joined.
19:06:35 -!- esowiki has joined.
19:07:14 -!- esowiki has joined.
19:07:18 -!- esowiki has joined.
19:07:18 -!- esowiki has joined.
19:07:48 -!- esowiki has joined.
19:07:52 -!- esowiki has joined.
19:07:52 -!- esowiki has joined.
19:08:40 -!- esowiki has joined.
19:08:44 -!- esowiki has joined.
19:08:45 -!- esowiki has joined.
19:09:30 -!- esowiki has joined.
19:09:34 -!- esowiki has joined.
19:09:34 -!- esowiki has joined.
19:10:04 -!- esowiki has joined.
19:10:08 -!- esowiki has joined.
19:10:08 -!- esowiki has joined.
19:10:37 -!- esowiki has joined.
19:10:41 -!- esowiki has joined.
19:10:42 -!- esowiki has joined.
19:11:17 -!- esowiki has joined.
19:11:21 -!- esowiki has joined.
19:11:22 -!- esowiki has joined.
19:12:09 -!- esowiki has joined.
19:12:11 -!- glogbot has joined.
19:12:13 -!- esowiki has joined.
19:12:14 -!- esowiki has joined.
19:12:26 -!- EgoBot has joined.
19:12:33 -!- HackEgo has joined.
19:13:28 -!- catern has joined.
19:15:06 -!- vodkode has joined.
19:19:17 <coppro> Taneb: how?
19:26:15 <Taneb> coppro, consider [->[->+>+<<]>>[-<<+>>]<<<]
19:27:09 <Taneb> This'll set cell 1 to 0, cell 2 to the sum of cell 2 and cell 4, cell 3 to the sum of cell 3, cell 2, and the product of one less than cell 1 and the sum of cell 2 and cell 4, and cell 4 to 0
19:28:12 <Taneb> Assuming the loop is ran at all
19:28:37 <Taneb> This can clearly be implemented more efficiently than just looping
19:37:51 <coppro> fair
19:38:23 <Taneb> I think in a lot of cases it's possible to derive a formula like that automatically
19:41:52 -!- hppavilion[1] has joined.
19:51:09 -!- bb010g has quit (Ping timeout: 240 seconds).
19:55:04 -!- bb010g has joined.
19:55:49 -!- hppavilion[1] has quit (Read error: Connection reset by peer).
19:56:24 -!- hppavilion[1] has joined.
19:58:43 -!- bb010g has quit (Quit: Connection closed for inactivity).
20:00:08 <izabera> Taneb: https://arin.ga/2BSrQY/raw
20:00:28 <izabera> (now it can also generate c)
20:00:38 <izabera> (figured it was easier to read for most people)
20:05:39 <izabera> your analysis for cell 3 is too advanced :\
20:09:45 <Taneb> izabera, it's c_n+1 = c_n + b_n, b_n = b_n-1 + d_n-1, and noting that d is almost always 0
20:10:50 <Taneb> And then you can use summation laws
20:11:14 <HackEgo> [wiki] [[GolfScript]] https://esolangs.org/w/index.php?diff=46348&oldid=44531 * * (-239)
20:15:22 <izabera> hard :\
20:17:34 <izabera> let's see how gcc optimizes that
20:18:35 <izabera> gcc loops
20:18:44 * izabera feels entitled to not optimize it
20:26:35 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
20:29:21 -!- zadock has quit (Quit: Leaving).
20:34:06 -!- mysanthrop has changed nick to myname.
20:45:42 -!- nycs has quit (Quit: This computer has gone to sleep).
20:58:49 -!- hppavilion[1] has joined.
21:08:46 -!- `^_^v has joined.
21:11:36 -!- ais523 has joined.
21:21:06 -!- gde33 has quit (Ping timeout: 240 seconds).
21:24:15 -!- tromp_ has joined.
21:28:20 <hppavilion[1]> 91106555419103
21:28:58 -!- tromp_ has quit (Ping timeout: 276 seconds).
21:29:11 -!- gde33 has joined.
21:31:15 <izabera> is the new largest known prime
21:31:34 <ais523> numbers a little above 19100, such as the 19103 at the end of that, tend to bring thoughts of the Y2K bug to my mind
21:31:42 <ais523> I mentally parse it as a typo for 2003
21:31:59 <b_jonas> ouch
21:32:26 <ais523> Y2K genuinely was a problem at one time, but because the effects were recognised in advance, there was time to fix everything important
21:33:26 <ais523> we were given leaflets about how to compensate for Y2K (which, for example, recommended setting the year on VCRs to one which had the same day-of-week/day-of-month correspondence to 2000)
21:33:51 <ais523> (VCR = videocassette recorder; pretty much obsolete technology nowadays but they were pretty common in 1999)
21:33:56 <myname> who the hell sotes dates as 3 2-digit-numbers?
21:34:29 <myname> stores
21:34:49 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
21:36:18 <ais523> myname: well hardly anyone /nowadays/
21:36:22 <ais523> but it was common at the time
21:36:31 <myname> weird
21:36:39 <ais523> although, even now, if you look at a file which has a date as part of the filename
21:36:48 -!- mauris_ has joined.
21:36:51 <ais523> ddmmyy or yymmdd formats are quite common
21:38:05 -!- mauris has quit (Ping timeout: 276 seconds).
21:42:27 <b_jonas> ais523: yeah. not only in computers, but also printed on paper, such as on bank card POS terminal receipts or food expiry dates. often in very ambiguous formats like yy-mm-dd vs dd-mm-yy vs mm-dd-yy or yy-mm vs mm-yy vs mm-dd vs dd-mm
21:42:54 <ais523> on #tasvideos a while back we were having a debate about hh:mm versus mm:ss
21:43:05 <b_jonas> Luckily at least medicine these days tends to use YYYY-mm or mm-YYYY
21:43:10 <ais523> (triggered by a game using hh:mm:ss:ff, with one frame being 1/60 of one second; IMO the colon is correct there but lots of people disagreed)
21:43:15 <myname> people using dd-mm-yy should burn in hell
21:43:17 -!- J_Arcane has joined.
21:43:20 <b_jonas> ais523: ah yes
21:43:39 <ais523> myname: no, they should learn to put the extra digits in theyear
21:44:00 <myname> - should imply yy mm dd
21:44:01 <b_jonas> people should just use YYYY-mm-dd or YYYYmmdd
21:44:06 <b_jonas> `dateu
21:44:21 <myname> these / are for crazy orderings
21:44:32 <HackEgo> 2016-02-02 21:44:21.269801000+00:00
21:45:05 <myname> mm dd yy is just plain crazy
21:48:17 <ais523> myname: so what about dates between 1 and 100 AD/CE?
21:49:02 <myname> what about them?
21:49:33 <ais523> myname: they naturally only have two digits
21:49:49 <ais523> a date like 10/11/12 has a lot of possible interpretations
21:49:53 <myname> perfect
21:50:42 <myname> i never saw a - aeperated date any other way than yy-mm-dd
21:50:54 -!- mauris_ has quit (Ping timeout: 256 seconds).
21:51:01 <myname> only / has these weird "anything goes" attitude
21:51:54 <ais523> what about .-separated dates? I think I've seen those as both dmy and ymd
21:52:08 <b_jonas> Then there's the strange traditional unix format of %a %b %_d %H:%M:%S %Z %Y; the unreadable (to me) randomly abbreviated formats like "3 months ago" and "jan 14" and "feb 9 '15" that some websites (like StackExchange) use, and the traditinonal date formats used by the HTTP headers and mail headers.
21:52:15 <myname> as a german, i only know dd.mm.yy
21:53:25 -!- vodkode has quit (Ping timeout: 245 seconds).
21:54:08 -!- LexiciScriptor has left.
21:54:11 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
21:58:14 <b_jonas> The nastiest abuse of dates though is when the translated label says something to the effect of “See expiration date on cap (month/date)” but the cap actually has expiration in %d/%m format.
22:00:35 <b_jonas> The only good thing I can say about dates printed on products is that at least when there's only one date shown, it's always the expiry or best before date, not the date of manufacture.
22:04:59 -!- hppavilion[1] has joined.
22:07:00 <b_jonas> Even then there are exceptions: iirc return tickets for train show the purchase date and the start of validity, but not the end of validity. But that's different from products, because they actually have a start of validity that can be in the future.
22:10:44 -!- __Beavis__ has joined.
22:30:29 -!- mauris has joined.
22:32:29 <hppavilion[1]> I'm making a new golphy/usable/terse language called "shorthand" (for now)
22:32:38 <hppavilion[1]> |sserv fn:m{srv<=ssv.srv;upn:srv.srcv{sck=>(<<-sck)->>sck}} is a cat server
22:33:06 <hppavilion[1]> |ssv fn:m{srv<=ssv.srv;upn:srv.srcv{sck=>(<<-sck)->>sck}}
22:33:06 <hppavilion[1]> I mean
22:35:26 -!- mauris has quit (Read error: Connection reset by peer).
22:35:55 -!- mauris has joined.
22:37:59 <hppavilion[1]> I just realized that a cat program is basically a repl for that cat programming language
22:39:34 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:39:39 <hppavilion[1]> Even better for a cat server, |ssv;srv<=ssv.srv;upn:srv.srcv{sck=>(<<-sck)->>sck}
22:41:46 -!- `^_^v has quit (Ping timeout: 240 seconds).
22:42:24 -!- oerjan has joined.
22:42:48 <hppavilion[1]> Cat that terminates on EOF:
22:42:49 <hppavilion[1]> w!_.ef{gln(inp);out<<-_}
23:06:29 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
23:09:57 -!- Trioxin has joined.
23:12:58 -!- Trioxin2 has quit (Ping timeout: 276 seconds).
23:13:42 -!- spiette has quit (Quit: :qa!).
23:15:04 -!- Phantom__Hoover has joined.
23:18:44 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
23:19:45 -!- XorSwap has joined.
23:30:14 -!- infinitymaster has joined.
23:31:58 -!- XorSwap has quit (Ping timeout: 252 seconds).
23:32:44 -!- XorSwap has joined.
23:42:55 -!- hppavilion[1] has joined.
23:45:30 -!- mauris_ has joined.
23:46:16 -!- mauris has quit (Ping timeout: 252 seconds).
23:48:55 -!- mauris__ has joined.
23:50:50 -!- Treio has joined.
23:51:51 -!- tromp_ has joined.
23:52:37 -!- mauris_ has quit (Ping timeout: 276 seconds).
23:52:50 -!- infinitymaster has quit (Quit: Leaving...).
00:06:53 -!- tromp_ has quit (Remote host closed the connection).
00:29:30 <tswett> You know, when I put dates in filenames, for the most part I don't even consider using a format besides YYYYMMDD.
00:30:06 <tswett> So, I'm implementing everything in Coq!
00:30:10 <int-e> @google "interference system"
00:30:11 <lambdabot> https://en.wikipedia.org/wiki/RNA_interference
00:30:12 <tswett> And by "everything", I mean "a lot of things".
00:30:31 <tswett> But sort of everything.
00:30:37 <tswett> I'm gonna be doing a lot of category theory.
00:30:39 <mad> tswett : I've always liked DDMMYYYY but that's only because of my L1
00:30:56 <tswett> What's an L1?
00:30:59 <mad> I admit YYYYMMDD is more logical
00:31:03 <mad> native language
00:31:30 <mad> L2 is "the language you're learning in your language class" more or less
00:31:32 <tswett> I think DD-MM-YYYY is okay. DDMMYYYY is (with all due respect, sir or madam) horrible.
00:31:49 <fizzie> I think I'm YYYYMMDD 90% of the time, and YYYY-MM-DD the rest.
00:32:02 <tswett> And L3 is "the language you've learned about ten words of thanks to an iPhone app", right?
00:32:22 <mad> aka japanese? :D
00:32:30 <tswett> How did you know? :D
00:32:49 <mad> it's the language _everyone_ learns about ten words of :D
00:32:55 <tswett> So, I think I'm going to be implementing the concept of "a theory".
00:33:07 <tswett> I probably know at least 50 Japanese words. Lemme list off a few.
00:34:06 -!- tromp_ has joined.
00:35:07 <int-e> well... do igo terms count?
00:35:15 <tswett> no, neko, uma, inu, doa, wa, ga, desu, watashi, boku, imasu, ao, shiro, kuro, murasaki, kuruma, baka, hagane, mizu, oto, nonde, ringo, tamago
00:35:24 <tswett> int-e: do you know what they actually mean in Japanese?
00:35:51 <int-e> for most of them, no.
00:36:03 <tswett> They don't count in that case.
00:36:15 <mad> what does murasaki mean?
00:36:42 <tswett> Purple.
00:37:08 <lifthrasiir> tswett: DD-MM-YYYY is *not* okay, you cannot distinguish DD-MM from MM-DD. MMM-DD-YYYY or DD-MMM-YYYY are fine.
00:37:13 <int-e> tswett: no (domo) arigato? or the one that everyone knows, hai...
00:37:17 <lifthrasiir> (MMM for three-letter month abbreviations)
00:37:26 <tswett> int-e: I know a lot more words than I just listed.
00:37:47 <tswett> I guess a theory is just a special case of a presentation.
00:37:56 <int-e> Oh well, I only recognize the cat.
00:37:59 <mad> the 100-odd japanese words I know (+kanakana for gleaning the meaning of a tiny bit of japanese text) is like my L6
00:38:06 <hppavilion[1]> I am here
00:38:13 <hppavilion[1]> You may commence interesting conversation
00:38:16 <hppavilion[1]> :P
00:38:21 <lifthrasiir> is L6 a language that is somehow computerized? :p
00:38:26 <tswett> Lemme give the meanings of all those words. (Sometimes the "meanings as taught to English speakers".)
00:38:36 <hppavilion[1]> tswett: No thank you xD
00:38:45 <tswett> hppavilion[1]: this is not optional.
00:38:47 <hppavilion[1]> (unless someone else requests them)
00:38:49 <hppavilion[1]> Damn
00:39:01 <hppavilion[1]> tswett: Do I need it to graduate?
00:39:17 <tswett> Untranslatable, cat, horse, dog, Western-style door, untranslatable, untranslatable, is, I, I, is doing, blue, white, black, purple, car, stupid, steel, water, sound, drink, apple, egg
00:39:18 <tswett> hppavilion[1]: nope.
00:39:22 <mad> Tbh I could only have a conversation in like L3... past that it's just way too fragmental
00:39:39 <tswett> ("Wow", someone thinks, "Japanese sure has a lot of words for 'untranslatable'.")
00:39:54 <int-e> Hmm, an L3 cache...
00:39:57 <hppavilion[1]> tswett: No word is untranslatable to a Chomsky-complete language
00:40:23 <int-e> we can put languages in a box
00:40:39 <hppavilion[1]> (Chomsky completeness: Sufficiently overcomplicated such that you can express anything it, technically)
00:40:42 <mad> no you could translate with 'of'
00:40:43 <mad> no?
00:41:01 <mad> or 's
00:41:27 <tswett> Yeah, more or less.
00:41:29 <mad> I've seen 'wa' translated as 'as for'
00:41:44 <tswett> Yup.
00:42:11 <tswett> "Ga" can be translated as "is the one", though that's pretty dang inadequate.
00:42:27 <tswett> "Jerry wa mizu o nonde imasu." "As for Jerry, he's drinking water."
00:42:36 <tswett> "Jerry ga mizu o nonde imasu." "Jerry is the one who's drinking water."
00:42:46 <tswett> Or "it's Jerry who's drinking water" or whatever.
00:43:06 <tswett> The first one would probably just be translated as "Jerry is drinking water", really.
00:44:28 <tswett> I guess next I'll implement free monoids.
00:44:56 <mad> L3 cache... once you have that you have a really complex cpu :D
00:45:21 <lifthrasiir> tswett: they are (especially for verbs) non-standard forms, aren't they? for example nonde "drink" has a standard form of nomu.
00:46:27 <tswett> lifthrasiir: yeah, but I don't know those.
00:46:36 <tswett> I just know the -te forms.
00:46:40 <lifthrasiir> aha.
00:47:22 <lifthrasiir> kind of confusing thing for agglutinative languages
00:47:39 <mad> lifthrasiir : what is?
00:47:51 -!- Trioxin has quit (Read error: Connection reset by peer).
00:48:25 <lifthrasiir> mad: affixes can be freely attached to the word stem?
00:48:28 -!- XorSwap has quit (Quit: Leaving).
00:49:00 <mad> lifthrasiir : I thought it was more like "affixes are regular (instead of irregular like in fusional languages)"
00:49:50 <lifthrasiir> hmm, I didn't know about the clear distinction between agglutinative and fusional languages
00:50:21 <lifthrasiir> (was about to point out the distinction between agglutinative and inflectional languages, but then the realization came to me)
00:50:34 <mad> fusional is another term for inflectional
00:50:50 <lifthrasiir> hmm
00:50:52 <mad> unless I'm mistaken
00:51:01 -!- __Beavis__ has quit (Quit: Leaving.).
00:51:57 <lifthrasiir> AFAIK the distinction between agglutinative (ah fuck, I cannot easily remember this word) and inflectional languages is the "freely" part, i.e. the inflection to the word stem is not as simple and orthogonal as affixes
00:52:40 <mad> that's what I said :D
00:52:48 <mad> inflection is more irregular
00:56:03 <mad> agglutinative affixes still get phonetically adapted (vowel harmony, change depending on if the stem ends in a vowel or consonant, change depending on voicedness, etc) but generally not replaced entirely (which would more or less make it inflectional)
00:57:25 <lifthrasiir> yeah, can be regarded as a more common variations between consecutive words/morphemes
00:57:33 <lifthrasiir> s/ a / /
00:58:14 <mad> inflectional mostly stands out because it's in the most well known languages (european)
01:04:54 * oerjan note that tswett's list of japanese words looks pretty much disjoint from the set he'd consider "everyone" likely to pick up. in fact he only remembers "watashi".
01:05:08 <oerjan> oh wait, the cat yeah
01:06:58 <HackEgo> [wiki] [[HQ9+]] https://esolangs.org/w/index.php?diff=46349&oldid=37183 * Erinius * (+42)
01:08:13 <oerjan> also, the "untranslatable" reminds me of yudkowski's three worlds collide story.
01:13:01 <tswett> I read that, but I don't really remember how "untranslatable" featured in it.
01:13:12 <oerjan> in the speak of the superhappy people
01:13:15 <mauris__> i probably know at least 50 japanese words too: i can count to 50 in japanese
01:13:15 <oerjan> *speech
01:13:36 <oerjan> untranslatable-N for N from 1-4 or thereabouts
01:14:26 <oerjan> one of which seemed to denote the thing they did instead of _both_ sex and speech.
01:14:35 -!- tromp_ has quit (Remote host closed the connection).
01:14:40 <oerjan> (or rather, as both)
01:16:24 <oerjan> (both, to them, involved exchanging actual genetic material, because they had no genetic/neural information distinction)
01:16:47 <tswett> I'm pretty sure the word for that is "intercourse".
01:16:57 <oerjan> ...
01:20:43 <oerjan> and possibly as a result of this, they were incapable of lying.
01:22:07 <hppavilion[1]> Would it be possible to make an interpreter for a language that runs on bare metal such that that language can be used for OS development?
01:22:32 <oerjan> hppavilion[1]: forth is thataway, i think
01:23:06 <hppavilion[1]> oerjan: Ah, yes. Forth.
01:23:12 <oerjan> that's almost it's original purpose
01:23:36 <tswett> Don't forget the Lisp machines.
01:23:47 <oerjan> hm
01:23:58 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
01:26:09 <hppavilion[1]> oerjan: I'm kind of tempted to learn Rust, figure out how to cross-compile rust for OS dev, etc. JUST so I can get a bare-metal interpreter for that language I mentioned earlier working
01:28:17 <oerjan> okay
01:28:51 <hppavilion[1]> oerjan: The purpose of which would be... something, I'm sure
01:32:02 -!- mihow has quit (Quit: mihow).
01:45:19 <mad> I'm trying to figure out what are the "mixed relational concepts" of sapir's linguistic typology
02:02:09 -!- XorSwap has joined.
02:03:50 -!- ais523 has quit (Ping timeout: 245 seconds).
02:12:23 -!- bb010g has joined.
02:13:15 -!- mad has quit (Quit: Pics or it didn't happen).
02:15:12 -!- tromp_ has joined.
02:15:38 -!- mauris__ has quit (Ping timeout: 276 seconds).
02:20:10 -!- tromp_ has quit (Ping timeout: 276 seconds).
02:33:40 -!- Treio has quit (Quit: Leaving).
02:41:44 -!- mad has joined.
03:09:55 -!- gde33|2 has joined.
03:12:06 -!- gde33 has quit (Ping timeout: 240 seconds).
03:14:47 -!- XorSwap has quit (Quit: Leaving).
03:16:51 -!- tromp_ has joined.
03:18:04 -!- XorSwap has joined.
03:20:42 -!- ais523 has joined.
03:20:57 -!- tromp_ has quit (Ping timeout: 240 seconds).
03:21:17 <ais523> hey, you know how there's a commonly used type void/unit seen in many programming languages, which only has one value?
03:21:31 <ais523> and that it has a mathematical equivalent, normally called 1 (i.e. a 1 in bold)?
03:21:43 <ais523> what's the element of that mathematical set called?
03:22:43 <coppro> void is normally empty
03:22:57 <hppavilion[1]> ais523: unit is the one with an element
03:23:01 <mad> coppro : it's 0 bits yes
03:23:01 <shachaf> If you're talking about 1 the trivial group, I imagine people would call its element 1.
03:23:04 <shachaf> I don't know about the set.
03:23:06 <oerjan> 1 = { 0 } as von neumann numeral, so...
03:23:17 <ais523> oerjan: so the empty set
03:23:18 <coppro> the identity, the empty set, or simply the unit element, depending on context?
03:23:21 <hppavilion[1]> 1 = {{{}}}
03:23:22 <ais523> I considered that but thought it would be confusing
03:23:25 <ais523> coppro: void has one element in C
03:23:35 <hppavilion[1]> therefor 1=2
03:23:36 <ais523> Void has no elements in Haskell, though
03:23:41 <hppavilion[1]> Problem, maths?
03:23:43 <coppro> ais523: I assume you mean type theoretical stuff, where it has no elements
03:24:03 <ais523> coppro: well I'm doing type theoretical stuff, but picked a non-type-theoretical analogy
03:24:17 <coppro> I'd simply call it the unit element then
03:24:28 <coppro> because the point is that it's an arbitrary type with a single member
03:24:32 <hppavilion[1]> In my programming language I'm making
03:24:37 <coppro> it isn't necessarily going to be any one thing in particular
03:25:03 <hppavilion[1]> What should be the syntax for creating an instance of a class? e.g. a socket?
03:25:06 <coppro> since all unit types are isomorphic
03:25:14 <hppavilion[1]> The language is like Haskell
03:25:17 <mad> "identity element" for the number that produces no effect in a given operation (0 for addition, 1 for multiplication)
03:25:43 <hppavilion[1]> So it uses currying for functions- f x y z- instead of f(x, y, z) syntax
03:25:57 <ais523> coppro: the problem is I want a literal for it
03:25:59 <hppavilion[1]> mad: -1 for andation
03:26:03 <ais523> currently I'm leaning towards an empty tuple
03:26:14 <ais523> by analogy with the () that most programming languages use
03:26:22 <hppavilion[1]> ais523: Define your own syntax- e.g. 1*
03:26:36 <ais523> hppavilion[1]: this is for a mathematical paper-alike
03:26:43 <ais523> defining your own syntax tends to annoy people
03:26:55 <hppavilion[1]> ais523: Or $1- "select 1"- which selects the set of instances for a type
03:27:08 <hppavilion[1]> ais523: If there isn't a known syntax, you're allowed to define your own
03:27:17 <hppavilion[1]> That's rule 34 of math
03:27:23 <ais523> hppavilion[1]: well, in this case, I suspect there is a known syntax, but I just don't know what it is
03:27:34 <hppavilion[1]> ais523: Ah
03:27:44 <ais523> which is why I asked
03:27:47 <oerjan> @check \x -> (-1) .&. x == x
03:27:49 <lambdabot> +++ OK, passed 100 tests.
03:27:54 <oerjan> checks out
03:28:23 <hppavilion[1]> oerjan: Well duh
03:28:28 <quintopia> wow such activity
03:28:52 <hppavilion[1]> oerjan: -1 = 1xN, where N is the bitwidth of the number
03:28:58 <hppavilion[1]> At least, if you're doing 2's complement
03:28:59 <ais523> hmm, if oerjan doesn't know either, perhaps there isn't a standard notation after all
03:29:14 <oerjan> hppavilion[1]: this is haskell Integer the bitwidth is infinite hth
03:29:16 <mad> wouldn't it be 0?
03:29:17 <hppavilion[1]> ais523: So you get to make up your own
03:29:22 <hppavilion[1]> oerjan: Shit.
03:29:35 <mad> logically 0 is the only integer expressible in 0 bits
03:29:40 <hppavilion[1]> oerjan: Therefor -1 = 0b111111111111111111111111111111111...
03:29:47 <hppavilion[1]> mad: WRONG!
03:30:02 <hppavilion[1]> mad: You can express any integer in 0 bits if it is pre-known what integer that is
03:30:04 <oerjan> ais523: it's not something i recall using
03:30:18 <ais523> it's weird, you'd expect it to come up more often
03:30:30 <ais523> but Wikipedia doesn't mention it either (merely that all such sets are equivalent)
03:30:33 <hppavilion[1]> mad: e.g. if we agree that in our encoding for integers, 69=0b, then 69=0b
03:30:42 <ais523> I guess I'll define 1 as containing an empty tuple for now, I can always change later
03:30:49 <mad> hppavilion[1] : true but using the normal positional encoding, then it's 0
03:30:50 <oerjan> ais523: that's the problem in CT, elements are not canonical
03:30:58 <hppavilion[1]> mad: Unless you're including the bits to define the encoding, in which case WRONG
03:31:03 -!- XorSwap has quit (Quit: Leaving).
03:31:11 <shachaf> ais523: Sometimes I call that element ★
03:31:32 <mad> shouldn't the empty tuple simply be an empty tuple?
03:31:50 <ais523> oerjan: well in the category of sets, each object is an equivalence set of sets, right? otherwise it'd have more than one terminal object which is impossible
03:31:51 <hppavilion[1]> IE(<op>) perhaps, where <op> is the operator you want the identify for?
03:31:52 <ais523> shachaf: actually that rings a bell
03:31:54 <hppavilion[1]> *identity
03:32:01 <mad> represented by something like {}
03:32:21 <ais523> mad: the empty tuple is just an empty tuple; however, because there's only one empty tuple
03:32:44 <ais523> the set of all empty tuples is thus equivalent to 1, and is in fact the definition of 1 that most practical programming languages choose
03:33:22 <hppavilion[1]> ais523: Wouldn't it be that the /cardinality/ of the set of all empty tuples is thus equivalent to 1?
03:33:43 <oerjan> ais523: there is nothing preventing a category from having more than one terminal object
03:33:56 <oerjan> they just all have to be isomorphic
03:34:18 <mad> dunno, in C++ there's an infinity of empty vectors more or less
03:34:29 <mad> though they do have the same value
03:34:33 -!- callforjudgement has joined.
03:34:36 <hppavilion[1]> So can I get an answer? It'll onlt take a second
03:34:37 <callforjudgement> [03:32] <ais523> mad: the empty tuple is just an empty tuple; however, because there's only one empty tuple
03:34:39 <callforjudgement> [03:32] <ais523> the set of all empty tuples is thus equivalent to 1, and is in fact the definition of 1 that most practical programming languages choose
03:34:43 <callforjudgement> [03:34] <ais523> ah hmm, according to Wikipedia you can have more than one terminal object if they're all isomorphic
03:34:46 -!- ais523 has quit (Disconnected by services).
03:34:49 -!- callforjudgement has changed nick to ais523.
03:34:50 <oerjan> > [minBound .. maxBound :: ()]
03:34:51 <lambdabot> [()]
03:35:24 <ais523> > [minBound .. maxBound :: [()]]
03:35:25 <quintopia> ais523: is it like bottom? or just like bijective base-k 0?
03:35:25 <mad> I guess the problem with 1 is that it doesn't express type
03:35:25 <lambdabot> No instance for (Enum [()])
03:35:25 <lambdabot> arising from the arithmetic sequence ‘minBound .. maxBound :: [()]’
03:35:25 <lambdabot> In the expression: [minBound .. maxBound :: [()]] No instance for (Bo...
03:35:44 <ais523> mad: well, it is a type itself, really
03:35:48 <hppavilion[1]> Object Creation syntax in my language.
03:35:48 <mad> and calling a 0-size thing 1 is confusing
03:36:03 <mad> ais523 : why do you need a type for 0-sized stuff
03:36:11 <hppavilion[1]> For example, srv <- new ssv.srv
03:36:12 <ais523> mad: well 0 has fewer possibilities than 1 does
03:36:17 <ais523> mad: because you're using a generic type
03:36:26 <ais523> and one of the fields happens to be unused
03:36:37 <ais523> > [], [()], [(), ()]
03:36:39 <lambdabot> <hint>:1:3: parse error on input ‘,’
03:36:40 <mad> that makes no sense
03:36:46 <ais523> > [[], [()], [(), ()]]
03:36:48 <lambdabot> [[],[()],[(),()]]
03:36:52 <mad> 1 is already 0 bit
03:37:16 <ais523> mad: that was me using the type [()] in Haskell
03:37:17 <hppavilion[1]> \oren\_: You're the one who hates OO with a passion?
03:37:22 <ais523> i.e. a list of 1
03:37:38 <ais523> it's equivalent to the natural numbers
03:37:49 <mad> ais523 : oh, then I don't think a value for empty fields is a good idea
03:38:00 <shachaf> ais523: Does the category 2 have one or zero non-identity arrows?
03:38:07 <ais523> mad: you can't construct an object without being able to initialize all its fields, including the empty ones
03:38:24 <hppavilion[1]> SO MUCH ACTIVITY
03:38:26 <ais523> shachaf: that was hotly debated at a seminar I attended recently
03:38:27 <hppavilion[1]> BWWAAAAAAAAAAAAAAAA
03:38:46 <mad> imho the property of a field having a value should probably be separate from the value of that field itself
03:39:08 <ais523> the seminar presenter was using an arrow in the definition of 2, but some of the audience disagreed
03:39:47 <shachaf> Some people refer to the one without the arrow as 1+1
03:40:06 <oerjan> 2 as the category for the partial order of {0,1} needs an arrow from 0 to 1
03:40:17 <ais523> apparently it was needed for the definition of if to work correctly
03:40:44 <shachaf> I think 2 should probably have an arrow.
03:40:47 <ais523> I think I'm going to call the element of 1 •, because I vaguely remember seeing that name in the past
03:41:18 <ais523> so I guess 3 has three non-identity arrows, one of which is the composition of the other two?
03:41:32 <oerjan> :k Void
03:41:34 <lambdabot> *
03:41:47 <oerjan> > Right () :: Either Void ()
03:41:49 <lambdabot> Right ()
03:42:03 <ais523> oerjan: what answer were you expecting from that :k query?
03:42:06 <oerjan> that requires Void to have a Show instance.
03:42:11 <shachaf> ais523: 3 = {0,1,2}
03:42:19 <oerjan> ais523: i was just checking if it was imported.
03:42:23 <shachaf> As both a set and a poset.
03:42:26 <ais523> shachaf: err, types don't have other types as arguments
03:42:34 <ais523> 3 = {0,1,2}, without the bold, I'll believe
03:42:36 <ais523> oerjan: ah right
03:42:52 <shachaf> Well, OK.
03:42:58 <shachaf> I'm not sure what you mean by argument.
03:43:04 <ais523> I meant element
03:43:11 <ais523> and said the wrong word
03:43:32 <mad> so basically a 1 field can only contain {0}. a 0 field cannot contain any number? (so is basically a guaranteed exception on read?)
03:43:36 <shachaf> I was talking about the category, not the type.
03:43:36 <mad> ?
03:43:41 <shachaf> Or really the poset.
03:44:31 <shachaf> Anyway it didn't really make sense.
03:44:37 <ais523> well in the seminar in question, 2 had objects {ff,tt}
03:45:02 <shachaf> But the other day I was at a talk about Lawvere's fixed point theorem and we figured out a good example that used the poset 2.
03:45:02 <ais523> which is a semi-common notation for false and true
03:45:06 <ais523> presumably used to save space while being distinctive
03:45:09 <shachaf> Which has the fixed point property.
03:45:26 <oerjan> > read "Right ()" :: Either Void () -- Read instance, too
03:45:27 <shachaf> There's an epimorphism : N -> 2^N
03:45:28 <lambdabot> Right ()
03:45:48 -!- augur_ has changed nick to augur.
03:45:50 <ais523> oerjan: can't you trivially define instances of pretty much every typeclass for Void?
03:46:08 <shachaf> 2^N = N union {infinity}
03:46:16 <shachaf> I don't have all my Unicode things set up here. :-(
03:46:26 <ais523> assuming every function in the typeclass takes an argument of the type (which is very common, although not technically required)
03:46:33 <ais523> you can just use absurd as the body
03:46:35 <oerjan> ais523: yes, but this Either argument shows why they're needed (and thus they've been added to GHC base)
03:47:11 <ais523> ah right
03:47:16 <mad> what's the practical use of this stuff&
03:47:17 <mad> ?
03:47:29 <ais523> let's see; a hypothetical non-base-kind Void wouldn't be a monad because you couldn't define return
03:48:55 <oerjan> hm
03:49:05 <oerjan> > Proxy >>= \x -> Proxy
03:49:07 <lambdabot> Proxy
03:49:27 <oerjan> edwardk mentioned he'd added a Monad instance for Proxy
03:49:57 <ais523> I'm assuming from this that Proxy has only one constructor that takes no arguments, and has kind * -> *?
03:50:04 <oerjan> it's the only Monad that doesn't distinguish return of different values
03:50:25 <shachaf> oerjan: Also (e,) for any Monoid e.
03:50:25 <oerjan> technically it has kind forall k. k -> *
03:50:25 <ais523> unlike Void, I can't immediately see an obvious use for Proxy, but I can easily believe there is one
03:50:37 <oerjan> but here k = *
03:51:04 <ais523> wait, Haskell has kind polymorphism?
03:51:16 <shachaf> GHC does.
03:51:20 <oerjan> ais523: it's useful for passing a type to a function when you have no value of it
03:51:44 <oerjan> or when a value would be illogical
03:52:01 <ais523> oerjan: why would you pass a type to a function? can Haskell do enough dependent typing to make that useful?
03:52:10 <oerjan> ais523: 8.0 will have kinds = types
03:52:24 <ais523> I guess it let's you define Idris' =
03:52:28 <ais523> which is far from useless
03:52:35 <ais523> err, refl, I mean
03:52:36 <oerjan> or has. how far has it got i'm still back in December on /r/haskell
03:52:39 <ais523> ^prefixes
03:52:39 <fungot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
03:52:48 <ais523> ( refl
03:52:51 <idris-bot> No such variable refl
03:52:52 <shachaf> ais523: It's useful for all sorts of things. sizeOf :: ... a => Proxy a -> Int
03:53:03 <shachaf> Haskell has Idris's equality.
03:53:17 <shachaf> data a :~: b where { Refl :: a :~: a }
03:53:19 <shachaf> It's in base.
03:53:21 <ais523> shachaf: can sizeOf be defined in Haskell itself? or is it a compiler builtin?
03:53:28 <shachaf> It's just a class.
03:53:33 <ais523> ah right
03:53:39 <shachaf> It's for the FFI.
03:55:00 <oerjan> ais523: GHC is in the process of having dependent types added.
03:55:32 <oerjan> although not totality, so it will have an inconsistent logic.
03:55:53 <ais523> it's not necessarily a problem for it to have an inconsistent logic, is it?
03:56:19 <ais523> you can't create an actual runtime error like that, just send the compiler into an infinite loop, IIRC
03:57:31 <pikhq_> And C++ seems fine with the same issue.
03:59:45 <ais523> actually you could create an infinite loop at runtime
03:59:48 <oerjan> ais523: yes, Richard Eisenberg who is designing this argues that GHC's internal coercion evidence is enough to keep it sound
03:59:58 <ais523> but that really isn't a problem, most people would consider it a feature not a bug
04:00:20 <shachaf> What are interesting objects that have the fixed point property?
04:00:38 <oerjan> but it does mean you cannot use GHC directly as a theorem prover
04:00:41 <shachaf> I.e. everything : X -> X is a fixed point.
04:02:03 <oerjan> shachaf: balls hth
04:02:29 <oerjan> assuming you mean has
04:02:55 <shachaf> I do mean has. Everything is a fixed point.
04:03:07 <oerjan> wat
04:03:13 <shachaf> Only closed balls, presumably.
04:03:18 <oerjan> yeah
04:03:19 <shachaf> oerjan: (Of id.)
04:03:27 <shachaf> Anyway, what else?
04:03:39 <shachaf> Things like 2, of course.
04:04:02 <shachaf> Every type in Haskell has the fixed point property.
04:04:16 <shachaf> (And the proof is identical to Lawvere's proof.)
04:11:04 <ais523> how are we defining fixed point, here?
04:11:54 <shachaf> I think with global elements.
04:11:55 <oerjan> hm it does seem to require actual underlying sets.
04:12:06 <shachaf> So x : 1 -> X such that f . x = x
04:12:15 <oerjan> ooh
04:13:05 <oerjan> you can construct that if you have limits in the right direction, can't you
04:13:17 <oerjan> or wait
04:13:17 <shachaf> ?
04:13:45 <coppro> what is the "fixed point property"?
04:14:05 <shachaf> X has the fixed point property if every arrow : X -> X has a fixed point.
04:14:13 <coppro> ah
04:14:28 <oerjan> or wait, a limit of X'es may not itself be X, perhaps
04:15:02 <coppro> ais523: also in our discussion earlier about types and elements, technically Void in Haskell also has one value, and () has two.
04:15:19 <ais523> bottom isn't really a value
04:15:43 <shachaf> It can be.
04:15:49 <oerjan> ais523: that's a flamewar issue i think
04:16:09 <shachaf> Actual Haskell and Haskell where you pretend everything is total both make for legitimate categories.
04:16:10 <oerjan> the haskell report treats it as one
04:16:15 <coppro> it's very relevant to what shachaf is saying ;) The existence of bottom guarantees the fixed point property
04:16:26 <shachaf> Yes, 20:04 <shachaf> Every type in Haskell has the fixed point property.
04:16:41 <ais523> I remember reading an article that mentioned how Haskell was pretty much the only language whose definition specifically talked about infinite loop handling
04:16:59 <coppro> Each arrow X-> X is a function, which must either examine the value passed in or not. If it doesn't, it is constant, so its value is its fixed point. Otherwise, it examines it, and therefore bottom is a fixed point.
04:17:16 <ais523> coppro: right, I'd almost proved that myself
04:17:23 <coppro> (or the arrow 1 |-> bottom, if we go by generalized elements)
04:17:25 <coppro> err
04:17:25 <ais523> was thinking "x = undefined"
04:17:26 <shachaf> oerjan: Anyway, Set has all small limits, but only one-element sets have the fixed point property.
04:17:27 <coppro> global elements
04:17:30 <ais523> hadn't adjusted for laziness yet though
04:17:32 <oerjan> coppro: no, that's too simple
04:17:38 <shachaf> coppro: It doesn't have to be constant.
04:17:41 <oerjan> coppro: e.g. \x -> 1:x
04:17:47 <coppro> ah, hmm
04:17:55 <coppro> I hadn't thought of that
04:18:07 <shachaf> But certainly every type has the fixed point property, because of fix.
04:18:10 <coppro> right
04:18:15 <ais523> x = fix f
04:18:16 <oerjan> don't worry, i just made the same thought error 10 mins ago
04:18:37 <ais523> hmm, now I just remembered that ursala had pluggable fixed point operators
04:18:41 <ais523> I can't remember why, though
04:18:51 <ais523> it's ursala so we might not get sensible answers
04:19:49 <ais523> would you consider ursala an esolang, btw?
04:19:56 <coppro> right, so the non-examining case becomes "applies a possibly-empty series of constructors to its value" (we can beta reduce functions to get a series of constructors)
04:20:22 <ais523> it passes the weirdness test about as well as bancstar, but also has the advantage that its author considered that other people might find it surprising or hard to learn
04:20:23 <coppro> which can be made into a fixed point in the manner that fix works
04:21:01 <shachaf> If you consider lambda a constructor.
04:21:07 <shachaf> Or, you know what I mean.
04:21:28 <coppro> yes, in this case I do
04:21:37 <shachaf> Anyway Haskell is boring because every type has the fixed point property. And sets is boring because only one-element sets do.
04:22:05 <oerjan> and Top is less boring because, balls
04:22:19 <shachaf> Algebraic things like monoids or pointed sets or something are also boring because a monoid homomorphism maps the identity to the identity.
04:22:28 <shachaf> Topological spaces are more interesting for the reason oerjan mentioned.
04:22:35 <ais523> Top is Void, right?
04:22:38 <shachaf> Partial orders are a special case of topological spaces.
04:22:43 <shachaf> Top the category of topological spaces.
04:22:45 <ais523> and Bottom is ()
04:22:55 <ais523> shachaf: ah right
04:23:06 <shachaf> But if you're talking about initial and terminal objects in Haskell, it would be the other way around if anything.
04:23:36 <shachaf> (Or "subtyping", where (forall a. a) ~~ Void is bottom, and (exists a. a) ~~ () is top.)
04:23:48 <ais523> shachaf: bottom is initial, or terminal?
04:24:05 <shachaf> Usually people say initial.
04:24:49 <oerjan> it's not initial in haskell
04:24:51 <ais523> oh, that's what was confusing me
04:24:55 <oerjan> or wait, is it
04:25:06 -!- Alcest has joined.
04:25:07 <oerjan> darn
04:25:13 <shachaf> Void is initial in Haskell-without-bottoms.
04:25:20 <ais523> oerjan: absurd basically takes an initial value (i.e. a value of an initial type) and produces a value of any type
04:25:46 <oerjan> OKAY
04:25:46 <shachaf> There's no such thing as an initial value here. :-)
04:25:50 <ais523> which is very very close to the definition of initial types being an initial object
04:25:55 <ais523> shachaf: I know :-)
04:26:16 <ais523> or, well, you can view absurd in two ways
04:26:20 <ais523> either as being an empty function
04:26:24 <ais523> or as mapping bottoms to other bottoms
04:26:53 <oerjan> hm does the projective plane have the fixpoint property - there's this borsuk-ulam thing
04:27:26 <shachaf> ais523: In the second perspective (where _|_ is a value) Void isn't initial.
04:28:16 <ais523> shachaf: for it to not be initial implies that either: a) there's a type T for which there's no function of type Void -> T; or b) there's a type T for which there are two non-equivalent functions of type Void -> T
04:28:28 <ais523> a) can't be true because absurd is always a function that fits the requirement
04:28:59 <shachaf> ais523: (\_ -> ()) and (\() -> ()) are two different functions.
04:29:11 <ais523> ah right, laziness again
04:29:44 <shachaf> On the other hand Void is terminal.
04:31:36 <ais523> but only because all bottoms are equivalent
04:41:47 -!- tromp_ has joined.
05:02:39 -!- MDude has changed nick to MDream.
05:08:39 <\oren\_> orital docking achieve
05:24:33 -!- tromp_ has quit (Remote host closed the connection).
05:30:01 -!- ais523 has quit.
05:41:25 -!- nisstyre has joined.
05:42:02 -!- nisstyre has quit (Changing host).
05:42:02 -!- nisstyre has joined.
05:42:35 -!- oerjan has quit (Quit: Nite).
06:25:05 -!- tromp_ has joined.
06:25:57 <izabera> https://asciinema.org/a/35400
06:29:15 -!- tromp_ has quit (Ping timeout: 240 seconds).
06:32:36 * zgrep starts searching for words after losing them due to looking izabera's brainfuck mastery... (basically, zgrep is speechless)
06:32:43 <zgrep> s/ing /ing at /
06:32:47 <zgrep> Err...
06:32:50 <zgrep> s/king /king at /
06:33:13 <lifthrasiir> izabera: is it going to be faster than bff4? :)
06:39:14 <izabera> lol not any time soon
06:47:32 -!- Sgeo has quit (Ping timeout: 256 seconds).
06:57:01 -!- infinitymaster has joined.
07:03:24 -!- FreeFull has quit (Ping timeout: 256 seconds).
07:03:37 <HackEgo> [wiki] [[The chan-esoteric stack]] https://esolangs.org/w/index.php?diff=46350&oldid=46346 * Hppavilion1 * (+60) /* The Stack */ Clarification
07:03:48 <b_jonas> http://magic.wizards.com/en/articles/archive/feature/oath-gatewatch-update-bulletin-2016-01-29 M:tG OGW update bulletin
07:03:58 -!- Sgeo has joined.
07:05:23 <hppavilion[1]> Sghello
07:05:50 <b_jonas> (yes, I know it's like four days old, but I wasn't here)
07:06:11 <hppavilion[1]> Sgeo: I'm engineering my own personal solution stack :)
07:07:26 <Sgeo> hppavilion[1], cool. For what? (And meaning what?)
07:07:51 <hppavilion[1]> Sgeo: Just a general stack (like LAMP or XAMPP or MEAN) for web development :)
07:08:02 <hppavilion[1]> Sgeo: I'm rolling my own database and my own language
07:08:13 <Sgeo> Ah
07:08:14 <hppavilion[1]> The language is suitable for golphing, if one were to feel like it
07:08:19 <hppavilion[1]> Here's a cat server in it:
07:08:20 <hppavilion[1]> |ssv;srv<-$ssv.srv '' 4242;upn srv.srcv{sck<-caller.sck;(<<-sck)->>sck}
07:08:23 <b_jonas> That article says the update about the colorless mana symbol affects 316 cards, which ALMOST perfectly matches with my previous regex /\{[1-9X]\}[^:]*pool/ which matches 317 cards
07:10:08 <hppavilion[1]> Granted, that uses a library (ssv), but still
07:17:08 <shachaf> What's with the new colorless mana symbol?
07:17:11 <shachaf> Seems a bit scow to me.
07:38:53 -!- infinitymaster has quit (Remote host closed the connection).
07:39:47 <b_jonas> although some of the 317 matches are un-cards, certainly not updated, so it's not that good of a match
07:40:05 <b_jonas> shachaf: do you want a serious answer?
07:40:38 <shachaf> I know how it works, I'm just not quite sure of the motivation.
07:42:22 <b_jonas> The regex has at least one false hit: it matches Charmed Pendant's reminder text and Power Sink's ability and (embarassingly) Mirrorpool's trigger.
07:43:47 <b_jonas> /\{[1-9X]\}[^:\n]*\bpool/ is better, only two false positives
07:44:10 <shachaf> i,i Charmed Pedant
07:45:28 <shachaf> Hmm, I didn't know Power Sink.
07:45:41 <b_jonas> two false positives other than two un-cards
07:45:44 <shachaf> Is there something that has tapping all your lands as a cost?
07:45:51 <shachaf> I'm not sure how that would be phrased exactly.
07:46:04 <b_jonas> shachaf: I'm not sure if it exists as a cost, but it exists as an effect
07:46:58 <shachaf> Tap all lands you control: [...]. Activate this ability only if you control no tapped lands.
07:47:18 <shachaf> Or {X} where X is the number of lands you control. Of course those are quite different.
07:47:26 <shachaf> What has it as an effect?
07:48:20 -!- mad has quit (Quit: Pics or it didn't happen).
07:48:26 <b_jonas> shachaf: Pygmy Hippo and War's Toll -- note that they're somewhat different
07:49:13 <shachaf> Oh, that affects your opponent, not you.
07:51:30 <shachaf> Is there something which uses some other mechanism to be cheap in the early game and expensive in the late game?
07:55:06 <hppavilion[1]> The people of this channel could do so much good if Esolangs were useful in the slightest...
07:56:09 <izabera> we need something like an esolangs4charity marathon
07:58:38 <hppavilion[1]> izabera: That'd only work if the rest of the programming world was into esolangs
07:59:23 <izabera> ok, that's step 1
08:02:38 <hppavilion[1]> izabera: Good point
08:02:48 <hppavilion[1]> Step 1) Get the world to like esolangs
08:03:03 <hppavilion[1]> Step 2) Do an Esolangs4Charity competition/marathon/whatever
08:03:09 <hppavilion[1]> Step 3) WORLD DOMINATION
08:03:14 <hppavilion[1]> Step 4) Buy milk
08:03:22 <myname> good luck with step 1
08:03:35 <myname> even at my university, i am the strange one
08:05:00 <izabera> can we just move step 4 a bit higher in the list?
08:05:46 <myname> we may swap 3 and 4
08:05:53 <izabera> yay
08:07:16 -!- charles047 has joined.
08:07:18 <charles047> Hi. Just came across this, please read and comment with your thoughts http://chrishadnagy.com
08:07:42 <myname> no
08:08:20 <myname> first of all, i will not support spammers in any way
08:09:42 <izabera> not even *esoteric* spammers?!
08:10:09 <myname> only if i can clearly identify it as such
08:10:14 <myname> which i cannot
08:12:01 <shachaf> Invent an esoteric programming language where a program is only valid if it was written in good faith that it will terminate.
08:13:15 <izabera> do you have to invent it from scratch or can you just apply that property to something like python?
08:27:52 -!- ais523 has joined.
08:38:02 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
09:25:59 -!- tromp_ has joined.
09:26:03 -!- zadock has joined.
09:28:38 -!- AnotherTest has joined.
09:34:17 -!- ais523 has quit.
09:50:34 -!- tromp_ has quit (Ping timeout: 256 seconds).
10:07:24 -!- MoALTz has quit (Ping timeout: 252 seconds).
10:51:46 -!- J_Arcane has quit (Ping timeout: 252 seconds).
10:56:36 <b_jonas> `ftoc 73
10:56:51 <HackEgo> 73.00°F = 22.78°C
11:21:11 -!- mauris__ has joined.
11:22:57 -!- zadock has quit (Quit: Leaving).
11:26:58 -!- mauris__ has quit (Ping timeout: 252 seconds).
11:30:43 -!- boily has joined.
11:34:00 -!- ais523 has joined.
11:47:24 -!- tromp_ has joined.
11:48:28 <boily> @metar CYUL
11:48:28 <lambdabot> CYUL 031137Z 04016KT 3SM -FZRA -SG FEW010 OVC043 M03/M05 A3004 RMK SF2SC6 PRESFR SLP175
11:48:43 <boily> FZRA!
11:50:59 <ais523> is that freezing rain?
11:51:15 <boily> it's freezing rain.
11:51:26 -!- tromp_ has quit (Ping timeout: 240 seconds).
11:51:54 -!- AnotherTest has quit (Ping timeout: 252 seconds).
11:52:45 <izabera> it's -FZRA
11:53:32 <izabera> means "very definitely NOT freezing rain"
11:54:27 <boily> a - means light.
11:54:39 <izabera> whaaaaa
11:54:48 <boily> (strangely, everything tends to be light when reported here. -RA, -SN, -BR...)
11:55:04 <boily> no prefix is about average, and + is heavy. hth.
11:55:30 * izabera knows nothing about metar
11:56:40 <Melvar> @metal EDLW
11:56:41 <lambdabot> EDLW 031150Z 26010KT 240V310 9999 FEW027 06/M00 Q1015
11:58:01 <boily> Mellolvar. I see what you did there hth
11:58:14 <boily> izabera: where are you approximatively at?
11:58:42 <izabera> on a train going to milan
11:58:58 <Melvar> I wonder where the LW bit comes from.
11:59:53 -!- AnotherTest has joined.
12:00:36 <boily> @metar LIML
12:00:37 <lambdabot> LIML 031150Z 16003KT 130V190 2000 -DZ BR SCT003 BKN030 09/08 Q1014 NOSIG
12:01:02 <izabera> in english?
12:01:11 <boily> typing it...
12:02:12 <izabera> this train is awful
12:02:25 <izabera> shitty, stinks
12:02:46 <boily> report made today at 11:50 UTC, 3 kt south wind, varying between south-east and south-west, ground visibility 2 km, light drizzle, fog, scattered clouds at 300', broken clouds at 3000', it's +9 °C, dew point at 8 °C, sea level pressure 1014 hPa, nothing else to report.
12:02:53 <izabera> can't even charge my laptop
12:03:23 <izabera> boily: sooo... foggy?
12:04:12 <ais523> not very foggy if you can see 2km
12:04:14 <boily> foggy and humid.
12:05:14 <boily> where does the LW bit come from... can't find anything.
12:13:13 <b_jonas> `wisdom
12:13:24 <HackEgo> mojibake/mojibake _ÌÌÌ°_ÌÌ̦̻ͭͭͬÌÍÌÌÍ¡_ͧÍÌÍÌ­_ÍÍÍͧÍÌÌ̯Í̬̬̦̯_ÌÌÌͨÌÌ´Í
12:13:38 <b_jonas> that
12:13:43 <b_jonas> doesn't even make any sense
12:13:55 <b_jonas> it doesn't look realistic
12:13:57 -!- ais523 has quit.
12:14:14 <boily> it's an overencoded wisdomface.
12:14:19 <boily> `? asdfasfawtraritoa
12:14:21 <HackEgo> asdfasfawtraritoa? ¯\(°​_o)/¯
12:14:49 <b_jonas> hmm
12:15:05 <b_jonas> should we try to make an automatic decoding tool for this?
12:15:13 <b_jonas> or would that be heretical?
12:15:21 <b_jonas> yes, I know the format isn't completely uniform
12:15:22 <b_jonas> but still
12:19:03 <boily> Ì.
12:20:10 -!- deltab has quit (Ping timeout: 256 seconds).
12:22:01 -!- boily has quit (Quit: SUBLAYER CHICKEN).
12:24:16 -!- mezkhalin has joined.
12:27:15 -!- deltab has joined.
12:32:43 <mezkhalin> @tell LexiciScriptor bad day yesterday and i lost the logs. remind me again what form of O() did you write? :P
12:32:43 <lambdabot> Consider it noted.
12:34:03 -!- Alcest has quit (Ping timeout: 240 seconds).
12:50:14 -!- mauris__ has joined.
12:54:10 <b_jonas> `? game
12:54:14 <HackEgo> game? ¯\(°​_o)/¯
12:58:54 -!- myname has quit (Ping timeout: 250 seconds).
13:02:56 -!- mauris__ has quit (Quit: Leaving).
13:11:37 -!- mauris has joined.
13:20:54 -!- TodPunk has quit (Read error: Connection reset by peer).
13:21:22 -!- TodPunk has joined.
13:41:55 -!- FreeFull has joined.
13:44:57 -!- tromp_ has joined.
13:59:41 -!- tromp_ has quit (Remote host closed the connection).
14:21:30 -!- `^_^v has joined.
14:27:18 -!- tromp has quit (Killed (Sigyn (Spam is off topic on freenode.))).
14:28:02 -!- tromp has joined.
14:28:27 -!- mauris_ has joined.
14:28:41 -!- myname has joined.
14:29:22 -!- mauris has quit (Ping timeout: 256 seconds).
14:42:43 -!- Treio has joined.
15:00:13 -!- tromp_ has joined.
15:03:58 -!- charles047 has quit (Quit: :D).
15:05:04 -!- tromp_ has quit (Ping timeout: 256 seconds).
15:18:43 -!- bb010g has quit (Quit: Connection closed for inactivity).
15:20:57 -!- spiette has joined.
15:49:52 -!- Treio has quit (Ping timeout: 252 seconds).
16:03:39 <HackEgo> [wiki] [[Special:Log/newusers]] create * FricativeMelon * New user account
16:05:23 <b_jonas> `wisdom
16:05:33 <b_jonas> `8-ball is that a spam user?
16:05:33 <HackEgo> phantom_hoover/Phantom Michael Hoover is a true Scotsman, hatheist, and completely out of the loop.
16:05:35 <HackEgo> Concentrate and ask again.
16:12:36 -!- oerjan has joined.
16:17:41 <quintopia> Fricative eh
16:17:49 <quintopia> Like a chicken fricative?
16:17:58 <quintopia> (this will be in a boily part message soon)
16:20:40 <Melvar> “Melon” doesn’t even contain any fricatives.
16:26:31 <oerjan> it's surprisingly devoid of them.
16:36:15 -!- `^_^v has quit (Ping timeout: 260 seconds).
16:37:13 -!- `^_^v has joined.
16:37:31 <oerjan> @metar ENVA
16:37:32 <lambdabot> ENVA 031620Z 25013KT 9999 6000E -SHSNRA FEW010CB SCT024 BKN034 02/M01 Q0993 TEMPO 1200 SHSN VV007 RMK WIND 670FT 25014G24KT
16:42:34 <Melvar> @metal EDDL
16:42:34 <lambdabot> EDDL 031620Z 26014G24KT 9999 SCT018 BKN050 05/01 Q1019 NOSIG
16:43:24 <oerjan> dusseldörf
16:43:37 <Melvar> Hmm. Is @metal better than @messages-lewd …?
16:44:56 <oerjan> @fetal LIRO
16:44:56 <lambdabot> Maybe you meant: metar keal eval
16:45:00 <oerjan> darn
16:45:08 <oerjan> stupid ambiguities
16:49:46 -!- `^_^v has quit (Ping timeout: 240 seconds).
16:51:48 <Taneb> Line in a blog post I am writing: «most people call 1 dimensional triangles "lines"»
16:53:15 <oerjan> those lines, so degenerate
16:53:32 <b_jonas> aren't those line segments?
16:53:33 <int-e> line segments with a distinguished point...
16:53:40 -!- `^_^v has joined.
16:53:41 <int-e> my bet would be s/lines/stupid/ though
16:54:26 <Taneb> I'm talking about generalizing triangle numbers into other dimensions
16:54:32 <Taneb> Like tetrahedron numbers
16:55:00 <int-e> oh, simplices
16:55:36 <int-e> That's fine then; a one-dimensional simplex is a line segment.
16:56:10 <Taneb> Oh, there's a word for these?
16:56:32 <Taneb> That's useful
16:57:48 <b_jonas> T: wouldn't that be just the binomial coefficients?
16:57:48 <Taneb> Am I allowed to talk about, say, the 6th 5-simplex number?
16:57:55 <HackEgo> [wiki] [[Beeswax]] https://esolangs.org/w/index.php?diff=46351&oldid=46090 * Albedo * (+183) /* Local/global stack interaction */ Instruction U added
16:59:16 <HackEgo> [wiki] [[Beeswax]] M https://esolangs.org/w/index.php?diff=46352&oldid=46351 * Albedo * (+3) /* Global stack related I/O */
17:06:10 <oerjan> Taneb: those are usually called "binomial coefficients" hth
17:06:15 <oerjan> oops
17:06:24 <oerjan> stupid skipping of lines
17:06:51 <Taneb> oerjan, I'm trying to explain where the binomial coefficients are coming from
17:06:56 <Taneb> And what they have to do with yahtzee
17:10:33 <zgrep> What do they have to do with yahtzee
17:10:33 <zgrep> +
17:10:34 <zgrep> ?
17:11:23 <Taneb> zgrep, the number of ways you can roll 5 dice if you don't care about order is the 6th 5-simplex number
17:11:37 * zgrep looks up simplex numbers
17:12:31 -!- Reece` has joined.
17:13:46 <zgrep> Does yahtzee care about order?
17:14:08 <int-e> the game doesn't; the associated probabilities do.
17:15:40 <Taneb> And in general, the number of ways you can roll n d-sided dice if you don't care about order is the dth n-simplex number
17:20:24 -!- oerjan has quit (Quit: Later).
17:51:05 -!- MoALTz has joined.
17:54:24 -!- jaboja has joined.
17:58:39 <izabera> guys
17:58:46 <izabera> strpbrk runs in linear time
17:59:16 * izabera astonished by this
17:59:47 -!- vodkode has joined.
18:01:08 -!- tromp_ has joined.
18:04:08 -!- hppavilion[1] has joined.
18:06:04 -!- tromp_ has quit (Ping timeout: 272 seconds).
18:06:18 -!- Reece` has quit (Quit: Alsithyafturttararfunar.).
18:08:44 -!- LexiciScriptor has joined.
18:10:36 -!- Reece` has joined.
18:13:49 <Melvar> izabera: Linear in what?
18:14:18 <izabera> lenght of the string
18:14:35 <izabera> char *strpbrk(const char *s, const char *accept); <- of s
18:15:20 <Melvar> Well, the most naive algorithm would do that (where you loop through accept for each char in s).
18:15:46 <izabera> no
18:15:57 <izabera> unless your naive algorithm is way more advanced than mine
18:15:58 -!- mauris__ has joined.
18:15:58 -!- jaboja has quit (Remote host closed the connection).
18:16:00 <Melvar> Oh, you mean the runtime is independent of accept?
18:16:07 <izabera> yes
18:17:13 <Melvar> That *is* surprising.
18:17:20 <izabera> there's a version in assembly for x86_64 in glibc, very well commented
18:18:19 <izabera> http://git.musl-libc.org/cgit/musl/tree/src/string/strpbrk.c http://git.musl-libc.org/cgit/musl/tree/src/string/strcspn.c musl does it in O(n+m)
18:18:21 <izabera> still linear
18:18:40 <izabera> and no comments because fuck you
18:18:44 -!- mauris_ has quit (Ping timeout: 252 seconds).
18:19:35 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
18:20:09 <shachaf> Punycode is too complicated.
18:22:31 -!- Reece has joined.
18:22:35 -!- Reece` has quit (Ping timeout: 245 seconds).
18:23:46 <fizzie> It's still linear in length of s even if it depends on the length of accept.
18:24:29 <fizzie> (I mean, if you only paramterize by length of s.)
18:28:01 <fizzie> I don't think the musl one really needs comments, it's pretty obvious of what it does.
18:29:16 <izabera> comments don't make your executable larger
18:30:11 -!- sebbu has quit (Ping timeout: 264 seconds).
18:31:52 * izabera didn't see a jnz in glibc and it was obviously needed so both run in O(n+m)
18:34:38 <fizzie> No, but there's no need to add comments where it's obvious either. Granted, the musl example might not be quite.
18:34:50 <fizzie> But, for example, return result; // Returns the result.
18:36:07 <izabera> int main(int argc, char **argv) { /* program starts here */
18:41:07 <fizzie> int /* return type of integer */ main /* <- this is the function name */ /* watch out, a parenthesis: */ ( int argc, ...
18:43:37 <izabera> could probably use some vertical whitespace
18:47:38 -!- sebbu has joined.
18:49:50 -!- sebbu has quit (Read error: Connection reset by peer).
18:50:58 -!- sebbu has joined.
18:51:20 <b_jonas> fizzie: yeah, there's some assembly code out there commented that way
18:51:36 <b_jonas> it's even more horrible because it's like
18:51:50 <b_jonas> XOR AL, AL ;clear the AL register
18:52:33 <b_jonas> registers aren't named meaningfully for the code, and comment doesn't tell what AL is actually used for in that section
18:59:48 -!- Treio has joined.
19:07:30 -!- augur has quit (Ping timeout: 272 seconds).
19:10:44 -!- bb010g has joined.
19:15:38 -!- XorSwap has joined.
19:20:24 -!- augur has joined.
19:26:42 -!- augur has quit (Ping timeout: 250 seconds).
19:31:06 -!- augur has joined.
19:33:48 -!- hppavilion[1] has joined.
19:39:08 <hppavilion[1]> i<-'$';w!i.eof{i<-gln inp;out<<-i}
19:41:47 <b_jonas> what is that?
19:43:29 <hppavilion[1]> b_jonas: Cat that terminates on EOF
19:43:41 <hppavilion[1]> b_jonas: In Shorthand
19:44:10 <b_jonas> I see
19:44:29 <b_jonas> um, what's Shorthand?
19:44:51 -!- Reece` has joined.
19:44:57 <hppavilion[1]> b_jonas: Language I'm making for golphing and scientific computing as part of my personal webstack
19:45:09 <b_jonas> that's golfed?
19:45:16 <hppavilion[1]> mezkhalin: Hi
19:45:17 -!- Reece` has quit (Max SendQ exceeded).
19:45:26 -!- Reece has quit (Ping timeout: 240 seconds).
19:45:28 <hppavilion[1]> b_jonas: It's as short as I can get it in my language xD
19:45:52 <hppavilion[1]> b_jonas: I suppose I could do perl's thing with undef for undefined variables...
19:46:04 <mezkhalin> hppavilion[1]: greetings!
19:46:14 <hppavilion[1]> mezkhalin: How's it going?
19:46:14 <mezkhalin> whats the topic?
19:46:31 <mezkhalin> haha verlet integration how about you?
19:48:05 -!- Reece` has joined.
19:48:16 -!- vodkode has quit (Quit: Leaving).
19:50:10 <HackEgo> [wiki] [[AnnieFlow]] N https://esolangs.org/w/index.php?oldid=46353 * FricativeMelon * (+6069) Created page with "'''AnnieFlow''' is a [[StackFlow]] derivative that has mostly the same behavior, except for the following: # It is much terser than StackFlow, with more condensed syntax. Ever..."
19:51:26 -!- augur has quit (Ping timeout: 250 seconds).
19:52:15 -!- Reece` has quit (Read error: Connection reset by peer).
19:52:18 <izabera> cat in bash is 3 characters
19:53:47 -!- Reece` has joined.
19:54:27 -!- Reece` has quit (Client Quit).
19:56:55 -!- Reece` has joined.
20:02:36 -!- tromp_ has joined.
20:04:21 -!- mihow has joined.
20:06:11 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
20:06:55 -!- tromp_ has quit (Ping timeout: 240 seconds).
20:11:40 -!- Treio has quit (Ping timeout: 252 seconds).
20:15:25 -!- augur has joined.
20:16:45 -!- XorSwap has quit (Quit: Leaving).
20:17:56 -!- jaboja has joined.
20:22:02 -!- Treio has joined.
20:22:23 -!- augur has quit (Ping timeout: 264 seconds).
20:22:42 <HackEgo> [wiki] [[AnnieFlow]] https://esolangs.org/w/index.php?diff=46354&oldid=46353 * FricativeMelon * (+332)
20:30:55 -!- augur has joined.
20:31:31 -!- hppavilion[1] has joined.
20:31:55 -!- mihow has quit (Ping timeout: 260 seconds).
20:34:04 -!- mihow has joined.
20:38:22 -!- augur has quit (Remote host closed the connection).
21:00:48 -!- vodkode has joined.
21:05:37 -!- hppavilion[1] has quit (Read error: Connection reset by peer).
21:06:26 -!- hppavilion[1] has joined.
21:08:21 -!- J_Arcane has joined.
21:09:42 -!- augur has joined.
21:16:32 -!- Reece has joined.
21:17:26 -!- Reece` has quit (Ping timeout: 240 seconds).
21:20:56 -!- oerjan has joined.
21:28:43 -!- bb010g has quit (Quit: Connection closed for inactivity).
21:34:35 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
21:35:38 -!- hppavilion[1] has joined.
21:38:56 -!- Reece has quit (Quit: Alsithyafturttararfunar.).
21:51:32 -!- hppavilion[1] has quit (Ping timeout: 272 seconds).
21:54:14 -!- MDream has changed nick to MDude.
21:59:23 <tswett> @tell ais523 I've seen ★ used as the element of "the" one-element collection.
21:59:23 <lambdabot> Consider it noted.
21:59:25 <tswett> Hmm.
21:59:35 <tswett> > read " Right ( ) " :: Either () ()
21:59:37 <lambdabot> Right ()
21:59:56 <tswett> > read " Right ( ( ) ) " :: Either () ()
21:59:57 <lambdabot> Right ()
22:00:03 <tswett> > read " ( Right ( ( ) ) ) " :: Either () ()
22:00:05 <lambdabot> Right ()
22:00:13 <tswett> > read " ( ( Right ) ( ( ) ) ) " :: Either () ()
22:00:15 <lambdabot> *Exception: Prelude.read: no parse
22:00:37 <tswett> > read "(((((Right((((())))))))))" :: Either () ()
22:00:39 <lambdabot> Right ()
22:02:31 -!- nycs has joined.
22:02:35 -!- hppavilion[1] has joined.
22:02:43 <oerjan> > read "(((((Right((((()),((()))))))))))" :: Either () ((),())
22:02:45 <lambdabot> Right ((),())
22:03:09 <oerjan> that's gonna need some backtracking for tuples...
22:03:31 <oerjan> > read "(((((((((()),((()))))))))))" :: ((),())
22:03:33 <lambdabot> ((),())
22:04:15 -!- `^_^v has quit (Ping timeout: 240 seconds).
22:04:24 <oerjan> hm can we get it to blow up
22:05:10 <oerjan> > read "(((((())))),())" :: ((),())
22:05:12 <lambdabot> ((),())
22:05:21 <oerjan> > read "(((((((())))))),())" :: ((),())
22:05:22 <lambdabot> ((),())
22:24:20 <oerjan> > read "((( ((((),()),()),()) )))" :: ((((),()),()),())
22:24:21 <lambdabot> ((((),()),()),())
22:24:35 <oerjan> > read "((((((( ((((),()),()),()) )))))))" :: ((((),()),()),())
22:24:37 <lambdabot> ((((),()),()),())
22:25:01 -!- XorSwap has joined.
22:27:54 <oerjan> i think this ReadP thing is thwarting me by not actually using backtracking.
22:38:37 -!- lleu has joined.
22:51:36 -!- mezkhalin has quit (Ping timeout: 252 seconds).
22:53:20 <hppavilion[1]> Overdone Programming: Taking a programming project that should be simple and producing the most horribly complicated possible version of it
22:53:28 -!- spiette has quit (Quit: :qa!).
22:54:00 <hppavilion[1]> Example: A command-line utility for saying "Hello, World" in a highly advanced way
22:56:42 <hppavilion[1]> Sort of like GNU Hello
22:58:34 <b_jonas> `hello
22:58:51 <HackEgo> Hello
23:00:22 -!- boily has joined.
23:01:40 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
23:06:34 -!- AnotherTest has quit (Ping timeout: 240 seconds).
23:07:29 -!- nycs has quit (Quit: This computer has gone to sleep).
23:10:29 <boily> @metar CYUL
23:10:29 <lambdabot> CYUL 032300Z 15013KT 15SM BKN033 OVC045 06/04 A2963 RMK SC6SC2 SLP037
23:11:09 <boily> there should be a lumens measure somewhere in those metars twh
23:11:23 <boily> today was distressingly dark.
23:14:44 -!- Treio has quit (Ping timeout: 248 seconds).
23:17:51 <fizzie> We used to have one at the university's weather thing.
23:18:00 <fizzie> http://outside.aalto.fi/
23:18:25 <fizzie> Or http://outside.aalto.fi/lite.html for the history.
23:21:25 <boily> fizziello!
23:21:46 <boily> not very bright out there.
23:27:16 -!- Treio has joined.
23:31:05 -!- Phantom_Hoover has joined.
23:31:15 -!- jaboja has quit (Remote host closed the connection).
23:34:27 -!- tromp_ has joined.
23:36:46 <zgrep> `hello world.
23:36:48 <HackEgo> Hello
23:38:56 -!- tromp_ has quit (Ping timeout: 250 seconds).
23:39:07 <boily> `hello hello
23:39:14 <HackEgo> Hello
23:39:21 -!- hppavilion[1] has joined.
23:41:03 <boily> hello hello helloppavellon[1] ♪
23:41:13 <boily> zgrellop!
23:45:53 -!- mauris__ has changed nick to mauri.
23:49:38 <oerjan> belloily
23:50:12 -!- XorSwap has quit (Ping timeout: 252 seconds).
23:50:56 -!- Treio has quit (Quit: Leaving).
23:53:22 <zgrep> helloily.
00:02:19 <boily> hellørjan.
00:10:03 -!- XorSwap has joined.
00:15:13 <boily> XorSwap: XellorSwap. who are you at now up?
00:15:50 <XorSwap> A lurker, mostly :D
00:40:04 -!- trn has quit (Quit: quit).
00:45:54 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
00:50:20 -!- trn has joined.
00:52:06 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
00:54:43 <zgrep> And how about at later down?
00:55:17 <int-e> Have you been taking grammar lessons from fungot?
00:55:17 <fungot> int-e: the idea for a lossless udp mass transfer protocol minimizing acks. thus no disturbance when walking in the fnord it covers a huge chunk of unlabeled assembly in a language until it converges
00:55:56 <int-e> f-NOOOOOH!!!!!-rd...
00:58:09 <shachaf> fungot
00:58:09 <fungot> shachaf: for example lambda is also a wide spectrum of beliefs regarding what the right answer. that's one of the patches
00:58:20 <shachaf> ^style
00:58:20 <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
00:58:29 <shachaf> where's the calvin and hobbes style twh
00:59:27 <int-e> well, one would need transcripts... and perhaps worry about copyright
01:00:33 <shachaf> I imagine that a Markov chain is fair use.
01:01:25 <fizzie> int-e: I think that was actually just a fjord.
01:01:30 <int-e> But character names may be tricky. I dunno.
01:01:52 <fizzie> ^style fisher
01:01:52 <fungot> Selected style: fisher (Fisher corpus of transcribed telephone conversations)
01:01:54 <fizzie> I stole that.
01:02:12 <fizzie> In the sense that it costs money, and I'm not exactly sure what our license allows for.
01:02:38 <fizzie> I don't think I ever even found the license terms.
01:02:46 <shachaf> If I sent you a corpus, would you add it?
01:02:54 <fizzie> If someone asks, fungot's a research project.
01:02:54 <fungot> fizzie: ( ( laughter)) someone and they called yesterday and so i
01:02:58 -!- hppavilion[1] has joined.
01:03:14 <int-e> cliffhanger...
01:03:15 <hppavilion[1]> Ugh
01:03:15 <fizzie> Maybe. You can bump up the likelihood by doing all the work.
01:03:19 <shachaf> ^style irc
01:03:19 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
01:03:24 <shachaf> fungot: What are you researching?
01:03:24 <fungot> shachaf: ( read) `3))) but i can't recall what chicken does about that amaranth and they use ascii...
01:03:29 <hppavilion[1]> WHY will my computer not boot from USB
01:03:37 <shachaf> fizzie: What sort of work?
01:03:52 <fizzie> shachaf: https://github.com/fis/fungot/blob/master/varikn/readme.txt <- that sort of.
01:03:52 <fungot> fizzie: what about? :) fnord/ fnord/ web/ fnord/ fnord " java is slow if you're using a terminal app, though
01:03:58 <fizzie> (Also the instructions are not quite right.)
01:04:26 <hppavilion[1]> LinuxLive USB creator is /supposed/ to create a bootable USB stick, right?
01:04:27 <int-e> fungot: what do you think of deep learning?
01:04:27 <fungot> int-e: it was funny when the url fnord depends on the ' net
01:04:37 <int-e> good answer, I guess
01:04:56 <fizzie> The varikn link is broken, it lives in github and the version 1.0.2 is outdated; don't use the example -D and -E parameter, they're not good; maybe something else as well.
01:07:17 <fizzie> Here's a random guess: it's making an old-style bootable thing, and your computer is set to UEFI only. Or vice versa.
01:09:00 <shachaf> fizzie: That sounds like a mess.
01:09:36 <shachaf> fizzie: http://www.s-anand.net/comic.calvin.jsz
01:11:43 -!- tromp_ has joined.
01:11:59 <fizzie> I will try to motivate myself to have a look, but not today.
01:13:00 <shachaf> It's just a text file.
01:13:03 <int-e> needs some cleanup anyway... removing the dates, splitting into sentences...
01:13:31 <hppavilion[1]> shachaf: "just" a text file?
01:13:40 <hppavilion[1]> Text files can start wars
01:13:46 <hppavilion[1]> Overturn governments
01:13:53 <hppavilion[1]> And most importantly
01:13:57 <hppavilion[1]> CARRY ASCII PR0N
01:14:06 <hppavilion[1]> DO NOT SAY "just" A TEXT FILE
01:14:33 <int-e> hppavilion[1]: well, for all I know, you're just human
01:14:44 <hppavilion[1]> int-e: How wrong you are...
01:15:05 <hppavilion[1]> I'm clearly a dwarf and I'm digging a hole; diggy diggy hole.
01:16:22 -!- hppavilion[1] has quit (Read error: Connection reset by peer).
01:16:53 -!- XorSwap has quit (Ping timeout: 276 seconds).
01:16:56 <int-e> hah, must've hit a cable
01:26:36 -!- mauri has quit (Read error: Connection reset by peer).
01:27:04 -!- mauri has joined.
01:33:32 <oerjan> or maybe he fell down it
01:33:50 <oerjan> `? mauri
01:33:51 <HackEgo> mauri? ¯\(°​_o)/¯
01:33:55 <oerjan> wat
01:34:05 <oerjan> `` mv wisdom/mauri{s,}
01:34:09 <HackEgo> No output.
01:34:10 <oerjan> `? mauri
01:34:11 <HackEgo> maur is the correct spelling
01:34:15 <oerjan> there you go.
01:34:54 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:40:33 <mauri> mauri's the correct spelling hth
01:40:46 <mauri> (i literally forgot to type an s and rolled with it)
01:45:22 <fizzie> It's a Finnish first name.
01:46:04 <boily> I knew mauri's secretly Finnish.
01:47:06 <fizzie> 16005 Finns with that name currently.
01:47:16 <shachaf> fizzie: How can you tell?
01:47:27 <fizzie> Oh, no: just in total.
01:47:47 <mauri> a quick count, i presume
01:48:03 <shachaf> How many Finns are there with the name Shachaf?
01:49:23 <fizzie> That's funny: the surname search does distinguish between live, dead (and people who changed surnames), but the first name search just gives a total of living and died-with-that-name (since some year).
01:50:27 <fizzie> "Less than five", which it what it says when there are less than five. Otherwise it gives an exact count.
01:50:53 <shachaf> Ah, I found the website.
01:50:55 <fizzie> Less than five born between 1980-1999, zero in other years.
01:50:55 <mauri> that is good
01:51:05 <shachaf> There are more than five with my last name.
01:51:07 <mauri> is less than five more than zero?
01:51:16 <fizzie> Yes.
01:52:09 <oerjan> > (< 5) > 0
01:52:11 <lambdabot> No instance for (Ord a0) arising from a use of ‘<’
01:52:11 <lambdabot> The type variable ‘a0’ is ambiguous
01:52:11 <lambdabot> Note: there are several potential instances:
01:52:13 <oerjan> shocking
01:52:37 <fizzie> Still 10 currently with my surname.
01:52:52 <oerjan> :t (< 5) > 0
01:52:53 <lambdabot> No instance for (Ord a0) arising from a use of ‘<’
01:52:53 <lambdabot> The type variable ‘a0’ is ambiguous
01:52:53 <lambdabot> Note: there are several potential instances:
01:53:08 <boily> there's something wrong with that, but what.
01:53:14 <oerjan> :t (< (5::Int)) > 0
01:53:15 <lambdabot> No instance for (Ord (Int -> Bool))
01:53:15 <lambdabot> (maybe you haven't applied enough arguments to a function?)
01:53:15 <lambdabot> arising from a use of ‘>’
01:53:28 <mauri> > let x ==> y = not x || y in quickCheck (\x -> (x < 5) ==> (x > 0))
01:53:29 <lambdabot> Couldn't match expected type ‘Integer -> Bool’
01:53:29 <lambdabot> with actual type ‘QuickCheck-2.8.1:Test.QuickCheck.Random.QC...
01:53:29 <lambdabot> The lambda expression ‘\ x -> (x < 5) ==> (x > 0)’
01:53:35 <mauri> oooops
01:53:45 <fizzie> When in doubt, apply more arguments to a function.
01:54:41 <shachaf> @check (\x -> (x < 5) ==> (x > 0)) {- hth -}
01:54:43 <lambdabot> *** Failed! Falsifiable (after 1 test):
01:54:43 <lambdabot> 0
01:54:54 <mauri> *gasp*
01:54:58 <oerjan> @botsnack -- very efficient
01:54:58 <lambdabot> :)
01:55:15 <boily> when I meet a function I always apply an argument. functions love arguments.
01:56:15 -!- ORB has joined.
01:56:56 <boily> `relcome ORB
01:57:03 <ORB> rhank you
01:57:56 <HackEgo> No output.
01:59:24 -!- mihow has quit (Quit: mihow).
02:00:00 <boily> huh?
02:00:08 <boily> shachaf: did you un`relcome HackEgo?
02:00:32 <shachaf> noily
02:00:39 <boily> hmm...
02:00:48 * boily strokes his beard
02:00:48 <shachaf> HackEgo is just kind of broken right now.
02:00:51 <boily> oh.
02:00:53 <boily> beuh.
02:01:05 <ORB> `relcome
02:01:17 <HackEgo> Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
02:01:23 <boily> ah! here it is.
02:01:32 <ORB> `help
02:01:35 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
02:01:53 <ORB> neat
02:04:24 -!- boily has quit (Quit: LINGERING CHICKEN).
02:09:11 -!- mihow has joined.
02:13:15 -!- mihow has quit (Ping timeout: 240 seconds).
02:17:13 <fizzie> Huh.
02:17:54 <oerjan> hm?
02:18:12 <fizzie> I was wondering if that earlier `relcome got in the same sort of stuck mode, but it's also being very slow in accepting a SSH.
02:18:43 <fizzie> Oh, it did say "No output."
02:18:46 <fizzie> I missed that.
02:18:46 <oerjan> the other day it was stuck for 10 min though, this was only one or two
02:19:03 <fizzie> I thought it was still pending.
02:22:57 <fizzie> I also wonder where all its memory is. free -m says (on the -/+ buffers/cache line) 1808 used, 204 free, but there isn't really any processes with a RSS of many megs, with the exception of mysql (370M) and a few php-fpms (<100M total), plus one memcached (20M). That doesn't really sound like it should make up 1800M.
02:26:25 <fizzie> (And it's not tmpfs either.)
02:26:29 <fizzie> Oh well, must sleep.
02:29:59 -!- bb010g has joined.
02:59:49 -!- lleu has quit (Read error: Connection reset by peer).
03:29:13 -!- hppavilion[1] has joined.
03:43:48 <izabera> http://zem.fi/2014-04-05-opquiz i'm doing worse than random
03:43:52 <izabera> proud of myself
03:45:30 -!- mihow has joined.
03:51:58 <HackEgo> [wiki] [[HALT]] https://esolangs.org/w/index.php?diff=46355&oldid=44795 * * (-350)
03:57:08 -!- TodPunk has quit (Read error: Connection reset by peer).
03:59:24 <hppavilion[1]> izabera: Really? I have a 100%
04:00:22 <izabera> grats
04:07:45 -!- TodPunk has joined.
04:13:21 -!- vifino has quit (Ping timeout: 260 seconds).
04:13:32 -!- vifino has joined.
04:19:08 -!- sebbu has quit (Ping timeout: 260 seconds).
04:19:08 -!- idris-bot has quit (Ping timeout: 260 seconds).
04:31:46 -!- ORB has quit (Read error: Connection reset by peer).
04:36:26 -!- ORB has joined.
04:49:46 -!- ORB has changed nick to O0RB.
04:50:55 -!- O0RB has changed nick to ORB.
04:54:39 <MDude> /nick MDream
04:54:50 -!- MDude has changed nick to MDream.
05:02:02 -!- mauri has quit (Ping timeout: 256 seconds).
05:03:54 -!- mihow has quit (Quit: mihow).
05:08:16 -!- MDream has quit (Ping timeout: 256 seconds).
05:19:32 -!- ais523 has joined.
05:39:27 -!- tromp_ has quit (Remote host closed the connection).
06:00:11 -!- ORB has quit (Read error: No route to host).
06:01:18 -!- ORB has joined.
06:01:24 -!- ORB has quit (Client Quit).
06:04:42 -!- oerjan has quit (Quit: Nite).
06:15:38 -!- sebbu has joined.
06:32:42 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
06:36:52 -!- hppavilion[1] has joined.
06:37:06 <hppavilion[1]> I'm trying to get a proper linux system (Ubuntu, specifically) running on my laptop
06:37:32 <hppavilion[1]> No matter what I try, my computer won't even boot the USB stick
06:38:17 <Elronnd> you messed with the BIOS and all?
06:38:26 <Elronnd> you sure ubuntu is properly on the USB?
06:40:06 <hppavilion[1]> Elronnd: It's the second USB burner I've tried
06:40:09 -!- tromp_ has joined.
06:40:18 <hppavilion[1]> Elronnd: Is it supposed to have an actual filesystem? xD
06:40:35 <Elronnd> IIRC yes
06:40:50 <hppavilion[1]> Elronnd: I tried messing with the BIOS, but it doesn't seem to have any options. Just "Press any key to continue"
06:41:08 <ais523> hppavilion[1]: on some systems there's a separate key to override boot order
06:41:09 <hppavilion[1]> Elronnd: Please tell me that isn't something Microsoft did to block us from installing other OSes xD
06:41:15 <hppavilion[1]> ais523: Such as?
06:41:19 <ais523> different from the BIOS override key
06:41:20 <Elronnd> I don't believe there's such a thing
06:41:31 <ais523> on this laptop it's one of the lower F keys, F5 I think (not 100% sure on that)
06:41:34 <hppavilion[1]> Elronnd: OK, OK. Seems like that'd be possible, at the very least
06:41:43 <Elronnd> hppavilion[1]: try hitting f12 or f5 or f2 or f1 or esc on boot
06:41:53 <Elronnd> before the OS (MS-Windows, presumable) is loaded
06:41:57 <ais523> however it does say which key it is at the bottom of the screen while it's booting
06:41:59 <hppavilion[1]> Elronnd: esc enters the useless window
06:42:10 <Elronnd> hppavilion[1]: okay, so not that one
06:42:14 <hppavilion[1]> Elronnd: I don't know if f5 f2 or f1 did anything
06:42:16 <Elronnd> but try all of those f-keys
06:42:27 <Elronnd> On my computer, f2 and f12 both do stuff
06:42:31 <hppavilion[1]> Ah, google is my friend IIRC
06:42:36 <Elronnd> oh, yeah
06:42:39 <ais523> most laptops nowadays have their hard drive first in the boot order to reduce issues with malware on USB sticks
06:42:54 <Elronnd> look up how to enter bios setup with $yourcomputer
06:44:35 -!- tromp_ has quit (Ping timeout: 264 seconds).
06:45:29 <Elronnd> ais523: you have a server, why don't you run ZNC on it so you don't miss stuff when your internet is being spotty or you have to quit?
06:49:08 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
07:04:24 -!- MDude has joined.
07:09:40 <ais523> huh, someone's made a StackFlow derivative with highly compressed syntax (it can do a truth-machine in three bytes)
07:09:48 <ais523> interesting idea; it wasn't intended as a golfing language at all
07:11:03 * izabera read it as a stackoverflow derivative and was thinking about a compressed q&a site
07:11:25 <Elronnd> heh
07:16:45 -!- hppavilion[1] has joined.
07:17:59 <hppavilion[1]> Can we remove R.I.P. Marvin Minsky? The being-depressed-he's-dead time has expired
07:18:01 <hppavilion[1]> hth
07:18:28 <hppavilion[1]> I just restored session in firefox
07:18:42 <hppavilion[1]> One of the things I restored was the session restore from the previous session
07:19:16 <Elronnd> Sure
07:19:23 -!- Elronnd has set topic: The international hub for magic gathering and deployment. | Effi's finest fluffy waffles | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://esolangs.org/ | 100% of cpus on the wall ♪.
07:20:00 -!- ais523 has quit.
07:24:20 -!- heroux has quit (Ping timeout: 250 seconds).
07:36:28 -!- heroux has joined.
07:47:06 -!- heroux has quit (Ping timeout: 240 seconds).
07:56:41 -!- variable has joined.
08:00:16 -!- heroux has joined.
08:07:20 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
08:22:59 -!- heroux has quit (Ping timeout: 250 seconds).
08:23:42 -!- heroux has joined.
08:40:13 -!- tromp_ has joined.
08:40:46 -!- heroux has quit (Ping timeout: 256 seconds).
08:44:33 -!- tromp_ has quit (Ping timeout: 240 seconds).
08:47:48 <HackEgo> [wiki] [[Talk:Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=46356&oldid=46338 * YoYoYonnY * (+90) /* Calculating the integer square root of x */
08:48:44 -!- bb010g has quit (Quit: Connection closed for inactivity).
08:53:51 -!- variable has quit (Quit: 1 found in /dev/zero).
08:54:24 -!- heroux has joined.
08:58:26 -!- heroux has quit (Ping timeout: 240 seconds).
08:59:33 -!- FreeFull has quit (Quit: BBL).
09:08:57 <fizzie> @tell hppavilion[1] Careful, each nested instance of the restore session page involves escaping some things, so the storage use grows exponentially. I knew someone who had those things 20 deep, and the json file it puts that stuff in was hundreds of megs.
09:08:57 <lambdabot> Consider it noted.
09:12:32 -!- LexiciScriptor has joined.
09:12:35 <fizzie> @tell hppavilion[1] "foo" -> "\"foo"\" -> "\"\\\"foo\"\\\" -> "\"\\\"\\\\\\\"foo\\\"\\\\\\\"" -> ...
09:12:35 <lambdabot> Consider it noted.
09:12:40 -!- J_Arcane has quit (Ping timeout: 252 seconds).
09:13:35 -!- vifino has quit (Ping timeout: 246 seconds).
09:14:30 -!- AnotherTest has joined.
09:28:23 -!- heroux has joined.
09:29:19 -!- Treio has joined.
09:34:34 <izabera> is it possible to entirely get rid of pathological regex cases?
09:34:54 <izabera> like replace a*a* with a*
09:35:17 <izabera> (a+a+)+ -> (a{2,})
09:35:21 <izabera> and so on
09:40:37 * izabera wants to learn more about this
09:40:59 -!- heroux has quit (Ping timeout: 264 seconds).
09:48:22 -!- heroux has joined.
10:40:21 -!- vodkode has quit (Ping timeout: 245 seconds).
10:40:38 -!- heroux has quit (Ping timeout: 250 seconds).
10:40:46 -!- heroux has joined.
10:41:55 -!- vodkode has joined.
11:01:17 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
11:19:34 -!- LexiciScriptor has joined.
11:33:34 -!- boily has joined.
11:41:59 -!- tromp_ has joined.
11:46:30 -!- tromp_ has quit (Ping timeout: 250 seconds).
11:48:06 -!- Treio has quit (Remote host closed the connection).
11:50:46 -!- Treio has joined.
12:02:40 -!- mauris has joined.
12:17:07 -!- mezkhalin has joined.
12:17:33 -!- mezkhalin has changed nick to stalem.
12:20:37 -!- boily has quit (Quit: MEDIUM CHICKEN).
12:28:34 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
13:04:15 -!- jaboja has joined.
13:34:07 -!- tromp_ has joined.
13:54:46 -!- tromp_ has quit (Remote host closed the connection).
14:19:26 -!- jaboja has quit (Ping timeout: 240 seconds).
14:20:08 -!- nycs has joined.
14:38:41 -!- jaboja has joined.
14:42:46 -!- XorSwap has joined.
14:55:18 -!- tromp_ has joined.
14:59:35 -!- tromp_ has quit (Ping timeout: 240 seconds).
15:06:17 -!- XorSwap has quit (Ping timeout: 276 seconds).
15:11:48 -!- MDude has quit (Read error: Connection reset by peer).
15:12:03 -!- vifino has joined.
15:17:48 -!- vifino has quit (Quit: Who turned this off?! D:<).
15:27:40 -!- J_Arcane has joined.
15:32:56 -!- vifino has joined.
15:37:43 -!- spiette has joined.
15:46:16 -!- XorSwap has joined.
15:51:59 <HackEgo> [wiki] [[AnnieFlow]] https://esolangs.org/w/index.php?diff=46357&oldid=46354 * FricativeMelon * (+25)
16:11:45 -!- ais523 has joined.
16:14:41 -!- LexiciScriptor has joined.
16:16:29 -!- J_Arcane has quit (Ping timeout: 276 seconds).
16:36:44 -!- oerjan has joined.
16:39:20 -!- Sgeo_ has joined.
16:40:44 -!- Sgeo has quit (Ping timeout: 252 seconds).
16:47:05 -!- Sgeo has joined.
16:48:59 -!- Sgeo_ has quit (Ping timeout: 276 seconds).
16:51:30 -!- Sgeo_ has joined.
16:52:30 -!- XorSwap has quit (Read error: Connection reset by peer).
16:53:01 -!- FreeFull has joined.
16:53:12 -!- Sgeo has quit (Ping timeout: 256 seconds).
16:56:58 -!- oerjan has quit (Quit: Later).
17:01:10 -!- newsham has joined.
17:07:49 -!- newsham has quit (Ping timeout: 252 seconds).
17:10:02 -!- newsham has joined.
17:10:23 -!- newsham has quit (Client Quit).
17:11:22 -!- newsham has joined.
17:26:00 -!- nycs has quit (Quit: This computer has gone to sleep).
17:28:24 -!- `^_^v has joined.
17:56:16 -!- tromp_ has joined.
18:07:38 -!- tromp_ has quit (Ping timeout: 252 seconds).
18:16:02 -!- hppavilion[1] has joined.
18:19:12 <hppavilion[1]> Hellu
18:19:19 <hppavilion[1]> @messages-lud
18:19:19 <lambdabot> fizzie said 9h 10m 21s ago: Careful, each nested instance of the restore session page involves escaping some things, so the storage use grows exponentially. I knew someone who had those things 20 deep, and the json file it puts that stuff in was hundreds of megs.
18:19:19 <lambdabot> fizzie said 9h 6m 43s ago: "foo" -> "\"foo"\" -> "\"\\\"foo\"\\\" -> "\"\\\"\\\\\\\"foo\\\"\\\\\\\"" -> ...
18:20:00 <hppavilion[1]> fizzie: Interesting. How can we exploit this knowledge?
18:20:11 <int-e> > fix show
18:20:13 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\...
18:21:07 <int-e> > iterate show "foo"
18:21:08 <lambdabot> ["foo","\"foo\"","\"\\\"foo\\\"\"","\"\\\"\\\\\\\"foo\\\\\\\"\\\"\"","\"\\\"...
18:24:09 <izabera> relevant http://xkcd.com/1638/
18:24:46 <hppavilion[1]> Yes
18:24:48 <hppavilion[1]> Of course
18:31:04 <ais523> clearly it needs a better escape format
18:31:57 <izabera> raw strings are the best thing ever
18:35:50 -!- mauris_ has joined.
18:40:08 -!- mauris has quit (Ping timeout: 276 seconds).
18:40:46 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
18:58:23 -!- hppavilion[1] has joined.
19:01:19 <ais523> izabera: how do you nest them?
19:01:37 <ais523> some raw string formats allow arbitrarily complex brackets around the outside to allow nesting, but IIRC most don't
19:01:41 <hppavilion[1]> izabera: Really? THE best thing ever? What about the holocaust
19:01:45 <hppavilion[1]> Wait, wrong comeback
19:02:07 <ais523> well, I definitely prefer raw strings to the holocaust
19:02:16 <hppavilion[1]> ais523: OK, good
19:02:18 <ais523> and I imagine almost everyone else does too
19:03:16 <hppavilion[1]> ais523: O rly? What about neo-nazis?
19:03:44 <ais523> that's what the "almost" is for
19:03:53 <hppavilion[1]> ais523: Oh right
19:03:54 <b_jonas> ais523: sure, raw strings in C++ or lua are delimited that way, but that's not really what makes the strings *raw*
19:03:57 <izabera> pretty sure that at least neo-nazi programmers still prefer raw strings to the holocaust
19:04:14 <b_jonas> what makes the strings raw is that all the bytes inside it in the source code are taken literally, even the crlf or lf sequences.
19:04:19 <b_jonas> no escapes
19:04:28 <ais523> b_jonas: well yes
19:04:35 <ais523> but this means you need to be very careful with how you terminate them
19:04:38 <ais523> as you can't escape the terminator
19:04:51 <ais523> I think Perl has "almost raw" strings where everything is taken literally except a backslash before the terminator
19:04:54 <b_jonas> yep
19:04:56 <b_jonas> ais523: and no
19:05:09 <ais523> `perl-e print q(abc)
19:05:09 <izabera> "you can't escape the terminator" said arnold in terminator 7
19:05:22 <hppavilion[1]> xD
19:05:23 <ais523> `echo test
19:05:29 <HackEgo> test
19:05:29 <HackEgo> abc
19:05:35 <ais523> `perl-e print q(ab\)c)
19:05:39 <HackEgo> ab)c
19:05:39 <b_jonas> ais523: perl string literals always convert crlf to lf if they're read from a file (but not if evalled from a string), it's only *DATA{IO} that allows perfectly raw stuff
19:05:42 <ais523> `perl-e print q(ab\c)
19:05:44 <HackEgo> ab\c
19:05:56 <ais523> b_jonas: that's a conversion on the file itself, though
19:05:58 <ais523> not on the literal
19:06:13 <b_jonas> ais523: and q-strings in perl also treat double-backslash as an escape by the way
19:06:20 <ais523> Perl source files aren't a sequence of bytes they're a sequence of characters
19:06:23 <ais523> `perl-e print q(ab\\c)
19:06:25 <HackEgo> ab\c
19:06:27 <ais523> ugh
19:06:31 <izabera> ew
19:06:32 <ais523> that defeats half the point :-)
19:06:45 <b_jonas> note that there's no escapes inside <<'foo' heredocs,
19:06:49 <b_jonas> but crlf is still converted
19:07:19 <ais523> b_jonas: no, the heredoc doesn't convert crlf
19:07:28 <b_jonas> maybe reading the source file does
19:07:30 <ais523> the /source file reader/ converts crlf before it's even parsed (also encoding, etc.)
19:07:30 <b_jonas> but that too is silly
19:07:34 <b_jonas> it shouldn't do that
19:07:44 <b_jonas> it's just silly
19:07:53 <ais523> Perl doesn't use bytes, it uses characters, and this is the right way to do things
19:08:21 <b_jonas> ais523: maybe, but it's inconvenient
19:08:31 <hppavilion[1]> `quote <ais523> "Perl... is the right way to do things"
19:08:32 <HackEgo> No output.
19:08:34 <b_jonas> why couldn't it convert the bytes to characters in the tokenizer EXCEPT in some tokens, like C++ does
19:08:46 <hppavilion[1]> Wait, no, that isn't how it works, is it
19:08:51 <ais523> it's inconvenient to have non-ASCII characters not work properly
19:09:07 <ais523> b_jonas: say the source file's encoded in an ASCII-incompatible encoding
19:09:16 <ais523> like, say, ACME::Bleach
19:09:31 <ais523> someone writes a raw string marker in that encoding
19:09:39 <ais523> should they really get a bunch of whitespace?
19:09:48 <b_jonas> ais523: yes, so if you ask it, the tokenizer should interpret the bytes in a character string literal or identifyier. but this shouldn't be done to the whole file indiscriminately.
19:14:39 <hppavilion[1]> Here's an idea
19:15:08 <hppavilion[1]> Make a series of virtual machines based on various cultures which made profound mathematical discovery
19:16:05 <hppavilion[1]> Basically, if that culture was around today, what would their computing look like?
19:17:04 <b_jonas> Oh, this reminds me. Of C compilers and other compilers to native code and assemblers, which ones have an easy directive to define a constant byte array whose values are taken as the raw bytes read from a file at compile time?
19:17:36 <hppavilion[1]> b_jonas: imho, EVERY compiled language should have compile-time functions
19:17:48 <b_jonas> There's various hacks to achieve something like that in C, but I wonder if some compiler or fancy new language has this built-in.
19:19:20 <hppavilion[1]> b_jonas: Does it count as a language feature technically? Sounds more like a macro
19:20:01 <hppavilion[1]> I suggest a syntax something like ct_readf#(filename), where # is a macro-denoting symbol
19:20:31 <hppavilion[1]> b_jonas: I do think #esoteric should organize and produce a full-scale compiler for a new language that is esoteric, but we don't /tell/ anyone it is
19:21:10 <hppavilion[1]> From what I know about ancient egypt, they like fractions
19:21:13 <b_jonas> The various hacks include: (a) formatting the bytes in decimal or hexadecimal so the C compiler can read it directly, (b) putting an array with a shorter recognizable pattern at the start (like char foo[99999]="mUMGoGXWVo+zcFg9") then finding it in the object file and replacing it, (c)
19:21:19 <hppavilion[1]> So my "Egypt Machine" will include fractions as a builtin
19:22:03 <b_jonas> creating a new section with just that array, either in assembly or with non-portable extensions, then using objcopy (of binutils) to replace the contents of that section.
19:23:08 <b_jonas> hppavilion[1]: people already suggest that certain languages are actually esoteric, or were inteded to be a joke originally.
19:23:24 <hppavilion[1]> b_jonas: Yes, exactly
19:25:22 <b_jonas> (including C, Haskell, all APL-likes, perl, C++)
19:26:52 <ais523> b_jonas: I've seen assemblers which will take raw bytes from an external file
19:26:58 <ais523> normally with some directive like "incbin"
19:27:15 <b_jonas> ais523: really? hmm, let me check the docs of http://yasm.tortall.net/
19:27:21 <b_jonas> and of gas of course
19:27:37 <b_jonas> wow indeed
19:27:55 <b_jonas> the GNU as docs says it has such a directive
19:27:58 <b_jonas> called .incbin
19:27:59 <b_jonas> great
19:28:05 <b_jonas> I didn't know this
19:28:08 <b_jonas> thanks
19:28:45 <b_jonas> yasm too: http://www.tortall.net/projects/yasm/manual/html/nasm-pseudop.html#nasm-pseudop-incbin
19:30:49 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
19:31:22 -!- hppavilion[1] has joined.
19:31:31 -!- Reece` has joined.
19:48:10 <b_jonas> I should really reinstally my machine
19:49:01 <b_jonas> the current install is so old and broken
19:49:10 <b_jonas> but I'm lazy to reinstall
19:49:19 <b_jonas> there's so many things I'd have to set up
19:49:39 <int-e> Well, personally I like the patina on old, sticky bits.
19:49:39 <b_jonas> still, I don't much have any choice
19:54:49 <hppavilion[1]> OK, I've got the egypt machine up and running
19:55:02 <b_jonas> int-e: sure, those bits aren't going anywhere
19:55:08 <b_jonas> it will still be bootable
19:55:24 <hppavilion[1]> It has 7 instructions, and (although not minimized properly), it is (intentionally) /not/ turing-complete
19:55:47 <b_jonas> unless, you know, I mess up big time, or there's a hardware failure and I only bother to restore the new install
19:56:50 <hppavilion[1]> The instructions (which are represented as fractions in the code) are clr, inc, dec, glide, land, glidenz, landnz, incden, and decden
19:57:07 <b_jonas> hppavilion[1]: um, how is that 7?
19:57:16 <hppavilion[1]> b_jonas: I added two in between
19:57:30 <hppavilion[1]> There are infinitely many registers in theory, of types "holy" (fractional) and "non-holy" (integers)
19:57:36 <hppavilion[1]> Because I realized fractions were pointless
19:57:47 <b_jonas> `perl -e @a = split /,\s*/ "clr, inc, dec, glide, land, glidenz, landnz, incden, and decden"; warn 0+@a, " instructions"
19:57:50 <b_jonas> (maybe I can't count)
19:57:51 <HackEgo> String found where operator expected at -e line 1, near "/,\s*/ "clr, inc, dec, glide, land, glidenz, landnz, incden, and decden"" \ (Missing operator before "clr, inc, dec, glide, land, glidenz, landnz, incden, and decden"?) \ syntax error at -e line 1, near "/,\s*/ "clr, inc, dec, glide, land, glidenz, landnz, incden, and decden"" \ Execution o
19:58:03 <b_jonas> `perl -e @a = split /,\s*/, "clr, inc, dec, glide, land, glidenz, landnz, incden, and decden"; warn 0+@a, " instructions"
19:58:06 <HackEgo> 9 instructions at -e line 1.
19:58:45 -!- ais523 has quit.
19:58:55 <hppavilion[1]> b_jonas: You write the instructions as a/b fractions, where a is the target register and b is the opcode (0..8)
20:01:59 -!- Phantom_Hoover has joined.
20:04:38 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
20:04:46 -!- tromp_ has joined.
20:04:54 -!- nycs has joined.
20:06:34 -!- `^_^v has quit (Ping timeout: 250 seconds).
20:08:13 -!- hppavilion[1] has joined.
20:09:25 -!- tromp_ has quit (Ping timeout: 260 seconds).
20:11:45 -!- Reece` has quit (Ping timeout: 245 seconds).
20:12:54 -!- Reece` has joined.
20:44:54 -!- deltab_ has joined.
20:45:06 <quintopia> is there a constant time method to compute remainder mod b using only elementary operations?
20:45:48 <b_jonas> quintopia: um, what are the inputs?
20:46:21 <quintopia> x and b
20:46:30 <quintopia> and any constants you need
20:46:48 -!- shikhin has changed nick to driyoyleujiy.
20:46:59 -!- driyoyleujiy has changed nick to shikhin.
20:47:47 -!- sebbu has quit (*.net *.split).
20:47:48 -!- deltab has quit (*.net *.split).
20:47:49 -!- Elronnd has quit (*.net *.split).
20:47:49 -!- fizzie has quit (*.net *.split).
20:48:42 <b_jonas> um, but what are they?
20:49:18 <quintopia> how does it matter?
20:49:41 -!- fizzie has joined.
20:51:49 -!- Elronnd has joined.
20:53:39 <quintopia> you may assume b is an integer greater than 1, and that x is a gaussian integer or half-integer or whatever else you like or need it to be
20:53:59 <quintopia> heck you may as well assume b=8
20:54:31 -!- Reece` has quit (Quit: Alsithyafturttararfunar.).
20:56:22 <b_jonas> quintopia: and what do you count as elementary operations then?
20:58:58 <quintopia> a^b, log_a(b) and complex conjugation and any number of compositions of these in any order
21:07:37 -!- idris-bot has joined.
21:14:41 -!- sebbu has joined.
21:15:52 <b_jonas> is addition allowed?
21:17:23 <hppavilion[1]> Using PLY
21:17:32 <hppavilion[1]> Specifically, ply.lex
21:17:37 <hppavilion[1]> To lex a programming language with keywords
21:18:03 <hppavilion[1]> How do I do keywords such that they don't collide with names?
21:19:01 <hppavilion[1]> So "fnwalrus" -> NAME "fnwalrus", "fn walrus" -> KW "fn", NAME "walrus"
21:25:42 -!- stalem has quit (Ping timeout: 252 seconds).
21:33:40 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
21:40:52 -!- augur has quit (Ping timeout: 248 seconds).
21:43:16 -!- madyach has joined.
21:45:00 -!- augur has joined.
22:02:59 -!- madyach has left ("Leaving").
22:04:50 -!- madyach has joined.
22:06:34 -!- b_jonas has quit (Ping timeout: 256 seconds).
22:07:54 -!- b_jonas has joined.
22:11:00 -!- mauris_ has changed nick to mauris.
22:18:18 -!- shikhin has changed nick to rms.
22:18:25 -!- rms has changed nick to shikhin.
22:18:45 -!- mihow has joined.
22:20:32 -!- oerjan has joined.
22:22:26 -!- jaboja has quit (Ping timeout: 276 seconds).
22:27:19 <fizzie> b_jonas: http://doc.rust-lang.org/std/macro.include_bytes!.html
22:27:51 <fizzie> (There's also std:include_str! which includes the contents of a UTF-8 file as a string.
22:28:13 <fizzie> )
22:29:14 <oerjan> stupid tooth filling fell out :(
22:29:47 <fizzie> (Other than that, I think I've only seen the same feature in assemblers, where it's positively commonplace.)
22:30:37 -!- J_Arcane has joined.
22:34:46 -!- nycs has quit (Quit: This computer has gone to sleep).
22:35:09 -!- jaboja has joined.
22:51:06 -!- mottled has joined.
22:52:57 -!- Snakke has joined.
22:54:46 <Snakke> hi all
22:56:27 -!- Snakke has left.
22:58:16 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
23:03:12 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
23:03:31 -!- mottled has left.
23:06:11 -!- deltab_ has changed nick to dletab.
23:06:19 -!- dletab has changed nick to deltab.
23:13:41 -!- Froo has joined.
23:16:46 -!- Froox has quit (Ping timeout: 250 seconds).
23:19:32 <quintopia> b_jonas: log_k(log_k((k^k^a)^(k^b)))=a+b
23:27:25 <oerjan> `cat bin/perl-e
23:27:30 <HackEgo> ​#!/bin/bash \ perl -e "$@"
23:27:43 <oerjan> funny thing, that command is entirely redundant
23:27:46 -!- erdic has quit (Ping timeout: 240 seconds).
23:28:02 <oerjan> `perl -e print "hi";
23:28:05 <HackEgo> hi
23:28:51 -!- erdic has joined.
23:36:18 -!- tromp_ has joined.
23:37:37 -!- hppavilion[1] has joined.
23:38:03 -!- Froo has quit (Quit: *bubbles away*).
23:38:21 -!- Frooxius has joined.
23:39:25 <hppavilion[1]> Here's an idea for a fun website
23:39:43 <hppavilion[1]> A sort of forum for math (not just a math forum; a bit more than that)
23:39:58 <hppavilion[1]> Which makes all these math jokes inside its basic structure
23:40:52 -!- tromp_ has quit (Ping timeout: 248 seconds).
23:41:20 <hppavilion[1]> And, in the process, drills into your skull /exactly/ how math works
23:42:01 <hppavilion[1]> For example, there are communities (Google+ calls them circles, other places call them groups, etc.)
23:42:14 <hppavilion[1]> If you are not a member of a community
23:42:30 <hppavilion[1]> As in, any given community, not that you are not a member of any communities at all
23:42:54 <hppavilion[1]> If you are not a member of community x, then you are a member of community Cx
23:42:58 <hppavilion[1]> Automaticall
23:43:00 <hppavilion[1]> y
23:45:52 <oerjan> after all this play, i still manage to get new little epiphanies about how tatham's loopy puzzle works
23:47:04 <oerjan> i just realized a deduction i use for triangles with a 2 in them also works in reverse
23:48:22 <oerjan> (if a vertex of the triangle has exactly one non-triangle edge, then that edge is in the loop iff the opposing edge of the triangle is - i just had the => part)
23:48:54 <oerjan> admittedly the => part works if there's more than one edge
23:54:31 <quintopia> loopy is fun
23:54:50 <quintopia> can you answer my question oerjan?
23:55:02 <oerjan> MAYBE
23:55:31 <oerjan> i seem to have been distracted by loopy from my logreading, so you'll have to repeat the question.
23:59:37 <oerjan> or you could just wait, i guess. still loopying...
00:01:26 <quintopia> i think i can answer it myself
00:01:44 <oerjan> darn, so much for keeping up suspense
00:02:06 <oerjan> (now logreading again)
00:04:38 <oerjan> `help
00:04:39 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
00:08:52 <oerjan> `cat bin/halp
00:08:59 <HackEgo> ​#!/bin/sh \ echo No halp 4 u $1
00:09:54 -!- Frooxius has quit (Ping timeout: 252 seconds).
00:10:23 -!- tromp_ has joined.
00:11:31 <oerjan> `ls grph.c
00:11:35 <HackEgo> grph.c
00:11:46 <oerjan> `ls src
00:11:49 <HackEgo> brainfuck.fu \ egobot.tar.xz \ emmental.hs \ factor-linux-x86-64-0.95.tar.gz \ fizziecoin.jpg \ fueue.c \ ploki \ ploki- \ u8tbl.c \ ul.emm
00:11:56 <oerjan> `` mv grph.c src
00:12:00 <HackEgo> No output.
00:12:09 <oerjan> `grph 1 2 3
00:12:10 -!- Frooxius has joined.
00:12:40 <HackEgo> No output.
00:16:52 -!- Frooxius has quit (Ping timeout: 252 seconds).
00:20:39 <oerjan> <hppavilion[1]> From what I know about ancient egypt, they like fractions <-- except iirc they were weird about it, writing all fractions with non-1 numerator as sums of fractions with numerators 1
00:21:01 <hppavilion[1]> oerjan: Well yeah. But that's notation
00:22:52 <oerjan> > 1%2 + 1%6
00:22:54 <lambdabot> 2 % 3
00:24:05 <oerjan> and you couldn't repeat a 1/n fraction, or it would have been too easy...
00:26:12 -!- mauris has quit (Read error: Connection reset by peer).
00:27:27 -!- mauris has joined.
00:29:30 -!- tromp_ has quit (Remote host closed the connection).
00:34:03 -!- Frooxius has joined.
00:36:50 -!- mihow_ has joined.
00:40:14 <hppavilion[1]> oerjan: Obviously
00:40:33 -!- mihow has quit (Ping timeout: 240 seconds).
00:40:36 -!- mihow_ has changed nick to mihow.
00:40:37 <oerjan> apparently they also had 2/3 and 3/4 as special cases.
00:45:26 -!- erdic has quit (Ping timeout: 240 seconds).
00:46:08 -!- erdic has joined.
00:56:37 -!- tromp_ has joined.
01:28:31 <\oren\_> ordered a thing from a ebay located in "china, china" and it was shipped from the netherlands
01:28:49 <izabera> classic chinese scam
01:28:51 <lifthrasiir> wasn't that thing actually a china?
01:29:33 <\oren\_> but it came preloaded wth a lot of games... in chinese.
01:29:42 <\oren\_> WTF
01:29:52 <lifthrasiir> okay, it is clear that it's a ransomware
01:30:43 <oerjan> your data has been shanghaied
01:32:29 -!- zzo38 has joined.
01:33:15 -!- Treio has quit (Ping timeout: 240 seconds).
01:33:22 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:33:39 <\oren\_> it is... i dunno how to describe it. it's called a "PMP" and has a chassis resembling a psp
01:33:52 -!- jaboja has quit (Remote host closed the connection).
01:34:02 <\oren\_> but has a touch screen and blinky lights all over
01:34:35 <zzo38> I think it would to be more useful for the callback argument of asynchronous functions in Node.js to be curried out from the rest of the arguments and also to use a common format (such as (error,result)); it can therefore to allow you to deal with asynchronous actions as objects
01:45:35 -!- madyach has quit (Ping timeout: 240 seconds).
01:51:48 <hppavilion[1]> zzo38: You should make your own substitute for node.js that employs a bunch of better ideas for it
01:51:56 <hppavilion[1]> e.g. you wouldn't use JavaScript
01:52:35 <zzo38> hppavilion[1]: Well, I think JavaScript is OK. Also, Node.js does not have to be modified in order to implement curried callbacks
01:52:52 <hppavilion[1]> zzo38: Yeah, but it isn't builtin
01:53:17 <hppavilion[1]> zzo38: You should implement an entirely different language and make your own Node.js substitute in it
01:53:25 <hppavilion[1]> e.g. use haskell function calls
01:53:32 <hppavilion[1]> (xD)
01:53:38 <hppavilion[1]> (ain't nobody got time for dat)
01:56:31 -!- Snakke has joined.
01:56:55 <Snakke> Hi all
01:57:26 <izabera> `welcome Snakke
01:57:30 <HackEgo> Snakke: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
01:57:45 <Snakke> why is so quiet this chatroom??
01:57:57 <Snakke> i see much people
01:58:07 <Snakke> but anybody talking
01:58:08 <Snakke> :S
01:59:44 <oerjan> it's very variable
02:00:12 <Snakke> someone here know something about the vidence?
02:01:37 <oerjan> i have no idea what "vidence" means
02:01:51 <Snakke> this is a esoteric channel :O
02:01:58 <izabera> Edward Vidence, P.I.
02:01:58 <Snakke> why are u here?
02:02:01 <izabera> he's a detective
02:02:21 <oerjan> Snakke: it's about esoteric programming languages
02:02:31 <Snakke> oh...
02:02:40 <Snakke> dsorry... ^^"
02:02:42 <oerjan> _maybe_ our topic line is a teeny bit deceptive today
02:02:58 <oerjan> Snakke: try #esoteric on EFnet
02:03:15 <Snakke> what is the adress for EFnet??
02:03:22 <Snakke> irc.EFnet....?
02:03:32 <izabera> www.ef.net
02:03:45 <izabera> oh wait that exists
02:04:24 <oerjan> irc.efnet.net exists
02:04:29 <Snakke> thanks
02:04:57 <Snakke> bye and sorry
02:05:01 <Snakke> :)
02:05:03 <oerjan> no problem
02:05:08 -!- Snakke has left.
02:05:41 <lifthrasiir> The international hub for con strategies and misleading topics
02:06:37 -!- oerjan has set topic: The international hub for con strategies and misleading topics | Effi's finest fluffy waffles | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://esolangs.org/ | 100% of cpus on the wall ♪.
02:06:42 <oerjan> I'LL TAKE THAT
02:06:44 <Taneb> This is us
02:07:46 <Taneb> There is a takeaway place in York that's almost called Effi's, but it does not do waffles
02:07:53 <Taneb> (Efes Pizza)
02:08:33 * lifthrasiir didn't realize this channel does not have +t
02:09:15 <oerjan> not too long ago, it didn't even have +n. unfortunately hagb4rd noticed it.
02:09:56 <oerjan> and once it didn't have +C either, i think.
02:10:07 <Taneb> My university has a lake in the middle of the main campus which is called Scullion Lake, however no-one knows where that name came from
02:10:17 <shachaf> Taneb: new york has york beat hth
02:10:32 <Taneb> shachaf, does it have a university with a lake in the middle?
02:10:41 <shachaf> There are multiple Effy's Cafes, and also an Effy's Kitchen.
02:12:43 <oerjan> alas, i don't think Eff is a common name prefix in norway.
02:12:56 <shachaf> Efes is the Hebrew word for zero.
02:13:19 <Taneb> shachaf, by complete coincidence, zero is how many pizzas I've got from Efes Pizza
02:22:45 -!- bb010g has joined.
02:29:56 <hppavilion[1]> I'm attempting to make my first compiled language using llvm and python
02:30:03 <hppavilion[1]> What features should I shoot for in the long term?
02:30:37 <hppavilion[1]> oerjan: What do +t, +C, and +n do?
02:31:31 <hppavilion[1]> shachaf: But does it have a place called Effi's finest fluffy waffles?
02:32:21 <hppavilion[1]> Oh wait, Taneb already made that joke
02:32:33 <hppavilion[1]> In fact, that's where the conversation about Effy came from
02:33:03 <hppavilion[1]> There is now a cat sitting on my hand
02:40:24 -!- madyach has joined.
02:45:39 <oerjan> hppavilion[1]: +t prohibits others than operators from changing the topic. +C allows color codes. +n prohibits people outside the channel from sending messages to it.
02:46:26 <hppavilion[1]> oerjan: Ah
02:46:46 <oerjan> the freenode website has a list of channel modes somewhere.
02:47:10 <zzo38> The list of the modes is HELP CMODE
02:48:50 <oerjan> i can never remember irssi's command to send raw commands to the server (every time i guess /raw, which is wrong.)
02:53:46 <oerjan> ok i've tab cycled through _every_ command completion irssi suggests, and i still didn't find it.
02:54:15 <izabera> probably /quote
02:54:26 <oerjan> dammit
02:54:40 <hppavilion[1]> izabera: Hizabera
02:54:46 <izabera> hey there
02:54:50 <hppavilion[1]> izabera: I'm trying to make a compiled language
02:54:54 <izabera> ok
02:55:37 <hppavilion[1]> izabera: The first (and pretty much only) feature I've added is compile-time reading of files (and other macros), which b_jonas was discussing earlier
02:55:48 <izabera> let me scroll back
02:56:01 <hppavilion[1]> izabera: Just ctrl+f "compilers"
02:56:06 <hppavilion[1]> Assuming your client supports that
02:56:11 <hppavilion[1]> If it doesn't, your client is shit.
02:56:41 <izabera> my client supports <esc>/compilers
02:56:48 <izabera> vi keys ftw
02:56:58 <hppavilion[1]> Ooooh :)
02:57:29 <oerjan> hppavilion[1]: oh apparently i was confusing +C and +c
02:57:44 <oerjan> +C disallows CTCP, +c disallows colors.
02:57:53 <izabera> b_jonas | Oh, this reminds me. Of C compilers and other compilers to native code and assemblers, which ones have an easy directive to define a constant byte array whose values are taken as the raw bytes read from a file at compile time?
02:58:07 <hppavilion[1]> Close enough to what I was getting at
02:58:18 <izabera> ok, so what
02:58:21 <hppavilion[1]> izabera: Basically, the point is that it's a programming language that is interpreted partially at compile time, then compiled
02:58:34 <hppavilion[1]> It's a feature I've always wished every compiled language I ever used had
02:59:27 <hppavilion[1]> It's a glorified preprocessor.
02:59:30 <hppavilion[1]> That's what it is.
02:59:31 <hppavilion[1]> Happy?
03:00:11 <izabera> elaborate
03:00:58 <hppavilion[1]> izabera: Well, for example, you can do something in the code that looks a lot like a function call, but prefixed with #. This can occur anywhere in the code, and is (other than the hashtag) syntactically identical
03:01:04 <hppavilion[1]> So, for example, you could do this:
03:01:30 <hppavilion[1]> String foo = #readf("bar.txt")
03:01:59 <hppavilion[1]> And it will define foo so that it is equal to whatever the contents of bar.txt was when the program was compiled
03:02:04 <hppavilion[1]> It's useful for CFGs and such
03:02:15 <izabera> what are cfgs?
03:02:20 <hppavilion[1]> izabera: config files
03:02:30 <hppavilion[1]> izabera: cfg is the suffix I usually use
03:02:36 <hppavilion[1]> *file extension
03:03:10 <hppavilion[1]> izabera: Of course, this isn't the /only/ language feature. Another feature is that it isn't completely stupid like C++
03:03:24 <izabera> what's the stupid part?
03:03:31 <hppavilion[1]> izabera: Of C++?
03:03:34 <izabera> yes
03:03:45 <hppavilion[1]> Oh, the fact that it isn't completely stupid- oh wait I was right the first time xD
03:03:58 <hppavilion[1]> izabera: It's horribly bloated and ugly, or so I've heard
03:04:35 <izabera> doesn't really sound like an opinion that comes from experience
03:04:41 <hppavilion[1]> izabera: It isn't, really.
03:04:56 <hppavilion[1]> izabera: That was an attempt to be funny. Clearly I failed.
03:06:30 <izabera> not sure if that #readf thing should be some sort of eval or just a way to pass a string verbatim
03:06:39 <izabera> i mean, in your idea
03:07:35 <hppavilion[1]> izabera: It's basically just for putting really large strings into a program without shipping the program with a separate file, which is confusing for mortals I've heard
03:08:21 <hppavilion[1]> izabera: Thing is, I'm trying to figure out what other stuff to put in the language. Any ideas?
03:09:10 <izabera> in c you can #include a file
03:09:50 <zzo38> You should put macros for sure I think
03:13:42 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
03:13:44 -!- hppavilion[2] has joined.
03:14:03 <hppavilion[2]> izabera: Doesn't #include import the file?
03:14:48 <hppavilion[2]> Not create a string out of it?
03:15:22 <hppavilion[2]> I just called repr on '\\' 10 times
03:15:39 <hppavilion[2]> I'm on hppavilion[2] because I did it with 100 the first time.
03:15:45 <hppavilion[2]> I now see why it didn't work.
03:17:35 <izabera> #include imports the file but you can easily convert any file to a c array
03:18:30 <zzo38> Yes I would also want #incbin supported
03:19:20 <oerjan> > length (iterate show "\\" !! 10)
03:19:21 <lambdabot> 3070
03:19:37 <oerjan> oh wait
03:19:45 <oerjan> that includes quotes, hmph
03:20:07 <oerjan> but does repr?
03:20:11 <oerjan> `python
03:20:30 -!- hppavilion[2] has quit (Ping timeout: 256 seconds).
03:20:45 <HackEgo> Python 2.7.3 (default, Jan 2 2013, 13:56:14) \ [GCC 4.7.2] on linux2 \ Type "help", "copyright", "credits" or "license" for more information. \ >>>
03:20:48 <oerjan> hm that might be trying to read from stdin
03:21:34 -!- hppavilion[1] has joined.
03:21:37 <oerjan> `` python -c 'print repr(repr(repr("\\")))'
03:21:38 <HackEgo> ​'"\'\\\\\\\\\'"'
03:21:47 <hppavilion[1]> Even 20 was too much for my poor laptop to handle
03:21:47 -!- lifthrasiir has quit (Ping timeout: 264 seconds).
03:21:57 <hppavilion[1]> I just rebooted again
03:22:03 <izabera> `` head -c 10 /dev/urandom | od -vAn -tx1 | toybox sed "s/ /', '\\\\x/g;s/',//;s/.*/{ &' }/" # hppavilion[1]
03:22:04 <HackEgo> bash: toybox: command not found
03:22:06 <izabera> fuck
03:22:09 <izabera> `` head -c 10 /dev/urandom | od -vAn -tx1 | sed "s/ /', '\\\\x/g;s/',//;s/.*/{ &' }/" # hppavilion[1]
03:22:10 <oerjan> ah python includes quotes but uses that trick to avoid escaping those exponentially
03:22:11 <HackEgo> ​{ '\x2a', '\x59', '\x92', '\x12', '\x29', '\x69', '\x22', '\xed', '\x7c', '\x08' }
03:22:40 <hppavilion[1]> oerjan: Yes, yes it does
03:22:51 <izabera> char string[] =
03:22:57 <oerjan> actually it's still exponential, just slower
03:22:58 <izabera> #include generated_file
03:23:06 <izabera> ;
03:23:07 <hppavilion[1]> Well yeah
03:23:14 <hppavilion[1]> Probably 1/2 the exponentialiness
03:23:28 -!- mihow has quit (Quit: mihow).
03:23:30 <hppavilion[1]> Or so
03:24:07 <hppavilion[1]> oerjan: What should my compiled language include?
03:24:22 <oerjan> except it increases to 1 once you have \s, probably
03:24:45 <hppavilion[1]> Interesting
03:24:56 <hppavilion[1]> oerjan: What happens if you throw a lambda in there?
03:25:11 <hppavilion[1]> As in 'λ'
03:25:18 <hppavilion[1]> Not as in a lambda experssion
03:25:21 <hppavilion[1]> experssion
03:25:22 <oerjan> `` python -c 'print repr(repr(repr("λ")))'
03:25:23 <HackEgo> ​'"\'\\\\xce\\\\xbb\'"'
03:25:58 <hppavilion[1]> `` python -c 'print repr(repr(repr(repr('\\'))))
03:25:59 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file
03:26:00 <oerjan> not entirely sure that was interpreted as unicode
03:26:12 <hppavilion[1]> `` python -c 'print repr(repr(repr(repr('\\'))))'
03:26:13 <HackEgo> ​ File "<string>", line 1 \ print repr(repr(repr(repr(\)))) \ ^ \ SyntaxError: unexpected character after line continuation character
03:26:21 <hppavilion[1]> `` python -c 'print repr(repr(repr(repr(\'\\\'))))'
03:26:22 <HackEgo> bash: -c: line 0: syntax error near unexpected token `)' \ bash: -c: line 0: `python -c 'print repr(repr(repr(repr(\'\\\'))))''
03:26:27 <hppavilion[1]> Hm...
03:27:16 <hppavilion[1]> oerjan: This is why we should use \s to escape backslashes
03:27:17 <hppavilion[1]> xD
03:27:22 <hppavilion[1]> For the children
03:28:10 <zzo38> In SQL string it is just '' to represent a single ' there is no other escape
03:29:28 <oerjan> hppavilion[1]: changing the innermost quotes from " to ' shouldn't change the result, anyway, it's not like repr can see which quotes a string was made with
03:29:43 <hppavilion[1]> oerjan: Obviously
03:32:04 <hppavilion[1]> So, really, what should I do for my language?
03:32:14 <hppavilion[1]> I want to mix in some Eso with real languages
03:32:34 <hppavilion[1]> And I don't want it to be a monster to implement
03:32:52 <izabera> write a tcl
03:33:04 <hppavilion[1]> izabera: Um. No.
03:33:33 <izabera> why not?
03:36:35 <hppavilion[1]> izabera: Just not a tcl fan
03:36:54 <izabera> why not?
03:38:18 <hppavilion[1]> izabera: Not sure
03:38:26 <hppavilion[1]> izabera: Also, I'm trying to make my own language xD
03:46:17 -!- lifthrasiir has joined.
03:52:48 -!- madyach has quit (Ping timeout: 250 seconds).
03:55:13 <zgrep> `` python -c "print repr(repr(repr(repr('\\\\'))))"
03:55:14 <HackEgo> ​'\'"\\\'\\\\\\\\\\\\\\\\\\\'"\''
04:00:46 <hppavilion[1]> Hm...
04:09:22 <\oren\_> hmm, this thing is ok for playing games but the firmware OS is a little buggy
04:10:27 <\oren\_> well I guess that's expected for something from china, china, the netherlands.
04:20:20 <\oren\_> I'm getting another few chinese game systems over the next few weeks
04:22:28 <\oren\_> wait... what a "Lion Battery"?
04:28:25 <izabera> some new duracell
04:28:46 <pikhq_> Unless that's "lithium ion"
04:29:04 <\oren\_> probably. but it just says on the box
04:29:25 <\oren\_> - built-in Lion battery
04:29:36 <pikhq_> LOL.
04:30:16 <pikhq_> I like to think that means it has a miniaturized lion inside, running on a wheel with a miniature gazelle hanging in front of it.
04:30:25 <\oren\_> heh.
04:30:44 <\oren\_> but it plays most of my roms ok so I'm happy with it
04:32:14 <izabera> or maybe the gazelle is on the wheel, and the lion is just lazily roaring from time to time
04:32:47 <hppavilion[1]> I must ask again
04:32:58 <hppavilion[1]> Actually, I mustn't
04:38:14 <\oren\_> the only unanswered question is why this was in ratterdam
04:38:22 <\oren\_> *rotterdam
04:45:01 <izabera> i'm writing a brainfuck interpreter in sed and i just implemented [ and ] and i feel so proud of myself
04:45:45 <pikhq_> izabera: Nice.
04:48:41 <izabera> code is in kept the pattern space, followed by !, followed by the output. 8-bit cells are in the hold space, separated by _, unary values, followed by !, followed by input
04:50:07 <izabera> each [ is marked with a unary counter, and the same counter is applied to its matching ]
04:51:08 <izabera> `` sed 's/^\([^!]*\)(\(X*\)\([^!]*\)!)\2/\1!(\2\3)\2/' <<< '(X)X(XXXX(XXX(XX)XX!)XXX)XXXX' # this is the code that does ]
04:51:10 <HackEgo> ​(X)X(XXXX!(XXX(XX)XX)XXX)XXXX
04:51:44 -!- mauris has quit (Ping timeout: 256 seconds).
04:51:47 <izabera> ! is the current position in the code
04:53:26 * izabera just wanted to share because it feels pretty esoteric
04:54:01 <oerjan> the esoteric is strong in you
04:55:09 * oerjan should look up quotes _before_ mangling them.
04:56:40 <shachaf> oerjan: why would you do that, if you're going to mangle them anyway?
05:02:15 <izabera> so uhm, can a language be tc with only one unbounded cell and possibly a few bounded ones?
05:03:06 <Elronnd> "unbounded" meaning any value whatsoever?
05:03:11 <izabera> yes
05:03:23 <Elronnd> and "bounded" meaning that it can only go up to 256?
05:03:39 <oerjan> shachaf: for precision mangling, of course!
05:03:40 <izabera> no, but there's an upper bound th the values
05:03:47 <izabera> s/th/to/
05:04:01 <oerjan> izabera: one cell is enough, see fractran
05:04:08 <izabera> ah that thing
05:04:29 <Elronnd> izabera: depend on how many bounded ones, I guess
05:04:58 <Elronnd> if you have unlimited bounded ones then I would say yes
05:05:32 <oerjan> any finite number of bounded ones can be merged into one finite state
05:05:50 <izabera> "a few" means not infinite <.<
05:06:40 <shachaf> oerjan: an infinite number of bounded ones can be merged into one infinite state hth
05:07:20 <oerjan> anyway, the most important thing there is what operations you have available with the unbounded one. if you just have inc/dec/test for zero, then you essentially just have a 1-cell ordinary minsky machine, which is not TC.
05:44:26 -!- puckipedia has quit (Ping timeout: 276 seconds).
05:45:46 -!- puckipedia has joined.
06:07:38 <\oren\_> is there a search algorithm that finds the wanted value even if the array isn't sorted, but is faster when it is?
06:09:57 <\oren\_> i suppose binary sort where you check the other side if the first side returns nothing
06:13:01 <Elronnd> You could just have the algorithm include a function to check if the array is sorted
06:14:26 <hppavilion[1]> My biggest problem with regex is that you can't regex regex
06:14:37 <hppavilion[1]> s/My/Yo dawg, my/
06:15:02 <pikhq_> Well yeah, the regex language is not itself a regular language.
06:15:31 <hppavilion[1]> pikhq_: And that's a problem
06:15:46 <hppavilion[1]> pikhq_: We should substitute Regex for something that can recognize itself
06:16:26 <pikhq_> Uh...
06:16:51 <pikhq_> How's about sticking with regex because it's got the nice property that regex matching can be done in linear time?
06:17:18 <hppavilion[1]> pikhq_: OK, add a new alternative to regex instead
06:17:19 <pikhq_> (well, O(nm) where m is the size of the regex)
06:17:38 <hppavilion[1]> pikhq_: What's that? Planar time?
06:17:49 <pikhq_> I guess.
06:18:35 <pikhq_> It's basically any *given* regex being matched is linear in the length of the string you're matching against, but making the regex larger also makes the time get worse.
06:19:19 <pikhq_> Of course, if you're Perl, Python, Ruby, etc. you just prefer O(n^m) instead.
06:26:26 <izabera> oh my god it's working
06:27:04 <izabera> it just executed +++. correctly
06:27:30 * izabera just finished writing it and it's trying it for the first time
06:28:24 <izabera> ok it's sorta working
06:30:50 <izabera> ok it's just messing up something when printing _ and !
06:30:52 <izabera> the rest works
06:30:58 <izabera> apparently
06:33:10 <izabera> :( not working
06:34:43 <izabera> stupid sed >.>
06:42:35 -!- oerjan has quit (Quit: Nite).
07:13:30 -!- tromp_ has quit (Remote host closed the connection).
07:15:20 -!- XorSwap has joined.
08:05:54 -!- Treio has joined.
08:11:55 <izabera> can now execute .+[.+] correctly
08:13:30 <hppavilion[1]> izabera: In brainfuck?
08:13:44 <hppavilion[1]> What does that... oh right, ASCII table
08:13:55 -!- XorSwap has quit (Ping timeout: 276 seconds).
08:14:28 -!- tromp_ has joined.
08:16:48 <izabera> gimme a simple program with a nested loop
08:18:52 -!- tromp_ has quit (Ping timeout: 250 seconds).
08:18:54 <izabera> :\ doesn't work
08:19:45 <izabera> i had to generate the code to read characters and now this script is huge
08:25:16 <izabera> -.- i didn't move the pointer correctly with [
08:28:59 <izabera> +[.+.[--]] can now execute this correctly \o/
08:38:33 <izabera> wooooo it's working!
08:38:50 <izabera> $ cat hi123
08:38:52 <izabera> ,.++++,.++[->+++<],.++++[-],.++,.+++[-],.+++[-],.+++[-],.,.!hello123
08:38:56 <izabera> $ time LANG=C ./bfsed < hi123
08:38:58 <izabera> hello123
08:39:00 <izabera> real: 0m0.251s, user: 0m0.230s, sys: 0m0.023s
08:39:41 * izabera broke it again
08:52:19 <hppavilion[1]> I would like to see a sort of religious pantheon/collection/story, like The Gods of Pegāna, based on intricate and elaborate mathematical puzzles
09:02:00 <hppavilion[1]> izabera: I'm sorry, are you implementing brainfuck in fucking sed?
09:02:06 <izabera> yes
09:02:14 <hppavilion[1]> I am, as a matter of fact, writing the aforementioned story
09:02:20 <hppavilion[1]> izabera: WHAT THE HELL IS WRONG WITH YOU
09:02:22 <hppavilion[1]> Oh wait...
09:02:30 <hppavilion[1]> This is #esoteric
09:02:34 <hppavilion[1]> Whoops
09:02:40 <izabera> almost done
09:03:05 -!- hppavilion[1] has set topic: The international hub for esoteric con strategies and misleading topics | Effi's finest fluffy waffles | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://esolangs.org/ | 100% of cpus on the wall ♪.
09:03:49 <hppavilion[1]> For example, conning people by exploiting the Dunning-Kruger-Bernoulli effect
09:05:37 <hppavilion[1]> cat ./bfsed
09:05:47 <izabera> not yet cattable
09:05:49 <hppavilion[1]> ` cat ./bfsed
09:05:50 <hppavilion[1]> Oh
09:05:58 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
09:06:10 <izabera> don't want to show my stupid code when it's still too stupid
09:06:19 <hppavilion[1]> izabera: Shooooooooow iiiiiiiiiiit
09:06:31 <hppavilion[1]> izabera: So I'm now writing a book. Again. Maybe I'll finish one someday.
09:06:40 <izabera> show your book
09:06:55 <hppavilion[1]> izabera: It hasn't been started yet; I'm just spitting out ideas
09:07:01 <izabera> not even the cover?
09:07:06 <izabera> cover is important
09:07:14 <hppavilion[1]> izabera: It's a LaTeX title page
09:07:21 <hppavilion[1]> Currently, my only idea for vaguely original content is that the beginning and end of time are one
09:07:38 <hppavilion[1]> (Which is reminiscent of having only one infinity, because the number line is a circle of infinite radius)
09:07:58 <hppavilion[1]> The exact phraseology is "The Beginning happened as The End happened, opposite of Now on the Great Circle of Time", though that may change
09:08:52 <izabera> brilliant writing
09:09:53 <hppavilion[1]> izabera: Yeah, sure
09:09:59 <hppavilion[1]> izabera: xD
09:10:31 <hppavilion[1]> izabera: It's meant to read like a bible or something
09:11:05 <izabera> sounds like a book i won't read
09:11:11 <hppavilion[1]> The backstory is that it was found in the charred remains of Andrew Notta's house after his disappearance, and that it was annotated to explain the mathematical basis for the bullshit that came up
09:11:21 <hppavilion[1]> izabera: Good. It's probably going to be awful.
09:12:40 <izabera> like the bible or something
09:12:44 <hppavilion[1]> izabera: Yeah xD
09:13:29 <hppavilion[1]> I just realized. Doesn't the infinite monkey/typewriter hypothesis suggest that the infinite monkey/typewriter construction would pretty much /immediately/ produce the complete works of shakespear?
09:13:39 <hppavilion[1]> izabera: I take it you haven't read the Gods of Pegana?
09:14:36 <izabera> not yet, no
09:15:48 <hppavilion[1]> izabera: It's inspired by that. If you like that, you won't like my ebook, because you'd have to be crazy to like my writing.
09:16:01 <hppavilion[1]> Unless you are crazy, which given what you were doing 5 minutes ago...
09:18:20 <izabera> still doing it
09:19:17 <hppavilion[1]> Oh right
09:19:53 <hppavilion[1]> izabera: Under treating a number line as a circle of infinite radius, where the point at 180 degrees from 0 is infinity AND negative infinty, what are the points at 90 and -90 degrees from 0?
09:22:09 <izabera> is that a serious question or what
09:23:12 <izabera> https://en.wikipedia.org/wiki/Projective_line you may want to read this
09:28:02 -!- J_Arcane has quit (Ping timeout: 276 seconds).
09:46:58 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
09:49:21 -!- AnotherTest has joined.
10:14:13 -!- tromp_ has joined.
10:18:28 -!- tromp_ has quit (Ping timeout: 250 seconds).
10:26:37 <izabera> i finished it
10:29:40 <izabera> https://arin.ga/ePd37j/raw it's here
10:30:24 <izabera> can run sierpinski.b so i believe it's correct
10:31:47 <izabera> only tested in gnu sed, and it requires LANG=C to be run
10:33:07 <izabera> could probably compress it a bit
10:37:16 <HackEgo> [wiki] [[List of ideas]] https://esolangs.org/w/index.php?diff=46358&oldid=45789 * * (+56) /* Partially Silly Ideas */ four loop
10:41:17 <izabera> here: https://arin.ga/cV4ZvA/raw it required gnu sed anyway for \x00
10:47:34 <izabera> :((( still buggy
11:07:29 <izabera> ok it was easy to fix
11:08:44 <izabera> https://github.com/izabera/bfsed put the working version on github
11:11:35 -!- b_jonas has quit (Ping timeout: 264 seconds).
11:12:13 -!- heroux has quit (Ping timeout: 264 seconds).
11:12:13 -!- shachaf has quit (Ping timeout: 264 seconds).
11:12:13 -!- jix_ has quit (Ping timeout: 264 seconds).
11:12:13 -!- asie has quit (Ping timeout: 264 seconds).
11:12:47 -!- vodkode has quit (Ping timeout: 264 seconds).
11:13:14 -!- b_jonas has joined.
11:13:35 -!- heroux has joined.
11:13:38 -!- shachaf has joined.
11:13:48 -!- jix has joined.
11:17:25 -!- asie has joined.
11:28:11 -!- vodkode has joined.
11:35:02 -!- jaboja has joined.
11:35:19 <b_jonas> I wonder if I should try this rust language thing. Its base goals seem appealing to me, the reason I didn't really look at it is simply because I think C++ already gives those goals to me.
12:33:02 -!- profile|2 has joined.
12:46:57 <fizzie> Including binary from files was that enticing, eh?
12:52:19 <b_jonas> fizzie: no
13:23:44 -!- mauris has joined.
13:30:49 -!- tromp_ has joined.
13:42:05 -!- tromp_ has quit (Remote host closed the connection).
14:02:41 -!- tromp_ has joined.
14:53:25 -!- atslash has joined.
14:57:09 -!- ais523 has joined.
15:00:08 -!- jaboja has quit (Ping timeout: 250 seconds).
15:02:48 -!- jaboja has joined.
15:13:40 -!- heroux has quit (Ping timeout: 248 seconds).
15:15:15 -!- madyach has joined.
15:42:34 -!- J_Arcane has joined.
15:44:50 -!- mauris has quit (Read error: Connection reset by peer).
15:45:18 -!- mauris has joined.
15:52:34 -!- XorSwap has joined.
16:00:14 -!- gde33 has joined.
16:03:30 -!- b_jonas_ has joined.
16:04:11 -!- tromp__ has joined.
16:04:16 -!- tromp_ has quit (Ping timeout: 250 seconds).
16:04:32 -!- J_Arcane has quit (Ping timeout: 276 seconds).
16:05:52 -!- mysanthrop has joined.
16:14:30 -!- b_jonas has quit (*.net *.split).
16:14:31 -!- idris-bot has quit (*.net *.split).
16:14:31 -!- myname has quit (*.net *.split).
16:14:31 -!- gde33|2 has quit (*.net *.split).
16:14:56 -!- madyach has quit (Ping timeout: 240 seconds).
16:14:58 -!- puck1pedia has joined.
16:17:32 -!- puckipedia has quit (Ping timeout: 272 seconds).
16:17:32 -!- puck1pedia has changed nick to puckipedia.
16:19:52 -!- XorSwap has quit (Quit: Leaving).
16:23:07 -!- LexiciScriptor has joined.
16:33:46 -!- Lord_of_Life has quit (Excess Flood).
16:36:36 -!- Lord_of_Life has joined.
16:47:57 -!- tromp_ has joined.
16:49:15 -!- tromp__ has quit (Ping timeout: 245 seconds).
16:54:32 -!- mysanthrop has changed nick to myname.
16:58:43 -!- spiette has quit (Quit: :qa!).
17:02:09 -!- tromp_ has quit (Remote host closed the connection).
17:15:42 -!- tromp_ has joined.
17:31:27 -!- hppavilion[1] has joined.
17:54:11 -!- idris-bot has joined.
17:55:41 -!- profile|2 has quit.
17:58:15 -!- Treio has quit (Ping timeout: 240 seconds).
18:02:14 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
18:03:35 -!- mauris_ has joined.
18:05:37 <HackEgo> [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46359&oldid=46272 * FricativeMelon * (+16)
18:06:26 -!- mauris has quit (Ping timeout: 252 seconds).
18:15:09 <zzo38> Now I made up a JavaScript package for dealing with "curried callbacks" functions, including converting the other Node.js functions into curried callbacks format and also a wrapper for readable streams that uses curried callbacks. In addition it also includes functions for "inline synchronization" too
18:16:04 -!- hppavilion[1] has joined.
18:16:20 -!- mauris_ has quit (Ping timeout: 252 seconds).
18:18:49 -!- mauris has joined.
18:19:36 <zzo38> If the package is imported as "S", then for example "yield S.delay(1000);" will wait for one second before the generator continues, but "w=yield S.async(S.delay(1000));" will start a one second timer but allow the program to continue; once "yield w;" is called then it will wait for the timer to expire if it has not yet already expired (it continues immediately if it already expired).
18:19:56 -!- jaboja has quit (Ping timeout: 240 seconds).
18:24:31 -!- mauris_ has joined.
18:24:43 <zzo38> I also included functions for converting between curried callbacks and promises
18:25:04 -!- hppavilion[2] has joined.
18:26:14 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
18:27:44 -!- mauris has quit (Ping timeout: 256 seconds).
18:28:01 <zzo38> Do you like this?
18:31:28 -!- mauris has joined.
18:34:02 -!- mauris_ has quit (Ping timeout: 276 seconds).
18:35:59 -!- hppavilion[2] has quit (Ping timeout: 276 seconds).
18:49:54 -!- jaboja has joined.
18:54:04 -!- b_jonas_ has changed nick to b_jonas.
19:26:51 -!- J_Arcane has joined.
19:43:50 -!- jaboja has quit (Ping timeout: 245 seconds).
19:48:45 -!- Phantom_Hoover has joined.
19:51:28 -!- hppavilion[1] has joined.
19:51:41 <hppavilion[1]> We should make a VM to 1up the Common Language Runtime
19:53:43 <hppavilion[1]> ELK- the Esoteric Language Kit
19:54:16 -!- mihow has joined.
19:56:37 <zzo38> You can try if you want to, even if post partially then other can also to discuss what is so far and suggestion
19:58:03 <hppavilion[1]> zzo38: Where can I find docs on the CLR so I can see how Rs work?
19:58:24 <zzo38> I don't know.
20:13:00 -!- jaboja has joined.
20:25:35 <HackEgo> [wiki] [[AnnieFlow]] https://esolangs.org/w/index.php?diff=46360&oldid=46357 * FricativeMelon * (+18)
20:25:44 -!- Reece` has joined.
20:26:10 <coppro> hppavilion[1]: how do you make it both esoteric and easy to use?
20:27:34 -!- Reece` has quit (Client Quit).
20:28:02 -!- Reece` has joined.
20:28:49 -!- Reece` has quit (Client Quit).
20:29:52 -!- Reece` has joined.
20:30:21 -!- Reece` has quit (Remote host closed the connection).
20:30:37 -!- Reece` has joined.
20:31:06 -!- Reece` has quit (Remote host closed the connection).
20:31:27 -!- Reece` has joined.
20:32:34 -!- Reece` has quit (Client Quit).
20:32:53 -!- Reece has joined.
20:35:32 -!- hppavilion[1] has quit (Ping timeout: 250 seconds).
20:35:35 -!- Reece has quit (Client Quit).
20:56:25 <izabera> wolfram alpha provides related queries
20:58:04 <izabera> my query is nextprime(2^50, -1), and that's why among the related queries there's "my friends on FB"
21:21:09 -!- \oren\ has joined.
21:25:06 <\oren\> what if we wrote C backwards?
21:27:18 <\oren\> {;("!dlrow olleH")ftnirp}()niam tni \ <h.oidts>edulcni#
21:27:38 -!- hppavilion[1] has joined.
21:28:22 <\oren\> or maybe just reverse the syntax but not the tokens
21:28:43 -!- bb010g has quit (Quit: Connection closed for inactivity).
21:29:03 <\oren\> {;("hello, world")printf}()main int \ <stdio.h> include#
21:29:45 <\oren\> yah that would definitely look really weird
21:30:49 <myname> reverse polish c?
21:31:03 -!- mauris_ has joined.
21:33:31 <\oren\> if the order of statements was kept unreversed, maybe that would be even harder
21:34:44 -!- mauris has quit (Ping timeout: 276 seconds).
21:36:00 <\oren\> {;0=i int ;0=[++i]a(z<i)while }(int *a,int z)zeroarray void
21:36:22 <\oren\> {;0=i int ;0=[++i]a(z<i)while }(a *int,z int)zeroarray void
21:36:25 <\oren\> there
21:37:22 <\oren\> everything in the syntax is reversed except the order in which consecutive statements are evaluated
21:37:35 <zgrep> #edulcni >h.oidts< / tni niam)( } ftnirp)"!dlrow olleH"(;{
21:38:18 <\oren\> hmmm
21:38:30 <\oren\> either way
21:46:48 -!- mihow has quit (Quit: mihow).
21:48:01 -!- mihow has joined.
22:10:28 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
22:18:59 -!- Treio has joined.
22:30:51 <HackEgo> [wiki] [[User:Marinus/Brainfuck interpreters]] https://esolangs.org/w/index.php?diff=46361&oldid=42573 * Marinus * (+4808)
22:48:06 -!- \oren\ has quit (Quit: Page closed).
22:52:21 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
23:06:30 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
23:15:30 -!- oerjan has joined.
23:15:34 -!- Rnaught has joined.
23:18:27 -!- Rnaught has quit (Client Quit).
23:32:55 -!- mauris_ has changed nick to mauris.
23:44:18 <oerjan> @tell hppavilion[1] <hppavilion[1]> izabera: Under treating a number line as a circle of infinite radius, where the point at 180 degrees from 0 is infinity AND negative infinty, what are the points at 90 and -90 degrees from 0? <-- pretty obviously they can be anywhere you want, by rescaling; although probably symmetric.
23:44:18 <lambdabot> Consider it noted.
23:46:15 -!- hppavilion[1] has joined.
23:46:21 <oerjan> speak of the
23:46:37 <hppavilion[1]> I think I've just started a project to study assembly as generalized mathematical objects
23:46:44 <hppavilion[1]> @messages-lud
23:46:44 <lambdabot> oerjan said 2m 26s ago: <hppavilion[1]> izabera: Under treating a number line as a circle of infinite radius, where the point at 180 degrees from 0 is infinity AND negative infinty, what are the points at 90 and -90 degrees from 0? <-- pretty obviously they can be anywhere you want, by rescaling; although probably symmetric.
23:47:26 <hppavilion[1]> It stems from one of my trains of thought on my (week)daily walk home
23:47:44 <oerjan> the problem, i guess, is that the transformations that identify lines and circles (mobius transforms iirc), don't preserve angles that way.
23:48:50 -!- lleu has joined.
23:48:56 <oerjan> or centres, i think.
23:49:01 <hppavilion[1]> Take the instructions SET, MOV, and IMOVL (set a fixed register to a constant value, copy the value in one fixed register to another, and copy the value in the register referenced by another register- this one fixed- to a fixed register, respectively)
23:49:37 <hppavilion[1]> (I call it IMOVL because it's left-heavy in my mind. There's also IMOVR (right-heavy) and IMOVB (balanced))
23:49:56 <hppavilion[1]> Now, these instructions are clearly related
23:51:32 <hppavilion[1]> I had the discovered (probably- or even almost certainly- not for the first time) a way to encode an infinite series of these instructions as pairs <a, v>, where a and v are integers a >= 1, v >= 0
23:52:45 <hppavilion[1]> SET = <1, 0>, ISET = <2, 0>, MOV = <1, 1>, IMOVL = <2, 1>, IMOVR = <1, 2>, IMOVB = <2, 2>
23:53:17 <hppavilion[1]> oerjan: So what do you think? What's horribly wrong with my little discovery? xD
23:55:51 <oerjan> for a start, that i don't understand the system.
23:55:52 -!- bb010g has joined.
23:56:03 <hppavilion[1]> oerjan: I figured no one would xD
23:56:15 <hppavilion[1]> I'm trying to formalize it in as mathematical a fashion as possible
23:56:17 <hppavilion[1]> Hm...
23:56:52 <oerjan> oh now i see
23:57:01 <oerjan> i had to reread what your instructions did
23:57:20 <oerjan> so the numbers are just the depth of the reference chain
23:57:22 <hppavilion[1]> oerjan: Ah, Great. I still need to formalize it though xD
23:57:25 <hppavilion[1]> oerjan: Exactly
23:57:57 <hppavilion[1]> oerjan: You also have OMEGAMOV a, v, x, y = <x, y>(a, v)
23:58:24 <oerjan> the <0, 1> equivalent is in intercal i think.
23:58:28 <hppavilion[1]> Things get weird when you remove the range constraints on the values
23:58:43 <ais523> hmm, I've been pinged
23:58:45 * ais523 reads scrolback
23:58:53 <oerjan> was it the intercal
23:59:08 <ais523> yes
23:59:11 <hppavilion[1]> oerjan: Yep. Assigning a value to a variable is <0, 1>.
23:59:19 <ais523> it used to go off surprisingly often in channels other than this one
23:59:31 <ais523> less so nowadays, I think because people recognise me for things other than INTERCAL nowadays
23:59:57 <oerjan> ais523: <0,1> would be assigning a register to a constant, which i think intercal allows? (if not, FORTE does.)
00:00:17 <oerjan> actually FORTE lacks the register part, i guess.
00:00:23 <ais523> oerjan: C-INTERCAL requires a command line option, but lets you assign directly with the option
00:00:34 <ais523> CLC-INTERCAL doesn't require the option but you can't just say DO #1 <- .1
00:00:51 <ais523> you need to sneak the assignment in indirectly, buried inside overloads
00:01:02 <hppavilion[1]> oerjan: Wouldn't it be assigning a... yeah, you got it right
00:01:58 <hppavilion[1]> ais523: Wait, why were you recognized for INTERCAL? (I admit I had to check the wiki to see if you invented it and it somehow never occured to me xD)
00:02:01 <ais523> although it really depends on whether you're assigning the register to the constant, or the value of theregister to the constant
00:02:11 <ais523> hppavilion[1]: I maintain the most popular implementation
00:02:21 <hppavilion[1]> ais523: Ah, makes sense
00:02:33 <ais523> although I didn't invent the language itself, I did invent many features that modern implementations have
00:02:43 <hppavilion[1]> oerjan: Now consider <-1, v>
00:02:47 <ais523> although most come originally from CLC-INTERCAL, which is more experimental
00:03:02 <hppavilion[1]> You need to allow registers to be sets for that to work, IIAC
00:03:24 <ais523> hppavilion[1]: nah, that's like writing *(&(&x)) = y; in C
00:03:49 <hppavilion[1]> ais523: Maybe it's <r, -1> that I was thinking of
00:03:52 <hppavilion[1]> Yeah, that's it
00:03:52 <ais523> so long as some memory location happens to be holding the value of &x, then &(&x) is perhaps not impossible to define
00:03:53 -!- mauris_ has joined.
00:04:11 <oerjan> hppavilion[1]: ooh
00:04:18 -!- mauris has quit (Ping timeout: 252 seconds).
00:04:32 <hppavilion[1]> <r, -1>(x, y) is, if I am correct, assigning the register referenced by the x chain of length r to all registers that reference it directly
00:04:33 <mauris_> imo hppavilion[1] starts a lot of projects and finishes few
00:04:46 <hppavilion[1]> mauris_: Yeah, that's correct
00:04:52 <ais523> mauris_: hppavilion[1] is more of an ideas person
00:05:00 <ais523> I'm hoping that the ideas will become higher quality over time
00:05:06 <hppavilion[1]> mauris_: I know starting a project I'll probably never finish it, but it's fun while it lasts
00:05:36 <oerjan> <-1, v> reminds me of threaded intercal somehow
00:05:50 <oerjan> except that's about control rather than data flow
00:06:26 <hppavilion[1]> Wait, <r, -1> means <r, 1> backwards, and <r, 1> sets the register under the r-chain to the value directly referenced by -1... I think <r, -1> might just be setting the register at the end of the chain to its own address
00:06:56 <hppavilion[1]> No, wait, 0 is an immediate value... yeah, I think that's right. But it probably isn't, knowing me.
00:07:13 -!- mauris has joined.
00:07:37 <hppavilion[1]> ais523: Is that right?
00:07:47 <hppavilion[1]> However, <r, -2> is equivalent to what I mentioned earlier
00:07:47 <oerjan> hppavilion[1]: hm <1, -1> would be setting a register to several potential values. maybe that could be forking like threaded intercal
00:07:59 <hppavilion[1]> oerjan: Yeah, that sounds good
00:08:13 <hppavilion[1]> oerjan: Though I was thinking of treating the register as a set instead
00:08:22 <oerjan> hm
00:08:28 <hppavilion[1]> oerjan: I'm trying to keep this mathematically rigorous, at least a little bit
00:08:29 <ais523> oerjan: it's more like quantum intercal (which isn't like quantum computing, but fits your description quite well)
00:08:50 -!- mauris_ has quit (Ping timeout: 245 seconds).
00:09:14 <hppavilion[1]> Of course, neither one is a good idea in the long run, given that you can't do either sets OR forking like that on most real machines
00:09:27 <ais523> you can, it's just slow
00:09:35 <hppavilion[1]> ais523: Well, yes
00:09:50 <hppavilion[1]> ais523: And it requires elaborate tricks with the memory to do it
00:10:06 <hppavilion[1]> For the value of "elaborate tricks" containing "linked lists" as an element
00:10:21 <hppavilion[1]> oerjan: <r, i> and <i, v>. Consider that for a moment.
00:11:16 <hppavilion[1]> (Of course, you probably need a complex memory space of complex numbers for that, but then it's just trivial)
00:11:23 <oerjan> hppavilion[1]: well if the i's have the same parameter then that _might_ copy a value two times if you're lucky.
00:11:35 <oerjan> oh wait
00:11:38 <oerjan> you meant that i
00:11:39 <hppavilion[1]> oerjan: wut.
00:11:46 <hppavilion[1]> Yes /i/ did
00:12:17 <hppavilion[1]> (Buddha tisk)
00:12:22 <oerjan> no idea what that would mean since multiplication of the depths isn't a well-defined thing even with integers.
00:12:23 -!- mauris_ has joined.
00:12:37 <hppavilion[1]> oerjan: Multiplication of the depths?
00:12:41 <hppavilion[1]> Oh, right
00:12:53 <hppavilion[1]> Of the r- and v-chain lengths
00:13:01 <oerjan> hppavilion[1]: for i to make sense you'd need i*i = -1 to mean something meaningful.
00:13:09 <hppavilion[1]> oerjan: Yeah, I know
00:13:12 -!- Lord_of_Life has quit (Excess Flood).
00:13:28 <hppavilion[1]> oerjan: Really, I just like shoving complex numbers where they shouldn't go
00:13:34 <oerjan> OKAY
00:13:38 -!- mauris__ has joined.
00:14:02 <hppavilion[1]> oerjan: But /maybe/ we can define <r, v> where r and v are real numbers
00:14:13 <oerjan> SKEPTICAL
00:14:21 <oerjan> start with 1/2, i guess.
00:14:23 <hppavilion[1]> oerjan: I agree, but it might be possible
00:14:32 -!- mauris has quit (Ping timeout: 256 seconds).
00:14:33 <hppavilion[1]> oerjan: 1/2 in which place?
00:14:36 <hppavilion[1]> Oh, you mean for each one
00:14:40 <hppavilion[1]> Hm...
00:14:43 <oerjan> anywhere.
00:14:55 <hppavilion[1]> <1, 0> is SET, <1, 1> is MOV, so what's <1, 0.5>?
00:15:06 -!- Lord_of_Life has joined.
00:15:09 <hppavilion[1]> I will now go on a spirit walk to figure it out
00:16:03 <oerjan> maybe if you're very lucky there's some formula that gives the depth n reference and which somehow makes sense for non-integers
00:16:10 <ais523> clearly whatever operation half-dereferences an address, doing it twice fully dereferences the address
00:16:13 <hppavilion[1]> oerjan: Perhaps it's some sort of weighted operation? Where 0 clobbers, 1 follows, etc.?
00:16:19 <oerjan> like the gamma function generalizes factorial
00:16:29 <hppavilion[1]> ais523: Ah, yes
00:16:39 <ais523> I think the problem is that dereference isn't continuous or even monotonic
00:16:48 -!- mauris_ has quit (Ping timeout: 256 seconds).
00:16:55 <ais523> thus you wouldn't expect its iteration to be defined for non-integers
00:17:02 <oerjan> there's also a formula that allows non-integral time integration/differentiation that way
00:17:16 <hppavilion[1]> Yeah, I don't think it works
00:17:20 <oerjan> at least for nice enough functions
00:17:30 -!- mauris has joined.
00:17:32 <hppavilion[1]> Back to the usage of multiplication in chains
00:17:44 <oerjan> (sc?hwart?z functions, or the like)
00:18:14 -!- mauris__ has quit (Ping timeout: 252 seconds).
00:18:28 <oerjan> (basically, fourier transformation changes diffentiation into multiplication by a function)
00:18:50 <ais523> if you do define this operation, we can have Two And A Half Star Programmer :-)
00:18:59 <hppavilion[1]> ais523: xD
00:19:35 <ais523> three star programmer is basically <3,++>
00:19:43 <ais523> i.e. it's a rmw rather than just a copy
00:20:44 <\oren\> speaking of not finishing things, I should work on that text editor I always said I'd make
00:21:09 * oerjan has a hunch that _if_ you found a nice formula that calculates depth-n reference on a set of registers, then non-integer depths might not be in the set
00:21:50 <oerjan> i.e. if you try to repeat reference 1/2 times on something involving registers {0,...,n}, it might well answer register 1/2 or something.
00:21:53 <ais523> well, let's think about it this way
00:22:08 <ais523> dereference is basically evaluating an arbitrary function, because you can put /anything/ in the registers
00:22:37 <ais523> thus, this means that for any function f, we need to be able to find a function g such that for all arguments x, g(g(x)) = f(x)
00:22:39 <oerjan> (inspired by fourier transforms, i think the registers should be arranged as elements on a cyclic group)
00:22:39 <hppavilion[1]> So for <1, 0.5> I basically need something halfway between pythons `regs[x] = y` and `regs[x] = regs[y]`
00:23:00 <hppavilion[1]> ais523: What's the ++ in <3, ++>??
00:23:05 <oerjan> or as e^(2pi*i*k/n)
00:23:17 <ais523> hppavilion[1]: increment; you're reading the value in the register, incrementing it, storing it back
00:23:33 <hppavilion[1]> ais523: Ah?
00:23:35 <hppavilion[1]> OK
00:23:54 <hppavilion[1]> ais523: That's not covered by the <> notation; I haven't gotten to arithmetic yet (I'm doing conditionals next)
00:24:51 <hppavilion[1]> Oh, and if anybody here ever uses this seriously, remember that angled brackets are preferred when possible over <> in the notation xD
00:26:00 <oerjan> demnod brackets
00:26:45 <hppavilion[1]> oerjan: I suppose perhaps we should do square roots instead of normal fractions and work up from there
00:26:54 <hppavilion[1]> For example, what's <sqrt(2), 0>?
00:27:50 <Phantom_Hoover> 0 obviously
00:28:02 <hppavilion[1]> Phantom_Hoover: How?
00:28:13 <hppavilion[1]> Phantom_Hoover: That makes 0 sense
00:28:18 <Phantom_Hoover> i'm facetiously assuming that's an inner product
00:28:19 <hppavilion[1]> (PI)
00:28:20 <hppavilion[1]> Ah
00:28:25 <hppavilion[1]> OK xD
00:28:29 <ais523> hppavilion[1]: that isn't easier, unless you're taking the square root of a square number
00:28:36 <hppavilion[1]> I have no clue what an inner product is, so yeah
00:28:46 <hppavilion[1]> ais523: Unless we make a decision about what it should do
00:28:54 <Phantom_Hoover> it's the generalisation of the dot product
00:29:09 <oerjan> our company needs to reevaluate our inner product strategy
00:29:09 <ais523> also a) I've never seen that notation for inner products before, b) inner product on real/complex numbers is just normal multiplication
00:29:14 <hppavilion[1]> Probably, calling <sqrt(2), 0>(x, y) twice should be equivalent to <2, 0>(x, f(y))
00:29:26 <Phantom_Hoover> ais523, ...you've never seen angle brackets for inner product?
00:29:30 <hppavilion[1]> Wait, but you clobber one of the registries in the process xD
00:29:39 <ais523> no, I'm more used to writing it with a dot
00:29:43 <ais523> like with dot products
00:29:55 <Phantom_Hoover> dot product has different implications though
00:29:57 <hppavilion[1]> Except no you don't
00:29:58 <hppavilion[1]> Hm...
00:30:39 <ais523> angle brackets and comma, to me, are tuple notation
00:30:56 <oerjan> ais523: i think on complex numbers you should conjugate one argument hth
00:31:00 <hppavilion[1]> Well clearly, <1, v>(x, y) twice is just <1, v>(x, y) once, IIRC
00:31:11 <ais523> oerjan: oh right, that rings a bell now you've mentioned it
00:31:42 <Phantom_Hoover> my hunch is that dot products should be positive definite so you can orthonormalise
00:31:50 <ais523> Phantom_Hoover: now I'm having an hppavilion[1]-like idea of "what if, from an inner product space's inner product, you could extract either of the original arguments by reversing it somehow?"
00:32:17 <Phantom_Hoover> but weirdly WP doesn't mention positive-definiteness as a prerequisite for gram-schmidt
00:33:04 * oerjan has never picked up any difference in meaning between dot and inner product
00:33:17 <Phantom_Hoover> ais523, inner products are bilinear, i.e. linear maps from the tensor product to the underlying field, so on any space with dimension greater than 1 they'll destroy data irreversibly
00:33:27 <hppavilion[1]> OK, should repetition of an operation be multiplication or addition of those operations? I'd say multiplication, because <1, v>(x, y) twice is the same as once
00:33:47 <hppavilion[1]> Even if x=y
00:34:00 <hppavilion[1]> Wait...
00:34:03 <hppavilion[1]> No, it isn't
00:34:07 <hppavilion[1]> Is it?
00:34:15 <hppavilion[1]> Hm...
00:34:37 <hppavilion[1]> I think they aren't the same.
00:34:57 <oerjan> although i have seen both dot, ( , ), < , > (i think) and of course the physicists' < | >
00:35:12 <hppavilion[1]> oerjan: OH MY GOD IT'S BRA-KET
00:35:17 <hppavilion[1]> WHY IS IT FOLLOWING ME
00:35:24 <hppavilion[1]> WHAT DOES IT WANT WITH ME
00:36:07 <oerjan> hppavilion[1]: it wants to bra-ek you hth
00:37:36 <oerjan> hppavilion[1]: incidentally, my computer tried to prevent me from sending that < | > line by disconnecting me at the precise moment i pressed return hth
00:38:23 <Phantom_Hoover> bra-ket's some hybrid thing where <v| represents the dual, right?
00:38:23 <oerjan> maybe i should have heeded the warning (an all too common thought)
00:38:39 <oerjan> Phantom_Hoover: yes
00:44:50 <\oren\> nah nah, it's simple: |A> is a column vector, <A| is a row vector
00:45:10 <Phantom_Hoover> a row vector is a dual vector
00:45:24 <Phantom_Hoover> (assuming finite dimensions)
00:46:29 <\oren\> and <A|B> is <A| x |B> = |A> . |B>
00:46:53 <oerjan> and |A><A| is the projection
00:47:20 <oerjan> if A is unital
00:48:58 <\oren\> I interpret it as |A> being A inside an arrow instead of the arrow on top
00:50:40 <Phantom_Hoover> oerjan, that's a neat trick
00:51:32 <Phantom_Hoover> |A> is useless syntactic sugar, more or less
00:51:35 -!- Reece has joined.
00:51:39 <Phantom_Hoover> <B| is partial application
00:58:40 <\oren\> hold on what? what kind of projection?
00:59:35 <Phantom_Hoover> https://en.wikipedia.org/wiki/Projection_(linear_algebra)
00:59:36 <\oren\> i guess <A| will get you the length of the input along |A>
00:59:44 <Phantom_Hoover> yes, exactly
01:00:22 <\oren\> Oh, so it's projection of any dimensional space onto a line
01:02:08 <\oren\> the projection I was thinking of was I-|A><A|
01:02:51 <oerjan> Phantom_Hoover: it's a bit like leibniz integration notation - it's just syntactic sugar but the intuitive rules it implies just work
01:05:12 -!- XorSwap has joined.
01:10:08 <Phantom_Hoover> oerjan, well not entirely, unlike leibniz notation you can easily make it rigorous
01:10:48 <Phantom_Hoover> but when you do so you end up making |A> the exact same thing as A
01:11:19 <oerjan> <sho|king>
01:19:06 -!- jaboja has quit (Ping timeout: 252 seconds).
01:38:42 <hppavilion[1]> From AnnieFlow on the wiki: Any object that is like a stack (queues, sets, etc.) can take the place of any stack in the program
01:41:03 <ais523> presumably those are meant to be variants of the language
01:42:51 <hppavilion[1]> ais523: Yes, what I have a problem is with is "Any object that is like a stack (queues, sets, etc.)"
01:42:53 <hppavilion[1]> "sets"
01:43:01 -!- mihow has quit (Quit: mihow).
01:43:04 <hppavilion[1]> "sets [are like stacks]"
01:43:12 <hppavilion[1]> HOW ARE SETS LIKE STACKS
01:43:18 <hppavilion[1]> INTERROBANG
01:43:29 <ais523> you can insert elements into them and remove elements from them
01:43:32 <ais523> that's like a push and a pop
01:43:41 <ais523> you can think of a set as being an unordered queue that removes duplicates
01:43:57 <ais523> (note that the version with sets is sub-TC as it doesn't have infinite memory, due to the duplicate removal)
01:44:15 <oerjan> bags
01:46:54 <ais523> the version with bags is /probably/ TC? I'm not sure though
01:47:02 <ais523> it's even worse at flow control than fractran
01:48:04 <hppavilion[1]> ais523: But there isn't an operation nateomorphic to pop- no method that extracts an element from it and returns it then changes what the next element removed will be
01:48:28 <ais523> hppavilion[1]: "remove an element at random"
01:48:32 <hppavilion[1]> ais523: Perhaps
01:48:58 <ais523> oerjan: now I'm really interested as to whether BagFlow is TC
01:49:17 <ais523> /especially/ because it manages to be a weird Minsky machine variant and I've made a lot of those recently
01:50:45 <ais523> it's basically TAFM level 1, except that decrements sometimes fail at random
01:50:55 <ais523> err, not level 1
01:50:56 <ais523> level 2
01:51:08 <ais523> TAFM level 2 except that decrements are sometimes critical at random
01:51:50 <ais523> oh, and incrementing is free, you don't need to do stupid control shenanigans
01:51:55 <ais523> that makes things easier
01:52:49 <ais523> actually, let's consider the more general question: is a full-powered Minksy machine where decrements sometimes fail at random TC-probability-1?
01:53:27 <ais523> you can't obviously use the normal modular arithmetic tricks with this because you can't guarantee that the counter is actually zero, unless there's some trick I haven't realised
01:55:05 -!- ^v has joined.
01:56:58 -!- mihow has joined.
01:57:37 <hppavilion[1]> How should my ELK runtime go about doing GUI?
01:57:51 <hppavilion[1]> In a serious ay
01:57:52 <hppavilion[1]> *way
01:59:20 <ais523> hmm, what about the following BF derivative (which can be implemented in BagFlow)?: BF but all loops must be balanced, cells are unbounded both negative and positive, and a loop has a 1/(n+1) chance of terminating (where n is the value of the tested cell)
01:59:43 <ais523> hppavilion[1]: normally a VM is not responsible for GUI itself
01:59:49 <hppavilion[1]> ais523: Ah
02:06:10 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
02:09:16 -!- Treio has quit (Quit: Leaving).
02:12:58 -!- hppavilion[1] has joined.
02:13:08 <hppavilion[1]> ais523: What is responsible then?
02:13:29 <ais523> libraries, normally
02:13:34 <hppavilion[1]> ais523: OK...
02:13:48 <hppavilion[1]> ais523: And how does it work, precisely? For a VM like the CLR?
02:13:50 <ais523> the VM will often have a "run native code" instruction to let the libraries inside the VM call functions in the libraries outside the VM
02:14:01 <ais523> with both parts involved
02:14:10 <hppavilion[1]> ais523: Ah?
02:14:12 <hppavilion[1]> OK
02:14:31 -!- mihow has quit (Quit: mihow).
02:15:01 <hppavilion[1]> ais523: And if I wanted to make the VM do GUI, for the sake of ease and cross platformness and esoterocity?
02:15:10 <hppavilion[1]> (esoterotic?)
02:15:38 <hppavilion[1]> (Relevant: https://xkcd.com/915/)
02:15:41 <ais523> hppavilion[1]: then you'd have a syscall instruction
02:15:47 <hppavilion[1]> ais523: OK...
02:15:50 <ais523> that the code inside the VM could use to get the VM itself to do its GUI stuff
02:16:19 <hppavilion[1]> ais523: To be clear, this is a VM like the CLR for .NET or the JVM. It's a bytecode.
02:16:31 <ais523> yes, I know what a bytecode VM is
02:16:35 <ais523> you mentioned the CLR already
02:17:02 <zzo38> I know some things about some VMs but I don't know CLR/.NET/JVM much. I am familiar with Z-machine, and with "Famicom VM" (which originally was not a VM)
02:17:03 <hppavilion[1]> ais523: I know you know
02:17:30 <hppavilion[1]> ais523: I did? OK.
02:17:53 <ais523> zzo38: is the Famicom VM the instruction set that Famicom emulators run?
02:18:00 <zzo38> Z-machine has one unusual feature where the stack is not part of RAM but general-purpose registers are.
02:18:20 <zzo38> ais523: Yes, although I am talking about an idealization
02:18:23 <ais523> zzo38: that's not that unusual, the PIC microprocessor architecture works like that too
02:18:40 <ais523> actually I think just about the only things that aren't memory-mapped are the stack and the program that's running
02:19:25 <hppavilion[1]> ais523: Pfft. You should totally memory-map the program.
02:19:46 <ais523> hppavilion[1]: in the PIC microprocessor architecture, the program actually has a different byte size from RAM
02:19:52 <ais523> it's 14 bits to the byte
02:20:19 <hppavilion[1]> ais523: That is blasphemy
02:20:22 <zzo38> With Z-machine the program is memory-mapped, although most of it is inaccessible (only the first 64K is accessible for general-purpose access, the rest can store only packed strings and Z-code instructions and is read-only)
02:20:26 <ais523> there is a system call on some of the more powerful models that lets you copy from the program to RAM, though
02:20:46 <ais523> and some of them even go the other way, letting you copy from RAM to program, but that's very slow as it has to reprogram its internal EEPROM to do so
02:20:50 <hppavilion[1]> 14-bits-to-the-byte is an abomination
02:20:52 <zzo38> (Packed strings and Z-code instructions can exist within the first 64K too though, and may even be writable)
02:21:13 <ais523> I'm not quite sure what this feature is for, but Microchip seem to have a philosophy of introducing random features in case they're useful
02:21:34 <ais523> and also documenting what happens in situations most people would expect to be UB, just in case that comes in useful to people some day too
02:23:24 <hppavilion[1]> "
02:23:24 <hppavilion[1]> If 14 bits lie with bytekind, as they lieth with a processor, both of them have committed an abomination: they shall surely be sent to /dev/null; their blood shall be upon them." -- Linusveticus 20:13
02:24:18 <ais523> wow, you're taking this really personally :-(
02:25:12 <zzo38> I have implemented Z-machine in C and in JavaScript, and partially in 6502 assembly code, so far. (Although I now believe I have designed the API for the JavaScript Z-machine badly, since I now have better ideas about how to do it)
02:25:23 <hppavilion[1]> ais523: I do not like 14-bits-to-the-byte
02:25:39 <hppavilion[1]> 16 would be acceptable, but still incur my scorn because 16 /= 8
02:25:54 <ais523> well, the instruction set presumably didn't need any other number of bytes
02:26:50 <hppavilion[1]> ais523: If you don't want to use the full 16, scale it down to 8, or do something else with the design.
02:26:53 <zzo38> I have designed instruction sets where the number of bits in one byte is 16 or 32, and even 7 once, as well as ones with different program/data memory
02:27:00 <hppavilion[1]> Maybe some UTF-8 like bullshit, but on nybbles
02:27:08 <ais523> *any other number of bis
02:27:15 <ais523> hppavilion[1]: now you're just wasting a bunch of memory for no reason
02:27:28 <hppavilion[1]> But don't try to have a byte s.t. len(byte) /in {2**x : x in N}
02:29:05 <ais523> I can't think of a technical reason for that
02:29:18 <ais523> fwiw lots of different byte sizes were tried in the earlier history of computing
02:29:24 <hppavilion[1]> ais523: No, but there's a moral reason
02:29:28 <ais523> settling on octets only happened in the last few decades
02:29:47 <hppavilion[1]> ais523: Uhm, the early history of computing was the 30s and 40s with Turing.
02:29:53 <hppavilion[1]> hth
02:30:04 <ais523> unlike the number of bytes in your larger units, which does often have a reason to be a power of 2, there's no technical reason I can think of for the number of bits in a byte to be a power of 2
02:30:08 <ais523> hppavilion[1]: I said "earlier"
02:30:41 <hppavilion[1]> ais523: It makes programmers more comfortable, and you don't have technical stuff without programmers.
02:30:43 <hppavilion[1]> There.
02:30:49 <ais523> come to think of it, it took a while for electronic computers to outcompete mechanical and (later) for digital computers to outcompete analog
02:31:17 <ais523> digital computers were around early but from what I've managed to make out from old computer books, analog computers were more common for many years
02:31:24 * ais523 wonders if analog computers are used nowadays
02:31:52 <ais523> I'm not all that old, and when I was young, people often used to explicitly say "digital computer" to disambiguate
02:31:55 <ais523> nowadays nobody bothers
02:31:58 <zzo38> What is your opinion of JSZM? My own opinion is that the API could be improved and that it is a bit messy as is. Currently the "run" method is a generator function that yields stuff directly, and the methods defined by the front-end are ordinary functions. I think better would be, the "run" method never yields stuff directly but instead calls the front-end functions by "yield*" and they may then yield stuff.
02:32:20 <hppavilion[1]> ais523: "And the computre dost have a half score and four bits to every pyce of the meal"
02:32:24 <hppavilion[1]> -- An old computer book
02:32:52 <ais523> zzo38: I don't have any opinions about specific z-machine implementations, having not looked into any of them in details
02:32:58 <ais523> *in detail
02:33:44 -!- XorSwap has quit (Ping timeout: 276 seconds).
02:34:38 -!- XorSwap has joined.
02:34:41 -!- XorSwap has quit (Client Quit).
02:35:02 <zzo38> OK, but what about this API design? Do you know JavaScript programming? (This API design isn't really specific to the internals of Z-machine)
02:35:33 <ais523> I don't know that much JavaScript programming
02:35:40 <ais523> I can write programs in it but don't use all its features
02:35:46 -!- ^v has quit (Ping timeout: 245 seconds).
02:38:02 <zzo38> Have you used any ES6 features? JSZM is using many ES6 features. They still didn't add macros and "goto" in ES6 though.
02:40:40 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:41:22 <hppavilion[1]> zzo38: You're kidding about goto, right?
02:41:39 <zzo38> hppavilion[1]: No
02:41:45 <hppavilion[1]> zzo38: ...
02:42:00 <zzo38> (My Z-machine implementation in C is called ZORKMID ("Zork Machine Interpreter and Debugger"), and I have found it to be very useful when debugging other implementations!)
02:42:26 <ais523> are there any z-machine impls in esolangs?
02:42:29 <hppavilion[1]> "If zzo38 lie with gotokind, as they lieth with a FOR loop, both of them have committed an abomination: they shall surely be sent to /dev/null; their blood shall be upon them." -- Linusveticus 20:13
02:42:30 <ais523> also, is the z-machine TC?
02:43:19 <zzo38> ais523: The only unbounded memory it has is the stack, so I don't expect so.
02:43:33 <ais523> probably a PDA then
02:44:07 <hppavilion[1]> You know what I'd LOVE to see?
02:44:26 <zzo38> (And the actual limit of the stack in implementations usually isn't extremely large anyways, although the specification doesn't seem to preclude an unbounded stack.)
02:44:42 <hppavilion[1]> A company manufacture cheap computers reminiscent of old computers (like the PDP) so that we can get the retro experience of how computers worked "back in the day"
02:44:48 <hppavilion[1]> Unfortunately, I now need to eat
02:44:49 <hppavilion[1]> Bai
02:45:28 <zzo38> (ZORKMID also reveals how unoptimized Infocom's story files are. I can think of a large number of ways to optimize their codes, which they did not do.)
02:48:35 <ais523> zzo38: I assume they had no reason to optimize them because it would have taken developer time (therefore costing money) and the game ran fast enough anyway
02:49:59 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
02:50:36 <zzo38> My optimizations would likely to improve both speed and size.
02:51:31 <ais523> how were the games distributed?
02:51:56 <zzo38> Usually on floppy disks together with the interpreter, I think
02:52:39 <ais523> so in terms of size, if the game fits onto the floppy disk, there's no cost savings in a smaller size unless you can save enough size to use a less capacious and thus cheaper design of floppy disk
02:53:11 <zzo38> They could have done that though, some computers floppy disk have less capacity than others
02:53:43 <zzo38> Also since they cannot fit the entire story file in RAM at once, the non-preloaded-area had to be swapped, by reloading parts from the disk when needed.
02:57:18 <zzo38> It is possible that they did not know an algorithm for encoding text with permanent shifts, so they only used temporary shifts; the algorithm is now known although it is slower than O(n)
02:58:41 <zzo38> One example of instruction coding is at address 29424 of Zork I they have the instruction "SET 31 -1" which encodes as five bytes (CD 4F 1F FF FF). It could be shortened to three bytes by encoding it as the BCOM instruction instead (probably also faster because the instruction decoding is simpler in such case).
03:03:43 <zzo38> The copyright notice could save fifteen bytes if permanent shifts were used
03:04:44 <zzo38> The other thing to do for optimization is to decide what strings to place into the "frequent words" table; however I do not know a suitable algorithm for doing this optimally.
03:13:18 <zzo38> Other possible optimizations include "frequent values optimization", "overlapping strings", "shared property tables", "truncated default properties table", "dynamic fwords", "BCOM immediate", "NEXT slot abuse", "gap filling", etc
03:27:24 -!- mauris has quit (Quit: Leaving).
03:34:37 <oerjan> ooh SineBot showed up in the wp page i'm following
03:36:24 <zzo38> Which is what page?
03:36:38 <oerjan> Talk:Planet Nine
03:37:35 <oerjan> i started following when the article was on the main page and thought it should have cooled down by now, but new issues keep coming up.
03:39:01 <oerjan> the latest being raised by one of the original researchers, who is very new to wikipedia, thus the missing signatures
03:39:42 <oerjan> i just remembered ais523 said he didn't think it was active, and i've seen so many missing signatures lately...
03:40:22 <ais523> oerjan: I remember 0.999...
03:40:23 <oerjan> . o O ( <shachaf> how can you see them when they're missing )
03:40:47 <ais523> that article was a mess even before it made the main page, with so many people not believing it
03:40:49 <ais523> and only got worse afterwards
03:40:53 <oerjan> heh
03:41:25 <oerjan> well i thought this one was getting pretty neat until the expert showed up to tell everyone they'd misunderstood stuff
03:41:47 <ais523> err, mess wrt its talkpage
03:41:54 <ais523> the nightmare is mostly kept off the article itself
03:41:57 <oerjan> ah
03:42:00 * ais523 wonders if it's ended up as PC1 yet
03:42:05 <shachaf> oerjan: Am I that pedantic?
03:42:09 <oerjan> what's PC1
03:42:34 <ais523> it's a newish protection level, it means that anyone can edit it but changes by anonymous users have to be reviewed before they go live
03:42:43 <shachaf> i,i it takes one to simulate one
03:43:00 <ais523> there are quite a lot of reviewers, it's a relatively easy user rank to get
03:43:07 <ais523> mostly it's intended to stop libel creeping into articles about people
03:43:24 <oerjan> shachaf: no, you're that cheeky hth
03:43:40 * oerjan doesn't think cheeky is quite the right word but cannot remember what is
03:43:48 <ais523> hmm, looks like it was PC1 from feb 2014 to oct 2015 but the furore died down enough to be able to turn it off
03:45:01 <ais523> the existence of PC1 is no doubt going to confuse people further about how Wikipedia works
03:45:08 <ais523> many people assume all pages work like that
03:45:18 <oerjan> ha
03:46:00 <oerjan> well Planet Nine is currently semi-protected, anyway
03:46:57 <oerjan> no one paid attention to my suggestion it could be dropped when it went off the main page. but then that was about the time someone realized an academic spammer was editing it
03:47:08 <ais523> hmm, the FAQ on Talk:0.999... is hilarious
03:48:17 <oerjan> that FAQ looks rather subtly hidden...
03:48:29 <ais523> also, https://en.wikipedia.org/wiki/Talk:0.999.../Arguments demonstrates the answer to a longstanding philosophical problem at Wikipedia: where do you place metadiscussion about a talk page, given that it doesn't have a talk page of its own?
03:48:38 <ais523> (the answer is apparently on the page itself)
03:50:02 <pikhq_> ais523: I am quite amused by how much of a talk page that needs.
03:50:36 <ais523> pikhq_: I was watching while that article was TFA
03:50:43 -!- hppavilion[1] has joined.
03:50:51 <ais523> it's one of the most contentious TFAs ever, for no obvious reason
03:52:20 <hppavilion[1]> ais523: What is?
03:52:26 <shachaf> That would be easy to predict.
03:52:27 <pikhq_> Something to do with being something that just about anyone with a minor amount of mathematical exposure can *think* they understand well enough to say something stupid, I think.
03:52:43 <pikhq_> hppavilion[1]: 0.999...
03:52:58 <ais523> hppavilion[1]: the page about what happens if you have a 0, a decimal point, and an infinite number of 9s
03:54:11 <shachaf> I don't like that FAQ because it doesn't get to the heart of the issue, which is definitions.
03:54:16 <hppavilion[1]> Currently, the ELK runtime- which is, I think, a RISC- has 0x2D instructions
03:54:24 <shachaf> Two people arguing about things without ever saying what they mean isn't very useful.
03:54:53 <hppavilion[1]> ais523: What does TFA stand for? And the page where?
03:55:01 <pikhq_> Which is of course 1 because $$\sum_{\x=1}^{\infty} 9 \over {10 ^ x} = 1$$. But, y'know. Math.
03:55:07 <pikhq_> hppavilion[1]: Today's Featured Article, Wikipedia
03:55:25 <ais523> hppavilion[1]: Today's Featured Article, and https://en.wikipedia.org/wiki/Talk:0.999...
03:55:31 <shachaf> I think if you asked the typical person who disagrees that 1 = 0.999... about the limit of 0.9, 0.99, 0.999, ..., they'll grant that that's 1.
03:55:46 <shachaf> They just don't like defining 0.999... as that limit.
03:55:55 <ais523> the typical person who disagrees doesn't know what a limit is, I suspect
03:56:01 <shachaf> Which is fine, it's a matter of intuition or taste or something, not something you can really argue about.
03:56:01 <pikhq_> shachaf: The typical person who disagrees that 1 = 0.999... doesn't grok limits.
03:56:20 <shachaf> Well, they'll agree that that sequence approaches 1, or whatever.
03:57:06 <pikhq_> It's also a pretty basic result of what the notation means. It *is* $$\sum_{\x=1}^{\infty} 9 \over {10 ^ x}$$.
03:57:15 <shachaf> Notation means whatever you want it to.
03:57:37 <pikhq_> Yeah well https://xkcd.com/169/
03:58:11 <shachaf> You can say one meaning makes for a more elegant system than another, and that's a reasonable argument, but it's silly to argue that one notation is more right than another.
03:58:29 <shachaf> pikhq_: What? That's not the same thing at all.
03:58:59 <pikhq_> My argument for why this is what the notation means is because *that's the consensus for what it fucking means*.
03:59:03 <hppavilion[1]> It depends on if you're a) Using the surreals and 2) defining 0.99999 as 1-ε, which is a stupid thing to do
03:59:28 <shachaf> OK, that's fine.
03:59:31 <hppavilion[1]> Because how do your write e.g. 1-2ε
03:59:46 <pikhq_> You can say "+" is multiplication, but if you just randomly say "1+9 = 9" people are going to think you're talking nonsense.
04:00:00 <hppavilion[1]> Obviously, the answer is 0.999...8, but that's stupid because you can't generalize it to all surreal numbers
04:00:01 <ais523> what's nextafter(-1.) in an implementation where floats are infinitely accurate?
04:00:11 <shachaf> Right, but if I say 1+9 = 9, and you say 1+9=10, the way to resolve that disagreement is to figure out what we mean.
04:00:34 <shachaf> It's not to say that I "don't grok addition".
04:00:46 <pikhq_> Unfortunately, the people who say 0.999... != 1 don't know what they think 0.999... means.
04:01:18 <hppavilion[1]> pikhq_: Unless they know about the Surreal Numbers
04:01:26 <shachaf> All the notations that you're used to, and axioms that you're used to, have been invented and agreed on because some people found them useful or aesthetically pleasing.
04:01:46 <shachaf> Maybe someone doesn't like some consequence of the axiom of choice, so they decide not to use that axiom.
04:01:58 <shachaf> It makes their system nonstandard, but it doesn't make them wrong.
04:02:27 <hppavilion[1]> shachaf: DAMN YOU, BANACH-TARSKI
04:02:28 <ais523> the axiom of choice really brings home to me just how much we don't know about infinity
04:02:44 <zzo38> Axiom of choice is use in system that uses that axiom, although in general I do not really like axiom of choice
04:02:45 <pikhq_> See, you're talking about things that could make sense for someone using nonstandard mathematics. The issue is, *0.999... != 1 is almost always a statement out of mathematical ignorance, not a consequence of different axiom choice*.
04:02:50 <hppavilion[1]> I would like to see something about a world where mathematics applies to the real world
04:02:57 <ais523> like, with most axioms, you intuitively know they're true, just can't prove them
04:03:01 <hppavilion[1]> And not just the school mathematics; the weird stuff too
04:03:19 <hppavilion[1]> So, for example, companies started using banach-tarski to mass produce objects
04:03:33 <ais523> the parallel postulate is one where that isn't the case, but it's also possible to understand a universe where it isn't true
04:03:50 <ais523> and in fact the fact that it does seem to apply to our universe was only relatively recently established and was far from certan
04:03:52 <ais523> *certain
04:04:04 <hppavilion[1]> Oh no
04:04:09 <ais523> meanwhile, the axiom of choice, both assuming it's false and assuming it's true lead to absurdities
04:04:25 <ais523> (not contradictions, just situations that intuitively make no sense)
04:04:33 <ais523> sadly I last saw this years ago and no longer can remember the examples
04:05:39 <shachaf> pikhq_: I think a typical disagreement with that equality is "0.999... is very close to 1, but not equal to 1". That suggests that people don't believe in the infinite sum but only in a finite prefix of it, which is probably reasonable in some sort of finitism that you could work out, even if they can't articulate it.
04:06:38 <hppavilion[1]> It's easy to show that 0.9... = 1
04:06:43 <shachaf> Anyway I don't want to be in the position of defending 0.999... /= 1, because that's silly. I'm just suggesting to be more charitable by default.
04:06:52 <hppavilion[1]> Open python and type in (1/9)*9
04:06:58 <hppavilion[1]> And it is equal to 1
04:07:00 <hppavilion[1]> I mean, duh
04:07:02 <hppavilion[1]> xD
04:07:17 <pikhq_> ais523: ZF!C means you have a vector space without a basis, apparently.
04:07:23 <ais523> there's got to be language+runtime combinations where that doesn't work
04:07:49 <ais523> pikhq_: that's within my personal tolerance of weirdness, assuming that infinities are involved
04:07:51 <shachaf> `` echo 'print (1/9)*9' | python
04:07:52 <HackEgo> 0
04:08:00 <ais523> although I'm in #esoteric, my tolerance of weirdness is pretty high
04:08:50 <shachaf> ais523: Intuitionistically the axiom of choice doesn't even need to be an axiom, it's just true.
04:08:52 <hppavilion[1]> But does 0.000... = 0?
04:09:08 <ais523> hppavilion[1]: assuming that's not a joke, yes
04:09:20 <shachaf> But the law of excluded middle is not true.
04:09:29 <hppavilion[1]> shachaf: However, pierce's law is
04:09:32 <hppavilion[1]> Problem, formal logic?
04:09:34 <ais523> most people who think that 1-0.999... is nonzero think that it's equal to 0.000...1
04:09:38 <ais523> whatever that means
04:09:52 <hppavilion[1]> ais523: ε, probably
04:09:54 <shachaf> I've never heard that.
04:10:06 <ais523> shachaf: hmm, how does including the middle let you prove the axiom of choice?
04:10:25 <shachaf> It doesn't.
04:10:56 <ais523> I thought as much
04:11:03 <shachaf> It's just that "exists" and "or" mean something stronger in that logic.
04:11:03 <ais523> presumably some other axiom is added to compensate?
04:11:09 <ais523> ah right
04:11:31 <ais523> fwiw, the main result of intuitionistic logic that I know of is f(¬¬x)=¬¬f(x)
04:11:44 <ais523> also I have a physical ¬ key on my keyboard but use it so rarely I had to think for a while to figure out where it was
04:11:57 <shachaf> I'm actually not quite sure why it works. No axiom is added to compensate.
04:12:00 <ais523> it's only on the UK keyboard layout so that we can use a UK keyboard to type both ASCII and EBCDIC (¬ is in EBCDIC)
04:12:35 <shachaf> The UK layout has AltGr, right?
04:12:36 <hppavilion[1]> ais523: WTH is ¬ EBCDIC!?
04:12:41 <hppavilion[1]> *in
04:12:48 <shachaf> I type ¬ with AltGr-\
04:12:55 <ais523> shachaf: yes, we have an altgr
04:13:00 <ais523> it's not used for much by default
04:13:07 <ais523> only the second | and €
04:13:09 <hppavilion[1]> I've been considering engineering a Python program that lets me type weird characters
04:13:19 <shachaf> Hmm, does EBCDIC also have ¦?
04:13:24 <ais523> and I have no idea why we have two | keys (they produce different characters on many OSes but not on Linux so I can't demonstrate)
04:13:41 <shachaf> ¦ and |?
04:13:50 <shachaf> Broken and solid vertical bar.
04:13:54 <ais523> hppavilion[1]: EBCDIC just makes different choices as to which characters are important than ASCII does
04:14:07 <ais523> shachaf: that's a common set of characters to use for the keys, but not the only one I've seen
04:14:14 <hppavilion[1]> ais523: It doesn't seem like EBCDIC would even have room for other characters
04:14:22 <hppavilion[1]> It's 6 bit IIRC, and 2**6 = 64
04:14:27 <ais523> hppavilion[1]: note that the backslash was originally invented so that you could type \/ and /\, so ¬ works fine
04:14:29 <ais523> also EBCDIC is 8 bit
04:14:34 <ais523> with many of them unused
04:14:39 <hppavilion[1]> Ah
04:14:43 <hppavilion[1]> ais523: It is?
04:14:44 <ais523> I thought you liked power-of-2-bit bytes? :-P
04:14:45 <hppavilion[1]> Weird
04:14:58 <hppavilion[1]> ais523: Yes, which is why I didn't like EBCDIC
04:15:09 <hppavilion[1]> Am I thinking of another encoding that does 6 bits?
04:15:56 <ais523> there's Baudot but it's five bits (with shift codes, thus it has 64 characters)
04:16:42 <pikhq_> Unfortunately, ¬ is *not* one of the characters in EBCDIC with an invariant location.
04:16:56 <pikhq_> (because of *course* EBCDIC has code pages)
04:17:16 <ais523> indeed
04:17:27 <pikhq_> ... And ¬ is encoded in different locations in different ones.
04:17:33 <ais523> Wikipedia's example EBCDIC has a ±, it seems, and a soft hyphen
04:17:42 <ais523> but I'm not sure all of them did
04:17:59 <pikhq_> s/did/do/
04:18:09 <ais523> few people use EBCDIC nowadays, I hope at least
04:18:15 <pikhq_> Monsterous though it might be, it's still around.
04:18:31 <ais523> we can use it because we use technologies that lost the standards wars for fun sometimes
04:19:09 <pikhq_> Many banks still have significant use of mainframes in day-to-day operations.
04:20:50 <pikhq_> It's pretty much entirely incompatible with sane notions of operation, but that doesn't stop anyone.
04:21:43 <pikhq_> And (of course) UTF-EBCDIC sees basically zero use. Just non-Unicode legacy charsets.
04:23:08 <pikhq_> Guess what I had "fun" doing at my last job?
04:24:12 <ais523> were you using Perl? It actually has an official EBCDIC version, for some reason
04:24:15 <ais523> don't know how maintained it is
04:24:52 <pikhq_> Nope. We were also not using EBCDIC ourselves, we were talking to a system that *did*.
04:26:04 <ais523> that seems to be less bad than most other combinations
04:26:16 <ais523> figure out what codepage it's using then just re-encode at the communications boundary
04:26:25 <ais523> (potential issue: if it's inconsistent codepage-wise)
04:26:41 <ais523> (other potential issue: if you're mixing text and binary and don't know which is which)
04:26:48 <pikhq_> It was also not just EBCDIC text, but COBOL-defined data structures that *included* EBCDIC text.
04:28:39 <ais523> ah right, that's harder
04:29:51 <pikhq_> Long story short, I've written a COBOL parser.
04:30:59 <zzo38> O, finally you did
04:31:09 <ais523> pikhq_: for the data structure or the language itself?
04:31:15 <ais523> actually COBOL and SQL remind me a lot of each other
04:31:59 <pikhq_> ais523: For the language's description of data structures.
04:33:56 <pikhq_> Which then fed into an arbitrary-data-structure walker.
04:37:22 <hppavilion[1]> Do you ever forget you're browsing Wikipedia instead of esolangs.org and click "Random Page" expecting to see something even remotely interesting?
04:41:36 * oerjan tries and hits https://en.wikipedia.org/wiki/Siege_of_Thebes_(292%E2%80%93291_BC)
04:42:01 <oerjan> better than average, me thinks
04:42:30 <pikhq_> Yep.
04:42:40 <oerjan> second try: https://en.wikipedia.org/wiki/Toronto_Telegram
04:43:57 <oerjan> https://en.wikipedia.org/wiki/The_Mello-Kings
04:44:24 <oerjan> this is unusually good, have they changed random article since last i tried
04:44:51 * Elronnd wonders why people in #esoteric, of all channels, have messed up the meaning of "random"
04:45:22 <oerjan> Elronnd: wat, it's what the wp link says
04:46:00 * Elronnd goes to wikipedia.org
04:46:23 <Elronnd> what does the wp link say
04:46:39 <oerjan> https://en.wikipedia.org/wiki/Gustav_Andreas_Tammann
04:47:02 <pikhq_> "Random article"
04:47:02 <oerjan> Elronnd: "Random article"
04:47:03 <Elronnd> yes, I know
04:47:21 <Elronnd> said wp link doesn't seem to say "improved" or "changed" or anything like that
04:47:40 <Elronnd> I forget, is a space %20 or %2F
04:47:48 <pikhq_> %20
04:47:59 <oerjan> https://en.wikipedia.org/wiki/VF-194_(1955-8)
04:49:09 <oerjan> https://en.wikipedia.org/wiki/Mythopoeic_thought
04:49:17 <ais523> now I'm trying to remember what 2F is
04:49:21 <ais523> !unicode U+002F
04:49:29 <ais523> `unicode U+002F
04:49:30 <HackEgo> ​/
04:49:34 <ais523> ah right
04:49:50 <zzo38> Select random Wikipedia article and then try to make a computer game about that subject
04:49:51 <ais523> oerjan: random article patrol is actually a thing
04:50:00 <ais523> if you want bad articles, you probably want to look in special:Newpages
04:50:09 <oerjan> "patrol"?
04:50:23 <ais523> oerjan: basically, a systematic way to improve the encyclopedia
04:50:31 <ais523> in random article patrol you generate random articles then try to improve the
04:50:43 <ais523> note that some articles have higher probability in random article than others; those are more likely to be improved
04:50:54 <oerjan> ais523: i recall just a few years ago, and i tended to hit stubs or boring lists everywhere
04:51:19 <ais523> (the way it works is that each article is associated with a random real number between 0 and 1, and random article generates another random number in that range and then looks for the next-highest number on an article)
04:51:25 <oerjan> so, they've improved the randomness, check
04:51:40 <pikhq_> ais523: *cough* surely not a real.
04:51:59 <ais523> pikhq_: well it's not stored infinitely accurately
04:52:03 <pikhq_> Well, I mean, it would be a random number that would fit in the reals, but surely they're not generating reals. :)
04:52:03 <ais523> so it's more of a float
04:52:15 <ais523> although it's possible it's fixedpoint instead
04:52:22 <ais523> it's a type that's meant to act like a real, at least
04:52:40 * ais523 wonders about the concept of random computable reals
04:52:53 <ais523> I think you could do it via generating digits lazily
04:53:15 <pikhq_> Guaranteeing uniformity would be trickier though.
04:53:38 <pikhq_> Or would it?
04:53:41 <pikhq_> Hmm.
04:55:51 <deltab> ais523: using linux? chances are high that you can press ctrl+shift+u, then type hex to enter a character by code; e.g. ctrl+shift+U, 2, f, space
04:56:06 <ais523> deltab: for me that works in some programs but not others
04:56:13 <ais523> my IRC client is one where it doesn't
04:56:32 <deltab> yeah, depends on the toolkit used
04:56:36 <ais523> the really weird thing is that sometimes it does show the underlined u, but then cancels out of it as soon as I press a digit
04:57:04 <oerjan> finally a list https://en.wikipedia.org/wiki/McAdam_(surname)
04:57:10 <ais523> where I don't know what the trigger behind the "sometimes" is, but I can often change whether it works or not by pressing alt-tab a few times (ending back up at the same program)
04:57:16 <Elronnd> My IRC client works with ctrl+shift+U
04:58:03 <deltab> ais523: huh, I've not seen that
04:58:27 <ais523> the compose key is similar, it will or won't work for no obvious reason but pressing alt-tab a few times fixes it
04:58:33 <ais523> well, often fixes it
05:00:35 <ais523> at least it actually does work, when it's working
05:00:40 <ais523> rather than showing an underlined u that doesnt do anything
05:11:15 <zzo38> IRC client I am using cannot send non-ASCII character at all, although you can receive messages containing non-ASCII characters
05:11:42 <hppavilion[1]> Elronnd: I love crl+shift+U :)
05:11:56 <zzo38> Also the keyboard is read by xterm
05:12:32 <deltab> about the two vertical bars: it seems that in the early days of ASCII (1967), some people wanted ! to instead display as | in mathematical contexts, while others wanted a separate character code for |, and the compromise was that a broken bar would be added so that it wouldn't be confused with the !-vertical-bar
05:13:17 <deltab> hence the broken bar symbol on keyboards
05:14:43 <deltab> later (1977) the separate vertical bar was made solid, but the broken form remained in keyboard standards
05:15:50 <deltab> and somehow later got itself encoded as its own character in ISO 8859
05:17:50 <deltab> http://www.siao2.com/2006/02/24/538496.aspx#comment-50354
05:18:24 <zzo38> Why isn't "!yield*" allowed in JavaScript? At least Node.js seem to disallow it
05:19:39 <shachaf> http://peetm.com/blog/?p=55
05:29:06 -!- EgoBot has quit (Ping timeout: 240 seconds).
05:29:27 -!- EgoBot has joined.
05:33:02 <deltab> zzo38: if I'm reading the spec right, it's because ! wants a UnaryExpression, and a YieldExpression isn't one
05:34:47 <zzo38> deltab: OK, although I am not sure why it has to be that way. I got it to work by put parentheses but I think it ought to work even without it?
05:38:43 -!- bb010g has quit (Quit: Connection closed for inactivity).
06:04:47 <hppavilion[1]> zzo38: How could `yield` /possibly/ be an acceptable argument to `!`? How?
06:32:52 <hppavilion[1]> Someone should make an esolang with zeroth-class data
06:42:53 <zzo38> Which means what?
06:45:44 <oerjan> you don't use the data, the data uses you hth
07:16:24 -!- tromp_ has quit (Remote host closed the connection).
07:37:08 -!- gniourf has quit (Ping timeout: 272 seconds).
07:39:17 -!- oerjan has quit (Quit: Gravity?).
07:47:23 <hppavilion[1]>