←2016-01 2016-02 2016-03→ ↑2016 ↑all
2016-02-01
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:37:58 <HackEgo> 1076) <Roujo> I AM AN INVADING NECROPOLIS... ALL BOW BEFORE MY... erm... WALLS?... NECROBUILDINGS?
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 <HackEgo> 262) <cpressey> BYE dbc WE'LL BE SURE TO ACCIDENTALLY MENTION YOUR NICK OFTEN
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.
2016-02-02
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 * 82.25.49.46 * (+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 * 82.25.49.46 * (-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 * 94.100.212.168 * (-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...).
2016-02-03
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.
2016-02-04
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 * 76.102.163.231 * (-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...
2016-02-05
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-0.6.5.1.tar.bz2 \ 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 * 70.72.180.71 * (+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.)
2016-02-06
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:34 <oerjan> WHY CAN'T I GET A REALLY SHITTY ARTICLE
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]> @tell oerjan you don't use the data, the data uses you hth <- Pretty sure that's been suggested on the "Ideas" page under Soviet Russia htmh
07:47:23 <lambdabot> Consider it noted.
08:17:07 -!- tromp_ has joined.
08:20:34 <HackEgo> [wiki] [[Befunge]] https://esolangs.org/w/index.php?diff=46362&oldid=46156 * 64.222.227.34 * (+215) /* Befunge-98 and beyond */
08:21:20 -!- tromp_ has quit (Ping timeout: 245 seconds).
08:24:36 -!- hppavilion[1] has quit (Ping timeout: 248 seconds).
08:39:15 -!- bender| has joined.
09:33:20 -!- AnotherTest has joined.
09:37:58 -!- Reece has quit (Read error: Connection reset by peer).
09:41:54 -!- gniourf has joined.
10:10:40 -!- ais523 has quit (Ping timeout: 256 seconds).
10:17:26 -!- asie has quit (Ping timeout: 240 seconds).
10:28:55 -!- bender| has quit (Ping timeout: 260 seconds).
10:47:16 -!- heroux has joined.
11:02:43 -!- J_Arcane has quit (Ping timeout: 276 seconds).
11:10:02 -!- sebbu has quit (Ping timeout: 250 seconds).
11:17:52 -!- tromp_ has joined.
11:20:56 -!- heroux has quit (Ping timeout: 240 seconds).
11:22:08 -!- tromp_ has quit (Ping timeout: 250 seconds).
11:28:24 -!- Phantom_Hoover has joined.
11:28:35 -!- heroux has joined.
11:31:11 <izabera> my bf interpreter has been running a program that prints 99 bottles of beer
11:31:16 <izabera> for 9 hours
11:31:50 <izabera> all the output is printed at the end so i wasn't even sure if it was still working or what
11:32:00 <izabera> fired up gdb, attached that process
11:32:14 <izabera> 56 Bottles of beer on the wall <- it's here
11:32:20 <izabera> after 9 hours
11:34:10 <Phantom_Hoover> was this interpreter written in malbolge?
11:34:34 <izabera> it's written in sed
11:34:45 <Phantom_Hoover> oh god, worse!
11:39:33 <izabera> wish there was a way to run grep on a certain offset in /proc/pid/mem
11:39:50 -!- sebbu has joined.
11:41:07 <izabera> something something dd|grep
11:42:55 <izabera> i can get the start offset of the heap
11:42:59 <izabera> that won't change
11:43:04 <izabera> not sure where to stop though
11:49:08 <fizzie> Read from /proc/pid/maps first?
11:49:59 <fizzie> `` grep '\[heap\]' /proc/self/maps
11:50:00 <HackEgo> 0062b000-0064d000 rwxp 00000000 00:00 0 [heap]
11:50:08 <izabera> yes but that changes too fast
11:50:34 <fizzie> Well, depending on your process.
11:50:52 <izabera> in this particular process it changes too fast
11:51:05 <izabera> (fastly?)
11:51:09 <izabera> (quickly?)
11:51:13 <fizzie> You can send a SIGSTOP to it, do your stuffs, and send a SIGCONT.
11:51:16 <izabera> it changes too often
11:51:19 <izabera> right
11:51:42 <izabera> i was thinking about ptracing it but stopping it seems easier
11:51:55 <izabera> thanks
11:52:02 -!- heroux has quit (Ping timeout: 245 seconds).
11:52:46 <fizzie> If you want easy (instead of DIY), you could always attach gdb and use its "find" command to search for things.
11:52:49 <fizzie> Though I don't think it does regexps.
11:53:21 <izabera> this is a program that's not even compiled with debugging symbols :\
11:53:31 <fizzie> It doesn't have to be, for that.
11:53:34 <izabera> well ok
12:01:01 -!- heroux has joined.
12:06:48 -!- madyach has joined.
12:41:09 -!- zadock has joined.
12:49:14 -!- tromp_ has joined.
12:52:24 -!- zadock has quit (Quit: Leaving).
12:54:29 -!- tromp_ has quit (Ping timeout: 276 seconds).
12:57:14 -!- madyach has quit (Ping timeout: 252 seconds).
13:03:31 -!- anybody_ has joined.
13:04:19 -!- anybody_ has quit (Client Quit).
13:05:15 -!- PinealGlandOptic has joined.
13:14:54 -!- Frooxius has quit (Read error: Connection reset by peer).
13:15:07 -!- J_Arcane has joined.
13:39:58 -!- heroux has quit (Ping timeout: 250 seconds).
13:55:22 -!- heroux has joined.
14:29:01 -!- tromp_ has joined.
14:30:17 -!- Frooxius has joined.
14:32:58 -!- heroux has quit (Ping timeout: 240 seconds).
14:35:44 -!- heroux has joined.
14:43:11 -!- LexiciScriptor has joined.
15:55:16 -!- heroux has quit (Ping timeout: 248 seconds).
15:57:39 -!- heroux has joined.
16:05:24 -!- heroux has quit (Ping timeout: 256 seconds).
16:09:43 -!- atslash has quit (Remote host closed the connection).
16:09:49 -!- heroux has joined.
16:12:53 -!- tromp_ has quit (Remote host closed the connection).
16:22:08 -!- Treio has joined.
16:26:13 -!- tromp_ has joined.
16:29:35 -!- sebbu has quit (Ping timeout: 240 seconds).
16:31:33 -!- boily has joined.
16:31:36 <boily> @metar CYQB
16:31:37 <lambdabot> CYQB 061600Z 23009KT 30SM FEW045 BKN130 M06/M12 A3016 RMK SC2AC5 SLP222
16:34:22 -!- p34k has joined.
16:44:31 -!- Reece` has joined.
17:02:42 -!- boily has quit (Quit: LAMINAR CHICKEN).
17:02:53 <\oren\> @metar CYYZ
17:02:53 <lambdabot> CYYZ 061600Z 28012G17KT 15SM SCT025 BKN035 01/M05 A3020 RMK CU3SC4 SLP235
17:10:47 <fizzie> @metar EGLL
17:10:48 <lambdabot> EGLL 061650Z AUTO 20025G40KT 9999 -RA BKN029 BKN045 12/06 Q0991 TEMPO RA
17:10:54 <fizzie> A bit windy today.
17:29:18 -!- tromp_ has quit (Remote host closed the connection).
17:34:14 -!- variable has joined.
17:34:48 -!- variable has changed nick to trout.
17:35:14 -!- trout has changed nick to function.
17:35:20 -!- function has changed nick to constant.
17:36:46 -!- constant has quit (Remote host closed the connection).
17:37:10 -!- variable has joined.
17:39:27 -!- variable has quit (Remote host closed the connection).
17:43:26 -!- hydraz has quit (Quit: Bai.).
17:43:35 -!- hydraz has joined.
17:43:35 -!- hydraz has quit (Changing host).
17:43:35 -!- hydraz has joined.
17:43:59 -!- heroux has quit (Ping timeout: 264 seconds).
17:45:11 -!- Reece` has quit (Ping timeout: 264 seconds).
17:45:29 -!- lynn has joined.
17:45:38 -!- tromp_ has joined.
17:49:47 -!- Reece` has joined.
17:59:32 <HackEgo> [wiki] [[Talk:Brainfuck]] https://esolangs.org/w/index.php?diff=46364&oldid=46091 * YoYoYonnY * (+0) /* Would BF still be TC with do-while loops? */
18:00:17 -!- sebbu has joined.
18:06:06 -!- heroux has joined.
18:38:49 -!- boily has joined.
19:29:10 -!- FiredBall-0x71 has joined.
19:29:17 <FiredBall-0x71> http://www.pearltrees.com/pvpeliter/laptop-disini-bought-governor/id15409744#item167481741, , xWindow 10 ENTERPRISE , FREE CLASSIFIED OS FROM THE MOST HIGH HAS BEEN RELEASED , CLICK ON THE LINK THAT POP UP AND CLICK DOWNLOAD ... . DON'T FORGET TO JOIN ##Astara ... .
19:29:56 <Elronnd> Can someone kick that guy
19:31:16 <myname> real fast nora
19:31:59 <\oren\> let's just spam them bak
19:32:47 <myname> nice idea
19:32:48 <Elronnd> should I write a bot to PM them constantly?
19:33:58 * FiredBall-0x71 come join ##astara prince
19:34:16 <myname> FiredBall-0x71: how about fuck you
19:34:32 -!- FiredBall-0x71 has left.
19:36:20 -!- b_jonas has quit (Quit: Changing server).
19:37:15 <\oren\> i wonder how much spammers make per hour
19:42:22 <\oren\> http://www.orenwatson.be/fontdemo.htm Best font cool terminal monospace hacker haxxor typeface neoletters matrix neo letters. I couldn't believe how cool this font look on my terminal with irssi nano bash c c++ perl python brainfuck malbolge intercal befunge. it the best font ever
19:42:55 <\oren\> is that a good impersonation?
19:43:26 -!- b_jonas has joined.
19:44:15 <myname> 0x9 out of 0xA 1337h4xx0rz prefer it!
19:46:00 <myname> do you have both ß in there?
19:46:04 <\oren\> yup
19:46:21 <myname> great
19:47:01 -!- heroux has quit (Ping timeout: 245 seconds).
19:47:12 <\oren\> it the best font ever with support english deutsch espanol italiano greek cyrillic katakana hiragana etc math arrows even runic. best font for programming irc dwarf fortress nethack and more.
19:47:27 <Elronnd> nice font
19:47:32 <myname> is should install it, but i'm too lazy
19:47:40 <Elronnd> same
19:50:53 <fizzie> Huh what spam where.
19:50:58 <fizzie> Oh, too late to do anything.
19:51:06 <Elronnd> he was spamming in #vim too
19:51:45 <fizzie> ##c and #perl as well.
19:51:45 <myname> what do you do in a vim channel?
19:51:56 -!- heroux has joined.
19:51:57 <fizzie> Edit files?
19:52:03 <Elronnd> myname: talk aboutu vim?
19:52:10 <myname> weird
19:52:12 <Elronnd> myname: what do you do in a #debian channel
19:52:32 <myname> not being there
19:52:45 <myname> i am almost exclusively in offtopic channels
19:53:12 <Elronnd> `? spam
19:53:24 <HackEgo> Spam is a delicious meat product. See http://www.spamjamhawaii.com/
19:53:33 <\oren\> I would use vim if it had hints at the bottom like nano does
19:53:52 <Elronnd> \oren\: you use nano
19:53:58 <\oren\> yeah
19:53:58 <myname> hints for what?
19:54:22 <Elronnd> myname: run nano and you'll see what \oren\ means
19:54:30 <myname> i know nano
19:54:40 <myname> but what would you hint in vim?
19:54:43 <myname> :wq?
19:54:47 <\oren\> yeah
19:54:47 <myname> sounds silly
19:55:04 <myname> if you know :, you know wq
19:55:34 <\oren\> well yah I know ed, but most people don't
19:55:44 <myname> the reason nano has hints is because it needs those
19:56:05 <\oren\> and I can never remember the commands that aren't : commands
19:56:21 <myname> you should play more nethack
19:56:54 <\oren\> so when I'm dropped into vim by e.g. svn, I have to just go into : and use it like ed.
19:57:45 <myname> playing nethack helped me a lot getting my head around this abbreviation stuff that's going on
19:57:48 -!- heroux has quit (Ping timeout: 250 seconds).
19:59:02 -!- AlexR42 has joined.
20:01:45 -!- madyach has joined.
20:02:14 -!- heroux has joined.
20:07:46 -!- madyach has quit (Ping timeout: 250 seconds).
20:12:30 <b_jonas> why do people keep making thread libraries where if an uncaught exception is raised in a thread, it only terminates that thread rather than aborting the whole process?
20:13:13 <b_jonas> it's just dangerous. leads to errors getting unnoticed, while the user wonders why the program doesn't react.
20:19:36 <myname> just use more erlang
20:43:16 <tswett> So they terminate the thread and then don't notify you that they did?
20:45:53 <b_jonas> tswett: they notify you when you join the thread
20:46:00 <b_jonas> but you can only wait for one thread to join
20:46:12 <b_jonas> so you would need an extra thread for each thread if you wanted to catch it immediately
20:46:28 <b_jonas> and even then it would be a waste, because the FUCKING EXCEPTION CODE CAN JUST CALL abort() INSTEAD!
20:49:45 <b_jonas> And sadly, this isn't really only the responsibility of the thread library. It's more handled by the exception library.
20:50:11 <tswett> Now, with these libraries, suppose you've got two different threads, each of which is going to produce some value. You want to wait until one thread or the other produces the value and get the value from whichever thread it happened to be.
20:50:14 <tswett> Is there a way to do that?
20:50:16 <b_jonas> So it's a whole language design issue that you can't just change easily.
20:50:37 <b_jonas> tswett: sure, you use some higher level structures, like futures or condition variables for that
20:50:53 <b_jonas> tswett: the raw thread thing itself doesn't want to do that, because it's lower level
20:51:09 <b_jonas> but there's lots of high level abstractions you can use, or write one with low level condition variables if you want
20:51:17 <b_jonas> but this is for the case of unexpected errors
20:51:47 -!- heroux has quit (Ping timeout: 264 seconds).
20:52:15 <b_jonas> Reasonable languages like the C++ standard library (threads and exceptions) don't do this.
20:52:29 <tswett> What library are you using, exactly?
20:53:05 <b_jonas> tswett: Ruby does this by default, and currently I'm trying to read up a bit about rust, and apparently its exceptions (panics) do this too.
20:53:08 <b_jonas> It's crazy.
20:53:20 <b_jonas> It just makes no sense.
20:53:36 <b_jonas> Terminating the thread instead of just calling abort() actually requires extra work for the implementation.
20:53:39 <b_jonas> It's just stupid.
20:53:54 <b_jonas> (perl Coro does this by default as well)
20:54:39 <b_jonas> There's always workarounds of course, eg. you can put a try-catch at the top level function of each thread, to catch the exception, and call abort from it, but those don't work if you're not the one starting the thread.
20:56:32 -!- tromp_ has quit (Remote host closed the connection).
21:05:16 -!- heroux has joined.
21:09:22 -!- tromp_ has joined.
21:13:28 <HackEgo> [wiki] [[HALT]] https://esolangs.org/w/index.php?diff=46365&oldid=46355 * 85.179.165.201 * (+2)
21:13:40 -!- heroux has quit (Ping timeout: 248 seconds).
21:18:06 <tswett> So I'm playing with this Gray-Scott thing: https://pmneila.github.io/jsexp/grayscott/
21:18:12 <tswett> A reaction-diffusion system.
21:18:50 <tswett> I'm exploring the feed rate range with the death rate set to 0.061.
21:19:59 <tswett> Specifically, with feed rates less than a certain amount...
21:21:42 <tswett> Feed rates of about 0.03 and below.
21:22:24 <tswett> There's a rather neat behavior here. So, with these feed rates, the landscape fills with solitons.
21:22:40 <tswett> There's a certain stable density range. Interesting stuff happens outside this range.
21:23:08 <tswett> If the density is too low, then solitons reproduce, increasing the density.
21:23:14 -!- heroux has joined.
21:23:44 <tswett> More interesting: if the density is too high, then nearby solitons start to oscillate in tandem. These oscillations increase in magnitude until a bunch of the solitons suddenly die.
21:25:06 <tswett> Surviving solitons then move into the resulting empty space, perhaps even reproducing.
21:26:55 <tswett> Decreasing the feed rate lowers the stable density. So you can cause mass die-offs that way if you want.
21:31:33 -!- hppavilion[1] has joined.
21:32:05 <tswett> With a feed rate of 0.023, it takes a long time for the solitons to reach this stable density.
21:36:19 <tswett> With a feed rate of 0.022, it looks like there is no stable density. Whenever there's a die-off, the reproduction caused by this die-off causes another die-off.
21:39:29 -!- tromp_ has quit (Remote host closed the connection).
21:39:44 <tswett> And with a feed rate of 0.02, it looks like a population cannot survive. That feed rate is so low that even a lone soliton oscillates and dies.
21:40:59 <tswett> Lemme try exploring in the other direction now.
21:45:04 <tswett> As the feed rate increases, solitons begin to reproduce more eagerly.
21:45:16 <tswett> Now, the way soliton reproduction works is that a soliton elongates and then breaks in two.
21:45:55 <tswett> Once the feed rate increases to 0.031, the elongated soliton doesn't necessarily break in two any more; it just stays that way. A worm.
21:46:29 <fizzie> (All these are in the presets.)
21:48:10 <tswett> When the feed rate gets to about 0.036, worms begin merging with the solitons at their tips.
21:50:40 <tswett> As a result, worms dominate the world.
21:50:44 <tswett> Solitons usually don't survive too long.
21:51:37 <tswett> (Because they get "eaten" by worms.)
21:51:58 <tswett> At 0.039, worms can start to merge with each other and form three-way junctions.
21:54:11 <tswett> At feed rate 0.05, this happens aggressively; worm tips almost totally vanish as they plunge into other worms and make these junctions.
21:54:18 <tswett> (Hot.)
21:57:29 <hppavilion[1]> ELK ASM now has 0x7C instructions :)
21:57:33 <hppavilion[1]> (124, for n00bs)
21:58:04 <hppavilion[1]> It got inflated because I need instructions for EVERY type- e.g. I have ADD and ADD.FLOAT and ADD.DOUBLE and ADD.UN
21:59:40 <hppavilion[1]> I'm trying to decide whether to add JMP.<cond>.FLOAT, JMP.<cond>.DOUBLE, and JMP.<cond>.UN, or to only have JMP, JMP.Z, and JMP.NZ, and combine those with existing condition getters
22:00:14 <hppavilion[1]> I'm leaning towards the latter, but I already have CSET (conditional set) for all the operations, so...
22:01:25 <hppavilion[1]> tswett: Feed rate 1
22:03:16 <hppavilion[1]> I think I'll do the latter, but keep the CSET instructions (since combining them with a condition clobbers the destination no matter what, but I want it to not change the destination if the condition fails)
22:10:00 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
22:14:55 <tswett> There doesn't seem to be much in the way of qualitative change increasing through feed rate 0.068...
22:15:53 <tswett> Feed rate 0.069, rings formed by the worms start to contract and disappear.
22:20:12 <tswett> Around 0.074, an important change happens: curves in worms start to contract, instead of looping out the way that rivers and streams do.
22:20:36 -!- oerjan has joined.
22:21:07 <oerjan> @messages-
22:21:08 <lambdabot> hppavilion[1] said 14h 33m 44s ago: you don't use the data, the data uses you hth <- Pretty sure that's been suggested on the "Ideas" page under Soviet Russia htmh
22:21:10 <oerjan> MAYBE
22:21:52 <hppavilion[1]> oerjan: It has been
22:22:04 <oerjan> I WASN'T DENYING THAT
22:22:50 <boily> HELLØRJAN.
22:23:17 <oerjan> BOD KVELDY
22:23:42 <hppavilion[1]> I'm making a bytecode VM called ELK designed as a vastly inferior alternative to .NET
22:24:01 <hppavilion[1]> Something we can write too many compilers for and basically have a BF that interacts with a Thue and stuff
22:24:30 <zzo38> You could look how I designed QUACKVM for another way that VM instruction set can be defined
22:24:33 <oerjan> delicious science rumors: http://www.sciencemag.org/news/2016/02/woohoo-email-stokes-rumor-gravitational-waves-have-been-spotted
22:24:57 <hppavilion[1]> It has 0x7F instructions so far
22:25:00 <tswett> At about 0.083, little rings collapse quickly, and four-way junctions tend to split.
22:25:31 <hppavilion[1]> Legendary ‘mammoth steak’ turns out to be sea turtle
22:26:05 <tswett> Going from 0.083 to 0.084, worms tips now paradoxically retract instead of elongating.
22:27:23 <tswett> The overall feeling is that the worms are now similar to lines with tension, trying to become as short as possible.
22:27:28 <boily> I should logread to understand what the fungot is going on here, but I like my mammoth steaks to remain mysterious.
22:27:28 <fungot> boily: but everyone else is withdrawing time for their convenience before their students' :(
22:27:41 <oerjan> (wait for Feb 11 for the truth)
22:28:08 <hppavilion[1]> boily: No, I just noticed that on the Science site (sciencemag.org, the one oerjan posted) and copied it to here
22:29:39 <tswett> At feed rate 0.093, all three-way junctions suddenly become unstable and snap. All worms contract into solitons.
22:30:17 <hppavilion[1]> tswett: OK, I have to ask
22:30:18 <oerjan> (about the waves, not the mammoth)
22:30:24 <hppavilion[1]> What the hell are you talking about?
22:30:30 <tswett> hppavilion[1]: https://pmneila.github.io/jsexp/grayscott/
22:30:41 <oerjan> hppavilion[1]: aha
22:30:42 <hppavilion[1]> tswett: Thank you
22:30:57 <tswett> At feed rate 0.098, solitons suddenly become unstable and die.
22:33:29 <hppavilion[1]> 0.28 is kewl
22:34:06 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:40:11 -!- tromp_ has joined.
22:40:51 <oerjan> that U-Skate world is oh so slow
22:41:21 <oerjan> i thought everything would shrink to a point until i realized bends grew
22:42:01 <oerjan> hm what's the meaning of U-Skate
22:44:31 <Phantom_Hoover> tswett, should you not be altering the death rate too
22:44:40 -!- tromp_ has quit (Ping timeout: 250 seconds).
22:44:53 <tswett> oerjan: it's a specific shape... lemme look up a page about it.
22:45:05 <tswett> oerjan: http://mrob.com/pub/comp/xmorphia/uskate-world.html
22:45:47 <tswett> For what it's worth, I think that even though the uskate world looks like black stuff in a sea of orange, it's still better to think of it as orange stuff in a sea of black.
22:46:57 <tswett> Phantom_Hoover: it's not mandatory.
22:47:22 <Phantom_Hoover> right but which death rate are you testing on
22:47:35 -!- heroux has quit (Ping timeout: 264 seconds).
22:48:45 -!- p34k has quit.
22:53:36 <tswett> 0.061.
22:54:02 -!- heroux has joined.
22:59:43 -!- jaboja has joined.
23:05:30 -!- tromp_ has joined.
23:14:38 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
23:16:25 -!- tromp_ has quit (Remote host closed the connection).
23:21:53 -!- tromp_ has joined.
23:22:36 <tswett> With feed rate 0.023 and death rate 0.062, a small number of solitons will eventually spread out and fill the screen. Increase the death rate to 0.063, and this doesn't happen any more—the solitons are no longer capable of reproducing.
23:24:00 -!- lynn has quit (Ping timeout: 256 seconds).
23:24:30 <tswett> Increase the death rate just a little more, to 0.065, and it looks like solitons can no longer survive.
23:32:11 -!- tromp_ has quit (Remote host closed the connection).
23:33:56 -!- heroux has quit (Ping timeout: 240 seconds).
23:34:28 -!- heroux has joined.
23:37:58 -!- lynn has joined.
23:58:06 -!- Sgeo has joined.
2016-02-07
00:00:50 -!- Sgeo_ has quit (Ping timeout: 256 seconds).
00:09:23 -!- hppavilion[1] has quit (Quit: Leaving).
00:19:17 -!- lynn_ has joined.
00:22:11 -!- lynn has quit (Ping timeout: 276 seconds).
00:26:52 -!- Phantom__Hoover has joined.
00:28:50 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
00:32:39 -!- tromp_ has joined.
00:35:43 -!- hppavilion[1] has joined.
00:35:44 <hppavilion[1]> I'm making a text editor :)
00:36:02 <hppavilion[1]> The goal is to make one better than Notepad++
00:36:09 <hppavilion[1]> I'm a long way off from that goal xD
00:36:17 <zzo38> How is your text editing working? I just use vi
00:36:29 <hppavilion[1]> zzo38: Well it can do syntax highlighting
00:36:41 <hppavilion[1]> zzo38: It uses a JSON-based format for the language files
00:37:11 <hppavilion[1]> Which is /much/ better than Notepad++'s XML
00:37:14 <hppavilion[1]> By definition
00:37:14 <zzo38> I have once made up (but never implemented) a RDF-based syntax for syntax highlighting
00:37:20 <hppavilion[1]> zzo38: Oooh
00:37:26 -!- tromp_ has quit (Ping timeout: 272 seconds).
00:39:06 <zzo38> http://zzo38computer.org/textfile/miscellaneous/syntax_highlighter.example It might not be best way as is, but can be made modifications
00:42:39 -!- PinealGlandOptic has quit (Quit: leaving).
00:55:36 -!- tromp_ has joined.
01:08:44 -!- boily has quit (Quit: TICKLE CHICKEN).
01:09:14 -!- tromp_ has quit (Remote host closed the connection).
01:20:11 <tswett> You know, I think mouse buttons are a pretty crappy interface.
01:20:26 <tswett> What does a left click mean? It means "select this thing". Or maybe it means "activate this thing".
01:20:39 -!- bender| has joined.
01:21:14 <tswett> Double-click means "activate this thing". Or sometimes it's something that doesn't actually support double-clicking; then it means "activate this thing twice".
01:21:40 <tswett> And how about a click and drag? Ooh boy.
01:21:52 <tswett> Sometimes it means "move this thing". Sometimes it means "select all these things".
01:22:18 <tswett> What happens if you're in the middle of a click-and-drag, and you want to cancel it? Sometimes you can hit Escape, but not always.
01:22:35 <tswett> Or what if you want to do something else in the middle of the click-and-drag? Sucks to be you.
01:23:11 <tswett> Except that there are a lot of workarounds that things use in order to allow you to do that stuff.
01:23:53 <tswett> So, how do you scroll? You use the scroll wheel... unless you're clicking and dragging, in which case you move the mouse to the edge of the window.
01:24:08 -!- jaboja has quit (Ping timeout: 256 seconds).
01:26:23 <zzo38> I think keyboard is fine
01:26:23 <tswett> How do you switch to a different window? Click on its button in the task bar... unless you're clicking and dragging, in which case you *hover* over the button in the task bar.
01:26:26 <zzo38> I don't use mouse wheel
01:26:47 <zzo38> (I disabled the wheel, and instead just use it as a button)
01:26:48 <tswett> Likewise for opening up a folder in your file browser.
01:27:25 <zzo38> I think the mouse button function in xterm is reasonable
01:29:16 <tswett> Double-click on it, unless you're clicking and dragging, in which case you hover instead.
01:29:39 <tswett> Right-clicking almost always means "open up a menu for interacting with this thing". That's good.
01:29:43 <zzo38> Click and drag is what is worse
01:29:50 <tswett> Middle-clicking... arbitrary miscellaneous actions.
01:30:37 <tswett> Lemme make a list of mouse actions.
01:30:47 <zzo38> I prefer the way it work in UNIX, the Windows way isn't very good. In Athena widget set the scrollbar use left/right button to scroll by amount, middle button moves scroll to the clicked position, I think is a better way
01:31:23 <zzo38> You can also use SHIFT+PAGEUP and SHIFT+PAGEDOWN in xterm too, and SCROLL LOCK can be pushed to stop it from automatically scrolling
01:31:55 <zzo38> Which I think is a reasonable way; it is too bad that Firefox does not do these things.
01:34:27 <tswett> Select this; select up to here; activate this; pick this up; drop this; show me options for this; perform miscellaneous action on this.
01:35:06 <tswett> Ideally, there should also be "hang this", for when you have something picked up, and you want to do something else before dropping it.
01:35:28 <zzo38> Well, I don't like drag/drop, there are better ways
01:36:08 <tswett> What do you mean?
01:36:32 -!- tromp_ has joined.
01:37:05 <zzo38> For example, left button selects it and then you can push the middle button to put in something else
01:47:40 -!- tromp_ has quit (Remote host closed the connection).
01:48:45 -!- esowiki has joined.
01:48:49 -!- esowiki has joined.
01:48:50 -!- esowiki has joined.
01:49:32 -!- esowiki has joined.
01:49:38 -!- esowiki has joined.
01:49:42 -!- esowiki has joined.
01:49:42 -!- esowiki has joined.
01:50:12 -!- esowiki has joined.
01:50:14 -!- glogbot has joined.
01:50:16 -!- esowiki has joined.
01:50:16 -!- esowiki has joined.
01:50:19 <oerjan> whew
01:56:55 <zzo38> How can I modify the behaviour of widgets in Firefox?
02:00:21 -!- AlexR42 has joined.
02:00:47 -!- morko44-en has joined.
02:04:10 -!- morko44-en has left.
02:04:55 -!- Reece` has quit (Read error: Connection reset by peer).
02:13:58 <hppavilion[1]> zzo38: Code, probably.
02:18:20 <hppavilion[1]> So I've got the ELK ASM designed partially
02:19:04 <hppavilion[1]> I have how you do functions down (function call PUSHes the current line index onto the stack then JMPs to the line that starts the function call, return POPs a value and CJMPs to that line)
02:19:35 <hppavilion[1]> So that's functions done, and I think even functional programming can be done with that if you do it right
02:19:46 <hppavilion[1]> But I have NFC how to implement classes
02:20:01 <hppavilion[1]> Like, classes that can be created at runtime and manipulated and such
02:22:55 <oerjan> :t (&&&)
02:22:56 <lambdabot> Arrow a => a b c -> a b c' -> a b (c, c')
02:23:16 <hppavilion[1]> And I do realize that OO isn't classes necessarily (prototypes, duh), but it'd be nice to be able to do classy things
02:23:22 <hppavilion[1]> oerjan: &&&?
02:23:41 <oerjan> categorically so.
02:24:14 <oerjan> (not relevant to anything you were saying)
02:24:18 <hppavilion[1]> oerjan: Ah
02:24:22 <hppavilion[1]> oerjan: I was just about to ask xD
02:25:13 <hppavilion[1]> oerjan: Do you have any idea how to implement classes- ones that can be thrown around and referenced anonymously and such (first class data, basically)- for a bytecode VM?
02:25:34 <oerjan> no hth
02:25:37 <hppavilion[1]> OK
02:29:53 <zzo38> I found chrome://global/content/bindings/scrollbar.xml but am not quite sure what to do with that
02:31:09 <zzo38> My own designs of instruction set, the return from subroutine call is rather something like "POP PC"
02:33:47 <zzo38> And in QUACKVM the instruction to return from a subroutine call is "PUT ,,STACK"
02:37:30 <zzo38> In 6502 codes, one way to do computed jumps is by the "RTS trick"
02:37:36 <hppavilion[1]> @tell ais523 Complex Minsky Machine.
02:37:36 <lambdabot> Consider it noted.
02:42:10 -!- heroux has quit (Ping timeout: 245 seconds).
02:42:23 <oerjan> zzo38: that's just pushing the destination to the stack, then calling RTS, no?
02:43:41 -!- ais523 has joined.
02:44:28 <zzo38> oerjan: That is what it is yes, although the address pushed to stack is actually one less than the actual address
02:44:53 <hppavilion[1]> ais523: Oh there you are!
02:45:09 <hppavilion[1]> zzo38: So JSR then
02:45:18 * ais523 thinks about the fact that "I'm here" is a tautology, and yet nonetheless a useful statement
02:46:40 <hppavilion[1]> ais523: I think you just disproved https://xkcd.com/703/ by counterexample
02:47:48 <hppavilion[1]> zzo38: How about the return from a coroutine call? Or a semicoroutine call?
02:47:53 <ais523> hppavilion[1]: re your lambdabot message, minsky machines have increment and decrement as their basic operations, and those don't get any more interesting when complex numbers are involved
02:48:04 -!- tromp_ has joined.
02:48:07 <hppavilion[1]> Speaking of which, are there any other kinds of routines besides sub and co (where sub is a co)
02:48:08 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
02:48:12 <hppavilion[1]> ais523: I didn't think it would xD
02:48:17 <ais523> see. the way I make esolangs is
02:48:19 <ais523> you start with an idea
02:48:25 <ais523> then you follow that idea to its logical conclusion
02:48:40 <ais523> you don't add /anything/ that isn't a direct consequence of the idea unless it's needed to make the language usable for programming
02:48:43 <hppavilion[1]> ais523: I know, I know. I'm just programmed to spit out any ideas I have.
02:48:53 <ais523> note that this doesn't necessarily lead to a tarpit
02:48:59 <hppavilion[1]> True, true
02:49:05 <hppavilion[1]> Hm...
02:49:06 <ais523> most of the commands in Underload are unnecessary in terms of compuational class
02:49:14 <ais523> but you need them in order to make the language work as designed
02:49:23 <ais523> (apart from arguably ~)
02:49:38 <hppavilion[1]> I just thought "Why don't I make a Minsky Machine-based language that is made to look real enough to trick people into using it?"
02:49:44 <hppavilion[1]> Then I rememberd that's ASM
02:49:48 <hppavilion[1]> And that I'm doing that right now.
02:50:32 <hppavilion[1]> ais523: would "A bytecode VM based on graph manipulation" be a good idea to start with?
02:50:49 <ais523> hppavilion[1]: hmm
02:51:04 <ais523> I created an esolang sort-of like that, but started with "all data is stored in one graph"
02:51:11 <ais523> and came up with http://esolangs.org/wiki/Eodermdrome
02:51:44 <ais523> which may hold the record for the unimplemented language with the most failed attempts to implement it
02:52:02 -!- heroux has joined.
02:52:06 -!- tromp_ has quit (Ping timeout: 240 seconds).
02:54:53 <\oren\> 至興舎若著蒸蔵蚕衆術裁装裏補製複視覧討訪
02:54:53 <\oren\> 設訳証評詞誌認誕誠誤論諸講謝識警護財貧責
02:57:17 <hppavilion[1]> Is threading better done in-VM, or should it be a syscall thing?
03:07:07 <oerjan> ais523: i am pretty sure Eodermdrome is implemented. in fact the page says so.
03:07:20 <ais523> hmm
03:07:25 <ais523> I don't recall everr having seen the impl
03:07:40 <ais523> did you ever test your eodermdrome program?
03:07:55 <oerjan> i haven't downloaded any interpreters myself
03:08:18 <oerjan> although i do recall someone on channel once saying that it worked
03:08:18 <hppavilion[1]> ais523: How does this look so far to you? https://docs.google.com/document/d/1bSUafKLvBMVqv-tPeDj4rk51CtHoIuKCIZprPb0KBdg/edit?usp=sharing
03:08:36 <ais523> it's a google doc, I have to jump through huge hoops to read those
03:09:23 <hppavilion[1]> ais523: Oh
03:09:36 <hppavilion[1]> ais523: I'll make a LaTeX or something
03:09:43 <oerjan> hm is that jason from foxtrot in that xkcd strip
03:09:43 <hppavilion[1]> ais523: Actually, just an HTML
03:09:47 <hppavilion[1]> Yes, that'll work
03:10:10 <oerjan> (https://xkcd.com/703/)
03:12:02 <oerjan> explain xkcd seems to think so
03:12:55 <hppavilion[1]> ais523: Would a simple html-only (well, also a bit of CSS) webpage work?
03:13:03 <hppavilion[1]> Or are you behind 7 proxies?
03:13:23 <ais523> hppavilion[1]: simpe html-only would work fine
03:13:26 <shachaf> I thought of this as a joke word, but apparently it's a French word: https://fr.wiktionary.org/wiki/tautologue
03:13:26 -!- heroux has quit (Ping timeout: 240 seconds).
03:13:36 <zzo38> I expect HTML by itself would probably work, or even just plain text
03:13:45 <ais523> I basically have two problems: a) I have Google stuff blocked in my browser; b) I have lots of rich-content (including JS) blocked in my browser
03:13:55 <hppavilion[1]> ais523: Ah
03:13:56 <ais523> I have no problems reading HTML on the vast majority of sites though
03:14:11 <hppavilion[1]> zzo38: I like to arrange things into nice tables, which is a huge pain with plaintext (not THAT huge, but still not fun)
03:14:26 <zzo38> You probably don't even need CSS, although it can be used if necessary
03:14:33 <shachaf> ais523: Why Google?
03:15:01 <ais523> shachaf: partly because they're large enough to correlate a wide range of sites
03:15:19 <hppavilion[1]> zzo38: I use it for making the table look nice
03:15:20 <ais523> thus information they get from my web browsing is more valuable to them than the equivalent information would be for any other site
03:15:25 <ais523> and thus it costs me more to give it up
03:16:48 <zzo38> Usually the HTML <TABLE BORDER=1> command would work fine I expect
03:17:24 <ais523> hmm, is that even part of modern HTML versions?
03:17:44 <ais523> I have a feeling that the border attribute's meant to be specified using css rather than as an XML/SGML-like attribute
03:18:08 <zzo38> I have had no problem with it
03:18:45 <zzo38> This table is doing so: http://zzo38computer.org/mtg/cardfile.php?do=list
03:18:53 <shachaf> i,i <TABLE STYLE="BORDER: 1">
03:19:16 <ais523> shachaf: IIRC sadly it's not that simple :-(
03:19:30 <ais523> zzo38: most browsers understand all HTML versions including the really old ones
03:20:57 <zzo38> You can use CSS to specify details of the border, but if you just want a border then that is what the BORDER=1 is for, it specify to use the default border if there is no CSS (different browsers and users may have different preference and way to display the default border, so a correct color and width and so on would be chosen to fit with the other defaults)
03:23:06 <hppavilion[1]> ais523: I seem to have gone back into development before I'm sending it to you xD
03:23:19 <ais523> :-)
03:23:27 <ais523> keep going until you've reached something you're happy with
03:23:39 <ais523> zzo38: I think the 1 is a number, not a boolean
03:23:46 <ais523> like, border=4 will often give a bigger border I think?
03:23:48 <ais523> not sure though
03:24:08 <hppavilion[1]> ais523: Should I give every node a single accumulator, or do you think that defeats the purpose?
03:24:22 <ais523> hppavilion[1]: I don't have enough context to understand the question
03:24:28 <hppavilion[1]> ais523: Ah, OK
03:24:47 * hppavilion[1] hashes ais523's response to a boolean and treats "True" as yes and "False" as 0
03:24:51 <hppavilion[1]> s/0/no/
03:24:54 <hppavilion[1]> xD
03:25:52 <zzo38> It look it makes the outer border larger if you put high numbers, not the inner border?
03:26:28 <hppavilion[1]> I think I'll do a pointer-specific stack instead of node registers
03:26:45 <ais523> zzo38: "cellspacing" and "cellpadding" control the details of the inner borer
03:27:02 <ais523> in old HTML versions
03:27:13 -!- heroux has joined.
03:28:02 <zzo38> You can ignore those and just use the default though, you can use CSS if you want more control over the table, but usually such thing is not needed
03:35:56 -!- tromp_ has joined.
03:36:39 <ais523> I think most websites do too much CSSing
03:38:23 <hppavilion[1]> ais523: Here's what I have so far: http://206.174.0.58/graph_vm
03:38:26 <zzo38> Yes I also think so
03:38:42 <hppavilion[1]> It could and will easily change when I realize that it has major flaws that make no sense
03:39:01 <hppavilion[1]> ais523: And there's some example code, too
03:39:05 <zzo38> But, I have Stylish extension and can use to override the CSS of anything; if the webpage has no CSS already then I find it unnecessary to add some, but if there is some then usually it is wrong
03:39:19 <hppavilion[1]> Oh, whoops
03:41:27 <hppavilion[1]> The only form of conditional I have is FOLLOW, which does nothing if an edge doesn't exist xD. Probably useless, but it might just make Tarpit status
03:41:35 <hppavilion[1]> If I'm lucky
03:44:41 <hppavilion[1]> It's funny how me asking if I should remake the doc in HTML evolved into a discussion about the merits of CSS and stuff xD
03:52:36 -!- tromp_ has quit (Remote host closed the connection).
04:00:21 -!- XorSwap has joined.
04:01:27 <ais523> hppavilion[1]: you're using literals specified in the program for nodes, this means that the number of nodes you can have is limited by the size of the program
04:02:16 -!- tromp_ has joined.
04:04:25 <hppavilion[1]> ais523: Oh right...
04:04:27 <hppavilion[1]> Shit...
04:05:13 <hppavilion[1]> ais523: How about "AUTONEWND/PUSH", which creates a new node with the first available ID and pushes its ID onto the call stack?
04:06:25 <hppavilion[1]> ais523: There, 0x09 is PNEWND
04:10:04 -!- heroux has quit (Ping timeout: 250 seconds).
04:10:47 -!- heroux has joined.
04:19:46 <ais523> right, that's more along the lines you should be thinking
04:19:58 <ais523> I'd probably get rid of any ability to specify numbers manually
04:20:06 <ais523> probably also the pointer
04:20:20 <ais523> and instead have a sort of stack machine where the stack hold nodes
04:20:27 <ais523> and you can perform operations like connect, disconnect, follow, etc. on them
04:20:42 <Sgeo> Well, I scared myself. My AV was scanning, and said it detected something, but wouldn't tell me what it was until the scan finished. Scan finished... it was the EICAR test file
04:23:58 <hppavilion[1]> ais523: Perhaps
04:27:38 <pikhq_> Congrats, your antivirus works.
04:30:13 <ais523> why did you have the EICAR test file anyway?
04:33:13 <tswett> I want there to be a language whose definition is an interpreter for it, written in it. The interpreter allows you to modify it.
04:34:02 <tswett> The language behaves as if it were being interpreted as an infinite stack of interpreters, each interpreter faster than the one below it, so that it actually does stuff in a finite amount of time.
04:35:56 <tswett> So... the language is defined as a self-modifying self-interpreter. An actual implementation of the language has to somehow determine the meaning of any modified version of the self-interpreter.
04:37:13 <Sgeo> ais523, I downloaded it at some point recently I guess.
04:37:21 <Sgeo> I do know I like downloading it, I'm not sure why
04:37:37 <ais523> it strikes me that that must be one of the hardest possible files to download
04:37:43 <ais523> as every competent antivirus will try to stop you
04:38:56 -!- lynn_ has quit (Ping timeout: 276 seconds).
04:40:47 <pikhq_> Can confirm, literally just downloaded it and had the AV complain at me.
04:41:50 <tswett> Ooh, my client has "AV" kerned.
04:44:25 <hppavilion[1]> I found the text in wikipedia and saved it to a text file
04:44:31 <pikhq_> But hey, you can always go to data:application/octet-stream;base64,WDVPIVAlQEFQWzRcUFpYNTQoUF4pN0NDKTd9JEVJQ0FSLVNUQU5EQVJELUFOVElWSVJVUy1URVNULUZJTEUhJEgrSCo= and get it.
04:44:34 <hppavilion[1]> My AV yelled at me
04:45:20 <pikhq_> Though data:application/octet-stream,X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
04:45:24 <pikhq_> might be more reasonable
04:45:40 <pikhq_> ... Modulo that not being a valid URI. Curses.
04:45:58 <tswett> `loudly AV
04:46:09 <HackEgo> AV
04:46:18 <tswett> It did not, of course, kern that.
04:46:37 -!- tromp_ has quit (Read error: Connection reset by peer).
04:47:04 -!- tromp_ has joined.
04:47:07 <tswett> So maybe this "language" would be a cellular automaton designed to have a particularly small unit cell.
04:51:05 <tswett> And one of its states would "break" the unit cell, putting it into a state where it can ultimately be arbitrarily modified.
04:51:54 <FireFly> Hmm
04:52:10 <FireFly> So now that people's logs contains that string, will they also be considered malware?
04:53:10 <zzo38> OK now I made a RDF parser in JavaScript
04:54:11 <zzo38> http://sprunge.us/jZTO
04:55:13 <tswett> ais523: you know what would be harder? That file, repeated to fill 800 terabytes.
04:55:29 <ais523> tswett: well yes
04:55:37 <ais523> although not much harder, you'd probably download a generator or compressed archive
04:56:06 <ais523> I'm not saying you have to download the file directly
04:56:09 <tswett> Insert one random byte after each copy.
04:56:19 <tswett> And... make it 80 petabytes instead.
04:56:28 <ais523> you might as well have one copy of the file then 80 petabytes of random data
04:56:32 <ais523> to make it less compressible
04:56:53 <tswett> Now, a naive implementation of my CA, whenever you use the breaker state, would simply "zoom in", to produce a state that doesn't use the breaker state.
04:56:59 -!- tromp_ has quit (Remote host closed the connection).
04:57:28 <tswett> Which would, in theory, work perfectly well for programs which don't have infinite regression in how they use that state.
04:58:25 -!- heroux has quit (Ping timeout: 260 seconds).
05:04:23 <hppavilion[1]> ais523: Insert a random byte at a random location in each one
05:04:34 <hppavilion[1]> Wait, no, tswett:
05:04:41 <hppavilion[1]> Well, either one works
05:04:47 <tswett> I like that idea.
05:05:05 <tswett> Or... for each copy, randomly select one of the bytes and then pick a random value for it.
05:05:12 <tswett> Occasionally, it will randomly pick the correct value.
05:05:59 <hppavilion[1]> tswett: It'll have the correct string roughly 4294967296 times
05:06:08 <tswett> Yup.
05:06:38 <hppavilion[1]> tswett: So that means that the compression is- wait. We're looking into ways to make files LESS compressible. Why? Why are we doing this?
05:06:44 -!- Sgeo has quit (Read error: Connection reset by peer).
05:06:50 <tswett> To make them more difficult to download.
05:07:02 <hppavilion[1]> tswett: Wait, I forgot to account for the 800
05:07:19 <hppavilion[1]> 3435973836800
05:07:42 <hppavilion[1]> 1:32 compression ratio
05:07:51 <hppavilion[1]> Or is it 32:1? I forget
05:08:18 <hppavilion[1]> tswett: I don't think your antivirus would even let you try to download an 800 TB file if it was competent
05:08:40 <hppavilion[1]> In fact, your COMPUTER wouldn't let you download it because LIMITATIONS OF THE LAWS OF PHYSICS
05:10:19 <tswett> Well...
05:10:34 <tswett> At work, there's a "network drive" that's rather large.
05:10:38 <tswett> See...
05:10:47 <hppavilion[1]> tswett: My point is, we can do better at compression
05:10:53 <hppavilion[1]> Two random bytes gives us
05:11:17 <hppavilion[1]> Or, well, worse
05:11:29 -!- heroux has joined.
05:11:29 <tswett> You know how nowadays, in the My Computer screen, each drive has a bar underneath indicating the disk usage?
05:11:42 <tswett> And now, once disk usage exceeds a certain amount, that bar turns red?
05:11:49 <hppavilion[1]> I really don't know. I don't think 1:32 was right
05:11:55 <hppavilion[1]> tswett: Yes I knew the first part
05:11:59 <tswett> On this network drive, that bar turned red because it only had 70 terabytes of free space left.
05:12:01 <hppavilion[1]> But I've never reached too much disk
05:12:10 <hppavilion[1]> Woooooow
05:12:32 <hppavilion[1]> Microsoft, don't use percentages. It's not really scalable.
05:12:56 <hppavilion[1]> A yottabyte of free space on a 100 yottabyte drive is more than enough free space
05:13:49 <hppavilion[1]> Unless you're downloading the entirety of internet porn. Then you're fucked.
05:13:50 <hppavilion[1]> (http://cow.org/csi/)
05:14:26 <pikhq_> Is there enough storage on the planet for that?
05:16:28 <hppavilion[1]> pikhq_: No, which seems paradoxical until you see what martians are into
05:16:37 <oerjan> obviously not, internet porn is infinite
05:17:22 <hppavilion[1]> oerjan: If it exists, there is porn of it in the meta
05:17:30 <hppavilion[1]> (rule 1156)
05:18:03 <oerjan> no, there's porn of it on the internet. the meta contains even porn of things that _don't_ exist hth
05:18:41 <oerjan> hot IPU action
05:33:00 -!- heroux has quit (Ping timeout: 245 seconds).
05:33:34 -!- heroux has joined.
05:37:32 <tswett> I dunno, I think displaying that warning for 70 terabytes of free space kind of makes sense.
05:37:50 <tswett> Like, pretend that there are 1,000 people at work who use this drive.
05:37:54 <tswett> That's 70 gigabytes apiece.
05:39:44 -!- Sgeo has joined.
05:52:05 -!- Sgeo has quit (Read error: Connection reset by peer).
05:53:24 <\oren\> eva report while flying in Kerbin's upper atmosphere
05:53:39 <\oren\> "You feel like you should really get back in the ship"
05:54:32 -!- Sgeo has joined.
05:57:32 -!- tromp_ has joined.
06:00:27 <hppavilion[1]> tswett: Fair enough
06:02:00 -!- tromp_ has quit (Ping timeout: 260 seconds).
06:05:31 -!- oerjan has quit (Quit: Nite).
06:07:20 -!- heroux has quit (Ping timeout: 276 seconds).
06:07:37 -!- Sgeo has quit (Read error: Connection reset by peer).
06:08:46 -!- XorSwap has quit (Quit: Leaving).
06:10:44 -!- Sgeo has joined.
06:12:24 -!- Sgeo has quit (Client Quit).
06:13:49 -!- XorSwap has joined.
06:14:01 -!- XorSwap has quit (Remote host closed the connection).
06:17:41 -!- Sgeo has joined.
06:22:23 -!- bb010g has joined.
06:27:16 -!- Sgeo has quit (Read error: Connection reset by peer).
06:29:42 -!- Sgeo has joined.
06:41:32 -!- heroux has joined.
07:17:06 -!- heroux has quit (Ping timeout: 240 seconds).
07:17:23 <hppavilion[1]> If I set up a standard protocol for internal server communication between people who like /classic/ internet
07:17:46 <hppavilion[1]> Something that works in a terminal (or, for the client I made, a terminal-like GUI) and has custom external servers
07:18:12 <hppavilion[1]> Basically like a stripped-down website, coupled with a command line
07:18:15 <hppavilion[1]> Who here would use it?
07:19:12 <zzo38> See how the protocol is work first, and then people would decide.
07:24:49 -!- heroux has joined.
07:33:59 <\oren\> the apollo guidance computer has a very strange terminology
07:34:47 <Sgeo> Just played a Simpsons arcade game in NewRetroArcade (which uses MAME)'
07:35:03 <Sgeo> Are these things just designed to suck in money the way mobile games do today?
07:36:46 <\oren\> yup
07:37:21 <pikhq_> Very much so.
07:38:27 <Sgeo> I don't know if having free coins ruins any ability to learn to play well, or if there's not that high of a skill ceiling
07:39:36 -!- ais523 has quit (Ping timeout: 252 seconds).
07:52:58 -!- heroux has quit (Ping timeout: 240 seconds).
07:53:31 -!- heroux has joined.
08:00:40 <hppavilion[1]> zzo38: Ah, yes
08:04:07 <\oren\> hppavilion[1]: I think you're describing a BBS
08:04:20 <hppavilion[1]> \oren\: Whihc is?
08:04:36 <\oren\> BBS was like a website but you interacted with it directly with telnet
08:05:41 <hppavilion[1]> Yay!
08:05:41 <zzo38> It still exists, and there are several software for hosting such, such as Synchronet
08:05:43 <hppavilion[1]> It works!
08:05:59 <\oren\> https://en.wikipedia.org/wiki/Bulletin_board_system
08:06:06 <hppavilion[1]> I think the thing I made is pretty cool. It's very versatile, at least in theory.
08:06:27 <hppavilion[1]> I'm going to see if I can trick anyone into hosting it and feeling like a 1337 h4xx0r
08:06:56 <zzo38> Originally Synchronet was only for telephone lines, but now it supports Telnet, Rlogin, SSH, Gopher, HTTP, and FTP, as well as telephone lines; it also now also supports JavaScript.
08:07:30 <zzo38> (Actually I believe it also supports SMTP, NNTP, and IRC as well.)
08:07:39 <zzo38> (And also FidoNet)
08:08:12 <hppavilion[1]> \oren\: A typical session in what I've made may look like this: http://pastebin.com/nQB3TaUp
08:09:02 <hppavilion[1]> Wow.
08:09:13 <hppavilion[1]> I'm visitor #23 to a thing I just got working xd
08:09:15 <hppavilion[1]> *xD
08:11:10 <hppavilion[1]> Better example: http://pastebin.com/xRnvGfJk
08:11:21 <hppavilion[1]> It's also SSH to some degree.
08:11:29 <hppavilion[1]> But it only works in its own little silo
08:13:53 <zzo38> I do not know if Synchronet supports ES6 yet, although they ought to make it to do so, and also to fix the API to work better with ES6 (for example to read a file into a ArrayBuffer).
08:14:27 <hppavilion[1]> The idea is that it's a personal server, something you leave hosted as a hobby and through which you disseminate information
08:15:01 <hppavilion[1]> Perhaps some blogging could be done on it- but, like, super awesome blogging because it's not a website, it's a terminal
08:15:17 <hppavilion[1]> Not that lame weblogging
08:15:29 <zzo38> Yes, although many programs can be run even just as a personal server that you can leave hosted as a hobby
08:16:25 <hppavilion[1]> zzo38: True, true
08:16:29 <zzo38> Including real BBS servers, and gopher and HTTP servers (I know that someone runs a combination HTTP and gopher server that they wrote themself in BASIC)
08:16:43 <hppavilion[1]> zzo38: I want to make mine somehow special. Not sure how though xD
08:17:11 -!- heroux has quit (Ping timeout: 245 seconds).
08:17:43 -!- heroux has joined.
08:49:18 -!- Vorpal has joined.
08:54:38 -!- AnotherTest has joined.
08:58:27 -!- tromp_ has joined.
09:03:08 -!- tromp_ has quit (Ping timeout: 256 seconds).
09:18:10 -!- heroux has quit (Ping timeout: 250 seconds).
09:31:17 -!- heroux has joined.
09:43:18 -!- AlexR42 has quit (Quit: Textual IRC Client: www.textualapp.com).
09:45:25 -!- bender| has quit (Ping timeout: 260 seconds).
09:59:14 <hppavilion[1]> 54 is 42's double convergence point over sqrt
09:59:21 <hppavilion[1]> Well, 55
10:13:56 -!- heroux has quit (Ping timeout: 240 seconds).
10:15:18 -!- heroux has joined.
10:20:46 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
10:55:27 -!- atehwa has quit (Remote host closed the connection).
11:19:56 -!- AlexR42 has joined.
11:26:18 -!- lynn has joined.
11:40:08 <HackEgo> [wiki] [[CBF (Cleverer Brainfuck)]] https://esolangs.org/w/index.php?diff=46366&oldid=41963 * SEnergy * (+19)
11:41:56 <HackEgo> [wiki] [[CBF (Cleverer Brainfuck)]] https://esolangs.org/w/index.php?diff=46367&oldid=46366 * SEnergy * (+20)
11:42:37 <fizzie> I'm confused by those edits.
11:42:56 <HackEgo> [wiki] [[CBF (Cleverer Brainfuck)]] https://esolangs.org/w/index.php?diff=46368&oldid=46367 * SEnergy * (-10302) Blanked the page
11:45:07 <fizzie> I... guess they want to delete an article they wrote?
11:48:21 <izabera> no they just wanted to blank the page
11:48:42 <fizzie> The first two edits added templates that don't exist on our wiki, but do on Wikipedia.
11:48:56 <fizzie> First being a "speedy deletion by author request", and the second some sort of generic delete template.
11:49:13 <fizzie> I'm guessing blanking the page was a fallback option.
12:14:01 <myname> crazy how you can make a bachelor thesis out of this
12:25:27 <fizzie> A "fit butt" bachelor's thesis, mind you.
12:26:12 <fizzie> "In this thesis, author discusses and analyzes design flaws of experimental programming language Brainfuck, for which he suggests solution in form of extension of original language. Then he formaly defines this extension and implements its interpret and debugger."
12:26:40 <fizzie> Sadly, it's in a language I don't read.
12:27:31 <Taneb> One of my friends challenged me to do my thesis on brainfuck, mostly so I could get away with writing fuck a lot in a master's thesis
12:27:35 <fizzie> One (of the four) references is to esolangs.org. :)
12:27:38 <Taneb> I don't think I'll take up his challenge
12:31:29 -!- heroux has quit (Ping timeout: 276 seconds).
12:31:45 <myname> i also references esolangs.org a lot in my thesis
12:31:48 -!- heroux has joined.
12:32:34 -!- Phantom_Hoover has joined.
12:32:47 -!- lynn has quit (Ping timeout: 276 seconds).
12:35:15 <Taneb> myname: what was your thesis on?
12:35:48 <myname> lexing of 2d languages
12:38:39 <fizzie> This thesis refers [1] the Aho, Ullman, Lam "Compilers" book; [2] Böhm, C., On a family of Turing machines and the related programming languages, [3] esolangs.org/wiki/Brainfuck, [4] Rosenberg and Saloma, Handbook of Formal Languages.
12:39:35 <myname> i am also not sure if i would÷ve called bf "experimental"
12:39:45 <fizzie> Or its properties "design flaws".
12:40:17 <fizzie> I'm slightly unsure whether it's appropriate to have Feeney, S. listed as the (sole) author of the Brainfuck article.
12:41:54 <fizzie> (That's graue, who did write the first revision, but it's got a number of contributors since.)
12:43:25 <Taneb> myname: interesting! Is it available on the internet to read?
12:43:44 <myname> Taneb: it is written in german :p
12:44:09 <Taneb> That sounds unfortunate for me, a monolingual, to read
12:44:10 <Taneb> :(
12:44:52 <Phantom_Hoover> well it'd be fine if you were monolingual in german
12:45:06 <Taneb> Phantom_Hoover: I don't think I am, for some reason
12:45:38 <Phantom_Hoover> Taneb, wait, you mean all these years you were actually trying to speak english?
12:45:45 <Taneb> What
12:45:55 <Taneb> Where did you get that idea
12:45:59 -!- tromp_ has joined.
12:46:14 <fizzie> Looks like plain-as-day Tanebese to me.
12:48:18 <Phantom_Hoover> is that part of the same language family of zzo38an?
12:48:41 <Taneb> Phantom_Hoover: common misassumption. There's a lot of false friends between the two
12:49:55 -!- tromp_ has quit (Ping timeout: 240 seconds).
13:27:35 -!- Reece` has joined.
13:51:52 -!- benderpc_ has joined.
14:09:52 -!- Treio has quit (Quit: Leaving).
14:30:08 -!- tromp_ has joined.
14:47:47 -!- boily has joined.
14:57:52 -!- J_Arcane has quit (Ping timeout: 256 seconds).
14:58:43 -!- tromp_ has quit.
14:59:02 -!- tromp_ has joined.
15:03:35 -!- benderpc_ has quit (Ping timeout: 276 seconds).
15:07:35 -!- heroux has quit (Ping timeout: 240 seconds).
15:08:15 -!- heroux has joined.
15:11:21 <boily> @ask hppavilion[1] since when are we misleading the topics? everything makes sense, eh?
15:11:22 <lambdabot> Consider it noted.
15:31:44 -!- Elronnd has quit (Quit: Let's jump!).
15:34:36 -!- Elronnd has joined.
15:46:59 -!- heroux has quit (Ping timeout: 264 seconds).
15:47:18 -!- heroux has joined.
16:12:13 -!- ais523 has joined.
16:34:34 -!- idris-bot has quit (Quit: Terminated).
16:35:10 -!- idris-bot has joined.
16:35:29 -!- Lord_of_Life has quit (Excess Flood).
16:37:36 -!- Lord_of_Life has joined.
17:01:06 -!- Reece` has quit (Read error: Connection reset by peer).
17:15:31 -!- tjt263_ has joined.
17:28:52 -!- heroux has quit (Ping timeout: 272 seconds).
17:42:29 <boily> `wisdom
17:42:46 <boily> ...
17:42:54 <HackEgo> hovercraft/a-é-ro-g-liss-e-ur. If you mention eels, you'll get smacked with one of them in a most unappropriate manner.
17:44:45 <int-e> `? eel
17:44:46 <HackEgo> eel? ¯\(°​_o)/¯
17:47:37 -!- heroux has joined.
17:48:08 -!- tjt263_ has left.
18:01:02 -!- gde33 has quit.
18:02:27 * boily eely mapoles int-e
18:03:00 <int-e> I was thinking of a party involving biologists, electrical engineers and trouts.
18:03:58 <int-e> `? y
18:03:59 <HackEgo> Y is a commune in France. There's nothing funny about this.
18:06:53 <coppro> `quote
18:06:55 <HackEgo> 80) <AnMaster> fungot!*@* added to ignore list. <fungot> AnMaster: i'd find that a bit annoying to wait for an ack.
18:06:58 <coppro> `quote
18:06:58 <coppro> `quote
18:06:58 <coppro> `quote
18:06:58 <coppro> `quote
18:07:13 <ais523> 80 is great
18:07:16 * ais523 waits for the other four
18:07:22 <HackEgo> 1007) <ais523> in soviet russia, what sees you is what gets you
18:07:23 <HackEgo> 18) IN AN ALTERNATE UNIVERSE: <oerjan> In an alternate universe, I would say "In an alternate universe, ehird has taste"
18:07:23 <HackEgo> 415) <itidus20> monqy: last night in my dreams I saw a false photo album of my childhood... looking ghostly
18:07:25 <HackEgo> 84) <Warrigal> Darn, now I can't acknowledge the reference you were making.
18:07:50 <ais523> I don't really like the last three
18:07:59 <ais523> 1007 is me trying too hard to be funny but it's still better than the last three
18:08:27 <coppro> yeah
18:08:44 <coppro> where is elliott these days?
18:09:06 <int-e> `? metasepia
18:09:09 <HackEgo> metasepia knew the weather at your nearest airport, and also something about ducks.
18:09:11 <ais523> just stopped turning up
18:09:18 <ais523> channel regulars tend not to stay forever
18:11:45 <Vorpal> ais523: hi
18:11:56 <ais523> hi Vorpal
18:12:15 <Vorpal> Also you are right, quote 80 is great
18:12:30 <Vorpal> why on earth would I put fungot on ignore as well?
18:12:30 <fungot> Vorpal: i plan to write a number
18:12:46 <ais523> Vorpal: people were abusing it at the time, and you were more sensitive back then to spam in the channel
18:13:07 <Vorpal> ais523: well I was in it for a start, probably had something to do with it
18:13:50 <Vorpal> <ais523> just stopped turning up <-- no elliott any more? :(
18:14:24 <Vorpal> Also I wonder why hexchat thinks the ping time is 30 seconds all the time...
18:14:32 <Vorpal> It clearly isn't
18:15:13 -!- Vorpal has changed nick to Vorpal_.
18:15:20 -!- Vorpal_ has changed nick to Vorpal.
18:15:26 <Vorpal> .... I just looked at nickserv info since I haven't been on here for some time.
18:15:28 <Vorpal> -NickServ- User reg. : Dec 26 16:35:03 2005 (10y 6w 3d ago)
18:15:30 <Vorpal> Wow
18:15:44 <Vorpal> Time flies
18:17:11 <coppro> `quot
18:17:12 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: quot: not found
18:17:12 <coppro> `quote
18:17:13 <coppro> `quote
18:17:13 <HackEgo> 1008) <kmc> LIST OF ACRONYMS: List Integrating Some Terminology Of Fine Authentic Credibility Relating to Our New Year Media System
18:17:13 <coppro> `quote
18:17:14 <coppro> `quote
18:17:14 <HackEgo> 54) * oerjan swats FireFly since he's easier to hit -----### <FireFly> Meh * FireFly dies
18:17:14 <HackEgo> 814) <fizzie> I was hoping I could be like other people and listen to signals while in a public transport vehicle.
18:17:14 <HackEgo> 812) <kmc> i love how allegedly wine can run all of these different programs but the only one i can actually run is starcraft <kmc> i think wine may secretly be a cleanroom reimplementation of starcraft
18:17:16 <coppro> `quote
18:17:17 <HackEgo> 1082) <boily> it's not weird, it's even in alphabetical order and nicely formatted!
18:17:30 <boily> :D
18:17:35 <coppro> :D
18:19:17 <ais523> `find . -name quotes
18:19:18 <HackEgo> find: `. -name quotes': No such file or directory
18:19:20 <ais523> `` find . -name quotes
18:19:30 <HackEgo> ​./bin/quotes \ ./quotes
18:19:42 <ais523> `` sort ./quotes | head
18:19:43 <HackEgo> 00:07 Sgeo has quit (IRC is taking up too much of my time. I need time to study the Bible and find Christ.) 00:12 Sgeo has joined #esoteric. \ [2008] <nooga> i'm testing Haiku <nooga> and it appears that it is a major shit <oerjan> 5+7+5, not 5+11, nooga \ <adu> me thinks fungot is high on crack <fungot> adu: not exactly something like that. bu
18:20:18 <ais523> `` sort ./quotes | head -n 20 | sed 's/(....................).*/\1/'
18:20:19 <HackEgo> sed: -e expression #1, char 30: invalid reference \1 on `s' command's RHS
18:20:27 <ais523> `` sort ./quotes | head -n 20 | sed 's/\(....................\).*/\1/'
18:20:28 <HackEgo> 00:07 Sgeo has quit \ [2008] <nooga> i'm t \ <adu> me thinks fung \ [After a long monolo \ [after a long string \ [after a quote delet \ <A. Gelman and G. Ro \ <ais523> 99% OF USES \ <ais523> after all, \ <ais523> after a whi \ <ais523> also, why i \ <ais523> and then I \ <ais523> bleh, why d \ <ais523> btw, I fina \ * ais523 challenges \ <ais5
18:20:41 <ais523> now I just need to work on the nice formatting
18:21:24 <myname> after a
18:23:00 <ais523> `quote ais523 challenges
18:23:01 <HackEgo> 947) * ais523 challenges the americans here to remember who lost in the most recent UK general election <Phantom_Hoover> ais523, the lib dems
18:23:27 <ais523> I guess that one's only funny if you're either British, or following British politics
18:25:33 <coppro> it's really good though
18:25:44 <ais523> yes
18:25:54 <ais523> context makes it slightly better but it's funny even without
18:29:56 -!- heroux has quit (Ping timeout: 240 seconds).
18:32:32 -!- heroux has joined.
18:38:04 -!- heroux has quit (Ping timeout: 250 seconds).
18:42:10 <Sgeo> So, when I play the Simpsons arcade game, am I reducing my skill level by giving it as many coins as I want, or is that pretty much inevitable because they want my money?
18:42:31 <Sgeo> (It's MAME, I have free coins >.> )
18:45:06 <zzo38> You can try to win with as few coins as possible I suppose. But if you fail, it mean you can try again without spending extra money, now
18:46:36 -!- heroux has joined.
18:51:26 -!- lynn has joined.
19:11:57 -!- J_Arcane has joined.
19:16:09 <diginet> I intentionally avoid all politics
19:16:23 <diginet> you can't change anything, and all it does is make me mad...so why bother?
19:18:30 <\oren\> well thqt's not quite ture
19:19:29 <int-e> Well at least Wikipedia seems sufficient to explain the joke :)
19:19:57 <int-e> `wc quotes
19:20:01 <HackEgo> ​ 1264 25410 152033 quotes
19:20:27 <\oren\> you can change things if you're at the start of a change that is already ready to go, like when public opinion has changed but the govt hasn't caught up
19:21:22 <b_jonas> `wisdom
19:21:23 <HackEgo> pie/I like pie \ I like pie
19:21:31 <b_jonas> `wisdom
19:21:33 <HackEgo> quine/`? quine
19:21:40 <b_jonas> `? quine
19:21:40 <HackEgo> ​`? quine
19:22:46 <\oren\> as for politics making you mad, the trick is to only follow other countries' politis closely
19:23:14 -!- Elronnd has quit (Quit: Let's jump!).
19:23:23 <ais523> \oren\: right, I'm following the current US electoin
19:23:27 <ais523> mostly for the entertainment value
19:23:34 <int-e> I suppose the quote predates the 2015 general elections?
19:23:37 <b_jonas> `? US election
19:23:38 <HackEgo> US election? ¯\(°​_o)/¯
19:23:42 <b_jonas> `? election
19:23:43 <HackEgo> election? ¯\(°​_o)/¯
19:23:53 <ais523> int-e: not sure
19:23:58 <ais523> it'd be funny either way but for different reasons
19:24:06 <int-e> yeah
19:24:58 <int-e> 2013-02-26-raw.txt:< 1361904098 931888 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ACTION challenges the americans here to remember who lost in the most recent UK general election
19:25:14 <ais523> OK yes
19:25:20 <ais523> that one's better because it's less obvious
19:25:26 -!- Elronnd has joined.
19:25:26 -!- p34k has joined.
19:25:27 <ais523> (that election, it is)
19:25:30 <\oren\> the hampstershire primaries are tommorrow
19:26:46 <\oren\> most likely the winners will be the commie and the fasist
19:26:58 <ais523> the interesting things being a) the victory margin for sanders on the democratic side, and b) whatever is going on with the republicans
19:27:13 <ais523> to be fair the republican side is more interesting because I can't believe any of them are electable
19:27:23 <fizzie> That sed was a complicated way to type cut -c 1-20.
19:27:28 <ais523> so it's interesting to see which crazy direction they go in
19:27:36 <ais523> fizzie: I can never quite remember how cut works and the man page wouldn't fit on IRC
19:27:59 <ais523> `` man cut
19:28:00 <\oren\> I figure trump, once he gets nominated, is suddenly going to veer left on some issues he's avoided talking about
19:28:01 <HackEgo> man: can't open the manpath configuration file /etc/manpath.config
19:28:09 <ais523> \oren\: or even on ones he has
19:28:26 <ais523> there was an election at a society I was in where someone ran as a joke candidate and gave bizarre speeches
19:28:34 <ais523> but then admitted that if they'd won, they'd have tried to do the job sensibly and properly
19:28:45 <ais523> just were trying to make the elections themselves more interesting and contested
19:29:24 <int-e> trump's unpredictable
19:30:03 <Vorpal> fizzie: hi!
19:31:05 <Vorpal> int-e: I don't think he will "do the job sensibly and properly" though
19:31:17 <fizzie> ais523: I can only remember the "-c N-M" variant.
19:31:19 <fizzie> Vorpal: Hi.
19:31:57 <Vorpal> fizzie: weird, I can only remember the cut -d' ' -f N-M variant
19:31:59 <Vorpal> Hm
19:32:11 <ais523> does paste have any options at all?
19:32:22 <Vorpal> ais523: if it is gnu, yes
19:32:26 <ais523> normally I link it up with expand in order to place the columns in more readable positions
19:32:35 <Vorpal> ais523: at the very least --help and --copyright
19:32:39 <Vorpal> or --version or something
19:32:47 <Vorpal> Mandatory arguments to long options are mandatory for short options too.
19:32:47 <Vorpal> -d, --delimiters=LIST reuse characters from LIST instead of TABs
19:32:47 <Vorpal> -s, --serial paste one file at a time instead of in parallel
19:32:47 <Vorpal> --help display this help and exit
19:32:48 <Vorpal> --version output version information and exit
19:32:49 <ais523> it has -d and -s but neither seems that useful
19:33:14 <ais523> like what does -s even do? read the files one at a time, and then paste as normal?
19:33:21 <Vorpal> Isn't -s just cat?
19:33:30 <Vorpal> I never used paste, what does normal paste do?
19:34:13 <Vorpal> Oh, put each file side by side
19:35:52 <ais523> it's the opposite of cut
19:36:18 <Vorpal> ais523: try man 1p paste, it sheds more light on the options
19:36:24 <Vorpal> rather confusing options but
19:36:47 <ais523> I don't have a section 1p
19:36:53 <ais523> that's posix presumably?
19:37:27 <fizzie> "Concatenate all of the lines of each separate input file in command line order. The <newline> of every line except the last line in each input file shall be replaced with the <tab>, unless otherwise specified by the -d option."
19:37:27 <Vorpal> ais523: that is the posix docs split in man pages
19:37:38 <ais523> oh, according to the info page, -s basically transposes the output
19:38:05 <Vorpal> apt-get install manpages-posix (for 1p) and apt-get install manpages-posix-dev (for 3p)
19:38:16 <Vorpal> ais523: I found those packages really useful
19:38:39 <ais523> right, was just doing that
19:38:43 <ais523> looks like it could come in handy
19:38:50 <ais523> (presumably there isn't a 2p because posix doesn't specify syscalls?)
19:39:35 <Vorpal> Apparently -d and -s interact in weird ways
19:40:00 <Vorpal> ais523: though there are some pages in 2 that have corresponding 3p but no 3
19:40:22 <Vorpal> I guess it is a case of splitting between libc and syscalls differently?
19:40:53 <ais523> yay, this makes it much easier to get things like the yacc spec
19:41:01 <ais523> Vorpal: could be
19:41:10 <ais523> "open" is in 3p
19:41:23 <ais523> I can't imagine many POSIX systems where that wouldn't be a syscall
19:41:24 <Vorpal> Yeah, that is an example of that
19:41:31 <ais523> so presumably 3p just contains all the stuff that's meant to be in libc
19:41:39 <Vorpal> Think so yes
19:41:54 <Vorpal> also there is no 5p or 7p iirc
19:42:08 <Vorpal> btw what is in 4, 6, 8 and 9 anyway?
19:42:13 * Vorpal looks at man man
19:42:21 <Vorpal> Oh
19:42:48 <ais523> 4 is for things like /dev/null
19:42:51 <Vorpal> 6 is games
19:42:59 <Vorpal> Like nethack presumably?
19:43:00 <ais523> 6 and 8 are both executables that people didn't want in 1 for whatever reason
19:43:08 <ais523> and it only goes up to 8
19:43:18 <ais523> (some people use 9 for weird nonstandard things, I think)
19:43:31 <Vorpal> Why the numeric splitting to begin with?
19:43:37 <Vorpal> It isn't very intuitive at all
19:43:55 <Vorpal> Wouldn't say cmd/ sys/ lib/ and so on make more sense
19:43:59 <ais523> chapters of the manual
19:44:00 <zzo38> I think it is fine and use the numeric splitting
19:44:06 <ais523> originally this was a printed book
19:44:10 <Vorpal> ais523: the original UNIX manual I guess?
19:44:12 <ais523> with the option to read bits online
19:44:21 <Vorpal> Makes more sense then
19:44:30 <ais523> it still has headings and footers and the like, although people are often unsure about what to put there
19:44:57 <zzo38> I put zorkmid in section 6, and playmod in section 1
19:45:26 <Vorpal> true
19:47:12 <Vorpal> What is the point of /dev/full...
19:47:49 <ais523> Vorpal: testing the error handling of your programs
19:48:12 <ais523> adding "> /dev/full" to the end of your command line is a trivial way to see if your program handles errors printing output correctly
19:48:13 <Vorpal> ais523: right, but it is utterly crude...
19:48:19 <Vorpal> It is one specific error
19:49:02 <Vorpal> What it it fails to EBADF instead? EDQUOT?
19:49:15 <Vorpal> A proper fault simulator might be more useful
19:49:29 <Vorpal> Seem to remember that the sqlite guys made something like that
19:49:41 <ais523> they did
19:49:51 <ais523> however the vast majority of programs don't care about the specific error code
19:49:58 <ais523> sometimes even in cases where they should (e.g. EINTR, EAGAIN)
19:50:07 <Vorpal> ais523: the error recovery might be different
19:50:53 <Vorpal> Not sure if the sqlite thing is reusable for other projects
19:58:44 -!- bb010g has quit (Quit: Connection closed for inactivity).
20:01:15 <zzo38> I found that AmigaMML with > /dev/full seems to work OK (although it will not write the song anywhere), although input from /dev/null results in a floating point exception.
20:11:11 <fizzie> Huh. The thesis publication thingie wanted a back cover text.
20:12:30 <fizzie> Also: I keep getting porn ad spam in Swedish at the 'webmaster' role address of gehennom.org.
20:12:39 <ais523> you own gehennom.org?
20:12:44 <fizzie> Yes.
20:12:56 <ais523> oh, hmm, it appears to duplicate content of zem.fi
20:13:01 <fizzie> At the moment, yes.
20:13:05 <fizzie> It's been different as well.
20:13:08 <fizzie> I used to run a public nethack server once.
20:13:59 <fizzie> And I've been thinking of putting something nethack-related (some sort of data visualization stuffs, maybe) up there, but haven't.
20:14:11 -!- bb010g has joined.
20:15:55 <fizzie> Oh, and I think I hosted darkhive as a subdomain of gehennom.org.
20:17:32 -!- ais523 has quit.
20:19:04 <Vorpal> fizzie: darkhive?
20:20:12 <fizzie> An unofficial archive of a discussion forum with a name starting with d -- hence, "d-arkhive".
20:20:26 <fizzie> Given the quality content, maybe the "dark-hive" split is appropriate as well.
20:20:42 <Vorpal> ah
20:22:59 <zzo38> Can you please tell me how to set up the email so that it uses different user name for messages received from internet than local messages?
20:23:38 <fizzie> Maybe I should at least stick in some sort of a more nethacky placeholder on that thing, rather than have it just be a (probably broken somehow; at least the TLS cert is wrong) copy of zem.fi. It got to be like that just because I migrated to lighttpd and didn't bother to configure in name-based vhosts.
20:25:07 <Vorpal> fizzie: lighttpd is still alive?
20:25:16 <Vorpal> I thought it was all nginx these days
20:25:55 <fizzie> I don't know how much development effort it gets, but they do at least fix issues.
20:26:07 <Vorpal> Speaking of which, I should should upgrade nginx to a version supporting HTTP2, some day
20:26:25 <Vorpal> Apparently debian backports only has the version right before the HTTP2 one
20:26:28 <Vorpal> annoying
20:26:43 <fizzie> You should upgrade it to a version supporting QUIC, be all even fancier. Except I don't think there is a version to do that.
20:26:55 <Vorpal> heh
20:27:04 <Vorpal> isn't that UDP?
20:27:06 <fizzie> Yes.
20:27:28 <fizzie> It's pretty much a mapping of HTTP/2 on UDP.
20:29:24 <Vorpal> heh
20:29:49 <Vorpal> "Round-trip times, roughly defined by the speed of light, are bounded, and as a result the only way to decrease connection latency is to make fewer round-trips."
20:29:58 <Vorpal> Quoting wikipedia on QUIC
20:30:06 <Vorpal> Um...
20:30:07 -!- tjt263__ has joined.
20:30:33 <Vorpal> We are not even close to the point of the propagation delay being the limiting factor for most connections
20:30:51 <Vorpal> Just compare ping over ethernet and wifi to see that
20:31:38 <fizzie> Yes, it's a bit of a silly comment. The reason QUIC cares about round-trips is because RTTs on mobile networks are awful.
20:31:48 <Vorpal> yes it is
20:31:54 <fizzie> Much awful-er than mandated by the speed of light, that is.
20:32:19 <Vorpal> fizzie: Also we should dig cables straight through earth, that way imagine how much less the delay to Australia will be
20:33:01 <fizzie> The original source for that comment is probably from a Chromium blog post: "However, despite increasing bandwidth, round trip time (RTT)--which is ultimately bounded by the speed of light--is not decreasing, and will remain high on mobile networks for the foreseeable future."
20:33:08 <Vorpal> Speaking of ethernet, why does ethernet connectors generally have status leds, for both connection and data. And why doesn't, say, USB also have that?
20:33:08 <fizzie> Where the bounded-by-c was just an aside.
20:33:21 <fizzie> http://blog.chromium.org/2013/06/experimenting-with-quic.html
20:33:24 <Vorpal> Ah
20:34:48 <Vorpal> fizzie: btw this laptop gets much more stable ping times when using 2.4 GHz than when using 5 GHz. To the same access point. This does not apply to other devices connected to the same access point. I wonder what is going on
20:37:05 <quintopia> issues with your adapter driver?
20:42:33 <Vorpal> quintopia: possibly? It is an old intel adapter
20:42:45 <Vorpal> cIntel Corporation PRO/Wireless 5100 AGN [Shiloh] Network Connection
20:42:58 <Vorpal> not sure where that c came from, it wasn't supposed to be there
20:43:19 <Vorpal> quintopia: the laptop is quite old. About 6.5 years I think
20:43:26 <Vorpal> It has a Core 2 Duo
20:59:35 -!- tjt263__ has changed nick to V3R4X.
21:03:32 -!- augur has quit (Remote host closed the connection).
21:10:45 -!- Elronnd has quit (*.net *.split).
21:10:45 -!- fizzie has quit (*.net *.split).
21:10:54 -!- fizzie has joined.
21:14:01 -!- earenndil has joined.
21:15:32 -!- earenndil has changed nick to Elronnd.
21:25:20 -!- vodkode has quit (Ping timeout: 252 seconds).
21:32:38 -!- vodkode has joined.
21:35:29 -!- augur has joined.
21:57:08 <zzo38> Do you like my idea of "HTCLS"? (Like ARIA, it would also be a set of HTML attribute with their own prefixes, although they have different purposes and meanings from ARIA. However, it can be combined with ARIA and other stuff too.)
22:10:04 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
22:15:28 <\oren\> you don't need a cable thruough the earth if we can do it with a neutrino beam
22:27:16 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
22:31:36 -!- augur has quit (Remote host closed the connection).
22:43:38 -!- oerjan has joined.
22:54:02 -!- augur has joined.
22:56:29 <fizzie> @metar EGLL
22:56:30 <lambdabot> EGLL 072250Z 22019G29KT 9999 -SHRA FEW006CB BKN015 08/07 Q0985 RESHGR RESHRA RERA TEMPO 4800 RA BKN010
22:56:46 <oerjan> <fizzie> I... guess they want to delete an article they wrote? <-- maybe the thesis didn't pass
22:56:56 <fizzie> oerjan: No, it's listed as successfully defended.
22:56:59 <fizzie> Also: RESHGR RESHRA RERA.
22:57:01 <oerjan> huh.
22:57:05 <oerjan> wat
22:57:16 <fizzie> The metar.
22:57:22 <oerjan> @metar ENVA
22:57:22 <lambdabot> ENVA 072250Z 25007KT 220V280 9999 FEW045 03/02 Q0977 RMK WIND 670FT 23010KT
22:57:32 <oerjan> today we have vicious ice
22:57:35 <fizzie> "WIND", what's that supposed to mean.
22:57:39 <oerjan> (it got my knee)
22:58:02 <oerjan> so shall we delete it?
22:58:25 <fizzie> I guess? I don't know what the common practice is.
22:58:46 <oerjan> (my initial predisposition is "yes", unless the language is particularly interesting. it's a BF derivative after all.
22:58:49 <oerjan> )
22:59:07 <oerjan> fizzie: well i've deleted by author request before, as has ais523.
22:59:25 <oerjan> very well, i'm going ahead.
22:59:37 <fizzie> Sounds reasonable. And no, I don't think it's any kind of crazy-notable.
22:59:40 <HackEgo> [wiki] [[Special:Log/delete]] delete * Oerjan * deleted "[[CBF (Cleverer Brainfuck)]]": Author request: content before blanking was: "{{delete| reason }} {{db-g7}} {{db-g7}}==Introduction== Programming language '''CBF''' was developed by Marcel Fiala, student of FIT BUT. This project started as procrastination, but turned out to be solid base for author..."
23:00:31 <fizzie> Since you're at it... https://esolangs.org/wiki/Brainfuck#Related_languages "LecRAM" points to a redirect to "CBR (Cleverer Brainfuck)
23:00:33 <oerjan> hm interesting, it showed the content of the revision i was looking at, not the blanked one.
23:00:46 <fizzie> Which is a redirect to CBF, which you just deleted.
23:00:49 <oerjan> fizzie: i have that in another tab, as i got a warning from the delete button.
23:01:00 <fizzie> Handy.
23:01:13 <fizzie> MediaWiki is smart!
23:01:42 <HackEgo> [wiki] [[Special:Log/delete]] delete * Oerjan * deleted "[[LecRAM]]": Broken redirect: content was: "#REDIRECT [[CBR (Cleverer Brainfuck)]]" (and the only contributor was "[[Special:Contributions/SEnergy|SEnergy]]")
23:01:48 <FireFly> It's all thanks to the delete button
23:02:25 <HackEgo> [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46369&oldid=46359 * Oerjan * (-13) Going whole hog
23:02:58 <HackEgo> [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46370&oldid=46317 * Oerjan * (-138) *Poof*
23:04:34 <HackEgo> [wiki] [[Special:Log/delete]] delete * Fizzie * deleted "[[CBR (Cleverer Brainfuck)]]": Broken redirect: content was: "#REDIRECT [[CBF (Cleverer Brainfuck)]]" (and the only contributor was "[[Special:Contributions/Esowiki201529A|Esowiki201529A]]")
23:04:38 <fizzie> One more for the road.
23:04:45 <oerjan> I WAS GETTING TO THAT
23:04:52 <fizzie> TOO SLOW
23:05:56 <HackEgo> [wiki] [[Brainfuck Sharp]] https://esolangs.org/w/index.php?diff=46371&oldid=44836 * Oerjan * (-30) no such link *MWAHAHAHA*
23:07:30 <int-e> just what we need... an editor war
23:07:39 <fizzie> Hmm. We have 291 orphaned pages, claims Special:LonelyPages. Is that altogether right?
23:07:45 <fizzie> I guess it doesn't count categories.
23:08:22 <int-e> under that assumption it's plausible
23:10:03 -!- boily has quit (Quit: FLIGHT CHICKEN).
23:10:04 -!- Phantom_Hoover has joined.
23:10:57 <fizzie> Some of these are not categorized, though.
23:11:14 <fizzie> After clicking at maybe five, two were "actual languages" (FSVO) that seem to be entirely orphan.
23:11:19 * oerjan checks the language list for mis-sorting and broken links
23:11:24 <oerjan> found none
23:12:27 <oerjan> i may not be able to keep up with the wiki, but at least i can keep things in order
23:14:50 <int-e> aejnor is our hero!
23:16:33 <int-e> > unwords . map sort . words $ "i refrained from sorting the other words as well"
23:16:35 <lambdabot> "i adeefinrr fmor ginorst eht ehort dorsw as ellw"
23:16:56 <int-e> and that was probably a good thing :)
23:20:36 <myname> i guess that particular sentence might have been readable
23:20:57 -!- augur has quit (Remote host closed the connection).
23:21:05 <int-e> yes, maybe
23:21:48 <oerjan> `learn Ginorst is eht aillpr fo dgoo iikw aaeegmmnnt.
23:22:00 <HackEgo> Learned 'ginorst': Ginorst is eht aillpr fo dgoo iikw aaeegmmnnt.
23:22:17 <int-e> > unwords . map sort . words $ "common and short words help a lot ( not tremendously )"
23:22:19 <lambdabot> "cmmnoo adn horst dorsw ehlp a lot ( not deelmnorstuy )"
23:22:36 <int-e> hah. "horst" doesn't work at all.
23:23:06 <myname> i don't get aillpr
23:23:15 <int-e> pillar
23:23:26 -!- p34k has quit.
23:23:32 <oerjan> **AAAAHHHMW
23:23:33 <myname> i have no clue what that means
23:23:47 <myname> that may be the problem
23:23:56 <int-e> free speech is a pillar of democracy
23:25:07 <myname> looked it up, makes sense
23:25:53 <fizzie> > let f (c : r) = c : g (reverse r); g (c : r) = reverse (c : (reverse . sort $ r)); g [] = [] in unwords . map f . words $ "on the other hand, sorting only the insides of words is perfectly readable, as usual"
23:25:55 <lambdabot> "on the oehtr hadn, sinortg olny the ideinss of wdors is pceeflrty raabdeel,...
23:26:07 <fizzie> Well, maybe pceeflrty is a bit too strong a word here.
23:26:36 -!- augur has joined.
23:26:38 <int-e> I was going to object indeed.
23:27:08 <int-e> There's the "skyline" theory for the middle part. And again, words shouldn't be too long.
23:27:26 <fizzie> (Also I got it a bit wrong with respect to punctuation that's attached to a word.)
23:27:52 <myname> yeah, i hate these people saying the order of letters don't matter because of one single text example that is crappy
23:28:13 <oerjan> `addquote <lambdabot> "on the oehtr hadn, sinortg olny the ideinss of wdors is pceeflrty raabdeel,... <fizzie> Well, maybe pceeflrty is a bit too strong a word here.
23:28:18 <int-e> > sort "oh well it could be worse"
23:28:18 <HackEgo> 1265) <lambdabot> "on the oehtr hadn, sinortg olny the ideinss of wdors is pceeflrty raabdeel,... <fizzie> Well, maybe pceeflrty is a bit too strong a word here.
23:28:19 <lambdabot> " bcdeeehilllooorstuww"
23:28:38 <fizzie> `words --finnish 10
23:28:43 <HackEgo> löytämästorista horstuvaltaneva teorgani luonivisevin käytyvimme temmenenne lohkerampanasi tuntiinisimpinänsä hutevälleen mainassammassa
23:29:04 <int-e> `words --german 10
23:29:08 <HackEgo> maricklumberen dasungs ster inters einlichkeitplastis botersatione kriederussena beppe hauployanitunt irrestütze
23:29:33 <fizzie> Einlichkeitplastis sounds quite believable.
23:29:41 <myname> well, no
23:29:49 <int-e> Indeed. Meaningless, but pretty plausible.
23:30:00 <myname> is is pretty unpopular as suffix for nouns
23:30:06 <int-e> myname: come on, reinlichkeitsfimmel exists!
23:30:15 <int-e> it is :)
23:30:18 <int-e> `words --german 10
23:30:20 <HackEgo> hinsmation punktionsbehand vermöglichs westandeformation analbesich morpolyphulz bögeneichtsfessenstisch verlandric reprädetes erdasjahrenschirnlei
23:30:25 <myname> except for things like diseases or the like
23:30:40 <int-e> "bögeneichtsfessenstisch" is a good one.
23:30:42 -!- tromp_ has quit (Remote host closed the connection).
23:31:06 <myname> i like westandeformation
23:31:52 <int-e> so is there a list of languages that `words supports?
23:31:56 <int-e> `words
23:32:00 <HackEgo> plunarwing
23:32:11 <int-e> `words --help
23:32:14 <HackEgo> Usage: words [-dhNo] [DATASETS...] [NUMBER_OF_WORDS] \ \ options: \ -l, --list list valid datasets \ -d, --debug debugging output \ -N, --dont-normalize don't normalize frequencies when combining \ multiple Markov models; this has the effect \ of making larger dataset
23:33:20 <fizzie> `words -l
23:33:21 <HackEgo> valid datasets: --eng-1M --eng-all --eng-fiction --eng-gb --eng-us --french --german --hebrew --russian --spanish --irish --german-medical --bulgarian --catalan --swedish --brazilian --canadian-english-insane --manx --italian --ogerman --portuguese --polish --gaelic --finnish --norwegian --esolangs \ default: --eng-1M
23:33:47 <int-e> `words --german-medical 10
23:33:48 <HackEgo> mukopempfnekräfte leukämischacharisch atologie resien protisches mulinsäuresens peräume hypotrologisch röntgenenalgie diffusiereudoall
23:33:57 <oerjan> `words --ogerman 10
23:33:58 <HackEgo> bildunstum konträhnt gefahrei durchaltern megesch motokaltung getriebsjagdmauen aufzufunkt elegere unisblätzent
23:34:11 <oerjan> what's the difference
23:34:40 <int-e> `words --eng-fiction 10
23:34:45 <HackEgo> comme que corr exel ascenta mic monotie nett cada coff
23:34:54 <int-e> odd.
23:35:11 <oerjan> fictional english is a lot more concise
23:35:17 <int-e> `words --esolangs 10
23:35:19 <HackEgo> rpos aura fooblecogscript vrejvax hell fullmachine thubi liorse noobare anoilog
23:35:22 <fizzie> oerjan: I think https://en.wikipedia.org/wiki/German_orthography_reform_of_1996 is the difference.
23:35:29 <oerjan> ah.
23:35:42 <fizzie> (Assuming it's the same naming convention as Debian ispell packages.)
23:36:02 <oerjan> `cat bin/words
23:36:03 <HackEgo> ​#!/usr/bin/perl \ use strict; use warnings; \ use v5.10; \ use open qw( :encoding(UTF-8) :std); \ use File::Basename 'dirname'; \ use Storable 'retrieve'; \ use List::Util qw(sum min); \ use Getopt::Long qw(:config gnu_getopt); \ BEGIN { \ eval { \ require Math::Random::MT::Perl; Math::Random::MT::Perl->import('rand'); \ }; \ #wa
23:36:30 <oerjan> `` ls share/*ord*
23:36:31 <HackEgo> share/dict-words \ \ share/WordData: \ Brazilian \ Bulgarian \ CanadianEnglishInsane \ Catalan \ Eng1M \ EngAll \ EngFiction \ EngGb \ EngUs \ Esolangs \ Finnish \ French \ Gaelic \ German \ GermanMedical \ Hebrew \ Irish \ Italian \ Manx \ Norwegian \ Ogerman \ Polish \ Portuguese \ Russian \ Spanish \ Swedish
23:36:52 <myname> wtf germanmedical
23:37:03 <oerjan> `head share/WordData/Eng1M
23:37:04 <HackEgo> pst012345678.............e....n....a.... ....d....m....s....'....ss6........e....u....a....t...rb.............eW...........n....a..........rt.......... ....s....y...........c...........k....'...........o..........t....quy........щ....т....н....тоя.
23:37:27 <oerjan> hmph no readable header
23:37:28 <myname> `words --german-medical 10
23:37:29 <HackEgo> equenzblätte tochichten kards nebendemen zonswundes oxativ axilocandler abdomeratische periopationens inhibierendem
23:37:31 <int-e> `? pst0
23:37:33 <HackEgo> pst0? ¯\(°​_o)/¯
23:37:34 <zzo38> Do you like this? http://zzo38computer.org/textfile/miscellaneous/htcls
23:37:42 <myname> these are great
23:37:54 <fizzie> Package: wgerman-medical (20160103-1): "This package provides the file /usr/share/dict/german-medical containing a list of German medical words."
23:38:34 <myname> how does it do that? rnn or the like?
23:38:50 <fizzie> Character trigrams or 4-grams, I forget which.
23:38:59 <fizzie> Nothing fancier than that.
23:39:29 <fizzie> Plus some futzing for the word length modeling, I think.
23:42:57 <fizzie> I've used fungot's system for doing the same, but the Funge code isn't capable of bunching the letters together, there's a hardcoded space between tokens (with some special handling for punctuation).
23:42:58 <fungot> fizzie: i'm just not too well. why? because advanced ircbots will need it
23:43:07 <fizzie> fungot: I'm sorry to hear that.
23:43:07 <fungot> fizzie: but i might send the gauche guys a mail with my name in the alist, right? it would be
23:43:24 <fizzie> fungot: Yeah, I think that's fine.
23:43:25 <fungot> fizzie: way to miss the bus because of that:
23:45:36 <fizzie> (The WordData/* files are Perl's "Storable" encoding.)
23:54:11 -!- gde33 has joined.
2016-02-08
00:02:50 -!- augur has quit (Remote host closed the connection).
00:04:25 -!- hppavilion[1] has joined.
00:08:46 <\oren\> anyone else watchin the handegg?
00:11:12 <\oren\> otherwise known as "armored rugby"?
00:11:35 <oerjan> <\oren\> you don't need a cable thruough the earth if we can do it with a neutrino beam <-- i think bandwidth / energy might be a problem there.
00:12:11 <oerjan> because you only detect a tiny fraction
00:13:15 <oerjan> (this concludes my logreading.)
00:14:17 * shachaf generates more logs.
00:14:18 <oerjan> > pi/2
00:14:20 <lambdabot> 1.5707963267948966
00:14:42 <oerjan> also, the time saving isn't that big compared to just going around...
00:15:06 <oerjan> shachaf: your scheme fails on account of me being on the channel hth
00:15:52 <shachaf> logs are logs
00:17:21 <\oren\> glog glog glog
00:31:25 -!- tromp_ has joined.
00:35:48 -!- tromp_ has quit (Ping timeout: 248 seconds).
00:50:58 -!- jaboja has joined.
00:51:18 -!- augur has joined.
00:51:48 -!- augur has quit (Remote host closed the connection).
00:52:33 -!- augur has joined.
00:54:34 -!- lynn has quit (Ping timeout: 256 seconds).
00:59:35 <hppavilion[1]> > pi/sqrt 2
00:59:37 <lambdabot> 2.221441469079183
00:59:42 <hppavilion[1]> @messages-
00:59:42 <lambdabot> boily asked 9h 48m 20s ago: since when are we misleading the topics? everything makes sense, eh?
01:00:23 <Elronnd> @messages
01:00:23 <lambdabot> You don't have any messages
01:00:25 <hppavilion[1]> @tell boily I didn't set the "misleading topics" thing
01:00:25 <lambdabot> Consider it noted.
01:00:38 <hppavilion[1]> @tell boily I just added "esoteric" for consistency
01:00:38 <lambdabot> Consider it noted.
01:01:02 <Elronnd> We should have the topic on revision control or something
01:01:20 -!- jaboja64 has joined.
01:02:35 -!- jaboja has quit (Ping timeout: 264 seconds).
01:05:08 -!- variable has joined.
01:09:05 <hppavilion[1]> Elronnd: GitHub for IRC?
01:10:18 <hppavilion[1]> Elronnd: Speaking of which, I should probably GitHub my personal server and client soon so people can actually visit my personal network
01:11:03 <Elronnd> isn't github really expensive though?
01:12:17 <hppavilion[1]> Elronnd: ...
01:12:17 <hppavilion[1]> No
01:12:26 <hppavilion[1]> GitHub is the free one, unless you want private repos
01:12:29 <hppavilion[1]> Which I don't
01:12:49 <hppavilion[1]> Or if you want their backend to run on your own servers, I think that's also expensive
01:12:51 <hppavilion[1]> Or at least big
01:13:25 <Elronnd> How would you put github on your server if you didn't get "their backend to run on your servers"?
01:15:30 <hppavilion[1]> Elronnd: No, I was going to put the server/client on the github website
01:15:36 <hppavilion[1]> Elronnd: I see the confusion
01:15:39 <Elronnd> ohhh
01:15:48 <Elronnd> that kind of personal server
01:15:54 <hppavilion[1]> I meant publish to github
01:16:06 <hppavilion[1]> Elronnd: It's like HTTP/BBS, but if you use it you look awesome
01:16:07 <Elronnd> yeah, I get it now
01:16:23 <Elronnd> but if I use it no one else can look at it
01:16:26 <hppavilion[1]> Because it's more a terminal application than anything else
01:16:28 <Elronnd> almost no one
01:16:34 <diginet> bitbucket doesn't everything github does, but better
01:16:46 <diginet> even better though: host your own git/hg repo
01:16:54 <diginet> it's not that hard
01:17:00 <hppavilion[1]> diginet: Yes, but I want exposue
01:17:03 <hppavilion[1]> *exposure
01:17:08 <diginet> it's hilarious how github has managed to centralize DVCS...
01:17:16 <hppavilion[1]> diginet: DVCS?
01:17:18 <Elronnd> lol
01:17:24 <diginet> distributed version control
01:17:26 <hppavilion[1]> Ah
01:17:28 <hppavilion[1]> xD
01:17:29 <Elronnd> hppavilion[1]: Decentralized Version Control System
01:17:30 <diginet> system
01:17:52 <diginet> I cannot tell you how many programmers I've met who don't know what to do when github goes down
01:17:54 <hppavilion[1]> Elronnd: Do you think the idea for a terminal-based command line-accessed server sounds cool?
01:17:54 <diginet> the irony is lost on them :/
01:18:02 <shachaf> What's centralized about it?
01:18:06 <diginet> server of what?
01:18:14 <shachaf> Things like bug tracking are centralized, but those are centralized with other systems too.
01:18:27 <hppavilion[1]> diginet: Just a little server that spits out user-created content
01:18:39 <zzo38> I do not use GitHub for my own projects
01:18:44 <diginet> so...some kind of social network?
01:18:50 <hppavilion[1]> diginet: Paired with a Qt-based pseudoterminal client
01:18:53 -!- tromp_ has joined.
01:19:03 <diginet> hppavilion[1]: why not just use a regular terminal?
01:19:05 <hppavilion[1]> diginet: Sort of, but it's not a website, so you look cool to everyone else when you use it
01:19:06 <diginet> that seems like a lot of work
01:19:10 <zzo38> Can you connect to it with a real telnet client?
01:19:14 <hppavilion[1]> diginet: Because I like doing GUI
01:19:20 <hppavilion[1]> zzo38: Probably not yet xD
01:19:28 <hppavilion[1]> zzo38: It's my own protocol
01:19:28 <diginet> ...but you're making a GUI to clone a CL UI?
01:19:31 <zzo38> Such thing should be added on then
01:19:35 <diginet> that seems redundant
01:19:37 <hppavilion[1]> zzo38: Perhaps I will
01:19:50 <hppavilion[1]> diginet: The GUI allows me to add formatting and images down the line
01:19:51 <diginet> I host my own hg repo on my VPS that I was already paying for, so in effect I have a "private" repo for free
01:20:12 <diginet> hppavilion[1]: plz tell me this isn't a clone of that godawful termkit thing
01:20:21 <hppavilion[1]> diginet: What's termkit?
01:20:36 <hppavilion[1]> So no, I guess. If I don't know what it is, I can't clone it xD
01:20:40 <diginet> hppavilion[1]: a really stupid project, the creator got all buttmad when people didn't fawn over it
01:20:46 <zzo38> Even xterm supports colors and pictures and so on though
01:20:59 <hppavilion[1]> diginet: I don't expect people to use it, but it'd be cool if somebody did
01:21:14 <hppavilion[1]> diginet: Part of the point is that you can easily engineer your own client or server from scratch
01:21:24 <diginet> hppavilion[1]: basically imagine a terminal which inexplicably uses Chrome for rendering thumbnails and stuff...it's like terminal but with web crap
01:21:26 <diginet> or whatever
01:21:28 <diginet> it was stupid
01:21:29 <hppavilion[1]> It literally uses string.split() for lexing AND parsing commands
01:21:30 <diginet> and immoral
01:21:40 <hppavilion[1]> diginet: Ah, yes, that's stupid. And immoral.
01:21:40 <diginet> that sounds nasty...
01:21:50 <hppavilion[1]> diginet: It is, but it works for now
01:21:51 <diginet> what language is this?
01:21:59 <hppavilion[1]> diginet: I sued python
01:22:01 <hppavilion[1]> *used
01:22:08 <diginet> I would sue python if I could
01:22:10 <diginet> for being awful
01:22:32 <hppavilion[1]> (I actually typoed "used" to "sued", realized my mistake, fixed it, then realized it was funny and unfixed it)
01:22:36 <hppavilion[1]> diginet: How so?
01:22:40 <diginet> hppavilion[1]: personal bias
01:22:43 <hppavilion[1]> Ah
01:22:53 <hppavilion[1]> diginet: Do you at all like my idea?
01:23:01 <diginet> I don't know enough to comment
01:23:05 <hppavilion[1]> OK
01:23:07 <diginet> hppavilion[1]: actually, my main issue with python is that it is too bloated
01:23:12 <zzo38> I myself happen to prefer JavaScript over Python too though
01:23:13 <hppavilion[1]> I can send you a session example
01:23:23 <diginet> zzo38: JS is far far far far worse
01:23:30 <diginet> there's not really a clear ly defined "core" of the language
01:23:35 <diginet> porting it is an utter nightmare
01:23:50 <hppavilion[1]> diginet: http://pastebin.com/xRnvGfJk is an example of a fairly boring session
01:24:13 <diginet> new idea: drop python and Qt and whatever else and use FreePascal
01:24:28 <diginet> hppavilion[1]: so it's like a BBS?
01:24:29 <hppavilion[1]> diginet: I'm planning to expand the client/server to allow powerful things like Dwarf Fortress-style game graphics
01:24:39 <hppavilion[1]> diginet: Yes, it is, I mentioned that
01:24:54 <diginet> ahh, I didn't read the backlog
01:24:57 <hppavilion[1]> diginet: I'm trying to modernize the concept of BBS in a way.
01:25:03 <diginet> I see
01:25:10 <diginet> well, that could be interesting I suppose
01:25:24 <diginet> ".porn"
01:25:26 <hppavilion[1]> diginet: Also, if someone sees you using it you look REALLY awesome from a non-programmer's perspective
01:25:26 <diginet> wat
01:25:32 <hppavilion[1]> diginet: Yes. .porn file.
01:25:44 <hppavilion[1]> diginet: Remember, it's part of the internet, so of course there's porn.
01:25:45 <diginet> TIL porn uses special container formats
01:25:51 <hppavilion[1]> Yep xD
01:25:54 <diginet> hppavilion[1]: so make it not internet
01:26:00 <diginet> no pr0n allowed
01:26:13 <hppavilion[1]> diginet: How do you not make something internet while still using sockets?
01:26:33 <diginet> hppavilion[1]: use twine and tin cans
01:26:34 <hppavilion[1]> diginet: Correct answer: You don't, sockets use the internet
01:26:51 <diginet> porn violates the categorical imperative
01:26:59 <hppavilion[1]> diginet: The wat?
01:27:09 <zzo38> You could use a local network I suppose
01:27:14 <diginet> and wait..how are you using complex numbers to refer to users?
01:27:18 <hppavilion[1]> zzo38: intranet?
01:27:21 <zzo38> Therefore it can use socket without needing internet
01:27:26 <diginet> you realized complex numbers only have partial order right?
01:27:29 <hppavilion[1]> diginet: That was a joke, though a client could do that if they liked
01:27:39 <diginet> hppavilion[1]: the categorical imperative. Do you even Kant?
01:27:43 <hppavilion[1]> diginet: It's largely a thing implemented by the server
01:28:02 <hppavilion[1]> diginet: I don't Kant. I Kant.
01:28:04 <zzo38> diginet: Do you know ES6?
01:28:11 <hppavilion[1]> http://cow.org/csi/
01:28:25 <diginet> zzo38: I'm familiar with it, it's just as shit as ES1-5
01:28:52 <diginet> hppavilion[1]: useful
01:28:59 <diginet> hppavilion[1]: do you even Deontology?
01:29:00 <zzo38> Well I think it is good, except, it doesn't have "goto", and "!yield*" is not acceptable
01:29:21 <diginet> JS is like a braindead Lua, IMO
01:29:28 <hppavilion[1]> diginet: Thank you!
01:29:36 <zzo38> However a few ES6 feature are not supported in Node.js yet I think
01:29:37 <hppavilion[1]> diginet: Lua: Glorified configuration
01:29:51 <diginet> Node JS is cancer
01:30:09 <diginet> hppavilion[1]: well considering that was one of its original purposes...I odn't see how that's bad
01:30:23 <hppavilion[1]> diginet: Part of the server is that much calculation is done by the server; the only real required feature is that it accepts text input and that "METHODS" gives you a list of methods
01:30:31 <diginet> Object Pascal is the one of the best languages ever designed
01:30:45 <hppavilion[1]> And the text part is really optional
01:31:40 <diginet> this sounds over engineered
01:31:45 <zzo38> I like C programming too though, I also make programming in C and also 6502 assembly language and BASIC and a few others
01:31:47 <hppavilion[1]> diginet: All the server needs to do is accept information from the socket and return `HEAD:body` information
01:31:56 <diginet> zzo38: C is awful
01:32:00 <hppavilion[1]> And if you've done that, then you have a server
01:32:11 <hppavilion[1]> The client then connects to it and sends user input
01:32:32 <diginet> it's one of the worst languages ever written. If you measure badness by costs wrt loss productivity due to hacking or loss assets, it may be the single most desctructive language ever
01:32:41 <diginet> why the hell are buffer overflows still aproblem in 2016?
01:32:48 <hppavilion[1]> `%conn <ip> [port]` connects to the server in my client
01:32:52 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: %conn: not found
01:32:54 <hppavilion[1]> Then any input you sent the server receives
01:32:58 <hppavilion[1]> Sorry, HackEgo
01:33:21 <hppavilion[1]> (I think we should start apologizing to HackEgo whenever we accidentally send an invalid command)
01:33:23 <zzo38> diginet: Because of bad programmers I expect
01:33:52 <diginet> zzo38: even good programmers fall victim to oversites, esp in million+ SLOC projects
01:34:04 <diginet> that's why you'd have to be braindead not to use a memory safe and type safe language
01:34:20 <hppavilion[1]> diginet: Rust?
01:34:25 <zzo38> I think one of my favorite feature of JavaScript is that you can make "function-oriented programming" with it.
01:34:32 <diginet> hppavilion[1]: rust is a kitchen sink language
01:34:48 <hppavilion[1]> diginet: All software sucks, all hardware sucks
01:34:53 <zzo38> This is a 6502 code: http://wiki.nesdev.com/w/index.php/User:Zzo38/Famicom_Z-machine
01:34:57 <diginet> it's a convoluted mess that adds no conceivable benefit over languages like object pascal
01:35:00 <diginet> hppavilion[1]: no, not really
01:35:14 <diginet> zzo38: how is that specific to JS though?
01:35:15 <hppavilion[1]> diginet: I would say yes
01:35:26 <diginet> it's equally true of Lua...and Python...and Perl...and Lisp...and countless others
01:35:47 <zzo38> diginet: It isn't specific to JS of course
01:36:01 <diginet> zzo38: nor is it esp well odne in JS
01:36:09 <diginet> theory: functional programming is the OOP of the 2010s
01:36:17 <hppavilion[1]> diginet: Haskell. Haskell is nothing but functional programming.
01:36:18 <zzo38> Yes you are right, it is better done in such thing as Haskell
01:36:29 <hppavilion[1]> Though closures are useful
01:36:36 <hppavilion[1]> I've used them before in serious code
01:36:36 <diginet> we see the same ridiculous overpromies we saw in the 90s with OOP
01:36:48 <diginet> "bug free code, OOM less lines" etc etc
01:36:49 <hppavilion[1]> Granted, that serious code was to implement a CL interpreter, but...
01:37:11 <diginet> and yet, Cabal is one of the buggiest pieces of software I've ever used
01:37:14 <diginet> but w/e
01:37:21 <zzo38> Do you like assembly language programming?
01:37:31 <hppavilion[1]> diginet: What features would you like to see in my server, OOC?
01:37:40 <hppavilion[1]> What would be a cool thing?
01:37:50 <diginet> zzo38: that's too broad a category, which asm?
01:37:50 <hppavilion[1]> Perhaps a built-in language? xD
01:37:55 <diginet> zzo38: VAX...sure
01:37:56 <hppavilion[1]> diginet: ELK ASM
01:38:00 <diginet> zzo38: x86, not so much
01:38:05 <diginet> hppavilion[1]: what's ELK?
01:38:12 <diginet> hppavilion[1]: OOC?
01:38:29 <hppavilion[1]> diginet: It's a VM/ASM/Infrastructure I'm making as my own .NET-like system
01:38:40 <hppavilion[1]> "Out Of Curiosity"
01:38:43 <diginet> ahh
01:38:46 <zzo38> Modern x86 is especially terrible, the old one was not quite as bad.
01:39:03 <hppavilion[1]> What's so bad about x86? in particular?
01:39:03 <zzo38> However, the assembly language programming I know best is 6502 assembly language programming, which I sometimes use.
01:39:04 <diginet> pre-286 was tolerable at best
01:39:13 <hppavilion[1]> I'm not saying it's good, but I don't know much x86
01:39:13 <zzo38> diginet: Yes, that is what I meant.
01:39:15 <diginet> hppavilion[1]: it's a nightmare
01:39:21 <hppavilion[1]> diginet: Such as?
01:39:47 <zzo38> In my opinion 6502 assembly language is good
01:39:56 <hppavilion[1]> zzo38: Perhaps you should port 6502 to modern machines xD
01:39:57 <diginet> hppavilion[1]: you have to memorize all kinds of weird, implicit rules about which instructions use which registers implictly
01:39:58 <hppavilion[1]> Somehow
01:40:01 <diginet> paucity of registers
01:40:09 <hppavilion[1]> diginet: Ah, yes, that sounds pretty shit
01:40:10 <diginet> weird, non-orthogonal addressing mode restrictions
01:40:24 <diginet> needlessly complicated booting procedure
01:40:41 <hppavilion[1]> IMHO, there should be instructions to do things on ANY register, and the assembler should simplify that to the builtins if applicable
01:40:52 <diginet> hppavilion[1]: interesting, I've been developinng my own VAXoid ISA
01:41:00 <diginet> hppavilion[1]: congratualtions, you just invented RISC
01:41:15 <diginet> along with a compiler for a Pascal/Oberon like language
01:41:28 <oerjan> <diginet> porn violates the categorical imperative <-- of course not. you just have to stream all your own sex too hth
01:41:41 <hppavilion[1]> So if ZA1 (set Auxiliary 1 to 0) exists, and you call SET %A1 0, it'll simplify to the former
01:41:50 <zzo38> THe 6502 is ported to modern machines, there are several emulators!
01:41:58 <diginet> oerjan: it violated the second formulation, that you never treat another human as a means to an end
01:42:06 <diginet> *violates
01:42:08 <hppavilion[1]> zzo38: Yes, but are there any that compile to x86?
01:42:21 <zzo38> I think I have read of such a thing once
01:42:25 <diginet> hppavilion[1]: not worth it
01:42:29 <hppavilion[1]> Not an emulator, mind you, but a compiler from 6502 to x86
01:42:40 <diginet> hppavilion[1]: this has been done from x86 to ARM
01:42:44 <hppavilion[1]> I figured something out yesterday
01:42:49 <diginet> hppavilion[1]: actually, wait
01:43:07 <diginet> hppavilion[1]: enjoy: http://andrewkelley.me/post/jamulator.html
01:43:20 <diginet> too bad it uses piece of shit language like Go
01:43:36 -!- jaboja64 has quit (Ping timeout: 250 seconds).
01:43:43 <hppavilion[1]> You can model data moving instructions as ordered pairs <d, s> where s >= 1 and d >= 0, where s is the length of the reference chain to the source and d is the reference chain to the destination
01:44:16 <hppavilion[1]> So <1, 0> is the SET instruction, <1, 1> is MOV, <2, 1> is IMOVL, etc.
01:44:17 <zzo38> I have designed a VM too, called QUACKVM and have written a few programs in it (a minesweeper game and a robot find kitten game are some)
01:44:37 <hppavilion[1]> zzo38: What makes for an optimal VM?
01:44:39 <diginet> zzo38: what kind of ISA?
01:44:44 <diginet> stack or register?
01:44:53 <hppavilion[1]> diginet: I know that his had 32 instructions, which was impressive to me
01:45:02 <diginet> what did?
01:45:10 <hppavilion[1]> diginet: QUACKVM
01:45:16 <hppavilion[1]> diginet: I've also been attempting to design a VM based on digraphs
01:45:23 <diginet> ..huh?
01:45:29 <diginet> a graph reduction machine you mean?
01:45:31 <hppavilion[1]> diginet: zzo38's VM
01:45:35 <diginet> oh
01:45:51 <zzo38> QUACKVM has memory-mapped stack and registers
01:46:01 <hppavilion[1]> diginet: No, like an actual machine code that could- in theory, given completely different models- be run on bare metal
01:46:34 <diginet> I...don't kinow what you mean bu that
01:46:44 <zzo38> The program counter is memory address zero, address one is the default stack pointer, and address two is a "quick access" register, instructions that take operands from cell two can use a shorter encoding than those at later addresses
01:47:51 <hppavilion[1]> zzo38: Is JMP not a builtin then?
01:48:13 <zzo38> Yes that is correct, JMP is not a builtin (although the assembler provides a macro)
01:48:22 <hppavilion[1]> diginet: I mean that it's a VM that uses a digraph w/ pointer instead of registers
01:48:25 <zzo38> (RETURN is not a builtin either)
01:48:36 <hppavilion[1]> zzo38: It's not a builtin in ELK either
01:49:01 <hppavilion[1]> zzo38: Just a macro for POPTO %1 \ CJMP %1
01:49:27 <hppavilion[1]> RETURN that is, not JMP
01:49:31 <hppavilion[1]> JMP is builtin (for now)
01:49:56 <zzo38> In QUACKVM, RETURN is a macro for "PUT ,,STACK"
01:49:58 <hppavilion[1]> zzo38: Though ELK has nearing on 128 instructions because I wanted floats to be builtin.
01:50:03 <hppavilion[1]> zzo38: Yes, you mentioned that
01:50:10 <hppavilion[1]> I don't really understand it xD
01:50:12 <zzo38> (Which encodes into a single memory cell)
01:50:23 <hppavilion[1]> Wait, I think I get it now
01:50:32 <hppavilion[1]> , separates instructions, right, right
01:50:52 <zzo38> No it does not separate instructions
01:50:59 <hppavilion[1]> I mean arguments
01:51:00 <hppavilion[1]> Sorry
01:51:01 <zzo38> Yes
01:51:05 <zzo38> That is correct
01:51:17 <hppavilion[1]> I meant arguments the first time
01:51:28 <zzo38> OK
01:52:14 <hppavilion[1]> `CALL line` in ELK is a macro for `PUSH <index of current line+1> \ JMP line`
01:52:15 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: CALL: not found
01:52:22 <hppavilion[1]> Sorry again, HackEgo
01:52:31 <hppavilion[1]> And CCALL is t a macro for the same, but with CJMP
01:53:58 <hppavilion[1]> diginet: THings get weird in that <s, d> notation if you allow negatives
01:55:24 <zzo38> QUACKVM does have CALL as a builtin, although all instructions use the same encoding (the instruction set is orthogonal), so a computed call is the same CALL instruction.
01:55:56 <hppavilion[1]> zzo38: You can do CALL as a builtin in QUACKVM if QUACKVM happens to have MOV, IIAC
01:56:24 <hppavilion[1]> Wait, no, that's CCALL
01:57:24 <hppavilion[1]> zzo38: At what point does a VM cease to qualify as a RISC?
01:57:34 <hppavilion[1]> I've read RISC doesn't imply less instructions that CISC
01:57:51 <hppavilion[1]> In fact, RISCs tend to have /more/ opcodes than CISCs
02:00:18 -!- AlexR42 has joined.
02:02:25 <zzo38> I don't know how it works
02:02:36 <zzo38> It seems to me people decide it arbitrarily
02:04:36 <hppavilion[1]> zzo38: Ah.
02:04:43 <oerjan> <diginet> oerjan: it violated the second formulation, that you never treat another human as a means to an end <-- according to wikipedia, you're missing an important "merely" there hth
02:07:35 <diginet> that still applies
02:07:42 <diginet> porn clearly violates the second formulation
02:07:50 <diginet> as told to me by an actual Kantian
02:07:52 <diginet> so..
02:09:05 <oerjan> so does buying chocolate and now i should stop.
02:11:19 -!- Hoolootwo has left ("Leaving").
02:11:22 <oerjan> *stop trolling.
02:11:28 -!- Hoolootwo has joined.
02:16:52 <hppavilion[1]> zzo38: Perhaps I should just have conditional SKIP instructions and make JMP and its conditional variants macros...
02:18:12 <zzo38> In QUACKVM, all instructions are conditional skip instructions.
02:18:38 <hppavilion[1]> So `JMP.Z condreg line` macros to `IFZ condreg %cond \ SKIPIF %cond \ SET %pc line`
02:19:04 <hppavilion[1]> zzo38: Interesting...
02:35:27 <hppavilion[1]> zzo38: OK, there are now 0x60 instructions in ELK
02:35:48 <hppavilion[1]> And 0x23 macros
02:36:06 <hppavilion[1]> Wait, 0x60 isn't counting SKIPIF
02:37:05 <hppavilion[1]> 0x61
03:05:40 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
03:08:25 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
03:08:35 <HackEgo> [wiki] [[Generic 2D Brainfuck]] https://esolangs.org/w/index.php?diff=46372&oldid=43414 * 216.58.126.185 * (+1) "d moves pointer counter down and r does too? I don't think so!"
03:11:19 -!- boily has joined.
03:15:42 <\oren\> RS419236755NL
03:17:37 <\oren\> why is everything i order from china being shipped from rotterdam
03:19:49 <hppavilion[1]> \oren\: Could it be because it ships through the Netherlands/
03:19:51 <hppavilion[1]> *?
03:20:21 <\oren\> Tracking number
03:20:36 <\oren\> RS375708670NL
03:20:44 <\oren\> that one too
03:20:57 <boily> he\\orenederlands\.
03:21:03 <boily> @massages-loud
03:21:03 <lambdabot> hppavilion[1] said 2h 20m 37s ago: I didn't set the "misleading topics" thing
03:21:03 <lambdabot> hppavilion[1] said 2h 20m 24s ago: I just added "esoteric" for consistency
03:21:22 <boily> hppavilion[1]: hppavellon[1]. I was mislead. tdh.
03:22:59 <\oren\> oh, my other package is actually in china
03:23:20 <\oren\> the tracking status is 【广州互换局】已出口直封 which seems legit
03:24:11 <\oren\> RI853168115CN
03:24:33 <\oren\> oh, i see 广州 = Guangzhou
03:25:01 -!- boily has quit (Quit: TAPPED CHICKEN).
03:44:22 -!- lleu has quit (Quit: That's what she said).
03:52:02 -!- Elronnd has changed nick to fnurgle.
03:52:05 -!- fnurgle has changed nick to fnurggle.
03:52:10 -!- fnurggle has changed nick to Elronnd.
04:16:07 -!- mad has joined.
04:16:27 <mad> https://www.youtube.com/watch?v=tK50z_gUpZI <- guy trash talks garbage collection
04:19:38 <hppavilion[1]> Hi, mad!
04:19:59 <hppavilion[1]> I'm making a VM called ELK that is meant to be an alternative to CLR! I'm a bit of an idiot!
04:22:18 <mad> oh?
04:23:15 <hppavilion[1]> mad: It's made to work like the common language runtime, but not be microsoft
04:23:22 <hppavilion[1]> Literally, my design principals are:
04:23:34 <hppavilion[1]> * Have the cool interaction-between-language feature of the CLR
04:23:48 <hppavilion[1]> * Note to self: Don't be Microsoft
04:25:00 <\oren\> AAAAAAAAAAAA
04:26:17 <\oren\> mad: the problem is these people reek of fake expertise
04:27:42 <mad> \oren\ : what makes you think that
04:28:40 <\oren\> just a general feeling, plus, seriously, if the Ouya is open source, then there is absolutely nothing that can prevent them from releasing and running native executables?
04:29:32 <mad> I'm not familiar with the ouya, I guess it did have the native executable fixes that android got
04:29:56 <mad> though to be fair I think Java in android was a stupid idea and should never have been done
04:32:26 <mad> and they are game programmers so of course they're going to trash talk java
04:33:23 <oerjan> sheesh scott aaronson's blog theme reset again
04:33:39 <oerjan> this is the third time, i think. he needs a more permanent fix to that bug.
04:34:14 <oerjan> (which is technically a "we don't support your php any more" type of bug iirc)
04:34:17 <mad> \oren\ : also, if the ouya store only takes java games, you're screwed
04:35:10 <\oren\> bah, some of the most memorable games I played as a kid were written in ActionScript
04:35:42 <mad> and didn't run at 60fps :D
04:35:46 <\oren\> yeah
04:36:50 <mad> funny, some of the most memorable games I played as a kid were written in 65816 assembly
04:36:57 <mad> and ran at 60fps
04:37:19 <mad> on a 3mhz system with barely any ram to talk of
04:39:34 <oerjan> *any more, so we sometimes delete all of it
05:09:58 -!- variable has quit (Quit: 1 found in /dev/zero).
05:18:33 <zzo38> I can program in 6502 assembly, not 65816 though
05:21:10 <mad> One of my pet projects is looking at the 6502 to see if you could 32bit-ify modernize it and stuff
05:23:05 <Elronnd> mad: by 60fps do you mean 60fpm?
05:23:45 <mad> snes games run at 60fps
05:24:14 <mad> nobody had an apple2gs which I admit typically runs at 60fpm :D
05:24:52 <Elronnd> yay
05:26:51 <zzo38> I find 6502 is OK as it is, although I use the stable unofficial opcodes too (they can be used only on NMOS 6502 or on other implementations of the NMOS 6502 instruction set)
05:29:17 * oerjan isn't sure what is happening in today's girl genius but he doubts it's proper handling of books
05:34:51 <mad> zzo38 : anu useful ones?
05:36:27 <zzo38> Do you mean useful unofficial opcodes? They can be useful for different purposes, I have used LAX, ARR, ANC, and others too
05:46:34 <pikhq_> mad: Yes, several of them were used fairly often back in the day.
05:48:03 <mad> lax loads both lda and ldx at the same time?
05:48:26 <zzo38> mad: Yes.
05:48:34 <pikhq_> Yep.
05:49:00 <mad> I can see how that could be useful
05:49:06 <zzo38> (However it does not work correctly with the immediate addressing mode, so LAX should be used only with non-immediate addressing modes.)
05:51:59 <zzo38> Here is the explanation: http://wiki.nesdev.com/w/index.php/Programming_with_unofficial_opcodes
05:53:23 <zzo38> One .NSF file I released starts with the instruction "EOR #0" in order to create a patch point, so that the multi-song NSF can be converted into a single-song NSF of any of the songs, without having to recompile the entire program.
05:56:20 <zzo38> However I noticed that the instruction that would be "STA immediate" actually does nothing and does not overwrite the instruction.
05:57:01 <zzo38> (If it did, it would probably be convenient for fast bankswitching)
05:58:28 <mad> it's hard to make a faster version of the 6502 is what I mean
06:01:08 <\oren\> why?
06:01:29 <\oren\> can't you just make the chip smaller and the clock faster?
06:01:57 <mad> yes but you're still reading opcodes directly from DRAM
06:02:07 <mad> with a full access cycle every time
06:04:29 <mad> like, if you put it in competition with a MIPS or an ARM it will lose badly
06:05:10 <mad> because they use their memory cycles much more efficiently
06:06:45 <zzo38> Still I do not like the automatic reordering and automatic stalling and automatic caching and so on of many newer instruction sets, and I believe they should be done explicitly, although also some instruction might just not return the result right away (such as multiplication register for example) and you can do other stuff in between
06:09:25 -!- XorSwap has joined.
06:10:15 <mad> actually what I like about the idea of a modernized 6502 is the potential for new ways to do automatic reordering and automatic stalling and automatic caching
06:13:36 <mad> provided that you take out the stuff that tends to create stalls and doesn't help throughput too much
06:19:07 <hppavilion[1]> In my ELK ASM, I was at first going to make conditional JMPs macros (using SKIPIF), but I was told that it's better to make the important ones builtin for efficiency
06:19:54 <hppavilion[1]> mad: zzo38: everyone else: We should team up as the Council of Eso and construct the world's best ISA
06:20:06 <mad> I have some ideas
06:20:11 <hppavilion[1]> mad: Such as?
06:20:26 <mad> ok you know how a RISC is like
06:20:31 <hppavilion[1]> mad: Also, ICYC, ELK is documented at https://docs.google.com/document/d/1ZFHwxE0AqpW9nRqTjLMPKZ68RUubLsYGRozKAwTI68s/edit#
06:20:33 <hppavilion[1]> Yes
06:20:35 <mad> add r0, r4, r5
06:20:44 <mad> (add r4 to r5 and store in r0)
06:20:46 <hppavilion[1]> Yeah, that's pretty much ELK
06:21:05 <hppavilion[1]> Where instructions take one (or at most 2, but rarely) CPU cycles to complete
06:21:14 <mad> ok I'd look into doing an architecture where instead you go
06:21:47 <hppavilion[1]> Not necessarily less instructions, but less complicated instructoins
06:21:50 <hppavilion[1]> *instructions
06:22:04 <mad> actually I'm looking into "less retirement"
06:22:21 <mad> so instructions that don't write to any register / flag / memory are GOOD
06:22:26 <hppavilion[1]> Ah
06:22:32 <mad> because you have one less register to rename
06:22:40 <mad> one less write port to the register file
06:23:05 <mad> the problem with a sequence, like
06:23:14 <hppavilion[1]> mad: So the instructions don't have to have a target?
06:23:17 <mad> add r4, r4, r5
06:23:21 <hppavilion[1]> mad: I am confus
06:23:25 <mad> shr r4, r4, 16
06:23:29 <hppavilion[1]> shr?
06:23:33 <mad> shift right
06:23:34 <hppavilion[1]> Don't know what shr does
06:23:38 <hppavilion[1]> Ah!
06:23:40 <hppavilion[1]> I prefer RSH
06:23:48 <hppavilion[1]> But that works
06:23:54 <mad> ok, well, you're writing to two a register twice
06:24:03 <hppavilion[1]> Ah
06:24:05 <mad> even though the first value will never be used anywhere
06:24:10 <hppavilion[1]> Interesting...
06:24:21 <mad> so what I'm suggesting is:
06:24:31 <mad> every instruction writes to the accumulator
06:24:36 <hppavilion[1]> Oooh
06:24:42 <hppavilion[1]> Except, of course, ACC and DACC?
06:24:53 <mad> and you can also have that value copied to some other register
06:24:59 <mad> the sequence becomes
06:25:05 <zzo38> I have had similar idea before
06:25:12 <mad> add (ac), r4, r5
06:25:12 <hppavilion[1]> That's how a lot of my languages look
06:25:36 <mad> shr (ac), ac, 16 and also write the result to r4
06:26:14 <hppavilion[1]> mad: Taking it one step further, you could do ACC r4; INC r5; SHRI 16; DACC r4
06:26:29 <hppavilion[1]> mad: I don't see what makes this any more efficient though
06:26:37 <hppavilion[1]> Or otherwise better
06:26:40 <mad> hppavilion[1] : I've considered that too
06:27:03 <mad> the catch being that it turns a 2 cycle sequence into a 4 cycle sequence
06:27:11 <hppavilion[1]> Ah?
06:27:20 <mad> lower latency is good
06:27:22 <hppavilion[1]> Oh, right
06:27:45 <hppavilion[1]> mad: That might be more efficient for some types of program, but not all
06:27:57 <mad> well, you could have VLIW style fusion
06:28:01 <hppavilion[1]> ?
06:28:03 <mad> have every op being
06:28:09 <hppavilion[1]> Oh, Very Long Instruction Word
06:28:11 <Lymia> guh
06:28:18 <Lymia> Android-x86 is a piece of crap.
06:28:21 <hppavilion[1]> Larger programs- the ones that are actually compiled and need to be efficient- would probably be /less/ efficient
06:28:26 <mad> [otional ACC], alu operation, [optional DACC]
06:28:28 <Lymia> It has lost in every single way I can think of so far.
06:28:44 <mad> and have the whole 1-3 instruction sequence fit into a single 32bit word
06:28:50 <hppavilion[1]> mad: Ooooh
06:28:53 <hppavilion[1]> That sounds interesting
06:28:56 <mad> that way you can pretend it's a 3 instruction sequence for the programer
06:29:05 <mad> except it's still a single instruction for the CPU
06:29:54 <hppavilion[1]> mad: We could have some alternative syntax to make it easier to assemble and more obvious how it works
06:30:10 <mad> true
06:30:35 <mad> ok next step is that you tend to have instruction sequences that are, like,
06:30:51 <mad> ACC alu, alu, alu, alu, alu DACC
06:31:04 <hppavilion[1]> e.g. `^5 -> RSHI 16 -> _r5` is accumulate-shift-disaccumulate
06:31:10 <hppavilion[1]> mad: OK...
06:31:15 <hppavilion[1]> So OLIW?
06:31:21 <hppavilion[1]> Obscenely Long Instruction Word
06:31:29 <hppavilion[1]> (c)
06:31:29 <mad> ok well what if you have two sequences like that one after the other
06:31:36 <mad> ACC alu, alu, alu, alu, alu DACC, ACC alu, alu, alu, alu, alu DACC,
06:31:42 <mad> well
06:31:45 <Lymia> \o/
06:31:51 <Lymia> It's 4.4 build actually works on Virtualbox.
06:31:57 <hppavilion[1]> mad: You should make a proof of concept so it's easier to understand
06:31:58 <mad> you can run those 2 sequences in PARALLEL
06:32:01 <hppavilion[1]> Whoa
06:32:09 <Lymia> The 5.1 build, for some reason, apparently is missing a tablet interface
06:32:21 <mad> the CPU only needs to know in advance what registers the DACC instructions are writing to
06:32:22 <hppavilion[1]> mad: mind.state == mindestates.blown
06:32:54 <hppavilion[1]> (the "e" is cannonical"
06:32:56 <hppavilion[1]> *)
06:33:13 <mad> in fact you can guess that there's a new execution thread starting every time an ACC instruction appears
06:33:14 <hppavilion[1]> mad: How would JMPing work? And conditionals?
06:33:38 <mad> not 100% sure yet
06:34:05 <mad> probably someting like jz / jnz on the accumulator value
06:34:10 <hppavilion[1]> mad: Perhaps every ACC alu* DACC is put in a hardwired WHILE loop?
06:34:19 <mad> and some cmp alu opcode
06:34:28 <hppavilion[1]> With a series of BREAK conditions
06:34:35 <zzo38> One of my idea was VLIW microcode and that microcodes can be user-programmable and self-modifying; the external instruction set is something like old 8-bit instruction sets but can be modified by the program.
06:34:40 <mad> or a jmp instruction that compares the alu to some register and jumps if the comparison is true
06:34:57 <hppavilion[1]> mad: How about the call stack?
06:35:10 <mad> I like how RISCs handle the call stack
06:35:19 <hppavilion[1]> How do they?
06:35:26 <mad> JL (jump and put jump source in a preset register)
06:35:33 <hppavilion[1]> Oooh
06:35:34 <mad> aka "jump and link"
06:35:45 <hppavilion[1]> mad: That doesn't sound very RISCy
06:35:48 <mad> then to return you call j LR
06:35:55 <zzo38> Another of my ideas was to have a conditional move instruction, the jump is just the "load pc", and immediate addressing mode is actually "pc indirect with postincrement"
06:35:58 <mad> hppavilion[1] : why not?
06:36:01 -!- hppavilion[1] has set topic: Joining this channel is a RISCy move | 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 ♪.
06:36:13 <mad> it does call and return in 2 opcodes
06:36:34 <mad> (jump and link, and simple jumping to a register address)
06:36:39 <mad> none of which write to memory
06:36:49 <hppavilion[1]> mad: Because it can be decomposed into two opcodes: PUSH <current line> and JMP <destination>
06:36:58 <mad> push is WAY more complex
06:37:03 <hppavilion[1]> mad: Is it?
06:37:09 <mad> yes
06:37:11 <zzo38> Yes it clearly is
06:37:11 <hppavilion[1]> Also, how do you do recursion without a stack?
06:37:16 <mad> jl DOESNT TOUCH THE MEMORY
06:37:22 <mad> that's a 100x win
06:37:25 <hppavilion[1]> zzo38: OK, yeah, it's kind of obvious that it is xD
06:37:37 <mad> hppavilion[1] : you use a stack
06:37:43 <hppavilion[1]> I think I'll add LEAFCALL to my ASM
06:37:50 <mad> it just doesn't have to be melded into the call opcodes
06:38:03 <mad> like a typical version goes
06:38:04 <zzo38> I think I have read about a VM that has a branch and link instruction, although you could specify what register rather than only one register
06:38:07 <hppavilion[1]> mad: Perhaps have a 4-bit mini-opcode (nested ISA) that allows for conditions to be done?
06:38:08 <mad> jl _function
06:38:15 <mad> ..
06:38:15 <mad> ..
06:38:17 <mad> _function:
06:38:24 <mad> sub sr, 4
06:38:36 <mad> st lr, [sr]
06:38:53 <mad> (function body goes here)
06:39:07 <mad> ld lr, [sr]
06:39:12 <mad> add sr, 4
06:39:14 <mad> j lr
06:39:17 <hppavilion[1]> Well, 4-bit opcode, 2 n-bit (where n=ceil(log[2](regcount))) arguments
06:39:24 <hppavilion[1]> mad: Don't put code IN the channel xD
06:39:48 <mad> like, you need zero stack opcodes
06:40:04 <hppavilion[1]> mad: OK, here's what I've got. Assuming 64-bit architecture
06:40:11 <hppavilion[1]> Every instruction word is of this form:
06:40:53 <zzo38> You could also use different addressing modes to deal with stack instead of stack opcodes, such as "register indirect with postincrement" and so on. If PC is also one of those registers then immediate addressing is also the same one
06:41:22 <mad> zzo38 : the problem with those is that you have instructions that write to 2 registes
06:41:24 <mad> not good
06:41:32 <mad> register writes are bad
06:41:52 <mad> that being said ARM does have them
06:42:04 <mad> and yes it does use them for the stack
06:42:45 <mad> PC probably really shouldn't be a general purpose register
06:43:19 <mad> if you're running 1 instruction per cycle you're fine
06:43:37 <mad> but once you're doing multiple stuff then the PC really isn't ever where you expect anyways
06:44:06 <mad> due to all the caching, branch predicting etc
06:44:17 <zzo38> That's why you don't execute multiple instructions per cycle, you instead execute an instruction that can do multiple things, and don't use branch prediction and so on
06:45:41 <zzo38> (QUACKVM, which is designed purely for VM and not fore hardware, has the PC at address zero, and this is mainly how to deal with flow controls)
06:46:04 <mad> well, the problem with "multiple thing" instructions is that they tend to be overly complex
06:46:19 <mad> that's why they got booted out on RISCs
06:46:25 <mad> they weren't making anything faster anyways
06:46:51 <mad> zzo38 : PC at zero is bad
06:47:07 <hppavilion[1]> mad: http://pastebin.com/wz3WwSbF
06:47:13 <mad> zzo38 : because then any memory write turns into a potential surprise jump
06:47:13 <hppavilion[1]> That's what I have so far
06:47:49 <hppavilion[1]> That's for each individual word
06:47:52 <hppavilion[1]> mad: The header is 2 bytes, which gives the number of conditions used for this thread
06:48:29 <zzo38> It is not for hardware though, hardware should use proper register instead anyways
06:48:55 <hppavilion[1]> It is followed by that many conditions, which are of the form of 1 byte for a "condition group", 1 byte for the condition opcode, then 2 8-byte groups for the arguments (assuming a 64-bit architecture)
06:49:18 <mad> hmm
06:49:33 <mad> problem with conditionals is
06:49:34 <hppavilion[1]> The "condition groups" are based off of Prolog- basically, ALL conditions in AT LEAST ONE condition group must evaluate to true for it to be counted as true
06:49:52 <hppavilion[1]> mad: It's just for threads to repeat indefinitely
06:50:04 <hppavilion[1]> mad: It's probably a stupid idea, but I'd like to explain it :)
06:50:26 <hppavilion[1]> If at least one condition group is all true upon testing, the loop terminates
06:50:40 <hppavilion[1]> Then, you have the start and term conditions
06:51:23 <hppavilion[1]> Which starts with a 1 byte "flag header" that tells the (probably virtual) machine which are used and which are not
06:52:17 <mad> oh? what are some typical flags?
06:52:17 <hppavilion[1]> Then you have up to 8 (the exact number is equal to the hamming weight of the flag header) 8-byte (64-bit architecture again) things that tell it what the target registers are
06:52:40 <hppavilion[1]> mad: The flags include ACCREG and DACCREG
06:52:58 <hppavilion[1]> Basically, each flag tells it that a given target is present
06:53:31 <hppavilion[1]> So if the flag for optional ACC is true, then the first thing is the optional ACC register argument
06:53:44 <mad> hrm
06:53:50 <hppavilion[1]> mad: I take it you have no clue what's going on?
06:53:55 <hppavilion[1]> I'm pretty bad at explaining
06:54:22 <mad> I have an idea but I don't get the reasons for these :D
06:54:37 <hppavilion[1]> mad: Well, do you understand the condition thing?
06:54:50 <mad> I don't quite undersant what it's for
06:54:52 <hppavilion[1]> Oh, you DO have an idea
06:55:03 <hppavilion[1]> mad: It's as a potential substitute for JMP
06:55:22 -!- XorSwap has quit (Quit: Leaving).
06:55:23 <mad> mhm
06:55:33 <hppavilion[1]> Each [ACC] alu* [DACC] group has a WHILE loop over it that terminates when one of its condition groups is met
06:55:36 <hppavilion[1]> fully
06:55:50 <hppavilion[1]> I don't know if it'll work as a substitute for JMP, but it might
06:55:57 <mad> actually in the kind of stuff I'm going for the JMP instructions can be exactly like on MIPS except for the delayed branch stuff
06:56:06 <mad> or like on ARM without the flags register
06:56:18 <hppavilion[1]> mad: If you don't like it, I could just put it in my own separate thing ;)
06:56:19 <zzo38> Once when trying to make a schematic diagram of CPU, I made it all operation are by register, the only instruction is to copy one register to one register and then it jump to specified address, but that is only half of the program counter and the other half is one of the register that you can write on
06:56:34 <mad> it's just that I have a different design goal
06:56:40 <hppavilion[1]> mad: Yeah, I figure
06:56:44 <hppavilion[1]> It's completely fine
06:56:52 <mad> my goal is simple: out of order cpu without having to to the whole tomasulo algorithm
06:56:55 <hppavilion[1]> I just want to make an OLIW architecture xD
06:57:00 <hppavilion[1]> Ah
06:57:14 <hppavilion[1]> mad: Are you interested in hearing about mine at all, or should I stop explaining?
06:57:15 <mad> so basically I'm looking at having instruction groups as well
06:57:19 <mad> but for a different reason
06:57:48 <mad> well, yours has some interesting commonality so I'll try to explain
06:58:25 <izabera> googling quackvm, first result is a 2012 paper by VM Quack
06:58:41 <mad> RISC is good but it has too many useless register reads/writes, so to do 4 ops per cycle you need an insane 8-read port 4-write port register file
06:58:41 <izabera> http://www.ncbi.nlm.nih.gov/pubmed/22718583
06:58:51 <hppavilion[1]> mad: OK...
06:58:59 <mad> plus same thing for renaming all the registers but with even more associativity etc
06:59:08 <hppavilion[1]> mad: My idea is at least inspired by your uber-threading thing you explained
06:59:24 <mad> yes this is the uber-threading thing that I've refined more
06:59:38 <zzo38> izabera: Well, it is not what I mean. The one I mean is: http://zzo38computer.org/prog/quackvm.zip
06:59:45 <hppavilion[1]> OK
06:59:51 <mad> to be able to uber-thread code, you need to rename all the registers
06:59:56 <hppavilion[1]> Ah
07:00:23 <mad> so every time you have a write to a real register, you have to pull out a new register name out of the available register name queue
07:00:48 <hppavilion[1]> OK...
07:00:54 <hppavilion[1]> And you want to write to an accumulator instead?
07:01:10 <mad> accumulator writes don't have to be renamed, correct
07:01:33 <hppavilion[1]> OK
07:01:48 <mad> if you look at a bunch of code, normally it should be made out of a bunch of short sequences that go
07:02:10 <mad> ACC alu, alu, alu.. alu DACC, ACC alu, alu, alu.. alu DACC, ACC alu, alu, alu.. alu DACC,
07:02:29 <mad> so you look at the target of each one of those DACCs
07:02:36 <hppavilion[1]> OK
07:03:05 <mad> also you look if that target reappears right after in the following ACC and alu opcodes
07:03:11 <mad> this can be cached
07:03:22 <hppavilion[1]> OK
07:03:29 <hppavilion[1]> I say OK a lot
07:03:30 <mad> you rename those to be the same as the register you got for the DACC
07:03:37 <mad> ok
07:03:40 <hppavilion[1]> xD
07:03:50 <mad> all the other ACC and alu register sources you also rename
07:04:04 <mad> to the previous names for those registers
07:04:27 <mad> example:
07:05:44 <mad> ACC r4, shr 16, DACC r0, ACC r5, shr 14, add r0, DACC r1, ACC r6, shr 12, add, r1, DACC r2
07:06:10 <mad> ok you can issue all of those in 1 cycle to 3 micro thread units on your cpu
07:06:27 <mad> all you have to do is come up with a new virtual register for r0, r1, r2
07:06:34 <hppavilion[1]> OK
07:06:37 <hppavilion[1]> That makes sense
07:06:44 <mad> let's say v20, v21, and v22 are available
07:07:33 <mad> and let's say r4 is currently renamed to v10, r5 <= v11, r6 <= v12
07:07:46 <mad> ok well then you can rename the whole lot to
07:09:02 <mad> ACC v10 shr 16 DACC v20; ACC v11 shr 14, add v20 DACC v21; ACC v12 shr 12, add v21 DACC v22
07:09:58 <mad> then you can simply queue in your alu1 to execute the first part of the renamed instructions, alu2 to execute the second part, and alu3 to execute the third part
07:10:00 <hppavilion[1]> And execute those all in parallel?
07:10:03 <mad> yep
07:10:17 <hppavilion[1]> Interesting
07:10:23 <mad> also each virtual register needs a valid bit
07:10:24 <hppavilion[1]> That is definitely related to my idea xD
07:10:42 <mad> so that 3rd unit doesn't read v21 before the value actually goes live
07:11:13 <mad> it's also possible to have a micro-thread that writes more than 1 register
07:11:19 <hppavilion[1]> OK..
07:11:20 <hppavilion[1]> .
07:11:35 <hppavilion[1]> mad: We should invent THE most long-word architecture ever built
07:11:46 <hppavilion[1]> Without just using unnecessary padding
07:11:55 <mad> something like ACC v10 add 4 DACC v11, add 4 DACC v12
07:12:29 <mad> I can propose an instruction format but it's a bit hair raising :D
07:12:32 <hppavilion[1]> ("unnecessary padding" would be something like having kilobyte-long opcodes)
07:12:40 <hppavilion[1]> mad: OK?
07:12:52 <hppavilion[1]> I think my OLIW is pretty extreme
07:13:07 <mad> ok first thing its easier to rename registers if you have different rename partitions
07:13:13 <hppavilion[1]> OK
07:13:17 <mad> like have r0, r4, r8, r12, r16 in the first partition
07:13:23 <mad> r1, r5... in the second
07:13:29 <mad> r2, r6... in the third
07:13:35 <mad> r3, r7... in the fourth
07:13:57 <mad> ok opcode goes:
07:15:08 <mad> [partition 1 nop/write to registerX] [partition 2 nop/write to registerX] [partition 3 nop/write to registerX] [partition 4 nop/write to registerX]
07:17:27 <mad> alu op1: [[nop/ACC +rename reg flag] alu-op[+rename reg flag] [nop/DACC]]
07:17:32 <mad> alu op2: [[nop/ACC +rename reg flag] alu-op[+rename reg flag] [nop/DACC]]
07:17:36 <mad> alu op3: [[nop/ACC +rename reg flag] alu-op[+rename reg flag] [nop/DACC]]
07:17:46 <mad> etc... for all the alu ops in the group
07:18:33 <mad> [micro thread 1 start/end points] [micro thread 2 start/end points] ... [micro thread N start/end points]
07:19:33 <mad> [offset to memory load opcode in the alu opcodes][offset to memory store opcode in the alu opcodes]
07:19:53 <mad> and that's it!
07:20:24 <mad> with potentially 2 memory load opcodes if the data cache can handle 2 loads per cycle
07:20:30 <\oren\> hmm what if the 6502 and all its memory were together on one chip
07:20:35 <mad> all of this can be issued in 1 cycle
07:20:52 <mad> as long as you rename every single register read
07:21:13 <mad> and you don't have any more than 4 register writes and they all end up on different partitions
07:21:36 <\oren\> and then you have an asynchonous mechanism for paging things from the fast memory to a much larger slow address spae
07:21:52 <mad> \oren\ : still not efficient compared to a MIPS with all its memory together on one chip :D
07:22:30 <\oren\> see most 6502 ode uses the zero page as registers
07:23:14 <mad> \oren\ : yes but there's always the menace that some absolute or indirect address opcode writes into the zero page
07:23:30 <mad> that prevents you from turning the zero page into a register file :(
07:23:34 <hppavilion[1]> ode to 6502
07:23:49 <\oren\> not sure why?
07:24:07 <mad> ok suppose you have
07:24:49 <hppavilion[1]> \oren\: I want to make the most LIW architecture ever
07:24:51 <mad> lda #0, sta [some address that later turns out to be zero page], lda $40, adc $44
07:24:57 <hppavilion[1]> \oren\: Do you have any ideas?
07:25:36 <hppavilion[1]> LIW as in VLIW, but not necessarily parallel
07:26:49 <mad> if you were guaranteed that "sta [some address that later turns out to be zero page]" won't write to $40 or $44 then you could pipeline those operations while the long sta executes and replace the slow memory reads they do with fast register reads
07:27:02 <\oren\> see but that's the key, you don't need it to be out of order, because the chip as designed runs all the way through with each cycle
07:27:37 <mad> then you have to wait till sta does the whole address calcuation
07:27:49 <mad> which is potentially up to 5 cycles or something
07:31:12 <mad> compared to the equivalent MIPS sequence which is something like li $1, 0x0 sw $1, [some address] addu $10, $10, $11
07:31:17 <mad> you're coming way behind
07:32:10 <mad> the MIPS sequence runs in 3 cycles (2 if you're dual issue, 1~ish on an out-of-order tomasulo MIPS)
07:33:12 <mad> actually the "li" instruction isn't even necessary since you have a zero register
07:33:22 <zzo38> Another thing in 6502 is that the zero page may be mirrored, depending on the system (for example, on Famicom it is mirrored)
07:33:28 <\oren\> but how fast can those ycles be made?
07:33:46 <mad> \oren\ : as fast as x86 presumably
07:33:46 <zzo38> And I have designed a mapper which takes advantage of that mirroring to do bankswitching
07:34:22 <mad> probably a little bit faster even since it doesn't have as much crazy insanity like flags registers to deal with as x86
07:35:57 <mad> MIPS instructions are easy to reorder since they have no side effects aside writing the result in a register
07:36:33 <mad> as opposed to multiple side effects on 6502 like changing the flags but only some flags depending on which instruction
07:37:09 <\oren\> So I guess my intuition here is that 6502 is such a simple processor, with no reordering or complex instructions etc. that you can make it faster simply by shrinking the chip and upping the clock speed to insane levels
07:37:46 <\oren\> whereas the reordering itself in complex processors increases the die size so you can't do that as much
07:38:16 <mad> reordering is something you do when you're already pushing out 2 instructions per cycle and want to reach 3 4 etc
07:38:52 <mad> if you limit yourself to 1 IPC then MIPS and ARM become a lot less complex
07:40:14 <mad> and MIPS is designed to be easy to pipeline and up the clock
07:40:45 <mad> because you don't have to do anything more complex in 1 clock than adding or loading a word from the data cache
07:41:17 <mad> that's why it's a classic
07:41:17 <zzo38> I have done in quite a different way to do multiple things at once with 6502 programming, such as using unofficial opcodes such as LAX and DCP and SAX and so on, and to design hardware in the ROM cartridge to take advantage of RAM mirrors so that one instruction can both read RAM, update flags, and bankswitch all at the same time, or to bankswitch and save the selected bank number to RAM at the same time.
07:42:52 <mad> though I have to admit making the 6502 32bits and adding a bunch of registers would probably make it a lot faster
07:43:34 <mad> that's how the 8080 eventually became the 386 and it somehow worked in the end
07:44:16 -!- tromp_ has quit (Remote host closed the connection).
07:44:41 <\oren\> I think a lot of the speed of x86 has to do with the compilers generating the code
07:45:18 <\oren\> people use it so much that there's an immense knowledge of what works and what doesnt
07:45:44 <mad> no x86 has a couple of weird voodoo things going for it
07:45:57 <\oren\> voodoo?
07:46:02 <mad> that have helped it not get wiped off the surface of earth
07:46:29 <mad> basically remember itanium? intel tried to make a cpu faster than x86
07:46:48 <mad> and they had the whole "no legacy software" advantage
07:46:50 <\oren\> did anyone end up using that?
07:46:53 <mad> and they failed
07:47:23 <mad> itanium was good at floating point but it was never really faster than x86 which is why it failed
07:47:44 <\oren\> "The most recent processor, Poulson was released on November 8, 2012."
07:47:50 <\oren\> i guess not
07:48:26 <mad> like, the 4 IPC dec alpha was the fastest cpu in the world when introduced
07:48:52 <mad> (basically like a 4 instruction per cycle mips almost)
07:49:20 <mad> the AMD athlon went basically the same speed with 3 instructions per cycle
07:49:27 <mad> and eventually got higher mhz
07:50:12 <mad> because x86 has opcodes that are math+memory load
07:50:33 <mad> and even ones that are memory load->math->memory store
07:50:57 <mad> it turns out, this is useful
07:51:19 <mad> every time that sort of opcode is used, well, that's one less register write compared to mips/arm/etc
07:51:31 <mad> and one less opcode to push through the pipeline
07:51:38 -!- oerjan has quit (Quit: Nite).
07:51:54 <mad> also the weird/brain damaged x86 instruction encoding acts as some sort of data compression
07:52:11 <mad> which means you get more instruction cache for free
07:52:31 <mad> (well, ok not free when you consider the heavy decoding overhead but still)
07:52:36 <\oren\> oh, i see, simpler instructions are shorter
07:52:42 <\oren\> heh
07:53:17 <mad> irl having a 2/4/6... byte instruction format instead of like 1..15 would probably have been a lot better
07:53:42 <mad> and more balanced between size reduction vs extra encoding complexity
07:54:17 <mad> because irl most instructions that actually get used could fit in 2 bytes most of the time
07:54:32 <mad> which is why ARM has all those THUMB/THUMB2 modes
07:56:01 <mad> also the low number of registers have forced intel and amd to optimize memory loads/stores
07:56:03 <mad> this is good
07:56:56 <mad> so yeah that's the 'voodoo' behind the x86
07:57:17 <mad> irl it's probably not REALLY better than risc architectures
07:58:04 <mad> but it's not bad in a way that makes it SLOW
07:58:20 <mad> (once you make it all out-of-order and stuff)
08:00:01 <mad> if 68000 had survived it would probably be in the same weird position as well
08:30:07 -!- Sgeo has quit (Read error: Connection reset by peer).
08:44:48 -!- tromp_ has joined.
08:46:36 -!- J_Arcane has quit (Ping timeout: 256 seconds).
08:49:06 -!- tromp_ has quit (Ping timeout: 245 seconds).
09:00:49 <hppavilion[1]> sweet dreams are made of cheese
09:02:23 <hppavilion[1]> !@#$%^&*()_+-={}|[]\:";'<>?,./~`
09:02:47 <izabera> who am i to disagree
09:05:07 <hppavilion[1]> izabera: *who am I to dis a brie
09:16:09 <hppavilion[1]> SISC: Sexy Instruction Set Computer
09:40:19 <hppavilion[1]> I just saw a picture of a PDP-11 for the first time
09:40:20 <hppavilion[1]> ...
09:40:21 <hppavilion[1]> Wow
09:40:26 <hppavilion[1]> Um
09:40:31 <hppavilion[1]> This is awkward
09:51:12 <\oren\> what, you didn't picture it as a giant fridge with lights and switches in front?
09:53:00 <\oren\> over the years they made them smaller though
09:54:36 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
10:07:36 -!- mroman has joined.
10:07:44 <mroman> http://designs.mroman.ch/designs/d3.html
10:07:50 <mroman> I didn't know there was a "ch" css unit
10:07:55 <mroman> but I'm playing around with it now.
10:08:37 <mroman> I wanted a fixed 80x25
10:08:46 <mroman> but that looks weird on smart phones :)
10:09:04 <mroman> so I just used 80ch as max-width for the div
10:09:18 -!- TodPunk has quit (Read error: Connection reset by peer).
10:09:22 <mroman> @massages-lood
10:09:23 <lambdabot> oerjan said 9d 17h 13m 16s ago: <mroman> according to the majority of readers [...] <-- s/readers/survey answerers/ hth
10:09:43 <mroman> right.
10:09:50 -!- TodPunk has joined.
10:10:03 <mroman> now I need to figure out what tables would look like in such a layout
10:14:35 -!- TodPunk has quit (Read error: Connection reset by peer).
10:15:21 -!- TodPunk has joined.
10:19:09 <mroman> hu
10:19:14 <mroman> colgroup does not allow me to overwrite text-align?
10:19:15 <mroman> what gives
10:22:15 <fizzie> Inheritance.
10:22:21 <fizzie> "Do not try to set the text-align property on a selector giving a <colgroup> element. Because <td> elements are not descendant of the <colgroup> element, they won't inherit it.
10:22:23 <fizzie> (MDN)
10:24:35 <fizzie> Their suggested workaround is to use td:nth-child(an+b) selectors, where a is the number of columns and b the one you want to change. And hope you don't do any colspans.
10:25:34 <mroman> http://designs.mroman.ch/designs/d3.html
10:25:51 <mroman> table looks good on my smartphone too
10:27:42 <mroman> it looks fucked up in "Web" though
10:27:50 <mroman> but I'm not sure "Web" is CSS3 ready
10:28:36 <fizzie> How about Netscape Navigator 4.01?
10:28:51 <mroman> I think ch is css3
10:31:19 <mroman> http://api.browsershots.org/png/original/8f/8f269efd2501458b93febb6967fa5e8e.png
10:31:22 <mroman> well
10:31:23 <mroman> it looks wrong
10:31:26 <mroman> but still readable :D
10:31:56 <mroman> I've never heard of that browser before anyway
10:32:16 <fizzie> I used Dillo on a crappy laptop.
10:32:26 <fizzie> Very lightweight, yet graphical.
10:33:07 <fizzie> Of course the web was kind of different a decade or so ago.
10:37:00 -!- fractal has quit (Ping timeout: 260 seconds).
10:45:17 -!- tromp_ has joined.
10:49:36 -!- tromp_ has quit (Ping timeout: 250 seconds).
11:07:33 <\oren\> only problem is you're not using a true-monospace font, it's one of those annoying ones where the bold version is wider than the unbold
11:08:31 <\oren\> of course the usual solution is to use bright color instead of bold
11:09:12 <\oren\> hmm... woit, maybe it is true-monospace
11:35:01 -!- boily has joined.
12:17:08 -!- Treio has joined.
12:20:55 -!- boily has quit (Quit: DISCONNECTED CHICKEN).
12:36:53 -!- MoALTz has quit (Quit: Leaving).
12:56:50 -!- benderpc_ has joined.
12:57:23 -!- Treio has quit (Remote host closed the connection).
13:00:26 -!- AnotherTest has quit (Ping timeout: 250 seconds).
13:00:44 -!- benderpc_ has quit (Client Quit).
13:02:47 -!- bender| has joined.
13:09:04 -!- Sgeo has joined.
13:13:37 -!- lleu has joined.
13:13:37 -!- lleu has quit (Changing host).
13:13:37 -!- lleu has joined.
13:29:57 -!- vanila has joined.
13:44:26 -!- tromp_ has joined.
13:54:50 -!- lynn has joined.
13:56:18 -!- AnotherTest has joined.
14:00:14 -!- tromp_ has quit (Remote host closed the connection).
14:00:32 -!- fractal has joined.
14:08:50 -!- MoALTz has joined.
14:09:50 -!- MDude has joined.
14:18:51 -!- `^_^v has joined.
14:30:43 -!- MoALTz has quit (Quit: Leaving).
14:37:05 -!- spiette has joined.
14:43:26 -!- yorick__ has changed nick to yorick.
15:02:28 -!- AnotherTest has quit (Ping timeout: 248 seconds).
15:04:45 -!- MoALTz has joined.
15:14:05 -!- bender| has quit (Ping timeout: 260 seconds).
15:14:57 -!- bender| has joined.
15:18:10 <HackEgo> [wiki] [[Truth-machine]] https://esolangs.org/w/index.php?diff=46373&oldid=45966 * 141.83.63.175 * (+4130) Added Malbolge
15:45:57 -!- tromp_ has joined.
15:48:18 <vanila> tromp for president
15:50:09 -!- tromp_ has quit (Ping timeout: 240 seconds).
15:55:37 <int-e> vanila: we already had that slogan in the topic I believe
15:56:11 <vanila> damn
15:57:32 <int-e> speaking of which, I'm impressed by Effi's longevity.
15:58:28 -!- Treio has joined.
16:06:25 -!- mroman has quit (Quit: Lost terminal).
16:11:48 -!- Treio has quit (Remote host closed the connection).
16:12:52 <izabera> https://murze.be/2016/02/today-digitalocean-lost-our-entire-server/ way to go digitalocean
16:13:34 -!- bender| has quit (Ping timeout: 252 seconds).
16:13:55 <int-e> s/lost/sank/
16:15:20 <izabera> link doesn't work with sank...
16:16:41 -!- ais523 has joined.
16:17:43 <int-e> uh, maybe it's "sunk"... but anyway, I was just musing.
16:18:54 <MDude> They call their serverts droplets, so maybe "evaporated"?
16:19:02 <fizzie> "Sink" is a game discordianists play.
16:19:13 <fizzie> http://principiadiscordia.com/book/73.php <- there's the rules.
16:19:17 <int-e> MDude: well it's a digital ocean
16:19:36 <int-e> MDude: And I'd hope they're not cooking it.
16:19:48 <fizzie> I hope so too, I'm writing this from a droplet.
16:20:01 <fizzie> (Kinda-sorta-kinda, I guess that's a point-of-view question.)
16:20:11 <MDude> Well evaporation happens all the time, that's how we get rain later.
16:20:23 <MDude> I don't know if I'd want my server hosted by someone who treats it as no more important than a droplet in an ocean.
16:20:50 <fizzie> When all you've got is an ocean, every server looks like a droplet.
16:20:52 <int-e> In any case the story matches my expectations.
16:20:55 <MDude> Doesn't sound like it'd be good with custome service.
16:21:12 <MDude> Like maybe call it a reef or something.
16:21:48 <int-e> (that's without checking what their contracts say about reliability)
16:22:01 <fizzie> I think they did exactly what they promise.
16:24:02 <int-e> http://esoteric.sange.fi/archive/2001-q2-1 ... look for "I sink the sink"
16:25:26 <izabera> looks like a drug dealer's encrypted conversation
16:27:57 -!- Snakke has joined.
16:28:00 <Snakke> Hi all
16:28:31 <ais523> hi
16:28:53 <vanila> hi
16:28:57 <vanila> mwhats going on?
16:30:08 <Snakke> Is this channel about esoteric (magic, runes, tarot...) or computer term?
16:30:26 <int-e> `wElCoMe Snakke
16:30:41 <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.)
16:30:43 <Snakke> [int-e] thanks
16:30:58 <Snakke> oh thanks HackEgo
16:31:09 <Snakke> then ill to leave, bye !! ^^
16:31:12 <ais523> bye
16:31:24 <myname> good, that font color was horrible
16:31:33 <Snakke> mine?
16:31:37 <vanila> bye
16:31:40 <Snakke> :S
16:31:41 <vanila> hi Snakke
16:31:49 <myname> dark grey on black ground
16:31:49 <vanila> i thought ais was going
16:31:55 <myname> not exactly readable
16:31:55 -!- Snakke has left.
16:32:06 <izabera> not exactly polite..
16:32:56 <ais523> oh, I was just seeing all the messages in bold
16:33:05 <ais523> also this is the only legitimate use for a stupid welcome that I've seen :-)
16:33:26 <myname> only?
16:34:37 <ais523> yes, I hate the stupid welcome variants
16:34:54 <vanila> Hahaha
16:34:54 <myname> i miss relcome
16:34:59 <vanila> `relcome vanila
16:35:01 <vanila> noooo
16:35:07 <vanila> i miss myzdindi
16:35:50 <int-e> relcome is for encouraging people to filter colors :P
16:35:58 <int-e> (or was, whatever)
16:36:30 -!- Lord_of_Life has quit (Excess Flood).
16:36:48 <ais523> `` welcome vanila | rainwords
16:36:59 <HackEgo> No output.
16:37:02 <ais523> hmm
16:37:06 -!- Lord_of_Life has joined.
16:37:09 <ais523> did rainwords get deleted too? I'm pretty sure I didn't delete that one
16:37:16 <ais523> I may well have deleted relcome itself though
16:37:18 <HackEgo> vanila: 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.)
16:37:26 <int-e> `culprits bin/relcome
16:37:41 <myname> hackego lags as hell
16:37:53 <HackEgo> tswett tswett shachaf oerjan oerjan elliott oerjan elliott ais523_ ais523_ elliott Jafet oerjan elliott oerjan oerjan oerjan ais523 ais523 elliott FreeFull Bike Bike Bike Bike
16:39:01 <izabera> elliott is gone?
16:41:07 <int-e> anyway the thing is, Snakke had been here before (last friday), and `welcomed.
16:41:40 <int-e> (and that explains the "misleading topics")
16:41:48 <myname> i am not confused that people which want to go to real esoteric stuff don't learn
16:41:56 -!- ais523 has quit (Read error: Connection reset by peer).
16:41:57 <int-e> (which, confusingly, have been elided from the topic)
16:42:13 -!- ais523 has joined.
16:42:35 <vanila> why don't we make this channel double purpose
16:42:38 <vanila> esoteric languages and occult!
16:42:48 <vanila> it could really spice things up
16:43:20 <fizzie> Depends on whether that's ∧ or ∨.
16:43:57 <vanila> both
16:43:57 <myname> because occultists are no fun
16:44:00 <fizzie> Or maybe ∩ or ∪ would be more appropriate.
16:44:36 <vanila> idunno i liked the sound of those esoteric runes
16:44:43 <vanila> could use them for something
16:44:59 <int-e> Anyway, I'm looking for a reference that studies PCP as a trichtomic problem (a PCP instance can have a finite solution (corresponding to accepting Turing machines), only infinite solutions (corresponding to non-terminating Turing machines) or have no solution at all (corresponding to Turing machines that reject their input)). The result I want to use is that there's no algorithm that separates...
16:45:05 <int-e> ...the finite solution instances from the no-solution instances. This is obvious enough that it should exist in the literature... but where?
16:45:51 <int-e> (the correspondences come from the standard proof that encodes runs of turing machines on a given input as a PCP instance)
16:47:24 -!- tromp_ has joined.
16:47:40 <vanila> it's not a direct application of rices theorem?
16:49:28 <int-e> well, no, because Rice's theorem talks about Turing machines.
16:50:04 <int-e> It's doing the construction of a PCP instance from a TM that I want to avoid.
16:50:11 <vanila> ok I get you
16:50:21 <vanila> a direct proof of this before showing equivalence to TMs
16:50:39 <int-e> no, just a result I can cite
16:51:04 <vanila> i don't see why isn't it just rice theorem then sorry
16:51:42 <int-e> I want a result about PCP.
16:52:22 <int-e> Oh perhaps you regard PCP as a model of computation... then it would be Rice. I usually don't.
16:52:23 -!- tromp_ has quit (Ping timeout: 264 seconds).
17:18:01 <b_jonas> huhwhat
17:18:44 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:19:10 <Taneb> Rice, the evil sorcerer?
17:19:29 <Taneb> That... is a reference that is slightly too obscure
17:19:48 <MDude> An entire turing machine carved onto a single grain of rice.
17:19:48 <Taneb> In fact, it's an in joke
17:20:17 <MDude> Oh no my cat is here.
17:20:25 <Taneb> MDude, say hi from mke
17:20:43 <MDude> Sure
17:20:58 <int-e> `? rice
17:21:38 <HackEgo> rice? ¯\(°​_o)/¯
17:23:42 <int-e> vanila: sorry, I'm to stupid to read. what you wrote after "ok I get you" was correct.
17:23:45 -!- V3R4X has quit (Quit: sleep).
17:24:41 <int-e> (though I suspect that the direct proof would really consist of the reduction from TMs, but indeed I don't care about the internals of that proof)
17:25:23 -!- LexiciScriptor has joined.
17:29:03 -!- idris-bot has quit (Quit: Terminated).
17:30:30 <int-e> `le/rn rice/It is undecidable whether a given Turing machine can prove Rice's theorem.
17:30:33 <HackEgo> Learned «rice»
17:31:13 <myname> what is that
17:32:07 <int-e> It's a fact.
17:32:16 <int-e> @googe rice's theorem
17:32:17 <lambdabot> https://en.wikipedia.org/wiki/Rice's_theorem
17:33:49 <vanila> i sort of feel like PCP is so difficult to do anything with that nobody might have done a direct proof
17:35:00 <coppro> PCP?
17:35:06 <vanila> post correspondence problem
17:35:21 <vanila> its about who send letters to who
17:35:26 <int-e> @google PCP post
17:35:28 <lambdabot> https://en.wikipedia.org/wiki/Post_correspondence_problem
17:35:35 <int-e> `? pcp
17:35:36 <HackEgo> pcp? ¯\(°​_o)/¯
17:35:57 <int-e> `` echo wisdom/*post*
17:35:58 <HackEgo> wisdom/*post*
17:36:19 <int-e> `quote correspondence
17:36:24 <HackEgo> No output.
17:36:56 <HackEgo> [wiki] [[Beeswax]] M https://esolangs.org/w/index.php?diff=46374&oldid=46352 * Albedo * (+10) /* Available instructions in beeswax */
17:38:55 <int-e> vanila: But PCP is easy to reduce from. It's just that in my case "PCP is undecidable" isn't strong enough to get the job done, because I can't predict what happens when there's only infinite solutions.
17:42:02 -!- AnotherTest has joined.
17:44:09 <zzo38> vanila: Well, one thing that could be done is, you can make the esoteric programming which is including occult too, is also one thing to do
17:45:30 <zzo38> (If you want to; it is not requited)
17:49:36 -!- hppavilion[1] has joined.
17:56:20 -!- lynn_ has joined.
17:58:37 -!- smorgasbord has joined.
17:58:52 <smorgasbord> any python help bot here ?
17:59:25 <hppavilion[1]> smorgasbord: Oh, sorry, didn't mean there was a python one xD
17:59:28 -!- lynn has quit (Ping timeout: 276 seconds).
17:59:30 <Taneb> What do yo mean by a python help bot?
17:59:32 <hppavilion[1]> smorgasbord: I was just trying to make a joke
17:59:37 <hppavilion[1]> Taneb: smorgasbord is from #python
17:59:43 <myname> who needs python if he can have haskell
17:59:48 <smorgasbord> peace. sorry.
17:59:49 <Taneb> !python print "hello"
17:59:49 <EgoBot> hello
17:59:54 <hppavilion[1]> Taneb: He seemed to be looking for a bot, so I humorously directed him here
17:59:55 <Taneb> I'm so glad that worked
18:00:04 <hppavilion[1]> Oh yeah, we do have a python executer
18:00:07 <hppavilion[1]> But no helpbot
18:00:08 <smorgasbord> !python print "test"
18:00:09 <EgoBot> test
18:00:19 <Taneb> What's a helpbot?
18:00:21 <smorgasbord> !python date
18:00:21 <EgoBot> Traceback (most recent call last): \ File "<stdin>", line 1, in <module> \ NameError: name 'date' is not defined
18:00:28 <hppavilion[1]> smorgasbord: If you want to experiment with python in a CLI fashion, you should check out ipython
18:00:48 <hppavilion[1]> smorgasbord: This channel is generally for discussion of esolangs though, not a help channel usually
18:01:42 <hppavilion[1]> In case you're curious about esolangs, you can check out the wiki at [http://esolangs.org/wiki/Main_Page] </evangelism>
18:01:43 <smorgasbord> okies.
18:01:58 <hppavilion[1]> xD
18:02:08 <smorgasbord> nice. checking. thanks
18:03:24 -!- lynn has joined.
18:04:46 -!- lynn_ has quit (Ping timeout: 256 seconds).
18:06:40 <int-e> `` python -c 'print(1+1)'
18:06:42 <HackEgo> 2
18:07:00 <myname> *slowclap*
18:07:15 <izabera> `` echo $((1+1))
18:07:16 <HackEgo> 2
18:07:25 <izabera> this proves that bash is faster than python
18:07:34 -!- idris-bot has joined.
18:07:39 <int-e> `mapole
18:07:40 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: mapole: not found
18:07:42 <myname> qed
18:08:43 <int-e> izabera: of course that's especially true when the python executable is invoked by the bash shell in question
18:09:31 <int-e> bourne again shell shell... I'm a hero.
18:09:56 <izabera> `` type python
18:10:02 <HackEgo> python is /usr/bin/python
18:10:22 <izabera> `` echo 'sleep 3; /usr/bin/python "$@"' > bin/python; chmod +x bin/python
18:10:26 <HackEgo> No output.
18:10:35 <izabera> `` python -c 'print(1+1)'
18:10:39 <HackEgo> 2
18:10:40 <izabera> sloooooow
18:11:04 * izabera didn't cheat
18:11:11 <int-e> that's evil.
18:11:24 <int-e> `revert
18:11:26 <myname> how is hackego protected against misuse of people?
18:11:29 <izabera> aww
18:11:33 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
18:11:35 <int-e> `help
18:11: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/
18:11:44 <Riviera> `` python -c 'for a in range(1000000): print(1+1)' > /dev/null
18:11:52 <HackEgo> No output.
18:12:04 <izabera> *fastclap*
18:12:15 <int-e> `? hackego
18:12:21 <HackEgo> HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing.
18:12:42 <int-e> `` uname -a
18:12:44 <HackEgo> Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux
18:13:21 <ais523> myname: you can undo /almost/ any action (although I once managed to break it in a way that it couldn't undo, which is why it prints the "canary.orig" message every revert); also there's a lot of sandboxing
18:13:28 <int-e> `` curl http://google.com/
18:13:30 <HackEgo> Failed to connect to socket 2. \ % Total % Received % Xferd Average Speed Time Time Time Current \ Dload Upload Total Spent Left Speed \
18:13:51 <int-e> myname: I guess that gives some measure of how much protection and nonprotection it offers
18:17:20 -!- lynn_ has joined.
18:18:35 <b_jonas> ais523 and others: I'm trying to make a list of all available free software implementations of fast fourier transforms. So far I see six engines (plus a few wrappers): FFTPACK (of netlibs), in OpenCV, KissFFT, in FXT ("http://www.gnu.org/software/gsl/"), FFTW, in GSL (Gnu Scientific Library). Are there others I should know of?
18:19:22 <ais523> in my university project I used some FFT code written by Microchip for their dsPIC line of products, but can't remember what the license on it was
18:19:42 -!- lynn has quit (Ping timeout: 252 seconds).
18:19:43 <int-e> is djbfft still worth looking at or have the ideas been incorporated into the better known fft implementations?
18:19:59 <b_jonas> I believe there are at least two more commercial implementations.
18:20:03 <b_jonas> int-e: let me search that
18:20:18 <ais523> I know it was at least shared-source (i.e. source is visible to anyone)
18:21:28 <int-e> (djbfft is ancient.)
18:21:39 <b_jonas> int-e: FFTPACK is also ancient
18:22:14 <b_jonas> it's written in fortran, and it's on netlibs, the collection of softawre that houses the famous Lapack
18:22:58 <b_jonas> however, just because it's ancient doesn't necessarily mean it's no longer worth to use
18:23:07 <int-e> okay, let's say that djbfft is semi-ancient then ;)
18:24:44 <int-e> in any case it's open source and that's all you asked for
18:25:02 <b_jonas> I'll look at this djbfft
18:25:28 <b_jonas> huhwhat
18:25:32 <b_jonas> the tarball seems to be corrupt
18:25:44 <b_jonas> probably in an ancient format
18:25:52 -!- lynn__ has joined.
18:26:09 -!- smorgasbord has left ("Closing Window").
18:26:17 <b_jonas> let me try with gnu tar
18:26:26 <b_jonas> that handles more formats
18:27:03 <b_jonas> yup, works that way
18:27:55 <Melvar> What tar did you try?
18:28:02 -!- jaboja64 has joined.
18:29:00 <b_jonas> I repacked it
18:29:02 <b_jonas> Melvar: 7z
18:29:15 <b_jonas> it extracted the gz part, and the first directory from the tarball, but not more
18:29:23 -!- lynn_ has quit (Ping timeout: 276 seconds).
18:29:34 <Melvar> Weird.
18:30:03 <b_jonas> 7-zip version 15.14 windows x86_64 in case it matters
18:30:21 <Melvar> I was just curious, I have no desire to debug anything.
18:30:25 <b_jonas> but there are like ten incompatible formats of tar
18:30:29 <b_jonas> so it's no surprise really
18:30:36 <b_jonas> anyway, I repacked now
18:32:12 <shachaf> `olist 1022
18:32:14 <HackEgo> olist 1022: shachaf oerjan Sgeo FireFly boily nortti b_jonas
18:32:17 * Melvar looks at man tar, it lists five formats. Neat.
18:32:38 -!- Phantom_Hoover has joined.
18:32:44 <b_jonas> it looks as if djbfft handles only power of two sizes. that's the most restrictive I've seen
18:32:48 <b_jonas> among the libraries
18:32:57 <b_jonas> shachaf: thanks
18:35:57 <b_jonas> int-e: it doesn't seem that ancient. the FAQ references FFTW. is FFTW also semi-ancient?
18:37:20 <b_jonas> (I don't buy its claims that it's so fast though.)
18:37:24 <int-e> well, djbfft is close to 20 years old and hasn't been updated in the current millenium.
18:37:40 <int-e> afaiu fftw is actively maintained.
18:37:50 <b_jonas> yes, fftw is maintained
18:38:08 <b_jonas> but has djbfft really not been updated? the faq seems more recent than 2000
18:39:06 <b_jonas> oh look, https://cr.yp.to/djbfft/links.html has some links, but apparently ancient ones
18:39:34 <b_jonas> none of them seem very useful at first glance though
18:39:42 <int-e> HEAD http://cr.yp.to/djbfft/djbfft-0.76.tar.gz [...] Content-Type: application/x-gzip / Last-Modified: Thu, 30 Sep 1999 20:31:44 GMT
18:40:07 <b_jonas> right, the library itself
18:40:10 <b_jonas> oh well
18:40:16 <b_jonas> ok, semi-ancient then
18:40:18 <FireFly> good oots
18:41:14 -!- Treio has joined.
18:41:56 <b_jonas> thank you for the reference anyway
18:43:59 -!- heroux has quit (Ping timeout: 264 seconds).
18:45:01 -!- lynn_ has joined.
18:45:59 <b_jonas> hmm, djbfft seems to include no copyright licensing instruction
18:46:03 -!- heroux has joined.
18:46:12 <b_jonas> is there evidence that it's free software?
18:46:22 <b_jonas> or what is its copyright status?
18:47:16 -!- lynn__ has quit (Ping timeout: 256 seconds).
18:52:18 -!- Treio has quit (Ping timeout: 250 seconds).
18:52:51 <ais523> if you can't find a copyright notice anywhere it's default-all-rights-reserved
18:53:08 <ais523> (which is a copyright status I've used intentionally in the past, normally because I haven't made my mind up yet)
18:55:15 <zzo38> I will just make most of my own software as public-domain (explicitly), although when modifying other software I will use the same license they have instead.
18:56:11 <zzo38> Also, if you look at my program XISYNTH (included with AmigaMML), it includes a Fourier transform implementation too
19:02:40 -!- AlexR42 has joined.
19:05:40 -!- jaboja64 has quit (Ping timeout: 248 seconds).
19:14:27 <int-e> b_jonas: https://cr.yp.to/distributors.html
19:14:38 <hppavilion[1]> This is weird
19:14:47 <hppavilion[1]> I'm trying to make an IRC bot (because there aren't enough of those already)
19:14:58 <hppavilion[1]> But it doesn't ever receive a PING request from the server
19:15:12 <hppavilion[1]> Then the server the connection because it times out
19:15:38 <int-e> hppavilion[1]: how do you know that it never receives a PING request?
19:15:51 <hppavilion[1]> int-e: I print everything that comes through it
19:16:08 <hppavilion[1]> int-e: And it eventually terminates, never having received a PING
19:16:22 <int-e> also, have you completed the login?
19:16:27 <hppavilion[1]> I believe so
19:17:14 <int-e> I'd double-check with a packet sniffer
19:19:37 -!- jaboja64 has joined.
19:20:15 <fizzie> b_jonas: I don't know if you were interested in non-native cases, but I think JTransforms gets used a little if you need pure Java implementations.
19:20:56 <fizzie> According to their own website, it's the fastest (pure Java) implementation, but maybe that's not an entirely objective source.
19:27:54 -!- jaboja64 has quit (Ping timeout: 252 seconds).
19:41:24 -!- jaboja64 has joined.
19:48:41 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
19:49:28 <quintopia> what do
19:50:57 -!- hppavilion[1] has joined.
19:52:53 <hppavilion[1]> int-e: I `NICK PyRCBot`, then `USER PyRC 0 * :PyRCBot`, then `JOIN :#esoteric`
19:53:27 <hppavilion[1]> With the `\r\n`s of course
19:56:29 -!- jaboja64 has quit (Remote host closed the connection).
19:59:32 <b_jonas> fizzie: uh, I probably don't want a Java implementation, sorry
20:00:18 <b_jonas> I don't generally do java, and wouldn't want to add it just for a fast fourier transform.
20:00:23 <fizzie> You languacist.
20:00:52 <b_jonas> I mean, java usually comes with a heavyweight interpreter that I'd prefer not to have to involve just for this.
20:01:09 <b_jonas> int-e: thanks, that says it's public domain
20:02:01 <fizzie> The Intel MKL one is great but probably one of the non-free ones you alluded to.
20:02:16 <b_jonas> fizzie: yes, that's one of the non-free ones
20:02:38 <b_jonas> opencv generally uses a lot of low level algorithms from MKL when built that way
20:02:45 <b_jonas> (no wonder, opencv was partly developped by intel)
20:03:04 <fizzie> It's kinda free in the beer sense, but not more than that.
20:09:58 -!- evalj has joined.
20:15:39 -!- XorSwap has joined.
20:21:38 -!- mihow has joined.
20:22:21 <int-e> hppavilion[1]: how do you know that your messages are actually being sent out?
20:22:28 -!- spiette has quit (Ping timeout: 250 seconds).
20:25:05 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
20:26:17 -!- hppavilion[1] has joined.
20:27:31 <izabera> you don't
20:27:48 <izabera> the only way to know it is to be connected with a second client
20:28:33 <int-e> I'm serious about the packet sniffer. It really helps.
20:29:09 <int-e> (I've debugged a few lambdabot issues that way)
20:30:20 <b_jonas> int-e: I actually have my irc bots output every incoming and outgoing irc message to the debug output, except there's a filter masking those that might contain passwords
20:30:32 <int-e> hppavilion[1]: fwiw, if you never send anything, freenode will close the connection with 'ERROR :Closing Link: 127.0.0.1 (Connection timed out)'.
20:30:43 <zgrep> izabera: Unless the server and client is IRCv3.2 compliant.
20:30:53 <zgrep> izabera: In particular with echo-message.
20:31:05 <int-e> b_jonas: well that won't help if it's a buffering issue
20:31:21 <Taneb> b_jonas, the trick is to make all your passwords *********
20:31:28 <Taneb> No-one will suspect a thing
20:31:34 <b_jonas> int-e: yeah
20:31:39 <int-e> ObahCae0
20:31:41 <b_jonas> Taneb: it's not _my_ passwords, that's the problem
20:31:48 <b_jonas> or at least not only my passwords
20:31:56 <hppavilion[1]> int-e: Ah
20:32:00 <b_jonas> cbstream takes other people's passwords
20:32:07 <b_jonas> and I take their privacy seriously
20:32:29 <b_jonas> so I can't dump passwords or hashed passwords to the debug output
20:32:36 <Taneb> Fair enough :)
20:32:44 <Taneb> My suggestion I don't think was entirely serious
20:32:50 <b_jonas> sure
20:32:51 <int-e> password: <REDACTED>
20:33:17 <b_jonas> oh, incidentally, the old freenode services had a bug where I think you couldn't have asterisks in your nickserv password, or something
20:33:23 <b_jonas> though I think the new services has fixed this
20:34:09 -!- Treio has joined.
20:35:17 -!- spiette has joined.
20:36:54 <olsner> hppavilion[1]: https://gist.github.com/olsner/623071/a1adaa2aefa1b30c154f12de7544b76efe2f5848 just sends USER then NICK then processes anything it gets from the server (and it seems to get PINGs alright)
20:37:58 <olsner> so that seems to be enough to be accepted by freenode at least
20:39:42 -!- mihow has quit (Quit: mihow).
20:40:27 <fizzie> https://github.com/fis/fungot/blob/master/fungot.b98 lines 43-44 hth
20:40:27 <fungot> fizzie: the java spec, does that count? ( instead of rdbms)?
20:40:47 <fizzie> If you want something more readable than sed!
20:41:11 -!- mihow has joined.
20:44:34 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
20:48:47 <olsner> my sed code is perfectly readable, it even has comments!
20:50:17 <zzo38> I have written a proxy once to figure out what a program was doing. While the program still worked when the proxy was used, all data sent to the proxy was encrypted so I still could not figure it out.
20:50:35 <b_jonas> zzo38: ouch
21:00:20 -!- evalj has quit (Remote host closed the connection).
21:04:03 -!- J_Arcane has joined.
21:15:30 <fizzie> That's typically the problem with packet sniffers and TLS as well.
21:22:34 <int-e> Right, I just assumed that hppavilion was using plain old plain text IRC.
21:23:48 -!- oerjan has joined.
21:24:02 * int-e wonders what hppavilion stands for, but it probably isn't related to "Hewlett Packard Performance Architecture"
21:24:24 <fizzie> It's a model of HP laptops.
21:24:37 <int-e> thanks
21:24:38 <fizzie> "HP Pavilion."
21:24:41 <oerjan> eerily i've started getting web ads for them recently
21:24:54 <oerjan> never noticed them before hppavilion[1] came here
21:25:12 -!- hppavilion[1] has joined.
21:25:21 <oerjan> eerily he appears
21:25:23 <int-e> so at least I got the "HP" part correct.
21:25:28 <int-e> speaking of the devil
21:25:41 <int-e> (hi oerjan) ;-
21:25:41 <int-e> )
21:25:46 <oerjan> hint-e
21:25:53 <int-e> hint?
21:26:26 <int-e> I think I prefer mapoles.
21:26:40 <fizzie> an indirect suggestion, a slight indication, a slight but appreciable amount, a just detectable amount, an indication of potential opportunity; hth
21:26:52 <int-e> Now why haven't I thought of this before, I should use a mapol-e.
21:27:24 <int-e> though perhaps -----##-# looks a bit strange ;-)
21:27:43 <fizzie> fungot: Do you want to write me a TLS implementation in Funge-98 so that we could make your connection more secure?
21:27:46 <fizzie> ...
21:27:51 <fizzie> Oh no.
21:28:04 <int-e> apparently the cool people use socat
21:28:14 <fizzie> Well, that'd be a bit lame.
21:28:32 <fizzie> Anyway, it's already doing the socket part.
21:28:46 -!- XorSwap has quit (Ping timeout: 256 seconds).
21:28:48 <fizzie> If I started to use socat, I might as well just be speaking to stdinout.
21:28:48 <oerjan> hm apparently my dentist has the flu, emails the receptionist.
21:29:03 <fizzie> A number of people were out sick at the office.
21:29:21 <fizzie> Also I think I just hit fungot's babble limit, the debug console reveals it's online and well.
21:29:24 <oerjan> i hope gurgling with fluoride will keep it from deteriorating until next week.
21:30:32 <fizzie> What's the best time to go to the dentist? 2:30!
21:30:33 <oerjan> (web comments are rather divided about how much of an emergency losing a filling is. it's my first time so...)
21:31:07 <fizzie> I think that's one of the Alexa jokes.
21:31:10 <oerjan> fizzie: i generally agree (assuming that's PM), but my appointment is 12:30.
21:31:23 <fizzie> (If you ask Amazon Alexa to tell you a joke, it tells you a really bad joke.)
21:31:38 <oerjan> fizzie: wait is there a point to that joke
21:31:46 <fizzie> oerjan: Two thirty / tooth hurty.
21:31:50 <oerjan> ah.
21:32:00 <oerjan> my pun sense led me in the wrong direction.
21:33:18 -!- XorSwap has joined.
21:34:04 <oerjan> <int-e> though perhaps -----##-# looks a bit strange ;-) <-- that's not a mapol-e, that's a swatt-e-r
21:34:21 <int-e> sorry!
21:35:13 <Taneb> --#########
21:35:18 <Taneb> Is a kind of brush I think
21:35:21 * int-e swats -----### int-e
21:35:34 <int-e> Taneb: one of those dust removal things, whatever they're called
21:35:58 <Taneb> Dusters?
21:36:06 <int-e> that would make sense :P
21:37:39 <Taneb> English occasionally (not often) does
21:37:43 -!- lynn_ has quit (Read error: Connection reset by peer).
21:38:14 -!- lynn_ has joined.
21:38:56 <int-e> But the german word isn't helpful here; it's "Staubwedel" - literally, "dust waver".
21:39:20 <fizzie> Pölyhuiska.
21:40:35 -!- XorSwap has quit (Read error: Connection reset by peer).
21:40:54 -!- XorSwap has joined.
21:41:07 <fizzie> (The first half is dust, and the second half is the broom-sense of whisk, apparently.)
21:41:41 <Taneb> fizzie, that sort of makes sense
21:42:08 <oerjan> <Taneb> English occasionally (not often) does <-- just to keep you off balance, i take.
21:42:50 <oerjan> no:støvkost, i think.
21:43:26 <hppavilion[1]> olsner: I'm sorry, did you just write an IRC client (or server?) with sed!?
21:43:31 <oerjan> which is basicall dust+broom
21:45:46 <fizzie> hppavilion[1]: A bot.
21:46:11 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
21:47:44 <hppavilion[1]> fizzie: Oh right
21:47:48 <hppavilion[1]> The third option xD
21:48:09 <hppavilion[1]> IMHO, we should retire the Client-Server model in favour of the Client-Server-NSA model
21:48:37 <fizzie> The politicians here would agree with you, I believe.
21:59:22 -!- XorSwap has quit (Ping timeout: 256 seconds).
22:02:17 <oerjan> <int-e> vanila: we already had that slogan in the topic I believe <-- that wasn't about presidency
22:04:19 <int-e> damn
22:04:32 -!- Treio has quit (Quit: Leaving).
22:05:20 <int-e> 22:32:12: * oerjan suddenly realizes someone might think the channel topic refer
22:05:23 <int-e> s to a misspelled candidate
22:05:31 <int-e> 22:33:49: <int-e> oerjan: well, it doesn't say "Tromp for president!" ... yet!
22:05:39 <int-e> (01-23)... so that's what I misremembered
22:05:43 <oerjan> OKAY
22:06:06 <int-e> but the topic was Go Tromp! [...] at the time
22:06:48 <myname> Gu Tromp?
22:07:18 <b_jonas> On linux, what's the surefire way to decide whether the kernel is an x86_32 or an x86_64 one, regardless of the userspace programs? Is there some /proc entry?
22:07:45 <myname> uname?
22:08:28 <int-e> `` linux32 uname -a
22:08:31 <HackEgo> Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux
22:08:35 <b_jonas> myname: I think that tells the result of the uname system call, which (I'm not sure) might report x86_32 if the uname executable itself is x86_32
22:08:39 <b_jonas> int-e: same
22:08:42 <int-e> interesting.
22:08:45 <zgrep> `` which linux32
22:08:46 <HackEgo> ​/usr/bin/linux32
22:08:51 <zgrep> `` man linux32
22:08:52 <HackEgo> man: can't open the manpath configuration file /etc/manpath.config
22:08:54 <int-e> for me it says i686 then
22:08:56 <zgrep> `` linux32 --help
22:08:57 <HackEgo> Usage: linux32 [options] [program [program arguments]] \ \ Options: \ -h, --help displays this help text \ -v, --verbose says what options are being switched on \ -R, --addr-no-randomize disables randomization of the virtual address space \ -F, --fdpic-funcptrs makes function pointers point to descriptors \ -Z, -
22:09:21 <myname> lol, -v sounds useless
22:09:59 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
22:10:55 <int-e> `` linux32 -v uname -a
22:10:56 <HackEgo> Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux
22:11:45 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
22:12:22 <b_jonas> for some reason, /proc/version doesn't tell, even though I thought it would
22:12:25 <b_jonas> `cat /proc/version
22:12:26 <oerjan> <myname> i am not confused that people which want to go to real esoteric stuff don't learn <-- i think he learned about the channels, he's just confused about the networks...
22:12:26 <HackEgo> Linux version 3.13.0-umlbox (hackbot@codu) (gcc version 4.7.2 (Debian 4.7.2-5) ) #1 Wed Jan 29 12:56:45 UTC 2014
22:13:07 <int-e> b_jonas: I suppose setarch x86_64 uname -a will fail on a 32bit kernel
22:13:38 -!- spiette has quit (Ping timeout: 252 seconds).
22:13:52 <b_jonas> Oh, and this should work on older linuxen too
22:14:34 <myname> what about uname -m?
22:14:44 <b_jonas> int-e: ah, thanks, that seems to work
22:15:04 <b_jonas> myname: oh, that does report something, but it can lie
22:15:37 <b_jonas> int-e: although I'm not sure if that would succeed if the setarch was built for some old system that doesn't even know about x86_64 or something
22:15:57 <b_jonas> why can't the stupid kernel just tell this in /proc/version ?
22:17:16 <int-e> because the point of linux32 is to lie to build tools that try to be clever
22:17:18 <b_jonas> ah, I think /proc/kallsyms should tell (if it is readable)
22:17:38 <b_jonas> because /proc/kallsyms gives straight kernel addresses
22:17:42 <b_jonas> so it is probably accurate
22:19:16 <b_jonas> it says stuff like "ffffffff810d12d0 t __register_chrdev_region" on x86_64 and stuff like "c10f7ea1 T __bdevname" on x86_32
22:21:59 <b_jonas> `perl -e warn length "ffffffff810d12d0"
22:22:00 <HackEgo> 16 at -e line 1.
22:22:20 <b_jonas> `wisdom
22:22:23 <HackEgo> ssstosis/ssstosis is a disease causing false identities
22:22:25 <b_jonas> `? day
22:22:26 <HackEgo> day? ¯\(°​_o)/¯
22:22:27 <b_jonas> `? night
22:22:28 <HackEgo> night? ¯\(°​_o)/¯
22:22:30 <b_jonas> `? sun
22:22:31 <HackEgo> sun? ¯\(°​_o)/¯
22:22:32 <b_jonas> `? moon
22:22:34 <HackEgo> The Moon is an unprovable celestial object that is not very retroreflectorey.
22:22:41 <int-e> `? mars
22:22:42 <HackEgo> mars? ¯\(°​_o)/¯
22:22:44 <int-e> `? venus
22:22:45 <HackEgo> venus? ¯\(°​_o)/¯
22:22:49 <int-e> `? jupiter
22:22:49 <HackEgo> jupiter? ¯\(°​_o)/¯
22:22:55 <int-e> meh
22:23:06 <int-e> `? pluto
22:23:07 <HackEgo> pluto? ¯\(°​_o)/¯
22:24:03 <int-e> `learn Pluto is an ex-planet that moonlights as a dog in Disney cartoons.
22:24:06 <HackEgo> Learned 'pluto': Pluto is an ex-planet that moonlights as a dog in Disney cartoons.
22:24:22 <b_jonas> `? phthisis
22:24:23 <HackEgo> phthisis? ¯\(°​_o)/¯
22:24:35 <int-e> (I did it for the "moonlights")
22:25:04 <b_jonas> `? chthonic
22:25:05 <HackEgo> chthonic? ¯\(°​_o)/¯
22:25:29 <int-e> `? b_jonas
22:25:30 <HackEgo> b_jonas egy nagyon titokzatos személy. Hollétéről egyelőre nem ismertek.
22:25:43 <int-e> does that mention a tendency of making up new words?
22:28:47 <oerjan> `learn The Sun *may* be retroreflectorey, it's hard to be sure.
22:28:49 <HackEgo> Learned 'sun': The Sun *may* be retroreflectorey, it's hard to be sure.
22:30:03 <int-e> I don't believe that's factually accurate.
22:31:27 <oerjan> `learn Chthonic lithping can be vethy dithturbing to lithten to.
22:31:29 <HackEgo> Learned 'chthonic': Chthonic lithping can be vethy dithturbing to lithten to.
22:31:32 <int-e> At least to me there's no doubt that the plasma scatters photons quite randomly.
22:31:40 <fizzie> `` linux32 --uname-2.6 uname -a
22:31:41 <HackEgo> Linux umlbox 2.6.53-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux
22:31:56 <fizzie> Best option.
22:32:14 <oerjan> int-e: i demand visual proof tdnh
22:32:18 <int-e> yeah, that one is curious.
22:32:44 <int-e> oerjan: ah just get those wings to work and fly up there to have a look.
22:33:46 <int-e> try not to make a splash. http://smbc-comics.com/index.php?id=1938
22:36:24 <int-e> Oh GG... oh library... oh... fish, is that an aquarium with a little sea monster? I wonder what it'll look like after coloring is done...
22:38:49 <oerjan> i do not think that treatment of books is according to library policy
22:38:59 <Taneb> Hmm, the difference between two wolfram alpha queries that should be identical are 0.002 years different
22:39:08 <int-e> and without the speech balloons that would make an excellent "where's Agatha?" picture.
22:39:13 <Taneb> https://www.wolframalpha.com/input/?i=years+since+3%2F6%2F2014 and http://www.wolframalpha.com/input/?i=03%2F06%2F2014+to+today+in+years
22:40:37 <int-e> it wants javascript (of course)
22:41:04 <int-e> maybe it runs the queries on servers in different time zones
22:41:17 <fizzie> I think it's just a unit thing.
22:41:40 <Taneb> fizzie, it's giving both answers in years
22:41:40 <int-e> > 0.002 * 365 * 24
22:41:42 <lambdabot> 17.52
22:41:46 <fizzie> It's identical if you look at unambiguous units -- one says 14760 hours, while the other says 615 days, and 615*24 == 14760.
22:42:17 <fizzie> I'm thinking "convert [days from [...]] to years" is taking an absolute period, and converting it to some nominal years without being anchored to anything.
22:42:29 <int-e> oh you have a point there... one of the years involved is a leap year
22:42:45 <fizzie> While "years since [...]" is treating it as a particular period anchored in a calendar, and giving an exact number of the thingsies.
22:43:07 <fizzie> We had a very similar discussion about esowiki ban lengths recently.
22:43:31 <Taneb> Yes, hmm
22:43:41 <Taneb> Anyway, bbl, I need to help a friend with a library
22:44:17 <vanila> why nott just ban everyone
22:44:24 <vanila> permanently
22:44:28 <fizzie> Where an input of "24 years" turned into 24 years plus a few hours, because it was interpreted as the calendar date you get by adding 24 years, then taking the actual number of seconds there are between current time and that time 24 years in the future, but then that amount of seconds was converted back to "years" for printing by using a fixed conversion factor.
22:47:03 -!- tromp_ has joined.
22:47:42 -!- boily has joined.
22:47:48 <int-e> > 365 + 97/400
22:47:50 <lambdabot> 365.2425
22:48:37 <fizzie> I think it's actually just using a year of 365 days for the latter.
22:49:52 <fizzie> Because it says 14760 hours, and 14760/(24*365) is approximately 1.6849 (rounds to 1.685) while 14760/(24*365.2425) is approximately 1.6838, which rounds to 1.684, which was neither of the answers.
22:50:55 <boily> @massages-loud
22:50:55 <lambdabot> You don't have any messages
22:51:08 <oerjan> the wiki used what int-e said, though.
22:51:12 <fizzie> Yes.
22:52:04 -!- tromp_ has quit (Ping timeout: 272 seconds).
22:52:25 <int-e> what are the answers?
22:53:17 -!- `^_^v has quit (Ping timeout: 276 seconds).
22:53:32 <fizzie> First one ("years since 3/6/2014") yielded "1.683 years", also listed (under "time span") as 1 year 8 months 5 days, 20 months 5 days, 87 weeks 6 days, 615 days or 439 weekdays.
22:54:23 <fizzie> Second one ("03/06/2014 to today in years") yielded "1.685 years", also listed (under "additional conversions") as 20.22 months, 87.86 weeks, 14760 hours, 885600 minutes, 5.314×10⁷ seconds.
22:54:31 <olsner> int-e: I would've used a socket API if sed had one (re socat)
22:54:56 <int-e> > (365/365 + 250/366, 365/365 + 250/365)
22:54:57 <lambdabot> (1.6830601092896176,1.6849315068493151)
22:56:03 <fizzie> And the input interpretations were [[years] since [Tuesday, June 3, 2014]] for the first, and [convert [[days] from | [Tuesday, June 3, 2014] to [today]] to years] for the second.
22:57:32 <olsner> maybe I should just build an extended sed dialect with useful stuff like that? makes it a bit easy to cheat though
23:00:15 <int-e> okay. "1460 days in years" gives 4, so it's using 365 as a factor for that.
23:05:09 -!- hppavilion[1] has joined.
23:05:20 <shachaf> How many days in a dog year?
23:05:58 <shachaf> It's a trick question: Dog years contain only dog days, and dog days occur only during the summer.
23:07:56 <fizzie> "Assuming folklore dog‐equivalent human years for "dog years" | Use folklore human‐equivalent dog years instead"
23:08:06 <boily> hellochaf. pooch!
23:08:09 <fizzie> That gave 28 dog years for 1460 days.
23:08:16 <oerjan> `cat bin/python
23:08:16 <HackEgo> sleep 3; /usr/bin/python "$@"
23:08:20 <oerjan> `rm bin/python
23:08:23 <HackEgo> No output.
23:08:49 <oerjan> int-e: the main think `revert is buggy about, is reverting file creation.
23:08:59 <fizzie> It says 52.14 days in a dog year.
23:09:16 <shachaf> boily hi
23:09:25 <shachaf> we're discussing pooch mortality
23:09:30 <fizzie> 52 days 3 hours 25 minutes 42.86 seconds.
23:09:52 <shachaf> `culprits bin/python
23:09:56 <HackEgo> oerjan izabera
23:10:05 <shachaf> What's that all about?
23:10:33 <oerjan> shachaf: izabera made a joke about python being slow
23:10:53 <oerjan> then int-e tried to revert it, but got caught by the bug
23:11:29 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
23:11:52 <boily> `? izabera
23:11:54 <HackEgo> izabera? ¯\(°​_o)/¯
23:12:12 <fizzie> `learn izabera is probably implemented in bash.
23:12:15 <HackEgo> Learned 'izabera': izabera is probably implemented in bash.
23:12:18 <int-e> oerjan: I'll pretend I planned for you to fix it for me.
23:12:18 <boily> fizzie: AAAAAAAAAAURGH!
23:12:24 <int-e> I didn't, but it's a good lie. I think.
23:12:48 <boily> `learn izabera is a tachyherpetologist. They are probably implemented in bash.
23:12:50 <HackEgo> Learned 'izabera': izabera is a tachyherpetologist. They are probably implemented in bash.
23:13:09 -!- lynn__ has joined.
23:13:16 <int-e> `? oerjan
23:13:17 <HackEgo> Your famous mysterious evil overlord oerjan is a lazy expert in future computation. Also an antediluvian Norwegian who mildly dislikes Roald Dahl. He can never remember the word "amortized" so he put it here for convenience. His arch-nemesis is Betty Crocker.
23:13:17 <boily> izabera: izabellora. are you a man, woman, both, neither, other, won't answer, all of this?
23:13:22 <boily> `relcome lynn_
23:13:23 <HackEgo> lynn_: 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.)
23:13:27 <oerjan> *thing
23:13:37 <shachaf> that's a little rude, don't you think?
23:14:30 -!- lynn_ has quit (Ping timeout: 252 seconds).
23:16:11 <oerjan> flash forward to 2050, when you can get lynched for suggesting someone has a gender.
23:17:58 <vanila> 2015*
23:18:33 <oerjan> *any gender
23:18:42 <oerjan> i realize i was unclear.
23:28:15 <int-e> In fact, just suggesting might get you lynched these days. It doesn't really matter what.
23:28:34 -!- adu has joined.
23:30:34 -!- carado has quit (Remote host closed the connection).
23:30:42 -!- carado has joined.
23:39:07 -!- boily has quit (Quit: ACADEMIC CHICKEN).
23:44:26 -!- hppavilion[1] has joined.
23:52:44 -!- lynn_ has joined.
23:53:29 -!- idris-bot has quit (Quit: Terminated).
23:54:38 -!- Melvar has quit (Quit: rebooting).
23:55:32 -!- lynn__ has quit (Ping timeout: 256 seconds).
23:59:00 -!- Melvar has joined.
2016-02-09
00:05:47 -!- idris-bot has joined.
00:13:27 <oerjan> `learn `revert is a bit buggy. The canary.orig error message is annoying but seemingly harmless. However, reverting a newly created file tends not to work - use `rm instead.
00:13:30 <HackEgo> Learned '`revert': `revert is a bit buggy. The canary.orig error message is annoying but seemingly harmless. However, reverting a newly created file tends not to work - use `rm instead.
00:14:07 <oerjan> just so it's documented somewhere.
00:14:27 -!- lynn_ has changed nick to lynn.
00:16:47 <oerjan> ah new lightning made of owls
00:17:24 <oerjan> two!
00:17:52 <coppro> how do I add a command agian?
00:18:24 <oerjan> coppro: add it to bin/ . if it's a single line script, `mkx is convenient.
00:18:38 <fizzie> `paste bin/mkx
00:18:39 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/bin/mkx
00:19:02 <ais523> no need to paste that, really
00:19:04 <ais523> `cat bin/mkx
00:19:05 <HackEgo> key=$(mk "$@") && echo "$key" && chmod +x "$key"
00:19:16 <fizzie> You never know how long these things are.
00:19:19 <ais523> `cat bin/mk
00:19:20 <HackEgo> ​[[ "$1" == ?*//* ]] || exit 1; key="${1%%//*}"; value="${1#*//}"; echo "$value" > "$key" && echo "$key"
00:19:33 <ais523> fizzie: well you can cat it to IRC first and then paste if it's too long
00:19:47 <coppro> `mkx quote; quote; quote; quote; quote
00:19:48 <HackEgo> No output.
00:19:53 <coppro> oh wait
00:19:58 <coppro> `mkx 5quote quote; quote; quote; quote; quote
00:19:59 <HackEgo> No output.
00:20:04 <coppro> `rm bin/quote\;
00:20:05 <HackEgo> rm: cannot remove `bin/quote\\;': No such file or directory
00:20:11 <coppro> did I just kill quote
00:20:12 <coppro> `quote
00:20:13 <HackEgo> 22) PA ET ANNET UNIVERSET DER DE ENESTE PERSONEN OERJAN: <oerjan> sa jeg kan bare konkludere med at det er feil, eller er verden helt bonkers
00:20:14 <oerjan> coppro: you need // as separator
00:20:20 <coppro> `5quote
00:20:21 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: 5quote: not found
00:20:26 <coppro> oerjan: eh?
00:20:36 <fizzie> As in, `mkx something//contents.
00:20:48 <fizzie> Or is that bin/something?
00:20:49 <oerjan> and the bin/ needs to be there too
00:20:55 <fizzie> Yeah, didn't read so closely.
00:20:58 <coppro> oh
00:21:09 <coppro> `mkx bin/5quote//quote;quote;quote;quote;quote;
00:21:11 <HackEgo> bin/5quote
00:21:12 <coppro> `5quote
00:21:14 <HackEgo> 565) <oerjan> <Patashu> But wait what if I'm using a quantum computer <-- there is "quantum entropy". it's the same except no one understands it. \ 535) <hagb4rd> jesus, yes.. he was human <hagb4rd> and that is fantastic <hagb4rd> more than beeing able to speak with fish.. like seaman does \ 428) <monqy> beautiful summer / fuck fuck fuck fuck fu
00:21:21 <coppro> T_T
00:21:34 <fizzie> You can't get more than one line of output from HackEgo by any means.
00:21:41 <oerjan> `` allquotes | shuf -n 5
00:21:43 <HackEgo> 615) * oerjan concludes that unsafeCoerce has no effect on strictness \ 412) <NihilistDandy> Non sequitur is my forte <NihilistDandy> On-topic discussion is my piano <Taneb> Bowls of sugary breakfast cereal is my mezzoforte <Taneb> Full fat milk is my pianissimo <Taneb> On which note, I'm hungry \ 425) <Phantom_Hoover> Sgeo_, the origin of suff
00:21:54 <fizzie> Which is probably why people have gotten the habit of spamming `quote, I guess.
00:22:07 <oerjan> yeah
00:23:32 <ais523> coppro: using `«command» doesn't do any shell formatting or escaping
00:23:39 <ais523> if you want shell escapes do `` «command»
00:23:44 <ais523> `` rm bin/quote\;
00:23:46 <HackEgo> rm: cannot remove `bin/quote;': No such file or directory
00:26:37 <fizzie> `` sed -i -e 's|exit 1|(echo usage: $0 file//contents; exit 1)|' bin/mk
00:26:39 <HackEgo> No output.
00:26:50 <fizzie> `mkx I don't know the syntax
00:26:53 <HackEgo> usage: /hackenv/bin/mk file//contents \ I don't know the syntax \ chmod: cannot access `usage: /hackenv/bin/mk file//contents\nI don\'t know the syntax': No such file or directory
00:26:58 <fizzie> Hm.
00:27:22 <fizzie> Well, it made mk a bit nicer, but broke mkx; I guess the exit 1 didn't take from the subshell or some-such.
00:27:53 <fizzie> Or, oh; mkx doesn't even check? It just assumes, and now that made some output.
00:28:00 -!- lynn has quit (Quit: Leaving).
00:28:19 <fizzie> `` sed -i -e 's|contents;|contents >&2;|' bin/mk
00:28:21 <HackEgo> No output.
00:28:23 <fizzie> `mkx how about now
00:28:26 <HackEgo> ​/hackenv/bin/mk: line 1: 2: command not found \ how about now
00:28:40 <fizzie> I just keep breaking it.
00:28:55 <fizzie> Oh, right, sed and &.
00:29:04 <fizzie> `revert
00:29:12 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
00:30:15 <fizzie> Oh, and that reverted a wrong thing. Bah. I'll clean it up in a query.
00:34:46 <fizzie> `mkx bah humbug
00:34:46 <HackEgo> usage: /hackenv/bin/mk file//contents
00:34:59 <fizzie> Yeah, the command name in the usage is still wrong, but at least it's better than nothing.
00:35:23 <fizzie> Can't really tell whether the original command was mk or mkx since mkx just calls mk.
00:36:22 <fizzie> Although...
00:36:26 <fizzie> `` sed -i -e 's|$0|"mk[x]"|' bin/mk
00:36:28 <HackEgo> No output.
00:36:31 <fizzie> `mkx whatever
00:36:32 <HackEgo> usage: mk[x] file//contents
00:36:35 <fizzie> Good enough.
00:38:19 <fizzie> I really wonder what made // the "standard" HackEgo separator.
00:42:45 <Taneb> Hmm
00:42:48 <Taneb> I'm still hungry
00:50:44 <zzo38> Now I have made JSZM version 2 and also the example front-end which is using Node.js
00:52:52 <oerjan> fizzie: well it started as / for `slashlearn that was then improved to work with subdirectory targets
00:53:21 <oerjan> because // isn't meaningful in a path
00:54:10 <oerjan> `culprits bin/slashlearn
00:54:13 <HackEgo> shachaf shachaf shachaf int-e tswett tswett shachaf shachaf shachaf shachaf
00:54:39 <oerjan> and shachaf presumably chose / for that because it cannot be in a file name.
00:56:38 <oerjan> hmph, there should be a command like mkdir -p which creates a file instead.
00:57:00 <oerjan> it would be easier than having to separate out the directory first
00:57:26 * oerjan now expects someone to tell what it is
00:59:18 -!- vodkode has quit (Remote host closed the connection).
01:00:53 <oerjan> `cat bin/mk
01:00:54 <HackEgo> ​[[ "$1" == ?*//* ]] || { echo usage: "mk[x]" file//contents >&2; exit 1; }; key="${1%%//*}"; value="${1#*//}"; echo "$value" > "$key" && echo "$key"
01:02:30 <Phantom_Hoover> did homestuck end yet
01:03:23 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
01:08:31 <oerjan> `cat bin/slashlearn
01:08:32 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "wisdom/$key" && echo "Learned «$key»"
01:10:41 <zzo38> Now my "parse-rdf" JavaScript program is include "parse" and "gparse" functions which parse, as well as a Graph object including the methods: add, listNodes, enumerate, export, skolemize, findPredicate, findObject, findProperty, delete, clone, cloneDistinct. In addition the graph has own properties, ones named by string for URI nodes and ones named by symbol for blanknodes.
01:11:25 <zzo38> Each one is object with property named by URI of predicates, which is the array of the objects. URI and blanknodes is string/symbol values, while literals use the Literal object.
01:11:28 -!- augur has quit (Ping timeout: 256 seconds).
01:11:32 <zzo38> Is ther other stuff you expect I should add too?
01:12:28 <oerjan> `mkx bin/echo-p echo "$1"; [[ "$1" == */* ]] && mkdir -p "${1%/*}" 2>/dev/null
01:12:29 <HackEgo> usage: mk[x] file//contents
01:12:37 <oerjan> `mkx bin/echo-p//echo "$1"; [[ "$1" == */* ]] && mkdir -p "${1%/*}" 2>/dev/null
01:12:40 <HackEgo> bin/echo-p
01:12:50 <oerjan> `echo-p just/a/test
01:12:51 <HackEgo> just/a/test
01:13:01 <oerjan> `find just
01:13:02 <HackEgo> just \ just/a
01:13:13 <oerjan> `` rm -r just
01:13:14 <HackEgo> No output.
01:13:23 <oerjan> `echo-p hello
01:13:24 <HackEgo> hello
01:13:30 <oerjan> `echo-p /fnord
01:13:31 <HackEgo> ​/fnord
01:13:50 <oerjan> `ls /fnord
01:13:51 <HackEgo> ls: cannot access /fnord: No such file or directory
01:13:55 <oerjan> `ls hello
01:13:56 <HackEgo> ls: cannot access hello: No such file or directory
01:14:13 <oerjan> `cat bin/slashlearn
01:14:13 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "wisdom/$key" && echo "Learned «$key»"
01:15:08 <shachaf> fizzie: What would you use for a separator?
01:15:27 <oerjan> `` sed -i 's!wisdom/.*"!$(echo-p "wisdom/$key")"!' bin/slashlearn
01:15:29 <HackEgo> No output.
01:15:33 <oerjan> `cat bin/slashlearn
01:15:34 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "$(echo-p "wisdom/$key")"
01:15:40 <oerjan> eek
01:15:41 <oerjan> `revert
01:15:43 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
01:15:59 -!- augur has joined.
01:16:08 <oerjan> `` sed -i 's!wisdom/[^"]*"!$(echo-p "wisdom/$key")"!' bin/slashlearn
01:16:11 <HackEgo> No output.
01:16:14 <oerjan> `cat bin/slashlearn
01:16:15 <shachaf> `` dirname "a/b/c"
01:16:15 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "$(echo-p "wisdom/$key")" && echo "Learned «$key»"
01:16:16 <HackEgo> a/b
01:16:24 <shachaf> oerjan: dth?
01:16:48 <oerjan> shachaf: no, not just printing it
01:16:55 <oerjan> echo-p also creates the path to it
01:17:12 <shachaf> Yes, but you could just mkdir -p "$(dirname "$1")"
01:17:20 <shachaf> `` dirname a
01:17:21 <HackEgo> ​.
01:17:30 <shachaf> `` dirname /a/b
01:17:30 <HackEgo> ​/a
01:17:36 <oerjan> shachaf: i want something that can be just substituted around a filename
01:17:49 <oerjan> `le/rn is/this/working//maybe.
01:17:51 <HackEgo> Learned «is»
01:17:55 <oerjan> oops
01:18:03 <shachaf> I'm talking about the implementation of echo-p. But either way.
01:18:13 <oerjan> oh.
01:18:25 <oerjan> `forget is
01:18:28 <HackEgo> Forget what?
01:18:33 <shachaf> HackEgo: is
01:18:58 <shachaf> forget should also rmdir -p
01:19:06 <oerjan> huh
01:19:18 <oerjan> `cat bin/echo-p
01:19:19 <HackEgo> echo "$1"; [[ "$1" == */* ]] && mkdir -p "${1%/*}" 2>/dev/null
01:19:43 <shachaf> oerjan: ?
01:19:49 <shachaf> Did you mean to lee/rn?
01:19:52 <shachaf> le//rn
01:20:02 <oerjan> `mkx echo-p//echo "$1"; mkdir -p "$(dirname "$1")" 2>/dev/null
01:20:05 <HackEgo> echo-p
01:20:12 <oerjan> `echo-p /hm
01:20:13 <HackEgo> ​/hm
01:20:35 <oerjan> `le//rn is/this/working//maybe.
01:20:37 <HackEgo> Learned «is/this/working»
01:20:44 <oerjan> `? is/this/working
01:20:45 <HackEgo> maybe.
01:20:46 -!- augur has quit (Ping timeout: 240 seconds).
01:20:51 <oerjan> success!
01:21:04 <oerjan> `rm -r wisdom/is
01:21:05 <HackEgo> rm: invalid option -- ' ' \ Try `rm --help' for more information.
01:21:11 <oerjan> `` rm -r wisdom/is
01:21:13 <HackEgo> No output.
01:21:16 <MDude> http://www.pixiv.net/member_illust.php?mode=medium&illust_id=54958830
01:21:21 <oerjan> `cat bin/mk
01:21:22 <HackEgo> ​[[ "$1" == ?*//* ]] || { echo usage: "mk[x]" file//contents >&2; exit 1; }; key="${1%%//*}"; value="${1#*//}"; echo "$value" > "$key" && echo "$key"
01:22:51 <oerjan> `` sed -i 's/> "...."/> "$(echo-p "$key")"/' bin/mk
01:22:53 <HackEgo> No output.
01:22:56 <oerjan> `cat bin/mk
01:22:57 <HackEgo> ​[[ "$1" == ?*//* ]] || { echo usage: "mk[x]" file//contents >&2; exit 1; }; key="${1%%//*}"; value="${1#*//}"; echo "$value" > "$(echo-p "$key")" && echo "$key"
01:23:23 <oerjan> `mk this/changes/everything//oh, really?
01:23:26 <HackEgo> this/changes/everything
01:23:35 <oerjan> `cat this/changes/everything
01:23:36 <HackEgo> oh, really?
01:23:49 <oerjan> `ls this
01:23:50 <HackEgo> changes
01:23:55 <oerjan> `` rm -r this
01:23:57 <HackEgo> No output.
01:24:04 <oerjan> `mkx this/changes/everything//oh, really?
01:24:07 <HackEgo> this/changes/everything
01:24:20 <oerjan> `./this/changes/everything
01:24:21 <HackEgo> ​/hackenv/this/changes/everything: line 1: oh,: command not found
01:24:25 <oerjan> `` rm -r this
01:24:27 <HackEgo> No output.
01:25:50 -!- augur has joined.
01:26:19 <fizzie> shachaf: I'm partial to |, but it's admittedly kind of overly shell-metacharacteristic.
01:26:40 <fizzie> Alternatively, the :.
01:26:42 <hppavilion[1]> oerjan: dafuq are you doing?
01:26:58 <hppavilion[1]> fizzie: Partial to | over what?
01:27:02 <fizzie> hppavilion[1]: Over //.
01:27:11 <hppavilion[1]> fizzie: And what does // do exactly?
01:27:23 <fizzie> It's the separator for `mk, `mkx, and I think others as well.
01:27:27 <hppavilion[1]> Ah
01:29:17 <oerjan> hppavilion[1]: i'm improving `le//rn and `mk[x] to create subdirectories automatically.
01:29:25 <hppavilion[1]> oerjan: Ah
01:29:48 -!- tromp_ has joined.
01:30:01 <oerjan> `cat bin/forget
01:30:02 <HackEgo> ​#!/bin/sh \ rm "wisdom/$(echo "$1" | tr A-Z a-z)" \ echo "Forget what?"
01:31:11 <oerjan> `cat bin/rm-p
01:31:12 <HackEgo> cat: bin/rm-p: No such file or directory
01:31:48 -!- PyRCBot has joined.
01:31:48 -!- PyRCBot has quit (Remote host closed the connection).
01:31:52 <ais523> rm doesn't have a -p, although rmdir does
01:31:52 <hppavilion[1]> Yes!
01:31:59 <hppavilion[1]> I got it to join a channel for a split second!
01:32:10 -!- augur has quit (Ping timeout: 245 seconds).
01:32:21 <\oren\> good jorb
01:32:26 <oerjan> `mkx bin/rm-p//rm "$1"; rmdir -p "$(dirname "$1")"
01:32:28 <HackEgo> bin/rm-p
01:32:37 <ais523> silly idea: to make a file with -p, do a mkdir -p then a rmdir (then a touch/truncate); to delete a file with -p, do a rm then a mkdir then a rmdir -p
01:32:38 <hppavilion[1]> Dammit.
01:32:38 <oerjan> ais523: which is why i'm adding it
01:32:42 <hppavilion[1]> The topic crashed it.
01:32:57 <ais523> hppavilion[1]: riscy!
01:33:08 <hppavilion[1]> ffuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
01:33:12 <oerjan> `mk test/ing/ho//yo!
01:33:14 <HackEgo> test/ing/ho
01:33:23 <oerjan> `cat test/ing/ho
01:33:24 <HackEgo> yo!
01:33:30 <hppavilion[1]> ais523: Yes, I'm proud of that joke
01:33:32 <oerjan> `rm-r test/ing/ho
01:33:33 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: rm-r: not found
01:33:39 <oerjan> oops
01:33:43 <oerjan> `rm-p test/ing/ho
01:33:45 <HackEgo> No output.
01:33:49 <oerjan> `ls test
01:33:49 <HackEgo> ls: cannot access test: No such file or directory
01:34:14 <oerjan> `` sed -i 's/rm/rm-p/' bin/forget
01:34:16 <HackEgo> No output.
01:34:47 <oerjan> `le//rn a/very/deep/wisdom//but not very long-lasting
01:34:48 <HackEgo> ​/hackenv/le//rn: line 1: wisdom/a/very/deep/wisdom: Not a directory
01:35:01 <oerjan> oops
01:35:07 <oerjan> what happened there
01:35:34 <oerjan> `` ls wisdom/a
01:35:35 <HackEgo> wisdom/a
01:35:39 <oerjan> `` ls wisdom/a/very
01:35:40 <HackEgo> ls: cannot access wisdom/a/very: Not a directory
01:35:53 -!- augur has joined.
01:36:04 <oerjan> oh of course
01:36:08 -!- EsoBot has joined.
01:36:08 -!- EsoBot has quit (Remote host closed the connection).
01:36:17 <oerjan> `le//rn very/deep/wisdom//but not very long-lasting
01:36:20 <HackEgo> Learned «very/deep/wisdom»
01:36:28 <oerjan> `? very/deep/wisdom
01:36:29 <HackEgo> but not very long-lasting
01:36:35 <shachaf> fizzie: // has the advantage that it doesn't appear in any canonical UNIX file path.
01:36:35 <oerjan> `forget very/deep/wisdom
01:36:38 <HackEgo> rmdir: failed to remove directory `wisdom': Directory not empty \ Forget what?
01:36:42 <oerjan> gah
01:36:48 <oerjan> `cat bin/forget
01:36:49 <HackEgo> ​#!/bin/sh \ rm-p "wisdom/$(echo "$1" | tr A-Z a-z)" \ echo "Forget what?"
01:37:09 <oerjan> `cat bin/rm-p
01:37:10 <HackEgo> rm "$1"; rmdir -p "$(dirname "$1")"
01:37:14 -!- EsoBot has joined.
01:37:29 <oerjan> `ls wisdom/very/deep/wisdom
01:37:30 <HackEgo> ls: cannot access wisdom/very/deep/wisdom: No such file or directory
01:37:34 <oerjan> `ls wisdom/very/deep
01:37:35 <HackEgo> ls: cannot access wisdom/very/deep: No such file or directory
01:37:38 <oerjan> `ls wisdom/very
01:37:38 <HackEgo> ls: cannot access wisdom/very: No such file or directory
01:37:43 <\oren\> `msg
01:37:43 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: msg: not found
01:37:45 <oerjan> oh hm
01:37:58 -!- EsoBot has quit (Read error: Connection reset by peer).
01:38:01 <oerjan> i think that got an error because of HackEgo's do-everything-twice mechanism
01:38:07 -!- EsoBot has joined.
01:38:25 <oerjan> `cat bin/rm-p
01:38:26 <HackEgo> rm "$1"; rmdir -p "$(dirname "$1")"
01:38:28 <hppavilion[1]> I'll... move to #bots
01:38:43 <adu> hppavilion[1]!
01:38:48 <hppavilion[1]> adu!
01:38:53 <\oren\> isn't this channel botty?
01:39:00 <oerjan> `` sed -i 's!$! 2>/dev/null!' bin/rm-p
01:39:01 <hppavilion[1]> \oren\: Yes, but I haven't made it work yet
01:39:02 <HackEgo> No output.
01:39:06 <adu> \oren\: bot-y?
01:39:12 <oerjan> `le//rn very/deep/wisdom//but not very long-lasting
01:39:15 <HackEgo> Learned «very/deep/wisdom»
01:39:16 <hppavilion[1]> So it's joining in and leaving constantly
01:39:20 <oerjan> `forget very/deep/wisdom
01:39:23 <HackEgo> Forget what?
01:39:27 <adu> I like deep wisdom
01:39:46 * adu can haz dewp wisdom?
01:39:52 -!- EsoBot has quit (Read error: Connection reset by peer).
01:39:57 <int-e> ⊥-y
01:40:07 <adu> int-e: bottom-y?
01:40:08 <hppavilion[1]> Ugh
01:40:15 <hppavilion[1]> Whoops, wrong channel to complain to
01:40:19 <adu> hppavilion[1]: don't leave
01:40:34 <adu> hppavilion[1]: stop complaining to other channelz!
01:40:55 -!- tromp_ has quit (Remote host closed the connection).
01:43:33 <hppavilion[1]> adu: xD
01:44:50 <oerjan> oh wait what happened was that rmdir -p complained about wisdom/ at the top.
01:45:53 <oerjan> there's an option to disable that, which is ridiculously verbose.
01:46:09 <oerjan> so i think 2>/dev/null will do.
01:47:08 -!- SOBot has joined.
01:47:17 <hppavilion[1]> I can't think of a good name for the bot xD
01:47:50 <oerjan> hpgazebot
01:48:03 <hppavilion[1]> oerjan: WalrusMan?
01:48:12 -!- SOBot has quit (Read error: Connection reset by peer).
01:48:13 <oerjan> wat
01:49:36 <hppavilion[1]> oerjan: I WalBot?
01:49:40 -!- WalrusMan has joined.
01:49:40 -!- WalrusMan has quit (Read error: Connection reset by peer).
01:50:01 <hppavilion[1]> adu: What should the bot do?
01:50:07 -!- vanila has quit (Quit: Leaving).
01:50:24 <adu> hppavilion[1]: it should fortell the future
01:50:33 <hppavilion[1]> adu: Yes, duh, and what else?
01:50:37 <hppavilion[1]> What interesting things should it do?
01:50:42 <oerjan> `brain what should the bot do?
01:50:43 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: brain: not found
01:50:46 <oerjan> @brain what should the bot do?
01:50:46 <lambdabot> Pinky, I am in considerable pain.
01:50:54 <adu> also, it should recommend slashdot articles
01:51:18 <oerjan> i always have the feeling that @brain and @pinky are reversed
01:51:39 <oerjan> because your question isn't spoken by the name in front
01:51:49 <adu> like (Q) FancyBot: how much is my current VerizonFios bill? (A) I don't know, but you might like this article http://slashdot.org/.......
01:52:20 <hppavilion[1]> The current best feature I have is a messaging system based on a deque
01:52:54 <oerjan> hm or wait it works with that new-fangled @ abomination
01:54:02 <hppavilion[1]> oerjan: As in you enqueue a message and somebody else dequeues it
01:54:07 <hppavilion[1]> At a later date
01:54:28 <hppavilion[1]> And when the message is dequeued, it gets sent to the back of the lien
01:55:35 -!- bb010g has joined.
01:58:59 <zgrep> A RISCy move! :D
02:00:16 -!- AlexR42 has joined.
02:03:05 -!- MDude has changed nick to MDream.
02:08:42 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
02:09:02 -!- tromp_ has joined.
02:17:03 -!- hppavilion[1] has joined.
02:17:19 <hppavilion[1]> Should I add support for a stack-based language to the bot perhaps?
02:17:59 <hppavilion[1]> `` cat bin/evil
02:18:00 <HackEgo> cat "$(find evil -type f | shuf -n1)" | tr '[:lower:]' '[:upper:]'
02:18:22 <hppavilion[1]> We need a `mourn command. Should I put one in the bot?
02:24:01 <int-e> `? the bot
02:24:02 <HackEgo> the bot? ¯\(°​_o)/¯
02:24:32 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
02:39:01 -!- hppavilion[1] has joined.
02:44:56 -!- WalBot has joined.
02:44:57 -!- WalBot has quit (Remote host closed the connection).
02:45:46 -!- WalBot has joined.
02:47:29 -!- WalBot has quit (Read error: Connection reset by peer).
02:53:28 -!- adu has quit (Quit: adu).
02:53:54 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:57:07 -!- WalBot has joined.
02:57:41 -!- WalBot has quit (Read error: Connection reset by peer).
02:57:52 -!- WalBot has joined.
02:57:53 -!- WalBot has quit (Remote host closed the connection).
02:58:44 -!- WalBot has joined.
02:58:45 -!- WalBot has quit (Remote host closed the connection).
02:59:32 -!- WalBot has joined.
02:59:33 -!- WalBot has quit (Remote host closed the connection).
03:00:12 -!- WalBot has joined.
03:00:17 <hppavilion[1]> Oh, whoops
03:00:26 <hppavilion[1]> fungot I was still on this chan
03:00:26 <fungot> hppavilion[1]: how would that work with secondary storage? the hdd is just one cad i liked
03:01:25 -!- WalBot has quit (Read error: Connection reset by peer).
03:01:54 -!- ais523 has quit.
03:11:17 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
03:34:37 -!- lleu has quit (Quit: That's what she said).
03:36:49 -!- mihow has quit (Quit: mihow).
03:59:02 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
04:01:38 <\oren\> https://www.youtube.com/watch?v=eAj0CcT9b2g
04:06:09 <zgrep> fungot: Since when do you care about secondary storage?
04:06:09 <fungot> zgrep: where i realize the grand pattern of parsing.
04:06:22 <zgrep> fungot: Oh, I see. You care about storage because you care about parsing data.
04:06:22 <fungot> zgrep: i dunno. generating machine code yourself is a lot
04:06:42 <zgrep> fungot: So you're parsing machine code? Or are you generating machine code by feeding stuff backwards to a parser?
04:06:42 <fungot> zgrep: now i don't understand them, plus razor-x plays slashem. hehe. :)
04:06:50 <zgrep> fungot: If only you made sense.
04:06:51 <fungot> zgrep: it is a collisions of interests clearly i don't understand as well as
04:06:57 <zgrep> Indeed, you don't.
04:10:49 -!- hppavilion[1] has joined.
04:13:59 -!- mad has quit (Read error: Connection reset by peer).
04:21:13 <hppavilion[1]> RISC 15, %aux, %flags
04:23:32 <\oren\> I've made a more compact allhars.htm
04:23:34 <\oren\> http://www.orenwatson.be/allchars.htm
04:26:54 <zgrep> \oren\: Your font is actually readable when smaller...
04:27:40 <\oren\> how muh smaller?
04:27:56 <zgrep> No clue. I just hit cmd+- a few times.
04:28:05 <\oren\> native size should be 12 pt on win, 16 pt on mac
04:28:13 <zgrep> Also, your Cyrillic 'у' seems a bit... low.
04:28:40 <zgrep> All the other letters around it are nice and cut off at a certain height. у stands out.
04:28:47 <zgrep> Well, stands down.
04:29:08 <\oren\> what? I could have sworn I fixed that already
04:29:13 <\oren\> argh
04:30:11 <zgrep> On my retina screen, your font becomes pixelated at size 16, I think. I say that because I can see blocky pixel parts on certain letters.
04:30:53 <\oren\> oh, on retina, native size would be 8 pt
04:31:03 <zgrep> That's tiny. Far too tiny.
04:31:40 <\oren\> try halfway then? at 12 pt it should only be a little blurry
04:32:03 <\oren\> it would be at 3/2 pixel scale
04:32:25 <zgrep> My eyes aren't bleeding at 12pt, so it's usable, more or less.
04:32:56 <zgrep> It looks nicer if you make the line height bigger than the font size (at least, for your website, in my opinion).
04:33:27 <zgrep> No chance there'll be a neoletters vector edition, will there? :P
04:33:35 <\oren\> it's a vector now?
04:33:45 <zgrep> Oh, less blocky, then. I mean.
04:33:52 <zgrep> Smoother.
04:34:03 -!- adu has joined.
04:34:10 <\oren\> at some point I might stort making double or quadruple size version
04:34:29 <\oren\> so that would end up being smoother
04:34:42 <zgrep> Not exactly the same thing, but... hm...
04:35:35 <zgrep> Wow. That's blocky... https://usercontent.irccloud-cdn.com/file/rUlsnPhz/blocky.png
04:37:14 <\oren\> yup
04:39:14 <zgrep> Unfortunately it's too blocky for my daily use, but it seems like a pretty neat font. I wonder what neolettersmooth would look like... :P
04:39:14 -!- mad has joined.
04:40:11 <\oren\> I have a computer-smoothed version but it looks like a halloween font
04:40:14 <\oren\> http://www.orenwatson.be/fontdemowtf.htm
04:41:07 <\oren\> http://www.orenwatson.be/neolettersauto.ttf
04:42:45 <\oren\> and it's very glichy with the more intricate characters
04:47:13 <\oren\> also there are... problems with ^ and ~ in particular, which look nothing like they should
04:47:41 <\oren\> maybe if I smoothed a larger version
04:48:47 -!- hppavilion[1] has quit (Ping timeout: 264 seconds).
04:51:52 <\oren\> I have a bad enought monitor and good enough eyes (well, my left eye is good enough) that I can see the individual pixels at normal distance anyway, so everyhting is pixelated
04:52:25 <\oren\> my right eye is kinda blurry though
04:54:58 <\oren\> why is there such inadequate documentation on the TTF format?
04:56:14 <\oren\> I'd like to generate the ttf with my own faster program instead of fontforge
05:05:52 <zzo38> There are also other font format, you can therefore later to make your program to be able to output to multiple format too
05:41:10 -!- tromp_ has quit (Remote host closed the connection).
05:52:44 -!- hppavilion[1] has joined.
06:20:03 -!- nisstyre has quit (Quit: WeeChat 1.3).
06:27:47 -!- oerjan has quit (Quit: Nite).
06:27:55 <hppavilion[1]> NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOerjan
06:31:40 <myname> what
06:33:47 <hppavilion[1]> Are there any non-dry blog posts or series along the lines of "Let's make an instruction set architecture"
06:33:57 <hppavilion[1]> myname: Nothing.
06:41:42 -!- tromp_ has joined.
06:46:14 -!- tromp_ has quit (Ping timeout: 252 seconds).
06:48:19 <hppavilion[1]> I just found out what "NO LOL" means in the #python topic
06:53:28 <Elronnd> I like how /s
06:54:33 <Elronnd> I like how github has come to be almost synonymous with git
06:54:46 <myname> has it?
06:54:54 <myname> i don't think so
06:54:58 <Elronnd> if you look up, say, "how to do x in git," the first answer is almost always a github answer
06:55:28 <myname> maybe there is a group like these people having internet = browser = facebook
06:55:41 <Elronnd> okay, true
06:55:53 <Elronnd> internet = browser is actually a lot of people
06:56:35 * izabera just woke up and found you guys have been adding a factoid about me and talked about my gender
06:57:02 <Elronnd> they did?
06:57:06 <Elronnd> `?izabera
06:57:19 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ?izabera: not found
06:57:20 <Elronnd> `? izabera
06:57:22 <HackEgo> izabera is a tachyherpetologist. They are probably implemented in bash.
06:57:43 <izabera> no idea what that even means but it doesn't sound good
06:57:44 <Elronnd> zsh is more feature-filled than bash
06:57:54 <Elronnd> `learn izabera izabera is a tachyherpetologist. They are probably implemented in zsh
06:57:57 <HackEgo> Learned 'izabera': izabera izabera is a tachyherpetologist. They are probably implemented in zsh
06:58:03 <Elronnd> `?izabera
06:58:04 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ?izabera: not found
06:58:07 <Elronnd> `? izabera
06:58:08 <HackEgo> izabera izabera is a tachyherpetologist. They are probably implemented in zsh
06:58:22 <Elronnd> `learn izabera is a tachyherpetologist. They are probably implemented in zsh
06:58:24 <HackEgo> Learned 'izabera': izabera is a tachyherpetologist. They are probably implemented in zsh
06:58:25 <Elronnd> `learn izabera is a tachyherpetologist. They are probably implemented in zsh.
06:58:27 <HackEgo> Learned 'izabera': izabera is a tachyherpetologist. They are probably implemented in zsh.
06:58:32 <Elronnd> there we go
06:58:44 <izabera> i don't use zsh
06:58:53 <izabera> can't use it decently
06:59:11 <Elronnd> Suffice to say that zsh is much more feature-filled than bash and the joke makes more sense this way
06:59:37 <izabera> i don't necessarily agree with that
07:00:04 <Elronnd> you don't like it, change your factoid
07:01:52 <myname> don't! factoids should (unless vandalised) be dited by others imho
07:02:32 <hppavilion[1]> Factoids should be edited by others. TTOMWOG.
07:02:45 <hppavilion[1]> ("`tis the objectively moral Word of God")
07:03:06 <hppavilion[1]> If I want to make an assembler to a OISC
07:03:11 <hppavilion[1]> What OISC should I use?
07:03:35 <hppavilion[1]> (I probably won't pure OISC; I'll likely include PUTC and GETC as well)
07:04:54 <hppavilion[1]> `? word of god
07:04:56 <HackEgo> word of god? ¯\(°​_o)/¯
07:05:10 <hppavilion[1]> `? wisdome
07:05:12 <HackEgo> The Wisdome is the place where all of HackBot's wisdom is stored and forced to fight to the death for the freedom of being printed out when you type `wisdom.
07:06:10 <myname> obviously, i am the twin of perl
07:06:28 <Elronnd> `? myname
07:06:29 <HackEgo> myname is not your name. You don't know what they are doing. Or you are doing. Or am I? His evil twin brother is Perl.
07:07:20 <Elronnd> `learn myname is not your name. You don't know what they are doing. Or you are doing. Or am I? He is Perl's evil twin brother.
07:07:23 <HackEgo> Learned 'myname': myname is not your name. You don't know what they are doing. Or you are doing. Or am I? He is Perl's evil twin brother.
07:10:01 -!- Treio has joined.
07:11:05 <HackEgo> [wiki] [[Malbolge]] https://esolangs.org/w/index.php?diff=46375&oldid=44221 * Keymaker * (+108) Linked the truth-machine in sample programs. (Nice work, by the way!)
07:13:19 -!- adu has quit (Quit: adu).
07:19:27 <hppavilion[1]> fungot: What do you think of OISCs?
07:19:27 <fungot> hppavilion[1]: hi 0k! x 1) to get a comparison. :) most of the things that upsets me most is the fact that there are two
07:20:08 <hppavilion[1]> fungot: Yes, I agree, it's kind of false advertising to call an ISA a OISC if it has two instructions.
07:20:09 <fungot> hppavilion[1]: it is probably
07:20:14 <hppavilion[1]> fungot: Yep
07:20:14 <fungot> hppavilion[1]: fnord/ fnord/ fnord/ fnord fnord fnord. joidenkin paavin fnord mukaan hän oli fnord ja fnord.
07:20:57 <hppavilion[1]> fungot: That's, like, 8 instructions. How does fnordVM even get away with that!?
07:20:57 <fungot> hppavilion[1]: where are you studying? ( this time defined with define-macro). after that it reads right to left
07:21:17 <hppavilion[1]> OH M GOD FUNGOT JUST MATCHED BRACKETS
07:21:59 <hppavilion[1]> xD
07:22:16 <hppavilion[1]> fungot: I'm studying at TGRU. I'm taking Commie Programming.
07:22:47 <hppavilion[1]> fungot?
07:23:04 <hppavilion[1]> I think I offended fungot.
07:23:55 -!- mad has quit (Quit: Pics or it didn't happen).
07:24:59 <myname> fnord
07:25:16 <hppavilion[1]> I want to make an IRC client that replaces random words with "fnord"
07:29:19 <hppavilion[1]> Maybe there should be an official #esoteric IRC client that does confusing things...
07:29:27 <myname> no
07:29:29 <hppavilion[1]> Like trade nicknames at random with people using the smae client
07:29:35 <hppavilion[1]> myname: ?
07:29:48 <hppavilion[1]> Without INFORMING the server, of course. Or the user.
07:29:50 <myname> that'd make communication hard
07:30:03 <hppavilion[1]> myname: Exactly.
07:30:11 <hppavilion[1]> It wouldn't, you know, be used normally
07:30:22 <hppavilion[1]> But when we're feeling like confusing people, it'd be glorious
07:30:40 <myname> i don't like confusing myself
07:30:53 <hppavilion[1]> myname: THEN GET THE HELL OFF THIS CHANNEL
07:30:54 <hppavilion[1]> xD
07:31:04 <hppavilion[1]> Kidding, kidding
07:31:56 <zzo38> If you like to change your name every day in order to confuse everyone including yourself, then you can do it by yourself even if not done by computer
07:32:05 <hppavilion[1]> True
07:32:21 <hppavilion[1]> I want to, as an easter egg, add the following instructions to ELK: TFM, AOTC, ROTS, ANH, ESB, ROTJ, and TFA
07:32:34 <zzo38> Which is meaning what?
07:32:59 <hppavilion[1]> zzo38: Left as an exercise for the reader
07:33:01 <hppavilion[1]> It should be easy
07:33:09 <hppavilion[1]> Though the capitalization is a bit off
07:33:24 <zzo38> O, it is undocumented
07:33:53 <hppavilion[1]> zzo38: Wait, were you asking what the instructions do?
07:34:02 <zzo38> Yes
07:34:15 <hppavilion[1]> zzo38: So you got the easter egg?
07:34:50 <zzo38> I don't know?
07:37:04 <hppavilion[1]> zzo38: It's the star wars movies
07:37:11 <hppavilion[1]> zzo38: Not sure what they'll do yet
07:40:05 <izabera> 1rd
07:40:06 <izabera> 2st
07:40:08 <izabera> 3nd
07:41:09 <myname> i can identify one of them
07:41:23 <myname> never watched these, though
07:42:43 <hppavilion[1]> myname: Wut.
07:43:19 <hppavilion[1]> izabera: Fird, secost, thirnd?
07:43:26 <hppavilion[1]> *seconst
07:44:25 <myname> secost is more accurate, imo
07:44:26 <zzo38> If I make Pokemon battle game server on Node.js then will you play this game too? (You don't need Node.js to play the game any telnet client would do; only for whoever is going to run the server would need Node.js installed, although internet is not needed if you are doing by local network)
07:44:58 <myname> zzo38: what are the advantages to pokemon netbattle?
07:45:08 <hppavilion[1]> myname: I guess it is
07:45:49 <zzo38> myname: I can put in many more options to configure the rules of game too
07:47:16 <myname> have you ever played netbattle?
07:47:51 <zzo38> No but can you telnet to it and can you customize *all* of the rules?
07:48:28 <myname> well, define "costumizing all the rules"
07:48:32 <zzo38> And can you use on local network without internet
07:49:00 <myname> i am not sure if i want to be able to make special attack count over 9000 times
07:49:25 <myname> you should be as close to the original games as possible, i think
07:49:29 <zzo38> myname: I mean including to define rental, random rental, draft, doubling cube, money, time controls, item use, ban lists, and so on
07:49:32 <myname> at least for actual battling
07:49:46 <zzo38> The default setting would be like the original game though
07:49:51 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
07:50:00 <myname> rental for what?
07:50:30 <zzo38> And then you can customize it from there. But all player must agree the rules to use, and therefore, to agree what game to play too
07:51:37 <myname> also: can't wait for pokemon go
07:51:46 <zzo38> myname: Rental that the players must select from the group of pokemons rather than define it by themself
07:52:05 <zzo38> (The option to define it by yourself would also be available though, depending what rule settings have been defined)
07:53:11 -!- hppavilion[1] has joined.
07:53:36 -!- vodkode has joined.
07:53:42 <zzo38> Another rule option that could be defined is what happens when you run out of time: you are forced to pass, or you lose the game, or a random valid command is selected.
07:55:25 <zzo38> Another rule option can be the PP multiplier, which is five by default but can be set to a higher or lower number, if set to zero then each attack can be used only once
07:57:19 <zzo38> And then, to configure type matrix, STAB multiplier, and so on; note even the official games there are many different version, so the rule can be define and make it to be like the older version too, by presets, and then optionally you can adjust it from there
08:04:09 <myname> i'm not into that, i just know that the battling system of tje first generation was pretty broken
08:08:10 <zzo38> What kind of time controls do you want to use? Shot clock, chess clock, master clock, grace time, increment time, maximum time, hourglass style, byo-yomi, etc?
08:16:15 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
08:20:46 -!- Treio has quit (Ping timeout: 245 seconds).
08:23:20 -!- J_Arcane has quit (Ping timeout: 276 seconds).
08:24:32 <b_jonas> "<zzo38> Another rule option that could be defined is what happens when you run out of time: you are forced to pass, or you lose the game, or a random valid command is selected." -- or you are forced to go all in (in poker)
08:26:51 <zzo38> Yes, in game of poker that would work
08:28:34 <zzo38> If the time control is per deal, then it can work well to be all in since then you won't do anything else until the deal is finished
08:34:20 -!- mroman has joined.
08:34:24 <mroman> fnardel
08:35:50 <izabera> do you know a tool that can format text in a terminal?
08:35:53 -!- Treio has joined.
08:36:07 <izabera> i'm looking for justification and word splitting
08:36:25 <izabera> tried fmt and fold, neither does justification
08:36:53 <izabera> tried par, it's trying to be too smart and producing stupid errors
08:37:31 <zzo38> Maybe troff might?
08:38:37 <izabera> i don't know how to use it
08:38:56 <izabera> isn't there some autoformatter or something? :\
08:42:12 -!- tromp_ has joined.
08:46:28 -!- tromp_ has quit (Ping timeout: 250 seconds).
08:48:01 <izabera> examples of par doing it wrong:
08:48:03 <izabera> Please send FSF & GNU inquiries to <gnu@gnu.org>. There are also other ways to contact the FSF.
08:48:04 <izabera> Please send broken links and other corrections or suggestions to <webmasters@gnu.org>.
08:48:12 <izabera> ^ these two lines are formatted like this:
08:48:18 <izabera> Please send FSF & GNU inquiries to <gnu@gnu.org>. There are also other .
08:48:20 <izabera> Please send ways to contact the FSF broken links and other corrections .
08:48:22 <izabera> Please send or suggestions to <webmasters@gnu.org> .
08:48:28 <izabera> that's terrible
08:48:44 <myname> wat
09:02:05 <izabera> tried pr and it's totally ignoring the width argument
09:05:24 <b_jonas> izabera: I wrote a custom one to generate http://www.perlmonks.com/?node_id=877696 but it has a serious bug
09:05:44 <b_jonas> as a result, it doesn't handle short paragraphs correctly
09:08:24 <b_jonas> The bug is fixable though.
09:08:32 <izabera> thanks, let me try
09:08:52 <b_jonas> Also, the built-in optimization function is deliberately screwed for the particular goals I needed for that obfu to work.
09:09:02 <b_jonas> s/optimization function/goal function/
09:09:51 <b_jonas> I think it even had a continuous weight parameter I could vary between looking nice and the obfu working well.
09:10:08 <b_jonas> Then I changed it to the least nice I could make that didn't look too ugly to me.
09:10:17 <b_jonas> I also varied the column width of course.
09:21:07 -!- bender| has joined.
09:37:53 <b_jonas> `? stack
09:37:57 <HackEgo> stack? ¯\(°​_o)/¯
09:41:08 -!- Treio has quit (Ping timeout: 252 seconds).
10:22:24 <mroman> A stack is just an array with a cell pointer .
10:26:40 <fizzie> A stack is just a deque with a cork in one end.
10:28:11 <b_jonas> a stack is half the way to Turing-completeness
10:43:40 <izabera> google really improved v8 recently https://www.campbells.com/v8/
11:03:18 <mroman> that websites displays horribly incorrectly
11:35:05 -!- boily has joined.
11:35:56 -!- coppro has quit (Ping timeout: 256 seconds).
11:37:32 -!- coppro has joined.
11:43:34 -!- tromp_ has joined.
11:47:46 -!- tromp_ has quit (Ping timeout: 240 seconds).
11:48:11 -!- coppro has quit (Ping timeout: 264 seconds).
11:49:08 -!- coppro has joined.
11:49:25 <boily> `wisdom
11:49:44 <HackEgo> category-helpdesk/category-helpdesk is a helpdesk with identity and composition. This channel isn't it.
11:52:22 <boily> `wisdom
11:52:24 <HackEgo> herbalist/An herbalist is a list of herbas.
12:11:08 -!- adu has joined.
12:13:29 -!- AnotherTest has joined.
12:15:26 -!- adu has quit (Ping timeout: 240 seconds).
12:21:31 -!- MDude has joined.
12:24:31 -!- MDream has quit (Ping timeout: 245 seconds).
12:26:30 -!- bender| has quit (Ping timeout: 252 seconds).
12:26:48 -!- boily has quit (Quit: GOBLIN CHICKEN).
12:36:57 -!- Treio has joined.
12:44:57 -!- tromp_ has joined.
12:49:40 -!- tromp_ has quit (Ping timeout: 260 seconds).
12:50:22 -!- ais523 has joined.
12:54:53 -!- jaboja has joined.
13:11:42 -!- adu has joined.
13:16:44 -!- adu has quit (Ping timeout: 252 seconds).
13:17:14 -!- tromp_ has joined.
13:17:34 -!- adu has joined.
13:25:11 <mroman> hu fascinating
13:25:26 -!- Treio has quit (Ping timeout: 240 seconds).
13:25:34 <mroman> They can insert ads into sports broadcasting
13:25:45 <mroman> on the side walls for example
13:26:01 <mroman> I thought those side walls just had a poster of the ad
13:26:23 <mroman> but it may as well be blank and the ad inserted electronically while broadcasting
13:30:08 -!- tromp_ has quit (Remote host closed the connection).
13:34:12 -!- callforjudgement has joined.
13:37:59 -!- ais523 has quit (Ping timeout: 264 seconds).
13:40:57 -!- Treio has joined.
13:41:43 <HackEgo> [wiki] [[Special:Log/newusers]] create * CBenni * New user account
13:41:49 -!- ais523 has joined.
13:42:01 -!- callforjudgement has quit (Read error: Connection reset by peer).
13:43:26 <HackEgo> [wiki] [[POGAACK]] M https://esolangs.org/w/index.php?diff=46376&oldid=43730 * CBenni * (-93) Removed dead link that will not be valid ever again.
13:44:19 -!- ais523 has quit (Excess Flood).
13:45:28 -!- ais523 has joined.
13:51:14 -!- ais523 has quit.
13:51:20 -!- callforjudgement has joined.
13:51:37 <HackEgo> [wiki] [[DNA-Sharp]] https://esolangs.org/w/index.php?diff=46377&oldid=43221 * CBenni * (+56) /* External resources */
13:56:34 -!- ais523 has joined.
13:57:35 -!- callforjudgement has quit (Ping timeout: 240 seconds).
14:05:35 -!- ais523 has quit (Read error: Connection reset by peer).
14:05:40 -!- callforjudgement has joined.
14:14:32 -!- ais523 has joined.
14:14:55 -!- callforjudgement has quit (Read error: Connection reset by peer).
14:28:54 -!- copumpkin has quit (Read error: Connection reset by peer).
14:29:14 -!- ais523 has quit (Ping timeout: 250 seconds).
14:29:34 -!- copumpkin has joined.
14:30:38 -!- tromp_ has joined.
14:34:16 <mroman> http://collabedit.com/qjb49
14:34:41 <mroman> let's try if this works well real-time
14:35:15 -!- tromp_ has quit (Ping timeout: 260 seconds).
14:36:53 <mroman> I wish github had a feature like this.
14:37:24 -!- J_Arcane has joined.
14:39:43 <Taneb> mroman: what's this?
14:40:20 <Taneb> I mean, what is the goal of this collab
14:40:39 -!- cstff has joined.
14:40:45 <izabera> and who is bitchface?
14:41:06 -!- cstff has left.
14:45:14 <Taneb> Who is 34-25-54-55 for that matter
14:45:18 <Taneb> I presume iza is you, izabera
14:45:33 <izabera> no i'm not
14:45:37 <izabera> i'm a ninja
14:46:38 -!- lleu has joined.
14:48:17 <Taneb> I'll believe you
14:48:21 -!- adu has quit (Quit: adu).
14:49:48 <mroman> well seems to work fine
14:49:54 <mroman> my cursor doesn't jump around when others edit stuff
14:49:59 <mroman> unless you edit the same line
14:53:15 -!- spiette has joined.
14:53:18 <MDude> Huh http://esolangs.org/wiki/Tome
14:53:49 <MDude> I think it might be good to have a categorey on Englishoids, or perhaps just verbose-command languages.
15:15:55 <MDude> So I guess someone is implementing BASIC in define macros?
15:19:12 -!- AnotherTest has quit (Ping timeout: 256 seconds).
15:20:01 <mroman> hm
15:20:03 <mroman> can you do
15:20:10 <mroman> probably not
15:20:22 -!- jaboja has quit (Ping timeout: 250 seconds).
15:22:32 <mroman> hm you can
15:32:59 -!- J_Arcane has quit (Ping timeout: 276 seconds).
15:38:06 -!- AnotherTest has joined.
15:44:40 -!- AnotherTest has quit (Ping timeout: 250 seconds).
15:45:56 -!- heroux has quit (Ping timeout: 240 seconds).
15:47:56 -!- heroux has joined.
16:27:37 -!- AnotherTest has joined.
16:28:19 -!- mroman has quit (Quit: Lost terminal).
16:30:46 -!- tromp_ has joined.
16:34:56 -!- tromp_ has quit (Ping timeout: 240 seconds).
16:39:02 -!- Lord_of_Life has quit (Excess Flood).
16:41:36 -!- Lord_of_Life has joined.
16:41:50 -!- AnotherTest has quit (Ping timeout: 260 seconds).
17:07:39 -!- jaboja has joined.
17:32:14 -!- tromp_ has joined.
17:36:12 -!- AnotherTest has joined.
17:36:40 -!- tromp_ has quit (Ping timeout: 260 seconds).
17:45:13 -!- hppavilion[1] has joined.
17:54:41 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
17:58:44 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:58:47 -!- hppavilion[1] has joined.
18:13:09 -!- hppavilion[2] has joined.
18:16:08 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
18:19:56 -!- hppavilion[2] has quit (Ping timeout: 240 seconds).
18:20:46 -!- hppavilion[2] has joined.
18:24:26 -!- Treio has quit (Ping timeout: 240 seconds).
18:27:24 -!- LexiciScriptor has joined.
18:34:35 -!- Reece` has joined.
18:34:55 -!- hppavilion[2] has changed nick to hppavilion[1].
18:34:58 -!- jaboja has quit (Ping timeout: 250 seconds).
18:35:00 <hppavilion[1]> Hi
18:35:22 <izabera> hippavilion[1]
18:37:19 <hppavilion[1]> hizabera
18:37:41 <hppavilion[1]> We should make our own LISP- a practical, but still esoteric, programming language for the masses
19:01:40 <zzo38> One way to make ban list in Pokemon battle game could be, the rule setting has a 16-bit number and each pokemon has a 16-bit tier number, you must make the bitwise AND, and then the result need to be in range 1 to 255 in order to be acceptable
19:01:52 -!- Reece` has quit (Quit: Leaving).
19:10:15 -!- lynn has joined.
19:10:27 -!- zzo38 has quit (Remote host closed the connection).
19:21:00 -!- spiette has quit (Quit: brb).
19:22:18 -!- spiette has joined.
19:24:22 -!- p34k has joined.
19:33:34 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
19:36:22 <HackEgo> [wiki] [[Talk:Zero Instruction Set Computer]] N https://esolangs.org/w/index.php?oldid=46378 * 204.109.63.40 * (+83) Created page with "shouldn't first code snippet have 6-7-8 indexes instead of 7-8-9 on the right side?"
19:38:40 <hppavilion[1]> Here's an idea I'm working on
19:38:47 <hppavilion[1]> An intentionally-bloated ASM
19:38:56 <hppavilion[1]> Filled with things that could very easily be made into macros
19:39:14 <hppavilion[1]> The goal of it is it's an exercise in minimization for others
19:41:28 <izabera> that's called c hth
19:54:39 <hppavilion[1]> izabera: Sure xD
19:56:52 -!- Treio has joined.
20:01:22 <HackEgo> [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46379&oldid=46370 * Rdebath * (+397) No, it shouldn't.
20:17:35 -!- jaboja has joined.
20:21:09 <Vorpal> hppavilion[1], isn't that x86?
20:21:39 <Vorpal> Or if you want to take it less literally, perl
20:22:50 <hppavilion[1]> Vorpal: No, because this is intended as nothing more than an exercise
20:24:09 <Vorpal> hppavilion[1]: sure, but have you looked at x86 ASM?
20:24:46 <hppavilion[1]> Vorpal: Yes. My face melted off like the Nazis in Raiders.
20:25:22 <Vorpal> hppavilion[1]: fizzie made this: http://zem.fi/2014-04-05-opquiz
20:25:34 <hppavilion[1]> Vorpal: Yes, I heard
20:39:46 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
20:45:11 <HackEgo> [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46380&oldid=46379 * Rdebath * (+1946) Hopefully this is a bit closer to reality.
20:50:25 <HackEgo> [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46381&oldid=46380 * Rdebath * (+32) Was slightly imprecise
21:03:11 <HackEgo> [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46382&oldid=46381 * Rdebath * (-176) Okay, as nobody has commented I'll *Poof* this too.
21:03:33 <izabera> why removing that?
21:04:00 -!- hppavilion[1] has joined.
21:08:42 <b_jonas> `wisdom
21:09:14 <HackEgo> thirt/A thirt is for throwsing snowballs at forty things.
21:22:12 -!- Treio has quit (Ping timeout: 252 seconds).
21:34:07 -!- tromp_ has joined.
21:38:25 -!- tromp_ has quit (Ping timeout: 245 seconds).
21:38:40 -!- jaboja64 has joined.
21:40:53 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
21:42:50 -!- jaboja has quit (Ping timeout: 276 seconds).
21:47:20 -!- J_Arcane has joined.
21:56:09 -!- lynn_ has joined.
21:59:05 -!- lynn has quit (Ping timeout: 276 seconds).
22:03:57 -!- hppavilion[1] has joined.
22:05:42 -!- tjt263_ has joined.
22:14:35 -!- MoALTz has quit (Ping timeout: 240 seconds).
22:35:56 -!- ais523 has joined.
22:41:19 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:43:08 -!- lynn has joined.
22:45:53 -!- lynn_ has quit (Ping timeout: 276 seconds).
22:49:09 -!- oerjan has joined.
22:49:43 -!- tromp_ has joined.
22:50:28 <oerjan> <hppavilion[1]> NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOerjan <-- the natural cycle of life can be brutal, i know
22:53:45 -!- tromp_ has quit (Ping timeout: 240 seconds).
22:55:10 <oerjan> *squee* http://www.ligo.org/news/media-advisory.php
22:56:25 -!- p34k has quit.
22:57:50 <oerjan> someone should teach those people about permalinks. i couldn't find one.
23:04:44 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
23:09:08 -!- boily has joined.
23:10:09 <oerjan> bohily. http://www.ligo.org/news/media-advisory.php
23:11:45 <boily> hellørjan. *click*
23:11:57 <boily> *impressed*!
23:12:19 <oerjan> expect either the greatest science breakthrough of the century, or the most imploded rumor mill
23:14:32 <boily> either way, the popcorn will pop and corn.
23:16:49 <oerjan> ok, i suppose the higgs boson was pretty big too.
23:17:04 <oerjan> but not necessarily bigger.
23:17:17 <boily> pretty small big.
23:19:15 -!- lynn_ has joined.
23:22:21 <oerjan> huh, cern has its own top-level domain.
23:22:34 -!- lynn has quit (Ping timeout: 256 seconds).
23:22:37 <oerjan> i guess if anyone deserved it...
23:26:42 <izabera> does it make sense to use a knuth-fisher-yates shuffle when the period of your prng is less than the amount of possible permutations?
23:27:59 <oerjan> i'm going with a hunch of "it depends"
23:28:21 <izabera> on what?
23:28:27 <oerjan> on what you need it for
23:28:33 -!- lynn__ has joined.
23:28:38 <izabera> shuffling things
23:28:43 <oerjan> it's probably fine for card games
23:29:53 <oerjan> it may not be fine for crypto? someone should analyze that.
23:30:07 <izabera> `` seq -s\* 52 | bc
23:30:21 <HackEgo> 80658175170943878571660636856403766975289505440883277824000000000000
23:30:37 <oerjan> > product [1..52]
23:30:39 <izabera> `` echo '16 * ((2^31) - 1)' | bc
23:30:39 <lambdabot> 80658175170943878571660636856403766975289505440883277824000000000000
23:30:40 <HackEgo> 34359738352
23:30:44 -!- lynn_ has quit (Ping timeout: 276 seconds).
23:30:51 -!- lynn has joined.
23:31:00 <izabera> random(3) in glibc has a period of 16 * ((2^31) - 1)
23:31:19 <oerjan> what does shuf do?
23:31:38 <izabera> the shuf command?
23:31:45 <izabera> i don't know
23:31:49 <oerjan> hm it has a --random-source option
23:32:01 <oerjan> so you could use /dev/urandom, probably.
23:33:33 <oerjan> "By default these commands use an internal pseudorandom generator
23:33:34 <oerjan> initialized by a small amount of entropy, but can be directed to use an
23:33:35 <oerjan> external source with the '--random-source=FILE' option."
23:33:48 <oerjan> from info shuf
23:33:57 <izabera> yes but
23:33:58 -!- lynn__ has quit (Ping timeout: 276 seconds).
23:34:12 <oerjan> and /dev/urandom and /dev/random are suggested, but it's noted they may be slow.
23:34:55 <oerjan> also, that you can collect random data in a file in advance if you need repeatability.
23:35:05 -!- Phantom_Hoover has joined.
23:35:09 -!- Phantom__Hoover has joined.
23:36:04 <oerjan> "'/dev/urandom' suffices for most practical uses, but applications
23:36:04 <oerjan> requiring high-value or long-term protection of private data may require
23:36:05 <oerjan> an alternate data source like '/dev/random' or '/dev/arandom'."
23:38:49 -!- Phantom_Hoover has quit (Client Quit).
23:44:03 -!- hppavilion[1] has joined.
23:45:35 <hppavilion[1]> So here's a language I might feel like implementing
23:46:06 <hppavilion[1]> An educational (useful!) esolang
23:46:25 <hppavilion[1]> Where, to program in it, you have to slowly build a compiler out of preprocessing
23:46:59 <hppavilion[1]> So you start with a language (not sure which one, probably going to support more than one)- traditionally a tarpit
23:47:27 <hppavilion[1]> You declare the language on the "title page" of the file under the "author" header (the language uses a book analogy, BTW)
23:49:14 <hppavilion[1]> In the first chapter, you make these headers (all of which are optional, but highly recommended): PROGN, LEX, PARSE, COMP (and maybe also LEX-LEX, LEX-PARSE, PARSE-LEX, and PARSE-PARSE, which define the syntax of the next chapter's compiler compiler)
23:50:28 <hppavilion[1]> The PROGN header executes the program provided. The LEX header creates a lexer for the next program. The PARSE header creates a grammar for the next program. The COMP header produces the rules to convert the AST (which is generated automatically) of the lexed and parsed grammar into the language at the current level
23:53:17 <hppavilion[1]> LEX is written as a series of regexes, PARSE as a series of augmented YACC-like rules, and COMP is a series of transformation rules from AST to program, using a sort of rule structure similar to a preprocessor, combined with code written in the current language to generate particular values
23:54:17 <hppavilion[1]> Also, a language that is a derivative of Text might be fun to make xD
23:54:24 <hppavilion[1]> Or that compiles to Text
23:54:54 <diginet> >not using Thue
23:57:28 <hppavilion[1]> diginet: ?
23:57:57 <diginet> Thue systems are related to unrestricted grammars in the chomsky hierarchy
23:58:02 <diginet> everything else is pleb-tier
23:58:52 <hppavilion[1]> diginet: And...? Or is this referring to something I missed while I was gone?
2016-02-10
00:07:52 -!- mihow has joined.
00:13:11 <fizzie> oerjan: "-- an overflow room will be available where reporters can still ask questions and have access to additional subject matters to interview after the press conference." How do you interview a subject matter?
00:14:04 <oerjan> i don't know, i'm not a journalist.
00:15:31 <fizzie> Speaking of the greatest science breakthrough of the century (this is a joke), I just accepted a draft of my thesis from the printing house. Progress!
00:16:26 <oerjan> yay!
00:22:36 -!- J_Arcane has quit (Ping timeout: 252 seconds).
00:22:39 -!- J_Arcane_ has joined.
00:22:43 -!- J_Arcane_ has changed nick to J_Arcane.
00:23:48 <boily> FOR SCIENCE!
00:23:59 -!- tromp_ has joined.
00:27:47 -!- J_Arcane has quit (Ping timeout: 264 seconds).
00:28:20 * boily is killed by Cerebov. aaaargh.
00:29:33 <oerjan> at least it was a cerebral way to die
00:29:39 <\oren\> I got another package from china/rotterdam
00:31:03 * boily *THWACKS* oerjan
00:31:12 <oerjan> `? izabera
00:31:13 <boily> he\\oren\. being shipped as always?
00:31:15 <HackEgo> izabera is a tachyherpetologist. They are probably implemented in zsh.
00:31:29 <oerjan> `` sed -i 's/zsh/bash/' wisdom/izabera
00:31:34 <boily> wasn't izabera bashly implemented yesterday?
00:31:35 <HackEgo> No output.
00:32:03 <oerjan> Elronnd: you cannot have been paying _any_ attention to izabera if you think e is implemented in anything other than bash hth
00:32:03 <izabera> i was forbidden to edit that factoid
00:32:27 <izabera> "she" is fine :p
00:32:32 <oerjan> aha
00:33:06 <oerjan> `` sed -i 's/They are/She is/' wisdom/izabera
00:33:09 <HackEgo> No output.
00:34:17 <oerjan> izabera: also, a tachyherpetologist is someone who slows down pythons hth
00:34:37 <izabera> ooh
00:34:42 <izabera> thanks for explaining it
00:34:58 <oerjan> at least i'm sure that was the intended meaning, i'm not sure that it's correct greek morphology.
00:35:25 <boily> disregard morphology, apply linguistic duck tape.
00:35:36 <boily> (cf. trigotillectomic chicken.)
00:35:48 <oerjan> i suspect it actually is correct, tachy- seems to prefix that way.
00:36:16 <shachaf> `wisdom
00:36:18 <HackEgo> space elevator/Like the shorter and more familiar strings of stringed musical instruments, the cable of a space elevator has a natural resonant frequency.
00:36:33 <shachaf> `culprits wisdom/space elevator
00:36:37 <HackEgo> oerjan elliott ais523 ais523 Bike
00:36:48 <shachaf> `wisdom
00:36:50 <hppavilion[1]> boily: \oerjan\?
00:36:50 <HackEgo> substructural typing/Not to be confused with structural subtyping.
00:36:53 <fizzie> A tachyderm is a slow-moving elephant-like thing.
00:38:47 <izabera> does anyone here compete in the hashcode thing?
00:39:06 <izabera> https://hashcode.withgoogle.com/ this thing
00:39:46 <boily> hppavellon. \oerjan\???
00:39:52 <boily> s/n\./n[1]/
00:41:04 <hppavilion[1]> boily: "<boily> he\\oren\. being shipped as always?"
00:41:46 <fizzie> I'm not eligible. :/
00:41:52 <hppavilion[1]> fizzie: Why not?
00:41:56 <izabera> googler
00:41:59 <hppavilion[1]> Ah
00:42:00 <hppavilion[1]> Right
00:42:07 <fizzie> Yeah, never get to do anything funs.
00:42:11 <hppavilion[1]> :(
00:42:23 <fizzie> (Well, that's not quite true.)
00:42:35 <boily> hppavilion[1]: he\\oren\ is the porthello for \oren\ hth
00:42:40 <izabera> (added remark in case google reads this)
00:42:42 <hppavilion[1]> boily: I know
00:42:55 <hppavilion[1]> boily: I was referencing "being shipped as always"
00:43:06 <fizzie> I'm sure the crawler "reads" this.
00:43:14 <izabera> you're fucked
00:43:21 <hppavilion[1]> "It sucks working at google. I never get to do anything fun. (proceeds to play with the Quantum Halting Problem Solver)"
00:43:23 <fizzie> I keep getting #esoteric log hits for my searches every now and then.
00:43:48 <hppavilion[1]> xD
00:43:51 <hppavilion[1]> izabera: ?
00:43:54 <hppavilion[1]> Remark?
00:44:04 <izabera> fizzie | (Well, that's not quite true.)
00:44:12 <hppavilion[1]> izabera: Yes, yes
00:44:13 <boily> hppavilion[1]: ooooooooooooh.
00:44:15 <hppavilion[1]> I noticed
00:44:33 <hppavilion[1]> boily: What did YOU mean by that?
00:45:31 <shachaf> fizzie: What fun things do you get to do?
00:45:52 -!- lynn has quit (Ping timeout: 256 seconds).
00:46:12 <fizzie> Well, for example, I [COMPANY CONFIDENTIAL MATERIAL AUTOMATICALLY REDACTED].
00:46:39 <boily> hppavilion[1]: you want I mean to ship \oren\ and oerjan together?
00:46:43 <fizzie> Speaking of things, I waved at a street view car that was passing the other day, but the image didn't make it to the (public) Maps.
00:46:54 <izabera> that's very confidential
00:46:56 <hppavilion[1]> boily: Huh?
00:47:44 <oerjan> <hppavilion[1]> zzo38: It's the [REDACTED] <-- SPOILER
00:48:09 <oerjan> i got it, but now i cannot be sure that i wasn't unconsciously picking it up from lower down on the page :(
00:48:11 <hppavilion[1]> I keep getting more and more confused
00:48:32 <hppavilion[1]> I think I might've said that at some point
00:48:39 <hppavilion[1]> About 3-6 months ago
00:48:44 * oerjan obsessively hides puzzle solutions in the newspaper when solving them
00:49:12 <oerjan> hppavilion[1]: well i cannot include the [REDACTED] part, naturally
00:49:19 <hppavilion[1]> oerjan: Oh?
00:49:25 <oerjan> since that's the spoiler.
00:49:32 <izabera> anyway i was actually looking for an hashcode team <.<
00:49:34 <hppavilion[1]> Oooooooh
00:50:30 <hppavilion[1]> For the instructions I'm planning on adding to ELK?
00:50:55 -!- J_Arcane has joined.
00:50:57 * izabera feels ignored
00:51:07 <hppavilion[1]> TPM, AOTC, ROTS, ANH, ESB, ROTJ, and TFA
00:51:08 <izabera> `welcome J_Arcane
00:51:10 <HackEgo> J_Arcane: 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.)
00:51:16 * hppavilion[1] pokes izabera
00:51:22 <izabera> ;-;
00:51:43 <oerjan> hppavilion[1]: btw quantum computers are not believed to be capable of solving the halting problem hth (never more than exponential speedup)
00:51:53 <hppavilion[1]> oerjan: Yeah, I figured not
00:52:06 <hppavilion[1]> I would like to see a problem solvable in O(1/n) time >:)
00:52:39 <hppavilion[1]> (Inverse Polynomial- IP- is the complexity class)
00:53:12 <oerjan> <boily> hppavilion[1]: you want I mean to ship \oren\ and oerjan together? <-- aka backslash pairing
00:53:56 <oerjan> hppavilion[1]: yep
00:54:52 * oerjan realizes that got quite out of context
00:54:58 <oerjan> yep to the instructions
00:55:46 <hppavilion[1]> :)
00:55:51 <hppavilion[1]> oerjan: Any clue what they should do?
00:57:34 <oerjan> well ROTS and ROTJ should rotate stack pointer and PC respectively.
00:58:33 <oerjan> ESB expands the stack boundary
00:59:42 <oerjan> TPM transfers private memory, useful for safe threading
01:00:38 <izabera> unclear why ROTJ rotates PC
01:00:40 <oerjan> ANH adds a new heap
01:00:54 <oerjan> oh wait
01:01:08 <oerjan> maybe it can rotate the jump flags
01:02:03 <oerjan> AOTC accesses other computers
01:02:16 <hppavilion[1]> oerjan: The call stack is currently separate from the registers
01:02:36 <boily> rotate jump flags?
01:02:50 <hppavilion[1]> What are jump flags?
01:02:59 <izabera> TFA performs trivial floating-point arithmetics
01:02:59 <oerjan> flags that you can branch on
01:03:14 <oerjan> such as zero or carry
01:03:43 <hppavilion[1]> oerjan: Ah. And what does rotating them do?
01:04:00 <oerjan> same as rotating any bit field hth
01:04:17 <oerjan> (you probably need at least one more flag)
01:06:53 <oerjan> <hppavilion[1]> izabera: Fird, secost, thirnd? <-- Firrd, secost, thind hth
01:07:27 <izabera> you just moved a r
01:07:44 <oerjan> i made it logical
01:08:08 <hppavilion[1]> oerjan: Please check the channel you are currently communicating with.
01:08:08 <izabera> somehow
01:08:20 <oerjan> 1st = fir + st, so 1rd should be fir + rd hth
01:08:42 <oerjan> etc.
01:09:35 <hppavilion[1]> I may be about to embarrass myself by asking this, but is there a builtin heap in most VMs?
01:09:57 <izabera> so embarassing
01:10:02 <oerjan> hppavilion[1]: we take logic to its illogical conclusion. what's your problem?
01:10:13 <hppavilion[1]> oerjan: Ah
01:15:42 -!- tjt263_ has quit (Quit: sleep).
01:18:49 <hppavilion[1]> izabera: there?
01:21:27 <hppavilion[1]> *is there
01:22:23 -!- XorSwap has joined.
01:22:40 <hppavilion[1]> oerjan: So I'm designing a (non-production, education) VM called Deque-o-Bytes for use as a lesion in minimization
01:22:46 -!- jaboja64 has quit (Ping timeout: 240 seconds).
01:23:15 <izabera> i'm here
01:24:21 <hppavilion[1]> It's almost exactly what it sounds like, but it probably uses longs (the 32- or 64-bit kind) instead
01:25:06 <hppavilion[1]> And an actual intentional, advertised feature of the VM is that it's horribly bloated and half of its features could be implemented in an obvious way using macros
01:30:44 -!- jaboja has joined.
01:33:10 <oerjan> ^bf --->->->>+>+>>+[++++[>+++[>++++>-->+++<<<-]<-]<+++]>>>.>-->-.>..+>++++>+++.+>-->[>-.<<]
01:33:10 <fungot> Hello, World!
01:34:22 <ais523> that's the new golfed hello world pattern, isn't it?
01:34:34 <ais523> or, hmm
01:34:39 <ais523> what's with those triply-nested loops in the middle?
01:35:43 <boily> can a brainfuck program be proven to be the shortest?
01:36:41 <pikhq_> *Specific* ones can be, but *in general* it seems quite nontrivial courtesy of the halting problem.
01:37:29 <ais523> you'd need to be able to, for each shorter program, either prove it to halt, prove it not to halt, or prove that it can't create the same output for some given input
01:37:51 <ais523> this is easy for almost every program, but that "almost" is a pretty big confounding factor!
01:38:05 <boily> mathematicians be almost damned!
01:39:29 <\oren\> trump is winning
01:40:12 <ais523> \oren\: I'm following the US primaries
01:40:17 <ais523> I thought new hampshire hadn't voted yet though
01:40:40 <ais523> trump is considered most likely to win there but the chance of an upset is also considered pretty high if not higher
01:42:05 <oerjan> ais523: RDebath just deleted that from the Brainfuck page.
01:42:19 <hppavilion[1]> pikhq_: Well, time to actually implement banana scheme.
01:42:28 <hppavilion[1]> Someone get me the Reality Hacksaw
01:42:51 <ais523> oerjan: well it has a capital W
01:42:55 <ais523> it was found on ppcg a while ago
01:43:05 <ais523> could be a possible copyright issue?
01:43:43 * boily unfolds a portable reality saw from his mapole
01:43:55 <oerjan> also, i'd say the biggest confounding factor is probably the enormous number of shorter programs to check?
01:44:11 * hppavilion[1] takes said reality saw and starts sawing apart reality so that he can implement Banana Scheme
01:44:35 <oerjan> ais523: no, see the talk page. i'm not sure i agree with it.
01:44:39 <hppavilion[1]> oerjan: How many shorter possible programs are there, given the minimum length of a Hello World?
01:44:56 <hppavilion[1]> And eliminating those that use , at all and that don't use . at all?
01:45:33 <oerjan> hppavilion[1]: well the above is 87 chars...
01:45:47 <hppavilion[1]> Speaking of which, the shortest possible BF Hello World is obviously ,[.,] hth. It's just a bit conditional.
01:46:00 <oerjan> > 7^87
01:46:01 <hppavilion[1]> Of course, it requires a compliant interpreter
01:46:02 <lambdabot> 33383316601519079764840019573017918591994183158265244484590572513470087543
01:46:13 <ais523> hppavilion[1]: shortest Easy hello world is almost certainly ,H[.,]ello, world!
01:46:31 <ais523> err
01:46:33 <hppavilion[1]> And if you don't allow the user to type anything in, but have a standard derivative interpreter (that is, one with ! and #), then you get ,[.,]!Hello, world!
01:46:39 <ais523> ,H[.,e]llo, world! ?
01:46:53 <ais523> depends on how exactly Easy's I/O even works
01:47:03 <oerjan> hppavilion[1]: of course you'd want to prune it in various ways, but it's a lot of work and possibly too much...
01:48:05 <hppavilion[1]> oerjan: You didn't eliminate invalid looping.
01:48:32 <ais523> oerjan: 7 because clearly . is unused?
01:48:47 <hppavilion[1]> ais523: ,
01:49:12 <hppavilion[1]> ais523: You aren't really allowed to , in hello worlds
01:50:08 <ais523> err right
01:50:10 <ais523> got those muddled
01:50:25 <ais523> actually, arguably you can so long as you ignore the result
01:50:31 <ais523> this is how the Takeover hello world works
01:51:19 <hppavilion[1]> ais523: Fair enough
01:51:30 -!- boily has quit (Quit: RECTIFIED CHICKEN).
01:51:54 <oerjan> hppavilion[1]: it's a first estimate. getting a perfectly accurate estimate is essentially the same as solving the problem.
01:52:14 <hppavilion[1]> oerjan: Yeah, and?
01:52:17 <hppavilion[1]> GET TO IT
01:52:32 * hppavilion[1] cracks his whip in an entirely non-sexual way
01:52:34 <oerjan> NOPE
01:53:21 <oerjan> i don't do things that might take longer than the universe survives hth
01:53:53 <hppavilion[1]> oerjan: Fair enough.
01:53:56 <oerjan> ok so wildly estimating...
01:54:09 <oerjan> > 86/8
01:54:11 <lambdabot> 10.75
01:54:17 <oerjan> er
01:54:20 <oerjan> > 86/7
01:54:22 <lambdabot> 12.285714285714286
01:54:50 <zgrep> oerjan: What does 'hth' mean?
01:54:56 <oerjan> `
01:54:58 <oerjan> oops
01:54:59 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
01:54:59 <hppavilion[1]> zgrep: hope that helps hth
01:55:01 <oerjan> `? hth
01:55:03 <HackEgo> hth is help received from a hairy toe. It is not at all hambiguitous.
01:55:28 <shachaf> there should be a variant of wisdom that only contains true and helpful entries
01:55:31 <shachaf> rather than lies
01:55:36 <zgrep> oerjan: I... Do... err... okay. :/
01:55:38 <hppavilion[1]> shachaf: HAHHAHAHAHAHAHAHAHHAAHHAAHAH
01:56:01 <hppavilion[1]> `tomfoolery hth
01:56:02 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: tomfoolery: not found
01:56:15 <zgrep> `cat lies
01:56:16 <HackEgo> cat: lies: No such file or directory
01:56:16 <hppavilion[1]> `` cat bin/wisdom
01:56:17 <HackEgo> F="$(find wisdom -name "*$(echo "$1" | lowercase)*" -type f | shuf -n1)"; echo -n "${F#wisdom/}/" | rnooodl; cat "$F" | rnooodl
01:57:06 <zgrep> `cat bin/rnooodl
01:57:07 <HackEgo> perl -pe 's/([Nn])ooodl/"$1@{[o x(3+rand 7)]}dl"/ge'
01:57:43 <hppavilion[1]> shachaf: Do you really think we need that? If so, feel free to create it.
01:58:11 <hppavilion[1]> shachaf: I mean, the code is right there if you just change a bit
01:59:11 <hppavilion[1]> I'd do it myself, but last time I tried...
01:59:21 <zgrep> `` cp bin/wisdom bin/lies
01:59:21 <hppavilion[1]> Well, thank god I can create new universes at will
01:59:24 <HackEgo> No output.
01:59:33 <zgrep> Actually, no, that's not what I wanted, is it.
01:59:35 <hppavilion[1]> `lies
01:59:37 <HackEgo> agdq/AGDQ is Awesome Games Done Quick, an annual video games speedrunning event for charity ever winter, see http://gamesdonequick.com and https://gamesdonequick.com/tracker/events/
01:59:46 <hppavilion[1]> zgrep: No, we wanted `?
01:59:51 <hppavilion[1]> `` cat bin/?
01:59:52 <HackEgo> TIMEFORMAT='real: %lR, user: %lU, sys: %lS' exec bash -c -- "$1" \ echo hi \ exec \ #!/bin/sh \ CMD=`echo "$1" | cut -d' ' -f1` \ ARG=`echo "$1" | cut -d' ' -f2-` \ exec ibin/$CMD "$ARG"#!/bin/sh \ topic=$(echo "$1" | lowercase | sed "s/noo\+dl/nooodl/;s/ *$//") \ topic1=$(echo "$topic" | sed "s/s$//") \ cd wisdom \ if [ \( "$topic1" = "ngevd" \)
01:59:59 <oerjan> `culprits bin/lies
02:00:03 <HackEgo> zgrep
02:00:14 <zgrep> `` rm bin/lies
02:00:17 <HackEgo> No output.
02:00:40 <hppavilion[1]> We need a bible
02:00:53 <hppavilion[1]> What should it be called?
02:01:04 * oerjan finds it fitting that the first output from the `lies command wasn't one
02:01:39 <hppavilion[1]> oerjan: "Esobible" sounds stupid
02:01:44 <hppavilion[1]> "Book of Eso?"
02:01:47 <hppavilion[1]> *"?
02:02:25 <hppavilion[1]> `` cp bin/wisdom bin/bookofeso
02:02:28 <HackEgo> No output.
02:02:41 <hppavilion[1]> Now somebody fix it so it isn't just wisdom xD
02:03:12 <hppavilion[1]> (I should probably learn bash...)
02:03:30 <hppavilion[1]> Then again, this might unnecessarily bloat HackEgo...
02:03:53 -!- XorSwap has quit (Quit: Leaving).
02:04:53 <oerjan> yes. yes it might.
02:12:50 <zgrep> oerjan: That was the idea. Make `wisdom be lies and `lies be wisdom.
02:12:58 <zgrep> Well, truth. Close enough.
02:13:22 <shachaf> `? lie algebra
02:13:23 <HackEgo> A Lie algebra is what you get if you take the region infinitesimally close to the identity of a Lie group and blow it up to normal size.
02:14:02 <shachaf> `? lie group
02:14:04 <HackEgo> lie group? ¯\(°​_o)/¯
02:14:55 <hppavilion[1]> zgrep: "tomfoolery" is a better name for the command
02:15:03 <zgrep> Hm, okay.
02:15:50 -!- MDude has quit (Ping timeout: 276 seconds).
02:15:58 <shachaf> `? le
02:15:59 <HackEgo> cat: le: Is a directory
02:16:12 <shachaf> `? lie
02:16:12 <HackEgo> Lies are even easier than monoids. They form groups, known as Lie groups.
02:16:31 <zgrep> `? HackEgo
02:16:33 <HackEgo> HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing.
02:16:50 <zgrep> `? le/rn
02:16:51 <HackEgo> le/rn makes creating wisdom entries manually a thing of the past.
02:17:24 <shachaf> Aw, you've spoiled it.
02:17:35 <shachaf> The whole joke was that you couldn't create wisdom/le/rn with le/rn
02:17:47 <shachaf> I guess I did part of the spoiling.
02:19:17 <zgrep> `culprits wisdom/le/rn
02:19:18 <HackEgo> shachaf shachaf
02:19:29 <zgrep> You took part twice, it seems.
02:20:01 <int-e> `? le//rn
02:20:02 <HackEgo> le/rn makes creating wisdom entries manually a thing of the past.
02:20:41 <zgrep> `? le/arn
02:20:41 <HackEgo> lern 2 spel
02:20:59 <zgrep> Okey, isle lern.
02:23:38 <int-e> `? zgrep
02:23:39 <HackEgo> zgrep? ¯\(°​_o)/¯
02:24:23 -!- ais523 has quit.
02:24:32 -!- ais523 has joined.
02:25:42 -!- jaboja has quit (Ping timeout: 272 seconds).
02:27:12 <shachaf> i,i `le//rn le/arn//L'Arn est une rivière du sud de la France.
02:27:21 <shachaf> Unfortunately that's mixing up genders. :-(
02:29:03 -!- tjt263_ has joined.
02:32:57 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
02:45:47 -!- heroux has quit (Ping timeout: 264 seconds).
02:47:00 -!- heroux has joined.
02:48:45 <oerjan> shachaf: it's not the gender, but le turning into l' before a vowel hth
02:49:08 <shachaf> oerjan: they're both wrong hth
02:49:34 <oerjan> Arn is masculine if i'm reading https://fr.wiktionary.org/wiki/Arn correctly
02:50:31 <shachaf> Oh.
02:50:41 <shachaf> Then why is it "une"? Because of "rivière"?
02:51:25 <shachaf> I don't know French.
02:51:47 <oerjan> yes.
02:52:25 <shachaf> then fix it twh
02:52:32 <shachaf> le/arn -> l'arn
02:52:36 <oerjan> Arn and sud are masculine, rivière and France are feminine in that hth
02:52:39 <shachaf> l'arn 2 contractions
02:53:15 <shachaf> Of course, making bin/l'arn wouldn't hurt either.
02:53:21 <oerjan> i have only a shambling knowledge of french, but i have a knack for grammar.
02:53:46 <oerjan> wait, i left the fridge open...
02:58:05 -!- mihow has quit (Quit: mihow).
03:24:34 -!- adu has joined.
03:25:51 -!- lleu has quit (Read error: Connection reset by peer).
03:30:16 -!- lynn has joined.
03:31:22 <hppavilion[1]> Possibly new computational class: 0
03:32:07 <hppavilion[1]> The class 0 is all the machines that, for a given program and any input, produce a given message
03:32:23 <hppavilion[1]> Text is a language of computational class 0
03:34:12 <hppavilion[1]> QUESTION
03:34:38 <hppavilion[1]> What is the name of a program (sort of like "Compiler") that compiles a language to one of much lower computational class?
03:35:55 <hppavilion[1]> So if I was to make a more powerful variant on Text, what would the compiler be called?
03:37:02 <hppavilion[1]> `? le//rn
03:37:04 <HackEgo> le/rn makes creating wisdom entries manually a thing of the past.
03:37:12 <hppavilion[1]> `? le/rn
03:37:14 <HackEgo> le/rn makes creating wisdom entries manually a thing of the past.
03:38:04 <oerjan> hppavilion[1]: computational class is usually defined so that you cannot compile to a lower class
03:38:38 <oerjan> by being closed under reductions.
03:39:32 <oerjan> assuming, that is, that the compiler doesn't have access to the input the program will get, this is almost automatic.
03:39:36 <hppavilion[1]> oerjan: Yes, so what is the name of the program that e.g. takes a program written in hptext (which is equivalent to a PDA) and outputs a Text program?
03:39:54 <oerjan> hppavilion[1]: there is no such program, is what i'm saying.
03:39:59 <hppavilion[1]> Then again, I suppose it's really just redirecting the stdout to a file xD
03:40:06 <hppavilion[1]> oerjan: Yes, that's what I figured
03:40:20 <oerjan> since there is not Text program equivalent to the hptext program, you cannot compile down to one.
03:40:25 <oerjan> *no
03:42:02 <oerjan> it gets more subtle if the compiler also gets the input. hm in that case isn't it really the case that your compiler is a hptext interpreter...
03:42:52 <oerjan> when the target is Text that is.
03:44:41 <adu> hi all
03:45:01 <hppavilion[1]> adu: How do you ado?
03:45:18 <adu> hppavilion[1]: pretty fantastic, my cat is calm
03:45:41 <hppavilion[1]> adu: Yay for cats!
03:46:00 <adu> normally, he's one of those bounce-off-the-walls cats
03:47:50 <hppavilion[1]> adu: Also known as a "grep"
03:48:08 <adu> I thought grep was a verb?
03:48:23 <adu> like, "oh, I'll just grep my project dir"
03:49:09 <hppavilion[1]> adu: Yes, but any verb can be made a noun
03:49:13 <adu> unless it's a synonym for "ack", which I totally understand
03:49:24 <hppavilion[1]> (I was tempted to say "nouned", but that doesn't complement "verbing" very well)
03:49:31 <adu> lolol
03:49:46 <\oren\> oh I should post a picture of the thing I've been playing on all night
03:52:39 <hppavilion[1]> What would be a good memory model for a processor that is rarely used?
03:53:05 <oerjan> stone tablets hth
03:54:15 <hppavilion[1]> oerjan: What would be a good ABSTRACT memory model for a processor that is rarely used (the "that is rarely used" associates with "a...memory model")
03:56:09 <\oren\> https://imgur.com/a/plfGn
03:56:35 <oerjan> you should normally not put "that" right after a noun phrase it doesn't associate with hth
03:56:40 <\oren\> it has 470 NES games built in
03:57:31 <oerjan> if it's rarely used, you can probably drop caching? so just have a flat memory...
03:58:08 <\oren\> what do you think of the style of the casing?
04:03:26 <pikhq_> Nicely Famicom.
04:09:30 <\oren\> i know right? my dad said it was "like made in the 1970's"
04:11:25 <pikhq_> Strictly speaking, the Famicom was the early 80s, but still. :)
04:12:17 <\oren\> It also has lassi games like ikari warriors, rockman, angry birds
04:12:36 <\oren\> yes angry birds. they ported it to the NES
04:13:34 <\oren\> they also ported sonic to the NES
04:14:01 <pikhq_> Yep, sounds like pirate Chinese equipment alright.
04:15:44 -!- Sprocklem has joined.
04:16:24 <\oren\> the menu has language options 中文 and English
04:18:21 <\oren\> I also like the fact it can be played on its own, or plugged into a TV
04:20:59 <Sgeo> Are anonymous sum types ever useful?
04:21:09 <Sgeo> Becuase I'm writing anonymous sum type code in Rust right now
04:22:27 <\oren\> in what sense anonymous? isn't that the same as a tuple?
04:23:11 <\oren\> oh wait, that's a product type
04:23:33 <\oren\> a sum type is a union, so...
04:26:33 <\oren\> well, an anonymous sum type as a function parameter would allow you to write one function for flot, double, int and long?
04:26:50 <\oren\> maybe?
04:29:58 <\oren\> or am I understanding this wrongly?
04:30:38 <Sgeo> I don't think you are
04:33:04 -!- contrapumpkin has joined.
04:33:51 <ais523> C11 has _Generic
04:35:35 -!- copumpkin has quit (Ping timeout: 240 seconds).
04:42:24 <hppavilion[1]> oerjan: I'm going for esoteric models of memory- models that aren't used often, but are still powerful
04:42:30 <hppavilion[1]> And possibly even useful in some scenarios
04:46:48 <oerjan> ok
04:47:37 <hppavilion[1]> oerjan: Basically, some alternative to big-array-of-registers-and-a-call-stack
04:50:12 -!- bb010g has joined.
04:51:13 <hppavilion[1]> \oren\: Has to be a tagged union for that to work
04:51:17 <hppavilion[1]> Which luckily, a sum type is
04:52:21 <ais523> hppavilion[1]: my day-job research doesn't use a callstack; rather, each function knows which other functions can call it
04:52:35 <hppavilion[1]> ais523: Ooooh
04:52:37 <ais523> and has a variable recording where the call came from, so it knows where to return
04:52:38 <hppavilion[1]> That sounds cool
04:52:52 <hppavilion[1]> But not eso enough
04:52:53 <ais523> in the case of recursive functions you need an array instead, one for each recursion depth
04:53:04 <ais523> and the reason we do things like this is for /really/ fine-grained NUMA
04:53:14 <ais523> each function has its own independent RAM, they all work in parallel with each other
04:53:15 <shachaf> ais523: The calling convention in MIX uses self-modifying code to implement function calls.
04:53:22 <\oren\> hmm that sounds much easier to debug
04:53:23 <ais523> thus no memory bandwidth issues
04:54:35 <pikhq_> ais523: That sounds like a really irritating compilation target.
04:54:48 <hppavilion[1]> I'm going for something completely foreign to the way computers work. A graph, like my earlier GraphVM, perhaps?
04:55:10 <ais523> pikhq_: we certainly have to use some unusual techniques
04:55:30 <ais523> but the entire goal of the research was intended to take advantage of the capabilities of hardware
04:55:38 <ais523> "little RAMs everywhere" is one of those
04:56:45 <\oren\> o reilly said if america feels the bern he'll move to ireland
04:56:55 <pikhq_> LOL.
04:58:12 <hppavilion[1]> Good.
05:02:47 <hppavilion[1]> Perhaps I'll make multiple designs for multiple data models...
05:14:10 <hppavilion[1]> \oren\: Imagine his reaction when Obama gets reelected
05:15:48 -!- adu has quit (Quit: adu).
05:16:15 <hppavilion[1]> In 2017
05:16:22 <pikhq_> Will it be as incredulous as mine?
05:16:48 <ais523> hppavilion[1]: that can't happen without a constitutional change (or everyone relevant agreeing to just ignore the constutition, which is even more unlikely)
05:17:16 <pikhq_> (I'll be stunned if the current Congress passes a nontrivial bill, much less an *amendment* getting rid of term limits.)
05:17:38 <hppavilion[1]> ais523: Yes, yes, I know. I'm FROM the US, and our school systems aren't failing THAT badly on the topic of ourselves
05:17:51 <pikhq_> Are you sure?
05:18:02 <hppavilion[1]> pikhq_: Yes, I was making a joke
05:18:25 <hppavilion[1]> ais523: Also, I'm pretty sure if he got somehow voted into office by a write-in campaign or something like that, they'd let him in
05:18:40 <hppavilion[1]> Of course, he'd probably say "Nope, not doing this shit for four more years"
05:18:42 <ais523> I don't think they would
05:19:11 <hppavilion[1]> ais523: Constitutions are to protect the people. If the people ALL agree that we want to override it, then let them.
05:19:35 <ais523> "all" != "51%"
05:19:48 <ais523> and ofc you can have plurality with less than 50% of the vote
05:20:08 <hppavilion[1]> ais523: Well yeah, of course
05:20:34 <hppavilion[1]> But in this case, "all" == 51%, because THERE CAN ONLY BE ONE
05:21:19 <hppavilion[1]> And 51%, when you consider the sheer number of people who'd have to vote against what they would normally think they should, is a LOT
05:22:54 <\oren\> bah, obama is right wing.
05:23:53 <hppavilion[1]> Is a brainfuck derivative still a stupid brainfuck derivative if it (a) more than doubles the number of symbols (a.a) has all of these symbols be useful for its purpose and (b) Doesn't explicitly state "is a brainfuck derivative"
05:24:00 <Sgeo> So, I think the most interesting thing I can do with an anon sum type is make pattern matching something for it
05:24:06 <hppavilion[1]> (A DSL brainfuck derivative)
05:25:01 <hppavilion[1]> I'm trying to make a sort of cross between BF, C, and Rust that can be used for low-level programming
05:25:15 <hppavilion[1]> Sort of my OSFuck, but there were too many issues with it so I'm redesigning
05:25:38 <ais523> \oren\: basically all americans are right wing, by European standards
05:25:39 -!- adu has joined.
05:26:10 <ais523> Sgeo: OCaml has the ` syntax that basically lets you make up polymorphic sum types on the fly
05:26:23 <Sgeo> Ooh
05:26:25 <pikhq_> If you're not right wing by European standards, in the US you're practically a dirty pinko communist.
05:26:43 <hppavilion[1]> ais523: I'm a bit of a socialist.
05:26:45 <ais523> e.g., `A 3 has the type [> `A of int]
05:26:52 <hppavilion[1]> Does Bernie count as right-wing?
05:26:58 <hppavilion[1]> Or is he too far left for Europeans?
05:27:00 <ais523> and `B 4 has the type [> `B of int]
05:27:10 <hppavilion[1]> Or is he just off the right/left design completely?
05:27:18 <pikhq_> I don't think he'd count as "too far left" for European politics.
05:27:20 <ais523> and if you write a function that takes either and returns an integer, it has type [< `A of int | `B of int] -> int
05:27:40 <ais523> the thing about Bernie is that it's hard to see how far he'd go, given where he's starting
05:28:05 <ais523> most of his policies are no further left than centre-left by European standards even if taken to their logical conclusions, thouh
05:28:06 <ais523> *though
05:28:09 <Sgeo> ais523, so they're both ints, just labeled differently?
05:28:22 <oerjan> <ais523> and has a variable recording where the call came from, so it knows where to return <-- istr reading that's what original FORTRAN did
05:28:25 <ais523> Sgeo: right, but you can pattern match on the label
05:28:43 <ais523> the function might look something like «function `A x -> x + 1 | `B x -> x - 1»
05:29:02 <ais523> oerjan: original FORTRAN didn't have higher order functions though :-)
05:29:12 <\oren\> i remeber fox news was horrified over Trudeau
05:29:56 -!- adu has quit (Ping timeout: 245 seconds).
05:30:25 <\oren\> so probably canada is somewhat left of america as well
05:30:41 -!- adu has joined.
05:30:41 -!- adu has quit (Client Quit).
05:31:12 <hppavilion[1]> \oren\: Basically: In the developed world, America is pretty far right by most other people's standards
05:31:17 <hppavilion[1]> From their vantage point
05:31:30 <hppavilion[1]> In reality, it's pretty spread out, and everyone thinks it's too far in the other direction
05:31:40 <hppavilion[1]> Because of the persecution complex
05:33:10 <ais523> hmm, thinking about it, Sanders' policies probably wouldn't go over too well in the UK because he wouldn't be trusted to balance the economy, but apart from that they wouldn't look out of place
05:33:14 <ais523> that said, we have many of them already
05:33:27 <ais523> (such as government-provided healthcare)
05:33:44 -!- b_jonas has quit (Ping timeout: 256 seconds).
05:34:02 <Sgeo> I don't think I have an obvious way to do anonymous labels in Rust
05:34:09 <Sgeo> Although I guess struct Foo; is close enough
05:38:17 <zgrep> hppavilion[1]: Well, there's `tomfoolery now. With no actual information in it. It searches tmflry/<name of lie> for lies. It defaults to wisdom if it can't find anything.
05:38:53 <hppavilion[1]> `tomfoolery
05:38:54 <HackEgo> I have nothing to tell you.
05:38:57 <hppavilion[1]> :)
05:39:01 <zgrep> `tomfoolery cat
05:39:02 <HackEgo> A cat is an animal with four legs. It's nice to pet, especially when it's a baby cat, called a kitten.
05:39:10 <hppavilion[1]> `tomfoolery
05:39:11 <HackEgo> I have nothing to tell you.
05:39:14 <hppavilion[1]> Hm.
05:39:20 <zgrep> It just says that when you don't ask for anything.
05:39:25 <hppavilion[1]> Ah
05:39:35 <zgrep> You asked for nothing, it has nothing to tell you. :P
05:39:39 <hppavilion[1]> zgrep: Not exactly analogous to `wisdom
05:39:41 <hppavilion[1]> But OK
05:39:49 <zgrep> Well, it's not exactly meant to be.
05:39:54 <hppavilion[1]> Ah
05:40:01 <zgrep> `tomfoolery hackego
05:40:03 <HackEgo> HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing.
05:40:11 <zgrep> Falls back onto it, though.
05:40:52 <zgrep> `tomfoolery random number
05:40:53 <HackEgo> 21632
05:40:57 <zgrep> Maybe that should actually return 4...
05:42:40 -!- v^ has quit (Ping timeout: 272 seconds).
05:45:28 <ais523> can't we just move most of wisdom into tomfoolery?
05:45:36 <ais523> or is tomfoolery only for true statements?
05:45:42 <zgrep> The latter.
05:46:05 <zgrep> :P
05:48:11 <\oren\> the randomest number is 17
05:48:26 <hppavilion[1]> Perhaps we should mv wisdom/hackego to tmflry/hackego
05:48:34 <hppavilion[1]> And make a new definition for HackEgo
05:48:42 <hppavilion[1]> `? fungot
05:48:43 <HackEgo> fungot is our beloved channel mascot and voice of reason.
05:49:33 <zgrep> \oren\: But... 4... it was chosen by a fair dice roll... https://www.xkcd.com/221/
05:49:40 <zgrep> And it's the IEEE-vetted random number!
05:50:32 <zgrep> hppavilion[1]: 'Tis up to you.
05:50:46 <zgrep> And everyone else as well, I guess.
05:50:59 <hppavilion[1]> `` cat learn
05:50:59 <HackEgo> cat: learn: No such file or directory
05:51:11 <pikhq_> I prefer using whatever /dev/random says.
05:51:13 <pikhq_> Which is 4.
05:51:19 <ais523> hppavilion[1]: you want bin/learn
05:51:26 <hppavilion[1]> Oh right
05:51:47 <zgrep> `cat /dev/random
05:51:52 <hppavilion[1]> I'm eating pizza, so I'm a bit distracted xD
05:51:57 <zgrep> pikhq_: You lied!
05:52:18 <HackEgo> No output.
05:52:28 <zgrep> :(
05:52:29 <hppavilion[1]> `/dev/random
05:52:30 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /dev/random: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /dev/random: cannot execute: Permission denied
05:52:35 <hppavilion[1]> OK then
05:52:43 <hppavilion[1]> `dev/random
05:52:43 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/dev/random: No such file or directory
05:52:48 <hppavilion[1]> OK
05:52:49 <zgrep> Apparently it doesn't want you to execute dev/random.
05:52:54 <zgrep> s/dev/\/dev/
05:52:55 <hppavilion[1]> `` cat bin/learn
05:52:57 <HackEgo> ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\?[:;,.!?]\? .*//') \ echo "$1" >"wisdom/$topic" \ echo "Learned '$topic': $1"
05:53:00 -!- b_jonas has joined.
05:53:15 <zgrep> Maybe I should stick a "lowercase" into tomfoolery.
05:53:20 <hppavilion[1]> No
05:53:22 <zgrep> Okay.
05:53:39 <hppavilion[1]> `` cp bin/learn bin/mislearn
05:53:43 <HackEgo> No output.
05:53:58 <hppavilion[1]> `` sed bin/mislearn
05:54:00 <hppavilion[1]> Whoops
05:54:05 <HackEgo> sed: can't find label for jump to `in/mislearn'
05:54:29 <hppavilion[1]> `` sed "s/wisdom/tmflry" bin/mislearn
05:54:30 <HackEgo> sed: -e expression #1, char 15: unterminated `s' command
05:54:34 <hppavilion[1]> `` sed "s/wisdom/tmflry/" bin/mislearn
05:54:36 <HackEgo> ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\?[:;,.!?]\? .*//') \ echo "$1" >"tmflry/$topic" \ echo "Learned '$topic': $1"
05:54:57 <hppavilion[1]> `mislearn hth means "hope that helps"
05:55:01 <HackEgo> Learned 'hth': hth means "hope that helps"
05:55:12 <hppavilion[1]> `tomfoolery hth
05:55:13 <HackEgo> hth means "hope that helps"
05:55:32 <hppavilion[1]> `` sed "s/Learned/Was lied to about/" bin/mislearn
05:55:33 <zgrep> Oh. Wow. Now I get what hth is.
05:55:33 <HackEgo> ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\?[:;,.!?]\? .*//') \ echo "$1" >"wisdom/$topic" \ echo "Was lied to about '$topic': $1"
05:55:58 <hppavilion[1]> I'm almost getting the hang of this
05:56:05 <hppavilion[1]> `` cat bin/bookofeso
05:56:06 <HackEgo> F="$(find wisdom -name "*$(echo "$1" | lowercase)*" -type f | shuf -n1)"; echo -n "${F#wisdom/}/" | rnooodl; cat "$F" | rnooodl
05:56:08 <oerjan> `
05:56:09 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
05:56:12 <oerjan> `? hth
05:56:13 <HackEgo> hth means "hope that helps"
05:56:22 <hppavilion[1]> Shit...
05:56:24 * oerjan swats hppavilion[1] -----###
05:56:35 <oerjan> hppavilion[1]: PAY ATTENTION TO WHAT THE BOT ****ING SAYS
05:56:46 <hppavilion[1]> oerjan: I'M AND IDIOT KEEP THAT IN MIND
05:56:50 <hppavilion[1]> I'M VERY SORRY
05:56:53 <oerjan> PRECISELY WHY
05:57:11 <hppavilion[1]> AH
05:57:15 <zgrep> At least it's all version controlled.
05:57:32 <hppavilion[1]> Wait
05:57:43 * pikhq_ finds himself wondering where ais523 works these days
05:57:45 <ais523> `? tmh
05:57:47 <HackEgo> tmh? ¯\(°​_o)/¯
05:57:49 <ais523> `? tdnh
05:57:50 <HackEgo> tdnh does not help
05:58:05 <ais523> pikhq_: university of birmingham, on research compiler development
05:58:08 <hppavilion[1]> Why did it revert "tmflry" to "wisdom"
05:58:10 <pikhq_> Fun.
05:58:13 <hppavilion[1]> In the second sed?
05:58:33 <hppavilion[1]> OOOOOOOOOOOOH
05:58:39 <zgrep> `` echo 'hth is help received from a hairy toe. It is not at all hambiguitous.' > wisdom/hth
05:58:40 <ais523> a couple of days ago I had to debug something in a hurry and there were a huge number of nested parentheses
05:58:41 * hppavilion[1] is an idiot
05:58:42 <HackEgo> No output.
05:58:54 <ais523> so I knocked up a Perl oneliner in about 2 minutes to colourcode them for me
05:59:10 <hppavilion[1]> ais523: How do you get a perl oneliner pregnant?
05:59:30 <ais523> golfing practice pays off in my day job, although it wasn't very golfed
05:59:44 <oerjan> hppavilion[1]: it didn't revert it, you never got it in hth
05:59:56 <hppavilion[1]> oerjan: Yes, I figured that out
06:00:34 <ais523> I've been considering submitting it to anagolf but the problem is that there are so many ways to do it
06:00:36 <hppavilion[1]> I'm sorry ;-;
06:00:43 <ais523> maybe it'd work better on ppcg, which is more subjective
06:00:47 <zgrep> Should I remove the fallback on wisdom, or should `tomfoolery keep it?
06:01:25 <zgrep> ais523: You work with perl enough to do that in 2 minutes... is that a good thing or a bad thing?
06:01:39 <ais523> zgrep: I don't work with Perl all that much
06:01:48 <ais523> it is just one of the world's best languages for writing a program like that in 2 minutes
06:01:48 <hppavilion[1]> So what I SHOULD do is `` sed "s/wisdom/tmflry/" bin/mislearn > bin/mislearn
06:01:57 <zgrep> ais523: Makes sense.
06:01:58 <hppavilion[1]> Or more accurately, what I SHOULD do is not mess with HackEgo
06:01:59 -!- betafive has joined.
06:02:04 <zgrep> hppavilion[1]: No, I don't think that'd work...
06:02:08 <zgrep> ...unless it does...
06:02:09 <oerjan> hppavilion[1]: no, what you should do it sed -i
06:02:13 <zgrep> ^
06:02:17 <hppavilion[1]> oerjan: OK, so THAT'S the flag
06:02:22 <hppavilion[1]> I couldn't find it on the tutorial page
06:02:27 <ais523> it actually took a little longer because I checked the repos first
06:02:40 <hppavilion[1]> `` sed -i "s/wisdom/tmflry/" bin/mislearn
06:02:42 <HackEgo> No output.
06:02:55 <hppavilion[1]> `` sed -i "s/Learned/Was lied to about/" bin/mislearn
06:02:58 <HackEgo> No output.
06:03:02 <hppavilion[1]> `cat bin/mislearn
06:03:03 <HackEgo> ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\?[:;,.!?]\? .*//') \ echo "$1" >"tmflry/$topic" \ echo "Was lied to about '$topic': $1"
06:03:06 <hppavilion[1]> There
06:03:12 <hppavilion[1]> It appears to be safe now
06:03:22 -!- ^v has joined.
06:03:48 <hppavilion[1]> `? atestword
06:03:50 <HackEgo> atestword? ¯\(°​_o)/¯
06:03:50 <oerjan> FOR NOW
06:04:05 <hppavilion[1]> `mislearn atestword is a word that is used for testing
06:04:08 <HackEgo> Was lied to about 'atestword': atestword is a word that is used for testing
06:04:13 <hppavilion[1]> `? atestword
06:04:14 <HackEgo> atestword? ¯\(°​_o)/¯
06:04:21 <hppavilion[1]> `tomfoolery atestword
06:04:23 <HackEgo> atestword is a word that is used for testing
06:04:27 <hppavilion[1]> OK, it's safe now
06:04:37 <zgrep> It can have spaces in the filename...
06:04:42 <hppavilion[1]> `mislearn hth means "hope that helps"
06:04:44 <HackEgo> Was lied to about 'hth': hth means "hope that helps"
06:04:49 <hppavilion[1]> zgrep: Not in `mislearn
06:05:03 <zgrep> Well, not in that. But I can do this:
06:05:24 <zgrep> I think.
06:05:24 <zgrep> `` ln -s tmflry/atestword 'tmflry/a test word'
06:05:26 -!- b_jonas has quit (Ping timeout: 240 seconds).
06:05:27 <HackEgo> No output.
06:05:31 <zgrep> `tomfoolery a test word
06:05:32 <HackEgo> atestword is a word that is used for testing
06:05:47 <zgrep> Yay, it works.
06:05:57 <hppavilion[1]> `mislearn `mislearn was a very difficult command to create. It took much yelling at hppavilion[1] to get him to do things properly. hppavilion[1] is very sorry
06:06:00 <HackEgo> Was lied to about '`mislearn': `mislearn was a very difficult command to create. It took much yelling at hppavilion[1] to get him to do things properly. hppavilion[1] is very sorry
06:06:12 <oerjan> `` mkdir misle; cp le/* misle; sed -i 's/wisdom/tmflry/g' misle/*
06:06:15 <HackEgo> mkdir: cannot create directory `misle': File exists
06:06:20 <zgrep> `mislearn wisdom is tomfoolery
06:06:22 <HackEgo> Was lied to about 'wisdom': wisdom is tomfoolery
06:06:25 <oerjan> `cat misle/rn
06:06:26 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "$(echo-p "tmflry/$key")" && echo "Learned «$key»"
06:06:27 <zgrep> `mislearn tomfoolery is wisdom
06:06:30 <HackEgo> Was lied to about 'tomfoolery': tomfoolery is wisdom
06:06:52 <oerjan> `` sed -i 's/Learned/Was lied to about/' misle/*
06:06:54 <HackEgo> No output.
06:07:24 <oerjan> `misle/rn a test word/another test word
06:07:25 <HackEgo> ​/hackenv/misle/rn: line 1: tmflry/a test word: No such file or directory
06:07:31 <oerjan> hmph
06:07:35 <oerjan> `cat misle/rn
06:07:36 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "$(echo-p "tmflry/$key")" && echo "Was lied to about «$key»"
06:08:17 <hppavilion[1]> zgrep: Now we need an unknown one
06:08:18 <hppavilion[1]> `evil
06:08:19 <oerjan> `le/rn a test word/another test word
06:08:20 <HackEgo> KILL A PUPPY EVERY DAY.
06:08:22 <HackEgo> Learned «a test word»
06:08:25 <hppavilion[1]> `cat bin/evil
06:08:26 <HackEgo> cat "$(find evil -type f | shuf -n1)" | tr '[:lower:]' '[:upper:]'
06:08:28 <oerjan> `? a test word
06:08:29 <HackEgo> another test word
06:08:58 * hppavilion[1] is tempted to make `morallyneutral, but feels it would be received badly
06:09:58 <ais523> nobody will agree on what's morally neutral
06:10:08 <ais523> at least with evil you can produce a huge cariacture
06:10:10 <oerjan> `tomfoolery a test word
06:10:11 <HackEgo> atestword is a word that is used for testing
06:10:27 <oerjan> `misle/rn another test word/another test word
06:10:29 <HackEgo> Was lied to about «another test word»
06:10:36 <oerjan> ah. i think the link confused it.
06:10:48 * zgrep shrugs
06:10:58 <zgrep> `tomfoolery a test word
06:10:58 <HackEgo> atestword is a word that is used for testing
06:11:06 <oerjan> `? another test word
06:11:07 <zgrep> Seems it still is.
06:11:07 <HackEgo> another test word? ¯\(°​_o)/¯
06:11:15 <oerjan> `tomfoolery another test word
06:11:16 <HackEgo> another test word
06:11:26 <hppavilion[1]> ais523: `commandments?
06:11:28 <oerjan> i think that works now.
06:11:59 <hppavilion[1]> oerjan: Yay! Thank you!
06:14:34 <oerjan> `ls misle
06:14:34 <HackEgo> rn \ rn_append
06:14:51 <oerjan> `misle/rn_append another test word/and how
06:14:55 <HackEgo> Was lied to about 'another test word': another test word and how
06:15:07 <oerjan> `ls tmflry
06:15:08 <HackEgo> another test word \ atestword \ a test word \ cat \ esolang \ esolangs \ hth \ `mislearn \ random number \ tomfoolery \ wisdom
06:15:25 <hppavilion[1]> `esolang
06:15:26 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: esolang: not found
06:15:31 <oerjan> `rm tmflry/*test*
06:15:32 <HackEgo> rm: cannot remove `tmflry/*test*': No such file or directory
06:15:35 <hppavilion[1]> `esolangs
06:15:36 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: esolangs: not found
06:15:37 <oerjan> `` rm tmflry/*test*
06:15:39 <HackEgo> No output.
06:15:46 <hppavilion[1]> Oh, wait, that was `ls tomflry
06:15:53 <hppavilion[1]> `? esolangs
06:15:54 <HackEgo> esolangs? ¯\(°​_o)/¯
06:16:00 <hppavilion[1]> `tomfoolery esolangs
06:16:01 <HackEgo> Esoteric languages. Usually refers to programming languages designed to be unique, difficult to program in, or just plain weird. See https://esolangs.org for more.
06:16:37 <zgrep> `misle/rn fs File system. HackEgo/HackBot's is http://codu.org/projects/hackbot/fshg/index.cgi
06:16:39 <HackEgo> Was lied to about «fs file system. hackego»
06:16:46 <zgrep> Whoops.
06:16:51 <zgrep> `misle/rn fs/File system. HackEgo/HackBot's is http://codu.org/projects/hackbot/fshg/index.cgi
06:16:53 <HackEgo> Was lied to about «fs»
06:17:10 <zgrep> `` rm tmflry/*file\ system*
06:17:12 <HackEgo> No output.
06:17:13 <hppavilion[1]> `? the meaning of life
06:17:14 <HackEgo> the meaning of life? ¯\(°​_o)/¯
06:17:16 -!- variable has joined.
06:17:18 <hppavilion[1]> WAT.
06:17:20 <hppavilion[1]> WHY.
06:17:29 <hppavilion[1]> HOW.
06:17:35 <hppavilion[1]> WTF.
06:17:43 <hppavilion[1]> BUT.
06:17:48 <hppavilion[1]> HUH.
06:17:53 -!- b_jonas has joined.
06:18:06 <\oren\> b_jello!
06:18:13 <hppavilion[1]> \oren\: ...ew
06:18:37 <\oren\> hppavilion[1]: huh
06:18:41 <hppavilion[1]> Nothing.
06:18:51 <hppavilion[1]> b_jonas: We've been up to some `tomfoolery
06:19:10 <hppavilion[1]> `? random number
06:19:11 <HackEgo> random number? ¯\(°​_o)/¯
06:19:18 <hppavilion[1]> `tomfoolery random number
06:19:19 <HackEgo> 18116
06:19:22 <zgrep> \oren\: Well, I, for one, most certainly don't wish to be jello.
06:19:26 <hppavilion[1]> `tomfoolery random number
06:19:27 <HackEgo> 11081
06:19:29 <hppavilion[1]> OK.
06:19:32 <hppavilion[1]> That is cool.
06:19:41 <zgrep> Anything that's executable, tomfoolery will execute.
06:19:48 <zgrep> It's just that murderous.
06:19:50 <hppavilion[1]> zgrep: Like a boss
06:20:12 <hppavilion[1]> `tomfoolery cat
06:20:13 <HackEgo> A cat is an animal with four legs. It's nice to pet, especially when it's a baby cat, called a kitten.
06:20:26 <oerjan> `? cat
06:20:27 <HackEgo> Cats are cool, but should be illegal.
06:21:02 <hppavilion[1]> `misle/rn_append ALTERNATIVELY (and probably the reason you came here): The unix "cat" command takes a filename and prints the contents of that file
06:21:03 <HackEgo> No output.
06:21:10 <hppavilion[1]> `tomfoolery cat
06:21:11 <HackEgo> A cat is an animal with four legs. It's nice to pet, especially when it's a baby cat, called a kitten.
06:21:26 <hppavilion[1]> `? cat
06:21:27 <HackEgo> Cats are cool, but should be illegal.
06:21:35 <hppavilion[1]> `cat misle/rn_append
06:21:36 <HackEgo> ​#!/bin/bash \ [[ "$1" = */* ]] || exit \ topic=$(echo "$1" | lowercase | cut -d / -f 1) \ [ -z "$topic" ] && exit 1 \ stuff=$(echo "$1" | cut -d / -f 2-) \ perl -i -p -e 's/\n/ /' "tmflry/$topic" \ echo "$stuff" >>"tmflry/$topic" \ echo -n "Was lied to about '$topic': " \ cat "tmflry/$topic"
06:21:56 <zgrep> `append tmflry/cat = Or it's the unix "cat" command. It takes a filename (or many) and prints the contents of that (those) file(s).
06:21:59 <HackEgo> No output.
06:22:04 <zgrep> `tomfoolery cat
06:22:05 <HackEgo> A cat is an animal with four legs. It's nice to pet, especially when it's a baby cat, called a kitten. \ Or it's the unix "cat" command. It takes a filename (or many) and prints the contents of that (those) file(s).
06:22:16 <oerjan> `cat bin/append
06:22:17 <HackEgo> echo "${1#* = }" >> "${1%% = *}"
06:22:29 <hppavilion[1]> `ls tmflry
06:22:30 <HackEgo> cat \ esolang \ esolangs \ fs \ hth \ `mislearn \ random number \ tomfoolery \ wisdom
06:22:32 <oerjan> `culprits bin/append
06:22:35 <HackEgo> zgrep zgrep zgrep zgrep zgrep
06:22:41 <zgrep> I'm to blame, aren't I.
06:22:57 <oerjan> zgrep: yes, you don't understand what the _append commands do.
06:23:15 <hppavilion[1]> oerjan: `append IS more general
06:23:17 <Sgeo> FOr some reason, I love playing with the Rust type system
06:23:29 <hppavilion[1]> `ls wisdom
06:23:31 <HackEgo> ​` \ `? \ == \ \ _̰̆̓_̦̻̖͍̟̖̅ͭͭͬ͡_͉̭ͧ͒̐_̯͙̬̬̦̯͂͋͒ͧ͋̋_̴̝̔̉̅ͨ͞ \ ? \ ?? \ @ \ * \ \ \   \ ⌨ \ ꙮ \ ⊥ \ ☃ \ 🐐 \ ̸̸̼͚͇̮͕̳̞̤̜̯̪̪̱̣̠̺̹͍̩̝͚͕͓͚̙͓̪̮̟̜̣͙̪̂ͭ̎̏̔ͦ͒ͪ͌̾ͦͨ̚̚͢͢͠ͅ҉̴̢_͙̣͎͎͙̪̪̝̖͉̟̭̻̥̫̗̱̗͍̳̿̊ͣ̉ͣͪ͒̓̐͊̏ͫ̓̚̚
06:23:31 <zgrep> oerjan: No, I get what they do. This command is meant to append to any file. And it starts the append on the next line thing stuff.
06:23:32 <Sgeo> It feels like Haskell except more unexplored, letting me turn Rust into Haskell
06:23:32 <oerjan> hppavilion[1]: no, it's not.
06:23:40 <zgrep> Sgeo: Hahah!
06:23:54 <Sgeo> Also, if Cons is used for ANDing stuff, Cans is used for ORing stuff
06:23:55 <Sgeo> >.>
06:23:56 <oerjan> zgrep: which is not the right thing to do for wisdom.
06:24:17 <zgrep> True. But it works because HackEgo turns newlines into \'s.
06:24:51 <hppavilion[1]> `misle/rn Rust is a low-level programming language made by Mozilla (yes, the Firefox people). It's better than C++, but that's not saying much.
06:24:52 <HackEgo> No output.
06:25:03 <hppavilion[1]> (Oh god. We've just made a wiki. Let us not abuse this power.)
06:25:21 <zgrep> oerjan: If you feel it's extraneous, feel free to remove it. Also I'm to blame for `overwrite.
06:25:23 <hppavilion[1]> `?
06:25:24 <HackEgo> ​ ? ¯\(°​_o)/¯
06:25:33 <hppavilion[1]> `cat bin/overwrite
06:25:34 <HackEgo> echo "${1#* = }" > "${1%% = *}"
06:25:49 <hppavilion[1]> `?
06:25:50 <HackEgo> ​ ? ¯\(°​_o)/¯
06:25:57 <hppavilion[1]> `?
06:25:58 <HackEgo> ​ ? ¯\(°​_o)/¯
06:26:06 <hppavilion[1]> `?
06:26:07 <HackEgo> ​ ? ¯\(°​_o)/¯
06:26:10 <hppavilion[1]> Huh
06:26:19 <hppavilion[1]> `? ==
06:26:21 <HackEgo> Did you know you can define == recursively!?
06:26:37 <hppavilion[1]> That was me, BTW
06:26:46 <hppavilion[1]> `? `? `?
06:26:48 <HackEgo> ​`? `?? ¯\(°​_o)/¯
06:27:00 <zgrep> hppavilion[1]: HackEgo works in PM's too.
06:27:00 <hppavilion[1]> `le/rn `? `?/Yes, you're very clever
06:27:04 <HackEgo> Learned «`? `?»
06:27:07 <hppavilion[1]> zgrep: It does? Oh.
06:27:16 <zgrep> Still need to call it with `'s and such, but it works.
06:27:18 <hppavilion[1]> `? `? `?
06:27:19 <HackEgo> Yes, you're very clever
06:27:25 <\oren\> `misle/rn C++ is an attempt to improve upon C. The only thing it actually improved was memory management, and it made everything else worse.
06:27:26 <HackEgo> No output.
06:27:29 <oerjan> zgrep: the original `learn_append was created because everyone kept trying to append lines to the wisdom files, which looks ugly.
06:28:21 <hppavilion[1]> `? \oren\
06:28:22 <HackEgo> ​\oren\? ¯\(°​_o)/¯
06:28:46 <zgrep> oerjan: Oh. My goal was to make something to make it relatively easy to write multi-message scripts interspersed with both " and ' throughout, without the need to escape either character because it's not a bash prompt.
06:29:10 <hppavilion[1]> `learn \oren\ is an attempt to improve upon oren. The only thing it actually improved was name recognizability, and it made everything else... well, there isn't much else in a nick, is there?
06:29:14 <HackEgo> Learned '\oren\': \oren\ is an attempt to improve upon oren. The only thing it actually improved was name recognizability, and it made everything else... well, there isn't much else in a nick, is there?
06:29:39 <zgrep> `` sed -i 's/[\r\n]/ /' tmflry/cat
06:29:41 <HackEgo> No output.
06:29:55 <zgrep> Well, that didn't work.
06:30:05 <oerjan> hppavilion[1]: you seem to have done another mistake above. my annoyance isn't so much in that you make mistakes, as in that you don't check whether you've done so.
06:30:24 <hppavilion[1]> oerjan: ... shit. What did I do this time?
06:30:32 <oerjan> i'm not going to tell you hth
06:30:48 <hppavilion[1]> "\oren\? ¯\(°​_o)/¯" looks right to me
06:30:59 <zgrep> Hahah, I think I see it. Maybe.
06:31:16 <\oren\> `? \oren\
06:31:16 <zgrep> Maybe not.
06:31:17 <HackEgo> ​\oren\ is an attempt to improve upon oren. The only thing it actually improved was name recognizability, and it made everything else... well, there isn't much else in a nick, is there?
06:31:17 <hppavilion[1]> Was it in `? `? `??
06:32:29 <hppavilion[1]> zgrep: What is it?
06:32:33 <zgrep> Not sure.
06:32:43 <hppavilion[1]> \oren\: Did I break a precious thing?
06:32:50 <oerjan> btw \oren\ also made the same mistake.
06:32:56 <hppavilion[1]> Oh, that helps :)
06:33:11 <oerjan> well you didn't break anything, or else i wouldn't be able to resist telling you.
06:33:17 <hppavilion[1]> Oh xD
06:33:28 <oerjan> but you didn't do what you intended.
06:33:43 <\oren\> `tomfoolery C++
06:33:45 <HackEgo> Along with C, C++ is a language for smart people.
06:33:52 <zgrep> Heheh.
06:34:00 <\oren\> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaa
06:34:17 <hppavilion[1]> oerjan: You mean that I `learned it instead of `mislearned it?
06:34:19 <zgrep> oerjan: In case you were interested, zgrep hath removed the newline from cat.
06:34:21 <\oren\> `misle/rn C++/C++ is an attempt to improve upon C. The only thing it actually improved was memory management, and it made everything else worse.
06:34:25 <HackEgo> Was lied to about «c++»
06:34:28 <\oren\> `tomfoolery C++
06:34:30 <HackEgo> Along with C, C++ is a language for smart people.
06:34:46 <hppavilion[1]> OOOOOOOOOH
06:35:10 <oerjan> wait, that's weird.
06:35:14 <hppavilion[1]> I did notice when \oren\ forgot the / in his misle/rn
06:35:19 <oerjan> `tomfoolery C++
06:35:20 <hppavilion[1]> But I can't find mine
06:35:21 <HackEgo> Along with C, C++ is a language for smart people.
06:35:26 <oerjan> `tomfoolery c++
06:35:27 <hppavilion[1]> `? C++
06:35:27 <HackEgo> C++ is an attempt to improve upon C. The only thing it actually improved was memory management, and it made everything else worse.
06:35:28 <HackEgo> Along with C, C++ is a language for smart people.
06:35:37 <oerjan> `tomfoolery c++
06:35:37 <HackEgo> C++ is an attempt to improve upon C. The only thing it actually improved was memory management, and it made everything else worse.
06:35:45 <hppavilion[1]> Oh god
06:35:50 <hppavilion[1]> Is it case-sensitive?
06:35:51 <\oren\> NAZE DA
06:35:54 <oerjan> ...tomfoolery is case sensitive
06:36:04 <oerjan> well that was my mistake, i guess.
06:36:09 <oerjan> `cat bin/tomfoolery
06:36:10 <HackEgo> if [ -z "$1" ];then exec echo "I have nothing to tell you.";fi;f="tmflry/$1";if [ -h "$f" ];then exec tomfoolery `readlink "$f" | sed 's/^tmflry\///'`;fi;if [ -x "$f" ];then exec bash "$f";fi;if [ -r "$f" ];then exec cat "$f";fi;? "$1"
06:36:22 <oerjan> `` cat misle/*
06:36:24 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "$(echo-p "tmflry/$key")" && echo "Was lied to about «$key»" \ #!/bin/bash \ [[ "$1" = */* ]] || exit \ topic=$(echo "$1" | lowercase | cut -d / -f 1) \ [ -z "$topic" ] && exit 1 \ stuff=$(echo "
06:36:28 <\oren\> ZAKKENNA
06:36:30 <zgrep> Should I change it to not be case sensetive?
06:36:37 <zgrep> s/nse/nsi/
06:36:44 <oerjan> `` sed -i 's/| lowercase//' misle/*
06:36:47 <HackEgo> No output.
06:36:49 <oerjan> `` cat misle/*
06:36:50 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" )"; value="${1#*$sep}"; echo "$value" > "$(echo-p "tmflry/$key")" && echo "Was lied to about «$key»" \ #!/bin/bash \ [[ "$1" = */* ]] || exit \ topic=$(echo "$1" | cut -d / -f 1) \ [ -z "$topic" ] && exit 1 \ stuff=$(echo "$1" | cut -d / -f 2-)
06:37:18 <oerjan> TRY NOW
06:37:30 <\oren\> `tomfoolery C++
06:37:31 <HackEgo> Along with C, C++ is a language for smart people.
06:37:33 <hppavilion[1]> oerjan: So where did I make that mistake?
06:37:43 <hppavilion[1]> `tomfoolery c++
06:37:44 <HackEgo> C++ is an attempt to improve upon C. The only thing it actually improved was memory management, and it made everything else worse.
06:38:02 <zgrep> `` echo */{C,c}++
06:38:02 <HackEgo> ​*/C++ tmflry/c++ wisdom/c++
06:38:17 <zgrep> Oh!
06:38:23 <zgrep> tomfoolery falls back on wisdom.
06:38:31 <hppavilion[1]> zgrep: Well yeah
06:38:35 <zgrep> Should it?
06:38:40 <hppavilion[1]> Probably not
06:39:32 <\oren\> `misle/rn C++/C++ is an attempt to improve upon C. The only thing it actually improved was memory management, and it made everything else worse.
06:39:33 <oerjan> this is so going to end well.
06:39:35 <HackEgo> Was lied to about «C++»
06:39:41 <\oren\> `tomfoolery C++
06:39:42 <HackEgo> C++ is an attempt to improve upon C. The only thing it actually improved was memory management, and it made everything else worse.
06:39:50 <\oren\> YATTA
06:40:13 <zgrep> There. Doesn't fall back now, and it auto-lowercases.
06:40:18 -!- tromp_ has quit (Remote host closed the connection).
06:40:37 <zgrep> `tomfoolery something you don't know
06:40:38 <HackEgo> I must confess, I know not of what you are speaking.
06:40:59 <hppavilion[1]> `? something you don't know
06:41:01 <HackEgo> something you don't know? ¯\(°​_o)/¯
06:41:05 <hppavilion[1]> OK, works now
06:41:12 <hppavilion[1]> `? the meaning of life
06:41:13 <HackEgo> the meaning of life? ¯\(°​_o)/¯
06:41:49 <hppavilion[1]> `misle/rn the meaning of life/Error 15+9i: All possible responses too controversial.
06:41:51 <HackEgo> Was lied to about «the meaning of life»
06:41:59 <oerjan> erm
06:42:23 <hppavilion[1]> oerjan: Yes?
06:42:50 <hppavilion[1]> `tomfoolery random number
06:42:51 <HackEgo> 32281
06:42:53 <oerjan> `undo c58a6174e051
06:42:58 <HackEgo> patching file misle/rn \ patching file misle/rn_append
06:43:07 <oerjan> `cat misle/*
06:43:07 <HackEgo> cat: misle/*: No such file or directory
06:43:11 <oerjan> `` cat misle/*
06:43:12 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "$(echo-p "tmflry/$key")" && echo "Was lied to about «$key»" \ #!/bin/bash \ [[ "$1" = */* ]] || exit \ topic=$(echo "$1" | lowercase | cut -d / -f 1) \ [ -z "$topic" ] && exit 1 \ stuff=$(echo "
06:43:15 <oerjan> good
06:43:31 <hppavilion[1]> `cat tmflry/random number
06:43:32 <HackEgo> echo $RANDOM
06:43:42 <oerjan> hppavilion[1]: zgrep made his ignore case, and i'd already mad the misle/* distinguish them
06:43:48 <oerjan> fortunately there's `undo
06:44:08 <oerjan> (because fixing that with `sed looked _awkward_)
06:44:10 <hppavilion[1]> zgrep: Does `wisdom execute scripts?
06:44:15 -!- variable has quit (Ping timeout: 245 seconds).
06:44:22 <zgrep> No clue.
06:44:27 <hppavilion[1]> Let's try
06:45:01 <hppavilion[1]> `` echo "echo $RANDOM" > wisdom/the meaning of life
06:45:04 <HackEgo> No output.
06:45:05 <hppavilion[1]> `? the meaning of life
06:45:07 <HackEgo> the meaning of life? ¯\(°​_o)/¯
06:45:19 <zgrep> ''
06:45:29 <myname> wtf misle/rn_append?
06:45:29 <zgrep> `? the
06:45:30 <HackEgo> echo 14240 meaning of life
06:45:56 <hppavilion[1]> Shit.
06:46:05 * oerjan swats hppavilion[1] -----###
06:46:06 -!- MoALTz has joined.
06:46:08 <hppavilion[1]> `` echo "echo $RANDOM" > "wisdom/the meaning of life"
06:46:10 <oerjan> `revert
06:46:11 <HackEgo> No output.
06:46:14 <oerjan> NOOOOOOOO
06:46:22 <hppavilion[1]> I'll stop now
06:46:22 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
06:46:40 <hppavilion[1]> `? the
06:46:41 <HackEgo> echo 14240 meaning of life
06:46:44 <oerjan> that didn't show up
06:47:22 <oerjan> hppavilion[1]: WHEN YOU MAKE A MISTAKE DON'T DO ANYTHING ELSE UNTIL YOU KNOW WHAT HAPPENED
06:47:48 <hppavilion[1]> oerjan: BUT I KNEW WHAT HAPPENED
06:48:06 <hppavilion[1]> oerjan: IT TREATED THE STUFF AFTER THE SPACE AS SEPARATE ARGUMENTS
06:48:13 <oerjan> lessee
06:48:39 <zgrep> I'm doing a not so smart thing right now... and downloading hackbot's files...
06:49:02 <oerjan> zgrep: is that why it's locking up for me?
06:49:10 <hppavilion[1]> zgrep: YOU FAILURE
06:49:22 <zgrep> oerjan: Shouldn't, I'd assume... but I have no clue how mercurial works.
06:49:26 <coppro> ok wow
06:49:34 <hppavilion[1]> copphello
06:49:42 <oerjan> zgrep: tip: HackEgo leaves on the slowest server ever.
06:49:44 <coppro> canada post has a program where you can have things shipped to any post office in the country; you sign up on line and you get a virtual PO box
06:50:01 <hppavilion[1]> `? relcome
06:50:05 <coppro> (this is useful if you're away during the day so you can't receive parcels and have to pick them up anyway)
06:50:09 <oerjan> *lives
06:50:11 <coppro> I expected it to cost money but it's free
06:50:20 <zgrep> coppro: Are you saying I should move to Canada?
06:50:25 <HackEgo> relcome? ¯\(°​_o)/¯
06:50:28 <oerjan> also, i am trying to browse that mercurial repository to find out how to fix what hppavilion[1] did
06:50:51 <oerjan> ...fine. i'll just revert everything you do tomorrow *MWAHAHAHA*
06:50:58 * oerjan goes crazy
06:51:11 <hppavilion[1]> `? mapole
06:51:14 <HackEgo> A mapole is a thwackamacallit built from maple according to Canadian standards. The army version includes a spork, a corkscrew and a moose whistle. A regulatory mapole measures 6' by 12 kg, ±0.5 inHg.
06:51:14 <zgrep> Wow. So, OS X is case sensitive / insensitive... right?
06:51:19 <zgrep> It's insensitive by default, I think.
06:51:22 <zgrep> "abort: case-folding collision between bin/WeLcOmE and bin/WELCOME" :(
06:52:13 <hppavilion[1]> `misle/rn mapole/A mapole is a thing boily made up. There's no such thing. Stop asking.
06:52:16 <HackEgo> Was lied to about «mapole»
06:53:22 <oerjan> `undo 7476893e7fc3
06:53:27 <HackEgo> patching file wisdom/the
06:53:31 <oerjan> `? the
06:53:33 <HackEgo> the Toe of Harriness's Enclosure
06:53:43 <oerjan> MUCH BETTER, UM...
06:55:57 <coppro> zgrep: if you want free choice of post offices to pick up parcels from, sure
06:56:05 <coppro> (oh, they also email you when a package arrives)
06:56:22 <\oren\> I have home delivery so bah
06:58:20 <coppro> I do in theory
06:58:30 <coppro> but it's a small apartment so they can't leave the package anywhere
06:58:35 <coppro> and the doorbell is broken
07:00:25 <\oren\> ah
07:00:27 <zgrep> Make a "hidden" floor panel in the hallway, and have it detect when a package is dropped in, and move it under a similar panel inside the apartment.
07:00:51 <zgrep> :P
07:01:00 <\oren\> uhhh and how is mr. mailman supposed to find it?
07:01:42 <zgrep> A note.
07:01:58 <zgrep> Damn. HackEgo has a lot of files.
07:03:30 <zgrep> I'll format an entire usb flash drive with a cases sensitive fs, just for you, HackEgo. Be happy.
07:03:37 <zgrep> `be happy
07:03:39 <Sgeo> cans.select(|s: String| "It's a string!").select(|i: i32| "It's an i32!").unwrap_void();
07:03:46 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: be: not found
07:04:00 <izabera> `` type be
07:04:01 <HackEgo> bash: line 0: type: be: not found
07:04:14 * izabera didn't actually read the error message
07:04:36 <zgrep> Sgeo: I... see... what are cans?
07:04:53 <Sgeo> They're the OR version of Cons
07:05:04 <Sgeo> Because I'm weird like that
07:05:06 <zgrep> What's OR, what's Cons?
07:05:27 <Sgeo> Cons = basic building structure of lists
07:05:31 <Sgeo> Consists of a head and a tail
07:05:33 <zgrep> Oh, that thing.
07:05:51 <Sgeo> I figure sum types are ORey, product types are ANDy
07:06:13 <zgrep> Indeed, you figure as have probably many...
07:06:45 -!- j-bot has quit (Ping timeout: 245 seconds).
07:13:52 <coppro> zgrep: mailman can't get into the hallway
07:14:24 <zgrep> Oh. Then built a small trebuchet to hurl it through an open window.
07:14:28 <zgrep> s/built/build/
07:16:43 <oerjan> just build a robot to take o^W^Waccept mail
07:17:52 -!- oerjan has quit (Quit: Calm down).
07:18:08 <coppro> actually a small trebuchet onto the balcony might work
07:18:34 -!- lynn has quit (Ping timeout: 256 seconds).
07:18:56 -!- glowcoil has quit (Ping timeout: 272 seconds).
07:23:06 -!- ^v has quit (Ping timeout: 256 seconds).
07:24:22 <hppavilion[1]> `quote <coppro> actually a small trebuchet onto the balcony might work
07:24:33 <HackEgo> No output.
07:24:39 <hppavilion[1]> `quote
07:24:40 <HackEgo> 1158) <fizzie> 15:21 .. 15:41 <fizzie> I've got to stop using the IRC input line for short-term notes. <ais523> fizzie: I tend to just send them to the channel <ais523> that way if I need them in the future, I can find them in the log
07:24:59 <hppavilion[1]> `quote
07:25:01 <HackEgo> 557) <Ngevd> "Unlike other operating systems, Linux operating systems use Linux"
07:25:06 <hppavilion[1]> `quote
07:25:07 <HackEgo> 794) <fizzie> Backups are so like one of those circus guys walking on a wire except with a safety rope.
07:25:18 <hppavilion[1]> `quote
07:25:19 <HackEgo> 219) <oerjan> <Gregor> oerjan: Tell us what (a(b{c}d)*2e)%2 expands to <-- ababcdbcdedbabcdbcdede, i think <Gregor> oerjan: What - the - fuck
07:25:22 <Sgeo> <ubsan> Sgeo, I am impressed
07:25:27 <Sgeo> Bit of an ego boost >.>
07:26:05 <hppavilion[1]> `quote
07:26:06 <HackEgo> 649) <MDude> A quick look as WIikipedia ways that Wicca is a specific form of paganism related to witchcraft. <MDude> That agrees with what I know from that Scoobie Doo movie with the wiccans in it.
07:26:18 <hppavilion[1]> `quote
07:26:19 <HackEgo> 430) <Taneb> So it's like... Rummy mixed with... breakout?
07:26:25 <hppavilion[1]> `quote
07:26:25 <HackEgo> 957) <ais523> there's more evidence that scammers exist, than that, say, the average Nigerian exists
07:28:45 <zgrep> I wonder if I can... hmm...
07:30:04 <coppro> hppavilion[1]: do you mean `addquote
07:31:03 <coppro> Gregor: how's teaching people about formal languages?
07:34:20 <hppavilion[1]> Yes
07:34:22 <hppavilion[1]> Yes I did
07:34:29 <zgrep> `ping
07:34:32 <HackEgo> pong
07:34:57 <hppavilion[1]> `addquote <coppro> actually a small trebuchet onto the balcony might work
07:35:01 <HackEgo> 1266) <coppro> actually a small trebuchet onto the balcony might work
07:35:08 <hppavilion[1]> `quote 1265
07:35:09 <HackEgo> 1265) <lambdabot> "on the oehtr hadn, sinortg olny the ideinss of wdors is pceeflrty raabdeel,... <fizzie> Well, maybe pceeflrty is a bit too strong a word here.
07:35:22 <hppavilion[1]> `quote 1264
07:35:23 <HackEgo> 1264) <\oren\> scientists can apparently research things even while rotating 30 times a minute
07:35:34 <hppavilion[1]> `quote
07:35:35 <HackEgo> 172) <Sgeo> My quotes are boring
07:35:42 <hppavilion[1]> LULZ
07:35:46 <hppavilion[1]> `quote
07:35:47 <HackEgo> 1042) <Bike> that reminds me of a great quote about bird semen
07:38:44 -!- glowcoil has joined.
07:41:16 -!- tromp_ has joined.
07:42:47 -!- betafive has quit (Ping timeout: 276 seconds).
07:46:00 -!- tromp_ has quit (Ping timeout: 260 seconds).
08:05:41 -!- ^v has joined.
08:24:18 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
08:25:13 -!- sebbu has quit (Read error: Connection reset by peer).
08:28:22 -!- sebbu has joined.
08:32:15 <olsner> `quote boring
08:32:16 <HackEgo> 108) <CakeProphet> how does a "DNA computer" work. <CakeProphet> von neumann machines? <Phantom_Hoover> CakeProphet, that's boring in the context of DNA. <Phantom_Hoover> It's just stealing the universe's work and passing it off as our own. \ 172) <Sgeo> My quotes are boring \ 327) <oklopol> yes i use the services of a psychic, but i'm consideri
08:37:39 <izabera> the first rule of suspense club is...
08:38:18 -!- ais523 has quit.
08:59:12 -!- AnotherTest has joined.
09:07:51 -!- AnotherTest has quit (Ping timeout: 245 seconds).
09:15:07 -!- betafive has joined.
09:21:54 -!- mroman has joined.
09:25:07 -!- betafive has quit (Read error: Connection reset by peer).
09:39:56 -!- AnotherTest has joined.
09:40:40 -!- J_Arcane has quit (Ping timeout: 252 seconds).
09:51:49 <mroman> fnard
09:52:47 -!- AnotherTest has quit (Ping timeout: 276 seconds).
10:36:00 -!- aute_desada has joined.
10:41:47 -!- tromp_ has joined.
10:46:18 -!- tromp_ has quit (Ping timeout: 252 seconds).
10:46:46 <quintopia> mrowornin
10:46:52 -!- aute_desada has left.
11:20:24 -!- AnotherTest has joined.
11:27:00 -!- AnotherTest has quit (Ping timeout: 252 seconds).
11:31:42 -!- jaboja has joined.
11:36:02 -!- boily has joined.
11:52:21 <boily> `wisdom
11:52:31 <HackEgo> monoids/Monoids are just categories with single objects.
11:52:35 <boily> `wisdom
11:52:37 <HackEgo> atriq/atriq or two
11:52:55 <boily> `? Taneb
11:52:57 <HackEgo> Taneb is not elliott, no matter who you ask. He also isn't a rabbi although he has pretended in the past. He has at least two backup keyboards with dodgy SHIFT KEys, cube root of five genders, and voluminous but calm eyebrows. (See also: tanebventions)
11:54:51 <izabera> https://github.com/jayphelps/git-blame-someone-else
11:56:48 <boily> izabellora.
11:57:43 <boily> that is a dangerous tool. will goad our buildmaster guy (who has all the Admin Accesses to Everything) into using it. mwah ah ah.
12:00:43 * Taneb hello
12:01:15 -!- jaboja has quit (Ping timeout: 240 seconds).
12:01:28 <boily> Tanelle.
12:05:00 <b_jonas> `? izabera
12:05:02 <HackEgo> izabera is a tachyherpetologist. She is probably implemented in bash.
12:08:09 <Taneb> Someone who studies fast reptiles?
12:08:19 <izabera> someone who slows pythons
12:08:21 <izabera> i've been told
12:08:45 <Taneb> tachy- is fast
12:08:54 <izabera> don't blame me
12:08:59 <izabera> blame-someone-else
12:09:04 <Taneb> Slow would by bradyherpetologist
12:09:22 <boily> woops.
12:09:42 <boily> `` sed -i 's/tachy/brady/' wisdom/izabera
12:09:46 <HackEgo> No output.
12:10:21 <boily> I always get those two prefixes mixed up.
12:10:35 <Taneb> It's like hyper and hypo
12:12:10 -!- mroman has quit (Quit: Lost terminal).
12:12:29 <boily> hyper is hyper, hypo is potamus.
12:13:02 <Taneb> That's hippo
12:13:11 <Taneb> Over, under, and horse
12:14:30 -!- gniourf has quit (Read error: Connection reset by peer).
12:14:45 <b_jonas> `? hypo
12:14:46 <HackEgo> hypo? ¯\(°​_o)/¯
12:14:54 <b_jonas> `learn hypo is potamus
12:14:57 <HackEgo> Learned 'hypo': hypo is potamus
12:16:22 -!- gniourf has joined.
12:23:39 -!- boily has quit (Quit: AMPÈRE CHICKEN).
12:43:09 -!- tromp_ has joined.
12:47:15 -!- tromp_ has quit (Ping timeout: 240 seconds).
13:09:29 -!- jaboja has joined.
13:34:19 <quintopia> hello
13:34:27 <izabera> hellopia
13:34:37 <quintopia> what happens
13:35:39 <quintopia> how do you slow pythons? poorly optimized code?
13:36:02 <izabera> sleep 3 before calling /bin/python
13:36:21 <quintopia> is there an advantage to doing that?
13:42:28 -!- tromp_ has joined.
13:49:56 -!- mroman has joined.
13:56:23 -!- tromp_ has quit (Remote host closed the connection).
14:07:23 <mroman> hm
14:07:28 <mroman> can you stream TO a http server?
14:16:04 <int-e> are you trying to come up with a new kind of POST correspondence problem?
14:19:00 -!- XorSwap has joined.
14:20:32 <mroman> well
14:20:41 <mroman> I probably should just try it :)
14:29:54 <mroman> apparentely not
14:32:44 <int-e> to me, "stream to" is a bit vague...
14:33:24 <int-e> (what kind of data, and what is supposed to happen to the data once it arrives at the server?)
14:36:13 -!- jaboja has quit (Remote host closed the connection).
14:40:56 <mroman> well
14:41:01 <mroman> one person visits GET /down
14:41:05 <mroman> and the other one POST /up
14:41:18 <mroman> and whatever someone streams to /up can then be viewed life at /down
14:47:10 -!- XorSwap has quit (Read error: Connection reset by peer).
14:47:30 -!- XorSwap has joined.
14:51:50 -!- XorSwap has quit (Read error: Connection reset by peer).
14:56:51 -!- tromp_ has joined.
15:00:56 -!- tromp_ has quit (Ping timeout: 240 seconds).
15:19:07 -!- AlexR42 has joined.
15:24:16 -!- lleu has joined.
15:31:06 <mroman> doesn't seem to work very well
15:43:46 -!- `^_^v has joined.
15:46:24 <Taneb> Writing parsers is my least favourite part of everything
15:47:29 <FireFly> mroman: wouldn't PUT be more semantically correct maybe?
15:47:43 <FireFly> anyway, so like a fifo over HTTP?
15:51:43 -!- Sprocklem_ has joined.
15:53:16 -!- Sprocklem has quit (Ping timeout: 250 seconds).
15:53:29 -!- Sprocklem_ has changed nick to Sprocklem.
16:00:34 -!- jaboja has joined.
16:08:03 -!- mroman has quit (Quit: Lost terminal).
16:19:23 -!- `^_^v has quit (Ping timeout: 264 seconds).
16:21:27 -!- `^_^v has joined.
16:28:52 -!- zadock has joined.
16:40:16 -!- Lord_of_Life has quit (Excess Flood).
16:42:36 -!- Lord_of_Life has joined.
16:43:28 -!- Treio has joined.
16:49:26 -!- jaboja has quit (Ping timeout: 240 seconds).
16:51:49 -!- AnotherTest has joined.
16:52:11 <zgrep> Taneb: Make your life easier by writing a generator to generate parser generators!
16:52:16 <zgrep> :P
16:56:19 <izabera> `` echo tom marvolo riddle | sed 's/./&\n/g' | sort | tr -d ' \n'
16:56:54 <HackEgo> addeillmmooorrtv
16:56:59 <izabera> `` echo mr tom a dildo lover | sed 's/./&\n/g' | sort | tr -d ' \n'
16:57:00 <HackEgo> addeillmmooorrtv
16:57:01 -!- tromp_ has joined.
17:01:47 -!- tromp_ has quit (Ping timeout: 276 seconds).
17:08:44 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:22:31 <HackEgo> [wiki] [[Talk:Zero Instruction Set Computer]] https://esolangs.org/w/index.php?diff=46383&oldid=46378 * 50.161.94.113 * (+101)
17:22:40 -!- lynn_ has joined.
17:23:04 -!- hppavilion[1] has joined.
17:23:05 -!- lynn_ has changed nick to lynn.
17:28:34 -!- Sprocklem has quit (Ping timeout: 240 seconds).
17:30:34 -!- lynn has quit (Ping timeout: 256 seconds).
17:36:28 -!- Treio has quit (Quit: Leaving).
17:40:57 -!- bb010g has joined.
17:43:22 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
17:45:05 -!- p34k has joined.
17:49:58 -!- hppavilion[1] has joined.
17:51:16 -!- MoALTz__ has joined.
17:52:06 -!- MoALTz has quit (Ping timeout: 256 seconds).
17:52:10 -!- MoALTz__ has changed nick to MoALTz.
17:58:10 -!- tromp_ has joined.
18:02:24 -!- tromp_ has quit (Ping timeout: 250 seconds).
18:04:11 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
18:09:41 -!- jaboja has joined.
18:17:44 -!- mroman has joined.
18:17:58 <mroman> are jimmy fallon and jimmy kimmel twins?
18:18:02 <mroman> I can't tell them apart.
18:19:09 <izabera> oh, so jimmy is the last name
18:19:16 <izabera> this explains everything
18:34:40 -!- Sprocklem has joined.
18:41:16 -!- Phantom_Hoover has joined.
18:54:23 <izabera> i have an idea to check if a process is still alive
18:54:46 <izabera> instead of kill -0 in a loop
18:54:54 <izabera> you open a file in /proc/pid
18:54:59 <izabera> any file will do
18:55:07 <izabera> then in the loop you try to read
18:55:12 <izabera> or seek or do something on that fd
18:55:38 <izabera> if that process dies and another one gets its pid, you're not affected
18:55:45 -!- hppavilion[1] has joined.
18:58:01 <izabera> not seekable :\
19:05:56 -!- spiette has quit (Ping timeout: 276 seconds).
19:10:29 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
19:13:49 -!- hppavilion[1] has joined.
19:25:46 -!- Sprocklem has quit (Ping timeout: 245 seconds).
19:26:43 -!- zadock has quit (Quit: Leaving).
19:30:37 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
19:33:20 -!- hppavilion[1] has joined.
19:47:35 -!- hppavilion[1] has quit (Ping timeout: 260 seconds).
19:48:53 -!- augur has quit (Quit: Leaving...).
19:49:24 -!- spiette has joined.
19:49:40 -!- Sprocklem has joined.
19:49:56 -!- mihow has joined.
19:57:27 <izabera> nothing seems to work on that...
19:57:52 <izabera> even select always returns > 0
19:58:03 -!- J_Arcane has joined.
19:58:42 -!- lynn has joined.
19:58:42 -!- nycs has joined.
19:58:44 -!- bb010g has quit (Quit: Connection closed for inactivity).
19:59:15 -!- carado has quit (Ping timeout: 260 seconds).
20:00:49 <izabera> i can even reopen that fd via /proc/self/fd/x
20:00:58 -!- `^_^v has quit (Ping timeout: 240 seconds).
20:01:11 -!- carado has joined.
20:01:19 <izabera> but reading causes ESRCH
20:01:50 <izabera> so annoying
20:08:47 <izabera> well, reopening and trying to read works
20:09:19 <izabera> how bad is this?
20:09:37 <izabera> i think it's better than looping with kill(pid, 0)
20:18:06 -!- augur has joined.
20:20:34 -!- Sprocklem has quit (Ping timeout: 256 seconds).
20:21:28 -!- hppavilion[1] has joined.
20:22:09 <hppavilion[1]> `tomfoolery
20:22:16 <HackEgo> I have nothing to tell you.
20:22:18 <hppavilion[1]> `ls tmflry
20:22:20 <HackEgo> c++ \ C++ \ cat \ esolang \ esolangs \ fs \ hth \ mapole \ `mislearn \ random number \ the meaning of life \ tomfoolery \ wisdom
20:22:35 <hppavilion[1]> `tomfoolery the meaning of life
20:22:36 <HackEgo> Error 15+9i: All possible responses too controversial.
20:22:50 <hppavilion[1]> Should we change that to the evolutionary interpretation
20:22:51 <hppavilion[1]> ?
20:23:45 <hppavilion[1]> "You are here because some things started reproducing 2.5 billion years ago. Because of logic, the better reproducers tend to reproduce better, and consciousness was just a byproduct. That's where you came from"
20:25:23 -!- heroux has quit (Ping timeout: 264 seconds).
20:25:30 -!- jaboja has quit (Ping timeout: 260 seconds).
20:31:04 -!- heroux has joined.
20:35:09 <fizzie> What's that thing (ESRCH) short for, anyway.
20:35:19 <fizzie> It sounds like an abbreviation of "search", but that seems weird.
20:36:52 -!- heroux_ has joined.
20:36:57 <izabera> Error: no SucH pRoCess + strfry
20:37:26 -!- heroux has quit (Ping timeout: 240 seconds).
20:38:04 -!- heroux_ has changed nick to heroux.
20:38:36 <shachaf> "No process or process group can be found corresponding to that specified by pid."
20:39:16 <fizzie> I guess it's a kind of a search.
20:39:22 <shachaf> Of course, ENOENT could mean "No such file or directory can be found"
20:39:30 <shachaf> So really ESRCH should be reused.
20:44:25 <fizzie> izabera: You could ptrace for a proper non-polling solution, but it's very Linux-specific and there are restrictions on what you can and can't ptrace, plus probably some other quirkiness in tracing.
20:44:42 <izabera> ptrace doesn't work if you're not root
20:44:45 <izabera> i mean
20:44:57 <fizzie> Yes, that's what the "restrictions" bit meant.
20:44:59 <izabera> on recent kernels, ptrace doesn't work on processes you didn't launch if you're not root
20:45:03 <izabera> eh
20:45:06 <izabera> and it's slow
20:45:27 <hppavilion[1]> How should I stylistically add Enums and Bitshifts and stuff to a brainfuck-like language? For important reasons.
20:49:34 <^v> dont ad bitshifts, add something nobody wants like bit reverse
20:50:05 <Taneb> And negative reverse implication!
20:50:23 <fizzie> Huh. There's a (CAP_NET_ADMIN aka root-only) Linux netlink thing that gets multicast notifications on process exit events. Not that this is probably very useful, because CAP_NET_ADMIN.
20:54:18 -!- mroman has quit (Ping timeout: 252 seconds).
20:55:12 -!- XorSwap has joined.
20:56:03 <hppavilion[1]> ^v: Taneb Yeah, I want to do some real dev in this xD
20:56:13 <hppavilion[1]> And I need bitshifts for my plan
20:56:16 <hppavilion[1]> Well, I guess I don't
21:00:01 <hppavilion[1]> If somebody were to implement floating-point in brainfuck
21:00:06 <hppavilion[1]> I would worship them as a god
21:00:58 <shachaf> What about implementing floating point arithmetic in C++ templates?
21:01:10 <shachaf> edwardk did that once, I think.
21:02:08 <b_jonas> hppavilion[1]: could you use a C to brainfuck compiler to compile MPFR or, uh, whatever is that other library that tries to be another implementation of the MPFR interface?
21:03:35 <b_jonas> what is that library by the way?
21:03:54 <b_jonas> hppavilion[1]: alternately, a C++ the brainfuck compiler to compile the boost multiprecision module
21:04:21 <b_jonas> hppavilion[1]: or a C to brainfuck compiler to compile LibTomFloat
21:04:38 <b_jonas> but I think the latter doesn't give precise floats
21:05:52 <izabera> does a c -> bf compiler exist?
21:05:57 <b_jonas> izabera: yes
21:06:06 <izabera> got a link?
21:06:14 <b_jonas> but I don't definitely claim that it can compile any of the above libraries
21:06:21 <b_jonas> you might need some serious work on them
21:06:25 <myname> i thought it was just an experimental stuff
21:06:34 <myname> that can do function calls and the like
21:06:39 <b_jonas> izabera: dunno, ask ais523
21:07:01 <myname> it is linked somewhere on the wiki
21:07:12 <izabera> @tell ais523 hey i heard you know about a c->brainfuck compiler. can you tell me more about it?
21:07:13 <lambdabot> Consider it noted.
21:07:14 <myname> look for c2bf and you will probably succeed
21:07:36 <izabera> ooh
21:07:47 <izabera> how do i delete that message?
21:08:00 <izabera> @tell ais523 found it, thanks <.<
21:08:00 <lambdabot> Consider it noted.
21:14:10 <hppavilion[1]> For the record, my BF-like language for systems programming is mostly just instructions to make programming possible
21:14:19 <hppavilion[1]> E.g. *, which goes to the cell pointed to by the current cell
21:23:44 -!- XorSwap has quit (Ping timeout: 276 seconds).
21:26:40 <izabera> cool.... c2bf dumps core when compiling it...
21:27:04 <myname> go fix it!
21:27:32 <izabera> yeah...
21:28:13 <izabera> wouldn't it be easier to just write a gcc backend?
21:28:30 * izabera has never done that
21:28:43 <myname> go for it
21:29:28 <myname> i'd say calls and jumps are the stuff that is actual work
21:32:20 <fizzie> izabera: What ais523 wrote was a GCC backend.
21:32:21 <b_jonas> izabera: isn't it a gcc backend already (or maybe a clang backend)?
21:32:37 <fizzie> I don't think c2bf is.
21:32:45 <b_jonas> I don't really understand why someone would bother compiling to bf though
21:32:49 <b_jonas> why not to some saner esolang?
21:32:51 <izabera> c2bf is definitely not gcc related
21:32:58 <b_jonas> izabera: nor clang?
21:33:02 <izabera> no
21:33:08 <b_jonas> not even llvm?
21:33:16 <izabera> it predates llvm by 10 years
21:33:20 <b_jonas> ok
21:33:37 <fizzie> I'm not sure if ais523's GCC backend is available anywhere.
21:34:06 <fizzie> I seem to recall it wasn't quite complete.
21:34:15 <izabera> @tell ais523 hey i heard you wrote a gcc backend to generate brainfuck, does that still exist?
21:34:15 <lambdabot> Consider it noted.
21:35:08 <izabera> problem is, it's probably hard for gcc to generate _good_ brainfuck
21:35:09 <fizzie> 2011-01-31 13:22:47 <ais523> I've also done some work on gcc-bf, but it's far from finished
21:35:34 <hppavilion[1]> What would be a good design for a language that compiles to SymbASM T&S (that BF derivative)?
21:41:42 -!- oerjan has joined.
21:42:17 <izabera> there's so much literature on compiling bf and so little on compiling to bf
21:42:53 -!- shikhin_ has joined.
21:43:09 -!- AnotherTest_ has joined.
21:43:18 -!- ski____ has joined.
21:43:27 -!- Sprocklem has joined.
21:43:41 <oerjan> izabera: iirc ais523 has been working on a gcc bf backend
21:43:45 -!- pikhq has joined.
21:44:05 -!- mysanthrop has joined.
21:44:14 <izabera> thanks
21:44:27 -!- diginet_ has joined.
21:46:36 -!- fizzie` has joined.
21:48:12 -!- myname has quit (Disconnected by services).
21:48:18 -!- mysanthrop has changed nick to myname.
21:48:30 -!- AnotherTest has quit (*.net *.split).
21:48:31 -!- Lord_of_Life has quit (*.net *.split).
21:48:31 -!- AlexR42 has quit (*.net *.split).
21:48:32 -!- fizzie has quit (*.net *.split).
21:48:32 -!- Vorpal has quit (*.net *.split).
21:48:33 -!- trn has quit (*.net *.split).
21:48:34 -!- shikhin has quit (*.net *.split).
21:48:35 -!- ocharles_ has quit (*.net *.split).
21:48:36 -!- pikhq_ has quit (*.net *.split).
21:48:36 -!- diginet has quit (*.net *.split).
21:48:37 -!- graue has quit (*.net *.split).
21:48:37 -!- ski has quit (*.net *.split).
21:48:37 -!- fungot has quit (*.net *.split).
21:48:37 -!- zemhill has quit (*.net *.split).
21:48:38 -!- diginet_ has changed nick to diginet.
21:48:38 -!- AnotherTest_ has changed nick to AnotherTest.
21:49:36 -!- Lord_of_- has joined.
21:51:24 -!- Vorpal has joined.
21:51:24 -!- Vorpal has quit (Changing host).
21:51:24 -!- Vorpal has joined.
21:52:19 -!- p34k has quit.
21:52:44 -!- XorSwap has joined.
21:52:51 -!- yorick has quit (Ping timeout: 245 seconds).
21:53:02 -!- yorick has joined.
21:53:02 -!- yorick has quit (Changing host).
21:53:02 -!- yorick has joined.
21:53:03 <oerjan> <HackEgo> 1158) <fizzie> 15:21 .. 15:41 <fizzie> I've got to stop using the IRC input line for short-term notes. <-- have you tried /echo
21:55:53 -!- ais523 has joined.
21:57:01 -!- ocharles_ has joined.
22:07:34 -!- XorSwap has quit (Ping timeout: 252 seconds).
22:08:59 <oerjan> `? izabera
22:09:08 <HackEgo> izabera is a bradyherpetologist. She is probably implemented in bash.
22:10:16 <oerjan> darn, you mean tardyon isn't proper greek?
22:10:33 * oerjan should have noticed tachy- was wrong :(
22:11:32 <oerjan> oh bradyon is a synonym.
22:12:40 <oerjan> and in fact wikipedia seems to prefer that. i guess things are right with the world then.
22:16:11 -!- augur_ has joined.
22:17:27 <shachaf> @metar ENVA
22:17:28 <lambdabot> ENVA 102150Z 30008KT 9999 SCT040 M03/M05 Q0995 RMK WIND 670FT 31014KT
22:17:36 <shachaf> moderately right
22:18:44 -!- spiette has quit (Quit: :qa!).
22:20:38 -!- Lord_of_Life has joined.
22:20:41 -!- pikhq_ has joined.
22:21:33 -!- trn has joined.
22:22:24 <oerjan> or well, "prefer", it was actually moved to "Massive particle".
22:22:56 -!- glowcoil has quit (Ping timeout: 240 seconds).
22:22:56 -!- idris-bot has quit (Ping timeout: 240 seconds).
22:22:56 -!- Lord_of_- has quit (Ping timeout: 240 seconds).
22:22:57 -!- augur has quit (Ping timeout: 240 seconds).
22:22:57 -!- pikhq has quit (Ping timeout: 240 seconds).
22:23:05 <oerjan> @metar KOAK
22:23:06 <lambdabot> KOAK 102153Z 30008KT 10SM SCT200 18/11 A3020 RMK AO2 SLP226 T01830106
22:23:36 <hppavilion[1]> glogbot:
22:23:53 <oerjan> nu wat
22:24:20 -!- glowcoil has joined.
22:30:27 <oerjan> <Taneb> Over, under, and horse <-- i take it those are the ancient greek booleans.
22:31:06 <oerjan> `? hypo
22:31:13 <HackEgo> hypo is potamus
22:31:23 <shachaf> `culprits wisdom/hypo
22:31:32 <oerjan> `learn Hypo is potamus.
22:31:35 <HackEgo> b_jonas
22:31:39 <HackEgo> Learned 'hypo': Hypo is potamus.
22:36:35 <hppavilion[1]> oerjan: hypo is actually tenuse hth
22:36:57 <hppavilion[1]> You can only use a hypo ten times before it wears down; that's linear logic for ya'
22:37:10 -!- gde33 has quit.
22:38:19 * oerjan waves the swatter lazily in hppavilion[1]'s general direction -----###
22:38:50 <hppavilion[1]> oerjan: No worse than the pun you already condoned
22:39:30 <oerjan> that wasn't much of a pun.
22:39:43 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:39:55 -!- XorSwap has joined.
22:39:56 <oerjan> i didn't condone, i corrected.
22:56:36 -!- fizzie` has changed nick to fizzie.
22:56:51 <fizzie> You condid it.
23:03:17 <shachaf> I thought oerjan condoned puns with the swatter.
23:05:43 -!- boily has joined.
23:09:47 -!- MDude has joined.
23:20:46 -!- XorSwap has quit (Quit: Leaving).
23:21:29 -!- nycs has quit (Quit: This computer has gone to sleep).
23:26:04 <hppavilion[1]> ahoily
23:26:14 <boily> hppavellon[1].
23:26:52 <oerjan> halloily
23:27:16 <hppavilion[1]> boily: Say that again. I'm testing something.
23:27:17 <boily> hellœrjan.
23:27:24 <boily> hppavellon[1]?
23:27:26 <boily> hppavellon[1]!
23:27:27 <boily> hppavellon[1].
23:27:27 <hppavilion[1]> Yay!
23:27:29 <hppavilion[1]> It works!
23:27:40 <hppavilion[1]> Now my client should alert me when I get eshelloed!
23:27:50 <boily> itym porthello hth
23:27:51 <hppavilion[1]> Except if you use anything but that style xD
23:28:04 <hppavilion[1]> boily: Ah, yes. porthello.
23:28:05 <boily> I'm pretty consistent when it comes to mangle helloes.
23:28:12 <boily> s/le/ling/
23:28:21 * boily can't conjugate
23:32:39 <oerjan> blame english for having both gerund and infinitive
23:32:54 <oerjan> (norwegian doesn't)
23:33:21 <oerjan> or well, actually
23:33:59 <oerjan> we do, just use them a lot less.
23:34:49 <oerjan> because they're not really seen as a conjugation, but as an entirely separate noun
23:36:28 <oerjan> "An -ing form is termed gerund when it behaves as a verb within a clause (so that it may be modified by an adverb or have an object); but the resulting clause as a whole (sometimes consisting of only one word, the gerund itself) functions as a noun within the larger sentence."
23:36:41 <hppavilion[1]> I want a language with absolutely no syntax rules
23:36:43 <oerjan> i think by that definition, we don't have gerund, as the first part is missing.
23:36:59 <hppavilion[1]> In addition, the only form of output automatically appends the output to the end of the program upon printing
23:37:05 <oerjan> you need to use a preposition phrase instead of an object.
23:37:52 <oerjan> what we have is a verbal noun cognate to the english gerund.
23:38:29 <hppavilion[1]> Someone should make a porn site with a bad language filter, just to troll the universe...
23:39:02 * oerjan blinks
23:39:36 <hppavilion[1]> Just to unravel the laws of physics
23:40:18 * hppavilion[1] should probably install a filter on his stdout (aka keyboard)
23:40:33 <oerjan> just pipe it to /dev/null
23:41:08 <hppavilion[1]> oerjan: Is there /dev/unit?
23:41:27 <hppavilion[1]> or /dev/nottechnicallynullbutprettydarnclose
23:41:28 <oerjan> seems not.
23:41:39 -!- Sprocklem has quit (Remote host closed the connection).
23:41:41 <oerjan> there's /dev/zero
23:41:44 <oerjan> which is different
23:41:47 <hppavilion[1]> oerjan: /dev/one?
23:42:06 <hppavilion[1]> Maybe /dev/i
23:42:48 <hppavilion[1]> /dev/at?
23:42:52 <oerjan> there's /dev/full
23:42:52 <hppavilion[1]> @'
23:42:52 <lambdabot> Maybe you meant: v @ ? .
23:43:01 <hppavilion[1]> oerjan: Which is?
23:43:17 <oerjan> ls /dev
23:43:20 <oerjan> `ls /dev
23:43:23 <hppavilion[1]> `ls /dev
23:43:29 <HackEgo> agpgart \ audio \ audio1 \ audio2 \ audio3 \ audioctl \ console \ core \ dsp \ dsp1 \ dsp2 \ dsp3 \ fd \ full \ kmem \ loop0 \ loop1 \ loop2 \ loop3 \ loop4 \ loop5 \ loop6 \ loop7 \ mem \ midi0 \ midi00 \ midi01 \ midi02 \ midi03 \ midi1 \ midi2 \ midi3 \ mixer \ mixer1 \ mixer2 \ mixer3 \ mpu401data \ mpu401stat \ null \ port \ ptmx \ pts \ ram \
23:43:29 <HackEgo> agpgart \ audio \ audio1 \ audio2 \ audio3 \ audioctl \ console \ core \ dsp \ dsp1 \ dsp2 \ dsp3 \ fd \ full \ kmem \ loop0 \ loop1 \ loop2 \ loop3 \ loop4 \ loop5 \ loop6 \ loop7 \ mem \ midi0 \ midi00 \ midi01 \ midi02 \ midi03 \ midi1 \ midi2 \ midi3 \ mixer \ mixer1 \ mixer2 \ mixer3 \ mpu401data \ mpu401stat \ null \ port \ ptmx \ pts \ ram \
23:43:37 <oerjan> /dev/full always errors out with a disk full error.
23:43:49 <hppavilion[1]> oerjan: Useful.
23:43:59 <oerjan> it was discussed here the other day
23:44:04 <hppavilion[1]> Ah
23:44:35 <hppavilion[1]> What symbol to use for my IRC bot...
23:44:41 <hppavilion[1]> Perhaps ()? Just for fun?
23:44:54 <oerjan> () is this taken
23:44:56 <oerjan> nope
23:45:21 <oerjan> ( this is though
23:45:37 <oerjan> ...of course idris-bot has to be AWOL
23:45:49 <oerjan> but i think it requires the space
23:45:56 <oerjan> ^prefixes
23:46:04 <oerjan> fungot too???????????????
23:46:08 <oerjan> !prefixes
23:46:09 <EgoBot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
23:46:19 <boily> fizzie: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGHGLGLFLFLFFFGHGHGHAAAAAAAAAAAAAfungotAAAAAAAAAAAAAAAAAAAAAAH!
23:46:45 <hppavilion[1]> oerjan: Ah
23:47:00 <oerjan> fire up the fizzignal!
23:47:18 <hppavilion[1]> +walrus
23:47:31 <oerjan> thutubot is rarely here
23:47:39 <hppavilion[1]> How about...
23:47:43 * boily unfolds the fizzie signal lamp on his mapole. the fizzignalamp.
23:47:44 <oerjan> ais523 only joins it on special occasions.
23:48:07 <ais523> indeed
23:48:11 <hppavilion[1]> ಠ_ಠ xD
23:48:19 <ais523> it's not really actively developed
23:48:22 <boily> hppavilion[1]: you could use ¿.
23:48:28 <hppavilion[1]> boily: Perhaps
23:48:41 <hppavilion[1]> Maybe I'll make it activate whenever a message starts with "boily: "
23:48:43 <hppavilion[1]> >:)
23:49:01 <ais523> izabera: (re lambdabot) it still exists but a) was never finished, and b) doesn't work with modern gcc (you need a specific old version)
23:49:12 <oerjan> we _have_ banned bots here before. just so you know.
23:49:18 <hppavilion[1]> oerjan: I figured I shouldn't
23:49:25 <hppavilion[1]> __?
23:50:30 <oerjan> _ subtle.
23:50:47 <oerjan> _subtle
23:51:02 <oerjan> _ subtle _
23:51:08 <oerjan> _subtle_
23:51:17 * oerjan is just checking what his client underlines
23:51:23 <oerjan> only the last one, it seems.
23:51:34 <oerjan> __subtle_
23:51:39 <oerjan> __subtle__
23:51:47 <oerjan> oh and __ is also fine
23:51:59 * oerjan takes no responsibility for other people's clients
23:52:38 <ais523> mine didn't underline any of those
23:52:46 <Phantom_Hoover> ais523, what still exists
23:52:50 <boily> nothing was underlined.
23:53:15 <ais523> it does do bold and italics though
23:53:17 <ais523> Phantom_Hoover: gcc-bf
23:53:23 <ais523> at least, I think it does
23:53:37 <oerjan> boily: fiendish
23:53:45 <boily> testtesttesttesttest
23:54:05 <ais523> hmm, maybe it doesn't
23:54:06 <oerjan> ...a bot whose prefix is a color code.
23:54:15 <ais523> this system was restored from a backup at one point
23:54:17 <oerjan> ...a bot whose prefix is an _invisible_ color code.
23:54:24 <ais523> and it might not have been in the backup due to being too large
23:54:44 <oerjan> (i think i should ban the latter. or perhaps ban myself for suggesting it.)
23:55:17 <boily> I'm not sure oerjan banning himself is a good idea...
23:55:49 <oerjan> OKAY
23:56:22 * oerjan feels a small temptation to demonstrate but thinks it has been done.
23:56:28 <ais523> I know I've sent #esoteric at least the patches against gcc and newlib before now, though
23:56:30 * ais523 checks logs
23:58:27 <ais523> Vorpal: do you still happen to have a copy of gcc-bf, by any chance?
2016-02-11
00:03:52 <ais523> hmm, it looks like I have the last-but-one version of a few of the files (I configured Emacs to save the last-but-one version of each file I edit in an entirely separate directory tree, to help recover from issues where I accidentally delete an entire directory tree)
00:03:54 <ais523> but not all of them
00:05:13 <Sgeo> I don't understand Nomyx's claim "This is the first complete implementation of a Nomic game on a computer. "
00:05:14 <ais523> actually, maybe all of them
00:05:18 <Sgeo> What about PerlNomic?
00:05:27 <oerjan> and Schemenomic
00:05:50 <oerjan> Sgeo: historical ignorance hth
00:06:21 -!- tromp_ has joined.
00:07:16 <ais523> would be nice to get the actual latest verison though
00:07:19 <hppavilion[1]> ais523: If you have issues like that regularly you have a problem hth
00:07:36 <ais523> izabera: apparently I don't have a full version on my most recent computer
00:07:46 <hppavilion[1]> Sgeo: Lying and false advertising hth
00:07:53 <ais523> hppavilion[1]: I don't, I back things up regularly; /but/ gcc-bf wasn't included in some of my older backups because disks were smaller back then
00:08:28 <ais523> we're talking about a project that was last worked on in 2008
00:09:50 <ais523> and it just wouldn't fit onto the backup disk at the same time as everything else (because for some reason I didn't just backup the diffs against gcc)
00:20:55 -!- augur_ has changed nick to augur.
00:25:42 -!- bb010g has joined.
00:29:14 -!- tromp_ has quit (Remote host closed the connection).
00:34:47 <fizzie> The server my standard fungot load script is trying to use seems to not be answering.
00:35:47 -!- fungot has joined.
00:41:10 <hppavilion[1]> fizzie: There's fungot
00:41:10 <fungot> hppavilion[1]: and when the loop ended
00:41:22 <fizzie> Very deep.
00:41:34 <hppavilion[1]> fungot: Y-Y-yes? What happened to her? Did the out-of-memory monster get her?
00:41:34 <fungot> hppavilion[1]: i'm also running bfbot.) .b.) does not evaluate anything after the... in ( ( fnord 3) is not
00:42:58 <fizzie> A Funge bot running a brainfuck bot inside it.
00:43:06 <fizzie> That's bizarre.
00:43:09 <fizzie> fungot: You're bizarre.
00:43:09 <fungot> fizzie: every time the fnord came, we thought the government took him out after all.
00:43:19 <fizzie> Bizarre and politically active.
00:51:41 -!- jaboja has joined.
00:56:03 -!- tromp_ has joined.
01:01:34 <boily> fungot: o hai!
01:01:34 <fungot> boily: my complaint of " why don't i unask the question, a moment.
01:08:01 <hppavilion[1]> iijm, or has fungot gotten less coherent recently?
01:08:01 <fungot> hppavilion[1]: for example to be similar to al* petrofsky's proposal for srfis a few years ago
01:08:15 <ais523> hppavilion[1]: probably a ^style thing
01:08:19 <ais523> ^style
01:08:19 <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
01:08:27 <ais523> ^style europarl
01:08:27 <fungot> Selected style: europarl (European Parliament speeches during approx. 1996-2006)
01:08:33 <ais523> fungot: are you more coherent like this?
01:08:35 <fungot> ais523: since sweden is not taking this disquiet felt by the various levels of government. it is better than a bad treaty. instead we should be in all of the political problems are resolved and people become more interested in the best position to do so, and then cram everything it wants into its own decision-making process, the status envisaged would also be a condition which must be protected when it is a proposal for a decis
01:12:01 <boily> olsner: Sweden does not take disquiet felts. how does that make you feel?
01:12:33 <olsner> frankly it's a disgrace, but I feel like the problem is out of my hands
01:13:27 <oerjan> no respect for other people's yurt
01:15:46 * oerjan wonders if the pun was too subtle
01:17:01 <boily> there was a pun?
01:17:05 * boily pokes shachaf
01:17:13 <shachaf> ouch
01:17:19 <boily> shachaf: care to explain please?
01:17:20 <shachaf> more of a mapole than a poke if you ask me
01:17:37 <boily> I already mapoled you by accident once.
01:19:22 <oerjan> seriously, just look up "yurt" hth
01:19:40 * oerjan weeps over the dissected body
01:20:08 <boily> “A traditional yurt [...] tent [...] felt...”
01:20:16 * boily automapoles himself
01:20:20 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
01:20:39 <oerjan> fascinating
01:21:38 <\oren\> 今ボアリは!
01:22:18 <boily> コンボレンは!
01:24:47 <HackEgo> [wiki] [[Talk:NRSRSSOMN]] N https://esolangs.org/w/index.php?oldid=46385 * 50.161.94.113 * (+47) Created page with "What about a NRSRSSOMN-3 with [] instead of ()?"
01:31:20 -!- lynn has quit (Ping timeout: 250 seconds).
01:45:11 -!- jaboja has quit (Remote host closed the connection).
01:57:40 -!- boily has quit (Quit: EQUILATERAL CHICKEN).
02:11:11 -!- heroux_ has joined.
02:11:13 -!- mihow has quit (Quit: mihow).
02:14:26 -!- Sgeo has quit (Ping timeout: 240 seconds).
02:15:30 -!- myname has quit (*.net *.split).
02:15:30 -!- heroux has quit (*.net *.split).
02:15:31 -!- coppro has quit (*.net *.split).
02:15:34 -!- heroux_ has changed nick to heroux.
02:16:11 -!- coppro has joined.
02:16:43 -!- myname has joined.
02:18:54 -!- Sgeo has joined.
02:23:12 -!- Alcest has joined.
02:31:47 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:48:38 -!- Sprocklem has joined.
02:53:46 -!- ais523 has quit (Ping timeout: 240 seconds).
03:12:26 <HackEgo> [wiki] [[CASTLE]] https://esolangs.org/w/index.php?diff=46386&oldid=45957 * Quintopia * (+361) /* Examples */
03:12:52 <HackEgo> [wiki] [[CASTLE]] M https://esolangs.org/w/index.php?diff=46387&oldid=46386 * Quintopia * (-2) /* Examples */
03:13:30 <HackEgo> [wiki] [[CASTLE]] M https://esolangs.org/w/index.php?diff=46388&oldid=46387 * Quintopia * (+0) /* Examples */
03:19:46 -!- hppavilion[1] has joined.
03:20:22 -!- shikhin_ has changed nick to shikhin.
03:25:45 <hppavilion[1]> Fueue⁂'s example program works :)
03:26:04 <hppavilion[1]> + 20 5 print
03:28:37 <HackEgo> [wiki] [[CASTLE]] https://esolangs.org/w/index.php?diff=46389&oldid=46388 * Quintopia * (-15) /* Examples */
03:31:59 <HackEgo> [wiki] [[CASTLE]] https://esolangs.org/w/index.php?diff=46390&oldid=46389 * Quintopia * (+0) /* Examples */
03:41:57 <oerjan> `unidecode ⁂
03:42:03 <HackEgo> ​[U+2042 ASTERISM]
03:42:21 <oerjan> hppavilion[1]: now port my bf interpreter hth
04:07:43 <hppavilion[1]> https://en.wikipedia.org/wiki/Panda_%28plant%29
04:07:59 <hppavilion[1]> oerjan: Port what to where? Fueue⁂?
04:10:45 <hppavilion[1]> https://en.wikipedia.org/wiki/Category:Individual_giant_pandas
04:11:13 <hppavilion[1]> You know your species is in trouble when it has something like that
04:16:02 <hppavilion[1]> https://en.wikipedia.org/wiki/Panda_cow
04:16:56 <hppavilion[1]> https://en.wikipedia.org/wiki/Pandas_%28software%29
04:17:37 <hppavilion[1]> https://en.wikipedia.org/wiki/Giant_panda#Uses_and_human_interaction
04:17:40 <hppavilion[1]> "Uses"
04:21:21 <hppavilion[1]> I like pandas suddenly
04:21:45 <hppavilion[1]> But not as much as walruses
04:23:07 <oerjan> walruses, the pandas of the sea
04:23:32 <oerjan> <hppavilion[1]> oerjan: Port what to where? Fueue⁂? <-- of course
04:23:33 <hppavilion[1]> Pretty much
04:27:32 <hppavilion[1]> oerjan: Why YOUR brainfuck interpreter?
04:31:42 <oerjan> well you're welcome to write your own BF interpreter in Fueue to port hth
04:32:30 <hppavilion[1]> oerjan: Oh, your BF interpreter was written IN fueue?
04:32:45 <oerjan> of course. it's on the wiki page.
04:32:50 <hppavilion[1]> Oh
04:32:59 <hppavilion[1]> tdh(etydhm)
04:33:33 <hppavilion[1]> Somebody should make a non-primitive-recursive acronym
04:33:41 <oerjan> even though you ...
04:34:13 <oerjan> you didn't break the rule against making d mean don't/didn't, did you
04:34:41 <oerjan> (hidden negatives in acronyms are scow)
04:34:48 <hppavilion[1]> Yes, yes they are
04:35:03 <hppavilion[1]> shachaf: Does your client go off whenever somebody says "scow"
04:35:39 <oerjan> he's a teeny bit idle, me thinks
04:35:46 <hppavilion[1]> "Computational Class" in the Fueue article isn't very well-placed
04:35:53 <oerjan> wat
04:36:08 <hppavilion[1]> oerjan: Because it's right under your BF interpreter, thus stealing the proof's thunder
04:37:18 <oerjan> well i wrote both so who cares
04:37:38 <oerjan> the proof is probably easier to understand
04:38:12 <hppavilion[1]> oerjan: Ah, true, true
04:38:38 <oerjan> and was a prerequisite for understanding how to write the interpreter
04:38:41 -!- Sgeo_ has joined.
04:39:58 <hppavilion[1]> Ah
04:40:16 <oerjan> the CPS idea, as well as how to synchronize things
04:40:18 <hppavilion[1]> oerjan: I remember somebody saying there was a big argument on the wiki over whether or not a quineless language would be TC
04:40:31 <oerjan> yes
04:40:32 -!- Sgeo has quit (Ping timeout: 276 seconds).
04:40:37 <oerjan> imo it can.
04:41:02 <pikhq_> Well sure. Who says the language has any sort of IO capabilities?
04:41:14 <oerjan> because TC doesn't say anything about output needing to be easy to control
04:41:32 <pikhq_> A language which cannot output any valid strings which are in that language can still be TC, but certainly won't have quines.
04:41:59 <hppavilion[1]> pikhq_: Yes, I agree
04:42:20 <hppavilion[1]> oerjan: I was wondering if you knew exactly where that argument was xD
04:42:24 <oerjan> however, if you can translate any IO-using program with the same alphabet to your language, _then_ it must have a quine.
04:42:33 <hppavilion[1]> I'm feeling like reading some people being wrong
04:43:25 <hppavilion[1]> pikhq_: A language written only using non-unicode characters?
04:43:42 <hppavilion[1]> Then, of course, you have the picture-based language
04:43:49 <hppavilion[1]> How is THAT Expected to quine?
04:44:10 <hppavilion[1]> BTW, the example program for fueue*** is + 20 5 print
04:47:37 <oerjan> dammit, i know the page but it has a unicode name so i don't know how to search for it
04:48:29 <hppavilion[1]> http://esolangs.org/wiki/User_talk:Smjg
04:48:58 <oerjan> oh that one too
04:50:22 <hppavilion[1]> I figured out a way to represent a C-like language with Regex, I think
04:50:57 <hppavilion[1]> Though now that I think about it, nesting may be an... wait, no it isn't
04:52:55 <hppavilion[1]> Well, it can half-recognize it, at least
04:54:36 <hppavilion[1]> The idea was to use `...` (quotes) instead of matched brackets
04:54:37 <oerjan> depends on your regexes, i think
04:54:54 <hppavilion[1]> And nested things are done with backslashes
04:55:25 <oerjan> ...have you looked at ///
04:55:27 <hppavilion[1]> CHALLENGE: Write a TC language with an FSM parser
04:55:35 <hppavilion[1]> oerjan: Occasionally
04:55:38 <oerjan> you've been here long enough that you must have
04:55:44 <hppavilion[1]> It's my favorite URL
04:55:45 <pikhq_> oerjan: "Regular expression', surely, not PCRE. :)
04:56:28 <oerjan> does P stand for perl or posix
04:56:30 <hppavilion[1]> I would like to see a high-level language based on string substitution ;)
04:56:40 <hppavilion[1]> oerjan: P''
04:56:44 <hppavilion[1]> hth
04:58:43 <oerjan> hppavilion[1]: https://esolangs.org/wiki/Jot
04:59:07 <hppavilion[1]> oerjan: Yes?
04:59:41 <hppavilion[1]> I'm thinking more like Thue or ///
04:59:55 <oerjan> it's parser is trivial hth
05:00:03 <oerjan> i suppose /// too
05:00:36 <oerjan> although sometimes the program halts due to non-matching /
05:01:07 -!- Melvar` has joined.
05:01:08 <oerjan> hm right, Thue probably too...
05:01:28 <hppavilion[1]> Ah
05:01:46 <hppavilion[1]> oerjan: TC language with a decision tree parser >:)
05:01:48 <oerjan> all of them have no nesting in the grammar afair
05:02:14 <hppavilion[1]> (Yes, yes, I know. Almost certainly impossible)
05:02:43 <oerjan> hppavilion[1]: no, it's actually trivial but it's on the page i was trying to find earlier...
05:02:57 <hppavilion[1]> Wait, really?
05:03:36 -!- Melvar has quit (Ping timeout: 256 seconds).
05:03:40 <hppavilion[1]> I mean I guess the language with the instruction `bf` (interpret brainfuck) has a DT parser...
05:03:58 <hppavilion[1]> Debatably
05:04:07 <hppavilion[1]> Depends on if you count reparsing
05:04:09 <hppavilion[1]> Coparsing?
05:04:22 <oerjan> `unicode SCRIPT CAPITAL L
05:04:28 <hppavilion[1]> I know.
05:04:31 <HackEgo> ​ℒ
05:04:53 <hppavilion[1]> I visited that page recently
05:04:53 <oerjan> https://esolangs.org/wiki/%E2%84%92 hth
05:05:46 <oerjan> obviously, the one legal program can be parsed with a decision tree
05:06:22 <hppavilion[1]> Damn
05:06:25 <hppavilion[1]> Anything lower?
05:06:38 <hppavilion[1]> I guess the = machine is lower
05:06:42 <oerjan> SKEPTICAL
05:06:46 <hppavilion[1]> But still L-complete
05:08:29 <hppavilion[1]> oerjan: I suppose the only thing lower than the = machine is the NOPE machien
05:08:32 <hppavilion[1]> *machine
05:08:54 <oerjan> OKAY
05:09:41 <hppavilion[1]> oerjan: What do you think would be ideal for a high-level Thue?
05:13:20 <oerjan> i think that's an oxymoron.
05:14:29 <oerjan> or maybe that SNOBOL thing i've heard a little about.
05:15:11 <oerjan> i mean, if it's string-based with no structure, how can it be high-level
05:15:36 <oerjan> and if it has structure, then you've got TCL
05:15:40 <hppavilion[1]> oerjan: Well, a high-level string substitution-based language
05:15:46 <hppavilion[1]> That isn't sed
05:16:21 <oerjan> i suppose you could use a CF-grammar...
05:16:45 <oerjan> to recognize what do substitute.
05:16:57 <oerjan> *to
05:18:01 <oerjan> still feels oxymoronic
05:20:49 <hppavilion[1]> oerjan: U callin me a moron, m8?
05:21:29 <hppavilion[1]> IMHO, wikipedia shouldn't have citations on mathematics articles.
05:21:40 <hppavilion[1]> At least, not in the explanation of what it's all about
05:21:41 <oerjan> U so moronic you don't deserve the oxygen, is wat i'm saying
05:22:00 <hppavilion[1]> aND NOW THERE'S A CAT IN THEW AY OF MY SCREEN
05:22:22 <hppavilion[1]> Oh, caps lock
05:22:27 <oerjan> inline citations are the Law (TM)
05:22:43 <oerjan> although not so much in the intro.
05:23:00 <hppavilion[1]> oerjan: But wikipedia shouldn't NEED citations in mathematics. Math is true whether you cite it or not.
05:23:12 <hppavilion[1]> Unless, y'know, the proof is really really long
05:23:14 * oerjan is finally starting to learn how to make them
05:23:21 <hppavilion[1]> Like, wikipedia-sized
05:23:42 <oerjan> hppavilion[1]: [citation needed]
05:24:04 -!- Melvar` has quit (Read error: Connection reset by peer).
05:24:12 * oerjan cuts off the oxygen supply to hppavilion[1]'s part of the channel
05:24:16 <hppavilion[1]> oerjan: Hitler was a bad person^[citation needed]^[citation needed]^[citation needed]^[citation needed]...
05:24:25 <hppavilion[1]> `? #esoteric
05:24:30 <HackEgo> ​#esoteric is the only channel that exists. monqy is its centroïd. It's about 30 m (100 ft) across.
05:24:39 -!- Melvar` has joined.
05:24:49 <hppavilion[1]> Is it really big enough for air ducts and airtight chambers?
05:26:27 <hppavilion[1]> `le/rn #programming/No such channel. See `? #esoteric
05:26:34 <HackEgo> Learned «#programming»
05:27:08 <oerjan> hppavilion[1]: https://en.wikipedia.org/wiki/Wikipedia:You_don%27t_need_to_cite_that_the_sky_is_blue
05:27:39 <pikhq_> [citation needed]
05:28:11 <oerjan> "Ideally, common sense would always be applied but Wiki-history shows this is unrealistic."
05:28:46 <hppavilion[1]> https://en.wikipedia.org/w/index.php?title=Finger&diff=prev&oldid=166357603
05:29:17 <hppavilion[1]> oerjan: Somebody needs to blanket that article with [citation needed]s
05:29:26 <hppavilion[1]> `? citation
05:29:28 <HackEgo> citation? ¯\(°​_o)/¯
05:29:34 <hppavilion[1]> `le/rn citation/needed
05:29:39 <HackEgo> Learned «citation»
05:29:56 <hppavilion[1]> `tomfoolery #esoteric
05:29:58 <HackEgo> I must confess, I know not of what you are speaking.
05:30:15 <oerjan> https://en.wikipedia.org/wiki/Wikipedia:You_do_need_to_cite_that_the_sky_is_blue
05:30:32 <shachaf> hppavilion[1]: No, why would it?
05:30:45 <hppavilion[1]> shachaf: ?
05:30:49 <hppavilion[1]> What are you referring to?
05:31:00 <shachaf> scow
05:31:03 <hppavilion[1]> Ah
05:31:06 -!- Melvar`` has joined.
05:31:06 <hppavilion[1]> Not sure
05:31:19 <hppavilion[1]> My thing alerts me whenever someone says "walrus"
05:31:21 <hppavilion[1]> *client
05:31:44 <hppavilion[1]> `misle/rn #esoteric/#esoteric is the channel you are currently on, unless HackEgo's spreading. We mostly chat about esolangs, or at least in theory.
05:31:47 <HackEgo> Was lied to about «#esoteric»
05:31:52 -!- Melvar` has quit (Ping timeout: 250 seconds).
05:31:53 <hppavilion[1]> `? #esoteric
05:31:54 <HackEgo> ​#esoteric is the only channel that exists. monqy is its centroïd. It's about 30 m (100 ft) across.
05:32:01 <hppavilion[1]> `tomfoolery #esoteric
05:32:02 <HackEgo> ​#esoteric is the channel you are currently on, unless HackEgo's spreading. We mostly chat about esolangs, or at least in theory.
05:32:48 <oerjan> `cat bin/?
05:32:49 <HackEgo> ​#!/bin/sh \ topic=$(echo "$1" | lowercase | sed "s/noo\+dl/nooodl/;s/ *$//") \ topic1=$(echo "$topic" | sed "s/s$//") \ cd wisdom \ if [ \( "$topic1" = "ngevd" \) -a \( -e ngevd \) ]; \ then cat /dev/urandom; \ elif [ -e "$topic" ]; \ then cat "$topic" | rnooodl; \ elif [ -e "$topic1" ]; \ then cat "$topic1" | rnooodl; \
05:33:05 <oerjan> hm right
05:33:30 <hppavilion[1]> `? tom
05:33:31 <HackEgo> tom? ¯\(°​_o)/¯
05:33:37 <hppavilion[1]> `tomfoolery to
05:33:38 <HackEgo> I must confess, I know not of what you are speaking.
05:33:40 <hppavilion[1]> `tomfoolery tom
05:33:41 <HackEgo> I must confess, I know not of what you are speaking.
05:34:05 <hppavilion[1]> `ls tmflry
05:34:06 <HackEgo> c++ \ C++ \ cat \ esolang \ esolangs \ #esoteric \ fs \ hth \ mapole \ `mislearn \ random number \ the meaning of life \ tomfoolery \ wisdom
05:34:25 <hppavilion[1]> `tomfoolery cat
05:34:26 <HackEgo> A cat is an animal with four legs. It's nice to pet, especially when it's a baby cat, called a kitten. Or it's the unix "cat" command. It takes a filename (or many) and prints the contents of that (those) file(s).
05:35:15 <hppavilion[1]> `? cat
05:35:16 <HackEgo> Cats are cool, but should be illegal.
05:35:29 <shachaf> I thought Cat was the category of categories and functors.
05:35:44 <hppavilion[1]> perhaps `le/rn cat/Cats are cool, but should be illelaksjfa;oiesjfaseoiu;AKJDFOAIELKAJOEIU203RUIVMM
05:35:58 <shachaf> Look.
05:36:07 <shachaf> wisdom isn't a database of lies
05:36:08 <hppavilion[1]> Looking
05:36:18 <shachaf> Whether something is true is irrelevant.
05:36:26 <hppavilion[1]> shachaf: Yes, it is, that's why we created `tomfoolery
05:38:44 -!- bb010g has quit (Quit: Connection closed for inactivity).
05:41:35 <hppavilion[1]> "If the alternate proposition merits inclusion in the article under other policies and guidelines it should of course be included, but it should in no way be given greater prominence because it is sourced."
05:41:40 <hppavilion[1]> --WIKIPEDIA
05:41:49 <hppavilion[1]> , 20SOMETHING
05:55:10 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
06:18:46 <izabera> so annoying, even googling llvm-bf leads to stuff like https://github.com/nojb/llvm-bf aka brainfuck compilers, not compilers to brainfuck........
06:20:08 -!- Melvar has joined.
06:22:34 -!- Melvar`` has quit (Ping timeout: 252 seconds).
06:43:31 <shachaf> There is http://www.xanxys.net/hs2bf/
06:43:47 <izabera> there's still a problem though
06:44:00 <izabera> they compiled an alien language to brainfuck
06:45:30 <shachaf> it's p. close to haskell hth
06:45:59 <izabera> haskell is eye-gouging
06:46:10 -!- tjt263_ has quit (Read error: Connection reset by peer).
06:46:29 * izabera can't learn that
06:47:34 <shachaf> i,i gains kell until end of turn
06:47:42 -!- tjt263_ has joined.
06:48:34 -!- perrier_ has quit (Remote host closed the connection).
06:49:20 <shachaf> Anyway if you don't like Haskell you can use one of its intermediate languages.
06:51:21 -!- perrier_ has joined.
06:53:30 <izabera> ok let me learn a haskell...
06:54:27 <izabera> how hard can it be
06:54:35 <izabera> and btw haskell qualifies as esoteric
07:00:09 <\oren\> nah, there's a a secret syntax allowing you to write it like an imperative language
07:00:24 <izabera> ;-; liar
07:00:28 -!- lynn has joined.
07:01:20 <\oren\> http://learnyouahaskell.com/input-and-output
07:01:35 <\oren\> scroll down ad see the "do" block.
07:01:49 <izabera> wait i was still here http://learnyouahaskell.com/starting-out
07:02:12 * oerjan swats \oren\ for sabotaging the assimilation process -----###
07:02:13 * izabera slow reader
07:02:29 -!- tjt263_ has quit (Read error: Connection reset by peer).
07:02:57 <izabera> what does prelude mean?
07:03:13 <oerjan> Prelude is the default imported module
07:04:07 -!- tjt263_ has joined.
07:04:42 <izabera> ok so /= is != because we want to be weird so we change != to /=
07:05:14 <oerjan> nah haskell just inherits from a different tradition
07:05:40 <izabera> of languages that want to be weird so they change != to /=
07:06:37 <shachaf> != is the weird one
07:06:38 <EgoBot> How exciting!
07:07:00 <shachaf> What's with "!"? Why does that mean "not"?
07:07:04 <shachaf> !=
07:07:04 <EgoBot> How exciting!
07:08:16 <\oren\> @hoogle itoa
07:08:17 <lambdabot> Graphics.Rendering.OpenGL.GL.PixelRectangles.PixelMap IToA :: PixelMapTarget
07:08:17 <lambdabot> Network.HTTP.Base uriToAuthorityString :: URI -> String
07:08:23 <\oren\> idiots
07:08:26 <oerjan> back in 1989 C wasn't the universal syntax it is now
07:08:33 <\oren\> why is there no itoa
07:08:43 <oerjan> > show 10
07:08:45 <lambdabot> "10"
07:08:57 <\oren\> @hoogle Int -> String
07:08:58 <lambdabot> Test.QuickCheck.Text number :: Int -> String -> String
07:08:58 <lambdabot> Test.QuickCheck.Text short :: Int -> String -> String
07:08:58 <lambdabot> Language.Haskell.Pretty prettyPrint :: Pretty a => a -> String
07:09:01 <oerjan> because there's a more general function.
07:09:18 <shachaf> :t showIntAtBase
07:09:20 <lambdabot> (Integral a, Show a) => a -> (Int -> Char) -> a -> ShowS
07:09:25 <pikhq_> :t show
07:09:27 <\oren\> @hoogle String -> Maybe Int
07:09:27 <lambdabot> Show a => a -> String
07:09:28 <lambdabot> Network.BSD ifNameToIndex :: String -> IO (Maybe Int)
07:09:28 <lambdabot> Test.HUnit.Base Label :: String -> Node
07:09:28 <lambdabot> Network.CGI.Protocol maybeRead :: Read a => String -> Maybe a
07:09:55 <\oren\> @hoogle String -> Int
07:09:55 <lambdabot> Test.HUnit.Base Label :: String -> Node
07:09:55 <lambdabot> Test.QuickCheck.Test labelPercentage :: String -> State -> Int
07:09:55 <lambdabot> Prelude error :: [Char] -> a
07:10:02 -!- tromp_ has quit (Remote host closed the connection).
07:10:16 <\oren\> whar is mai scanf?
07:12:01 <oerjan> > read "10" :: Int
07:12:03 <lambdabot> 10
07:12:39 <\oren\> @t read
07:12:40 <lambdabot> Maybe you meant: tell thank you thanks thesaurus thx tic-tac-toe ticker time todo todo-add todo-delete type v @ ? .
07:12:52 <\oren\> :t read
07:12:53 <lambdabot> Read a => String -> a
07:13:00 <\oren\> cool
07:13:49 <\oren\> > read Int "10"
07:13:51 <lambdabot> Not in scope: data constructor ‘Int’
07:13:51 <lambdabot> Perhaps you meant one of these:
07:13:51 <lambdabot> ‘In’ (imported from Lambdabot.Plugin.Haskell.Eval.Trusted),
07:14:27 <\oren\> @lambdabot you liar
07:14:27 <lambdabot> Unknown command, try @list
07:15:00 <\oren\> > Read Int "10"
07:15:02 <lambdabot> Not in scope: data constructor ‘Read’
07:15:02 <lambdabot> Perhaps you meant one of these:
07:15:02 <lambdabot> variable ‘read’ (imported from Prelude),
07:15:14 <\oren\> > (Read Int) "10"
07:15:16 <lambdabot> Not in scope: data constructor ‘Read’
07:15:17 <lambdabot> Perhaps you meant one of these:
07:15:17 <lambdabot> variable ‘read’ (imported from Prelude),
07:15:41 <\oren\> rrgh how do i pass a type into read
07:16:18 <\oren\> > read 10
07:16:21 <lambdabot> Could not deduce (Num String) arising from the literal ‘10’
07:16:21 <lambdabot> from the context (Read a)
07:16:21 <lambdabot> bound by the inferred type of it :: Read a => a
07:16:24 <\oren\> > read "10"
07:16:27 <lambdabot> *Exception: Prelude.read: no parse
07:16:42 <\oren\> wait what
07:16:51 <izabera> seeing an experienced programmer struggling with this is pretty depressing
07:16:57 <\oren\> > read "10" :: Int
07:16:59 <lambdabot> 10
07:17:01 <\oren\> OH
07:17:09 <\oren\> :: isn't a comment marker
07:17:34 <\oren\> it's how you pass a type to something
07:17:58 <\oren\> > read :: Int "10"
07:17:59 <lambdabot> ‘Int’ is applied to too many type arguments
07:18:00 <lambdabot> In an expression type signature: Int "10"
07:18:00 <lambdabot> In the expression: read :: Int "10"
07:18:13 <\oren\> > (read :: Int) "10"
07:18:15 <lambdabot> Couldn't match expected type ‘[Char] -> t’ with actual type ‘Int’
07:18:15 <lambdabot> The function ‘read :: Int’ is applied to one argument,
07:18:15 <lambdabot> but its type ‘Int’ has none
07:18:48 <\oren\> > (read :: (String -> Int)) "10"
07:18:51 <lambdabot> 10
07:18:54 <\oren\> AHA
07:19:41 <\oren\> so I'll just readInt = read :: (String -> Int)
07:19:54 <\oren\> > readInt = read :: (String -> Int)
07:19:57 <lambdabot> <hint>:1:9: parse error on input ‘=’
07:20:05 <\oren\> > readInt <- read :: (String -> Int)
07:20:07 <lambdabot> <no location info>:
07:20:07 <lambdabot> not an expression: ‘readInt <- read :: (String -> Int)’
07:20:20 <\oren\> GRR
07:20:32 <b_jonas> \oren\: @let if you want it persistently, otherwise let { ... } in
07:21:04 <\oren\> > let { readInt = read :: (String -> Int) } in {readInt "10"}
07:21:06 <lambdabot> <hint>:1:1:
07:21:06 <lambdabot> parse error in let binding: missing expression after 'in'
07:21:20 <\oren\> > let { readInt = read :: (String -> Int) } in readInt "10"
07:21:22 <lambdabot> 10
07:21:33 <b_jonas> yes, although there should be a semicolon before the close brace
07:21:37 <b_jonas> but it's optional
07:22:40 <oerjan> even the braces are optional
07:23:08 <b_jonas> yes, but that's evil
07:23:14 <b_jonas> and can lead to ambiguities and stuff
07:23:19 <b_jonas> don't leave them off
07:23:23 <oerjan> not with let ... in ...
07:23:48 <oerjan> i almost never need braces for one-liners
07:23:52 <\oren\> If i do `` return read s '' from a function declared to return an Int, will it know automatically?
07:24:18 <izabera> does ghci use readline?
07:24:21 <b_jonas> it's a matter of style, but I hate the Haskell indenting rules, so I always write the braces
07:24:22 <oerjan> except that's not what you use return for in haskell
07:24:34 <b_jonas> izabera: oh, good question, that reminds me,
07:24:34 <oerjan> izabera: it uses a readline clone called haskeline
07:24:51 <b_jonas> for gnuplot on windows, how do you ask it not to use readline even if it's started interactively?
07:24:59 <oerjan> which is BSD licensed or such
07:25:10 <b_jonas> (or whatever readline-like library it uses)
07:25:17 <b_jonas> (maybe editline)
07:25:36 <b_jonas> wait, I should ask #gnuplot
07:25:40 <oerjan> bsd3 it seems http://hackage.haskell.org/package/haskeline
07:25:50 * izabera glad it supports vi bindings
07:26:44 <b_jonas> Maybe I should redirect its stdin.
07:27:43 <b_jonas> like cat | gnuplot
07:27:46 <b_jonas> I'll try that
07:27:59 <izabera> didn't you say windows?
07:29:39 -!- atehwa has joined.
07:30:00 <oerjan> izabera: oh by coincidence i just found this tip http://trac.haskell.org/haskeline/wiki/UsingTmux
07:30:09 <oerjan> er
07:30:19 <oerjan> just in case you're also using tmux
07:30:29 <izabera> wasn't using tmux right now but thanks :p
07:31:04 <izabera> > drop (1 `drop` [1,2] !! 0) "abcde" -- behold my haskell mastery
07:31:06 <lambdabot> "cde"
07:31:15 <oerjan> \oren\: return in haskell is deceptively named for people used to other languages.
07:31:26 <oerjan> izabera: fancy
07:31:47 <izabera> ikr
07:35:37 <izabera> does 'a'..'z' use my current locale or is it always ascii?
07:35:43 -!- tjt263_ has quit (Read error: Connection reset by peer).
07:35:46 <oerjan> > 1 `drop` [1,2] !! 0 `drop` "abcde"
07:35:48 <lambdabot> "cde"
07:35:51 <oerjan> izabera: always ascii
07:35:56 <izabera> disappointed
07:36:43 <izabera> > 'è'
07:36:45 <lambdabot> '\232'
07:36:46 <izabera> ew
07:36:59 <oerjan> > var "è"
07:37:01 <lambdabot> è
07:37:44 <myname> how is having always the same result disappointing?
07:37:55 <oerjan> izabera: quoted chars and strings are in portable format.
07:37:57 -!- tjt263_ has joined.
07:38:14 <oerjan> (as _should_ everything given by show)
07:38:56 <oerjan> however, putStr will use locale, i think.
07:38:59 <izabera> > '乐'
07:39:01 <lambdabot> '\20048'
07:39:06 <izabera> that's awful..
07:39:09 <oerjan> (that isn't available in lambdabot though)
07:39:42 <oerjan> izabera: try putStr "\20048" in GHCi
07:39:56 <izabera> that's not the point
07:40:05 <myname> what is?
07:40:31 <izabera> nothing -.-
07:40:47 <myname> well
07:41:31 <myname> i see, you are very open towards things you do not know
07:41:47 <oerjan> izabera: it would be dangerous for the meaning of expressions to change with locale, because laziness means they might not be evaluated when you think
07:42:19 <myname> also, it wouldn't be purd
07:42:19 <izabera> myname: i'm open, otherwise i wouldn't be reading this thing
07:42:33 <oerjan> so what if you used setEncoding in between (although that takes a file handle anyway)
07:42:37 <oerjan> um
07:42:44 <oerjan> @hoogle hSetEncoding
07:42:46 <lambdabot> System.IO hSetEncoding :: Handle -> TextEncoding -> IO ()
07:42:46 <lambdabot> GHC.IO.Handle hSetEncoding :: Handle -> TextEncoding -> IO ()
07:42:52 <izabera> what is @hoogle?
07:43:02 <oerjan> haskell api search by type
07:43:07 <oerjan> (also name)
07:43:11 <izabera> is that an official name?
07:43:19 <oerjan> yes.
07:43:19 <myname> it is
07:43:32 <\oren\> oerjan: can I define a monad in which it does the correc thing?
07:43:48 <izabera> ah the dwim monad
07:43:55 <oerjan> \oren\: in which what does what?
07:43:55 <myname> what is the "correct" thing?
07:44:10 <\oren\> in which "return" returns from the funtion
07:44:31 <myname> how is that the correct thing?
07:44:35 <oerjan> izabera: there's also hayoo :P
07:44:52 <\oren\> myname: uh. how could it not be
07:45:11 <myname> because monad laws say otherwise
07:45:53 <\oren\> monad laws don't overrule 60 years of programming convention
07:46:05 <myname> obviously, they do
07:46:13 <oerjan> \oren\: use "pure" instead of "return" hth
07:46:25 <\oren\> not if I write a monad in which it doesn't
07:46:44 <oerjan> everyone agrees return was a stupid name for the thing
07:46:51 <oerjan> in afterthought
07:48:40 <izabera> > cycle "die lambdabot die"
07:48:42 <lambdabot> "die lambdabot diedie lambdabot diedie lambdabot diedie lambdabot diedie lam...
07:48:54 <izabera> didn't die
07:49:22 <myname> it's not that stupid
07:49:43 <oerjan> lambdabot cuts off its output twice in the process
07:49:57 <oerjan> hm let's check...
07:50:28 <oerjan> @@ @run length @show @run repeat 'a'
07:50:33 <lambdabot> 81
07:50:37 <oerjan> wat
07:51:00 <oerjan> hm i thought it cut off to 80 only at final output
07:51:12 <myname> > [ mod x 10 | x <- [1..] ]
07:51:13 <lambdabot> [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8...
07:51:17 <oerjan> @@ @run length @run show $ repeat 'a'
07:51:21 <lambdabot> <hint>:1:88:
07:51:21 <lambdabot> lexical error in string/character literal at character '\n'
07:51:26 <oerjan> darn
07:51:37 <oerjan> of course duh
07:51:40 <izabera> > length (repeat 1)
07:51:45 <lambdabot> mueval: ExitFailure 1
07:51:48 <izabera> this kills my ghci
07:51:54 <izabera> can't even ^C to stop it
07:51:57 <oerjan> izabera: yeah that's an infinite loop
07:52:22 <oerjan> try twice
07:52:22 <\oren\> so basically what i want to make is a monad where `` do { return a; return b } '' returns a, and doen't evaluate b
07:52:36 <myname> somebody here posted a fancy anonymous fibonacci function
07:53:15 <myname> may be possible
07:53:52 <myname> just hold the return value in some kind of state that yields nothing if it is set or something like that
07:54:07 <oerjan> izabera: you've hit a rare weakness in GHC's thread preemption model
07:54:23 <oerjan> if a calculation does not allocate memory at all, it cannot be interrupted
07:54:56 <oerjan> there's a flag to insert extra "yields" in case that's a problem.
07:55:21 <myname> :D
07:55:49 <myname> how does it not allocate memory? is length tail recursive?
07:56:08 <oerjan> there are however very few calculations that infloop while never allocating, so it's rarely worth it (it slows down execution in general)
07:56:17 <izabera> cool, i hit a rare weakness after 30 minutes of haskell -_-
07:56:33 <myname> finding it while fumbling isnkt that hard
07:56:41 <myname> finding it while seriously coding is
07:56:47 <oerjan> myname: yes, length is tail recursive and merges with repeat 1 to optimize into a register-only loop
07:57:00 -!- lynn has quit (Ping timeout: 256 seconds).
07:57:04 <oerjan> well, ghci doesn't do much optimization
07:57:16 <oerjan> oh right
07:57:26 <izabera> myname: that's what fuzzers are for
07:57:39 <myname> so length is like foldl (\x -> 1+) 0?
07:57:47 <oerjan> repeat 1 actually makes a cyclic list in memory. and then length's tail recursion takes care of the rest.
07:58:07 <oerjan> (the optimization to a tight loop is for compiled ghc)
07:58:16 <oerjan> @src length
07:58:16 <lambdabot> Source not found. It can only be attributed to human error.
07:58:20 <oerjan> darn
07:58:53 <oerjan> myname: something equivalent to that yeah
07:58:59 <\oren\> wait, what happens if I try to save repeat 1 in a state, then modify the nth element?
07:59:12 <myname> do that
07:59:27 <myname> it should evaluate to n elements
07:59:35 <oerjan> although things got a bit haywire in GHC 7.10's Foldable rearrangement. it's possible it's actually foldr before it's rewritten.
08:00:17 <myname> huh? how does it just rearrange that? these have their own weaknesses and strengths
08:03:13 <oerjan> \oren\: you cannot get do { return a; return b } to return a if a and b have different types. this holds by the types of the functions no matter how much you ignore the monad laws. QED.
08:06:35 <\oren\> why would they have different types?
08:06:42 <izabera> vi mode in haskeline sucks.......
08:06:53 <\oren\> obviously a function always returns the same type
08:08:20 <\oren\> *yadda yadda, 60 years convention, remember our honorable ancestors who wrote in FORTRAN on punched cards...
08:08:55 <\oren\> in my case literally my ancestors
08:09:25 <oerjan> myname: i think i may be misremembering something.
08:10:31 -!- tromp_ has joined.
08:11:05 <\oren\> `? fortran
08:11:13 <HackEgo> fortran? ¯\(°​_o)/¯
08:11:30 <izabera> how do i run putStr for all the elements in a list?
08:11:44 <oerjan> > (do return 1; return "hi") :: Maybe _
08:11:46 <lambdabot> Found hole ‘_’ with type: [Char]
08:11:46 <lambdabot> To use the inferred type, enable PartialTypeSignatures
08:11:46 <lambdabot> In an expression type signature: Maybe _
08:11:55 <oerjan> bah
08:12:03 <myname> > mapM putStr "hello"
08:12:05 <lambdabot> Couldn't match type ‘Char’ with ‘[Char]’
08:12:05 <lambdabot> Expected type: [String]
08:12:05 <lambdabot> Actual type: [Char]
08:12:10 <myname> damn
08:12:17 <oerjan> @ask int-e WHY U NO ENABLE PartialTypeSignatures
08:12:17 <lambdabot> Consider it noted.
08:12:34 <izabera> > [ if x `mod` 15 == 0 then "FizzBuzz" else if x `mod` 3 == 0 then "Fizz" else if x `mod` 5 == 0 then "Buzz" else show x | x <- [1..100] ]
08:12:36 <lambdabot> ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14...
08:12:39 <myname> > mapM putStr . map show [1, 2, 3, 4, 5]
08:12:41 <lambdabot> Couldn't match expected type ‘a -> t String’
08:12:41 <lambdabot> with actual type ‘[String]’
08:12:41 <lambdabot> Possible cause: ‘map’ is applied to too many arguments
08:12:42 -!- tjt263_ has quit (Read error: Connection reset by peer).
08:12:50 <myname> gna
08:12:57 <oerjan> > (do return 1; return "hi") ++ []
08:12:59 <lambdabot> ["hi"]
08:13:01 <myname> > mapM putStr $ map show [1, 2, 3, 4, 5]
08:13:04 <lambdabot> <IO [()]>
08:13:11 <oerjan> *MWAHAHAHA*
08:13:15 <myname> -.-
08:13:40 <izabera> i don't really understand what's going on but i find it scary that you can't do this
08:13:49 <myname> izabera: there is actually a nice blogpost about fizzbuzz in haskell
08:13:53 <\oren\> `le/rn FORTRAN/FORTRAN was a language in 1957, in which our noble, honourable ancestors wrote programs on punched cards and paper tape.
08:13:58 <HackEgo> Learned «fortran»
08:14:06 <myname> izabera: i can do this in more than one line
08:14:17 <myname> but where's the fun in that
08:14:36 -!- tjt263_ has joined.
08:14:40 <oerjan> izabera: mapM_ putStr
08:14:46 <izabera> does haskell have eval?
08:14:46 <myname> ah!
08:14:58 <myname> > mapM_ putStr $ map show [1, 2, 3, 4, 5]
08:15:00 <lambdabot> <IO ()>
08:15:04 <oerjan> myname had it essentially right (mapM is just slightly less efficient), but lambdabot doesn't do IO actions
08:15:11 <myname> ah
08:15:20 <myname> it's lambdabots fault
08:15:29 <oerjan> also
08:15:33 <myname> how do mapM and mapM_ differ?
08:15:39 <oerjan> > mapM_ print [1, 2, 3, 4, 5]
08:15:41 <lambdabot> <IO ()>
08:15:45 <oerjan> myname: mapM collects the results
08:15:59 <\oren\> myname: one is a linux syscall
08:16:09 <myname> interesting
08:16:18 <oerjan> so there's a list of ()s wasting memory.
08:16:23 -!- tromp_ has quit (Ping timeout: 264 seconds).
08:16:26 <myname> izabera: what do you need eval for?
08:16:34 <myname> izabera: just pass a function
08:17:14 <\oren\> how does lambdabot do it?
08:17:43 <\oren\> @source
08:17:43 <lambdabot> Unknown command, try @list
08:17:51 <\oren\> @list
08:17:51 <lambdabot> What module? Try @listmodules for some ideas.
08:17:57 <\oren\> bah
08:18:30 <myname> haha
08:18:44 <oerjan> i'm not sure how lambdabot handles eval, it's pretty old, but these days i think the hint package may be the easiest way.
08:19:14 <oerjan> hint is a wrapper around the ghc-api, which allows you to call GHC from inside a haskell program.
08:20:00 <oerjan> (the ghc-api is _really_ crufty, it's basically a "wrap up and expose anything people might need" package)
08:20:23 <oerjan> afaik. i wouldn't dare to try it myself.
08:21:11 <oerjan> izabera: so, there's no built-in eval, but you can get the equivalent by installing hint.
08:21:17 <myname> you could implement read for a -> b
08:21:27 <oerjan> it's usually extremely overkill, mind you.
08:21:57 <myname> there is a reason eval is considered evil in most languages
08:23:55 <Sgeo_> Except Kernel Lisp
08:24:28 <myname> wouldn't you need monads for eval?
08:25:36 <oerjan> myname: well sure
08:28:19 <oerjan> i think the ghc-api basically runs in a GHC monad.
08:29:16 <myname> interesting
08:29:30 <oerjan> which contains IO inside, as well as various state.
08:29:59 <oerjan> anyway, good night
08:30:05 -!- oerjan has quit (Quit: ZZZ).
08:44:59 <b_jonas> I hate how svn doesn't have an interface to explicitly add a file to a working copy but set its parent to a particular versioned file in the repo.
08:45:54 -!- Melvar` has joined.
08:47:38 <b_jonas> You have to emulate it by renaming the file temporarily, copying the versioned file, then renaming the file back to replace the copy.
08:50:02 -!- perrier__ has joined.
08:52:01 -!- glowcoil_ has joined.
08:52:30 -!- perrier_ has quit (*.net *.split).
08:52:30 -!- Melvar has quit (*.net *.split).
08:52:31 -!- glowcoil has quit (*.net *.split).
08:52:31 -!- ^v has quit (*.net *.split).
08:53:01 -!- glowcoil_ has changed nick to glowcoil.
08:54:19 -!- ^v has joined.
08:57:38 -!- J_Arcane has quit (Ping timeout: 256 seconds).
09:03:47 <\oren\> ARGH Wikipedia sucks!
09:04:15 <\oren\> All I wanted to know was what is a "critical theorist"?
09:06:27 <\oren\> then again, I'm finding more and more wikipedia articles which contain no information understandable by non-experts
09:06:48 <\oren\> but I thought that the problem was limited to math articles
09:21:42 <HackEgo> [wiki] [[Talk:Zero Instruction Set Computer]] https://esolangs.org/w/index.php?diff=46391&oldid=46383 * Rdebath * (+822) /* This seems to be a weird definition of "Zero" */ new section
09:22:03 <myname> i agree
09:23:50 <HackEgo> [wiki] [[Talk:Zero Instruction Set Computer]] https://esolangs.org/w/index.php?diff=46392&oldid=46391 * Rdebath * (+128) /* This seems to be a weird definition of "Zero" */
09:23:55 <izabera> can you ask rdebath to come here?
09:25:45 -!- jaboja has joined.
09:26:05 <HackEgo> [wiki] [[Talk:Zero Instruction Set Computer]] https://esolangs.org/w/index.php?diff=46393&oldid=46392 * Orenwatson * (+200)
09:26:34 <\oren\> there
09:26:49 <izabera> thanks
09:26:51 <izabera> <.<
09:39:37 -!- lynn has joined.
09:42:42 <FireFly> Well, in a multi-ISC you need opcodes to distinguish instructions. In an OISC you can elide the opcode since it's always the same; you just have arguments. In a ZISC you can elide both the opcodes and arguments--there's no "instructions" left
09:43:05 -!- mroman has joined.
09:43:29 <mroman> fnard
09:43:43 <FireFly> although in a way it's the same thing as an OISC, just another perspective
09:43:46 -!- AnotherTest has joined.
09:45:27 <FireFly> I mean, I suppose if you wanted you could treat a multi-ISC as an OISC as well by having the one instruction be "branch on opcode, if x do ..., if y do ..., ..."
09:45:35 <FireFly> the "one" instruction
09:46:51 <mroman> yeah or DO a, b, c
09:46:56 <mroman> where a tells what operation to carry out
09:47:50 <mroman> so I'm more curious about how many arguments you need
09:48:21 <mroman> subleq needs three arguments
09:50:27 <izabera> WHY ISN'T HE HERE YET
09:51:01 <izabera> unless lynn or AnotherTest are rdebath
09:51:19 <izabera> in which case hi
09:51:23 <izabera> well in any case hi
09:56:50 <FireFly> have you considered creating an account on the wiki instead
09:57:38 <izabera> that's too impersonal
10:31:48 <\oren\> someone should make a better C standerd library
10:32:54 <izabera> what's the problem with the current one?
10:34:00 <Taneb> It forces you to write in C
10:34:13 <izabera> oh
10:34:17 <\oren\> it's too small
10:34:34 <\oren\> and lacks a proper string type
10:35:11 <\oren\> or a lot of array handling stuff (qsort and bsearch notwithstanding)
10:36:01 <\oren\> or for that matter diretory tree handling
10:36:58 <\oren\> and lacks any support for data structures other than flat arrays
10:37:43 <Taneb> \oren\, I think to some extent you are using C for the wrong reasons
10:39:08 <\oren\> well all of the things above have lots of implementations in C
10:39:35 <\oren\> it's just every project has to reinvent it
10:40:06 <\oren\> i think it's time for at the very least
10:40:44 <\oren\> struct STR {int len; char *dat};
10:40:54 <\oren\> to be in the standard library
10:42:38 <\oren\> or something. the std commitee can decide how to implement this stuff, but it's time for it to not be reinvented over and over
10:46:16 <\oren\> hmm
10:47:09 <\oren\> struct STR_STRUCT {size_t len; char *dat}; typedef struct STR_STRUCT STR;
10:52:40 <izabera> there are better ways
10:53:22 <izabera> https://github.com/antirez/sds
10:57:10 <\oren\> evil
10:57:15 <\oren\> i like it
10:58:05 <\oren\> but if the c std comittee is doing it they can create a new printf format spec like "%S" or something so that would not be needed
10:58:55 <izabera> you'd have to change all of string.h
10:59:15 <izabera> also i believe %S is taken
10:59:19 <izabera> for wide characters
10:59:45 <\oren\> not really
11:00:03 <\oren\> strlen doesn't take a STR it takes a char*
11:00:10 <\oren\> so if you did
11:00:26 <izabera> well i mean you'd have to add a STR- version to all the functions in string.h
11:00:35 <\oren\> yes
11:00:58 <\oren\> but you'd have to do that anyway
11:01:06 <\oren\> to take advantage of the new length
11:11:52 -!- tromp_ has joined.
11:16:10 -!- tromp_ has quit (Ping timeout: 240 seconds).
11:26:15 -!- LexiciScriptor has joined.
11:39:36 -!- boily has joined.
11:49:59 <boily> @metar CYUL
11:50:00 <lambdabot> CYUL 111141Z 26012KT 4SM -SN BKN014 OVC028 M12/M15 A2972 RMK SC6SC2 SLP069
12:02:06 -!- heroux has quit (Ping timeout: 240 seconds).
12:10:27 -!- jaboja has quit (Remote host closed the connection).
12:21:02 -!- boily has quit (Quit: DISPLAY CHICKEN).
12:31:47 -!- lynn has quit (Ping timeout: 276 seconds).
12:40:34 <Taneb> Does anyone know a friendly algorithm for computing the convex hull of a set of gaussian integers
12:41:23 <b_jonas> Taneb: a 2-d convex hull of points? do you want an algorithm, or implementation?
12:41:45 <b_jonas> I can give sources for either
12:42:43 <Taneb> b_jonas, the former
12:44:42 <Taneb> Would you believe this is for a language which may be esoteric
12:56:54 -!- Sprocklem has quit (Ping timeout: 250 seconds).
12:58:21 -!- Sprocklem has joined.
13:06:23 -!- heroux has joined.
13:13:52 -!- mtve has joined.
13:15:03 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
13:19:24 -!- p34k has joined.
13:32:05 -!- lynn has joined.
13:33:10 <b_jonas> Taneb: for algorithms, I suggest you look at the Cormen--Leiserson--Rivest--Stein Introduction to algorithms book. I believe it talks about 2d convex hull at one point.
13:33:35 <b_jonas> Taneb: if that's not enough, then get a more detailed geometric algorithms book.
13:34:04 -!- variable has joined.
13:47:26 -!- tromp_ has joined.
13:58:06 -!- jaboja has joined.
14:09:11 -!- heroux has quit (Ping timeout: 264 seconds).
14:11:17 -!- variable has quit (Quit: 1 found in /dev/zero).
14:18:01 -!- `^_^v has joined.
14:22:26 <int-e> `wisdom
14:22:33 <int-e> `quote
14:22:49 <HackEgo> 668) <Phantom_Hoover> I had a dream last night where I got hit by a van but the van had a brain uploader in it and I was uploaded and I angsted because I was stuck spending eternity with singularitarians?
14:22:49 <HackEgo> ​`? `?/Yes, you're very clever
14:23:17 <int-e> oh they got out of order
14:25:44 <b_jonas> WHAT THE FUCK IS THIS WITH WINDOWS PROGRAMS HAVING ABOUT DIALOGS THAT IMMEDIATELY DISAPPEAR IF YOU CHANGE TO ANOTHER WINDOW OR CLICK ANYWHERE, SO THERE'S NO WAY TO WRITE DOWN THEIR LONG VERSION NUMBER STRINGS?
14:26:20 <b_jonas> why can't they just have a simple ordinary about dialog that tells the name and version of the software in an ordinary message box, whose text is, by the way, copy-pastable
14:26:26 <b_jonas> seriously?
14:27:28 <int-e> just use `strings` on the executable ;-)
14:27:50 -!- heroux has joined.
14:28:21 <int-e> does taking a screenshot work?
14:28:53 <int-e> "this way we get fewer bug reports"
14:29:03 <b_jonas> int-e: dunno, I think it also disappears if I press a key.
14:38:18 <Taneb> b_jonas, thanks
14:38:55 <Taneb> b_jonas, can you take a photograph?
14:39:08 <Taneb> b_jonas, I think one of my flatmates has a copy of that!
14:45:32 -!- bender|_ has joined.
14:46:08 -!- bender|_ has quit (Changing host).
14:46:08 -!- bender|_ has joined.
14:46:40 -!- bender|_ has changed nick to bender.
15:06:26 -!- heroux has quit (Ping timeout: 250 seconds).
15:06:44 -!- tjt263__ has joined.
15:06:52 -!- tjt263_ has quit (Ping timeout: 250 seconds).
15:06:59 -!- heroux has joined.
15:13:12 -!- J_Arcane has joined.
15:21:27 <Taneb> If I've written a language called COMPLEX, what should the file extension be?
15:24:15 <FireFly> .1+i
15:24:41 <Taneb> FireFly, might use something along those lines
15:24:48 <Taneb> But I'm using the X+YJ convention
15:26:42 -!- lynn has quit (Ping timeout: 252 seconds).
15:26:44 <mroman> is + legal on windows?
15:29:33 <Taneb> mroman, idk, I'm on Linux
15:29:44 <Taneb> I think this qualifies as an esolang, I'll write up a description later
15:31:02 <FireFly> Sure, .1+J works too
15:31:46 <FireFly> Speaking of complex literals, J in its perverseness to infix everything uses e.g. 4j3 for a literal representing 4+3i
15:32:50 <Taneb> FireFly, I've gone for .1+1J
15:32:52 <FireFly> which is a bit of an interesting approach I think. It'd work in many languages and follows the same conventions as other number literals (starts with a digit, contains digits, letters and periods)
15:51:25 -!- Melvar` has changed nick to Melvar.
15:52:15 -!- rodgort has quit (Ping timeout: 240 seconds).
15:52:55 -!- kline has quit (Ping timeout: 240 seconds).
15:53:00 -!- fractal has quit (Ping timeout: 256 seconds).
15:55:40 -!- carado has quit (Ping timeout: 252 seconds).
15:55:59 -!- heroux has quit (Ping timeout: 264 seconds).
15:57:07 -!- heroux has joined.
16:00:05 -!- kline has joined.
16:00:07 -!- nycs has joined.
16:00:56 -!- `^_^v has quit (Ping timeout: 256 seconds).
16:02:26 -!- tjt263__ has quit (Ping timeout: 240 seconds).
16:05:38 -!- rodgort has joined.
16:06:21 -!- mroman has quit (Quit: Lost terminal).
16:06:22 -!- `^_^ has joined.
16:08:04 -!- nycs has quit (Ping timeout: 248 seconds).
16:10:46 -!- carado has joined.
16:22:35 -!- heroux has quit (Ping timeout: 240 seconds).
16:23:08 -!- heroux has joined.
16:23:20 -!- oren has joined.
16:23:45 <oren> apparently boost is not allowed anymore
16:23:59 <oren> (at my workplace)
16:25:04 -!- sebbu has quit (Ping timeout: 272 seconds).
16:25:16 -!- nycs has joined.
16:27:26 -!- `^_^ has quit (Ping timeout: 245 seconds).
16:28:33 <izabera> why?
16:34:50 <b_jonas> WTF...
16:35:01 <b_jonas> is this 7z version completely broken wrt tar files?
16:35:09 <b_jonas> this tar file is definitely not old, I made it myself, yet it can't read it
16:35:40 <izabera> sounds like you made it by hand tar'ing your files
16:35:48 -!- fractal has joined.
16:36:06 <oren> apparently boost isn't backward compatible to wmbedded computers
16:36:22 <izabera> boost is huge
16:36:24 <oren> or... uh... sideways compatible?
16:36:41 <oren> izabera: oh... well so is our codebase
16:36:42 <izabera> even stl is frowned upon
16:37:01 <izabera> oren: make it smaller >:O
16:37:05 <izabera> whatcha waiting for
16:37:08 <b_jonas> oren: maybe they didn't realize that boost is made of like a hundred different packages, each of them different, and some of them are definitely compatible with embedded computers
16:37:16 <b_jonas> whereas some aren't
16:38:12 <b_jonas> whew no
16:38:15 <b_jonas> it's not broken
16:38:18 -!- ocharles_ has quit (Ping timeout: 250 seconds).
16:38:18 <b_jonas> only the interface is broken
16:38:22 <b_jonas> shows it wrong
16:38:25 <b_jonas> but still finds the files
16:38:54 -!- heroux has quit (Ping timeout: 256 seconds).
16:38:55 -!- bender has quit (Ping timeout: 240 seconds).
16:39:01 <b_jonas> sorry for false alarm
16:39:10 -!- glowcoil has quit (Ping timeout: 250 seconds).
16:41:31 -!- sebbu has joined.
16:41:35 -!- ocharles_ has joined.
16:41:45 -!- glowcoil has joined.
16:46:13 <Taneb> https://arin.ga/iDqTEk here is a program in COMPLEX
16:49:44 <Taneb> Bonus points if you can work out what it does (it's not particularly obtuse)
16:50:11 -!- heroux has joined.
16:52:08 -!- lynn has joined.
17:00:26 -!- J_Arcane has quit (Ping timeout: 256 seconds).
17:01:26 -!- heroux has quit (Ping timeout: 240 seconds).
17:06:49 -!- zadock has joined.
17:10:36 -!- oren has quit (Quit: Page closed).
17:12:19 <FireFly> It's a linear 2D language
17:13:27 <FireFly> hmm
17:20:31 <fizzie> I'm going to guess the convex hull question was related to this.
17:28:25 -!- spiette has joined.
17:38:00 -!- heroux has joined.
17:39:17 -!- jaboja64 has joined.
17:43:00 -!- jaboja has quit (Ping timeout: 248 seconds).
17:47:23 <Taneb> You'd both be right in those assumptions
17:51:53 <Taneb> Just had a nice chat with a researcher in the field of unconventional computing
17:52:06 <Taneb> She seems a bit obsessed with computing things on the inside of black holes
17:59:59 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
18:05:26 -!- heroux has quit (Ping timeout: 240 seconds).
18:15:50 -!- bb010g has joined.
18:15:55 -!- zadock has quit (Quit: Leaving).
18:19:54 <HackEgo> [wiki] [[MATL]] https://esolangs.org/w/index.php?diff=46394&oldid=46337 * Luis Mendo * (+8) /* Fibonacci sequence */
18:21:35 -!- heroux has joined.
18:25:49 -!- hppavilion[1] has joined.
18:27:26 -!- heroux has quit (Ping timeout: 240 seconds).
18:28:03 -!- ent0nces has joined.
18:31:56 -!- heroux has joined.
18:32:07 -!- contrapumpkin has changed nick to copumpkin.
18:34:14 -!- ent0nces has quit.
18:34:29 <FireFly> Unconventional computing is basically the scientific side of esolangs?
18:34:44 -!- ent0nces has joined.
18:36:29 -!- ent0nces has quit (Client Quit).
18:40:13 -!- ent0nces_ has joined.
18:44:08 -!- ent0nces_ has quit (Client Quit).
18:44:12 * izabera thought esolangs where the scientific side of esolangs
18:44:43 <izabera> were*
18:50:07 -!- ais523 has joined.
18:51:30 -!- Phantom_Hoover has joined.
19:04:13 <MDude> I think unconventional computing is usually more concerned with things that could theoretically be implemented in hardware.
19:04:29 <MDude> As oppossed to hardware which only exists as a model for the purpose of theory.
19:04:42 <myname> subleq could
19:05:46 <MDude> Yeah, a dedicated suqleq architecture sounds like unconventional computing.
19:05:51 <MDude> *subleq
19:16:23 -!- heroux has quit (Ping timeout: 264 seconds).
19:29:39 -!- heroux has joined.
19:29:44 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
19:31:10 -!- hppavilion[1] has joined.
19:39:20 -!- heroux has quit (Ping timeout: 252 seconds).
19:42:27 -!- Vorpal has joined.
19:42:33 -!- heroux has joined.
19:43:29 <hppavilion[1]> Hellu
19:44:03 <hppavilion[1]> I still think we should have an official LISP
19:45:11 <Vorpal> <ais523> Vorpal: do you still happen to have a copy of gcc-bf, by any chance?
19:45:12 <Vorpal> ais523: hm?
19:45:14 <Vorpal> What was that?
19:45:18 <Vorpal> I don't remember
19:45:38 <ais523> Vorpal: gcc backend targeting a language that compiles to brainfuck
19:45:46 <hppavilion[1]> Vorpal: What else would it be?
19:45:58 <Vorpal> ais523: you made that, right?
19:46:00 <ais523> for a version of gcc that's now really old
19:46:02 <ais523> yes
19:46:19 <ais523> but it's one of the few things I didn't back up because it was so large, and for some reason I didn't think of just backing up the diff against gcc
19:46:22 <Vorpal> ais523: If I have it, it is in some super old backup somewhere, I may have time to look during the weekend, definitely not now though
19:46:28 <ais523> fair enough
19:46:29 <ais523> it's not urgent
19:46:51 <Vorpal> ais523: I think that is probably two linux installs ago
19:49:17 <hppavilion[1]> ais523: #esoteric official LISP. Yea or nay?
19:49:45 <ais523> hppavilion[1]: you'll never get the whole channel to standardise on a language
19:49:56 <hppavilion[1]> ais523: Just the people who care
19:50:11 <hppavilion[1]> And no one is expected to use it
19:50:11 <Vorpal> hppavilion[1]: it should be a mix of liskell and scheme
19:50:23 <hppavilion[1]> Vorpal: Perhaps
19:50:35 <Vorpal> hppavilion[1]: oh and some erlang concepts thrown in
19:50:43 <Vorpal> Like runtime reloading of modules
19:50:44 <hppavilion[1]> Vorpal: Sure.
19:51:04 <hppavilion[1]> The only one of those I've ever seen any code in is Scheme (and /maybe/ erlang)
19:51:08 <hppavilion[1]> Never even heard of liskell
19:51:24 <Vorpal> hppavilion[1]: it is haskell with LISP syntax
19:51:31 <Vorpal> hppavilion[1]: and distributed fault tolerance built into the standard implementation. Which I assume you will write?
19:51:32 <hppavilion[1]> Ah
19:51:37 <hppavilion[1]> Vorpal: Yes
19:51:42 <hppavilion[1]> Vorpal: Or at least a prototype
19:51:46 <Vorpal> heh
19:51:52 <Vorpal> hppavilion[1]: JITing?
19:52:23 <hppavilion[1]> Vorpal: Perhaps
19:53:35 -!- heroux has quit (Ping timeout: 264 seconds).
20:06:07 <hppavilion[1]> Useful feature of #EsoLISP: `(call-drop)`, which discards the top value on the call stack
20:08:03 -!- heroux has joined.
20:08:24 <Vorpal> hppavilion[1]: not very functional
20:09:38 <int-e> does it also have call-dup?
20:09:56 <hppavilion[1]> Vorpal: It prevents the call stack from getting too cluttered
20:10:19 <hppavilion[1]> Vorpal: You call it right before unfounded recursion
20:10:37 <hppavilion[1]> So that the call stack doesn't overflow
20:13:37 -!- MoALTz has quit (Read error: Connection reset by peer).
20:14:24 -!- MoALTz has joined.
20:17:03 <izabera> a non functional language is disfunctional?
20:23:41 <Vorpal> Maybe you could compute in a language by only manipulating the call stack?
20:23:47 <Vorpal> No other memory
20:24:11 -!- heroux has quit (Ping timeout: 264 seconds).
20:25:01 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
20:25:34 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
20:38:45 -!- bb010g has quit (Quit: Connection closed for inactivity).
20:47:54 <shachaf> `welcome Vorpal
20:48:08 <shachaf> long time nor pal
20:50:38 <HackEgo> Vorpal: 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.)
20:50:51 <ais523> @tell Vorpal <Vorpal> Maybe you could compute in a language by only manipulating the call stack? ← that can be PDA-complete quite easily (see Splinter), but can't be TC without some method to access elements arbitrarily far down the stack
20:50:51 <lambdabot> Consider it noted.
20:50:54 <izabera> found a game where humans can beat computers https://www.youtube.com/watch?v=rX8PpddIm68
20:51:30 -!- heroux has joined.
20:52:54 <Taneb> Some guy with a bad haircut once said "A computer once beat me at chess but it was no match for me at kickboxing"
20:54:04 <ais523> humans currently beat computers at BF Joust
20:54:47 <fizzie> It has not received quite as much research attention as Chess and Go, though.
20:56:00 <ais523> indeed
20:59:00 -!- heroux has quit (Ping timeout: 256 seconds).
21:00:19 -!- `^_^v has joined.
21:01:16 -!- heroux has joined.
21:01:19 <shachaf> my computer can beat up your computer at bfjoust
21:02:28 -!- nycs has quit (Ping timeout: 248 seconds).
21:06:04 -!- tromp_ has quit (Remote host closed the connection).
21:06:26 -!- jaboja64 has quit (Ping timeout: 240 seconds).
21:09:10 -!- Vorpal has joined.
21:14:00 -!- tromp_ has joined.
21:21:51 -!- `^_^v has quit (Quit: This computer has gone to sleep).
21:22:25 -!- `^_^v has joined.
21:27:49 -!- jaboja64 has joined.
21:35:35 -!- heroux has quit (Ping timeout: 264 seconds).
21:41:12 -!- mihow has joined.
21:44:07 -!- heroux has joined.
21:54:41 -!- heroux has quit (Ping timeout: 276 seconds).
22:07:37 -!- heroux has joined.
22:07:58 -!- Sprocklem_ has joined.
22:09:48 -!- Sprocklem has quit (Ping timeout: 250 seconds).
22:13:33 <izabera> how do you pronounce SIGCHLD ?
22:13:46 <izabera> like child or children?
22:13:53 <izabera> or neither?
22:14:29 <ais523> neither
22:14:41 <ais523> I put a schwa between the ch and ld
22:14:59 <ais523> as it's the closest way to pronounce it to the spelling (you can't pronounce it with no vowel there at all, really)
22:15:35 <izabera> ok
22:15:51 <izabera> let's continue with this very interesting topic
22:15:57 <izabera> how do you pronounce execvpe?
22:16:46 <lynn> exec-vee-pee-ee?
22:17:00 <izabera> strpbrk
22:17:05 <izabera> strcspn
22:17:19 <izabera> zsh
22:17:56 <izabera> damn it's almost like these names aren't meant to be spelled out loud
22:17:58 <ais523> yes, I spell out the VPE in execvpe
22:18:05 <ais523> also the whole of zsh
22:18:13 <lynn> I'd say "z shell"
22:18:26 <ais523> strpbrk and strcspn I try to pronounce as two syllables each
22:18:43 <ais523> (knowing some method to pronounce names of commands is important because I type phonetically)
22:19:16 <izabera> rep movsb
22:19:26 -!- hppavilion[1] has joined.
22:19:28 <hppavilion[1]> I just realized how we can generalize bit shifts to a non-integer shift number. Maybe.
22:19:50 <izabera> how would that work?
22:20:29 <hppavilion[1]> Observing that n<<i, where i is a number, is equal to n*2^i (I think that's right), generalizing it becomes trivial where all you need to is allow i to be a real
22:20:31 <lynn> I think exponentiation is waaay ahead of you
22:20:54 <hppavilion[1]> n<<0 = n (n*2**0 = n*1)
22:20:59 <shachaf> i is imaginary not real hth
22:21:06 <hppavilion[1]> shachaf: Sure, sure.
22:21:35 <izabera> this didn't end up being as esoteric as i hoped
22:21:36 <hppavilion[1]> And I suppose that works with complexes too, though it doesn't shift the bits very nicely (because complexes, of course, need a different encoding)
22:21:45 <hppavilion[1]> izabera: I know. It kind of sucks, doesn't it.
22:22:46 <shachaf> One day I'd like to understand the reals.
22:22:49 <hppavilion[1]> izabera: If you want eso, maybe we should invent bitshifting n<<i or n>>i where instead n is a real (or even complex!) without just shifting around floating point
22:23:27 <hppavilion[1]> Which should actually be trivial too, ntitai, the eso part will be finding the encoding
22:24:40 <hppavilion[1]> izabera: That's the new goal. Given that n<<i = n*2^i, what is the bit-by-bit encoding for n, assuming n can be any real number (the encoding, of course, will need to be truncated for real machines)
22:24:43 <shachaf> `? ntitai
22:24:48 <HackEgo> ntitai? ¯\(°​_o)/¯
22:24:58 <hppavilion[1]> shachaf: Now that I think about it. I was in a hurry and forgot that that isn't an acronym
22:25:08 <shachaf> `le/rn ntitai/not that i'm truly against it
22:25:12 <HackEgo> Learned «ntitai»
22:25:26 <hppavilion[1]> `misle/rn ntitai/Now that I think about it
22:25:29 <HackEgo> Was lied to about «ntitai»
22:25:56 <izabera> `misle/rn ntitai/new tool in titanium and iron
22:25:59 <HackEgo> Was lied to about «ntitai»
22:26:01 <hppavilion[1]> izabera: No
22:26:05 <hppavilion[1]> `misle/rn ntitai/Now that I think about it
22:26:08 <HackEgo> Was lied to about «ntitai»
22:26:13 <hppavilion[1]> izabera: misle/rn is only for accurate facts
22:26:26 <hppavilion[1]> izabera: It's a tool we invented for people who really have no clue what we're talking about
22:26:37 <hppavilion[1]> Because wisdom isn't very helpful (try `? hth)
22:26:47 <izabera> `? hth
22:26:48 <HackEgo> hth is help received from a hairy toe. It is not at all hambiguitous.
22:26:57 <hppavilion[1]> (Took me MONTHS to figure out/extract what hth means)
22:27:12 <izabera> months of desperate googling
22:27:22 <hppavilion[1]> izabera: Yes. Nonstop.
22:27:23 <izabera> http://www.urbandictionary.com/define.php?term=HTH
22:27:41 <hppavilion[1]> I'm at school and I doubt the filter will like urban dictionary
22:27:47 <hppavilion[1]> (fuckin
22:27:58 <hppavilion[1]> ' Child Protection Act)
22:28:23 <hppavilion[1]> izabera: So really, do you have any clue what the encoding for the reals is? It might just be fixpoint, I suppose
22:28:39 <hppavilion[1]> Yeah, that sounds about right ntitai
22:28:53 <shachaf> `? misle
22:28:54 <HackEgo> misle? ¯\(°​_o)/¯
22:28:56 <hppavilion[1]> (infinite fixpoint)
22:28:59 <shachaf> the past tense of misled
22:29:03 <shachaf> no, the present tense
22:29:24 <hppavilion[1]> shachaf: I think that's "mislead"
22:29:32 <izabera> killjoy
22:29:37 <hppavilion[1]> izabera: Yes.
22:29:38 <shachaf> i think it's "misle"
22:29:45 <shachaf> do you want to fight over it
22:30:10 * izabera will now pronounce misled as misseld to match misle as the present tense
22:30:11 <hppavilion[1]> izabera: What are bitwise connective equivalent to? Is there some convenient definition of x^y f.e. using convenient operations?
22:30:35 <shachaf> It's pronounced "my-zzle".
22:30:48 <hppavilion[1]> s/convenient o/more conventional o/
22:30:50 <izabera> thanks
22:33:36 <hppavilion[1]> izabera: Ah, found it
22:33:43 <hppavilion[1]> It uses summation and stuff, but that works
22:33:47 -!- heroux has quit (Ping timeout: 264 seconds).
22:33:50 <izabera> what is it?
22:34:30 <hppavilion[1]> izabera: Very complicated
22:34:30 <hppavilion[1]> https://en.wikipedia.org/wiki/Bitwise_operation#Mathematical_equivalents
22:36:17 -!- heroux has joined.
22:40:27 -!- spiette has quit (Quit: :qa!).
22:45:29 -!- Treio has joined.
22:50:45 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:57:58 -!- `^_^v has quit (Quit: This computer has gone to sleep).
23:00:58 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
23:12:44 -!- lynn has quit (Ping timeout: 256 seconds).
23:15:11 -!- J_Arcane has joined.
23:15:17 -!- Treio has quit (Ping timeout: 276 seconds).
23:23:37 -!- oerjan has joined.
23:25:02 -!- heroux has quit (Ping timeout: 276 seconds).
23:25:16 -!- heroux has joined.
23:38:00 -!- hppavilion[1] has joined.
23:39:39 <oerjan> @tell \oren\ <\oren\> All I wanted to know was what is a "critical theorist"? <-- critical theory is iirc postmodernism, and one of the endeavors that are more incomprehensible than math, largely due to being 90% nonsense hth
23:39:39 <lambdabot> Consider it noted.
23:42:00 <oerjan> <izabera> can you ask rdebath to come here? <-- good luck, i don't think he ever has.
23:42:09 <izabera> :C
23:43:27 <oerjan> on the other hand registering a wiki account is _almost_ painless save for this small blood sample
23:44:39 <oerjan> hm wait, did fizzie ever reenable registration after the recent spam attack...
23:45:09 <izabera> yeah that's totally the reason i'm not registering
23:45:33 <oerjan> in which case you may have to ask him for the unsolvable captcha.
23:46:41 <\oren\> hppavilion[1]: wait, you're in high school?
23:46:50 <hppavilion[1]> \oren\: Why do you ask?
23:47:10 <\oren\> well, holy crap i'm old
23:47:10 <hppavilion[1]> Whether I am or not depends on the reason for the question.
23:47:14 <oerjan> hm i think the captcha must be solvable, there are heaps of hits in the spam filter
23:47:43 <oerjan> \oren\: no, i'm old. hth.
23:47:45 <hppavilion[1]> \oren\: Oh, I guess it's pretty obvious
23:47:46 <hppavilion[1]> xD
23:47:53 <hppavilion[1]> (Dammit, logs)
23:48:09 <izabera> http://www.uebersetzung.at/twister/media/nor0001.mp3 oerjan
23:48:29 <oerjan> argh mp3
23:48:43 <izabera> come on
23:48:49 <izabera> fire up a decent browser
23:48:59 <oerjan> ah a tongue twister
23:49:18 <\oren\> hppavilion[1]: I don't bother with logs I just leave irssi on for literally moths on end
23:49:26 <hppavilion[1]> \oren\: Ah, that works too
23:51:04 <\oren\> $ ps -eo pid,comm,etime | grep irssi \ 4505 irssi 42-19:23:08
23:51:24 <\oren\> 42 days!
23:53:16 <oerjan> izabera: You shall not call Kalle Kalle. Even if Kalle's mother calls Kalle Kalle, you shall not call Kalle Kalle, because Kalle is really named Karl hth
23:53:52 <izabera> are those male names?
23:53:56 <oerjan> yes
23:54:25 <oerjan> Karl -> Charles / Carlo
23:54:45 <izabera> i'm positive i could have figured that out myself
23:55:53 <oerjan> i believe Karl may be the original (Germanic) form.
23:56:25 <\oren\> no, it's carol: charlemagne was originally carolus magnus
23:57:07 * oerjan swats \oren\ for nonsense -----###
23:57:43 <izabera> http://www.uebersetzung.at/twister/no.htm
23:57:47 <oerjan> carolus is the latinized form. he was frankish, not roman.
23:57:49 <izabera> their italian page has no audio
2016-02-12
00:10:23 -!- heroux has quit (Ping timeout: 264 seconds).
00:14:24 -!- Vorpal_ has joined.
00:14:47 -!- glowcoil_ has joined.
00:15:07 -!- p34k has quit (Ping timeout: 240 seconds).
00:15:08 -!- Vorpal has quit (Ping timeout: 240 seconds).
00:15:08 -!- glowcoil has quit (Ping timeout: 240 seconds).
00:15:50 -!- glowcoil_ has changed nick to glowcoil.
00:17:08 -!- heroux has joined.
00:27:43 <oerjan> <izabera> damn it's almost like these names aren't meant to be spelled out loud <-- you just need to be czech hth
00:27:59 <izabera> :)
00:28:20 <oerjan> strcspn is almost the beginning of a well-known czech tongue-twister
00:34:58 <oerjan> `? misle
00:35:01 <HackEgo> misle? ¯\(°​_o)/¯
00:35:32 <oerjan> `learn misle v. intr. "I was misled about morphology."
00:35:36 <HackEgo> Learned 'misle': misle v. intr. "I was misled about morphology."
00:35:44 <oerjan> no wait
00:35:51 <oerjan> `learn misle v. tr. "I was misled about morphology."
00:35:54 <HackEgo> Learned 'misle': misle v. tr. "I was misled about morphology."
00:36:47 -!- heroux has quit (Ping timeout: 264 seconds).
00:36:58 -!- heroux has joined.
00:40:39 <izabera> i'm planning to launch a shitload of short-lived processes
00:40:46 <izabera> how may will take my system down?
00:40:51 <oerjan> 42
00:40:53 <izabera> s/may/many/
00:40:58 <izabera> no seriously
00:41:19 <oerjan> sorry, i cannot do that
00:42:53 -!- lynn has joined.
00:43:09 <izabera> most of these processes will last much less than 1/10s
00:43:46 <izabera> at least, they last less than 1/10s when run alone
00:44:35 <izabera> how does spawning 5000 processes in a second sound?
00:44:50 <int-e> crazy
00:45:47 -!- heroux has quit (Ping timeout: 264 seconds).
00:47:11 <oerjan> @tell boily squee squee squee waves squee squee holes colliding squee squee energy than the light from all the stars in the observable squee!
00:47:11 <lambdabot> Consider it noted.
00:47:38 <int-e> a misle should be a unit of length... to measure bridges perhaps
00:47:55 <izabera> what's a misle in meters?
00:47:58 <oerjan> no, the unit is the misletoe hth
00:48:13 <int-e> izabera: it depends on the isles in question
00:48:48 <int-e> then again we could have mis(si)le silos
00:48:57 <int-e> that word has lots of possibilities.
00:49:22 <izabera> ah a variable lenght
00:49:25 <izabera> like a cubit
00:49:50 <oerjan> a cubit can't be a length, it should clearly be a volume
00:51:39 <int-e> hmm, three-dimensional information
00:52:07 <int-e> maybe the mice would understand that concept
00:53:26 <int-e> Ah of course there's a wiki about this. http://hitchhikers.wikia.com/wiki/Mice
00:54:14 -!- heroux has joined.
01:00:29 * oerjan puts two and two together and realizes there has to be porn wikis
01:00:42 <oerjan> well more like two and 34
01:01:04 <int-e> mindblowing
01:01:40 * oerjan is _not_ doing a search
01:03:23 <int-e> there's always https://www.youtube.com/watch?v=zBDCq6Q8k2E
01:05:46 <\oren\> bernie vs hillary debate in 30 min
01:06:56 <\oren\> wait no 60 min
01:07:03 <\oren\> pre-show in 30
01:07:24 <int-e> I'll read the summaries tomorrow (technically today)
01:20:29 <izabera> hold on i just found what's the most unspeakable function name
01:20:33 <izabera> mbsnrtowcs
01:20:52 <ais523> I'm mentally spelling thatout apart from the "to", which is a single word
01:20:58 <ais523> that said, I spell out "mbs" and "wcs" anyway
01:21:01 <ais523> in all those function names
01:23:31 -!- mihow has quit (Quit: mihow).
01:23:58 <int-e> ah, r = reentrant I suppose.
01:24:00 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:25:57 <ais523> reentrant is normally _r
01:26:08 <ais523> r in the middle typically implies "reverse" but that doesn't seem to make sense in this context
01:27:14 <ais523> I guess it is meant to mean re-entrant here but the man pages are really unclear
01:27:36 -!- lynn has quit (Ping timeout: 256 seconds).
01:27:54 <int-e> well, the version without r lacks the mbstate_t *ps argument
01:28:09 <int-e> (well, without r and n)
01:29:54 <oerjan> izabera: for that function name you'll probably have to pass from czech to georgian hth
01:30:54 <izabera> do you think the ratio #vowels/#consonants is a good metric for this?
01:33:03 <oerjan> (#vowels+1)/#consonants
01:33:21 <izabera> ok
01:33:23 <izabera> why?
01:33:50 <oerjan> or wait
01:34:00 <oerjan> -1
01:34:13 <oerjan> er
01:35:03 <oerjan> thing is, a consonant is easier if it has vowels both before and after
01:35:26 <\oren\> ok, so the pre-show is on, a bunch of people are giving stuttery speeches while trying really herd to be neutral
01:35:36 <izabera> this isn't working
01:35:39 <oerjan> really herd, check
01:35:43 <FireFly> Just do #consonants in aa row?
01:35:52 <FireFly> a row, even
01:35:54 <izabera> will try that
01:36:30 <oerjan> consonants in a row, except that the outermost clusters count double.
01:36:32 <FireFly> Reminds me of the word 'västkustskt' "west-coastian"
01:36:37 <FireFly> which is pretty annoying to pronounce
01:36:49 <FireFly> (due to the stskt consonant cluster)
01:36:50 <izabera> well, define a comparison function
01:37:01 <izabera> right now i'm checking with (vow1-1)/con1 - (vow2-1)/con2
01:37:09 <izabera> it doesn't seem to be a good metric though
01:37:25 <FireFly> what're you writing this in
01:37:29 <izabera> awk
01:37:41 <FireFly> ugh, the one time I wish you were using bash, you aren't
01:37:45 <FireFly> well um
01:37:52 <izabera> can use bash but it's slower
01:38:37 <FireFly> for what oerjan said, I guess one approach would be "split on vowels, map length, multiply edges by two, take maximum"
01:38:45 <FireFly> for both names
01:38:49 <fizzie> Character trigram models are the conventional way of assigning language likelihoods to strings -- I'd guess using them except looking for the lowest possible scores could work somewhat.
01:38:50 <FireFly> ...possibly overkill
01:39:06 <oerjan> of course not all consonants are equal. s is much easier, thus västkustskt
01:39:30 <fizzie> (Under the assumption that languages favor speakable words.)
01:39:31 <int-e> sssssseemssssss likely
01:42:20 <izabera> would it be easier to manually assign values to ngrams?
01:43:16 <oerjan> i mean, i think vätkutkt is actually slightly harder to pronounce than västkustskt
01:43:36 <oerjan> *very* slightly
01:44:11 <oerjan> the final t gets me a bit, it's one step more than norwegian does
01:44:58 -!- tromp_ has quit (Remote host closed the connection).
01:46:21 <fizzie> "User-generated spam detected on http://esolangs.org/"
01:46:22 <oerjan> we drop the -t ending when it gets that complicated, swedish doesn't.
01:46:35 <fizzie> Well, that's a fancy warning, but the page's been deleted for days already.
01:46:52 <oerjan> where do you get that from
01:47:37 <fizzie> It was sent to me after I added esolangs.org as a "property" in the Search Console.
01:47:40 -!- mad has joined.
01:47:50 <mad> damn freenode ## thing
01:48:05 <izabera> `welcome mad
01:48:11 <HackEgo> mad: 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:48:23 -!- tromp_ has joined.
01:48:24 <izabera> so laggy it doesn't even look like a bot
01:48:32 <mad> heh
01:49:13 <mad> can a cpu be efficient if it can only write a single register per cycle
01:49:22 <izabera> define efficient
01:50:36 <oerjan> *sigh* IE's tab handling has got _worse_ again lately
01:51:12 <mad> 2-4+ instructions per cycle, enough to saturate the data cache's 1-load-per-cycle limit
01:51:33 <oerjan> it's putting the tabs in random places in the group. and sometimes failing to keep neighboring groups distinct colors
01:52:04 <izabera> oerjan: sounds self inflicted
01:52:18 * oerjan inflicts a swat on izabera -----###
01:53:07 <izabera> is ie still developed?
01:53:13 <oerjan> i dunno.
01:53:13 <mad> the cpu can do somewhat complex instuctions
01:53:25 <izabera> i thought all their efforts shifted to the new fancy edge
01:53:32 <izabera> which cures cancer i heard
01:53:57 <mad> stuff like add r0, r1 shr 15 add r2 shr 4 and r28 store r12
01:53:58 <int-e> oh no, how shall I use all those websites that require "IE 6 or later" then?
01:54:06 <mad> (single opcode)
01:54:46 <oerjan> izabera: i tried edge and immediately hated it. then i tried again, and lasted a few hours.
01:54:48 <int-e> [actual requirement from an internal website we use for entering students' grades *sigh*]
01:57:15 <HackEgo> [wiki] [[HaPyLi]] M https://esolangs.org/w/index.php?diff=46395&oldid=40951 * LegionMammal978 * (+13) /* External resources */
01:58:42 <int-e> `? anagram
01:58:47 <HackEgo> anagram? ¯\(°​_o)/¯
02:00:13 <int-e> `le/rn anagram Interestingly, "Robert Galbraith" is *not* an anagram of "J. K. Rowling".
02:00:16 <HackEgo> No output.
02:00:48 <oerjan> doesn't _anybody_ remember syntax any more
02:00:56 <int-e> true.
02:01:00 <izabera> what syntax?
02:01:07 <oerjan> for `le/rn
02:01:11 <int-e> `le/rn anagram/Interestingly, "Robert Galbraith" is *not* an anagram of "J. K. Rowling".
02:01:11 <izabera> ah
02:01:14 <HackEgo> Learned «anagram»
02:01:26 <int-e> but I think it refuses to learn if there's no slash at all
02:01:32 <izabera> that's not that interesting after all
02:01:35 <int-e> `` echo wisdom/anagram*
02:01:36 <HackEgo> wisdom/anagram
02:01:56 <int-e> izabera: wisom is always factually accurate, except when it isn't.
02:02:14 <int-e> `? wisdom
02:02:15 <HackEgo> wisdom is always factually accurate, except for this entry, and uh that other one? it started with like, an ø?
02:02:49 <izabera> uh is that a liar paradox?
02:02:52 <int-e> And I hate to say that I do actually find that fact interesting.
02:03:13 <int-e> s/do actually/actually do/
02:03:48 <int-e> Maybe because I just learned about the former name.
02:03:52 <mad> is wisdom more about truth, or about results in the face of an unscrutable world?
02:04:00 <mad> or is wisdom more about attitude?
02:05:23 <zgrep> `tomfoolery wisdom
02:05:24 <HackEgo> wisdom is tomfoolery
02:05:35 <izabera> that doesn't really answer
02:06:11 -!- heroux has quit (Ping timeout: 264 seconds).
02:06:54 <izabera> `? `?
02:06:55 <HackEgo> ​`? ¯\(°​_o)/¯
02:07:12 <oerjan> `? tomfoolery
02:07:13 <int-e> mad: re: registers... I thought modern CPUs keep most of the register values in flight, keeping track of them by elaborate renaming and shadowing schemes. so I can imagine that retiring just one of those value to a "cold storage" register file might indeed be enough to saturate the L1 memory bandwidth.
02:07:13 <HackEgo> tomfoolery is always factually inaccurate. always.
02:07:25 <izabera> so i just gave up on doing that in awk
02:08:15 <oerjan> `tomfoolery tomfoolery
02:08:16 <HackEgo> tomfoolery is wisdom
02:08:45 <oerjan> and punctuation is dead
02:08:55 * zgrep guiltily holds the knife
02:08:59 <int-e> dead.
02:09:44 <izabera> i'm doing it in brainfuck, won't be much harder than awk
02:09:48 <izabera> stupid awk
02:10:53 <int-e> mad: Obviously there's a "per cycle" missing in that sentence.
02:11:01 -!- heroux has joined.
02:19:01 <mad> int-e : the goal of having a single rename per cycle is to make that register renaming reasier
02:20:04 <mad> I guess the speed penalty depends on the kind of code
02:20:08 <mad> stuff that goes
02:20:38 <mad> val1 += val2; val3 += val4; val5 += val6; val7 += val8;
02:20:45 <mad> will obviously suffer a speed penalty
02:21:00 <mad> versus a 2-issue RISC
02:22:57 -!- XorSwap has joined.
02:23:21 <mad> if the average number of chained alu ops is 2 then this is same speed as 2-issue risc
02:25:19 <mad> if the average number of chained alu ops is 8, then you can build a cpu that can take advantage of this but I don't think irl code has chains that long so there's no point (plus you'd probably need a dual port dcache to run anywhere near that speed)
02:27:51 <mad> with 2 renames per cycle or more you could probably go for a nice amount of IPC but that's probably a way too large design to do as a small project in a fpga
02:30:50 <mad> I guess all of this depends on the type of code your run anyways
02:34:57 -!- jaboja64 has quit (Ping timeout: 240 seconds).
02:45:01 -!- jaboja has joined.
03:04:32 <hppavilion[1]> As an exercise for those attempting to design an instruction set, one of the projects is to demonstrate how you construct macros from a subset of instruction
03:05:08 <hppavilion[1]> To do this, you must construct a fully-fledged ISA using macros based on IMOV (the left-heavy version), SUBI, and SKIZ (skip-if-zero)
03:08:40 <hppavilion[1]> for some reason, I'm designing a video game console named RAX
03:16:09 <mad> ooh
03:16:16 <mad> 2d? 3d?
03:21:40 -!- lleu has quit (Quit: That's what she said).
03:23:11 <hppavilion[1]> mad: ?
03:23:18 <hppavilion[1]> mad: Ah, not sure yet
03:23:24 <hppavilion[1]> It'll probably evolve over time
03:39:48 -!- MDude has changed nick to MDream.
04:00:55 <mad> I'm interested in how to design the gfx hw
04:01:16 <mad> there are many approaches and I've always wondered if there was some better way
04:01:22 <hppavilion[1]> mad: Perhaps there is
04:03:23 <mad> there are, roughly speaking, two approaches
04:05:18 <mad> frame-buffer based, and rendering line per line (nes/genesis/snes/etc)
04:05:32 * hppavilion[1] nods
04:06:32 <hppavilion[1]> mad: What kinds of opcodes do you think would go into an esoteric ALU?
04:06:39 <mad> hmmmmmmmm
04:06:43 <hppavilion[1]> For research purposes
04:06:50 <mad> hmmmmmmmmmmmmmmmm
04:06:53 <hppavilion[1]> And practice
04:06:57 <mad> that's a hard question
04:07:16 <hppavilion[1]> mad: Problem is, there are too many esoteric opcodes already, I guess xD
04:07:34 <mad> how about "store to ram except if the value is 0"
04:07:40 <mad> ok that's not really ALU
04:07:53 <mad> "reverse byte order"
04:07:57 <hppavilion[1]> Perhaps that
04:08:46 <mad> "r3 = (r2 >> 16) + (r1 << 16)"
04:08:50 <hppavilion[1]> mad: I think an esoteric processor would either use a deque model w/ 4 or 8 auxiliary registers (no absolute addressing, you have to roll the deque to get to where you want) or a graph model (as seen in graph VM)
04:08:53 <mad> "r3 = (r2 >> 24) + (r1 << 8)"
04:08:55 <hppavilion[1]> mad: Basically, yes
04:09:00 <hppavilion[1]> Though I think you mean |, not +
04:09:17 <hppavilion[1]> Unless you do mean + 0_o
04:09:32 <mad> they have the same result
04:09:33 <hppavilion[1]> `? somethingthatdoesnotexist
04:09:41 <HackEgo> somethingthatdoesnotexist? ¯\(°​_o)/¯
04:09:47 <hppavilion[1]> °​_o
04:09:54 <mad> in hw it would be |
04:10:01 <hppavilion[1]> What's hw?
04:10:05 <hppavilion[1]> homework?
04:10:08 <hppavilion[1]> xD
04:11:02 <hppavilion[1]> mad: So which do you think makes for a more eso CPU? Graph or deque?
04:11:07 <hppavilion[1]> My money's on graph.
04:11:11 <mad> hmm
04:11:23 <mad> depend on how esoteric you want to be
04:11:29 <hppavilion[1]> But deque is more practical, but then again, that isn't the goal
04:11:31 <mad> and what goal you're after
04:11:48 <hppavilion[1]> mad: The graph has a call stack associated with the pointer... so I guess I could replace that with the deque model
04:12:20 <hppavilion[1]> But that makes the call stack (now-deque) too powerful, almost TC on its own...
04:12:25 <mad> how about:
04:12:33 -!- XorSwap has quit (Quit: Leaving).
04:13:09 <mad> a cpu where the only addressing mode is [address register + small immediate * 4]
04:13:23 <mad> with small immediate range being 0..15 or 0..7
04:13:33 <hppavilion[1]> mad: Perhaps, but I'm going for something completely foreign
04:13:34 <mad> but then you can have opcode
04:13:46 <mad> add r0, [a0 + 12]
04:14:19 <hppavilion[1]> OK...
04:14:33 <mad> except it doesn't actually read from ram since it fills registers with values [a0 + 0] [a0 + 4] [a0 + 8]... [a0 + 60] when setting a0
04:15:27 <hppavilion[1]> mad: That's more of a jumbly processor than a truly esoteric processor, IMHO
04:15:44 <hppavilion[1]> Just something a bit confusing and irrational to work with, not so much new and unconventional
04:16:06 <mad> yeah I guess that's more a speed experiment
04:16:15 <hppavilion[1]> More of a Malbolge than a Befunge
04:16:32 <mad> "are memory loads so important that caching everything possible could speed up things"
04:16:45 <mad> well
04:16:58 <mad> to get a truly esoteric cpu you'd need to go without DRAM
04:17:07 <mad> if you have DRAM you'll end up with a mips
04:17:38 <mad> or if you're really twisted, an itanium or a mills
04:17:41 <hppavilion[1]> mad: I think I'll go with the graph xD
04:17:55 <hppavilion[1]> It's a digraph with a pointer and a stack
04:18:34 -!- jaboja has quit (Ping timeout: 250 seconds).
04:19:43 <mad> mhm
04:31:11 -!- ais523 has quit (Ping timeout: 245 seconds).
04:48:46 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
04:54:00 <\oren\> well, hillary got rekt
04:54:25 <\oren\> at least, according to internet polls
05:00:02 -!- perrier__ has quit (Remote host closed the connection).
05:01:19 -!- perrier_ has joined.
05:10:34 -!- shikhin has quit (Ping timeout: 250 seconds).
05:10:55 -!- Xe has quit (Ping timeout: 240 seconds).
05:12:27 -!- Xe has joined.
05:15:38 -!- shikhin has joined.
05:16:36 -!- vodkode has quit (Remote host closed the connection).
05:30:07 -!- lynn has joined.
06:00:51 <\oren\> wow henry kissinger is an asshole who I had barely heard of until now
06:01:36 <mad> oh yeah kissinger is a classic asshole
06:02:34 <\oren\> i bet millions of people my age are reading the wiki article on him
06:03:29 <mad> what happened?
06:04:25 <\oren\> Hillary said she took advice from him, and bernie repudiated her pointing out his responsibility for deaths of 100's of thousands in cambodia
06:05:00 <\oren\> "if they put Jews into gas chambers in the Soviet Union, it is not an American concern. Maybe a humanitarian concern." -- Henry Kissinger. WHAT THE FUCK
06:05:09 <\oren\> yeah maybe.
06:05:34 <lifthrasiir> during the vacation (national holiday, oh great) I've crafted the first iteration of GSUB support
06:05:37 <lifthrasiir> in my font
06:05:53 <lifthrasiir> it was freakin hard to design
06:06:21 <lifthrasiir> probably I have to iterate handful times to get things right
06:06:33 <\oren\> nice
06:06:41 <mad> yeah I think normally when people talk about kissinger they tread the line of not praise not outright condemnation
06:06:42 <lifthrasiir> I'm yet to check GPOS out though
06:07:00 <lifthrasiir> I do have some infrastructure for automatic mark combination, but it is not yet reflected in the font
06:07:07 <\oren\> I have been procrastinating on my font lately
06:07:10 <mad> kindof like chinese talking about mao
06:07:13 <lifthrasiir> \oren\: me too :p
06:07:35 <lifthrasiir> now I have to tackle the Uniscribe rendering problem, again
06:07:40 <mad> kissinger was an asshole but he was a powerful asshole
06:08:27 <mad> ""Kissinger pressed Nixon to overthrow the democratically elected Allende government because his "'model' effect can be insidious," documents show""
06:09:11 <mad> http://www.thenation.com/article/kissinger-and-pinochet/
06:27:00 -!- tromp_ has quit (Remote host closed the connection).
06:27:22 -!- singingb1yo has quit (Ping timeout: 256 seconds).
06:38:34 -!- J_Arcane has quit (Ping timeout: 276 seconds).
06:43:34 -!- vodkode has joined.
06:53:31 <\oren\> http://gawker.com/moderator-accidentally-whispers-oh-god-into-mic-when-1758651605
06:58:39 -!- hppavilion[1] has joined.
07:12:52 <b_jonas> WTF. you know how linux and gcc and like five other software has had a version number format shift (where the components of the version number now means one place higher than it used to). these disgust me. now it seems that OpenCV has followed suit starting from 3.0.
07:25:23 -!- heroux has quit (Ping timeout: 264 seconds).
07:25:57 -!- heroux has joined.
07:27:36 -!- tromp_ has joined.
07:32:35 -!- tromp_ has quit (Ping timeout: 264 seconds).
07:49:40 <hppavilion[1]> Wikipedia lists paper as a form of non-volatile computer memory
07:57:22 -!- AnotherTest has joined.
08:02:41 <hppavilion[1]> IMHO, we should flesh out the concept of NOP
08:02:45 <hppavilion[1]> For example, NOPIZ
08:02:52 <izabera> b_jonas: ksh versions are the worst
08:03:03 <hppavilion[1]> (Do Nothing n times if register at r is zero)
08:03:04 <izabera> the current beta is ksh93v-
08:03:12 <hppavilion[1]> NOPIZ r n
08:03:48 <izabera> where 93 means 1993 and v is a version letter and - could be + or a handful other symbols to mean which parts are enabled
08:03:52 <lifthrasiir> hppavilion[1]: so what happens if r is non-zero? nothing?
08:04:06 <hppavilion[1]> lifthrasiir: Yes.
08:04:14 <hppavilion[1]> lifthrasiir: But that nothing takes less time.
08:04:22 <izabera> still called after 1993 even if it was released in 2014
08:04:38 <hppavilion[1]> So if r is non-zero, then it takes less processor ticks than if r is zero
08:04:44 <lifthrasiir> hppavilion[1]: I believe NOPWNE a b (Do Nothing While a And b Are Not Equal) may be much more useful
08:04:55 <lifthrasiir> aka CHLTNE
08:04:58 <hppavilion[1]> lifthrasiir: So WAIT?
08:05:03 <lifthrasiir> possibly.
08:05:35 <hppavilion[1]> lifthrasiir: Do you agree that #esoteric should team up to make the ultimate ISA?
08:05:56 <lifthrasiir> I HAVE ONE. DO NOT CONTEST THAT.
08:06:31 <lifthrasiir> (well, I do have a VM ISA design for personal use)
08:06:49 <hppavilion[1]> lifthrasiir: Would you like to look over my ELK VM?
08:06:55 <hppavilion[1]> Tell me what I did horribly wrong?
08:06:57 <lifthrasiir> what is that?
08:07:06 <hppavilion[1]> lifthrasiir: It's just a VM inspired by .NET
08:07:09 <hppavilion[1]> Vaguely
08:07:10 <lifthrasiir> I think I did the equally horrible thing in my VM
08:07:30 <hppavilion[1]> ("If you give me that apple I'll let you paint this fence")
08:08:25 <lifthrasiir> hppavilion[1]: https://gist.github.com/lifthrasiir/1994b24877b41c8b169e#file-opcodes-txt
08:08:27 <hppavilion[1]> lifthrasiir: What's that?
08:08:33 <hppavilion[1]> Reading now
08:08:51 <lifthrasiir> that was my design some years ago
08:09:11 <lifthrasiir> I intended to make a bootstrapped language out of them, but my interest dropped
08:10:26 <lifthrasiir> my goal was a usable VM in the small number of LoC (my goal was ~5K) while being reasonably fast
08:10:35 <lifthrasiir> hence the "vectorized" instructions
08:11:05 <lifthrasiir> (I didn't really test if it is useful, but the intent was to leverage compiler's autovectorization)
08:15:32 -!- MoALTz has quit (Ping timeout: 248 seconds).
08:21:20 <hppavilion[1]> lifthrasiir: For the console I'm making, I have 3 modes for addresses: integer literal, address reference, indirection.
08:21:38 <hppavilion[1]> Since it's determined by a crumb, I have one space left. What should go in it?
08:21:53 <hppavilion[1]> I don't like double indirection; it almost seems... tacky
08:22:18 <lifthrasiir> hppavilion[1]: does your ISA have a concept of register?
08:22:26 <hppavilion[1]> lifthrasiir: Yes
08:22:36 <lifthrasiir> then should that be a register reference?
08:22:38 <hppavilion[1]> That's what it is; register indirection
08:22:42 <lifthrasiir> ah
08:22:56 <hppavilion[1]> lifthrasiir: "address reference" means "register reference"
08:23:00 <lifthrasiir> I think it is more commonly called just a register?
08:23:03 <lifthrasiir> uh, wait
08:23:06 -!- mad has quit (Quit: Pics or it didn't happen).
08:23:07 <hppavilion[1]> It's a "[register] address"
08:23:33 <hppavilion[1]> lifthrasiir: Perhaps that mode should be for accessing from memory?
08:23:35 <lifthrasiir> hppavilion[1]: so... there are three kinds of operands: int, reg[int] and mem[int], right?
08:23:52 <hppavilion[1]> lifthrasiir: int, reg[int], and reg[reg[int]]
08:23:56 <lifthrasiir> what.
08:23:57 <hppavilion[1]> mem[int] sounds good.
08:24:08 <lifthrasiir> okay, that's where I was confused
08:24:08 <hppavilion[1]> lifthrasiir: reg[reg[int]] is for indirection
08:24:18 <hppavilion[1]> because reg[int] is just normal
08:24:22 <hppavilion[1]> SET is reg[int] = int
08:24:28 <hppavilion[1]> MOV is reg[int] = reg[int]
08:24:42 <lifthrasiir> if you don't pursue RISC strictly, mem[int] *can* be useful
08:25:05 <hppavilion[1]> So IMOVL is reg[reg[int]] = reg[int], IMOVR is reg[int] = reg[reg[int]], and IMOVB is reg[reg[int]] = reg[reg[int]]
08:25:09 <hppavilion[1]> At least, in theory
08:25:14 <lifthrasiir> hppavilion[1]: ah, wait, did you mean mem[reg[int]] when you said reg[reg[int]]?
08:25:31 <hppavilion[1]> lifthrasiir: No.
08:25:38 <lifthrasiir> what?
08:25:40 <hppavilion[1]> lifthrasiir: I meant reg[reg[int]]
08:25:50 <hppavilion[1]> lifthrasiir: That's how you do indirection, AFAICT
08:26:02 <lifthrasiir> uh, normally "indirection" does not mean such thing
08:26:10 <hppavilion[1]> Oh, them I'm an idiot
08:26:17 <hppavilion[1]> The point is that it's a pointer
08:26:21 <lifthrasiir> mem[reg[int]] is commonly called an indirection and mem[mem[reg[int]]] is called a double indirection AFAIK
08:26:45 <hppavilion[1]> so IMOVL x y is the same as y = *x in C
08:26:50 <hppavilion[1]> lifthrasiir: Oh
08:27:13 <hppavilion[1]> lifthrasiir: So should I get rid of it? It seems like it'd be useful
08:28:37 <lifthrasiir> hppavilion[1]: do you have a concrete example where it is useful? I cannot easily think of them, unless you have tons of registers (some order of 1000s)
08:29:16 <hppavilion[1]> lifthrasiir: See, I'm clueless. Until now, I didn't completely realize you didn't have 2**64 registers
08:29:30 <hppavilion[1]> lifthrasiir: So that's what I've been designing my VMs to do
08:29:34 <hppavilion[1]> (Using a map, of course)
08:30:06 <hppavilion[1]> lifthrasiir: But it's useful if you want to store a register address in another register
08:30:39 <myname> looool
08:30:55 <myname> 2**64 registers would result in HUGE cpus
08:31:05 <myname> and most of them would be horribly slow
08:31:10 <hppavilion[1]> myname: Yes, I realize that now
08:31:34 <myname> amd64 has like 15 multi-purpose registers
08:31:36 <hppavilion[1]> myname: Of course, in my mind, we didn't REALLY have 2**64; we just had a max of 2**64
08:31:39 <hppavilion[1]> Ah
08:31:42 <myname> which is plenty for most tasks
08:31:45 <hppavilion[1]> See, that makes more sense
08:32:02 <myname> there are r8 to r15
08:32:10 <hppavilion[1]> myname: I think I've been confusing "register" with "memory address" this whole time
08:32:18 <myname> and some special shit that is basically extended from 8 bit onwards
08:32:28 <myname> like rax, rbx, rcx, rdx
08:32:52 <b_jonas> it's rax, rcx, rdx, rbx. they're not in alphabetical order.
08:33:09 <hppavilion[1]> myname: So I take it I should replace regs[regs[int]] with mem[regs[int]]?
08:33:26 <myname> yeah
08:33:32 <hppavilion[1]> myname: And what should I fill the last slot with?
08:33:33 <b_jonas> and not all four of those have been extended from the 8 bit days, some of those are from the 16 bit days
08:33:34 <myname> b_jonas: weöö, yeah
08:33:47 <myname> at least a has
08:33:54 <hppavilion[1]> Perhaps mem[int] would work?
08:33:55 <oerjan> <izabera> still called after 1993 even if it was released in 2014 <-- https://en.wikipedia.org/wiki/Eternal_September
08:34:11 <izabera> waaa
08:34:13 <myname> it does
08:34:45 <b_jonas> the 8 bit days only had the equivalent of al (A), cx and dx (CD and EF in some order), bx (LH), si and di (IX and IY), and sp (SP). it definitely didn't have all four of ax, cx, dx, bx
08:35:13 <b_jonas> and even those are only rough equivalence, there's no binary compatibility of any sort
08:35:21 <myname> huh, why was a always adressable to 8 bits and c and d aren't?
08:36:13 <b_jonas> argh, typo
08:36:25 <b_jonas> the 8 bit days only had the equivalent of al (A), cx and dx (BC and DE in some order), bx (LH), si and di (IX and IY), and sp (SP).
08:36:47 <myname> assambly <3
08:37:02 <hppavilion[1]> myname: Should I make the last addressing mode double indirection then?
08:37:04 <b_jonas> myname: basically, the z80 had seven general purpose registers, plus a virtual one: B, C, D, E, L, H, A, [LH] (memory access through LH), not in this order
08:37:26 <b_jonas> myname: but it also had some 16 bit instructions on the pairs BC, DE, LH
08:37:53 <b_jonas> plus (in the more feature-complete variants of the cpu) two extra 16-bit registers IX and IY which could replace LH in many instructions using a prefix
08:38:21 <myname> well, you still have the rax/rcx pair for division for example
08:38:22 <b_jonas> also a stack pointer and an 8-bit flags register that is the predecessor of the low half of the x86 flags register
08:38:58 <myname> nasm was compiling div 2^n into shr rax, n
08:39:01 <hppavilion[1]> lifthrasiir: Should I use double indirection (the real meaning) for the last slot?
08:39:01 <b_jonas> myname: division? in the 8-bit era? no way. and rax/rcx was never a pair, only rdx/rax was (rdx being the high one)
08:39:07 <myname> which resulted in funny behavior
08:39:22 <myname> 2^64 / 4 = 0
08:39:30 <myname> 2^64 mod 4 = 1
08:39:41 <myname> yeah
08:39:43 <myname> rdx it os
08:40:00 <hppavilion[1]> myname: At least it didn't put it in /reg/null
08:40:26 * hppavilion[1] just made a joke that is so bad it doesn't even make any brainfucking sense
08:43:25 <b_jonas> the correspondence doesn't really work anyway. the z80 has the full set of arithmetic instructions only on A as the destination, and a very small random selection of 16-bit arithmetic that doesn't use A at all. whereas, the x86_16 has the full set of arithmetic on each of the 8-bit registers AL, AH, CL, CH, DL, DH, BL, BH but some abbreviated ones on AL, and the full-set of 16-bit arithmetic on all eight general registers, but a few short ones on AX
08:43:48 <b_jonas> \ whereas, the x86_16 has the full set of arithmetic on each of the 8-bit registers AL, AH, CL, CH, DL, DH, BL, BH but some abbreviated ones on AL, and the full-set of 16-bit arithmetic on all eight general registers, but a few short ones on AX
08:44:25 <b_jonas> So it's not really like the x86_16 bx corresponds to the z80 HL completely, but it's still the closest match you can make
08:44:46 <lifthrasiir> hppavilion[1]: it may or may not be useful, probably depending on your intended use cases
08:44:58 -!- oerjan has quit (Quit: Nite).
08:45:08 <lifthrasiir> hppavilion[1]: you may want to poke https://en.wikipedia.org/wiki/Addressing_mode around
08:45:19 <hppavilion[1]> lifthrasiir: The choice is between mem[int] and mem[mem[reg[int]]]
08:45:50 <lifthrasiir> mem[int] requires you to have a separate word for the memory address (since memory is typically much larger than register)
08:46:09 <lifthrasiir> if your coding allows such thing easily, it may be a good choice
08:46:12 <hppavilion[1]> lifthrasiir: Ah
08:47:45 <lifthrasiir> for example, in x86 you may have reg[int], mem[int] or mem[int * reg[int] + int]
08:48:21 <lifthrasiir> "int"s here can be coded in multiple ways
08:48:31 <b_jonas> lifthrasiir: that's a different generation again, that's x86_32 and x86_64
08:48:38 <b_jonas> it's not x86_16
08:48:56 <b_jonas> x86_16 has a very different set of memory addressing modes
08:49:16 <lifthrasiir> b_jonas: you are right. and I think that it is actually mem[reg[int] + int * reg[int] + int] with different constraints for each ints. I'm a bit simplifying the matter though
08:49:40 <lifthrasiir> oh and x86_64 has rip-relative addressing too
08:50:29 <b_jonas> basically [{0, disp8, disp16} + {BX, SI, DI, BP, BX+SI, BX+DI, BP+SI, BP+DI}] except that there's not [0+BP] but instead there's [disp16] and that the modes involving BP have an implicit but overridable SS segment base (the rest are DS-based)
08:51:03 <b_jonas> plus stack 16-bit PUSH operations which pre-decrement or post-increment SP
08:51:19 <b_jonas> (and are based on SS)
08:51:35 -!- J_Arcane has joined.
08:52:26 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
08:53:11 -!- evalj has joined.
08:55:43 -!- evalj has quit (Remote host closed the connection).
09:07:09 -!- Treio has joined.
09:28:18 -!- tromp_ has joined.
09:32:26 -!- tromp_ has quit (Ping timeout: 240 seconds).
10:13:42 <fizzie> Aw, you can't put a segment override on push/pop. :/
10:14:05 <fizzie> ("The following default segment selections cannot be overridden: -- Push and pop operations must always reference the SS segment.")
10:25:59 -!- heroux has quit (Ping timeout: 264 seconds).
10:26:32 -!- heroux has joined.
10:29:01 -!- tromp_ has joined.
10:33:24 -!- tromp_ has quit (Ping timeout: 250 seconds).
11:08:52 -!- heroux has quit (Ping timeout: 248 seconds).
11:17:27 -!- heroux has joined.
11:26:28 -!- \oren\ has quit (Ping timeout: 248 seconds).
11:27:17 -!- \oren\ has joined.
11:33:41 -!- J_Arcane has quit (Ping timeout: 276 seconds).
11:36:43 -!- boily has joined.
11:36:51 <boily> @massages-loud
11:36:51 <lambdabot> oerjan said 10h 49m 40s ago: squee squee squee waves squee squee holes colliding squee squee energy than the light from all the stars in the observable squee!
11:37:09 <boily> @tell oerjan LET'S DO THE GRAVITATIONAL WAVE! WOOOOOOOOOOO!
11:37:10 <lambdabot> Consider it noted.
11:49:24 -!- heroux has quit (Ping timeout: 248 seconds).
12:02:47 -!- heroux has joined.
12:09:45 <boily> @metar CYUL
12:09:46 <lambdabot> CYUL 121200Z 25006KT 30SM FEW008 FEW035 FEW080 SCT210 M19/M23 A3012 RMK CF1SC1AC1CI1 CF TR FROIN SLP203
12:19:29 <boily> FROIN?
12:19:44 -!- boily has quit (Quit: CLEAR CHICKEN).
12:26:08 <Taneb> I think COMPLEX is sufficiently powerful to simulate any Minsky Machine, and hence is Turing complete
12:26:12 <Taneb> But it's a narrow thing
12:30:15 -!- hppavilion[1] has joined.
12:44:35 -!- heroux has quit (Ping timeout: 240 seconds).
12:47:18 -!- heroux has joined.
13:30:20 -!- tromp_ has joined.
13:34:46 -!- tromp_ has quit (Ping timeout: 252 seconds).
13:41:33 -!- jaboja has joined.
13:51:06 <izabera> how do you prove that saying whether a brainfuck program never tries to access the left side of the tape is undecidable?
13:52:06 <izabera> something like program = P< if P never moves the pointer and it halts, that program accesses the left side, if it doesn't halt that program doesn't access it?
13:53:15 <int-e> izabera: how deep do you want to go down the rabbit hole? you could just simulate a turing machine and start walking to the left indefinitely when it halts, thereby reducing it from the halting problem...
13:53:56 <izabera> ah so it's P[-]+[<[-]+]
13:53:57 <Taneb> izabera, you can construct a brainfuck program that reads a turing machine off the tape, and goes of the left if and only if the turing machine halts
13:54:56 * izabera was close
14:21:31 -!- j-bot has joined.
14:28:44 -!- jaboja has quit (Ping timeout: 272 seconds).
14:31:45 -!- tromp_ has joined.
14:36:11 -!- tromp_ has quit (Ping timeout: 264 seconds).
14:40:05 -!- jaboja has joined.
14:53:53 -!- heroux has quit (Ping timeout: 276 seconds).
14:57:33 -!- lleu has joined.
14:57:33 -!- lleu has quit (Changing host).
14:57:33 -!- lleu has joined.
15:06:06 -!- heroux has joined.
15:26:37 -!- jdoan105 has joined.
15:26:48 -!- jdoan105 has left.
15:27:06 -!- jaboja has quit (Ping timeout: 240 seconds).
16:08:09 -!- Sprocklem has joined.
16:10:26 -!- Sprocklem_ has quit (Ping timeout: 240 seconds).
16:17:14 -!- spiette has joined.
16:23:41 <izabera> `genbf
16:23:42 <HackEgo> ​>-.>.[-.-]<--,..<[-.,--,<[[.].[+,+<<-,>>,->]]]-,+-
16:23:56 <izabera> `genbf 70
16:23:58 <HackEgo> ​[]<[>+<+<.>,.>>>->>,><<.,[[]].<<.>[<[..++]-].]-+-[[-]-++,,->>].>[<,>]>
16:24:10 -!- heroux has quit (Ping timeout: 252 seconds).
16:24:29 -!- heroux has joined.
16:24:42 <izabera> and the crowd goes mild
16:33:59 -!- lleu has quit (Read error: Connection reset by peer).
16:34:29 <b_jonas> that's not even real bf code
16:34:39 <b_jonas> come on, it starts with []<
16:34:49 <izabera> valid
16:34:54 <izabera> sorta
16:34:57 <izabera> well
16:35:14 <b_jonas> it falls off the tape at the third step
16:35:28 <izabera> valid if the tape is unbounded both ways :p
16:35:30 <b_jonas> [] is a nop because the current cell is 0
16:37:18 <fizzie> Or wrapping.
16:40:39 <izabera> i have an idea
16:40:47 <izabera> generate 1000 valid bf programs
16:40:51 <izabera> without ,
16:41:12 <izabera> valid just means balanced [ ]
16:41:30 <izabera> ok then you run these programs
16:41:40 <izabera> with a timeout of say 1 second
16:42:31 <izabera> then we take their outputs, and compare them against ABCDEFGH...Z
16:43:06 <izabera> discard the 500 programs that produced the farthest output from that
16:43:39 <izabera> then take the rest and make children
16:44:26 <int-e> ... that's very unusual foreplay
16:44:32 <izabera> haha
16:44:55 <izabera> make children by taking two programs and for each character you randomly choose parent1 or parent2 or a random character
16:45:24 <izabera> with a 90% chance of coming from one of the parents
16:45:48 <izabera> discard invalid programs, repeat until you have a pool of 1000 programs
16:46:08 <izabera> then run the new ones, same rules
16:46:25 <izabera> repeat until one produces that exact string
16:46:51 <int-e> I know vaguely what genetic programming is. But it was funnier to read it that other way,
16:47:47 <fizzie> bf_textgen works like that, except it breeds a very limited subset of bf programs.
16:47:57 <izabera> OH COME ON
16:48:01 <izabera> stop this
16:48:10 <izabera> every single idea i have is taken
16:48:13 <izabera> fuck this world
16:48:24 -!- tromp_ has joined.
16:48:24 <fizzie> Well, I mean. It's a very very limited subset.
16:49:05 <izabera> `` type bf_textgen
16:49:07 <HackEgo> bash: line 0: type: bf_textgen: not found
16:49:09 <int-e> izabera: sorry, that's just how it is. for every original idea there's at least a a thousand that other people have had before.
16:49:21 <fizzie> I forget how to invoke it, it used to be in EgoBot.
16:49:28 <izabera> found old logs
16:49:32 <izabera> http://codu.org/logs/_esoteric/2012-08-29.txt
16:49:37 <izabera> !bf_textgen Hi.
16:49:51 <int-e> `prefixes
16:49:52 <HackEgo> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
16:50:02 <fizzie> https://github.com/graue/esofiles/blob/master/brainfuck/util/textgen.java has the sources, anyway.
16:51:20 <int-e> @bf ++++[>+<++++]>+[+.]
16:51:20 <lambdabot> ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
16:52:46 -!- tromp_ has quit (Ping timeout: 252 seconds).
16:52:59 -!- heroux has quit (Ping timeout: 264 seconds).
16:53:09 -!- idris-bot has joined.
16:54:08 <fizzie> Very printable.
16:54:18 <fizzie> ^bf ++++[>+<++++]>+[+.]
16:54:18 <fungot> ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
16:54:22 <fizzie> Somewhat less so.
16:54:23 -!- MoALTz has joined.
16:54:28 <int-e> yes, lambdabot filters its output
16:56:05 <int-e> in any case, how's the genetic programming approach supposed to leap from that local optimum to a program that truncates the output after 26 characters?
16:57:28 <int-e> ^bf +++++[>+++++<-]++++[>>+<<++++]>+[>++.-<-]
16:57:28 <fungot> ABCDEFGHIJKLMNOPQRSTUVWXYZ
16:58:49 <izabera> is that as small as possible?
16:59:01 <int-e> I wouldn't bet on it
16:59:16 <izabera> well let me write this thing
16:59:51 <int-e> for example there is this crazy code for producing 26: >++[[+<]>+>++]<-
17:00:33 <int-e> (from https://esolangs.org/wiki/Brainfuck_constants)
17:01:31 -!- heroux has joined.
17:01:45 <int-e> ^bf >++[[+<]>+>++]++++[>+<++++]<-[>>++.-<<-]
17:01:45 <fungot> ABCDEFGHIJKLMNOPQRSTUVWXYZ
17:05:06 -!- p34k has joined.
17:06:07 -!- zzo38 has joined.
17:07:38 <izabera> so that bf_textgen thing produces this ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
17:07:46 <izabera> ^bf ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
17:07:46 <fungot> Hello World!.
17:08:01 <izabera> @bf ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
17:08:01 <lambdabot> Hello World!
17:08:16 <izabera> then loops forever
17:08:49 <izabera> ^bf ++++++++[>++++++++>>><<<<-]>+.+.+.+.
17:08:49 <fungot> ABCD
17:09:09 <izabera> could be improved though.......
17:09:51 <myname> wtf >>><<<<?
17:09:57 <myname> like... <?
17:10:10 <izabera> yes
17:13:58 <izabera> ^bf +++++++++++++[>++++++++>+++++++++>+++++++++>++++<<<<-]>.>>-..----.>++++++.-----------..<----------.<--.>.-.>-.<<----.+++.>++.>+.<<<-----.--.>-----.+++.<.++++++++.>>.<--.+++++.>>.<<<.+++.+++.>+++.>--.+.<---.>>.+++.--.+.+++++.
17:13:59 <fungot> http://fsfe.org/campaigns/ilovefs/2016
17:14:34 -!- heroux has quit (Ping timeout: 240 seconds).
17:15:39 <int-e> ^bf -[+[>+<<]>+]+++++[<+++++>-]<+[>>++.-<-]
17:15:39 <fungot> B
17:16:05 <int-e> ^bf -[+[>+<<]>+]<[-]>+++++[<+++++>-]<+[>>++.-<-]
17:16:05 <fungot> B
17:16:13 <int-e> ah, stupid.
17:16:17 <int-e> ^bf -[+[>+<<]>+]+++++[<+++++>-]<+[>>++.-<<-]
17:16:17 <fungot> BCDEFGHIJKLMNOPQRSTUVWXYZ[
17:16:29 <int-e> ^bf -[+[>+<<]>+]+++++[<+++++>-]<+[>>+.<<-]
17:16:29 <fungot> ABCDEFGHIJKLMNOPQRSTUVWXYZ
17:18:07 * izabera is a noob and loops that move the pointer are too hard
17:18:24 <int-e> ^bf -[+[>+<<]>+]<+++++[>+++++<-]>+[>+.<-]
17:18:24 <fungot> ABCDEFGHIJKLMNOPQRSTUVWXYZ
17:18:42 <izabera> are you writing these yourself or...?
17:18:44 <int-e> izabera: I copied that imbalanced part from the brainfuck constants page as well
17:19:01 <izabera> well i'm disappointed >.>
17:19:05 <int-e> "64: -[+[>+<<]>+]> (13, 4) wrapping"
17:19:43 <izabera> how do you compute the distance in this case?
17:20:05 <izabera> like ABCD and ABCE are much closer than ABCD and ABCZ
17:22:00 <int-e> Anyway, that's 37 characters; I still wouldn't want to bet that there isn't something shorter, but I think I collected the low-hanging fruits.
17:22:15 <izabera> :)
17:22:22 -!- jaboja has joined.
17:27:42 -!- heroux has joined.
17:28:00 <izabera> "Just use the hashtag #ilovefs on GnuSocial, Twitter, or other platforms."
17:28:08 <izabera> OTHER PLATFORMS
17:28:24 <izabera> the platform-that-shall-not-be-named
17:28:54 <int-e> myspace?
17:29:05 <izabera> ah yes that one
17:29:42 <int-e> I mean is there anything else now that Google+ is pretty much dead :P
17:31:23 <int-e> (much to my disappointment, one of the webcomics I read is currently not publishing on its wordpress blog but only on that-unnnamable-platform... so I'm missing out now)
17:32:02 -!- Reece` has joined.
17:32:08 <izabera> what do you need other platforms for? we've got gnu social
17:32:56 <int-e> fwiw this is actually the first time I heard about GnuSocial, well as far as I remember.
17:33:12 <int-e> (so I may have heard of it and forgotten... it happens)
17:33:24 <izabera> you're getting old
17:33:39 <int-e> that too
17:38:55 -!- Reece` has quit (Quit: Leaving).
17:39:21 -!- Reece` has joined.
17:41:10 -!- heroux has quit (Ping timeout: 252 seconds).
17:41:22 -!- heroux has joined.
17:42:38 <izabera> http://www.cupidsundierun.com/ and then there's this
17:42:50 <izabera> which sounds more fun than the fsf event
17:47:22 -!- lynn has quit (Ping timeout: 256 seconds).
17:48:21 <shachaf> `olist 1023
17:48:26 <HackEgo> olist 1023: shachaf oerjan Sgeo FireFly boily nortti b_jonas
17:50:38 -!- Reece` has quit (Quit: Leaving).
17:51:15 -!- Reece` has joined.
17:56:35 -!- heroux has quit (Ping timeout: 264 seconds).
18:09:12 -!- heroux has joined.
18:19:06 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
18:21:11 -!- heroux has quit (Ping timeout: 264 seconds).
18:33:36 -!- heroux has joined.
18:35:07 <b_jonas> shachaf: thanks
18:36:25 <zzo38> How do I make a program in Linux to be allow to bind to the specified port number for listening?
18:38:28 <b_jonas> zzo38: um, what exactly do you mean? can't you just call bind on the socket? or do you want to bind to a low port number as non-root?
18:38:48 <b_jonas> zzo38: if the latter, I suggest an inetd program
18:38:55 <b_jonas> that might help anyway, even for non-low ports
18:39:18 <zzo38> I want to do it temporarily though rather than as a daemon program
18:39:36 -!- bb010g has joined.
18:39:43 <b_jonas> zzo38: inetd helps there, because it's one process running, and you can make it run your program only when necessary
18:40:06 <b_jonas> there are multiple inetd programs with different feature sets, but I think any should work for this
18:40:20 -!- Reece` has quit (Quit: Leaving).
18:40:49 -!- Reece` has joined.
18:41:13 -!- Reece` has quit (Remote host closed the connection).
18:41:15 <zzo38> In my case I am trying to run an existing program that binds to port 25 and do not want to rewrite it.
18:41:22 -!- MDream has changed nick to MDude.
18:41:29 -!- Reece` has joined.
18:42:10 <b_jonas> zzo38: um, do you mean you want to change it so it binds to a different port instead?
18:42:13 -!- Reece` has quit (Client Quit).
18:42:19 <b_jonas> I don't understand.
18:42:20 <zzo38> No
18:42:29 -!- Reece` has joined.
18:42:35 <zzo38> I want it to listen to port 25
18:42:42 <zzo38> Maybe I can change the router setting temporarily
18:42:51 <b_jonas> But what does the program do right now?
18:42:58 <b_jonas> Before you change anything, that is?
18:43:40 <zzo38> Listen to port 25 and accepts a single email message and stores it in a file.
18:44:12 <b_jonas> If it already listens to port 25, then what's the problem?
18:44:51 <zzo38> It can't; it just displays an error message and quit because it can't listen to port 25
18:45:21 <b_jonas> zzo38: so the problem is that you want to bind to a low port as non-root?
18:45:32 <zzo38> I could change the port number and then change the router setting to forward connections to port 25 to a different internal number I suppose though
18:45:34 <zzo38> b_jonas: Yes
18:46:46 <zzo38> Actually I should set up a proper SMTP server, but am not sure how to configure it to do what I wanted it to do
18:47:12 <b_jonas> And can you modify the program in some way, eg. (a) instead of binding, make it take an inherited file descriptor that's already bound and listen on it, or (b) instead of binding and listening and accepting, take a file descriptor that's already an accepted socket?
18:47:16 -!- Phantom_Hoover has joined.
18:47:41 <zzo38> What I can do is change the port number
18:47:42 <b_jonas> Or possibly the simplest, (c) to bind to a high port instead (and then you forward).
18:48:00 <b_jonas> Change the port number then, and forward from a service that you start from inetd maybe?
18:48:13 <zzo38> I could forward from the router I said
18:48:21 <b_jonas> The forwarding service needn't run as root since inetd does.
18:48:27 <b_jonas> You can do that too, sure.
18:50:18 -!- Reece` has quit (Quit: Leaving).
18:52:23 <izabera> `` echo 'a[b][c[d[e]f]g[h]i]j' | sed ':a;/]\[/!b;s//][|/;tb;:b;s/|\([^]]*\)\[[^]]*]/|\1/;tb;s/.|[^]]*]//;ta'
18:52:25 <HackEgo> a[b]j
18:52:38 <izabera> removes loops after loops
18:53:26 <zzo38> Do you know though how to set up a proper SMTP server on Linux? I need to use different email addresses externally as internally though
18:54:24 <b_jonas> zzo38: I don't know anything about setting up smtp servers, and don't want to either, sorry
18:54:31 <b_jonas> you'll have to ask someone else
18:54:43 <b_jonas> a system administrator presumably
18:55:15 <zzo38> I am the system administrator
18:55:35 <b_jonas> another system administrator then
18:59:28 -!- hppavilion[1] has joined.
19:04:00 -!- Reece` has joined.
19:13:12 -!- gniourf has quit (Read error: Connection reset by peer).
19:13:49 -!- gniourf has joined.
19:15:11 -!- Frooxius has quit (Ping timeout: 264 seconds).
19:16:23 -!- heroux has quit (Ping timeout: 264 seconds).
19:25:13 -!- heroux has joined.
19:26:56 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
19:28:27 -!- hppavilion[1] has joined.
19:31:43 -!- evalj has joined.
19:43:00 -!- heroux has quit (Ping timeout: 248 seconds).
19:43:52 <zzo38> If I send a message that is not a reply of another message I want it to make up a random number and use that as the reply address, but if it is reply to another message, to use the recipient address of the message being replied to instead
19:44:56 -!- heroux has joined.
19:53:35 -!- heroux has quit (Ping timeout: 264 seconds).
19:53:50 <int-e> @uptime
19:53:50 <lambdabot> uptime: 1m 8d 15m 16s, longest uptime: 1m 10d 23h 44m 29s
20:00:05 -!- Reece_ has joined.
20:01:14 -!- Reece` has quit (Ping timeout: 272 seconds).
20:04:09 -!- heroux has joined.
20:05:18 -!- Reece_ has quit (Quit: Leaving).
20:20:53 -!- prooftechnique has quit (Quit: ZNC http://znc.in).
20:25:25 -!- heroux has quit (Ping timeout: 260 seconds).
20:27:29 -!- heroux has joined.
20:39:19 <izabera> http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html
20:39:22 <izabera> "Implementors are encouraged to provide warning messages about labels that are never used"
20:39:35 <izabera> am i reading it wrong or is that impossible?
20:42:08 <izabera> impossible via static analysis i mean
20:43:56 <izabera> i guess sed can print a warning at the end of its execution
20:44:00 <b_jonas> izabera: um, I think that's about labels that aren't even mentioned in any g or t command
20:44:05 <int-e> if by "impossible" you mean "undecidable", sure...
20:44:11 <izabera> int-e: yes, that
20:44:28 <int-e> but there are sound approximations that one can reasonably implement, like the one b_jonas described
20:45:29 <izabera> should this be a warning? blabel1; blabel2; :label2; :label1
20:45:39 <int-e> or perhaps one should distinguish between labels that are mentioned (one possible interpretation of "use") and ones that can be actually reached (another interpretation).
20:48:11 <MDude> For any given year N, what is the smallest counting number to not have been specified exactly in a widely availiable public record by the end of that year?
20:48:21 <b_jonas> oh right, the goto command is b, not g
20:48:23 <b_jonas> sorry
20:49:55 -!- tromp_ has joined.
20:51:29 -!- evalj has quit (Remote host closed the connection).
20:52:37 -!- Elronnd has quit (Quit: Let's jump!).
20:53:44 -!- Elronnd has joined.
20:54:28 -!- tromp_ has quit (Ping timeout: 248 seconds).
20:57:35 -!- lynn_ has joined.
20:57:37 <zzo38> What I want to do is the following: If a message is received for anyone @zzo38computer.org then look up the part before the at sign in a acceptance list, if it is in there then deliver the message to <user@zzo38computer> otherwise reject the message.
20:59:11 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
20:59:54 -!- mihow has joined.
21:00:26 -!- jaboja has quit (Ping timeout: 250 seconds).
21:01:09 <zzo38> This is a bit similar to Q9805 but is more complicated
21:01:36 -!- Frooxius has joined.
21:08:22 -!- heroux has quit (Ping timeout: 272 seconds).
21:08:36 -!- heroux has joined.
21:09:21 -!- LexiciScriptor has joined.
21:20:12 -!- hppavilion[1] has joined.
21:29:09 -!- jaboja has joined.
21:30:32 -!- heroux has quit (Ping timeout: 272 seconds).
21:33:14 -!- heroux has joined.
21:34:55 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
21:38:24 -!- hppavilion[1] has joined.
21:40:59 -!- spiette has quit (Ping timeout: 264 seconds).
21:49:16 -!- lynn_ has quit (Read error: Connection reset by peer).
21:49:48 -!- lynn_ has joined.
21:53:08 -!- spiette has joined.
22:05:35 -!- hppavilion[1] has quit (Ping timeout: 264 seconds).
22:10:15 -!- Sprocklem has quit (Ping timeout: 240 seconds).
22:12:08 -!- Sprocklem has joined.
22:20:07 -!- lynn_ has changed nick to lynn.
22:29:45 -!- oerjan has joined.
22:30:20 <oerjan> @messages-
22:30:20 <lambdabot> boily said 10h 53m 10s ago: LET'S DO THE GRAVITATIONAL WAVE! WOOOOOOOOOOO!
22:30:32 <oerjan> @tell boily WOOOOSQUEE!!!
22:30:33 <lambdabot> Consider it noted.
22:30:33 -!- AnotherTest has quit (Ping timeout: 240 seconds).
22:35:46 -!- spiette has quit (Ping timeout: 272 seconds).
22:36:21 -!- tromp_ has joined.
22:38:50 -!- hppavilion[1] has joined.
22:40:35 -!- heroux has quit (Ping timeout: 276 seconds).
22:40:35 -!- tromp_ has quit (Ping timeout: 240 seconds).
22:41:17 -!- heroux has joined.
22:45:08 -!- lynn_ has joined.
22:47:42 -!- lynn has quit (Ping timeout: 256 seconds).
22:50:20 -!- hppavilion[1] has quit (Ping timeout: 272 seconds).
22:52:16 -!- lynn_ has quit (Quit: Leaving).
22:59:14 -!- hppavilion[1] has joined.
23:03:30 -!- lynn has joined.
23:04:37 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
23:17:17 -!- boily has joined.
23:17:43 <boily> hellørjan!
23:18:04 <boily> @massages-loud
23:18:04 <lambdabot> oerjan said 47m 31s ago: WOOOOSQUEE!!!
23:19:52 <boily> @metar CYUL
23:19:52 <lambdabot> CYUL 122317Z 16011KT 1 1/2SM -SN OVC011 M07/M09 A2980 RMK SN2SF6 SLP094
23:21:34 <oerjan> bood evenily
23:22:31 -!- Sprocklem_ has joined.
23:25:59 -!- Sprocklem has quit (Ping timeout: 264 seconds).
23:27:28 <zzo38> I think I have now figured it out properly
23:31:25 <zzo38> This is what I did: data = ${if eq{$domain}{zzo38computer.org} {${lookup{$local_part}lsearch{/etc/aliases}{$value}{:fail: No alias}}}{}} in the "system_aliases" block (I commented out the other "data =" line)
23:31:32 <zzo38> I don't know if it is the proper way to do it though
23:35:34 <boily> finally thawed. walked home because busses melt away when there's snow.
23:35:45 * boily rants and grumbles
23:36:04 -!- Sprocklem_ has quit (Ping timeout: 248 seconds).
23:37:51 <oerjan> `! bf_txtgen hi izabera
23:38:29 <oerjan> with my luck it's either missing or timing out
23:38:35 <HackEgo> 99 +++++++++++++++[>+++++++>++++++++>+++++++>++<<<<-]>-.>>.>++.<.<++.>--------.+.<<---.>--------.>-.>. [308]
23:38:38 <oerjan> yay!
23:39:19 -!- p34k has quit.
23:39:40 <boily> what are the 99 and 308?
23:40:05 <oerjan> i think 99 is the length
23:40:34 -!- hppavilion[1] has joined.
23:40:36 -!- ais523 has joined.
23:40:39 <oerjan> 308 is either running time or generation time, not sure
23:40:48 -!- Sprocklem has joined.
23:41:07 <boily> `! bf_txtgen hi izabera
23:41:21 <boily> let's reproduce the experiment and check if anything changes...
23:41:26 <HackEgo> 91 +++++++++++++++[>++++++++>+++++++>++><<<<-]>>-.+.>++.<.<++.>--------.+.+++.<--------.>----. [903]
23:41:30 <izabera> wat
23:41:34 <boily> wut?
23:41:49 <boily> there's something wrong there...
23:41:55 <boily> `! bf_txtgen hi izabera
23:42:07 <ais523> boily: you mean the ><?
23:42:18 <ais523> bf_txtgen just uses a fixed template
23:42:20 <boily> his523. ???
23:42:36 <HackEgo> No output.
23:42:48 <boily> what the fungot is going on.
23:42:49 <fungot> boily: madam president, in this parliament. we will be talking about this being an opportunity to express its views soon enough to be able to discuss it in council and there are certain european aspects. take the failed wto negotiations in seattle, because there is relatively little medical research into poverty-related diseases. the solutions are only to be competitive, regulated in such a way as to avoid any cuts in relation
23:43:21 <boily> izabera: are you a shapeshifter? is your aura eldritch, and emanating distortions in the brainfuck-space-time-continuum?
23:43:22 <oerjan> boily: a timeout?
23:43:28 <FireFly> boily: it's not deterministic
23:43:41 <boily> FirelloFly. that disturbs me.
23:43:53 <FireFly> It uses genetic programming to try to improve the program
23:44:03 <boily> damn! Ō_Ō
23:44:28 <FireFly> I forget where its source code is
23:44:43 <oerjan> `ls interps/bf_txtgen
23:44:44 <boily> so izabera is a normal human. that's good to know.
23:44:44 <HackEgo> CompareIndividuals.class \ Individual.class \ textgen.class \ textgen.java \ textgen.tar.gz
23:44:47 <FireFly> ah
23:45:15 <FireFly> might be, at least
23:45:21 <oerjan> boily: let's not conclude too early
23:45:31 <oerjan> she's in #esoteric, after all.
23:46:20 <FireFly> we're all mad here
23:46:44 <boily> I'm sane.
23:46:48 <izabera> prove it
23:47:04 <boily> `? boily
23:47:06 <HackEgo> boily is monetizing a broterhood scheme with the Guardian of Lachine, apparently involving cookie dealing. He's also a NaniDispenser, a Trigotillectomic Man Eating Chicken and a METARologist. He is seriously lacking in the f-word department.
23:47:13 <boily> ↑ see, I'm sane ^^
23:47:42 <oerjan> boily: someone's got to be the odd one out
23:48:49 <FireFly> @metar ESSB
23:48:49 <lambdabot> ESSB 122320Z AUTO 21006KT 9999 SCT009/// BKN038/// OVC059/// M02/M03 Q0996
23:49:30 <oerjan> `? mad
23:49:31 <HackEgo> mad? ¯\(°​_o)/¯
23:49:39 <FireFly> as a hatter
23:49:47 <oerjan> `le/rn mad/This wisdom entry was censored for being too accurate.
23:49:52 <HackEgo> Learned «mad»
23:49:59 <oerjan> that's in fact true hth
23:50:14 <boily> `? wisdom
23:50:15 <FireFly> [citation needed]
23:50:15 <HackEgo> wisdom is always factually accurate, except for this entry, and uh that other one? it started with like, an ø?
23:50:27 <FireFly> `? ø
23:50:29 <HackEgo> ​ø is not going anywhere.
23:50:42 -!- J_Arcane has joined.
23:50:44 <FireFly> `? rjan
23:50:44 <HackEgo> rjan? ¯\(°​_o)/¯
23:50:47 <boily> (meanwhile, a guy next door just cried "no... nooo... NOOOOOOOOO!")
23:50:56 <FireFly> boily: mad. I tell you
23:50:59 <hppavilion[1]> >FireFly?: we're all mad here <-- especially mad hth
23:51:05 <hppavilion[1]> *<FireFly>
23:51:10 <oerjan> FireFly: "I deleted `? mad for being too accurate." -- oerjan
23:51:22 <hppavilion[1]> `? mad
23:51:24 <HackEgo> This wisdom entry was censored for being too accurate.
23:51:35 <hppavilion[1]> oerjan: Put it in `tomfoolery then
23:51:36 <FireFly> oerjan: well then, can't argue with that
23:51:41 <hppavilion[1]> oerjan: If you remember what it was
23:52:00 <hppavilion[1]> (Unless it was too accurate for wisdom, but not enough for tomfoolery)
23:52:13 <FireFly> `? tomfoolery
23:52:14 <HackEgo> tomfoolery is always factually inaccurate. always.
23:52:38 <FireFly> `` grep factually wisdom/*
23:52:44 <HackEgo> grep: wisdom/le: Is a directory \ grep: wisdom/¯\(°_o): Is a directory \ grep: wisdom/¯\(°​_o): Is a directory \ Binary file wisdom/reflection matches \ wisdom/tomfoolery:tomfoolery is always factually inaccurate. always. \ wisdom/wisdom:wisdom is always factually accurate, except for this entry, and uh that other one? it started with like, a
23:52:48 <hppavilion[1]> FireFly: It's what we created so people can actually figure out what's going on
23:52:52 <ais523> `tmflry tomfoolery
23:52:53 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: tmflry: cannot execute: Is a directory
23:52:59 <hppavilion[1]> `tomfoolery hth
23:53:00 <HackEgo> hth means "hope that helps"
23:53:09 <hppavilion[1]> FireFly: That right there was the motivation
23:53:12 <ais523> `tomfoolery tomfoolery
23:53:13 <HackEgo> tomfoolery is wisdom
23:53:17 <FireFly> `tomfoolery tdnh
23:53:18 <HackEgo> I must confess, I know not of what you are speaking.
23:53:23 <hppavilion[1]> FireFly: Not added yet
23:53:33 <FireFly> tdnh
23:53:50 <hppavilion[1]> `misle/rn tdnh/"That did not help", used when your hth raises an exception
23:53:53 <HackEgo> Was lied to about «tdnh»
23:54:15 <shachaf> oerjan: `? tdnh
23:54:20 <shachaf> Er.
23:54:24 <shachaf> `? tdnh
23:54:25 <HackEgo> tdnh does not help
23:54:32 <shachaf> the dogs need hugs
23:54:35 <shachaf> always true
23:54:41 <hppavilion[1]> FireFly: As long as it actually explains to the user what it is in an accurate and readable fashion, you can put whatever you want in `tomfoolery
23:54:59 <FireFly> So basically, it's wtf(1)
23:55:12 <FireFly> er wtf(6)
23:55:19 <shachaf> I can put whatever I want in `tomfoolery no matter what.
23:55:36 <shachaf> HackEgo is anarchy, yo
23:55:40 <hppavilion[1]> It was created largely because newbies have no clue wtf 90% of what we say means
23:57:03 <hppavilion[1]> `mislearn brainfuck is an esoteric programming language created for extreme minimalism- which it accomplishes, with a total of eight (8) zero-argument procedural instructions. It is what introduces many people to esolangs, spawning a vast number of derivatives that we pretty much all despise. http://esolangs.org/wiki/Brainfuck
23:57:06 <HackEgo> Was lied to about 'brainfuck': brainfuck is an esoteric programming language created for extreme minimalism- which it accomplishes, with a total of eight (8) zero-argument procedural instructions. It is what introduces many people to esolangs, spawning a vast number of derivatives that we pretty much all despise. http://esolangs.org/wiki/Brainfuck
23:57:11 -!- heroux has quit (Ping timeout: 264 seconds).
23:57:13 <hppavilion[1]> `tomfoolery brainfuck
23:57:14 <HackEgo> brainfuck is an esoteric programming language created for extreme minimalism- which it accomplishes, with a total of eight (8) zero-argument procedural instructions. It is what introduces many people to esolangs, spawning a vast number of derivatives that we pretty much all despise. http://esolangs.org/wiki/Brainfuck
23:57:26 <hppavilion[1]> `wtf
23:57:26 <HackEgo> why is like wtf
23:57:42 <hppavilion[1]> `wtf is a walrus
23:57:43 <HackEgo> why is a walrus is like wtf
23:57:47 -!- heroux has joined.
23:57:56 <hppavilion[1]> `wtf(6)
23:57:57 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wtf(6): not found
23:58:05 <oerjan> hppavilion[1]: your brainfuck tomfoolery is not entirely true hth
23:58:12 <hppavilion[1]> oerjan: How so?
23:58:21 <FireFly> hm
23:58:32 <FireFly> `which wtf
23:58:33 <HackEgo> ​/hackenv/bin/wtf
23:58:41 <FireFly> `` ls /usr/bin/wtf
23:58:42 <HackEgo> ls: cannot access /usr/bin/wtf: No such file or directory
23:58:44 <oerjan> it slightly misrepresents its reason for creation.
23:58:45 <FireFly> oh, okay
23:58:52 <hppavilion[1]> oerjan: Ah, I'll fix it
23:59:10 <FireFly> hppavilion[1]: your package manager might have it
23:59:39 <FireFly> http://netbsd.gw.com/cgi-bin/man-cgi/man?wtf+6+NetBSD-current
23:59:49 <hppavilion[1]> `mislearn brainfuck is an esoteric programming language created to make the smallest possible compiler for a Turing-complete language. To do this, it was designed to be extremely minimalistic- which it accomplishes, with a total of eight (8) zero-argument procedural instructions. It is what introduces many people to esolangs, spawning a vast number of derivatives that we pretty much all despise. http://esolangs.org/wiki/Brainfuck
23:59:51 <HackEgo> Was lied to about 'brainfuck': brainfuck is an esoteric programming language created to make the smallest possible compiler for a Turing-complete language. To do this, it was designed to be extremely minimalistic- which it accomplishes, with a total of eight (8) zero-argument procedural instructions. It is what introduces many people to esolangs, s
2016-02-13
00:00:17 <oerjan> `tomfoolery brainfuck
00:00:18 <HackEgo> brainfuck is an esoteric programming language created to make the smallest possible compiler for a Turing-complete language. To do this, it was designed to be extremely minimalistic- which it accomplishes, with a total of eight (8) zero-argument procedural instructions. It is what introduces many people to esolangs, spawning a vast number of deriva
00:00:27 <oerjan> FALE
00:00:48 <oerjan> *MWAHAHAHAHA*
00:08:50 -!- heroux has quit (Ping timeout: 260 seconds).
00:08:58 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
00:10:43 -!- heroux has joined.
00:12:34 <ais523> you just need to golf the description a bit
00:12:43 -!- tromp_ has joined.
00:22:57 -!- tromp_ has quit (Remote host closed the connection).
00:30:02 <hppavilion[1]> oerjan: NUUUUUUUUUUU
00:30:08 <hppavilion[1]> ais523: Yeah, probably
00:30:56 <hppavilion[1]> `mislearn brainfuck is an esoteric programming language created to make the smallest possible compiler for a Turing-complete language. It is what introduces many people to esolangs, spawning a vast number of derivatives that we pretty much all despise. http://esolangs.org/wiki/Brainfuck
00:30:59 <HackEgo> Was lied to about 'brainfuck': brainfuck is an esoteric programming language created to make the smallest possible compiler for a Turing-complete language. It is what introduces many people to esolangs, spawning a vast number of derivatives that we pretty much all despise. http://esolangs.org/wiki/Brainfuck
00:31:06 <hppavilion[1]> `tomfoolery brainfuck
00:31:07 <HackEgo> brainfuck is an esoteric programming language created to make the smallest possible compiler for a Turing-complete language. It is what introduces many people to esolangs, spawning a vast number of derivatives that we pretty much all despise. http://esolangs.org/wiki/Brainfuck
00:31:17 <hppavilion[1]> ais523: There, cut out a sentence
00:38:09 <ais523> so the next question is, how many #esoteric denizens don't know what brainfuck is?
00:39:15 <shachaf> Apparently hppavilion[1] didn't until recently.
00:39:37 <hppavilion[1]> shachaf: No, that was hth
00:39:45 <hppavilion[1]> ais523: It's more for newbies
00:39:51 -!- slackerSnail has joined.
00:39:52 <hppavilion[1]> ais523: Also, for consistency
00:39:54 <hppavilion[1]> `? brainfuck
00:39:55 <HackEgo> brainfuck is the integral of the family of terrible esolangs.
00:40:07 <ais523> I was thinking that it might be useful for new people
00:40:08 -!- Treio has quit (Quit: Leaving).
00:40:17 <ais523> even then, many people come here from the wiki
00:40:30 <ais523> and you can't really read the wiki for long without stumbling across a BF derivative
00:40:41 <hppavilion[1]> ais523: Yeah, I figured as much
00:40:42 <slackerSnail> can confirm
00:40:43 <hppavilion[1]> But still
00:40:48 <hppavilion[1]> slackerSnail: Hi!
00:40:51 <slackerSnail> just got here from the wiki, it's a lot of bf
00:40:58 <hppavilion[1]> `relcome
00:41:01 <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.)
00:41:03 <hppavilion[1]> `relcome slackerSnail
00:41:05 <HackEgo> slackerSnail: 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.)
00:41:10 <hppavilion[1]> There we go :)
00:41:16 <slackerSnail> Yeah so I just wrote a 3var-to-SmileBASIC compiler
00:41:24 <slackerSnail> yeah a compiler
00:41:30 <hppavilion[1]> Cool!
00:41:41 <hppavilion[1]> slackerSnail: I've been working towards making a compiler for a while now.
00:42:13 <slackerSnail> so if any of you have SmileBASIC (which is unlikely let's be honest) https://smilebasicsource.com/page?pid=299
00:42:27 <slackerSnail> I didn't just come here to advertise lol
00:42:29 <ais523> ooh, I was confusing 3var with something else
00:42:38 <ais523> how compatible is SmileBASIC with other basics?
00:42:57 <slackerSnail> I like to describe it to people as a "modern spin on BASIC"
00:43:01 <slackerSnail> it's not entirely compatible
00:43:02 <ais523> also, are you using unbounded integers or just normal integers? languages like 3var rely on the integers being unbounded to run anything but trivial prgorams
00:43:06 <slackerSnail> rather game-centric
00:43:17 <slackerSnail> uh.. sint32, what SB supports
00:43:37 <slackerSnail> it used to be doubles but it seemed like everyone else used integer division
00:43:37 <ais523> that's a normal bounded integer
00:43:42 <hppavilion[1]> slackerSnail: Ah, not very useful then
00:43:44 <hppavilion[1]> But still cool
00:43:53 <hppavilion[1]> (Godel numbering is generally a good thing)
00:44:04 <slackerSnail> I can't even figure out fibonacci sequence on it :P
00:44:05 <hppavilion[1]> (Generally.)
00:44:11 <ais523> doubles are also bounded; the bounds are much larger than with an integer, /but/ if you go too far out of the integer range, they start becoming inaccurate
00:44:18 <slackerSnail> yeah, I figured
00:44:21 <ais523> and using approximations
00:44:36 <ais523> this is actually what "floating-point" means (that the accuracy changes along with the number)
00:44:36 <slackerSnail> I could construct some kind of unbounded integer implementation in SB with strings and VAL
00:44:40 <hppavilion[1]> ais523: I'm trying to figure out a joke for when Godel Numbering is bad xD
00:44:41 <slackerSnail> yeah
00:44:53 <hppavilion[1]> I guess you shouldn't use Godel Numbering to add? Maybe?
00:45:18 <slackerSnail> SmileBASIC is a 3DS app if you don't know so yeah
00:45:19 <hppavilion[1]> slackerSnail: It's preferable to do something with the carry flag if it's available to you
00:45:25 <hppavilion[1]> slackerSnail: I noticed xD
00:45:28 <slackerSnail> not a lot of people know about it
00:45:41 <slackerSnail> It came out October 15th last year
00:45:50 <slackerSnail> small Japanese production
00:46:03 <slackerSnail> of course Japan got it nearly a year before :)
00:46:10 <hppavilion[1]> slackerSnail: I'm attempting to make a game console (emulated) :)
00:46:24 <slackerSnail> ooh, sounds neat
00:46:50 <slackerSnail> the SB chat (which I'm usually in) is so dead rn
00:47:00 <slackerSnail> thought I'd pop in here because boredom
00:47:41 <slackerSnail> but enough about me
00:48:16 <hppavilion[1]> slackerSnail: A RISCy move coming here.
00:48:31 <slackerSnail> pun
00:48:36 <ais523> hppavilion[1]: that pun became stale a while back
00:48:45 <hppavilion[1]> ais523: Yes, yes it did.
00:48:58 <hppavilion[1]> ais523: Feel free to change the topic if you have any better ideas
00:49:21 <hppavilion[1]> ais523: (also, slackerSnail hasn't seen it yet, so it isn't stale for them)
00:49:26 <ais523> we could always go back to the "the international hub…" topic
00:49:36 <ais523> it was the standard in this channel for years
00:49:43 <hppavilion[1]> ais523: True, true
00:49:50 <ais523> `` grep -R 'international hub' .
00:50:16 <hppavilion[1]> ais523: I think you killed HackEgo.
00:50:22 <hppavilion[1]> `mourn HackEgo
00:50:27 <HackEgo> No output.
00:50:28 <HackEgo> Alas, poor HackEgo, I knew him well!
00:50:30 <ais523> huh, -r and -R are technically different
00:50:39 <hppavilion[1]> Ah, right, that command actually works
00:50:42 <hppavilion[1]> I forgot about that xD
00:50:53 <ais523> but yes, in retrospect my command seemed likely to hit timeout
00:50:55 <FireFly> Yeah, IIRC one only does colour escapes and the other all escapes or something?
00:51:04 <FireFly> I always go with -R, which I think is the one that interprets more sequences
00:51:08 <FireFly> oh wait
00:51:17 <FireFly> ... >.> I was thinkig of less -r -R
00:51:32 -!- tromp_ has joined.
00:51:34 <hppavilion[1]> slackerSnail: So how do you like esolangs so far?
00:51:50 <FireFly> ah, looked it up for grep. That's interesting
00:52:03 <zzo38> Do you like this?
00:52:48 <hppavilion[1]> slackerSnail: That's just zzo38, one of our resident bots
00:52:54 -!- PinealGlandOptic has joined.
00:53:13 <slackerSnail> I wrote like a Befunge interpreter for Petit Computer (SB's predecessor) like a year ago
00:53:19 <ais523> zzo38 isn't a bot
00:53:20 <hppavilion[1]> Oooh
00:53:23 <hppavilion[1]> ais523: Shush
00:53:26 <ais523> at least I don't think so
00:53:36 <slackerSnail> never finished it; PTC was very much un-modern BASIC so the code was virtually un-maintainable
00:53:39 <hppavilion[1]> slackerSnail: I've always liked befunge :)
00:53:40 <ais523> hppavilion[1] also isn't a bot, but is somewhat overenthusiastic
00:53:47 <hppavilion[1]> I am
00:53:53 <hppavilion[1]> It's to hide my constant agony
00:53:54 <ais523> fungot: show off
00:53:55 <fungot> ais523: mr president, ladies and gentlemen, i do wish to make one final comment to make on amendments nos 3, 12, 14, 23, 25, 27 and 31, which we have had the subsequent incidents involving the expulsion, or attempted expulsion, of illegal immigrants based on the gas directive. it seems to me to go away. for a very long history, deals with the specific participation of young farmers.
00:54:05 <ais523> fungot is written in Funge-98
00:54:05 <fungot> ais523: i shall make two points: patent protection and homeopathic medicinal products. before i go on to make the whole system. thirdly, starch potato producers have had to debate this serious issue.
00:54:11 <slackerSnail> I tried to introduce the Funge-98 features but the code was so much spaghetti
00:54:28 <ais523> you pretty much have to restart from scratch to write a Funge-98 interpreter starting with a Funge-93 interpreter
00:54:34 <ais523> the language requires the internals to be much more general
00:54:41 <ais523> `? mycology
00:54:43 <HackEgo> mycology is a Befunge-98 (also -93 to some extent) testsuite that can be found at https://deewiant.iki.fi/projects/mycology/
00:55:11 <hppavilion[1]> ais523: We should probably move that to `tomfoolery
00:55:28 <hppavilion[1]> `misle/rn mycology is a Befunge-98 (also -93 to some extent) testsuite that can be found at https://deewiant.iki.fi/projects/mycology/
00:55:31 <HackEgo> Was lied to about «mycology is a befunge-98 (also -93 to some extent) testsuite that can be found at https:»
00:55:32 <hppavilion[1]> Whoops
00:55:36 <ais523> you forgot the slash :-P
00:55:42 <ais523> `revert
00:55:43 <hppavilion[1]> `mislearn mycology is a Befunge-98 (also -93 to some extent) testsuite that can be found at https://deewiant.iki.fi/projects/mycology/
00:55:50 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
00:55:53 <HackEgo> Was lied to about 'mycology': mycology is a Befunge-98 (also -93 to some extent) testsuite that can be found at https://deewiant.iki.fi/projects/mycology/
00:57:27 <hppavilion[1]> slackerSnail: Does SmileBASIC use goto's or logical control flow? Or both, perhaps?
00:57:33 <ais523> hmm, I should feel proud about that canary.orig error message
00:57:56 <ais523> given that it's the only time anyone's actually pierced HackEgo's sandbox
00:57:56 <ais523> even if it was unintentoinal
00:58:03 <slackerSnail> hppavilion[1]: it has labels but also structures like WHILE/FOR/DEF
00:58:20 <slackerSnail> labels are really only useful for DATA
00:58:29 <hppavilion[1]> slackerSnail: Ah. I'd recommend you avoid goto as much as possible, if you didn't know to already.
00:58:40 <slackerSnail> yeah I'm a bit of a hobby coder :)
00:58:45 <hppavilion[1]> Use comefrom instead xD
00:58:59 -!- heroux has quit (Ping timeout: 264 seconds).
00:59:03 <ais523> hppavilion[1]: come from is normally about as readable as goto
00:59:05 <ais523> at least, unconditional come from
00:59:10 <ais523> it's usual to write a comment at the jump source
00:59:13 <FireFly> Having messed a bit with Petit Computer.. yes, not a very pretty dialect of BASIC
00:59:17 <slackerSnail> PTC only had IF/ELSE/GOTO/GOSUB/FOR
00:59:45 <oerjan> <ais523> but yes, in retrospect my command seemed likely to hit timeout <-- especially since the entire hg repository is mounted in ./.hg or thereabouts
00:59:48 <slackerSnail> SmileBASIC has IF/ELSEIF/ELSE/WHILE/FOR/GOTO/GOSUB/DEF/REPEAT and I'm sure I'm missing something
01:00:02 <oerjan> or hm
01:00:03 <slackerSnail> DEF basically creates commands/functions
01:00:05 <ais523> `unidecode .
01:00:06 <HackEgo> ​[U+002E FULL STOP]
01:00:10 <ais523> thought so
01:00:15 <ais523> why does . have to come so early in asciibetical order
01:00:20 <hppavilion[1]> I now want to make a new BASIC and distribute it to the masses
01:00:34 <slackerSnail> SmileBASIC is pretty good for what it is, I would recommend it to hobby people
01:00:42 <ais523> aren't there enough basics already?
01:00:46 <slackerSnail> $9.99 is US land
01:00:51 <ais523> make a new logo and distribute it to the masses
01:01:05 <hppavilion[1]> ais523: To see if I can get the world of computer users programming again
01:01:09 <hppavilion[1]> ais523: OK, probably that instead
01:01:13 <hppavilion[1]> Or Baso.
01:01:14 <ais523> logo's a) actually pretty powerful, b) normally thought of as being used by schoolchildren (thus adding a powerful library to it will surprise people)
01:01:30 <slackerSnail> i wonder if I still have my ptc funge source code around somewhere
01:01:33 <ais523> like, write a website in logo, that would be pretty eso
01:02:35 <slackerSnail> hehe yeah, here it is
01:03:09 <slackerSnail> woah, 2014? this is older than I remember
01:04:09 -!- heroux has joined.
01:05:20 <hppavilion[1]> ais523: Yeah, Logo would be better
01:05:49 <oerjan> `` ls tmflry/myc*
01:05:51 <HackEgo> tmflry/mycology
01:05:57 <zzo38> I have programmed in GWBASIC and QBASIC but I have not used SmileBASIC (I have heard of it though)
01:06:14 <slackerSnail> it's pretty good
01:06:27 <slackerSnail> and since program sharing is over a server there's a lot of stuff to play with
01:06:50 <hppavilion[1]> ais523: What would be a good syntax for an educational language?
01:07:27 <ais523> hppavilion[1]: I'm not sure, most places seem to use Java or Python
01:07:38 <ais523> at the university where I used to teach (and still works), first years were taught on Java and OCaml simultaneously
01:07:46 <ais523> with other languages coming in in later years
01:07:50 <ais523> `quote Prolog
01:07:51 <hppavilion[1]> ais523: Yeah, maybe...
01:07:51 <HackEgo> 884) <fizzie> What I learned on the Prolog course is that it's a good language if you need a thing that can say "No" a lot. \ 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 \ 1203) <b_jonas> oerjan: the origina
01:08:42 <hppavilion[1]> I'm looking for something that... is good for new learners, and perhaps that hasn't been done frequently
01:08:46 <ais523> Prolog definitely should count as eso by most definitions, the problem is that a) it was intended seriously when created, and b) there are very specific problem domains it's actually good at
01:08:49 <oerjan> `` ls -l -d .hg
01:08:50 <HackEgo> drwxr-xr-x 4 5000 5000 4096 Feb 13 00:55 .hg
01:09:18 <hppavilion[1]> A LISP doesn't seem ideal, and BASICs have been done before
01:09:26 <ais523> oerjan: if you're trying to get the size of the directory recursively, you can only do that by iterating over it with a command like du
01:09:27 <hppavilion[1]> A Haskell might actually be good
01:09:45 <ais523> hppavilion[1]: do you understand monads?
01:10:03 <hppavilion[1]> ais523: No, and neither does anybody else
01:10:16 <hppavilion[1]> ais523: Not a PURE haskell, just something with functional capabilities
01:10:36 <hppavilion[1]> Like, with the partial application and stuff. That'd be good for an educational language, IMLIO
01:10:55 <FireFly> We get to learn the basics of Prolog and some other languages in the second year here
01:10:57 <hppavilion[1]> ("In My Likely-Incorrect Opinion")
01:10:58 <oerjan> ais523: `revert does not always work for file creations. although it seemed to work in that case.
01:11:16 <FireFly> Prolog was pretty fun, but it certainly felt a bit unusual to work with
01:11:21 <hppavilion[1]> Shells probably aren't a good idea for an educational language either...
01:11:31 <ais523> hppavilion[1]: why not use OCaml? it's like Haskell but with a more intuitive evaluation order
01:11:53 <hppavilion[1]> ais523: Use an OCaml-like syntax you mean?
01:11:53 <ais523> (that said, in my current project at work I'm using Ocaml but someone seems to have defined a >>= operator; I'm scared to see what it does)
01:12:04 <ais523> hppavilion[1]: an ocaml-like semantics
01:12:08 <hppavilion[1]> Perhaps
01:12:09 <slackerSnail> this discussion really does seem esoteric to me (bad joke)
01:12:20 <ais523> slackerSnail: it's more ontopic than we normally are, which is a good thing
01:12:24 <ais523> I like it when the channel's ontopic
01:12:25 <oerjan> ais523: i was actually just checking if .hg was a symbolic link or not
01:12:36 <oerjan> (and so would have been excluded by -r)
01:12:50 <hppavilion[1]> ais523: I'm looking for something easy for a newbie to learn xD
01:12:50 <ais523> `` mv .hg .hg_old
01:12:51 <HackEgo> mv: cannot move `.hg' to `.hg_old': Device or resource busy
01:12:58 <hppavilion[1]> Functional programming is not very good for newbies, LTIC
01:13:05 <ais523> OK, I was wondering what happened if I tried to rename it, given that it's updated magically
01:13:06 <hppavilion[1]> It's just confusing
01:13:13 <ais523> based on the exact error I got, I'm guessing it's a mount point
01:13:15 <slackerSnail> i tried learning Haskell
01:13:15 <ais523> `` mount
01:13:16 <HackEgo> none on /bin type hostfs (ro,nosuid,relatime,/bin/) \ none on /usr type hostfs (ro,nosuid,relatime,/usr/) \ none on /dev type hostfs (ro,nosuid,relatime,/dev/) \ none on /opt type hostfs (ro,nosuid,relatime,/opt/) \ none on /lib type hostfs (ro,nosuid,relatime,/lib/) \ none on /sbin type hostfs (ro,nosuid,relatime,/sbin/) \ none on /lib64 type host
01:13:20 <slackerSnail> i didn't learn haskell
01:13:25 <ais523> `` mount | grep -v none
01:13:26 <HackEgo> tmpfs on /tmp type tmpfs (rw,relatime) \ proc on /proc type proc (rw,relatime) \ sysfs on /sys type sysfs (rw,relatime)
01:13:54 <ais523> ooh, "hostfs"
01:14:00 <oerjan> <hppavilion[1]> ais523: No, and neither does anybody else <-- bah, i understand monads (in haskell, for CT ask shachaf)
01:14:01 <ais523> I bet it's mirroring something from the host
01:14:44 <ais523> I did think up an approach to monad tutorials that I don't think I've seen done well before
01:14:44 <hppavilion[1]> ais523: What parts of programming are underrepresented in educational languages?
01:14:45 <shachaf> copumpkin is the CT expert here
01:14:50 <shachaf> he even moved there
01:14:58 <ais523> that said, I haven't actually written a monad tutorial, because I don't want to become a meme
01:15:21 <hppavilion[1]> ais523: How- wha- a meme?
01:15:30 <hppavilion[1]> Like, a classical meme?
01:15:33 <hppavilion[1]> Or a modern meme?
01:15:56 <ais523> hppavilion[1]: monad tutorials are something of a meme
01:16:04 <hppavilion[1]> Ah
01:17:18 <oerjan> `df .hg
01:17:18 <HackEgo> df: Warning: cannot read table of mounted file systems: No such file or directory \ Filesystem 1K-blocks Used Available Use% Mounted on \ - 40573996 9361756 29155208 25% /hackenv/.hg
01:17:24 <ais523> there are a lot of terrible ones, and even most of the ones that help at least one person are totally confusing to most other people
01:17:34 <hppavilion[1]> Hm...
01:17:37 <ais523> oerjan: bah why did I not come to the logical conclusion there
01:17:41 <hppavilion[1]> I want something I could teach my peers with
01:17:44 <ais523> all the pieces were right in front of me
01:17:59 <ais523> hppavilion[1]: I've seen someone use Ook! as a teaching language
01:18:07 <hppavilion[1]> ais523: No.
01:18:08 <hppavilion[1]> Just no.
01:18:43 <ais523> (note: Ook! is one of the few BF derivatives that we don't hate, on the basis that it was the first and thus the idea of being a BF derivative hadn't become discredited yet)
01:18:55 <hppavilion[1]> Oh
01:19:11 <hppavilion[1]> What would be a good set of basic semantic and syntactic features for teaching clueless highschoolers how to code?
01:19:18 <hppavilion[1]> I'd say non-console IO
01:19:49 <ais523> most commonly I see people do either: very simple imperative languages (think BASIC); Logo derivatives; or flowchart-based languages with a GUI editor
01:20:07 <hppavilion[1]> Probably not the last one
01:20:13 <slackerSnail> in my compsci class we learn Java so there's that
01:20:21 <hppavilion[1]> slackerSnail: Not Java.
01:20:32 <slackerSnail> not a common teaching language
01:20:52 <ais523> Java is totally a common teaching languages, although normally at the undergraduate level
01:21:10 <ais523> I believe the reason is that plausibly being able to claim that you know Java almost guarantees you'll be able to get a job
01:21:19 <ais523> thus it does wonders for the department's graduate employment statistics
01:21:22 -!- RedPhoenix_ has joined.
01:21:32 <RedPhoenix_> Hi
01:22:03 <ais523> `welcome RedPhoenix_
01:22:05 <HackEgo> RedPhoenix_: 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:22:06 <oerjan> `` df .hg 2>/dev/null
01:22:07 <HackEgo> Filesystem 1K-blocks Used Available Use% Mounted on \ - 40573996 9362416 29154548 25% /hackenv/.hg
01:22:31 <ais523> 9362416 kilobytes? that's a lot of space
01:22:40 <hppavilion[1]> RedPhoenix_: Oh, you came over here xD
01:22:45 <hppavilion[1]> Welcome then
01:22:46 <ais523> kind-of unbelievably large, actually
01:22:59 <RedPhoenix_> Why I'm reading "erotic" instead of esoteric? o.O
01:23:17 <ais523> I don't think we have any erotic esolangs yet?
01:23:32 <Phantom_Hoover> well there's brainfuck
01:23:50 <ais523> that's not erotic, it just has "fuck" in the name
01:23:54 <ais523> also "brain"
01:24:01 <RedPhoenix_> hppavilion[1]: Yes, I came over here, hurra!
01:24:15 <Phantom_Hoover> ais523, you're not trying hard enough
01:25:13 <hppavilion[1]> `relcome RedPhoenix_
01:25:14 <HackEgo> RedPhoenix_: 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:25:25 <ais523> ugh do I have to delete relcome again :-(
01:25:34 <RedPhoenix_> hppavilion[1]: Hi, again ..
01:25:56 <RedPhoenix_> Bot?
01:26:23 <ais523> HackEgo's a bot, hppavilion[1] isn't (just a bit overenthusiastic)
01:27:00 <hppavilion[1]> ais523: Huh?
01:27:12 <ais523> hppavilion[1]: I'm replying to RedPhoenix_
01:27:16 <FireFly> they were already welcomed once..
01:27:20 <ais523> also getting annoyed at you re-welcoming someone just so that you could rainbow it
01:27:23 <hppavilion[1]> ais523: No, about deleting `relcome
01:27:25 <Phantom_Hoover> RedPhoenix_, most people think it means the other kind of esoteric, 'erotic' is a new one
01:27:48 <ais523> hppavilion[1]: because of people overwelcoming in an annoying way and with stupid welcome variants
01:27:49 <hppavilion[1]> FireFly: Oh, I didn't notice because it wasn't colorful
01:28:02 <hppavilion[1]> I thought it was a command output or something
01:28:06 <hppavilion[1]> I'm a bit clueless.
01:28:20 <hppavilion[1]> (Well, it IS a command output, but...)
01:28:22 <FireFly> I mean.. it was command output :P
01:28:33 <fizzie> ais523: That's the stats for the whole root filesystem of the thing.
01:28:44 <fizzie> ais523: I'm guessing a side effect on how umlbox mounts those things.
01:28:48 <ais523> fizzie: ah right
01:28:49 <RedPhoenix_> I need sleep, 4 times or so I've read "#erotic" instead of "#esorotik"
01:28:55 <RedPhoenix_> damn!
01:28:59 -!- heroux has quit (Ping timeout: 264 seconds).
01:29:01 <RedPhoenix_> * "'esoteric"
01:29:02 <ais523> something I discovered recently: if you need sleep, then get it
01:29:04 <RedPhoenix_> !
01:29:08 <ais523> not sleeping just makes you tireder
01:29:22 <hppavilion[1]> So should I take a different approach to teaching programming from scratch (well, not different at all) and use static typing?
01:29:24 -!- oerjan has set topic: The esorotic channel | 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 ♪.
01:29:30 <RedPhoenix_> * "#esoteric"
01:29:37 -!- heroux has joined.
01:29:41 <oerjan> TOO LATE
01:30:25 <RedPhoenix_> Hmm
01:30:28 <oerjan> <hppavilion[1]> FireFly: Oh, I didn't notice because it wasn't colorful <-- *MWAHAHAHA* i knew it
01:30:48 <hppavilion[1]> oerjan: I'm inverse color blind, don't laugh at me :,(
01:31:14 <hppavilion[1]> `? hppavilion[1]
01:31:17 <fizzie> ais523: That said, the whole persistent directory does manage to take 527M of space; 220M excluding the .hg part.
01:31:18 <HackEgo> hppavilion[1] se describe en las notas al pie. ¿Porqué no los dos? Nadie lo sabe.
01:31:34 <oerjan> hppavilion[1]: i may have been slightly laughing at ais523 too, there
01:31:35 <FireFly> hppavilion[1]: I think that is usually called synesthesia
01:31:58 <ais523> oerjan: what have I done that's worthy of being laughed at?
01:32:02 <RedPhoenix_> http://codu.org/logs/_esoteric/2003-01-18.txt :O
01:32:08 <hppavilion[1]> FireFly: No, the other inverse
01:32:37 <oerjan> ais523: you want people to use `welcome instead of the others, but it's so boring people miss that it's been used :P
01:32:54 <oerjan> so you get _more_ over-welcoming that way.
01:32:55 <RedPhoenix_> Why must be the ` there?
01:33:01 <ais523> oerjan: well this channel shouldn't be /about/ welcomes
01:33:07 <oerjan> RedPhoenix_: it's HackEgo's command prefix
01:33:08 <ais523> RedPhoenix_: first character lets bots know which bot we're talking to
01:33:25 <RedPhoenix_> There are multiple bots here?
01:33:31 <oerjan> ^echo precisely!
01:33:31 <fungot> precisely! precisely!
01:33:32 <FireFly> Sure
01:33:33 <ais523> !bf ++++++++[>++++++++<-].
01:33:33 <EgoBot> No output.
01:33:41 -!- RedPhoenix_ has changed nick to Bot_Hunter_2000.
01:33:42 <ais523> !bf ++++++++[>++++++++<-]>.
01:33:42 <EgoBot> ​@
01:33:44 <FireFly> ^bots
01:33:44 <ais523> ^bf ++++++++[>++++++++<-]>.
01:33:45 <fungot> @
01:33:46 <FireFly> hm
01:33:47 <oerjan> > "but of course!"
01:33:49 <lambdabot> "but of course!"
01:33:50 <FireFly> ^prefixes
01:33:50 <fungot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
01:33:51 <ais523> `! bf ++++++++[>++++++++<-]>.
01:33:52 <HackEgo> ​@
01:33:58 <Bot_Hunter_2000> Time to hunt!
01:34:03 <oerjan> ( "lots of them!"
01:34:05 <ais523> (to pick a command that quite a few bots know)
01:34:05 <idris-bot> "lots of them!" : String
01:34:18 <Bot_Hunter_2000> String?
01:34:20 <FireFly> [ 'even this'
01:34:21 <Bot_Hunter_2000> Bot fail?
01:34:21 <j-bot> FireFly: even this
01:34:29 <FireFly> Bot_Hunter_2000: no, it just prints the type of the result
01:34:29 <ais523> Bot_Hunter_2000: "lots of them!" is a String
01:34:31 <Bot_Hunter_2000> ( "test"
01:34:31 <idris-bot> "test" : String
01:34:37 <ais523> ( 12
01:34:38 <Bot_Hunter_2000> ( "test" : hi
01:34:38 <idris-bot> 12 : Integer
01:34:38 <idris-bot> (input):1:8: error: expected: "#",
01:34:38 <idris-bot> "$", "&", "&&", "&&&", "*!>",
01:34:38 <idris-bot> "*", "***", "*>", "*>|", "+",
01:34:38 <idris-bot> "++", "+++", "-", "->", ".",
01:34:39 <idris-bot> "/", "/=", ":+", ":-", "::",↵…
01:34:42 <Bot_Hunter_2000> lol
01:34:46 <oerjan> [ "one more"
01:34:46 <j-bot> oerjan: |syntax error
01:34:47 <j-bot> oerjan: | "one more"
01:34:49 <oerjan> darn
01:34:50 <Bot_Hunter_2000> ( "test" : 1
01:34:50 <idris-bot> (input):1:8: error: expected: "#",
01:34:50 <idris-bot> "$", "&", "&&", "&&&", "*!>",
01:34:50 <idris-bot> "*", "***", "*>", "*>|", "+",
01:34:50 <idris-bot> "++", "+++", "-", "->", ".",
01:34:50 <idris-bot> "/", "/=", ":+", ":-", "::",↵…
01:34:57 <Bot_Hunter_2000> ( "test" : j-bot
01:34:57 <FireFly> I showcased j-bot already :<
01:34:57 <idris-bot> (input):1:8: error: expected: "#",
01:34:57 <idris-bot> "$", "&", "&&", "&&&", "*!>",
01:34:57 <idris-bot> "*", "***", "*>", "*>|", "+",
01:34:57 <oerjan> except i don't know J
01:34:58 <idris-bot> "++", "+++", "-", "->", ".",
01:35:00 <idris-bot> "/", "/=", ":+", ":-", "::",↵…
01:35:08 <FireFly> strings are single-quote only
01:35:10 <ais523> oerjan: it's an APL derivative
01:35:12 <ais523> this doesn't really help though
01:35:15 <FireFly> double quotes have another meaning
01:35:20 -!- Bot_Hunter_2000 has changed nick to RedPhoenix_.
01:35:28 <RedPhoenix_> ( "test" : "hi"
01:35:30 <idris-bot> (input):1:8: error: expected: "#",
01:35:31 <idris-bot> "$", "&", "&&", "&&&", "*!>",
01:35:31 <idris-bot> "*", "***", "*>", "*>|", "+",
01:35:31 <idris-bot> "++", "+++", "-", "->", ".",
01:35:31 <idris-bot> "/", "/=", ":+", ":-", "::",↵…
01:35:50 -!- thutubot has joined.
01:35:52 <RedPhoenix_> I hate bots :/
01:35:54 <ais523> +ul (test)S
01:35:54 <thutubot> test
01:35:55 <FireFly> idris-bot might be more useful if one already knows a bit of Idris
01:35:56 <oerjan> fizzie: i thought the .hg part was readonly from the sandbox, so not really part of the persistent directory
01:36:24 <hppavilion[1]> RedPhoenix_: Bots are our friends!
01:36:25 <ais523> do EgoBot/HackEgo know underload?
01:36:28 <ais523> !ul (test)S
01:36:49 <ais523> come to think of it, I think we taught EgoBot Underload via giving it an Underload impl written in brainfuck
01:36:52 <ais523> `! ul (test)S
01:36:53 <HackEgo> ​/hackenv/bin/!: 4: exec: ibin/ul: not found
01:37:03 <RedPhoenix_> hppavilion[1]: not mine!
01:37:03 <ais523> ^ul (test)S
01:37:03 <fungot> test
01:37:07 <ais523> +ul (test)S
01:37:07 <thutubot> test
01:37:14 <ais523> +haskell 2+2
01:37:16 <thutubot> 4
01:37:26 <hppavilion[1]> ais523: Idea! An esolang, interpreted on a server, that uses neural networks to decide what to do
01:37:32 <int-e> `prefixes
01:37:33 <HackEgo> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
01:37:34 <RedPhoenix_> Your Syntax etc looks like a new programming language: Bot++
01:37:55 <int-e> `? thutubot
01:37:56 <HackEgo> thutubot? ¯\(°​_o)/¯
01:38:04 <ais523> +help
01:38:05 <ais523> hmm
01:38:07 <hppavilion[1]> RedPhoenix_: On it.
01:38:11 <ais523> maybe it doesn't have a help command
01:38:12 <ais523> +ul (test)S
01:38:12 <thutubot> test
01:38:13 <RedPhoenix_> +help
01:38:15 <RedPhoenix_> ?help
01:38:16 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
01:38:16 <thutubot> help <command>. Ask for help for <command>. Try 'list' for all commands
01:38:17 <ais523> ++ul (test)S
01:38:18 <RedPhoenix_> :O
01:38:29 <RedPhoenix_> ?help list
01:38:29 <lambdabot> list [module|command]. Show commands for [module] or the module providing [command].
01:38:29 <thutubot> list [module|command]. Show commands for [module] or the module providing [command].
01:38:33 <int-e> +list
01:38:39 <RedPhoenix_> A query would be better to prevent spam
01:38:39 <ais523> ah right, /this/ is why we don't run thutubot all the time
01:38:58 <ais523> it repeats everything lambdabot says
01:39:09 <ais523> +quit
01:39:21 <RedPhoenix_> ?help
01:39:21 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
01:39:21 <thutubot> help <command>. Ask for help for <command>. Try 'list' for all commands
01:39:27 <RedPhoenix_> ?prefix
01:39:27 <lambdabot> Unknown command, try @list
01:39:27 <thutubot> Unknown command, try @list
01:39:30 <RedPhoenix_> @list
01:39:30 <lambdabot> What module? Try @listmodules for some ideas.
01:39:30 <thutubot> What module? Try @listmodules for some ideas.
01:39:32 <ais523> hmm, I guess it thinks I'm not identified because Freenode changed its identification syntax
01:39:34 -!- thutubot has quit (Remote host closed the connection).
01:39:34 <RedPhoenix_> dat prefixes ...
01:39:43 <int-e> > 1
01:39:45 <lambdabot> 1
01:39:49 <RedPhoenix_> 0
01:40:05 <int-e> @help
01:40:05 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
01:40:18 * int-e shrugs
01:40:26 <RedPhoenix_> @list
01:40:26 <lambdabot> What module? Try @listmodules for some ideas.
01:40:28 <oerjan> ais523: i know _that_, i just don't really know its operators
01:40:30 <RedPhoenix_> @say heyho!
01:40:30 <lambdabot> Maybe you meant: src slap faq
01:40:35 <int-e> ?version
01:40:35 <lambdabot> lambdabot 5.0.3
01:40:35 <lambdabot> git clone https://github.com/lambdabot/lambdabot
01:40:38 <RedPhoenix_> @faw
01:40:38 <lambdabot> http://www.haskell.org/haskellwiki/FAQ
01:40:44 <RedPhoenix_> @slap int-e
01:40:44 <lambdabot> stop telling me what to do
01:40:47 <RedPhoenix_> lol
01:40:49 <ais523> oerjan: it's an APL derivative, thus you can't know them
01:40:53 <RedPhoenix_> @slap int-e
01:40:54 * lambdabot smacks int-e about with a large trout
01:40:58 <ais523> without memorizing them individually
01:41:04 <RedPhoenix_> @src
01:41:04 <lambdabot> src <id>. Display the implementation of a standard function
01:41:08 <RedPhoenix_> @src 1
01:41:08 <lambdabot> Source not found. You speak an infinite deal of nothing.
01:41:30 <RedPhoenix_> @faw
01:41:30 <lambdabot> http://www.haskell.org/haskellwiki/FAQ
01:41:34 <RedPhoenix_> @faq
01:41:34 <lambdabot> http://www.haskell.org/haskellwiki/FAQ
01:41:38 <oerjan> RedPhoenix_: i suspect the syntax error in ( "test" : ... is on the : so it doesn't matter what you put after it.
01:41:47 <RedPhoenix_> ( hi
01:41:47 <idris-bot> No such variable hi
01:41:50 <RedPhoenix_> ( "hi"
01:41:50 <idris-bot> "hi" : String
01:42:00 -!- slackerSnail has quit.
01:42:04 <RedPhoenix_> ( "line1","line2"
01:42:05 <idris-bot> (input):1:8: error: expected: "#",
01:42:05 <idris-bot> "$", "&", "&&", "&&&", "*!>",
01:42:05 <idris-bot> "*", "***", "*>", "*>|", "+",
01:42:05 <idris-bot> "++", "+++", "-", "->", ".",
01:42:05 <idris-bot> "/", "/=", ":+", ":-", "::",↵…
01:42:27 <RedPhoenix_> How many bots are here?
01:42:42 <int-e> My guess is N+1
01:42:50 <oerjan> !underload (test)S
01:42:51 <EgoBot> test
01:42:56 <ais523> this channel was about 10% bots once
01:42:57 <ais523> aha
01:42:58 <ais523> `! underload (test)S
01:42:59 <HackEgo> test
01:43:07 <ais523> looks like we do have an underload interprer
01:43:11 * RedPhoenix_ suicides herself
01:43:18 <ais523> !underload (::^)::^
01:43:20 <EgoBot> Error: Out of memory
01:43:22 <oerjan> <ais523> come to think of it, I think we taught EgoBot Underload via giving it an Underload impl written in brainfuck <-- no that was fungot and it was later replaced by a funge-98 one.
01:43:23 <fungot> oerjan: the council is of the greatest importance. we have seen entire local action programmes on equal opportunities policy for africa, asia and south america, for example, with the promise accompanying monetary unification that a new draft directive greater pressure would be brought into line with those of the who in some cases as sick people, but every time there was a real turning point in space activities, then of course t
01:43:31 <ais523> ^ul (::^)::^
01:43:31 <fungot> ...too much stack!
01:43:48 <ais523> RedPhoenix_: it's only natural that when you have a channel about programming langauges
01:43:52 <ais523> you add some way to run the languages in-channel
01:43:56 <ais523> that's what the bots did originally
01:43:58 <int-e> fungot: wow, that's deep
01:43:59 <fungot> int-e: mr president, ladies and gentlemen, the european commission, were that fact properly to emerge, the three reports before parliament today. i am particularly happy to have got his way and has signed a voluntary commitment concerning the sustainable development of the european council will give impetus to the process moving forward, and i am thinking, for example.
01:44:03 <ais523> only it sort-of got took over by things like quotes and welcome
01:44:28 <RedPhoenix_> ais523: I'm not a really programming freak, I'm doing a little bit funny, but nothing more :(
01:44:35 <RedPhoenix_> +for
01:45:11 -!- heroux has quit (Ping timeout: 264 seconds).
01:45:58 <int-e> oh, we have a new topic
01:46:10 <int-e> oerjan: but shouldn't that c be a k?
01:46:34 <boily> "oh yeah baby... show me your brainfuck derivatives..."
01:46:51 <oerjan> <ais523> it repeats everything lambdabot says <-- you could make it only do that for private messages?
01:46:58 <ais523> oerjan: it was meant to
01:47:05 <ais523> fixing it at this point means reading years-old thutu
01:47:40 -!- RedPhoenix_ has changed nick to RedPhoenix_Away.
01:49:39 <oerjan> <RedPhoenix_> dat prefixes ... <-- we cannot really put the prefixes command in lambdabot because it's a multi-channel bot.
01:50:13 <RedPhoenix_Away> ?
01:50:36 <RedPhoenix_Away> Okay
01:52:46 <oerjan> <RedPhoenix_> How many bots are here? <-- i sometimes like to check if the channel is up to 10% bots. it varies.
01:53:32 <RedPhoenix_Away> oerjan: ok ok, understood, thanks, I'm now away
01:53:50 -!- heroux has joined.
01:54:21 <int-e> testing that theory about sleep, I guess...
01:54:25 <oerjan> <int-e> oerjan: but shouldn't that c be a k? <-- i just copied what was said hth
01:55:34 * oerjan finally reaches the bottom of the channel
01:55:49 <oerjan> now to ruin it by making some food ->
01:56:14 <int-e> oerjan: you really didn't; you made up a new word.
02:01:00 -!- RedPhoenix_Away has quit (Ping timeout: 252 seconds).
02:01:25 <oerjan> did i?
02:01:56 -!- oerjan has set topic: The esorotik channel | 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:02:03 <oerjan> SHOCKING
02:02:14 <int-e> very.
02:09:35 -!- ais523 has quit (Ping timeout: 260 seconds).
02:22:18 -!- boily has quit (Quit: IMAGINARY CHICKEN).
02:41:44 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
02:45:29 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:50:44 <\oren\> buenos tardis!
03:15:47 -!- heroux has quit (Ping timeout: 264 seconds).
03:18:17 -!- heroux has joined.
03:18:29 -!- MDude has changed nick to MDream.
03:22:48 -!- mihow has quit (Quit: mihow).
03:25:36 -!- Sgeo has joined.
03:25:56 -!- Sgeo_ has quit (Ping timeout: 276 seconds).
03:28:45 -!- bb010g has quit (Quit: Connection closed for inactivity).
03:55:23 -!- heroux has quit (Ping timeout: 264 seconds).
03:57:44 -!- hppavilion[1] has joined.
03:59:22 -!- heroux has joined.
04:35:26 <quintopia> is there a maximum size for a page on the esolang wiki?
04:38:41 -!- Opodeldoc has joined.
04:39:20 <oerjan> probably.
04:40:18 <shachaf> 4 kilobytes hth
04:40:49 -!- variable has joined.
04:48:52 -!- PinealGl1ndOptic has joined.
04:55:22 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
04:59:43 <zgrep> oerjan: The way my irc client displayed the above, I thought you said that you were probably the maximum size of an esolang wiki page...
05:00:01 -!- perrier_ has quit (Read error: Connection reset by peer).
05:01:20 -!- perrier_ has joined.
05:06:48 -!- jaboja has quit (Ping timeout: 256 seconds).
05:10:10 -!- variable has quit (Quit: 1 found in /dev/zero).
05:18:37 -!- PinealGl1ndOptic has quit (Quit: leaving).
05:18:40 -!- PinealGlandOptic has quit (Quit: leaving).
05:21:38 <oerjan> zgrep: your client is weird hth
05:23:56 -!- tromp_ has quit (Remote host closed the connection).
05:30:22 <zgrep> oerjan: Well, it looked like a CTCP ACTION, as if you were saying /me probably :P
05:38:48 * oerjan unlikely
06:09:02 <b_jonas> oh, I missed a lot of stuff here
06:11:47 -!- hppavilion[1] has joined.
06:13:49 <zzo38> Now I did post two Node.js packages (sorry no document yet)
06:14:25 <zzo38> If you do JavaScript programming then maybe you might be able to use it
06:24:26 -!- tromp_ has joined.
06:28:46 -!- tromp_ has quit (Ping timeout: 240 seconds).
06:33:53 <zzo38> But I want to add graph isomorphism function into my "parse-rdf" package
06:35:25 <zzo38> I also made up the functions of "monadic generators" in JavaScript; do you like this?
07:04:56 <hppavilion[1]> What does the biconditional CHI to?
07:07:05 <zzo38> I don't know what that is
07:07:58 <hppavilion[1]> zzo38: Which part?
07:08:06 <hppavilion[1]> CHI = Curry-Howard Correspondence
07:08:26 <hppavilion[1]> Correspondence = Isomorphism
07:10:02 -!- heroux has quit (Ping timeout: 272 seconds).
07:11:37 -!- heroux has joined.
07:12:55 <zzo38> OK I can understand that part now
07:13:11 <zzo38> I still do not quite understand your question though
07:14:39 <hppavilion[1]> zzo38: I'm trying to figure out if there's a simple meaning for p <-> q under the curry-howard isomorphism
07:15:23 <hppavilion[1]> Sort of like how | is Either and & forms tuples
07:16:05 <hppavilion[1]> Obviously, one can treat p <-> q as (p -> q) & (q -> p), but that's the type that I'm starting with
07:16:18 -!- ais523 has joined.
07:16:30 <hppavilion[1]> o hais523 der
07:16:41 <zzo38> OK I can understand you now
07:16:48 <ais523> I can't!
07:17:29 <zzo38> It would be the isomorphism between the types I expect?
07:17:55 <zzo38> While the factorial would be the isomorphism between itself, I expect?
07:18:45 <oerjan> hppavilion[1]: i don't think there is a simpler meaning.
07:18:51 <hppavilion[1]> oerjan: Oh :/
07:19:21 <hppavilion[1]> oerjan: I'm trying to figure out what Biconditional Introduction corresponds to
07:19:36 <oerjan> what's biconditional introduction
07:20:17 <hppavilion[1]> oerjan: ((P -> Q) & (Q -> P)) -> Q <-> P hth
07:20:28 <oerjan> right
07:21:07 <hppavilion[1]> oerjan: Though I'm beginning to think it programs to a style (like double negation elimination corresponds to CPS) more than a type system feature
07:21:47 <oerjan> well <-> is what you need for equational reasoning about propositions, i guess
07:22:21 <oerjan> but i still don't think there's a CH equivalence different from that of (P -> Q) & (Q -> P)
07:23:28 <hppavilion[1]> oerjan: Yes, that's what I said (I think), it's probably more a style like CPS than a thing builtin to the langauge
07:25:35 -!- Opodeldoc has quit (Remote host closed the connection).
07:51:44 -!- Opodeldoc has joined.
08:01:29 <zzo38> The wiki article about #esoteric stack mentions my Z-machine implementation, but which one do you mean? Do you mean ZORKMID, or JSZM, or Famizork?
08:02:41 -!- Opodeldoc has quit (Read error: Connection reset by peer).
08:07:20 -!- Opodeldoc has joined.
08:11:04 -!- oerjan has quit (Quit: Nite).
08:18:19 -!- J_Arcane has quit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805]).
08:18:41 -!- J_Arcane has joined.
08:33:35 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
08:48:02 -!- glowcoil has changed nick to incomprehensibly.
08:58:57 -!- mroman has joined.
08:59:06 <mroman> gravitational waves somehow make sense
08:59:22 <mroman> but probably not the ones I'm thinking of
08:59:40 <mroman> an object pulls in another object
09:00:03 <mroman> if that object wiggles back and forth
09:00:21 <mroman> then the grav force applied to the other object would wiggle too :D
09:00:33 <HackEgo> [wiki] [[SELECT.]] https://esolangs.org/w/index.php?diff=46396&oldid=40842 * Quintopia * (+544) /* Examples */
09:01:11 <mroman> but that's probably not the grav waves scientists are talking about.
09:02:20 <ais523> it's more like, if you make a really really large change to a gravitational field suddenly, the force it applies to other objects doesn't change immediately and when it does it oscillates into position
09:03:20 <mroman> so gravitity travels at light speed?
09:03:37 <ais523> yes
09:07:17 <HackEgo> [wiki] [[SELECT./99 bottles]] N https://esolangs.org/w/index.php?oldid=46397 * Quintopia * (+322515) Created
09:07:57 <Opodeldoc> ais523: You just explained that better than anything I've read.
09:09:53 <HackEgo> [wiki] [[SELECT./99 bottles]] https://esolangs.org/w/index.php?diff=46398&oldid=46397 * Quintopia * (-11937) remove excess space
09:11:57 <HackEgo> [wiki] [[SELECT.]] https://esolangs.org/w/index.php?diff=46399&oldid=46396 * Quintopia * (+136) /* Sample programs */
09:14:00 <ais523> quintopia: does that program even contain a loop? I saw the "322515", thought "that's big for a language", realised it was a 99bob program, and wondered just how verbose the program was
09:14:09 <ais523> then I looked at the page itself and saw it was /compressed/
09:15:29 -!- ais523 has quit.
09:15:38 -!- ais523 has joined.
09:18:28 <HackEgo> [wiki] [[SELECT.]] https://esolangs.org/w/index.php?diff=46400&oldid=46399 * Quintopia * (+2) /* Integer division and integer modulus */
09:21:57 <mroman> so
09:22:02 <mroman> if you blow up a planet
09:22:12 <mroman> because it's sucking you in
09:22:17 <mroman> and that planet is one light year away
09:22:40 <mroman> it's going to be a year before your planet stops getting sucktion from that planet you just blew up
09:23:02 -!- Opodeldoc has quit (Ping timeout: 272 seconds).
09:23:44 <ais523> yep
09:24:04 <ais523> science fiction makes a lightyear seem so small
09:24:08 <ais523> but it's really teally big
09:24:11 <ais523> *really really
09:24:20 -!- Opodeldoc has joined.
09:24:23 <ais523> things out there are so far away, that you can't do anything to affect them in less than a year
09:25:44 -!- tromp_ has joined.
09:30:06 -!- tromp_ has quit (Ping timeout: 252 seconds).
10:39:48 <ais523> has anyone `olisted 1023 yet?
10:40:03 <izabera> `olist 1023
10:40:29 <HackEgo> olist 1023: shachaf oerjan Sgeo FireFly boily nortti b_jonas
10:42:07 -!- AnotherTest has joined.
11:10:09 -!- AnotherTest has quit (Ping timeout: 240 seconds).
11:12:09 -!- sebbu has quit (Ping timeout: 240 seconds).
11:20:25 -!- gde33 has joined.
11:35:07 -!- sebbu has joined.
11:37:14 -!- lynn has quit (Ping timeout: 256 seconds).
11:44:02 -!- J_Arcane has quit (Ping timeout: 256 seconds).
11:44:18 -!- J_Arcane_ has joined.
11:44:23 -!- J_Arcane_ has changed nick to J_Arcane.
11:49:52 -!- bender|_ has joined.
11:50:24 -!- bender|_ has quit (Changing host).
11:50:24 -!- bender|_ has joined.
11:50:36 -!- bender|_ has changed nick to bender.
11:51:09 -!- gremlins has joined.
11:53:09 -!- zadock has joined.
12:01:03 -!- mroman has quit (Ping timeout: 252 seconds).
12:12:03 -!- Opodeldoc has quit (Quit: Leaving).
12:12:39 -!- Phantom_Hoover has joined.
12:19:45 -!- AnotherTest has joined.
12:23:36 -!- mroman has joined.
12:29:39 -!- gremlins2 has joined.
12:29:56 -!- gremlins has quit (Ping timeout: 240 seconds).
12:38:32 -!- gremlins2 has quit (Quit: Leaving).
12:39:11 -!- gremlins has joined.
12:42:39 -!- gremlins2 has joined.
12:43:56 -!- gremlins has quit (Ping timeout: 240 seconds).
12:53:26 -!- LexiciScriptor has joined.
13:19:48 -!- ais523 has quit (Ping timeout: 256 seconds).
13:25:14 -!- heroux has quit (Ping timeout: 276 seconds).
13:33:49 -!- heroux has joined.
13:35:43 -!- boily has joined.
13:35:45 <boily> @metar CYUL
13:35:45 <lambdabot> CYUL 131300Z 25017G22KT 15SM DRSN FEW015 SCT045 SCT240 M23/M28 A3002 RMK SF1SC4CI1 SF TR CI TR SLP172
13:39:56 <int-e> cold day
13:40:46 <int-e> @metar lowi
13:40:47 <lambdabot> LOWI 131320Z 27008KT 9999 FEW070 BKN120 07/00 Q0991 NOSIG
13:54:45 -!- MDream has changed nick to MDude.
13:57:47 <boily> I'm hungry and haven't groceried in way too long. ain't even got moldy bread to look all shifty at me.
13:58:06 <boily> I'll have to brave the cold to go grab a pho.
13:58:19 <boily> (then grocery. but first pho. priorities.)
14:04:00 -!- p34k has joined.
14:07:06 -!- MDude has quit (Quit: later chat).
14:08:56 -!- gremlins2 has quit (Ping timeout: 240 seconds).
14:13:15 -!- gremlins has joined.
14:25:01 -!- Sprocklem has quit (Ping timeout: 276 seconds).
14:57:30 <myname> http://www.theguardian.com/us-news/2015/dec/18/republican-voters-bomb-agrabah-disney-aladdin-donald-trump murrica
15:08:20 -!- heroux has quit (Ping timeout: 248 seconds).
15:10:41 -!- heroux has joined.
15:17:54 -!- bender has quit (Quit: Ping Pong Fuckout).
15:26:20 <Taneb> Well... I'm trying to implement AES for revision purposes
15:26:34 <Taneb> I've accidentally reimplemented mutliplication
15:26:46 <Taneb> Good start
15:26:47 <myname> pretty hard stuff!
15:27:09 <myname> you better did not used predefined addition for this
15:27:19 <Taneb> No, I did not
15:27:30 <myname> good
15:27:33 <Taneb> Shifts, ands, xors, and the occasional increment
15:27:59 <myname> sounds like that russian multiplikation thingie
15:29:25 -!- gremlins has quit (Quit: Leaving).
15:36:01 -!- boily has quit (Quit: COWLICK CHICKEN).
15:47:18 <Taneb> Actually, I was wrong, I hadn't implemented multiplication
15:48:12 -!- mroman has quit (Ping timeout: 252 seconds).
15:57:28 -!- lynn has joined.
16:01:52 -!- heroux has quit (Ping timeout: 276 seconds).
16:02:36 -!- heroux has joined.
16:06:14 -!- lynn has quit (Quit: Leaving).
16:06:51 <\oren\> what should I have for breakfast?
16:07:22 <Taneb> Cereal, maybe?
16:18:11 -!- gremlins has joined.
16:19:38 -!- gremlins has changed nick to Reece`.
16:20:33 <\oren\> yeah, that was much better than just having coffee like i usually do
16:20:35 -!- Reece` has quit (Client Quit).
16:21:01 -!- Reece` has joined.
16:21:03 <\oren\> also apparently corn flakes in coffee milk is vary good
16:21:21 <Taneb> I'm not a fan of coffee, personally
16:24:41 <\oren\> Did you know you can now buy pre-mixed coffee milk in Canada? it used to only be in Japan afaik
16:36:47 -!- heroux has quit (Ping timeout: 264 seconds).
16:38:06 -!- tromp_ has joined.
16:39:31 -!- heroux has joined.
16:44:24 <Taneb> \oren\, that's very strange
16:50:30 <\oren\> http://www.lactantia.ca/food-product-category/iced-coffee/
16:58:23 -!- heroux has quit (Ping timeout: 264 seconds).
17:02:26 -!- heroux has joined.
17:08:10 -!- J_Arcane has quit (Ping timeout: 256 seconds).
17:15:49 -!- Opodeldoc has joined.
17:19:15 <quintopia> ais523: of course it loops. It's only 7MB with the comments and whitespace removed. I estimate a minified non-looping 99bob in SELECT. would run to ~250MB
17:20:16 <quintopia> oh he maybe doesnt logread much
17:20:58 <quintopia> @tell ais523 of course it loops. It's only 7MB with the comments and whitespace removed. I estimate a minified non-looping 99bob in SELECT. would run to ~250MB
17:20:58 <lambdabot> Consider it noted.
17:21:45 -!- heroux has quit (Ping timeout: 240 seconds).
17:24:25 <shachaf> izabera: That was a redundant olist and you were around for the first olist. :-(
17:26:12 -!- Reece` has quit (Quit: Leaving).
17:26:32 -!- heroux has joined.
17:36:18 <Taneb> there's no such thing as a redundant olist if it doesn't mention you!
17:49:12 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
17:51:04 -!- jaboja has joined.
18:01:37 <\oren\> is there a way to have ghc output C code?
18:02:16 <\oren\> in such a way so that I can call it from C
18:10:46 <Taneb> \oren\, the answer's "no, but it can output a header which you can include in C"
18:10:53 <Taneb> But I'm fuzzy on the details
18:12:03 <copumpkin> shachaf: but I don't live in CT anymore :(
18:12:11 -!- heroux has quit (Ping timeout: 264 seconds).
18:12:14 -!- Elronnd has set topic: The esoerotic channel | 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 ♪.
18:12:19 <shachaf> copumpkin: Oh, you moved *from* there, right.
18:13:27 <copumpkin> yeah :(
18:16:34 -!- heroux has joined.
18:24:36 <shachaf> copumpkin: Not happy with VA?
18:25:54 <HackEgo> [wiki] [[Special:Log/newusers]] create * FlamingObsidian * New user account
18:41:32 <copumpkin> shachaf: no I actually like it
18:46:15 -!- LexiciScriptor has joined.
18:52:20 -!- AnotherTest has quit (Ping timeout: 248 seconds).
18:54:26 -!- heroux has quit (Ping timeout: 240 seconds).
18:56:42 -!- heroux has joined.
18:58:46 -!- hppavilion[1] has joined.
19:00:31 <tswett> `unidecode ⴱⴺⵃⵠⵒⵍ
19:00:54 <HackEgo> ​[U+2D31 TIFINAGH LETTER YAB] [U+2D3A TIFINAGH LETTER YADDH] [U+2D43 TIFINAGH LETTER YAHH] [U+2D60 TIFINAGH LETTER YAV] [U+2D52 TIFINAGH LETTER YAP] [U+2D4D TIFINAGH LETTER YAL]
19:08:00 <HackEgo> [wiki] [[Hieroglyphic]] N https://esolangs.org/w/index.php?oldid=46401 * FlamingObsidian * (+884) Created page with "== Syntax == Hieroglyphic uses hieroglyphics to symbolize its code. Here are the symbols and their meanings. I - Increment current number - M17 B - Decrement current number..."
19:10:39 <b_jonas> “<ais523> (note: Ook! is one of the few BF derivatives that we don't hate, on the basis that it was the first and thus the idea of being a BF derivative hadn't become discredited yet)” <= I agree
19:11:14 <myname> ook is pretty lame, though
19:11:26 <b_jonas> “<hppavilion[1]> What would be a good set of basic semantic and syntactic features for teaching clueless highschoolers how to code?” <= I have my own guess at this, I can tell if you're interested
19:11:37 <myname> if i had to choose a bf derivate, i'd choose bf2d
19:12:22 <myname> i would teach them robozzle
19:12:23 <b_jonas> but I'm totally not convinced it's right, since I want to teach imperative programming with side effects first, whereas there are pretty good arguments on teaching functional programming without side-effects first
19:13:45 <b_jonas> “<ais523> I don't think we have any erotic esolangs yet?” <= partly because what turns people on varies a lot, so a language might easily be erotic to someone but not erotic to someone else
19:14:01 <hppavilion[1]> b_jonas: Continue
19:14:35 <hppavilion[1]> About the first part, not the erotic esolangs part
19:14:49 <myname> hppavilion[1]: what you teach really depends on the skills at hand and the skills that need to be there at the end
19:15:11 <hppavilion[1]> myname: Yes. I'm designing this to start with the clueless.
19:15:15 <myname> i like the sandwich making approach to give people a first impression on what algorithms are
19:15:34 <\oren\> imperative programming is a lot more intuitive for people who don't have a huge grounding in abstract math
19:15:48 <\oren\> e.g. grade schoolers
19:16:20 -!- evalj has joined.
19:16:37 <myname> here is what you do: grab a bag of toast, a knife, some stuff to make sandwiches (depending on your likings, bpb&j, butter and ham, whatever)
19:16:55 <myname> and do zexactly_ what they say
19:17:27 -!- hppavilion[2] has joined.
19:17:27 <myname> if they want you to butter the toast, take the butter and put it on the bag of toast
19:19:14 <hppavilion[2]> myname: I don't think toast comes in bags hth
19:19:19 <b_jonas> “<ais523> has anyone `olisted 1023 yet?” => yes, shachaf did
19:20:01 <myname> whatever these are called
19:20:15 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
19:20:32 <hppavilion[2]> `nick hppavilion[1]
19:20:37 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: nick: not found
19:20:43 <LexiciScriptor> how to make a sandwich: go to the store, buy mortadella and bread, cut the bread with a knife, put the mortadella inside the bread
19:20:55 -!- hppavilion[2] has changed nick to hppavilion[1].
19:20:55 <LexiciScriptor> expected behaviour: wait forever at the store
19:21:48 <b_jonas> “<myname> hppavilion[1]: what you teach really depends on the skills at hand and the skills that need to be there at the end” <= yes, but at a higher level. at the lower level where we decided the goal was to give first year mathematician students an introduction to programming such that it helps especially those who aren't otherwise interested in programming,
19:22:39 <b_jonas> and in such a way that I want to help those who won't program in the future, such that they can at least tell better what is possible to teach to a computer and what isn't and how to work together with people who do program.
19:23:03 <b_jonas> so at that point, I don't think there's too much other we had to fix, so I could just choose a reasonable set of syntax on what to teach.
19:23:37 <b_jonas> So I did choose a very small subset of python to teach them for this purpose on a course.
19:23:48 <myname> for maths people i'd go straight to haskell
19:23:56 <b_jonas> The course notes are http://wiki.math.bme.hu/view/Informatika1-2010 but partly broken.
19:24:01 <b_jonas> myname: they're not maths people YET
19:24:16 <b_jonas> and they need to get an introduction to algorithms and what computers can do to become maths people
19:24:20 <LexiciScriptor> why not start with c
19:24:38 <b_jonas> LexiciScriptor: because we don't want them to get all segfaulted and have to learn memory managed
19:24:39 <myname> LexiciScriptor: what for?
19:24:48 <b_jonas> our goal isn't that they should program, or that they know python
19:24:58 <myname> if i want to teach people how a cpu works, i'd use assembly
19:25:05 <b_jonas> but to know the basics of what a computer can do, in abstract,
19:25:12 <b_jonas> but not in a low level
19:25:18 <myname> if i want to teach them how imperative öanguageork, i'd use something that sucks less than c doess
19:25:22 <b_jonas> but on a level where you ignore all the constant factors
19:25:26 <b_jonas> anyway:
19:25:50 <myname> c is one of the worst starting languages i can imagine
19:25:56 <b_jonas> http://russell2.math.bme.hu/~ambrus/sc/info1/info1-prog-osszefoglalo.html demonstrates most of the features, but I'll enumerate them here
19:26:00 <LexiciScriptor> i started with c :P
19:26:26 <myname> at what age and with what previous knowledge?
19:27:09 <b_jonas> 1. integer literals and arithmetic operators on integers and real numbers: add, subtract, multiply, divide, integer divide, reminder, power, six comparison operators
19:27:09 <LexiciScriptor> at 18, first year uni with only pascal :O
19:27:20 <b_jonas> 2. boolean operators: and, or, not
19:27:33 <myname> so you already know imperative programming
19:27:43 <myname> you didn't start with c then
19:27:44 <b_jonas> 3. creating and reassigning variables with the = operator
19:27:55 -!- heroux has quit (Ping timeout: 240 seconds).
19:28:16 <b_jonas> 4. print statements, to print values for debugging or output
19:28:18 <LexiciScriptor> i was 14 when i learned pascal, and most people in the class were computer illiterate
19:28:30 <myname> so?
19:28:34 <b_jonas> together with printing string literals and numerical expressions in a line
19:28:56 <LexiciScriptor> also, c-like sintax is common in other languages useful for math
19:29:00 <b_jonas> 5. if and if-else conditionals
19:29:15 <b_jonas> 6. chains of elsif
19:29:16 <myname> LexiciScriptor: sytax doesn't matter
19:29:31 <b_jonas> 7. while conditionals
19:29:40 <b_jonas> 8. how to interrupt the interpreter in case of an infinite loop
19:30:09 <b_jonas> 9. creating an array with an array constructor (bracket), 10. indexing an array
19:30:21 <myname> once you know any imperative language, you can learn another one in a week or two to the point of anything you'd probably need in any uni course
19:30:50 <b_jonas> 11. modifying an array in place with indexed assignment and the .append method, and how arrays are stored by reference
19:32:16 <b_jonas> 12. for loops to loop on arrays and 13. the range function (12 and 13 are extra, I don't think I actually use them in my sample code, but they're convenient)
19:32:58 <b_jonas> 14. tuples, which are non-writable arrays, and creating them from an array with the tuple function, to help avoid mistakenly modifying an array
19:33:07 -!- heroux has joined.
19:33:13 <myname> they will be a course next semester called "computational metaphysics"
19:33:18 <b_jonas> 15. tuple constructors (you don't really need them, but they help interpret the debug output when you print)
19:33:30 <myname> i am not sure wetger or not to go there
19:34:10 <b_jonas> 16. defining and calling functions with def and return and parenthesis (this will be important, one of the most important concepts I want to teach later is using a user-defined function as a building block you can re-use for multiple tasks)
19:34:14 <LexiciScriptor> myname: what?
19:34:30 <myname> what what?
19:34:55 <b_jonas> And that's the end of the list, these are all the syntactic concepts I taught for the programming introduction;
19:35:00 <LexiciScriptor> what is computational metaphysics?
19:35:19 <b_jonas> though note that in this class we also give an introduction to symbolic computer algebra, which needs some more syntax stuff.
19:35:26 <b_jonas> hppavilion[1]: does this make sense/
19:35:48 <b_jonas> The important part is of course not the particular syntax elements I teach, but the lessons I want to teach about programming with their help.
19:36:58 <b_jonas> hmm, apparently there's one more. I also mentioned strings being first class values and concatenating strings. I dunno why.
19:37:32 <b_jonas> ah no, I didn't
19:37:45 <b_jonas> that was on the course our co-teacher held
19:38:25 <b_jonas> If I have time, I should eventually try to make a standalone programming tutorial based on what I tried to teach there.
19:38:48 <b_jonas> With exactly the syntax elements I mentioned, and the same goals of what I wanted to teach, and much of the same example code and exercises.
19:39:11 -!- heroux has quit (Ping timeout: 264 seconds).
19:42:59 <b_jonas> Some of the lessons I tried to teach and should try to teach in such a tutorial are: printf-debugging; re-using functions for a different but related task; basics of runtime complexity of algorithms, by demonstrating the cubic and quadratic solutions to the last task in http://russell2.math.bme.hu/~ambrus/sc/info1/info1-ea5.html and telling that there is a linear time solution
19:43:33 <b_jonas> ; how to use loops (this one is probably before the complexity one)
19:44:56 <b_jonas> The start of http://russell2.math.bme.hu/~ambrus/sc/info1/info1-gy4.html tells about manually stopping a program that loops infinitely, and about printf debugging
19:46:43 <b_jonas> These syntactic elements certainly aren't enough for practical programming, and I don't want to claim that either, I designed them to introduce people to what programming is about.
19:48:10 <b_jonas> booleans as first class values you can assign to a variable is sort of a lesson, but I don't really emphasize it in this course
19:48:33 <b_jonas> I do demonstrate passing arrays (which are also first class values) to functions though
19:49:11 <myname> passing arrays to functions is also a really good reason not to twach
19:49:17 <myname> teach c as first language
19:50:30 <b_jonas> Just having to allocate memory to arrays, of which you might not know the size at start, is already a good enough reason.
19:50:35 <b_jonas> Even if you don't pass them anywhere.
19:50:36 -!- Vorpal_ has changed nick to Vorpal.
19:50:47 <b_jonas> It's also a good reason for not using classical BASIC by the way.
19:51:17 -!- augur has quit (Quit: Leaving...).
19:51:25 <b_jonas> Actually, both passing arrays to functions and growing arrays dynamically are good reasons against BASIC.
19:51:33 <myname> returning arrays is even more fun
19:51:38 <b_jonas> Also BASIC won't print an array easily in a print statement.
19:51:38 -!- heroux has joined.
19:51:42 <b_jonas> myname: I do return arrays
19:51:56 <myname> in c?
19:52:32 <b_jonas> myname: in python, in that course. see http://russell2.math.bme.hu/~ambrus/sc/info1/info1-ea5.html
19:52:51 <myname> well, it's easy in python
19:52:53 <b_jonas> the function forditott returns an array
19:52:56 <b_jonas> exactly
19:52:58 <myname> it plain sucks in c
19:53:13 <myname> vecause you have to know all sorts of c specific shit
20:01:25 <zzo38> I happen to think that C and BASIC is OK
20:02:20 -!- heroux has quit (Ping timeout: 260 seconds).
20:05:02 <b_jonas> zzo38: it depends on the goal really
20:05:17 <b_jonas> they wouldn't help the particular lessons I wanted to teach
20:05:30 <b_jonas> It might help if you wanted a longer introduction with more programming
20:06:05 <myname> for c you wouöd need much time explaining why things work in a way you may not expect
20:06:07 <b_jonas> or if you want a more low-level introduction teaching how the native execution model (C's) works
20:06:27 <b_jonas> which is useful for some people, but not for those that will never program in a low-level language, which is like half of our students.
20:06:46 <b_jonas> It's details the programmers will manage for those people.
20:10:34 -!- heroux has joined.
20:11:48 <b_jonas> For those who will learn to program, they'll learn from other sources, my goal in that short course wasn't really that.
20:15:24 -!- augur has joined.
20:15:39 <b_jonas> I have a question about git that I'll try to ask here.
20:17:12 <b_jonas> I want to apply the difference between two commits (call them t1 and t2) to the current state (both index and checked out files, error if their difference conflicts with the changes applied).
20:17:25 <b_jonas> The two commits are related but it's possible that neither is an ancestor of the other.
20:18:24 <b_jonas> This should take into account the history, in that it traverses the commits from t1 to the common ancestor of t1 and t2 then to t2, and preferable also take into account the history between the commits and the commit currently checked out.
20:19:23 <b_jonas> The index together with the checked out files may already have modifications, and applying the differences may conflict with these, or there can simply be a conflict between HEAD and those changes, in which case I want proper conflict markers as with a normal merge.
20:19:59 <b_jonas> I want to know the best way to do this. What I think might work is this: ( git revert t2..t1 && git cherry-pick t1..t2 )
20:20:45 <b_jonas> Does that combination of two commands do what I want? Whether or not, what's the best way to do this, rather than that command?
20:21:02 <b_jonas> If you're git people, please help.
20:24:11 <izabera> maybe try asking it in #git
20:24:24 <b_jonas> izabera: I had tried, but I might try re-asking later.
20:25:09 <b_jonas> Basically I come from the svn world, and I still think subversion is much better in the sense that I understand how its model works, find it easier to know how to do anything I want in it, and like its model.
20:25:32 <b_jonas> Nevertheless, I want to learn git, partly because I have to work with it, and partly because there's some things it does better.
20:25:54 <b_jonas> I have learned a few things about git, but I don't really understand it.
20:26:33 <b_jonas> I'm asking here because I think some people here, especially ais523, might be able to explain the intuition behind git better, even if #git helps in the specific commands.
20:27:07 <b_jonas> And I think there's a regular besides ais523 who understands git, but I'm not sure who it is.
20:27:40 <b_jonas> (I can try to answer Apache Subversion questions in return if it helps.)
20:31:01 <b_jonas> Oh, unrelated question. What's that other library that tries to be source-compatible with MPFR?
20:33:15 <\oren\> never pour boiling fat onto ice
20:33:25 <b_jonas> \oren\: why?
20:33:41 <\oren\> it splatters all over and burns you
20:34:06 <\oren\> i shouldn't be allowed to do science experiments
20:34:26 <b_jonas> \oren\: what if you pour it from very far, like defending a castle in the winter by pouring hot oil on the intruders from the high castle wall?
20:34:47 <\oren\> luckily it wasn't that hot once it flew through the air. but still
20:36:30 <Taneb> It also is a waste of good ice
20:40:13 <\oren\> I'm tying to build a SSTS (single stage into the sun) vehicle
20:40:52 <\oren\> so I can get readings from the sun's atmosphere
20:44:48 <\oren\> the idea is i'll launch it at middaya nd fly straight up into the sun
20:45:48 <Taneb> What... why are you launching things into the usn
20:45:50 <Taneb> sun
20:46:15 <\oren\> to get science data from the sun
20:47:49 <Taneb> Who has authorized you to do this
20:48:48 <\oren\> uh... i dunno
20:49:57 <b_jonas> \oren\: um, flying into the Sun is very difficult, for it requires lots of energy.
20:52:34 <coppro> `unidecode 🂿
20:52:45 <HackEgo> U+1F0BF - No such unicode character name in database \ UTF-8: f0 9f 82 bf UTF-16BE: d83cdcbf Decimal: &#127167; \ 🂿 (🂿) \ Uppercase: U+1F0BF \ Category: Cn (Other, Not Assigned)
20:52:53 <\oren\> why? as long as I escape Kerbin flying straight at it
20:53:04 <Taneb> Oh, KSP
20:56:16 <\oren\> i mean, if i'm off a little then I'll be in a highly elliptical solar orbit, but a little shift with rcs at apohelion should fix that
20:57:31 <hppavilion[1]> Is it possible to, using Qt, use a completely custom character encoding?
21:09:42 -!- heroux has quit (Ping timeout: 252 seconds).
21:10:23 -!- heroux has joined.
21:12:55 <\oren\> arghh you're right!
21:13:11 <coppro> hppavilion[1]: I don't believe so
21:13:23 <hppavilion[1]> coppro: Damn :/
21:13:24 <\oren\> I have to escape kerbin more like at a 30 degree angle to account for kerbin's orbit
21:14:15 <coppro> hppavilion[1]: hmm actually it might be possible to replace its font rendere
21:14:17 <coppro> *renderer
21:14:24 <hppavilion[1]> coppro: Perhaps
21:15:00 <hppavilion[1]> coppro: The issue is that Unicode doesn't have a character for XNOR, and I'd kind of like to experiment with making my own encoding anyway
21:15:12 <Taneb> What if you use Chuck Moore's huffman code based one
21:15:26 <Taneb> hppavilion[1], why not private use characters/
21:15:32 <hppavilion[1]> Taneb: Possibly
21:15:45 <hppavilion[1]> coppro: Which is weird, because it has AND, OR, XOR, NAND, and NOR
21:15:56 -!- AnotherTest has joined.
21:16:23 <Taneb> hppavilion[1], fax the consortium!
21:16:31 <hppavilion[1]> ∧ ∨ ⊻ ⊼ ⊽
21:16:39 <FireFly> maybe just do XOR with combining line above?
21:16:39 <coppro> hppavilion[1]: yeah just use private use area
21:16:41 <hppavilion[1]> Taneb: Shall I encode the fax in EBDIC?
21:16:55 <hppavilion[1]> coppro: I could do that too, but making my own would be more fun xD
21:17:05 <coppro> hppavilion[1]: it would for the first hour
21:17:10 <hppavilion[1]> coppro: Fair point
21:17:27 <hppavilion[1]> coppro: Pffffffft. I can't concentrate on a task for a WHOLE HOUR.
21:17:53 <hppavilion[1]> (Even on the copious amounts of medication I've been put on)
21:18:25 <hppavilion[1]> (Pretty sure I'm on the maximum recommended dose of dextroamphetamine for my BMI)
21:18:44 <coppro> heh
21:18:57 <coppro> want to help me write Mage Knight in Haskell?
21:19:02 <hppavilion[1]> coppro: Me?
21:19:12 <hppavilion[1]> What exactly IS Mage Knight?
21:19:40 <hppavilion[1]> Is it a classic game you're reimplementing, or just something that is back in the logs
21:19:40 <Taneb> coppro, potentially
21:19:48 <coppro> hppavilion[1]: !classic game
21:19:56 <hppavilion[1]> Ah
21:19:56 <coppro> Taneb: I should push what I have so far to GitHub
21:19:58 <coppro> it's not a ton
21:20:04 <hppavilion[1]> I don't think I'm qualified
21:20:09 <Taneb> I still need to write up my spec for COMPLEX
21:20:16 <Taneb> And publish my implementation
21:20:19 <hppavilion[1]> My haskell isn't very good; when I close the tutorial, I always forget about it for a month
21:20:30 <coppro> Taneb: currently annoyed at naming record constructors :P
21:20:41 <hppavilion[1]> I'm working on a humanitarian project called LIME Classroom
21:20:55 <hppavilion[1]> It's an online classroom for mathematics and computer science
21:21:06 <hppavilion[1]> (LIME = LIME Integrated Mathematical Environment)
21:22:12 <hppavilion[1]> Someone should make a total computable acronym that is /not/ primitive recursive
21:22:21 <hppavilion[1]> (Basically, the Ackerman of GNUs)
21:23:31 -!- boily has joined.
21:23:35 <coppro> Taneb: https://github.com/scshunt/mage-knight
21:24:39 <hppavilion[1]> Interestingly, my Lenovo lags a lot when plugged in on High Performance mode
21:24:47 -!- heroux has quit (Ping timeout: 264 seconds).
21:24:50 <myname> what is mage knight?
21:24:58 <hppavilion[1]> So I only put it on Power Saver (which is less laggy) when plugged in
21:26:20 <coppro> myname: a board game
21:26:23 <coppro> very puzzle-like
21:28:35 <myname> i googled that much. can you recommend reading or watching something that will help me get an idea of it?
21:28:47 <hppavilion[1]> What would be a good way to make a Fractran extension?
21:28:52 <hppavilion[1]> We don't have enough of those
21:28:56 -!- heroux has joined.
21:29:27 <myname> quaternions
21:29:42 <hppavilion[1]> myname: Perhaps, though I was thinking something more like polynomials
21:29:43 <hppavilion[1]> Oooh
21:30:03 <hppavilion[1]> Is there a hyperfractran? Fractran using root/log/exp/pow instead of mul/div?
21:30:04 <coppro> myname: hmm
21:30:36 <coppro> https://www.youtube.com/watch?v=xYq6eft_XpI is from a well-reputed youtuber
21:30:54 <coppro> the rulebooks are http://wizkidsgames.com/wp-content/uploads/mage/MK_rulebook_ENG_searchable-mar2012.pdf (base) and http://wizkidsgames.com/wp-content/uploads/2013/01/mk-lost-legion-rulebook-en.pdf (expansion)
21:31:04 <coppro> there's also a startup guide book but I don't have a link handy
21:41:12 <boily> fungot: nostril.
21:41:12 <fungot> boily: we are entirely opposed to any form of discrimination. against this background, the european union.
21:44:26 <hppavilion[1]> myname: What would be a good way to implement IO in fractran I wonder...
21:45:15 <hppavilion[1]> fungot: So you're fine with discrimination against persons with a non-EU background?
21:45:16 <fungot> hppavilion[1]: mr president, i would remind you that we had in austria. this measure will be subject to thorough control on the sale of potentially infected susceptible animals, and stepping up monitoring at all levels business, political and cultural integration of the environment is to be quantifiable, and governments need to obtain the consumer's explicit consent to receive a loan in the amount we had requested. it is the po
21:46:22 -!- groteworld has joined.
21:48:48 <coppro> hppavilion[1]: fractions with particular (prime) denominators have certain effects when invoked
21:49:01 <hppavilion[1]> coppro: Perhaps that'll work
21:49:32 <hppavilion[1]> coppro: A more simple way, of course, would be to get batch input at program initialization, but that would also be less fun
21:49:55 <quintopia> helloily
21:51:49 <boily> quinthellopia!
21:52:53 <boily> I'm building a Canadian snack pack. a snacanapack.
21:54:07 <hppavilion[1]> coppro: Something I thought of was to use complex numbers and make the imaginary coefficient the "specialty flag"
21:54:52 -!- groteworld has quit (Quit: Big gulps? Well see you later!).
21:55:00 -!- jaboja has quit (Ping timeout: 250 seconds).
21:58:20 -!- jaboja has joined.
22:02:58 <quintopia> boily: oh? time to have another snackswap?
22:03:27 <quintopia> lemme know. g2g.
22:03:50 <boily> yup! I got exclusive limited edition stuff!
22:04:15 -!- Treio has joined.
22:08:29 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
22:20:38 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:28:43 <coppro> boily: ohh
22:28:50 <coppro> can I participate. I'll just send maple cookies
22:29:57 <boily> maple cookies are quintessential. quintopessentia.
22:38:59 -!- oerjan has joined.
22:39:55 <boily> hellørjan.
22:40:15 <boily> olsner: hellolsner. what's that Swedish February Pastry Day again?
22:40:27 <oerjan> boheily
22:53:45 <oerjan> @tell ais523 <ais523> it's more like, [...] <-- even your explanation is oversimplified. the thing about gravitational waves is that unlike electromagnetic ones they _themselves_ have the "charge" they act upon (energy/momentum), so they interact with _themselves_.
22:53:45 <lambdabot> Consider it noted.
22:55:21 -!- heroux has quit (Ping timeout: 240 seconds).
22:56:06 -!- jaboja has quit (Ping timeout: 256 seconds).
22:56:16 -!- heroux has joined.
23:08:58 * boily loves Newton. it's wrong, but it provides a conforting illusion of understanding what the fungot is going on.
23:09:00 <fungot> boily: the council has finally agreed to things which have been taking place produce results within the union over the next two or three chapters will remain for the danish presidency once again and quite forcefully, that energy is not a general and global nature and simply referring to a single species of cormorant and, on the contrary, it tries to fnord public opinion among israel’s civil population, which is also constantl
23:09:21 <coppro> boily: Newton?
23:09:28 <coppro> oh, you mean Newtonian mechanics
23:09:37 <oerjan> boily: JUST DON'T COMPLAIN WHEN YOUR GPS STOPS WORKING HTH
23:09:48 <boily> OKAY.
23:10:15 <coppro> @tell ais523 or so some physicists hypothesize
23:10:15 <lambdabot> Consider it noted.
23:10:41 <boily> maybe that's why I seem to have an anti-GPS aura... they always break when I'm around.
23:10:49 <oerjan> oooh
23:11:04 <boily> really. if you want to experience a sudden lack of signal, stick you GPS next to me.
23:11:10 <oerjan> boily: are you distantly related to wolfgang pauli
23:11:43 <boily> probably very distantly, but the possibility isn't completely excluded.
23:17:57 -!- hppavilion[1] has joined.
23:18:12 <hppavilion[1]> What is the primary weapon used by the military of the esoerotic empire?
23:19:25 <oerjan> we're not sure what it is, but it's shape is obvious.
23:20:13 <b_jonas> oerjan: bananery?
23:20:58 <oerjan> with a hint of mushroom.
23:21:12 <boily> mapole!
23:22:28 <hppavilion[1]> What actually happens if you base a type system on Fuzzy Logic?
23:25:01 <zgrep> It becomes fuzzy.
23:25:57 <hppavilion[1]> zgrep: And what does that mean?
23:27:40 <zgrep> It manifests itself in the real, logical world, and becomes fuzzy. Like kittens.
23:28:01 <hppavilion[1]> Ah
23:29:08 <zgrep> Type system = kitten.
23:29:44 <hppavilion[1]> zgrep: Sure
23:29:55 * boily sticks a cat ear headband on fungot
23:29:56 <fungot> boily: mr president, i would just point out that the question of the gas and electricity sectors. we should also remember that the council vote was unanimous. i was rushing out not to avoid double taxation of workers, we can see what happened no one is intending and the commissioner for his spontaneous reply and, of course, in part, 71, 72 and 73. 52 amendments are acceptable in principle, to market monitoring and the european
23:29:56 <hppavilion[1]> zgrep: Maybe we should invent a cross-language type system called "kitten"
23:30:01 <zgrep> `? type system
23:30:12 <HackEgo> type system? ¯\(°​_o)/¯
23:30:18 <zgrep> hppavilion[1]: unfortunately the name kitten is taken my another programming language
23:30:31 <zgrep> By*
23:30:35 <hppavilion[1]> zgrep: Ah
23:30:49 <hppavilion[1]> zgrep: Maybe we should invent a cross-language type system /not/ called "kitten"
23:30:54 <zgrep> `le/rn type system/type system = kitten
23:31:04 <HackEgo> Learned «type system»
23:31:45 <hppavilion[1]> zgrep: What would be good for a cross-language type system of that sort?
23:32:36 <zgrep> A name?
23:33:25 <hppavilion[1]> zgrep: KTS
23:33:37 <hppavilion[1]> (Kitten Type System)
23:33:49 <hppavilion[1]> Not to be confused with the type system of the Kitten Programming Language
23:34:12 <zgrep> No, I mean... What were you asking me?
23:34:26 <b_jonas> eww. I hate cross-language type systems.
23:34:28 <zgrep> Hm... "Kitten Typesetting System"...
23:34:35 <hppavilion[1]> b_jonas: Wait, that's already a thing? xD
23:35:28 <hppavilion[1]> b_jonas: What's the problem with them?
23:37:20 -!- boily has set topic: The kitten typesetting channel | 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 ♪.
23:39:58 <b_jonas> Can we change it back to contain “The international hub of esoteric programming languages and font design” ? We can delete some of the other old stuff except for the logs links if you want to fit recent stuff in it.
23:40:43 <hppavilion[1]> b_jonas: ...
23:40:53 -!- b_jonas has set topic: The international hub of esoteric programming language and font design | http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | The kitten typesetting channel.
23:41:35 <hppavilion[1]> b_jonas: So what's wrong with XL-TSes?
23:41:45 <b_jonas> boily: sorry
23:42:26 <boily> I'll rePDF the channel as soon as I update it. you can't silence me. MWAH AH AH AH AH AH AH AH!
23:42:44 -!- Treio has quit (Ping timeout: 276 seconds).
23:48:57 <boily> @metar CYUL
23:48:57 <lambdabot> CYUL 132300Z 29013G25KT 15SM DRSN FEW035 FEW050 SCT110 SCT240 M24/M32 A3028 RMK SC2SC1AC1CI1 SC TR SLP260 DENSITY ALT MISG
23:49:24 <b_jonas> wait what? is the Sun really only like 5000 K hot, rather than 6000 K ?
23:49:41 <boily> only 5000.
23:50:21 -!- boily has quit (Quit: SILVER CHICKEN).
23:51:02 <b_jonas> https://en.wikipedia.org/wiki/Sun says 5778 K
23:51:27 <b_jonas> so below the boiling point of Rhenium on standard air pressure
23:52:59 -!- heroux has quit (Ping timeout: 264 seconds).
23:56:15 <izabera> what does that imply?
23:56:34 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
23:56:45 <b_jonas> izabera: nothing, I just found it strange that http://what-if.xkcd.com/ said 5000 deg C
23:57:42 -!- heroux has joined.
23:58:41 <b_jonas> Also, that you couldn't boil the One Ring with sunlight concentrated by a lens, provided it's made of rhenium, but you might be able to melt it.
23:59:06 -!- MDream has joined.
23:59:32 <b_jonas> Maybe the Company wouldn't have needed the supernaturally heated insides of Mount Doom, maybe concentrated sunlight with some lenses and mirrors would have been enough to melt the ring.
2016-02-14
00:03:38 <b_jonas> But maybe that wouldn't have worked because the elves couldn't create the right kind of mirrors and lenses, or else it couldn't have worked since Gollum falling into Mount Doom might have been the only way to get Frodo to part from the ring forever.
00:06:25 -!- boily has joined.
00:07:08 <boily> the outside, it is cold. brrrr.
00:07:42 <\oren\> just burn frodo along with the ring
00:08:25 <boily> I only got an Iron Ring on me. will it do?
00:10:30 <boily> also, he\\oren\. could you add 盗 and 賊 to your font please?
00:14:25 <\oren\> ok, next update will have them
00:15:55 <b_jonas> what are those characters?
00:17:41 <\oren\> steal, and thief
00:18:03 <\oren\> 盗賊 = theif
00:18:18 <b_jonas> I see
00:18:19 <\oren\> s/ei/ie
00:23:35 -!- p34k has quit.
00:25:49 <hppavilion[1]> b_jonas: ?
00:26:20 <hppavilion[1]> b_jonas: Cross-language type systems.
00:39:13 -!- evalj has quit (Remote host closed the connection).
00:47:29 <oerjan> <b_jonas> I'm asking here because I think some people here, especially ais523, [...] <-- for asking ais523, i recommend asking when ais523 is actually here hth
00:51:36 * oerjan concludes that by murphy's law, b_jonas will never see this at least without this lampshade.
00:57:56 <oerjan> <hppavilion[1]> (Pretty sure I'm on the maximum recommended dose of dextroamphetamine for my BMI) <-- you mean you'd normally be going through projects even _faster_?
00:58:40 <hppavilion[1]> oerjan: Probably
01:01:09 <oerjan> <coppro> hppavilion[1]: !classic game <-- not a classic game, check.
01:01:36 <hppavilion[1]> oerjan: DYK what -> is in fuzzy logic?
01:01:41 <hppavilion[1]> (DYK = Do You Know)
01:01:54 <hppavilion[1]> At least, what the most simple definition is?
01:01:58 <oerjan> i don't know fuzzy logic.
01:02:02 <hppavilion[1]> OK :/
01:02:23 <oerjan> i have no idea whether C-H makes sense for it.
01:04:07 <hppavilion[1]> oerjan: Probably not for classical, but what I'm formulating is Intuitionistic Fuzzy Logic, which is basically just adding some fuzz to intuitionistic logic
01:04:51 -!- jaboja has joined.
01:05:12 <shachaf> Curry-Howard makes sense for classical logic.
01:07:31 <oerjan> indeed, if there's a problem it's with the fuzz.
01:09:18 <shachaf> oerjan: as in, the cops?
01:09:45 <oerjan> <boily> I'm building a Canadian snack pack. a snacanapack. <-- i'm sure this will be a hit in panama.
01:12:01 <coppro> so many potmantoilys
01:15:52 <hppavilion[1]> Fuzzy Logic and Intuitionistic Logic actaulyl go together quite nicely
01:16:16 <hppavilion[1]> oerjan: Yeah, probably. But there shouldn't be a problem, if there's a problem it's probably just me
01:18:24 -!- Treio has joined.
01:23:43 <boily> oerjan: the best portmanteaux are vowel harmonized.
01:24:48 -!- J_Arcane has joined.
01:26:26 -!- Treio has quit (Ping timeout: 240 seconds).
01:27:15 -!- heroux has quit (Ping timeout: 260 seconds).
01:31:35 <boily> are there anybody in this chännel who are Panamian?
01:32:21 -!- heroux has joined.
01:32:33 <shachaf> @wn panamian
01:32:34 <lambdabot> No match for "panamian".
01:32:38 <shachaf> @wn panamanian
01:32:39 <lambdabot> *** "panamanian" wn "WordNet (r) 3.0 (2006)"
01:32:39 <lambdabot> Panamanian
01:32:39 <lambdabot> adj 1: of or relating to or characteristic of Panama or its
01:32:40 <lambdabot> people; "Panamanian economy"
01:32:42 <lambdabot> n 1: a native or inhabitant of Panama
01:33:05 <oerjan> no panamanas here
01:34:03 <oerjan> ...possibly _not_ google that word hth
01:35:06 <boily> panamanas doo doo dododoo ♪
01:35:17 <oerjan> apparently the proper word is panameñas how unharmonic
01:40:11 <boily> (meanwhile, holy disco abyss... so many colours everywhere...)
01:44:52 * oerjan wonders what boily is talking about.
01:45:25 <boily> I got cast in the abyss, and I was some place where walls were changing colour randomly every turn.
01:45:38 <oerjan> OKAY
01:47:04 -!- heroux has quit (Read error: Connection reset by peer).
01:47:42 -!- heroux has joined.
01:52:19 <\oren\> 貴貸貿賃資賛質輸述迷退造適广已巳巴遺郵郷酸鉱銅銭鋼閣防降盗賊限陛除険際障雑難非革頂預領飼
01:54:36 <boily> 喜!
01:57:33 <\oren\> with this, all kanji taught in primary school are covered
02:15:06 -!- Melvar has quit (Ping timeout: 240 seconds).
02:15:10 -!- MDream has changed nick to MDude.
02:16:14 -!- idris-bot has quit (Ping timeout: 252 seconds).
02:17:10 -!- Melvar has joined.
02:19:15 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
02:21:35 -!- heroux has quit (Ping timeout: 240 seconds).
02:22:03 -!- ais523 has joined.
02:22:22 -!- heroux has joined.
02:36:33 -!- boily has quit (Quit: CALLING CHICKEN).
02:38:54 -!- hppavilion[1] has joined.
02:42:57 -!- heroux has quit (Ping timeout: 240 seconds).
02:45:34 -!- heroux has joined.
03:14:10 -!- heroux has quit (Ping timeout: 240 seconds).
03:16:44 -!- heroux has joined.
03:17:10 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
03:22:18 <olsner> @tell boily fatso day (or fat tuesday) was just this past tuesday actually
03:22:19 <lambdabot> Consider it noted.
03:31:01 -!- XorSwap has joined.
03:41:30 -!- hppavilion[2] has joined.
03:43:24 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
03:47:56 -!- hppavilion[2] has quit (Ping timeout: 256 seconds).
03:52:28 -!- Opodeldoc has quit (Quit: Leaving).
04:12:50 -!- ais523 has quit (Ping timeout: 252 seconds).
04:14:00 -!- jaboja has quit (Ping timeout: 256 seconds).
04:15:49 <HackEgo> [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46402&oldid=46382 * 50.65.116.121 * (+568) Added program for cell width
04:35:36 -!- hppavilion[2] has joined.
04:46:04 -!- variable has joined.
04:46:22 -!- MDude has changed nick to MDream.
04:50:42 -!- XorSwap has quit (Quit: Leaving).
04:58:35 -!- heroux has quit (Ping timeout: 240 seconds).
05:00:03 -!- perrier_ has quit (Remote host closed the connection).
05:01:15 -!- heroux has joined.
05:01:17 -!- perrier_ has joined.
05:01:23 -!- variable has quit (Ping timeout: 264 seconds).
06:01:40 -!- hppavilion[2] has quit (Ping timeout: 256 seconds).
06:56:13 <\oren\> which characters should I add next?
06:58:09 <myname> all emojis :p
07:02:58 <pikhq_> PILE OF POO is a good one.
07:03:14 <myname> reverse hand middlefinger extended
07:05:35 <pikhq_> I don't think that one's there?
07:05:49 <myname> it is
07:06:05 <pikhq_> Sure enough.
07:06:20 <pikhq_> REVERSED HAND WITH MIDDLE FINGER EXTENDED
07:06:34 <pikhq_> U+1F595.
07:07:13 <myname> snowman is also pretty relevant
07:10:42 <\oren\> I hve snowman already
07:11:41 <myname> great
07:14:41 <myname> haha @ [KH]an[jz][ai]
07:20:13 -!- zadock has quit (Quit: Leaving).
07:20:32 <myname> or what about these game symbols
07:20:51 <myname> like chess pieces or heart/club/spade/diamond
07:21:48 <shachaf> how about play/pause/stop/rewind/fast forward/etc.
07:21:50 <zzo38> Yes you should include suits if you have not already done so
07:21:55 <shachaf> oh, wait
07:22:14 <shachaf> they don't have room in their cold hearts for those symbols
07:24:27 <zzo38> Are you sure? I think those symbol are good idea too (also previous track, next track, record, and eject)
07:25:57 <shachaf> Those were included in "etc.".
07:28:29 -!- Treio has joined.
07:51:22 -!- hppavilion[1] has joined.
08:34:44 <hppavilion[1]> http://web.mst.edu/~lmhall/WhatToDoWhenTrisectorComes.pdf
08:48:30 <hppavilion[1]> (WARNING: Sad)
08:48:38 <hppavilion[1]> (NSFIP)
08:51:33 <myname> ip?
09:00:47 <hppavilion[1]> myname: Intelligent People
09:00:52 <hppavilion[1]> `? trisecting the angle
09:01:14 <HackEgo> trisecting the angle? ¯\(°​_o)/¯
09:04:10 <hppavilion[1]> `? angle trisection
09:04:14 <HackEgo> angle trisection? ¯\(°​_o)/¯
09:04:19 <hppavilion[1]> `? trisection
09:04:23 <HackEgo> trisection? ¯\(°​_o)/¯
09:04:56 <hppavilion[1]> `le/rn trisecting the angle/Angle Trisection is an open problem that you should /definitely/ try to solve! For glory and honor!
09:05:09 <HackEgo> Learned «trisecting the angle»
09:06:06 <myname> wait, what
09:06:38 <myname> angle trisection is like one of the easiest thing i can imagine
09:10:23 <oerjan> "with an unmarked ruler and compass" is generally implied hth
09:10:50 <myname> yeah, but i can trisect a segment therefore i can trisect an angle
09:11:10 <myname> wait
09:11:15 <oerjan> the three angle parts must be equal hth
09:11:16 <myname> can i?
09:11:27 <oerjan> no. hth.
09:11:32 <myname> neat
09:11:53 <myname> i thought it would be as easy as bisecting
09:12:24 <myname> are there actually proves that this cannot be done?
09:12:41 <oerjan> to be very concrete, you cannot construct a 20 degree angle.
09:12:53 <oerjan> (for example.)
09:13:04 <oerjan> yes there are, it's part of galois theory.
09:13:05 <myname> or 30
09:13:11 <oerjan> 30 is easy.
09:13:18 <oerjan> maybe _you_ cannot.
09:13:30 <myname> how do i do 30?
09:13:35 <oerjan> bisect a 60
09:13:57 <myname> well, but how do i get 60
09:14:15 <Taneb> myname, I fell into that fallacy before
09:14:16 <myname> the only angle i know you can get for sure is 90
09:14:33 <oerjan> start with two points, make a circle around each touching the other.
09:14:43 <myname> oh, you can make a triabgle
09:14:44 <myname> nvmd
09:15:13 -!- AnotherTest has joined.
09:16:18 <oerjan> basically, that gives you all of 30, 60 and 90 somewhere between the original points and where things intersect.
09:16:45 <myname> 45 should also be possible
09:16:50 <oerjan> yes.
09:17:09 <oerjan> bisecting is, as you noted, easy.
09:17:30 <diginet> oh my god...this is painful to read
09:17:39 <oerjan> a harder, still possible one is 72.
09:17:40 <diginet> " i can trisect a segment therefore i can trisect an angle" just...no
09:17:53 <oerjan> diginet: don't worry he got better.
09:18:11 <oerjan> he did not reach crank orbit.
09:18:33 <diginet> oerjan: I solved the halting problem
09:18:38 <diginet> it was pretty easy
09:18:43 <diginet> I just ran the computer...and it halted
09:18:48 <diginet> academics are so stupid
09:18:53 <myname> well, twoducks solves it :p
09:18:55 <diginet> I can't believe no one thought of that before
09:19:32 <oerjan> diginet: maybe they're just covering it up.
09:20:02 <oerjan> to keep their precious computer science jobs.
09:20:35 <diginet> Big Computer Science needs to be exposed
09:22:11 <zzo38> Do you know the best way to fake Generator.prototype.return in JavaScript?
09:22:50 <diginet> don't use JS
09:23:09 -!- oerjan has quit (Quit: Nite).
09:25:21 <myname> fun fact: a time ago you could make a 90 degree angle by bisecting a line in euclidthegame
09:25:48 <myname> like, 180/2=90
09:26:21 <myname> you could also find the center of a circle by copying it on itself 2 times
09:27:22 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
09:36:16 <\oren\> "trisect an angle" implied part is "with only straightwdge and compass"
09:36:37 <\oren\> "halting problem" implied part is "on a turing machine"
09:36:40 <Taneb> I think you can trisect an angle with the power of origami
09:38:21 <\oren\> is halting problem solvable for for stack machines?
09:38:25 <Taneb> I think so\
09:47:20 <zzo38> This is what I did: function(x) { var o={}; var e; try { return this.throw(o); } catch(e) { if(e===o) return {value:x,done:true}; throw e; } } It isn't perfect
09:57:46 <zzo38> I noticed that http://esolangs.org/wiki/The_chan-esoteric_stack has a link to the nonexistent page "Principals of Eso". What are these principals?
09:58:47 <zzo38> It also says the rest of the stack is implemented in Python or Forth, although the various other programs listed are different programming languages.
10:00:54 <zzo38> And then it lists my Z-machine implementation, although I have written three (ZORKMID, JSZM, Famizork) and it does not specify. None are written in Python or Forth, although Famizork is probably the strangest one (in many ways; you are free to ask and/or complain)
10:02:52 <zzo38> Also, what kind of extended variant of call/cc is it?
10:42:48 -!- Phantom_Hoover has joined.
11:00:50 <^v> so um, i calculated 6942069^69420 to stress test a custom bignum library .-.
11:00:59 <^v> http://i.imgur.com/aV6RwBL.png
11:03:22 <Taneb> Nice
11:09:00 -!- LexiciScriptor has joined.
11:10:41 -!- Treio has quit (Quit: Leaving).
11:33:31 -!- bender| has joined.
11:37:17 -!- Treio has joined.
11:44:22 -!- zadock has joined.
11:56:08 -!- aloril has quit (Ping timeout: 250 seconds).
11:56:32 -!- Treio_ has joined.
11:56:40 -!- Treio_ has quit (Remote host closed the connection).
11:57:23 -!- Treio has quit (Quit: Leaving).
12:02:35 -!- aloril has joined.
12:17:56 -!- J_Arcane has quit (Ping timeout: 252 seconds).
12:32:00 <HackEgo> [wiki] [[Talk:Call/cc]] https://esolangs.org/w/index.php?diff=46403&oldid=46327 * Zzo38 * (+367) lem/cc
12:34:10 <myname> that is one bad explanation there
12:35:32 -!- AnotherTest has quit (Ping timeout: 252 seconds).
12:49:18 <izabera> https://scontent.fath4-1.fna.fbcdn.net/hphotos-xlf1/t31.0-8/12710739_1236761493003893_1868373311706196033_o.jpg
12:54:38 -!- Treio has joined.
12:57:44 <LexiciScriptor> http://store.hermanmiller.com/Products/Embody-Chair
13:03:47 -!- Treio_ has joined.
13:12:04 -!- bender| has quit (Remote host closed the connection).
13:12:32 -!- bender| has joined.
13:16:43 -!- Treio has quit (Quit: Leaving).
13:16:48 -!- Treio_ has quit (Quit: Leaving).
13:34:28 <izabera> i hate my fiber connection
13:34:47 <izabera> i downloaded steve jobs (2015) in 3 minutes
13:34:57 <myname> wanna switch?
13:34:59 <izabera> it's too fast, there's no time to do anything
13:35:46 <izabera> myname: how's yours?
13:36:17 <myname> i have cable with like 25 mbits, you will have plenty of time to do stuff
13:38:15 <izabera> mine is 4x as fast :p
13:38:34 <LexiciScriptor> mine is 0.5x as fast :/
13:40:33 <myname> 100 mbit sounds lame for fiber
13:40:53 <izabera> it's not google fiber
13:41:20 <myname> so?
13:41:43 <Hoolootwo> I could pipe that through any old ethernet cable
13:41:49 <Hoolootwo> not too old though I guess
13:42:10 <izabera> shutup i don't get to decide what my isp serves
13:43:10 <myname> lol
13:43:12 <Hoolootwo> I only get 10 megabits through a repurposed phone line, you're lucky
13:43:21 -!- boily has joined.
13:43:25 <izabera> i don't think there's anything better in italy
13:43:32 <Hoolootwo> friggin dorm internet
13:49:37 <fizzie> I think this thing is nominally 76/19 over a repurposed phone line as well.
13:50:11 <fizzie> I'm slighly unsure why UK has opted in for "standard" nominal DSL speed set of 9.5/19/38/76.
13:50:27 <fizzie> In Finland it was more like 10/25/50/100.
13:52:35 <fizzie> Besides, the modem says the negotiated rate is 79999/19999 kbps. But maybe they include some sort of a standard 5% overhead in the marketing numbers.
13:54:18 <myname> pareto bandwith
13:55:33 <boily> izabellora. where were you going at in Italy again?
13:55:53 <boily> @massages-loud
13:55:53 <lambdabot> olsner said 10h 33m 34s ago: fatso day (or fat tuesday) was just this past tuesday actually
13:58:32 -!- Treio has joined.
14:00:22 <izabera> `? fetch
14:01:00 <HackEgo> fetch? ¯\(°​_o)/¯
14:02:11 <izabera> `le/rn fetch curses function that fets a char. see fetch(3X) for more info
14:02:13 <HackEgo> No output.
14:02:36 * izabera funny
14:03:19 <myname> mv_fetch!
14:03:38 <boily> it mvly fets a ch?
14:03:45 -!- groteworld has joined.
14:09:40 -!- Treio_ has joined.
14:09:49 -!- Treio_ has quit (Remote host closed the connection).
14:17:51 -!- PinealGlandOptic has joined.
14:29:56 -!- heroux has quit (Ping timeout: 248 seconds).
14:35:20 -!- heroux has joined.
14:48:40 -!- heroux has quit (Ping timeout: 256 seconds).
14:49:27 -!- groteworld has quit (Quit: ZZZzzz…).
14:54:20 -!- MDream has quit (Ping timeout: 256 seconds).
14:54:59 -!- heroux has joined.
14:57:51 -!- jaboja has joined.
15:02:40 <b_jonas> “<\oren\> with this, all kanji taught in primary school are covered” – primary school means which grades?
15:03:33 <b_jonas> oerjan: I know, but he isn't the only one, there are more people here
15:03:43 <b_jonas> he's just the only one I can identify
15:08:02 <b_jonas> \oren\: add the Korean ones
15:10:58 <b_jonas> \oren\: and I think you haven't fixed the presentation of Shavian letters on the test page yet so that they appear in only four lines, not five, so the lowercased version of a letter is two lines below the uppercased one
15:14:26 -!- Vorpal has quit (Ping timeout: 240 seconds).
15:16:06 <boily> there are Korean Kanjis?
15:16:31 <b_jonas> boily: no
15:16:39 <b_jonas> boily: or actually, yes there are
15:16:43 <b_jonas> but I wasn't asking for those
15:16:53 <b_jonas> boily: \oren\ asked what *characters* he should add
15:17:10 <boily> oooooh. that should teach me to not halflogread.
15:17:31 <boily> meanwhile, time for tile shuffling.
15:17:42 -!- boily has quit (Quit: VEGA CHICKEN).
15:18:01 <b_jonas> I'm asking him to add korean hangul syllables and the few non-syllable hangul characters
15:18:47 -!- heroux has quit (Ping timeout: 264 seconds).
15:19:38 -!- Vorpal has joined.
15:22:59 -!- heroux has joined.
15:24:41 <Vorpal> rsyslog has weird configuration
15:28:23 -!- LexiciScriptor has quit (Ping timeout: 264 seconds).
15:29:10 -!- LexiciScriptor has joined.
15:36:55 -!- groteworld has joined.
15:43:35 -!- heroux has quit (Ping timeout: 260 seconds).
15:48:45 -!- heroux has joined.
15:56:46 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
15:57:08 -!- ais523 has joined.
15:59:21 <b_jonas> hi, ais523
15:59:46 <ais523> hi
16:00:33 <APic> Hi
16:02:04 <b_jonas> ais523: I've been trying to learn git. I still don't like it, and I'd like a better vcs.
16:02:15 <b_jonas> But I have a question about git.
16:02:22 <ais523> go on
16:02:34 <ais523> fwiw, my opinion on git is that it's possible to do a lot better, but git seems to have won the VCS wars
16:02:35 <b_jonas> (Let me try to paste it from channel history.)
16:02:48 <ais523> so if you use something else, people will find it harder to interoperate with you
16:03:15 <b_jonas> not really. I can still use two vcs together, or send unified diff patches, and stuff
16:03:19 <b_jonas> but yes, partly true
16:04:03 <b_jonas> Let me copy the question from channel history.
16:04:13 <b_jonas> I want to apply the difference between two commits (call them t1 and t2) to the current state (both index and checked out files, error if their difference conflicts with the changes applied).
16:04:17 <b_jonas> The two commits are related but it's possible that neither is an ancestor of the other.
16:04:22 <b_jonas> This should take into account the history, in that it traverses the commits from t1 to the common ancestor of t1 and t2 then to t2, and preferable also take into account the history between the commits and the commit currently checked out.
16:04:28 <b_jonas> The index together with the checked out files may already have modifications, and applying the differences may conflict with these, or there can simply be a conflict between HEAD and those changes, in which case I want proper conflict markers as with a normal merge.
16:04:35 <b_jonas> I want to know the best way to do this. What I think might work is this: ( git revert t2..t1 && git cherry-pick t1..t2 )
16:04:41 <b_jonas> Does that combination of two commands do what I want? Whether or not, what's the best way to do this, rather than that command?
16:05:41 <ais523> b_jonas: the first thing to note is that git is very dumb in terms of preserving history
16:06:11 <b_jonas> ais523: yes, that's one of the things I don't like in it. Svn preserves the parent (a previous path and version) of each committed file or directory
16:06:21 <ais523> what you've written is effectively equivalent to git diff t1..t2 | git apply
16:06:41 <ais523> in order to do proper conflict markers, I'd recommend doing git stash first
16:06:48 <ais523> then applying the commit difference
16:06:58 <ais523> then doing a git stash pop and resolving the conflicts
16:07:02 <b_jonas> (which can be any file of the same is-directory from any previous version internally, although the working copy interface, including the working copy public api, makes it very hard to set it arbitrarily)
16:07:02 <ais523> although git's UI for that is painful
16:07:14 <ais523> sometimes I just make a temporary commit in order to work around the issues
16:07:50 <ais523> the other possibility would involve rebasing the current branch against t1, then merging t2
16:08:02 <b_jonas> ais523: the problem with (git diff | git apply) is two: one is that the unified diff format preserves less of the context of the original files than a straight git apply or git merge could use for merging, since it contains only some of the lines,
16:08:29 <b_jonas> the other is that it doesn't use intermediate versions in the history, so it might not be able to match so well, especially across file moves and copies
16:08:59 <ais523> b_jonas: right; however it's hard to get git to act more intelligently than that
16:09:26 <ais523> almost anything you do will try to do a diff then merge, all in one go
16:09:27 <b_jonas> “in order to do proper conflict markers, I'd recommend doing git stash first / then applying the commit difference / then doing a git stash pop and resolving the conflicts” - hmm
16:09:36 <ais523> the rebase method is the only method to get it to do it one commit at a time, AFAIK
16:09:43 <b_jonas> hmm
16:10:29 <b_jonas> but how do I get rebase to not try to destroy what the branch ref pointed to before the rebase?
16:10:30 <ais523> hmm, it's possible that a merge runs one commit at a time, in which case rebase+merge would almost certainly be your best bet; the problem is that it edits history
16:10:33 <b_jonas> that's what scares me about rebase
16:10:49 <ais523> rebase never destroys anything; rather, it makes a parallel copy of history and points your branch at that
16:11:00 <ais523> the original is still around, but typically without a name unles you gave it a second name first
16:11:34 -!- p34k has joined.
16:11:41 <ais523> perhaps it'd help if you explain the context for what you're doing, there might be another way
16:11:47 <ais523> (note: this sort of thing is what git is worst at)
16:11:51 <b_jonas> ais523: merge editing history should be no problem, because I can fix that by merging to a temporary local branch and then merge --squash --no-commit to the current index-file state,
16:12:24 <b_jonas> but the problem with merge is that I don't see how to make it merge the difference between two states, it only wants to merge a commit and ALL ITS ANCESTORS
16:12:30 <b_jonas> I can't make merge exclude some of the previous changes
16:12:33 <b_jonas> so what should I merge?
16:13:27 <b_jonas> ais523: it doesn't actually _destroy_, but it changes what the branch ref points to, and I don't understand how to make it not do that
16:13:42 <b_jonas> s/it/rebase/
16:13:59 <b_jonas> why doesn't rebase just have a switch to use a new branch name?
16:14:22 -!- Opodeldoc has joined.
16:14:23 <ais523> you can create a new branch first and then rebase that
16:14:31 <b_jonas> hmm
16:14:50 <b_jonas> ok, so hw does the rebase solution work exactly?
16:15:19 <ais523> hmm, I have a solution for if t1 is an ancestor of t2; you create a new branch, rebase it so as to delete all the commits you don't want to merge (so only the commits you want are forked off an ancestor of the branch you're merging to), then merge
16:15:44 <b_jonas> honestly, I keep thinking that it's easier to do my version control by getting everything into a subversion repository, doing stuff there, and getting it back to git, but the problem is that I'll never learn git with that attitude
16:16:13 <ais523> how does subversion do the operation in question?
16:16:31 <b_jonas> ais523: the third syntax of svn merge does this basically
16:16:50 <ais523> the only VCS I can think of that can do what you requested in a history-aware way is darcs, and then only if t1 is an ancestor of HEAD
16:17:48 <b_jonas> takes two repo paths with versions in the same repo you have checked out, and applies the difference to the checked out working copy
16:18:25 <b_jonas> this is sort of more powerful because you can use arbitrary paths, not only diffs, but also less powerful because it requires ancestry of files to correspond properly, even in the working copy
16:18:37 <b_jonas> s/not only diffs/not only branches/\
16:19:07 <b_jonas> I really like the whole svn model, except how it's not a dvcs
16:19:09 <coppro> ais523: does scapegoat have a way to undo a merge in a history aware way that doesn't require at least one rebase/cherry-pick?
16:19:11 <ais523> aha, svn relies on t2 being the result of a merge of anything and a direct ancestor of HEAD
16:19:39 * ais523 looks up the scapegoat plans
16:19:57 <b_jonas> is scapegoat the name of your hypothetical vcs?
16:20:01 <coppro> yes
16:20:29 <coppro> it's called scapegoat because if you use it, you can blame all your development workflow problems on ais523
16:20:57 <ais523> it's called scapegoat because it uses blame (rather than diffs or trees) as its basic unit of information
16:21:07 <b_jonas> I blame all my development workflow problems on stupid co-workers who sometimes commit what seems like monkeys typing on their keyboard to the vcs repo
16:21:24 <ais523> coppro: it depends on what you mean by "undoing a merge"
16:21:38 <coppro> ais523: oh?
16:21:54 <ais523> like, if you just gave a merge command, you can put things back the way they were in one command
16:22:20 <b_jonas> ais523: about the git, can you tell why ( git apply --no-commit t2..t1 && git cherry-pick --no-commit t1..t2 ) wouldn't work
16:22:36 <ais523> b_jonas: first should be cherry-pick
16:22:46 <coppro> ais523: but can you do it without breaking history?
16:22:49 <b_jonas> s/apply/revert/
16:22:55 <coppro> ais523: in git, you can do it with reset, but then you break histoyr
16:22:55 <b_jonas> ais523: no, first should be revert
16:22:55 <ais523> and it would work, it's just not history-aware at all, it's identical to the diff | apply method
16:23:00 <b_jonas> because cherry-pick doesn't go backwards
16:23:05 <b_jonas> I see
16:23:14 -!- bender| has quit (Ping timeout: 252 seconds).
16:23:30 <b_jonas> ais523: not history-aware in what sense? not aware of the history between t1 and t2, or not aware of the history between t1 and HEAD ?
16:23:39 <ais523> coppro: so if you run git merge (with a clean working directory) followed by git reset --hard, there's no change to anything, it puts everything back the way it was
16:23:47 <coppro> ais523: right
16:23:48 <ais523> b_jonas: not aware of either, it's literally just diffing the trees
16:24:03 <coppro> but if I merge, and then push to a remote that I can't force, I can't undo the merge
16:24:46 <ais523> oh, I see
16:24:48 <b_jonas> ais523: I see
16:24:57 <ais523> the remote now has dependencies on the branch that was merged
16:25:11 <b_jonas> not history aware might not be such a big problem as long as it can figure out intelligently which files are moved where
16:25:22 <b_jonas> if I need more history, I can merge in more intermediate steps between t1 and t2
16:25:40 -!- zadock has quit (Ping timeout: 272 seconds).
16:25:45 <ais523> scapegoat's plans have been worked out in two stages, the general design and some specific design
16:26:10 <b_jonas> but sadly I can't really tell git which files correspond to which other files, unless I tell it to merge changes to individual files, at which point I'm just diff3ing without a vcs basically
16:26:15 <ais523> there's nothing in the bits of the specific design that have been worked out yet that would let you revert a merge in that sense (i.e. have the merge and the undoing of the merge both in history)
16:26:22 <b_jonas> (except of course it still compresses stuff)
16:26:34 <ais523> however the general design would allow it via the same mechanism as merge conflict resolution
16:26:46 <ais523> (you'd add a commit whose effect was to cancel out all the previously merged commits)
16:27:01 <ais523> b_jonas: git doesn't know which files correspond to which other files, it works it out heuristically
16:27:08 <b_jonas> ais523: exactly
16:27:13 <b_jonas> which is why this might work
16:27:30 <b_jonas> I'll probably only find out how well this stuff works as I actually try to use git at work
16:27:56 <b_jonas> And when I get really annoyed, I can still get versions into a temporary svn repo and use svn commands
16:28:21 <b_jonas> I have already tried that, git together with svn. It sort of works, but has problems.
16:28:35 <ais523> git-svn basically assumes that both the git and svn repos are entirely linear
16:28:50 <b_jonas> I didn't use git-svn
16:28:53 <b_jonas> only git and svn separately
16:29:04 <b_jonas> each saw the other as only local modifications in the checked out files
16:29:19 <coppro> ais523: would such a cancellation commit allow the branch to be remerged correctly, then?
16:29:50 <ais523> yes, although there'd be a dependency between the merge and the cancel
16:29:59 <ais523> or, hmm, maybe not
16:30:06 <b_jonas> I don't really trust git-svn because the git and svn repo storage models are so different that I don't think they can correspond in a useful sane way
16:30:13 <ais523> if you merge a commit twice then cancel one, that should theoretically be the same as merging it once
16:30:30 <ais523> b_jonas: git-svn basically forces you into the common subset of git and svn
16:30:35 <b_jonas> ais523: right
16:31:34 <b_jonas> That can still be useful in one case: when the dev people decide that they prefer git over svn and convert the project to use git, it's better to put some of the history into the git repo rather than put none of it in.
16:31:42 <b_jonas> So you use git-svn to convert the svn repo to git.
16:32:12 <b_jonas> Btw, the context is that at work, people decided to use git, but I'm not convinced it's better.
16:32:21 <coppro> omg, our deploy stopped working because someone had a folder open in a remote desktop session so it wasn't able to delete it. windows is the worst
16:32:39 <Vorpal> b_jonas: better than svn?
16:32:52 <Vorpal> I would suggest it is, but personally I find hg to be even better
16:33:02 <Vorpal> But that is probably because I'm more used to it
16:33:05 <b_jonas> It has some advantages, and if they would actually get people to use git well, then it would be better than not using a vcs properly, but I think they don't use either properly yet.
16:33:11 <b_jonas> There's hope they'll learn, maybe.
16:33:14 <b_jonas> Some of them at least.
16:33:26 <\oren\> git is conceptually better but its user interface sucks
16:33:31 <Vorpal> we use hg at work, and it works fairly well for us
16:33:37 <b_jonas> \oren\: I actually prefer svn conceptually too
16:33:42 <Vorpal> oh and TortoiseHg has a *really* good GUI
16:33:57 <Vorpal> Not sure if there is anything like that for git?
16:34:15 <\oren\> in particular, there doesnt seem to be a good way to do what "svn ci" does in one command
16:34:21 <Vorpal> (Oh and tortoisehg is not windows specific, which I believe tortoisesvn is)
16:34:40 <Vorpal> \oren\: You mean commit and push?
16:34:42 <b_jonas> There's one incidental advantage of them using git by the way: since git doesn't really support sparse checkouts (there's rumours they're possible, but certainly not easy),
16:34:43 <Vorpal> Hm
16:35:07 <b_jonas> I can get them not to commit their huge gigabyte large useless trees or files into the repo, which they used to do with the svn repo.
16:35:29 <Vorpal> b_jonas: why would they...? Never mind
16:35:45 <b_jonas> Vorpal: yes, part of the problem is the co-workers (and also me), not only the software
16:35:55 <Vorpal> b_jonas: svn:ignore / .gitignore?
16:36:25 <b_jonas> Vorpal: partly works, but sometimes they committed stuff that shouldn't be in the vcs deliberately
16:36:29 <Vorpal> I mean, we use that for the build directory and stuff like that at work (with .hgignore)
16:36:36 <Vorpal> Okay?
16:36:47 <b_jonas> In fact, there's also stuff that _could_ be in the vcs if only it supported sparse clones:
16:37:12 <Vorpal> Seems like the only way to solve that would be discussing the issue and arriving at a consensus or at least a policy
16:37:17 <b_jonas> it would make sense to add certain large dependencies to the vcs, and we did so with svn, because it makes it easier to check out and build the project without too much extra setup,
16:37:37 <Vorpal> b_jonas: what about sub-repos? I think git has that too?
16:37:41 <b_jonas> but it's impossible with git because you'd have to download all the history of the large dependencies, many of which are binary prebuilt and so don't diff-compress well.
16:37:41 <\oren\> well basically with git what I usually do it
16:37:47 <Vorpal> b_jonas: We certainly use sub repos at work with hg
16:38:01 -!- lynn has joined.
16:38:06 <Vorpal> Hm
16:38:20 <b_jonas> Vorpal: perhaps could work, but wouldn't be too easy to set up, because you'd have to create a new repo on the server each time you upgrade a large dependency
16:38:48 <b_jonas> Vorpal: I got them to compromise and put the large deps in an svn repo, from where I can check them out
16:38:51 <b_jonas> that works well
16:38:58 <Vorpal> Not much checked in binaries there (there are a few, external proprietary libraries )
16:39:00 <b_jonas> this way it's only two repos, not many sub-repos
16:39:21 -!- zadock has joined.
16:39:25 <b_jonas> (well, in theory. actually posssibly three because the svn brings in stuff from sub-repos. that doesn't work well, because of the svn interface)
16:39:33 <b_jonas> Oh, that reminds me, I have an svn question about subrepos too.
16:39:45 <\oren\> git commit -a; git push
16:40:36 <\oren\> wait. maybe a bash function can do this?
16:40:39 <fizzie> git can do shallow submodules, though I'm not sure how realistic that sort of stuff would be.
16:40:41 <Vorpal> b_jonas: well, we use many sub repos for a reason, since we have a common platform maintained by one team (abstracts hardware / simulation differences, CAN drivers, and so on), lots of shared functionality (talking with engine controllers of specific brands, path finding, ...) and then an application on top for the specific machine
16:40:43 <ais523> scapegoat can be set up to have a one-command commit+push
16:40:52 <ais523> specifically, you can set up a repository to mirror your own local repository
16:40:58 <ais523> then any changes to the local repo will be pushed automatically
16:41:18 <ais523> so all you have to do manually is the commit
16:41:24 <Vorpal> \oren\: obviously it can. Bash is also turing complete
16:41:54 <Vorpal> or, well, as turing complete as anything running on a real computer is
16:42:22 <Vorpal> ais523: hm... what about merges and rebasing then+
16:42:43 <\oren\> function gitci() {git commit -a;git push}
16:42:48 <ais523> Vorpal: scapegoat doesn't have rebasing, and merges are no different from commits in this respect
16:42:49 <fizzie> (And shallow clones in general.)
16:43:03 <Vorpal> ais523: scapegoat is not git? Or what is it?
16:43:32 <ais523> Vorpal: it's a VCS that #esoteric have been planning for years, because the existing VCSes suck
16:43:37 <ais523> however nobody wants to actually write it
16:44:46 <Vorpal> ais523: I'm not very familiar with the git workflow, but my usual hg workflow (which is probably horrible) is working with versioned MQ patches (possibly in multiple sub repos) until I'm ready to push, then I rebase everything to top and build (and test again), then I push. Repeat if someone else pushes while you do it (usually things don't happen that quickly)
16:44:56 -!- Elronnd has changed nick to earenndil.
16:45:16 <\oren\> my preferref VCS in practice is "time/version stamped folders"
16:45:37 <ais523> Vorpal: that behaviour isn't considered terrible wrt git; it's almost a flamewar whether the side-repositories (which git calls "branches" but that word means something else in hg) should be rebased or just merged
16:45:38 <Vorpal> ais523: that way the history is mostly linear, not "wide and messy"
16:45:48 <ais523> merging is more honest wrt the history; rebasing looks prettier but destroys information
16:46:24 <Vorpal> ais523: a more narrow history aids in binary searching for introduced bugs, Also it is easier to read and understand what happened
16:46:30 <b_jonas> “<ais523> scapegoat can be set up to have a one-command commit+push / specifically, you can set up a repository to mirror your own local repository” -- so can fossil, I hear
16:46:51 <Vorpal> ais523: but branches in git, is that like named branches in hg?
16:46:54 <Vorpal> Or is it different?
16:46:58 <\oren\> wait. idea: what if you simply did "timestamped folders" within a compressed archive?
16:47:06 <ais523> you can binary search just as well with the merge version
16:47:24 <fizzie> The feeling I've gotten from git submodules is that they're kind of awkward, workflow-wise. E.g. when you clone a repository that contains submodules, you'll need to do all that "git submodule init" / "git submodule update" stuff locally by hand, and I'm not sure if there's any way to e.g. put something in the repo so that the submodule clones are shallow by default.
16:47:24 <ais523> you check both parents first to see which side has the bug, then binary search within the side where the bug occurs
16:47:42 <ais523> Vorpal: branches in git are basically equivalent to separate repositories, but stored in an efficient way
16:48:16 <Vorpal> ais523: hm, so what is the git equivalent to named branches in hg then?
16:48:31 <Vorpal> wrt binary search: right, but on average, doesn't that result in having to check more revisions?
16:49:20 <\oren\> so in other words, you'd have "repo.tgz" which contains 20160102111640/ and so on, each folder with a copy of every file. but because of the compression, the the copies don't take up much space
16:49:27 <Vorpal> fizzie: sub repos in hg work fine, at least if your workflow is having a shell repo on top containing sub-repos (but not much in the way of code). Can't speak for other ways to use hg sub repos
16:50:03 <b_jonas> Anyway, svn question. I have a checked out directory with multiple large externals in it. I uncheckout one of them by ( svn up --set-depth=empty subdir && svn clean ). After that, how can I check out that external again in such a way that it's a sparse checkout (starting empty, then I'll change it) YET svn knows that it's the external given in the externals property, not just an unrelated checkout?
16:50:04 <Vorpal> git's way of doing it seems oddly complicated
16:50:12 <b_jonas> I can't get the working copy to do that in any way.
16:50:42 <b_jonas> I don't think I can even full checkout the external without having to re-checkout the whole directory containing that external, including the other large externals.
16:50:42 <Vorpal> b_jonas: what is a sparse svn checkout? If you mean "not the whole history" I thought that was always the case in svn?
16:51:09 <b_jonas> Vorpal: sparse checkout means not the whole tree. svn has quite good support for that, though not faultless.
16:51:11 <Vorpal> Though I haven't used svn for years
16:51:14 <Vorpal> Ah
16:51:16 <Vorpal> Okay
16:51:30 <fizzie> I don't see why you would call git branches "separate repositories" when they're literally just a pointer to a commit that gets moved automatically when you make new commit while that branch is your current branch.
16:51:56 <b_jonas> Vorpal: basically the working copy stores which parts of the tree are checked out and which aren't, and in fact you can also have any part of the working copy check out any version of any path in the repo at any depth
16:52:02 <Vorpal> fizzie: so each commit doesn't belong to a specific branch?
16:52:43 <b_jonas> One problem with git is that on windows it can't have multiple checkouts of the same repo without storing the history twice.
16:52:43 <fizzie> Vorpal: No.
16:53:01 -!- lleu has joined.
16:53:17 <b_jonas> That's one of the reasons why I insisted really hard (when they decided to use git) to make people not put large trees in the history.
16:53:18 <Vorpal> fizzie: unlike in hg, where you can look at the history and see which branch a that commit is a part of? (Of course all commits prior to the branching point or prior to a merge between branches ends up being part of multiple branches)
16:53:22 <b_jonas> I want multiple checkouts.
16:53:25 <b_jonas> Sometimes four or more.
16:53:34 <b_jonas> With svn, that's easy.
16:53:44 <Vorpal> (but it still is part of a single specific branch)
16:54:30 <Vorpal> b_jonas: can't you share the history data between multiple checkouts? At least mercurial supports hardlinking common data files in the .hg directory
16:54:35 <Vorpal> I would assume git can do the same?
16:54:53 <b_jonas> Vorpal: how does that work? For a commit, you can ask which branches it's part of? Is that sort of like fossil's mutable labels or tags or however they're called?
16:55:10 <Vorpal> b_jonas: hm... not familiar with fossil
16:55:11 <b_jonas> Vorpal: git can do that on a filesystem where you can create hard links. No luck on windows.
16:55:41 <fizzie> Vorpal: Well, I mean. A branch is a pointer to a commit. You're free to make conceptual constructs like "all parent commits" and call them as being "in the branch", or "in the history of the branch", or whatnot.
16:55:42 <Vorpal> b_jonas: NTFS supports hardlink, mercurial supports hardlinking on Windows
16:55:52 <Vorpal> b_jonas: if you use FAT32 you are fucked though
16:56:01 <b_jonas> Vorpal: NTFS supports, but I think you need to be an admin to create them or something. Or is that only syminks?
16:56:15 <Vorpal> b_jonas: only symlinks afaik
16:56:18 <b_jonas> Hmm
16:56:25 <b_jonas> maybe git does support this on windows too then?
16:56:27 <b_jonas> I'll have to test
16:56:30 <Vorpal> b_jonas: though it differs between windows versions?
16:56:32 <b_jonas> what's the switch for clone?
16:56:43 <Vorpal> for git? no clue
16:57:03 <Vorpal> b_jonas: also how are you a developer without local admin?
16:57:05 <b_jonas> No FAT32, except on camera SD cards. People aren't that stupid.
16:57:20 <b_jonas> Vorpal: I might have local admin, but that doesn't mean git commands run as such
16:57:25 <Vorpal> True
16:57:31 <fizzie> Hardlinking should be the default for git clone that doesn't cross filesystem boundaries.
16:57:33 <Vorpal> But you could run a relink command as that
16:57:41 <fizzie> There's only a "--no-hardlinks" switch if you want to disable it.
16:58:05 <Vorpal> at least hg has a (plugin?) command to relink as much data as possible when both repos has pulled from a remote repo separately
16:58:17 <Vorpal> Saved gigabytes for me
16:58:18 <b_jonas> fizzie: no, I mean the switch to set up the remote of the clone to be the same as the remote of the repo I'm cloning
16:58:36 <fizzie> Oh. I don't remember that.
16:58:42 <b_jonas> How do I have multiple git checkouts without downloading pulled data twice by the way?
16:59:07 <fizzie> They've added the "multiple separate working trees" thing as a "real" git command very recently, by the way.
16:59:10 <fizzie> http://git-scm.com/docs/git-worktree
16:59:24 <fizzie> Well, "very recently"; maybe 2.5 or so.
16:59:29 <b_jonas> Perhaps by mirroring the repo and pulling from that...
16:59:37 <b_jonas> fizzie: really? I'll have to look that up
16:59:39 <b_jonas> that would be great
16:59:44 <Vorpal> b_jonas: wrt commits belonging to branches: http://tortoisehg.bitbucket.org/img/vt_history.png explains it. From what I can tell using tortoisehg each commit is part of a named branch there (that GUI assigns a colour to each branch in the repo).
16:59:55 <b_jonas> especially if it can also do sparse checkouts
17:00:01 <Vorpal> So even after merges that commit has the branch "attribute" set to the same as when originally commited
17:00:26 <b_jonas> Vorpal: hmm, maybe I'd better not try to confuse myself with mercurial when my goal is learning git and figuring out how to use git and svn at work
17:00:33 <Vorpal> b_jonas: fair enough
17:00:52 <b_jonas> When they switched to git, I got a promise from them that they won't switch to mercurial any time soon
17:00:55 <Vorpal> b_jonas: I'm happy we use hg, since it works really well
17:01:08 <b_jonas> I don't claim mercurial is bad, but I didn't want us to switch.
17:01:08 <ais523> <fizzie> I don't see why you would call git branches "separate repositories" when they're literally just a pointer to a commit that gets moved automatically when you make new commit while that branch is your current branch. ← actual separate repositories are also literally that if the commits can be shared on disk, and almost that except that the commits have to be duplicated for data visibility reasons otherwise
17:01:21 <ais523> (although as git commits are immutable, duplicating them shouldn't be visible to the user)
17:01:38 <fizzie> Hrm. I have no idea if the worktree stuff lets you have different sparse checkouts for the different working trees.
17:01:58 <b_jonas> (They didn't intend to, either, but I needed an assurance about the future.)
17:02:32 <Vorpal> Hm
17:02:43 <Vorpal> b_jonas: what sort of windows GUI is there for git btw?
17:02:46 <b_jonas> fizzie: it's not really only sparse checkouts that matter, but sparse clones
17:02:49 <Vorpal> I'm curious
17:03:38 <b_jonas> Vorpal: multiple, there's a so-called tortoise git, and the built-in git gui tool, and some fancy stuff I don't remember the name, and more. since it's won the vcs wars, everyone is making separate fancy guis for it. I don't care, I'm just trying to learn the command line.
17:03:50 <ais523> many git guis are terrible
17:03:53 <b_jonas> sure
17:03:57 <ais523> gitk is good for read-only use
17:04:15 <ais523> although it doesn't have nearly enough functionality to use it to actually modify repos in anything but trivial ways
17:04:28 <Vorpal> ais523: any good all round GUI? Like tortoisehg is excellent for almost everything with hg
17:04:38 <ais523> not that I know of
17:04:39 <b_jonas> Funnily, tortoisesvn is a really good gui (with only a few problems), I used it a lot, but I think adapting it to git was a REALLY bad idea, due to how the two vcses differ.
17:04:40 <Vorpal> Hm
17:05:09 <Vorpal> b_jonas: right. Which is why tortoisehg and tortoisesvn actually work very differently, and why both of them are good
17:05:15 <fizzie> b_jonas: I don't know about sparse clones. I know about sparse checkouts (well, in the abstract) and shallow clones, but not that.
17:05:46 -!- heroux has quit (Ping timeout: 240 seconds).
17:08:04 <fizzie> Chromium has a very complicated build infrastructure that's kind of git + lots of specific stuff on top of it.
17:08:16 <coppro> oh god, chromium build
17:08:20 <b_jonas> fizzie: thanks, this git worktree is very interesting
17:08:22 * coppro goes into a corner to cry
17:08:33 <fizzie> I've built chromium, it's certainly no joy.
17:08:45 <coppro> it really isn't
17:09:00 -!- heroux has joined.
17:09:54 -!- zadock has quit (Quit: Leaving).
17:10:35 <Vorpal> coppro: hm, what is the issue with their build system?
17:11:26 <coppro> it's just a complex layered mess
17:11:29 <fizzie> It's just complicated and very custom. Plus they have at least two of them in parallel.
17:11:31 <b_jonas> My main disagreement with the dev model of my co-workers isn't the vcs use though.
17:11:40 <Vorpal> For large projects I think custom build systems can be useful. For example we use a custom python/cmake mix to generate ninja build files at work, it works very well for our specific use case.
17:12:03 <coppro> fun fact: it's impossible with current tools to build 32-bit chromium without a 64-bit machine
17:12:13 <b_jonas> coppro: heh
17:12:14 <fizzie> Ninja is used for Chrome, sort-of.
17:12:20 <Vorpal> But then we build mixed SDK builds for machines running several nodes with different CPU architectures.
17:12:34 <Vorpal> And need to be able to start simulations and what not as well
17:12:38 <ais523> coppro: this sort of thing is why I wrote aimake
17:12:54 <ais523> I wanted to cut out as many of the levels of abstraction that build systems use as is reasonable
17:12:57 <coppro> ais523: aimake would make that problem worse, not better
17:13:01 <coppro> (the memory one)
17:13:15 <Vorpal> ais523: so you don't generate for a lower level build system?
17:13:18 <ais523> well, using a lot of memory is not an intended or fundamental part of aimake's design
17:13:23 <ais523> Vorpal: nope!
17:13:30 <Vorpal> ais523: hm okay
17:13:33 <coppro> the reason you can't build Chromium on 32-bit is simple: the linker can't fit itself into a 32-bit virtual address space
17:13:33 <Vorpal> ais523: what about tup?
17:13:45 <b_jonas> coppro: WHAT?
17:13:52 <ais523> it does use cc/gcc, though, rather than calling the compiler, linker, etc. separately
17:13:54 <Vorpal> haha
17:14:03 <Vorpal> right
17:14:08 <Vorpal> ais523: what about ar?
17:14:12 -!- jaboja has quit (Ping timeout: 248 seconds).
17:14:16 <ais523> it calls ar directly I think
17:14:19 <Vorpal> Ah
17:14:34 <ais523> or, well
17:14:39 <ais523> atm it doesn't create static libraries, only dynamic ones
17:14:41 <ais523> so it has no reason to call ar
17:14:55 <ais523> in terms of unpacking libraries it uses nm and ld-via-cc rather than ar directly
17:15:13 <fizzie> Firefox: https://groups.google.com/forum/#!topic/mozilla.dev.platform/wLHTg_moymM
17:15:22 <fizzie> "At the end of last week our Windows PGO builds started failing on
17:15:22 <fizzie> mozilla-inbound (https://bugzilla.mozilla.org/show_bug.cgi?id=709193).
17:15:22 <fizzie> After some investigation we determined that the problem seems to be that
17:15:22 <fizzie> the linker is running out of virtual address space during the optimization
17:15:23 <fizzie> phase."
17:15:30 <fizzie> "This is not the first time we've run into this problem (e.g. Bug 543034).
17:15:30 <fizzie> A couple years ago we hit the 2 GB virtual address space limit. The build
17:15:30 <fizzie> machines were changed to use /3GB and that additional GB of address space
17:15:31 <fizzie> bought us some time."
17:15:35 <Vorpal> ais523: why would it unpack libraries?
17:15:54 <b_jonas> What's the deal with every of these non-C++ languages insisting that if you want to link programs containing that language you need to use their compiler to invoke the linker? How are you supposed to link something that contains more than one of C++, haskell, go, rust, etc?
17:16:00 <ais523> Vorpal: to know which ones to link in
17:16:41 <ais523> aimake tries to handle as many steps of the build, including many that are normally done by humans
17:16:46 <ais523> and thus have saved me a lot of time
17:17:06 <b_jonas> And even for gcc, why does it need a separate g++ executable, rather than have a switch at linking stage to say that the project contains c++ as well as possibly other languages?
17:17:10 <b_jonas> I just don't get it
17:17:21 <Vorpal> ais523: hm... isn't that specified as dependencies? Like "I need to link to libssl"? Otherwise you would have to unpack every library on the entire system (or that entire cross compilation sysroot) and hope that the symbol name is unique and doesn't show up in multiple libraries (say, ncurses and ncursesw)
17:17:24 <ais523> b_jonas: at least with g++ you don't have to use it, g++ is just gcc that passes the switches needed for C++ by default
17:17:28 <ais523> to stop you having to remember them
17:17:30 <b_jonas> What gcc command do you even use to _properly_ link C++ and fortran together?
17:17:31 <ais523> (there are quite a lot)
17:17:40 <b_jonas> ais523: yes, but the problem is that the switches _change_
17:17:44 <b_jonas> by version of gcc
17:18:05 <ais523> Vorpal: currently the approach is that you specify a list of libraries you might need (that don't necessarily have to even exist)
17:18:05 <b_jonas> I have linked c++ without g++, but then it stopped working when it needed more switches
17:18:11 <b_jonas> and it gets worse if you use threading
17:18:15 <ais523> aimake unpacks just those ones and uses it to figure out which libraries you actually do need
17:19:00 <Vorpal> ais523: I'm not convinced. What happens if you rely on code that runs in static constructors?
17:19:10 <Vorpal> Might only be relevant for dynamic libraries
17:19:26 <Vorpal> Since that won't work anyway in static libraries
17:19:27 <ais523> Vorpal: it's not like it links only part of the library
17:19:27 <ais523> it links the entire library
17:19:34 <ais523> just relies on symbols to figure out what to link
17:19:37 <ais523> especially in terms of object files
17:19:50 <Vorpal> ais523: unless it is static, in which case ld will only pull in the required object files
17:19:51 <b_jonas> But I think gcc is improving in thise respect: they've actually added a single switch that means you want to use posix threads, rather than having to use various -l and -D stuff, and getting mysterious problems at runtime if you mess them up.
17:19:52 <ais523> aimake needs to know that a symbol comes from a library, so that it knows that it doesn't have to look for it in object files
17:20:08 <ais523> I mean, suppose I have foo.c and bar.c
17:20:14 <b_jonas> -pthread
17:20:17 <ais523> do I link them together, or are they meant to be separate?
17:20:28 <ais523> answering this question may depend on whether bar.c defines symbols that are also defined in a library
17:20:30 <Vorpal> ais523: also it sounds like aimake won't scale well if it has to track all the symbols. Not to large C++ projects anyway
17:20:40 <ais523> it tracks all the symbols, all right :-
17:20:43 <ais523> * :-)
17:20:52 <ais523> it may potentially have scaling problems; it uses a lot of memory as it is
17:21:24 <b_jonas> ais523: yes, but I'd like to set which parts of my code I want to link deliberately, rather than accidentally pulling stuff in because I use a symbol
17:21:41 <b_jonas> ais523: so aimake might work well for nethack where the dependencies are all messed up already
17:21:51 <b_jonas> but I don't want to use that approach in my projects
17:21:54 <Vorpal> ais523: I have seen ld at work (keep in mind we link everything statically for release builds, since we mostly run one program per node) use several GBs of RAM.
17:21:58 <ais523> I don't see why you'd want to waste time doing a job yourself when a computer can do it faster
17:22:01 <Vorpal> I can't imagine using aimake there
17:22:20 <Vorpal> And that is not work link time optimisation either
17:22:32 <coppro> fizzie: do you remember how to turn on flash local storage in chrome?
17:22:57 <Vorpal> ais523: true. Do you know ld can do that for you though? At least GNU ld
17:23:02 <b_jonas> ais523: my main problem with the dev model my co-workers are using is that they're always building one huge executable containing everything, full of stuff you can't compile half the time because some co-worker messes up something in the part of the code you don't need, and full of code that writes past the end of their arrays or through stray pointers
17:23:02 <Vorpal> ais523: -Wl,--as-needed
17:23:22 <b_jonas> whereas I want to build in a unixy models, experimenting with a small executable containing _only_ the code I need, nothing more
17:23:33 <b_jonas> so that when I get an error, I know it's somewhere in the code I did link in
17:23:39 <b_jonas> not in some unrelated part of someone else's code
17:23:41 <Vorpal> b_jonas: ... that is just bad code that crashes?
17:23:41 <ais523> Vorpal: err, suppose your project has two files that contain functions with the same name (common examples: main, yyparse)
17:23:51 <ais523> ld isn't going to magically figure out which one you wanted to link
17:23:59 <b_jonas> Vorpal: yes, but it's typically bad code in stuff I'm not currently working on,
17:24:00 <ais523> aimake can, but it requires a lot more analysis of the entire project
17:24:09 <b_jonas> which stops concentrating on my work all the time
17:24:17 <Vorpal> ais523: which is why you list files beloning to that program (hopefully everything under a specific directory tree?) and potential dependency libraries
17:24:30 <b_jonas> so I do work on stuff in separate small executables for al library with a sane small interface,
17:24:39 <b_jonas> and then integrate that library into the big code,
17:24:42 <Vorpal> ais523: mixing the source of multiple programs in the same directory is just bad code IMO
17:24:51 <ais523> Vorpal: what if they share some files?
17:25:01 <b_jonas> so that MOST OF THE TIME, when I'm not doing that integration work, I don't have to headdesk on all those segfaults and can just DO MY WORK
17:25:04 <Vorpal> ais523: a common library (.a or .so)
17:25:05 <ais523> in NetHack's case we're building multiple programs, but many files are shared between many program
17:25:07 <ais523> *programs
17:25:14 <ais523> often including header files, which you can't put into a library
17:25:26 <Vorpal> ais523: and structure the source code based on that library layout.
17:25:38 <ais523> it would be nice to organize it in such a way that we could have separate libraries and code layout but it'd be a lot of work
17:26:00 <Vorpal> ais523: um, so the library has a source and an include directory? And when you link a library you also pull in the public include directory in the include path?
17:26:10 <Vorpal> And make that pulling in transitive if you want
17:26:19 <int-e> b_jonas: sounds like a good way to ensure more eyeballs on all that bad code ;-)
17:27:01 <ais523> Vorpal: I mean you could easily end up with 5 or 6 layers of nested libraries like this
17:27:05 <Vorpal> ais523: also this allows each library to have it's own unit tests or quickcheck style tests easily
17:27:24 <ais523> also some of the files are generated
17:27:26 <b_jonas> int-e: not really. somehow it always turns out such that everyone else is running the same big framework thing with exactly the same configuration in the same very small input files and stopping it after two seconds, whereas I run it with various options on various inputs and actually wait for it to finish, and so I get all the segfaults and they don't
17:27:35 <b_jonas> int-e: and their code is BIG
17:27:39 <b_jonas> they like frameworks
17:27:53 <b_jonas> and yes, I also make mistakes, and write code that doesn't work or crashes
17:28:00 <Vorpal> ais523: yeah, and? I think we have 50+ library projects at work. Plus a library for each with mock/dummy classes of key interfaces it exposes. Plus a unit test project for each.
17:28:02 <b_jonas> but still, that just doesn't work for me as a dev model
17:28:26 <Vorpal> ais523: and I don't see the issue with generated files?
17:28:38 <Vorpal> A proper build system should be able to handle that
17:28:40 <b_jonas> This way, I still get all the segfaults, but my work time is separated to times when I can actually work on my code, and times when I'm integrating stuff and getting the segfaults and trying to get others to fix them
17:28:54 <ais523> Vorpal: well, aimake can, most build systems can't though
17:28:56 <Vorpal> ais523: for example, add_rule(.yy -> ...) or something like that
17:29:37 <b_jonas> And it's not only segfaults, it's also a lot of times when they get the build system in a state where it doesn't work from a clean state but works on their machine where they never delete the previous build products. Which is, by the way, something that aimake avoids.
17:29:47 <ais523> Vorpal: so the problem is with dependency tracking
17:29:54 <Vorpal> ais523: the one I use at work can. A custom system built on top of cmake, with some python parts too. Though the "handle file extension" part is pure cmake iirc
17:30:05 <b_jonas> Seriously, at one time they removed an entire library but still depended on it, and it worked on their machines because they didn't remove the built version of the library.
17:30:15 <ais523> there are two restrictions on dependencies: a) a file can't be built before its dependencies are; b) if a dependency is rebuilt, the files it depends on must be rebuilt
17:30:19 <b_jonas> I don't remember the details.
17:30:19 <ais523> most build systems handle b) but not a)
17:31:02 <Vorpal> ais523: hm b is wrong, you means "the files that depends on *it*" surely?
17:31:07 <b_jonas> Or they have undocumented local (not committed) modifications on their copy of the code that makes the stuff build;
17:31:11 <Vorpal> also... this is a case of recursive make failing isn't it?
17:31:20 <ais523> Vorpal: err, yes
17:31:22 <b_jonas> or quite the opposite, they check in local modifications they shouldn't and that breaks the code everywhere but on their systems.
17:31:29 <Vorpal> ais523: Which is why you generate a single layer of build system that knows the entire tree
17:31:30 <ais523> also this fails even in a nonrecursive make, unless you write the dependencies explicitly
17:31:47 -!- AnotherTest has joined.
17:31:50 <b_jonas> Basically the lesson I learned is that the best way to work with a team is to not work with a team but work separately most of the time.
17:31:51 <ais523> which is something that is incredibly tedious and errorprone and almost all build systems do themselves nowadays
17:31:51 <Vorpal> not really? GCC exports dependency info using -Msomething iirc?
17:32:00 <ais523> Vorpal: the -M method does not handle a)
17:32:27 <ais523> because it relies on the file building successfully, which it can't do if its dependencies haven't been built yet
17:33:14 <Vorpal> ais523: well that is why you need your build system to set up that any custom build steps of a target (defined here as "executable/library/dynamic library") that generates headers should be run before building other sources from said target
17:33:47 <ais523> what if the custom build steps require other parts of your project to be built first?
17:34:22 <b_jonas> Vorpal: the problem is that in nethack, the dependencies of the part that generates headers is really messed up
17:34:29 <Vorpal> ais523: then it needs to list that dependency/have a dependency extractor for that file format? I can't see how you could avoid that.
17:34:42 <Vorpal> b_jonas: fair enough
17:34:46 <b_jonas> like, it depends on a header from which it can use only half of the macros, because the other half needs the header you're generating, but you can never tell which macros you can actually use and which you can't,
17:35:03 <ais523> Vorpal: aimake first checks all the dependencies of everything, then builds as much as it can
17:35:11 <b_jonas> so at one point there was a circular dependency in the whole thing, but the build system didn't notice because people never deleted the generated headers,
17:35:15 <ais523> if any custom build rules become runnable as a result then they're run
17:35:18 <Vorpal> b_jonas: well, that is just bad design, even excluding the build system issues
17:35:18 <b_jonas> at which point ais523 had enough and wrote a customf build system
17:35:24 <ais523> repeat until everything is built
17:35:25 <b_jonas> Vorpal: yes, it is
17:35:32 <b_jonas> Vorpal: but nobody has time to clean it up in nethack
17:35:38 <Vorpal> ais523: parallel make I hope?
17:35:51 <b_jonas> it was designed back when it was made sense, on machines with small memory where you want to precompute stuff like monstr
17:35:57 <ais523> Vorpal: a circular dependency is really easy to introduce by mistake and hard to detect
17:35:58 <b_jonas> most of it should be removed
17:36:28 <ais523> Vorpal: currently aimake doesn't handle parallel make, the problem being that the bit that parallelizes easily (actually running cc, ld, etc.) isn't the most timeconsuming bit
17:36:38 -!- jaboja has joined.
17:36:39 <ais523> it spends about as much time calculating the build as it does actually building
17:36:40 <Vorpal> b_jonas: I spent an afternoon at work fixing a cyclic dependency between libraries, which only worked since no one tried to build them as dynamic libraries earlier. Also wrote an error checker to detect that in the future (thankfully our build system exports a lot of meta data as YAML files, so that was easy)
17:36:50 <ais523> I have plans that would make build calculation parallelisable too but they'd have to wait until aimake 4
17:37:04 <Vorpal> ais523: ah... Yeah you use C not C++
17:37:12 <b_jonas> People at work add strange things to the build stuff, but they haven't tried to add headers dynamically generated yet, luckily.
17:37:14 <Vorpal> thank god for distcc is all I have to say on the matter
17:37:20 <Vorpal> Oh and ccache
17:37:26 <ais523> Vorpal: you do know that a cyclic dependency between libraries (either static or shared) works just fine on Linux, right?
17:37:35 <ais523> Vorpal: ccache hardly makes any difference on NetHack 4
17:37:39 <Vorpal> Without ccache still takes 40 minutes to build a clean tree at work...
17:37:46 <ais523> in general, ccache should be a no-op if the build system is well-designed
17:38:05 <Vorpal> With ccache (and everything in cache) + CCACHE_HARDLINK=1 it takes basically 30 seconds
17:38:09 <ais523> also you shouldn't be building from clean trees anyway; in a correctly designed build system doing so should produce the same result as building from any possible dirty tree
17:38:23 <ais523> if you're using ccache + a "clean" build you're really just doing a no-change dirty build
17:38:35 <ais523> thus the 30 second time is very misleading
17:38:35 <b_jonas> ais523: One problem I had to debug at work years ago was symbols accidentally defined twice, once in a dynamic library, resulting in strange segfaults at runtime. Can aimake help find those problems?
17:38:57 <ais523> b_jonas: I'm not sure, it may be that it finds some but not others
17:38:59 <Vorpal> ais523: clean here as in "I changed a core header in the lowest level, now waiting for 9000+ C++ files to rebuild"
17:39:03 <ais523> it could probably be made to find them though
17:39:12 <Vorpal> ais523: and 30 seconds is basically the link time
17:39:31 <ais523> Vorpal: ah right, in that case it's a case of your build system failing to detect that the header file change doesn't change anything at a lower level
17:39:51 <ais523> in my experience normally a header file change does change things elsewhere, though, even if it's just __LINE__ directives
17:39:54 <Vorpal> ais523: oh it did change everything. But I had to revert the change, and that is when cache saved me
17:40:09 <b_jonas> ais523: The problem in this case was actually that the dynlib came in binary form only, but I have also seen duplicates of c source files or duplicates of h files in the tree at some points.
17:40:12 <ais523> oh I see, ccache caches old versions too? that's functionality I hadn't thought about
17:40:45 <b_jonas> Also, headers with generic names clashing with headers in the system or dependencies.
17:40:50 <ais523> b_jonas: aimake does catch duplicate c/h files; it only complains if the situation is symmetrical enough that it can't figure out which to use
17:40:53 <Vorpal> ais523: ccache caches up to a set limit in GB of object files, using LRU eviction to evict some percentage when it hits the limit
17:41:03 <b_jonas> At least these days they don't give stupid generic one-word names, I got them to stop that.
17:41:09 <ais523> the generic name header problem actually happens in NitroHack and thus NH4 (magic.h)
17:41:12 <Vorpal> ais523: that means with a sufficient limit (IIRC I use like 20 GB?)
17:41:17 <ais523> so I had to adapt aimake to handle it
17:41:17 <Vorpal> it can store old files
17:41:30 <b_jonas> But I should try to revive that old utility I wrote that searches for duplicate headers and duplicate source files and also unused source files and unused headers.
17:42:19 <Vorpal> ais523: I think the core issue here is that nethack has a messy source tree, but not a very large one. Still large enough to be painful to clean up
17:42:25 <b_jonas> ais523: We've had both actual duplicates of source files, and just different files with the same name.
17:43:01 <b_jonas> ais523: Sure, nethack has lots of generic names, but where it hurts me a lot is the ton of macro names. I should at least convert most of them to enums and inline functions at some point, and later rename some of them
17:43:22 <Vorpal> ais523: While I work on a source tree that contains upwards of 10k C++ files. And there are parts using boost (oh god). And have to build for three architectures since the target embedded system has multiple CAN/ethernet nodes that run different CPU architectures.
17:43:26 <Vorpal> So very different use cases
17:44:24 <Vorpal> Not using proper library separation and so on in our case would be unmanageable, even using something like aimake. Also we have fairly few generated files. Less than 50 over that entire tree
17:44:57 <Vorpal> I would actually love C with namespaces as a language.
17:45:05 <Vorpal> And properly namespaced macros
17:45:26 <b_jonas> Vorpal: you can use C++ as C with namespaces if you want
17:45:45 <b_jonas> I don't want to use it that way, but you can
17:45:49 <Vorpal> b_jonas: technically not, since it wouldn't let me name a variable "new"
17:45:49 <b_jonas> it's a multi-paradigm language
17:45:56 <b_jonas> Vorpal: eww.
17:46:13 <b_jonas> (the ruby source code is full of variables named klass)
17:46:15 <Vorpal> b_jonas: well just pointing out they are different. I'm not suggesting you do that :P
17:46:19 <Vorpal> hah
17:46:35 <b_jonas> Vorpal: and variables named new isn't the biggest incompatibility
17:46:36 <Vorpal> The real issue with C++ is templates. And the code bloat and compile time slow down they result in
17:46:42 <Vorpal> indeed
17:46:48 <b_jonas> certain conversions not being allowed in C++ is a bigger practical difference
17:47:04 <Vorpal> Oh, that's right, void* stuff
17:47:12 <Vorpal> you would have to cast malloc all the time
17:47:20 <ais523> b_jonas: I believe "class" is used as a variable name in NetHack too
17:47:27 <b_jonas> Vorpal: no, IMO the real issue with C++ is that people learned it before it became a sane language, and are still learning it from bad sources, because it's popular, so there's a lot of people writing bad C++ code
17:47:53 <b_jonas> Vorpal: and since C++ wants to be really compatible with everything, it allows you to write a lot of bad code easily
17:47:53 <Vorpal> b_jonas: well... STL is pretty bad in parts IMO. Boost is of course much worse than that
17:48:22 <b_jonas> I do like the C++ standard library AND lots of parts of boost. not all parts, mind you, but I don't have to use all of it, I only use some modules of it
17:48:33 <Vorpal> b_jonas: boost mpl is evil.
17:48:41 <b_jonas> And I like C++ in general a lot
17:49:13 <Vorpal> b_jonas: also the idea of separate header sources, rather than C++ modules exporting functions... Having to duplicate a lot of stuff between c/h
17:49:28 <Vorpal> Compare this to a language like python, java, C#, pretty much anything
17:49:49 <b_jonas> Vorpal: yes, but every language that tried to solve that so far ended up with no separate compilation with circular dependencies, so IMO it's much better than any of the alternatives
17:50:03 <Vorpal> hm
17:50:06 <b_jonas> Vorpal: look at all the research languages, ghc, and rust, they don't handle separate compilation properly
17:50:14 <Vorpal> Hm true
17:50:16 <b_jonas> It's easy to claim no headers if you compile everything together
17:50:30 <Vorpal> How does .NET do it?
17:50:34 <b_jonas> There _might_ be a solution, and some of the C++ module people are trying hard to find it
17:50:37 <b_jonas> but it's not easy
17:51:19 <Vorpal> Compiles an assembly at a time?
17:51:22 <Vorpal> I guess?
17:51:29 <b_jonas> And it gets much harder to solve if you don't want just C stuff, but templates and/or a dependent type system.
17:51:36 <Vorpal> true
17:52:16 <Vorpal> b_jonas: how does haskell do that when working with polymorphism across packages?
17:52:24 <b_jonas> Or proper abstractions, which require exporting inline functions in the C sense, that is, functions of which the compiler knows the definition in other modules so it can optimize using them. Can rust do that yet by the way?
17:52:38 <Vorpal> no idea, never looked at rust
17:52:49 <b_jonas> Vorpal: dunno about haskell, ask the haskell people here
17:53:20 <Vorpal> Hm
17:53:45 <b_jonas> And the problem is that these compilers with no separate compilation often also make it harder to build projects containing multiple languages.
17:53:49 <b_jonas> It's still possible, but hard.
17:54:18 <Vorpal> b_jonas: well okay that is true, but mixing most languages is hard. Unless it is C and C++
17:54:26 <b_jonas> You can build rust and C together, or haskell and C together, but try to mix multiple of fortran, C, C++, go, haskell, rust, C#, java, whatever together and you're screwed.
17:54:39 <b_jonas> If you just compromise with proper headers, it becomes easy.
17:54:48 <Vorpal> You basically have to call FFI to a dynamic library exporting C functions in most languages
17:54:49 <b_jonas> Everything compiles its own code and reads headers.
17:55:01 <b_jonas> Vorpal: yes, and that's a good thing. The problem is how you link the whole thing
17:55:15 <b_jonas> I DO like the haskell / rust approach of FFI
17:55:29 <b_jonas> which is also mostly C++'s approach
17:55:32 <Vorpal> b_jonas: well, if you use a FFI to load a library and then call functions, you aren't linking per se, you are just doing dlopen
17:55:43 <b_jonas> having C as a sort of common base everything can call into an export functions into
17:55:47 <Vorpal> thinking of python here
17:56:06 <b_jonas> (which is also the easiest way to link assembly files into C or C++ by the way)
17:56:28 <b_jonas> Vorpal: no no, with the haskell and rust FFI, you can link at link time, you don't have to dynamically load
17:56:32 <Vorpal> b_jonas: I haven't done FFI in haskell, and never used rust, so what is that approach?
17:56:43 <b_jonas> Vorpal: I think you can link properly with python too, can't you? I know it can also load dynamically
17:57:54 <Vorpal> b_jonas: well, not really, you can implement modules in C, and then load them. And there is a standard module for FFI. Also there is a separate package called cython, which takes a subset of python with some extensions and generates a C module that calls into python's C API for certain things.
17:58:32 <Vorpal> But this all uses dynamic .so loading at runtime, triggered by importing a module name that the interpreter finds in the module path as a .so file
17:59:05 <Vorpal> This is mostly down to python being byte code compiled and then interpreted
17:59:28 <Vorpal> (or JITed from byte code if you use PyPy)
18:01:23 <b_jonas> Vorpal: basically, C++/haskell/rust maps most of the C type system to part of the C++/haskell/rust type system; and then you can ask that certain data or function types must be represented as in C, and that way access (read, write, call) alien data and functions through pointers, or have alien code access some of your data or functions through pointers; and you can also link import unmangled symbols (variables or functions) that are defined externally (i
18:01:35 <b_jonas> \ and you can also link import unmangled symbols (variables or functions) that are defined externally (in C or other languages), or ask that some variable or function you define must be unmangled, and then other languages can link to it.
18:02:15 <Vorpal> I think something was cut there
18:02:20 <b_jonas> This still requires you to sort of translate the structure definitions and function signatures to that other language, and explicitly declare some stuff, but it works very cleanly and nicely.
18:02:24 <Vorpal> Oh wait, it repeated a bit?
18:02:35 <b_jonas> Vorpal: I repeated a bit because it got cut
18:02:58 <Vorpal> b_jonas: the issue with C is that it doesn't export type info, so that means you have to know the proper type in haskell the n
18:02:58 <b_jonas> but I can't tell where exactly it's cut so there's an overlap
18:02:59 <Vorpal> then*
18:03:11 <Vorpal> Unless haskell can parse arbitrary C headers
18:03:33 <b_jonas> Vorpal: yes, you have to know the proper types. There's some various help for this, but I don't believe in it much.
18:04:03 <Vorpal> b_jonas: C headers (and C++ even more so) are way too complicated for parsing this info out in a sane way in the general case.
18:04:17 <b_jonas> Vorpal: exactly
18:04:45 <Vorpal> also ... is evil from the typo info POV
18:04:56 <Vorpal> (i.e. printf and such)
18:05:11 <b_jonas> Also, this model is also how you can communicate between C++ code built with different ABIs, through C
18:05:50 <Vorpal> b_jonas: and C++ with the same ABI if you dlopen. There is no good way with dlopen to not go through a C layer afaik
18:06:38 <b_jonas> Note that C++ has some special cases: data structures with a type that corresponds to C are always represented as in C, you don't need extra flags for that, and on typical ABIs (but not mandatorily in the standard) functions with a signature corresponding to C are also represented as in C, so on those systems you don't need an extra declaration there either,
18:06:52 <b_jonas> so all you need is declaring some symbols as unmangled so they link properly.
18:07:12 <Vorpal> b_jonas: um.. extern "C".. for name mangling
18:07:15 <b_jonas> Vorpal: no, you don't need to get dlopen in this. You can just link everything at build time.
18:07:24 <Vorpal> b_jonas: no I mean for the module case
18:07:29 <Vorpal> b_jonas: say you want to load plugins
18:08:09 <Vorpal> Then your plugins have to have a C function returning a C++ class or a C struct describing the module. Since you can't easily resolve mangled symbol names afaik
18:08:14 <Vorpal> not in any standard way anyway
18:08:24 <b_jonas> Oh, and further, this is also how you communicate between C code built with different ABIs, which happens on windows where the msvc compilers have an ABI where long int and long double are of different size than with the gcc ABIs.
18:08:45 <Vorpal> b_jonas: I would assume mingw would use the native ABI?
18:09:03 <b_jonas> (On windows x86_64, long int and unsigned long int are 4 bits with msvc, 8 bits with gcc.)
18:09:21 <Vorpal> what about long double?
18:09:23 <b_jonas> Vorpal: no, I think mingw still uses the gcc ABIs.
18:09:26 <Vorpal> huh
18:09:55 <Vorpal> Also on x86_64, Linux and Windows use different calling conventions. No idea about mingw though
18:10:03 <Vorpal> different sets of registers
18:10:04 <int-e> 4 bits, really now... scnr
18:10:23 <Vorpal> int-e: typo for bytes I assume
18:10:24 <b_jonas> Vorpal: long double is always the same as double with recent MSVC (which is, incidentally, a good thing if you don't care about ABI compatibility), but can be sometimes bigger (10, 12, 16 bytes? I dunno) on gcc depending on the arch
18:10:33 <b_jonas> I don't care much about long double, do I don't know the detauls
18:10:54 <Vorpal> b_jonas: that breaks MSVC ABI? Fairly sure it used to be that long double mapped to x87 on MSVC before
18:11:13 <int-e> x87 has 80 bit floats, so 10 bytes should be right
18:11:20 <b_jonas> Vorpal: yes, but that's no problem, since you rarely get into a case when you call functions compiled for linux on windows, or backwards, except with hand-written assembly functions
18:11:27 <Vorpal> int-e: 10 bytes with 16 byte alignment iirc?
18:11:48 <Vorpal> b_jonas: wine
18:11:55 <b_jonas> Vorpal: the MSVC abi breaks at every version basically, though they keep the C abi. But the change with long double was VERY long ago, possibly at the jump between win16 and win32.
18:11:57 <int-e> probably, I was going to say that I don't know about the alignment.
18:12:14 <b_jonas> int-e: yes, but the x87 should die
18:12:21 <b_jonas> int-e: it's no longer useful in the x86_64 era
18:12:27 <b_jonas> it's maintained only for compatibility reasons
18:12:37 <Vorpal> b_jonas: hm really? Will have to check using msvc2005 at work... We have that because of legacy WinCE crap
18:12:37 <b_jonas> it should DIE a well deserved and peaceful death
18:12:41 <Vorpal> WinCE 5 that is
18:12:46 <Vorpal> (may it die soon)
18:12:48 <b_jonas> Vorpal: I don't know really, sorry
18:12:55 <b_jonas> I don't know the details of the long double
18:13:00 <b_jonas> check yourself if you want to be sure
18:13:06 <Vorpal> yeah I think I will
18:13:09 <b_jonas> and I definitely don't know about WinCE
18:13:14 <b_jonas> seriously
18:13:19 <Vorpal> b_jonas: nobody does, and that is part of the issue :P
18:13:21 <b_jonas> do you have legacy WinCE crap?
18:13:28 <b_jonas> luckily we don't have that kind of thing
18:13:36 <b_jonas> we use fairly recent tools most of the time
18:13:39 <b_jonas> I mean
18:13:43 <b_jonas> not really bleeding edge
18:13:47 <b_jonas> but usually not 15 year old crap
18:13:53 <b_jonas> with some exceptions
18:14:00 <b_jonas> I have used old libraries, but they're GOOD ones
18:14:20 <Vorpal> b_jonas: we have such embedded devices yes, Also devices using a custom RTOS as well. But they are about to go on "critical bug fix only" soon and then they will be completely phased out in 5-10 years time
18:15:02 <b_jonas> Vorpal: we have embedded devices, at the more generalized workplace, but I have little contact with them on the projects I work on, and I don't think we have any WinCE devices
18:15:22 <b_jonas> we have embedded devices running some unix on non-x86
18:15:32 <b_jonas> so relatively saner
18:15:40 <b_jonas> still caused some problems, and I don't want to work with them
18:15:43 <Vorpal> b_jonas: I program embedded real time control systems for massive (think 200 metric tons) mining equipment. So I have to deal with all sorts of weird hardware. And CAN buses and what not. But also with code that is relatively error free, because of the issues that would result if it weren't
18:15:58 <b_jonas> I like the modern tools, and don't like the lack of toolset support for embedded devices
18:16:01 <Vorpal> Lots of layers of safety. And safety classed code
18:16:15 <b_jonas> so I like working with the modern desktop computers and servers
18:16:27 <Vorpal> b_jonas: moving to real time linux now though
18:16:38 <b_jonas> Vorpal: I see
18:16:48 <b_jonas> Luckily I don't work with anything of that sort
18:16:52 <b_jonas> I don't have that kind of stress
18:16:56 <Vorpal> b_jonas: mostly x86 and ARM though, except some real low level stuff, which I don't deal with directly anyway
18:17:27 <b_jonas> "Mostly x86 and ARM" is true here too, I believe
18:17:40 <b_jonas> But I would prefer if it was x86_64 only, no x86_32 and no ARM
18:17:42 <Vorpal> b_jonas: eh it isn't stressful really. That is what layered safety is. If the lower level modules detect the higher level modules aren't running properly then you cut the power
18:17:51 <b_jonas> Vorpal: I see
18:17:51 <Vorpal> better than running off a clif
18:17:53 <Vorpal> cliff*
18:17:54 <b_jonas> Sure
18:18:25 <b_jonas> and certainly
18:18:27 <Vorpal> oh, I don't do anything 64-bit. Well the dev computers are of course, but no target module
18:18:48 <b_jonas> We run mostly x86_64 these days, luckily
18:19:07 <b_jonas> But support for x86_64 is still not perfect, some toold or libraries are more easily available on x86_32
18:19:14 <b_jonas> but that's improving a lot
18:19:20 <b_jonas> x86_32 is going away luckiliy
18:19:32 <Vorpal> The code targets stuff like 32-bit 1 GHz dual core CPUs. That can go from -80 to +80 C working temperature
18:19:39 <Vorpal> With ECC memory and so on
18:19:47 <b_jonas> There's lots of stuff I couldn't use on x86_32 five years ago, but can now
18:19:55 <b_jonas> s/_32/_64/
18:20:06 <Vorpal> b_jonas: really? On Windows I can imagine yes
18:20:23 <Vorpal> Still I develop in Linux most of the time.
18:20:26 <Vorpal> So not a major issue
18:21:12 <Vorpal> Hm I think the old laptop next to me has a failing battery. The battery lamp is blinking green orange orange orange in a cycle instead of charging
18:21:23 <Vorpal> That is annoying. It is my last computer with a real serial port
18:21:29 <Vorpal> (12 V and so on)
18:21:34 <b_jonas> ouch
18:22:08 <Vorpal> b_jonas: it has a parallel port too
18:22:30 <Vorpal> But it is the serial port I sometimes use
18:22:48 <b_jonas> My current (old) home PC has both. My next home computer might not have either.
18:23:18 <b_jonas> But my father has already had problems with no serial ports and having to use serial port extender USB thingies in some computers he admins.
18:23:48 <Vorpal> Oh the battery is quite hot as well. Damn
18:24:07 <b_jonas> I'm not really a hardware guy, so at work it's other people who figure out this sort of hardware stuff.
18:24:34 <Vorpal> b_jonas: those doesn't work well if you need to use the serial port pins as GPIO, which is what one device I have does
18:24:39 <Vorpal> Also 12 V
18:24:48 <Vorpal> Since USB uses 5 V
18:24:52 <b_jonas> I'll have to do some hardware stuff for home when I buy my next home pc of course, as in deciding what to buy. But my father and brother can help, they're more hardware guys than I am.
18:25:07 <Vorpal> kay
18:25:18 <b_jonas> At work I usually just ask other people for this kind of stuff.
18:26:25 <b_jonas> And I certainly don't try to decide what hardware to buy at work.
18:26:25 <Vorpal> At work everything is USB or ethernet wrt the development computer and weird special things for the lab. Even the ethernet on the lab is a screwed on connector that is dust and water proof
18:27:23 <Vorpal> b_jonas: I wish I had the ability to decide such. Heh. Too big company for that
18:27:45 <b_jonas> Sometimes I try to give hints about properties that would be useful for the hardware.
18:27:49 <Vorpal> Still that work laptop is quite neat. 32 GB RAM, Core i7. And so on
18:28:14 <Vorpal> Basically the best mobile workstation you can buy from Dell is what we get, new one every 3 years
18:28:55 <b_jonas> Like, "since you have to buy an SD card reader for this project, why don't you buy one that also handles micro SD cards, see, I have this one here for personal use that cost only like 1200 forint and does that" but no, they had to buy the more expensive one that doesn't do micro SD.
18:29:15 <Vorpal> b_jonas: what on earth is forint?
18:29:22 <b_jonas> I don't try to mess with the more complicated hardware, like the big server machine with lots of disks and stuff.
18:29:25 <b_jonas> Vorpal: HUF currency
18:29:29 <Vorpal> HUF being?
18:29:33 <b_jonas> Hungarian forint
18:29:36 <Vorpal> Ah
18:29:38 <b_jonas> the currency used here
18:29:45 <Vorpal> I thought Hungary used Euro yeah
18:29:52 <Vorpal> hm
18:30:02 <b_jonas> no, and hardware is measured in dollar instead of euro anyway
18:30:13 <Vorpal> weird
18:30:16 <b_jonas> because it comes from China where people use dollars
18:30:24 <\oren\> uhhh
18:30:30 <b_jonas> no, half-seriously
18:30:40 <Vorpal> b_jonas: also, I haven't seen a micro SD that didn't come with an adapter to SD anyway
18:30:44 <b_jonas> you order the hardware from Asia, and they sell it in dollars, not euros
18:30:50 <\oren\> I thought china uses RMB
18:30:54 <b_jonas> not only China, but also Korea and Taiwan etc
18:31:04 <\oren\> oh, internationally
18:31:07 <coppro> eh? korea uses won
18:31:08 <b_jonas> \oren\: exactly
18:31:16 <Vorpal> Really?
18:31:18 <b_jonas> coppro: in international sales, they generally use USD
18:31:21 <coppro> oh, sure
18:31:22 <b_jonas> not always, but often
18:31:30 <\oren\> they price stuff in USD
18:31:41 <b_jonas> so if I buy stuff on internet that's not from Hungary, it can be EUR, USD, or GBP
18:32:25 <b_jonas> luckily all the available payment methods handle the monetary conversions
18:32:39 <Vorpal> b_jonas: For us it is all SEK and either custom made hardware (for the product, it has to be IP classed and handle extreme temperatures, salt water running over the display and so on), or standard desktop/servers/switches/whatever from Dell/HP/Cisco and so on
18:33:03 <b_jonas> I use SEK only when I physically travel to Sweden
18:33:04 <\oren\> Oh, I know! I'll find alist of the most used maybe 500 hcaracters in simplified chinese and do those
18:33:10 <Vorpal> b_jonas: well I live here so :)
18:33:57 <Vorpal> b_jonas: and it is a Swedish company that makes that rugged hardware for us.
18:33:57 <b_jonas> \oren\: fix the presentation of Shavian letters on the test page yet so that they appear in only four lines, not five, so the lowercased version of a letter is two lines below the uppercased one
18:34:59 <Vorpal> b_jonas: I guess working on a large company making very small series of very expensive machines puts a different spin on eveything
18:35:02 <Vorpal> everything*
18:35:39 <Vorpal> Where each machine is mostly unique and a customer might pay for having a function only they will ever use developed
18:36:52 <b_jonas> Vorpal: we sometimes do that too, but not _that_ expensive, not mining equipment, only like a large server or two plus lots of cameras; and some of the work does the opposite, with small embedded devices produced in thousands
18:37:25 <Vorpal> b_jonas: I think a single display for our machine might cost ~20000 USD or around there.
18:37:38 <Vorpal> b_jonas: ah, so you retro fit mining machines then?
18:37:41 <Vorpal> Right
18:37:54 <Vorpal> err
18:37:57 <b_jonas> huh no
18:38:02 <b_jonas> it was you who mentioned mining machines
18:38:05 <Vorpal> missed the "no"
18:38:07 <Vorpal> "not"
18:38:08 <b_jonas> which I assume are expensive
18:38:18 <Vorpal> b_jonas: yes, millions USD
18:38:37 <b_jonas> whereas we put lots of cameras, plus servers communicating with the cameras
18:38:42 <Vorpal> I read "mining equipment, only like a large server or two plus lots of cameras" missing the "not"
18:38:45 <b_jonas> and sometimes other stuff
18:38:48 <Vorpal> Thus I eneded up at "retrofitting"
18:38:49 <b_jonas> right
18:38:54 <Vorpal> Because there are companies that do that
18:39:11 <Vorpal> Take a hydralic dumb machine and add in some screens to help them navigate it or such
18:40:02 <Vorpal> b_jonas: speaking of cameras, you wouldn't believe how expensive a rugged PTZ IP camera can be
18:40:12 <Vorpal> (I assume you know what a PTZ camera is?)
18:40:16 <b_jonas> well, some of what we do might count as retrofitting in that we're using cameras in a way they're not designed and that they don't support well
18:40:23 <b_jonas> yes, I know how expensive they can be
18:40:34 <b_jonas> we have some expensive ones
18:40:56 <Vorpal> b_jonas: We have some Bosch one that cost 50 000 USD. For rugged outdoor use. I guess it is PTZW since it also has a wiper you can control
18:41:32 <Vorpal> Never seen a better optical zoom than that though. Ever
18:41:42 <b_jonas> we have everything from cheap webcameras costing like 8 dollars to expensive PTZ cameras costing ten thousand USD or more
18:42:22 <b_jonas> as well as DLSR cameras, stereo and TOF cameras, and more
18:42:27 <Vorpal> Heh
18:42:38 <Vorpal> Only a few cameras in our case. All rugged
18:43:04 <Vorpal> Sounds annoying having to deal with so many different models
18:43:28 <Vorpal> It is bad enough to deal with like 3 different models with their own quirks
18:43:34 <b_jonas> Various ages too, from old analog PTZ and fixed cameras, up to stuff so modern you can't even buy it on the market yet
18:43:43 <Vorpal> Neat
18:43:49 <Vorpal> bbl, making food now
18:44:10 <b_jonas> Yes, and their control all sucks, because we're using them in ways they weren't designed for, so their built-in software or firmware doesn't support what we want
18:44:44 <b_jonas> But some suck more than others
18:44:49 <Vorpal> b_jonas: oh? I can't see how a PTZ can be that complicated really
18:45:04 <Vorpal> Just some commands to control some actuators
18:45:12 <b_jonas> Some of them at least have an interface that's well-designed for its purpose, some don't manage even that
18:45:52 <Vorpal> b_jonas: given what you said about co-worker code quality that doesn't surprise me
18:46:16 <\oren\> I fixed the presentation of deseret and shavian
18:46:21 <Vorpal> I have slowly realized that most developers don't really know what they are doing
18:46:34 <Vorpal> Which is what causes terrible code
18:46:52 <b_jonas> Vorpal: yes, commands to control the engines, but not enough commands to find out where the engines actually moved, or when they actually stopped moving, and since it's hardware it's all nondeterministic; and even the non-PTZ part, like the focus and sensitivity and image compression settings can be hard to control
18:46:57 <b_jonas> \oren\: thanks
18:47:01 <b_jonas> Vorpal: yes, that's true
18:47:04 <Vorpal> Note that this will probably include myself three years ago, as well as myself three years from now talking about the current me
18:47:05 <Vorpal> XD
18:47:20 <b_jonas> Vorpal: yep
18:47:22 <b_jonas> exactly
18:47:26 <b_jonas> it includes me as well
18:47:46 <b_jonas> which is one more reason against the big framework containing all the code, including old code
18:47:55 <Vorpal> b_jonas: I do feel I'm above average at least. I would never commit something unless it passes valgrind for example.
18:48:08 <b_jonas> \oren\: ah nice, that's much better for Deseret, thanks
18:48:14 <b_jonas> \oren\: you've even separated them
18:48:33 <\oren\> yah, it was silly to have them in one section
18:48:35 <b_jonas> \oren\: why don't you also split the kana from the bopomofo to separate headings?
18:49:20 <Vorpal> b_jonas: problem is, sometimes you need frameworks, otherwise you just do the same thing over and over. Also coding system level C++ without frameworks is hell. How are you supposed to do threads with just pthreads? You really need a message passing layer to be able to do C/C++ threads without going insane
18:49:37 <b_jonas> (the kana long vowel mark has a funny mostly unique status in unicode, where it counts as both kana and punctuation but not a letter)
18:50:01 <b_jonas> Vorpal: certainly, but when they make every bit of their code depend on everything so you can't test it separately, that's bad
18:50:04 <Vorpal> b_jonas: and how do you do inter-node communication without a common language and framework for it
18:50:32 <Vorpal> b_jonas: that is what message passing is for. You can test it by making a unit test or quickcheck style test send those messages instead
18:50:42 <Vorpal> That and not dealing with shared memory
18:50:44 <\oren\> done
18:50:59 <b_jonas> Vorpal: that might be better than what they're doing
18:51:08 <b_jonas> I also hate how they're often using threads completely unnecessarily
18:51:16 <b_jonas> everything is put in a separate thread, even when it needn't be
18:51:18 <Vorpal> which is also the reason to not do nethack style code, but cleanly layered libraries
18:51:22 <b_jonas> when that just complicates everything
18:51:43 <b_jonas> It would be much better to put everything in one thread at the start, then threadify only the stuff where it actually helps.
18:51:59 <Vorpal> b_jonas: I would suggest writing classes that can handle messages, then you instantiate them on a specific message handler (which is basically the same as a thread)
18:52:15 <b_jonas> \oren\: great, thanks
18:52:16 <Vorpal> With broad cast events and proper routing it doesn't matter where the class is
18:52:16 <\oren\> I should probably rearrane the kana into gojuon order
18:52:18 -!- Lord_of_Life has quit (Excess Flood).
18:52:22 <b_jonas> \oren\: what's the status of the hangul?
18:52:36 <Vorpal> b_jonas: And you need threads for proper priority in a real time system :P
18:52:43 <\oren\> Still can't seem to generate them very well
18:52:59 <\oren\> but i'll get to it eventually
18:53:08 <Vorpal> b_jonas: how else will handling the CAN adapter interrupts happen when they need to
18:53:11 <b_jonas> \oren\: aren't the kana already in that order?
18:53:36 -!- Lord_of_Life has joined.
18:53:37 <Vorpal> b_jonas: I would expect 50-100 threads in a normal real time application
18:53:45 <Vorpal> That includes some thread pools
18:54:01 <Vorpal> Less in a non-realtime application
18:54:08 <Vorpal> And a lot more thread pools in that case
18:54:08 <b_jonas> \oren\: or do you mean move the small kana out of the kana in the main grid?
18:54:20 <Vorpal> \oren\: designing a font?
18:54:45 <Vorpal> bbl, actually making food
18:56:27 <b_jonas> Vorpal: luckily we're not making realtime applications, so that's not a problem,
18:56:40 <b_jonas> but we are doing a few things where threading can help
18:56:46 <b_jonas> IF used properly
18:57:16 <b_jonas> but very often, processes would work better, but they use threads instead.
18:57:42 <b_jonas> Like, when something has a very small interface, it can be moved to a process easily.
18:57:51 <b_jonas> I have already done some of that.
18:58:28 <b_jonas> Done video encoding in a subprocess, since video encoding has a small interface with the rest of the code: it only has to get raw video frames, plus a few metadata at startup.
18:58:47 <b_jonas> Works well enough, once you figure out some ugly details.
18:59:04 <b_jonas> Including some Windows-specific stuff.
19:00:10 <b_jonas> It was like, eww, after touching this source file, wash your hands for an hour to get the Windows API stuff off it.
19:00:53 <b_jonas> But then, I'm also not perfect, I write lots of badly designed code too.
19:01:00 <b_jonas> I should try to improve myself.
19:01:04 <b_jonas> All the time.
19:01:07 <\oren\> I've arranged the hiragan
19:01:46 <b_jonas> \oren\: ah nice
19:02:10 <b_jonas> \oren\: do you have a script yet to find characters accidentally missing from the demo page by the way?
19:02:28 <b_jonas> \oren\: also, shouldn't all the small kana be separate from the main table?
19:03:11 <Vorpal> b_jonas: thankfully I almost never deal with OS specific things at all, since we have targeted so many different systems across the years (WinCE, custom RTOS, simulator on Windows, and more recently Linux (both simulated and target)) that there is a good abstraction layer already
19:03:37 <b_jonas> Vorpal: I rarely have to deal with it either,
19:03:40 <Vorpal> And we don't create threads or processes after startup.
19:03:45 <b_jonas> because I work on parts of the code that doesn't touch it usually.
19:03:56 <Vorpal> And only allocate from memory pools after that point.
19:07:44 <Vorpal> b_jonas: oh and the way you turn off the application is cutting the power. Take that file system! XD
19:08:06 <Vorpal> (no we don't use a normal linux file system)
19:08:59 <b_jonas> Vorpal: um, that's sort of how it works here too. Not literally, but I rarely see the "framework" thing not segfault somewhere at termination, since people always interrupt the program early in testing, so they don't notice the segfaults at completion.
19:09:27 <b_jonas> So eventually they just decide that segfaulting at termination is sort of a feature, and just _exit without trying to shut down.
19:09:45 <Vorpal> ouch
19:09:55 <b_jonas> Or try to get stuff shut down in the proper order so that the important data is saved _before_ the segfault.
19:10:15 <Vorpal> Your approach seems more haphazard though
19:10:21 <Vorpal> Rather than planning for it
19:11:13 <b_jonas> Yep.
19:11:17 <Vorpal> b_jonas: also that makes memory leak testing annoying I would imagine.
19:11:26 -!- ais523 has quit (Ping timeout: 276 seconds).
19:11:31 <Vorpal> You could still do it on the unit tests
19:11:37 <b_jonas> There are some memory leaks, sure
19:11:54 <b_jonas> but usually not huge ones, because leaking entire images every frame many times per second is quickly noticed
19:12:01 <b_jonas> I know, I've leaked images before
19:12:05 <Vorpal> hah
19:12:20 <b_jonas> it's hard not to notice since Windows, like, becomes unresponsive and has to be rebooted when a program starts to use too much memory.
19:12:55 <b_jonas> But leaking smaller data structures can be ok, and sometimes it's not even worth the dev time to clean up if that's the only problem with the code.
19:13:12 <b_jonas> I mean, like, keeping a smaller structure for every frame that you free only at the end of the whole stream.
19:13:30 <Vorpal> b_jonas: yeah windows is terrible when swapping (or page filing I guess)
19:20:33 <b_jonas> \oren\: ah, better
19:20:42 -!- Lord_of_Life has quit (Excess Flood).
19:21:07 <b_jonas> \oren\: though you can still put the small kana in columns on the left, but it works this way too, doesn't really matter
19:22:46 <b_jonas> \oren\: and now the hiragana and the katakana are nicely arranged exactly the same
19:22:49 <b_jonas> looks good
19:25:10 <b_jonas> \oren\: why is ヽ under the Katakana heading but ゝ under the punctuation heading?
19:25:35 -!- heroux has quit (Ping timeout: 240 seconds).
19:25:36 -!- Lord_of_Life has joined.
19:28:10 -!- jaboja has quit (Ping timeout: 260 seconds).
19:28:35 -!- heroux has joined.
19:35:50 <\oren\> maybe I'll do the math fraktur
19:36:00 <\oren\> yah that will be awsom
19:38:48 -!- jaboja has joined.
19:40:46 <b_jonas> \oren\: do hangul
19:41:41 <b_jonas> Even if I like the subversion model, I'd still like a distributed version of it. And I have been thinking if it was possible to extend subversion to become a dvcs. And I think it's partly possible, although maybe not completely, and certainly not easy to implement.
19:42:19 <b_jonas> I feel I must support distributed version control in principle, since it's the only way humanity can ever expand to more than the Earth-Moon system, to farther areas with ping time greater than a minute or two.
19:43:16 <b_jonas> You can't have all writes going through a central server if it takes hours to do that.
19:43:16 -!- AnotherTest has quit (Ping timeout: 272 seconds).
19:43:37 <b_jonas> You need at least a server per planet and merge between them.
19:46:26 -!- Treio has quit (Ping timeout: 240 seconds).
19:50:02 <FireFly> As someone whose first VCS was mercurial, non-distributed VCSes feel very clunky to me
19:56:52 <b_jonas> FireFly: is mercurial that old?
19:57:00 <b_jonas> I thought it was too new to be able to be your first VCS
19:57:27 -!- oerjan has joined.
19:57:51 <FireFly> It's not that old; I'm just kinda young
19:58:06 <FireFly> I guess
19:58:24 <FireFly> Apparently Mercurial is from 2005
19:58:30 <FireFly> I probably used it first in 2008
19:58:39 <int-e> mercurial and git are approximately the same age... they were both born out of the bitkeeper linux debacle
19:59:22 <b_jonas> int-e: really?
19:59:36 <b_jonas> how was mercurial born from that?
20:00:02 <int-e> http://lkml.iu.edu/hypermail/linux/kernel/0504.2/0670.html
20:01:04 <b_jonas> int-e: I see
20:01:43 <int-e> Because several people worked on a replacement for Bitkeeper. Mercurial lost at the time; my impression was that Linus and a few others didn't trust Python to be fast enough.
20:02:40 <b_jonas> hmm
20:03:10 <b_jonas> Didn't git win simply because it contained exactly what Linus wanted?
20:05:07 -!- Alcest has quit (K-Lined).
20:05:14 <int-e> Yes, sure.
20:06:44 <zzo38> Do you know if it is possible to use SDL and Xlib together in the same program?
20:07:59 -!- heroux has quit (Ping timeout: 264 seconds).
20:08:09 <int-e> That and other people (like Petr Baudis with cogito) made git usable for ordinary people.
20:08:17 -!- heroux has joined.
20:08:59 <pikhq_> zzo38: It is possible.
20:09:20 <b_jonas> also, maybe mercurial got (sort of) sane branching only later than git, didn't it?
20:10:45 <b_jonas> it started out as one branch per repo if I understand correctly
20:11:27 -!- atrapado has joined.
20:11:39 <zzo38> pikhq_: What considerations must be done in order to do so (if any)?
20:13:34 <pikhq_> I don't know of any, really. SDL will happily hand you its X11 display or window and you can do things with it.
20:14:05 <int-e> b_jonas: I don't really know; it's clear that mercurial didn't implement named branches from the very beginning. It looks like it was implemented in August 2005: https://www.mercurial-scm.org/pipermail/mercurial/2005-August/003318.html
20:15:05 <int-e> But I'm not sure how useful this information is...
20:15:49 <b_jonas> And is it true that mercurial has three different and mutually incompatible branching mechanisms?
20:16:05 <b_jonas> One being the one branch per repo, and I don't know what the other two is.
20:16:12 <b_jonas> Or is that just a malevolent anti-hg rumour?
20:18:12 <zzo38> Basically I want to use SDL only for audio and for endianness-dealing.
20:20:36 -!- variable has joined.
20:20:53 <b_jonas> `wisdom
20:21:02 <b_jonas> `wisdom
20:21:26 <HackEgo> django/Django is a giraffe.
20:21:27 <HackEgo> month/Month is a misspelled Moth.
20:22:33 <int-e> b_jonas: I can't really answer that; my mental model of how mercurial works is flawed. But the first way is something you can do with git as well. There's a difference between branching that happens because you have local commits and pull in remote commits; to me this is a UI nightmare because the two resulting ends don't have predictable names (one is the "tip", while the other is just...
20:22:39 <int-e> ...dangling?); most of the time "hg merge" does what I want (merge the local and local ends of the branch). I have not played with named branches at all in mercurial.
20:22:47 * int-e feels more comfortable with git.
20:23:01 -!- idris-bot has joined.
20:23:37 <b_jonas> I see
20:29:06 <oerjan> <izabera> `le/rn fetch curses function that fets a char. see fetch(3X) for more info <-- AAAAA i swear this channel is getting stupider
20:29:18 <b_jonas> `? char
20:29:19 <HackEgo> char? ¯\(°​_o)/¯
20:29:44 -!- ais523 has joined.
20:30:16 <int-e> `le\
20:30:17 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: le\: not found
20:30:19 <int-e> `le
20:30:20 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: le: cannot execute: Is a directory
20:30:34 <b_jonas> `? int
20:30:35 <HackEgo> int? ¯\(°​_o)/¯
20:30:36 <b_jonas> `? long
20:30:37 <HackEgo> long? ¯\(°​_o)/¯
20:30:37 <b_jonas> `? short
20:30:38 <FireFly> `` ls le/rn
20:30:38 <HackEgo> short? ¯\(°​_o)/¯
20:30:39 <HackEgo> le/rn
20:30:39 <shachaf> oerjan: at least le/rn is advanced enough that that command didn't work
20:30:40 <b_jonas> `? double
20:30:40 <int-e> so much for the idea of having a `le rn that works as people expect ;-)
20:30:41 <HackEgo> double? ¯\(°​_o)/¯
20:30:48 <oerjan> shachaf: at least.
20:31:24 <shachaf> int-e: What's the issue?
20:31:55 <int-e> `le rn foo
20:31:57 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: le: cannot execute: Is a directory
20:31:59 <shachaf> `mkx bin/le//echo le
20:32:03 <HackEgo> bin/le
20:32:03 <shachaf> `le rn foo
20:32:04 <HackEgo> le
20:32:10 <shachaf> `rm bin/le
20:32:12 <HackEgo> No output.
20:32:23 <int-e> `le/rn
20:32:24 <HackEgo> No output.
20:32:42 <int-e> okay, I'm confused. Why did we have bin/le/ ?
20:33:03 <FireFly> it's meant to be used as le/rn foo/this is a description for foo
20:33:22 -!- J_Arcane has joined.
20:33:22 <shachaf> int-e: We did?
20:33:42 <int-e> `` echo $PATH
20:33:43 <HackEgo> ​/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin
20:33:46 <oerjan> int-e: `learn was supposed to work as people expect. it's just that the problem is AI-complete and people are stupid-complete hth
20:34:09 <shachaf> oerjan: `learn did work as I expected.
20:34:29 <shachaf> Unfortunately my expectations didn't match what I wanted to do.
20:34:55 <int-e> the keyword putting first is awkward sometimes
20:35:15 <shachaf> int-e: When you run le/rn, it runs ./le/rn, not bin/le/rn
20:35:33 <int-e> `le
20:35:34 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: le: cannot execute: Is a directory
20:35:44 <int-e> I think I'm confused about this behavior
20:35:46 <int-e> `` le
20:35:47 <HackEgo> bash: le: command not found
20:36:03 <FireFly> `` ls -l le/
20:36:04 <HackEgo> total 4 \ lrwxrwxrwx 1 5000 0 17 Dec 9 04:12 rn -> ../bin/slashlearn \ -rwxr-xr-x 1 5000 0 267 Dec 22 18:32 rn_append
20:36:15 <oerjan> int-e: i think i'm too
20:36:29 <int-e> but that's becuase ` and the shell (``) seem to look for the command to execute in different ways
20:36:41 <zzo38> If I do not tell SDL to initialize video and only initialize audio, then will it avoid doing such things as disable the screensaver and grabbing input and so on? I would rather to just use ALSA or whatever for audio but it seems complicated compared with SDL
20:36:47 <shachaf> Ah, I see what you're confused about.
20:38:10 -!- heroux has quit (Ping timeout: 240 seconds).
20:38:14 <oerjan> `canary
20:38:14 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: canary: not found
20:38:21 <oerjan> `` chmod +x canary
20:38:23 <HackEgo> No output.
20:38:24 <oerjan> `canary
20:38:25 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: canary: not found
20:38:40 <oerjan> int-e: i'm still confused.
20:38:45 <oerjan> `` ls -l canary
20:38:46 <HackEgo> ​-rwxr-xr-x 1 5000 0 10 Feb 14 20:38 canary
20:38:57 <oerjan> `wisdom
20:38:58 <HackEgo> twhib/the world holds its breath
20:39:04 <int-e> `` find -type d -name le
20:39:08 <oerjan> `tmflry
20:39:29 <oerjan> dammit did you have to search all of it
20:39:34 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: tmflry: cannot execute: Is a directory
20:39:36 <HackEgo> No output.
20:39:57 <oerjan> int-e: it genuinely seems to look for directories but not files in .
20:40:10 <int-e> weird
20:40:25 <oerjan> `` tmflry
20:40:26 <HackEgo> bash: tmflry: command not found
20:42:37 <zzo38> O, I found PortAudio; maybe I can use that instead
20:42:56 -!- heroux has joined.
20:50:30 -!- AnotherTest has joined.
20:52:53 <Vorpal> portaudio? isn't that some super old thing?
20:53:22 <Vorpal> Hm I guess not
20:53:35 -!- heroux has quit (Ping timeout: 264 seconds).
20:54:12 -!- jaboja has quit (Ping timeout: 272 seconds).
20:54:22 <Vorpal> ais523: wrt the lambdabot message you left 3 days ago (call stack language), ah okay
20:54:49 <ais523> in fact, this is pretty much the only way I've ever seen a language become /accidentally/ a PDA
20:54:57 <ais523> (I've seen other ways to make PDAs but they're typically intentional)
20:56:08 <Vorpal> ais523: what does PDA stand for?
20:56:14 -!- jaboja has joined.
20:56:18 <ais523> push-down automaton
20:56:54 <Vorpal> ah, what sort of language would become a PDA by accident? Intended regular language or what?
20:57:34 <ais523> basically anything whose only source of infinite memory is the call stack
20:57:47 <ais523> either directly in terms of what functions were called, or indirectly in terms of C-auto-style variables
20:57:59 <Vorpal> ah
20:58:21 <b_jonas> ais523: I don't get the context. what is the way a language accidentally became a PDA?
20:58:35 <ais523> b_jonas: see http://esolangs.org/wiki/Splinter for a concrete esolang example
20:58:44 <ais523> it was intended as an FSM
20:59:23 <b_jonas> I know lots of languages are PDAs either because they have goto (but no gosub) and a stack memory, or because they have function calls and local variables and arguments
20:59:49 <ais523> oh, hmm, good point
20:59:54 <ais523> stack-based langauges
21:00:04 <ais523> befunge-93 is a PDA I think, not via means of a call stack, but via means of its data stack
21:00:47 <Vorpal> hm probably
21:01:33 <Vorpal> ais523: how many stacks do you need to be more than PDA? Is 2 enough?
21:01:40 <ais523> 2 is enough for TC, yes
21:01:46 <Vorpal> Hm
21:01:53 <b_jonas> Isn't Piet one of those languages that have one data stack and no call stack?
21:02:07 <b_jonas> Only it counts as Turing-complete due to bigints allowed?
21:02:08 <ais523> the easiest way to show this is to use the two stacks as a tape: one stack holds values to the left of the IP, one stack holds values to the right of the IP
21:02:19 <b_jonas> Ah no...
21:02:19 <ais523> fwiw, this is the reason why Underload can be Turing-complete without * and a
21:02:29 <b_jonas> Piet can access the data stack arbitrarily deep
21:02:47 <b_jonas> then it has a RAM (not a very convenient one though) even without bignums
21:02:51 <b_jonas> ok
21:02:55 <ais523> (which prevents it placing anything on the stack that doesn't appear literally in the program, meaning that there are only a finite number of possible stack elements)
21:03:09 <b_jonas> (it still needs bigints for arbitrarily large ram, but no exponentially large numbers)
21:03:12 <b_jonas> sorry
21:03:13 <ais523> (and thus requiring the use of the call stack and data stack as your two stacks, as you have nowhere else to store data)
21:03:52 <b_jonas> ais523: yep, I've implemented a tape with two stacks that way, only I used multiple tapes, not only one
21:04:23 <Vorpal> ais523: what about a pure call stack (just calls on it) and one data stack? That is still TC then?
21:04:28 <ais523> well once you have one tape (and sensible control structures) you can do anything, as BF famously shows
21:04:44 <ais523> Vorpal: yes, in terms of data
21:05:00 <Vorpal> ais523: but not in terms of what?
21:05:05 <ais523> (it could fail to be TC for another reason, e.g. if it always halts, or if there are sufficiently severe restrictions on which commands you can run)
21:05:13 <Vorpal> right
21:05:21 <b_jonas> right, it needs good control structures so you can actually use the call stack properly
21:05:30 <Vorpal> obviously
21:05:33 <ais523> well, not necessarily "good", just sufficient
21:06:02 <Vorpal> the interesting part of manipulating a pure call stack is that it has interesting results on the program flow
21:06:02 <\oren\> I added .................................................... updating the demo in a few minutes
21:06:05 <ais523> hmm, what extra powers do you need to add to call/cc to make a TC language?
21:06:11 <ais523> subtle cough is sub-TC but it can't be far off
21:06:32 <Vorpal> subtle cough is a language name?
21:06:35 <Vorpal> Awesome one
21:06:47 <ais523> yes, turns out it's pretty low-powered though
21:06:55 <ais523> IIRC it only has three essentially different programs
21:07:46 <Vorpal> ouch
21:08:17 <\oren\> `u8tbl 0x1d504 0x1d51d
21:08:19 <HackEgo> Segmentation fault
21:08:28 <\oren\> AUGH
21:08:35 <Vorpal> what does u8tbl do?
21:08:44 <Vorpal> Apart from crashing
21:08:44 <\oren\> `u8tbl 0x1D504 0x1D51D
21:08:45 <HackEgo> Segmentation fault
21:08:53 <Vorpal> `u8tbl --help
21:08:53 <HackEgo> Segmentation fault
21:08:56 <Vorpal> `u8tbl
21:08:56 <HackEgo> Segmentation fault
21:08:58 <\oren\> `u8tbl 0x100 0x200
21:08:59 <HackEgo> Segmentation fault
21:09:00 <Vorpal> seems broken
21:09:07 <\oren\> `` u8tbl 0x1D504 0x1D51D
21:09:08 <HackEgo> ​𝔄𝔅𝔆𝔇𝔈𝔉𝔊𝔋𝔌𝔍𝔎𝔏 \ 𝔐𝔑𝔒𝔓𝔔𝔕𝔖𝔗𝔘𝔙𝔚𝔛𝔜𝔝
21:09:20 <Vorpal> `u8tbl 0 1
21:09:21 <HackEgo> Segmentation fault
21:09:22 <\oren\> oh, you can't call it with `
21:09:37 <Vorpal> \oren\: oh? why? and what does `` do?
21:09:42 <Vorpal> u8tbl 0 1
21:09:46 <\oren\> `` u8tbl 0x40 0x80
21:09:48 <HackEgo> ​@ABCDEFGHIJKLMNO \ PQRSTUVWXYZ[\]^_ \ `abcdefghijklmno \ pqrstuvwxyz{|}~ \
21:09:58 <Vorpal> well, that is just mojabake
21:10:07 <ais523> `file bin/u8tbl
21:10:07 <\oren\> `` u8tbl 0x40 0x50
21:10:09 <HackEgo> bin/u8tbl: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0xf4bd6215e42f01142295c499b7a9bf8a7c37e01a, not stripped
21:10:09 <HackEgo> ​@ABCDEFGHIJKLMNO \ P
21:10:11 <b_jonas> ais523: by the way, what's your opinion on Rust? I've looked at it lately, and it seems to be an interesting research language, though still not yet mature enough. I should maybe try it some day in the future.
21:10:28 <ais523> b_jonas: I'm annoyed it isn't in the Ubuntu repositories yet; if it were, I might seriously try to use it
21:10:29 -!- heroux has joined.
21:10:29 <\oren\> it prints the unicode characters from the first number ot the second
21:10:44 <ais523> \oren\: no it doesn't; it's probably /meant/ to, but it appears to do somethign else
21:10:49 <\oren\> I wrote it in C awhile back
21:11:00 <\oren\> `` u8tbl 0x60 0x70
21:11:01 <HackEgo> ​`abcdefghijklmno \ p
21:11:01 <Vorpal> ais523: any progress on feather btw?
21:11:07 <Vorpal> I expect the answer to be no?
21:11:16 <ais523> Vorpal: indeed
21:11:23 <b_jonas> feather? is that the project we don't talk about?
21:11:31 <\oren\> `` u8tbl 060 070
21:11:32 <HackEgo> 012345678
21:11:39 <\oren\> yes it does
21:11:43 <Vorpal> b_jonas: there is obviously no such thing as feather, what are you talking about
21:12:13 <ais523> `` u8tbl 5 4
21:12:14 <HackEgo> No output.
21:12:18 <b_jonas> Vorpal: I'm confused about other people's nonexistant projects. I can barely keep my nonexistant future long term todo projects in line.
21:12:31 <b_jonas> Some of them are secret, some I do talk about.
21:12:38 <\oren\> `` u8tbl 4 5
21:12:39 <HackEgo>
21:12:46 <b_jonas> Many will probably never materialize.
21:12:52 <b_jonas> s/Many/Most/
21:13:16 <Vorpal> b_jonas: don't forget elliott's OS
21:13:20 <Vorpal> whatever that was called
21:13:21 <\oren\> `` u8tbl 0x100 0x110
21:13:22 <HackEgo> ​ĀāĂ㥹ĆćĈĉĊċČčĎď \ Đ
21:13:40 <\oren\> looks right to me
21:13:58 <\oren\> `` u8tbl 0x1D504 0x1D51D
21:13:59 <HackEgo> ​𝔄𝔅𝔆𝔇𝔈𝔉𝔊𝔋𝔌𝔍𝔎𝔏 \ 𝔐𝔑𝔒𝔓𝔔𝔕𝔖𝔗𝔘𝔙𝔚𝔛𝔜𝔝
21:14:07 <b_jonas> Vorpal: obviously I'd be interested to see ais523's version control system
21:14:23 <ais523> so would I!
21:14:31 <Vorpal> heh
21:14:41 <Vorpal> ais523: well what is unique with scapegoat?
21:14:45 <ais523> Vorpal: the OS in question wasn't named; we typically called it @ in here, with the understanding that once it got a name, we'd retroactively edit the lgos
21:14:52 <ais523> to contain the true name of the OS
21:14:59 <b_jonas> what
21:15:11 <b_jonas> couldn't you give a better development codename?
21:15:15 <Vorpal> ah, right
21:15:22 <ais523> b_jonas: wasn't my idea!
21:15:22 <b_jonas> with the understanding that it would get a marketing name later?
21:16:16 <ais523> Vorpal: scapegoat (in theory) has a simpler interface than most DVCSes, is better at handling merge conflicts, and dodges the downsides of both darcs and git
21:16:30 <Vorpal> ais523: what is the catch?
21:16:37 <ais523> it hasn't been written yet
21:16:46 <Vorpal> ais523: and will it be very hard to write?
21:16:51 <ais523> nor does it exist in any sort of non-vaporware sense
21:16:56 <Vorpal> compared to something like git?
21:16:59 <ais523> and yes, it isn't easy to write either
21:17:09 <izabera> oerjan: that's not very nice :(
21:17:11 <ais523> mostly due to design issues
21:17:22 <ais523> I don't think it'd be substantially harder to write than git or darcs once the design is complete
21:17:23 <Vorpal> ais523: I assume neither git nor darcs was easy to write, but this is probably 100 times worse?
21:17:29 <Vorpal> oh okay
21:17:39 <b_jonas> ais523: does it have a model of what it stores in the repository yet? (not the representation, but what info it conceptually stores)
21:18:32 <ais523> b_jonas: yes: the basic unit is called a "turtle" for lack of a better name; turtles contain dependencies on other turtles, edits to files, and edits to other turtles
21:18:55 <Vorpal> ais523: anything wrong with "changeset"?
21:18:57 <ais523> also it isn't just my VCS, although I did most of the planning, the rest of #esoteric helped too
21:19:20 <ais523> Vorpal: well you can derive the entire current state of the project (recursively) from one turtle
21:19:23 <ais523> you can't do that with one changeset
21:19:29 <b_jonas> As in, svn stores a series of revisions, each of which has a mutable map of revprops, and a deep-immutable tree of directories and files, where each directory or file stores a parent (an optional ref to an existing file in a previous version which has the same isdir) and a map of properties.
21:19:30 <Vorpal> ah okay
21:19:52 <ais523> I guess a turtle is a combination of a version, and the subset of history that lead to the creation of that version
21:19:56 <b_jonas> ais523: wait, wasn't the basic unit a blame?
21:20:49 <b_jonas> ais523: um, how is a tree of files derived from a turtle when you checkout, if such a thing exists?
21:21:39 <b_jonas> I don't understand what “dependencies on other turtles, edits to files, and edits to other turtles” means really
21:21:55 -!- callforjudgement has joined.
21:21:59 -!- tromp__ has joined.
21:22:13 <callforjudgement> b_jonas: well the point is that you can track every line of versioned code back to the turtle that created it
21:22:19 -!- ais523 has quit (Disconnected by services).
21:22:21 -!- callforjudgement has changed nick to ais523.
21:22:42 <ais523> b_jonas: so the version control system is basically blame-based; it uses this information to do merges correctly, for example
21:22:53 <Vorpal> ais523: that nick.. what was the game it was related to now again?
21:23:04 -!- p34k has quit (Ping timeout: 240 seconds).
21:23:07 <ais523> Vorpal: nomic
21:23:13 <Vorpal> ah, right
21:23:33 <int-e> `? nomic
21:23:34 <HackEgo> nomic? ¯\(°​_o)/¯
21:23:35 <ais523> ugh, I'm installing yosys and its build system involves cmake calling out to hg to download a dependency from somewhere
21:23:40 -!- p34k has joined.
21:23:45 <ais523> int-e: http://en.wikipedia.org/wiki/Special:Search?go=Go&search=Nomic
21:23:47 <zzo38> Another alternative for Git and so on is Fossil; did you examine that one?
21:24:00 <int-e> ais523: I was curious whether we had a wisdom about it :P
21:24:28 <int-e> it seemed like something that should exist
21:24:35 <int-e> now I'm disappointed
21:24:41 <ais523> this is incredibly bad both on the basis of security reasons (someone could change the result of installing a version without any changes to the source), and on the fact that I can't rebuild offline
21:25:04 <b_jonas> `? callforjudgement
21:25:05 <HackEgo> callforjudgement? ¯\(°​_o)/¯
21:25:08 <b_jonas> `? callforjudgment
21:25:09 <HackEgo> callforjudgment? ¯\(°​_o)/¯
21:25:15 <ais523> b_jonas: first spelling was correct
21:25:48 <b_jonas> `? wrathofgod
21:25:49 <HackEgo> wrathofgod? ¯\(°​_o)/¯
21:25:54 <b_jonas> `? wrath of god
21:25:55 <HackEgo> wrath of god? ¯\(°​_o)/¯
21:25:57 <b_jonas> `? day of judgment
21:25:58 <HackEgo> day of judgment? ¯\(°​_o)/¯
21:25:59 <b_jonas> `? day of judgement
21:26:00 <HackEgo> day of judgement? ¯\(°​_o)/¯
21:26:04 <b_jonas> `? day of jugement
21:26:06 <HackEgo> day of jugement? ¯\(°​_o)/¯
21:26:06 <b_jonas> `? day of jugment
21:26:07 <HackEgo> day of jugment? ¯\(°​_o)/¯
21:26:15 -!- jaboja has quit (Ping timeout: 240 seconds).
21:26:15 -!- gniourf has quit (Ping timeout: 240 seconds).
21:26:16 -!- tromp_ has quit (Ping timeout: 240 seconds).
21:26:18 -!- p34k has left.
21:27:22 -!- jaboja has joined.
21:28:59 -!- heroux has quit (Ping timeout: 264 seconds).
21:30:22 <b_jonas> (Wrath of God was replaced by Day of Judgment which has a more modern templating, same as Terror got replaced by Doom Blade, and it was in Zendikar in particular because it works better with the pseudo-regeneration effects in ROE)
21:31:30 -!- gniourf has joined.
21:31:39 <Vorpal> b_jonas: what are you talking about
21:31:47 <b_jonas> Vorpal: M:tG
21:31:52 <Vorpal> ah
21:32:47 <ais523> b_jonas: Day of Judgment isn't a more modern templating, it's an intentionally different functionality
21:32:49 <Vorpal> ais523: what is yosys?
21:32:49 <ais523> doesn't bypass regenerators
21:33:00 <ais523> Vorpal: open-source Verilog synthesizer, apparently
21:33:04 <Vorpal> ah
21:33:29 <ais523> when anyone asks about open-source FPGA tools I said there weren't any, but I just discovered there's an open-source Verilog toolchain that targets a real existing FPGA
21:33:33 -!- oerjan has quit (Quit: Gah).
21:33:34 <ais523> now I'm planning to try it out
21:33:41 <Vorpal> ah
21:34:01 <b_jonas> ais523: yes, but it's more modern, basically Wizards decided that the "can't regenerate" usually shouldn't appear on cards because it's stupid, it either makes regeneration useless, or is a useless clause if there's no regeneration in the environment
21:34:28 <ais523> This is experimental software! It might have bugs that cause it to produce bitstreams which could damage your FPGA! So when you buy an evaluation board, get a few.
21:34:39 <b_jonas> (they do "can't be prevented" sometimes though, which I don't really like, because it's a red thing that screws with white)
21:34:49 <Vorpal> ais523: ouch
21:34:55 <ais523> b_jonas: the way I think about it, it prevents you using your own regenerators to get around the board wipe
21:35:02 -!- heroux has joined.
21:35:30 <b_jonas> (it's enough that red does direct non-combat damage when white and green can protect better against combat damage, they shouldn't also bypass my protections)
21:35:33 <Vorpal> ais523: shouldn't it just be a case of loading a new software on it, as long as you don't cause the IO ports to fry?
21:35:53 <ais523> this is much the same way that shroud is a better ability than hexproof; the problem with hexproof is that it makes buffing auras disproportionately powerful, meaning that most buffing auras are either worthless without the hexproof combo or overpowered with it
21:36:02 <ais523> if hexproof didn't exist then auras could be made much better without issues
21:36:29 <ais523> Vorpal: well suppose your bitstream connects the power rails together, the chip may well burn out
21:36:40 <ais523> I don't know if it's possible to configure an FPGA like that or not
21:36:44 <Vorpal> ah
21:36:46 <b_jonas> ais523: exactly. which is why Zendikar has Day of Judgment, so you can use your Eland Umbra to have your creatures survive. It's even better with board wipers that destroy all permanents.
21:37:00 <zzo38> Some of my own custom cards use shroud instead of hexproof, because no player is supposed to target it
21:37:08 <Vorpal> which FPGA does this target?
21:37:15 <ais523> b_jonas: very few board wipers destroy all permanents, because Wizards hates land distruction
21:37:20 <ais523> *destruction
21:37:22 -!- atrapado has quit (Quit: Leaving).
21:37:46 <ais523> Vorpal: Lattice iCE40, apparently
21:37:54 <Vorpal> never heard of that brand
21:37:57 <Vorpal> is it any good?
21:37:58 <b_jonas> ais523: yep. all those board wipers are old, and usually expensive in terms of in-game costs. but they still exist in modern.
21:38:43 -!- \oren\ has quit (Quit: Lost terminal).
21:39:12 <b_jonas> Hmm, does spot removal like Befoul exist after Kamigawa, which is when Befoul was last printed?
21:39:27 <ais523> what does Befoul do?
21:39:49 <b_jonas> for 2BB, sorcery, destroy target land or nonblack creature, no-regen
21:39:59 -!- oren has joined.
21:40:12 <b_jonas> it really showcases what black can do
21:40:18 <b_jonas> and what black can't do
21:40:42 <ais523> b_jonas: Wrecking Ball (destroy target land or creature for 2RB) was printed in the original Ravnica block, possibly again later
21:40:43 <b_jonas> black can discard your cards or destroy your creatures or lands, but not touch your non-land non-creature permanents
21:40:57 <b_jonas> ah yes! nice
21:40:57 <b_jonas> hmm
21:41:02 <ais523> the "nonblack" restriction on removal is very rare nowadays though
21:41:07 <b_jonas> yep
21:41:14 <ais523> which I think is a pity; one of the advantages of black creatures used to be that black removal didn't work on them
21:41:30 <ais523> but that hasn't been the case for ages, and in general, black creatures just tend not to be very good nowadays as a result
21:41:40 <b_jonas> and fear and landwalk and intimidate are gone too, so are most color hosers that explicitly mention a color
21:41:51 <b_jonas> um, they never were good
21:41:55 <b_jonas> at least the lower mana cost ones
21:42:06 <b_jonas> black has always had the worst creatures among all five colors
21:42:09 <b_jonas> worse even than blue
21:42:30 <b_jonas> hmm, which is the other black-red destroyer instant?
21:43:43 <ais523> the best creature in the game to cheat out is black
21:43:50 <ais523> (i.e. if you don't care about the mana cost)
21:44:47 <b_jonas> ah yes, Terminate
21:45:21 <b_jonas> ais523: that might be true. which creature is that?
21:45:41 <ais523> Griselbrand
21:45:50 <ais523> mostly for the "Pay 7 life: Draw 7 cards" ability
21:45:53 <b_jonas> but they don't print easy ways to cheat out cards since they printed the huge Eldrazi
21:45:58 <ais523> this makes it almost impossible to lose once it's in play
21:46:13 <ais523> (also, it's /newer/ than Rise of the Eldrazi: it comes from Avacyn Restored)
21:46:27 <b_jonas> ais523: sure, they still print big creatures
21:46:28 <ais523> (although the most recent huge Eldrazi came from Oath of the Gatewatch, the most recent set)
21:46:31 <b_jonas> they don't print easy reanimation
21:46:36 <ais523> ah right
21:46:39 <ais523> indeed
21:46:52 <ais523> doesn't mean that creature-cheating doesn't exist in Modern
21:46:55 <b_jonas> sure
21:47:00 <b_jonas> Zombify isn't just gone
21:47:02 <ais523> (it exists in Standard too but costs CMC 6)
21:47:07 <b_jonas> and Zombify isn't even good as creature cheaters go
21:47:10 <b_jonas> it's just vanilla
21:47:52 <b_jonas> if you want to build a deck that cheats creatures in play, you have to go for one that tries to cheat a creature in play on your second turn with 40% probability or something. I never understood how that worked.
21:48:26 <ais523> in which format?
21:48:38 <b_jonas> dunno
21:48:44 <b_jonas> maybe that's just my impression
21:48:47 <ais523> I'm guessing Modern, because in Legacy you can get well over 40% on turn 1 I think (Reanimator)
21:49:03 <ais523> and in Modern, you can manage it on turn 2 but I think most decks would be aiming for turn 3
21:49:04 <b_jonas> the casual reanimator I played against was mostly modern, but probably not exclusively I think
21:49:15 <b_jonas> it might have aimed to turn 3
21:49:43 <ais523> this is because most modern decks win on turn 4 unopposed, and combo decks typically delay the combo as long as they can hold onto it so that they can protect it better
21:49:55 <ais523> (unless they can do it before the opponent has any ability to disrupt it /and/ it wins outright)
21:50:09 <ais523> decks like ANT in Legacy can combo quickly but prefer to combo slowly
21:50:17 <ais523> so that they can fight through more disruption
21:50:22 <b_jonas> but it definitely didn't want to just pay 4 mana for Zombify or 5 mana for Rise from the Grave like I tried to do incidentally in my not-really-reanimating black deck
21:50:37 <ais523> (there's a simliar deck called The Epic Storm which does aim to go off as fast as possible, and does a lot of things differently as a result)
21:50:55 <ais523> hmm… Humanimator was a deck in Innistrad/Return to Ravnica standard
21:51:13 <ais523> and there were decks based around Whip of Erebos while Theros was in standard
21:51:15 <b_jonas> but in modern, you can no longer just sell your soul to Leshrac to get mana for free
21:51:19 <ais523> I think those are the most recent viable Standard reanimator decks
21:52:26 -!- ais523 has quit.
21:58:14 <oren> I also added ⚐⚑⚒⚓⚔⚕⚖⚗⚘⚙⚚ₐₑₒₓₔₕₖₗₘₙₚₛₜ⛄⛅⛇⛈ꝖꝗꝘꝙꝚꝛꝜꝝꝞꝟꝠꝡꝢꝣꝤꝥꝦꝧ
21:58:48 <b_jonas> oren: where are your backslashes?
21:59:11 <oren> whoops, irssi crashed and I forgot to readd them
21:59:19 -!- oren has changed nick to \oren\.
22:00:03 <b_jonas> \oren\: ah, I see you moved not only the repeat marks, but also the long vowel mark to the punctuation header
22:00:54 <\oren\> well, it's not really a kana.
22:01:21 <b_jonas> \oren\: uh, something seems off with the width or horizontal offset of the fraktur uppercase letters, somewhere near U
22:01:30 <b_jonas> at least as rendered here
22:01:52 <b_jonas> (I always find fraktur hard to read, because I'm not used to it)
22:02:34 <b_jonas> \oren\: when you say you have all kanji taught in primary school, primary school means which grades?
22:02:40 <\oren\> hmm I can't see any weird width but I do see a stray pixel...
22:02:52 <\oren\> grades 1 thru 6 in Japan
22:03:00 <b_jonas> I see
22:03:09 <\oren\> e.g. the entire kyoiku kanji list
22:03:28 <\oren\> but not the joyo kanji taught in grades 7-12
22:03:55 <\oren\> which are simplycalled middle 1-3 and high 1-3 in japan
22:03:59 <b_jonas> \oren\: the number 1 kanji still looks confusingly similar to the (horizontal) long vowel mark. shouldn't you do something about that, to help proofreading Japanese text?
22:04:21 <b_jonas> \oren\: strange... wouldn't that mean way more kanji than you have?
22:04:35 <b_jonas> can you really have grades up to 6 in this few?
22:04:37 <b_jonas> hmm
22:04:52 <\oren\> i have 1385 kanji total
22:05:11 <b_jonas> I mean, I remember when you needed just two more for grade 2, but at that point like half of grade 3 was missing iirc
22:05:31 <b_jonas> good work in that case
22:06:00 <\oren\> https://ja.wikipedia.org/wiki/%E5%AD%A6%E5%B9%B4%E5%88%A5%E6%BC%A2%E5%AD%97%E9%85%8D%E5%BD%93%E8%A1%A8
22:06:19 <\oren\> I did all the kanji on this list, iow
22:07:36 <\oren\> there are only ~2100 kanji in the jouyou list
22:08:05 <b_jonas> \oren\: the "Mathematical Operators, misc technical, APL, OCR, etc..." block already has cursive lowercase asciilatin letters, but you have a separate "Math special forms" block for the fraktur. is that deliberate? shouldn't you move the cursive letters?
22:08:14 <\oren\> but that's far from a complete list, lots of words use non-jouyou kanji
22:08:20 <b_jonas> sure
22:08:33 <\oren\> the cursive letters are currently in the wrong place
22:08:44 <\oren\> encodingowise I mean
22:08:57 <b_jonas> what's the status of hangul support?
22:09:08 <\oren\> still having software problems
22:09:14 <b_jonas> I see
22:10:33 <b_jonas> What's your ranking in that list of fonts ordered by the number of characters that you used to care about?
22:12:07 <b_jonas> and iirc unicode counts the long vowel mark as a kana and a punctuation but not a letter, whereas most other kana are letters
22:13:23 -!- heroux has quit (Ping timeout: 264 seconds).
22:15:35 <b_jonas> \oren\: well, it looks here as if the T was shifted to the right like half a character cell
22:15:42 <b_jonas> so it overlaps the U
22:15:53 <b_jonas> the fraktur ones I mean
22:26:55 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:32:53 -!- heroux has joined.
22:44:34 <b_jonas> fungot, can you read fraktur?
22:44:34 <fungot> b_jonas: mr president, i would say that we annually import chiefly from south america at present around 30 million tonnes of pigmeat or 6 more than in 1998. the commission has been active as head of government to telephone members of this parliament is somewhat concerned about the criminal activities of the respective identities of each member state.
22:44:41 <b_jonas> `wisdom
22:44:43 <b_jonas> `? fraktur
22:44:50 <HackEgo> fraktur? ¯\(°​_o)/¯
22:44:53 <HackEgo> zombiecheney/ZombieCheney lives under a bridge.
22:44:54 <b_jonas> `ls wisdom/tr*
22:44:56 <HackEgo> ls: cannot access wisdom/tr*: No such file or directory
22:45:02 <b_jonas> ``` ls wisdom/tr*
22:45:03 <HackEgo> wisdom/transformer \ wisdom/translater \ wisdom/treant \ wisdom/treaty \ wisdom/treefolk \ wisdom/trick \ wisdom/trisecting the angle
22:45:10 <b_jonas> ```` ls wisdom/tr*
22:45:11 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ```: not found
22:45:16 <izabera> `` type '``'
22:45:17 <HackEgo> ​`` is /hackenv/bin/``
22:45:28 <b_jonas> huh, didn't I create a bin/"```" ?
22:45:44 <b_jonas> ``` cat bin/"``"
22:45:45 <HackEgo> cat: bin/: Is a directory
22:45:51 <izabera> wrong quotes
22:45:53 <b_jonas> ``` cat bin/'``'
22:45:53 <b_jonas> yeah
22:45:54 <HackEgo> ​#!/bin/sh \ export LANG=C; exec bash -O extglob -c "$@"
22:46:06 <b_jonas> and I only redefined bin/'``'
22:46:10 <b_jonas> easier
22:46:15 <izabera> why that LANG=C thing?
22:46:25 <b_jonas> `` locale
22:46:26 <HackEgo> LANG=en_NZ.UTF-8 \ LANGUAGE= \ LC_CTYPE="en_NZ.UTF-8" \ LC_NUMERIC="en_NZ.UTF-8" \ LC_TIME="en_NZ.UTF-8" \ LC_COLLATE="en_NZ.UTF-8" \ LC_MONETARY="en_NZ.UTF-8" \ LC_MESSAGES="en_NZ.UTF-8" \ LC_PAPER="en_NZ.UTF-8" \ LC_NAME="en_NZ.UTF-8" \ LC_ADDRESS="en_NZ.UTF-8" \ LC_TELEPHONE="en_NZ.UTF-8" \ LC_MEASUREMENT="en_NZ.UTF-8" \ LC_IDENTIFICATION="en_NZ
22:46:46 <izabera> that doesn't explain it
22:46:50 <b_jonas> izabera: wrong collation by default, so eg. [a-z] will match the wrong thing in shell wildcard expansion
22:46:51 <izabera> `` cat bin/\`
22:46:52 <HackEgo> TIMEFORMAT='real: %lR, user: %lU, sys: %lS' exec bash -c -- "$1"
22:46:57 <zzo38> I put in LANG=C so that it would use the correct locale.
22:47:07 <zzo38> (It is the only good one in my opinion)
22:47:20 <b_jonas> yep
22:47:28 <b_jonas> almsot
22:47:30 <izabera> is [a-z] the only problem?
22:47:34 <b_jonas> izabera: no
22:47:43 <b_jonas> ls sorts wrong
22:47:45 <b_jonas> and other stuff
22:47:55 <b_jonas> we here know the ascii table and expect asciibetical sort
22:47:57 <b_jonas> and there's more
22:48:14 <b_jonas> the [a-z] is just the most obvious
22:48:26 <b_jonas> that [a-z] matches T is horrible
22:49:10 <zzo38> On my own computer I do have LANG=C in my login file so that it will always use the C locale. I want to change the system locale also to C but I am unsure how. The "ship to end user" program did not offer the choice of the C locale
22:49:47 <izabera> you want LC_COLLATE=C
22:49:59 <b_jonas> anyway, I added the extglob part to bin/\`\`
22:50:29 <izabera> you don't really need a new shell for that, do you?
22:50:38 <b_jonas> maybe I should create commands with larger number of backticks, the only difference being that they export some env-vars so the command can tell the top-level command (both the backticks part and the argument)
22:50:48 <b_jonas> izabera: a new shell for what?
22:50:51 <izabera> `` cat bin/\`
22:50:52 <HackEgo> TIMEFORMAT='real: %lR, user: %lU, sys: %lS' exec bash -c -- "$1"
22:50:54 <izabera> `` cat bin/\`\`
22:50:55 <HackEgo> ​#!/bin/sh \ export LANG=C; exec bash -O extglob -c "$@"
22:51:12 <b_jonas> izabera: do you mean a new command in bin?
22:51:22 <izabera> `` type bash
22:51:23 <HackEgo> bash is /bin/bash
22:51:25 <b_jonas> izabera: we didn't want to modify the single backtick, for backwards compatibility
22:51:42 <b_jonas> it was such a basic command, people could be depending on the broken locale
22:51:49 <b_jonas> which is why someone added the double backtick
22:52:18 <b_jonas> ``` cat bin/run
22:52:18 <HackEgo> echo run run run
22:52:19 <izabera> `` printf '#!/bin/bash\nTIMEFORMAT="real: %%lR, user: %%lU, sys: %%lS"\neval -- "$1"\n' > bin/\`
22:52:22 <HackEgo> No output.
22:52:26 <izabera> fuck
22:52:48 <izabera> `` echo $BASH_VERSION
22:52:49 <b_jonas> huh? what are you doing?
22:52:49 <HackEgo> 4.2.37(1)-release
22:53:01 <izabera> `` shopt globasciiranges
22:53:01 <b_jonas> oh
22:53:01 <HackEgo> ​/hackenv/bin/`: line 3: shopt: globasciiranges: invalid shell option name
22:53:05 <b_jonas> eval instead of exec bash?
22:53:21 <izabera> `` printf '#!/bin/bash\nTIMEFORMAT="real: %%lR, user: %%lU, sys: %%lS"\nshopt -s extglob globstar\neval -- "$1"\n' > bin/\`
22:53:23 <HackEgo> ​/hackenv/bin/`: line 4: lob: command not found
22:53:30 <izabera> wat
22:53:36 <izabera> did i break something?
22:53:39 <b_jonas> I think bash -c is safer, just in case they get somehow shelled with sh instead of bash despite the shebang
22:53:57 <b_jonas> `` cat -v bin/\`
22:53:58 <HackEgo> ​#!/bin/bash \ TIMEFORMAT="real: %lR, user: %lU, sys: %lS" \ shopt -s extglob globstar \ eval -- "$1"
22:54:12 <b_jonas> what the heck
22:54:19 <b_jonas> don't change backtick to set extglob
22:54:28 <b_jonas> it's not COMPLETELY backwards compatible
22:54:32 <b_jonas> just almost
22:54:35 <izabera> it is
22:54:45 <b_jonas> there are some crazy contexts where the extglob had a meaning before
22:54:53 <b_jonas> a different meaning
22:54:58 <izabera> that's not true
22:55:25 <b_jonas> I think it is
22:55:33 <b_jonas> they're very rare and no sane user is typing such things
22:55:36 <b_jonas> but we're on #esoteric
22:55:39 <izabera> no
22:55:44 <izabera> this isn't true
22:56:02 <izabera> the one context in which it was valid was pattern matching when you put that pattern in a variable and then match against the variable
22:56:12 <izabera> bash 4+ enables extglob in pattern matching even if it's disabled in the shell
22:57:07 <b_jonas> but isn't there some strange context with history expansion or strange redirects or something where the extglob syntax just happens to be valid with some other meaning without extglob?
22:57:26 <izabera> hist expansion is only in interactive shells
22:57:38 <b_jonas> yeah, I guess that's true
22:57:44 <b_jonas> but redirects or something
22:57:46 <b_jonas> or variable stuff
22:57:47 <b_jonas> dunno
22:58:09 <b_jonas> ah, globstar enables zsh-like double star?
22:58:10 <b_jonas> wow
22:58:12 <b_jonas> I didn't know
22:58:40 <izabera> don't you say anything against that?
22:58:46 <izabera> that's obviously not backwards compatible
22:59:01 <b_jonas> I didn't know what it meant
22:59:09 <b_jonas> anyway
22:59:15 <b_jonas> does single backtick work now?
22:59:18 <b_jonas> ` echo hello world
22:59:19 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
22:59:23 <b_jonas> `` echo hello world
22:59:24 <HackEgo> hello world
22:59:32 <b_jonas> `` </dev/null wc
22:59:33 <HackEgo> ​ 0 0 0
22:59:36 <b_jonas> seems to
22:59:37 <b_jonas> good
22:59:48 <myname> huh?
22:59:58 -!- jaboja has quit (Ping timeout: 250 seconds).
22:59:58 <myname> the error is good?
23:00:04 <b_jonas> what error?
23:00:11 <b_jonas> myname: no, I mean bin/\`
23:00:26 <b_jonas> yeah... it's confusing
23:01:02 * izabera found two cases in which extglobs mean something else if extglob is disabled...
23:01:04 <b_jonas> termbot (which is not and was never allowed to this channel) also uses backtick both for the invocation character and something else, so it looks as if double backtick did something special, but it doesn't
23:01:19 <Vorpal> @tell ais523 I was reading the aimake manual, and using stuff like AIMAKE_BUILDOS_linux defines seems to preclude cross compilation. How have you solved this use case?
23:01:20 <lambdabot> Consider it noted.
23:03:03 <izabera> `` bash -c 'var="!(x)"; case y in $var) echo extglob is on ;; *) echo extglob is off ; esac'
23:03:04 <HackEgo> extglob is off
23:03:09 <izabera> `` bash -O extglob -c 'var="!(x)"; case y in $var) echo extglob is on ;; *) echo extglob is off ; esac'
23:03:11 <HackEgo> extglob is on
23:03:42 <b_jonas> ah, I see
23:03:47 <b_jonas> huh
23:04:00 <b_jonas> how is the contents of $var even interpreted as a pattern
23:04:06 <b_jonas> shouldn't it be literal?
23:04:07 <b_jonas> strange
23:04:08 <izabera> no
23:04:09 <b_jonas> bash is strange
23:04:22 <b_jonas> oh well
23:04:31 <izabera> it's strange that in [[ ]] extglob is always enabled but it isn't in case
23:04:40 -!- jaboja has joined.
23:04:51 <izabera> `` bash -c '+()(:)'
23:04:52 <HackEgo> bash: +(: invalid option \ Usage:bash [GNU long option] [option] ... \ bash [GNU long option] [option] script-file ... \ GNU long options: \ --debug \ --debugger \ --dump-po-strings \ --dump-strings \ --help \ --init-file \ --login \ --noediting \ --noprofile \ --norc \ --posix \ --protected \ --rcfile \ --restricted \ --verbose \
23:04:57 <izabera> ah crap
23:05:01 <izabera> `` bash -c '*()(:)'
23:05:02 <HackEgo> No output.
23:05:07 <izabera> `` bash -O extglob -c '*()(:)'
23:05:08 <HackEgo> bash: -c: line 0: syntax error near unexpected token `:' \ bash: -c: line 0: `*()(:)'
23:05:10 <izabera> :\
23:05:26 <b_jonas> ``` bash -c ' +(){:;}'
23:05:27 <HackEgo> bash: -c: line 0: syntax error near unexpected token `{:' \ bash: -c: line 0: ` +(){:;}'
23:05:37 <izabera> need a space after {
23:05:40 <b_jonas> ``` bash -c ' +(){ :;}'
23:05:41 <HackEgo> No output.
23:05:45 <b_jonas> ``` bash -c ' +(){ :;}; +'
23:05:46 <HackEgo> No output.
23:06:17 <b_jonas> by the way, I turned on extglob because it's too late to write something like `` shopt -s extglob; ls bin/!([a-z]*)
23:06:25 <izabera> yes
23:06:25 <b_jonas> the line is parsed before the shopt executes
23:06:31 <b_jonas> so I need it early
23:06:55 <izabera> i don't think anyone will notice any difference if extglob is always on
23:06:58 <b_jonas> a newline would be enough, but you can't put one in an irc line
23:07:02 <b_jonas> ok
23:07:21 <izabera> but they will if they expect ** to be *
23:07:24 <izabera> >:o
23:07:33 <izabera> you should fight for that
23:07:43 <izabera> that's definitely against posix
23:08:08 <b_jonas> so is the brace expansion, isn't it?
23:08:21 <izabera> correct
23:08:42 <b_jonas> well, if you want posix, you can always sh -c
23:08:46 <zzo38> Can you please to tell me if this is good or you think something is wrong with this? https://www.npmjs.com/package/genasync
23:08:54 <b_jonas> or, um, POSIXLY_CORRECT=1 sh -c
23:09:13 <b_jonas> zzo38: I never heared of that thing
23:09:30 <b_jonas> what the heck is that? is it something python?
23:09:38 <zzo38> b_jonas: No, it is JavaScript
23:09:45 <b_jonas> ah
23:09:51 <izabera> you want nodepython
23:10:50 <b_jonas> it's getting late, good night, #esoteric
23:20:55 -!- deltab has quit (Ping timeout: 260 seconds).
23:24:02 <zzo38> Well I prefer JavaScript instead
23:24:14 -!- ais523 has joined.
23:24:14 -!- variable has quit (Quit: 1 found in /dev/zero).
23:29:35 -!- heroux has quit (Ping timeout: 264 seconds).
23:31:57 -!- heroux has joined.
23:47:08 -!- lleu has quit (Quit: That's what she said).
23:50:27 -!- hppavilion[1] has joined.
2016-02-15
00:10:32 <tswett> `run :(){ :|:& };:
00:10:33 <HackEgo> No output.
00:16:09 -!- deltab has joined.
00:23:41 <izabera> so uhm
00:23:44 <izabera> stupid question
00:23:54 <izabera> when you implement a language
00:24:21 <izabera> what if you don't generate a tree with your parser
00:24:29 <izabera> but only a list of instructions
00:24:42 <coppro> then your static analysis sucks
00:24:45 <izabera> no wait
00:24:58 <coppro> Taneb: have you played mage knight?
00:25:43 <izabera> i mean i want to convert if (a) { b; c; }; d to if (!a) goto d; { b; c; }; d
00:25:58 <izabera> does that make sense?
00:28:04 <olsner> sort of, I think a lot of old compilers worked like that, just reading and outputting assembly on the fly
00:28:59 <izabera> ok great
00:29:15 <olsner> but you can probably make something more readable easier by parsing and working with a tree
00:29:29 <izabera> more readable than assembly?!
00:29:36 <izabera> what is this whichcraft
00:29:47 <izabera> i added an extra h didn't i?
00:30:07 <izabera> ok it was just an idea
00:30:14 <olsner> I meant your implementation would be more readable
00:36:15 -!- oerjan has joined.
00:41:45 <hppavilion[1]> diginet: I LIKE that conspiracy
00:42:42 <hppavilion[1]> myname: It was proven in the 1800s that angle trisection is like doubling the cube or squaring the circle
00:43:02 <hppavilion[1]> myname: In fact, angle trisection is one of the 3 classic unsolvable problems, just like those other two
00:43:21 <hppavilion[1]> myname: Though you can do it if you use paper folding instead of ruler/compass as your primitive
00:45:31 <lifthrasiir> https://medium.com/@wilshipley/the-absolutely-true-story-of-a-real-programmer-who-never-learned-c-210e43a1498b
00:45:54 <hppavilion[1]> izabera: Also, you forgot the t
00:47:48 <izabera> right
00:48:15 <hppavilion[1]> lifthrasiir: That's amazing.
00:48:31 <lifthrasiir> hppavilion[1]: I actually learned of Sam Ritchie from that post
00:48:36 <lifthrasiir> cf. http://www.wired.com/2013/11/twitter-summingbird/
00:48:46 <hppavilion[1]> lifthrasiir: Who's Sam Ritchie, OOC?
00:48:53 <lifthrasiir> hppavilion[1]: ^
00:49:31 <hppavilion[1]> myname: Also, all one need do to square the circle is construct a length equal to sqrt(pi) relative to another length defined as length 1. hth.
00:50:08 <hppavilion[1]> lifthrasiir: Ah.
00:50:19 <lifthrasiir> so actually the story is (likely to be) true
00:50:29 <lifthrasiir> kind of neat trick
00:51:37 <hppavilion[1]> lifthrasiir: Is C awful, or just C++?
00:51:39 <hppavilion[1]> `tomfoolery C
00:51:44 <HackEgo> I must confess, I know not of what you are speaking.
00:51:46 <hppavilion[1]> tswett: ^
00:51:52 <hppavilion[1]> `? C
00:51:55 <HackEgo> C is the language of��V�>WIד�.��Segmentation fault
00:52:00 <hppavilion[1]> `? C++
00:52:01 <HackEgo> Along with C, C++ is a language for smart people.
00:52:36 <izabera> i just realized that this while (cond) body;
00:52:44 <izabera> should be converted to this if (!cond) goto out; top: body; if (cond) goto top; out: ;
00:52:52 <izabera> rather than this top: if (!cond) goto out; body; goto top; out: ;
00:53:44 <hppavilion[1]> izabera: ERROR: HALTING PROBLEM
00:53:49 <izabera> no
00:53:50 <lifthrasiir> hppavilion[1]: "C is the language of humans, and C++ is the language of youkai."
00:53:52 <izabera> wat
00:53:53 <lifthrasiir> http://uguu.org/nfo_meikaigumi.html
00:53:57 <hppavilion[1]> izabera: JK
00:54:01 <hppavilion[1]> (Rowling)
00:54:33 <tswett> You know, I definitely would have expected the creator of a language to learn it and study it.
00:54:46 <hppavilion[1]> tswett: Yeah, probably
00:54:55 <hppavilion[1]> tswett: Though him not having done that explains a lot...
00:55:07 <tswett> Anyway...
00:55:38 -!- PinealGlandOptic has quit (Quit: leaving).
00:55:46 <tswett> It's likely that C fulfills its particular niche better than any other language... or, at least, any other language that's commonly used.
00:56:01 <hppavilion[1]> Best way to encrypt a message: Transmit a fractran program that outputs the ASCII values of your message
00:56:08 <hppavilion[1]> No one would ever suspect that
00:56:11 <zzo38> Some people dislike C and C++, although I happen to like C, I much prefer C over C++
00:56:16 <tswett> C++ is widely hated, but it also fills its niche pretty well.
00:56:17 <hppavilion[1]> tswett: True, true
00:56:42 <tswett> A person could argue that Rust does what C++ does, better than C++ does it.
00:56:48 <tswett> But Rust is still in its childhood.
00:56:50 <tswett> `? rust
00:56:51 <HackEgo> Rust is C++ as designed by the makers of Haskell.
00:56:59 <hppavilion[1]> tswett: And what about C⁂?
00:57:01 <tswett> `culprits wisdom/rust
00:57:06 <HackEgo> tswett tswett tswett shachaf tswett
00:57:09 <tswett> hppavilion[1]: you mean... C#?
00:57:20 <hppavilion[1]> tswett: No, C⁂
00:57:27 <hppavilion[1]> tswett: Oh wait, that's still in the future
00:57:29 <hppavilion[1]> srry
00:57:31 <tswett> Ah.
00:57:36 <tswett> I'm going to tell you about C# anyway.
00:57:54 <hppavilion[1]> I keep forgetting what's already happened and what is yet to come
00:57:57 <tswett> I'd say C# is pretty much nothing like C and C++. It's more similar to, say, Python.
00:58:15 <hppavilion[1]> (Because I live in complex time, which isn't well-ordered)
00:58:21 <coppro> `unidecode ⁂
00:58:22 <HackEgo> ​[U+2042 ASTERISM]
00:58:30 <coppro> what
00:58:32 <izabera> that thing has a _name_ ?
00:58:42 <hppavilion[1]> coppro: It was recommended to me as S(#)
00:58:55 <hppavilion[1]> ++ = S('')
00:58:57 <tswett> izabera: did you expect it to be called TRIANGULAR ARRANGEMENT OF ASTERISKS?
00:59:01 <hppavilion[1]> # = S('++')
00:59:07 <hppavilion[1]> ⁂ = S('#')
00:59:15 <coppro> hppavilion[1]: how do you arrive at that conclusion?
00:59:28 <hppavilion[1]> coppro: It was recommended by someone. Probably shachaf.
00:59:55 <hppavilion[1]> Of course, S('++') could also be "objective-"
01:00:00 <shachaf> ?
01:00:02 <hppavilion[1]> It's really just in name at this point though
01:00:17 <hppavilion[1]> # languages are nothing like their namewise predecessors
01:00:31 <tswett> Yeah, F# is nothing like F and F++.
01:00:33 <hppavilion[1]> Speaking of which, I'd like to see a low-level (C-level, that is) language called F
01:00:38 <zzo38> However, Objective-C at least is a strict superset of C, meaning that all C codes can be used.
01:00:41 <hppavilion[1]> tswett: Yes, exactly
01:00:51 <hppavilion[1]> zzo38: True, true
01:01:14 <hppavilion[1]> tswett: Mostly because F# currently exists while F and F++ do not, LTIC
01:01:33 <zzo38> So it has that advantage, that if something is using/requiring Objective-C then you can still use a C code without needing a modification
01:01:44 <hppavilion[1]> zzo38: Yeah
01:01:51 <hppavilion[1]> zzo38: Swift is good, I've heard
01:01:59 -!- Yurume has joined.
01:02:07 <Yurume> woot
01:02:10 <hppavilion[1]> Then again, the only devs I know IRL are apple geeks who do a lot of Unity
01:02:18 <hppavilion[1]> Yurume: Been here before?
01:02:20 <tswett> Of course, Microsoft Access is the future of computing.
01:02:24 <hppavilion[1]> Yurume: Or are you new?
01:02:37 <Yurume> hppavilion[1] : same to lifthrasiir :)
01:02:50 <hppavilion[1]> Yurume: ?
01:03:05 <Yurume> eh I meant I AM lifthrasiir
01:03:09 <hppavilion[1]> Yurume: Are you lifthrasiir with an alt ni- ah
01:03:15 <hppavilion[1]> `notrelcome Yurume
01:03:15 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: notrelcome: not found
01:03:26 <zzo38> The NS INFO commands is not saying such thing?
01:03:27 <Yurume> this is another (mobile) client I'm using
01:03:36 <hppavilion[1]> Ah
01:04:12 <Yurume> my friend runs an app with built-in IRC bouncer which I frequently use
01:04:26 <tswett> (By which I mean: Microsoft Access is a sort of rapid application development tool. I imagine "the future of programming" as combining the ease-of-use of something like Access with the flexibility of "real", text-based programming.)
01:04:35 <Yurume> I think it does not have a way to identify the nick
01:05:25 <hppavilion[1]> tswett: What's access?
01:05:39 <hppavilion[1]> tswett: Oh, right, the DB
01:05:47 <hppavilion[1]> (My grandpa LOVES Office)
01:06:18 <izabera> tswett: ever tried game maker?
01:06:35 * izabera started programming with game maker
01:06:44 <zzo38> I have used Microsoft Office and Microsoft Access before; I happen to prefer SQLite for the databases, it is better system.
01:06:55 <zzo38> And for typing formatted documents, I use TeX.
01:07:11 <oerjan> dammit who was it linked "the internet is for porn" now i've got that song on my brain
01:07:28 <hppavilion[1]> zzo38: Yes, I agree
01:07:33 <Yurume> the internet is for pom
01:07:41 <hppavilion[1]> The internet is for Kerning
01:07:58 <olsner> pom and keming
01:08:02 <zzo38> The internet is for everything. However many thing can done even without internet too, often better without use of internet, but internet is good too
01:08:13 <olsner> `? internet
01:08:14 <HackEgo> internet? ¯\(°​_o)/¯
01:08:17 <olsner> `? the internet
01:08:18 <HackEgo> the internet? ¯\(°​_o)/¯
01:08:19 <hppavilion[1]> GASP
01:08:28 <hppavilion[1]> YOU HAVE FAAAAAAAAAAAAILED US
01:08:36 -!- lynn has quit (Ping timeout: 256 seconds).
01:08:43 <olsner> does `learn handle 'the'?
01:08:51 <hppavilion[1]> olsner: It does not
01:08:56 <hppavilion[1]> oerjan: Wait, it does
01:08:57 <shachaf> It does.
01:09:04 <hppavilion[1]> Whoopse, olsner
01:09:06 <hppavilion[1]> *whoops
01:09:12 <olsner> `learn The internet is for everything. However many thing can done even without internet too, often better without use of internet, but internet is good too.
01:09:16 <HackEgo> Learned 'internet': The internet is for everything. However many thing can done even without internet too, often better without use of internet, but internet is good too.
01:09:18 <hppavilion[1]> olsner: It ignores `the
01:09:44 <hppavilion[1]> `le/rn_append internet/Except porn.
01:09:47 <HackEgo> Learned 'internet': The internet is for everything. However many thing can done even without internet too, often better without use of internet, but internet is good too. Except porn.
01:09:55 <shachaf> `revert
01:09:59 <olsner> perhaps it should've been a quote of zzo38, but it made so much sense encylopedically
01:10:06 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
01:10:20 <hppavilion[1]> olsner: We have `tomfoolery for ACCURATE messages.
01:10:21 <shachaf> zzo38: What can be done better without use of internet?
01:10:25 <zzo38> I have used Game Maker as well but no longer do, it isn't as good as other program, because for one thing is not Free software, and some other problems too. However you can look at my game if you want to, I included the source file so that you can try to examine it with whatever program you want to
01:10:36 <izabera> `cat le/rn
01:10:37 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "$(echo-p "wisdom/$key")" && echo "Learned «$key»"
01:11:03 <zzo38> shachaf: Well, such as stuff that isn't on computer (for example if you want to write it by hand), or to run local computations and files on your computer.
01:11:06 <hppavilion[1]> zzo38: Also, a LOT of people like to obfuscate their code because they think that anything made in a thing like that can be treated as protectable work
01:12:11 <tswett> izabera: I haven't tried Game Maker, no.
01:12:13 <zzo38> Yes, although I do not. As far as I am concerned it makes it more difficult to port or do other things with if it is obfuscated and mixed up
01:12:27 <hppavilion[1]> zzo38: Good.
01:13:10 <hppavilion[1]> zzo38: I am firmly of the belief all games smaller than a full-scale game should be developed from scratch (using whatever libraries/bindings are convenient).
01:13:22 <tswett> I've found Microsoft Excel to be a really useful product.
01:13:46 <zzo38> hppavilion[1]: That may be true; I don't know. I can program for Famicom as well; do you know how?
01:13:48 <hppavilion[1]> tswett: Fair enough
01:13:55 <hppavilion[1]> zzo38: Nope.
01:14:12 <tswett> Like... you should see the stuff I've done with Excel.
01:14:21 <hppavilion[1]> (A "Full-scale game" being something that requires an engine to be even considered)
01:14:33 <tswett> Arguably, Excel actually isn't very good at doing what I'm doing.
01:14:33 <hppavilion[1]> Excluding, of course, educational games (that is, games developed to learn programming)
01:14:38 <tswett> But everything else is even worse.
01:14:38 <izabera> `` echo 'key=${1,,}; shift; cat <<< "${*,,}" > "wisdom/$key" && echo "Learned «$key»"' > le/nn
01:14:40 <HackEgo> No output.
01:14:59 <oerjan> now pizza
01:15:14 <hppavilion[1]> `cat tmflry/random number
01:15:15 <HackEgo> echo $RANDOM
01:15:16 <zzo38> Then you must learn Famicom programming.
01:15:18 <izabera> ` le/nn thisisatest this is a test
01:15:18 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
01:15:23 <izabera> `` le/nn thisisatest this is a test
01:15:24 <HackEgo> ​/hackenv/bin/`: line 4: le/nn: Permission denied
01:15:27 <hppavilion[1]> `call/cc
01:15:28 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/call/cc: No such file or directory
01:15:34 <izabera> `` chmod +x le/nn
01:15:37 <HackEgo> No output.
01:15:38 <izabera> ` le/nn thisisatest this is a test
01:15:39 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
01:15:41 <hppavilion[1]> `mk call/cc
01:15:42 <HackEgo> usage: mk[x] file//contents
01:15:44 <izabera> for christ sake
01:15:49 <izabera> `` le/nn thisisatest this is a test
01:15:51 <HackEgo> Learned «thisisatest»
01:15:54 <hppavilion[1]> `mkdir call
01:15:54 <izabera> `? thisisatest
01:15:55 <HackEgo> No output.
01:15:55 <HackEgo> this is a test
01:16:07 <izabera> `` rm wisdom/thisisatest
01:16:10 <HackEgo> No output.
01:16:14 <hppavilion[1]> `touch call/cc
01:16:14 <zzo38> I made up the game "Attribute Zone" which is the puzzle game based on the limitations of Famicom PPU; these limitations are the important part of the game
01:16:17 <HackEgo> No output.
01:16:27 <izabera> now everyone can use le/nn instead of le/rn
01:16:27 <hppavilion[1]> echo "echo $RANDOM" > call/cc
01:16:31 <hppavilion[1]> Wait, no
01:16:32 <izabera> much better interface
01:16:34 <hppavilion[1]> `call/cc
01:16:35 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/call/cc: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/call/cc: cannot execute: Permission denied
01:16:43 <hppavilion[1]> I'm an idiot
01:16:47 <hppavilion[1]> Forgot to put it in bin
01:17:06 <hppavilion[1]> `ls call
01:17:08 <HackEgo> cc
01:17:12 <izabera> you don't have to put it in bin
01:17:17 <izabera> just make it executable
01:17:27 <hppavilion[1]> `rm call
01:17:28 <HackEgo> rm: cannot remove `call': Is a directory
01:17:36 <earenndil> `rm -rf call
01:17:37 <HackEgo> rm: invalid option -- ' ' \ Try `rm --help' for more information.
01:17:48 <earenndil> `rm call/*
01:17:49 <HackEgo> rm: cannot remove `call/*': No such file or directory
01:17:51 <hppavilion[1]> earenndil: Thank you, I was just about to try that, then remembered I'm an idiot
01:18:00 <hppavilion[1]> And it would probably delete the entirety of hackbot
01:18:19 <earenndil> oh, true
01:18:21 * earenndil looks abashed
01:18:24 <hppavilion[1]> Oh, nvm
01:18:49 <hppavilion[1]> `rm -r call
01:18:50 <HackEgo> rm: invalid option -- ' ' \ Try `rm --help' for more information.
01:19:00 <hppavilion[1]> `rm call -rf
01:19:01 <HackEgo> rm: cannot remove `call -rf': No such file or directory
01:19:08 <earenndil> `rmdir call
01:19:08 <HackEgo> rmdir: failed to remove `call': Directory not empty
01:19:15 <hppavilion[1]> `rm call/cc
01:19:15 <earenndil> `ls call
01:19:18 <HackEgo> cc
01:19:19 <HackEgo> No output.
01:19:21 <hppavilion[1]> `rmdir call
01:19:21 <HackEgo> No output.
01:19:27 <hppavilion[1]> `ls call
01:19:28 <HackEgo> ls: cannot access call: No such file or directory
01:19:38 <hppavilion[1]> `mkdir bin/call
01:19:39 <HackEgo> No output.
01:19:49 <hppavilion[1]> echo "echo $RANDOM" > bin/call/cc
01:20:12 <hppavilion[1]> `call/cc
01:20:13 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/call/cc: No such file or directory
01:20:29 <hppavilion[1]> `touch bin/call/cc
01:20:31 <HackEgo> No output.
01:20:35 <hppavilion[1]> echo "echo $RANDOM" > bin/call/cc
01:20:52 <hppavilion[1]> `call/cc
01:20:53 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/call/cc: No such file or directory
01:21:01 <hppavilion[1]> I give up
01:21:06 <hppavilion[1]> I'll leave it to someone smart
01:21:17 <earenndil> why are you trying to create bin/call/cc?
01:21:26 <earenndil> what will that do?
01:21:40 <hppavilion[1]> earenndil: Well... um...
01:21:43 <hppavilion[1]> `ls bin
01:21:44 <HackEgo> ​` \ `` \ ^.^ \ ̊ \ \ ! \ ? \ ¿ \ ' \ @ \ * \ ؟ \ \ \ \ 1492 \ 2014 \ 2015 \ 2016 \ 2017 \ 5quote \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ allquotes \ analogy \ anonlog \ append \ arienvenido \ as86 \ aseen \ asm \ autowelcome \ benvenuto \ bf \ bienvenido \ bienvenue \ blessyou \ bookofeso \ botsnack \ bseen \ bugs \ buttsnack \ ca
01:21:54 <hppavilion[1]> That's where all the other ` commands are
01:22:23 <earenndil> okay?
01:22:31 <hppavilion[1]> `@
01:22:32 <HackEgo> No output.
01:22:42 <hppavilion[1]> earenndil: So I assumed that would work...
01:22:52 <earenndil> work to do what
01:22:56 <oerjan> <Yurume> I think it does not have a way to identify the nick <-- you can do that with a manual privmsg to nickserv
01:23:04 <hppavilion[1]> earenndil: Make it so I could `call/cc
01:23:11 <hppavilion[1]> `ls bin/le
01:23:13 <HackEgo> ls: cannot access bin/le: No such file or directory
01:23:24 <hppavilion[1]> `ls le
01:23:25 <Yurume> oerjan : well, no privmsg to nick
01:23:25 <HackEgo> nn \ rn \ rn_append
01:23:29 <hppavilion[1]> Oh
01:23:31 <Yurume> that is a kind of problem
01:24:21 <hppavilion[1]> earenndil: See, I haven't gotten Linux working on my laptop yet, so I don't know the way bash works very well xD
01:24:40 <hppavilion[1]> `which le
01:24:41 <HackEgo> No output.
01:24:42 -!- heroux has quit (Ping timeout: 250 seconds).
01:24:44 <hppavilion[1]> `which le/rn
01:24:45 <HackEgo> le/rn
01:24:50 <hppavilion[1]> `where le/rn
01:24:51 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: where: not found
01:24:59 <hppavilion[1]> `pwd
01:25:00 <HackEgo> ​/hackenv
01:25:17 <hppavilion[1]> `rm bin/call/cc
01:25:19 <HackEgo> No output.
01:25:24 <hppavilion[1]> `rmdir bin/call
01:25:25 <HackEgo> No output.
01:25:32 <hppavilion[1]> My joke wasn't very good anyway...
01:25:35 <hppavilion[1]> `ls bin
01:25:36 <HackEgo> ​` \ `` \ ^.^ \ ̊ \ \ ! \ ? \ ¿ \ ' \ @ \ * \ ؟ \ \ \ \ 1492 \ 2014 \ 2015 \ 2016 \ 2017 \ 5quote \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ allquotes \ analogy \ anonlog \ append \ arienvenido \ as86 \ aseen \ asm \ autowelcome \ benvenuto \ bf \ bienvenido \ bienvenue \ blessyou \ bookofeso \ botsnack \ bseen \ bugs \ buttsnack \ ca
01:25:39 <hppavilion[1]> OK, good
01:25:56 <hppavilion[1]> earenndil: Have a better joke for `call/cc
01:26:04 <hppavilion[1]> `@ Hi
01:26:05 <HackEgo> No output.
01:26:09 <hppavilion[1]> `*
01:26:10 <HackEgo> wälcåmä
01:26:14 <hppavilion[1]> `*
01:26:15 <HackEgo> hello-world-in-any-language
01:26:26 <hppavilion[1]> `hello-world-in-any-language C
01:26:27 <HackEgo> Hello, World
01:26:35 <hppavilion[1]> Ah, I do quite like that one
01:26:43 -!- groteworld has quit (Quit: ZZZzzz…).
01:26:50 <earenndil> `hello-world-in-any-language bf
01:26:51 <HackEgo> Hello, World
01:27:09 <hppavilion[1]> earenndil: It's really just "echo 'Hello, World'"
01:27:15 <oerjan> <hppavilion[1]> oerjan: Wait, it does <-- i should think so, since i implemented that.
01:27:28 <shachaf> oerjan: you should think so, but do you?
01:27:46 <hppavilion[1]> `hello-world-in-any-language Compute
01:27:47 <HackEgo> Hello, World
01:27:48 <hppavilion[1]> earenndil: See
01:28:20 <izabera> why do nopl and nopw take arguments?
01:28:40 <earenndil> no, no, it's generating code in whatever language you specify to print out "Hello, world" and then executing said code
01:29:17 -!- earenndil has changed nick to Elronnd.
01:29:23 <hppavilion[1]> earenndil: http://esolangs.org/wiki/Compute hth
01:29:29 <hppavilion[1]> Oh, you're Elronnd xD
01:29:35 <hppavilion[1]> I was wondering if you were new
01:30:03 <Elronnd> I'm also Aah, Ellbereth, Gilthonniel, and realdonaldtrump
01:30:05 <hppavilion[1]> `hello-world-in-any-language Spanish
01:30:06 <HackEgo> Hello, World
01:30:28 <hppavilion[1]> (Maybe we should special case Spanish...)
01:30:51 -!- andrew has joined.
01:31:15 <Elronnd> `cat bin/hello-world-in-any-language
01:31:16 <HackEgo> echo Hello, World
01:31:38 -!- heroux has joined.
01:31:45 <hppavilion[1]> Elronnd: Anybody who puts "real" in front of their handle to clarify that they aren't a parody will, from now on, make me think of mysql_real_escape from PHP
01:32:27 <hppavilion[1]> (I don't do PHP, but I know about it)
01:33:26 <Elronnd> `echo 'if [ $1 -eq "Spanish" ]; then echo "¡Hola, mundo!"; else echo "Hello, world!"; fi > bin/hello-world-in-any-language
01:33:28 <HackEgo> ​'if [ $1 -eq "Spanish" ]; then echo "¡Hola, mundo!"; else echo "Hello, world!"; fi > bin/hello-world-in-any-language
01:33:37 <Elronnd> `echo 'if [ $1 -eq "Spanish" ]; then echo "¡Hola, mundo!"; else echo "Hello, world!"; fi' > bin/hello-world-in-any-language
01:33:37 <HackEgo> ​'if [ $1 -eq "Spanish" ]; then echo "¡Hola, mundo!"; else echo "Hello, world!"; fi' > bin/hello-world-in-any-language
01:34:17 <hppavilion[1]> Elronnd: Switch would be better for the purpose of extension. If bash has switch.
01:34:33 <Elronnd> Wait, this is bash, not sh?
01:34:44 <Elronnd> that aside, sh suports case statements as well
01:34:46 <hppavilion[1]> Elronnd: Maybe it is sh?
01:34:59 <hppavilion[1]> `hello-world-in-any-language TheLanguageOfLove
01:34:59 <HackEgo> Hello, World
01:35:04 <hppavilion[1]> `hello-world-in-any-language Spanish
01:35:05 <HackEgo> Hello, World
01:35:14 <Elronnd> but anyway, how can I modify bin/hello-world-in-any-language
01:35:17 <hppavilion[1]> Elronnd: FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIL
01:35:27 <hppavilion[1]> `cat bin/hello-world-in-any-language
01:35:28 <HackEgo> echo Hello, World
01:35:36 <Elronnd> hppavilion[1]: Did you what happened above? it didn't actually get modified
01:35:57 <hppavilion[1]> Elronnd: Not exactly sure
01:36:01 <hppavilion[1]> `hello-world-in-any-language test
01:36:02 <HackEgo> Hello, World
01:36:05 <hppavilion[1]> `hello-world-in-any-language Spanish
01:36:05 <HackEgo> Hello, World
01:36:15 <hppavilion[1]> Elronnd: Yeah, you spelled it right
01:36:21 <hppavilion[1]> Elronnd: OH!
01:36:23 <Elronnd> `echo "echo Hello, test" > bin/hello-world-in-any-language
01:36:24 <HackEgo> ​"echo Hello, test" > bin/hello-world-in-any-language
01:36:24 <hppavilion[1]> You forgot to ``
01:36:35 <Elronnd> ``echo 'if [ $1 -eq "Spanish" ]; then echo "¡Hola, mundo!"; else echo "Hello, world!"; fi' > bin/hello-world-in-any-language
01:36:36 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `echo: not found
01:36:41 <hppavilion[1]> `` echo 'if [ $1 -eq "Spanish" ]; then echo "¡Hola, mundo!"; else echo "Hello, world!"; fi' > bin/hello-world-in-any-language
01:36:43 <HackEgo> No output.
01:36:52 <hppavilion[1]> `hello-world-in-any-language Spanish
01:36:52 <HackEgo> ​/hackenv/bin/hello-world-in-any-language: line 1: [: Spanish: integer expression expected \ Hello, world!
01:36:53 <Elronnd> `hello-world-in-any-language Spanish
01:36:54 <HackEgo> ​/hackenv/bin/hello-world-in-any-language: line 1: [: Spanish: integer expression expected \ Hello, world!
01:37:03 * Elronnd sighs
01:37:25 <hppavilion[1]> Elronnd: I think we should probably create a directory of hello worlds, and make it just default to "echo Hello, World!"
01:37:30 <hppavilion[1]> Elronnd: For the purpose of jokes
01:37:40 <Elronnd> No no, I'll set up the case thing
01:38:14 <hppavilion[1]> Elronnd: case is less extensible
01:38:29 <hppavilion[1]> Elronnd: Honestly, a directory would make more sense.
01:38:32 <Elronnd> what? You just said it would be *more* extensible
01:38:35 <Elronnd> Fine
01:38:45 <hppavilion[1]> Elronnd: Yes, but it would be less extensible than a directory
01:38:52 <Elronnd> `mkdir bin/hello-world-in-any-language
01:38:52 <HackEgo> mkdir: cannot create directory `bin/hello-world-in-any-language': File exists
01:38:53 <hppavilion[1]> More extensible than IF, less than directories
01:39:00 <hppavilion[1]> Elronnd: Just call the bin hw
01:39:04 <hppavilion[1]> `cat bin/hw
01:39:05 <HackEgo> cat: bin/hw: No such file or directory
01:39:07 <Elronnd> `rm bin/hello-world-in-any-language
01:39:12 <HackEgo> No output.
01:39:14 <hppavilion[1]> Elronnd: NO!
01:39:15 <Elronnd> `mkdir bin/hello-world-in-any-language
01:39:16 <HackEgo> No output.
01:39:29 <Elronnd> hppavilion[1]: what?
01:39:32 <hppavilion[1]> Elronnd: Here's what we should do
01:39:48 <Elronnd> Oh, I see
01:39:53 <Elronnd> make a directory *above* bin
01:40:10 <hppavilion[1]> Elronnd: bin/hello-world-in-any-language should be the command, /hw is the language fiels
01:40:11 <shachaf> I think you should scrap the whole thing.
01:40:12 <hppavilion[1]> *files
01:40:13 <Elronnd> and then make hello-world... cat out ../hello_world_languages/$1
01:40:20 <hppavilion[1]> shachaf: We probably should
01:40:33 <hppavilion[1]> Elronnd: BUT it should default to just "Hello, World!"
01:40:34 * Elronnd shrugs
01:40:56 <hppavilion[1]> `mkdir hw
01:40:57 <HackEgo> No output.
01:41:23 <hppavilion[1]> `touch bin/hello-world-in-any-language
01:41:24 <HackEgo> No output.
01:41:57 <hppavilion[1]> echo "cat ../hw/$1 | echo" > bin/hello-world-in-any-language
01:42:11 <oerjan> <hppavilion[1]> `mkdir call <-- you don't need that for `mk any longer
01:42:17 <hppavilion[1]> oerjan: Oh?
01:42:23 <Elronnd> `` echo 'if [ -z $1 ]; then echo "Hello, world!"; else cat /hw/$1; fi '
01:42:25 <hppavilion[1]> oerjan: Ah, right, you made it better
01:42:51 <hppavilion[1]> Elronnd: Forgot to redirect hth
01:43:10 <HackEgo> if [ -z $1 ]; then echo "Hello, world!"; else cat /hw/$1; fi
01:43:14 <hppavilion[1]> `` echo 'if [ -z $1 ]; then echo "Hello, world!"; else cat /hw/$1; fi ' > bin/hello-world-in-any-language
01:43:15 <HackEgo> ​/hackenv/bin/`: line 4: bin/hello-world-in-any-language: Is a directory
01:43:32 <hppavilion[1]> `rmdir bin/hello-world-in-any-language
01:43:33 <HackEgo> No output.
01:43:40 <hppavilion[1]> `` echo 'if [ -z $1 ]; then echo "Hello, world!"; else cat /hw/$1; fi ' > bin/hello-world-in-any-language
01:43:42 <HackEgo> No output.
01:43:49 <Elronnd> `hello-world-in-any-language
01:43:49 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/hello-world-in-any-language: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/hello-world-in-any-language: cannot execute: Permission denied
01:43:51 <hppavilion[1]> `hello-world-in-any-language
01:43:51 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/hello-world-in-any-language: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/hello-world-in-any-language: cannot execute: Permission denied
01:43:56 <hppavilion[1]> Elronnd: I was expecting that to happen
01:44:09 <hppavilion[1]> Elronnd: I think we need to copy privledges or something
01:44:37 <Elronnd> `ls -l bin/hello-world-in-any-language
01:44:38 <HackEgo> ls: invalid option -- ' ' \ Try `ls --help' for more information.
01:44:38 <shachaf> I think you should just scrap it.
01:44:48 <Elronnd> shachaf: nooooo
01:45:11 <Elronnd> nOO00oo..oo00OO00oo..ooo
01:45:42 <Elronnd> nO0o.o0O0o.o0O0o.o0O
01:45:55 <hppavilion[1]> Elronnd: `nooo?
01:45:57 <hppavilion[1]> `nooo
01:45:58 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: nooo: not found
01:46:18 <hppavilion[1]> `chmod 7 bin/hello-world-in-any-language
01:46:19 <HackEgo> chmod: missing operand after `7 bin/hello-world-in-any-language' \ Try `chmod --help' for more information.
01:46:24 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:46:32 <Elronnd> `chmod 755 bin/hello-world-in-any-language
01:46:33 <HackEgo> chmod: missing operand after `755 bin/hello-world-in-any-language' \ Try `chmod --help' for more information.
01:46:51 <Elronnd> hmmm
01:47:02 <oerjan> <hppavilion[1]> Forgot to put it in bin <-- that wasn't the reason, and you would have saved a lot of work if you'd actually read what others were saying hth
01:47:10 <hppavilion[1]> oerjan: Oh?
01:47:21 <oerjan> (hi from backscroll)
01:47:32 <Elronnd> `sh -c "chmod 755 bin/hello-world-in-any-language"
01:47:32 <HackEgo> sh: 0: Illegal option -
01:47:35 <hppavilion[1]> oerjan: The joke was stupid anyway
01:47:47 <hppavilion[1]> Elronnd: Seriously?
01:48:38 <oerjan> <Yurume> oerjan : well, no privmsg to nick <-- are you sure your client is legal
01:48:52 <hppavilion[1]> oerjan: I apologize for what you're about to find when you reach Elronnd and my shennanigans
01:49:18 <Elronnd> ^
01:49:54 -!- boily has joined.
01:49:59 <Yurume> oerjan : the app simply does not have an interface for that, or did you mean the legality of protocol?
01:50:21 <hppavilion[1]> `chmod bin/hello-world-in-any-language 755
01:50:22 <HackEgo> chmod: missing operand after `bin/hello-world-in-any-language 755' \ Try `chmod --help' for more information.
01:50:28 <hppavilion[1]> `chmod --help
01:50:28 <HackEgo> Usage: chmod [OPTION]... MODE[,MODE]... FILE... \ or: chmod [OPTION]... OCTAL-MODE FILE... \ or: chmod [OPTION]... --reference=RFILE FILE... \ Change the mode of each FILE to MODE. \ \ -c, --changes like verbose but report only when a change is made \ --no-preserve-root do not treat `/' specially (the default) \ --pr
01:50:52 <Elronnd> hppavilion[1]: the problem is that *HackEgo* is combining "755" and "bin/hello-world-in-any-language" into a single argument to chmod
01:50:59 <hppavilion[1]> Elronnd: OH!
01:51:13 <hppavilion[1]> `` chmod 755 bin/hello-world-in-any-language
01:51:17 <HackEgo> No output.
01:51:22 <Elronnd> OH!
01:51:27 <Elronnd> `hello-world-in-any-language
01:51:28 <HackEgo> Hello, world!
01:51:31 <hppavilion[1]> `hello-world-in-any-language C
01:51:31 <HackEgo> cat: /hw/C: No such file or directory
01:51:48 <hppavilion[1]> Elronnd: Close enough
01:52:11 -!- groteworld has joined.
01:52:14 <Elronnd> `` echo '#include <stdio.h> int main(void) { printf("Hello, world!"); } > hw/C
01:52:15 <hppavilion[1]> `` echo "Hello, Segfault!" > hw/C
01:52:16 <HackEgo> ​/hackenv/bin/`: eval: line 4: unexpected EOF while looking for matching `'' \ /hackenv/bin/`: eval: line 5: syntax error: unexpected end of file
01:52:17 <oerjan> <shachaf> oerjan: you should think so, but do you? <-- occasionally.
01:52:20 <HackEgo> No output.
01:52:23 <hppavilion[1]> Elronnd: Whoops
01:52:55 <hppavilion[1]> Elronnd: We don't want to give the HW code (there's a whole Github repo for nothing but that)
01:53:07 <Elronnd> where would that be?
01:53:11 <hppavilion[1]> Elronnd: We just want to make jokes about what programs tend to do
01:53:27 <hppavilion[1]> Elronnd: Just duck duck go "hello world <langname>" and it'll autogive you the result
01:53:29 <Elronnd> ohhh
01:53:30 -!- groteworld has quit (Client Quit).
01:53:45 <Elronnd> `` echo "SyntaxERR" > /hw/python
01:53:49 <hppavilion[1]> `hello-world-in-any-language C
01:53:49 <HackEgo> ​/hackenv/bin/`: line 4: /hw/python: No such file or directory
01:53:50 <HackEgo> cat: /hw/C: No such file or directory
01:53:57 <hppavilion[1]> `ls hw
01:53:59 <HackEgo> C
01:54:04 <hppavilion[1]> Weird
01:54:13 <Elronnd> `touch hw/python
01:54:17 <HackEgo> No output.
01:54:23 <Elronnd> `` echo "SyntaxERR" > /hw/python
01:54:25 <HackEgo> ​/hackenv/bin/`: line 4: /hw/python: No such file or directory
01:54:29 <Elronnd> `` echo "SyntaxERR" > hw/python
01:54:32 <HackEgo> No output.
01:54:43 <Elronnd> `hello-world-in-any-language python
01:54:44 <HackEgo> cat: /hw/python: No such file or directory
01:54:49 <hppavilion[1]> Elronnd: That's weird
01:55:02 <hppavilion[1]> `cat bin/hello-world-in-any-language
01:55:03 <HackEgo> if [ -z $1 ]; then echo "Hello, world!"; else cat /hw/$1; fi
01:55:05 <pikhq_> I personally kinda prefer the (also valid) headerless C "hello world": int main() { int puts(const char*);puts("Hello, world!"); }
01:55:11 <hppavilion[1]> OH!
01:55:12 <Elronnd> sed 's/\/hw/hw' bin/hello-world-in-any-language
01:55:26 <Elronnd> `` sed 's/\/hw/hw' bin/hello-world-in-any-language
01:55:28 <HackEgo> sed: -e expression #1, char 9: unterminated `s' command
01:55:31 <hppavilion[1]> Elronnd: The issue is you aren't .. ing
01:55:37 <Elronnd> Yes
01:55:40 <Elronnd> I got that
01:55:43 <hppavilion[1]> Elronnd: Also, you need -i for sed to write to the file
01:56:06 <hppavilion[1]> Elronnd: Are you fixing it or should I?
01:56:16 <Elronnd> you can do it
01:56:51 <hppavilion[1]> `` sed -i 's/\/hw/..\/hw/' bin/hello-world-in-any-language
01:56:55 <HackEgo> No output.
01:57:02 <hppavilion[1]> `hello-world-in-any-language python
01:57:03 <HackEgo> cat: ../hw/python: No such file or directory
01:57:04 * izabera didn't know that you can declare functions in other functions in c
01:57:11 <hppavilion[1]> izabera: WHAT!?
01:57:15 <hppavilion[1]> YOU CAN DO THAT!?
01:57:19 <hppavilion[1]> ...
01:57:19 <hppavilion[1]> Dammit
01:57:21 <izabera> pikhq_ did it
01:57:39 <hppavilion[1]> 99+2i bottles of beer on the wall
01:57:41 <boily> welcome to C. you can do anything in C. the only limit is you.
01:57:49 <Elronnd> hppavilion[1]: I think that paths are relevant to the directory *you* are in, not that the program is in
01:57:50 <hppavilion[1]> boily: Which is a pretty severe limit.
01:57:55 <hppavilion[1]> Elronnd: Oh
01:58:02 <boily> hppavellon[1]. please refrain from imaginarifying bottles twh
01:58:16 <Elronnd> `` sed -i 's/..\///g' bin/hello-world-in-any-language
01:58:17 <hppavilion[1]> Elronnd: We could just have "pwd" in it as a test
01:58:20 <HackEgo> No output.
01:58:28 <Elronnd> `hello-world-in-any-language python
01:58:30 <HackEgo> cat: python: No such file or directory
01:58:36 <shachaf> what's the idea of all this?
01:58:44 <Elronnd> `cat bin/hello-world-in-any-language
01:58:45 <HackEgo> if [ -z $1 ]; then echo "Hello, world!"; else cat $1; fi
01:58:45 <shachaf> is it meant to be funny or what?
01:58:45 <hppavilion[1]> shachaf: We're being idiots
01:59:04 * Elronnd isn't an idiot
01:59:08 <Elronnd> ^ is what an idiot says
01:59:17 <Elronnd> but because I didn't say that, I'm better than other people
01:59:21 <Elronnd> I'm *not* an idiot xD
01:59:22 <hppavilion[1]> `` sed 's/$1/hw\/$1' bin/hello-world-in-any-language
01:59:23 <HackEgo> sed: -e expression #1, char 11: unterminated `s' command
01:59:28 <hppavilion[1]> `` sed 's/$1/hw\/$1/' bin/hello-world-in-any-language
01:59:29 <HackEgo> if [ -z hw/$1 ]; then echo "Hello, world!"; else cat $1; fi
01:59:36 <hppavilion[1]> Oh
01:59:37 <hppavilion[1]> Right
01:59:48 <pikhq_> hppavilion[1]: You are only allowed to declare a standard function without including the header if you can declare it without using types from any standard headers.
01:59:51 <hppavilion[1]> (FTR, I'm not -i ing intentionally, so I can make sure I got it right)
01:59:56 <Elronnd> I think we should just start over instead of messing with sed
01:59:58 <hppavilion[1]> `` sed 's/\$1/hw\/\$1/' bin/hello-world-in-any-language
01:59:59 <HackEgo> if [ -z hw/$1 ]; then echo "Hello, world!"; else cat $1; fi
02:00:01 <pikhq_> ... And yes, you can do it from function scope, not just global scope.
02:00:02 <oerjan> <shachaf> I think you should scrap the whole thing. <-- i'm inclined to agree.
02:00:08 <oerjan> but then, i'm grumpy.
02:00:23 <Elronnd> `` echo 'if [ -z $1 ]; then echo "Hello, world!"; else cat hw/$1; fi' > bin/hello-world-in-any-language
02:00:24 <shachaf> i'm also grumpy
02:00:26 <HackEgo> No output.
02:00:29 <izabera> pikhq_: but why?
02:00:34 <hppavilion[1]> `hello-world-in-any-language C
02:00:35 <HackEgo> Hello, Segfault!
02:00:37 <shachaf> but i was less grumpy before the whole thing starter
02:00:37 <hppavilion[1]> YES!
02:00:39 <shachaf> started
02:00:40 <Elronnd> `hello-world-in-any-language python
02:00:42 <HackEgo> SyntaxERR
02:00:42 <hppavilion[1]> YESYESYESYESYESYES
02:00:47 <izabera> the function you declare isn't scoped
02:00:50 <Elronnd> YAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYAYA
02:00:57 <hppavilion[1]> `hello-world-in-any-language thislanguagedoesnotexist
02:00:58 <HackEgo> cat: hw/thislanguagedoesnotexist: No such file or directory
02:01:02 <hppavilion[1]> NONONONONONONONONO
02:01:08 <Elronnd> WE CAN FIX THAT
02:01:13 <hppavilion[1]> Elronnd: HOW
02:01:15 <pikhq_> izabera: I believe the declaration actually is scoped.
02:01:22 <hppavilion[1]> oerjan: There.
02:01:30 <pikhq_> But anyways, the reason for it is because pre-standard C let you do the same.
02:01:42 <hppavilion[1]> Elronnd: Maybe we should have a `mood command...
02:01:44 <hppavilion[1]> NO
02:01:45 <pikhq_> And ISO C tried to break as little as possible.
02:01:50 <hppavilion[1]> ^ Says everyone else on the channel
02:02:07 <shachaf> hppavilion[1]: if you know that you're making everyone else unhappy, why do you keep doing it?
02:02:19 <Elronnd> `` echo 'if [ -z $1 ]; then echo "Hello, world!"; else if [ -f hw/$1 ]; then cat hw/$1; else echo "Your language does not exist"; fi; fi' > bin/hello-world-in-any-language
02:02:20 <HackEgo> No output.
02:02:26 <hppavilion[1]> shachaf: Because... I'm... um...
02:02:38 <hppavilion[1]> Elronnd: Perhaps we should do this via private messaging HackEgo?
02:02:49 <Elronnd> ...probably
02:03:15 <oerjan> someone should probably have told Elronnd about `mkx at this point.
02:03:21 <hppavilion[1]> Elronnd: That's... um... that makes no sense
02:03:21 <Elronnd> It works!
02:03:29 -!- groteworld has joined.
02:03:30 <Elronnd> what does `mkx do?
02:03:46 <hppavilion[1]> Elronnd: Why do you have auto-echo "Hello, world" AND "Your language does not exist"?
02:03:51 <boily> `relcome groteworld
02:04:00 <HackEgo> groteworld: 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:04:06 <Elronnd> hppavilion[1]: if you don't give it an argument, it says "hello, world"
02:04:14 <hppavilion[1]> Elronnd: OOOOOOOOOOOOOOOH
02:04:27 <izabera> pikhq_: so it's only limiting what you can do
02:04:31 <hppavilion[1]> We should have `gofuckyourself for people who are assholes... Luckily, that never happens.
02:04:54 <hppavilion[1]> Elronnd: Now we should FILL the hw directory
02:04:55 <Elronnd> we should do that though
02:04:59 <Elronnd> YES
02:04:59 <hppavilion[1]> Via privmsg, of course
02:05:37 <oerjan> <hppavilion[1]> oerjan: I apologize for what you're about to find when you reach Elronnd and my shennanigans <-- APOLOGY ACCEPTED. also someone should have explained HackEgo's basic command execution by now.
02:05:50 <hppavilion[1]> oerjan: Yeah, yeah
02:06:32 <boily> @metar CYUL
02:06:32 <lambdabot> CYUL 150100Z 24010KT 15SM FEW240 M20/M28 A3052 RMK CI1 CI TR SLP343
02:06:48 <oerjan> <Yurume> oerjan : the app simply does not have an interface for that, or did you mean the legality of protocol? <-- i mean that there may be an expectation that you can answer private messages, say for example if an op were giving you a warning...
02:06:55 -!- groteworld has quit (Client Quit).
02:06:57 <boily> woot... it's warming up... rejoice...
02:07:21 <Yurume> oerjan : afaik there is none.
02:10:33 * oerjan seems to have got stuck 20 minutes behind the present
02:13:46 <boily> oerjan: you're at least 6 hours in the future or thereabout. I wouldn't worry about a meager twenty minutes.
02:13:50 <oerjan> have you considered that /hw/ and hw/ are not the same thing hth
02:14:31 <boily> one's obviously slashier than the other, but I feel like I'm missing something important...
02:14:38 <hppavilion[1]> oerjan: Yes, we got it working
02:15:12 <Elronnd> `hello-world-in-any-language java
02:15:13 <HackEgo> Memory overflow
02:15:41 <boily> Error in thread '#esoteric' java.lang.NullPointerException
02:17:14 <oerjan> yay you found it out. and i'm _still_ 20 minutes behind.
02:17:22 -!- jaboja has quit (Remote host closed the connection).
02:17:35 <Elronnd> lol
02:17:57 <olsner> oerjan: at this rate you'll never catch up
02:18:03 <Elronnd> You can add entries by adding files to hw/$languagename containing the string you want to print
02:18:08 <Elronnd> `hello-world-in-any-language chef
02:18:09 <HackEgo> Combine the computer and the water in the mixing bowl.
02:18:27 <boily> `hello-world-in-any-language fungot
02:18:28 <fungot> boily: the next item. we were literally taken for madmen, for people who live in the most scandalous silence, without the need for detailed examination of the chemicals in use today and the issues they raise were the subject of peace with us here.
02:18:28 <HackEgo> Your language does not exist
02:18:39 <boily> `hello-world-in-any-language befunge
02:18:40 <HackEgo> Your language does not exist
02:18:44 <boily> beuh.
02:22:53 <Elronnd> has someone written a brainfuck extension that allows for X yet?
02:23:19 <oerjan> <hppavilion[1]> oerjan: There. <-- does that mean you'll slow down enough for me to catch up to the present?
02:23:55 -!- heroux has quit (Ping timeout: 240 seconds).
02:24:00 <shachaf> oerjan: how far behind are you
02:24:28 <hppavilion[1]> Elronnd: X?
02:24:45 <Elronnd> Xorg? Windowing system?
02:24:47 -!- heroux has joined.
02:24:53 <shachaf> oerjan: 🎁
02:27:48 <oerjan> now i'm just 10 minutes behind... watch out
02:28:13 * Elronnd sets his snooze for 10 minutes
02:29:14 <oerjan> <shachaf> oerjan: how far behind are you <-- 5 minutes hth
02:29:39 <oerjan> I AM HERE
02:29:51 <shachaf> oerjan: did you like the present
02:30:06 <oerjan> there's some strange unicode around here
02:30:16 <oerjan> `unidecode 🎁
02:30:23 <HackEgo> U+1F381 WRAPPED PRESENT \ UTF-8: f0 9f 8e 81 UTF-16BE: d83cdf81 Decimal: &#127873; \ 🎁 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals)
02:30:29 <oerjan> ah.
02:30:48 <oerjan> i did not unwrap it as i couldn't see it properly.
02:31:04 <oerjan> ooh, swatter polish
02:33:44 <boily> swatter polish? like paste you rub on your swatter to make it shine and go faster?
02:34:31 <oerjan> sure, subsonic swatters are _so_ 2015.
02:34:33 <shachaf> boily: if you're not careful oerjan will use his swatter canadian on you
02:35:04 <oerjan> `` ls hw/*ask*
02:35:07 <HackEgo> ls: cannot access hw/*ask*: No such file or directory
02:36:59 * boily hides from oerjan's hypersonic swatter
02:37:00 <shachaf> i'm so confusing that oerjan doesn't even know which swatter to use on me
02:37:15 -!- boily has quit (Quit: CANNED CHICKEN).
02:37:27 <zzo38> I am trying to write a JavaScript program that can communicate with Xlib
02:40:39 <Elronnd> zzo38: nodejs or browser?
02:41:02 <Elronnd> `ls hw
02:41:03 <zzo38> For nodejs
02:41:04 <HackEgo> brainfuck \ c \ chef \ java \ python \ shakespeare
02:42:02 <zzo38> Communicating with Xlib would be silly to do in the browser I expect (you can use XUL and/or HTML instead in such a case)
02:43:09 <Elronnd> yeah, just checking you weren't trying to do something ludicrous
02:43:26 <Elronnd> would it even be possible to do it from the browseR?
02:43:29 <Elronnd> s/R/r
02:44:05 <zzo38> Possibly in a privileged context (not a webpage), although I don't know for sure
02:50:54 <zzo38> Since I could not figure out how to properly make up a plugin, I decide instead to use a program written in C that it is used by pipe with the JavaScript program; it may also later to implement things other than Xlib also in the same C code and JavaScript module that would call it, such as music, and possibly partially SQLite, possibly also a few others
02:52:21 <shachaf> zzo38: If you want to use a pipe you could connect to the X server directly and communicate using the X protocol.
02:53:56 <shachaf> zzo38: Here's a library: https://github.com/sidorares/node-x11
02:54:40 <zzo38> shachaf: I am aware of that, but I would find it easier to just use Xlib. That node-x11 package seems a bit incomplete and some documentation missing too as far as I can tell; I have looked at it. Anyways I do intend to later add music as well, so it isn't only Xlib anyways
02:55:28 <zzo38> I don't even know if that package supports X Resource Manager functions?
02:59:25 <zzo38> I can then make Athena-like widgets on top of that, probably the widgets would be written in JavaScript, although I may add a few functions in the C code to help with such thing too
03:07:50 <oerjan> @tell Vorpal <Vorpal> ais523: what about a pure call stack (just calls on it) and one data stack? That is still TC then? <-- underload without a and * can easily be implemented that way, i think, since you don't get anything on the call stack that's not just the remainder of something in the original program.
03:07:50 <lambdabot> Consider it noted.
03:08:10 <ais523> oerjan: I made that point too
03:08:35 <ais523> @tell Vorpal aimake doesn't do cross compilation yet
03:08:35 <lambdabot> Consider it noted.
03:09:00 <ais523> @tell Vorpal although the fix would probably involve separate BUILDOS and HOSTOS
03:09:00 <lambdabot> Consider it noted.
03:09:05 <oerjan> ais523: you mentioned underload without a and *, but not that it had a pure call stack.
03:09:11 <oerjan> that i've seen yet.
03:09:31 <ais523> I thought I mentioned that too (that you couldn't put anything on the call stack that wasn't in the original program, so that each call stack element had finitely many options)
03:10:04 <oerjan> yes, you said the bits, but you said them before Vorpal asked that question so i assume it wasn't an obvious deduction
03:11:07 -!- jaboja has joined.
03:11:46 <oerjan> @tell Vorpal in other words, what ais523 mentioned counts as "pure call stack" imo
03:11:46 <lambdabot> Consider it noted.
03:15:26 <oerjan> @tell Vorpal also iirc the right call stack in my TM/minsky constructions contains only ! and ^ commands, nothing nested.
03:15:26 <lambdabot> Consider it noted.
03:21:05 <oerjan> <ais523> subtle cough is sub-TC but it can't be far off <-- i thought about unlambda minimalization a bit, you need at least one of s and c for non-halting. i haven't found any TC subsets without s and k yet, though.
03:21:39 <ais523> and if you have s and k you don't need anything else
03:21:44 <oerjan> right
03:22:05 <ais523> my first thought was c and i, I don't know how close that is
03:22:24 <oerjan> adding i gives you nothing but itself
03:22:36 <oerjan> also v doesn't help.
03:22:55 <ais523> if you have c, v has the /possibility/ of helping
03:23:03 <ais523> without it it's totally useless :-D
03:23:31 <oerjan> yes, but it doesn't, i checked c+i+v and i'm not sure if i finished k as well.
03:23:35 -!- heroux has quit (Ping timeout: 264 seconds).
03:23:46 -!- heroux has joined.
03:23:59 <oerjan> since i was most interested in excluding s
03:24:06 -!- lambda-11235 has joined.
03:24:46 <oerjan> ais523: v is not actually _totally_ useless without c. you can program with e and CPS.
03:24:55 <oerjan> and i think the result is BF-complete
03:25:15 <ais523> e?
03:25:26 <oerjan> (e needed only to halt the program from your deeply nested computation)
03:25:35 <oerjan> e is the "halt program" function
03:25:38 <lambda-11235> How would you read one character and print it in unlambda?
03:25:55 <ais523> lambda-11235: unlambda has a specific command for doing basically that, which is cheating really
03:25:55 <oerjan> hm i think i checked that e doesn't help with c+i+v as well.
03:26:13 <ais523> without using it, you need to read input and check against all possible ASCII characters
03:26:22 <oerjan> @unlambda ``@|iTest
03:26:22 <lambdabot> T
03:26:29 <oerjan> lambda-11235: ^
03:29:37 <oerjan> yes, when i wrote the unlambda in unlambda interpreter, i needed a full character table for implementing ?x but i could use | to implement .x
03:30:38 <ais523> can you ? and | the same input character?
03:30:51 <ais523> that would seem useful for, say, Underload-in-Unlambda
03:30:59 <hppavilion[1]> What happens if you replace the call stack with...
03:31:00 <hppavilion[1]> Hm...
03:31:11 <oerjan> (which incidentally revealed a bug in some of the interpreters such as the distribution C one, they don't distinguish 255 from EOF)
03:31:15 <hppavilion[1]> A graph?
03:31:34 <oerjan> ais523: yes, that should be possible.
03:32:26 <ais523> oerjan: is that a failure in reading in the original program, or something that happens later?
03:32:27 <oerjan> hppavilion[1]: with enough call/cc use, you nearly have that already.
03:32:39 <hppavilion[1]> oerjan: Oh yeah...
03:32:43 <hppavilion[1]> oerjan: How about a hypergraph?
03:33:01 <hppavilion[1]> Does that only work with call/cc-h?
03:33:13 <oerjan> ais523: the EOF test compares the read character to -1 but it's stored in a char...
03:33:20 <hppavilion[1]> lambda-11235: Welcome, I suppose
03:33:29 <ais523> oerjan: easy mistake
03:33:34 <oerjan> hppavilion[1]: heck if i know
03:33:37 <ais523> and theoretically, there could be a C interp where that works
03:33:44 <ais523> although it'll fail on most
03:33:44 <oerjan> yeah
03:33:45 <hppavilion[1]> Elronnd: Ah, Xorg?
03:34:06 <hppavilion[1]> We should make hyper call/cc
03:35:27 <hppavilion[1]> Elronnd: So, GUI4BF basically?
03:35:56 <Elronnd> Yes
03:36:34 <hppavilion[1]> Elronnd: Hm...
03:36:41 <hppavilion[1]> Elronnd: How, precisely, does Xorg work?
03:36:50 <oerjan> hppavilion[1]: there are delimited continuations, but i have only a vague idea about them.
03:36:51 <hppavilion[1]> Elronnd: Is it syscall/register stuff, or something higher
03:36:58 <FireFly> poorly
03:37:11 <hppavilion[1]> oerjan: That doesn't sound hypergraphic
03:37:14 <Elronnd> a program will send signals to the X server which will in turn draw things on the screen
03:37:23 <Elronnd> I'm thinking a command to give the character on the current cell to the X server instead of to stdout
03:37:27 <oerjan> hppavilion[1]: well i don't know enough about them to prove they aren't :P
03:37:50 <oerjan> i know they can supposedly implement mutable state all by themselves
03:38:29 <zzo38> I have written a few C programs that use Xlib, one is to display a PNG file (it is much faster than ImageMagick) and other one is to make up a menu for window operations (including delete window, the process ID, and signals)
03:38:29 <hppavilion[1]> Elronnd: You could try something more like PSOX, but I would recommend a complete new set of features; perhaps pbrain with special procedures?
03:38:35 <FireFly> Elronnd: hm, if all you want is colour output, maybe just have . write to the (VGA?) framebuffer and advance a pointer, cyclically
03:38:49 <hppavilion[1]> Elronnd: I did have an idea for libraries with BF with pbrain-style functions
03:39:10 <oerjan> and also that they're enough to make monads in an imperative language
03:39:14 <FireFly> that way you could theoretically render something complex like text, but it'd be awful
03:39:26 <oerjan> (without extra syntax)
03:39:40 <hppavilion[1]> You use the |<libname> full-line command to import a library, which uses the value in the current cell and defines the functions as that value+<function #>
03:39:45 <Elronnd> FireFly: you mean write ANSI colour codes?
03:40:40 <FireFly> no, I mean like, you'd write the red channel for the top-left pixel, then the green channel for the top-left pixel, then ..., until you reach the blue channel of the bottom right pixel
03:40:42 <FireFly> then restart
03:40:59 <Elronnd> Hm
03:40:59 <hppavilion[1]> Only problem is that the function numbers are dynamic (consider `,\n|socket`), but that can surely be resolved
03:41:02 <FireFly> it'd be awful
03:41:55 <FireFly> although I guess it wouldn't be impossible to, say, output a disc or something
03:42:35 <hppavilion[1]> FireFly: That sounds incredibly slow
03:42:45 <FireFly> yup
03:42:53 <hppavilion[1]> Elronnd: If you're interested, I am designing a BF-like language for OS development
03:42:56 <FireFly> but hey, with a fast enough implementation
03:43:01 <FireFly> or a small enough display
03:43:16 <Elronnd> hppavilion[1]: You're going to write an OS. In bf.
03:43:22 <hppavilion[1]> Elronnd: A BF derivative
03:43:25 <Elronnd> Writing one in C is hard enough!
03:43:25 -!- atslash has joined.
03:43:27 <hppavilion[1]> Elronnd: Already did, though I can't test it
03:43:42 <Elronnd> why not?
03:43:45 <Elronnd> VMs are a thing
03:44:24 <hppavilion[1]> Elronnd: I need a compiler
03:44:36 <hppavilion[1]> Elronnd: http://pastebin.com/Swiu63ub has an example in an earlier iteration of the language
03:45:11 <Elronnd> Oh, I thought you meant that you had already written an OS in C
03:45:30 <hppavilion[1]> Elronnd: Oh
03:45:50 <hppavilion[1]> Elronnd: Well, same goes for writing an OS in C: I can't get a cross-compiler to compile for some reason
03:45:52 <hppavilion[1]> I've tried
03:46:00 <hppavilion[1]> It's probably because I'm not using a Linux
03:46:23 <Elronnd> that might be it
03:47:32 <hppavilion[1]> Elronnd: Did you look at the BF TestOS?
03:49:44 <Elronnd> hppavilion[1]: I have not heard of that
03:50:08 <hppavilion[1]> Elronnd: The one I just sent you a pastebin link to
03:50:12 <hppavilion[1]> http://pastebin.com/Swiu63ub
03:50:33 <hppavilion[1]> It's based on my limited knowledge of ELF
03:51:11 <oerjan> @tell izabera <izabera> oerjan: that's not very nice :( <-- my apologies but the last few days _every_ newbie has made the same mistakes
03:51:11 <lambdabot> Consider it noted.
03:51:40 <hppavilion[1]> oerjan: What wasn't very nice?
03:51:52 <hppavilion[1]> Better yet, izabera: What did mean ol' oerjan say?
03:52:20 <oerjan> berating you all for having a goldfish's memory of HackEgo syntax hth
03:52:27 <hppavilion[1]> oerjan: Ah.
03:52:44 <hppavilion[1]> oerjan: I envy goldfishes' ability to use bash
03:53:04 <oerjan> izabera might be asleep. it would be the sensible thing at this time.
03:55:13 <hppavilion[1]> oerjan: We don't have school tomorrow here in `murica
03:57:05 <Elronnd> hppavilion[1]: Oh, I thought you meant somebody had made an OS with vanilla BF
03:57:11 <Elronnd> I hope someone makes BF bindings for LLVM
03:57:48 <oerjan> izabera is not in america afaik
03:58:36 -!- heroux has quit (Ping timeout: 256 seconds).
03:59:20 -!- heroux has joined.
03:59:21 -!- zzo38 has quit (Ping timeout: 240 seconds).
03:59:34 <hppavilion[1]> Elronnd: No, no, no
04:00:33 -!- zzo38 has joined.
04:07:58 <Elronnd> why not?
04:08:02 <Elronnd> what's wrong with LLVM?
04:08:14 <hppavilion[1]> Elronnd: No, I was referring to the first part
04:08:20 <Elronnd> oh
04:08:23 <Elronnd> yeah, I got that
04:13:51 <Elronnd> Hmmm
04:13:55 <Elronnd> you're printing things
04:14:08 <Elronnd> Have you defined a terminal/display in your compiler?
04:14:26 <hppavilion[1]> Elronnd: ...
04:14:26 <hppavilion[1]> No
04:17:27 <hppavilion[1]> Elronnd: Why?
04:17:33 <hppavilion[1]> Elronnd: What exactly is happening?
04:20:25 -!- adu has joined.
04:24:36 <hppavilion[1]> hadu
04:25:45 <adu> hi
04:25:59 <adu> wusup?
04:26:20 <hppavilion[1]> adu: I'm stuck thinking about OSFuck
04:27:16 <adu> hppavilion[1]: what's that?
04:27:30 <hppavilion[1]> adu: BF derivative designed for OS development
04:29:44 -!- Sprocklem has joined.
04:29:54 <adu> I wonder how you would efficiently compile BF to JVM
04:31:53 <hppavilion[1]> adu: Probably with algorithms hth
04:34:40 <adu> lol
04:35:20 <adu> compiling a superset to a subset is easy
04:35:36 <adu> but how do you compile a subset to a superset?
04:36:05 <hppavilion[1]> adu: You just compile it to ASM and assemble it
04:36:19 <adu> hppavilion[1]: but that wouldn't be "efficient"
04:36:36 <hppavilion[1]> adu: How not?
04:36:36 <adu> I wouldn't want + to be compiled to inc
04:36:42 <hppavilion[1]> adu: Why not?
04:36:48 <adu> I would want +++++ to be compiled to add 5
04:36:51 <hppavilion[1]> Is inc inefficient
04:36:55 <hppavilion[1]> adu: Ah, That's easy
04:37:09 <hppavilion[1]> Just RLE the program and map everything to an ASM pattern
04:37:19 <adu> right, but what if there's a loop around the +++, then I would want it to compile to mul
04:37:37 <hppavilion[1]> adu: Ah, yes. Now you're explaining properly
04:37:46 <hppavilion[1]> adu: However, how do you know how much it's going to loop?
04:37:47 <lambda-11235> adu: I wrote a compiler that does just that in Clojure.
04:37:55 <adu> and if theres a double loop around that, I would want it to be compiled to exp(y*log(x))
04:37:59 <hppavilion[1]> adu: Sounds uncomputable
04:38:29 <hppavilion[1]> adu: I think the RLE is efficient enough
04:38:45 <hppavilion[1]> For example, ,[>,[+]]
04:38:54 <hppavilion[1]> Wait, no
04:39:12 <hppavilion[1]> Something with that technique though though
04:39:24 <adu> lambda-11235: link?
04:40:04 <adu> hppavilion[1]: it's basically pattern matching on every node in the syntax tree
04:40:29 <hppavilion[1]> adu: If you have a syntax tree, you're probably doing it wrong
04:40:45 <hppavilion[1]> A syntax [(Char, Int)] is all you need
04:40:54 <adu> hppavilion[1]: I'm describing the general issue, and by extension it's application to BF
04:40:57 <lambda-11235> adu: https://github.com/lambda-11235/brain, although it probably doesn't do as many optimizations as you're talking about.
04:42:57 <lambda-11235> https://github.com/matslina/awib does more of what your talking about.
04:43:04 <adu> interesting
04:43:38 <lambda-11235> adu: The first compiler I ever wrote. :)
04:43:52 <hppavilion[1]> lambda-11235: So /are/ you new?
04:45:35 <hppavilion[1]> lambda-11235: Or just an altnick?
04:46:03 <lambda-11235> hppavilion[1]: To this channel? Yeah.
04:46:14 <hppavilion[1]> `relcome lambda-11235
04:46:29 <oerjan> hppavilion[1]> adu: If you have a syntax tree, you're probably doing it wrong <-- if you don't have a tree, you're probably underestimating the problem hth
04:46:34 <HackEgo> lambda-11235: 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.)
04:46:39 <hppavilion[1]> There.
04:46:54 <hppavilion[1]> oerjan: Perhaps
04:47:30 <adu> oerjan: agreed, I think
04:48:53 <oerjan> i have a hunch (even though i've never written an optimizing compiler of anything, even brainfuck) that the _really_ hard part is dealing with code that searches around on the tape.
04:49:16 <oerjan> because you essentially would have to correctly guess how the data is laid out.
04:49:45 <hppavilion[1]> adu: Would you happen to know the algorithm for logical negation in BF?
04:50:27 <oerjan> anything that only deals with 2 cells should be optimizable to a simple command in principle.
04:50:59 <adu> hppavilion[1]: nope
04:51:07 <oerjan> with 3 unbounded cells it's TC so obviously unsolvable.
04:51:18 <hppavilion[1]> oerjan: Do you?
04:51:33 <oerjan> do what
04:51:48 <hppavilion[1]> oerjan: BF !
04:52:18 <oerjan> rarely.
04:52:37 <oerjan> i did write that 3 cell proof.
04:52:49 <hppavilion[1]> oerjan: I mean BF logical negation?
04:52:52 <hppavilion[1]> *.
04:52:59 <oerjan> OKAY
04:53:07 <oerjan> *OKAY!
04:53:53 -!- Xe has quit (Quit: *.yolo *.swag).
04:53:53 <hppavilion[1]> oerjan: Do you know how to do logical negation in BF?
04:53:57 <shachaf> oerjan: you remind me of the man
04:54:04 <oerjan> which man
04:54:09 <shachaf> the man with the power
04:54:46 <oerjan> hppavilion[1]: sure. >+<[>-<[-]]
04:55:00 <oerjan> copy first if needed.
04:55:20 -!- Xe has joined.
04:55:38 <hppavilion[1]> oerjan: TY
04:55:42 <oerjan> YW
04:55:44 <hppavilion[1]> tdh, tfth, etc
04:56:10 <oerjan> shachaf: i think i am not acquainted.
04:57:49 <shachaf> @google "you remind me of the man"
04:57:49 <lambdabot> https://www.youtube.com/watch?v=bU9wLjk4II8
05:00:02 -!- perrier_ has quit (Remote host closed the connection).
05:00:48 <oerjan> AAAA
05:01:04 * oerjan has trouble with comedic embarassment
05:01:21 -!- perrier_ has joined.
05:02:37 <shachaf> @google you remind me of the babe
05:02:37 <lambdabot> https://www.youtube.com/watch?v=I4gABvUhhkg
05:09:46 -!- lynn has joined.
05:15:38 <oerjan> shachaf: somehow that was slightly less embarassing. slightly.
05:21:35 -!- Sprocklem has quit (Ping timeout: 240 seconds).
05:35:19 -!- adu has quit (Quit: adu).
05:42:13 <zzo38> I think that LodePNG is a much better PNG library than libpng. I think one of the same people who was on esolang made up LodePNG, that is how I could easily found it
05:43:00 <pikhq_> LodePNG does omit some of the more obscure features of PNG that libpng gives you access to.
05:43:20 <pikhq_> ... But, on the other hand, libpng is awful enough I almost prefer writing PNG reading/writing code *myself* to using it.
05:43:35 <lifthrasiir> zzo38: and the same person has worked on zopfli
05:43:40 <zzo38> Or, modify LodePNG if you need the obscure features
05:44:13 <lifthrasiir> pikhq_: libpng is like curl but without curl_easy_* calls
06:12:16 <hppavilion[1]> I'm currently watching the last Harry Potter movie
06:17:44 <izabera> spoiler: voldemort dies
06:17:56 <lifthrasiir> spoiler: the world continues
06:21:24 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
06:24:33 <izabera> it's 7:15 am and i checked my email and linda walsh posted a 300 lines script to the bash mailing list and i want to kill her
06:24:38 <izabera> why is it illegal
06:25:20 -!- hppavilion[1] has joined.
06:27:27 -!- andrew__ has joined.
06:27:50 <izabera> life is so unfair
06:28:08 <hppavilion[1]> izabera: *sigh*
06:28:15 <hppavilion[1]> izabera: What did billy say to you today?
06:29:15 <izabera> hppavilion[1]: a bash user sent a bash script that could have been text explaining the problem
06:29:43 <hppavilion[1]> izabera: Ah
06:30:27 <hppavilion[1]> Elronnd: Still on?
06:30:38 <Elronnd> yes
06:30:55 -!- andrew has quit (Ping timeout: 240 seconds).
06:31:11 <Elronnd> why?
06:32:01 <hppavilion[1]> Elronnd: Just curious
06:33:37 <hppavilion[1]> Elronnd: Ah, I knew I had something to ask you, but I doubt it's relevant anymore
06:33:56 -!- jaboja has quit (Remote host closed the connection).
06:33:58 <hppavilion[1]> Elronnd: Did you find something wrong with my BF TestOS? From the parts you can understand, at least?
06:35:20 <hppavilion[1]> Elronnd: I'd send you the documentation for the non-vanilla commands,
06:35:39 <hppavilion[1]> but I'm currently in the process of obsoleting the language in favour of something better
06:37:22 <Elronnd> hppavilion[1]: it looked okay from what I understood of it. The comments and the syntax explained it pretty well
06:37:45 <\oren\> izabera: did the script at least demonstrate the problem?
06:37:52 <hppavilion[1]> Elronnd: Yay! I'm not a shit commenter!
06:38:17 <\oren\> or was it a script they just posted and asked "it doesn't work, help?"
06:39:34 <Elronnd> hppavilion[1]: Don't trust anything I say though, I mostly skimmed and read the comments
06:40:01 <hppavilion[1]> OK
06:40:44 -!- Treio has joined.
06:43:06 <\oren\> holy shit they used canned clapping during the gop debate
06:48:42 <\oren\> or so the rumours claim. I don't see any evidence
06:55:10 <\oren\> Ben Carson made up a fake stalin quote
06:59:06 -!- lambda-11235 has quit (Quit: WeeChat 1.4).
07:03:44 -!- shachaf has quit (*.net *.split).
07:03:44 -!- FreeFull has quit (*.net *.split).
07:03:45 -!- catern has quit (*.net *.split).
07:03:55 -!- atehwa has quit (*.net *.split).
07:03:57 -!- relrod has quit (*.net *.split).
07:03:59 -!- shachaf has joined.
07:04:02 -!- relrod_ has joined.
07:04:02 -!- FreeFull has joined.
07:04:05 -!- relrod_ has quit (Changing host).
07:04:05 -!- relrod_ has joined.
07:04:13 -!- atehwa has joined.
07:10:48 -!- catern has joined.
07:10:51 <hppavilion[1]> \oren\: What was the quote?
07:11:02 <hppavilion[1]> And in what context did he use yt?
07:11:24 <hppavilion[1]> (Rule: s/i/y/ yf you happen to feel lyke yt)
07:11:50 -!- lynn has quit (Ping timeout: 256 seconds).
07:12:53 <hppavilion[1]> Elronnd: I'm also trying to make a computerized Nomic called λ-nomic
07:13:01 <izabera> nomyc
07:13:01 <hppavilion[1]> Elronnd: It's written in LISP :)
07:14:19 <hppavilion[1]> The gamerules, not the actual interpreter
07:17:46 <ais523> @metar EGBB
07:17:46 <lambdabot> EGBB 150650Z 32009KT CAVOK M00/M01 Q1022
07:18:09 <lifthrasiir> izabera: I like it, y is close to an upside-down λ
07:18:25 <shachaf> ג is close to λ in some fonts.
07:22:38 <coppro> `unidecode ג
07:22:53 <HackEgo> ​[U+05D2 HEBREW LETTER GIMEL]
07:22:59 <shachaf> coppro: What's the two-nick thing about?
07:23:26 <coppro> shachaf: hysterical raisins
07:25:28 <\oren\> "Joseph Stalin said if you want to bring America down you have to undermine three things -- our spiritual life, our patriotism, and our morality," Carson said, puzzling some observers, who couldn't quite place the remark.
07:27:31 <hppavilion[1]> http://206.174.0.58/lambda/rules and http://206.174.0.58/lambda/funcs
07:27:58 <hppavilion[1]> Now that I know anything about LISP, I know it isn't very /good/ LISP (it's imperative)
07:29:36 <oerjan> purely functional nomic
07:29:46 <oerjan> without any mutable state
07:29:55 <oerjan> hth
07:30:42 <hppavilion[1]> oerjan: tdnh
07:30:48 <hppavilion[1]> oerjan: tchm,bwnhp
07:31:09 <hppavilion[1]> Wait, it looks like LISP does have imperative-ish things
07:31:28 <oerjan> of course it does. lisp isn't particularly pure.
07:31:58 <izabera> do you guys know this? https://github.com/esseks/monicelli
07:34:47 <izabera> can't compile that :\
07:38:09 <hppavilion[1]> Did you know the German word Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz can't be translated into English!?
07:39:41 <myname> as a germann why not?
07:40:17 -!- AnotherTest has joined.
07:40:19 <pikhq_> "Cattle marking and beef labelling supervision duties delegation law"
07:40:25 <pikhq_> Looks translatable to me.
07:40:35 <hppavilion[1]> myname: It's a joke about people who say certain words can't be translated
07:40:46 <hppavilion[1]> They certainly can, they just don't come cleanly in a word or two
07:41:05 <myname> it doesn't in german, too
07:41:14 <hppavilion[1]> But I doubt it takes more than a paragraph to translate a used word in any reasonable spoken language
07:41:15 <pikhq_> Eh, only real difference is English likes putting spaces in its compound noun phrases.
07:41:30 <myname> i like the jewish chuzpe more
07:41:36 <\oren\> "rind flesh ticketing over watching off gave over trackings sets"
07:41:39 <pikhq_> "Cattlemarkingbeeflabellingsupervisiondutiesdelegationlaw" is about what'd be like if we *didn't*.
07:42:37 <hppavilion[1]> pikhq_: That'd be amazing. I'm kind of tempted to learn German (I'm already set up to take the class in my next year of high school, so it's too late to still be tempted) and start incorrectly applying its grammar rules to english xD
07:43:24 <myname> it should be easier to parse german because of this stuff
07:43:41 <hppavilion[1]> Beef labeling monitoring delegation Act
07:43:51 <hppavilion[1]> ^ Google translate is surprisingly good with german
07:44:02 <hppavilion[1]> myname: Programming language based on german?
07:44:10 <\oren\> yesterday after I geeaten dinner i geate ice cream
07:44:26 <myname> well, there is GERMAN which isn't really funny
07:44:39 <pikhq_> That'd be "Old English grammar".
07:44:45 <\oren\> there's probably more to it than adding ge- to the start of past tense verbs
07:44:54 <hppavilion[1]> myname: That's anti-funny
07:45:02 <pikhq_> Not surprisngly, Old English had, y'know, more of the classic Germanic syntax in it.
07:45:07 <hppavilion[1]> At some point in my life, there's going to be a hilarious joke told
07:45:20 <hppavilion[1]> And I won't be able to laugh because that article was anti-funny
07:45:24 <pikhq_> \oren\: I think you'd omit ge- there.
07:45:31 <myname> ah, geeaten is like gegessen?
07:45:36 <hppavilion[1]> Past-tense programming?
07:45:46 <hppavilion[1]> `"hello world" was printed`
07:46:04 <myname> future 2 programming!
07:46:05 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: "hello: not found
07:46:06 <pikhq_> "Eaten" and "ate" are already Germanic strong verb conjugations.
07:46:33 <myname> yeah, but gegessen vs essen is a thing
07:46:36 <hppavilion[1]> myname: You should use your german superpowers to make a non-non-funny german programming language
07:47:50 <pikhq_> myname: Sure, but not in that sentence. :)
07:48:37 <pikhq_> Ah. Huh!
07:48:50 <myname> i would say so
07:49:10 <pikhq_> "Eaten" effectively has the "ge" prefix in it. In Middle English that become "y-", and it was mostly dropped.
07:49:19 <pikhq_> ... But "eaten" starts with that sound already.
07:50:15 <myname> it was a hard time for me figuring out "_a_ university"
07:52:26 -!- Treio has quit (Ping timeout: 240 seconds).
07:55:15 <oerjan> <hppavilion[1]> And I won't be able to laugh because that article was anti-funny <-- that'll be the wurst
07:55:49 <myname> i see what you did there
07:56:07 <oerjan> \oren\: the other thing is that you move the verbs to the end of the sentence hth
07:56:43 <myname> not all sentences
07:57:01 <oerjan> the verbs that get ge-ed, i mean.
07:57:27 <oerjan> also infinitives
07:57:51 <myname> yeah, finite verbs are at the second positiin, except for dependent clauses
07:58:48 <oerjan> oh right in dependent clauses they too go to the end.
08:00:09 <myname> "ich werde gefahren worden sein wollen"
08:00:27 <myname> love it
08:01:32 <myname> i.e. there is some point in the future at which i wanted to be driven
08:02:23 <oerjan> oh right, and worden drops the ge- again
08:02:40 <oerjan> when the chain gets too long
08:03:03 <myname> there is no such thing as a chain too long :p
08:03:15 <oerjan> OKAY
08:03:27 <myname> i love writing sentences spanning three or four lines
08:04:37 <oerjan> <myname> i see what you did there <-- you can blame david morgan-mar for that one.
08:04:59 <myname> should i know him?
08:05:20 <oerjan> he makes irregular webcomic! and some other comics
08:05:37 <shachaf> Everyone has heard of David Morgan-Mar.
08:05:52 <oerjan> some alone, some in collaboration, some crowd sourced
08:05:55 <myname> obviously, i do not
08:06:19 <oerjan> and one autogenerated
08:07:00 <myname> i wonder what happens if we feed fungot with some joke websites
08:07:00 <fungot> myname: there was an ad hoc way, will concentrate firstly on securing ambitious and credible. our europe, does in any case i invite the commission now highlights what it considers to be essential for the european union
08:07:01 <shachaf> he's practically a deity in here
08:07:03 <oerjan> iwc was the first webcomic i read. learned about it here.
08:07:06 <shachaf> but perhaps myname lacks piety
08:07:11 <oerjan> oh hm
08:07:15 <oerjan> ^style iwc
08:07:15 <fungot> Not found.
08:07:21 <oerjan> hm i thought...
08:07:23 <oerjan> ^style
08:07:23 <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
08:07:28 <oerjan> ^style iwcs
08:07:28 <fungot> Selected style: iwcs (Irregular Webcomic scripts)
08:07:37 <oerjan> fungot: please demonstrate
08:07:37 <fungot> oerjan: no, of the house, so he wasn't joking i don't bolivia!
08:07:50 <oerjan> fungot: that's not a very good demonstration
08:07:50 <shachaf> oerjan: not even waving the swatter around?
08:07:50 <fungot> oerjan: our own webcomic! character would die a horrible, i hesitate to mention, but significantly in the past. as the people of nigeria!
08:08:07 <oerjan> shachaf: i missed your sentence, too much happening.
08:08:17 <myname> oh, an oots style
08:08:36 <shachaf> `` cat bin/olist | r13
08:08:41 <HackEgo> ​/hackenv/bin/`: line 4: r13: command not found
08:08:45 <shachaf> `` cat bin/olist | rot13
08:08:46 <HackEgo> rpub -a "$(onfranzr "$0")${@:+ }$@: "; gnvy -a+2 "$0" | knetf; rkvg \ funpuns \ brewna \ Ftrb \ SverSyl \ obvyl \ abeggv \ o_wbanf
08:08:50 <oerjan> myname: oh right, DMM also made esolangs back in the day. Chef, Ook! and Piet are among his.
08:09:05 <shachaf> myname: do you want to be added to olist?
08:09:13 <shachaf> oerjan: you can't stop logreading just because you're in the channel
08:09:14 <myname> oh, 2 out of 3 aren't that bad
08:09:25 <oerjan> shachaf: you get no swat since you reminded me of his esolangs hth
08:09:54 <myname> shachaf: i have a webcomic reader reminding me. also, i have a few 100 strips yet to read
08:11:06 <shachaf> oerjan: did you read the olist pdf thing yet
08:11:28 <myname> what pdf thing
08:12:15 <shachaf> start of darkness
08:12:36 <shachaf> oh, is that meant to be a pun on "heart of darkness"?
08:12:39 <myname> whatkkks that
08:12:48 <shachaf> if so i missed it until now
08:14:10 <oerjan> <shachaf> oerjan: you can't stop logreading just because you're in the channel <-- i don't, but i don't necessarily read the moment it's spoken, especially when i'm already trying to respond to something else
08:15:41 <oerjan> <shachaf> oerjan: did you read the olist pdf thing yet <-- it is safe in my backup that i still haven't copied back to my pc after the repairs hth
08:15:58 <shachaf> you can also just download it again presumably hth
08:16:16 <myname> what is that pdf about?
08:16:16 <oerjan> shachaf: i dunno, i never bothered registering at the site
08:16:44 <oerjan> myname: it's a comic book. shachaf made the bad decision to give it to me as a surprise gift.
08:17:01 <myname> what to do to get it?
08:17:08 <oerjan> this happened _just_ as my catching up with everything web was going downhill.
08:17:18 <oerjan> *buy it to me
08:18:52 <oerjan> <shachaf> oh, is that meant to be a pun on "heart of darkness"? <-- oh it must be, given "The origin of PCs"
08:19:21 <shachaf> oerjan: oh, i didn't get that one until now either
08:19:36 <oerjan> oh that one i got before
08:19:36 <shachaf> is PCs pronounced with emphasis on the first syllable?
08:19:43 <oerjan> i think so
08:19:52 <oerjan> i think it rhymes perfectly with the pun
08:19:58 <oerjan> or wait
08:20:12 <shachaf> That's why I didn't get it.
08:20:59 <oerjan> oh wiktionary claims species could be pronounced either way
08:21:14 <oerjan> but the pun works regardless, i think
08:21:50 <b_jonas> huhwhat
08:21:56 <b_jonas> what's this Heart of Darkness thing?
08:22:10 <oerjan> shachaf: oh hm, it was origin of PCs you bought btw afair
08:22:16 <shachaf> oh
08:22:21 <shachaf> right
08:22:24 <shachaf> because of durkon's prophecy
08:22:27 <shachaf> never mind
08:22:36 <b_jonas> and what's Origin of the PCs a pun on?
08:22:46 <b_jonas> I'm not good with English puns and pop culture
08:23:11 <shachaf> the other one isn't available as pdf
08:23:15 <shachaf> b_jonas: On the Origin of Species
08:23:24 <b_jonas> ah
08:23:30 <b_jonas> that Darwin thing
08:23:46 <b_jonas> ok, thanks, I could never have figured this one out
08:24:05 <oerjan> from the hints we've gotten about xykon and redcloak's past, i don't think i would _want_ to read start of darkness.
08:24:17 <oerjan> it's, like, pretty dark.
08:24:19 <shachaf> Which hints?
08:24:47 <oerjan> or maybe spoilers i've read somewhere
08:24:52 <oerjan> (or both)
08:25:01 <b_jonas> oerjan: oh come on, it can't be much worse than the Kin-Slaying and the Oath of Feanor, can it?
08:25:02 <zzo38> Looking at FAQ for Pale Moon browser reveals some new settings that I believe are good idea, including "network.stricttransportsecurity.enabled" and "dom.disable_beforeunload", as well as features I have not thought of ("canvas.poisondata", which tampers with data read from canvas areas). Most of these features probably can be implemented in Firefox as well (possibly with userChrome.js), but may be more complicated to implement.
08:25:21 <oerjan> well, let's just say redcloak has very good reason to hate humans.
08:25:34 <oerjan> b_jonas: i didn't read that far in the silmarillion, either.
08:26:02 <zzo38> I do think that userChrome.js extension is one of the best Firefox extensions I am using; many things can be done with it, including stuff that it seems no other extension does
08:27:11 <b_jonas> Probably all the OOTS book titles have some sort of reference in it that I don't understand.
08:28:02 <shachaf> I'm just going to wait until there's a Complete Olist of the Stick book.
08:28:13 <shachaf> I don't like having lots of small books.
08:28:26 <b_jonas> shachaf: SMALL?
08:28:32 <b_jonas> they aren't really that small, at least some of them
08:28:42 <b_jonas> also, you may have to wait a decade then
08:28:55 <shachaf> That's fine.
08:29:30 <oerjan> <b_jonas> what's this Heart of Darkness thing? <-- a famous book by joseph conrad. i think that's also pretty dark hth
08:29:50 <b_jonas> do you not like dark books?
08:30:12 <shachaf> oerjan: is it true that "Ørjan" has emphasis on both the first and second syllable twh
08:31:52 <oerjan> b_jonas: not much.
08:32:45 <zzo38> I would think that HSTS setting could have three settings: "enabled", "allow user override", and "apply to location bar". The "apply to location bar" setting is only applicable if HSTS and relative location bar are both disabled, and if enabled means that HSTS is used to decide the protocol when the user has entered a domain name in the location bar without specifying which protocol to use.
08:33:30 <b_jonas> The good guys always lose.
08:34:42 <zzo38> b_jonas: The alternative: Everyone always lose.....
08:36:09 <zgrep> oerjan: Is it true that øerjan contains a null set?
08:36:41 <oerjan> shachaf: it has second pitch accent, which does make the second syllable feel stronger than if it had first pitch accent. at the same time, i find the main stress hard to ascertain.
08:38:35 <oerjan> hm after a little testing, i think it's on the first.
08:38:50 <oerjan> i cannot get it to scan in a verse with the second.
08:40:25 <b_jonas> Question. If you're writing a compiler that you bootstrap with another compiler, what are good words to mean (a) the already working compiler you bootstrap with, (b) this compiler you're bootstrapping, and (c) the output this compiler shall produce?
08:42:08 <oerjan> b_jonas: ghc seems to call the compilers stage 1 and stage 2
08:44:28 <zgrep> There should be more creative names than that. Such as "laces", "boot without laces", "boot". :P
08:44:38 <zgrep> (although those aren't that creative...)
08:45:02 <zgrep> Or did I read something wrong in that sentence...
08:45:12 <oerjan> huh italian wikipedia is spamming me with email notification despite never having contributed... oh hm
08:46:50 <oerjan> oh well.
08:47:51 <oerjan> i suppose someone there was just overenthusiastic
08:48:28 -!- J_Arcane has quit (Ping timeout: 252 seconds).
08:53:48 <b_jonas> oerjan: yes, but I'd prefer relative ones
08:53:52 <b_jonas> relative words
08:53:59 <b_jonas> not absolute ones
08:54:19 <b_jonas> oerjan: yeah, some wikipedias do that:
08:54:33 -!- I has joined.
08:54:57 -!- I has changed nick to Guest34332.
08:55:07 <b_jonas> oerjan: it's a combinations of, (1) auto-creating an account if you just visit, (2) auto-greeter bots that greet even if you never edit, and (3) accounts created with email notification for edits to your user talk page enabled by default
08:55:33 <b_jonas> oerjan: one of those three is wrong, but I'm not sure which, there are some good arguments for each
08:56:23 <b_jonas> in combination, they results in emails in languages you don't understand from just clicking on a link
08:56:35 -!- atslash has quit (Ping timeout: 264 seconds).
08:56:37 <b_jonas> I've got a few such emails
08:56:49 <oerjan> well, accounts are global now, so (1) is correct i think
08:56:53 -!- Guest34332 has changed nick to atslash.
08:56:57 <b_jonas> oerjan: not necessarily
08:57:17 <oerjan> well i'm automatically _logged in_ everywhere.
08:57:17 <b_jonas> oerjan: StackExchange has global account, but creates an account on each site only when you first request one
08:57:45 <b_jonas> after you create an account on a SE site, you can no longer back out without godly intervention, you get auto-logged in, but you have to allow creating the account in first place
08:57:57 <b_jonas> something like that could have worked for wikimedia projects global accoutns
08:58:06 <b_jonas> but even then
08:58:26 <b_jonas> auto-getting greeting emails in languages you don't understand, even if you never edit, seems strange
08:58:37 <oerjan> anyway, i sort of like (1).
08:58:51 <oerjan> yeah (2) seems odd.
09:00:09 <oerjan> well i guess that's case closed, then. i _did_ visit it.wikipedia today to look up that "untranslatable word" from izabera's link (the last part of it means "trowel".)
09:00:17 <b_jonas> oerjan: sure, but you could say (2) makes sense because if a user is going to edit, then maybe it's better to greet a user with useful links about how to edit usefully _before_ he edits
09:00:31 <oerjan> heh
09:00:41 <b_jonas> what? that was a German word. why it.wikipedia?
09:00:59 <oerjan> hm no?
09:01:14 <oerjan> oh not a word discussed in channel.
09:01:33 <oerjan> one mentioned on that github page izabera linked.
09:01:48 <b_jonas> https://meta.wikimedia.org/wiki/Special:CentralAuth/B_jonas shows I have accounts on way more (centrally authed) wikimedia projects than I've edited
09:02:23 <b_jonas> I've edited on 17 projects (if you count even single edits like creating a userpage),
09:02:40 <izabera> supercazzola
09:02:57 <b_jonas> wasn't it Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz ?
09:05:06 <oerjan> no, it was supercazzola.
09:05:35 -!- heroux has quit (Ping timeout: 264 seconds).
09:05:44 <izabera> a supercazzola is just some random made up words that sound like plausible words, they're said quickly so the person you're talking to doesn't understand what you're talking about and whether you're making fun of them or not
09:06:06 <Taneb> That sounds like a useful concept
09:06:15 <izabera> it was made popular by an old italian movie
09:06:33 <oerjan> i first tried en.wiktionary, which was a little ambiguous (except telling that the normal spelling was cazzuola), so i went to it.wikipedia to check what it normally meant.
09:07:02 <oerjan> izabera: that would explain why i couldn't find any of the _other_ words on that github page :P
09:08:01 <izabera> they're taken from that movie
09:08:06 <oerjan> Taneb: a very cromulent concept indeed
09:09:07 <b_jonas> I see
09:09:14 <b_jonas> so it's like “kiszera méra bávatag”
09:09:31 <b_jonas> (invented by a Karinthy short story)
09:10:31 -!- heroux has joined.
09:21:32 -!- AnotherTest has quit (Ping timeout: 272 seconds).
09:25:57 -!- Tod-Autojoined has joined.
09:25:58 -!- zadock has joined.
09:26:11 -!- gde33|2 has joined.
09:28:53 -!- TodPunk has quit (Read error: Connection reset by peer).
09:28:55 -!- gde33 has quit (Ping timeout: 260 seconds).
09:34:23 -!- heroux has quit (Ping timeout: 264 seconds).
09:42:58 -!- heroux has joined.
09:45:51 <zzo38> Add into JavaScript some new features: arguments.generator, macro, WeakMap.prototype.watchGC (may be useful with FFI), etc
09:46:00 <zzo38> What is your opinion?
10:01:47 -!- lleu has joined.
10:01:57 -!- lleu has quit (Changing host).
10:01:57 -!- lleu has joined.
10:03:11 -!- oerjan has quit (Quit: Later).
10:22:45 -!- I has joined.
10:23:09 -!- I has changed nick to Guest33799.
10:23:56 -!- atslash has quit (Ping timeout: 240 seconds).
11:09:16 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
11:10:31 -!- Treio has joined.
11:12:29 -!- bender|_ has joined.
11:17:44 -!- ais523 has quit.
11:21:55 -!- Treio has quit (Ping timeout: 260 seconds).
11:31:23 -!- FreeFull has quit (Ping timeout: 264 seconds).
11:34:45 -!- boily has joined.
11:51:47 -!- AnotherTest has joined.
11:52:58 -!- heroux has quit (Ping timeout: 240 seconds).
11:53:04 -!- bender|_ has changed nick to bender|.
12:03:11 -!- mroman has joined.
12:03:49 <mroman> adult captchas: Select all images with balls.
12:09:03 -!- heroux has joined.
12:14:08 <b_jonas> oh look, the results of http://www.underhanded-c.org/ have been out for a while
12:14:32 <Taneb> There's no rule that Haskell's fromInteger has to be a ring homomorphism, is there?
12:18:17 <boily> Tanelle. I think there may usually be a convention for it to be true, but I don't think Haskell enforces that.
12:18:22 <boily> YMMVV.
12:22:55 <shachaf> Taneb: Num instances aren't necessarily rings in the first place.
12:23:25 <Taneb> I know, I know
12:23:30 <Taneb> Floats are weird
12:23:55 <boily> floats aren't rings?
12:27:02 -!- boily has quit (Quit: BARRACUDA CHICKEN).
12:28:21 <Taneb> > (0/0) * 0 :: Float
12:28:22 <lambdabot> NaN
12:28:35 <Taneb> @tell boily NaN * 0 == NaN
12:28:36 <lambdabot> Consider it noted.
12:29:01 <shachaf> also addition isn't associative hth
12:29:27 <Taneb> @quickcheck \a b c -> (a + (b + c) :: Float) == ((a + b) + c)
12:29:27 <lambdabot> Unknown command, try @list
12:29:30 <shachaf> > (0.1+0.2)+0.3 == 0.1+(0.2+0.3)
12:29:31 <lambdabot> False
12:29:32 <myname> this isn't nornal, but in floats, it is
12:29:37 <Taneb> @check \a b c -> (a + (b + c) :: Float) == ((a + b) + c)
12:29:39 <lambdabot> *** Failed! Falsifiable (after 2 tests and 84 shrinks):
12:29:39 <lambdabot> -0.17450391 3.4075708 -1.7455688
12:30:08 <myname> what are shrinks?
12:30:24 <shachaf> psychologists
12:31:00 <shachaf> their assistance is usually required after dealing with floating-point arithmetic
12:32:29 <b_jonas> Taneb: no way. Floats aren't even a ring.
12:34:59 -!- heroux has quit (Ping timeout: 264 seconds).
12:37:12 -!- heroux has joined.
12:59:23 -!- heroux has quit (Ping timeout: 276 seconds).
13:03:10 -!- heroux has joined.
13:12:09 -!- Treio has joined.
13:22:10 -!- andrew__ has quit (Remote host closed the connection).
13:25:46 -!- heroux has quit (Ping timeout: 240 seconds).
13:26:56 -!- heroux has joined.
13:30:32 -!- Reece` has joined.
13:31:16 -!- Reece` has quit (Remote host closed the connection).
14:13:35 -!- heroux has quit (Ping timeout: 240 seconds).
14:31:30 -!- heroux has joined.
14:33:34 -!- Treio has quit (Remote host closed the connection).
14:41:14 -!- FreeFull has joined.
14:49:59 -!- heroux has quit (Ping timeout: 264 seconds).
14:51:16 -!- AnotherTest has quit (Ping timeout: 248 seconds).
14:56:15 -!- heroux has joined.
14:58:39 -!- spiette has joined.
14:59:01 -!- heroux has quit (Remote host closed the connection).
15:00:10 -!- heroux has joined.
15:05:04 -!- Treio has joined.
15:07:58 -!- heroux has quit (Ping timeout: 252 seconds).
15:16:58 -!- spiette has quit (Ping timeout: 265 seconds).
15:23:48 -!- shikhin has quit (Ping timeout: 248 seconds).
15:24:52 -!- ^v has quit (Ping timeout: 248 seconds).
15:25:23 -!- shikhin_ has joined.
15:26:17 -!- ^v has joined.
15:31:30 -!- heroux has joined.
15:34:49 <HackEgo> [wiki] [[BF-PDA]] M https://esolangs.org/w/index.php?diff=46405&oldid=18186 * LegionMammal978 * (+13) /* External resources */
15:48:13 -!- Tod-Autojoined has changed nick to TodPunk.
15:51:45 -!- lambda-11235 has joined.
16:01:28 -!- bender| has quit (Quit: Ping Pong Fuckout).
16:15:10 -!- spiette has joined.
16:17:58 -!- shikhin_ has changed nick to shikhin.
16:45:34 -!- zadock has quit (Quit: Leaving).
16:54:33 -!- Sprocklem has joined.
17:04:07 -!- relrod_ has changed nick to relrod.
17:04:47 -!- J_Arcane has joined.
17:04:59 -!- heroux has quit (Ping timeout: 264 seconds).
17:11:36 -!- heroux has joined.
17:28:09 -!- variable has joined.
17:39:47 <HackEgo> [wiki] [[Norfuck]] M https://esolangs.org/w/index.php?diff=46406&oldid=16175 * LegionMammal978 * (+39) /* External resources */
17:44:21 <\oren\> I'm doing lowercase fraktur, and uppercase blackboard bold
17:45:34 <myname> great!
17:48:08 <izabera> http://spinroot.com/courses/summer/Papers/dijkstra_1975.pdf
17:48:16 <izabera> do...od OMG
17:48:25 <izabera> someone must go back in time and kill dijkstra
17:49:31 <Taneb> But then we might still be using goto
17:49:39 <izabera> we still do
17:50:01 <Taneb> Oh god
17:50:01 <\oren\> we're already still using... fuck stupid english tense system
17:50:10 <myname> "James explains why World War II series of Extra History won't use swastika of Nazi Germany."
17:50:10 <Taneb> Did someone go back and kill Dijkstra already
17:50:13 <myname> nazi nazis :(
17:50:35 -!- Sprocklem has quit (Ping timeout: 276 seconds).
17:58:57 <\oren\> how are they supposed to spot nazis if there's no swastikas labelling them?
17:59:10 -!- heroux has quit (Ping timeout: 260 seconds).
17:59:26 <Taneb> \oren\, maybe they'll use double zigzags
17:59:51 -!- heroux has joined.
18:00:31 <\oren\> oh, ᛋᛋ?
18:00:36 <\oren\> lame
18:01:53 <b_jonas> ehwhat
18:05:49 <\oren\> it's stupid to fear the symbol of an ideology so much that you avoid using it even in teaching the history of that ideology
18:07:08 <\oren\> it's like if you had a history of islam without the shahada and the star and moon, or a history of communism without a hammer and sickle, or for that matter a documentary about christianity with no crosses...
18:10:06 <\oren\> seriously, what if you had Stalin in front of a flag with a yellow Ю on it. ridiculous
18:13:08 -!- Phantom_Hoover has joined.
18:13:53 <b_jonas> \oren\: yes, it's stupid
18:14:27 <b_jonas> \oren\: but note that they might be trying to avoid legal trouble, for fear that some lawyers could turn the laws against them
18:15:09 <\oren\> oh, censorship laws...
18:15:15 <\oren\> blahhhhhh
18:15:29 <b_jonas> \oren\: you don't live in a country with laws against using hammer-sickle, red stars, arrow-crosses and swastikas in certain context, do you?
18:15:56 <b_jonas> I hear it's even worse in Germany.
18:16:03 <\oren\> no, canada has laws against hate speech, not against specific symbols associated with hate speech
18:16:13 <b_jonas> sure, those too
18:17:58 <myname> i saw a youtube video saying english people have problems with the pf sound
18:18:03 <myname> is that true?
18:18:18 <Taneb> There's a pf sound?
18:18:25 <b_jonas> what sound?
18:18:33 <myname> yeah
18:18:40 <myname> the german word for horse is pferd
18:18:52 <Taneb> myname, yeah, that seems a bit difficult
18:19:03 <myname> weird
18:19:27 <\oren\> that sounds kind of like ts but with your lips
18:20:03 <myname> no, ts has a completely different positio of the tongue
18:20:31 -!- adu has joined.
18:20:34 <myname> in fact, a pf does not need the tongue to move at all
18:23:28 <\oren\> well it's still a plosive frictive sequence in the same place of articulation isnt it
18:32:02 -!- AnotherTest has joined.
18:36:58 -!- heroux has quit (Ping timeout: 240 seconds).
18:37:52 -!- Sprocklem has joined.
18:39:40 -!- heroux has joined.
18:41:21 -!- lynn has joined.
18:52:12 <izabera> is there a way to get ''"" instead of ‘’“” in error messages without fucking up my locale completely?
18:53:04 <izabera> LC_CTYPE=C messes up readline so that must be utf8 :\
18:54:18 -!- adu has quit (Quit: adu).
18:54:32 -!- lambda-11235 has quit (Quit: WeeChat 1.4).
18:59:03 <\oren\> uhh, does tr '‘’“”' \'\'\"\" work?
18:59:35 <\oren\> `` echo ‘’“” | tr '‘’“”' \'\'\"\"
19:00:06 <\oren\> booo
19:00:08 <HackEgo> ​""""""""""""
19:00:19 <\oren\> WTF
19:00:30 <izabera> gnu tr doesn't convert multi-byte sequences
19:00:40 <izabera> for reasons
19:00:43 <izabera> use sed for that
19:01:13 <\oren\> `` echo ‘’“” | sed 'y/‘’“”/'\'\'\"\"/
19:01:16 <HackEgo> ​''""
19:01:50 <\oren\> so guess pipe your stderr thru that?
19:01:57 <izabera> ew...
19:04:56 <izabera> `` echo ‘’“” | tr ‘’“” abcd
19:04:57 <HackEgo> ddcddddddddd
19:05:02 <izabera> isn't that wrong?
19:06:42 <izabera> ah no i see
19:09:07 -!- variable has quit (Quit: 1 found in /dev/zero).
19:09:31 <zzo38> There seem to be too many programs that incorrectly output non-ASCII characters even when the user doesn't specify that it should
19:13:07 -!- jaboja has joined.
19:43:14 -!- lynn has quit (Read error: Connection reset by peer).
19:43:23 -!- heroux has quit (Ping timeout: 264 seconds).
19:56:05 -!- heroux has joined.
19:57:46 <\oren\> in KSP, jet engines work underwater
19:58:43 -!- p34k has joined.
19:58:52 <pikhq_> Checks out.
20:01:05 -!- jaboja64 has joined.
20:04:20 -!- jaboja has quit (Ping timeout: 248 seconds).
20:05:54 -!- Sprocklem has quit (Ping timeout: 256 seconds).
20:08:37 <shachaf> copumpkin: so twitter is the secret mechanism for contacting you
20:08:49 <\oren\> I have a jet-propelled submarine
20:08:54 <int-e> that doesn't sound very secret
20:09:33 -!- lleu has quit (Read error: Connection reset by peer).
20:09:58 -!- lleu has joined.
20:12:36 -!- lleu has quit (Excess Flood).
20:12:53 -!- lleu has joined.
20:23:51 <copumpkin> shachaf: yep!
20:24:44 <b_jonas> \oren\: does it work underwater?
20:30:13 <Phantom_Hoover> i have some friends who built a pedal submarine
20:32:09 <b_jonas> Phantom_Hoover: Casey & Andy (in the comic) built a wood-powered submarine
20:33:12 -!- heroux has quit (Ping timeout: 252 seconds).
20:33:26 -!- heroux has joined.
20:34:27 <izabera> is there a way to tell cpp to keep escaped newlines in macros?
20:34:53 <b_jonas> izabera: I don't think so. that would screw up line numbers and not do anything else useful.
20:34:59 <izabera> :\
20:35:06 <b_jonas> the newlines (outside of string literals) don't really do anything for the syntax
20:35:08 <izabera> it would be useful to human readers...
20:35:38 <b_jonas> wood-powered submarine => http://www.galactanet.com/comic/view.php?strip=66
20:36:04 <Taneb> Phantom_Hoover, did it float?
20:40:29 -!- adu has joined.
20:44:12 -!- heroux has quit (Ping timeout: 252 seconds).
20:46:41 -!- heroux has joined.
20:52:58 -!- heroux has quit (Ping timeout: 250 seconds).
20:57:20 -!- heroux has joined.
20:58:57 -!- ais523 has joined.
21:08:10 -!- heroux has quit (Ping timeout: 260 seconds).
21:09:16 <zzo38> JavaScript has generator function and I made up the "monadic generators" with it too, do you like this? I made it as two monads
21:20:45 -!- heroux has joined.
21:21:22 -!- sebbu has quit (Ping timeout: 240 seconds).
21:24:30 <int-e> `? zzo38
21:24:49 <HackEgo> zzo38 is not actually the next version of fungot, much as it may seem.
21:26:01 <int-e> zzo38 is an enigma wrapped in a series of reverse engineering challenges
21:29:41 <HackEgo> [wiki] [[Truth-machine]] https://esolangs.org/w/index.php?diff=46407&oldid=46373 * Albedo * (+34) /* Beeswax */ beeswax examples added
21:29:48 <zzo38> I did write on the FAQ of AmigaMML about what I am not but that FAQ is now missing, I believe.
21:30:47 <zzo38> HackEgo is correct of course; but I am also not a doctor of mathematics and also am not a Japanese person, and so on. (However that FAQ also claims that I am not an enigma, contrary to you)
21:33:47 -!- heroux has quit (Ping timeout: 264 seconds).
21:34:07 -!- sebbu has joined.
21:36:09 -!- mroman has quit (Ping timeout: 252 seconds).
21:37:56 -!- heroux has joined.
21:41:52 -!- zzo38 has quit (Remote host closed the connection).
21:48:08 -!- p34k has quit.
21:58:38 -!- Lord_of_Life has quit (Excess Flood).
21:59:53 -!- Froox has joined.
21:59:56 -!- Opodeldoc_ has joined.
22:01:06 -!- Lord_of_Life has joined.
22:02:35 -!- heroux has quit (Ping timeout: 264 seconds).
22:02:44 -!- XorSwap has joined.
22:03:43 -!- Opodeldoc has quit (Ping timeout: 240 seconds).
22:04:03 -!- Frooxius has quit (Ping timeout: 240 seconds).
22:07:51 -!- prooftechnique has joined.
22:15:42 -!- heroux has joined.
22:17:18 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:20:32 -!- heroux has quit (Ping timeout: 272 seconds).
22:30:43 -!- HackEgo has quit (Remote host closed the connection).
22:30:56 -!- HackEgo has joined.
22:33:09 -!- heroux has joined.
22:33:51 -!- lambda-11235 has joined.
22:37:39 -!- Lord_of_Life has quit (Remote host closed the connection).
22:43:06 -!- Lord_of_Life has joined.
22:44:25 -!- deltab has quit (Ping timeout: 260 seconds).
22:45:04 <izabera> c11 generics are annoying
22:45:05 -!- hppavilion[1] has joined.
22:45:26 <izabera> they would be easier to use if they supported some kind of fallthrough
22:45:44 <izabera> also they would be easier to use if they accepted a trailing ,
22:46:06 -!- XorSwap has quit (Quit: Leaving).
22:51:11 -!- deltab has joined.
22:51:51 -!- boily has joined.
22:52:05 <boily> @massages-loud
22:52:05 <lambdabot> Taneb said 10h 23m 29s ago: NaN * 0 == NaN
22:52:24 <boily> Taneb: Tanelle. tdh.
22:53:02 -!- adu has quit (Quit: adu).
22:58:00 <fizzie> Some kind of fallthrough like the "default:" association they have?
22:58:21 <fizzie> Oh, fallthrough. Never mind.
22:58:30 <fizzie> Well, that sounds somewhat unlikely to be useful.
22:58:48 <fizzie> (Misinterpreted that as some sort of a fallback, hence the default.)
23:00:36 <izabera> fizzie: _Generic(x, int8_t: int16_t: ... signed expr, uint8_t: uint16_t: ..... unsigned expr )
23:07:27 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
23:08:20 -!- deltab has quit (Ping timeout: 248 seconds).
23:12:17 -!- spiette has quit (Quit: :qa!).
23:12:50 <fizzie> Just use more macros.
23:14:11 * izabera macroes the shit out of this code
23:14:46 <fizzie> I think the can't-have-compatible-types-in-two-or-more-branches restriction makes them hard to use with stdint types, because you can't know what's compatible and what's not.
23:15:39 <izabera> i'm just playing with this but so far it seems to be working
23:15:46 -!- deltab has joined.
23:16:48 <izabera> is there a way to see the generated code after generics have been resolved?
23:17:37 * izabera disappointed that cpp doesn't do this
23:17:44 <fizzie> It's not a preprocessor construct.
23:17:52 <fizzie> The preprocessor doesn't know about types, anyway.
23:18:05 <izabera> that doesn't solve the problem <.<
23:18:08 <fizzie> I'm sure one of GCC's two hundred of so stages would be post-_Generic, but it might not be the sort of output you want.
23:18:17 <fizzie> (You can ask it to dump all.)
23:18:25 -!- adu has joined.
23:21:21 <fizzie> http://sprunge.us/hCLL like that
23:21:24 <Phantom_Hoover> <Taneb> Phantom_Hoover, did it float?
23:21:33 <Phantom_Hoover> preventing that was the main idea
23:21:45 <izabera> ooh pretty
23:21:55 <izabera> what
23:21:57 <izabera> it's not pretty
23:21:59 <fizzie> I don't know why it has the same thing in and out the block.
23:22:08 <izabera> gcc wtf
23:22:32 <fizzie> You can go a few steps further and then it's http://sprunge.us/QKRR
23:24:41 * izabera is a bit scared by char * * argv
23:24:55 <fizzie> http://sprunge.us/PagY that's reasonable
23:25:23 -!- heroux has quit (Ping timeout: 264 seconds).
23:28:52 <izabera> meanwhile on stackoverflow this is a hot network question https://judaism.stackexchange.com/questions/68290/menstruating-on-wedding-day
23:30:16 <izabera> i don't know what's a mikvah and i'll sound racist but what fucked up religion is that
23:30:53 <Phantom_Hoover> "The groom is careful not to touch the bride when putting the ring on her finger."
23:30:58 <Phantom_Hoover> this sounds fucking hilarious
23:31:26 <Phantom_Hoover> like i'm just imagining how you'd do that, with your fingers arched and just the tips in contact with the ringt
23:31:48 <fizzie> Maybe they've made a device to help with that.
23:31:50 <fizzie> Some sort of tongs.
23:31:54 <izabera> wat
23:32:25 <Phantom_Hoover> maybe it's like that scene in lotr where the ring falls on frodo's finger
23:32:42 <izabera> jews are weird
23:32:54 <Phantom_Hoover> meanwhile "The Yichud-room has another person present; usually hiding there in advance so as to not make this obvious."
23:33:15 <Phantom_Hoover> don't mind me, i'm just a lamp, carry on with the consummation
23:33:24 <izabera> :D
23:34:19 <olsner> does it count as touching if you have gloves?
23:35:32 <Phantom_Hoover> i mean it's the calcified 2500 year old sanitary customs that are the source of the weirdness here
23:35:57 <Phantom_Hoover> two millennia of chanting about the dangers of the cooties will do that to you
23:36:37 <boily> circle circle dot dot you are now husband and wife.
23:37:47 -!- variable has joined.
23:39:57 <Phantom_Hoover> i've found a better solution
23:40:02 <Phantom_Hoover> "According to rabbinical law, a woman becomes a niddah when she is aware that blood has come from her womb,"
23:40:08 <Phantom_Hoover> blindfold the bride, problem solved
23:40:28 <olsner> there are perhaps other ways to become aware of that as well
23:41:08 <Phantom_Hoover> now we have fallen into the purview of your conundrums of philosophy
23:41:35 <olsner> hmm, yes, let's get out of there
23:41:44 -!- ais523 has quit.
23:46:59 -!- heroux has joined.
23:47:21 -!- boily has quit (Quit: DECIDUOUS CHICKEN).
2016-02-16
00:03:02 -!- deltab has quit (Ping timeout: 276 seconds).
00:03:22 -!- variable has quit (Quit: 1 found in /dev/zero).
00:09:41 -!- deltab has joined.
00:15:47 <izabera> firefox won't load a page that works in curl...
00:18:06 <izabera> yay get to use lynx
00:18:41 <izabera> aww it doesn't work in lynx
00:18:46 <olsner> if the page is on gopher, you might just need to install a firefox extension
00:18:55 <izabera> it's not ;-;
00:19:12 <izabera> it's the znc web interface on my server
00:20:08 <izabera> ah it's a https problem...
00:23:37 -!- MDude has joined.
00:23:38 -!- oerjan has joined.
00:27:46 -!- heroux has quit (Ping timeout: 240 seconds).
00:43:09 -!- heroux has joined.
00:51:42 -!- lambda-11235 has quit (Ping timeout: 252 seconds).
01:10:17 -!- adu has quit (Read error: Connection reset by peer).
01:12:07 -!- adu has joined.
01:13:17 -!- adu has quit (Client Quit).
01:17:04 -!- lambda-11235 has joined.
01:17:34 -!- jaboja64 has quit (Ping timeout: 256 seconds).
01:18:11 -!- heroux has quit (Ping timeout: 264 seconds).
01:18:40 -!- heroux has joined.
01:22:02 <hppavilion[1]> `? #esoteric
01:22:19 <HackEgo> ​#esoteric is the only channel that exists. monqy is its centroïd. It's about 30 m (100 ft) across.
01:23:28 <olsner> `le/rn_append #esoteric It's the calcified 2500 year old sanitary customs that are the source of the weirdness here.
01:23:30 <HackEgo> No output.
01:23:38 <olsner> `? #esoteric
01:23:39 <HackEgo> ​#esoteric is the only channel that exists. monqy is its centroïd. It's about 30 m (100 ft) across.
01:23:46 <olsner> hmm, someone used an append command the other day
01:23:49 <olsner> nm
01:24:25 <hppavilion[1]> olsner: FAIL
01:24:30 <hppavilion[1]> xD
01:25:23 <lifthrasiir> hppavilion[1]: to be fair, it was about 30 m across *when* it was about 50 ns old.
01:25:56 <hppavilion[1]> lifthrasiir: I had to look that up because I'm making a joke on another channel xD
01:25:59 <hppavilion[1]> I asked its dimensions
01:26:05 <hppavilion[1]> Just to confuse all present
01:26:23 -!- Guest33799 has changed nick to atslash.
01:26:50 <shachaf> I guess the / is too subtle.
01:26:53 <oerjan> olsner: hint: all the le/rn* commands require you to use a slash in them. except `le/nn which someone misguidedly added the other day.
01:26:57 -!- jaboja has joined.
01:27:12 <oerjan> also, there's `learn_append which doesn't.
01:27:12 <shachaf> `cat le/nn
01:27:13 <HackEgo> key=${1,,}; shift; cat <<< "${*,,}" > "wisdom/$key" && echo "Learned «$key»"
01:27:15 <shachaf> `culprits le/nn
01:27:42 <oerjan> `` mv le/nn bin/leann
01:27:43 <HackEgo> izabera izabera
01:27:46 <HackEgo> No output.
01:27:50 <oerjan> FIXED
01:28:09 <oerjan> (naming scheme needs work)
01:29:26 <shachaf> `cat ma/rx
01:32:27 <oerjan> `culprits bin/leann
01:32:29 -!- adu has joined.
01:32:29 <HackEgo> oerjan
01:32:58 <shachaf> now why would oerjan have written that script
01:33:21 -!- adu has quit (Client Quit).
01:33:23 * oerjan swats shachaf -----###
01:37:40 -!- madbr has joined.
01:38:48 <izabera> misguidedly?!
01:39:40 <oerjan> izabera: you made a `le/* command that doesn't use slashes tdnh
01:41:15 <izabera> you mean a usable command
01:41:30 * izabera best ui designer ever
01:41:39 <oerjan> it's the naming of the command i'm complaining about
01:41:55 <oerjan> also, it's only more useable if you insist on using ``
01:42:19 <oerjan> and it'll break with all kinds of special characters.
01:42:25 <izabera> nah
01:42:54 <oerjan> still misguided, i see
01:42:57 <izabera> no
01:43:31 <izabera> i can make it better
01:45:15 <oerjan> we used to use lots of `` echo >... stuff for special wisdoms.
01:45:52 <oerjan> they always required escaping stuff. and _any_ command that runs inside `` must intrinsically have the same problem.
01:46:01 <izabera> gimme a min
01:46:35 <oerjan> you can make space the separator, but then you cannot make keys with spaces in them.
01:46:45 <izabera> GIMME. A. MIN.
01:47:38 -!- adu has joined.
01:49:05 <izabera> `` printf '(($#==1)) && set -- "${1%% *}" "${1#* }"; key=${1,,}; shift; cat <<< "${*,,}" > "wisdom/$key" && echo "Learned «$key»"' > bin/leann
01:49:07 <HackEgo> No output.
01:49:38 <oerjan> izabera: btw you should use `mkx >:)
01:49:48 <shachaf> oerjan: oh, you just gave me an idea
01:49:55 <izabera> `learn oerjantest this is a test
01:49:58 <HackEgo> Learned 'oerjantest': oerjantest this is a test
01:50:05 <oerjan> wat
01:50:08 <shachaf> https://www.youtube.com/watch?v=oUUdW2bTa3Y
01:50:08 <oerjan> `? oerjantest
01:50:10 <izabera> i broke somthing
01:50:11 <HackEgo> oerjantest this is a test
01:50:29 <oerjan> izabera: you've just reimplemented _old_ `learn, before the improvements.
01:50:37 <izabera> 1 sec plz
01:51:13 <izabera> `rm wisdom/oerjantest
01:51:14 <oerjan> sweet, sweet despair
01:51:15 <HackEgo> No output.
01:52:05 <izabera> oh wait
01:52:12 <izabera> i used `learn instead of `leann
01:52:19 <izabera> `leann oerjantest this is a test
01:52:22 <HackEgo> Learned «oerjantest this is a»
01:52:27 <izabera> shit
01:52:29 <izabera> `rm wisdom/oerjantest
01:52:30 <HackEgo> rm: cannot remove `wisdom/oerjantest': No such file or directory
01:52:38 <izabera> shit^2
01:52:42 <izabera> `rm wisdom/oerjantest this is a
01:52:44 <HackEgo> No output.
01:52:57 * izabera very noob
01:53:23 <shachaf> `cat bin/run
01:53:23 <HackEgo> echo run run run
01:53:25 <shachaf> what's all this?
01:53:29 <shachaf> `culprits bin/run
01:53:32 <HackEgo> tswett tswett tswett tswett Lyrissa Lyrissa Lyrissa Roujo Roujo elliott elliott FreeFull elliott Gregor elliott
01:54:50 <izabera> i don't understand
01:55:10 <izabera> that code looks ok...
01:56:36 <izabera> `` leann 'test-test-test-test test test test'
01:56:44 <HackEgo> Learned «test-test-test-test test test»
01:56:48 <izabera> whyy
01:56:52 <izabera> what am i doing wrong
01:57:03 <izabera> `rm wisdom/test-test-test-test test test
01:57:06 <HackEgo> No output.
01:57:39 <izabera> `` echo $BASH_VERSION
01:57:40 <HackEgo> 4.2.37(1)-release
01:58:40 <izabera> `` f () { (($#==1)) && set -- "${1%% *}" "${1#* }"; echo "<$1><$2>"; }; f "a b c d e f"
01:58:41 <HackEgo> ​<a><b c d e f>
01:58:46 <izabera> that's correct
01:58:52 <izabera> so wtf is happening
01:59:28 <izabera> `` f () { (($#==1)) && set -- "${1%% *}" "${1#* }"; key=$1; shift; echo "<$key><$*>"; }; f "a b c d e f"
01:59:30 <HackEgo> ​<a><b c d e f>
01:59:36 <izabera> still correct
01:59:55 -!- andrew_ has joined.
02:00:34 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:01:16 <izabera> `` f () { (($#==1)) && set -- "${1%% *}" "${1#* }"; key=${1,,}; shift; echo "Learned «$key»"; }; f "a b c d e f"
02:01:17 <HackEgo> Learned «a»
02:01:36 <izabera> i give up, everything looks correct
02:04:11 <shachaf> `` >bin/cmd echo -e '#!/bin/bash\ncut -d "" -f 3 < /proc/$1/cmdline'; chmod +x /tmp/hmm
02:04:13 <HackEgo> chmod: cannot access `/tmp/hmm': No such file or directory
02:04:20 <shachaf> `` chmod +x bin/cmd
02:04:22 <HackEgo> No output.
02:04:31 <shachaf> `` cmd $$
02:04:32 <HackEgo> cmd $$
02:04:39 <shachaf> `` cmd $$ # content
02:04:40 <HackEgo> cmd $$ # content
02:05:22 <izabera> didn't know that cut uses \0 as a delimiter when you specify ""
02:05:47 <shachaf> `run cmd $$ # oops
02:05:48 <HackEgo> 290
02:06:57 <shachaf> `` >bin/cmd echo -e '#!/bin/bash\npid="$PPID"\n[ -n "$1" ] && pid="$1"; cut -d "" -f 3 < /proc/$pid/cmdline'
02:07:00 <HackEgo> No output.
02:07:05 <shachaf> `` cmd
02:07:06 <HackEgo> cmd
02:08:30 <shachaf> Now you can put definitions in comments without needing to escape.
02:09:11 <shachaf> You might have to parse bash syntax for it, though.
02:09:49 <shachaf> `run cat /proc/$$/cmdline # hmm
02:09:50 <HackEgo> cat./proc/290/cmdline.
02:09:58 <shachaf> `run cat /proc/$PPID/cmdline # hmm
02:09:59 <HackEgo> sh.-c.'env' 'PATH=/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin' 'HACKENV=/hackenv' 'http_proxy=http://127.0.0.1:3128' 'LANG=en_NZ.UTF-8' '/home/hackbot/hackbot.hg/multibot_cmds/lib/limits' 'bash' '-c' 'cat /proc/$PPID/cmdline # hmm' | cat.
02:10:09 <shachaf> I guess you can make it work.
02:10:38 <shachaf> `run cat /proc/$PID/cmdline # This is what I was doing wrong.
02:10:39 <HackEgo> initrd=/usr/bin/../lib/umlbox/umlbox-initrd.gz ubda=/tmp/27380.conf mem=256M con1=null,fd:3 con2=fd:5,fd:8 con=null,null root=98:0
02:11:12 <shachaf> `run cat /proc/cmdline
02:11:12 <HackEgo> initrd=/usr/bin/../lib/umlbox/umlbox-initrd.gz ubda=/tmp/27471.conf mem=256M con1=null,fd:3 con2=fd:5,fd:8 con=null,null root=98:0
02:12:16 -!- XorSwap has joined.
02:13:55 -!- adu has quit (Quit: adu).
02:15:19 <hppavilion[1]> Lambda Nomic is working well :)
02:21:23 -!- adu has joined.
02:23:37 -!- adu has quit (Client Quit).
02:34:18 -!- jaboja has quit (Ping timeout: 250 seconds).
02:37:44 -!- XorSwap has quit (Ping timeout: 276 seconds).
02:46:39 -!- Opodeldoc_ has quit (Quit: Leaving).
02:47:02 -!- Opodeldoc has joined.
02:59:49 -!- Froo has joined.
03:02:36 -!- Froox has quit (Ping timeout: 252 seconds).
03:06:56 -!- heroux has quit (Ping timeout: 256 seconds).
03:07:41 -!- nisstyre has joined.
03:10:36 -!- nisstyre has quit (Changing host).
03:10:36 -!- nisstyre has joined.
03:24:16 -!- heroux has joined.
03:26:48 -!- Sprocklem has joined.
04:24:04 <hppavilion[1]> Here's an idea for a little software suite I could distribute
04:24:10 <hppavilion[1]> hp's HTTP Server Utils
04:24:47 <hppavilion[1]> Basically, it's a pastebin/online IDE(?)/etc all rolled into a single convenient server
04:28:23 -!- adu has joined.
04:32:28 <hppavilion[1]> hadu
04:32:39 <hppavilion[1]> adu: I'm working on λ-nomic's LISP language
04:32:45 <adu> hi
04:33:24 -!- Melvar` has joined.
04:33:27 <hppavilion[1]> adu: What do you think I need in the stdlib? What should I do for control flow?
04:33:36 -!- idris-bot has quit (Ping timeout: 250 seconds).
04:33:37 <adu> what does "λ-nomic" mean?
04:34:21 <hppavilion[1]> adu: It's an online computerized implementation of Nomic
04:34:29 <hppavilion[1]> FOSS
04:34:34 <hppavilion[1]> Probably
04:34:58 -!- Melvar has quit (Ping timeout: 240 seconds).
04:35:14 <adu> hppavilion[1]: a google search for "lambdanomics" gives 0 results
04:35:23 <hppavilion[1]> adu: I haven't published it yet
04:35:36 <adu> then how am I supposed to know?
04:35:43 <hppavilion[1]> adu: Well I would talk to you
04:35:51 <adu> is it FP based?
04:35:57 <hppavilion[1]> adu: FP?
04:36:01 <adu> functional programming
04:36:08 <hppavilion[1]> Freepl- ah
04:36:16 <hppavilion[1]> Yes, it's a LISPy language to be exact
04:36:42 <hppavilion[1]> I currently have basic arithmetic, bitwise, comparators, `stdout`, and `progn`
04:37:17 <adu> for, map, fold-left, fold-right, filter, and-map, or-map, are a good place to start
04:37:19 <hppavilion[1]> The base ruleset is available here: http://206.174.0.58/lambda/rules with helper functions here: http://206.174.0.58/lambda/funcs
04:37:38 <hppavilion[1]> adu: But that's a rough draft, if you have any criticism of my design style, just tell me
04:37:52 <adu> damnit, i forgot about for-all and for-any
04:38:03 <hppavilion[1]> adu: ?
04:38:08 <hppavilion[1]> adu: Ah, yes
04:38:16 <hppavilion[1]> It isn't quite functional
04:38:26 <hppavilion[1]> (Though forall is similar to map)
04:38:29 <adu> "for" would probably be called "for-each" in that case
04:38:34 <hppavilion[1]> adu: OK
04:38:53 <adu> in my world, for-all returns true if f(x) is true for all elements of the input
04:38:56 -!- Melvar`` has joined.
04:39:03 <hppavilion[1]> adu: Ah
04:39:05 <adu> in my world, for-each returns void, always
04:39:41 <adu> but in all other aspects, is equivalent to map
04:40:27 <adu> and-map is defined here:
04:40:28 <adu> https://docs.racket-lang.org/reference/pairs.html#%28def._%28%28lib._racket%2Fprivate%2Fmap..rkt%29._andmap%29%29
04:40:38 <adu> and or-map:
04:40:38 <adu> https://docs.racket-lang.org/reference/pairs.html#%28def._%28%28lib._racket%2Fprivate%2Fmap..rkt%29._ormap%29%29
04:41:10 -!- Melvar` has quit (Ping timeout: 272 seconds).
04:41:18 <adu> hppavilion[1]: is that too much info?
04:41:43 <hppavilion[1]> adu: Nope
04:42:22 <adu> andmap/ormap are useful in defining things like is-alpha? and is-digit? on both characters and strings
04:43:31 <adu> also useful in defining (<=) applied to arbitrary lists
04:43:48 <hppavilion[1]> adu: Ooooh
04:44:27 <adu> andmap is very useful
04:45:47 -!- Sgeo has quit (Ping timeout: 276 seconds).
04:48:53 <adu> I might be using scheme-names, because I am more familiar with scheme, but I know that lisp progn is the same as scheme begin
04:52:13 <adu> oh, and for-any returns true if there exists an x in the input such that f(x) is true
04:52:36 <hppavilion[1]> adu: Implmeented
04:52:47 <adu> hppavilion[1]: all of them? even filter?
04:53:05 <hppavilion[1]> adu: I mean and-map and or-map
04:53:08 <adu> ah ok
04:53:23 <hppavilion[1]> (is there no xor-map, nand-map, nor-map, and xnor-map? xD)
04:53:33 <adu> no, that would just be silly
04:53:40 <hppavilion[1]> adu: Would it REALLY?
04:53:47 <hppavilion[1]> adu: How about add-map?
04:53:52 <adu> http://clhs.lisp.se/Body/f_boole.htm
04:54:21 <adu> that's a Common Lisp function that implements every possible 2-argument binary operation on the booleans
04:54:21 <hppavilion[1]> Which uses the truth table used by bin+bin
04:54:31 <adu> that's just silly
04:54:41 <hppavilion[1]> adu: This is #esoteric
04:54:45 <adu> :)
04:56:21 <adu> actually, you could probably implement for-all and for-any with and-map/or-map
04:59:45 -!- heroux has quit (Ping timeout: 240 seconds).
05:00:01 -!- perrier_ has quit (Remote host closed the connection).
05:01:16 -!- Guest9703 has joined.
05:01:53 -!- heroux has joined.
05:03:38 <oerjan> adu: just by the names, i'd have guessed they were the same thing
05:04:10 <adu> oerjan: they're probably the same for 1 list
05:04:44 <adu> http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib-Z-H-4.html
05:04:49 <adu> n/m, they're both n-ary
05:05:22 <hppavilion[1]> adu: So is there anything I did wrong with the rules I set forth?
05:05:29 <hppavilion[1]> (I really like to set things forth)
05:05:53 -!- jix has quit (Remote host closed the connection).
05:06:37 <adu> hppavilion[1]: it's usually more efficient to iterate once, test twice, than to iterate twice with a single test
05:07:36 <hppavilion[1]> adu: In what function/rule did I do that?
05:07:44 <adu> hppavilion[1]: the first two
05:07:49 <hppavilion[1]> adu: Ah
05:07:57 <oerjan> adu: yeah, seem identical
05:09:00 -!- Sprocklem has quit (Ping timeout: 250 seconds).
05:09:05 <adu> I would do something like (let ((x (lowercase (lastmessage (player))))) (cond ((= x "i register") ...) ((= x "i leave") ... )))))
05:09:06 <hppavilion[1]> adu: I don't see it in the first rule :/
05:09:29 <hppavilion[1]> Oh!
05:09:37 <hppavilion[1]> You want me to merge the rules!
05:09:39 <hppavilion[1]> I can do that
05:10:37 <adu> do you have "let" in your language?
05:10:55 <adu> if not, you could totally implement it with lambda
05:11:18 <adu> ((lambda (x) ...) (lowercase (lastmessage (player))))
05:13:15 <\oren\> WTF is everything down!?!?!
05:13:34 <adu> \oren\: Rackspace as been having a temper tantrum
05:13:50 <\oren\> google is down, rt is down, nhl is down, but irc is still up somehow?
05:14:09 <adu> google isn't down, are you sure it's not your DNS?
05:14:28 <\oren\> maybe my dns is down
05:14:43 <adu> \oren\: would you like some DNS ip addresses?
05:14:57 <\oren\> sure
05:16:48 <adu> Google: 8.8.8.8, 8.8.4.4, OpenDNS: 208.67.222.222, 208.67.220.220, Verizon: 75.75.75.75, 75.75.76.76
05:16:48 <hppavilion[1]> adu: OK
05:17:01 <hppavilion[1]> adu: I haven't implemented let, but I'm still designing the language
05:17:30 <hppavilion[1]> \oren\: Up is Down
05:17:32 <hppavilion[1]> hth
05:22:09 <adu> \oren\: that's my personal order, the most reliable is opendns (also in my opinion, the quickest latency), google the next reliable, and verizon is a piece of crap, but easy to remember
05:31:14 -!- Sgeo has joined.
05:33:09 -!- Sgeo_ has joined.
05:36:28 -!- Sgeo has quit (Ping timeout: 276 seconds).
05:57:23 <adu> \oren\: did it work?
06:01:28 -!- \oren\ has quit (Ping timeout: 256 seconds).
06:02:44 <hppavilion[1]> adu: DAMN YOU, adu!
06:02:55 <adu> what did I do?
06:03:04 <hppavilion[1]> adu: Notice hat \oren\ has quite
06:03:06 <hppavilion[1]> *quit
06:03:10 <hppavilion[1]> Clearly, it did not work
06:03:14 -!- \oren\ has joined.
06:03:22 <hppavilion[1]> Oh, maybe it did
06:03:33 <hppavilion[1]> \oren\: That was about you, ftr
06:03:45 <adu> or maybe it did work, and he could finally access Pr0n, which might by why he left
06:05:00 <hppavilion[1]> adu: That's probably it
06:05:38 <adu> I'm not saying that's the reason, it's just a theory
06:06:00 <hppavilion[1]> adu: A PR0N theory
06:06:01 <\oren\> well that fixed it up real good
06:06:05 <\oren\> I changed the dns settings on ym router from Bell's crapped out wervers to the opendns and 8.8.8.8
06:06:07 <hppavilion[1]> Thanks so much for watching
06:06:08 <\oren\> that's the last time some scarborough hoopleheads screw up my personal internet
06:06:13 <adu> lolol
06:06:44 <oerjan> famous last words indead
06:06:45 * adu <3 opendns
06:07:03 <hppavilion[1]> <pyon> hppavilion[1]: What exaxctly is a “hardware SQL table”?
06:07:10 <adu> you're supposed to pay them if you use it commercially
06:07:18 * oerjan notes his ominous typo
06:07:44 <hppavilion[1]> <PlanckWalk> A wooden table with the words SQL etched into it.
06:07:47 <adu> but opendns doesn't define "commercially" so I use it at work on 2 whole servers
06:08:01 <hppavilion[1]> oerjan: communismily
06:09:19 <hppavilion[1]> adu: Could you help me test λ-nomic when it's up and running?
06:09:50 <adu> hppavilion[1]: sure
06:09:56 <hppavilion[1]> adu: TY
06:09:58 <adu> if my cat isn't an issue
06:10:27 <hppavilion[1]> adu: It probably won't be
06:10:42 <hppavilion[1]> adu: Besides, your cat will probably be living on a farm by the time I've got it working xD
06:10:47 <adu> my cat is crazy, but mostly, I like blaming animate objects
06:11:36 <hppavilion[1]> adu: The big part I have to do is hack together an interface between a user-based chat client (similar to IRC) and my rule API
06:11:46 <hppavilion[1]> Also, get functions working in λ-nomic LISP
06:11:56 <adu> I can get functions to function
06:12:03 <hppavilion[1]> adu: xD
06:12:27 <hppavilion[1]> adu: But will your functional function implementation be functional? Or imperative?
06:13:05 -!- MDude has changed nick to MDream.
06:13:28 <hppavilion[1]> adu: Also, I have to design the entire website... and figure out authentication (though that'll be after testing)
06:13:32 <hppavilion[1]> Wow, this is a big project
06:13:37 <adu> hppavilion[1]: I'm hindered by writing many sofwares in Haskell, I cannot think imperatively anymore
06:14:03 <hppavilion[1]> adu: That must be weird. Not for you, but for anybody who visits the inside of your head.
06:14:42 <adu> hence, my first task in any imperative language is to define map, filter, etc.
06:15:01 <hppavilion[1]> adu: Great xD
06:15:20 <hppavilion[1]> adu: What about designing lists?
06:15:35 <hppavilion[1]> "My first task in any imperative language is to define an implementation of Haskell"
06:15:52 <hppavilion[1]> - The Doctor
06:16:53 -!- jaboja has joined.
06:17:54 <myname> i approve of that
06:22:25 <lambda-11235> hppavilion[1]: Doctor who?
06:22:31 <hppavilion[1]> lambda-11235: Yes.
06:26:30 -!- lambda-11235 has quit (Quit: WeeChat 1.4).
06:26:43 <adu> hppavilion[1]: designing?
06:27:09 <hppavilion[1]> adu: ?
06:27:20 <hppavilion[1]> Design the website?
06:27:26 <adu> hppavilion[1]: adu: What about designing lists?
06:27:28 <hppavilion[1]> What about it?
06:27:33 <hppavilion[1]> Ah
06:27:37 <hppavilion[1]> I meant defining
06:27:41 <adu> oh
06:27:43 <myname> adu: implementing lazyness in imperative languages could be quite the challenge
06:27:46 <adu> defining?
06:28:14 <adu> myname: the way that Python does it, is you have a class, and a method called __next__()
06:28:15 <myname> lists are easy
06:28:23 <hppavilion[1]> adu: YOu define map, filter, etc. But what about the lists they operate on? LTIC, C doesn't include homogenous unbounded lists as a builtin
06:28:33 <myname> well yeah, do that in C
06:28:49 <adu> myname: _myclass_next_()
06:29:55 <myname> you have to rewrite anything iterating
06:30:06 <myname> it's possible, of course
06:30:21 <myname> i like rusts lists
06:30:28 * adu <3 Rust
06:30:38 <adu> Mozilla is genious
06:30:39 <hppavilion[1]> adu <3 many things
06:30:43 <hppavilion[1]> Must be Cupid
06:30:47 <hppavilion[1]> St. Cupid
06:30:48 <hppavilion[1]> xD
06:30:51 * adu </3 Microsoft
06:31:05 <adu> Microsoft is stupid
06:31:26 <myname> rust is like the most a haskell programmer can wish for in an imperative language
06:31:26 <lifthrasiir> so does many other companies
06:31:28 <lifthrasiir> do*
06:31:52 <lifthrasiir> nowadays Microsoft is *less* stupid than it used to be I believe
06:31:56 <adu> Apple is stupid too, but I haven't found a company that makes sexy hardware with Linux preinstalled...
06:32:46 <adu> so I run tha MacOSX version of Oracle VirtualBox to run my favorite linuxes
06:33:16 <myname> for a while i really thought about buying an arm notebook
06:33:30 <myname> but they suck as much as x64 notebook do
06:33:31 <adu> myname: examples?
06:34:02 <adu> https://www.xi3.com/desktops/x7a-modular-computer
06:34:20 <adu> this is my favorite desktop computer, and you can select Linux to be preinstalled
06:34:42 <myname> what i basically want is: <=12", full hd or better, vaio like keyboard, trackpoint
06:34:45 <adu> it's a 4x4x4 cube
06:34:56 <myname> desktops are easy
06:35:27 <adu> This is still my ideal desktop: http://www.apple.com/mac-pro/
06:36:03 <myname> the basic trick is to not care wether linux is preinstalled or not
06:36:14 <myname> the preinstalled linux will probably suck
06:36:23 <adu> myname: just delete everything and install it anyways?
06:36:30 <myname> yeah
06:36:41 <adu> you *can* install linux on macpro
06:36:47 -!- heroux has quit (Ping timeout: 264 seconds).
06:37:40 <myname> i am not at all interested in desktops
06:37:50 <adu> myname: My personal beef is with *subsidising* the purchase of windows along with whatever PC hardware I get
06:38:30 <myname> hardware with windows can actually be cheaper
06:38:46 <adu> I don't want to give any money to microsoft, even if it's only $50 of the cost of a laptop, or whatever
06:39:39 <myname> there are a lot of laptops for which microsoft actually pays to get windows on it
06:40:04 <pikhq_> adu: That link to the "x7a modular computer" has a bad cert. I ain't looking.
06:40:04 <adu> myname: hmm, that might be useful
06:40:25 <adu> sorry, feel free to not look
06:40:39 <adu> I'm not trying to sell xi3, I just think they make cute computers
06:42:12 <adu> apple is probably more hip with the Google-Chrome-will-outlaw-Sha1-in-a-month policy
06:42:24 <pikhq_> In this case, the cert was *expired*.
06:45:44 -!- heroux has joined.
06:46:48 <hppavilion[1]> YES!
06:46:51 <hppavilion[1]> GOT FUNCTIONS WORKING!
06:47:07 * hppavilion[1] raises his hand to adu for a high five
06:47:27 * adu gves hppavilion[1] a high 5
06:54:57 * zgrep gives adu a high C
06:58:35 <zgrep> I'm going to need it back, though. Some time tomorrow.
07:00:43 * adu gives zgrep it back
07:01:03 <zgrep> But I don't have space for it, yet!
07:01:08 * zgrep hands it back to adu
07:07:26 -!- andrew_ has quit (Remote host closed the connection).
07:09:44 -!- andrew_ has joined.
07:10:43 -!- heroux has quit (Ping timeout: 276 seconds).
07:14:41 -!- tromp__ has quit (Remote host closed the connection).
07:19:57 -!- heroux has joined.
07:23:45 <hppavilion[1]> adu: I'm back, though I suppose you don't realize I was gone
07:23:58 <adu> hppavilion[1]: i didnt
07:24:07 <hppavilion[1]> adu: Well I am, and I was xD
07:24:28 <hppavilion[1]> adu: If you like, you can design your own ruleset for λ-nomic and I'll implement it
07:24:47 <hppavilion[1]> Perhaps something less... bare bones than mine xD
07:25:01 <hppavilion[1]> (Though then again, starting bare bones IS sort of the point, but...)
07:29:55 <adu> well, anymap/ormap aren't really barebones, because they can be descibed with map and and
07:30:39 <adu> but then again "map" isn't barebones either, because it can be described with "pair" (I think the common lisp term for this is cons, same as scheme) and recursion
07:35:49 -!- hppavilion[2] has joined.
07:40:38 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
07:40:47 <hppavilion[2]> adu: No, I mean the ruleset is barebones
07:40:59 <hppavilion[2]> adu: The ruleset is the rules the players follow, not the langauge
07:41:05 <adu> for general mmorgp?
07:42:36 <adu> no, you also need "requestop", which would get a password from you, and "kick", which would allow admins to kcik stupid players for being stupid
07:42:57 <hppavilion[2]> adu: No, for Nomic
07:43:06 <adu> what's nomic?
07:43:10 <hppavilion[2]> adu: ...
07:43:19 <hppavilion[2]> Nomic is a game for making up rules
07:43:27 <hppavilion[2]> It's the game that I sent you the scripts for
07:43:34 <hppavilion[2]> The ones in LISP
07:43:35 <adu> you sent me 3 paragraphs
07:43:40 <hppavilion[2]> adu: Of scripts
07:43:46 <hppavilion[2]> adu: Those are game rules
07:43:53 <hppavilion[2]> adu: The actual backend code is in Python
07:43:59 <adu> right, but players are stupid, you need to kick them sometimes
07:44:12 <hppavilion[2]> adu: In the game, the objective is to modify those scripts to make the game more fun
07:44:14 <hppavilion[2]> adu: Good point
07:44:34 <adu> hppavilion[2]: I think I understand this better than you do
07:44:36 -!- Vorpal has quit (Ping timeout: 256 seconds).
07:44:45 <hppavilion[2]> adu: You don't even know what Nomic is xD
07:44:53 <adu> hppavilion[2]: correct
07:45:08 <hppavilion[2]> https://en.wikipedia.org/wiki/Nomic
07:45:15 <hppavilion[2]> Read that and you will understand
07:45:36 <hppavilion[2]> adu: The LISP is the rules of the game, not the code that drives the game
07:45:48 <adu> hppavilion[2]: http://angryorchard.com/our-ciders/cider-house-collection/the-legend-of-the-muse
07:46:09 <hppavilion[2]> Most of the code is in Python, but the game is in LISIP
07:46:10 <hppavilion[2]> *LISP
07:46:13 <adu> hppavilion[2]: that's what I'm drinking right now
07:46:29 -!- kragniz has quit (Ping timeout: 276 seconds).
07:46:49 -!- kragniz has joined.
07:48:37 -!- jix has joined.
07:49:22 -!- Vorpal has joined.
07:49:50 -!- oerjan has quit (Quit: Latör).
07:50:26 -!- jaboja has quit (Ping timeout: 252 seconds).
07:50:50 -!- hppavilion[2] has quit (Ping timeout: 256 seconds).
07:50:55 -!- hppavilion[1] has joined.
07:51:05 <hppavilion[1]> That was weird
07:51:27 <adu> hppavilion[1]: the IRC split? or my cider recommendation?
07:51:49 <hppavilion[1]> adu: Oh, is that what happened?
07:51:49 <hppavilion[1]> I wasn't on for the cider recommendation
07:52:08 <adu> adu: hppavilion[2]: http://angryorchard.com/our-ciders/cider-house-collection/the-legend-of-the-muse
07:54:55 <hppavilion[1]> adu: So do you understand Nomic now?
07:57:27 <adu> hppavilion[1]: there are rules that allow you to change rules.
07:57:47 <hppavilion[1]> adu: Yes
07:57:54 <hppavilion[1]> adu: And I'm automating it
07:58:18 <adu> hppavilion[1]: Do you understand CAH?
07:58:29 <hppavilion[1]> adu: Nope
07:58:38 <hppavilion[1]> adu: My internet's down
07:58:48 <adu> hppavilion[1]: how are you here?
07:58:49 <hppavilion[1]> adu: But IRC still works
07:58:57 <hppavilion[1]> (Deja vu)
07:59:02 <hppavilion[1]> adu: The internet is connecting, but I can't load any webpages
07:59:17 <hppavilion[1]> I probably have the same DNS as \oren\ xD
08:00:01 <adu> https://50.87.23.105/
08:00:47 <hppavilion[1]> adu: My connection is not secure
08:01:01 <hppavilion[1]> adu: Should.... should I click it?
08:01:22 <hppavilion[1]> Oh, it's Cards Against Humanity
08:01:27 <adu> that's because the SSL cert is associated with the domain name, which is not in the URL because you are having DNS issues
08:01:36 <hppavilion[1]> Huh, that loaded
08:03:07 <adu> hppavilion[1]: are you using opendns/google/verizon?
08:03:19 <hppavilion[1]> adu: I don't know if it's my DNS
08:03:23 <hppavilion[1]> Or did you confirm it was?
08:03:58 <adu> hppavilion[1]: DNS settings are usually stored in RAM or HD, which I don't have access to
08:04:22 <hppavilion[1]> adu: And how do I access that?
08:04:29 <adu> hppavilion[1]: what OS?
08:04:31 <hppavilion[1]> adu: Well the link could've been you confirming...
08:04:36 <hppavilion[1]> Windows
08:04:39 <hppavilion[1]> 10
08:06:09 <adu> Windows 10: "Network Connection" / "Properties" / "Internet Protocol Version 4" / "Use the following DNS server addresses" / Enter IP addresses
08:09:02 <hppavilion[1]> adu: OK, switched it to OpenDNS w/ alt google
08:09:13 <adu> hppavilion[1]: very wise
08:09:16 <hppavilion[1]> Took a slightly different path because I couldn't find the root
08:09:29 <hppavilion[1]> But it appears to be the correct interface
08:09:36 <hppavilion[1]> It worked
08:09:42 <adu> hppavilion[1]: that's because Windows is stupid
08:09:46 <hppavilion[1]> Thank you adu
08:09:48 <hppavilion[1]> :)
08:10:14 <adu> you should use Linux, but if I took my own advice, then I wouldn't be using Mac, which I am
08:11:26 <adu> hppavilion[1]: the root was supposed to be "Start Menu", but I realise that may not exist anymore
08:11:34 <hppavilion[1]> Ah
08:11:46 <hppavilion[1]> adu: I tried to get Linux working, but I couldn't
08:12:04 <adu> I tried to find "Start Menu" on Windows 8 once, and I spent about 3 hours, with no luck
08:12:46 <adu> then I googled it, and found out it's in the top-left corner mouseover
08:15:13 -!- tromp_ has joined.
08:18:55 <hppavilion[1]> adu: They brought it back for 10, at least
08:19:14 <adu> hppavilion[1]: I had no idea, but thanks for the info
08:19:42 -!- tromp_ has quit (Ping timeout: 265 seconds).
08:20:47 <adu> what would be really cool, is if every operating system had a directory, like /etc, where all configuration was stored
08:24:29 -!- adu has quit (Quit: adu).
08:26:44 -!- heroux has quit (Ping timeout: 248 seconds).
08:26:51 <hppavilion[1]> TMW you read "humor" as "horror"
08:27:33 -!- heroux has joined.
08:29:40 -!- Treio has quit (Ping timeout: 252 seconds).
08:33:55 <hppavilion[1]> Here's an idea for a stupid game
08:34:07 <hppavilion[1]> The x86-style opcode card game
08:36:38 <hppavilion[1]> My new second-favourite wiki: http://www.dvorakgame.co.uk
08:40:43 -!- madbr has quit (Quit: Pics or it didn't happen).
08:40:58 <hppavilion[1]> Call of Cthulhu + x86 opcodes + card game
08:43:14 <hppavilion[1]> Call of x86: The Card Game
08:51:47 -!- gniourf has quit (Read error: Connection reset by peer).
09:13:02 -!- AnotherTest has joined.
09:15:00 -!- gniourf has joined.
09:38:41 -!- andrew_ has quit (Remote host closed the connection).
09:39:15 -!- heroux has quit (Ping timeout: 240 seconds).
09:39:18 -!- andrew_ has joined.
09:39:39 -!- heroux has joined.
09:48:33 -!- AnotherTest has quit (Ping timeout: 240 seconds).
09:49:36 -!- J_Arcane has quit (Ping timeout: 252 seconds).
09:53:14 -!- heroux has quit (Ping timeout: 276 seconds).
09:55:30 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
10:01:23 -!- heroux has joined.
10:12:11 -!- heroux has quit (Ping timeout: 264 seconds).
10:24:58 -!- heroux has joined.
10:49:49 -!- bender|_ has joined.
10:54:22 -!- bender|_ has changed nick to bender.
11:00:35 -!- clog has quit (Ping timeout: 260 seconds).
11:09:11 -!- heroux has quit (Ping timeout: 264 seconds).
11:09:51 -!- heroux has joined.
11:16:29 -!- tromp_ has joined.
11:20:48 -!- tromp_ has quit (Ping timeout: 250 seconds).
11:23:20 -!- heroux has quit (Ping timeout: 272 seconds).
11:27:13 -!- heroux has joined.
11:34:44 -!- boily has joined.
11:43:22 -!- clog has joined.
11:45:27 <boily> @metar CYUL
11:45:27 <lambdabot> CYUL 161138Z 02011KT 1 1/2SM -SN OVC015 M07/M09 A2992 RMK SN5SC3 SLP135
12:09:19 -!- J_Arcane has joined.
12:11:07 -!- AnotherTest has joined.
12:18:28 <fizzie> @metar EGLL
12:18:29 <lambdabot> EGLL 161150Z AUTO 19009KT 160V240 9999 NCD 06/01 Q1035 NOSIG
12:18:35 <fizzie> It's a fine day.
12:18:45 <fizzie> As far as weather goes, anyway.
12:20:27 <b_jonas> `ctof 36.4
12:20:37 <b_jonas> `wisdom
12:20:40 <HackEgo> 36.40°C = 97.52°F
12:20:45 <HackEgo> anagram/Interestingly, "Robert Galbraith" is *not* an anagram of "J. K. Rowling".
12:21:43 <fizzie> `ftoc 0
12:21:45 <HackEgo> 0.00°F = -17.78°C
12:25:41 <boily> fizziello. later today CYUL will be about the same as EGLL.
12:26:16 -!- boily has quit (Quit: SPACESHIP CHICKEN).
12:26:52 <fizzie> Oh no, UK and Canada are going to merge? Sounds drastic.
12:29:06 -!- andrew_ has quit (Ping timeout: 252 seconds).
12:43:23 -!- heroux has quit (Ping timeout: 264 seconds).
12:43:59 -!- Melvar`` has changed nick to Melvar.
12:44:12 <b_jonas> `? canada
12:44:15 <HackEgo> Canada is Big Scotland. Like, you know, very big.
12:44:30 <fizzie> Integrated circuit.
12:45:54 -!- heroux has joined.
12:58:26 -!- bender has quit (Ping timeout: 252 seconds).
12:59:04 -!- bender has joined.
13:40:37 -!- tromp_ has joined.
14:06:19 -!- J_Arcane has quit (Remote host closed the connection).
14:10:30 -!- Treio has joined.
14:20:08 -!- `^_^v has joined.
14:28:06 -!- idris-bot has joined.
14:43:34 <b_jonas> `? scotland
14:43:48 <HackEgo> ​<Phantom_Hoover> it's that place where they all wear kilts and chase haggises around whilst warding off the loch ness monster with bagpipes
14:54:59 -!- lambda-11235 has joined.
14:58:55 <b_jonas> `? sweden
14:58:57 <b_jonas> `? UK
14:59:00 <HackEgo> Sweden is the suburb capital of Norway. It's where all the Nobel prizes are announced, except the Math Prize.
14:59:00 <HackEgo> UK? ¯\(°​_o)/¯
14:59:06 <b_jonas> `? Norway
14:59:07 <HackEgo> Norway is the suburb capital of Sweden. It's where the Nobel Peace Prize is announced.
15:00:21 <fizzie> `? Finland
15:00:22 <HackEgo> Finland is a European country. There are two people in Finland, and at least nine of them are in this channel. Corun drives the bus.
15:01:15 <fizzie> Well, for completeness.
15:01:19 <fizzie> `? Denmark
15:01:20 <HackEgo> Denmark? ¯\(°​_o)/¯
15:01:22 <fizzie> `? Iceland
15:01:23 <HackEgo> Iceland? ¯\(°​_o)/¯
15:01:25 <fizzie> Aw.
15:01:34 <\oren\> `? canada
15:01:35 <HackEgo> Canada is Big Scotland. Like, you know, very big.
15:01:43 <\oren\> oh right
15:01:44 <Taneb> Don't you love it when you go to a lecturer's office to ask a question about an edge case in an algorithm described in a module he teaches, and his response is "I don't know, but it doesn't actually matter"
15:01:55 <\oren\> rrgh
15:12:46 -!- MDream has changed nick to MDude.
15:18:11 -!- AnotherTest has quit (Ping timeout: 264 seconds).
15:19:00 -!- Treio has quit (Ping timeout: 248 seconds).
15:28:35 -!- bender has quit (Ping timeout: 240 seconds).
15:35:22 -!- AnotherTest has joined.
15:36:08 -!- Treio has joined.
15:37:01 -!- Treio has quit (Remote host closed the connection).
15:42:20 -!- AnotherTest has quit (Ping timeout: 260 seconds).
15:46:29 -!- atslash has quit (Quit: This computer has gone to sleep).
15:57:57 -!- lambda-11235 has quit (Quit: WeeChat 1.4).
16:12:57 -!- spiette has joined.
16:14:36 -!- ski____ has quit (Ping timeout: 252 seconds).
16:21:32 <int-e> Taneb: No I wouldn't love it.
16:21:54 <int-e> Taneb: It's okay to not know, but it's not ok not to care.
16:21:57 -!- ski has joined.
16:24:57 <FireFly> `? Scandinavia
16:25:03 <HackEgo> Scandinavia? ¯\(°​_o)/¯
16:29:59 <quintopia> hint-e
16:30:12 <int-e> @uptime
16:30:13 <lambdabot> uptime: 1m 11d 20h 51m 38s, longest uptime: 1m 11d 20h 51m 38s
16:30:34 <quintopia> wow
16:33:33 -!- LexiciScriptor has joined.
16:34:59 <int-e> perhaps I should finally do some lb maintenance... with ghc 8.0.1 on the doorstep...
16:36:26 -!- XorSwap has joined.
16:36:53 -!- XorSwap has quit (Read error: Connection reset by peer).
16:37:17 -!- XorSwap has joined.
16:38:08 <HackEgo> [wiki] [[Condit]] M https://esolangs.org/w/index.php?diff=46408&oldid=42127 * LegionMammal978 * (+13) /* External resources */
16:43:48 -!- ski has quit (Ping timeout: 272 seconds).
16:46:06 -!- Lord_of_Life has quit (Excess Flood).
16:48:06 -!- Lord_of_Life has joined.
16:55:27 -!- ski has joined.
17:02:54 <b_jonas> `? japan
17:02:57 <HackEgo> japan? ¯\(°​_o)/¯
17:03:09 <b_jonas> `? bohemia
17:03:10 <HackEgo> bohemia? ¯\(°​_o)/¯
17:11:22 <int-e> `? geography
17:11:24 <HackEgo> geography? ¯\(°​_o)/¯
17:21:41 -!- tromp_ has quit (Remote host closed the connection).
17:27:35 -!- XorSwap has quit (Ping timeout: 276 seconds).
17:33:25 -!- jix has quit (Quit: Lost terminal).
17:36:18 <b_jonas> `? physics
17:36:20 <HackEgo> physics? ¯\(°​_o)/¯
17:36:22 <b_jonas> `wisdom
17:36:25 <HackEgo> koen/Koen vit au haut de la Tour Eiffel (coordonnées approximatives).
17:38:22 -!- nycs has joined.
17:39:13 -!- jix has joined.
17:39:18 <b_jonas> `? star wars
17:39:19 <HackEgo> star wars? ¯\(°​_o)/¯
17:39:20 <b_jonas> `? harry potter
17:39:21 <HackEgo> harry potter? ¯\(°​_o)/¯
17:39:53 -!- `^_^v has quit (Ping timeout: 265 seconds).
17:46:44 <izabera> i just hacked a server o.o
17:47:44 <izabera> sdf.org gives you a small shell if you donate $1 or more
17:48:06 <izabera> if you don't, you still get a limited sorta-shell with like 6 commands
17:48:37 <izabera> one of these commands is faq
17:49:00 <izabera> and it's an interactive program that asks things and you type things in it
17:49:16 <izabera> and i received some error messages that were very shell-like
17:49:40 <izabera> then i found a thing that gave an error that was obviously a shell math error
17:49:52 <izabera> so i tried array[$(somecmd >&2)]
17:49:55 <izabera> and it works
17:50:12 <izabera> and you can use array[$(bash >&2)]
17:50:17 <izabera> so i now have a shell worth 1$
17:50:27 <izabera> because of my awesome hacking skills
17:53:16 * izabera fixes their script...
17:53:25 <shachaf> `olist 1024
17:53:26 <HackEgo> olist 1024: shachaf oerjan Sgeo FireFly boily nortti b_jonas
17:53:34 <b_jonas> oh
17:53:39 <b_jonas> let me look
17:54:03 <b_jonas> olist: also, the news page is updated today
17:54:09 <b_jonas> with GOOD news
17:55:07 <shachaf> Gumroad is scow.
17:55:54 <shachaf> And when you send an email to complain about their user interface (to accomplish a simple transaction I have to read the source code to their web page and do some reverse engineering), they don't really care.
17:56:40 <b_jonas> shachaf: yeah, their web interface sucks, just like so many webpages these days
17:58:40 <b_jonas> oh... vampire shenenigans
17:59:09 <b_jonas> I suspected that would come up somehow, but I didn't guess it was this way
18:00:47 <b_jonas> do you think the restriction works for public places too? or only private homes and closed places like churches?
18:00:56 <b_jonas> in the stickiverse that is
18:00:57 <b_jonas> hmm
18:01:11 <b_jonas> maybe it works for "homes", and the dwarven homeland counts as one?
18:08:29 <shachaf> b_jonas: whoa whoa whoa, spoilers
18:08:34 <shachaf> i haven't read it yet
18:09:30 <shachaf> b_jonas: Here's a puzzle: Start at https://gumroad.com/richburlew , and try to send a gift copy of a PDF.
18:10:00 <shachaf> (Oh, they've made it somewhat easier since last time I tried.)
18:14:05 <shachaf> b_jonas: What vampire shenanigans?
18:22:11 -!- tromp_ has joined.
18:27:22 -!- tromp_ has quit (Ping timeout: 276 seconds).
18:34:38 -!- Treio has joined.
18:38:04 -!- Treio has quit (Remote host closed the connection).
18:38:51 -!- Treio has joined.
18:41:42 -!- Treio has quit (Remote host closed the connection).
18:41:52 -!- Phantom_Hoover has joined.
18:47:49 <b_jonas> shachaf: they're mentioned in the forum too. D&D rules says (based on some legends) that a vampire is unable to enter to a home unless he is invited by the owners.
18:48:47 <b_jonas> shachaf: http://www.d20srd.org/srd/monsters/vampire.htm Vampires “are utterly unable to enter a home or other building unless invited in by someone with the authority to do so. They may freely enter public places, since these are by definition open to all.”
18:50:19 <b_jonas> That's why a vampire often has to hide that it's a vampire.
19:00:44 <b_jonas> The ironic part is of course that vampire Durkon will regenerate his mother's missing arm, and pay from Durkon's money, to convince the dwarves that he's still Durkon.
19:00:50 -!- lynn has joined.
19:04:33 <b_jonas> And Durkon will thank him just like how O-Chul thanked Belkar.
19:07:09 -!- earendel has joined.
19:07:57 -!- Treio has joined.
19:12:36 -!- AnotherTest has joined.
19:13:15 -!- lambda-11235 has joined.
19:14:20 -!- Treio_ has joined.
19:14:35 -!- Treio has quit (Ping timeout: 264 seconds).
19:32:24 -!- Alcedo has joined.
19:34:15 -!- lambda-11235 has quit (Ping timeout: 240 seconds).
19:35:08 -!- Alcedo has left.
19:41:47 -!- lambda-11235 has joined.
19:45:51 -!- hppavilion[1] has joined.
19:45:52 <hppavilion[1]> I'm ba-ack!
19:58:43 <izabera> http://jebbush.com
20:03:36 -!- jaboja has joined.
20:05:56 -!- J_Arcane has joined.
20:11:15 -!- lambda-11235 has quit (Ping timeout: 260 seconds).
20:13:15 -!- lleu has quit (Ping timeout: 240 seconds).
20:15:39 -!- lleu has joined.
20:15:40 -!- lleu has quit (Changing host).
20:15:40 -!- lleu has joined.
20:22:46 -!- tromp_ has joined.
20:27:38 -!- tromp_ has quit (Ping timeout: 276 seconds).
20:29:20 -!- Treio_ has quit (Ping timeout: 260 seconds).
20:38:57 -!- oerjan has joined.
21:05:51 <oerjan> <lambdabot> uptime: 1m 11d 20h 51m 38s, longest uptime: 1m 11d 20h 51m 38s <-- ooh
21:05:56 <oerjan> @uptime
21:05:56 <lambdabot> uptime: 1m 12d 1h 27m 22s, longest uptime: 1m 12d 1h 27m 22s
21:06:04 <oerjan> @botsnack
21:06:04 <lambdabot> :)
21:07:46 <oerjan> `? japan
21:07:57 <HackEgo> japan? ¯\(°​_o)/¯
21:12:48 <oerjan> `learn Japan is so far from Finland. However, like Finland, it is so close to Russia, and quite a long way from Cairo. It's much fewer miles from Vietnam than Finland is.
21:12:57 <HackEgo> Learned 'japan': Japan is so far from Finland. However, like Finland, it is so close to Russia, and quite a long way from Cairo. It's much fewer miles from Vietnam than Finland is.
21:13:26 <oerjan> oops
21:14:04 <oerjan> `learn Japan is so far from Finland. However, like Finland, it is so near to Russia, and quite a long way from Cairo. It's much fewer miles from Vietnam than Finland is.
21:14:08 <HackEgo> Learned 'japan': Japan is so far from Finland. However, like Finland, it is so near to Russia, and quite a long way from Cairo. It's much fewer miles from Vietnam than Finland is.
21:14:37 <oerjan> `learn Japan is so far from Finland. However, like Finland, it is so near to Russia, and quite a long way from Cairo. It's many fewer miles from Vietnam than Finland is.
21:14:41 <HackEgo> Learned 'japan': Japan is so far from Finland. However, like Finland, it is so near to Russia, and quite a long way from Cairo. It's many fewer miles from Vietnam than Finland is.
21:14:51 <oerjan> accuracy is hard.
21:15:37 <shachaf> so far so good
21:19:44 <oerjan> `? star wars
21:19:45 <HackEgo> star wars? ¯\(°​_o)/¯
21:22:30 <oerjan> `le/rn star wars/Star Wars was a missile defence system invented by Ronald Reagan. With it, he managed to destroy the Soviet Union, then rode into the sunset.
21:22:32 <HackEgo> Learned «star wars»
21:26:51 <oerjan> `? russia
21:26:52 <HackEgo> russia? ¯\(°​_o)/¯
21:28:31 <oerjan> `learn Russia is a country so huge it manages to be near to both Finland and Japan. It used to be part of the Soviet Union before Ronald Reagan destroyed it.
21:28:33 <HackEgo> Learned 'russia': Russia is a country so huge it manages to be near to both Finland and Japan. It used to be part of the Soviet Union before Ronald Reagan destroyed it.
21:28:47 <oerjan> `learn Russia is a country so huge it manages to be so near to both Finland and Japan. It used to be part of the Soviet Union before Ronald Reagan destroyed it.
21:28:50 <HackEgo> Learned 'russia': Russia is a country so huge it manages to be so near to both Finland and Japan. It used to be part of the Soviet Union before Ronald Reagan destroyed it.
21:29:22 <oerjan> `? the them
21:29:24 <HackEgo> Information on the THEM has been removed for national security reasons.
21:33:18 <oerjan> `le/rn soviet union/In ancient history, the Soviet Union used to be The THEM. They believed in absurd principles like "Better Red than Dead". Then Ronald Reagan invented Star Wars to destroy it, after which there seemed to be no The THEM for a while.
21:33:22 <HackEgo> Learned «soviet union»
21:33:58 <shachaf> `? ronald reagan
21:33:59 <HackEgo> ronald reagan? ¯\(°​_o)/¯
21:35:13 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
21:36:34 <oerjan> `le/rn ronald reagan/Ronald Reagan was an actor so great he managed to convince the US that he was the President. Then he created the Star Wars project to destroy the Soviet Union.
21:36:36 <HackEgo> Learned «ronald reagan»
21:36:52 <oerjan> `le/rn ronald reagan/Ronald Reagan was an actor so great that he managed to convince the US that he was the President. Then he created the Star Wars project to destroy the Soviet Union.
21:36:55 <HackEgo> Learned «ronald reagan»
21:37:43 <shachaf> oerjan: makes sense that a star would create Star Wars
21:38:07 <oerjan> indeed
21:39:00 <oerjan> hm
21:39:20 <oerjan> `le/rn soviet union/In ancient history, the Soviet Union used to be the THEM. They believed in absurd principles like "Better Red than Dead". Then Ronald Reagan invented Star Wars to destroy it, after which there seemed to be no the THEM for a while.
21:39:23 <HackEgo> Learned «soviet union»
21:39:26 -!- hppavilion[1] has joined.
21:49:00 <b_jonas> `? j
21:49:01 <HackEgo> j? ¯\(°​_o)/¯
21:49:03 <b_jonas> `? haskell
21:49:05 <HackEgo> Unbound implicit parameter (?haskell::Wisdom) \ arising from a use of implicit parameter `?haskell'
21:49:12 -!- p34k has joined.
21:49:42 <b_jonas> `? C
21:49:43 <HackEgo> C is the language of��V�>WIד�.��Segmentation fault
21:49:46 <b_jonas> `? K
21:49:47 <HackEgo> K K K Ken
21:49:48 <b_jonas> `? J
21:49:49 <HackEgo> J? ¯\(°​_o)/¯
21:49:53 <b_jonas> `? R
21:49:55 <HackEgo> R? ¯\(°​_o)/¯
21:50:04 -!- lynn has quit (Ping timeout: 256 seconds).
21:51:02 <shachaf> `? them
21:51:04 <HackEgo> them? ¯\(°​_o)/¯
21:51:08 <shachaf> `? the them
21:51:09 <HackEgo> Information on the THEM has been removed for national security reasons.
21:51:13 <shachaf> oerjan: what happened to national security twh
21:53:37 <b_jonas> `? C++
21:53:38 <HackEgo> Along with C, C++ is a language for smart people.
21:53:41 <b_jonas> `? octave
21:53:43 <HackEgo> octave? ¯\(°​_o)/¯
21:53:46 <b_jonas> `? rust
21:53:47 <b_jonas> `? go
21:53:48 <HackEgo> Rust is C++ as designed by the makers of Haskell.
21:53:49 <HackEgo> Go is a common verbal game programming language invented by the Germanic Taneb tribes in the strategic territories of East Asia.
21:53:50 <b_jonas> `? golang
21:53:51 <HackEgo> golang? ¯\(°​_o)/¯
21:54:19 <b_jonas> `? ruby
21:54:20 <HackEgo> Ruby is a programming language from Japan, that Eventually decided to support non-ascii characters.
21:54:20 <b_jonas> `? perl
21:54:22 <HackEgo> Perl is the Perfect Emacs Rewriting Language
21:54:23 <b_jonas> `? python
21:54:24 <HackEgo> python? ¯\(°​_o)/¯
21:54:25 <b_jonas> `? php
21:54:26 <HackEgo> php is the PigeonHole Principle
21:54:45 <b_jonas> `? C#
21:54:47 <HackEgo> C Pound is Java's good twin.
21:54:55 <b_jonas> `? java
21:54:56 <HackEgo> java is a programming-language shaped collection of misfeatures
21:55:00 <b_jonas> `? .net
21:55:01 <HackEgo> ​.net? ¯\(°​_o)/¯
21:55:02 <oerjan> shachaf: i could tell you, but then i would have to kill you.
21:55:05 <b_jonas> `? basic
21:55:07 <HackEgo> basic? ¯\(°​_o)/¯
21:55:16 <b_jonas> `? him
21:55:17 <HackEgo> him? ¯\(°​_o)/¯
21:55:31 <b_jonas> `? he
21:55:32 <HackEgo> he? ¯\(°​_o)/¯
21:55:32 <b_jonas> `? sh
21:55:33 <HackEgo> sh? ¯\(°​_o)/¯
21:55:33 <b_jonas> `? she]
21:55:34 <HackEgo> she]? ¯\(°​_o)/¯
21:55:36 <b_jonas> argh
21:55:37 <b_jonas> `? she
21:55:38 <HackEgo> she? ¯\(°​_o)/¯
21:55:43 <b_jonas> `` ls wisdom/sh*
21:55:44 <HackEgo> wisdom/shachaf \ wisdom/shiasdayviaerqjjjjjjjj \ wisdom/shikhin
21:56:01 <b_jonas> `? shiasdayviaerqjjjjjjjj
21:56:02 <HackEgo> shiasdayviaerqjjjjjjjj is the reason why the USA don't use the metric system.
21:56:04 <shachaf> help
21:56:17 <b_jonas> shachaf: go on
21:56:21 <oerjan> shachaf: oh, the fact that the SU was the THEM in the past is not secret hth
21:56:33 <b_jonas> `` ls wisodm/he*
21:56:34 <HackEgo> ls: cannot access wisodm/he*: No such file or directory
21:56:39 <b_jonas> `` ls wisodm/h*
21:56:40 <HackEgo> ls: cannot access wisodm/h*: No such file or directory
21:56:46 <b_jonas> `` ls wisdom/h*
21:56:48 <HackEgo> wisdom/haar measure \ wisdom/hackego \ wisdom/hagb4rd \ wisdom/haiku \ wisdom/halfling \ wisdom/hallucination \ wisdom/ham \ wisdom/hand \ wisdom/hari \ wisdom/hash 2346ad27d7568ba9896f1b7da6b5991251debdf2 \ wisdom/haskell \ wisdom/haskell' \ wisdom/hat \ wisdom/hax0r \ wisdom/heck \ wisdom/heh \ wisdom/hello \ wisdom/helsinki \ wisdom/herbalist \
21:56:55 <b_jonas> `? haar measure
21:56:56 <HackEgo> A Haar measure is what Dutch people use to find out how long their hair is.
21:57:08 <shachaf> `culprits wisdom/haar measure
21:57:10 <b_jonas> `? h[e-~]
21:57:17 <HackEgo> mauris_
21:57:17 <HackEgo> h[e-~]? ¯\(°​_o)/¯
21:57:22 <b_jonas> `` ls -d wisdom/h[e-~]
21:57:24 <HackEgo> ls: cannot access wisdom/h[e-~]: No such file or directory
21:57:28 <b_jonas> wha
21:57:38 <b_jonas> `` ls -d wisdom/h[e-~]*
21:57:40 <HackEgo> ls: cannot access wisdom/h[e-~]*: No such file or directory
21:57:43 <b_jonas> huh
21:57:43 <myname> `? haskell'
21:57:45 <HackEgo> Unbound implicit parameter (?haskell::Wisdom) \ arising from a use of implicit parameter `?haskell'
21:57:55 <myname> well
21:58:03 <b_jonas> um
21:58:09 <b_jonas> `` ls -d wisdom/h[e-}]*
21:58:11 <HackEgo> ls: cannot access wisdom/h[e-}]*: No such file or directory
21:58:15 <b_jonas> I don't get it
21:58:36 <b_jonas> but there's a wisdom/hello, why does it not match?
21:58:48 <b_jonas> oh
21:58:57 <b_jonas> ``` ls -d wisdom/h[e-~]* # classic
21:58:59 <HackEgo> wisdom/heck \ wisdom/heh \ wisdom/hello \ wisdom/helsinki \ wisdom/herbalist \ wisdom/hexchat \ wisdom/hexham \ wisdom/hipchat \ wisdom/hmph \ wisdom/hockey \ wisdom/holy water \ wisdom/hom-set \ wisdom/homestuck \ wisdom/horse \ wisdom/hovercraft \ wisdom/hppavilion1 \ wisdom/hppavilion[1] \ wisdom/htdh \ wisdom/hth \ wisdom/hthmonoid \ wisdom/hth
21:59:07 <b_jonas> ``` ls -d wisdom/h[!-d]* # classic
21:59:08 <HackEgo> wisdom/haar measure \ wisdom/hackego \ wisdom/hagb4rd \ wisdom/haiku \ wisdom/halfling \ wisdom/hallucination \ wisdom/ham \ wisdom/hand \ wisdom/hari \ wisdom/hash 2346ad27d7568ba9896f1b7da6b5991251debdf2 \ wisdom/haskell \ wisdom/haskell' \ wisdom/hat \ wisdom/hax0r \ wisdom/heck \ wisdom/heh \ wisdom/hello \ wisdom/helsinki \ wisdom/herbalist \
21:59:57 <b_jonas> huh? why does that cover he*
22:00:03 <b_jonas> e is before d
22:00:09 <b_jonas> after d
22:00:10 <b_jonas> um
22:00:13 <b_jonas> you know
22:00:23 <b_jonas> oh
22:00:28 <b_jonas> ``` ls -d wisdom/h[ -d]* # classic
22:00:29 <HackEgo> ls: invalid option -- ']' \ Try `ls --help' for more information.
22:00:35 <b_jonas> ``` ls -d wisdom/h[\ -d]* #
22:00:36 <HackEgo> wisdom/haar measure \ wisdom/hackego \ wisdom/hagb4rd \ wisdom/haiku \ wisdom/halfling \ wisdom/hallucination \ wisdom/ham \ wisdom/hand \ wisdom/hari \ wisdom/hash 2346ad27d7568ba9896f1b7da6b5991251debdf2 \ wisdom/haskell \ wisdom/haskell' \ wisdom/hat \ wisdom/hax0r
22:00:47 <b_jonas> the bang negates the character set
22:00:49 <b_jonas> in bash
22:01:02 <b_jonas> `? holy water
22:01:04 <HackEgo> Holy water is water made by boiling the hell out of Spain.
22:01:08 <b_jonas> `? conic
22:01:09 <HackEgo> conic? ¯\(°​_o)/¯
22:01:26 <b_jonas> `? hovercraft
22:01:28 <HackEgo> a-é-ro-g-liss-e-ur. If you mention eels, you'll get smacked with one of them in a most unappropriate manner.
22:01:36 <b_jonas> `? python
22:01:37 <HackEgo> python? ¯\(°​_o)/¯
22:02:24 <b_jonas> ``` ls -d wisdom/t*
22:02:25 <HackEgo> wisdom/tadpole \ wisdom/tanea \ wisdom/taneb \ wisdom/tanebvention \ wisdom/tanebventory \ wisdom/tapeworm \ wisdom/tautology \ wisdom/tdh \ wisdom/tdnh \ wisdom/tdt \ wisdom/terminal symbol \ wisdom/termite \ wisdom/test \ wisdom/tetrapleur \ wisdom/thanks ants \ wisdom/thausiblee \ wisdom/the \ wisdom/the meaning of life \ wisdom/the neverending
22:02:35 <b_jonas> ``` ls -d wisdom/t[h-~]*
22:02:36 <HackEgo> wisdom/thanks ants \ wisdom/thausiblee \ wisdom/the \ wisdom/the meaning of life \ wisdom/the neverending work \ wisdom/the question \ wisdom/the reals \ wisdom/the them \ wisdom/the torus \ wisdom/the u \ wisdom/the universe \ wisdom/the us \ wisdom/things boily likes \ wisdom/thirt \ wisdom/this \ wisdom/this sentence \ wisdom/thwackamacallit \ w
22:02:56 <b_jonas> ``` ls -d wisdom/t{h[w-~]*,[i-~]}
22:02:57 <HackEgo> ls: cannot access wisdom/t[i-~]: No such file or directory \ wisdom/thwackamacallit \ wisdom/thyme
22:03:08 <b_jonas> ``` ls -d wisdom/t{h[w-~]*,[i-~]*}
22:03:09 <HackEgo> wisdom/thwackamacallit \ wisdom/thyme \ wisdom/til \ wisdom/tisc \ wisdom/tmnh \ wisdom/tmns \ wisdom/tmyk \ wisdom/tomfoolery \ wisdom/topology \ wisdom/torus \ wisdom/transformer \ wisdom/translater \ wisdom/treant \ wisdom/treaty \ wisdom/treefolk \ wisdom/trick \ wisdom/trisecting the angle \ wisdom/tswett \ wisdom/tur \ wisdom/turing \ wisdom/
22:03:17 <b_jonas> ``` ls -d wisdom/t[u-~]*
22:03:18 <HackEgo> wisdom/tur \ wisdom/turing \ wisdom/turkey \ wisdom/tvtropes \ wisdom/twh \ wisdom/twhib \ wisdom/twitter \ wisdom/twnh \ wisdom/twoducks \ wisdom/type system
22:03:35 <b_jonas> `? the reals
22:03:37 <HackEgo> The reals are an overt complete ordered Brazilian currency invented by Taneb in 1994.
22:03:42 <b_jonas> `? this
22:03:43 <HackEgo> this is a word
22:03:58 <b_jonas> `? tomfoolery
22:04:00 <HackEgo> tomfoolery is always factually inaccurate. always.
22:04:02 <b_jonas> `? treant
22:04:03 <HackEgo> Treants are genericized ents for intellectual property reasons.
22:04:16 <b_jonas> oh right, I added that one
22:04:34 <b_jonas> together with treefolk, halfling, kithkin
22:04:42 <b_jonas> `? twnh
22:04:43 <HackEgo> twnh is dubious hambiguitous help that will or will not be help. It is provided by a toe with no hair.
22:04:44 <b_jonas> `? turkey
22:04:45 <HackEgo> Turkey was the center of an empire that gobbled up much of Eastern Europe and the Middle East, something which brought them into conflict with Ostrich. In the 19th century the overstuffed empire started declining, and after the Great War it was cut up like so much Shish Kebab.
22:04:47 <b_jonas> `? tvtropes
22:04:49 <HackEgo> We'll write about TVTropes here, we just have to finish these tabs first.
22:04:52 <b_jonas> `? duck
22:04:53 <HackEgo> duck? ¯\(°​_o)/¯
22:04:54 <b_jonas> `? duck typing
22:04:55 <HackEgo> duck typing? ¯\(°​_o)/¯
22:05:22 <b_jonas> `learn Duck typing means typing on a terminal blinding without an echo.
22:05:26 <HackEgo> Learned 'duck': Duck typing means typing on a terminal blinding without an echo.
22:05:29 <b_jonas> um, no
22:05:36 <b_jonas> `revert
22:05:44 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
22:05:51 <shachaf> `? duck
22:05:52 <HackEgo> duck? ¯\(°​_o)/¯
22:05:54 <b_jonas> `slashlearn duck typing/Duck typing means typing on a terminal blinding without an echo.
22:05:57 <HackEgo> Learned «duck typing»
22:06:02 <b_jonas> `? duck
22:06:03 <b_jonas> `? duck typing
22:06:05 <HackEgo> Duck typing means typing on a terminal blinding without an echo.
22:06:05 <HackEgo> Duck typing means typing on a terminal blinding without an echo.
22:06:20 <shachaf> slashlearn?!
22:06:36 <b_jonas> shachaf: it's like SLASH'EM
22:06:56 <b_jonas> `? augustss
22:06:58 <HackEgo> augustss? ¯\(°​_o)/¯
22:07:00 <b_jonas> `? bellard
22:07:01 <HackEgo> bellard? ¯\(°​_o)/¯
22:07:46 -!- nycs has quit (Ping timeout: 250 seconds).
22:08:10 <b_jonas> `? augustsson
22:08:11 <HackEgo> augustsson? ¯\(°​_o)/¯
22:08:17 <b_jonas> `? august
22:08:18 <HackEgo> august? ¯\(°​_o)/¯
22:10:24 <shachaf> `? hmph
22:10:25 <HackEgo> His Master's Phonetic Hmph
22:11:17 <b_jonas> oh incidentally, for *list people, http://bobadventures.comicgenesis.com/ has updated (after a very long pause)
22:11:44 <b_jonas> `? qc
22:11:45 <HackEgo> qc? ¯\(°​_o)/¯
22:11:58 <b_jonas> `? ligo
22:11:59 <HackEgo> ligo? ¯\(°​_o)/¯
22:12:16 <b_jonas> `? zzo38
22:12:18 <HackEgo> zzo38 is not actually the next version of fungot, much as it may seem.
22:12:19 <b_jonas> `? zzo37
22:12:20 <HackEgo> zzo37? ¯\(°​_o)/¯
22:12:21 <b_jonas> `? zzo39
22:12:23 <HackEgo> zzo39? ¯\(°​_o)/¯
22:12:26 <b_jonas> `? dmm
22:12:27 <HackEgo> dmm? ¯\(°​_o)/¯
22:12:41 <shachaf> every time you ask for a nonexistent wisdom entry, it messes up my terminal
22:12:51 <shachaf> until it scrolls off the screen
22:12:53 <b_jonas> um
22:13:12 -!- ais523 has joined.
22:13:13 <b_jonas> shachaf: make a replacement command for ? then
22:13:40 <b_jonas> `? select
22:13:41 <HackEgo> select is a very versatile construct: it waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, and more.
22:14:01 <b_jonas> `? 2016
22:14:02 <HackEgo> 2016? ¯\(°​_o)/¯
22:14:22 <ais523> you definitely need the INTERCAL definition there too
22:14:30 -!- LexiciScriptor has quit (Quit: LexiciScriptor).
22:15:04 <shachaf> ahis523
22:15:05 <ais523> `` sed wisdom/select 's/loop, /loop, deletes bits from one number according to a pattern in another, /'
22:15:06 <HackEgo> sed: couldn't open file isdom/select: No such file or directory
22:15:13 <ais523> hmm
22:15:24 <ais523> `` sed -e 's/loop, /loop, deletes bits from one number according to a pattern in another, /' -i wisdom/select
22:15:28 <HackEgo> No output.
22:15:31 <ais523> `? select
22:15:33 <HackEgo> select is a very versatile construct: it waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, deletes bits from
22:15:38 <ais523> bleh
22:15:40 <ais523> `revert
22:15:46 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
22:17:21 -!- spiette has quit (Quit: :qa!).
22:30:03 -!- p34k has quit.
22:31:25 <b_jonas> ais523: oh! good idea, I didn't have that on the list I used as the source
22:32:03 <ais523> it's hard to come up with a more concise definition of what INTERCAL select actually does, though (and even mine is missing details)
22:32:53 <b_jonas> ais523: it certainly is, but sadly the entry is already close to full (well, that's sort of the point),
22:33:01 <b_jonas> I had to carefully cut words when I wrote it
22:33:31 <b_jonas> I'll add to the source list though, that doesn't have such a small length limit.
22:34:10 <ais523> the general definition (that works in any base, not just base 2) is "do a digitwise max-except-0-is-highest operation, then sort the digits of the result using the digits of the second input as a key"
22:36:09 <b_jonas> ais523: for the binary version, something similar to that is called sheep-and-goats, althoguh that doesn't do the max, it only does the sort part
22:36:30 <ais523> the max probably makes the operation less useful :-D
22:36:54 <b_jonas> sorts the bits of one number according to the corresponding bits in another number used as a key, stable
22:36:58 <ais523> and it's not really a max, because 0 has a higher precedence than anything else; it's a min if either digit is a 0 and a max otherwise
22:37:03 <ais523> and yes, stable sort
22:37:18 <ais523> I guess it had to be complex so as to avoid colliding with any existing operations
22:37:29 <b_jonas> ais523: I think in Intercal it might actually be more useful with the max
22:37:37 <b_jonas> Perhaps even in general
22:37:46 <b_jonas> but it doesn't matter much, you can get either version from the other
22:38:02 <ais523> well in INTERCAL you need it because otherwise you can't produce an acceptable argument to mingle
22:38:06 <ais523> if a number has more than 16 set bits
22:38:40 <b_jonas> at least as long as you have a binary logarithm (find highest bit set) operator
22:38:47 <b_jonas> which you usually have before you have sheep-and-goats
22:38:52 <b_jonas> in non-eso stuff that is
22:39:16 -!- tromp_ has joined.
22:39:48 <b_jonas> ok, so what if we just say it “rearranges bits” or something?
22:40:08 <ais523> well it doesn't just rearrange them, because of the max
22:40:15 <ais523> "deletes bits" is a pretty good explanation, really
22:40:22 <ais523> and is some characters shorter
22:40:24 <b_jonas> ok
22:42:39 <hppavilion[1]> I'm looking to design a powerful functional language
22:42:42 <hppavilion[1]> Something that might be useful
22:42:54 <hppavilion[1]> What would be a good model for that?
22:42:58 <b_jonas> ais523: erases bits? rejects bits?
22:43:19 <ais523> b_jonas: but the bits that are kept are all moved to one end of the number
22:43:19 <b_jonas> removes bits?
22:43:40 <ais523> "deletes" fits that operation pretty well, in typical computer terminology; deleting from a list normally implies moving all the other elements to be adjacent
22:43:46 <ais523> hppavilion[1]: lambda calculus, continuation passing style
22:43:54 -!- tromp_ has quit (Ping timeout: 265 seconds).
22:43:55 <ais523> I suggest you do CPS because it's used less often
22:43:57 <hppavilion[1]> ais523: Perhaps
22:43:59 <b_jonas> ais523: exactly, and so does remove and reject
22:44:00 <ais523> and is mroe powerful
22:45:03 <hppavilion[1]> Should I do some prototypical OO in it?
22:45:17 <hppavilion[1]> Something object-based, but not like OO exactly, because OO is bad
22:45:28 -!- oerjan has quit (Quit: Later).
22:45:47 <b_jonas> ais523: oddly, I can't find a reference to the "select" keyword in the Magma manual. but I know too little about Magma. Was my list originally wrong about it, or has it changed?
22:46:07 <ais523> b_jonas: what's Magma?
22:46:14 <b_jonas> http://magma.maths.usyd.edu.au/magma/
22:46:22 <ais523> hppavilion[1]: be very careful here
22:46:25 <b_jonas> a computer algebra system, sort of like GAP
22:46:28 <ais523> you're repeating some of the design decisions that lead to Feather
22:46:29 <hppavilion[1]> ais523: I will
22:46:36 <b_jonas> as in, http://www.gap-system.org/
22:46:37 <hppavilion[1]> ais523: Oh joy
22:47:27 <hppavilion[1]> I'm thinking Modal Logic-based static typing
22:49:01 <b_jonas> nope, I wasn't just dreaming
22:49:09 <b_jonas> web search says so
22:49:13 <b_jonas> even if I can't find it in the handbook
22:49:16 <hppavilion[1]> Perhaps a combination of Epistemic, Deontic, and Temporal (epistemic for throwing around information, deontic for security, and temporal for reactivity)
22:49:58 <b_jonas> and here it is in the handbook too: http://magma.maths.usyd.edu.au/magma/handbook/text/11#62
22:50:08 <hppavilion[1]> I think I'll working-name it... Mo' Def
22:50:23 <b_jonas> with fucking no syntax given, only examples
22:50:29 <hppavilion[1]> (a pun on Mode F, which is derived from Mod(al logic)+F(unction))
22:52:06 <b_jonas> ais523: we could also say it "compresses bits", due to the classical APL operator / which was called compress
22:52:13 <b_jonas> s,was,is,
22:52:30 <ais523> that'd be confused with the sort of compression that, say, gzip does
22:52:37 <b_jonas> (J calls it "repeat")
22:52:44 <b_jonas> ais523: yeah, I dunno
22:52:58 <b_jonas> ok, so I'm not a good writer, what to remove from the almost too long description?
22:53:02 <b_jonas> `? select
22:53:04 <HackEgo> select is a very versatile construct: it waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, and more.
22:53:11 <b_jonas> s,very,, ?
22:53:18 <ais523> "creates a list from elements of an input list that satisfy a condition" looks golfable
22:56:25 <shachaf> ais523: You shouldn't go all the way up to the line length limit.
22:56:33 <shachaf> Since some people use HackEgo in /msg, where the limit might be shorter.
22:56:53 <ais523> the limit also depends on which server you're connected to
22:57:07 <b_jonas> ais523: um... no?
22:57:13 <b_jonas> I don't think it does
22:57:13 <ais523> "HackEgo" is two characters shorter than "#esoteric", though
22:57:19 <ais523> b_jonas: I thought it was 512 including all metadata
22:57:27 <ais523> and the name of the server you're connected to is part of the metadata
22:57:33 <b_jonas> ais523: it's not HackEgo, it's _yuor_ nick that replaces #esoteric
22:57:49 <ais523> really?
22:57:52 <b_jonas> and its' not part of the metadata included in that line
22:57:57 <b_jonas> ais523: this is about when HackEgo messages you
22:57:59 <ais523> are we talking about sending or receiving?
22:58:03 <b_jonas> not when you message HackEgo
22:58:18 <b_jonas> when I write to HackEgo, I can send in chunks with shell commands, just like you demonstrated with sed
22:58:28 <b_jonas> but when someone queries `? select then HackEgo sends to yuo
22:58:31 <b_jonas> or to a channel
22:58:33 <ais523> oh, hmm, when HackEgo sends to the channel you get HackEgo's name /and/ the channel's
22:58:40 <b_jonas> but the server you're connected to is never part of the line
22:58:40 <ais523> when it sends to a query you get HackEgo's name and yours
22:58:43 <ais523> so I guess it is your own nick that counts
22:58:50 <b_jonas> only the host you're connected from
22:58:57 <b_jonas> which could be really long by the way
22:59:03 <b_jonas> but that only appears if you send, not if you receive
22:59:11 -!- ais523_telnet has joined.
22:59:22 <ais523_telnet> `? select
22:59:23 <HackEgo> select is a very versatile construct: it waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, and more.
22:59:24 <b_jonas> ais523: yes, but HackEgo's name and hostmask and user is always there, even on a channel
22:59:52 <b_jonas> (which is why it's better to use a one character username and a short hostname)
23:00:05 <ais523_telnet> you're right, the server name only appears in numerics, not privmsgs
23:00:15 -!- jaboja has quit (Ping timeout: 240 seconds).
23:00:22 <ais523_telnet> alt
23:00:31 -!- ais523_telnet has quit (Client Quit).
23:00:48 <b_jonas> ais523: and the limits for the nick and channel lengths vary a lot depending on network, but constant within freenode
23:00:58 <b_jonas> (I think the hostname max length might vary too)
23:00:59 -!- jaboja has joined.
23:01:04 <ais523> I keep forgetting what a pain it is when someone else sends a message while you're typing yours, over telnet
23:01:08 <b_jonas> I have the numbers noted somewhere
23:01:19 <b_jonas> ais523: I use rlwrap for that
23:01:25 <b_jonas> it refreshes the output sanely
23:01:36 <b_jonas> as in, rlwrap nc -v chat.freenode.net 6667 | cat -v
23:01:49 <ais523> but then it isn't pure telnet
23:02:00 <ais523> and that point you might as well just use an IRC client
23:03:47 <b_jonas> oh right, whether (the obsolate old) identify-messages feature is enabled by the receiver also matters one byte in the length, and some irc clients enable it by default
23:04:10 <b_jonas> here are the numbers I wrote up at some point => http://dpaste.com/0ZRXKB9
23:04:31 <ais523> what does identify-messages do?
23:05:03 <b_jonas> prepends a + or a - to PRIVMSG or NOTICE content depending on whether the user is identified to nickserv (regardless of whether he owns the nickanme he uses)
23:05:35 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
23:05:46 <b_jonas> these days there's a set of three more modern features that let you follow the nickserv account of everyone you see on channels, which is much better, and replaces all practical uses of this
23:07:01 <b_jonas> I have no idea why some of these limits are so high, given that the line length was always 512 bytes
23:07:36 <b_jonas> IMO the max hostname length should be 39 bytes
23:07:53 <ais523> what if the hostname someone's connecting from happens to be longer?
23:08:02 <b_jonas> ais523: you get the IP address
23:08:11 <b_jonas> just like when there's no reverse DNS
23:08:23 <ais523> maximum length of an IP address in ASCII is, hmm
23:08:29 <b_jonas> you can always ask the server for the ip address _in addition_ to the nick by the way, with WHO
23:08:34 <b_jonas> ais523: it's 39
23:08:34 <ais523> seven colons, eight blocks of 4 hex digits
23:08:35 <ais523> so 39
23:08:40 <b_jonas> exactly
23:08:47 <b_jonas> that's why I said 39
23:10:21 <b_jonas> and the max hostname length could be reduced unilaterally by the server, without breaking compatibility with almost anything, except for a very few people who expect to see certain hostnames
23:10:36 <b_jonas> although some of the cloaks freenode uses may have to be adjusted
23:15:04 -!- AnotherTest has quit (Ping timeout: 256 seconds).
23:15:06 <b_jonas> The 200 byte long channel names are ridiculous by the way, because in messages about channel forwarding, the server must fit two channel names
23:15:53 <b_jonas> and possibly even worse than that is the mode +f foo message for when someone sets the channel forward
23:16:10 <b_jonas> because then the server must send a nick with hostmask AND two channel names
23:16:36 <b_jonas> if the hostname and username and nick is long, that could be tight
23:18:08 <b_jonas> and the 512 byte line length limit is serious by the way, because IIRC freenode servers immediately disconnect you if you send a line longer than that
23:19:11 <b_jonas> (they also immediately disconnect you if you surpass the approximately 3070 byte long input buffer)
23:22:05 -!- I has joined.
23:22:29 -!- I has changed nick to Guest55944.
23:22:33 <fizzie> There was something weird when it came to fungot's line truncation, but I forget exactly what.
23:22:34 <fungot> fizzie: is a canny old bastard... is he american, these english, and these turkish. we hope to make your stay as pleasant as possible, i'm a writer, but i need a screwdriver
23:24:10 <ais523> ^style
23:24:10 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs* jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube
23:24:17 <ais523> ^style iwcs
23:24:17 <fungot> Selected style: iwcs (Irregular Webcomic scripts)
23:24:33 <ais523> fungot: I haven't seen much of this style yet
23:24:33 <fungot> ais523: hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey, hey
23:24:36 <ais523> ah right
23:24:44 <ais523> fungot: less repetitive, please?
23:24:44 <fungot> ais523: how are you going?! come about fer a broadside! prepare to be annihilated! that would depressurise the plane, hinder control and navigation, and endanger the lives of your comrades.
23:24:52 -!- bender has joined.
23:25:05 <ais523> `welcome bender
23:25:07 <HackEgo> bender: 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.)
23:25:19 <fizzie> That's almost the maximum length that was just spoken of.
23:25:22 <b_jonas> fungot, does the amplitude of gravity waves attenuate linearly or quadratically in distance?
23:25:23 <fungot> b_jonas: i always thought, i'll hire a car! the very idea! why, i'd be careful if the nazis get on a strictly for parts of time, as i suspected. a hidden from will's so athletic, he's obviously the better to do?
23:25:51 <b_jonas> will and nazis. clearly IWCS
23:26:20 <b_jonas> fungot, on the 2016 Rio Olympics, which event are you looking forward the most?
23:26:20 <fungot> b_jonas: the way they can reach, look as good a milestone as any to move the entire universe, a better universe! we choose only die fittest people, animals, a mad skeletal in some depictions, this transition can take place anywhere, and a killer taipan
23:26:29 <fizzie> The "s" in the name was to differentiate from IWC something-else, but I don't remember what the something-else was, and it never made it to a style.
23:27:00 <fizzie> I think we've seen the fragment "die fittest people, animals, a mad skeletal" already.
23:27:40 <fizzie> 2011-11-12 <fungot> olsner: on the way, myth, god created the universe, a better universe! we choose only die fittest people, animals, a mad skeletal in some depictions, this transition can take place anywhere, and a killer taipan
23:27:40 <fungot> fizzie: a ha! so it's a fortnight to forge
23:27:59 <b_jonas> fungot, why not the men's keirin?
23:27:59 <fungot> b_jonas: with the world, we should at my word install the patch of light a star. they're a regular letters back in the 1950s traditionally up to the captain to save the earth from the bonds of an evil, tortured, masked freak. but how often do, i daresay
23:28:00 <fizzie> Also one from 2015-10-11. It's a bit overly prone to repeating the same things.
23:28:15 -!- Tod-Autojoined has joined.
23:29:15 <b_jonas> fungot, will you watch the opening ceremony?
23:29:15 <fungot> b_jonas: what, the ability to be captured a spanish galleon! arrr!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaaarrrgghh!!! aaa
23:29:29 <olsner> mm, fungot
23:29:29 <fungot> olsner: how are you going?! come about fer a broadside! prepare to be annihilated! what's the good guys, the name of the game is just about killing monsters. crikey, terry! nice to... er... french, does the allosaurus have a policy on death? i can just walk through, erwin!
23:29:29 <b_jonas> fungot: oh come on, it won't be _that_ bad
23:29:30 <fungot> b_jonas: but the government!! as monty unties them, minnesota? why waste! he talks in pirate, sir.
23:29:55 <b_jonas> monty and minnesota. yes, definitely trained on IWC
23:31:30 <izabera> what scientific value does this have? http://arxiv.org/abs/1305.4365
23:31:53 -!- mysanthrop has joined.
23:32:24 -!- heroux_ has joined.
23:32:25 <ais523> izabera: probably to know when a particular calculation will become valuable, as computer speeds increase
23:32:36 -!- FreeFull_ has joined.
23:32:38 <izabera> no i mean
23:32:40 <izabera> that paper
23:32:48 <shachaf> ^style oots
23:32:48 <fungot> Selected style: oots (Order Of The Stick)
23:32:48 <ais523> test
23:32:52 <izabera> it's been published
23:32:56 -!- puck1pedia has joined.
23:33:03 <izabera> there's no code, no algorithms
23:33:07 <izabera> there are pictures
23:33:08 <shachaf> fungot: are you up to date with the latest vampire shenanigans
23:33:08 <fungot> shachaf: he be tha heart an' soul o" tiles because, you get you down here. let my people handle that much melee.)
23:33:14 <izabera> and trivial facts
23:33:16 -!- sewilton_ has joined.
23:33:24 <ais523> shachaf: perhaps not, fungot's using durkon's accent
23:33:25 <fungot> ais523: we had to get " out a good plan to end your life and saving us from the orcs and told me
23:33:39 -!- mbrcknl_ has joined.
23:33:39 <shachaf> ais523: Could be another dwarf.
23:34:00 -!- earenndil has joined.
23:34:23 <ais523> I gues
23:34:25 <ais523> *guess
23:37:02 -!- heroux has quit (*.net *.split).
23:37:03 -!- FreeFull has quit (*.net *.split).
23:37:04 -!- TodPunk has quit (*.net *.split).
23:37:05 -!- Elronnd has quit (*.net *.split).
23:37:07 -!- myname has quit (*.net *.split).
23:37:07 -!- trn has quit (*.net *.split).
23:37:09 -!- EgoBot has quit (*.net *.split).
23:37:09 -!- puckipedia has quit (*.net *.split).
23:37:10 -!- mbrcknl has quit (*.net *.split).
23:37:11 -!- sewilton has quit (*.net *.split).
23:37:12 -!- puck1pedia has changed nick to puckipedia.
23:37:12 -!- heroux_ has changed nick to heroux.
23:37:18 -!- EgoBot has joined.
23:39:54 -!- trn has joined.
23:40:33 -!- FreeFull_ has changed nick to FreeFull.
23:40:41 -!- tromp_ has joined.
23:41:02 -!- Guest55944 has quit (Quit: This computer has gone to sleep).
23:41:37 -!- mbrcknl_ has changed nick to mbrcknl.
23:42:28 <Taneb> My uni's electronics society is running a "brainf*ck programming challenge"
23:42:43 <izabera> ooh
23:42:46 <izabera> what's the challenge?
23:42:54 -!- sewilton_ has changed nick to sewilton.
23:43:04 <Taneb> izabera, dunno, it runs for two hours a week on Wednesday
23:43:21 <izabera> well it's wednesday now
23:43:32 <Taneb> Time zones, izabera, time zones
23:43:36 -!- hppavilion[1] has joined.
23:43:37 <izabera> come here
23:43:39 <Taneb> I've got 17 minutes of Tuesday
23:44:02 <shachaf> @time Taneb
23:44:02 <lambdabot> Local time for Taneb is Wed Feb 17 00:44:02
23:44:07 <hppavilion[1]> JSON is a (non-programming) language based on pure data with no semantics. Its complement, therefor, is a language that's pure semantics with no data
23:44:12 <hppavilion[1]> What would such a language look like?
23:44:35 <izabera> perl
23:44:49 <Taneb> shachaf, my computer may not be set to the correct time zone
23:44:59 <izabera> @time
23:44:59 <tswett> hppavilion[1]: that's an interesting idea.
23:45:00 <lambdabot> Local time for izabera is Tue, 16 Feb 2016 23:52:29 +0000
23:45:06 <izabera> boo wrong
23:45:07 <hppavilion[1]> tswett: Yay!
23:45:13 -!- tromp_ has quit (Ping timeout: 276 seconds).
23:45:18 <Taneb> izabera's clock is completely wrong
23:45:19 <hppavilion[1]> tswett: The first thought that comes to mind is "Finite state machine"
23:45:20 <Taneb> wtf, izabera
23:45:21 <tswett> hppavilion[1]: it's sort of hard, I think, to allow semantics while prohibiting data. Like, consider the following semantics...
23:45:32 <shachaf> Taneb: or perhaps your computer's time zone is correct but your location's time zone is not
23:45:33 <tswett> "Input a first thing. Input a second thing. Output the first thing."
23:45:49 <hppavilion[1]> tswett: Yep, that's data
23:45:53 <tswett> It's not all that easy to get more purely-semantic than that.
23:45:54 <izabera> not sure which time it uses
23:45:56 <tswett> But yeah, that's data.
23:45:58 <tswett> I mean...
23:46:06 <izabera> the one on my vps is not italian
23:46:20 <Taneb> It's not anything
23:46:25 <hppavilion[1]> tswett: Combinatory Logic and Lambda Calculus might count if you don't count functions as data
23:46:31 <Taneb> It's like 7 minutes ahead of GMT
23:46:42 <tswett> Arguably, all possible computer languages represent data to some degree, since valid modules consist of data that's interpreted somehow.
23:46:53 <tswett> @time
23:46:54 <lambdabot> Local time for tswett is Tue Feb 16 23:46:54 2016
23:46:55 <hppavilion[1]> Which is probably a bit accurate to how languages like Haskell compile it
23:46:58 <hppavilion[1]> @time
23:46:59 <lambdabot> Local time for hppavilion[1] is Tue Feb 16 14:46:58
23:47:03 <fizzie> @time fungot
23:47:03 <fungot> fizzie: is that the one where we set to notify both her and us that you couldn't leave well enough alone and kill you, so my two associates.
23:47:06 <lambdabot> Local time for fungot is the past, the present, the future; all at the same time
23:47:13 <hppavilion[1]> Woooooooooow
23:47:22 <hppavilion[1]> That's amazing
23:47:51 <hppavilion[1]> fungot: How's the future? Do we all die in a nuclear holocaust?
23:47:51 <fungot> hppavilion[1]: so, i know that, i'm your mommy make that would trump what we need is a means to an " understanding"
23:48:32 <hppavilion[1]> @time
23:48:32 <fizzie> In other, more prosaic words: I didn't implement CTCP TIME (or CTCP in general), so I just do it by hand with ^raw.
23:48:56 <hppavilion[1]> lambdabot?
23:49:12 <fizzie> Perhaps there's a cooldown.
23:49:17 <hppavilion[1]> Probably
23:49:20 <hppavilion[1]> @time fungot
23:49:20 <fungot> hppavilion[1]: it's a dungeon, and the spell turns us all into-- ideas": telling everyone that much quicker, so roy, if we could conference over and let the woman with years of combat, probably against a paladin," as " par for, so that the dwarf, " stabby"
23:49:26 <hppavilion[1]> fizzie: Looks like it
23:49:39 <lambdabot> Local time for fungot is something that keeps on ticking, ticking, ticking, into the future
23:49:40 <shachaf> @karma into
23:49:40 <lambdabot> into has a karma of -2
23:49:43 <ais523> a spell that turns people into ideas
23:50:01 <shachaf> ais523: I read a book about the opposite direction.
23:50:03 <ais523> I actually created a magic: the gathering spell that did that
23:50:06 <shachaf> Well, it wasn't really a spell.
23:50:28 <fizzie> hppavilion[1]: Perhaps it's your client that has a cooldown for responding to CTCP TIME, actually, since I did get that query at the 'got.
23:50:33 <ais523> "Idealize, 1W, Enchantment - Aura, Enchant creature or enchantment, enchanted permanent is an enchantment (instead of its other types)."
23:50:34 <fizzie> (Was just a bit slow replying.)
23:51:44 <Phantom_Hoover> @karma i
23:51:44 <lambdabot> i has a karma of 111
23:52:24 <fizzie> @karma geddon
23:52:24 <lambdabot> geddon has a karma of 0
23:52:27 <shachaf> ais523: What happens if you use that on a Bestowed enchantment creature?
23:52:49 <Phantom_Hoover> @karma chameleon
23:52:49 <lambdabot> chameleon has a karma of 0
23:52:51 <ais523> shachaf: I think the answer is nothing, until it falls off, then it doesn't turn into a creature
23:55:08 <shachaf> Does it just die?
23:55:27 <ais523> I believe it stops being an aura
23:55:32 <ais523> so it'd just sit there on the battlefield
23:56:10 <ais523> which is the whole idea of idealize, really; it's a pacifism variant that's a little worse on enemy creatures but a little better on your own (because while it pacifies them, it saves them from creature destruction)
23:56:16 <ais523> perhaps it should cost 2W and have flash
23:56:26 <shachaf> What happens if a non-Aura enchantment says "Enchant Creature"?
23:59:33 <ais523> I'm not sure whether it falls off or not; I'm also not sure if it's possible to cause the situation to happen
23:59:51 <ais523> or, hmm
23:59:57 <ais523> I suspect it wouldn't go to the graveyard
2016-02-17
00:00:04 <ais523> I also suspect it wouldn't be capable of enchanting anything
00:00:36 <ais523> if it were an artifact enchantment - equipment, I guess it'd be possible to use the enchant ability to equip it to something as it was cast? not sure though
00:01:38 -!- earenndil has changed nick to Elronnd.
00:03:06 <shachaf> ais523: If it wasn't an Aura? Why would that be possible?
00:03:46 <ais523> the rules for something that's both aura and equipment (which is possible!) were changed recently
00:03:57 <ais523> to make equipping and enchanting basically synonyms
00:04:05 <ais523> in order to get around some rules issues
00:04:05 <shachaf> But only an aura can target.
00:04:18 <shachaf> Oh, you said both aura and equipment.
00:06:35 <ais523> yes
00:07:29 <shachaf> How is it possible?
00:09:07 -!- adu has joined.
00:10:32 <ais523> liquimetal coating + bludgeon brawl + something that's naturally an Aura
00:11:29 <shachaf> Oh, but that only works when it's a permanent.
00:11:33 <shachaf> I thought you meant as a spell.
00:11:55 <shachaf> Or e.g. as a card you return from the graveyard.
00:12:26 <ais523> ah right, I don't think you can do that
00:12:40 <ais523> yet, at least
00:14:00 <shachaf> Are there any cards with effects like that?
00:15:20 <ais523> allowing cards to be cast as another card type? not as far as I know
00:15:36 <ais523> err, subtype, at least
00:15:40 <ais523> not sure if enchanted evening works on spells
00:15:43 <ais523> it works on most things
00:16:12 <shachaf> We should have an mtg card bot here.
00:17:04 <ais523> we should
00:17:07 <ais523> does Freenode have one?
00:17:18 <ais523> I'm not sure how you can tell, possibly by guessing the name
00:17:44 <shachaf> EFNet has one.
00:19:04 <shachaf> I've asked in #mtg
00:20:25 <Elronnd> /ne
00:21:04 -!- tromp_ has joined.
00:21:28 <hppavilion[1]> helronnd
00:22:06 <hppavilion[1]> Elronnd: How are you today?
00:22:27 <Elronnd> hey hppavilion[1]
00:22:28 <Elronnd> alright
00:22:35 <hppavilion[1]> Elronnd: Excellent
00:22:39 <Elronnd> My feet are kinda messed up from dancing last week
00:22:42 <hppavilion[1]> Ouch
00:22:48 <Elronnd> I'm trying not to put too much weight on them
00:23:13 <hppavilion[1]> What would be a good, strange basis for a declarative language?
00:23:38 <Elronnd> I'm afraid I don't know what a "declarative language" is
00:23:50 <shachaf> ^prefixes
00:23:50 <fungot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
00:23:58 <hppavilion[1]> Elronnd: Like Haskell or Prolog
00:24:06 <hppavilion[1]> As opposed to Python or C, which are imperative
00:24:58 <Elronnd> Haskell isn't high enough on my list of things to look at that I've looked at it yet
00:25:04 <hppavilion[1]> Elronnd: Ah
00:25:26 <hppavilion[1]> Elronnd: The classic explanation is that in declarative programming, you specify /what/ to do instead of /how/ to do it
00:25:33 <hppavilion[1]> Elronnd: Thue is declarative
00:25:38 <hppavilion[1]> Elronnd: Brainfuck is imperative
00:25:47 <Elronnd> From what I've heard, it's really cool thougyhthough
00:26:16 <hppavilion[1]> Elronnd: It is
00:27:40 <hppavilion[1]> Elronnd: Declarative languages are usually based on something mathematical- Haskell is λ-calculus, Prolog is formal logic, Thue is semi-thue systems.
00:28:00 <Elronnd> Ah, okay
00:28:04 <shachaf> The new colorless mana symbol is scow.
00:28:21 <coppro> `scow
00:28:23 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: scow: not found
00:28:58 <hppavilion[1]> Elronnd: So what I was asking is what would be an interesting thing to do for a declarative language
00:29:40 <Elronnd> Use math-style notation
00:30:07 <hppavilion[1]> Elronnd: Perhaps
00:31:12 -!- \oren\ has quit (Ping timeout: 265 seconds).
00:31:32 -!- tromp_ has quit (Remote host closed the connection).
00:32:00 <hppavilion[1]> Elronnd: I did think of a language based on the idea of a really complicated calculator
00:32:34 -!- \oren\ has joined.
00:32:55 <hppavilion[1]> Elronnd: stdout<<="Hello, world!"
00:37:48 <Elronnd> Realistically, in math, that would just be "Hello, world!"
00:37:57 <Elronnd> not in a calculator, though
00:38:58 <hppavilion[1]> Elronnd: I'm stuck on how to allow things like 99 bottles of beer on the wall without variables
00:39:18 <shachaf> The EFNet bot gives both cards and rules.
00:39:37 <shachaf> And can look up rules by keyword and so on.
00:39:45 <shachaf> But the code is not available.
00:40:06 <Elronnd> hppavilion[1]: recursion
00:40:16 -!- haily_ has joined.
00:40:18 <hppavilion[1]> Elronnd: No functions are in the language
00:40:41 <hppavilion[1]> Elronnd: That's the strange part; a program in the language is just a big expression
00:40:57 <Elronnd> that's math for ya
00:41:07 <haily_> Hi
00:41:45 <ais523> `welcome haily_
00:41:46 <HackEgo> haily_: 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.)
00:42:44 <haily_> hi
00:42:47 <Elronnd> `relcome yaily_
00:42:50 <HackEgo> yaily_: 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.)
00:42:57 <haily_> My name is Haily?
00:43:05 <haily_> I m a nerd
00:43:19 <haily_> but now I go to retire
00:43:23 <haily_> cause Im old
00:43:36 -!- rodgort has quit (Quit: Leaving).
00:43:54 <haily_> Mine Backbone looks like
00:44:09 <haily_> some bombs in Irakwar
00:44:25 <haily_> broken but never fall?
00:47:51 -!- elias1 has joined.
00:48:18 -!- haily_ has quit (Quit: :-)).
00:48:28 <\oren\> `welcome elias1
00:48:30 <HackEgo> elias1: 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.)
00:49:38 -!- lambda-11235 has joined.
00:49:44 -!- elias1 has quit (Read error: Connection reset by peer).
00:55:06 -!- rodgort has joined.
01:03:11 -!- tromp_ has joined.
01:04:26 -!- tromp_ has quit (Remote host closed the connection).
01:06:08 -!- idris-bot has quit (Ping timeout: 256 seconds).
01:06:36 -!- tromp_ has joined.
01:08:02 -!- Melvar has quit (Ping timeout: 250 seconds).
01:09:46 -!- Melvar has joined.
01:11:02 -!- oerjan has joined.
01:12:20 <adu> hppavilion[1]: that's easy
01:13:05 <adu> hppavilion[1]: (map display-bottles (iota 99))
01:13:53 <ais523> (iota 99) is ((99 s) k)
01:14:07 <ais523> I don't want to mentally figure out what giving 99 s as an argument even does
01:14:59 <adu> ais523: does that return a list with 1 2 3 ...
01:15:19 <ais523> no, I'm misinterpreting Iota as the esolang (and its defining operation)
01:15:32 -!- Sprocklem has joined.
01:15:32 <adu> (map display-bottles (list-reverse (iota 99)))
01:15:36 <ais523> and thus 99 as the church numeral (which would be the only sensible way to define it in esolang)
01:15:38 <adu> I totally got it wrong
01:15:40 <ais523> *in iota
01:15:52 <FireFly> (iota 99) is unsurprisingly ι99 in APL
01:15:52 <adu> http://srfi.schemers.org/srfi-1/srfi-1.html#iota
01:16:15 <FireFly> except it's probably a custom iota character in APL, and not the greek one I used
01:16:46 <adu> ooooo or (iota 0 99 -1)
01:17:13 <FireFly> Don't you mean (iota 99 99 -1) ?
01:17:18 <adu> maybe
01:17:43 <adu> I've never used all three arguments before
01:18:05 <ais523> Underlambda has a "u" command
01:18:30 <ais523> if you give it an integer as an argument, it produces a list from 1, 2, etc., up to that integer (inclusive)
01:18:53 <ais523> it also works on non-integers, in which case its behaviour is defined but mostly bizarre
01:20:15 <FireFly> hmm
01:21:09 <ais523> for example, (~)u^ will append the length of a list, plus one, to that list
01:21:16 <ais523> causing the list to end with its new length
01:33:46 -!- Tod-Autojoined has changed nick to TodPunk.
01:36:50 <hppavilion[1]> Is Ruler-and-SuperCompass construction any more powerful than normal ruler-and-compass?
01:37:12 <izabera> what's a supercompass?
01:37:31 <hppavilion[1]> izabera: It draws ellipses instead of circles
01:37:39 <hppavilion[1]> (well, circles are a subset of ellipses, but...)
01:37:48 <izabera> then no
01:38:22 <hppavilion[1]> izabera: Proof?
01:39:08 <izabera> still algebraic, you don't ever get to pi
01:39:31 <hppavilion[1]> Ah
01:40:01 <hppavilion[1]> izabera: But perhaps you're able to move a circle with it or something, thus letting you trisect an angle?
01:40:36 <izabera> your specs are a bit vague
01:41:21 <hppavilion[1]> izabera: You can draw an ellipse given any two points representing its focci. The focci may, of course, be the same
01:42:07 <hppavilion[1]> izabera: It's not a a tool one could easily construct to /look/ like a compass, of course.
01:42:24 <izabera> what about moving things around?
01:43:22 <hppavilion[1]> izabera: That part I'm not sure about, but I just feel that it may be possible to use the ellipse to move a circle; I haven't formally tried it yet because I don't have any way to try it
01:43:35 <hppavilion[1]> I think I'll make a Tkinter-based application to try it out
01:43:40 <hppavilion[1]> (Or maybe Qt5)
01:43:47 <izabera> try geogebra
01:44:42 <lifthrasiir> \oren\: https://pbs.twimg.com/media/CbWvGzXUAAAy8MO.png GSUB at work!
01:50:50 <hppavilion[1]> izabera: Actually, that seems like a pretty good idea...
01:50:57 <hppavilion[1]> A S-construction tool
01:51:03 <hppavilion[1]> For some set S
01:51:37 <hppavilion[1]> e.g. Folding-and-compass or Ruler-and-protractor
01:52:07 <hppavilion[1]> (protractor is restricted so you can only make angles. You use it to create angles of a given size)
01:52:25 <hppavilion[1]> (or something less stupid)
01:52:47 <ais523> you can trisect an angle with a ruler and a compass
01:52:51 <ais523> the reason is that the ruler has lines marked on it
01:52:57 <ais523> and even two marked lines is enough for the trisection to work
01:53:21 <ais523> (another method you can do with just the ruler and compass is to use them at the same time, using the compass to mark a length along the ruler; the proof that you can't regards doing this as cheating)
01:53:46 <ais523> err, s/ruler/straightedge/g in my most recent comment
01:54:02 <oerjan> <shachaf> Since some people use HackEgo in /msg, where the limit might be shorter. <-- istr HackEgo has an internal 350 limit before all that stuff is added on hth
01:54:16 <shachaf> oerjan: tdh
01:54:19 <shachaf> unexpectedly
01:59:30 <oerjan> `perl -e for ($i=0;$i<500;$i++) { print ($i%10), ; }
01:59:32 <HackEgo> 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
02:00:05 <oerjan> yep, checks out
02:01:34 <izabera> the amazing power of perl
02:02:59 <izabera> `` printf %.s0123456789 {1..50}
02:03:00 <HackEgo> 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
02:03:07 <izabera> what did i win
02:03:53 <ais523> izabera: I recently had to debug a program in an emergency, it was doing a series of parse tree transformations and I wanted to spot the point where they became incorrect
02:04:11 <izabera> ok
02:04:12 <ais523> it was dumping each stage but in a pretty sexp-like format (not actual sexps, but close)
02:04:25 <ais523> and trying to wade through all the parens was basically impossible
02:04:33 <ais523> so I wrote a Perl-oneliner to colourize matching parens to make it easier
02:04:42 <ais523> (first I checked the repos but there didn't seem to be anything there)
02:04:48 <izabera> neat
02:05:53 <izabera> and where is this program?
02:07:20 <ais523> in my bash history
02:07:20 <ais523> I can drag it out if you like
02:07:28 <ais523> perl -pe 's/[()]/$& eq "(" ? "\e[3".($x%6+1).($x++%12>5?";1":"")."m(\e[0m" : "\e[3".(--$x%6+1).($x%12>5?";1":"")."m)\e[0m"/ge'
02:07:52 <ais523> it's not very neat or readable because it was written in like 5 minutes in a hurry, I stopped writing it as soon as I had something that worked
02:07:54 <int-e> `` echo {,,}{,,}{,,}{0,1,2,3,4,5,6,7,8,9}
02:07:55 <HackEgo> 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
02:07:55 <ais523> for my purposes
02:08:21 -!- nisstyre has quit (Ping timeout: 265 seconds).
02:08:40 <int-e> `` echo {,,}{,,,}{,,,}{0,1,2,3,4,5,6,7,8,9} | tr -d \
02:08:42 <HackEgo> 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
02:08:52 <izabera> mixing escape sequences and perl makes for very esoteric programs
02:09:13 <izabera> `` printf %s {,,}{,,,}{,,,}{0..9}
02:09:15 <HackEgo> 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
02:09:24 <int-e> izabera: thanks
02:12:10 <izabera> @bf ++++++++[>++++++>++++++<<-]>++[>.+.+.+.+.+.+.+.+.+.---------<-]
02:12:10 <lambdabot> 012345678901234567890123456789012345678901234567890123456789012345678901234...
02:12:15 <izabera> oh come on lambdabot
02:12:24 <izabera> !bf ++++++++[>++++++>++++++<<-]>++[>.+.+.+.+.+.+.+.+.+.---------<-]
02:12:24 <EgoBot> 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456
02:13:02 <izabera> does it print too many?
02:13:22 <ais523> since when did lambdabot do brainfuck?
02:13:46 <ais523> ^bf >,[>,]<[[<]>[.>]<]!0123456789
02:13:46 <fungot> 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 ...
02:14:08 <izabera> that's very cheating and unfair
02:14:26 <ais523> I wasn't intending to cheat, more it was out of curiosity if I could find something that didn't hardcode the 0123456789 bit
02:14:37 <ais523> to avoid the non-general .+.+.+.+
02:14:43 <lambda-11235> ais523: It also does unlambda.
02:14:47 <ais523> I wonder if it'd be shorter if it didn't use stdin; probably not
02:14:53 -!- TodPunk has changed nick to Tod-Home.
02:15:07 <ais523> (shorter than the +.+.+.+. version, I mean)
02:15:22 <izabera> oh i see, HackEgo was truncating it
02:15:47 <int-e> !bf ++++++++++[>+++++>+<<-]>--[>[<.+>>+<-]>[<<->+>-]<<]
02:15:48 <EgoBot> 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456
02:16:14 <lambda-11235> Also D&D.
02:16:17 <ais523> int-e: wow
02:16:20 <izabera> o.o
02:16:21 <lambda-11235> @roll 2d0
02:16:21 <lambdabot> unexpected 'd': expecting digit, operator or end of input
02:16:30 <lambda-11235> @roll d20
02:16:30 <lambdabot> lambda-11235: 20
02:16:35 <Elronnd> til there's a bf interpreter
02:16:38 <izabera> i'll need a minute or two to understand how that works
02:16:46 <Elronnd> @roll 2d20
02:16:46 <lambdabot> Elronnd: 13+10 => 23
02:16:51 <ais523> it took me a while to understand how it works but I understand itn ow
02:17:08 <ais523> think of it like a Minsky machine, it makes things easier
02:17:13 <ais523> (note that all the loops are balanced)
02:17:57 <Elronnd> ais523: what took you a while to understand?
02:18:09 <ais523> Elronnd: why it was repeating in sets of 10
02:18:19 <int-e> izabera: it's an infinite loop, so cheating
02:18:27 <Elronnd> ais523: ah
02:18:31 <ais523> int-e: oh, I thought infinite was better
02:18:36 <ais523> mine's an infinite loop too
02:19:21 <int-e> ais523: but izabera's isn't, and spends 11 characters on that
02:19:37 <izabera> thanks for noticing <.<
02:19:43 <int-e> !bf ++++++++[>++++++<-]>++[.+.+.+.+.+.+.+.+.+.---------]
02:19:43 <EgoBot> 23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;23456789:;2345678
02:19:59 <ais523> I wasn't treating this as a golf competition, more a code elegance competition
02:20:04 <int-e> err, 13.
02:20:07 <int-e> !bf ++++++++[>++++++<-]>[.+.+.+.+.+.+.+.+.+.---------]
02:20:08 <EgoBot> 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456
02:20:09 <ais523> also I'm translating int-e's BF program into PMMN to see what my PMMN optimizer makes of it
02:23:58 <izabera> what does it optimize?
02:24:01 <ais523> apparently it segfaults
02:24:12 <int-e> !bf ++++++++++[[>+++++>+>+<<<-]>-->[<.+>-]>]
02:24:12 <EgoBot> 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456
02:24:14 <ais523> izabera: a lot of things, it tries to eliminate loops for example
02:24:17 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:24:30 <izabera> int-e: *that* will take a while o.o
02:24:58 -!- andrew_ has joined.
02:25:11 <oerjan> <ais523> since when did lambdabot do brainfuck? <-- since always?
02:27:01 -!- Tod-Home has quit (Quit: This is me, signing off. Probably rebooting or something.).
02:27:53 <int-e> More precisely, since september 2006
02:28:08 <ais523> http://sprunge.us/ghMc
02:28:34 <ais523> inc_by(0, 10); while (dec(0)) { inc_by(1, 5); inc(2); } dec(1); dec(1); while (dec(1)) { inc(1); while (dec(2)) { /* PMMN non-destructive output code, not in original */ while (dec(1)) { inc(9); inc(8); } while (dec(9)) { inc(1); } inc(8); output(8); inc(1); inc(3); } while (dec(3)) { dec(1); inc(2); } }
02:28:39 <ais523> that's the original program
02:29:00 <shachaf> oerjan: I was going to say that you of all people should know the answer to that.
02:29:04 <shachaf> But I was thinking of unlambda.
02:29:08 <ais523> hmm, it didn't optimize out a useless jump
02:29:24 <oerjan> <ais523> int-e: oh, I thought infinite was better <-- i only did finite because i vaguely recalled HackEgo might not handle infinite output without newlines.
02:29:48 <int-e> oerjan: actually lambdabot seems to have trouble with that
02:29:55 <int-e> @bf ++++++++++[[>+++++>+>+<<<-]>-->[<.+>-]>]
02:30:24 <ais523> it looks like it doesn't figure out yet that (1) never changes
02:30:40 <ais523> however, it has got the program down to the minimum number of loops without unrolling
02:31:41 <ais523> fwiw, the PMMN optimizer so far is available via "darcs clone http://nethack4.org/media/ssapmmn"
02:31:57 <ais523> nothing yet understands its output format though, you just have to read it by hand
02:32:16 <int-e> @bf ++++++++++[[>+++++>+>+<<<-]>-->[<.+>-]>.]
02:32:28 <int-e> hmm, no, newlines don't help.
02:32:36 <int-e> !bf ++++++++++[[>+++++>+>+<<<-]>-->[<.+>-]>.]
02:32:37 <EgoBot> 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789 \ 0123456789
02:32:41 <oerjan> <shachaf> But I was thinking of unlambda. <-- yep. although they didn't actually _tell_ me they'd used my code, so i'm not sure exactly when i discovered it.
02:33:27 <int-e> oerjan: 2006-03-15 Add the unlambda plugin
02:33:47 <oerjan> it's a bit weird since i'm pretty sure there were other unlambda interpreters in haskell when i wrote mine
02:34:31 <lambdabot> Plugin `bf' failed with: <<timeout>>
02:35:08 <int-e> I had one in 2000, but probably it wasn't public... since I really wanted to write one in C.
02:35:39 <oerjan> heh
02:36:00 <oerjan> by 2000 hadn't even learned haskell
02:36:04 <int-e> * history: * 13-10-2000: initial version, in Haskell * 14-10-2000: initial version in C
02:36:10 <int-e> good times
02:36:20 <oerjan> *+i
02:36:31 <oerjan> i think march 2006 was just before the end of my big internet break
02:36:59 -!- nisstyre has joined.
02:37:17 <int-e> anyway, sleep.
02:37:50 <oerjan> or maybe it was the year i did learn it. not before, anyway.
02:38:27 <oerjan> anyway, dishes
02:41:16 <izabera> `` bc <<< 2^1234-1 | tr -d \\n\\\\
02:41:19 <HackEgo> 29581122460809862906004469571610359078633968713537299223955620705065735079623892426105383724837805018644364775907095599312082089933038176093702721248284094494136211066544377518349572681192920386118201521832389207735598339319120892886765265599360248790311370854940266862452110061179427034023276609931709804888749380902312739825386061877261903500988327
02:41:21 <izabera> factor it
02:41:25 -!- AlexR42 has joined.
02:42:23 <izabera> hackego cut off part of it
02:42:33 <ais523> (2^1234-1) = ((2^617)^2) - (1^2) = (2^617-1)(2^617+1)
02:42:49 <ais523> it probably factors further though
02:44:17 <izabera> it's unfair, my computer didn't know about that
02:44:42 <adu> oerjan: I printed out R5RS and Haskell98 in 2000 for my summer reading
02:44:48 <izabera> u always cheating >:(
02:45:17 <izabera> adu: how about harry potter
02:45:26 <adu> izabera: I've never read it
02:45:43 * izabera deletes adu from her friends on myspace
02:45:55 <adu> too busy reading user manuals
02:46:08 <ais523> izabera: this is the reason that mersenne primes always have a prime in the exponent
02:46:52 <ais523> come to think of it it /definitely/ factors further; one of (2^617-1), (2^617+1), and 2^617 has got to be divisible by 3
02:46:55 <ais523> and it's not going to be 2^617
02:47:42 <adu> wtf
02:48:05 <adu> 2^617 is not divisible by 3
02:48:26 <izabera> yes
02:48:31 <izabera> that's what he said
02:49:21 <adu> izabera: I haven't been on myspace in 15 years
02:49:33 <izabera> i've never been on myspace
02:50:58 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
02:51:54 -!- AlexR42 has joined.
02:57:36 -!- AlexR42 has quit (Quit: Textual IRC Client: www.textualapp.com).
03:07:24 -!- adu has quit (Quit: adu).
03:07:52 <oerjan> ais523: also, because 2 divides 1234
03:07:59 <oerjan> `factor 1234
03:08:02 <HackEgo> 1234: 2 617
03:08:17 <oerjan> i guess that's it. is 2^617-1 a prime?
03:08:48 <oerjan> 2^617+1 probably isn't.
03:09:03 <oerjan> > (2^617+1)`mod` 3
03:09:13 <lambdabot> mueval-core: Time limit exceeded
03:09:19 <oerjan> oh come on, it's not that big
03:09:21 <oerjan> > (2^617+1)`mod` 3
03:09:50 <oerjan> lambdabot must be overworked
03:10:34 <oerjan> 2 == -1 (mod 3), so 2^617 == -1 (mod 3). so it's 2^617+1.
03:12:22 <oerjan> 2^617-1 is not on the list of known mersenne primes, so it's presumably checked and found not.
03:12:37 <oerjan> @bot
03:12:37 <lambdabot> :)
03:12:43 <oerjan> huh
03:12:55 <oerjan> lambdabot never answered back on the last one
03:13:05 <oerjan> > (2^617-1)`mod` 5
03:13:20 <oerjan> > "hi"
03:13:27 <oerjan> @bot
03:13:37 <lambdabot> :)
03:13:50 <oerjan> there's nfw lambdabot should have trouble calculating that
03:14:01 <oerjan> :t (2^617-1)`mod` 5
03:14:19 <oerjan> and int-e went to bed
03:14:39 <oerjan> `` bc <<< 2^617-1
03:14:40 <HackEgo> 54388530464436950905813832350972787438550335255248068935623079751721\ \ 32452975126965649024023195947885249426733939164170397148972417563722\ \ 13155348458256985448390483221335442656288489603071
03:14:55 <oerjan> `` bc <<< 2^617-1 | tail -1
03:14:56 <HackEgo> 13155348458256985448390483221335442656288489603071
03:14:58 <lambda-11235> > (2^617-1)`mod` 5
03:15:17 <oerjan> ok not divisible by 5
03:15:36 <oerjan> > "hi"
03:15:50 <oerjan> it seems like the @run plugin is having trouble.
03:15:50 <lambdabot> mueval-core: Time limit exceeded
03:16:02 <oerjan> > "hi"
03:16:10 -!- adu has joined.
03:16:59 <oerjan> `` bc <<< (2^617)%5
03:17:00 <HackEgo> ​/hackenv/bin/`: eval: line 4: syntax error near unexpected token `(' \ /hackenv/bin/`: eval: line 4: `bc <<< (2^617)%5'
03:17:04 <oerjan> damn
03:17:28 <adu> int-e: what is the date format MM-DD-YYYY?
03:18:06 <lambda-11235> oerjan: No good, even haskell's lambdabot is having trouble.
03:18:20 <lambda-11235> * #haskell
03:18:33 <oerjan> lambda-11235: um they're the same bot hth
03:18:56 <oerjan> `` bc <<< '(2^617)%5'
03:18:57 <HackEgo> 2
03:19:04 <oerjan> `` bc <<< 'scale'
03:19:05 <HackEgo> 0
03:19:07 <oerjan> good
03:19:11 <oerjan> `` bc <<< '(2^617)%7'
03:19:12 <HackEgo> 4
03:19:28 <oerjan> hm 7 is a mersenne prime so no point in checking it
03:19:32 <oerjan> `` bc <<< '(2^617)%11'
03:19:33 <HackEgo> 7
03:19:36 <oerjan> `` bc <<< '(2^617)%13'
03:19:37 <HackEgo> 6
03:19:43 <oerjan> `` bc <<< '(2^617)%17'
03:19:44 <HackEgo> 2
03:19:47 <oerjan> `` bc <<< '(2^617)%19'
03:19:47 <HackEgo> 13
03:20:24 <oerjan> gah loops in bash...
03:20:35 <oerjan> or bc, for that matter
03:21:22 <adu> `` bc << '2^2^2^2'
03:21:24 <HackEgo> ​/hackenv/bin/`: line 4: warning: here-document at line 4 delimited by end-of-file (wanted `2^2^2^2')
03:21:36 <lambda-11235> oerjan: Can't other IRC channels run their own instances of the bot?
03:21:39 <adu> `` bc <<< '2^2^2^2'
03:21:41 <HackEgo> 65536
03:22:18 <oerjan> lambda-11235: well sure, but not with the same nick on the same network
03:25:07 <oerjan> `` bc <<< 'for (i=23;;i++) { if (2^617%i==0) { print i; break; } }'
03:25:08 <HackEgo> 32
03:25:15 <oerjan> huh
03:25:24 <oerjan> oh duh
03:25:32 <oerjan> `` bc <<< 'for (i=23;;i++) { if (2^617%i==1) { print i; break; } }'
03:25:38 <HackEgo> 59233
03:25:45 <oerjan> yay
03:26:00 * adu gives oerjan a golden cookie
03:26:10 <oerjan> perhaps should have added 2 instead of incrementing
03:26:15 <oerjan> *munch*
03:26:27 -!- madbr has joined.
03:26:29 <madbr> hey
03:27:13 <adu> hey
03:27:32 <madbr> looking at some c++ compiler output to see how much operation chaining it has
03:27:44 <adu> chaining?
03:27:46 <madbr> looks like about 50% of ops could be chained
03:27:55 <adu> chained?
03:28:00 <madbr> yeah, basically a series of operations that update the same register
03:28:18 <madbr> example of chain:
03:28:18 <madbr> 079443AF subss xmm1,xmm3
03:28:18 <madbr> 079443B3 mulss xmm1,xmm4 ; chain
03:28:19 <madbr> 079443BE addss xmm1,xmm7 ; chain
03:28:19 <madbr> 079443C2 movss dword ptr [esi+2F4h],xmm1 ; chain
03:28:19 <madbr> 079443D2 mulss xmm1,xmm4 ; chain
03:28:50 <madbr> 5 consecutive operations involving the same
03:28:53 <madbr> register
03:30:08 <adu> I'm trying to think how that might apply to "belts"
03:30:47 <adu> https://en.wikipedia.org/wiki/Mill_CPU_Architecture#The_Belt.2C_a_pipelining_register_system
03:31:13 <madbr> afaik, the belt is essentially an improved VLIW
03:31:33 <madbr> it could do the chain but it has to mix it up with a few other calculations to run in parallel
03:33:16 <madbr> afaik the main problem that the belt fixes is that it makes it really easy to write 4+ values at the same time
03:33:26 <madbr> since they just end up on contiguous belt spaces
03:33:57 <adu> instead of that cpuid clusterf**k
03:34:13 <madbr> cpuid clusterfuck?
03:34:38 <\oren\> cpuid instruction returns data in like 4 registers, right?
03:35:03 <adu> \oren\: sometimes 2, I think, sometimes 4, iirc
03:35:15 <madbr> that can't be good
03:35:40 <adu> and they have different meaning depepding on the input
03:36:03 <\oren\> apparently 3; ebs, ecx and edx
03:36:22 <\oren\> oh, no
03:36:25 <adu> well, I still think its a clusterf**k
03:36:33 <\oren\> it really does depend on what's in EAX
03:36:57 <madbr> the belt basically fixes a sequence like add r4, r7, r6; sub r3, r11, r13; and r2, r21, r19; mul r5, r1, r20
03:37:09 <\oren\> the "processor brand string" is returned in EAX thru EDX
03:37:09 <madbr> which you typically find on VLIW cpus
03:38:12 <adu> cpuid is basically a vector of bits the size of the known universe
03:39:54 <madbr> it writes different parts of the cpuid to eax,ebx,ecx,edx depending on which part you ask for?
03:40:45 <oerjan> @tell b_jonas <b_jonas> fungot, does the amplitude of gravity waves attenuate linearly or quadratically in distance? <-- *gravitational hth
03:40:45 <fungot> oerjan: if the power, as duly noted. i've been up on the mountain is symbolic of the eternal quest for wisdom and understanding beyond what you or the weepies as their ruler now.
03:40:45 <lambdabot> Consider it noted.
03:40:57 <\oren\> yes, and if EAX = 0x00000004 then it writes an ASCII string to EAX:EBX:ECX:EDX
03:41:44 <\oren\> er, wait?
03:41:49 <adu> lolol
03:41:49 <\oren\> WTF it's even worse
03:42:32 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
03:42:36 <madbr> so microcoded
03:44:44 <\oren\> I don't see why they couldn't just make users detect cpu by seeing which instructions work?
03:45:17 <adu> \oren\: like adding something to cflags like a "not implemented bit"?
03:45:27 <\oren\> yah
03:45:54 <\oren\> the bit turns on if an instruction is maformed
03:46:53 <adu> \oren\: that would only work on archs with constant size opcodes
03:46:56 <madbr> because doing an illegal instruction triggers an interrupt
03:47:09 <madbr> which easily eats hundreads of cycles
03:47:15 <adu> \oren\: x86 doesn't have that
03:47:50 <madbr> also flags are bad
03:48:02 <\oren\> or you could just make users execute instructions then catch the SIGILL?
03:48:42 <adu> \oren\: I like how you're thinking outside the box, but you need two paths either way
03:48:50 <madbr> oren : ok but then where does windows restrart the thread?
03:49:14 <adu> it might as well be represented by an instruction that gives you data to test against
03:49:19 <madbr> generally you want to avoid SIGILL as much as possible
03:49:26 <madbr> or exceptions in general
03:49:43 <madbr> exceptions are horrible and you should probably only have the page fault exception
03:50:07 <\oren\> right but I don't think an auxiliary function like CPUID needs to be fast
03:50:19 <madbr> I don't think cpuid is fast :D
03:51:36 <\oren\> so they could just try 50 instructions, catch 50 SIGILL's, and conclude this is a 80286
03:52:32 <adu> right, but then Intel can't brag with their "GenuineIntel" string
03:52:32 <oerjan> <shachaf> ais523: Could be another dwarf. <-- btw that made me realize that the high priestess doesn't have an accent...
03:52:42 <madbr> afaik that's not how you detect a 286
03:53:00 <madbr> early x86 cores have bugs and you can differentiate them that way
03:53:05 <\oren\> AHA, and now we see the REAL reason to use an ASCII string in some registers!
03:53:24 -!- idris-bot has joined.
03:53:29 <adu> bragging rights?
03:53:35 <oerjan> @tell shachaf <shachaf> ais523: Could be another dwarf. <-- btw that made me realize that the high priestess doesn't have an accent...
03:53:35 <lambdabot> Consider it noted.
03:53:36 <\oren\> yup
03:53:38 -!- hppavilion[1] has joined.
03:53:43 <shachaf> @messages-
03:53:43 <lambdabot> oerjan said 8s ago: <shachaf> ais523: Could be another dwarf. <-- btw that made me realize that the high priestess doesn't have an accent...
03:53:50 <\oren\> bloody marketeers
03:54:41 <shachaf> oerjan: obviously a vampire in disguise hth
03:55:18 <adu> hppavilion[1]!
03:55:23 <hppavilion[1]> hadu
03:55:29 <hppavilion[1]> adu: I'm working on λ-nomic
03:55:43 <hppavilion[1]> I've almost got the rules working :)
03:55:50 <adu> hppavilion[1]: I'm learning supervisord
03:55:55 <oerjan> shachaf: EEK
03:56:05 <\oren\> I have an idiotic idea!
03:56:27 <shachaf> oerjan: i guess a vampire pretending to be human would have a twisty speech bubble
03:56:30 <hppavilion[1]> adu: Never heard of it
03:56:41 <\oren\> what if the OS, on older processors, catched SIGILL, read the instruction in question, and emulated it?
03:56:48 <adu> hppavilion[1]: it's a deamon container
03:56:51 -!- earendel has quit (Quit: earendel).
03:56:59 <hppavilion[1]> adu: OK?
03:58:17 <\oren\> this would allow an OS to run programs for later processors (at terrible speed, but still)
03:59:11 <shachaf> oerjan: by human i mean not undead sorry for speciesism
03:59:46 <madbr> \oren\ : I think that's used to emulate an fpu on some systems
04:00:24 <madbr> actually some fpu ops trigger a software fallback I think
04:00:38 <madbr> generally stuff like multiplying by infinity and so forth
04:01:46 <madbr> note: this is bad
04:01:47 <oerjan> shachaf: hm i had never thought malack's twistiness was more than just reptilianness
04:02:03 <shachaf> oerjan: well, the black undead speech bubbles weren't twisted
04:02:41 <shachaf> so i thought the white bubbles were twisted as a result of hiding his true colors
04:04:06 -!- ais523 has quit (Ping timeout: 250 seconds).
04:04:31 <madbr> \oren\ : also, generally all cpu features are speed features so it kindof misses the point :D
04:05:18 <oerjan> hm indeed the reptilians in the arena had normal bubbles
04:07:58 <oerjan> i guess i'm just rationalizing the fact i didn't guess malack was a vampire until he revealed it completely.
04:09:14 <madbr> I came up with a strange musical instrument classification
04:13:09 <madbr> I: easy to build instruments that everybody has: flutes, drums, hand percussions
04:13:13 <madbr> II: eurasian instruments that spread both west and east: shawms, zithers, lutes, bowed lutes
04:13:20 <madbr> III: instruments that more or less everybody has but are only developed in some regions: trumpets, harps, xylophones, bells, cymbals
04:13:25 <madbr> IV: regional instruments: bagpipes, free reeds, organs, gongs, misc chromatic percussion, electronic instruments
04:14:08 -!- jaboja has quit (Ping timeout: 272 seconds).
04:15:16 <lambda-11235> madbr: Where would panpipes fit in there?
04:15:20 -!- jaboja has joined.
04:15:24 <madbr> flutes
04:16:31 <shachaf> oerjan: http://www.giantitp.com/forums/showthread.php?219611-Malack-s-speech-bubble has a bunch of other examples of that sort of bubble
04:19:03 <madbr> lambda-11235 : actually it could be a category separate from flutes
04:19:25 <madbr> but it would still be in group I or III (probably III) since it evolved in multiple places
04:22:20 <madbr> also considering folding the bagpipes into the shawm group
04:34:48 -!- heroux has quit (Ping timeout: 265 seconds).
04:35:29 -!- heroux has joined.
04:46:34 -!- jaboja has quit (Ping timeout: 240 seconds).
04:49:39 -!- jaboja has joined.
04:55:40 -!- Sprocklem has quit (Ping timeout: 260 seconds).
05:00:02 -!- Guest9703 has quit (Remote host closed the connection).
05:01:17 -!- perrier_ has joined.
05:03:18 <oerjan> shachaf: last comment: "When in doubt use Occam's Razor. Its certainly more plausible for Malack to have poor health than for Malack to be a secret vampire with magical sun-block powers."
05:03:39 <oerjan> i think occam's razor needs a bit sharpening, there
05:07:19 <shachaf> oerjan: that was p. perceptive of Eigenclass
05:07:56 <shachaf> even Eigenclass didn't notice the spelling "bloodwart", though
05:08:28 <shachaf> whoa whoa whoa, my sister posted in that thread
05:08:44 <oerjan> ooh
05:12:54 <quintopia> helloerjan
05:17:34 -!- esowiki has joined.
05:17:39 -!- esowiki has joined.
05:17:39 -!- esowiki has joined.
05:18:15 -!- esowiki has joined.
05:18:19 -!- esowiki has joined.
05:18:19 -!- esowiki has joined.
05:18:55 -!- esowiki has joined.
05:18:59 -!- esowiki has joined.
05:18:59 -!- esowiki has joined.
05:19:35 -!- esowiki has joined.
05:19:39 -!- esowiki has joined.
05:19:39 -!- esowiki has joined.
05:20:15 -!- esowiki has joined.
05:20:19 -!- esowiki has joined.
05:20:19 -!- esowiki has joined.
05:20:55 -!- esowiki has joined.
05:20:59 -!- esowiki has joined.
05:20:59 -!- esowiki has joined.
05:21:35 -!- esowiki has joined.
05:21:39 -!- esowiki has joined.
05:21:39 -!- esowiki has joined.
05:22:15 -!- esowiki has joined.
05:22:19 -!- esowiki has joined.
05:22:19 -!- esowiki has joined.
05:22:50 -!- esowiki has joined.
05:22:54 -!- esowiki has joined.
05:22:54 -!- glogbot has joined.
05:22:54 -!- esowiki has joined.
05:23:02 -!- EgoBot has joined.
05:23:03 -!- FireFly has joined.
05:23:59 -!- jaboja has joined.
05:25:03 -!- Gregor has joined.
05:26:03 <oerjan> @tell ais523 0 s k x y = x, 1 s k x y = y, (n+m) s k x y = n s k (m s k x y) (m s k y (x y)) i think
05:26:11 <oerjan> argh
05:26:20 <oerjan> @bot
05:26:22 <lambdabot> Consider it noted.
05:26:23 <lambdabot> :)
05:28:13 <shachaf> oerjan: the bot will get bad habits if you botsnack before the job is done
05:28:31 <oerjan> good point
05:58:51 -!- esowiki has joined.
05:58:55 -!- esowiki has joined.
05:58:55 -!- esowiki has joined.
05:59:31 -!- esowiki has joined.
05:59:35 -!- esowiki has joined.
05:59:35 -!- esowiki has joined.
06:00:11 -!- esowiki has joined.
06:00:15 -!- esowiki has joined.
06:00:15 -!- esowiki has joined.
06:00:51 -!- esowiki has joined.
06:00:55 -!- esowiki has joined.
06:00:55 -!- esowiki has joined.
06:01:31 -!- esowiki has joined.
06:01:35 -!- esowiki has joined.
06:01:35 -!- esowiki has joined.
06:02:11 -!- esowiki has joined.
06:02:15 -!- esowiki has joined.
06:02:15 -!- esowiki has joined.
06:02:51 -!- esowiki has joined.
06:02:55 -!- esowiki has joined.
06:02:55 -!- esowiki has joined.
06:03:07 -!- glogbot has joined.
06:03:34 <hppavilion[1]> adu: http://206.174.0.58:81/
06:03:49 -!- andrew_ has joined.
06:04:09 <hppavilion[1]> Just for testing purposes
06:04:37 -!- Gregor has joined.
06:04:59 <hppavilion[1]> adu: It's not complete, of course, it's really just a primitive environment for testing
06:05:30 -!- FireFly has joined.
06:07:31 <adu> omg, polling is the worst
06:07:43 <adu> you should use websockets
06:08:16 <adu> or, if you want to really bring out the buzz words, HTTP/2
06:15:42 -!- adu has quit (Quit: adu).
06:23:19 -!- andrew__ has joined.
06:24:36 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
06:27:08 -!- andrew_ has quit (Ping timeout: 272 seconds).
06:27:30 -!- andrew__ has quit (Remote host closed the connection).
06:28:42 -!- mysanthrop has changed nick to myname.
06:29:08 -!- andrew_ has joined.
06:38:05 -!- Guest55944 has joined.
06:42:15 -!- Guest55944 has quit (Ping timeout: 240 seconds).
06:50:02 -!- madbr has quit (Quit: Pics or it didn't happen).
06:52:53 -!- andrew_ has quit (Quit: Leaving).
06:53:18 -!- andrew_ has joined.
06:55:26 -!- jaboja has joined.
06:59:12 <izabera> ok so i have an idea for a kernel thing
06:59:40 <izabera> basically you can specify a set of environment variables
06:59:45 <izabera> somehow
07:00:01 <izabera> not sure what's the best way, maybe the kernel command line, maybe somewhere in /proc
07:00:08 <izabera> and every other variable is removed
07:01:07 -!- hppavilion[1] has joined.
07:01:15 <izabera> so you can still specify TERM and COLUMNS and LINES, and you avoid problems like shellshock and all the mess with PROGRAMNAME_OPTIONS like grep or ls or whatever
07:01:19 <hppavilion[1]> @tell adu Polling is bad, but it works
07:01:30 <lambdabot> Consider it noted.
07:05:40 <hppavilion[1]> @tell adu It's just a prototype, keep in mind
07:05:41 <lambdabot> Consider it noted.
07:07:35 -!- lambda-11235 has quit (Quit: Bye).
07:12:02 <b_jonas> “<\oren\> I don't see why they couldn't just make users detect cpu by seeing which instructions work?” – that was the old method, but the problem with it is that it breaks horribly in virtualized CPUs with hot migration, plus also instructions that are declared NOPs on old CPUs but do some sort of optimization on new CPUs.
07:12:27 <b_jonas> \oren\: but some old features still have to be checked that way
07:12:39 -!- Opodeldoc has quit (Read error: Connection reset by peer).
07:12:45 <b_jonas> luckily none on x86_64, because those features are guaranteed to work on x86_64
07:14:10 -!- oerjan has quit (Quit: Later).
07:17:51 <b_jonas> shachaf, oerjan: as for speech bubbles, (1) the bugs, which shouldn't be able to breathe, have normal speech bubbles, and (2) the Giant said something that basically implies that you can't really get much info from speech bubbles because people can change them or whatever
07:18:34 <b_jonas> http://www.giantitp.com/forums/showsinglepost.php?p=14733452
07:21:06 <b_jonas> “last comment: "When in doubt use Occam's Razor. Its certainly more plausible for Malack to have poor health than for Malack to be a secret vampire with magical sun-block powers."” – that heuristic has some base: Professor Snape turned out to be not secretly a vampire in Harry Potter and the Deathly Hallows, despite that the Half-Blood Prince confirms that vampires really exist in the HP world
07:21:30 <b_jonas> `? uncyclopedia
07:21:39 <HackEgo> uncyclopedia? ¯\(°​_o)/¯
07:21:47 <b_jonas> `? wisdom
07:21:49 <HackEgo> wisdom is always factually accurate, except for this entry, and uh that other one? it started with like, an ø?
07:24:01 <b_jonas> `learn Uncyclopedia is always factually accurate, except for uh, that one entry? it started with like, an AA? you can probably find it in http://unicyclopedia.wikia.com/wiki/Special:PrefixIndex/AA
07:24:04 <HackEgo> Learned 'uncyclopedia': Uncyclopedia is always factually accurate, except for uh, that one entry? it started with like, an AA? you can probably find it in http://unicyclopedia.wikia.com/wiki/Special:PrefixIndex/AA
07:28:33 -!- Opodeldoc has joined.
07:36:14 <hppavilion[1]> x^(ax^2+bx+c)
07:36:22 <izabera> = 42
07:37:17 <hppavilion[1]> x^x
07:37:18 <izabera> b_jonas: unicyclopedia or uncyclopedia?
07:37:24 <izabera> hppavilion[1]: no output
07:37:26 <hppavilion[1]> izabera: I'm compiling ALL the weird graphs
07:38:30 <izabera> `cat wisdom/uncyclopedia
07:38:32 <HackEgo> Uncyclopedia is always factually accurate, except for uh, that one entry? it started with like, an AA? you can probably find it in http://unicyclopedia.wikia.com/wiki/Special:PrefixIndex/AA
07:38:43 <izabera> `` sed -i s/unicy/uncy/ wisdom/uncyclopedia
07:38:47 <HackEgo> No output.
07:38:57 <izabera> `? uncyclopedia
07:38:59 <HackEgo> Uncyclopedia is always factually accurate, except for uh, that one entry? it started with like, an AA? you can probably find it in http://uncyclopedia.wikia.com/wiki/Special:PrefixIndex/AA
07:39:03 <hppavilion[1]> x^x^x^x^x^x^x
07:39:10 <izabera> = 123456789
07:39:27 <hppavilion[1]> izabera: What other weird graphs are there?
07:39:39 <izabera> x+1
07:39:59 <shachaf> `learn oerjan is always factually accurate, except for sentences that begin with AA
07:41:30 -!- MDude has changed nick to MDream.
07:41:38 -!- jaboja has quit (Ping timeout: 250 seconds).
07:42:38 -!- jaboja has joined.
07:43:13 <hppavilion[1]> y=|x|^x is amaaaaaaaaazing
07:43:20 <hppavilion[1]> I think we need equations.txt
07:43:29 <hppavilion[1]> `touch equations
07:43:31 <HackEgo> No output.
07:43:44 <hppavilion[1]> `` echo "x^x" >> equations
07:43:47 <HackEgo> No output.
07:43:52 <hppavilion[1]> `` cat equations
07:43:53 <HackEgo> x^x
07:44:02 <hppavilion[1]> `` echo "|x|^x" >> equations
07:44:05 <HackEgo> No output.
07:44:10 <hppavilion[1]> `cat equations
07:44:11 <HackEgo> x^x \ |x|^x
07:53:16 <hppavilion[1]> I just realized
07:53:28 <hppavilion[1]> |x|^x has two asymptotes
07:59:54 -!- mroman has joined.
08:08:35 -!- J_Arcane_ has joined.
08:08:59 -!- J_Arcane has quit (Ping timeout: 276 seconds).
08:09:00 -!- J_Arcane_ has changed nick to J_Arcane.
08:15:36 <zgrep> hppavilion[1]: What are they?
08:16:07 <hppavilion[1]> zgrep: I was wrong, according to ##math
08:16:16 <zgrep> Well, I only see one...
08:16:17 <hppavilion[1]> zgrep: But it does have 1 at y=0
08:16:30 <zgrep> Yep, that's the one I see...
08:16:37 <hppavilion[1]> zgrep: I thought the x>0 part was congruent with the x<0 part
08:16:47 <hppavilion[1]> zgrep: It made sense at the time
08:17:10 <zgrep> Heh. Okay.
08:19:05 <hppavilion[1]> zgrep: I think I found a good random number generator
08:19:09 <hppavilion[1]> zgrep: Probably not though
08:19:35 * zgrep imagines searching for random number generators hiding out in jungles and forests...
08:20:34 <hppavilion[1]> zgrep: sin(x)+2*sin(x/2)+3*sin(x/3)+4*sin(x/4)...
08:20:44 <hppavilion[1]> Probably not good at the "random" part, but it sure is erratic
08:21:45 <hppavilion[1]> Then mix a cos() in at the primes xD
08:23:51 <zgrep> Doesn't look that erratic to me...
08:24:04 <zgrep> ...probably because I'm doing something wrong.
08:24:41 <hppavilion[1]> zgrep: It repeats itself, yes, but it's pretty crazy
08:24:58 <zgrep> Hm... how so?
08:26:15 <hppavilion[1]> x^sin(x)
08:26:27 <hppavilion[1]> zgrep: It just is
08:26:32 <hppavilion[1]> zgrep: You have to see it to understand
08:26:54 <zgrep> I'm trying to see it, but as I said, I'm probably doing something wrong. Care to show me?
08:27:03 <zgrep> (I'm trying to literally see it, not figuratively)
08:28:16 <zgrep> I do see x^sin(x) though. Looks... interesting.
08:29:20 <hppavilion[1]> zgrep: It does
08:29:40 <hppavilion[1]> zgrep: I was wondering for a while if such a function like that existed- one where the sine's amplitude grows over time
08:30:46 <zgrep> sin^cos looks interesting too, though completely irrelevant.
08:31:12 <zgrep> Oh, not so interesting.
08:31:28 <zgrep> Though kind-of interesting.
08:33:28 <hppavilion[1]> zgrep: Reminds me of tan
08:34:15 <hppavilion[1]> I suppose it should've been obvious x sin(x) would produce the growing sine function
08:34:19 <zgrep> Looks different depending on what I use to graph it. ._.
08:34:24 <zgrep> (s^c, I mean)
08:36:05 <zgrep> Must've mis-typed something, now everything's agreeing it seems.
08:36:47 * zgrep leaves, because zgrep has to sleep at some point today, probably
08:46:11 -!- hkgit03 has joined.
08:50:05 <b_jonas> izabera: yes
08:50:20 <b_jonas> hey! don't do that
08:50:26 <b_jonas> I wrote unicyclopedia deliberately
08:50:28 -!- jaboja has quit (Ping timeout: 252 seconds).
08:50:38 <b_jonas> `? uncyclopedia
08:50:42 <HackEgo> Uncyclopedia is always factually accurate, except for uh, that one entry? it started with like, an AA? you can probably find it in http://uncyclopedia.wikia.com/wiki/Special:PrefixIndex/AA
08:51:30 <b_jonas> ``` perlr -i -pe 's"un(cyclopedia.wikia.com/wiki)"uni$1" and warn "replace ok"' wisdom/uncyclopedia
08:51:32 <HackEgo> bash: perlr: command not found
08:51:36 <b_jonas> ``` perl -i -pe 's"un(cyclopedia.wikia.com/wiki)"uni$1" and warn "replace ok"' wisdom/uncyclopedia
08:51:38 <HackEgo> replace ok at -e line 1, <> line 1.
08:51:43 <b_jonas> `? uncyclopedia
08:51:45 <HackEgo> Uncyclopedia is always factually accurate, except for uh, that one entry? it started with like, an AA? you can probably find it in http://unicyclopedia.wikia.com/wiki/Special:PrefixIndex/AA
08:51:49 -!- earendel has joined.
08:53:28 -!- AnotherTest has joined.
08:53:52 -!- tromp_ has quit (Remote host closed the connection).
08:55:37 <b_jonas> except the url is wrong
08:56:27 <b_jonas> Unicyclopedia is actually at https://en.wikibooks.org/wiki/The_Unicyclopedia
08:57:06 <b_jonas> ``` perl -i -pe 's"http://\S+"https://en.wikibooks.org/wiki/Special:PrefixIndex/The_Unicyclopedia" and warn "replace ok"' wisdom/uncyclopedia
08:57:08 <HackEgo> replace ok at -e line 1, <> line 1.
08:57:17 <b_jonas> `? uncyclopedia
08:57:18 <HackEgo> Uncyclopedia is always factually accurate, except for uh, that one entry? it started with like, an AA? you can probably find it in https://en.wikibooks.org/wiki/Special:PrefixIndex/The_Unicyclopedia
09:06:03 -!- lynn has joined.
09:12:54 -!- lynn has quit (Ping timeout: 256 seconds).
09:21:18 -!- AnotherTest has quit (Ping timeout: 272 seconds).
09:32:44 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
09:34:25 -!- newsham_ has joined.
09:34:30 -!- newsham has quit (Read error: Connection reset by peer).
09:40:04 -!- AnotherTest has joined.
09:44:22 -!- AnotherTest has quit (Ping timeout: 252 seconds).
09:52:36 -!- Elronnd has quit (*.net *.split).
09:52:37 -!- ocharles_ has quit (*.net *.split).
09:52:38 -!- pikhq_ has quit (*.net *.split).
09:52:39 -!- zgrep has quit (*.net *.split).
09:52:40 -!- paul2520 has quit (*.net *.split).
09:52:40 -!- tswett has quit (*.net *.split).
09:52:41 -!- lambdabot has quit (*.net *.split).
09:52:41 -!- izabera has quit (*.net *.split).
09:52:41 -!- Nithogg has quit (*.net *.split).
09:52:47 -!- Warrigal has joined.
09:52:47 -!- pikhq has joined.
09:52:55 -!- Nithogg has joined.
09:52:59 -!- paul2520 has joined.
09:52:59 -!- paul2520 has quit (Changing host).
09:52:59 -!- paul2520 has joined.
09:54:26 -!- tromp_ has joined.
09:54:36 -!- Elronnd has joined.
09:56:35 -!- earendel has quit (Ping timeout: 264 seconds).
09:56:42 -!- kragniz has quit (Ping timeout: 265 seconds).
09:57:29 -!- lambdabot has joined.
09:58:08 -!- zgrep has joined.
09:58:27 -!- kragniz has joined.
09:58:34 -!- tromp_ has quit (Ping timeout: 240 seconds).
10:01:57 -!- earendel has joined.
10:03:33 -!- lambdabot has quit (*.net *.split).
10:03:34 -!- pikhq has quit (*.net *.split).
10:03:34 -!- Warrigal has quit (*.net *.split).
10:03:46 -!- Warrigal has joined.
10:03:49 -!- pikhq has joined.
10:08:05 -!- ocharles_ has joined.
10:08:10 -!- \oren\ has quit (*.net *.split).
10:08:11 -!- lleu has quit (*.net *.split).
10:08:11 -!- gniourf has quit (*.net *.split).
10:08:11 -!- Froo has quit (*.net *.split).
10:08:11 -!- j-bot has quit (*.net *.split).
10:08:27 -!- \oren\ has joined.
10:08:36 -!- Froo has joined.
10:09:06 -!- lleu has joined.
10:09:06 -!- lleu has quit (Changing host).
10:09:06 -!- lleu has joined.
10:09:23 -!- gniourf has joined.
10:10:00 -!- lambdabot has joined.
10:14:05 -!- j-bot has joined.
10:43:02 -!- J_Arcane has quit (Ping timeout: 276 seconds).
10:43:04 -!- cnr has quit (Quit: ZNC - http://znc.in).
10:47:20 -!- cnr has joined.
10:47:20 -!- cnr has quit (Changing host).
10:47:20 -!- cnr has joined.
10:49:25 -!- Elronnd has quit (*.net *.split).
10:49:25 -!- Nithogg has quit (*.net *.split).
10:49:26 -!- andrew_ has quit (*.net *.split).
10:49:26 -!- perrier_ has quit (*.net *.split).
10:49:27 -!- sewilton has quit (*.net *.split).
10:49:27 -!- bender has quit (*.net *.split).
10:49:27 -!- prooftechnique has quit (*.net *.split).
10:49:27 -!- ^v has quit (*.net *.split).
10:49:28 -!- aloril has quit (*.net *.split).
10:49:28 -!- incomprehensibly has quit (*.net *.split).
10:49:29 -!- b_jonas has quit (*.net *.split).
10:49:30 -!- ineiros_ has quit (*.net *.split).
10:49:30 -!- haavard has quit (*.net *.split).
10:49:30 -!- Hoolootwo has quit (*.net *.split).
10:49:30 -!- staffehn has quit (*.net *.split).
10:49:30 -!- Riviera has quit (*.net *.split).
10:49:31 -!- Lymia has quit (*.net *.split).
10:49:31 -!- nortti has quit (*.net *.split).
10:49:36 -!- Hoolootwo has joined.
10:49:39 -!- b_jonas has joined.
10:49:42 -!- ^v has joined.
10:49:43 -!- bender has joined.
10:49:44 -!- Elronnd has joined.
10:49:46 -!- nortti has joined.
10:49:46 -!- Lymia has joined.
10:49:59 -!- haavard has joined.
10:50:04 -!- andrew_ has joined.
10:50:06 -!- prooftechnique has joined.
10:50:45 -!- perrier_ has joined.
10:51:00 -!- aloril has joined.
10:51:01 -!- Nithogg has joined.
10:51:05 -!- staffehn has joined.
10:53:26 -!- AnotherTest has joined.
10:54:33 -!- ineiros has joined.
10:55:31 -!- MoALTz has quit (Read error: Connection reset by peer).
10:57:56 -!- AnotherTest has quit (Ping timeout: 250 seconds).
10:58:31 -!- incomprehensibly has joined.
11:01:52 -!- sewilton has joined.
11:04:15 -!- incomprehensibly has quit (*.net *.split).
11:04:15 -!- haavard has quit (*.net *.split).
11:04:15 -!- perrier_ has quit (*.net *.split).
11:04:16 -!- nortti has quit (*.net *.split).
11:04:16 -!- bender has quit (*.net *.split).
11:04:16 -!- Froo has quit (*.net *.split).
11:04:16 -!- \oren\ has quit (*.net *.split).
11:04:17 -!- hkgit03 has quit (*.net *.split).
11:04:18 -!- mbrcknl has quit (*.net *.split).
11:04:18 -!- myname has quit (*.net *.split).
11:04:19 -!- HackEgo has quit (*.net *.split).
11:04:19 -!- shikhin has quit (*.net *.split).
11:04:20 -!- catern has quit (*.net *.split).
11:04:28 -!- HackEgo has joined.
11:04:32 -!- nortti has joined.
11:04:34 -!- bender has joined.
11:04:53 -!- myname has joined.
11:04:53 -!- shikhin has joined.
11:04:55 -!- Froo has joined.
11:05:36 -!- haavard has joined.
11:05:37 -!- perrier_ has joined.
11:05:52 -!- AnotherTest has joined.
11:07:31 -!- \oren\ has joined.
11:10:14 -!- \oren\ has quit (Ping timeout: 272 seconds).
11:10:46 -!- \oren\ has joined.
11:14:45 -!- mbrcknl has joined.
11:15:50 -!- incomprehensibly has joined.
11:16:53 -!- catern has joined.
11:24:45 -!- AnotherTest has quit (Ping timeout: 260 seconds).
11:36:30 -!- boily has joined.
11:39:54 -!- myname has quit (*.net *.split).
11:39:55 -!- lleu has quit (*.net *.split).
11:39:56 -!- Opodeldoc has quit (*.net *.split).
11:39:56 -!- ski has quit (*.net *.split).
11:39:56 -!- sebbu has quit (*.net *.split).
11:39:56 -!- gde33|2 has quit (*.net *.split).
11:39:57 -!- atehwa has quit (*.net *.split).
11:39:57 -!- Yurume has quit (*.net *.split).
11:39:57 -!- augur has quit (*.net *.split).
11:39:57 -!- fractal has quit (*.net *.split).
11:39:58 -!- lifthrasiir has quit (*.net *.split).
11:39:58 -!- tromp has quit (*.net *.split).
11:39:58 -!- quintopia has quit (*.net *.split).
11:39:58 -!- APic has quit (*.net *.split).
11:40:10 -!- lifthrasiir has joined.
11:40:11 -!- quintopia has joined.
11:40:11 -!- APic has joined.
11:40:13 -!- EgoBot has joined.
11:40:18 -!- tromp has joined.
11:40:21 -!- sebbu has joined.
11:40:28 -!- atehwa has joined.
11:40:30 -!- augur has joined.
11:40:45 -!- lleu has joined.
11:40:45 -!- lleu has quit (Changing host).
11:40:45 -!- lleu has joined.
11:42:06 -!- Yurume has joined.
11:42:16 -!- gde33|2 has joined.
11:45:32 -!- myname has joined.
11:46:04 -!- ski has joined.
11:49:12 <boily> `wisdom
11:49:28 <HackEgo> hypo/Hypo is potamus.
11:50:20 -!- augur has quit (*.net *.split).
11:50:20 -!- EgoBot has quit (*.net *.split).
11:50:21 -!- ineiros has quit (*.net *.split).
11:50:22 -!- earendel has quit (*.net *.split).
11:50:22 -!- FireFly has quit (*.net *.split).
11:50:23 -!- Sgeo_ has quit (*.net *.split).
11:50:24 -!- vodkode has quit (*.net *.split).
11:50:26 -!- Veltas has quit (*.net *.split).
11:50:26 -!- olsner has quit (*.net *.split).
11:50:27 -!- int-e has quit (*.net *.split).
11:50:29 -!- ineiros has joined.
11:50:45 -!- vodkode has joined.
11:50:46 -!- FireFly has joined.
11:50:54 -!- augur has joined.
11:51:00 -!- earendel has joined.
11:51:08 -!- Sgeo_ has joined.
11:52:47 -!- EgoBot has joined.
11:54:33 -!- tromp_ has joined.
11:59:08 -!- Veltas has joined.
11:59:19 -!- esowiki has joined.
11:59:23 -!- glogbot has joined.
11:59:23 -!- esowiki has joined.
11:59:24 -!- esowiki has joined.
11:59:27 -!- relrod_ has joined.
11:59:28 -!- Gregor has joined.
11:59:28 -!- relrod_ has quit (Changing host).
11:59:28 -!- relrod_ has joined.
11:59:28 -!- tromp_ has quit (Ping timeout: 265 seconds).
11:59:33 -!- b_jonas has joined.
11:59:42 -!- haavard has joined.
11:59:43 -!- shachaf has joined.
12:00:03 -!- diginet has joined.
12:00:28 -!- perrier_ has joined.
12:00:29 -!- puckipedia has joined.
12:00:29 -!- int-e has joined.
12:00:46 -!- fractal has joined.
12:00:48 -!- Guest76594 has joined.
12:01:24 -!- Xe has joined.
12:01:31 -!- olsner has joined.
12:04:05 -!- newsham_ has joined.
12:04:05 -!- hydraz has joined.
12:04:21 -!- coppro has joined.
12:04:32 -!- mtve has joined.
12:05:09 -!- digitalcold has joined.
12:06:10 -!- Vorpal has quit (Ping timeout: 260 seconds).
12:07:30 -!- newsham_ has quit (*.net *.split).
12:07:30 -!- hydraz has quit (*.net *.split).
12:07:38 -!- hydraz has joined.
12:07:39 -!- hydraz has quit (Changing host).
12:07:39 -!- hydraz has joined.
12:11:13 -!- bender has quit (Ping timeout: 240 seconds).
12:14:00 -!- boily has quit (Quit: AGREED CHICKEN).
12:14:03 -!- Riviera has joined.
12:24:52 -!- digitalcold has quit (*.net *.split).
12:24:52 -!- coppro has quit (*.net *.split).
12:24:53 -!- staffehn has quit (*.net *.split).
12:24:53 -!- Nithogg has quit (*.net *.split).
12:24:54 -!- ocharles_ has quit (*.net *.split).
12:24:54 -!- pikhq has quit (*.net *.split).
12:24:54 -!- kragniz has quit (*.net *.split).
12:24:54 -!- zgrep has quit (*.net *.split).
12:24:54 -!- mroman has quit (*.net *.split).
12:24:54 -!- rodgort has quit (*.net *.split).
12:24:55 -!- Lord_of_Life has quit (*.net *.split).
12:24:56 -!- carado has quit (*.net *.split).
12:24:57 -!- Taneb has quit (*.net *.split).
12:25:11 -!- Nithogg has joined.
12:25:12 -!- coppro has joined.
12:25:12 -!- pikhq has joined.
12:25:13 -!- carado has joined.
12:25:13 -!- Taneb has joined.
12:25:14 -!- digitalcold has joined.
12:25:20 -!- mroman has joined.
12:25:31 -!- rodgort has joined.
12:25:32 -!- kragniz has joined.
12:26:06 -!- Lord_of_Life has joined.
12:26:08 -!- staffehn has joined.
12:32:02 -!- Lymee has joined.
12:32:02 -!- cnr_ has joined.
12:32:09 -!- fractal has quit (*.net *.split).
12:32:10 -!- nortti has quit (*.net *.split).
12:32:10 -!- Lymia has quit (*.net *.split).
12:32:10 -!- ^v has quit (*.net *.split).
12:32:11 -!- Hoolootwo has quit (*.net *.split).
12:32:11 -!- cnr has quit (*.net *.split).
12:32:11 -!- paul2520 has quit (*.net *.split).
12:32:12 -!- trn has quit (*.net *.split).
12:32:12 -!- FreeFull has quit (*.net *.split).
12:32:13 -!- fungot has quit (*.net *.split).
12:32:14 -!- jameseb has quit (*.net *.split).
12:32:23 -!- Lymee has changed nick to Lymia.
12:32:26 -!- nortti has joined.
12:32:30 -!- cnr_ has changed nick to cnr.
12:32:31 -!- cnr has quit (Changing host).
12:32:31 -!- cnr has joined.
12:32:34 -!- paul2520 has joined.
12:32:37 -!- Hoolootwo has joined.
12:32:57 -!- FreeFull has joined.
12:34:13 -!- jameseb has joined.
12:37:19 -!- ^v has joined.
12:42:22 -!- trn has joined.
12:43:33 -!- zgrep has joined.
12:48:19 -!- fractal has joined.
12:49:00 -!- izabera has joined.
12:52:02 -!- ocharles_ has joined.
12:55:40 -!- J_Arcane has joined.
13:02:21 -!- llue has joined.
13:03:16 -!- lleu has quit (Ping timeout: 265 seconds).
13:04:40 -!- bender| has joined.
13:08:20 -!- idris-bot has quit (Ping timeout: 248 seconds).
13:09:56 -!- Melvar has quit (Ping timeout: 248 seconds).
13:12:37 -!- Melvar has joined.
13:27:34 <mroman> fnurd
13:28:40 -!- Vorpal has joined.
13:28:40 -!- Vorpal has quit (Changing host).
13:28:40 -!- Vorpal has joined.
13:39:48 -!- andrew_ has quit (Remote host closed the connection).
13:43:31 <int-e> @uptime
13:43:31 <lambdabot> uptime: 3h 37m 57s, longest uptime: 1m 12d 14h 14m 14s
13:43:35 <int-e> well so much for that
13:48:43 -!- tromp_ has joined.
13:50:34 -!- fizzie has quit (*.net *.split).
13:50:34 -!- vifino has quit (*.net *.split).
13:50:42 -!- vifino has joined.
13:52:59 -!- fizzie has joined.
14:00:16 -!- newsham has joined.
14:08:34 -!- p34k has joined.
14:21:58 -!- bender| has quit (Ping timeout: 268 seconds).
14:26:12 <HackEgo> [wiki] [[Pandora]] M https://esolangs.org/w/index.php?diff=46409&oldid=45992 * LegionMammal978 * (+69) /* External resources */
14:49:12 -!- staffehn has quit (Remote host closed the connection).
14:49:21 -!- staffehn has joined.
14:53:29 -!- spiette has joined.
15:04:14 -!- spiette_ has joined.
15:05:08 -!- spiette has quit (Ping timeout: 268 seconds).
15:05:26 -!- spiette_ has changed nick to spiette.
15:20:54 -!- j-bot has quit (Remote host closed the connection).
15:21:07 -!- Riviera has quit (Quit: Reconnecting).
15:21:14 -!- j-bot has joined.
15:22:16 -!- Riviera has joined.
15:28:35 -!- incomprehensibly has quit (Ping timeout: 268 seconds).
15:29:50 -!- incomprehensibly has joined.
15:34:04 -!- J_Arcane has quit (Ping timeout: 240 seconds).
16:02:51 -!- AlexR42 has joined.
16:02:58 -!- AlexR42 has quit (Client Quit).
16:08:15 -!- mroman has quit (Quit: Lost terminal).
16:09:38 -!- coppro has quit (Remote host closed the connection).
16:10:28 -!- lambda-11235 has joined.
16:14:08 -!- coppro has joined.
16:25:27 -!- coppro has quit (Ping timeout: 244 seconds).
16:28:55 -!- Sprocklem has joined.
16:44:35 -!- relrod_ has changed nick to relrod.
16:45:49 -!- Guest76594 has quit (Changing host).
16:45:49 -!- Guest76594 has joined.
16:45:52 -!- Guest76594 has changed nick to nitrix.
16:45:53 -!- idris-bot has joined.
16:50:31 <izabera> https://codegolf.stackexchange.com/questions/3191/write-the-fastest-fibonacci
16:54:30 -!- spiette has quit (Quit: :qa!).
17:00:06 -!- MDream has changed nick to MDude.
17:06:12 -!- AnotherTest has joined.
17:12:08 <izabera> how do i convert from latex to .doc ?
17:12:12 <izabera> :\
17:20:26 -!- staffehn has quit (Quit: No Ping reply in 180 seconds.).
17:20:46 -!- staffehn has joined.
17:25:26 -!- tromp_ has quit (Remote host closed the connection).
17:30:40 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
17:33:13 -!- incomprehensibly has quit (Ping timeout: 240 seconds).
17:33:36 -!- Lord_of_Life has joined.
17:34:02 -!- zgrep has quit (Read error: Connection reset by peer).
17:34:50 -!- rodgort has quit (Ping timeout: 240 seconds).
17:35:38 -!- Taneb has quit (Ping timeout: 240 seconds).
17:36:25 -!- Xe has quit (Ping timeout: 240 seconds).
17:39:05 -!- zgrep has joined.
17:39:32 -!- Taneb has joined.
17:39:48 -!- staffehn has quit (Quit: No Ping reply in 180 seconds.).
17:39:54 -!- staffehn has joined.
17:40:23 -!- incomprehensibly has joined.
17:40:23 <int-e> boo the output file contains a newline
17:41:18 -!- rodgort has joined.
17:41:49 -!- Xe has joined.
17:43:13 -!- Sprocklem has quit (Ping timeout: 240 seconds).
17:57:25 <fizzie> izabera: Convert to a .png and include it in the .doc.
17:59:46 <izabera> :)
18:01:10 -!- mihow has joined.
18:01:14 -!- MoALTz has joined.
18:01:59 -!- Froo has quit (Quit: *bubbles away*).
18:02:27 -!- hppavilion[1] has joined.
18:04:28 <int-e> the funny thing is that using 'print' (which uses Show, so one would expect an intermediate Char list) is faster than going through a lazy bytestring...
18:15:08 <int-e> Okay, I got a tiny speedup by using Data.ByteString.Builder instead of plain print.
18:16:01 -!- Frooxius has joined.
18:17:11 -!- Opodeldoc has joined.
18:19:33 -!- lambda-11235 has quit (Ping timeout: 240 seconds).
18:21:32 -!- lambda-11235 has joined.
18:21:52 <^v> spreading the word: update your glibc
18:25:04 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
18:26:03 -!- tromp_ has joined.
18:26:25 -!- jaboja has joined.
18:27:09 -!- hppavilion[1] has joined.
18:28:00 <izabera> what happened
18:29:12 <Opodeldoc> izabera: https://googleonlinesecurity.blogspot.com/2016/02/cve-2015-7547-glibc-getaddrinfo-stack.html
18:29:20 <izabera> thanks
18:30:13 <int-e> an instance of perililisation...
18:30:36 -!- tromp_ has quit (Ping timeout: 250 seconds).
18:32:24 -!- lynn has joined.
18:43:34 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
18:44:23 -!- nycs has joined.
18:57:27 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
19:00:53 -!- AnotherTest has joined.
19:14:50 -!- hppavilion[1] has joined.
19:15:58 -!- zzo38 has joined.
19:28:33 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
19:31:35 -!- hppavilion[1] has joined.
19:48:27 -!- J_Arcane has joined.
19:50:34 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
19:54:58 -!- zadock has joined.
20:09:17 -!- coppro has joined.
20:13:30 <earendel> >>((4/3)/(16:9))
20:17:05 -!- hppavilion[1] has joined.
20:28:25 -!- Treio has joined.
20:34:18 <olsner> int-e: print consumes the list directly, so pretty much only one cons (if even any at all) would be alive at any point
20:34:53 -!- lambda-11235 has quit (Quit: Bye).
20:35:06 <zzo38> How many use Heirloom Mailx as their email client? It is what I am using now
20:37:26 <int-e> olsner: I know, but the cons cells are allocated (integerToString is not defined in terms of "build", so there's no fusion)... so I still find it impressive.
20:37:34 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
20:38:29 -!- Treio has quit (Quit: Leaving).
20:39:36 -!- hppavilion[1] has joined.
20:55:39 <b_jonas> hello
20:55:47 <izabera> `welcome b_jonas
20:55:58 <b_jonas> `wisdom
20:56:04 <HackEgo> b_jonas: 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.)
20:56:05 <HackEgo> hyperbolic geometry/Hyperbolic Geometry is geometry that is exaggerated to the point of absurdity.
20:56:20 <b_jonas> fungot, what theme are on you right now?
20:56:53 <izabera> a silent theme
20:57:27 <hppavilion[1]> Well GTMO is an interesting place
20:57:52 <hppavilion[1]> Some parts are awful, other parts are so good that a prisoner opted to stay instead of being transferred out
21:00:42 <b_jonas> zzo38: I had a crazy idea for a M:tG card. Name: Shadows of Ills to Come | MC: 1B | Type: Sorcery | Abi: All creatures get -1/-1 until end of turn. When Shadows of Ills to Come resolves, end this power- and toughness-changing effect.
21:11:23 -!- coppro has quit (Quit: Lost terminal).
21:11:56 -!- Sprocklem has joined.
21:13:30 -!- evalj has joined.
21:13:55 <int-e> Oh, hmm, I guess that's cheap. And you can play instants with the -1/-1 still in effect.
21:15:11 <int-e> (if I understand correctly)
21:16:20 <shachaf> Why is it "until end of turn"?
21:16:52 <int-e> someone might stifle the triggered ability?
21:16:52 <shachaf> What about an enchantment that has a trigger when it enters the battlefield?
21:17:12 <shachaf> Seems like a more conventional way to get a similar effect.
21:18:10 <b_jonas> shachaf: If the trigger is not resolved, due to Stifle or Time Stop etc, then the card would create crazy memory issues where you would have to remember the locked in set of creatures. The "until end of turn" might not be a perfect solution, and certainly removes some of the elegance, but I couldn't figure out anything better.
21:18:16 -!- earendel has quit (Ping timeout: 255 seconds).
21:19:15 <b_jonas> int-e: why do you think it's cheap? I compare the cost to Nausea or Shrivel, and I don't think this is much more powerful.
21:19:22 <b_jonas> It can be better or worse than those.
21:19:51 <b_jonas> Yes, you can play instants with the -1/-1 still in effect, yes.
21:20:26 -!- earendel has joined.
21:21:03 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
21:21:05 <shachaf> I guess the thing I'm describing is like Evoke.
21:21:19 <b_jonas> shachaf: You could make it an enchantment, but it would probably have to destroy itself imediately, which is confusing for an enchantment, plus the text would be longer, even if you don't want lock-in. I don't see what the advantage would be, unless you put it to a more expensive enchantment that does something else too.
21:21:59 <shachaf> b_jonas: Well, a permanent seems simpler than a sorcery's effect.
21:22:14 <int-e> b_jonas: I find those cards cheap as well. I'm sure there are better ones around...
21:22:20 -!- zadock has quit (Quit: Leaving).
21:22:39 <b_jonas> shachaf: I don't think so, since for an enchantment it would be strange to only do something the turn it etb, and if it was a creature, it would likely have to cost more, unless it had some ugly drawback.
21:23:08 <int-e> I'm trying to stay away from M:tG for my own good :P
21:23:21 <shachaf> Name: Something | MC: | Type: Enchantment | Abi: All creates have -1/-1 / Evoke 1B
21:23:25 <shachaf> creatures
21:23:29 <b_jonas> shachaf: even if it was just 0/1 (unusual for black) and said "other creatures" so it doesn't kill itself immediately, {1B} would likely be cheap for it.
21:23:33 -!- hppavilion[1] has joined.
21:24:14 <b_jonas> shachaf: um, that can stay on the battlefield indefinitely, for many turns. you definitely can't cost that at 1B, and it would probably be too cheap even for 1BB
21:24:31 <shachaf> I guess stifle effects are more common than I think.
21:24:59 <b_jonas> shachaf: I think there are three or four cards with stifle effects, and two or three with time stop effects
21:25:16 <b_jonas> shachaf: they aren't common, but the time stop effects are new, so there will likely be more
21:25:48 <b_jonas> I _think_ they're all on rare or higher rarity cards
21:26:44 <b_jonas> Let me see. There are three cards with "end the turn", but one is a sorcery so it needs an extra card to cast while the trigger is on the stack;
21:27:16 -!- tromp_ has joined.
21:27:35 <b_jonas> and it seems there are three cards with a stifle effect.
21:28:01 <zzo38> b_jonas: O, I like that I have thought of stuff like that too actually, and also shachaf's way I have thought of too
21:28:16 <b_jonas> zzo38: great
21:29:05 <b_jonas> I had to look up two things before I templated this by the way. One was the exact template of Nausea. Guess what the other was.
21:29:25 <zzo38> I have now figured out how to override scrollbars in Firefox; you have to use Stylish and AGENT_SHEET and an extension called "User Chrome" that makes a chrome:// space for the file, and you also have to specify the -moz-binding CSS rule for the scrollbar as important.
21:29:53 <zzo38> (If you use userChrome.css instead and don't set as important, then only the sidebar is affected and not anything else; I don't know why)
21:31:14 <zzo38> Using this it would be possible to override other user interface elements too
21:31:46 -!- tromp_ has quit (Ping timeout: 250 seconds).
21:34:27 <b_jonas> There's one other possibility I thought of that would avoid the "until end of turn" thing, but I prefer this method. The text box could simply say “All creatures get -1/-1 until the beginning of the next combat.” without any triggered stuff.
21:35:02 <b_jonas> But that one is ugly, it can act throughout some of the next turn.
21:35:40 <b_jonas> At that point you'd almost certainly not be able to print it at common, since the lock-in rule is much more relevant.
21:36:03 <b_jonas> Mind you, even the way I prefer, you probably wouldn't print it at common.
21:36:12 <b_jonas> The trigger alone is confusing enough.
21:38:32 <zzo38> I think it is not confusing
21:39:10 <zzo38> However in my opinion that nevertheless should not determine the rarity of the card. Rarity should be determined by the effect on Limited
21:39:17 <b_jonas> zzo38: yes, but you're more familiar with the rules than most people, and write REALLY crazy card ideas, no offense
21:39:33 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
21:39:50 <int-e> normal people will wonder whether there 1/1 creature is now dead...
21:40:01 <shachaf> b_jonas: I don't know what the other thing you looked up was.
21:40:04 <b_jonas> zzo38: and rarity is determined by multiple factors, but complexity is one of them, and a too complex card would cause the problem that it would make Limited more confusing, especially as decks usually have more different and diverse cards in Limited than in most Constructed formats
21:40:23 <shachaf> b_jonas: Is there another card with "When ... resolves"?
21:40:36 <b_jonas> zzo38: and you have to make decks quickly, so having lots of confusing cards in the card pool hurts more than in Constructed usually
21:40:44 <int-e> experienced players will wonder in which order triggers of creatures that die from the -1/-1 and the trigger of the spell resolving go on the stack.
21:41:09 <b_jonas> shachaf: I haven't checked, but IMO no. "resolves" is mentioned a lot in reminder texts though.
21:41:10 <zzo38> Of course the effect of the gameplay in Limited is one thing, however it also depends on what set it belongs to. Rarity may be different per set too.
21:41:42 <zzo38> But in general, that effect seems it would not ruin the game much at common so it should be OK at common
21:41:44 <shachaf> b_jonas: But never as a trigger, right? "As it resolves" is different from "when it resolves".
21:42:03 <int-e> . o O ( resolve target spell )
21:42:11 <b_jonas> int-e: good observation. that probably should be mentioned in the set FAQ / release notes, if this was in a set
21:44:29 <b_jonas> int-e: the answer is that first the active player (who is likely the player who cast Shadows) puts all triggers to the stack in the order he wants (these include the Shadow trigger and possibly any triggers he controls, such as triggers from his own creatures dying), then the non-active player puts triggers onto the stack
21:44:40 <b_jonas> shachaf: yes, as far as I know it's never a trigger
21:45:53 <b_jonas> zzo38: yes, the rarity can depend on the set, and obviously you have to consider "gameplay" in the more broad sense (not only during the game proper as defined by the Comp Rules). My original version _could_ be ok in common, but I see it rather as an uncommon.
21:46:25 <zzo38> Yes, uncommon might be better, although I think it depends on the other cards in the set, what the rarity should be
21:46:36 <b_jonas> zzo38: Mostly because if you wanted a common, you'd just reprint Shrivel instead.
21:46:47 <zzo38> (That is why my own custom cards have no rarities assigned)
21:46:58 <b_jonas> Right.
21:48:00 <shachaf> They have to rewrite all the cards that give you colorless mana.
21:48:03 <shachaf> What a scow.
21:48:03 <b_jonas> Solution: the other thing I had to look up for templating this card was whether "to" is usually capitalized in card names.
21:48:13 <b_jonas> shachaf: they have already rewritten all of them.
21:48:23 <b_jonas> shachaf: the Oracle already contains the new text.
21:48:26 <shachaf> Yes, but now they have to reprint all of them.
21:48:32 <b_jonas> Um... no
21:48:39 <b_jonas> they don't have to reprint cards just for an oracle change
21:48:41 <zzo38> shachaf: They don't *have* to; it still works in the other way too
21:48:45 <b_jonas> and many of them will likely never be reprinted
21:48:56 <zzo38> Even if it says "Add {1} to your mana pool", it still works.
21:49:25 <shachaf> Nope, I refuse to play with cards that have the wrong text.
21:49:28 <zzo38> (Rule 106.10 causes it to work)
21:49:49 <zzo38> Therefore I believe they should not have to change it.
21:50:16 <b_jonas> Yep, the old Oracle text still works, supported by the rules, mostly because of Elemental Resonance and a very few other cards.
21:50:21 <shachaf> Oh, I didn't know about rule 106.10.
21:50:45 <b_jonas> shachaf: do you really only have such new cards? I mean, a LOT of the old cards have their oracle text changed incompatibly. Many of my cards are affected.
21:51:01 <shachaf> No. I didn't actually mean what I said.
21:51:24 <b_jonas> Even the ones that aren't basic lands – it's cheap to get new basic lands, unlike new versions of many old cards.
21:51:50 <shachaf> It's true that I only have relatively new (Innistrad and onward) cards.
21:51:56 <shachaf> But lots of them have had their text changed.
21:52:33 <b_jonas> I usually don't care if the text is changed. There are a few cases where I care, because the change is either confusing, or makes the card worse than it used to be, but those cases are very rare.
21:52:46 <b_jonas> I even have one textless card.
21:52:59 <b_jonas> (That is, textless version of a card that does have an ability.)
21:53:06 <shachaf> Is it a basic land?
21:53:08 <b_jonas> no
21:53:16 <b_jonas> A full-art Tidings
21:53:23 <b_jonas> IIRC
21:53:29 <b_jonas> Hmm, I'd have to check this
21:53:32 <shachaf> TG
21:53:46 <shachaf> Tidings costs 5? It should cost {U} and be an instant.
21:54:03 * b_jonas gets his box of blue
21:54:06 <shachaf> Maybe {UU} to make it balanced.
21:54:12 <zzo38> My opinion is textless card should not be allowed
21:54:23 <b_jonas> Nope, this is a box of black cards, wrong box.
21:54:39 <b_jonas> shachaf: now you're joking
21:54:47 <b_jonas> shachaf: that would be like an Ancestral Super-Recall.
21:57:07 <b_jonas> I remembered right, it's Tidings. I have three from 9ED, and one textless.
21:58:15 -!- coppro has joined.
21:59:20 <b_jonas> zzo38: I don't have a problem with them. Textless is actually _better_ than the tons of old cards, because for textless, you know you have to look the oracle version of the text up, whereas for the tons of old cards I have, a third of which have changed the text in a rules-significant way, you never know when you have to look up the correct text.
21:59:44 <shachaf> b_jonas: Well, you can always pretend a card is textless.
21:59:57 <shachaf> So it seems odd to call it better.
22:00:22 <b_jonas> zzo38: And even if they can be careful with new cards to try to print them such that their text likely doesn't have to change much in the future, for old cards, the damage is already done, and they can't just make all the old cards (ones I've already paid for) unusable.
22:00:44 <b_jonas> At least not most of them. A very few do get such errata that they become much worse than they used to be, but most don't.
22:00:50 <b_jonas> (A few become better.)
22:02:11 <b_jonas> The one that stings me the most is Daru Stinger by the way, but that one they actually errataed _back_ so it says the same as is printed on it, but it's worse than it was when I bought the playset.
22:02:31 <b_jonas> But that's really an exceptional case.
22:02:47 -!- oerjan has joined.
22:03:09 <b_jonas> My Scryb Sprites fly as well as ever.
22:03:10 <shachaf> b_jonas: Errataed back?
22:03:26 <zzo38> No you should write on the card what is the correct current text
22:03:26 <b_jonas> shachaf: printed as a Soldier, but it used to be a Human Soldier for a long time.
22:03:56 <shachaf> Oh, I was trying to figure out how the rules text would have changed.
22:04:05 <b_jonas> zzo38: what if that text changes again after I wrote it on? I've owned my cards for lots of years, it has happened many times.
22:04:28 <shachaf> b_jonas: Write it on the sleeve.
22:05:49 <b_jonas> shachaf: I don't have every card permanently sleeved. That would be a bad idea, because the sleeves would wear unevenly, so the cards I use more often would be distinguishable in the deck. I'd have to replace the sleeves VERY often, way more often than now when I sleeve only decks.
22:05:49 <zzo38> If it is clear what it is meaning and the change doesn't change functions then you don't have to write the new text otherwise you do have to write the new text
22:06:22 <b_jonas> zzo38: well sure, I don't have to change the reminder text of flying every time they change it
22:06:41 <b_jonas> but still
22:06:57 <b_jonas> even if it's just functional changes, there's a lot of cards that have changed, since I own many old cards
22:07:33 <shachaf> I own too many cards.
22:07:33 <zzo38> Yes
22:07:40 <shachaf> I never even use them.
22:07:54 <b_jonas> Oh sure, I have lots of cards I never use.
22:08:10 <zzo38> I would make the game it allow proxies, which one of the thing this can do is part of the avoid this problem
22:08:20 <shachaf> I should've sold them when they were valuable (in Standard).
22:08:29 <shachaf> Probably not worth the hassle.
22:08:39 <shachaf> But now they're not even worth much.
22:08:50 <b_jonas> shachaf: were they worth much back then?
22:09:27 <shachaf> I have Sphinx's Revelation, foil Elspeth, Sun's Champion, things like that.
22:09:47 <b_jonas> which Elspeth?
22:09:55 <shachaf> Elspeth, Sun's Champion
22:10:16 <shachaf> I think it was ~$50 at the time.
22:10:46 <shachaf> I might be wrong.
22:10:47 <b_jonas> Sphinx's Revelation?
22:10:58 <shachaf> Foil Elspeth
22:11:06 <b_jonas> ah, duh, Elspeth, Sun's Champion is one card
22:11:15 <b_jonas> I stopped reading at the comma
22:12:00 <b_jonas> I didn't follow Theros enough to realize that's the newest card's name (I thought of Elspeth, Knight-Errant)
22:12:20 <b_jonas> I see
22:12:38 <shachaf> Several copies of Garruk, Caller of Beasts, some Stormbreath Dragons. I don't actually know what I have.
22:12:38 <b_jonas> well, if you had more such expensive cards, they might have been worth something
22:13:03 <b_jonas> I don't actually have expensive cards. Only lots of cheap ones.
22:13:22 <shachaf> I played with coworkers.
22:19:58 <shachaf> We only played with cards from packs that we opened.
22:21:31 <b_jonas> shachaf: do you have older cards too? Like, older than Mirroding Beseiged; how many older than Onslaught?
22:22:19 <shachaf> No, they started playing in Innistrad.
22:22:25 <shachaf> I mostly played RTR onward.
22:22:43 <b_jonas> shachaf: I see
22:25:51 <oerjan> @tell hppavilion[1] <hppavilion[1]> zgrep: sin(x)+2*sin(x/2)+3*sin(x/3)+4*sin(x/4)... <-- i think that series doesn't converge for any real value other than x=0 (and if you mean that your generator is something other than the series limit for x=1,2,... then stop abusing notation hth
22:25:51 <lambdabot> Consider it noted.
22:26:40 <shachaf> oerjan: are you going to close that parenthesis twh
22:26:58 <zgrep> oerjan: Indeed. At least, 'tis what Mathematica told me. And unfortunately mathematics is all about abusing notation. :P
22:27:11 <zgrep> And other stuff like logical reasoning, but also notation.
22:27:14 <int-e> even sin(x) + sin(x/2) + sin(x/3) + ... would diverge except for x = 0.
22:27:32 <shachaf> oerjan: do you play magic: the gathering twh
22:27:33 <zgrep> shachaf: I guess not, but I shall.)
22:28:35 <b_jonas> `wisdom
22:28:47 <HackEgo> bø/Bø is not just one, but _two_ municipalities in Norway. And not just three, but at least _four_ farms. Ah ah ah ah ah!
22:28:50 <b_jonas> `wisdom
22:28:51 <HackEgo> ngram model/An ngram model is just a Markov model with a sliding window state
22:28:58 <b_jonas> `wisdom
22:29:00 <HackEgo> internet/The internet is for everything. However many thing can done even without internet too, often better without use of internet, but internet is good too.
22:29:02 <b_jonas> `wisdom
22:29:03 <HackEgo> freefull/FreeFull is either full of freedom or free of fulldom, we are not sure.
22:29:13 <b_jonas> `wisdom
22:29:14 <HackEgo> cake/The Enrichment Center is required to remind you that you will be baked, and then there will be cake.
22:29:15 <FreeFull> Hi
22:29:19 <b_jonas> `wisdom
22:29:20 <HackEgo> disflagrate/disflagrate v.t.perf.: a traditional technique from Poland (earliest attestation c. 1042) used to separate szoups. Nowadays, commercial production is entirely mechanized.
22:29:36 <b_jonas> fungot, still not here?
22:29:54 <b_jonas> `? supernatural
22:29:55 <HackEgo> supernatural? ¯\(°​_o)/¯
22:30:00 <b_jonas> `? magic
22:30:02 <HackEgo> The magic was in you all along.
22:30:09 <int-e> funlost
22:30:11 <b_jonas> `? mtg
22:30:13 <HackEgo> mtg? ¯\(°​_o)/¯
22:30:16 <shachaf> `culprits wisdom/magic
22:30:20 <HackEgo> oerjan
22:30:24 <b_jonas> `? m:tg
22:30:25 <HackEgo> m:tg? ¯\(°​_o)/¯
22:30:45 <int-e> `` grep gather wisdom/*
22:30:48 <b_jonas> `? fecupboard20
22:30:57 <HackEgo> fecupboard20? ¯\(°​_o)/¯
22:31:03 <HackEgo> grep: wisdom/le: Is a directory \ grep: wisdom/¯\(°_o): Is a directory \ grep: wisdom/¯\(°​_o): Is a directory \ Binary file wisdom/reflection matches
22:31:07 <oerjan> @tell hppavilion[1] )
22:31:07 <lambdabot> Consider it noted.
22:31:11 <b_jonas> ``` find wisdom -iname "*upboard*"
22:31:12 <HackEgo> No output.
22:31:18 <oerjan> shachaf: no
22:31:27 <int-e> `? reflection
22:31:28 <HackEgo> cat.reflection.
22:31:32 <shachaf> oerjan: to which one
22:31:35 <int-e> oh it's binary because of 0 bytes... right.
22:32:06 <int-e> `` grep -r ga\\ther wisdom
22:32:08 <HackEgo> No output.
22:32:30 <int-e> `quote gather
22:32:31 <HackEgo> No output.
22:32:59 <shachaf> oerjan: http://stackoverflow.com/a/17794883
22:33:19 <shachaf> i was p. happy with #6
22:33:21 <b_jonas> `? saw
22:33:23 <HackEgo> saw? ¯\(°​_o)/¯
22:33:30 <b_jonas> g'nite
22:33:36 <oerjan> zgrep: it's only abuse if it means something completely different than what everyone else does hth
22:33:41 <shachaf> `? b_jonas
22:33:42 <HackEgo> b_jonas egy nagyon titokzatos személy. Hollétéről egyelőre nem ismertek.
22:34:02 <shachaf> b_jonas: are you FireFly
22:34:05 <shachaf> `? FireFly
22:34:06 <HackEgo> FireFly was a short-running but well-loved sci-fi TV series released in 2003, starring Nathan Fillion and directed and written by Joss Whedon.
22:34:09 -!- evalj has quit (Remote host closed the connection).
22:34:15 <zgrep> oerjan: Then all notation started out an abuse.
22:34:37 <zgrep> `? Serenity
22:34:38 <HackEgo> Serenity? ¯\(°​_o)/¯
22:34:40 <shachaf> zgrep: if everyone else means nothing by it then it's not abuse
22:36:00 <oerjan> int-e: in your case, i'm not as sure that it holds for _every_ x /= 0. but maybe it does.
22:36:17 <zgrep> shachaf: Symbols must've somehow gotten overloaded, theoretically there would've been a first, popular meaning for a symbol, then more popped up. For example, greek letters.
22:36:26 <oerjan> or wait hm
22:36:41 <int-e> oerjan: sure, x/n goes to 0 so sin(x/n) = x/n can be used without affecting convergence
22:37:47 <oerjan> int-e: i think that's true, but you need that sin(x/n) is also positive.
22:38:06 <oerjan> which it is (eventually)
22:38:44 <oerjan> or rather, you need that x/n is positive and sin(x/n) is Theta(x/n)
22:39:47 <int-e> oerjan: x < 0 also works, obviously
22:39:51 <oerjan> yeah
22:40:08 <oerjan> well, it's probably about the convergence needing to be absolute.
22:41:08 -!- `^_^ has joined.
22:42:36 <int-e> hmm, right.
22:42:42 -!- nycs has quit (Ping timeout: 276 seconds).
22:43:53 <oerjan> <shachaf> oerjan: to which one <-- that should be obvious given my actions hth
22:44:32 <shachaf> oerjan: oh, i missed that tdh
22:44:44 <int-e> oerjan: Indeed the sequence ... + sin(1/cbrt(n)) + sin(1/cbrt(n)) - sin(2/cbrt(n)) + sin(1/cbrt(n+1)) + sin(1/cbrt(n+1)) - sin(2/cbrt(n+1)) + ... diverges, but converges without the sin().
22:46:08 <oerjan> <shachaf> oerjan: http://stackoverflow.com/a/17794883 <-- i had seen and upvoted that already hth
22:46:39 <int-e> Ah good old single-member class dictionaries.
22:48:56 <int-e> Oh and I still think the reify / reflect terminology is backwards in the literature... values should be concrete, and the types their reflection.
22:49:05 <oerjan> <zgrep> oerjan: Then all notation started out an abuse. <-- um obviously the notation has to be _previously used_ by everyone for something else hth
22:49:19 <shachaf> int-e: That's what I think too.
22:51:50 <zgrep> oerjan: Still, notation is most definitely abused nonetheless. Sometimes because it makes it easier to get a point across. A bad example would be \sum_x as opposed to \sum_{x=0}^{2000} when x is known. Now it's fairly common, at some point it wasn't.
22:52:34 <shachaf> \Sum_{x \in X} is the best version.
22:52:46 <shachaf> What's with mathematical operators having built-in binders?
22:53:06 <shachaf> \Sum (\x -> ...) is the obvious right thing to have.
22:56:05 -!- Melvar` has joined.
22:57:56 <oerjan> shachaf: that has the problem with conditional convergence again
22:58:04 -!- earendel has quit (Ping timeout: 240 seconds).
22:58:16 <oerjan> sometimes you need to know the order of terms.
22:58:44 -!- idris-bot has quit (Ping timeout: 268 seconds).
22:58:49 -!- Melvar has quit (Ping timeout: 240 seconds).
22:59:38 <shachaf> oerjan: ok, well, it's true for exists and forall
22:59:47 -!- Melvar`` has joined.
23:00:04 -!- Melvar` has quit (Ping timeout: 240 seconds).
23:00:06 -!- earendel has joined.
23:04:16 -!- p34k has quit.
23:04:43 -!- `^_^ has quit (Quit: This computer has gone to sleep).
23:04:52 -!- lambda-11235 has joined.
23:06:39 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
23:21:57 <zzo38> How to disable the existing event handler for the XUL scrollbar so that only mine will be used? How I have it now, it is implementing both
23:24:56 -!- boily has joined.
23:30:01 -!- oerjan has quit (Quit: byeli).
23:43:03 <boily> @tell oerjan byerjan!
23:43:03 <lambdabot> Consider it noted.
23:48:19 <izabera> halp
23:48:21 <zzo38> I almost figured it out
23:48:54 <zzo38> Adding disabled="true" to the xul:slider element disabled the normal left button event, but not the normal middle button event
23:48:54 <izabera> how does a plain sasl work? all i could find was http://www.rfc-base.org/txt/rfc-4616.txt
23:51:26 <Taneb> I need to get very good at writing brainfuck before next Wednesday (the 24th)
23:52:23 -!- hppavilion[1] has joined.
23:55:11 <boily> izabellora. what is sasl?
23:55:13 <Taneb> Because my ego dictates I must be the best at esoteric programming in my entire university and there is a brainfuck competition
23:55:29 <boily> Tanelle. that is perfectly reasonable.
23:56:10 <shachaf> Taneb: show them what's what by inventing a derivative and writing your program in that hth
23:56:23 <Taneb> shachaf, I am not sure that would go down well
23:56:58 <izabera> boily: authentication thingy
23:57:00 <boily> write a befunge interpreter in brainfuck and emulate fungot?
23:57:13 <boily> izabera: bleh. can't help you :/
23:57:23 <boily> fizzie: FUNGOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOT!
23:57:44 <izabera> if fungot was on amazon, it needs sasl now to connect to freenode
2016-02-18
00:01:40 -!- lynn has quit (Ping timeout: 244 seconds).
00:04:49 <zzo38> Well, I almost fixed the scrollbars
00:05:20 <fizzie> izabera: It's not.
00:05:46 <olsner> `quote fungot
00:05:48 <HackEgo> 10) <fungot> GregorR-L: i bet only you can prevent forest fires. basically, you know. \ 13) <fizzie after embedding some of his department research into fungot> Finally I have found some actually useful purpose for it. \ 14) <fungot> oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing program. plea
00:06:10 <izabera> fizzie: it's not?
00:06:26 -!- fungot has joined.
00:06:33 <fizzie> It's not on Amazon.
00:06:36 <izabera> oh
00:06:55 <izabera> i suspect that requirement applies to a bunch of other hosts such as google
00:07:26 <izabera> probably heroku etc...
00:07:33 <fizzie> Well, it's on this box to the left of my feet.
00:07:44 <izabera> then have it join :P
00:07:48 <fizzie> It just joined.
00:07:52 <izabera> hi fungot
00:07:52 <fungot> izabera: ( lame alias yes)
00:07:59 <fizzie> fungot: It's not *that* lame.
00:07:59 <fungot> fizzie: this is what hygiene means " who" but kukka means " a few people
00:08:14 <fizzie> And that's not what "kukka" means, that's Finnish for "flower".
00:08:15 <int-e> ^style
00:08:15 <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:08:18 -!- bb010g has joined.
00:08:46 <int-e> fungot
00:08:46 <fungot> int-e: if you are using a decent scheme implementation with a decent ffi, and sarahbot can all be sane enough to consider yet though.
00:08:49 <fizzie> I'd like to make it speak TLS, but implementing that in Funge-98 seems like a bit of an effort.
00:09:01 <boily> what's a TLS?
00:09:04 <boily> fungot: nostril.
00:09:04 <fungot> boily: i'm gonna have to suffice for most cases, it should say " no bignums that are less then 20 year old bot born in 1982.
00:09:07 <int-e> `? sarahbot
00:09:08 <HackEgo> sarahbot? ¯\(°​_o)/¯
00:09:10 <fizzie> boily: You know, the successor of SSL.
00:09:30 * boily has two many brainfarts...
00:09:45 <boily> I didn't ask anything. you didn't see nothing at all.
00:10:07 <int-e> . o O ( third level sorcerer )
00:13:18 -!- Phantom_Hoover has joined.
00:13:28 <int-e> `addquote <boily> what's a TLS? <fizzie> boily: You know, the successor of SSL. * boily has two many brainfarts... <boily> I didn't ask anything. you didn't see nothing at all.
00:13:34 <HackEgo> 1267) <boily> what's a TLS? <fizzie> boily: You know, the successor of SSL. * boily has two many brainfarts... <boily> I didn't ask anything. you didn't see nothing at all.
00:13:35 -!- adu has joined.
00:14:52 <int-e> `quote
00:14:53 <HackEgo> 341) [on petrol] <ais523> oklofok: it's actually poisonous, so I advise against drinking it <Phantom_Hoover> ais523, also contains benzene, my carcinogen of choice.
00:15:33 <Phantom_Hoover> i think `quote exists to make me embarrassed of my teens
00:16:16 <shachaf> `quote Phantom_Hoover. `quantum_Hoover
00:16:35 <lambda-11235> Is there a System F interpreter, or a language that closely resembles System F?
00:17:41 <Phantom_Hoover> i'm guessing anyone who needs one just writes their own and there's no kind of standard implementations
00:17:55 <shachaf> GHC Core closely resembles System F.
00:17:55 <int-e> `quote tricycle
00:17:56 <HackEgo> 14) <fungot> oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing program. please let me go... put me out! he's really a tricycle! pass him!
00:18:52 <Taneb> `quote unicycle
00:18:53 <HackEgo> 1055) <Taneb> I would like to learn how to use a sword <Taneb> And also how to ride a unicycle <Taneb> Perhaps not at the same time \ 1185) <Bike> learn you a unicycle for great good
00:19:12 <Taneb> Phantom_Hoover, I avoid this by having had literally no character development over the past 7 years
00:19:17 <Taneb> Also I am wearing a top hat
00:19:28 <Taneb> And still can't use a sword or ride a unicycle
00:19:55 <boily> Phantom_Hoover: you were a teenager once?
00:20:05 <Taneb> boily, three times!
00:20:25 <Phantom_Hoover> Taneb so much senseless embarrassment was suffered in discovering that hats are a terrible substitute for a personality
00:20:31 <Phantom_Hoover> don't disrespect that sacrifice
00:20:32 <int-e> `cat canary
00:20:33 <HackEgo> ​*tsjørp*
00:20:46 <Taneb> Phantom_Hoover, hence why I rarely wear this hat
00:21:02 <Taneb> I once wore a tie to a lecture, that was fun
00:22:03 <int-e> Taneb: now I'm wondering whether you wore anything else at the time. does that make me a bad person?
00:22:12 <boily> is that a Swedish chirp? that doesn't seem right at all whatsoever.
00:22:20 <Taneb> int-e, I was wearing jeans and a hoodie
00:22:30 <boily> Taneb's an experteenager.
00:23:45 <FireFly> Possibly a norwegian chirp
00:24:49 <Phantom_Hoover> Taneb is not a teenager any more, barring relativistic effects
00:24:58 <int-e> `quote 24
00:24:59 <HackEgo> 24) <ais523> after all, what are DVD players for?
00:25:16 <int-e> ... wth was the context for that...
00:25:17 <Taneb> Phantom_Hoover, quite correct, I'm roughly 21
00:25:38 <int-e> (15 in hexadecimal)
00:25:40 <Phantom_Hoover> your birthday is like... autumn, right?
00:25:51 <Taneb> Yes
00:25:57 <Taneb> My birthday is autumn
00:26:08 <Phantom_Hoover> in autumn, taneb
00:26:10 <Phantom_Hoover> in autumn
00:26:21 <Taneb> No
00:26:26 <Taneb> It's the entire season
00:26:42 -!- jaboja has quit (Ping timeout: 276 seconds).
00:26:51 <Taneb> And especially the 3rd of November
00:27:22 <Taneb> `quote Phantom_Hoover
00:27:23 <HackEgo> 104) * Phantom_Hoover wonders where the size of the compiled Linux kernel comes from. <cpressey> To comply with the GFDL, there's a copy of Wikipedia in there. \ 679) * Phantom_Hoover moves 0.5 Phantom_Hoover into the Atlantic, and captures fizzie's upper body with 0.5 Phantom_Hoover. <fizzie> Glurk.
00:27:48 <Phantom_Hoover> bless you continuous chess
00:27:51 <Phantom_Hoover> blontinuous chess
00:28:09 <int-e> oceanic chess?
00:28:45 <int-e> `quote log
00:28:45 <HackEgo> 33) <mycroftiv> [...] sometimes i cant get out of bed becasue the geometry of the sheet tangle is too fascinating from a topological perspective \ 38) <Octalnet> oklofok: I'm a tad over-apologetic. I apologize. \ 56) <fungot> i am sad ( of course by analogy) :) smileys) \ 62) <Sgeo|web> Where's the link to the log? <lament> THERE'S NO LOG. YOUR RE
00:28:48 <boily> fizzie glurks, atlantean chess.
00:29:15 -!- tromp_ has joined.
00:30:20 <int-e> `quote 109
00:30:20 <HackEgo> 109) <fungot> CakeProphet: reading herbert might be enlightening in one hand he held a long worm can be greased. twice i got it nearly there, and the protector of cattle. mars is also mentioned as a rainbow. as a seated baboon sometimes with its head.
00:30:32 <int-e> fungot the novelist
00:30:32 <fungot> int-e: unusual, and interesting, makes me feel like you haven't attempted to use any atoms?
00:30:59 <int-e> fungot: you are right, I haven't, not individually anyway
00:30:59 <fungot> int-e: what is the meaning of all of the clients does that.
00:32:08 <Taneb> Phantom_Hoover, how did continuous chess work
00:33:29 <Taneb> Actually I'm gonna sleep now
00:33:33 <Taneb> Tell me some other time
00:33:38 <Taneb> Or like, @tell me
00:35:33 <int-e> `quote 242
00:35:34 <HackEgo> 242) <fungot> elliott: there go my minutes of research!!
00:35:40 <int-e> `quote 424
00:35:41 <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
00:39:06 <int-e> `quote 575
00:39:07 <HackEgo> 575) <Phantom_Hoover> I think the worst part of growing up is that it isn't retroactive.
00:39:14 -!- jaboja has joined.
00:39:29 <int-e> not a haiku... why isn't it a haiku... this world makes no sense!
00:40:52 <int-e> I think the worst part / of growing up is that it / isn't retroactive
00:41:13 <boily> 古池や蛙飛び込む水の音
00:42:07 <hppavilion[1]> helloily
00:42:11 <hppavilion[1]> hint-e
00:42:18 <hppavilion[1]> Taneb.
00:42:24 <boily> hppavellon[1].
00:42:27 <hppavilion[1]> @massages-lud
00:42:28 <lambdabot> oerjan said 2h 16m 36s ago: <hppavilion[1]> zgrep: sin(x)+2*sin(x/2)+3*sin(x/3)+4*sin(x/4)... <-- i think that series doesn't converge for any real value other than x=0 (and if you mean that your generator is something other than the series limit for x=1,2,... then stop abusing notation hth
00:42:28 <lambdabot> oerjan said 2h 11m 20s ago: )
00:42:42 <boily> hppavilion[1]: it is customary to porthello Taneb in the vocative case: Tanelle.
00:42:43 <hppavilion[1]> Did nought expact that to werk
00:42:53 <hppavilion[1]> boily: Ah.
00:42:55 <lifthrasiir> boily: oh, ja.wp has a whole article on that haiku: https://ja.wikipedia.org/wiki/%E5%8F%A4%E6%B1%A0%E3%82%84%E8%9B%99%E9%A3%9B%E3%81%B3%E3%81%93%E3%82%80%E6%B0%B4%E3%81%AE%E9%9F%B3
00:43:25 <boily> of course, it's only available in Japanese and Russian. why not.
00:43:36 <hppavilion[1]> int-e: Wait, why is the last part 6?
00:44:33 -!- hppavilion[1] has left ("Leaving").
00:44:35 <boily> lifthrasiir: a favourite of mine is 名月や畳の上に松の影.
00:44:45 -!- hppavilion[1] has joined.
00:45:00 <int-e> hppavilion[1]: to me, "isn't" is a single syllable.
00:45:01 <hppavilion[1]> Whoops, meant to close λbot
00:45:09 <hppavilion[1]> int-e: I would disagree
00:45:17 <hppavilion[1]> iz-nt
00:45:25 <lifthrasiir> I'm not well versed on haiku (and in general most forms of constrainted writing even in my native tongue), but yeah.
00:45:35 -!- Warrigal has changed nick to tswett.
00:45:48 <int-e> hppavilion[1]: sorry, you have no authority over my feelings.
00:45:49 <hppavilion[1]> int-e: Perhaps the pronunciations vary between our respective regions?
00:46:04 <hppavilion[1]> int-e: ...
00:46:08 <hppavilion[1]> Huh?
00:46:18 <int-e> But I'm not a native speaker of English either.
00:46:29 <hppavilion[1]> Ah
00:46:32 <int-e> "to me" <-- that makes it subjective rather than objective.
00:46:46 <hppavilion[1]> Oh
00:46:49 <hppavilion[1]> I missed "to me"
00:47:02 <hppavilion[1]> Now the world makes sense again
00:47:07 <hppavilion[1]> I once wrote a piku
00:47:28 <hppavilion[1]> It was 3 syllables, then 1 syllable, then 4 syllables, then 1 syllable, then 5 syllables...
00:47:48 <hppavilion[1]> I later realized this was fucking stupid and more a math game than math
00:49:10 <hppavilion[1]> Perhaps we need kappa bot...
00:50:21 <hppavilion[1]> κbot
00:50:38 <shachaf> I had that nick registered for a while.
00:50:51 <hppavilion[1]> Or rhobot
00:50:59 <hppavilion[1]> Wait, rhobot actually sounds pretty cool
00:51:00 <hppavilion[1]> ρbot
00:51:03 <int-e> . o O ( This sentence has eleven words, nineteen syllables and sixty-one letters. )
00:51:03 <boily> we could give cucumbers to the kappabot as a botsnack.
00:51:11 -!- adu has quit (Quit: adu).
00:51:19 <shachaf> rho, rho, rho your bot
00:51:33 <tswett> This sentence, on the other hand, has eighteen words, twenty-six syllables, and seventy-eight letters.
00:51:55 <tswett> Let's see. Sixteen words, there. Syllables...
00:51:56 <boily> where's that oerjanswatter again...
00:52:21 <tswett> 25 syllables.
00:52:48 <tswett> > filter isLetter "This sentence, on the other hand, has eighteen words, twenty-six syllables, and seventy-eight letters."
00:52:49 <lambdabot> "Thissentenceontheotherhandhaseighteenwordstwentysixsyllablesandseventyeight...
00:52:50 <shachaf> This sentence has eighteen letters, sixteen syllables, and one lie.
00:52:55 <tswett> > length $ filter isLetter "This sentence, on the other hand, has eighteen words, twenty-six syllables, and seventy-eight letters."
00:52:57 <lambdabot> 82
00:53:19 <tswett> All right. Let's perturb it now.
00:53:33 <int-e> it works our with eighty-three, it seems
00:53:55 <tswett> Change "eighteen" to "sixteen". Still 16 words, still 25 syllables, now 81 letters instead of 82.
00:54:10 <int-e> oh.
00:54:20 <shachaf> I already wrote sixteen.
00:55:21 <tswett> If you change "twenty-six" to "twenty-five", there are still 16 words and 25 syllables, but 82 letters again. If you change it to "twenty-four"... exactly the same.
00:55:28 <tswett> So let me check this one:
00:55:48 <tswett> This sentence, on the other hand, has sixteen words, twenty-four syllables, and eighty-two letters.
00:56:03 <int-e> I messed up.
00:56:21 <tswett> > length $ filter isLetter "This sentence, on the other hand, has sixteen words, twenty-four syllables, and eighty-two letters."
00:56:23 <lambdabot> 79
00:56:30 <tswett> Huh.
00:57:25 <tswett> Right... I didn't account for the changing of "seventy-eight" to "eighty-two".
00:57:39 <tswett> Which subtracts 3 letters, giving you 79.
00:57:56 <hppavilion[1]> tswett: That's why that sentence is so impressive
00:58:31 <int-e> well, it's lucky.
00:58:53 <int-e> tswett has the right idea, you try 5 templates and 2 of them should work out
00:59:57 <tswett> If it's just "seventy", that's 77 letters. If you stick on -seven, that makes 82; stick on -eight, still 82; -nine, 81. "Eighty" gives you 76, "eighty-one" 79, "eighty-two" 79, "eighty-three" 81, "eighty-four" 80, and so forth.
01:00:22 <tswett> So this particular template doesn't seem to work. Maybe you can do something funky with the syllable count.
01:00:47 -!- madbr has joined.
01:03:29 -!- jaboja has quit (Ping timeout: 240 seconds).
01:03:41 * boily pokes madbr
01:05:21 * madbr is poked
01:05:39 <madbr> trying to figure out if there's an alternative to the standard CPU data cache
01:05:45 <madbr> you know the L1 data cache thing
01:06:28 <madbr> and the whole memory model where your operations are, like, load 1/2/4 bytes, or store 1/2/4 bytes, to address X
01:15:09 -!- XorSwap has joined.
01:18:44 -!- jaboja has joined.
01:20:57 -!- boily has quit (Quit: DATABASE CHICKEN).
01:36:31 -!- bender| has joined.
01:41:37 -!- jaboja has quit (Ping timeout: 265 seconds).
01:57:55 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
01:59:07 -!- bender| has quit (Ping timeout: 250 seconds).
02:02:15 -!- mihow has quit (Ping timeout: 276 seconds).
02:13:06 <izabera> amazon.it sent me an email saying that they changed my password because it was on a leaked list
02:15:05 <izabera> i'm scared
02:15:21 -!- vifino has quit (Quit: Who turned this off?! D:<).
02:23:21 -!- vifino has joined.
02:32:23 -!- idris-bot has joined.
02:40:52 -!- andrew has joined.
02:46:27 -!- vifino has quit (Quit: Who turned this off?! D:<).
02:49:46 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
03:03:47 -!- XorSwap has quit (Quit: Leaving).
03:06:35 -!- jaboja has joined.
03:07:35 -!- oerjan has joined.
03:08:46 -!- bb010g has quit (Quit: Connection closed for inactivity).
03:09:01 <oerjan> @messages-
03:09:01 <lambdabot> boily said 3h 25m 58s ago: byerjan!
03:09:10 -!- Opodeldoc has quit (Quit: Leaving).
03:10:59 -!- vifino has joined.
03:13:15 -!- vifino has quit (Client Quit).
03:16:06 <oerjan> <fizzie> Well, it's on this box to the left of my feet. <-- fungot, do you sometimes feel downtrodden?
03:16:07 <fungot> oerjan: ( the shift/ reset which i'm interested in other things as well?
03:16:34 <oerjan> i guess it's not much on its mind
03:17:16 -!- mihow has joined.
03:18:57 <oerjan> @tell fizzie i think fungot wants you to stop hitting its reset button with your feet twh
03:18:58 <lambdabot> Consider it noted.
03:18:58 <fungot> oerjan: i think it does? i assume he does eventually get there. ( yes, i'm just tired
03:19:18 <oerjan> fungot: it does seem statistically likely
03:19:19 <fungot> oerjan: you asked about alpha channels, right? set! if the same functionality
03:19:32 <oerjan> fungot: i think you're confusing me with someone else.
03:19:32 <fungot> oerjan: ( a...)" in there, bsmntbombdood? people can like both.
03:19:36 -!- izabera_ has joined.
03:19:53 -!- vifino has joined.
03:22:39 <oerjan> fungot: i haven't seen bsmntbombdood for ages. also, typing with one hand while eating pizza is slow.
03:23:49 <oerjan> > "testing fungot"
03:23:51 <lambdabot> "testing fungot"
03:24:03 <oerjan> fungot: this isn't going to work, is it?
03:24:06 <oerjan> nope.
03:24:44 -!- pdxleif_ has joined.
03:34:01 -!- mihow has quit (Ping timeout: 255 seconds).
03:36:05 -!- mihow has joined.
03:44:09 -!- hppavilion[1] has joined.
03:46:43 -!- mihow has quit (Ping timeout: 248 seconds).
03:49:24 -!- bb010g has joined.
03:54:45 -!- izabera_ has quit (Quit: ZNC - 1.6.0 - http://znc.in).
03:55:07 <oerjan> `quote 1267
03:55:17 <HackEgo> 1267) <boily> what's a TLS? <fizzie> boily: You know, the successor of SSL. * boily has two many brainfarts... <boily> I didn't ask anything. you didn't see nothing at all.
03:55:22 -!- mihow has joined.
03:56:23 <oerjan> `` sed -i '1267s/ [<*]/ &/' quotes; quote 1267
03:56:28 <HackEgo> 1267) <boily> what's a TLS? <fizzie> boily: You know, the successor of SSL. * boily has two many brainfarts... <boily> I didn't ask anything. you didn't see nothing at all.
03:56:36 <oerjan> darn
03:56:41 <oerjan> `revert
03:56:51 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
03:56:52 <oerjan> `` sed -i '1267s/ [<*]/ &/g' quotes; quote 1267
03:56:59 <HackEgo> 1267) <boily> what's a TLS? <fizzie> boily: You know, the successor of SSL. * boily has two many brainfarts... <boily> I didn't ask anything. you didn't see nothing at all.
04:00:09 <oerjan> @tell Phantom_Hoover <Phantom_Hoover> i think `quote exists to make me embarrassed of my teens <-- you embarass too easily, try to get more in touch with your inner teenager hth
04:00:09 <lambdabot> Consider it noted.
04:01:24 <oerjan> `? quoteformat
04:01:27 <HackEgo> quoteformat is: <nick> message; * nick action; two spaces between messages; all elisions marked with [...] other than irrelevant intervening messages; for messages separated by elision, one space on each side, not two.
04:02:22 <oerjan> @tell int-e `` \? quoteformat #
04:02:23 <lambdabot> Consider it noted.
04:03:52 <oerjan> `` allquotes | grep '[^] ] <' | tail -3
04:03:53 <HackEgo> 1265) <lambdabot> "on the oehtr hadn, sinortg olny the ideinss of wdors is pceeflrty raabdeel,... <fizzie> Well, maybe pceeflrty is a bit too strong a word here. \ 1266) <coppro> actually a small trebuchet onto the balcony might work \ 1267) <boily> what's a TLS? <fizzie> boily: You know, the successor of SSL. * boily has two many brainfarts...
04:04:19 <oerjan> `` allquotes | grep '[^)] ] <' | tail -3
04:04:20 <HackEgo> No output.
04:04:48 <oerjan> `` | grep '[^] ] <' quotes | tail -3
04:04:49 <HackEgo> ​/hackenv/bin/`: eval: line 4: syntax error near unexpected token `|' \ /hackenv/bin/`: eval: line 4: `| grep '[^] ] <' quotes | tail -3'
04:04:56 <oerjan> `` grep '[^] ] <' quotes | tail -3
04:04:57 <HackEgo> ​<oerjan> `quote 1146 <HackEgo> 1146) <oerjan> OKAY \ IN AN ALTERNATE UNIVERSE WHERE SGEO DOES NATLANGS INSTEAD OF PROGLANGS: <Sgeo> Jeg vet ikke om norsk er noe for meg, i vs. på for stedsnavn virker veldig kronglete. \ <elliott> `addquote <olsner> boily: thanks for getting quoted saying django btw, now I'm only in 87.5% of the django quotes [
04:05:32 <oerjan> `` grep '[^] ] <' quotes | tail -2
04:05:33 <HackEgo> IN AN ALTERNATE UNIVERSE WHERE SGEO DOES NATLANGS INSTEAD OF PROGLANGS: <Sgeo> Jeg vet ikke om norsk er noe for meg, i vs. på for stedsnavn virker veldig kronglete. \ <elliott> `addquote <olsner> boily: thanks for getting quoted saying django btw, now I'm only in 87.5% of the django quotes [...] <olsner> ah, the inevitable result of mentioning dja
04:07:37 -!- mihow has quit (Ping timeout: 240 seconds).
04:07:38 <oerjan> oh duh
04:07:51 <oerjan> `` allquotes | grep '[^]) ] <' | tail -3
04:07:52 <HackEgo> 1099) <metasepia> `addquote \item <elliott\_> `addquote <olsner> two quotes about quotes about django <olsner> I guess the worst part is that I appear in all three hackego quotes about django \\ <olsner> elliott\_: another quote? you're not helping \texttt{:/} ← and three giraffes. \ 1211) IN AN ALTERNATE UNIVERSE WHERE SGEO DOES NATLANGS INSTEAD
04:08:47 <oerjan> `` allquotes | grep '[^]) ] <' | paste
04:08:53 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.6824
04:11:58 -!- mihow has joined.
04:12:56 * oerjan finds no other new clear violations
04:18:19 -!- bender| has joined.
04:21:51 -!- Treio has joined.
04:22:00 -!- mihow has quit (Ping timeout: 276 seconds).
04:29:12 <zzo38> Athena style scrollbars for Firefox: http://sprunge.us/VJeP
04:29:55 -!- jaboja has quit (Ping timeout: 248 seconds).
04:33:22 <FreeFull> zzo38: Got a screenshot?
04:33:50 -!- Treio has quit (Quit: Leaving).
04:35:21 -!- mihow has joined.
04:35:56 <oerjan> > length $filter isAlpha "This sentence has eleven words, nineteen syllables and sixty-one letters"
04:35:57 <lambdabot> 61
04:36:02 <oerjan> hm i miscounted
04:36:39 <pikhq> Checks out.
04:37:40 <zzo38> FreeFull: http://zzo38computer.org/img_19/firefox.png
04:38:08 <zzo38> (The screenshot doesn't show much, and it doesn't really look exactly like Athena scrollbars, although it acts like it)
04:38:29 <FreeFull> Old-school
04:38:53 <FreeFull> Does xterm's scrollbar behave similar to the Athena ones?
04:39:08 <zzo38> Yes; xterm's scrollbars are Athena ones.
04:39:17 <pikhq> xterm's scrollbar is an Athena widget.
04:39:21 <zzo38> (By default anyways; it is possible to compile it with different widgets)
04:41:04 <pikhq> That being what libXaw is.
04:42:04 -!- mihow has quit (Ping timeout: 240 seconds).
04:42:14 <zzo38> (You can also see other customizations of the browser that I have made, such as the lack of toolbars and menus, and there are no icons on the tab bar either)
04:43:27 <FreeFull> zzo38: I thought xterm did its own custom thing
04:43:30 <FreeFull> Considering it's so old
04:43:52 <FreeFull> It's actually older than X itself
04:44:25 <zzo38> Yes I know that, but it does use Athena widgets, since now it is a program for X
04:47:58 -!- mihow has joined.
04:49:44 -!- XorSwap has joined.
04:52:49 -!- mihow has quit (Ping timeout: 240 seconds).
04:55:22 -!- mihow has joined.
05:01:17 -!- Guest20424 has joined.
05:02:13 -!- mihow has quit (Ping timeout: 255 seconds).
05:12:29 -!- nisstyre has quit (Changing host).
05:12:29 -!- nisstyre has joined.
05:13:03 -!- oerjan has quit (Quit: Later).
05:15:00 -!- MDude has quit (Ping timeout: 250 seconds).
05:15:23 -!- mihow has joined.
05:22:03 -!- mihow has quit (Ping timeout: 240 seconds).
05:30:08 <hppavilion[1]> pikhq: No, sixty-one is two words. There's just a hyphen.
05:30:50 <hppavilion[1]> If we consider hyphen chains to be one word, then "the I-am-the-walrus-and-you-should-fear-my-wrath kid" is just 3 words
05:31:35 <hppavilion[1]> This sentence has some number of words, syllables, and letters that I'm too lazy to deduce
05:33:52 <madbr> 'words' are not that well defined irl
05:34:10 <madbr> though in english it's not too bad
05:35:25 -!- mihow has joined.
05:36:33 <madbr> as a particular combination of words is used together, it becomes an expression, then a locution, then it gets a hyphen, then both parts are written together, then it starts having phonetic fusion etc
05:37:39 <hppavilion[1]> u madbr o?
05:37:55 <madbr> m?
05:38:07 <hppavilion[1]> m?
05:38:30 <hppavilion[1]> madbr: Are you just mad with a new nick, or someone else?
05:38:37 <madbr> yes
05:38:41 <hppavilion[1]> Ah
05:38:45 <hppavilion[1]> Wait, "yes"
05:38:58 <hppavilion[1]> Yes is not an acceptable answer to an either/or question
05:39:00 <madbr> it's just my alt nick on networks where the nick 'mad' isn't available
05:39:16 <hppavilion[1]> Ah
05:39:58 <madbr> in theory the full version is "madbrain" but I rarely use that
05:41:10 <hppavilion[1]> madbr: Do you want to make an intricate, unlikely, and convoluted conspiracy theory about "Big Computer Science"?
05:42:18 -!- mihow has quit (Ping timeout: 250 seconds).
05:49:23 -!- XorSwap has quit (Quit: Leaving).
05:55:20 -!- mihow has joined.
05:58:03 -!- adu has joined.
06:08:54 -!- mihow has quit (Ping timeout: 265 seconds).
06:09:01 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
06:10:41 <zzo38> madbr: Do you like Athena widgets?
06:14:17 -!- hppavilion[1] has joined.
06:15:22 -!- mihow has joined.
06:22:27 -!- mihow has quit (Ping timeout: 244 seconds).
06:35:22 -!- mihow has joined.
06:42:11 -!- mihow has quit (Ping timeout: 248 seconds).
06:42:41 -!- lambda-11235 has quit (Quit: Bye).
06:55:41 -!- mihow has joined.
07:03:12 -!- mihow has quit (Ping timeout: 276 seconds).
07:10:16 -!- andrew has quit (Remote host closed the connection).
07:12:53 -!- andrew has joined.
07:14:46 -!- adu has quit (Quit: adu).
07:15:22 -!- mihow has joined.
07:16:10 <hppavilion[1]> I'm learning haskell by implementing an Esolang :)
07:16:21 <hppavilion[1]> And who ever said esolangs are a waste of time?
07:16:35 <hppavilion[1]> Nobody here, obviously
07:17:25 <Elronnd> what esolang?
07:17:30 <Elronnd> By the way, hi hppavilion[1] :)
07:17:41 * izabera is pretty sure that almost everyone here knows esolangs are a waste of time
07:18:06 <hppavilion[1]> Elronnd: An ad-hoc one
07:18:17 <hppavilion[1]> Just a simple SBL (well, DqBL)
07:18:38 <hppavilion[1]> izabera: Apparently, they're not, unless you also consider Haskell to be a waste of time
07:19:19 <izabera> i do
07:19:31 <hppavilion[1]> izabera: Ah, then yes, they're utterly useless
07:19:55 <hppavilion[1]> Elronnd: It mixes some Funge and some Emmental
07:20:08 <hppavilion[1]> But not the fungeoidal part OR the self-modification part xD
07:22:24 -!- mihow has quit (Ping timeout: 250 seconds).
07:22:42 -!- AnotherTest has joined.
07:27:10 -!- AnotherTest has quit (Ping timeout: 250 seconds).
07:35:24 -!- mihow has joined.
07:42:18 -!- mihow has quit (Ping timeout: 250 seconds).
07:52:21 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
07:55:34 -!- tromp_ has quit (Remote host closed the connection).
07:55:51 -!- mihow has joined.
08:02:56 -!- mroman has joined.
08:02:59 <mroman> fnard
08:08:51 -!- mihow has quit (Ping timeout: 276 seconds).
08:15:42 -!- mihow has joined.
08:21:20 <b_jonas> izabera: they're not wastes of time! they're very exaggerated examples, but we can learn real useful lessons about computer science and programming language design from them.
08:22:19 -!- mihow has quit (Ping timeout: 244 seconds).
08:22:34 <b_jonas> (It's stupid brainfuck variants that are a waste of time.)
08:24:10 <Riviera> izabera: is poetry a waste of time? :P
08:24:47 <lifthrasiir> b_jonas: we need a brainfuck generator which will end all the BF derivatives
08:35:19 -!- mihow has joined.
08:42:04 -!- J_Arcane has quit (Ping timeout: 240 seconds).
08:42:25 -!- mihow has quit (Ping timeout: 240 seconds).
08:43:40 <b_jonas> lifthrasiir: someone has written a random stupid brainfuck equivalent generator once. That's how http://esolangs.org/wiki/Btjzxgquartfrqifjlv was born.
08:44:16 <lifthrasiir> b_jonas: I was thinking about regex-based dynamic parser
08:44:53 <b_jonas> see also http://esolangs.org/wiki/TrivialBrainfuckSubstitution
08:54:59 -!- earendel has quit (Ping timeout: 248 seconds).
08:55:19 -!- mihow has joined.
08:56:06 -!- tromp_ has joined.
08:56:17 -!- earendel has joined.
09:00:20 -!- tromp_ has quit (Ping timeout: 250 seconds).
09:01:23 -!- earendel has quit (Ping timeout: 248 seconds).
09:02:31 -!- mihow has quit (Ping timeout: 255 seconds).
09:04:43 -!- earendel has joined.
09:10:05 -!- zadock has joined.
09:13:53 -!- ais523 has joined.
09:15:20 -!- mihow has joined.
09:22:43 -!- mihow has quit (Ping timeout: 265 seconds).
09:35:23 -!- mihow has joined.
09:37:19 -!- zadock has quit (Quit: Leaving).
09:43:06 -!- mihow has quit (Ping timeout: 276 seconds).
09:55:22 -!- mihow has joined.
10:05:44 -!- mihow has quit (Ping timeout: 265 seconds).
10:07:37 -!- AnotherTest has joined.
10:17:14 <b_jonas> If I write "this frame" without any preposition as a time determiner in an English sentence, in code comments I write, does that mean I'm influenced too much by M:tG, which uses "this turn" similarly?
10:19:02 <ais523> I don't think so, "this week" is used in that sense in English
10:19:15 <ais523> the only reason it's rarely used for smaller time periods is that we have specific words for them like "today"
10:19:35 <b_jonas> right
10:22:52 <b_jonas> (And now I'm reminded to the not really relevant phrase, "Marry Jaffar... or die within the hour.", from the introduction of Prince of Persia.)
10:23:34 <Taneb> ais523, this minute is relatively common
10:23:45 <b_jonas> Taneb: so is "this instant"
10:23:45 <Taneb> As in, "You'd better do the thing right this minute!"
10:27:21 <b_jonas> Ok, I should just be careful to use it only if it can't be misunderstood as an object.
10:28:33 <ais523> Taneb: now I'm trying to figure out what "right" is modifying in that sentence
10:28:42 <ais523> normal English grammar rules would have it modifying "do" but it clearly isn't
10:36:00 <b_jonas> ais523: why not? I think it's an adverb modifying "do"
10:36:15 <b_jonas> (but don't trust me on English grammar)
10:36:21 <ais523> b_jonas: it's an idiom, and it doesn't mean "correctly"
10:36:32 <ais523> I /think/ it's being used as an intensifier
10:36:41 <ais523> but intensifiers modify adjectives, normally
10:36:47 <ais523> (e.g. "right honourable")
10:42:24 -!- ais523 has quit.
11:06:59 -!- bender| has quit (Ping timeout: 240 seconds).
11:22:54 -!- callforjudgement has joined.
11:23:01 -!- callforjudgement has changed nick to ais523.
11:24:55 -!- ais523 has quit (Read error: Connection reset by peer).
11:28:16 -!- ais523 has joined.
11:28:46 <izabera> Riviera: obviously
11:29:22 -!- ais523 has quit (Client Quit).
11:29:43 <Riviera> izabera: Pfff.
11:29:46 <Riviera> izabera: Meanie.
11:30:05 <izabera> you could have written a haiku but you didn't because it's a waste of time
11:30:10 -!- callforjudgement has joined.
11:35:34 -!- callforjudgement has quit (Ping timeout: 240 seconds).
11:38:15 -!- mihow has joined.
11:38:31 -!- callforjudgement has joined.
11:39:58 -!- boily has joined.
11:42:43 -!- mihow has quit (Ping timeout: 255 seconds).
11:42:49 -!- callforjudgement has quit (Ping timeout: 240 seconds).
11:53:57 -!- andrew has quit (Remote host closed the connection).
11:55:23 -!- mihow has joined.
11:57:04 -!- tromp_ has joined.
12:01:27 -!- tromp_ has quit (Ping timeout: 250 seconds).
12:08:42 -!- mihow has quit (Ping timeout: 276 seconds).
12:18:30 -!- mihow has joined.
12:20:07 -!- boily has quit (Quit: THRESHOLD CHICKEN).
12:22:00 -!- ais523 has joined.
12:22:40 -!- mihow has quit (Ping timeout: 250 seconds).
12:23:22 <ais523> [CTCP] Received CTCP-PING reply from ais523: 30 seconds.
12:23:24 <ais523> also, looking at the lower level details
12:23:32 <ais523> a packet someone tried to send me was retransmitted 514 times
12:23:50 <ais523> talk about a malfunctioning connection
12:23:57 <ais523> (in the space of a second or so)
12:24:15 <ais523> something must have been sending spurious retransmission requests
12:25:12 -!- bender| has joined.
12:25:24 <APic> Uh
12:25:31 <APic> What Line are You on?
12:25:35 <APic> Satellite?
12:25:46 <APic> Amateur Radio?
12:26:02 <ais523> work wireless connection
12:26:04 <ais523> we suspect the routers are buggy
12:26:08 <APic> 13:26:03 CTCP PING reply from ais523: 18.803 seconds
12:26:14 <APic> Oh, i see.
12:26:42 <APic> Maybe Switches which do not talk Spanning-Tree-Protocol
12:26:46 <APic> Then there can be Loops
12:26:48 <ais523> hmm, right now there's a keepalive spam
12:33:33 -!- daniela123 has joined.
12:34:47 <daniela123> hola
12:35:25 <ais523> `welcome daniela123
12:35:30 -!- mihow has joined.
12:35:38 <HackEgo> daniela123: 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.)
12:35:58 <daniela123> hola
12:36:26 -!- Melvar`` has changed nick to Melvar.
12:36:56 -!- ais523 has quit.
12:37:27 -!- callforjudgement has joined.
12:37:34 -!- callforjudgement has changed nick to ais523.
12:40:46 <daniela123> hola
12:41:50 <ais523> this connection is really unreliable :-(
12:42:01 <ais523> sorry if I don't respond to what people are saying
12:42:12 <ais523> either I'm not seeing it, or I am but you can't see my response, or I just don't have anything to say
12:43:03 -!- mihow has quit (Ping timeout: 250 seconds).
12:43:12 <daniela123> hello
12:43:41 <ais523> hello daniela123
12:43:51 * ais523 wonders if it got through that time
12:48:15 <ais523> 4% [267 libqt4-dbg 87.7 MB/121 MB 72%] 2,923 PB/s 0s
12:48:22 <ais523> that's one fast connection
12:48:29 <ais523> or possibly a connection so slow it negatively underflowed
12:49:13 <ais523> how do I output a bignum in hexadecimal using a bot in the channel? I assume there's some Haskell standard library function for it but I don't know what it is
12:50:39 <ais523> `` perl -MMath::Bigint -e 'my $b = new Math::BigInt("2923000000000000"); print $b->as_hex();'
12:50:46 <HackEgo> Can't locate Math/Bigint.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .). \ BEGIN failed--compilation aborted.
12:50:54 <ais523> `` perl -MMath::BigInt -e 'my $b = new Math::BigInt("2923000000000000"); print $b->as_hex();'
12:50:56 <HackEgo> 0xa6273f8adb000
12:51:05 <b_jonas> ``` dc -e16o2923000000000000p
12:51:06 <HackEgo> A6273F8ADB000
12:51:25 <ais523> hmm, I was expecting it to be close to a round number in hex
12:51:28 <ais523> apparently not
12:51:38 <b_jonas> ais523: http://www.perlmonks.com/?node_id=849259 lists some possibilities
12:52:09 <ais523> hmm, the "easiest perl solution" is the one I came up with
12:52:15 <ais523> although I had to look up the spelling of as_hex
12:53:25 <ais523> the "hadd" function there is pretty much what Math::BigInt::Calc does internally, isn't it?
12:54:44 <b_jonas> ais523: no, hadd works in hexadecimal, whereas I think Math::BigInt::Calc is decimal, the decimal calculation is shown later in the reply, in the function dalu
12:55:03 <ais523> b_jonas: hadd is converting decimal to hex, isn't it?
12:55:09 <myname> i first read it as "perlmonkeys" and was tempted to click it
12:55:17 <ais523> you don't convert decimal to hex "in" decimal or hex
12:55:20 <b_jonas> ais523: and I think Math::BigInt::Calc groups multiple digits together so that it's faster
12:55:25 <b_jonas> ais523: yes you do
12:55:30 <b_jonas> ais523: you can do the calculatoin in two ways
12:55:41 -!- mihow has joined.
12:56:05 <b_jonas> you have to be able to do additions of bignums (as well as multiplication of one digit with a bignum) in either decimal or hexadecimal
12:56:12 <b_jonas> either of that is enough to do a base conversion
12:56:18 <b_jonas> but they lead to two different algorithms
12:56:30 <b_jonas> see Knuth vol 2 which explains the theory more clearly
12:57:53 <b_jonas> The "hadd" function itself doesn't convert anything, it only does a bignum addition, where the bignums are represented as arrays of base 16 numbers, it's the rest of the code that build a decimal to hex conversion from this.
12:59:27 <b_jonas> Whereas the dalu function does a bignum add/subtract/compare operation on two bignums, represented as arrays of digits in base 10, and the rest of the code under that does the decimal to hexadecimal conversion.
12:59:47 <ais523> hmm
13:00:10 <ais523> the unary to decimal conversion I wrote in PMMN works via first building a decimal number with the digits in reverse order, and then reversing the digits
13:00:19 <ais523> minsky machines make you do weird things sometimes
13:00:27 <ais523> ssapmmn will hopefully eventually be able to optimize the whole thing into an array walk
13:00:29 <b_jonas> zzo38 might be able to explain this better, he's bested me in bignum calculation obfu stuff
13:00:53 <ais523> obfuscated bignums isn't a field I've thought much about
13:00:59 <ais523> (bignums generally are something that come up quite a lot, though)
13:01:11 <b_jonas> it started with non-obfuscated educational purpose bignums really
13:01:22 <b_jonas> (I don't write serious optimized bignum code, because there's already good enough ones.)
13:01:41 <b_jonas> (People keep writing them for crypto purposes.)
13:02:20 <b_jonas> So I wrote http://www.math.bme.hu/~ambrus/pu/Bin.hs which is educational purpose base 2 arithmetic implementation
13:02:59 -!- mihow has quit (Ping timeout: 240 seconds).
13:03:03 <b_jonas> But later it devolved to that dec->hex stuff and to http://www.perlmonks.com/?node_id=989716 and to zzo38's implementation of addition in negazeckendorf
13:03:18 <b_jonas> which is at https://github.com/int-e/zeckendorf by the way
13:03:32 <ais523> I'll need to use some specialized bignum stuff for ssapmmn eventually
13:03:38 -!- daniela123 has left.
13:03:39 <ais523> but so far it only compiles to (a rather unusual) IR
13:03:47 <b_jonas> ais523: there are actual optimized libraries for that
13:04:17 <ais523> they're probably not optimized for minsky machines
13:04:39 <ais523> which sometimes care about storing a number in a specific base, and sometimes care about storing a number as a multiset of its prime factors
13:04:49 <b_jonas> yeah
13:04:53 <ais523> and only very rarely use a number for its actual numerical value
13:07:06 <b_jonas> ruby -e'puts "%x"%2923000000000000' # works too, although iirc not in HackEgo
13:08:11 <ais523> % is a printf operator?
13:08:47 <ais523> I'm not really sure sprintf needs to have an operator name, especially not a 1-character name
13:08:47 <ais523> but perhaps it helps
13:11:13 <b_jonas> ais523: yes, a sprintf operator (also modulus operator)
13:11:27 <b_jonas> I think they took the idea from early python versions or something
13:13:27 -!- tromp_ has joined.
13:15:23 -!- mihow has joined.
13:17:34 -!- tromp_ has quit (Ping timeout: 240 seconds).
13:22:43 -!- mihow has quit (Ping timeout: 248 seconds).
13:22:49 -!- ais523 has quit (Remote host closed the connection).
13:24:00 -!- ais523 has joined.
13:32:12 <ais523> so, a programming style I've been considering for a hobby project (basically the same sort of thing as demoscene, so not exactly eso but there's a lot in common) is branchless programming
13:32:39 <ais523> the reason being that many instructions have to run on specific clock cycles, and branches tend to screw up the timing
13:34:07 -!- tromp_ has joined.
13:35:20 -!- mihow has joined.
13:42:49 -!- mihow has quit (Ping timeout: 240 seconds).
13:55:23 -!- mihow has joined.
14:01:25 * ais523 wonders what sequence of dependencies lead to the ADA Reference Manual being installed
14:01:43 <ais523> oh well, I've been vaguely interested in Ada for a while, might be worth reading it
14:06:43 -!- spiette has joined.
14:07:04 <ais523> it's probably related to GHDL, come to think of it; isn't that written in Ada?
14:07:59 -!- mihow has quit (Ping timeout: 240 seconds).
14:13:06 -!- Treio has joined.
14:13:16 -!- Treio has quit (Remote host closed the connection).
14:25:42 -!- ais523 has quit (Read error: Connection reset by peer).
14:25:58 -!- ais523 has joined.
14:26:07 <b_jonas> ais523: branchless programming can be interesting as an eso-practice, especially because it can help in real world optimization where you want to eliminate some branches (but not all, specifically eliminate those conditional branches and indirect jumps where the CPU can't predict the condition or destination resp well enough, provided the branhces are in a performance-critical section of the code).
14:26:38 <ais523> b_jonas: I'm planning to use a timer interrupt to create a lopo
14:26:38 <b_jonas> (And even then eliminate only if the alternative isn't worse.)
14:26:40 <ais523> *loop
14:26:52 <ais523> thus no branch nor unconditional jump instructions anywhere :-)
14:27:25 <b_jonas> ais523: um, this on what platform? where do you have a stable enough timer interrupt? Atari?
14:27:45 <b_jonas> no wait, the Atari interrupts only once per frame
14:27:48 <b_jonas> that can't work
14:27:49 <b_jonas> um
14:27:57 <ais523> b_jonas: NES, and yes, once per frame
14:27:59 <b_jonas> a 6523 CPU then?
14:28:04 <b_jonas> oh, NES
14:28:42 <b_jonas> how much RAM does that have?
14:28:47 -!- `^_^ has joined.
14:29:32 <ais523> b_jonas: it depends on what sort of RAM you're counting; the CPU can directly address 0x800 bytes of RAM inside the NES itself
14:29:53 <ais523> and can indirectly address some amount of GPU RAM too via the equivalent of a system call
14:29:54 <ais523> additionally it's also possible that there's RAM on the cartridge (although many cartridges have no RAM)
14:30:14 <b_jonas> right
14:30:18 <b_jonas> that's not much
14:31:16 <ais523> you also have quite a lot of ROM (0x2000 minimum ROM directly addressible by the CPU, I think, but you can easily have much more if you want it by using a more expensive model of cartridge)
14:31:52 <b_jonas> I prefer programming these more powerful modern PCs these days.
14:35:44 -!- mihow has joined.
14:36:57 <b_jonas> if you use no branches or jumps at all, then you might need lots of address space available for the code
14:37:07 <b_jonas> either in ROM or writable or a combination
14:43:06 -!- mihow has quit (Ping timeout: 244 seconds).
14:46:59 -!- AnotherTest has quit (Ping timeout: 240 seconds).
14:55:05 -!- lambda-11235 has joined.
14:55:24 -!- mihow has joined.
14:56:13 -!- J_Arcane has joined.
15:03:04 -!- mihow has quit (Ping timeout: 240 seconds).
15:05:53 -!- mroman has quit (Quit: Lost terminal).
15:15:30 -!- mihow has joined.
15:16:25 -!- bender| has quit (Ping timeout: 240 seconds).
15:22:57 -!- mihow has quit (Ping timeout: 250 seconds).
15:35:32 -!- mihow has joined.
15:42:28 -!- madbr has quit (Ping timeout: 250 seconds).
15:43:19 -!- mihow has quit (Ping timeout: 250 seconds).
15:55:22 -!- mihow has joined.
15:56:49 -!- lambda-11235 has quit (Quit: Bye).
16:03:53 -!- Faisal has joined.
16:07:29 -!- spiette has quit (Ping timeout: 240 seconds).
16:08:13 -!- mihow has quit (Ping timeout: 255 seconds).
16:10:18 -!- adu has joined.
16:13:00 -!- J_Arcane has quit (Ping timeout: 244 seconds).
16:18:39 -!- mihow has joined.
16:19:24 -!- J_Arcane has joined.
16:23:10 -!- mihow has quit (Ping timeout: 250 seconds).
16:35:23 -!- mihow has joined.
16:39:17 -!- spiette has joined.
16:43:04 -!- adu has quit (Quit: adu).
16:43:15 -!- mihow has quit (Ping timeout: 248 seconds).
16:53:44 -!- mihow has joined.
16:57:07 -!- ais523 has quit.
16:57:22 -!- ais523 has joined.
17:01:44 -!- Faisal has quit (Quit: If you're not living on the edge, you're taking up too much space).
17:02:25 -!- mihow has quit (Ping timeout: 240 seconds).
17:03:59 -!- callforjudgement has joined.
17:04:29 -!- ais523 has quit (Disconnected by services).
17:04:31 -!- callforjudgement has changed nick to ais523.
17:07:00 -!- ais523 has quit (Client Quit).
17:07:00 -!- callforjudgement has joined.
17:08:23 -!- callforjudgement has changed nick to ais523.
17:11:32 -!- tromp_ has quit (Remote host closed the connection).
17:14:29 -!- J_Arcane has quit (Ping timeout: 244 seconds).
17:15:23 -!- mihow has joined.
17:16:11 -!- AnotherTest has joined.
17:18:35 -!- ais523 has quit (Remote host closed the connection).
17:19:44 -!- ais523 has joined.
17:22:54 -!- ais523 has quit (Read error: Connection reset by peer).
17:22:59 -!- mihow has quit (Ping timeout: 240 seconds).
17:24:00 -!- ais523 has joined.
17:24:42 -!- carado has quit (Quit: Leaving).
17:25:17 -!- ais523 has quit (Remote host closed the connection).
17:25:32 -!- ais523 has joined.
17:28:46 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:35:24 -!- mihow has joined.
17:36:50 -!- ais523 has quit.
17:36:59 -!- ais523 has joined.
17:38:07 -!- ais523 has quit (Remote host closed the connection).
17:38:40 -!- ais523 has joined.
17:39:22 -!- ais523 has quit (Read error: Connection reset by peer).
17:39:46 -!- ais523 has joined.
17:41:22 -!- carado has joined.
17:42:40 <ais523> wow, weird effect during distro upgrades
17:42:54 -!- mihow has quit (Ping timeout: 244 seconds).
17:43:00 <ais523> Firefox is replacing some letter sequences, like ff and fi, with ligatures
17:43:08 <ais523> but they're the wrong ligatures
17:43:26 -!- hppavilion[1] has joined.
17:43:27 <ais523> "ff" is an "ft" ligature (which Effi didn't have one of?)
17:43:36 <ais523> and "fi" is an "st" ligature
17:44:06 <ais523> and "ffi" appears to be a "ut" or maybe "uti" ligature, or perhaps it isn't a ligature at all
17:44:16 <ais523> unfortunately I can't copy-paste them, I get the letters it's supposed to be
17:45:19 -!- bb010g has joined.
17:46:31 <Taneb> ais523: screenshot?
17:48:03 -!- p34k has joined.
17:48:06 <ais523> screenshot program appears to be broken due to the distro upgrade
17:48:17 <Taneb> ...photograph?
17:48:23 <ais523> don't have a camera on me
17:49:08 <Taneb> .......put your monitor in a scanner?
17:49:18 <Taneb> (I'm grasping at straws here)
17:51:02 <ais523> I'm trying to capture an image via command-line tools
17:52:01 -!- ais523 has quit (Remote host closed the connection).
17:52:16 <Taneb> That went well
17:52:22 <myname> scrot to the rescue?
17:53:20 -!- ais523 has joined.
17:53:33 <ais523> Taneb: http://nethack4.org/pastebin/1325.png
17:54:13 <myname> oh, you are a nethack dev?
17:54:25 <ais523> imagemagick still seems to work, I got the screenshot using that and xwininfo
17:54:29 <ais523> via the command line
17:54:40 <myname> use scrot :p
17:54:42 <ais523> myname: nethack 4's the fanmade project to continue NetHack, we did it because we thought the devteam were unlikely to produce anything
17:54:56 -!- ais523 has quit (Remote host closed the connection).
17:55:15 <myname> i see
17:55:17 -!- ais523 has joined.
17:55:20 -!- mihow has joined.
17:55:24 <ais523> oh come on
17:55:28 <ais523> <ais523> myname: nethack 4's the fanmade project to continue NetHack, we did it because we thought the devteam were unlikely to produce anything
17:55:37 <Taneb> ais523: that did go through
17:55:40 <ais523> although they did eventually put out a new version, we're probably ahead (unclear, though)
17:55:44 <Taneb> ais523: myname replied "i see"
17:55:56 <ais523> also scrolling has stopped working in my terminal for some reason
17:56:02 <ais523> distro upgrade breakage is often bizarre
17:56:08 <Taneb> ais523: has nethack4 merged anything from nethack proper after it forked?
17:56:16 <ais523> one patch so far
17:59:24 -!- ais523 has quit (Remote host closed the connection).
18:01:42 -!- ais523 has joined.
18:05:49 <ais523> oh and "fl" still renders as "fl" but with what looks like an em space after it
18:06:20 <myname> ais523: wjy not make a new rl instead of nethack?
18:06:35 <ais523> it's something I've considered
18:06:55 <ais523> however I consider NetHack to be a great game held back by a few superficial problems (i.e. ones that can be fixed without replacing the whole thing)
18:07:11 <APic> lol
18:07:16 <APic> True
18:07:24 <myname> well, i like it too, but there are a bunch of other interesting ones
18:07:34 <myname> also, i have to seriously start mine
18:08:18 -!- jaboja has joined.
18:08:21 <myname> for example, i like chessrl and gruesome
18:08:56 <myname> in chessrl your opponents are chess pieces and after klling enough of one kind you inherit its movement patterns
18:09:37 <myname> in guresome you are some dark creature that has to hunt adventurers in a dungeon without getting seen
18:10:11 -!- mihow has quit (Ping timeout: 248 seconds).
18:12:03 <myname> my idea is to be a guide for some tourists that has to make the visit of the dungeon to be as comfortable as possible for the tourist
18:12:26 -!- tromp_ has joined.
18:12:36 <myname> you will earn more money the more comfortable they feel
18:13:09 <myname> but i plan on a longterm skill system, that won't exactly qualify as a rl
18:15:03 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
18:16:45 -!- hppavilion[1] has joined.
18:16:55 -!- tromp_ has quit (Ping timeout: 255 seconds).
18:18:18 -!- ais523 has quit (Remote host closed the connection).
18:18:44 -!- ais523 has joined.
18:19:02 -!- ais523 has quit (Remote host closed the connection).
18:19:17 -!- ais523 has joined.
18:22:13 -!- lambda-11235 has joined.
18:29:35 -!- ais523 has quit (Remote host closed the connection).
18:30:30 -!- ais523 has joined.
18:34:11 <zzo38> I just used "xwd" to make screenshots and don't have problem, can you use that? Pipe xwd to ImageMagick
18:34:12 -!- mihow has joined.
18:35:58 <ais523> imagemagick can screencapture itself
18:36:06 <ais523> and given the circumstances, I needed a program that was already installed
18:36:28 <zzo38> The screencapture function of ImageMagick doesn't work for me somehow
18:36:48 <zzo38> (I get a picture of the correct size but it is blank)
18:36:59 <APic> Magick!
18:43:59 -!- ais523 has quit (Remote host closed the connection).
18:55:45 -!- zadock has joined.
19:08:51 -!- Treio has joined.
19:16:03 -!- zadock has quit (Ping timeout: 240 seconds).
19:19:35 -!- lynn has joined.
19:20:49 -!- jaboja has quit (Ping timeout: 255 seconds).
19:21:34 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
19:24:25 -!- hppavilion[1] has joined.
19:29:28 -!- zadock has joined.
19:32:23 <shachaf> hppavilion[1]: you should read the haskell faq, yo
19:32:25 <shachaf> @faq
19:32:25 <lambdabot> http://www.haskell.org/haskellwiki/FAQ
19:32:34 <shachaf> also a book or something
19:33:25 -!- Treio has quit (Ping timeout: 250 seconds).
19:34:21 <shachaf> the questions you're asking ("why have an IO type when only one instruction does IO") have been asked and answered thousands of times before, and you can get better answers than some off-the-cuff thing people happen to type in irc
19:34:42 -!- Treio has joined.
19:35:53 <zzo38> Well, I can answer some things
19:36:23 <zzo38> (Partially)
19:37:06 <myname> huh? only one instruction?
19:39:12 <zzo38> In Haskell all function and definition are pure (except unsafe operations), so IO monad means that the value is a IO action to be performed (possibly multiples)
19:40:14 <zzo38> For example to read one character from input would be type (IO Char) because it is operation of I/O, which would resulting something Char which can then be used for computing further I/O logic.
19:41:33 -!- MoALTz has quit (Quit: Leaving).
19:43:43 -!- ais523 has joined.
19:45:14 -!- Treio has quit (Quit: Leaving).
19:52:12 <lambda-11235> hppavilion[1]: IO is actually a function defined as IO a = RealWorld -> (RealWorld, a). Conceptually your whole program is a function that transforms the real world.
19:52:12 <hppavilion[1]> myname: I'm implementing a concatenative language
19:52:18 <hppavilion[1]> Only one instruction does IO in the program
19:52:20 -!- MoALTz has joined.
19:52:30 -!- jaboja has joined.
19:53:48 <hppavilion[1]> shachaf: Wait, that's not what I asked...
19:55:54 <shachaf> Well, the line of questioning.
19:56:14 <myname> hppavilion[1]: there is a bf derivate that does that pretty easy
19:56:42 <hppavilion[1]> shachaf: I do realize why IO is the way it is
19:56:56 <lambda-11235> You can't write a function IO a -> a because you don't have access to the RealWorld.
19:56:57 <hppavilion[1]> shachaf: I just was wondering why I couldn't do IO in a function then /not/ return an IO object
19:57:16 <shachaf> lambda-11235: There's no RealWorld in Haskell.
19:57:21 <hppavilion[1]> myname: Does what pretty easily?
19:57:26 <hppavilion[1]> Oh, have to go
19:58:34 <myname> io eith one function
19:58:53 <myname> in
19:59:37 <lambda-11235> shachaf: There is, read libraries/ghc-prim/GHC/Types.hs in the GHC source. At the bottom you'll see the definition for IO.
19:59:39 <zzo38> A function in Haskell doesn't do I/O; it returns a IO object which does the IO. All function is pure function in Haskell
19:59:53 <shachaf> lambda-11235: I know how GHC's implementation of IO works.
20:00:02 <shachaf> Even that one has no values of type RealWorld.
20:00:22 <shachaf> But anyway that's completely irrelevant to someone learning Haskell. RealWorld is a bad name anyway.
20:01:17 <olsner> I liked the analogy of functions on RealWorld, or e.g. State RealWorld a
20:01:33 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
20:02:54 <ais523> I like thinking of monads as like sandboxes, that restrict what you can do in order to allow you to do more things
20:04:00 <coppro> I like thinking of monads as monads
20:04:20 <coppro> zzo38: that view is a useful way of thinking about it, but is not actually how they are implemented in most implementations
20:04:29 <ais523> coppro: mathematical ones or haskellish ones?
20:04:37 <zzo38> To me the explanation is a bit differently, if you are familiar with multidimensional list comprehensions in other programming languages, then the monads is a kind of generalization of a similar kind of concept. Monad is mathematical category theory and has some operation and law defined
20:04:42 <coppro> ais523: haskellish one
20:04:47 <zzo38> And then, for example there is a list monad, IO monad, etc
20:05:05 <lambda-11235> shachaf: If you mean there's no value of RealWorld (or State RealWorld) that ghc passes, then you'd be correct, it's purely conceptual.
20:05:08 <ais523> also, I totally want to see a pure-Haskell implementation of IO in which the IO object is basically just C code
20:05:12 <ais523> or ML, or the like
20:05:30 <ais523> but I'm not sure you can do that without the ability to "look inside" a function
20:05:31 <shachaf> ais523: Tricky to implement fmap on that.
20:05:39 <coppro> if you really want, I can try to think of a monad as the endofunctor generated by composing adjoint functors
20:05:46 <ais523> :t fmap
20:05:47 <lambdabot> Functor f => (a -> b) -> f a -> f b
20:07:21 -!- callforjudgement has joined.
20:07:23 <callforjudgement> :t \f -> \a -> a >>= (return (f a))
20:07:24 <lambdabot> Monad m => (m a -> m b) -> m a -> m b
20:07:36 -!- ais523 has quit (Disconnected by services).
20:07:38 -!- callforjudgement has changed nick to ais523.
20:08:04 <ais523> :t \f -> \a -> a >>= (\a'. return (f a'))
20:08:05 <lambdabot> parse error on input ‘.’
20:08:10 <ais523> :t \f -> \a -> a >>= (\a' -> return (f a'))
20:08:11 <lambdabot> Monad m => (a -> b) -> m a -> m b
20:08:16 <ais523> there we go
20:08:44 <shachaf> Sure. (>>=), if you prefer.
20:08:46 -!- bb010g has quit (Quit: Connection closed for inactivity).
20:09:10 <shachaf> I mean that running a Haskell function on C code is tricky.
20:09:10 <ais523> well in Haskell, >>= is the fundamental operation
20:09:23 <shachaf> The fundamental operation is whatever you want it to be.
20:09:28 <ais523> I guess you'd need an FFI to Haskell
20:10:01 <ais523> but the >>= operation here is basically just sequential composition (i.e. C semicolon) that preserves one value
20:10:24 <olsner> I think ghc still treats nullary functions (such as RealWorld -> a, after the RealWorld is removed) as functions, but otherwise I reckon something like IO Char could actually have the same representation as a Char thunk
20:10:32 <ais523> (C's semicolon is more like >> because C uses variables in order to track states from statement to statement)
20:10:37 <olsner> (which would be very close to a pointer a C function returning char)
20:10:39 <ais523> :t (>>)
20:10:40 <lambdabot> Monad m => m a -> m b -> m b
20:11:15 -!- diginet_ has joined.
20:11:17 <olsner> then inline a lot and that's a chunk of native code doing getchar and sending it on
20:12:01 <zzo38> If you have a list of possible I/O operations that can be done then it can be implemented as a pure data type in Haskell, although it won't make I/O because the Haskell compiler doesn't do that. (Although, a function to convert can still be done)
20:12:01 -!- lambda-11235 has quit (Read error: Connection reset by peer).
20:12:03 -!- nitrix has quit (Ping timeout: 255 seconds).
20:12:03 -!- diginet has quit (Ping timeout: 255 seconds).
20:12:08 -!- coppro has quit (Ping timeout: 255 seconds).
20:12:08 -!- izabera has quit (Ping timeout: 255 seconds).
20:12:15 -!- coppro has joined.
20:12:18 -!- diginet_ has changed nick to diginet.
20:12:26 -!- izabera has joined.
20:12:27 <ais523> zzo38: yes, that's basically what I was thinking of
20:12:33 <ais523> anyway, I'm really tired and so should probably go home
20:12:37 <ais523> night everyone
20:12:39 -!- tromp_ has joined.
20:12:53 -!- ais523 has quit.
20:13:57 <olsner> the list of actions sent to a IO interpreter is certainly possible, it's a pretty common "way you could think about IO"
20:16:20 -!- fractal has quit (Ping timeout: 250 seconds).
20:16:45 -!- Guest6991 has joined.
20:17:07 -!- hppavilion[1] has joined.
20:17:30 -!- tromp_ has quit (Ping timeout: 276 seconds).
20:21:32 <zzo38> Monads can be made in other programming languages too, and I have made monadic generators in JavaScript too
20:23:52 <zzo38> (They are two different monads actually)
20:26:54 <coppro> olsner: yes, agreed
20:27:25 <coppro> olsner: and the nice thing about the abstraction is that unless you're breaking the rules (e.g. unsafePerformIO) or you let bottom through, you can't tell the difference
20:27:57 <coppro> so unless you're piercing the abstraction for one reason or another, it's a 100% valid way to think of it
20:31:34 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
20:34:17 -!- Opodeldoc has joined.
20:37:01 -!- lambda-11235 has joined.
20:40:54 -!- Frooxius has quit (Ping timeout: 276 seconds).
20:42:01 -!- Frooxius has joined.
20:56:49 -!- `^_^ has quit (Ping timeout: 240 seconds).
20:57:33 -!- fractal has joined.
20:59:46 -!- lambda-11235 has quit (Quit: Bye).
21:01:35 -!- `^_^ has joined.
21:18:49 -!- Opodeldoc has quit (Read error: Connection reset by peer).
21:23:05 -!- hppavilion[1] has joined.
21:23:19 <hppavilion[1]> I thought of an interesting proof-of-concept brainfuck derivative (and proof-of-concept is really the only good thing to do with bf derivatives)
21:23:23 <hppavilion[1]> I call it TangleFuck
21:24:05 <hppavilion[1]> I will now wait for someone to respond so I'm not just talking to an empty room
21:25:33 <izabera> tell us about it
21:25:46 <hppavilion[1]> izabera: So you know how [ and ] in BF can be implemented on a stack, correct?
21:26:15 <izabera> yes
21:26:16 <hppavilion[1]> Where [ PUSHes the current location (or, if the current cell is zero, jumps to the matching `]`) and ] conditionally POPs a value and JMPs to it?
21:26:31 -!- Angelssjdios has joined.
21:26:49 <hppavilion[1]> izabera: Well I had an idea for something you could do with that that makes a tangle-bracket language (one where brackets must be matched, but independent of other brackets)
21:27:05 <hppavilion[1]> There are two ways to do it, and one way that merges both models
21:27:42 <hppavilion[1]> First, replace that stack with a deque. [ and ] do not change, they just work on a different data structure (they still POP and PUSH even because the deque uses the same words)
21:28:02 <hppavilion[1]> Then, add two new instructions- { and }- that have the same programming as [ and ] respectively, except for one change
21:28:17 <hppavilion[1]> Instead of PUSHing and POPing, they INJECT and EJECT
21:28:17 -!- Angelssjdios has left.
21:28:23 -!- Angelssjdios has joined.
21:28:32 -!- Angelssjdios has left.
21:28:38 <hppavilion[1]> I don't know what the significance of this is, but it sure makes for weird programming if you decide to use it
21:29:20 -!- J_Arcane has joined.
21:29:21 <hppavilion[1]> (But you don't have to, as this is a strict superset of regular BF- and it even is a strict superset (but slower) if you replace all [s with {s and ]s with }s)
21:30:24 <hppavilion[1]> izabera: A nice property is that the outermost loop allows you to use [ and } and they will complement one another iff the first cell starts nonzero when the [ is called, but that's about it
21:31:53 <hppavilion[1]> It gets even more confusing with a Unicode-based idea I thought of
21:32:21 <hppavilion[1]> Every type of unicode bracket and its white equivalent has its own deque. The normal bracket works on the top, the white version works on the bottom.
21:32:38 <hppavilion[1]> I'm really just heaping complexity on at that point though
21:32:54 <hppavilion[1]> But it still probably has some deep property we've never thought of
21:33:16 <hppavilion[1]> (Oh, and the deques have the property where POPing or EJECTing an empty deque returns 0)
21:37:09 <izabera> don't understand why it must be a deque
21:37:36 <izabera> do you insert from one end and eject from the other?
21:38:14 <izabera> if you do, that's a regular queue
21:38:21 <izabera> if you don't, that's a stack
21:39:11 <izabera> also using a queue means that you can't nest [ ]
21:39:18 <izabera> well, sort of
21:40:29 <izabera> [x[y]z] -> a: x; b: y; if (*p) goto a; z; if (*p) goto b;
21:41:07 <izabera> so it's not a superset of bf
21:42:41 <izabera> that's not a correct translation of that bf but you got the point
21:44:39 <hppavilion[1]> izabera: No, you insert and eject from the back, but you push and pop from he front
21:44:51 <b_jonas> `wisdom
21:45:08 <HackEgo> mario/Mario is a classic NP-complete problem invented by Nintendo.
21:45:12 <hppavilion[1]> izabera: That's a deque- a cross between two stacks
21:45:22 <hppavilion[1]> At least, that's the definition I was taught
21:45:24 <izabera> ok, gotcha
21:45:35 <izabera> sorry if i don't make much sense, i'm too tired
21:45:38 <izabera> going to sleep now
21:46:00 <hppavilion[1]> Somebody should write the "imaginary function" page on the wiki in haskell. More people know haskell than erlang, AFAICT
21:46:08 <hppavilion[1]> And put it under Imaginary function/haskell
21:47:53 -!- p34k has quit.
21:49:22 * int-e would like to see a non-handwaving proof of NP membership of Super Mario Bros (generalized to arbitrary sized levels).
21:49:55 <int-e> `` \? what?
21:49:57 <HackEgo> what?? ¯\(°​_o)/¯
21:50:41 <b_jonas> int-e: look at the original Mario NP paper. what matters is the definitions really.
21:55:16 <b_jonas> int-e: http://arxiv.org/abs/1203.1895
21:55:29 <hppavilion[1]> `¯\(°​_o)/¯
21:55:30 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/¯\(°​_o)/¯: No such file or directory
21:55:35 <hppavilion[1]> ...
21:55:37 <hppavilion[1]> -_-
21:55:49 <b_jonas> `? mario
21:55:51 <HackEgo> Mario is a classic NP-complete problem invented by Nintendo.
21:57:38 <olsner> good wisdom
21:58:28 <int-e> b_jonas: if you mean http://arxiv.org/abs/1203.1895v1 ... that is the handwaving one.
22:00:01 <b_jonas> int-e: I'm not sure which version I read\
22:09:45 <int-e> So far the authors have removed two of three NP membership claims from that paper: for SMB (added in the first version, dropped in the second); for Metroid (added in v2, removed in v3). Only the claim for "Pokemon with only enemy Trainers" remains, added in v2, elaborated in v3.
22:09:57 -!- `^_^ has quit (Ping timeout: 276 seconds).
22:12:01 -!- spiette has quit (Ping timeout: 250 seconds).
22:12:04 <int-e> The thing is, because there are items that move around, the observable state space becomes exponential, and that adversely affects (probably invalidates, but I have not thought that through) the claim that solution lengths are bounded polynomially.
22:15:10 -!- hppavilion[2] has joined.
22:18:17 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
22:19:01 -!- mihow has quit (Ping timeout: 255 seconds).
22:22:04 -!- mihow has joined.
22:22:23 -!- augur has quit (Quit: Leaving...).
22:29:11 -!- MoALTz_ has joined.
22:29:34 -!- zadock has quit (Quit: Leaving).
22:39:48 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:43:59 -!- tromp_ has joined.
22:46:15 <int-e> Oh, vulkan specs have been released two days ago and I missed it...
22:48:15 -!- tromp_ has quit (Ping timeout: 244 seconds).
22:49:34 -!- earendel has quit (Ping timeout: 240 seconds).
22:51:54 -!- augur has joined.
22:57:58 -!- earendel has joined.
23:09:45 -!- augur has quit (Read error: Connection reset by peer).
23:11:24 -!- augur has joined.
23:22:53 -!- Elronnd has quit (Quit: Let's jump!).
23:29:39 -!- Elronnd has joined.
23:32:41 -!- lynn has quit (Ping timeout: 244 seconds).
23:33:38 -!- boily has joined.
23:42:34 <boily> @massages-loud
23:42:34 <lambdabot> You don't have any messages
23:48:09 -!- adu has joined.
2016-02-19
00:06:53 -!- bender| has joined.
00:09:28 -!- tromp_ has joined.
00:14:47 <hppavilion[2]> Hellu
00:15:31 -!- Phantom_Hoover has joined.
00:19:32 <boily> hppavellon[1].
00:20:09 <hppavilion[2]> boily: I'm implementing a BF-like language (not a derivative, if anyone asks) in Haskell :)
00:20:16 <hppavilion[2]> Mostly because I want to learn Haskell
00:20:18 -!- mtve has quit (Ping timeout: 250 seconds).
00:26:05 <hppavilion[2]> Phantom_Hoover: Your realname gets cut off in a slightly awkward location
00:27:59 <Phantom_Hoover> au contraire, it is a moving tribute to the dangers faced by sex workers
00:28:55 <hppavilion[2]> Phantom_Hoover: Oh?
00:29:13 <Phantom_Hoover> oh!
00:30:43 <boily> not only Phantom_Hoover was a teenager, he has a real name!
00:30:59 <boily> hppavilion[2]: learning Haskell is always a great good!
00:31:10 <Phantom_Hoover> the mystery of the man is finally unravelled
00:31:37 <hppavilion[2]> boily: Yes, exactly
00:35:41 <hppavilion[2]> boily: *a Haskell
00:37:57 <hppavilion[2]> hadu
00:43:08 <\oren\> the thing i ordered from russia cme today
00:44:17 <\oren\> "Portativnaya Igrovaya Pristavka GAMEBOX"
00:45:16 <\oren\> it's a clone of the nintendo game boy advance sp
00:46:38 <hppavilion[2]> \oren\: Did it come from Denmark?
00:47:15 <\oren\> no, archangelsk
00:47:58 <hppavilion[2]> Ah
00:48:11 <hppavilion[2]> A language with two PCs?
00:49:39 <hppavilion[2]> Oooh
00:49:57 <hppavilion[2]> A Fungeoid with 2 PCs that have gravitational effects on one another
00:50:20 <hppavilion[2]> O increases the PC's mass, o decreases it
00:50:38 <hppavilion[2]> Then generalize it to have more- ERROR: n-BODY PROBLEM
00:50:43 <hppavilion[2]> Dammit
00:51:10 -!- lambda-11235 has joined.
00:51:34 <\oren\> you can still use approximate integration with more than 2 bodies
00:52:02 -!- Opodeldoc has joined.
00:52:41 <hppavilion[2]> \oren\: Oh, right
00:53:02 <hppavilion[2]> \oren\: And fungeoids use discreet points*, so that works fairly well
00:53:06 <hppavilion[2]> *Ooooooh
00:53:19 <hppavilion[2]> Fungeoid with indiscreet points?
00:57:31 <hppavilion[2]> I have an urge to write a golphing language in Haskell now
01:08:29 -!- bender| has quit (Ping timeout: 240 seconds).
01:15:19 <hppavilion[2]> I am yet to see a declarative golphing language
01:15:40 -!- bender| has joined.
01:16:03 <\oren\> ooh they also included some russian bubble gum! tasty!
01:18:42 <boily> хэ\\орен\!
01:20:59 <\oren\> bohily!
01:26:06 <zzo38> Where exactly did the design of the standard X cursor font come from?
01:26:47 <boily> hezzo38. probably Xerox. everything eventually comes from there, or Taneb invented it.
01:31:30 <zzo38> I find some of a bit strange such as why there is a heart shape cursor and what does XC_bogosity supposed to mean, and also that some things are missing, there are some things I would have added into the new cursor font
01:43:33 <zzo38> I would also add: XC_xterm_sideways, XC_stop_sign, XC_eraser, XC_left_right_side, XC_top_bottom_side, XC_exchange_clockwise, XC_sb_down_left_arrow, XC_sb_down_right_arrow, XC_sb_up_left_arrow, XC_sb_up_right_arrow, XC_based_arrow_left, XC_based_arrow_right, XC_foot, XC_explode, XC_magnify, XC_magnify_plus, XC_magnify_minus, XC_cross_diag, XC_talk
01:43:47 <zzo38> Hopefully once added to standard X cursor font, these would be sufficient for nearly everyone
01:49:02 <lifthrasiir> \oren\: how is russian bubble gum different from ordinary bubble gum?
01:49:18 <hppavilion[2]> Hm...
01:49:35 <hppavilion[2]> I think the optimal system for some sort of declarative golphing language would be a rewriter
01:50:02 <\oren\> lifthrasiir: it has wrappers and comics in russian
01:53:32 <hppavilion[2]> Should perhaps my declgolph be based on modal logic?
01:56:59 <hppavilion[2]> Modal Logic Stack? xD
02:00:26 -!- bb010g has joined.
02:16:36 -!- mtve has joined.
02:20:22 -!- boily has quit (Quit: PROPELLED CHICKEN).
02:23:54 -!- madbr has joined.
02:30:08 -!- mihow has quit (Quit: mihow).
02:30:55 -!- XorSwap has joined.
02:41:50 <hppavilion[2]> Ugh
02:41:55 <hppavilion[2]> I'm trying to prolog
02:42:09 <hppavilion[2]> And I want something that says "X is human if all parents of X are human"
02:43:58 <hppavilion[2]> I currently have human(X) :- parent(P, X), forall(P, human(P))., but that works even if only one parent is human
02:45:07 <zzo38> How to change the font for menus in Firefox?
02:45:10 <hppavilion[2]> Wait, no, human(X) :- parent(P, X), human(P).
02:47:22 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:48:10 <hppavilion[2]> Asked on ##prolog
02:53:21 <hppavilion[2]> @djinn ((q -> p) -> q) -> q
02:53:21 <lambdabot> -- f cannot be realized.
02:54:18 -!- lleu has joined.
02:54:18 -!- lleu has quit (Changing host).
02:54:18 -!- lleu has joined.
02:54:18 -!- lleu has quit (Read error: Connection reset by peer).
02:54:34 -!- lleu has joined.
02:55:09 -!- llue has quit (Read error: Connection reset by peer).
02:58:18 <zzo38> You would need continuations in order to make the function ((q -> p) -> q) -> q
02:58:36 <hppavilion[2]> zzo38: Ah
02:58:47 <hppavilion[2]> zzo38: You wouldn't happen to know Prolog, would you?
03:01:53 <zzo38> I don't know Prolog
03:05:25 <hppavilion[2]> zzo38: OK :/
03:07:52 -!- Anarchokawaii has joined.
03:08:02 <Anarchokawaii> hello
03:08:26 -!- XorSwap has quit (Quit: Leaving).
03:10:08 <hppavilion[2]> Anarchokawaii: You new? Or just in hawaii?
03:10:19 <Anarchokawaii> im new
03:10:33 <Anarchokawaii> what's the hawaii reference for?
03:11:17 -!- adu has quit (Quit: adu).
03:21:37 <\oren\> it's kawaii, not hawaii
03:22:08 <\oren\> (可愛い)
03:22:59 <pikhq> こんなに可愛くないと思うけど……
03:24:38 -!- Guest6991 has quit (Changing host).
03:24:38 -!- Guest6991 has joined.
03:24:44 -!- Guest6991 has changed nick to nitrix.
03:31:03 -!- Frooxius has quit (Ping timeout: 276 seconds).
03:38:04 -!- jaboja has quit (Ping timeout: 240 seconds).
03:49:58 <izabera> the one piece of code i copied off stackoverflow to make arin.ga was a huge security risk that allowed remote code execution
03:50:18 <izabera> luckily, php7 didn't support it
03:50:41 <izabera> so updating from 5.5 broke everything and i rewrote it
03:50:55 <izabera> now it's safe \o/
03:53:07 -!- tromp_ has quit (Remote host closed the connection).
03:54:26 <lambda-11235> izabera: https://arin.ga/yXaSVU
03:54:42 <izabera> :)
04:01:56 -!- Frooxius has joined.
04:03:55 <izabera> https://stackoverflow.com/questions/33022253/obfuscated-code-last-digit WTF that answer
04:04:07 -!- tromp_ has joined.
04:04:53 <izabera> he used [ ] . in the "comments"
04:04:59 -!- earendel has quit (Ping timeout: 240 seconds).
04:08:01 <izabera> +[++++++++++>,----------]<. isn't this easier
04:13:29 -!- earendel has joined.
04:16:23 <Anarchokawaii> is it possible to have a subroutine-less language that can function as competently as any other language
04:20:37 <lambda-11235> Anarchokawaii: Do macros count as subroutines?
04:20:50 <Anarchokawaii> ...
04:20:50 <Anarchokawaii> yes
04:21:06 <Anarchokawaii> idk
04:21:08 <Anarchokawaii> maybe
04:21:26 <madbr> you wouldn't have recursion but that's okay
04:21:53 <Anarchokawaii> then it wouldn't be turing complete
04:22:05 <izabera> you don't need recursion for that
04:22:25 <lambda-11235> Anarchokawaii: LaTeX is a macro language, and people have written language interpreters in it.
04:22:26 <madbr> you can fake recursion by building your own stack
04:22:50 -!- adu has joined.
04:22:54 <madbr> actually I've written code in a no-recursion system (megazeux)
04:22:55 <Anarchokawaii> i thought LaTeX was just a text markup language
04:23:45 <\oren\> TeX is turing complete language with a focus on typography
04:23:50 <lambda-11235> Isn't \newcommand{boo}{\boo{#1}} recursive?
04:24:01 <madbr> the trick is that each robot executes a slice of code up to the next 'wait' on each frame, so your code is divided into robots instead of functions
04:25:28 <Anarchokawaii> madbr
04:25:32 <Anarchokawaii> what was it called
04:25:38 <zzo38> In TeX, calling a macro at the end of a macro definition will be tail call
04:26:12 <madbr> Anarchokawaii : megazeux ( http://vault.digitalmzx.net/index.php )
04:26:18 -!- earendel has quit (Ping timeout: 276 seconds).
04:26:35 <madbr> it actually does have subroutine calls now but they were added-in super late
04:27:01 <zzo38> For example \def\ecall#1{\begingroup\edef\next{\endgroup#1}\next} is defining a temporary macro \next with causes it to be restored and does other stuff and then it tail call that macro.
04:27:23 <zzo38> Therefore it does not clobber any other \next definition
04:27:28 <madbr> and they are essentially tacked-on, the language itself is built around 'goto'
04:29:45 <zzo38> So for example \ecall{\uppercase{\romannumeral\chapno}} will type the uppercase roman numbers of the chapter number.
04:30:35 <zzo38> I have made up some MegaZeux games too
04:30:45 <zzo38> Do you like my MegaZeux game?
04:30:59 <zzo38> Such as "Super ASCII MZX Town" and "Potion of Confusing"
04:33:35 <Anarchokawaii> what about a language that works by just moving stuff around
04:35:03 <madbr> some guy figured out how to do a turing complete language with only the MOV x86 instruction
04:36:35 <madbr> though I think it abuses mixes of 8bit, 16bit and 32bit instructions
04:38:39 -!- earendel has joined.
04:38:44 <hppavilion[2]> Somebody on ##programming mentioned GNU not inventing a LISP-based shell
04:38:48 <hppavilion[2]> Now I want to do that
04:40:16 <izabera> there's scsh
04:40:19 <izabera> https://scsh.net/
04:40:23 <izabera> not gnu
04:40:24 <adu> hppavilion[2]!
04:40:34 <adu> lambdabot @messages
04:40:35 <izabera> but read their docs
04:40:35 <hppavilion[2]> adu: Who are you?
04:40:37 <adu> lambdabot @messages
04:40:42 <adu> hmmmm
04:40:43 <hppavilion[2]> Perhaps you're thinking of my brother, hppavilion[1]
04:40:58 <izabera> https://scsh.net/docu/html/man.html this this this this this this page
04:41:11 <izabera> best documentation ever
04:41:14 <adu> hppavilion[2]: ah, prototype, yes
04:41:23 <adu> prototypes can be pretty terrible
04:41:28 <hppavilion[2]> adu: ?
04:43:23 <diginet> TeX is...not fun to program in
04:43:30 <hppavilion[2]> izabera: That is amazing documentation
04:43:47 <adu> TeX is sooooooooooooo hard to work with
04:43:57 <adu> I prefer Scribble
04:44:13 <adu> the only redeeming quality of TeX is Lua
04:44:22 <zzo38> I happen to like TeX it is pretty good
04:44:24 <hppavilion[2]> So what's the difference between a shell language that isn't in the vein of bash and any other language?
04:44:51 <adu> zzo38: I would like TeX if it's underlying programming language / platform was something other than TeX
04:44:56 <zzo38> I just use Plain TeX, without Lua or PDF or LaTeX or XeTeX or those other extensions
04:45:06 <diginet> zzo38: kill me now
04:45:13 <zzo38> diginet: No
04:45:16 <diginet> TeX as a typesetting/document preparation is great. TeX as a language is miserable
04:45:23 <hppavilion[2]> diginet: You should probably see a psychiatrist
04:45:43 <diginet> I feel like Tcl would have been a better fit than LuaTeX
04:46:04 <zzo38> diginet: OK, yes, although still many thing can be made with TeX including sorting and indexing and everything implemented in a pure TeX code
04:46:20 <adu> zzo38: don't get me wrong, I'm not a newbie or anything, or a passer-by, I've written dozens of papers in LaTeX, and used dozens of packages for image formats, diagrams, plots, etc.
04:46:33 <zzo38> And chess parsing
04:46:47 <adu> Scribble is better
04:47:16 <adu> diginet: agreed
04:47:24 <diginet> my problem is that the langauge, at this point, is incredibly inconsistent
04:47:35 <adu> diginet: yes, you understand me
04:47:37 <diginet> adu: with which?
04:47:54 <adu> diginet: are you able to read my messages?
04:48:06 <diginet> adu: no I mean, what were you agreeing with?
04:48:11 <diginet> yeah I can see them
04:48:15 <adu> diginet: you
04:48:23 <diginet> that TeX is inconsistent, or that Tcl is a better fit?
04:48:27 <adu> diginet: I think we are saying the same thing
04:48:30 <hppavilion[2]> adun't be difficult
04:48:46 <adu> diginet: oh, Tcl is a clusterf**k of sh*t
04:48:53 <diginet> :(
04:49:09 <zzo38> Tcl isn't very good in my opinion I think?
04:49:11 <hppavilion[2]> All software sucks
04:49:11 <diginet> it has issues, but the "everything is a string mode" would work for TeX
04:49:13 <zzo38> I would have preferred SQL
04:49:14 <hppavilion[2]> All hardware sucks
04:49:15 <hppavilion[2]> But
04:49:19 <adu> hppavilion[2]: not so
04:49:23 <hppavilion[2]> Do all standards suck?
04:49:27 <zzo38> Although TeX works fine by itself
04:49:36 <zzo38> hppavilion[2]: Most of the common ones do
04:49:51 <adu> hppavilion[2]: Haskell, Rust, and Opera are pretty amazing
04:49:54 <hppavilion[2]> For example, scheme implementations may all suck (especially the hardware ones), but does scheme itself suck?
04:50:20 <diginet> yes
04:50:22 <adu> hppavilion[2]: interestingly, Rust is Mozilla's attempt to out-do Opera
04:50:35 <hppavilion[2]> adu: Da fuq?
04:50:38 <diginet> I'm unimpressed by Rust
04:50:39 <hppavilion[2]> Opera the browser, right?
04:50:59 <zzo38> Athena widget set is good
04:51:10 <diginet> hellloooo 1992
04:51:23 <adu> hppavilion[2]: Opera is a browser, Firefox is a browser, Mozilla is the community behind Firefox, Rust is a language designed by Mozilla to implement Servo, Servo is going to replace Firefox in 2050
04:51:28 <diginet> I just discovered this really new widget toolkit guys, it's called "Motif"
04:51:30 <diginet> it's pretty neat
04:51:37 <hppavilion[2]> Ah
04:51:43 <zzo38> diginet: I have seen it too, I prefer Xaw
04:51:53 <adu> hppavilion[2]: Servo is the goal, Rust is the means
04:51:54 <diginet> zzo38: amateur, SunView FTW
04:52:07 <hppavilion[2]> adu: So what is the difference between a shell language and a normal scripting language?
04:52:12 <diginet> perspective
04:52:22 <diginet> (to be honest though, NeWS was vastly superior to X11 and anything today for that matter)
04:52:32 <pikhq> Opera, the browser that abandoned its rendering engine and shell for Blink and being basically a Chrome patch? :)
04:52:39 <madbr> hppavilion[2] : the decade in which it was designed? ;)
04:52:42 <madbr> (just kidding)
04:52:51 <adu> hppavilion[2]: A shell language usually doesn't require syntax to run external commands, a scripting language generally requires system("shell command")
04:52:59 <hppavilion[2]> Ah
04:53:00 <zzo38> Especially the scrollbars in Xaw are good, other programs don't implement it (although I managed to write a XBL binding that implements it, it doesn't work perfectly)
04:53:33 <diginet> not a widget toolkit per se, but I love Lazarus for pascal
04:53:36 <diginet> so easy to use
04:54:25 <zzo38> I am making a JavaScript program for accessing Xlib, and then I will make the widget set on top of that too
04:55:08 <hppavilion[2]> adu: Anything else?
04:55:56 <zzo38> I could also make a typesetting library in JavaScript that can make DVI file output, and can use that as another alternative for TeX too I suppose.
04:57:29 <adu> hppavilion[2]: I'm a big fan of 2 types of software: highly maintainable (which generally implies highly documented), and software that is not in need of maintainance
04:57:32 <zzo38> Node.js does not implement Generator.prototype.return so I made up my own implmentation, which is imperfect though. It creates a new object and then throws it into the generator and then catches it. It also overrides the next method of that generator to catch that object too
04:58:04 <zzo38> adu: Do you like my types of software?
04:58:17 <adu> zzo38: what is your types?
04:59:33 <zzo38> Well, mainly the UNIX types, where the program acts as a filter doing the input/output by stdin/stdout, there are others too, you could look
04:59:58 <adu> zzo38: where can I look?
05:00:38 <zzo38> Such as, I made: dvipbm (takes DVI from stdin and renders it to PBM on stdout; can be used for host-based printing), amigamml (takes MML on stdin and produces MOD or XM on stdout), playmod (takes MOD/S3M/IT/XM/various other formats on stdin and produces raw audio data on stdout)
05:01:17 -!- Guest58776 has joined.
05:01:18 <adu> I've never heard of PBM or MOD
05:01:33 <adu> so i'm not sure if thats useful
05:01:35 <zzo38> MOD and XM are formats for music (MOD is the Amiga format, and XM is the PC format)
05:01:58 <adu> MML = MathML?
05:02:10 <zzo38> No, MML is Music Macro Language
05:02:21 <adu> ok, then I've never heard of MML
05:02:42 <adu> DVi = the thing that TeX supported before PDF?
05:02:50 <zzo38> PBM is a simple bitmap picture format; multiple pages can also be stored.
05:03:00 <zzo38> Yes, DVI is the standard output format of TeX.
05:03:00 <lifthrasiir> is there a textual waveform and/or module file format?
05:03:12 <adu> bitmap, that's what I use PNG for
05:03:41 <adu> I don't know anything about DVI, except it's not PDF
05:04:05 <zzo38> Yes, although PBM is black and white only and is a much simpler format. Also the program foo2zjs (which comes with the printer driver) will take PBM on stdin and produce on stdout the format needed by the printer.
05:04:29 <adu> you know what I did? I wrote a script to count the number of pages in a PDF using only regexes
05:05:05 <zzo38> Therefore if you make the pipe "dvipbm | foo2zjs | lp" then you can print a DVI file in that way. I wrote a shell script that does this, and this is how I do printing on my computer
05:05:19 <adu> what's lp?
05:05:22 <hppavilion[2]> adu: So what would be good for a LISPy shell?
05:05:24 <diginet> line printer
05:05:32 <adu> what's a line printer?
05:05:34 <zzo38> The lp command is the UNIX command for printing
05:05:44 <adu> I thought that was lpr?
05:06:03 <hppavilion[2]> adu: It prints lines. I think it's the old way we did IO in the olden days
05:06:05 <zzo38> The lpr command will also do
05:06:18 <zzo38> They are a bit different
05:06:31 <adu> lpr is POSIX, I still don't know what "lp" is
05:06:55 <zzo38> Despite the name, the printer does not necessarily have to be a line printer and can be any printer.
05:06:58 <madbr> for how much time was physical printing used all that much before video screens took over?
05:07:09 <adu> hppavilion[2]: I don't know the olden days, I only know USB and HTTP
05:10:36 <zzo38> Actually dvipbm supports several command-line options, including page order, page filter, origin, page size, resolution, font finder, and more. If the page order is modified, then the filename must be specified on the command line; otherwise the input can come from a pipe and doesn't have to be seekable.
05:10:48 <zzo38> AmigaMML completely ignores any command-line arguments though.
05:13:25 <zzo38> Do you know any 6502 programming?
05:14:11 -!- FireFly has quit (Ping timeout: 248 seconds).
05:14:12 -!- Gregor has quit (Ping timeout: 268 seconds).
05:14:17 <\oren\> it looks like shumway is getting mature enough to work for my purposes
05:14:38 -!- Gregor has joined.
05:15:37 -!- FireFly has joined.
05:16:44 <adu> zzo38: I like pipelines
05:16:47 -!- hppavilion[2] has quit (Ping timeout: 244 seconds).
05:17:03 <zzo38> adu: Yes I think it is a good design too, so I design the program in that way
05:17:06 <\oren\> I've decided to uninstall adobe flash rather than update it this time
05:17:34 <zzo38> The UNIX design is supposed to make every program a filter, and to me it is good idea therefore that is what I do
05:18:03 <adu> zzo38: for example, I've tried the unifont tools, TTF tools (I think one was called TTF2XML), but I wrote one that converted TTF2JSON and another for JSON2TTF so I could edit a font that was already monospace, so that Window$ could see that "monospace bit"
05:18:38 * adu f**king hates Window$
05:19:16 <lifthrasiir> \oren\: I have one or two websites that still rely on Flash and that I cannot give up
05:19:19 <lifthrasiir> *sigh*
05:20:07 <zzo38> I used to have Windows, but the CPU of that computer failed so I purchased a new computer with Linux; this Linux is much better
05:20:10 <\oren\> have you checked whether they work with shumway?
05:20:32 <adu> zzo38: I've never had window$, I alternate between mac and linux
05:20:40 <\oren\> shumway is a plugin for firefox that runs flash things in html5
05:20:54 <zzo38> Although, I removed the default window manager and desktop environment and all of that stuff, and instead using i3-wm
05:21:11 <\oren\> I'm currently using a linux machine from my windows machine via ssh
05:21:23 <lifthrasiir> \oren\: nicovideo is one, I'm not sure if shumway supports Flash video?
05:21:30 <zzo38> I also added LANG=C into my startup file in order to fix the locale
05:21:50 <adu> zzo38: I use emacs
05:22:08 <zzo38> OK, although I prefer vim, which is what I use
05:22:55 <zzo38> For terminal emulator, I use xterm
05:23:25 <adu> I've tried vim, but I can't figure out how to delete a rectangle in vim
05:23:39 <\oren\> it seems to support most flash videos I've tried
05:23:58 <zzo38> Push control v
05:24:10 <lifthrasiir> \oren\: interesting, I will try it out. thank you.
05:24:18 <zzo38> And then you move cursor to highlight what to delete and then you can push d to delete.
05:24:26 <zzo38> That is how you delete a rectangle in vim.
05:24:29 <adu> zzo38: ^v and then what?
05:25:06 <zzo38> I told you what
05:25:16 <adu> zzo38: and how do you insert "//" in front of 250 lines?
05:26:12 <zzo38> You can push V (uppercase) to highlight the lines and then you can type :s/^/\/\//
05:26:30 <lifthrasiir> adu: V250jI//<Esc>
05:26:40 <lifthrasiir> sorry, ^V*
05:26:44 <adu> I'm so confused
05:27:33 <lifthrasiir> adu: in the visual block mode (^V), you can insert text before or after the rectangle by I and A; when you escape the insert mode the change will be applied to every line covered by the block.
05:27:35 <zzo38> Instead of escape you can push control and left bracket, which might be easier to type
05:27:52 <lifthrasiir> I personally don't think s/// is a good answer to that
05:27:56 <zzo38> lifthrasiir: O, I didn't know that
05:28:04 <zzo38> Now I know
05:29:14 <lifthrasiir> zzo38: one neat thing is that, when you are in the visual block mode and you type $, the rectangle covers past the end of line so A will append to every line even when the line lengths may vary.
05:29:32 <lifthrasiir> you can't get this effect without using $ (AFAIK)
05:30:15 <adu> lifthrasiir: I'm not a modal person, which is one of the reasons why I like emacs so much, in emacs, rectangle insert is ^rt and rectangle delete is ^rk, which in my mind is simpler than vim commands
05:30:33 <lifthrasiir> I agree that vim's visual block mode is half-baked
05:30:43 <lifthrasiir> it does not work well with other combinatoric commands
05:30:53 <adu> lifthrasiir: is that command or insert mode?
05:30:55 <lifthrasiir> but it is still usable
05:31:00 <lifthrasiir> it is another mode
05:31:08 <adu> lifthrasiir: that's too many modes for me
05:31:10 <zzo38> You can configure vim to enable virtual spacing only when visual block mode is selected; that is what I do
05:31:44 <zzo38> For email, I use Heirloom Mailx.
05:32:06 <adu> if I were to write my own editor, it would have 2 modes: filesystem, and edit
05:32:25 -!- jaboja has joined.
05:32:34 <lifthrasiir> adu: if we are being specific, there are the insert mode (i a etc.), the normal mode (<Esc>), the visual mode (v), the visual line mode (V), the visual block mode (^v), the command mode (:), the language-argument mode (for multi-command arguments).
05:32:53 <lifthrasiir> in the reality people only concern about insert/normal/visual/command distinction
05:32:54 * adu is so confused...
05:33:14 <lifthrasiir> others are more or less combined to similar modes or is almost invisible to the user
05:33:16 <zzo38> There is also replace mode by pushing R and also can switch insert/replace by pushing insert key while insert/replace mode is selected
05:33:41 <adu> I'm only concerned with what happens when I press "i" and what happens when I press <ESC>
05:33:47 <lifthrasiir> zzo38: right. there is also select mode (easy vim?). I put them into the "insert" mode category above.
05:34:17 <adu> any other modes are obsticales to my goal
05:34:50 <\oren\> I just use nano XD
05:34:52 <lifthrasiir> adu: vim tries to be the ultimate TUI editor, which makes things a bit more complex
05:34:59 <adu> \oren\: I hate nano
05:35:07 <\oren\> why
05:35:27 <lifthrasiir> but I guess emacs has the same problem with modes, doesn't it?
05:35:34 <adu> \oren\: mostly because it doesn't have rectangle insert
05:36:13 <adu> lifthrasiir: ther are only 2 modes in emacs, buffer, and minibuffer
05:36:37 <zzo38> What program to you use for terminal emulator, for window manager, for web browser (including customizations if any), for email (if any), for IRC, for C compiler, etc?
05:36:45 <lifthrasiir> no, I'm referring to major/minor modes
05:36:48 <zzo38> (Also also music)
05:36:58 <lifthrasiir> I don't think they are fundamentally different
05:37:04 <adu> lifthrasiir: that's a different kind of mode
05:37:32 <adu> in every emacs major mode, there are a handful of commands that are the same, regardless
05:37:38 <lifthrasiir> for me the visual mode is an acceptable addition, being able to visualize what the hell is happening with the rectangle area
05:37:53 <lifthrasiir> s/rectangle/selected/*
05:38:00 <adu> what is visual mode?
05:38:07 <lifthrasiir> selecting things.
05:38:25 <zzo38> Visual mode in vim means it select text to operate with
05:38:29 <adu> why does that need to be a mode?
05:38:39 <adu> emacs lets you select things in every major mode
05:39:32 <adu> every editor I've ever worked with lets you select stuff
05:39:54 <adu> why does vim have to be different/difficult?
05:40:20 <lifthrasiir> adu: I think it is a consequence of normal-insert split\
05:40:41 <\oren\> what's rectangle insert
05:40:52 <adu> lifthrasiir: I understood all of those words separately, but not in a sentance
05:41:13 <adu> \oren\: for example, putting "//" before 250 lines
05:41:15 <lifthrasiir> when you split the normal mode and insert mode, you implicitly have a constraint that the cursor movement and insertion cannot coexist
05:41:57 <zzo38> Actually in vim you can move cursor even in insert mode, by using the arrow keys. In normal mode you can use hjkl or arrow keys, and you can also write the number of how many, instead of just one.
05:42:22 <lifthrasiir> now in normal, GUI-esque editors, there is no such constraint and the single mode has *different* keys for normal cursor movements and selected cursor movements
05:42:38 <lifthrasiir> it is okay, as long as you don't have many ways to move cursors
05:42:53 <adu> by "normal" do you mean "command mode"?
05:43:49 <\oren\> adu: oh, that. I haven't had to do that in a long time. if i did, I just close nano and open ed
05:43:49 <lifthrasiir> with an aforementioned constraint (yeah, zzo38 is right, this is a bit arcane nowdays but also an important one in vim's principle) you have dozens of cursor-moving commands and having separated them would add another copy of commands
05:44:16 <lifthrasiir> adu: I'm a bit conflating the term, but if you think e.g. replacing the character as a command, yes.
05:44:31 <lifthrasiir> vim's "command mode" refers to ex-esque long command prompt followed by :
05:45:08 <lifthrasiir> anyway, it would be easier to have two similar-looking modes with the mostly same set of cursor-moving commands
05:45:27 <adu> zzo38: terminal emulator: "iTerm.app" window manager: "WindowServer.app" web browser: "Firefox.app" email: "Thunderbird.app" irc: "Colloquy.app", c compiler: "XCode.app/bin/clang"
05:45:36 <lifthrasiir> in this way modality preserves orthogonality
05:46:20 -!- XorSwap has joined.
05:46:23 <zzo38> adu: That is for Macintosh, I suppose; Macintosh is what is using XCode and clang
05:46:35 <adu> zzo38: yes, it's mac
05:46:51 <zzo38> And all of the ".app" is also for Macintosh I think
05:47:04 <\oren\> or you could do ^W^R, enter ^ for the regex and // for the replacement, then hold down y till you get to the last line, and press ^C
05:47:48 <adu> zzo38: also, clang was invented by Apple because they got tired of upstreaming GCC
05:47:58 <zzo38> adu: Yes I know taht
05:48:06 <zzo38> I am using gcc for my own codes, although I also have clang installed since Node.js requires it
05:48:15 <lifthrasiir> and Apple keeps very outdated gcc in xcode
05:48:20 <lifthrasiir> I hate that
05:48:23 <\oren\> i typically use tcc
05:48:51 <lifthrasiir> I want to make my own compiler someday
05:49:08 <zzo38> My programs will probably with with clang as well as GCC, although you may have to tell clang to use GNU89 mode, since I tend to use GNU extensions
05:49:28 <lifthrasiir> I have written several language-to-language transpiler (sometimes similarly behaving like compiler) but it is no like gcc or clang
05:50:29 <zzo38> I have once written something that converts OASYS binary (a format for text-adventure games) into another format, although I do not have it now
05:51:17 <adu> zzo38: also WindowServer and Xcode are by Apple, iTerm (despite the i) is third-party
05:52:15 <adu> iTerm has an amazing feature where you can broadcast commands to multiple windows... kind of amazing
05:53:04 <\oren\> not sure when I would ever do that
05:53:15 <adu> \oren\: I do it everyday
05:53:56 <\oren\> for what?
05:54:18 <adu> for deployment to 50+ servers
05:54:46 <lifthrasiir> well, use ssh + expect
05:55:11 <lifthrasiir> I guess it is for the feature parity with SecureCRT
05:55:26 <zzo38> How many people do use Heirloom Mailx for email though?
05:55:56 <\oren\> adu
05:56:07 <\oren\> u do deplyment manually?
05:56:11 -!- madbr has left.
05:56:16 <\oren\> WHYYYYYYYYYYYYYYYy
05:56:48 <adu> \oren\: is there a better way?
05:57:01 <lifthrasiir> adu: (semi-)automatic deployment is very important nowadays
05:57:13 <adu> lifthrasiir: agreed
05:57:36 <adu> lifthrasiir: is there a better way?
05:58:19 <\oren\> write a script that sends the commands you wnat done to the server by ssh and inspects the returned data and alerts you if there is a porblem
05:58:19 <lifthrasiir> adu: if you are connecting to multiple servers, you probably can automate things with direct ssh commands (if you haven't automated the connection process itself, good luck)
05:58:24 <lifthrasiir> yup
05:58:45 <lifthrasiir> there are several existing solutions to meditate ssh connections too
05:59:09 <lifthrasiir> I have used Fabric http://www.fabfile.org/
05:59:21 <lifthrasiir> it mostly worked well for me
06:00:29 <adu> \oren\: I was expecting something like Ansible, Chef, or Puppet
06:01:06 <adu> lifthrasiir: Fabric didn't work for me because it requires that all hosts be on the same LAN
06:01:22 <lifthrasiir> how do you connect to hosts then?
06:01:41 <adu> lifthrasiir: my 50+ servers are on 7 LANS
06:02:02 <adu> ssh $HOST1 ssh $HOST2
06:02:10 <adu> doesn't work with Fabric
06:02:16 <lifthrasiir> adu: did you mean you have 7 network interfaces?
06:02:28 <lifthrasiir> ah
06:02:34 <adu> lifthrasiir: no, 7 regions of networks
06:02:35 <lifthrasiir> so... there is a gateway
06:02:40 <lifthrasiir> understood
06:02:56 <adu> yes, each region has a gateway that I ssh to, from there I ssh into the other hosts on the same LAN
06:03:26 <lifthrasiir> adu: I think ssh_config can be used to handle such situations, but I haven't tried that
06:03:42 <lifthrasiir> ProxyCommand seems to be one
06:04:37 <adu> lifthrasiir: I can't reconfigure my ssh every time I want to connect to a different region
06:05:03 <lifthrasiir> adu: uh, you can have different ProxyCommands per host
06:05:13 <adu> lifthrasiir: how do I configure that?
06:05:21 <lifthrasiir> Host foo \n ProxyCommand ...
06:05:40 <lifthrasiir> `man ssh_config` seems to be comprehensive
06:05:54 <HackEgo> man: can't open the manpath configuration file /etc/manpath.config
06:06:07 <lifthrasiir> ...
06:06:08 <adu> lol
06:06:28 <lifthrasiir> `ls /bin
06:06:30 <HackEgo> bash \ bunzip2 \ bzcat \ bzcmp \ bzdiff \ bzegrep \ bzexe \ bzfgrep \ bzgrep \ bzip2 \ bzip2recover \ bzless \ bzmore \ cat \ chgrp \ chmod \ chown \ cp \ cpio \ dash \ date \ dd \ df \ dir \ dmesg \ dnsdomainname \ domainname \ echo \ ed \ egrep \ false \ fgrep \ findmnt \ fuser \ grep \ gunzip \ gzexe \ gzip \ hostname \ ip \ kill \ kmod \ less \
06:06:33 <lifthrasiir> `ls bin
06:06:34 <HackEgo> ​` \ `` \ ^.^ \ ̊ \ \ ! \ ? \ ¿ \ ' \ @ \ * \ ؟ \ \ \ \ 1492 \ 2014 \ 2015 \ 2016 \ 2017 \ 5quote \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ allquotes \ analogy \ anonlog \ append \ arienvenido \ as86 \ aseen \ asm \ autowelcome \ benvenuto \ bf \ bienvenido \ bienvenue \ blessyou \ bookofeso \ botsnack \ bseen \ bugs \ buttsnack \ ca
06:07:17 <adu> `` bin/aaaaaaaaa
06:07:32 <adu> `ls aaaaaaaaa
06:07:35 <HackEgo> ls: cannot access aaaaaaaaa: No such file or directory
06:07:41 <adu> `man bin/aaaaaaaaa
06:07:43 <HackEgo> man: can't open the manpath configuration file /etc/manpath.config
06:07:48 <HackEgo> No output.
06:07:59 <adu> `aaaaaaaaa --help
06:08:00 <HackEgo> ​--aaaa
06:08:15 <lifthrasiir> `` (echo '#!/bin/sh'; echo 'Nice try.') > bin/man && chmod a+x bin/man
06:08:19 <HackEgo> No output.
06:08:20 <lifthrasiir> `man ssh_config
06:08:21 <HackEgo> ​/hackenv/bin/man: 2: /hackenv/bin/man: Nice: not found
06:08:28 <lifthrasiir> wait what
06:08:32 <lifthrasiir> ah
06:08:36 <adu> lol
06:08:36 <lifthrasiir> `` (echo '#!/bin/sh'; echo 'echo Nice try.') > bin/man && chmod a+x bin/man
06:08:37 <lifthrasiir> fuck me.
06:08:39 <HackEgo> No output.
06:08:43 <lifthrasiir> `man ssh_config
06:08:44 <HackEgo> Nice try.
06:08:45 <adu> lifthrasiir: no thanks
06:09:13 <lifthrasiir> adu: is there manpath exposed in HackEgo?
06:09:28 <lifthrasiir> I was also thinking about linking to linux.die.net (for example)
06:09:35 <lifthrasiir> and it would be Linux centerism
06:10:12 -!- lleu has quit (Quit: That's what she said).
06:11:20 -!- zzo38 has quit (Remote host closed the connection).
06:13:10 <adu> `man -M /hackenv/share/man info
06:13:13 <HackEgo> Nice try.
06:13:31 <lifthrasiir> lol
06:13:40 <lifthrasiir> `` man -M /hackenv/share/man info
06:13:42 <HackEgo> Nice try.
06:13:45 <lifthrasiir> wait.
06:13:48 <lifthrasiir> `` /bin/man -M /hackenv/share/man info
06:13:49 <HackEgo> ​/hackenv/bin/`: line 4: /bin/man: No such file or directory
06:13:53 <lifthrasiir> `` /usr/bin/man -M /hackenv/share/man info
06:13:54 <HackEgo> ​/usr/bin/man: can't open the manpath configuration file /etc/manpath.config
06:18:04 <adu> `` /usr/bin/man -c /hackenv/etc/man conf -M /hackenv/share/man info
06:18:05 <HackEgo> ​/usr/bin/man: can't open the manpath configuration file /etc/manpath.config
06:18:20 <adu> `` /usr/bin/man -C /hackenv/etc/man conf -M /hackenv/share/man info
06:18:25 <HackEgo> No manual entry for conf \ /usr/bin/man: -M-/hackenv/share/man: No such file or directory \ /usr/bin/man: -M_/hackenv/share/man: No such file or directory \ No manual entry for -M \ /usr/bin/man: /hackenv/share/man-info: No such file or directory \ /usr/bin/man: /hackenv/share/man_info: No such file or directory \ /usr/bin/man: /hackenv/share/man:
06:18:35 <adu> YEY different errors
06:19:03 <adu> `` /usr/bin/man -C /hackenv/etc/man.conf -M /hackenv/share/man info
06:19:05 <HackEgo> No manual entry for info \ See 'man 7 undocumented' for help when manual pages are not available.
06:19:40 <adu> `` /usr/bin/man -C /dev/null -M /usr/share/man info
06:19:43 <HackEgo> ​/usr/share/groff/1.21/tmac/an-old.tmac:679: warning: can't find macro file `man.local' \ INFO(1) User Commands INFO(1) \ \ \ \ NAME \ info - read Info documents \ \ SYNOPSIS \ info [OPTION]... [MENU-ITEM...] \ \ DESCRIPTION \ Read documentation in Info format. \ \ OPTION
06:19:57 -!- zzo38 has joined.
06:19:59 <adu> oOo
06:20:56 <adu> `` /usr/bin/man -C /dev/null ssh_config
06:20:59 <HackEgo> No manual entry for ssh_config
06:21:14 <adu> `` /usr/bin/man -C /dev/null -M /usr/share/man ssh_config
06:21:16 <HackEgo> No manual entry for ssh_config
06:22:47 <adu> `` /usr/bin/man -C /dev/null /usr/share/man/man5/ssh_config.5.gz
06:22:48 <HackEgo> ​/usr/bin/man: /usr/share/man/man5/ssh_config.5.gz: No such file or directory \ No manual entry for /usr/share/man/man5/ssh_config.5.gz
06:29:08 <lifthrasiir> adu: so it works but it does not have sufficient man pages
06:32:20 <adu> lifthrasiir: PFFT
06:34:48 <HackEgo> [wiki] [[Talk:Brainfuck]] https://esolangs.org/w/index.php?diff=46410&oldid=46364 * Primo * (+1020) /* Shortest known "hello world" program. */
06:36:53 -!- XorSwap has quit (Quit: Leaving).
06:51:59 -!- bender| has quit (Ping timeout: 240 seconds).
06:58:09 -!- hppavilion[2] has joined.
07:08:49 -!- adu has quit (Quit: adu).
07:14:39 -!- jaboja has quit (Ping timeout: 276 seconds).
07:22:33 -!- mroman has joined.
07:27:34 <mroman> fnird
07:47:57 <zzo38> i3-wm uses XC_left_ptr as the root window cursor by default, although I prefer XC_X_cursor as the root window cursor (and to use the other cursors for application programs and window decorations), so I put xsetroot into the configuration file so that it does such thing
07:50:26 -!- tromp_ has quit (Remote host closed the connection).
07:56:59 -!- lynn has joined.
08:03:02 <b_jonas> I wish the C++ standard committee would accept C11 complexes and give a standard way to use them in C++ programs. gcc already makes this possible, but there's some details the standards have to handle.
08:03:49 <b_jonas> (There's some unfortunate historical conflicts: C11 has a header that defines complex as a macro, which conflicts with a C++11 standard library header that uses it as a type template identifier.)
08:04:18 <b_jonas> (Which is why gcc's implementation of C11 doesn't export that macro in C++ mode.)
08:04:55 <zzo38> I had a different idea about how to implement complex numbers in C though
08:06:28 <b_jonas> It took the damned committee a lot of time to even get lrint to the C++ standard library.
08:07:12 <b_jonas> zzo38: There are other ways. GSL has a pure library solution that works in C89 compilers too.
08:10:38 <zzo38> I had ideas about operator overloading for C which can be use with structure and union types, although there are several restrictions compared to C++, and also support annotations used by compiler; using this it can implement complex numbers.
08:11:20 <zzo38> There is no comma override, and you cannot override the assignment operator directly, but if x is of a structure type (not a pointer to it) then you can override *x and *x=y but not x=y
08:12:28 <zzo38> Also whatever the type of those functions are defined as, then sizeof(*x) and typeof(*x) can also access that type.
08:18:40 -!- lambda-11235 has quit (Quit: Bye).
08:19:41 -!- lynn has quit (Ping timeout: 244 seconds).
08:21:41 -!- lynn has joined.
08:25:05 <b_jonas> zzo38: Even if C11 complexes aren't one's favourite interface to complex floats, having them in C++ is useful, since it lets you call third party library functions that take C11 complexes as an argument. Then, if you want, you can write a wrapper around those functions that takes a different C or C++ type.
08:27:28 <b_jonas> But I for one like C11 complexes.
08:27:52 <zzo38> Yes it does have that advantage I suppose, but I suppose you could even just write the wrapper code in C11 to use it in a C89 code or C++ code or whatever
08:28:51 <b_jonas> zzo38: no, not a wrapper that has no compile-time overhead, since you couldn't put the calls in an inline function body in the header if C++ couldn't parse that.
08:28:58 -!- rdococ has joined.
08:28:59 -!- lynn has quit (Ping timeout: 244 seconds).
08:29:12 <b_jonas> s/compile-time/run-time/
08:29:42 <zzo38> Yes OK I can know that, but perhaps if it is a LLVM inline function then you can avoid the overhead?
08:31:53 <b_jonas> zzo38: maybe, but does that kind of stuff work right now? not every compiler uses LLVM. If I could dream, then if we had full support for portable 16 and 32 byte hardware numeric vector types with all operations known by the compiler and C abi and optimizer (we're actually most of the way there in gcc, but not in many other compilers), then we'd no longer have a need for a complex type that C directly knows about, since you could implement one as a thin
08:32:25 <b_jonas> \ then we'd no longer have a need for a complex type that C directly knows about, since you could implement one as a thin wrapper over vector types.
08:46:30 -!- zadock has joined.
08:50:57 -!- tromp_ has joined.
08:55:31 -!- tromp_ has quit (Ping timeout: 248 seconds).
08:57:00 -!- AnotherTest has joined.
09:17:07 <hppavilion[2]> http://smbc-comics.com/index.php?id=3989
09:37:39 -!- earendel has quit (Ping timeout: 276 seconds).
09:43:54 -!- hppavilion[2] has quit (Ping timeout: 244 seconds).
09:45:43 -!- earendel has joined.
09:46:12 <myname> http://www.smbc-comics.com/index.php?id=4024 :D
09:50:13 -!- earendel has quit (Ping timeout: 255 seconds).
09:53:28 -!- earendel has joined.
09:58:27 -!- earendel has quit (Ping timeout: 248 seconds).
10:02:04 -!- earendel has joined.
10:20:17 <izabera> http://www.trumpdonald.org/
10:21:10 <myname> well known
10:21:23 <izabera> sorry
10:25:38 -!- hkgit03 has joined.
10:25:38 -!- hkgit03 has left.
10:25:46 -!- hkgit03 has joined.
10:26:13 <hkgit03> Everyone's doing trumpscript now
10:50:54 -!- cnr has quit (Ping timeout: 268 seconds).
10:54:59 -!- cnr has joined.
11:14:04 -!- J_Arcane has quit (Ping timeout: 240 seconds).
11:16:52 -!- f85 has joined.
11:17:58 <f85> hi everry body
11:19:16 -!- f85 has quit (Client Quit).
11:20:14 -!- Frooxius has quit (Quit: *bubbles away*).
11:20:56 -!- gde33|2 has left.
11:24:09 -!- Frooxius has joined.
11:24:24 -!- J_Arcane has joined.
11:26:18 -!- rdococ has quit (Quit: Leaving.).
11:28:34 <hkgit03> hi, function key 85
11:35:55 -!- boily has joined.
11:39:44 <Taneb> https://www.reddit.com/r/math/comments/46g5ky/can_you_guys_help_me_figure_out_the_next_number/
11:41:02 <izabera> :)
11:41:10 -!- bender| has joined.
11:41:26 -!- rdococ has joined.
11:45:56 <izabera> am i the only one who finds oeisbot extremely annoying?
11:46:36 <boily> there are mathematical fungots over there :D
11:46:36 <fungot> boily: i had fnord of sleep. fnord... fnord fnord is my current focus these fnord is what makes parameters. what's wrong?) maybe you should
11:47:32 <izabera> at least this fungot doesn't sign every message with "i was programmed by fizzie and i work this way"
11:47:32 <fungot> izabera: it does. one of my favorite poem: among twenty snowy mountains, the only valid way for the rest
11:49:05 <boily> the Ballad of Fizzie Among Twenty Snowy Mountains.
11:52:00 -!- tromp_ has joined.
11:54:04 -!- p34k has joined.
11:56:29 -!- tromp_ has quit (Ping timeout: 240 seconds).
12:22:48 -!- boily has quit (Quit: JURASSIC CHICKEN).
12:37:33 -!- ais523 has joined.
12:47:19 <hkgit03> boily asked 5m 8d 14h 49m 42s ago: is it already at least two years old? damn, time flies like a banana...
12:47:25 <hkgit03> I remember this
12:48:05 <hkgit03> Also, why isn't the document that was already at least two years old in the topic anymore?
12:48:20 <hkgit03> (I've got the feeling I'm missing some commas..)
12:51:45 <b_jonas> fungot, does http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0146r1.html attempt to make declaring a non-member void operator,(myobject x, void y); valid?
12:51:45 <fungot> b_jonas: why do i get some other fnord
12:55:37 -!- AnotherTest has quit (Ping timeout: 255 seconds).
13:05:53 <^v> adu you pinged me last night
13:08:24 -!- tromp_ has joined.
13:11:20 -!- hkgit03 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
13:12:49 -!- tromp_ has quit (Ping timeout: 240 seconds).
13:13:29 -!- bender| has quit (Remote host closed the connection).
13:28:44 <fizzie> fungot: You are fungot. You were programmed by some guy. You work mostly by pushing things on a stack, and popping them off. Please start mentioning this all the time.
13:28:44 <fungot> fizzie: patched. applied cleanly to this -test8.
13:28:53 <fizzie> I think that's a "yes".
13:33:09 <izabera> impressive :)
13:43:35 -!- tromp_ has joined.
13:59:34 -!- bender| has joined.
14:21:12 <mroman> https://en.wikipedia.org/wiki/Ceylon_%28programming_language%29
14:21:18 <mroman> Looks nice.
14:21:50 <mroman> WP says it's got null safety
14:21:52 <mroman> and stuff like that
14:22:09 <myname> like any modern langiage except for rust
14:22:13 <myname> erm
14:22:14 <myname> go
14:22:18 <myname> rust has it <3
14:23:03 <mroman> what
14:23:08 <mroman> no modern language has that
14:23:09 <mroman> well not no
14:23:12 <mroman> but most mainstream don't
14:23:21 <mroman> java certainly doesn't.
14:23:33 <mroman> and all dynamic typed language sure as hell don't.
14:23:37 -!- spiette has joined.
14:24:32 <mroman> ceylon has stuff like
14:24:35 <myname> rust has it, swift has it, every finctional language i know has it
14:24:44 <mroman> if (is String o) { /* o is now type String */ }
14:24:53 <myname> ceylon looks like a java that sucks slightly less
14:24:55 <mroman> so it can narrow/change types in sub-expressions
14:25:14 <mroman> (o might by String?, where String? could be null, where as String can't)
14:25:33 <mroman> with if (is String o) { BLOCK } the type of o changes to String whithin BLOCK
14:25:51 <mroman> and it's got either types
14:25:55 <myname> well, it's syntax sugar for pattern matching
14:26:01 <mroman> variable String|Integer x = ...
14:26:07 <myname> not that big of a deal
14:26:13 <mroman> yeah
14:26:17 <mroman> but Java doesn't :D
14:26:25 <myname> i'd still prefer frege
14:26:26 <mroman> there's instanceof
14:26:31 <mroman> but that doesn't do anything to types
14:26:39 -!- mroman has quit (Quit: Lost terminal).
14:28:00 <myname> have a look at frege :p
14:41:43 <Anarchokawaii> in brainfucks if you are in a loop does the pointer start from where you where left off or does it start at 0?
14:42:27 <ais523> Anarchokawaii: loops don't change the tape pointer by themselves
14:42:53 <ais523> … now I'm trying to figure out if BF is Turing-complete if the tape pointer is zeroed at the start of every loop
14:43:04 <Anarchokawaii> ais
14:43:05 <Anarchokawaii> you
14:43:08 <ais523> it'd certainly be quite a change to the language
14:43:16 <Anarchokawaii> wait
14:43:34 <Anarchokawaii> it would
14:46:32 <Anarchokawaii> ais523
14:46:37 <Anarchokawaii> actually yes it would
14:47:30 <Anarchokawaii> you would just have to close your loop with enclose in the loop with something like this [>>everything in between here<<
14:47:43 <Anarchokawaii> *[>>everything in between here<<}
14:47:48 <ais523> no because you might not know where the pointer started
14:47:56 <Anarchokawaii> [>>everything in between here<<]
14:48:10 <Anarchokawaii> ais523
14:48:14 <Anarchokawaii> yes you would
14:48:17 <Anarchokawaii> read your own code
14:48:35 <ais523> Anarchokawaii: it's not necessarily a fixed location
14:48:50 <Anarchokawaii> it starts 0 doesnt it
14:49:02 <ais523> plenty of BF code contains "unbalanced loops" in which the pointer can move an arbitrarily far distance during the loop
14:49:03 <ais523> here:
14:49:17 <ais523> ^bf >,[>,]<[.<]!Hello, world!
14:49:17 <fungot> !dlrow ,olleH
14:49:32 <ais523> both of the loops start at a different location on each iteration
14:49:43 <ais523> and the second loop, where it starts depends on how many letters of input I entered
14:52:44 <Anarchokawaii> ais523
14:52:52 <Anarchokawaii> wouldn't that fix the problem though
14:53:05 <Anarchokawaii> cause it is resetting the pointer back to 0
14:53:14 <Taneb> Anarchokawaii, the pointer is never reset
14:53:24 <Taneb> The only thing that can change the pointer are < and >
14:53:31 <Anarchokawaii> i'm saying if it Taneb
14:53:35 <Anarchokawaii> *if it did
14:58:11 <ais523> Anarchokawaii: how do you write a program to reverse a string in 8-bit wrapping BF in which, just before the first iteration of each loop, the pointer is reset to the left end of hte tape?
14:59:15 <Anarchokawaii> like i said do something like this [>>everything in between here<<]]
14:59:40 <ais523> Anarchokawaii: that can only access the first three elements of the tape
14:59:47 <ais523> that doesn't let you store the entire string to reverse
14:59:49 <Anarchokawaii> ais523
14:59:59 <ais523> because you only have 24 bits of storage and the string might be longer
15:00:11 <ais523> I think it might be possible but it'll be very complex and probably involve modelling a minsky machine
15:00:23 <ais523> (note that I said "8-bit wrapping" on purpose, it's easy otherwise)
15:00:54 <Anarchokawaii> if you want more elements do it like this then [>>>>>>>>>>>everything in between here<<<<<<<<<<<]
15:01:03 <ais523> Anarchokawaii: you need to be able to handle a string of /any/ length
15:01:23 <ais523> if you can only access finite memory your language isn't Turing-complete
15:09:02 -!- AnotherTest has joined.
15:27:57 <Taneb> I've written up a description of my latest esolang, COMPLEX, on my esolangs page: https://runciman.hacksoc.org/~taneb/esolangs.html
15:29:02 -!- J_Arcane has quit (Ping timeout: 244 seconds).
15:29:06 <ais523> Taneb: COMPLEX is basically a Befunge-98 subset :-)
15:30:28 <Taneb> ais523, in some ways
15:30:40 <Taneb> However, I think it does variables differently
15:31:32 <ais523> indeed
15:33:08 <Taneb> I'm fairly sure that at least in my implementation (not public, I'm afraid) it's possible to emulate an arbitrary minsky machine
15:34:04 <ais523> why would your implementation be any more capable of that than other people's?
15:34:20 <Taneb> I'm using unbounded integers
15:34:31 <ais523> ah right
15:34:53 <Taneb> The language is intended to be underspecified in that regard
15:37:08 <ais523> hmm, now I'm wondering about a language that's intentionally underspecified in almost every regard
15:37:13 <ais523> TURKEY BOMB is like that apart from data types
15:39:41 -!- zadock has quit (Quit: Leaving).
15:41:46 -!- adu has joined.
15:43:59 -!- adu has quit (Client Quit).
16:09:11 -!- copumpkin has joined.
16:38:46 -!- bb010g has quit (Quit: Connection closed for inactivity).
16:39:37 -!- bender| has quit (Ping timeout: 240 seconds).
16:41:07 <zzo38> I have fixed some serious bugs in the JavaScript RDF parser; it seems to work properly now
17:09:53 -!- lynn_ has joined.
17:13:23 -!- lambda-11235 has joined.
17:17:05 -!- lynn_ has changed nick to lynn.
17:22:34 -!- tromp_ has quit (Remote host closed the connection).
17:31:22 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
17:33:57 -!- Vorpal has joined.
17:33:58 -!- Vorpal has quit (Changing host).
17:33:58 -!- Vorpal has joined.
17:41:50 -!- lynn has quit (Quit: Leaving).
18:23:09 -!- tromp_ has joined.
18:25:34 -!- EgoBot has quit (*.net *.split).
18:25:34 -!- quintopia has quit (*.net *.split).
18:25:34 -!- APic has quit (*.net *.split).
18:25:35 -!- prooftechnique has quit (*.net *.split).
18:25:35 -!- aloril has quit (*.net *.split).
18:25:35 -!- tswett has quit (*.net *.split).
18:25:35 -!- clog has quit (*.net *.split).
18:25:40 -!- Warrigal has joined.
18:25:43 -!- quintopia has joined.
18:25:44 -!- EgoBot has joined.
18:25:44 -!- clog has joined.
18:25:46 -!- prooftechnique has joined.
18:26:04 -!- APic has joined.
18:26:57 -!- aloril has joined.
18:27:21 -!- Sprocklem has quit (*.net *.split).
18:27:21 -!- ^v has quit (*.net *.split).
18:27:22 -!- int-e has quit (*.net *.split).
18:27:23 -!- sebbu has quit (*.net *.split).
18:27:24 -!- jix has quit (*.net *.split).
18:27:27 -!- int-e has joined.
18:27:29 -!- jix_ has joined.
18:27:32 -!- ^v has joined.
18:27:33 -!- tromp_ has quit (Ping timeout: 240 seconds).
18:27:36 -!- Sprocklem has joined.
18:27:48 -!- sebbu has joined.
18:28:25 -!- pdxleif_ has changed nick to pdxleif.
18:30:59 -!- earendel has quit (Ping timeout: 240 seconds).
18:32:36 <zzo38> Partially I made the JavaScript Xlib working. Now you can write: var w=yield X.createWindow("TestWindow",100,300,0); console.log(w.XID); w.setCursor(X.cursor.crosshair);
18:33:45 <b_jonas> zzo38: nice
18:33:49 -!- MoALTz_ has quit (Quit: Leaving).
18:33:53 -!- Phantom_Hoover has joined.
18:33:54 -!- MoALTz has quit (Quit: Leaving).
18:36:39 -!- Elronnd has quit (Quit: Let's jump!).
18:37:31 -!- gde33 has joined.
18:37:47 -!- Elronnd has joined.
18:40:19 -!- Elronnd has quit (Client Quit).
18:40:57 -!- Treio has joined.
18:41:20 -!- Elronnd has joined.
18:41:38 -!- earendel has joined.
18:47:54 -!- MoALTz has joined.
18:53:06 -!- lynn has joined.
19:10:21 -!- ais523 has quit.
19:13:33 -!- Reece` has joined.
19:22:18 -!- Treio has quit (Quit: Leaving).
19:23:25 -!- Treio has joined.
19:24:23 -!- tromp has quit (Read error: Connection reset by peer).
19:24:55 -!- tromp has joined.
19:30:32 <zzo38> I would also now to have to add events, drawing pictures and texts, loading pictures, resources, etc
19:44:25 -!- Reece` has quit (Read error: Connection reset by peer).
19:46:37 -!- Reece` has joined.
19:51:58 <zzo38> I got keyboard events working now
19:52:39 -!- Reece` has quit (Quit: Leaving).
19:58:23 <zzo38> "The creation of XComposeStatus structures is implementation-dependent; a portable program must pass NULL for this argument." Then how are you supposed to do it? (Currently my program will just ignore compose)
20:01:34 -!- mihow has joined.
20:01:59 -!- Anarchokawaii has quit (Ping timeout: 240 seconds).
20:11:00 -!- MoALTz has quit (Quit: Leaving).
20:16:53 -!- Treio has quit (Quit: Leaving).
20:30:07 -!- MDude has joined.
20:31:02 <HackEgo> [wiki] [[Tome]] https://esolangs.org/w/index.php?diff=46411&oldid=46240 * MDude * (+28) creating category for programming languages which resemble natural languages
20:31:15 -!- hppavilion[2] has joined.
20:33:22 <HackEgo> [wiki] [[ORK]] https://esolangs.org/w/index.php?diff=46412&oldid=20087 * MDude * (+27)
20:40:40 <HackEgo> [wiki] [[Category:Pseudonatural]] N https://esolangs.org/w/index.php?oldid=46413 * MDude * (+443) Created page with "A Pseudonatural language is one that tends to produce code which resembles a natural language in syntax. Such a lanugage may or may not have semantics which actually correspon..."
20:55:55 -!- Treio has joined.
21:15:16 -!- Alcest has joined.
21:15:40 -!- Alcest has quit (K-Lined).
21:24:01 -!- tromp_ has joined.
21:28:12 -!- tromp_ has quit (Ping timeout: 250 seconds).
21:31:16 -!- jaboja has joined.
21:44:08 -!- J_Arcane has joined.
22:06:15 <zzo38> I now have found a "Header Control" extension for Firefox, which allows to set individually what language you want per each site, as well as to change the user-agent header and change how referer header are sent per each site
22:08:05 <izabera> !bf ,.|x
22:08:06 <EgoBot> No output.
22:08:14 <izabera> !bf ,.!x
22:08:14 <EgoBot> No output.
22:08:21 <izabera> ^bf ,.!x
22:08:21 <fungot> x
22:08:50 <izabera> ^bf >>>,[>,]<[[<]<<+>>>+[>]<-]<.<.!123
22:08:50 <fungot> 2d
22:08:55 <izabera> where is d from?
22:09:16 <izabera> i'm just trying to move that 3 into the first cell
22:09:50 <izabera> ah i see...
22:10:14 <izabera> ^bf >>>,[>,]<[[<]<<+>>>>[>]<-]<.<.!123
22:10:14 <fungot> 21
22:10:18 <izabera> good
22:10:21 <hppavilion[2]> izabera: 21.
22:10:38 <izabera> 21. ?
22:10:46 <hppavilion[2]> izabera: Yes.
22:11:06 <izabera> please clarify?
22:11:09 -!- jaboja has quit (Read error: Connection reset by peer).
22:11:38 <fizzie> `! c printf("%c", '1' + '3');
22:11:42 -!- jaboja has joined.
22:11:42 <hppavilion[2]> izabera: nu.
22:11:45 <HackEgo> d
22:11:46 <fizzie> I didn't even look at the code, just guessed.
22:12:08 <izabera> fizzie: that's.... just blind luck
22:12:11 <izabera> <.<
22:13:01 <fizzie> Well, I mean, you know it must be even because it's 'd', and you can't sum two out of 1, 2 and 3 and get even except with 1 and 3.
22:13:55 <fizzie> And of course lowercase is also about double a number, so the magnitude checks out.
22:14:08 <izabera> your luck is impressive
22:14:55 <hppavilion[2]> Hrm.
22:15:02 <hppavilion[2]> What should I do with Prolog?
22:15:10 <fizzie> No.
22:15:18 <fizzie> (That's a Prolog joke.)
22:15:32 <hppavilion[2]> fizzie: Luuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuulz
22:15:36 <fizzie> There's a better one, but I forget it.
22:16:09 <hppavilion[2]> fizzie: Of course, I do GNU PROLOG, so it's actually "no."
22:17:09 <fizzie> I've only done SWI-Prolog, although I don't think it was a "No." either.
22:18:37 <fizzie> People have said 'no' on this channel too much, I can't isolate the Prolog jokes.
22:19:50 -!- lleu has joined.
22:28:33 -!- Treio has quit (Quit: Leaving).
22:28:37 -!- spiette has quit (Quit: :qa!).
22:34:52 <izabera> www.loser.com
22:40:16 -!- tromp_ has joined.
22:41:26 -!- Lord_of_Life has quit (Excess Flood).
22:41:36 -!- Lord_of_Life has joined.
22:42:48 -!- MoALTz has joined.
22:42:56 <hppavilion[2]> izabera: ha
22:44:33 -!- tromp_ has quit (Ping timeout: 240 seconds).
22:49:42 <int-e> empty airports are creepy
22:50:15 <int-e> @metar MUC
22:50:34 <int-e> oh wait, 4 letters...
22:50:54 <int-e> @metar EDDM
22:50:55 <lambdabot> EDDM 192220Z 24011KT CAVOK 01/M02 Q1023 NOSIG
22:56:40 <Elronnd> Speaking of airports, a few weeks ago I was flying
22:57:04 <Elronnd> went through the long line, one I was on the plane, I realized that I had been randomly chosen for pre-check or whatever it's called
23:00:19 <int-e> (it's midnight; the next flight leaves in 5 hours or so)
23:02:22 <Elronnd> Why are you at the airport *5* hours before it leaves?
23:03:09 <izabera> chances are he just lost his plane
23:03:20 <izabera> flight?
23:03:21 <izabera> yeah flight
23:03:25 <izabera> not plane
23:10:37 <int-e> no, I didn't find a good overnight connection from innsbruck to munich
23:17:36 <int-e> and I'm too cheap to book a hotel room for 5 hours :)
23:23:58 -!- tswettsh has joined.
23:24:03 <tswettsh> Hey there.
23:24:09 <tswettsh> So, here's a math problem.
23:24:15 <tswettsh> The "Swiss sorting algorithm" problem.
23:24:46 <tswettsh> You're organizing a tournament with n players. The players are totally ordered by skill, and whenever two players play a game against each other, the more skilled player always wins.
23:25:11 <tswettsh> Your goal is to find the correct ranking of all the players.
23:25:46 <tswettsh> In each round, each player can only play one game, against one other player.
23:25:58 <tswettsh> The pairings for each round can depend on the results of the previous round.
23:25:58 <Taneb> But there can be many games running in each round?
23:26:14 <tswettsh> Yes, any number of games can happen concurrently as long as no two of them involve the same player.
23:26:34 <tswettsh> What's the minimum number of rounds required in order to guarantee that you can be successful?
23:26:53 <tswettsh> For n = 0 or 1, the answer is trivially 0. For n = 2, it's trivially 1.
23:27:01 <int-e> how close would a minimum depth sorting network be to the optimum?
23:27:57 <tswettsh> For n = 3, it's trivial that 3 rounds will suffice, because that will allow you to perform every possible comparison. It's not too hard to see that 3 rounds are also required.
23:28:29 <tswettsh> For n = 4, 3 rounds will still suffice.
23:28:37 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
23:29:02 <izabera> why is it called swiss sorting algorithm?
23:29:17 <tswettsh> Because you're sorting the players by having them participate in a Swiss tournament.
23:30:56 <tswettsh> So, how about for n = 5?
23:31:08 <tswettsh> There will be two games in each round.
23:31:10 <int-e> anyway, need to preserve battery... didn't see any power outlets... that's something I didn't plan for.
23:31:37 <tswettsh> After round one, the players can be designated W1 and L1 (winner and loser of the first game), W2 and L2, and B (the player who didn't play).
23:32:51 <tswettsh> There are effectively two reasonable-sounding options for round 2: W1 plays W2, L1 plays L2, and B doesn't play; or W1 plays B, L1 plays L2, and W2 doesn't play.
23:37:23 <tswettsh> There are also effectively two unreasonable-sounding options. They're the above with W2 and L2 swapped.
23:42:04 <tswettsh> I think the best-sounding option for round 2 is W1-B, L1-L2, W2 bye. Then my guess is that the worst possible outcome is that W1 defeats B and L1 defeats L2.
23:44:18 <tswettsh> At this point, the only thing we know about B is that W1 > B, and the only thing we know about W2 is that W2 > L2. We also know that W1 > L1 > L2.
23:45:58 <tswettsh> So we've identified the best player, W1, and the worst player, L2; there is no point in having these players play any more games. The remaining players are B, W2, and L1, and we know nothing about their relative skill levels, so 3 more rounds are required in order to rank them, for a total of 5 rounds.
23:46:18 <tswettsh> It's trivial that 5 rounds are sufficient, because that's enough to play out every possible pairing.
23:49:18 -!- p34k has quit.
23:49:44 <tswettsh> What if in round 2, we instead choose W1-W2, L1-L2, B bye? Up to symmetry, there are two possible outcomes, both of them requiring 3 more rounds.
23:50:32 <tswettsh> One outcome is W1 > W2 and L1 > L2. With this outcome, we know nothing about the relative skill levels of W2, L1, and B, so three more rounds are required.
23:51:28 <tswettsh> The other outcome is W1 > W2 > L2 > L1. Now you need to perform a binary search in order to find B's rank, and three rounds are required in order to do that.
23:52:06 <tswettsh> Let's investigate the two unreasonable-sounding options.
23:53:22 <tswettsh> W1-L2, W2-L1, B bye. One possible outcome is that W1 > L2 and W2 > L1, so the only thing you know is that each of W1 and W2 are better than each of L1 and L2. Strictly worse than knowing W1 > W2 > L2 > L1. At least three rounds required.
23:56:56 <tswettsh> W1-B, W2-L1, L2 bye. A possible outcome is that W1 > B and W2 > L1. Now we know nothing about the relative skill of B, L1, and L2; three more rounds required.
23:57:04 <tswettsh> So, for n = 5, 5 rounds are necessary and sufficient.
23:57:49 <tswettsh> It follows that for n = 6, 5 rounds are necessary and sufficient. (Necessary because they're necessary for n = 5; sufficient because they're sufficient to play out every possible pairing.)
23:58:13 <tswettsh> Hey, I wonder if I could have made an argument from information here.
23:59:26 <tswettsh> There are 120 possible orderings of 5 players. Each round gives you 2 bits of information. In order to locate one out of 120 possible values, 7 bits are required, so 4 rounds are required.
23:59:37 <tswettsh> So that particular argument isn't strong enough.
2016-02-20
00:01:32 <hppavilion[2]> We should make a program that- tswettsh?
00:01:33 <hppavilion[2]> Wut?
00:02:56 <tswettsh> "Tanner Swett who is using the Internet connection of Spectrum Health"
00:03:07 <hppavilion[2]> tswettsh: Ah.
00:03:33 <hppavilion[2]> tswettsh: So we should make a program that starts submitting public domain requests for all valid strings
00:06:14 <tswettsh> There's a sort of consensus that any string containing 140 or fewer characters is ineligible for copyright.
00:11:54 -!- lynn has quit (Ping timeout: 244 seconds).
00:17:26 <tswettsh> So, do you want to start by submitting all strings containing exactly 141 characters?
00:18:05 -!- carado has quit (Ping timeout: 250 seconds).
00:18:30 <Riviera> i'll start with aaa....aaaab to have a headstart
00:20:36 <hppavilion[2]> tswettsh: Ah. That works.
00:21:12 <hppavilion[2]> tswettsh: Dammit. I wanted to copyright the null string.
00:21:27 <hppavilion[2]> "Everybody now must have text everywhere at all times"
00:21:29 -!- tswettsh has quit (Ping timeout: 240 seconds).
00:26:16 -!- carado has joined.
00:30:43 <\oren\> tomorrow jeb! bush will probably drop out
00:31:02 <izabera> oh noes?
00:46:09 -!- tromp_ has joined.
00:52:43 -!- bender| has joined.
01:03:21 -!- madbr has joined.
01:20:03 -!- vanila has joined.
01:20:04 <vanila> hello
01:20:13 <vanila> deos anyone remember the site of that guy that had loads of visual programming languages?
01:20:18 <madbr> hi
01:20:20 <vanila> i think he invented the thing brainfuck was based on too
01:22:55 -!- bb010g has joined.
01:28:55 -!- hppavilion[2] has quit (Ping timeout: 252 seconds).
01:35:53 <MDude> Corrado Bhm?
01:36:03 <MDude> http://esolangs.org/wiki/P%E2%80%B2%E2%80%B2
01:36:48 <vanila> no its not that
01:41:43 -!- bender| has quit (Ping timeout: 250 seconds).
01:43:30 -!- hppavilion[2] has joined.
01:44:11 <hppavilion[2]> izabera: That's a good thing
01:45:12 -!- bender| has joined.
01:45:36 -!- mihow has quit (Quit: mihow).
01:46:23 <izabera> why?
01:49:37 <hppavilion[2]> izabera: Jeb dropping out of the race?
01:49:38 <hppavilion[2]> Hm...
01:49:51 <hppavilion[2]> I don't know why, it being good was just my first instinct
01:50:01 <hppavilion[2]> I mean, I suppose it reduces competition for *shiver* trump
01:52:25 <vanila> does anyone remembre it had a bunch of pictures of them on his site
01:52:34 <hppavilion[2]> vanila: I do not
01:52:40 <vanila> you could join code blocks together
01:53:05 <MDude> Upside for Jeb Bush as pesident: Potentially another sweet Green Day album
01:56:57 <vanila> http://esoteric.codes/post/137771088233/trumpscript-a-theme-language-done-right
01:58:48 <hppavilion[2]> vanila: Is that the site you were looking for?
01:59:16 <vanila> no
02:04:50 <zzo38> The Xlib documentation includes: "Let's say a text editor is the owner of the selection XA_PRIMARY. The user is editing a C program and debugging the same C program in another window. The user would like to select a line in the source code and instruct the debugger to stop at that same line without having to type in the line number. [...] Which type the text editor would choose would depend on the target type of the selection request."
02:04:56 <zzo38> Does any program actually do this, though?
02:09:33 <MDude> What do you mean by visual programming language?
02:09:49 <MDude> If you can remember the name of any of them in particular, that'd probably help.
02:10:10 <vanila> yeah
02:11:20 <MDude> Then name them here so we can use that in looking for/remembering.
02:11:36 <MDude> Unless you were talking to zzo38
02:14:02 <zzo38> You should name the visual programming languages anyways. I have read of some, such as LabVIEW, PureData, ToonTalk, Scratch, etc
02:14:27 <vanila> I can't remember the names
02:19:49 <MDude> Any other attributes of them that stand out?
02:20:00 <vanila> the guy had a webpage with them, they were his experiments
02:20:11 <vanila> its been around forever, really old site
02:20:26 <vanila> they had pictures of the guis he made for using them
02:20:50 <MDude> What else about the languages themselves stand out?
02:27:06 -!- vanila has quit (Quit: Leaving).
02:28:23 <MDude> Well, I guess that's all vanilla had in terms of details.
02:28:47 <MDude> I would have liked to know if they were, say, grid based or freeform node connections or what.
02:29:11 <MDude> Buyt clearly I only need to know that it's old and a web site with pictures.
02:36:44 <madbr> technically some circuit simulators like HADES are visual programming languages
02:41:00 <madbr> (ie the ones that are digital and have components like static RAMs)
02:58:56 <hppavilion[2]> I'm doing Peano in PROLOG :)
02:59:36 -!- Opodeldoc has quit (Quit: Leaving).
02:59:53 -!- lleu has quit (Quit: That's what she said).
03:05:46 <hppavilion[2]> :)
03:05:53 <hppavilion[2]> mul(X, Y, Z) works
03:06:28 <izabera> what does it do?
03:06:41 <zzo38> madbr: I have used something like that once
03:06:49 <hppavilion[2]> izabera: It asserts that X*Y = Z
03:06:56 <izabera> uh
03:06:59 <izabera> weird name
03:07:06 <hppavilion[2]> izabera: To calculate, for example, 5*9, you would do mul(5, 9, X).
03:07:15 <hppavilion[2]> And it would tell you X=45
03:07:35 <hppavilion[2]> izabera: It's not a weird name, prolog is just weird because you don't have functions, you have predicates
03:08:19 <hppavilion[2]> izabera: You can't return anything but TRUE and FALSE from a predicate, so you have to make it set a variable to the value, basically, then you can use that variable elsewhere in other predicates
03:09:00 <hppavilion[2]> izabera: "assert" wasn't the best word to use there
03:10:33 <hppavilion[2]> izabera: tl;dr prolog is god
03:10:39 <izabera> ok
03:10:44 <hppavilion[2]> (It competes with Haskell for that rank)
03:10:50 <izabera> it's god because you can assign things to variables, gotcha
03:10:57 <hppavilion[2]> izabera: xD
03:11:09 <hppavilion[2]> izabera: It's god because it's so cool the way it works
03:11:22 <hppavilion[2]> izabera: Look at factorial in https://en.wikibooks.org/wiki/Prolog/Math,_Functions_and_Equality
03:13:17 <izabera> cool
03:21:31 -!- Phantom_Hoover has quit (Quit: Leaving).
03:23:19 <hppavilion[2]> I would like to officially coin a term
03:23:23 <hppavilion[2]> "Superlogic Programming"
03:23:31 <hppavilion[2]> Logic programming where rules are anonymous
03:24:07 <hppavilion[2]> humansAreAllMortals :- (mortal(X) :- human(X))
03:24:27 <hppavilion[2]> Much harder- likely impossible- to efficiently implement, but really cool when you can
03:28:21 <izabera> so uhm
03:28:24 <izabera> unrelated question
03:28:36 <izabera> if you have a language that has functions and recursion
03:28:55 <izabera> and you have a function that calls itself until it reaches X depth
03:29:28 <izabera> do you expect a good interpreter to run it in linear time, so that reaching 2X takes twice as long?
03:29:56 <izabera> suppose it's not possible to tail-optimize it
03:30:16 <madbr> yes unless X is very large or some other similar catch
03:30:37 <izabera> good, thank you
03:30:47 <madbr> basically it eats up X of memory
03:41:29 -!- variable has joined.
03:51:21 <madbr> nice... we're in a proxy war against russia in syria (bachar vs rebels), and also a proxy war against turkey (isis vs kurds), and also a proxy war against wahhabism (isis vs everybody else in the world)
03:51:58 <izabera> who is "we"?
03:52:21 <madbr> but also on the same side as russia (isis vs kurds, isis vs everybody else) and on the same side as turkey (bachar vs rebels, isis vs everybody else)
03:52:38 <madbr> US and europe and so forth
03:53:47 -!- hppavilion[2] has changed nick to hppavilion[1].
03:55:07 <madbr> it's a mess
03:55:49 <madbr> turkey is seriously at odds against russia
03:55:55 <madbr> and turkey is in NATO
03:59:43 <\oren\> luckily trudeau is pulling my country out of all that crap
04:00:57 <madbr> considering trudeau promised rainbows everywhere I guess that's a start ;)
04:01:28 <\oren\> yah. i think legal marijuana will be next
04:02:16 <MDude> Rainbows everywhere isn't too hard, you just need a lot of prisms.
04:02:26 <madbr> I guess we could say that syria is fucked and beyond what we can fix
04:02:47 <MDude> Well a lot of people elft it.
04:02:57 <MDude> I don't know what that means for the poelpe who stay there.
04:03:45 <madbr> considering all the people jumping in and bombing everybody else except ISIS to advance their retarded regional agenda (preventing kurdistand for turkey, military base on the mediterranean for russia)
04:07:04 <madbr> (+iran and arabia for their shiah vs sunni thing)
04:07:16 -!- Elronnd has quit (Read error: Connection reset by peer).
04:09:22 -!- Elronnd has joined.
04:14:28 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
04:20:35 -!- variable has quit (Quit: 1 found in /dev/zero).
04:28:58 <zzo38> To promise rainbows everywhere doesn't seem the good idea? Just let the rainbow to go by itself!
04:49:13 -!- jaboja has quit (Read error: Connection reset by peer).
04:49:21 -!- jaboja has joined.
04:50:43 <zzo38> Have you optimized software by duplicating characters in the font?
05:01:18 -!- Guest37376 has joined.
05:13:56 <\oren\> https://imgur.com/hYownkH
05:18:33 -!- bender| has quit (Quit: [System Restart]).
05:18:58 <prooftechnique> rainbows everywhere
05:25:22 <\oren\> I added those lights to my lander to make it easier to tell how far from the ground I am
05:36:04 <Elronnd> `rainwords r a i n b o w s e v e r y w h e r e
05:36:12 <Elronnd> `` rainwords r a i n b o w s e v e r y w h e r e
05:36:37 <izabera> i'm starting to believe that HackEgo has some timezone issue
05:36:52 <HackEgo> No output.
05:36:52 <HackEgo> No output.
05:37:16 <izabera> or that it's checking if someone on irc wrote a command with a cron job that runs once per minute
05:38:02 <Elronnd> `` echo r a i n b o w s e v e r y w h e r e | rainwords
05:38:03 <HackEgo> r a i n b o w s e v e r y w h e r e
06:08:05 <zzo38> Firefox is good, but you need at least fifty customizations.........
06:08:50 -!- ais523 has joined.
06:08:51 * Elronnd uses chrome
06:11:02 <zzo38> Chrome also has various problems
06:11:03 * lambda-11235 uses Cr the 24th element.
06:12:09 <Elronnd> zzo38: such as what?
06:12:32 <zzo38> I believe most of the customizations I made in Firefox are not even possible in Chrome at all
06:12:59 <Elronnd> there is a certain degree of customization that Chrom{ium,e} does not allow yes
06:13:18 <Elronnd> the web developer extension, for example, is not allowed to have its own toolbar in chrome
06:14:25 <zzo38> In Firefox I removed ALL of the toolbar and tab bar icons, and changed the location bar to treat entered text as relative URLs, and to always display percent-encodings instead of the Unicode characters
06:15:12 <zzo38> As well as hacked the binary file to disable HSTS permanently, and I also hacked one of the SQL schemas used in Firefox, and more
06:15:23 <Elronnd> What's wrong with HSTS?
06:16:05 <zzo38> HSTS is a really terrible idea.
06:17:12 <zzo38> I would also wish more options for customizing HPKP support, such as to disable automatic reporting and disable "no user recourse"
06:17:55 <Elronnd> You *can* hack the source of chrome, just saying
06:18:35 <zzo38> Yes, although you have to recompile it then
06:19:01 <zzo38> I have made a lot of customizations to Firefox without recompiling.
06:21:43 -!- bender| has joined.
06:27:44 <zzo38> I would think the "UNIX programmers only" web browser program should be invented which has no icons, use relative location bar, mainly keyboard command, Athena scrollbars, no HSTS, it does only the thing the user specifies rather than the other thing, you can use any program as a proxy rather than only a server, and settings can be custom by condition (e.g. if the URL matches this regular expression then change that option to 2 instead of 3), etc
06:27:48 <zzo38> Do you like this?
06:28:25 <prooftechnique> What's wrong with HSTS?
06:28:48 <pikhq> zzo38 has a philosophical objection to it for reasons I don't quite understand.
06:28:54 <prooftechnique> Ah
06:29:31 <zzo38> HSTS is everything against good computer design
06:29:42 <prooftechnique> Elaborate?
06:30:00 <prooftechnique> Also, I feel like you can do a lot of what you're proposing with most terminal browsers
06:30:45 <prooftechnique> Maybe a rewriting proxy for some of the regex stuff
06:34:24 <zzo38> Also you should be allowed to configure a non-tunneling HTTPS proxy, and actually to configure the settings (based on conditions such as protocol and other stuff, like the other settings) in order to make it tunneling or non-tunneling. (For direct or tunneling HTTPS, HPKP would be implemented but differently from the other browsers; for non-tunneling HTTPS, no HPKP is implemented, although if the proxy protocol is HTTPS then it can be implemented
06:39:18 <zzo38> UNIX is not designed to stop you to do a stupid thing, because then you can't make good things either.
06:39:56 <zzo38> UNIX is design to allow many different program with different thing to do joining together by pipes.
06:40:25 <zzo38> UNIX is design to execute the commands the user has specified/configured/programmed, rather than to make up their own stupid autocorrect and so on
06:40:35 <zzo38> This is a good computer design. See?
06:41:29 <zzo38> Now do you understand it please?
06:42:32 <prooftechnique> Right, but not everyone can use a computer that way. Good defaults are good for the majority of users, and advanced users can disable things like thawt.
06:42:35 <prooftechnique> *that
06:43:34 <madbr> pipes don't work with GUI
06:45:02 <madbr> I'm not convinced that all in all win32's weak shell is a totally bad thing, since it forces people to make GUI apps
06:45:11 <zzo38> That is why, to mainly make command-line program instead. You can add a man page if you need help
06:45:49 <zzo38> Forcing to make GUI apps is a bad idea you should use command-line program and make every program a filter as much as possible. It is how I have designed software such as DVIPBM and AmigaMML and so on
06:46:05 <prooftechnique> I don't see how the UNIX philosophy conflists with HSTS, though. People *should* be using HTTPS
06:47:22 <zzo38> It should be up to the user to program if they want HTTPS as well as all of the other configuration relating to such thing
06:49:47 <madbr> zzo38 : obviously you're not a user-facing-app developer :D
06:50:46 <zzo38> Someone who does not know how to operate a computer, should either to learn or to don't use computer at all.
06:51:07 <madbr> also, 99% of the time I don't want to deal with command line
06:51:42 <zzo38> The problem is that too many program are GUI and cannot work by command line, too.
06:51:43 <madbr> I'm fine with command line for batch scripts and quick utility dev tools and the like
06:52:09 <madbr> zzo38 : a lot of those programs make no sense for command line
06:52:14 <madbr> like video games
06:52:18 <madbr> and emulators
06:52:25 <madbr> and photoshop
06:52:44 <zzo38> Yes, of course there are exceptions you are right, but also in many cases it does make sense and yet it doesn't
06:53:11 <madbr> command line stuff is never as snappy
06:53:16 <zzo38> It does make sense to have GUI and so on for some program
06:54:00 <madbr> UTAU for instance is a voice synthesis program (kind of a vocaloid clone) and it calls external programs for stretching each note and for crossfading the stretched notes together
06:54:40 <madbr> result: the resampler can be replaced and people have made incrementally better ones over the years, and some resamplers work better for some voices etc
06:54:45 <madbr> that's the upside
06:55:29 <zzo38> Now I have Linux, and I do by command line most thing, such as to do printing, typesetting, music, C programming, JavaScript (with Node.js), calculation, and various others too.
06:55:53 <zzo38> (Also email; I use Heirloom Mailx as my preferred email client)
06:56:09 <zzo38> (And I use vim for text editor)
06:56:58 <madbr> downside of UTAU is that real time voice synthesis is literally impossible
06:57:24 <madbr> you have to launch a bake and you see it operating in a command window every time which is clunky as hell
06:57:42 <madbr> the whole system holds together with duct tape
06:57:51 <zzo38> madbr: Well, that is why, you have many different program are available; you can see what program you like, and can possibly make modified version if is open source programming.
06:57:57 <madbr> also you have to set your computer in japanese or else it doesn't work
06:58:28 <madbr> zzo38 : that only work for amateur programs that you're really invested in
06:58:43 <zzo38> I implemented Athena scrollbar in Firefox but it doesn't work very well there are some problems with it (especially outside of the main document window); do you know what is wrong with it please and how to fix it?
07:00:13 <madbr> I'm fine with firefox's scrollbar as it is (I think it's the native win32 widget but tbh you never know and it's often faked - see java or QT for examples of this)
07:00:48 <zzo38> I prefer the Athena widgets
07:01:19 <zzo38> Alternatively if no program is good for you, make up a new one. That is reason why I wrote many of the programs that I did write, such as AmigaMML and DVIPBM.
07:01:59 <madbr> I am fine with commercial software
07:02:14 <zzo38> That's OK; you can use it then.
07:03:14 <zzo38> I however, find it often isn't very good and prefer the Free software, although sometimes no such software exists whether proprietary or free or whatever, therefore should be written.
07:03:46 -!- hppavilion[1] has joined.
07:04:14 <zzo38> I also implemented a program called "playmod" out of libmodplug; read music file from stdin, render audio to stdout, use another program to put the sound on the speaker or to save to a file or convert to another file format. It is now what I use for music playing.
07:04:38 <madbr> I use xmplay
07:04:58 <zzo38> Even with "amigamml | playmod" you can make a MML file and can play it back without ever storing the MOD/XM file on your computer anywhere except in the RAM.
07:06:03 <zzo38> (For to play back Vorbis file, I can use SoX, which I also have)
07:07:47 <madbr> I use audacity instead of SoX
07:07:54 <madbr> It's open source even!
07:08:30 <madbr> (ok and a lot of soundforge at work which we get a dev licence of)
07:08:48 -!- bb010g has quit (Quit: Connection closed for inactivity).
07:08:54 -!- MDude has changed nick to MDream.
07:10:36 <zzo38> Yes I know it is open source even.
07:11:21 <zzo38> Since there is many different kind of software, it mean you can choose to use different software than the one I do. If the file format specification is open, then even someone else can make the other implementation to be compatible with it too.
07:14:55 <madbr> ok, well, audacity isn't a command line program and couldn't be one
07:15:44 <zzo38> That is fine; other programs exist so that is OK
07:16:08 -!- ais523 has quit (Read error: Connection reset by peer).
07:17:57 <zzo38> For audio play/record/effects I can use SoX; for instrument sound synthesis I can use the program that I wrote by myself called XISYNTH; take the program to implement that instrument sound on stdin and make either raw audio or .XI on stdout; it can then be used with any program that can accept .XI instruments (it is meant for use with AmigaMML, but can also be used with OpenMPT and so on too)
07:19:12 -!- ais523 has joined.
07:20:52 <b_jonas> zzo38: oh good morning
07:21:29 <zzo38> Hello
07:21:38 <zzo38> In here is night time but that is OK anyways
07:21:45 <b_jonas> zzo38: those things you describe about a browser sound nice, although of course I'd use very different settings, but the problem is that maintaining a browser is really difficult, because they keep changing, adding features that websites then start using very soon
07:22:38 <b_jonas> zzo38: I don't use SoX, but I also don't work much with sound. I use ffmpeg as a command-line program set for working with images and videos a lot, and it's a bit hard to learn and finnicky and can't do everything, but it's very powerful.
07:22:47 <b_jonas> I think ffmpeg would also work well for handling audio.
07:22:59 <b_jonas> It can certainly put audio to pipes or files and play from one.
07:23:23 <b_jonas> I'm using it that way for video: start ffmpeg/ffprobe subprocesses for encoding or decoding or playing videos or images.
07:24:01 <b_jonas> It also helps that when I reported bugs, the devs quickly fixed some of them. That makes me much more confident in using software.
07:24:08 <zzo38> That is fine if you would use different settings, that is the point to have that many settings
07:24:45 <zzo38> I don't record or play video on my computer
07:25:50 <b_jonas> In particular, there was a bug where ffmpeg stopped after writing 2G (or maybe 4G) bytes of raw image data to a pipe. That was evil because I thought the bug was in my program of course.
07:26:06 <b_jonas> Eventually I figured out what was happening, and it was easy enough to reproduce in a standalone case, so I reported it,
07:26:34 <b_jonas> and they quickly fixed it, and now I'm reading more than 4G raw image data from ffmpeg in my programs.
07:26:52 <b_jonas> (Some integer variable was declared to have the wrong type or something.)
07:26:53 <ais523> b_jonas: sox is basically the ffmpeg of audio
07:26:54 <ais523> I've used it for very simple things (mostly just converting between formats)
07:27:22 <b_jonas> ais523: yes, but ffmpeg also does audio, and converts between formats, and things like that
07:27:50 <ais523> I typically set ffmpeg to copy rather than re-encode audio
07:27:54 <ais523> so that it doesn't lose fidelity
07:30:47 <madbr> yeah sox is mostly used to batch convert audio formats
07:31:03 <madbr> and other similar batch audio operations
07:31:18 <madbr> which is the one place where being command line is good
07:31:55 <zzo38> Yes sox is good for that, although I also use it to play back audio
07:37:57 <zzo38> If you know any Famicom programming then can you answer this question please? Can you please tell me why this program doesn't work http://wiki.nesdev.com/w/index.php/User:Zzo38/Famicom_Z-machine and also how to run this program on Linux?
07:39:04 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
07:41:08 <ais523> ugh, someone's created a category without discussion
07:41:11 <ais523> and it's not a very interesting one either
07:41:44 <ais523> zzo38: the program is too long for me to be able to debug it just by looking at it
07:42:12 <ais523> also I've never seen mapper 380 before
07:42:24 <zzo38> That is because I invented that mapper
07:42:51 <zzo38> http://wiki.nesdev.com/w/index.php/User:Zzo38/Mapper_I
07:43:31 <ais523> zzo38: running a program using a mapper that hasn't been used elsewhere is very difficult
07:43:45 <ais523> also cartridge manufacturers probably won't have the mapper available
07:44:28 <zzo38> I have implemented that mapper on Nintendulator (I needed to edit the header file to work with C, since it was designed for C++), although that software isn't a Linux software
07:44:56 <zzo38> (And even on Nintendulator, the debugging function some thing are incomplete such as source level debugging and so on)
07:45:48 <madbr> why didn't you just make your mapper source code c++
07:45:49 <zzo38> You could put the ICs on the cartridge by yourself if you want to make up the cartridge; I included the instructions for doing so. It is design with discrete logic, although it might be possible with CPLD too
07:46:37 <zzo38> madbr: Well, adding a #ifndef section with a few typedefs was all that was necessary to make it work with C
07:47:03 <madbr> that's more than renaming the source file to .cpp
07:49:43 <zzo38> I think just renaming the file won't work, due to such things as name mangling and some other differences in C++ such as how (void*) types is working, and so on. The other mappers even used a extern "C" section so that it is compatible with a C code! The header file used no C++ specific stuff other than doing bare struct/union names without typedef, so it is easy to fix it for C just by adding those typedef.
07:50:03 <zzo38> Also I don't know C++ programming very good anyways
07:50:48 <zzo38> ais523: Do you understand the instructions I wrote for the mapper?
07:50:51 <madbr> but you know c?
07:50:58 <zzo38> Yes I know C programming very good
07:51:02 <ais523> zzo38: I haven't looked in detail
07:51:12 <zzo38> C++ programming I know a few things about it but not very good
07:51:20 <ais523> mostly because I think it's more interesting to write programs with existing mappers, preferably the least powerful ones available
07:51:27 <ais523> so far I've been focusing on mappre 0
07:51:28 <ais523> *mapper
07:51:47 <zzo38> ais523: In general that is true yes I agree, but sometimes that won't do
07:53:17 <zzo38> For my game "Attribute Zone" is using Color Dreams mapper (except for lockout defeat which isn't used); it is also a discrete mapper.
07:54:36 <madbr> c++ to me, 90% of time, is just making classes (structs with functions in them), and using std::vector and std::string
07:55:18 <zzo38> (This is mapper 11. The reason I used it rather than GNROM is due to the order of bits of bank switching register, which is more suitable for the Attribute Zone program in particular)
07:55:19 <madbr> it has all sorts of other stuff but that other stuff doesn't make as much difference in the kind of applications I do
07:57:28 <zzo38> I do many programming languages (including 6502 assembly language) but not C++. I can program JavaScript too (with Node.js so that standalone program can be done), and made up a Z-machine implementation with JavaScript, and also one with C, and the link posted above is the partially implement Z-machine in a 6502 code.
07:57:51 <zzo38> (Note: It is a 6502 code including unofficial opcodes.)
07:58:15 <zzo38> (Therefore, it is only for NMOS 6502, although Famicom VM is now defined as using the NMOS instruction set, so it is OK.)
08:02:37 <zzo38> Actually, the PRINTC implementation now looks certainly wrong to me; I don't know why I wrote that
08:08:11 <zzo38> (I think zprntc1 and zprntc2 are reversed from what it should be)
08:12:17 -!- madbr has quit (Quit: Pics or it didn't happen).
08:16:33 -!- tromp_ has quit (Remote host closed the connection).
08:21:58 -!- hppavilion[1] has joined.
08:37:22 -!- lambda-11235 has quit (Quit: Bye).
09:06:12 -!- AnotherTest has joined.
09:14:02 -!- jaboja has quit (Read error: Connection reset by peer).
09:14:05 -!- jaboja64 has joined.
09:17:03 -!- tromp_ has joined.
09:21:25 -!- tromp_ has quit (Ping timeout: 255 seconds).
09:32:50 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
09:38:41 -!- AnotherTest has joined.
09:40:58 -!- adu has joined.
10:08:06 -!- Reece` has joined.
10:14:02 -!- Reece` has quit (Quit: Leaving).
10:24:22 -!- adu has quit (Quit: adu).
10:27:55 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
10:44:59 -!- jaboja64 has quit (Ping timeout: 240 seconds).
11:10:29 -!- lynn has joined.
11:30:49 -!- Reece` has joined.
11:33:41 -!- Reece` has quit (Client Quit).
11:33:44 -!- Phantom_Hoover has joined.
11:46:12 -!- heroux has quit (Ping timeout: 248 seconds).
11:47:10 -!- heroux has joined.
11:47:23 -!- Reece` has joined.
11:51:49 -!- jaboja64 has joined.
12:00:31 -!- jaboja has joined.
12:03:39 -!- jaboja64 has quit (Ping timeout: 276 seconds).
12:06:16 <HackEgo> [wiki] [[TeaScript]] https://esolangs.org/w/index.php?diff=46414&oldid=46053 * 94.100.212.225 * (-5) fixed link
12:09:33 <Vorpal> <madbr> c++ to me, 90% of time, is just making classes (structs with functions in them), and using std::vector and std::string <-- really?
12:10:00 <Vorpal> I guess I mostly (only) use C++ for my day job, and there it really isn't about that
12:10:20 <ais523> c++ is like ten languages stapled together at this point
12:10:29 <ais523> different companies use entirely different subsets
12:10:48 <ais523> (incidentally, a similar phenomenon happens with Windows development; Raymond Chen rolls dice to see which sorts of pointer to use for each new example program he writes, mostly as a joke)
12:11:45 <Vorpal> ais523: yes, for me it is STL and some parts of boost. Plus our own common libraries that are developed internally. We have our own thread libraries (yes, plural, that is the bane of a long living code base) for example.
12:12:09 <Vorpal> ais523: is there more than one pointer type?
12:12:11 <ais523> do they at least play well with each other?
12:12:16 <HackEgo> [wiki] [[TeaScript]] https://esolangs.org/w/index.php?diff=46415&oldid=46414 * 94.100.212.225 * (-10)
12:12:23 <ais523> Vorpal: there's a ton of pointer-wrapper classes and libraries
12:12:36 <ais523> you can ofc use raw pointers, that's one of Chen's options
12:13:07 <Vorpal> ais523: yes, the modern one actually uses the other one internally, but extends it with event handling, better message passing, timer scheduler and so on.
12:14:14 <Vorpal> ais523: well I mostly deal with raw pointers and boost shared/scoped ptr. Since I can't use C++11 std::shared_ptr for most code due to it still having to compile for Windows CE 5 for some legacy targets.
12:14:53 <Vorpal> ais523: but true, I guess if you include all of the so called smart pointers, there are a lot
12:15:12 <ais523> what is your day job, anyway?
12:15:56 <ais523> also the annoying thing about Windows is that each library invents its own interoperability thing with specific other libraries rather than being a general one
12:16:00 -!- Reece` has quit (Read error: Connection reset by peer).
12:16:13 <ais523> there's no single equivalent of select() in Windows, there's a bunch of different ones that each can wait for certain subsets of events
12:16:40 <Vorpal> ais523: developing real time control software for heavy open pit mining equipment.
12:16:42 <ais523> I suspect this is why threads are so popular in Windows, because you simply can't put everything into a single event loop
12:16:58 <ais523> Vorpal: hmm, I wouldn't have guessed that, but it seems interesting
12:17:15 <Vorpal> ais523: they support some autonomous operation as well as remote control from a control room
12:17:47 <ais523> just as long as it doesn't go crazy and start to wipe out humanity ;-)
12:18:02 -!- tromp_ has joined.
12:18:07 <Vorpal> ais523: The heaviest model is 22 meters long, has a ~30m tower, weighs ~200 metric tons and has a max speed of 5 km/h
12:18:22 <ais523> hmm, that's approximately walking speed
12:18:25 <ais523> so I guess we could just outwalk it
12:18:39 <Vorpal> ais523: Oh and iirc each link on the tracks weighs slightly less than a ton each
12:19:34 <Vorpal> The electric engine version has a cable with 3-phase 1000 V (and I forgot how many A) trailing behind the machine. The cable is massive anyway. There are diesel variants topo
12:19:35 <Vorpal> too*
12:19:37 <ais523> meanwhile I'm writing software that programs microchips
12:19:46 <ais523> kind-of the opposite end of the scale scale
12:20:35 <Vorpal> ais523: yes, "embedded" programming for me, which it kind of is, still mostly deals with high end industrial rugged PCs running x86 mostly. Dual core 1 GHz, 1 GB RAM. That sort of range.
12:20:55 <ais523> I've programmed really low-end chips before now
12:21:21 <ais523> however we aren't aiming at any specific size of FPGA, our program would work with quite high-end ones
12:21:27 <ais523> also with ASICs in theory but we haven't tested that yet for obvious reasons
12:21:30 <Vorpal> Oh yes, I coded for both PIC (model 12something) and AVR (ATMega32 something?), but not for work
12:21:43 <ais523> PIC12 is very low-end :-)
12:21:50 <Vorpal> ais523: I know, it was painful.
12:22:07 <ais523> how many pins did it have?
12:22:14 <Vorpal> 8, including power and gnd
12:22:19 -!- tromp_ has quit (Ping timeout: 252 seconds).
12:22:22 <Vorpal> this was many years ago
12:22:24 <ais523> OK, so one of the smallest pic12 models
12:22:33 <Vorpal> yeah
12:22:38 <ais523> (was looking for a way to distinguish between them that you'd probably be able to remember)
12:22:47 <ais523> it's not like I have the pic model numbers memorized anyway
12:22:50 <Vorpal> 1024 kwords program memory iirc
12:22:53 <ais523> although I mostly used the pic16 series
12:22:53 <HackEgo> [wiki] [[Talk:Carriage]] https://esolangs.org/w/index.php?diff=46416&oldid=39134 * LegionMammal978 * (+275) /* Function Slicing */ new section
12:23:05 <Vorpal> and 128 bytes or 256 bytes or something like that data memory
12:23:08 <HackEgo> [wiki] [[Talk:Carriage]] M https://esolangs.org/w/index.php?diff=46417&oldid=46416 * LegionMammal978 * (+109) /* Function Slicing */
12:23:21 <HackEgo> [wiki] [[Talk:Carriage]] M https://esolangs.org/w/index.php?diff=46418&oldid=46417 * LegionMammal978 * (-1) /* Function Slicing */
12:23:55 <ais523> if it's a PIC it probably isn't a round number
12:23:59 <ais523> it'd be 144 or something like that
12:24:13 <ais523> basically because Microchip have a habit of exposing every part of the chip that could possibly be used as RAM, as RAM
12:24:19 <Vorpal> ah
12:24:35 <ais523> this makes "system calls" easy to write as they're basically just memory-mapped registers
12:24:44 <Vorpal> ais523: this was probably 12 years go by now or so though
12:25:07 <Vorpal> ago*
12:27:35 <Vorpal> ais523: http://mb.cision.com/Public/90/9248495/98354890d0b013b2_800x800ar.jpg
12:27:39 <Vorpal> the machine I code for
12:28:30 <Vorpal> Look at the height of the railing for scale, the cockpit is rather large
12:29:04 -!- ais523 has quit (Ping timeout: 240 seconds).
12:31:45 <Taneb> I think my uni at least claims to do a lot of real time systems research
12:36:55 -!- ais523 has joined.
12:37:38 <Vorpal> <Vorpal> ais523: http://mb.cision.com/Public/90/9248495/98354890d0b013b2_800x800ar.jpg
12:37:44 <Vorpal> <Vorpal> the machine I code for
12:37:46 <Vorpal> <Vorpal> Look at the height of the railing for scale, the cockpit is rather large
12:38:23 <ais523> that's smaller than I was expecting, actually, not in terms of dimensions but in terms of volume
12:38:42 <Vorpal> Ah
12:45:00 -!- Opodeldoc has joined.
12:56:18 -!- boily has joined.
13:19:26 -!- tromp_ has joined.
13:21:40 <boily> @metar CYUL
13:21:40 <lambdabot> CYUL 201300Z 16014KT 10SM -RASN OVC021 01/M00 A2957 RMK NS8 SLP016
13:23:29 -!- tromp_ has quit (Ping timeout: 240 seconds).
13:25:24 -!- primo has joined.
13:25:53 -!- p34k has joined.
13:34:22 -!- primo has quit (Ping timeout: 252 seconds).
13:36:25 <fizzie> @metar EGLL
13:36:25 <lambdabot> EGLL 201320Z AUTO 24014KT 4100 -RA BKN009 10/09 Q1009
13:36:30 <fizzie> @metar EFHK
13:36:30 <lambdabot> EFHK 201320Z 15015KT 2000 -SN BKN004 00/00 Q1009 NOSIG
13:36:40 <fizzie> There's no temperature there at all.
13:44:26 <boily> broken weather. you'll have to send a strongly worded letter to your local government for them to start it again.
13:46:19 -!- boily has quit (Quit: PRUNED CHICKEN).
13:46:55 -!- oerjan has joined.
13:47:01 -!- jaboja has quit (Remote host closed the connection).
13:59:51 -!- bender| has changed nick to b316858978315413.
14:01:24 -!- b316858978315413 has changed nick to bender|.
14:22:51 -!- variable has joined.
14:32:32 <oerjan> ais523: when people say "hola" is a good time to use `bienvenido instead of `welcome hth
14:35:16 <oerjan> <ais523> how do I output a bignum in hexadecimal using a bot in the channel? I assume there's some Haskell standard library function for it but I don't know what it is <-- it's showHex but you have to remember it takes a final string suffix
14:35:29 <oerjan> > showHex 99 " bottles of beer on the wall"
14:35:30 <lambdabot> "63 bottles of beer on the wall"
14:35:37 <ais523> what a weird API
14:37:25 <oerjan> it's quite logical, actually. it is more efficient in haskell to chain string prepending than to concatenate nested strings, so the Show API is based on this
14:37:31 <oerjan> @src Show
14:37:31 <lambdabot> class Show a where
14:37:31 <lambdabot> showsPrec :: Int -> a -> ShowS
14:37:31 <lambdabot> show :: a -> String
14:37:31 <lambdabot> showList :: [a] -> ShowS
14:37:39 <oerjan> @src ShowS
14:37:39 <lambdabot> type ShowS = String -> String
14:38:36 <oerjan> and so the primitive formatting functions often give Shows instead of String
14:38:40 <oerjan> *ShowS
14:39:36 <oerjan> mind you, these days people thing String itself is too slow for many things
14:39:41 <oerjan> *think
14:44:13 -!- variable has quit (Ping timeout: 252 seconds).
14:46:12 -!- lleu has joined.
14:48:27 <FireFly> Hm
14:48:53 <FireFly> [ hfd 999999999999999999x NB. does this handle bigints?
14:48:54 <j-bot> FireFly: de0b6b3a763ffff
14:48:58 <FireFly> I guess it does
14:49:22 <FireFly> Of course, remembering showHex is probably easier
14:50:12 <myname> i ever wondered: what does NB stand for?
14:50:15 <oerjan> <ais523> distro upgrade breakage is often bizarre <-- they updated fedora the other day and now alpine does not work properly inside tmux
14:50:30 <FireFly> myname: nota bene, latin for "mark well" IIRC
14:50:32 <ais523> oerjan: presumably that's a result of a change to alpine or tmux?
14:50:37 <oerjan> (at this server)
14:50:54 <FireFly> er that should probably be "note well"
14:51:26 -!- zadock has joined.
14:51:27 -!- tromp_ has joined.
14:51:29 <myname> ah, english. that language with these latin abbreviations
14:51:33 <oerjan> ais523: i suggested it was https://bugzilla.redhat.com/show_bug.cgi?id=1245426
14:51:38 <myname> because, why should they be english
14:51:45 <FireFly> Pretty much
14:52:44 <oerjan> ais523: afaiu it's a backwards incompatible correction to terminfo, which tmux was not immediately updated to support
14:53:10 <ais523> I hate terminfo :-P
14:53:15 <ais523> it causes more problems than it solves
14:53:23 <APic> B-)
14:53:33 <APic> Like the Autotools ;)
14:58:07 <fizzie> `` echo 999999999999999999 16o n | dc
14:58:08 <HackEgo> DE0B6B3A763FFFF
14:58:17 <fizzie> That's also always an option.
15:01:18 <FireFly> honestly I think I prefer J then
15:06:25 -!- bender| has quit (Ping timeout: 250 seconds).
15:08:04 -!- zadock has quit (Quit: Leaving).
15:16:13 <oerjan> <ais523> … now I'm trying to figure out if BF is Turing-complete if the tape pointer is zeroed at the start of every loop <-- with unbounded cells, yes, otherwise no.
15:16:38 <oerjan> because with unbounded cells you can manage with balanced loops
15:16:52 <ais523> oerjan: I'm not convinced of the no with bounded cells
15:17:24 <oerjan> with bounded cells, a program can only reach a finite number of cells, no?
15:17:32 <oerjan> (well in any case.)
15:17:34 <ais523> [>+] reaches infinitely many cells
15:17:38 <ais523> I'm not assuming the reset happens inside the loop
15:17:39 <oerjan> oh.
15:17:41 <ais523> only when it starts
15:17:44 <ais523> err, +[>+]
15:17:56 <ais523> I'm just not sure if that /usefully/ reaches infinitely many cells
15:18:15 <oerjan> hm i think it works then.
15:18:39 <oerjan> implement 3 unbounded cells as a unary strip of flags each
15:19:21 <oerjan> can you do increment, decrement, and test of those? then you can emulate a 3-cell bf
15:19:41 <oerjan> * 3-cell bf with balanced loops
15:21:07 <oerjan> or hm
15:21:15 <oerjan> can you actually scan until the end..
15:23:08 <oerjan> hm...
15:25:54 <fizzie> What a scam -- urn.fi is only reachable over plain HTTP, not HTTPS.
15:31:53 <fizzie> I would think you could do increment, decrement and zero-test of K unbounded counters by having interleaved unary strips of flags.
15:38:12 <oerjan> @ask vanila <vanila> deos anyone remember the site of that guy that had loads of visual programming languages? <-- is it http://strlen.com/ ?
15:38:13 <lambdabot> Consider it noted.
15:39:25 <oerjan> fizzie: i'm no longer sure. it seems hard to handle a strip that does not contain the tape left end cell
15:40:18 <oerjan> (note that this is not in ordinary BF)
15:40:57 <fizzie> Well. I'm not sure whether the [] reset happens before or after testing if the current cell is zero or not.
15:41:32 <oerjan> well obviously it's trivial if it's before, so i assumed after.
15:42:14 <fizzie> As in, >+[...] would run ...?
15:42:21 <oerjan> yes
15:42:42 <oerjan> otherwise you could do no testing on other cells at _all_
15:42:53 <fizzie> In that case, I think you could just have an offset of +1 in all the counters, and interleave them so that they all share the leftmost tape cell, and use skips of 2, 3, 5, ... for the counters.
15:43:07 <fizzie> And go to cells 2, 3, 5 etc. for the "zero"-testing.
15:43:34 <oerjan> the problem is that they must not share any _other_ cells.
15:43:51 <fizzie> Yes, well, they won't if the spacing is prime, right?
15:44:05 <oerjan> sure they do...
15:44:12 <fizzie> As in, [>>], [>>>] and [>>>>>] scan three entirely distinct strips.
15:44:21 <fizzie> Oh, right.
15:44:25 <fizzie> Yeah, yeah.
15:44:29 <fizzie> I wasn't thinking.
15:44:39 <fizzie> Well, hmm.
15:46:52 <fizzie> Let's just say it's an unbounded tape to both directions and you reset to the "middle", then you've got two counters. :p
15:48:01 -!- J_Arcane has quit (Ping timeout: 252 seconds).
15:48:27 <oerjan> fancy.
15:49:29 <oerjan> ok, testing is easy. it's increment and decrement that need you to actually find the other end.
16:00:07 <fizzie> I tried to get somewhere with a tape like sABCsABCsABC... where, to increment B, you first increment s until it's equal to be (since you can scan [>>>>] to get to the end of s, and then test a cell offset from its end) and then use that to find the cell to increment.
16:00:18 <fizzie> Couldn't quite write it out, but I still think that might lead somewhere.
16:06:44 <oerjan> hm
16:07:43 <oerjan> oh hm
16:10:26 <oerjan> >+[>[>>>>]+>]>>>>+ to increment A, say?
16:10:39 <oerjan> um
16:10:45 <oerjan> or wait
16:12:09 <oerjan> +[[>>>>]+>]>>>>+[->>>>]
16:13:50 <oerjan> fizzie: i think that works in essence
16:13:55 -!- oerjan has quit (Quit: Later).
16:22:10 <fizzie> @tell oerjan Oh, that's simpler than what I had -- didn't even think of testing A with the ]. But yes, something like that.
16:22:11 <lambdabot> Consider it noted.
16:24:56 -!- lambda-11235 has joined.
17:09:35 -!- adu has joined.
17:14:48 -!- lynn has quit (Quit: Leaving).
17:25:21 -!- adu has quit (Quit: adu).
18:05:14 <b_jonas> fungot, do you handle XML DOMs?
18:05:14 <fungot> b_jonas: but i'll pass it to map or so.
18:11:31 -!- MoALTz has quit (Quit: Leaving).
18:16:40 <\oren\> here comes the nevada dem cucus and south carilina gop primary!
18:20:45 -!- dreadtek has joined.
18:21:15 <dreadtek> greetings, any1 have a way to interpret TapeBagel code?
18:29:13 <\oren\> no, but that doesn't look too hard to make... it's a FSA isn't it
18:34:37 <b_jonas> fungot, do you have a way to interpret TapeBagel code?
18:34:37 <fungot> b_jonas: but most lang the types of books than those two chatters. i don't recall any foreign languages in there.
18:36:54 <\oren\> fungot: is that a no or a yes?
18:36:54 <fungot> \oren\: is that ' after two' meaning three. anyway. i don't care
18:37:24 <\oren\> bloody inscrutable AI's.
18:37:54 <fizzie> fungot: Inscrutable is fine, but try not to be impolite as well.
18:37:55 <fungot> fizzie: are yout aling about the mit licence... or there is scheme :)
18:41:42 <\oren\> anyway, https://esolangs.org/wiki/TapeBagel tis would seem to have no control flow, and therefore it won't require much to make an interpreter
18:43:02 -!- MoALTz has joined.
18:53:33 <\oren\> I'm working on an implementation
19:21:45 -!- Reece` has joined.
19:22:06 -!- Reece` has quit (Remote host closed the connection).
19:27:39 -!- MDream has changed nick to MDude.
19:32:33 -!- perrier_ has quit (Read error: Connection reset by peer).
19:36:12 <\oren\> http://www.orenwatson.be/tapebagel.htm
19:36:16 <\oren\> there
19:36:53 <\oren\> a hastily written perl implementation of tapebagel. the hello world program works with it
19:38:37 -!- lambda-11235 has quit (Quit: Bye).
19:41:50 <HackEgo> [wiki] [[TapeBagel]] https://esolangs.org/w/index.php?diff=46419&oldid=11836 * Orenwatson * (+131) added link to my impl
19:43:09 <\oren\> i extrapolated a bit
19:43:57 <\oren\> like for example, if * is integer zero, ** is 1, and *** is 2, then I made **** do integer 3 and so on.
19:45:36 <prooftechnique> \oren\: What's that font?
19:45:41 <MDude> Not sure if I should actually include languages where the semantics don't reflect the actual text's meaning as Pseudonatural or change the definition to explude them.
19:45:57 <\oren\> my own font
19:46:14 <\oren\> http://www.orenwatson.be/fontdemo.htm
19:46:23 <prooftechnique> It looks really similar to one I used to use, but I can't remember what it was. It's very neat
19:46:32 <MDude> Since iI'm nto sure if it makes sense to include Shakespeare and Lingua Abstracta or put them in their own categorey.
19:47:09 <prooftechnique> Great character support, too :)
19:47:31 <\oren\> probably monofur
19:47:50 <\oren\> monofur bold was what I used before I made my own
19:47:59 <\oren\> (mostly)
19:50:02 <prooftechnique> I think it reminds me most of berry
19:50:41 <prooftechnique> Which is exactly what I was trying to find earlier today, but all the pcfs I could find were broken and I didn't want to fix them :v
19:54:08 <b_jonas> \oren\: as for your font, I'd like to ask you again to try to revise the cyrillic uppercase letters a bit, because some of them look deceptively similar to uppercase latin letters: ІЈ especially
19:54:53 <b_jonas> I know they aren't exactly the same, but they look too similar
19:55:28 <b_jonas> But maybe that's just for my tastes. I am more willing to uglify the look of non-whitespace characters to make them look different from ascii.
19:57:45 -!- pikhq has quit (Quit: Rebooting).
19:58:20 <b_jonas> \oren\: the cyrillic letter Ӏ (which appears in some rarer languages only) is also a bit confusing, for it looks like the ascii vertical bar |
19:58:42 <\oren\> oh. that's a problem, I'll take a look
19:59:18 <\oren\> `unidecode ӀІЈ
19:59:29 <prooftechnique> Let me know when you update :) I'm already loving using it. :D
19:59:36 <HackEgo> ​[U+04C0 CYRILLIC LETTER PALOCHKA] [U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I] [U+0408 CYRILLIC CAPITAL LETTER JE]
19:59:56 <\oren\> the next update will have fraktur lowercase, and blackboard bold
20:00:19 <prooftechnique> I'm very excited to hear that
20:01:05 <b_jonas> \oren\: blackboard bold what? all uppercase ascii letters and lowercase k? more? less?
20:01:09 <izabera> what's a unicode character that needs U+XXXXXXXX ?
20:01:15 <b_jonas> will it have the blackboard bold digit 1 ?
20:01:45 <HackEgo> [wiki] [[Taxi]] https://esolangs.org/w/index.php?diff=46420&oldid=44008 * MDude * (+27)
20:01:48 <\oren\> uh, all the blackboard bold
20:01:52 -!- pikhq has joined.
20:01:59 <\oren\> oh, but not greek yet
20:02:06 <HackEgo> [wiki] [[Shakespeare]] https://esolangs.org/w/index.php?diff=46421&oldid=12076 * MDude * (+27)
20:02:35 <b_jonas> \oren\: oh, and I noticed this only now, but could you add the double vertical bar ‖ which is commonly used in maths formulas?
20:02:37 <\oren\> izabera: the blackboard bold would need that
20:02:57 <HackEgo> [wiki] [[Lingua abstrusa]] https://esolangs.org/w/index.php?diff=46422&oldid=25065 * MDude * (+28)
20:04:14 <\oren\> b_jonas: it's in the general punctuation block
20:04:36 <b_jonas> yes, the 0x2000 block
20:05:44 <b_jonas> oh I see
20:05:47 <b_jonas> there it is on the sample page
20:05:56 <b_jonas> I don't know what I typoed for not finding it before
20:05:57 <b_jonas> thanks
20:10:38 -!- tromp_ has quit (Remote host closed the connection).
20:43:28 <zzo38> Someone told me on the telephone that my computer was not working, but if I shut it down for one hour tomorrow, it would be fixed by the time it is switched on again. What are they trying to do exactly?
20:43:33 -!- ais523 has quit (Ping timeout: 250 seconds).
20:43:54 <\oren\> they're trying to et your money
20:44:03 <\oren\> *get
20:44:39 <zzo38> Well, yes, but how would that work?
20:45:55 <zzo38> (I told them that there was nothing wrong with my computer and that it was working perfectly, which they seemed to refuse to accept)
20:46:04 -!- Phantom__Hoover has joined.
20:47:33 <b_jonas> zzo38: is it true that yoru computer is working perfectly?
20:47:51 <b_jonas> seems unrealistic
20:47:51 <zzo38> Yes it is working OK
20:48:04 <b_jonas> `wisdom usb
20:48:05 <b_jonas> `wisdom ata
20:48:15 <b_jonas> `wisdom pci
20:48:16 <HackEgo> catamorphism/A catamorphism is when you recurse too greedily and too deep.
20:48:16 <HackEgo> ​/cat: : No such file or directory
20:48:17 <HackEgo> ​/cat: : No such file or directory
20:48:25 <zzo38> (Perhaps it is not perfect, although it is working OK.)
20:48:27 <b_jonas> oh
20:48:29 <b_jonas> `? usb
20:48:30 <HackEgo> usb? ¯\(°​_o)/¯
20:48:31 <b_jonas> `? ata
20:48:31 <HackEgo> ata? ¯\(°​_o)/¯
20:48:32 <b_jonas> `? pci
20:48:33 <HackEgo> pci? ¯\(°​_o)/¯
20:49:04 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
20:51:39 <fizzie> `? vlb
20:51:40 <HackEgo> vlb? ¯\(°​_o)/¯
20:52:15 <b_jonas> `? usb3
20:52:16 <HackEgo> usb3 ? ¯\(°​_o)/¯
20:52:31 <fizzie> `? sbus
20:52:33 <HackEgo> sbus? ¯\(°​_o)/¯
20:53:47 <zzo38> But before I told them I had Linux, they kept misquoting stuff from the TeamViewer website for some reason, and were trying to get me to install it, which of course I refused, but since they were misquoting it, I could correctly tell them that their instructions are impossible to follow anyways.
20:54:28 <zzo38> I hope I have wasted a sufficient amount of their time.
20:55:56 <b_jonas> `slashlearn USB3/USB3 hosts are packaged with a full independent implementation of the older USB/USB2, going through separate pins in the same socket. It is similar to the DVI sockets in this respect, which have analog video pins in them, except you need a separate passive converter stub to plug VGA cable to DVI socket, but you don't need one to plug a USB client to an USB3 host.
20:55:59 <HackEgo> Learned «usb3»
20:56:02 <b_jonas> `? usb3
20:56:03 <HackEgo> USB3 hosts are packaged with a full independent implementation of the older USB/USB2, going through separate pins in the same socket. It is similar to the DVI sockets in this respect, which have analog video pins in them, except you need a separate passive converter stub to plug VGA cable to DVI socket, but you don't need one to plug a USB client t
20:56:08 <b_jonas> truncated
20:57:00 <b_jonas> `slashlearn USB3/USB3 hosts are packaged with a full independent implementation of the older USB/USB2, going through separate pins in the same socket. It is similar to DVI, except you need a separate passive converter stub to plug VGA monitor to DVI socket, but you don't need one to plug a USB client to an USB3 host.
20:57:03 <HackEgo> Learned «usb3»
20:57:05 <b_jonas> `? usb3
20:57:06 <HackEgo> USB3 hosts are packaged with a full independent implementation of the older USB/USB2, going through separate pins in the same socket. It is similar to DVI, except you need a separate passive converter stub to plug VGA monitor to DVI socket, but you don't need one to plug a USB client to an USB3 host.
20:57:08 <b_jonas> better
20:57:22 <b_jonas> `? ide
20:57:23 <HackEgo> ide? ¯\(°​_o)/¯
20:58:36 <\oren\> new version is up.
20:59:18 <\oren\> adding to demo...
21:00:08 <b_jonas> `learn ATA is the new name for what old-timers know as IDE, a bus connecting the motherboard to hard disks or CD/DVD drives. ATA has a 40 pin socket and a 80 wire ribbon cable connecting up to two drives to a motherboard socket.
21:00:11 <HackEgo> Learned 'ata': ATA is the new name for what old-timers know as IDE, a bus connecting the motherboard to hard disks or CD/DVD drives. ATA has a 40 pin socket and a 80 wire ribbon cable connecting up to two drives to a motherboard socket.
21:01:41 <b_jonas> Why it has 80 wires for 40 pins, only electric engineers know
21:04:13 <b_jonas> `? ring
21:04:14 <HackEgo> Addition, subtraction and multiplication have a certain ring to them.
21:04:17 <b_jonas> `? select
21:04:18 <HackEgo> select is a very versatile construct: it waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, and more.
21:04:41 -!- rdococ has quit (Read error: Connection reset by peer).
21:07:13 <zzo38> In SQL you can even use a SELECT command without a table, in order to make a calculation with a single row.
21:07:58 <b_jonas> zzo38: yes, and ais523 mentioned that INTERCAL has a binary operator called select, which should really be mentioned in here,
21:08:11 <b_jonas> but the wisdom is too long so we somehow have to compress it
21:08:28 <b_jonas> and I'm not good in concise writing
21:09:17 <b_jonas> the reference to the INTERCAL operator would probably be something like "removes bits, " but it doesn't fit right now
21:09:18 <zzo38> Yes that too, I forgot that one
21:09:44 <b_jonas> I know the SELECT command works without a table, but I don't think we have to mention that in this wisdom
21:10:06 <b_jonas> we can't give a full description of all these meanings of select here
21:10:58 <b_jonas> zzo38: it already doesn't mention the perl one-arg select function, which would be "sets the default output handle" or something
21:11:16 -!- tromp_ has joined.
21:12:03 <b_jonas> I think I should work on "a dropdown list element, prints a text-based menu prompt in a loop, " either just making the latter shorter, or replacing them with a single unified description
21:15:36 -!- tromp_ has quit (Ping timeout: 250 seconds).
21:17:57 <b_jonas> Are some of you good writers? Please help with this entry.
21:21:16 <b_jonas> Please!
21:27:11 -!- lynn has joined.
21:29:35 -!- jaboja has joined.
21:33:55 <Elronnd> I don't understand, how did this USB disk end up with 6 partitions?
21:39:22 <b_jonas> someone or some tool partitioned it?
21:40:08 <b_jonas> or it's one of those usb disks sold with some crap disk encryption driver utility, and so has an unencrypted partition, an encrypted partition, and a few partitions supplying the encryption software
21:41:32 <Elronnd> When I got it, the partitioning looked fine
21:41:42 <Elronnd> I forget what I did with it to make it like this
21:41:59 <Elronnd> But using dd to put an OS on it seems to have fixed the problem
21:49:32 <b_jonas> oh, that reminds me, I should test ais523's terminal escape code tests in my builds of urxvt
21:49:36 <b_jonas> with and without screen
21:50:02 -!- Elronnd has changed nick to earenndil.
21:50:23 -!- earenndil has changed nick to Elronnd.
21:59:40 <fizzie> `learn SBus is the standard bus in many a Sun SPARC-based system, capable of coping with thirty-two (32) bits in parallel, at rates of around 16.67 to 25 MHz. There is a 96-pin connector, and the cards lay parallel to the motherboard, like toppings on a sandwich.
21:59:44 <HackEgo> Learned 'sbu': SBus is the standard bus in many a Sun SPARC-based system, capable of coping with thirty-two (32) bits in parallel, at rates of around 16.67 to 25 MHz. There is a 96-pin connector, and the cards lay parallel to the motherboard, like toppings on a sandwich.
21:59:49 <fizzie> Uh-oh.
22:00:13 <fizzie> `` mv wisdom/sbu wisdom/sbus # plurals are hard
22:00:16 <HackEgo> No output.
22:02:42 <shachaf> fizzie: should've le/rned
22:03:22 <fizzie> Yes, but I thought I had no reason to go all fancy.
22:09:37 -!- dreadtek has quit (Quit: Page closed).
22:20:37 -!- hydraz has changed nick to hydrovad.
22:23:20 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:23:38 -!- Treio has joined.
22:25:14 <b_jonas> `? agp
22:25:15 -!- hydrovad has changed nick to hydraz.
22:25:16 <HackEgo> agp? ¯\(°​_o)/¯
22:29:24 <b_jonas> `? sata
22:29:27 <HackEgo> sata? ¯\(°​_o)/¯
22:29:27 <b_jonas> `? e-sata
22:29:28 <HackEgo> e-sata? ¯\(°​_o)/¯
22:29:29 <b_jonas> `? esata
22:29:30 <HackEgo> esata? ¯\(°​_o)/¯
22:47:16 -!- lambda-11235 has joined.
23:02:47 <izabera> https://savannah.nongnu.org/projects/libbf does anyone have a backup of this?
23:03:31 <prooftechnique> \oren\: I completely bought into this font
23:03:34 <prooftechnique> It's great
23:04:18 <prooftechnique> izabera: The CVS repo is still up
23:04:29 <prooftechnique> http://cvs.savannah.gnu.org/viewvc/?root=libbf
23:04:51 <izabera> ah! thanks!
23:11:18 -!- tromp_ has joined.
23:15:32 -!- tromp_ has quit (Ping timeout: 244 seconds).
23:37:55 <Taneb> I kind of want to try Lutefisk
23:38:57 -!- Taneb has changed nick to Nnnnnn.
23:39:25 <Nnnnnn> This nick change is not related to Lutefisk at all
23:39:40 <Nnnnnn> Despite being a noise I could make upon trying the delicacy
23:39:56 -!- Nnnnnn has changed nick to Taneb.
23:40:52 <shachaf> Naneb
23:43:33 <zzo38> Quantum Mysticism is neither science nor pseudoscience, although it is scientifically based. However, as a Wikipedia writer has said, 'New-age writers feel entitled to sick the word "quantum" in front of just about anything', and this is what results in completely nonsense and is not proper Quantum Mysticism.
23:44:04 <Taneb> Quantum Pseudoscience
23:44:46 <zzo38> Yes, there is a lot of that too unfortunately
23:45:07 <prooftechnique> Quantum Woo
23:45:56 -!- hppavilion[1] has joined.
23:46:15 <zzo38> Yes, and there is also a lot of that. Many people will try to write "quantum" even though they do not understand physics nor mysticism
23:46:28 <zzo38> (Nor even proper reasonability!)
23:48:40 <shachaf> How can I tell whether I understand proper reasonability?
23:48:57 <zzo38> Apparently it is impossible?
23:49:06 <prooftechnique> Seek counsel with your quantum self, duh
23:52:02 <Taneb> zzo38, I'm planning to take a module next year on Quantum Information Theory
23:52:40 -!- infinitymaster has joined.
23:53:26 <zzo38> Taneb: OK
23:53:38 <zzo38> I didn't know that, but now I can know!
2016-02-21
00:03:13 <shachaf> what's with the rainbows?
00:03:45 -!- J_Arcane has joined.
00:11:47 <hppavilion[1]> We should put together the Skills of Eso and start towards developing the language a strong AI will be implemented in
00:12:36 -!- tromp_ has joined.
00:13:30 <izabera> develop a strong enough ai first, which will then build the language
00:13:45 <hppavilion[1]> izabera: Yes, that works too xD
00:13:58 <hppavilion[1]> izabera: I'm thinking some LISP, some PROLOG, and some Haskell, what do you think?
00:14:04 <izabera> i'm no ai
00:17:03 -!- tromp_ has quit (Ping timeout: 240 seconds).
00:24:37 <zzo38> hppavilion[1]: We can try I suppose, although am not sure quite how either, I also don't know much about AI
00:28:27 -!- Reece` has joined.
00:29:42 -!- tromp_ has joined.
00:31:21 <prooftechnique> I feel like an AI would probably just end up with infinite memory and a really long case statement
00:31:58 <prooftechnique> It will bring a new meaning to the term "exception handling"
00:37:56 <coppro> I'm an AI
00:41:55 <MDude> AI can really be a bunch of different things.
00:43:04 <MDude> A division I think is fairly significant is the one ebtween AIs that are meant to act as autonomous systems and those that just react to queries.
00:43:05 <APic> AI _is_ an infinite Number of Things at the same Time.
00:43:15 <APic> In the same Multiverses, _and/or_ in another ones.
00:43:16 <APic> B-)
00:43:21 <APic> Holism my Backside. ;)
00:43:30 <APic> We are all one big amorph Mass.
00:43:30 <MDude> WIth the latter being sort of in between being artificial intelligence and intelligence amplification.
00:43:58 <MDude> More like we're animorphs.
00:44:09 * APic heard another Theory that states a very advanced AI would just watch Porn the whole Days and/or Nights. ;)
00:44:20 <APic> *nod*
00:44:39 <MDude> If it's made to work like a human brain but better at multitasking, then yes.
00:45:04 <MDude> It would watch porn all the time while doing anything else it's up to.
00:45:31 <\oren\> prooftechnique: I'm so happy to hear that! If there are more characters you want, please suggest them.
00:46:06 <\oren\> Also, Trump is winning in SC!
00:46:11 <prooftechnique> Will do. :)
00:46:36 <prooftechnique> Well, I guess it's time to move up the timetable on the Operate Till Sverige
00:46:39 -!- p34k has quit.
00:46:41 <prooftechnique> *Operation
00:46:55 <\oren\> so more episodes of the Donald Trump Show are imminent
00:55:47 <\oren\> also Bush has less than 10%. Jeb! is such a loser
01:00:49 <MDude> Well it's hard to get popular when an album inspired by the dissilusionment from the war your dad started was able to be such a smash hit.
01:01:22 <MDude> Is he really doing anything to distance himself from his dad and grampa?
01:01:45 <\oren\> his brother, not his dad
01:01:49 <MDude> Oh.
01:01:57 <MDude> Well that shows how much I know about anyone ever.
01:02:19 <MDude> But similar question, is he really doing anything to distance himself from his brother and dad?
01:02:26 <\oren\> not really
01:02:48 <\oren\> he was, then he stopped on the basis that South Carolina supported his family
01:02:53 <MDude> Then I stand by "Upside for Jeb Bush as pesident: Potentially another sweet Green Day album".
01:02:58 <\oren\> but that isn't panning out
01:04:05 <MDude> I can see how South Carolina would be mroe about family than the rest of the country.
01:04:54 <\oren\> well also, both George Bush first and second won in SC
01:05:19 <b_jonas> \oren\: um, it might be a local proble, but I don't see the changes in your font, only in the sample page
01:05:36 <b_jonas> \oren\: are you sure you've uploaded the new font to the webserver correctly?
01:05:53 <\oren\> hmm, hold on
01:06:01 <b_jonas> \oren\: oh wait,
01:06:08 <b_jonas> with more reloading the modified font now loads
01:06:10 <b_jonas> that's better
01:07:08 <b_jonas> \oren\: I see that you haven't changed the serbian I and J, but changed that strange cyrillic letter that appears in rare languages, without turning it to green.
01:07:55 <b_jonas> \oren\: and that you've added lowercase gothic, only the lowercase gothic v (𝔳) shows up as taking two character cells' width.
01:09:37 <b_jonas> I also see the new blackboard bold letters and digits. Some of them look somewhat ugly. They might be ugly with the goal to match the rest of your font, I don't know.
01:09:40 <coppro> \oren\: where does cuneiform fit in your plans
01:09:44 <coppro> you can apparently make hashtags with it
01:10:31 <\oren\> b_jonas: which ones?
01:10:56 <\oren\> I'll fix the v
01:11:25 <hppavilion[1]> What is the best algorithm for computer division?
01:11:36 <hppavilion[1]> Clearly not long division, because that's digit-by-digit
01:11:54 <\oren\> there's an algorithm using bit shitfs
01:11:54 <hppavilion[1]> I don't need speed
01:11:59 <hppavilion[1]> \oren\: OK
01:12:07 <Elronnd> then how do you define "best"?
01:12:16 <hppavilion[1]> Elronnd: Simplest?
01:12:31 <hppavilion[1]> \oren\: Unfortunately, I'm trying to do it on the peano axioms and pattern matching xD
01:12:32 <Elronnd> k
01:12:43 <hppavilion[1]> So unless there are peano bit shifts...
01:12:50 <hppavilion[1]> Wait, there are
01:13:32 <b_jonas> \oren\: also, on the sample page, the newlines in the section for gothic and blackboard bold are in really odd places
01:13:33 <hppavilion[1]> rsh(R, L, O) :- exp(2, L, I), mul(R, I, O).
01:15:15 <hppavilion[1]> Wait, no, that's lsh
01:15:32 <hppavilion[1]> Yep, it works though
01:15:36 <b_jonas> \oren\: take the double-struck E as an example. since this font is normally sans serif, I'd suggest that you don't put serifs in the blackboard bold either, except on the I. And if you do want serifs, at least make them smaller
01:16:01 <\oren\> ok
01:16:32 <b_jonas> (either omit one of the three pixels that is on the line that contains only the serif, not the horizontal line; or make the serifs not contain a visible hole at all, but consist of only one additional pixel below the two thick line)
01:18:22 <b_jonas> \oren\: next, for the double-struck G, since your normal G has a sharp corner where the horizontal middle line meets the vertical line, I'd say make the double-struck G look like that too.
01:20:28 <\oren\> yup
01:20:36 <prooftechnique> \oren\: What do you use for designing this font, softwarewise?
01:20:48 <\oren\> fontforge
01:21:14 <prooftechnique> Oh, good, then :)
01:21:21 <b_jonas> \oren\: for the double-struck I, I wonder if it would be better to fill the top and bottom pixel of the vertical hole, but that might make it uglier. I dunno.
01:21:37 <\oren\> previously I used fontstruct.com
01:22:40 <b_jonas> \oren\: apart from that, the uppercase blackboard bold letters seem to be fine
01:23:15 <b_jonas> \oren\: I don't know why the lowercase doublestruck c has a shape different from your lowercase c
01:24:04 <prooftechnique> Personally, I might like to see the ~ lower down, but that's just because I've got it in my prompt and it looks goofy. :D Might just use a different character
01:24:07 <b_jonas> \oren\: and I wonder if you could improve the blackboard bold lowercase m by making it have a different shape from the lowercase m, just like how you did with the blackboard bold uppercase M and W
01:24:29 <b_jonas> same for the blackboard bold w
01:24:55 <b_jonas> but then, the blackboard bold lowercase letters are rarely used, so they might not be worth the bother
01:26:10 <b_jonas> \oren\: the blackboard bold digits look well done though, except maybe you could lower the top of both sides of the lower ring
01:26:26 <b_jonas> well done in the sense that they look nice and consistent with the normla digits
01:26:29 <\oren\> prooftechnique: you could try a wiggly arrow? ↝
01:26:47 <prooftechnique> Oh, that would work very nicely
01:26:48 <prooftechnique> Thanks
01:26:48 <b_jonas> although...
01:27:09 <b_jonas> I wonder if perhaps you could improve the blackboard bold digit 1 by moving the vertical stem one pixel right
01:27:22 <b_jonas> I'm not sure that works
01:27:43 <\oren\> well the lower bar is 8 pixels long
01:28:03 -!- Treio has quit (Ping timeout: 248 seconds).
01:28:30 <b_jonas> \oren\: I can't really give good feedback about how the gothic letters look, because I'm not used to seeing gothic letters, so I don't really know how they're supposed to look normally.
01:28:51 <b_jonas> \oren\: yes, so I'm not sure it will work, but it might
01:29:46 <\oren\> yah that works
01:32:20 <\oren\> thanks
01:38:44 <hppavilion[1]> Ugh
01:38:52 <hppavilion[1]> How do the peano axioms define division?
01:43:28 <\oren\> jeb is dropping out!
01:44:31 <\oren\> he looks truly in the grips of despair
01:47:06 <\oren\> his concession speech is utterly depressing....
01:48:47 <lambda-11235> hppavilion[1]: a - 0 = a, S(a) - S(b) = a - b, right?
01:49:09 <hppavilion[1]> lambda-11235: Yes
01:50:19 <hppavilion[1]> \oren\: Which candidate are you rooting for, and are you rooting for them out of self-interest (that is, you want them because the other will nuke your country to kingdom come) or because you want to see how far they'll take the crazy?
01:51:10 <\oren\> I would like Trump and Sanders to win the primaries, then I want Sanders to win the election.
01:51:45 <hppavilion[1]> Ah
01:52:08 <\oren\> mostly because I don't like stock traders
01:52:20 <shachaf> \oren\: Why not?
01:53:03 <lambda-11235> hppavilion[1]: If we say that 0 - a = 0, then 0/b = 0, a/b = a + ((a - b)/b), or am I missing something?
01:53:16 <\oren\> when I was 14, a stock trader divided by zero or something and somehow that ruined the whole economy and lost millions their jobs
01:53:40 <shachaf> When was that?
01:53:43 <hppavilion[1]> lambda-11235: Let me try it
01:53:45 <\oren\> 2007
01:54:02 <shachaf> are you sure that was a stock trader?
01:54:24 <\oren\> some sort of stock market person or company
01:54:53 <\oren\> the point is the system shouldn't be such that that can happen
01:55:08 <shachaf> can you tell me more
01:55:20 <shachaf> what was the problem with stock trading and how do you think it'll be fixed
01:55:58 <\oren\> well Sanders will make it so that people who crash the market will pay for it rather than be given more monay
01:56:07 <hppavilion[1]> lambda-11235: It things 4/2 is 6 for some reason
01:56:11 <hppavilion[1]> Let me check my code
01:56:14 <lambda-11235> hppavilion[1]: Sorry, that should have been 0/b = 0, a/b = 1 + ((a - b)/b), an a was supposed to be a 1.
01:56:27 <shachaf> how?
01:56:29 <hppavilion[1]> Ah
01:56:39 <shachaf> and why should the people who crash the market pay for it?
01:56:56 <\oren\> because they're responsible for their actions
01:57:08 <hppavilion[1]> lambda-11235: There, that works
01:57:13 <hppavilion[1]> At least for 4/2
01:57:46 <hppavilion[1]> lambda-11235: Ah, but it freezes for 5/2
01:57:47 <\oren\> if you take an action that causes 1 million people to lose their jobs, then you have to be punished for that action
01:58:14 <prooftechnique> What if you invent a cheap, easily produced robot that makes a million people redundant?
01:58:18 <shachaf> do people who crash the market take those actions?
01:58:22 <\oren\> yes
01:58:38 <shachaf> what if the market was way overvalued, and then it crashed to a reasonable level?
01:59:07 <lambda-11235> hppavilion[1]: Does 0 - a = 0 hold?
01:59:08 <\oren\> then whoever helped to create the bubble should also be punished
01:59:14 <shachaf> and anyway how do you think people would be made to pay for it?
01:59:18 <hppavilion[1]> lambda-11235: Right, no, it doesn't
01:59:25 <\oren\> by a tax on speculation
01:59:45 <shachaf> ok, so your problem is with speculation?
01:59:49 <\oren\> or possibly adding "abuse of the stock market" as a criminal offence
02:00:01 <hppavilion[1]> lambda-11235: x=3. Close enough.
02:00:11 <shachaf> abuse of the stock market is already a criminal offense
02:00:26 <\oren\> my problem is that somehow some people playing with numbers on computers, caused millions of people to suffer
02:01:04 <hppavilion[1]> \oren\: So your problem is with programmers?
02:01:06 <\oren\> i don't actually knwo the details, but i want those responsible, whoever they were to be punished
02:01:14 <hppavilion[1]> \oren\: Particularly those at microsoft?
02:01:17 <\oren\> hppavilion[1]: maybe...
02:01:50 <hppavilion[1]> `quote <\oren\> i don't actually knwo the details, but i want those responsible, whoever they were to be punished
02:01:57 <HackEgo> No output.
02:02:08 <hppavilion[1]> `addquote <\oren\> i don't actually knwo the details, but i want those responsible, whoever they were to be punished
02:02:12 <HackEgo> 1268) <\oren\> i don't actually knwo the details, but i want those responsible, whoever they were to be punished
02:02:37 <shachaf> is the underlying idea that the stock market causes all sorts of problems and doesn't provide value, or sufficient value, to the world?
02:02:48 <shachaf> or certain types of participants in the stock market do?
02:03:40 <\oren\> it seems to mostly provide value to those who are in it
02:03:53 <\oren\> rather than to the people
02:04:41 <\oren\> and when it crashed, the stock people were given money by the government, instead of those who lost their jobs being given money
02:05:01 <shachaf> which stock people?
02:05:13 <\oren\> some banks or something
02:05:30 <shachaf> are you sure you're even thinking of stocks?
02:05:30 <\oren\> as I said I don't know the details, I was 14.
02:05:52 <shachaf> as opposed to, i don't know, mortgages, or insurance, or something?
02:05:57 <\oren\> maybe they were called derivtives
02:07:20 <shachaf> you seem to be willfully ignorant about these things to some degree :'(
02:08:37 <hppavilion[1]> \oren\: I think it was functors hth
02:09:35 <hppavilion[1]> I still want to see a story that is based on if obscure math WAS reality
02:09:45 <hppavilion[1]> e.g. you can banach tarski things with a sharp knife
02:10:37 <shachaf> Knives don't work that way.
02:10:58 <\oren\> pretty much. the financial markets or whatever, seem to trade in imaginary things like stocks or derivatives or something, and then somehow that caused huge numbers of people who were entirely unconnected with the stock market, to suffer hardship, while many stock people continued to get paid >$100000 a year
02:11:22 <hppavilion[1]> shachaf: Not in /this/ universe
02:11:49 <\oren\> I'm willfully ignorant because I have no wish to be connected to such an evil-sounding system
02:12:26 <shachaf> \oren\: there are certainly issues with these things, but they also solve actual problems
02:14:09 <shachaf> people probably get paid too much money for all sorts of financial things (of which stock trading is only a small part), but they probably shouldn't get paid $0 for it, at least unless you do things in a drastically different system
02:14:20 <coppro> what they shouldn't get paid for is doing bad things
02:14:30 <\oren\> coppro: exactly
02:14:43 <shachaf> I agree. I think in general bad things are bad.
02:15:13 <prooftechnique> Safe bet
02:15:17 <shachaf> But you have to understand what they are if you want to regulate them effectively.
02:15:35 <shachaf> anyway software people and all sorts of other people also continued to get paid >$100000 a year
02:15:41 <\oren\> I want sanders because I'm certain that if the crash happened under him, he'd give help to those cast into poverty by the event, rather than to richbanks
02:16:02 <coppro> there's a whole web of problems with law enforcement in the financial sector
02:16:16 <shachaf> i'm still not sure what the connection between stock trading and the problems you're talking about is
02:16:27 <coppro> bailouts are also a problem
02:16:45 <coppro> i dunno, insider trading?
02:17:03 <\oren\> if there were no bailouts, then the banks would be more careful to not crash the market.
02:17:21 <\oren\> shachaf: well don't stock traders work for these banks?
02:17:29 <coppro> \oren\: it's not just banks
02:17:57 <coppro> it's any industry that can convince the government it's so important that the government should pay it money when it loses money
02:18:04 <coppro> banks actually qualify for that
02:18:10 <coppro> things like manufacturing don't
02:18:30 <shachaf> \oren\: anyway my job involves writing software that trades stocks
02:18:33 <shachaf> what do you think i should do
02:18:52 <\oren\> write it so it doesn't make trades that crash the market?
02:19:12 <coppro> shachaf: accept that you're irredeemably evil
02:19:29 <coppro> no
02:19:34 <coppro> write it so it crashes the market more
02:19:59 -!- lynn has quit (Ping timeout: 244 seconds).
02:20:35 <shachaf> coppro: if you convince me that something i'm doing is irredeemably evil then i'll stop doing it
02:21:08 <coppro> \oren\: automated stock trading software crashing the market is barely a concern
02:21:14 <coppro> such crashes tend to be very short-lived
02:21:40 <coppro> the only people losing money are the short-term traders... who you characterize as bad
02:21:54 -!- XorSwap has joined.
02:22:16 <shachaf> i think everyone has been characterized as bad by now
02:22:22 <\oren\> well, i dunno, maybe write it so it doesn't allow bubbles to form?
02:22:56 <coppro> bubbles have nothing to do with the software
02:23:10 <coppro> they happen even if it's all humans
02:23:40 <\oren\> well maybe software can help prevent humans from creating bubbles?
02:24:20 <coppro> that would be pretty cool macroeconomics; too bad it doesn't exist
02:26:41 <coppro> microeconomics is the study of financial systems that we understand really well but never actually happen. Macroeconomics is the study of financial systems that are impossible to understand but that happen all the goddamned time
02:27:07 <hppavilion[1]> IDEA
02:27:18 <hppavilion[1]> We should start making EsO' Reilly books
02:28:09 <coppro> lol
02:28:20 <hppavilion[1]> coppro: No really
02:28:33 <hppavilion[1]> coppro: What should the mascot for "Brainfuck & Derivatives" be?
02:28:44 <hppavilion[1]> I'm thinking an invasive species of some sort
02:28:48 <shachaf> derivatives? probably the devil
02:28:55 <hppavilion[1]> shachaf: Mine is better
02:28:58 <coppro> hppavilion[1]: cow
02:29:03 <coppro> actually no
02:29:05 <coppro> orangutan
02:29:14 <hppavilion[1]> shachaf: Though we'll only cover major derivatives with something useful to offer for programmers
02:29:32 <hppavilion[1]> coppro: Perhaps xD
02:29:55 <\oren\> use a microscope photo of a mad cow virus
02:30:05 <hppavilion[1]> \oren\: Sure
02:30:11 <coppro> hppavilion[1]: becaues of Ook! specifically
02:32:08 <hppavilion[1]> coppro: Yes, of course
02:32:18 <hppavilion[1]> coppro: I wasn't going to include Ook! in the book though
02:32:25 <hppavilion[1]> Because it isn't a particularly useful derivative
02:32:37 -!- XorSwap has quit (Ping timeout: 252 seconds).
02:32:54 <hppavilion[1]> http://i.imgur.com/hdV6uVd.jpg
02:36:14 -!- XorSwap has joined.
02:39:40 -!- Sprocklem_ has joined.
02:41:43 <shachaf> \oren\: http://www.npr.org/sections/money/2012/10/17/163038597/ask-a-banker-whats-a-derivative
02:42:34 -!- Sprocklem has quit (Ping timeout: 240 seconds).
02:51:25 <\oren\> ok, so now I know what a derivative is (a bet on the price of something, without actually buying that thing).
02:52:30 <\oren\> but thet didn't explain why people who weren't connected to the financial markets started losing their jobs and homes?
02:57:32 <coppro> \oren\: in the 2008 crisis?
02:57:36 <\oren\> yes
02:57:50 <coppro> Not much to do with derivatives
02:57:57 <coppro> It has to do with loan reselling
02:58:00 <prooftechnique> Mostly mortgages
02:58:10 <prooftechnique> And other big ticket bad debt
02:58:14 <coppro> If you take out a mortgage with a bank, the bank can resell its part of the mortgage
02:58:38 <coppro> there are a bunch of reasons it might do this; it might be a hedge, or it might be to align mortgages with loans, or any number of other reasons
02:59:01 <coppro> but importantly, they're sometimes resold as investments
02:59:21 <\oren\> so if the bank sells my mortgage, that means I suddenly owe someone else money instead of the bank?
02:59:24 <coppro> yep
02:59:53 <coppro> the bank keeps taking the payments and passing them along for you so that you don't have to do anything different, but legally someone else holds the debt
03:00:01 <coppro> *credit
03:00:08 <prooftechnique> Though that's likely transparent to you, since debt is basically intangible
03:00:14 <coppro> right
03:00:47 <coppro> part 2 of the puzzle is "subprime" mortgages, which is basically shitty mortgages that are not high likelihood to get repayed
03:01:06 <coppro> banks might agree to them on a risk, or because they're required to by regulation, and will usually charge correspondingly high rates
03:01:10 <\oren\> because the people are poor?
03:01:16 <coppro> usually
03:01:25 <coppro> or they aren't exactly poor but are buying a house way out of their income range
03:01:52 <prooftechnique> The point is that buying the debt is risky, since the money may never come
03:02:37 <coppro> part 3 is that the subprime mortgages were bundled together with other forms of debt, and the ratings agencies that basically say how likely a debt is to go bad reported the packages as much better than they actually were
03:02:43 <coppro> the high rates made them attractive, of course
03:02:48 <hppavilion[1]> Which BF derivatives add significant features worthy of being featured in the book?
03:03:19 -!- PinealGlandOptic has joined.
03:03:43 <coppro> so basically there was this shell game going on. I don't know enough to say whether it was driven by malice or incompetence, but the net effect was that a lot of companies that had nothing to do with the financial sector found themselves owed money by people who couldn't pay their mortages
03:03:44 <\oren\> ok, so it sounds like the ratings agencies were responsible as well
03:03:48 <coppro> yep
03:04:08 <\oren\> hopefully we can rough them up too
03:04:18 <coppro> although I don't know if they were relying on incorrect information and doing poor due diligence, or were the ones making the principal mistake
03:05:24 <coppro> when the mortgages started going bad, creditors started asking "why's my investment not paying out? It was supposed to be safe!" Eventually people caught on that these bad mortgages had snuck into the markets, and then everyone looked at the investments' balance sheets again
03:06:03 <coppro> the resulting panic was basically the genesis of the crisis
03:06:28 <prooftechnique> \oren\: Consumers (home buyers, etc.) also played a role, by taking on unsustainable debts based on incomplete information. It was basically a feedback loop
03:06:39 <prooftechnique> Which is what turned it into a bubble.
03:07:12 <shachaf> note that the people losing money here are the investors, not the borrowers
03:08:43 <shachaf> (of course a lot of people lost all sorts of things indirectly)
03:13:32 <\oren\> it's the indirect people that I'm mad about, not the investors or even the home buyers
03:13:38 <hppavilion[1]> I wonder if a hypergraph FSM is any more powerful than a traditional FSM
03:13:53 <\oren\> people who had literally nothing to do with the seminal event
03:14:01 <hppavilion[1]> Step 1) Figure out How the Hell a hypergraph FSM works
03:14:11 <shachaf> \oren\: where do stock trading people come into it?
03:14:31 <\oren\> derivatives are basically a type of stock or whatever
03:14:46 <prooftechnique> I think the term of art is instrument
03:14:51 <\oren\> right
03:15:02 <\oren\> sutre
03:15:23 <shachaf> stocks are parts of companies
03:17:18 <shachaf> i think there are a lot of legitimate arguments to make about all these things. you should make some of them
03:18:56 <\oren\> I don't think I'm qualified. but the point is, I think Sanders will do stuff to make sure innocent, ordinary people are not victimized by these financial instrument crashes, whereas I don't think hillary will do anything to prevent that.
03:19:31 * hppavilion[1] jumps off wall street and on to the topic platform
03:19:35 <\oren\> that's all...
03:20:23 <pikhq> I would suggest you become significantly more familiar with how the financial system works. :)
03:21:10 <\oren\> it's not needed if I just stay the heck away from anything that seems risky
03:21:51 <hppavilion[1]> How WOULD a hyperfsm work? Perhaps concurrency?
03:21:58 <shachaf> i think it's p. important given how much it influences your world
03:22:16 <hppavilion[1]> But that doens't work with how my idea of a hyper-digraph works...
03:22:51 <\oren\> shachaf: what if I only buy government bonds
03:23:44 <shachaf> you should buy government bonds at negative interest rates
03:23:46 <\oren\> (in stable, civilized countries, that is)
03:24:43 <\oren\> can I get an interest rate guaranteed to be exactly the rate of inflation?
03:25:06 <\oren\> if so, how do I do that
03:25:21 -!- jaboja has quit (Ping timeout: 276 seconds).
03:25:21 <shachaf> yes
03:25:54 <Phantom__Hoover> there's a simple solution to all of this and it's bitcoin
03:26:00 <shachaf> there you go
03:26:03 <hppavilion[1]> Phantom__Hoover: What about titcoin?
03:26:14 <shachaf> bitcoin is guaranteed to always go up
03:26:29 <Phantom__Hoover> use both and you can do 6 transactions per second rather than 3!
03:27:13 <shachaf> \oren\: if you want it in CAD, ask your government, i guess
03:27:58 <shachaf> but why would you buy bonds?
03:28:09 <\oren\> to keep my money safe
03:29:16 -!- newsham has quit (Ping timeout: 252 seconds).
03:29:44 <\oren\> Right now, I am just keeping all of my money in my checking account
03:30:01 <\oren\> but that is affected by inflation
03:30:22 <prooftechnique> I keep all of my excess cash in an ETF
03:30:37 <prooftechnique> And I let robots deal with it
03:30:54 <\oren\> augh
03:31:21 <prooftechnique> I have a SEP with the robots, too
03:31:30 <prooftechnique> My future is literally in the hands of AI
03:31:49 <shachaf> which robots?
03:32:48 <prooftechnique> Betterment, at the moment. I was trying to decide between them and Vanguard, but I liked the service charges on Betterment more
03:32:49 <Phantom__Hoover> \oren\, so... use a savings account?
03:33:12 <prooftechnique> \oren\: Any money you have in a bank is being invested and reinvested behind your back, anyway
03:33:17 <prooftechnique> That's just how banks work
03:33:41 <prooftechnique> shachaf: And Betterment uses a bunch of Vanguard funds, anyway, so
03:33:50 -!- newsham has joined.
03:33:56 <shachaf> prooftechnique: Service charges?
03:34:44 <shachaf> prooftechnique: Sure, but having a bank owe you money is a very different risk profile from whatever the bank is investing in.
03:35:16 <\oren\> hmm I guess technically I have several thousand dollars in yen as well (leftover from my trip to Japan)
03:35:30 <\oren\> like 2000
03:35:45 <\oren\> in a jar
03:36:00 <prooftechnique> Like, what they charge me to handle my money. With an auto-deposit, it drops to like .35%/mo of what I have with them
03:36:10 <\oren\> so even if the whole of canada goes crap, I'll still have yen
03:36:18 <prooftechnique> Until I hit 10k, then it goes to 0.25%
03:36:33 <prooftechnique> shachaf: This is true
03:36:43 <shachaf> 0.25%/*month*?
03:37:04 <prooftechnique> 0.25% of assets per month
03:37:10 <prooftechnique> I realize I wrote that really weirdly
03:37:13 <shachaf> \oren\: so you're speculating on currency on the side?
03:37:15 <shachaf> So 3%/year?
03:37:23 <prooftechnique> Arbitrage!
03:37:27 <prooftechnique> Yeah
03:37:33 <shachaf> 3%/year is ridiculous.
03:37:34 <\oren\> shachaf: unintentionally I guess
03:38:11 <prooftechnique> shachaf: I think I got a free couple of months on referrals, too.
03:38:28 <shachaf> Are you sure you don't mean 0.35%/year?
03:38:41 <prooftechnique> Oh, wait, yes, that is what I mean
03:38:50 <prooftechnique> I misread it
03:38:53 <prooftechnique> That makes much more sense
03:38:56 <\oren\> I basically kept taking money out to buy stuff in Japan and when I came home I had a lot left over
03:39:49 <\oren\> hmm lemme check the other jars
03:40:18 <\oren\> hmm I also have some mexican pesos and euros
03:40:34 <\oren\> and a lot of british punds
03:41:10 <shachaf> prooftechnique: I'm not sure what it's putting your money in, but it sounds like more than a typical Vanguard thing would charge.
03:41:22 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
03:41:31 <shachaf> I guess in theory they make some money on capital losses too?
03:42:22 <shachaf> Not sure how much of an advantage you get from that in practice.
03:42:30 <prooftechnique> Yeah, I think so. I could look up a fee breakdown.
03:43:39 <prooftechnique> The main selling point was the nonexistent minimum investment. Wanted to square my taxes away before I started dumping cash into it
03:43:50 <prooftechnique> Being a 1099 is annoying
03:45:07 <shachaf> I guess Vanguard's target retirement funds have a $1000 minimum? I don't know what sorts of goal you have for the money.
03:46:57 <prooftechnique> shachaf: I've got a rainy day fund I'm building up to 10k so I can take a couple of months off and look for a new job, then a SEP so I've got something to stick excess money into each month
03:47:10 <\oren\> wow I can't believe schwartznegger has been reduced to appearing in ads for mobile games
03:47:11 <prooftechnique> With a goal of retiring someday :D
03:47:49 <zzo38> I keep the money in my desk
03:48:02 <shachaf> zzo38's system is the best
03:48:06 <shachaf> After Bitcoin, I mean.
03:48:28 <prooftechnique> Definitely the safest, as long as you have it in a fire-resistant form
03:48:39 <\oren\> gold is fire-resistant
03:49:09 <\oren\> or you could keep it in an asbestos suitcase
03:49:21 <Phantom__Hoover> it's also not good at keeping its value
03:49:59 <prooftechnique> Depends how much time he spends destroying or otherwise nullifying other people's gold
03:50:35 <Phantom__Hoover> or, more prosaically, how many idiots want to buy gold so as to be free from the evil shackles of government
03:50:47 <\oren\> use a neutron gun to transmute gold into mercury
03:53:16 <\oren\> natural gold is Au-197. you add a neutron to make Au-198, which β-decays into Hg-198
03:53:35 <shachaf> i prefer my guns containing no neutrons
03:54:18 <zzo38> \oren\: O, that's how it works. I didn't know that; now I can know
03:54:31 <MDude> That would be itneresting.
03:54:52 <\oren\> I like studying nuclear equations
03:54:57 <Phantom__Hoover> zzo38, but do you know?
03:54:59 <MDude> A gun which uses only elements that arestable without neutrons.
03:55:21 <Phantom__Hoover> \oren\, have you heard of tantalum-180m
03:55:22 <\oren\> i'm pretty sure that's only hydrogen
03:55:30 -!- Reece` has quit (Quit: Leaving).
03:55:53 <MDude> THere's also helim, I think?
03:56:05 <prooftechnique> Oh, \oren\, any plans to support powerline characters in your font? I don't know how difficult that would be
03:56:42 <\oren\> helium is He-4,2
03:56:56 <\oren\> so 2 neutrons and 2 protons
03:57:14 <\oren\> powerline characters?
03:57:39 <MDude> Oh, diproton is actually very unstable.
03:57:52 <MDude> Better strengthern that strong force I guess.
03:58:00 <prooftechnique> \oren\: https://github.com/powerline/fonts
03:58:24 <\oren\> oh. ok I'll look at that
03:58:33 <MDude> And in the process cause untold side-affects.
03:59:01 <prooftechnique> \oren\: I might just be able to patch the font with the tool they use, I just don't know if it'll stomp your glyphs :)
03:59:04 <\oren\> is there a list of code points and appearances somewhere
03:59:30 <\oren\> if there's less than like 50, I'll add them
03:59:42 <prooftechnique> Let me see what I can find
04:02:53 <HackEgo> [wiki] [[Bodyfuck]] https://esolangs.org/w/index.php?diff=46423&oldid=39175 * MDude * (+36)
04:03:39 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
04:05:15 <prooftechnique> \oren\: https://github.com/powerline/fontpatcher
04:05:28 <prooftechnique> That's the script that's used to patch other fonts, evidently
04:05:55 <\oren\> oh, I can just read the powerline symbol font with fontforge.
04:06:47 <\oren\> there are 6 characters in the font
04:06:57 <\oren\> I'll add them straight away
04:07:02 <prooftechnique> Neat :)
04:07:05 <prooftechnique> Thanks!
04:08:25 <izabera> omg bodyfuck
04:08:36 <HackEgo> [wiki] [[Absurd Brainfuck]] https://esolangs.org/w/index.php?diff=46424&oldid=30946 * MDude * (+74)
04:08:51 <HackEgo> [wiki] [[TwoDucks]] https://esolangs.org/w/index.php?diff=46425&oldid=36364 * MDude * (+38)
04:15:52 -!- earendel has quit (Ping timeout: 255 seconds).
04:28:45 -!- infinitymaster has quit (Remote host closed the connection).
04:33:44 <\oren\> unfortunately, generallyy if you keep hitting any given element with neutrons it tends to either fission or move toward lead
04:33:54 <\oren\> depending on how big it is
04:34:15 <\oren\> and lead is not a very useful element
04:35:03 <prooftechnique> Depends how much radiation you're exposed to in your day to day
04:35:19 <\oren\> true :)
04:35:37 <\oren\> gold is almost as good as lead for shielding
04:36:06 <\oren\> but gold is shiny, so it is much more expensive
04:36:26 <pikhq> Gold is also much more *rare* than lead.
04:37:26 <shachaf> pikhiq
04:40:29 <\oren\> well yeah, but comparatively rarer but less shiny elements like iridium aren';t worth as much
04:40:56 <prooftechnique> \oren\: Do you have to set the newly added characters green manually, or have you got a script that marks characters new?
04:41:43 <\oren\> I have a manual page (fontdemo) where I do everything manually, and an automatic page.
04:43:11 -!- Sgeo__ has joined.
04:43:18 <zzo38> Although I have PortAudio library installed on my computer, the package manager says there are conflicts if the development files are to be installed.
04:43:40 <HackEgo> [wiki] [[And then]] https://esolangs.org/w/index.php?diff=46426&oldid=41170 * MDude * (+36)
04:44:45 <HackEgo> [wiki] [[Blackberry]] https://esolangs.org/w/index.php?diff=46427&oldid=44271 * MDude * (+26)
04:45:28 <MDude> Should I be marking these as minor edits?
04:45:40 -!- Sgeo_ has quit (Ping timeout: 268 seconds).
04:46:25 <HackEgo> [wiki] [[Bfstack]] https://esolangs.org/w/index.php?diff=46428&oldid=45775 * MDude * (+61)
04:46:28 <\oren\> ok, 
04:46:31 <\oren\> YUP
04:46:42 <MDude> Alright then.
04:46:54 <prooftechnique> Yup, works for me, too :)
04:46:56 <prooftechnique> Thanks!
04:47:14 <MDude> Oh, that's not what you were answering.
04:47:38 <zzo38> It also depends on the package for the C++ bindings, and I do not need C++ bindings.
04:48:58 <MDude> http://esolangs.org/wiki/Andrew%27s_Programming_Language Is this a declarative lanugage?
04:49:23 <\oren\> I updated the font demo, so you should be able to download the new version
04:49:37 <\oren\> if havent' already I mean
04:49:43 <MDude> I'm just going through the list on uncategorized pages and seeing what I can put in a category easily.
04:50:10 <MDude> Oh wow here's the Br section.
04:50:19 <MDude> I wonder what category I'll be expanding the most tonight?
04:50:38 <prooftechnique> Yeah, already got it. Thanks. :) I think this is about the largest glyph coverage I've ever seen in a font
04:50:47 <prooftechnique> Giving Pragmata a run for its money
04:51:00 <HackEgo> [wiki] [[BrainDuino]] M https://esolangs.org/w/index.php?diff=46429&oldid=25379 * MDude * (+35)
04:51:25 <HackEgo> [wiki] [[Brainflow]] https://esolangs.org/w/index.php?diff=46430&oldid=40558 * MDude * (+36)
04:51:54 <HackEgo> [wiki] [[BrainfuckX]] M https://esolangs.org/w/index.php?diff=46431&oldid=45421 * MDude * (+36)
04:51:54 <\oren\> my original goal was to be "like gnu unifont, but not crap-ugly, with a consistent style"
04:52:10 <izabera> ooh i like brainflow
04:52:23 <HackEgo> [wiki] [[Brainfuck Sharp]] M https://esolangs.org/w/index.php?diff=46432&oldid=46371 * MDude * (+36)
04:53:03 <\oren\> hmm maybe  should go all the way to the bottom of the character cell?
04:53:28 <\oren\> yah I'll do that next time
04:53:30 <HackEgo> [wiki] [[Brainfuck derivatives]] M https://esolangs.org/w/index.php?diff=46433&oldid=41539 * MDude * (+36)
04:53:54 <HackEgo> [wiki] [[Bukkake]] https://esolangs.org/w/index.php?diff=46434&oldid=39601 * MDude * (+36)
04:54:55 -!- relrod has quit (Ping timeout: 268 seconds).
04:54:55 -!- catern has quit (Ping timeout: 268 seconds).
04:55:25 <HackEgo> [wiki] [[BitZ]] M https://esolangs.org/w/index.php?diff=46435&oldid=40930 * MDude * (+36)
04:55:39 <prooftechnique> \oren\: Also, I get these little borders at the corners, but I don't know if that's the font or just me
04:55:40 <izabera> MDude: write a bot
04:55:42 <prooftechnique> http://i.imgur.com/LXbJr5g.png
04:56:14 <prooftechnique> Might just be the plugin, so if it looks unfamiliar, I wouldn't worry about it
04:56:30 <MDude> It would be good for me to actually learn netcode.
04:57:34 <\oren\> oh, that's my nbsp character which has corners
04:58:04 <HackEgo> [wiki] [[Disney queue]] https://esolangs.org/w/index.php?diff=46436&oldid=44371 * MDude * (+26)
04:58:32 * izabera has no idea why a monospaced font would need to use nbsp instead of space
04:59:02 <MDude> Because even using that font, a browser migth discard the additional spaces.
04:59:08 <MDude> Since that's how html works.
04:59:23 <Elronnd> If you want the space to actually show up, you need to use <pre>
04:59:28 -!- relrod_ has joined.
04:59:29 -!- relrod_ has quit (Changing host).
04:59:29 -!- relrod_ has joined.
04:59:38 <MDude> Or use non-breaking spaces.
05:00:09 <MDude> Which you might want to use in cases where you can't actually use html tags, like on a bullitin board.
05:00:40 <izabera> i was talking about powerline
05:00:46 <izabera> why does that need nbsp?
05:01:11 <prooftechnique> I think it's so the status bar doesn't break when you resize the terminal, probably
05:01:21 -!- perrier_ has joined.
05:01:33 <prooftechnique> Technically it's airline, but v0v
05:01:40 <\oren\> i doubt it would, the status bar on tmux doesn't break after all
05:01:40 <HackEgo> [wiki] [[Call stack]] M https://esolangs.org/w/index.php?diff=46437&oldid=46073 * MDude * (+40)
05:01:47 <prooftechnique> True
05:01:56 <prooftechnique> Maybe there's a setting to make it use some other character
05:02:18 -!- catern has joined.
05:02:57 <HackEgo> [wiki] [[DUCK]] M https://esolangs.org/w/index.php?diff=46438&oldid=45835 * MDude * (+29)
05:03:19 -!- XorSwap has quit (Ping timeout: 252 seconds).
05:03:37 <HackEgo> [wiki] [[Eitherf*ck]] M https://esolangs.org/w/index.php?diff=46439&oldid=21649 * MDude * (+36)
05:05:27 <HackEgo> [wiki] [[Element]] M https://esolangs.org/w/index.php?diff=46440&oldid=42722 * MDude * (+26)
05:07:14 -!- relrod_ has changed nick to relrod.
05:08:39 <izabera> https://vimeo.com/11976683 why does his interpreter enter that [-] loop?
05:08:46 <HackEgo> [wiki] [[Esoteric units of information]] M https://esolangs.org/w/index.php?diff=46441&oldid=46326 * MDude * (+40)
05:10:34 <MDude> Hmm, it seems there's an extraneous separate page for Funge-98
05:10:35 <MDude> http://esolangs.org/wiki/Funge-98
05:11:58 <HackEgo> [wiki] [[GodScript]] https://esolangs.org/w/index.php?diff=46442&oldid=14400 * MDude * (+24)
05:13:01 <izabera> ^bf ++>++<[->+<]>>++++++[>++++++++<-][-]<[->+<]>[->+<]>. his interpreter spends from 3:39 to 4:39 on that [-] that shouldn't even be entered in the first place
05:13:01 <fungot> 4
05:13:16 <HackEgo> [wiki] [[GodScript]] https://esolangs.org/w/index.php?diff=46443&oldid=46442 * MDude * (-1)
05:13:24 <zzo38> I think I figured out how to resolve the conflicts, which is by first telling it which version of "libjack-dev" to use, before selecting the main package I want to install.
05:14:53 <HackEgo> [wiki] [[Gulf]] M https://esolangs.org/w/index.php?diff=46444&oldid=43382 * MDude * (+30)
05:15:51 <HackEgo> [wiki] [[Hyperfunge]] M https://esolangs.org/w/index.php?diff=46445&oldid=44699 * MDude * (+40)
05:16:55 <HackEgo> [wiki] [[DUCK]] M https://esolangs.org/w/index.php?diff=46446&oldid=46438 * MDude * (+0) capitalization typo
05:17:50 <HackEgo> [wiki] [[Greentext]] M https://esolangs.org/w/index.php?diff=46447&oldid=45368 * MDude * (+23)
05:19:38 <MDude> Well I think that's enough for tonight.
05:20:28 <MDude> I should get to bed, and I'm sure HackEgo could sue a break by now.
05:20:33 -!- MDude has changed nick to MDream.
05:20:38 <izabera> :)
05:21:15 <prooftechnique> \oren\: I found it. I copied a few lines from someone else's airline config and they set the spacer to be a nbsp. Derp
05:21:34 <prooftechnique> Looks great, now :)
05:25:19 <\oren\> great
05:27:50 <MDream> http://esolangs.org/wiki/Linguistic_Calculus this one looks pretty nice
05:30:01 <\oren\> omg I misspelled "technical" in my fontdemo, how long has that been there?!
05:33:35 <\oren\> maybe tomorrow I'll add emoji
05:33:43 <\oren\> a few of them anyway
05:35:17 <prooftechnique> If it helps your choices, I use ❤️ and 💔 to indicate clean and dirty status on git repos
05:35:53 <\oren\> `unidecode 💔
05:36:16 <HackEgo> U+1F494 BROKEN HEART \ UTF-8: f0 9f 92 94 UTF-16BE: d83ddc94 Decimal: &#128148; \ 💔 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals)
05:48:20 -!- adu has joined.
05:54:01 -!- singingboyo has joined.
06:06:13 -!- hppavilion[1] has joined.
06:16:42 -!- FireFly has quit (Quit: ZNC 1.6.1 - http://znc.in).
06:36:16 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
06:37:20 -!- hppavilion[1] has joined.
06:45:01 -!- infinitymaster has joined.
06:50:13 <hppavilion[1]> Anybody else here think there needs to be a new prolog? One better than the current one?
06:50:22 <zzo38> I don't know.
06:50:29 <hppavilion[1]> Current Prolog is good, but a bit outdated and with some strange syntax rules
06:50:36 <zzo38> But, you can try to write about improvement if you want to
06:50:51 <zzo38> What things are wrong with Prolog?
06:51:49 <hppavilion[1]> zzo38: Just seems a bit... old
06:52:25 <hppavilion[1]> zzo38: The biggest one is that it seems to brute force solutions to problems, which is definitely necessary in some cases, but HORRIBLY inefficient
06:53:13 <hppavilion[1]> zzo38: For example, if you tell it X is 5-3 (with many syntaxes), it will check every values from 0 to infinity to see if it satisfies 5-3
06:53:18 <hppavilion[1]> It appears
06:53:25 <hppavilion[1]> It isn't so bad, but factorial is /atrocious/
06:53:29 <zzo38> Ah, yes it seem it could be improved, although there may need to be some extra commands to control it if it is necessary to control it for some reason
06:53:40 <hppavilion[1]> zzo38: Yes, probably
06:53:52 <zzo38> But being old isn't a thing wrong with it.
06:53:56 <hppavilion[1]> I'll probably also make it more suitable for GUI
06:54:03 <hppavilion[1]> zzo38: No, it isn't of course
06:54:11 <hppavilion[1]> LISP is old, and, well, LISP is god
06:54:52 <hppavilion[1]> zzo38: Think I should do static typing like Haskell?
06:54:56 <zzo38> I do not see why Prolog needs to be made more suitable for GUI, if instead you can add on a GUI library if you want GUI, isn't it?
06:55:23 <zzo38> Probably yes you should do static typing like Haskell, although I don't really know Prolog enough to answer this question properly.
06:55:35 <hppavilion[1]> zzo38: Well, the only GUI library I can find- called XPCE- comes with the disclaimer that it's ACTUALLY a completely unrelated language that does OO
06:55:46 <hppavilion[1]> Not really PROLOG, it just looks like it
06:55:52 <hppavilion[1]> I looked at it, and it's /awful/
06:56:14 <zzo38> That problem with GUI library yes does need fixed, by writing a proper one for this new kind of Prolog
06:56:29 <hppavilion[1]> zzo38: I'm not so much modernizing prolog as I am taking the concepts of prolog and making a new one
06:56:44 <zzo38> Yes you can make up a new one
06:56:47 <hppavilion[1]> zzo38: Interestingly, if I do haskelly typing the types will be logic too 0.o
06:56:57 <zzo38> Yes
06:57:25 <zzo38> Does that mean you can use Prolog commands on the types too?
06:57:33 <hppavilion[1]> zzo38: Probably :)
06:57:41 <hppavilion[1]> zzo38: Though I'll probably be keeping the current predicate syntax with parenthesis, instead of moving to haskelly currying notation
06:57:51 <zzo38> That is OK
06:58:02 <hppavilion[1]> zzo38: Seems kind of necessary to preserve the spirit of prolog
06:58:09 <zzo38> OK
06:58:45 <hppavilion[1]> zzo38: I'm considering anonymous horn clauses, but that might be a bit of a halting problem
06:59:26 <hppavilion[1]> e.g. humansAreAllMortal :- (human(X) :- mortal(X))
07:01:02 <hppavilion[1]> zzo38: Should I call it Epilog? xD
07:01:30 <hppavilion[1]> Wow. That isn't taken yet.
07:03:22 <myname> what form
07:03:24 <myname> ?
07:04:21 <zzo38> I have used the format like the /1 used in Prolog also in the documentation of SQL extensions actually
07:05:40 -!- tromp_ has quit (Remote host closed the connection).
07:13:45 -!- PinealGlandOptic has quit (Quit: leaving).
07:14:02 -!- earendel has joined.
07:14:12 <hppavilion[1]> myname: Was that a question for me?
07:14:33 <myname> yeah
07:14:41 <hppavilion[1]> myname: Sorry, what was the question about?
07:15:36 <myname> what is the advantage of anonymous horn clauses
07:16:01 <hppavilion[1]> myname: Not sure yet xD. They could be used for checking if certain rules are true, I suppose?
07:17:48 <myname> you are aware that a -> b is equivalent to ~a or b?
07:18:21 <shachaf> myname: now explain par twh
07:18:55 <myname> (~a is actually not that easy to do, but still possible)
07:20:20 <hppavilion[1]> myname: OK then
07:21:27 <hppavilion[1]> myname: I'm not sure PROLOG allows for ~a or b
07:25:10 -!- ais523 has joined.
07:49:57 -!- lambda-11235 has quit (Quit: Bye).
07:57:42 -!- adu has quit (Quit: adu).
08:04:55 -!- singingboyo has quit (Ping timeout: 255 seconds).
08:06:10 -!- tromp_ has joined.
08:10:29 -!- tromp_ has quit (Ping timeout: 240 seconds).
08:14:02 -!- ais523 has quit.
08:57:04 -!- J_Arcane has quit (Ping timeout: 252 seconds).
09:26:05 -!- Treio has joined.
09:29:40 -!- nisstyre has quit (Ping timeout: 248 seconds).
09:55:37 -!- AnotherTest has joined.
09:57:34 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
09:58:08 -!- nisstyre has joined.
10:17:01 -!- jaboja has joined.
10:32:14 -!- infinitymaster has quit (Quit: Leaving...).
10:40:52 -!- lynn has joined.
11:07:29 -!- tromp_ has joined.
11:11:59 -!- tromp_ has quit (Ping timeout: 240 seconds).
11:33:21 -!- Treio has quit (Quit: Leaving).
11:40:42 -!- Reece` has joined.
11:40:54 <b_jonas> I'll have to figure out the right place to store ordinary bread. Where I stored it until now, it gets moldy too fast, presumably because it got wet and couldn't dry fast enough.
11:41:09 -!- Reece` has quit (Remote host closed the connection).
11:44:30 -!- FireFly has joined.
11:45:38 <b_jonas> Probably I shouldn't put them in plastic bag, at least not for more than a day or two. I'll have to use a linen bag, replaced with a washed one every week or two weeks, to contain the breads.
11:55:22 -!- ammar2 has joined.
11:58:26 <ammar2> anyone seen this language before? apparently its tape based, might be a BF extension/derivative https://gist.github.com/ammaraskar/c19500590e1f8eedc62e
12:26:56 <b_jonas> `? tape
12:27:14 <HackEgo> tape? ¯\(°​_o)/¯
12:27:20 <b_jonas> `? imagine
12:27:21 <HackEgo> imagine? ¯\(°​_o)/¯
12:28:41 <ammar2> tape/cell
12:29:44 <b_jonas> `learn Imagine was the only song not interrupted after two stanzas on the opening ceremony of the 2012 London Olympic Games, a calm moment in an otherwise chaotic rush through fifty pop songs.
12:29:50 <HackEgo> Learned 'imagine': Imagine was the only song not interrupted after two stanzas on the opening ceremony of the 2012 London Olympic Games, a calm moment in an otherwise chaotic rush through fifty pop songs.
12:35:35 -!- ammar2 has left ("Leaving").
12:39:47 <b_jonas> `? socks
12:39:48 <HackEgo> socks? ¯\(°​_o)/¯
12:39:48 <b_jonas> `? sock
12:39:49 <HackEgo> sock? ¯\(°​_o)/¯
12:41:31 <b_jonas> `slashlearn sock Socks are alien larvas planning to take over Earth. They started to teleport into Earthly washing machines through miniature wormholes. The invasion is currently halted, because after 4 billion larvas, they ran out of address space. They are also a protocol for proxying TCP connections.
12:41:32 <HackEgo> No output.
12:41:37 <b_jonas> `slashlearn sock/Socks are alien larvas planning to take over Earth. They started to teleport into Earthly washing machines through miniature wormholes. The invasion is currently halted, because after 4 billion larvas, they ran out of address space. They are also a protocol for proxying TCP connections.
12:41:39 <HackEgo> Learned «sock»
12:41:42 <b_jonas> `slashlearn socks/Socks are alien larvas planning to take over Earth. They started to teleport into Earthly washing machines through miniature wormholes. The invasion is currently halted, because after 4 billion larvas, they ran out of address space. They are also a protocol for proxying TCP connections.
12:41:44 <HackEgo> Learned «socks»
12:41:47 <b_jonas> `? socks
12:41:49 <HackEgo> Socks are alien larvas planning to take over Earth. They started to teleport into Earthly washing machines through miniature wormholes. The invasion is currently halted, because after 4 billion larvas, they ran out of address space. They are also a protocol for proxying TCP connections.
12:43:29 <b_jonas> `? narsil
12:43:30 <HackEgo> narsil? ¯\(°​_o)/¯
12:43:32 <b_jonas> `? ring
12:43:33 <HackEgo> Addition, subtraction and multiplication have a certain ring to them.
12:43:36 <b_jonas> `? one ring
12:43:37 <HackEgo> one ring? ¯\(°​_o)/¯
12:43:47 <b_jonas> `? rhenium
12:43:48 <HackEgo> rhenium? ¯\(°​_o)/¯
12:43:56 -!- MoALTz has quit (Read error: Connection reset by peer).
12:45:01 <b_jonas> `learn Rhenium is a precious metal. It can be found nowhere in Earth because the Enemy has used up all of it for forging the One Ring.
12:45:03 <HackEgo> Learned 'rhenium': Rhenium is a precious metal. It can be found nowhere in Earth because the Enemy has used up all of it for forging the One Ring.
12:46:49 <b_jonas> `slashlearn one ring/One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them
12:46:51 <HackEgo> Learned «one ring»
12:47:18 <b_jonas> `? igramul
12:47:20 <HackEgo> igramul? ¯\(°​_o)/¯
12:47:20 <b_jonas> `? ygramul
12:47:21 <HackEgo> ygramul? ¯\(°​_o)/¯
12:47:43 <b_jonas> `? earthquaker
12:47:44 <HackEgo> earthquaker? ¯\(°​_o)/¯
12:47:44 <b_jonas> `? earthquake
12:47:45 <HackEgo> earthquake? ¯\(°​_o)/¯
12:47:46 -!- p34k has joined.
12:47:49 <b_jonas> `? earth-quaker
12:47:50 <HackEgo> earth-quaker? ¯\(°​_o)/¯
12:55:07 <b_jonas> ``` find wisdom -iname *fire* -o -iname *earth* -o -iname *water* -o -iname *air*
12:55:08 <HackEgo> wisdom/holy water \ wisdom/real fast nora's hair salon 3: shear disaster download \ wisdom/water \ wisdom/llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch \ wisdom/firefly
12:55:14 <b_jonas> `? water
12:55:14 <HackEgo> Water is a squishy substance that creeps along the floor and can suddenly fall from the heavens.
12:56:43 <b_jonas> `? napernyő
12:56:44 <HackEgo> napernyő? ¯\(°​_o)/¯
12:58:16 <b_jonas> `? vector
12:58:17 <HackEgo> vector? ¯\(°​_o)/¯
12:58:18 <b_jonas> `? diadal
12:58:19 <HackEgo> diadal? ¯\(°​_o)/¯
12:58:46 <fizzie> The bread market here is vastly different from the one back in Finland, which is one of the things I miss. (Approximately nobody's selling proper rye bread, or Karelian pasties -- which I count in the bread category, even though it's arguable -- at any reasonable price.)
12:59:20 <b_jonas> fizzie: yes, Hungary used to be about the best place to be if you like bread
12:59:39 <b_jonas> um, if you like to buy ready to eat bread at least, as opposed to making your own bread
13:00:07 <fizzie> Yes. My household is very much a bread importer.
13:00:27 <fizzie> Foodwise, I think bread and candy are the two main categories where moving here seems to have been a downgrade. (It's all very subjective, of course.)
13:00:44 <b_jonas> candy?
13:00:45 <b_jonas> hmm
13:01:44 <fizzie> No salty liquorice (salmiak, ammonium chloride) anywhere, for one thing.
13:02:16 <b_jonas> I don't like salty candy.
13:02:56 <fizzie> People from countries where that's a thing (I think mostly Finland and Sweden) keep bringing it to work, for the surprise/amusement factor, but too rarely.
13:04:06 <b_jonas> I've tried some in Sweden, when it was sold among normal sweet candy. It was between “eww, this doesn't taste good” and “pew, I can't even finish this stuff” depending on the type.
13:04:27 <b_jonas> The large variety in sweet candy was great though.
13:07:16 <b_jonas> But then, I believe any sweet candy or chocolate or similar long-lasting foodstuff that's available in Europe and that Hungarian people would want to eat shows up in shops in Hungary eventually, so we might have the same variety here in some years.
13:07:54 <b_jonas> We can now buy so many kinds of chocolate here, that if you travel to somewhere and want to bring chocolate home as a souvenir, it's not so easy to find one that's unique enough and can't be find here.
13:08:17 <b_jonas> Milk chocolate with rice is among what you can bring, but not for very long I think.
13:09:06 <b_jonas> Plus I keep hearing myths of Milka dark chocolate, but I've never seen it in real life, so I'm not sure it really exists.
13:09:24 <b_jonas> Hmm, it can be bought on amazon. Then it _probably_ exists.
13:09:56 <b_jonas> I hear I hear amazon.com is somewhat careful about not allowing to sell non-existant products.
13:11:07 -!- J_Arcane has joined.
13:11:13 <b_jonas> `? palate
13:11:15 <HackEgo> palate? ¯\(°​_o)/¯
13:14:55 <b_jonas> `learn Palate is usually a metaphor for a person's perferences about food or drink.
13:14:57 <HackEgo> Learned 'palate': Palate is usually a metaphor for a person's perferences about food or drink.
13:17:50 <fizzie> Oh, that's another thing that's missing here: Fazer chocolate.
13:19:55 <b_jonas> fizzie: yes, I've brought some Fazer chocolate from Sweden. They're nice, I expect they might show up here soon, or at least some of it like the cream-filled chocolate stuff should.
13:20:31 <b_jonas> I've also brought Keks bars, which aren't bad, but I don't think that would be very popular here, because we have better alternatives when it comes to chocolate wafer bars.
13:22:37 <b_jonas> Plus I brought some Fisherman's Friends sugarless candy, actually from the UK I believe, which at the point wasn't yet sold here, but now they are selling it in a few places; plus I brought that local hard candy too, called, um, what was its name?
13:23:45 <b_jonas> Läkerol.
13:24:54 <b_jonas> I don't know if you have that in the UK.
13:37:50 <fizzie> I don't think I've seen. You can get it in Finland.
13:41:14 <fizzie> There's a somewhat similar originally very Finnish (now actually part of the same conglomerate as Läkerol, after the Cloetta-Leaf merger) thing called Sisu, which we tend to call "Gifu", due to the old-style font they use in the packaging: http://www.sisulla.fi/fi/etusivu/
13:41:52 <b_jonas> heh
13:45:31 <b_jonas> `? fisherman's friend
13:45:32 <b_jonas> `? keks
13:45:38 <HackEgo> fisherman's friend? ¯\(°​_o)/¯
13:45:38 <HackEgo> keks? ¯\(°​_o)/¯
13:45:39 <b_jonas> `? läkerol
13:45:40 <HackEgo> läkerol? ¯\(°​_o)/¯
13:45:43 <b_jonas> `? milka
13:45:45 <HackEgo> milka? ¯\(°​_o)/¯
13:45:46 <b_jonas> `? fazer
13:45:46 <HackEgo> fazer? ¯\(°​_o)/¯
13:45:47 <b_jonas> `? karl fazer
13:45:49 <HackEgo> karl fazer? ¯\(°​_o)/¯
13:45:51 <b_jonas> `? lindt
13:45:52 <HackEgo> lindt? ¯\(°​_o)/¯
13:46:12 -!- jaboja has quit (Ping timeout: 250 seconds).
13:51:23 <fizzie> wisdom still has some catching-up until it beats Wikipedia in coverage. (Obviously the content quality level is already significantly higher. After all, *anyone* can edit Wikipedia.)
13:52:48 <b_jonas> there was one more chocolate brand I brought from Sweden that you can't buy here, but I don't recall what it was
13:53:02 <b_jonas> it wasn't Finnish like Fazer
13:53:04 <b_jonas> hmm
13:53:51 <b_jonas> oh, I got it:
13:53:53 <b_jonas> Marabou chocolate
13:55:04 -!- jaboja has joined.
13:55:12 <Riviera> b_jonas: .hu? Try an Ikea.
13:55:51 <b_jonas> Riviera: yes, Ikea sells some strange foodstuffs you can't buy elsewhere
13:56:09 <Riviera> They sell Marabou chocolate in the ikeas here.
13:56:34 <Riviera> And hot dog party packs.
13:56:54 <Riviera> And. Hm. Furniture. 8)
13:56:56 <Taneb> b_jonas: do they sell lutefisk
13:57:09 <Taneb> I have a curiosity
13:57:22 <b_jonas> what's a lutefisk?
13:57:28 <b_jonas> I don't really know what they sell
13:57:45 <Taneb> b_jonas: fermented cod
13:58:00 <b_jonas> I haven't been int he ikeas for a while, and I haven't examined the food part in detail
13:58:30 <b_jonas> I know they sell some sort of crackers, as well as Swedish frozen meatballs, and the sauce and jam that goes with that.
14:00:59 -!- ais523 has joined.
14:13:07 <fizzie> Taneb: I don't think they do. We were in one of the UK Ikeas a while ago, and they have some conventional Swedish fishstuffs (pickled herring, gravlax) but not lutefisk.
14:14:15 <fizzie> Although it seems to be a seasonal Christmas thing in some places.
14:16:43 <ais523> hmm, I think lutefisk became more popular because of Dungeons of Dredmor (which I don't play any more because it's balanced terribly, but which some people like)
14:16:49 <ais523> one of its slogans is "lutefisk for the lutefisk god"
14:19:42 -!- J_Arcane has quit (Ping timeout: 244 seconds).
14:20:33 -!- jaboja has quit (Ping timeout: 276 seconds).
14:22:10 <Sgeo__> Has the UI of DCSS improved?
14:22:35 <ais523> Sgeo__: yes but it's still frustratingly inconsistent
14:22:57 <ais523> and has some extraneous features that I keep triggering by mistake (such as cursor-driven menus)
14:39:00 -!- tromp_ has joined.
14:39:34 -!- boily has joined.
14:43:25 -!- tromp_ has quit (Ping timeout: 250 seconds).
14:44:20 -!- jaboja has joined.
14:52:05 -!- ais523 has quit (Read error: Connection reset by peer).
14:52:32 -!- callforjudgement has joined.
14:52:58 -!- callforjudgement has changed nick to ais523.
15:07:05 <izabera> jim carrey is anti vax
15:07:37 <boily> izabellora. eh?
15:07:45 <izabera> helloily
15:07:59 <izabera> he posted pics of autist kids blaming vaccines and their families told him to remove them
15:08:03 <izabera> http://www.theguardian.com/film/2015/jul/07/jim-carrey-apologises-tweet-child-photo-without-permssion-autism-vaccine
15:11:59 -!- ais523 has quit.
15:12:07 -!- ais523 has joined.
15:14:12 -!- XorSwap has joined.
15:21:39 -!- jaboja has quit (Ping timeout: 276 seconds).
15:30:53 -!- XorSwap has quit (Quit: Leaving).
15:31:56 -!- tromp_ has joined.
15:37:48 <int-e> @metar KSFO
15:37:48 <lambdabot> KSFO 211456Z 29003KT 10SM FEW160 SCT200 09/08 A3025 RMK AO2 SLP244 T00890078 53006 $
15:37:58 <quintopia> helloily
15:41:16 <izabera> www.lamdu.org
15:41:35 <izabera> does this idea scale well past simple examples like sum (1..1000) ?
15:43:49 <boily> quinthellopia.
15:44:15 <boily> int-ello. westcoasting?
15:48:24 <fizzie> Sounds cold for KSFO.
15:49:40 <fizzie> Guess it's quite early.
15:50:42 <boily> @metar EGLL
15:50:42 <lambdabot> EGLL 211520Z AUTO 24022KT 9999 OVC015 14/11 Q1009 NOSIG
15:50:48 <boily> @metar KATL
15:50:48 <lambdabot> KATL 211524Z 23009KT 5SM -RA BR FEW009 SCT080 OVC090 14/13 A3013 RMK AO2 P0001 T01440128
15:50:51 <boily> @metar CYUL
15:50:52 <lambdabot> CYUL 211508Z 29008KT 3SM R24L/4500VP6000FT/U -SN FEW008 SCT014 OVC045 01/M01 A2990 RMK SF2SC2SC4 SLP127
15:57:16 -!- MoALTz has joined.
16:22:41 -!- halycon has joined.
16:32:49 -!- MDream has changed nick to MDude.
16:33:36 -!- J_Arcane has joined.
16:36:33 -!- boily has quit (Quit: TURBO CHICKEN).
16:40:05 <halycon> Hi all, I'm exploring the Bernays-Tarski axiom system and wondering how SK combinator logic would be affected if Axiom 2 of implicational propositional calculus would be replaced with hypothetical syllogism. https://en.wikipedia.org/wiki/Implicational_propositional_calculus#The_Bernays.E2.80.93Tarski_axiom_system
16:40:23 <halycon> Specifically, I am wonder how (if possible) you can create a combinator from (P->Q)->((Q->R)->(P->R)) akin to S. I'm new to propositional logic, so forwarding me in a direction of tools/resources would be enough to get me started.
16:51:11 -!- lambda-11235 has joined.
16:57:27 <zzo38> The example given there is also using axiom 3 which is Peirce's law (call/cc).
17:01:07 <zzo38> Is your variant of SK system to including continuations?
17:01:45 <halycon> @ zzo38 Thanks :)
17:01:47 <halycon> No, I was going to try and exclude Pierce's law
17:02:38 <halycon> But I'm not sure how to prove / disprove this is possible, while still encoding constructive logic
17:02:58 <halycon> or at least the implicational fragment
17:18:29 -!- earendel has quit (Ping timeout: 240 seconds).
18:08:01 -!- adu has joined.
18:10:55 -!- AnotherTest has quit (Ping timeout: 252 seconds).
18:11:28 -!- catern has quit (Ping timeout: 252 seconds).
18:12:02 -!- newsham has quit (Ping timeout: 252 seconds).
18:12:12 -!- AnotherTest has joined.
18:18:58 -!- catern has joined.
18:24:34 <b_jonas> You'd have to check the source code to tell for sure, or ask schmorp and/or elmex directly, although the latter might be difficult communication-wise.
18:24:41 <b_jonas> um
18:24:43 <b_jonas> ignore that line
18:33:23 -!- FreeFull has quit (Ping timeout: 244 seconds).
18:34:12 -!- adu has quit (Quit: adu).
18:36:52 -!- ais523 has quit.
18:42:05 -!- Phantom_Hoover has joined.
18:44:19 -!- Elronnd has quit (Quit: Let's jump!).
18:44:50 <\oren\> hmm maybe there should be a way to mark comment lines at the end rather than the beginning
18:44:56 <\oren\> like \\
18:45:08 <coppro> lol
18:45:20 <coppro> that's a line continuation you fool
18:45:41 <coppro> oh, uh, hth
18:45:42 <\oren\> well \ would be, but \\ is currently invalid in C
18:45:57 -!- Elronnd has joined.
18:46:17 <\oren\> so the point is, you could do
18:46:45 <coppro> no
18:46:47 <coppro> \\ is valid
18:47:13 <coppro> if the next character after the newline makes an escape sequence
18:48:07 <\oren\> well what about in the middle of aline
18:48:21 <coppro> it's still a valid escape for \
18:48:33 <coppro> hmm
18:48:44 <coppro> I shoudl add that to my mental index of pathological C cases
18:49:17 <\oren\> set the death flag \\ enemy.flag |= FLG_DEAD;
18:50:25 <b_jonas> oh,
18:50:27 <b_jonas> #d\
18:50:28 <b_jonas> ef\
18:50:30 <b_jonas> in\
18:50:33 <b_jonas> e \
18:50:41 <b_jonas> that was featured in one of the IOCCC entries I think
18:51:03 <pikhq> Needs more ??/
18:51:17 <b_jonas> ugh
18:51:55 -!- evalj has joined.
18:52:20 -!- earendel has joined.
18:52:44 <\oren\> I like a<:i:>
18:53:09 <\oren\> it's a way to make your arrays sparkly
18:53:20 <b_jonas> \oren\: yes, that syntax gets even better in C++11
18:53:57 <b_jonas> which has additional tokization rules such that in some contexts it does not parse >> and <: as digraphs
18:54:36 <\oren\> my workplace has banned anything above C++03
18:54:54 <coppro> whyyy
18:54:56 <\oren\> due to lack of support on embedded systems
18:56:28 <\oren\> it seems most comilers for things like coffeemakers and refrigerators choke on advanced templates
18:56:44 <coppro> lol
18:56:53 <b_jonas> hmm, technically that's not true. the >> is not a tokizing rule, but a parsing rule.
18:57:19 <coppro> nowadays if your embedded systems compiler isn't just clang + llvm, you're Doing It Wrong
18:57:44 <b_jonas> \oren\: sucks to have to develop for those embedded thingies I guess
18:57:55 <coppro> b_jonas: the <: is, however
18:58:34 <\oren\> well it's not for those embedded things specifically, but it has to be protable to them. anyway this means we have lots of in-house versions of things from boost
18:58:42 <coppro> that I believe
18:59:07 <\oren\> because the compilers choke on boost
18:59:24 <b_jonas> \oren\: actually, many parts of boost work on lots of old compilers too
18:59:28 <b_jonas> not all libraries in boost, but many
19:00:21 <b_jonas> (and a few config macros can help when it doesn't)
19:00:23 <\oren\> maybe some of the inhouse stuff is just nih syndrome
19:00:30 <b_jonas> \oren\: sure
19:00:39 <b_jonas> \oren\: or some of it might precede the same thing appearing in boost
19:00:59 <\oren\> well we have three in-house programming languages as well
19:01:15 <\oren\> which compile into c++
19:01:30 <b_jonas> \oren\: is one of them QT?
19:01:35 <\oren\> no
19:01:51 <\oren\> one of them compiles into C++, Java and Javascript
19:02:04 <b_jonas> oh right, you wouldn't take QT in a house. it's not potty-trained.
19:02:13 <\oren\> lol
19:03:28 <\oren\> http://www.cod5.org/archive/s/salmon.html this is one of them
19:03:50 <\oren\> I think it was a pet project of the lead dev before he came to this company
19:04:10 <b_jonas> Not that we don't have... strange things at our workplace. Stuff that, after you learn about, you wish you've never met.
19:04:45 <b_jonas> Lots of old junk, and some new junk too.
19:05:01 <b_jonas> Things I don't dare to touch.
19:05:25 <b_jonas> Things only one person understands, and he's left the company years ago.
19:06:19 <\oren\> this salmon thing will become impossible to maintain if the chief architect ever leaves
19:06:26 -!- FreeFull has joined.
19:06:40 <b_jonas> exactly
19:06:55 <\oren\> and it's what our equivalent of makefiles is wirtten in
19:07:07 <\oren\> so D:
19:07:49 <\oren\> building your house on shifting sand, or whatever the parable was
19:08:31 <b_jonas> And it's not like I don't have such code either.
19:08:43 -!- newsham has joined.
19:09:37 <\oren\> i think a lot of companies have this sort of problem
19:10:25 <\oren\> although, if I learn to program in Salmon, I can take over the indispensibility
19:10:48 <b_jonas> Do you only have to learn to program in Salmon, or also learn how to maintain the compiler?
19:12:12 <\oren\> the compiler is written in C, and doesn't look too obfuscated
19:12:34 <\oren\> or is it an interpreter?
19:13:05 <b_jonas> Um, either. The implementation. Together with implementations of libraries used.
19:13:21 <\oren\> this guy doesn't use any libraries
19:13:51 <\oren\> I once found a bug in the parser, which is just a bunch of switches on char's
19:14:07 <\oren\> he didn't use lex/yacc
19:14:23 <b_jonas> you don't always need lex/yacc.
19:15:21 <\oren\> well, yeah but... it helps to prevent there being problems in the parser because things are checked for consistency
19:22:39 <b_jonas> `wisdom
19:22:51 <b_jonas> `wisdom
19:23:55 <int-e> . o O ( The fool will ask for wisdom all day. The wise man will bask in silence. )
19:24:01 <HackEgo> hyperbolic geometry/
19:24:01 <HackEgo> lambdabot/lambdabot is a fully functional bot. just don't ask about @src.
19:35:30 <\oren\> `unidecode
19:35:35 <HackEgo> No output.
19:35:37 <\oren\> `unidecode 〿
19:35:38 <HackEgo> ​[U+303F IDEOGRAPHIC HALF FILL SPACE]
19:35:48 <\oren\> AUGH
19:35:57 <\oren\> IT'S HAF WIDT
19:37:35 <izabera> i lost my apache logs three days ago
19:37:46 <izabera> guess how many ip's used arin.ga since then
19:38:03 <\oren\> 50
19:38:08 <izabera> 106 :D
19:38:26 <\oren\> yay, I was within a order of magnitude
19:38:47 <b_jonas> huh?
19:39:55 <\oren\> > (log10 50) - (log10 106)
19:39:56 <lambdabot> Not in scope: ‘log10’Not in scope: ‘log10’
19:40:00 <\oren\> boo
19:40:18 <zzo38> A few things i3wm doesn't have (as far as I can tell), which is: * Set different color for tiled/floating windows * Configure mouse cursors for different circumstances, places, modes, and bars * Startup notification timeout set or always disable startup notification * Unicode setting on/off (only when core fonts are used; with Pango, force Unicode on always)
19:45:04 <int-e> > (logBase 2 50) - (logBase 2 106)
19:45:06 <lambdabot> -1.0840642647884744
20:19:20 <\oren\> > (logBase 10 50) - (logBase 10 106)
20:19:21 <lambdabot> -0.32633586092875144
20:19:39 <\oren\> see, within an order of magnitude
20:19:59 <\oren\> > 1024**(1/3)
20:20:00 <lambdabot> 10.079368399158984
20:20:37 <\oren\> that's "digital ten"
20:21:43 <\oren\> hard drive sizes should be expressed in base digital ten
20:23:37 <b_jonas> or in base 32
20:24:12 <\oren\> with digits @-_
20:24:34 <\oren\> er, @-^
20:24:35 -!- p34k has quit.
20:24:45 <b_jonas> no
20:24:58 <\oren\> A is 1, B is 2, etc.
20:25:49 <b_jonas> with digits 0-9A-V
20:26:39 <\oren\> bah, that's harder to code
20:28:56 <b_jonas> If only the sizes of devices were always given in bytes, rather than varying sector sizes without telling how large a sector is, that would be an improvement.
20:30:17 <\oren\> yes
20:30:37 <b_jonas> 512 bytes for typical hard disks and floppies, but 2048 (IIRC) for CDs, 256 for some lower capacity floppies, 1024 byte blocks for some unix utilities by default (like dd), and possibly more for some future hard disks.
20:31:30 <\oren\> and often 1000 bytes on packages
20:31:58 <olsner> and 4096 for SSDs and newer larger hard drives
20:35:19 -!- Opodeldoc_ has joined.
20:37:14 <\oren\> is there a way to have bash exec a command?
20:37:25 <b_jonas> \oren\: sure, there's an exec builtin
20:37:33 <\oren\> oh, good
20:38:32 <\oren\> I'm optimizing a bash script
20:39:03 -!- Opodeldoc has quit (Ping timeout: 240 seconds).
20:40:45 <b_jonas> note that exec has two forms. with arguments, it execs. without arguments, it just applies the redirects destructively to the current bash process, without execing.
20:41:51 <b_jonas> ``` help exec
20:41:57 <HackEgo> exec: exec [-cl] [-a name] [command [arguments ...]] [redirection ...] \ Replace the shell with the given command. \ \ Execute COMMAND, replacing this shell with the specified program. \ ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified, \ any redirections take effect in the current shell. \ \ Opt
20:43:10 <coppro> \oren\: worth reading: http://worthwhile.typepad.com/worthwhile_canadian_initi/2012/05/the-big-secret-banks-are-banks.html
20:46:58 <\oren\> ok, I read that. I don't think I understood it
20:48:20 <coppro> \oren\: basically people yelling about bailing banks out should understand what the government actually did
20:48:34 <coppro> granted, that one's written for Canada and the US situation was slightly different
20:48:42 <coppro> but the government jut offered the banks really good loans
20:48:56 <coppro> it wasn't a "bailout" in the sense of a giant grant
20:50:32 <\oren\> I think the problem is that that seems to be a reward given to the people who seem to be the perpetrators
20:51:55 <coppro> potentially
20:52:41 <\oren\> and I personally think that if you bail out banks everytime they take actions which cast people into poverty, that will encourage tham to do it more often
20:52:54 <coppro> it does help that our banks weren't responsible for the crisis the same way the US banks were
20:53:11 <\oren\> yes. the canadian banks did ok.
20:53:41 <coppro> the post writes about the question of what happens if they aren't supported by government loans, though
20:53:48 <coppro> and it's a good question
20:54:04 <coppro> no matter who's "responsible", the government *really* doesn't want a bank to default
20:55:03 <coppro> the consolidation of banks in the US is also worth caring about for that reason
21:23:44 -!- Darien has joined.
21:25:12 -!- evalj has quit (Remote host closed the connection).
21:27:47 -!- boily has joined.
21:34:49 -!- tromp_ has quit (Remote host closed the connection).
21:39:06 -!- oerjan has joined.
21:40:21 -!- Opodeldoc_ has quit (Quit: Leaving).
21:50:01 <oerjan> @messages-
21:50:01 <lambdabot> fizzie said 1d 5h 27m 50s ago: Oh, that's simpler than what I had -- didn't even think of testing A with the ]. But yes, something like that.
21:52:19 <boily> hellørjan.
21:53:18 <oerjan> hiloby.
21:54:49 <oerjan> !languages
21:54:56 <oerjan> !help languages
21:54:56 <EgoBot> ​languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
21:55:05 <oerjan> !userinterps
21:55:05 <EgoBot> ​Installed user interpreters: _ about acro aol austro bc bct bf2c bfbignum botsnack brit brooklyn bypass_ignore bytes cat chaos chiqrsx9p choo cmd cpick ctcp dc decide drawl drome dubya echo ehird elmer fudd glogbot_ignore google graph hello helloworld hug id inc insanetemp jethro kraut lg lperl lsh map monqy num numberwang ook pansy pi pikhq ping pirate plot postmodern postmodern_aoler prefixes python python2 redneck reverse rimshot rot13 rot47 ruby_ sadbf san
21:55:43 <oerjan> Gregor: the userinterps overfloweth tdnh
21:56:31 <oerjan> !show glogbot_ignore
21:56:31 <EgoBot> bf ,[.,]
21:56:49 <oerjan> !delinterp glogbot_ignore
21:56:49 <EgoBot> ​Interpreter glogbot_ignore deleted.
21:57:07 <oerjan> !show helloworld
21:57:07 <EgoBot> underload (Hello, world!)S
21:57:17 <oerjan> !show hello
21:57:17 <EgoBot> c char buf[1024]; int i; fgets(buf, 1024, stdin); for (i=0;buf[i];i++)buf[i]=(buf[i]=='\n')?'\0':buf[i]; if (!strcmp(buf, "h")) printf("Hello World\n"); else printf("Unknown command (%s) encountered\n", buf);
21:57:27 <oerjan> !delinterp helloworld
21:57:28 <EgoBot> ​Interpreter helloworld deleted.
21:57:31 <oerjan> !userinterps
21:57:32 <EgoBot> ​Installed user interpreters: _ about acro aol austro bc bct bf2c bfbignum botsnack brit brooklyn bypass_ignore bytes cat chaos chiqrsx9p choo cmd cpick ctcp dc decide drawl drome dubya echo ehird elmer fudd google graph hello hug id inc insanetemp jethro kraut lg lperl lsh map monqy num numberwang ook pansy pi pikhq ping pirate plot postmodern postmodern_aoler prefixes python python2 redneck reverse rimshot rot13 rot47 ruby_ sadbf sanetemp sfedeesh sffedeesh s
21:57:40 <oerjan> still overflowing
21:58:06 <oerjan> !show postmodern_aoler
21:58:07 <EgoBot> sh postmodern | b1ff
21:58:17 <oerjan> !delinterp postmodern_aoler
21:58:17 <EgoBot> ​Interpreter postmodern_aoler deleted.
21:58:39 <oerjan> !show elmer
21:58:39 <EgoBot> perl for (<>) {lc; s/l(?!e\W)/w/g; s/\Ber|(?<!f)or\b/uh/g; s/ire\b/iyuh/g; s/wr\B/w/g; s/(?<![iou])r\B/w/gx; print}
21:58:43 <oerjan> !show fudd
21:58:44 <EgoBot> sh fudd
21:59:16 <oerjan> !elmer Let us test the rabbits
21:59:16 <EgoBot> Let us test the wabbits
21:59:25 <oerjan> !fudd Let us test the rabbits
21:59:25 <EgoBot> Wet us test de wabbits
21:59:42 <oerjan> !delinterp elmer
21:59:42 <EgoBot> ​Interpreter elmer deleted.
21:59:46 <oerjan> !userinterps
21:59:46 <EgoBot> ​Installed user interpreters: _ about acro aol austro bc bct bf2c bfbignum botsnack brit brooklyn bypass_ignore bytes cat chaos chiqrsx9p choo cmd cpick ctcp dc decide drawl drome dubya echo ehird fudd google graph hello hug id inc insanetemp jethro kraut lg lperl lsh map monqy num numberwang ook pansy pi pikhq ping pirate plot postmodern prefixes python python2 redneck reverse rimshot rot13 rot47 ruby_ sadbf sanetemp sfedeesh sffedeesh shubshub3 shubtest shubt
22:00:00 <oerjan> there's no end to them is there
22:06:17 <boily> !rot47 My hovercraft is full of eels.
22:06:17 <EgoBot> ​|J 9@G6C4C27E :D 7F== @7 66=D]
22:07:03 <boily> !rot13 shatbg
22:07:04 <EgoBot> fungot
22:07:10 <boily> darn.
22:08:04 <oerjan> !show bypass_ignore
22:08:05 <EgoBot> sh cat
22:08:14 <oerjan> !delinterp bypass_ignore
22:08:15 <EgoBot> ​Interpreter bypass_ignore deleted.
22:08:15 -!- hppavilion[1] has joined.
22:08:27 <oerjan> !userinterps
22:08:27 <EgoBot> ​Installed user interpreters: _ about acro aol austro bc bct bf2c bfbignum botsnack brit brooklyn bytes cat chaos chiqrsx9p choo cmd cpick ctcp dc decide drawl drome dubya echo ehird fudd google graph hello hug id inc insanetemp jethro kraut lg lperl lsh map monqy num numberwang ook pansy pi pikhq ping pirate plot postmodern prefixes python python2 redneck reverse rimshot rot13 rot47 ruby_ sadbf sanetemp sfedeesh sffedeesh shubshub3 shubtest shubtest2 simplenam
22:08:36 <oerjan> !show shubtest
22:08:37 <EgoBot> python replace("?!?", "a")
22:08:41 <oerjan> !show shubtest2
22:08:42 <EgoBot> python print first
22:08:56 <oerjan> !delinterp shubtest
22:08:56 <EgoBot> ​Interpreter shubtest deleted.
22:09:02 <oerjan> !delinterp shubtest2
22:09:03 <EgoBot> ​Interpreter shubtest2 deleted.
22:09:15 <oerjan> !show shubshub3
22:09:16 <EgoBot> python print \
22:09:23 <oerjan> !delinterp shubshub3
22:09:23 <EgoBot> ​Interpreter shubshub3 deleted.
22:09:33 <oerjan> !userinterps
22:09:33 <EgoBot> ​Installed user interpreters: _ about acro aol austro bc bct bf2c bfbignum botsnack brit brooklyn bytes cat chaos chiqrsx9p choo cmd cpick ctcp dc decide drawl drome dubya echo ehird fudd google graph hello hug id inc insanetemp jethro kraut lg lperl lsh map monqy num numberwang ook pansy pi pikhq ping pirate plot postmodern prefixes python python2 redneck reverse rimshot rot13 rot47 ruby_ sadbf sanetemp sfedeesh sffedeesh simplename slashes svedeesh swedish te
22:09:59 <oerjan> !swedish swedish
22:09:59 <EgoBot> svedeesh
22:10:04 <oerjan> !swedish svedeesh
22:10:04 <EgoBot> sfedeesh
22:10:10 <oerjan> !swedish sfedeesh
22:10:10 <EgoBot> sffedeesh
22:10:18 <oerjan> !show sffedeesh
22:10:18 <EgoBot> sh chef | chef | chef | chef | fmt -w500
22:10:22 <oerjan> !show sfedeesh
22:10:23 <EgoBot> sh chef | chef | chef | fmt -w500
22:10:30 <oerjan> !show svedeesh
22:10:30 <EgoBot> sh chef | chef | fmt -w500
22:10:47 <oerjan> !delinterp svedeesh
22:10:47 <EgoBot> ​Interpreter svedeesh deleted.
22:10:50 <oerjan> !delinterp sfedeesh
22:10:50 <EgoBot> ​Interpreter sfedeesh deleted.
22:10:55 <oerjan> !delinterp sffedeesh
22:10:55 <EgoBot> ​Interpreter sffedeesh deleted.
22:11:04 <oerjan> !userinterps
22:11:04 <EgoBot> ​Installed user interpreters: _ about acro aol austro bc bct bf2c bfbignum botsnack brit brooklyn bytes cat chaos chiqrsx9p choo cmd cpick ctcp dc decide drawl drome dubya echo ehird fudd google graph hello hug id inc insanetemp jethro kraut lg lperl lsh map monqy num numberwang ook pansy pi pikhq ping pirate plot postmodern prefixes python python2 redneck reverse rimshot rot13 rot47 ruby_ sadbf sanetemp simplename slashes swedish tell tester tester123 valspeak
22:11:11 <oerjan> NO END
22:11:23 <oerjan> !show tester
22:11:23 <EgoBot> sh echo $!
22:11:25 <hppavilion[1]> I'm here
22:11:26 <oerjan> !show tester123
22:11:26 <EgoBot> sh echo $_
22:11:31 <oerjan> !delinterp tester
22:11:31 <EgoBot> ​Interpreter tester deleted.
22:11:33 <oerjan> !delinterp tester123
22:11:33 <EgoBot> ​Interpreter tester123 deleted.
22:11:38 <oerjan> !userinterps
22:11:38 <EgoBot> ​Installed user interpreters: _ about acro aol austro bc bct bf2c bfbignum botsnack brit brooklyn bytes cat chaos chiqrsx9p choo cmd cpick ctcp dc decide drawl drome dubya echo ehird fudd google graph hello hug id inc insanetemp jethro kraut lg lperl lsh map monqy num numberwang ook pansy pi pikhq ping pirate plot postmodern prefixes python python2 redneck reverse rimshot rot13 rot47 ruby_ sadbf sanetemp simplename slashes swedish tell valspeak vote wacro warez
22:11:41 <boily> hppavellon[1]. you are.
22:11:50 <hppavilion[1]> boily: I am
22:11:54 <hppavilion[1]> ahoily
22:12:06 <boily> !redneck My hovercraft is full of eels.
22:12:07 <EgoBot> Muh hovercraft is full uh eels.
22:12:19 <boily> !delinterp redneck
22:12:19 <EgoBot> ​Interpreter redneck deleted.
22:12:29 <boily> quiens.
22:12:38 <oerjan> !show vote
22:12:38 <EgoBot> c printf("Your vote has been registered.\n");
22:12:45 <oerjan> !delinterp vote
22:12:45 <EgoBot> ​Interpreter vote deleted.
22:12:51 <oerjan> !show wacro
22:12:54 <EgoBot> perl (sending via DCC)
22:13:15 <oerjan> argh
22:13:22 <boily> heh :D
22:14:05 <oerjan> !show warez
22:14:05 <EgoBot> sh warez
22:14:18 <oerjan> !warez testing
22:14:19 <EgoBot> 7e57Y]\[g
22:14:33 <hppavilion[1]> boily: I'm writing an EsO'Reilly book :)
22:14:44 <hppavilion[1]> boily: If you didn't get the memo
22:14:58 <oerjan> !show inc
22:14:58 <EgoBot> bf ,[+.,]
22:15:01 <oerjan> !show id
22:15:01 <EgoBot> sh cat
22:15:06 <oerjan> !delinterp id
22:15:07 <EgoBot> ​Interpreter id deleted.
22:15:11 <oerjan> !delinterp inc
22:15:11 <EgoBot> ​Interpreter inc deleted.
22:15:16 <oerjan> !userinterps
22:15:16 <EgoBot> ​Installed user interpreters: _ about acro aol austro bc bct bf2c bfbignum botsnack brit brooklyn bytes cat chaos chiqrsx9p choo cmd cpick ctcp dc decide drawl drome dubya echo ehird fudd google graph hello hug insanetemp jethro kraut lg lperl lsh map monqy num numberwang ook pansy pi pikhq ping pirate plot postmodern prefixes python python2 reverse rimshot rot13 rot47 ruby_ sadbf sanetemp simplename slashes swedish tell valspeak wacro warez wc welcome welcome2
22:15:16 <boily> hppavilion[1]: I didn't get the memo. what is the cover animal?
22:15:31 <oerjan> dammit
22:15:37 <oerjan> !show wc
22:15:37 <EgoBot> sh text=`cat`; opts=`echo "$text" | sed 's/\( \|^\)[^-].*//'`; text=`echo "$text" | sed 's/.*\( \|^\)\([^-]\)/\2/'`; echo -n "$text" | wc $opts
22:15:47 <oerjan> !delinterp wc
22:15:47 <EgoBot> ​Interpreter wc deleted.
22:15:53 <oerjan> !show welcome
22:15:54 <EgoBot> sh xargs printf "%s: "; echo "Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/wiki/Main_Page>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)"
22:15:59 <hppavilion[1]> boily: Mad Cow Virus
22:16:00 <oerjan> !show welcome2
22:16:00 <EgoBot> sh interps/tell welcome2;# Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/wiki/Main_Page>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
22:16:17 <boily> hppavilion[1]: we're not mad here :P
22:16:28 <hppavilion[1]> boily: It's on "Learning Brainfuck and Derivatives", so I figured some sort of plague or invasive species
22:16:46 <hppavilion[1]> boily: And Mad Cow Virus was suggested
22:16:59 <oerjan> !welcome2 test
22:17:00 <EgoBot> ​/tmp/input.6273: line 1: interps/tell: No such file or directory
22:17:12 <oerjan> !delinterp welcome2
22:17:12 <EgoBot> ​Interpreter welcome2 deleted.
22:17:24 <oerjan> !show sadbf
22:17:24 <EgoBot> sadol :M$0 :d:i,45000@>i-01(2]M0:i-i1:S$0:C;3:l#C-01:p:m0@<pl(2?=#Cp"1+:#Mm%+#Mm1,3255?=#Cp"1-:#Mm?<-#Mm10,3254-#Mm1?=#Cp"1>:m%+m1d?=#Cp"1<:m?<-m10-s1-m1?=#Cp"1.!'2#Mm?=#Cp"1,:#Mm'1;0?=#Cp"1[]S-p1?=#Cp"1]?=#Mm00:p[S0:p+p1
22:17:37 <hppavilion[1]> boily: It's on brainfuck and some of the more useful derivatives- like weave.rb
22:18:11 <oerjan> !show map
22:18:12 <EgoBot> perl for(<>){s/\b.+?\b/map/g;print}
22:18:21 <oerjan> !delinterp map
22:18:21 <EgoBot> ​Interpreter map deleted.
22:18:51 <oerjan> it looks like someone's been attempting to put building blocks for a language in there and there's just no room for that.
22:19:15 <oerjan> !show python
22:19:15 <EgoBot> sh python
22:19:18 <oerjan> !show python2
22:19:19 <EgoBot> sh python
22:19:23 <oerjan> !delinterp python2
22:19:24 <EgoBot> ​Interpreter python2 deleted.
22:19:37 <oerjan> !show ruby_
22:19:37 <EgoBot> sh ruby
22:19:47 <oerjan> !ruby test
22:19:53 <oerjan> !ruby_ test
22:19:53 <EgoBot> ​/tmp/input.6664: line 1: ruby: command not found
22:20:01 <oerjan> !delinterp ruby_
22:20:01 <EgoBot> ​Interpreter ruby_ deleted.
22:20:04 <oerjan> !userinterps
22:20:05 <EgoBot> ​Installed user interpreters: _ about acro aol austro bc bct bf2c bfbignum botsnack brit brooklyn bytes cat chaos chiqrsx9p choo cmd cpick ctcp dc decide drawl drome dubya echo ehird fudd google graph hello hug insanetemp jethro kraut lg lperl lsh monqy num numberwang ook pansy pi pikhq ping pirate plot postmodern prefixes python reverse rimshot rot13 rot47 sadbf sanetemp simplename slashes swedish tell valspeak wacro warez welcome yodawg
22:20:09 <oerjan> finally
22:20:55 -!- Treio has joined.
22:21:08 <oerjan> !show about
22:21:09 <EgoBot> underload (EgoBot is able to interpret Any language possible as long as you can code the interpreter for it Have Fun :D)S
22:21:22 <oerjan> hm k
22:21:35 <boily> OKAY
22:23:36 <hppavilion[1]> oerjan: BrainHype hth
22:24:45 <oerjan> hppavilion[1]: by "you" it means you hth
22:24:56 <hppavilion[1]> oerjan: Oh, me?
22:24:58 <hppavilion[1]> Shit.
22:25:36 <oerjan> it's possible i broke some other interpreter in there if it depended on calling out via the interps/ directory. in theory.
22:25:50 <oerjan> !show bfbignum
22:25:52 <EgoBot> bf (sending via DCC)
22:26:39 <oerjan> !show plot
22:26:39 <EgoBot> sh echo ''; (echo -ne 'set terminal dumb\nplot '; cat) | gnuplot
22:26:50 <oerjan> !plot test
22:26:51 <EgoBot> ​\ /tmp/input.6930: line 1: gnuplot: command not found \ /bin/cat: write error: Broken pipe
22:26:56 <oerjan> !delinterp plot
22:26:56 <EgoBot> ​Interpreter plot deleted.
22:27:05 <oerjan> looked a bit too optimistic
22:27:22 <oerjan> !help languages
22:27:22 <EgoBot> ​languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
22:27:27 <oerjan> !python test
22:27:28 <EgoBot> Traceback (most recent call last): \ File "<stdin>", line 1, in <module> \ NameError: name 'test' is not defined
22:27:48 <oerjan> !show graph
22:27:50 <EgoBot> perl (sending via DCC)
22:28:54 <oerjan> well that might work but i don't know the input syntax.
22:29:23 <oerjan> !show lperl
22:29:24 <EgoBot> perl $_=<>;s/{{(.*?)}}(?!})/$1/gee;print
22:29:47 <oerjan> !show lsh
22:29:47 <EgoBot> perl $_=<>;s/{{(.*?)}}(?!})/`$1`/ge;print
22:30:16 <oerjan> !show lg
22:30:16 <EgoBot> python print("This isn't ##crawl!")
22:30:23 <oerjan> !delinterp lg
22:30:23 <EgoBot> ​Interpreter lg deleted.
22:31:04 <oerjan> !lperl what does this do?
22:31:05 <EgoBot> what does this do?
22:31:35 <oerjan> !lperl what does this do?!
22:31:35 <EgoBot> what does this do?!
22:32:40 <oerjan> !lperl 2+2
22:32:40 <EgoBot> 2+2
22:32:59 -!- boily has quit (Quit: LIGATURE CHICKEN).
22:33:02 * oerjan no idea about that code
22:35:22 -!- tromp_ has joined.
22:39:52 -!- tromp_ has quit (Ping timeout: 252 seconds).
22:41:05 <oerjan> `? select
22:41:14 <HackEgo> select is a very versatile construct: it waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, and more.
22:43:35 <\oren\> nuclear engines are OP
22:43:59 <\oren\> so much delta-v
22:44:49 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
22:45:22 -!- FireFly has quit (Quit: ZNC 1.6.1 - http://znc.in).
22:46:09 -!- jaboja has joined.
22:47:13 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:55:38 -!- FireFly has joined.
23:07:04 -!- sebbu has quit (Ping timeout: 240 seconds).
23:15:33 -!- sebbu has joined.
23:17:15 -!- tromp_ has joined.
23:19:01 -!- sebbu has quit (Read error: Connection reset by peer).
23:20:39 -!- sebbu has joined.
23:22:59 <HackEgo> [wiki] [[Subleq]] https://esolangs.org/w/index.php?diff=46448&oldid=46345 * MDude * (+18)
23:23:50 <HackEgo> [wiki] [[Cryptoleq]] https://esolangs.org/w/index.php?diff=46449&oldid=45990 * MDude * (+18)
23:24:37 <HackEgo> [wiki] [[BitBitJump]] https://esolangs.org/w/index.php?diff=46450&oldid=32445 * MDude * (+19)
23:25:22 <HackEgo> [wiki] [[DJN OISC]] https://esolangs.org/w/index.php?diff=46451&oldid=19059 * MDude * (+20)
23:25:43 <HackEgo> [wiki] [[Subleq+]] https://esolangs.org/w/index.php?diff=46452&oldid=33342 * MDude * (+20)
23:27:59 -!- tromp_ has quit (Remote host closed the connection).
23:31:14 <HackEgo> [wiki] [[Category:OISC]] N https://esolangs.org/w/index.php?oldid=46453 * MDude * (+176) Created page with "One INstruction Set Computer: Languages which consist of exactly one instruction. Often low-level, with the intent of being usable as the instruction set of a proccessing unit."
23:42:31 -!- shikhin has changed nick to sortie.
23:42:33 -!- sortie has changed nick to shikhin.
23:47:31 -!- lynn has quit (Ping timeout: 244 seconds).
23:57:49 <oerjan> MDude: hi, have you read Esolang:Policy hth
23:57:55 <oerjan> afk
2016-02-22
00:04:40 -!- shikhin has changed nick to shikhindawg.
00:06:08 -!- shikhindawg has changed nick to shikhincat.
00:06:11 -!- shikhincat has changed nick to shikhin.
00:14:25 -!- tromp_ has joined.
00:19:58 <MDude> SOunds like something that would be linked form the front page.
00:23:45 <int-e> MDude: right, for example under "Meta"
00:24:11 <int-e> (I have to admit that tis wasn't the first place where I looked)
00:32:46 -!- gde33 has left.
00:54:30 -!- Darien has quit (Ping timeout: 252 seconds).
00:57:16 -!- Warrigal has changed nick to tswett.
00:59:43 <tswett> Oh hey, I remember Brainhype.
01:00:25 -!- relrod has quit (Quit: ZNC - http://znc.in).
01:00:27 <tswett> Lemme see, when was I hppavilion[1]'s age? That would have been around 2006, I think.
01:04:03 * lifthrasiir is trying to write a new brainfuck interpreter that should be FAST
01:17:47 -!- hppavilion[1] has joined.
01:32:42 <oerjan> @tell b_jonas <b_jonas> I'll have to figure out the right place to store ordinary bread. <-- i'm such a barbarian i keep it in the fridge and freezer. although i only started doing that after my bread drawer in the old apartment got bugs in it.
01:32:42 <lambdabot> Consider it noted.
01:38:26 -!- Sgeo has joined.
01:40:40 <oerjan> `` diff wisdom/sock{,s}
01:40:53 <HackEgo> No output.
01:40:56 <oerjan> `` diff wisdom/sock{,s}
01:40:58 <HackEgo> No output.
01:41:04 -!- Sgeo__ has quit (Ping timeout: 240 seconds).
01:41:04 <oerjan> `rm wisdom/socks
01:41:12 <HackEgo> No output.
01:42:40 <coppro> hmm
01:42:47 <coppro> good news for the day: got a couple random things done
01:42:52 <coppro> bad news: didn't get any work done on mage knight
01:43:14 <oerjan> maybe you should work on better dice
01:44:43 <coppro> better dice how?
01:45:24 <oerjan> so you can get better random things hth
01:52:20 <oerjan> `? palate
01:52:24 <HackEgo> Palate is usually a metaphor for a person's perferences about food or drink.
01:52:40 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:52:58 <oerjan> `` sed -i 's/perf/pref/' wisdom/palate
01:53:01 <HackEgo> No output.
01:53:30 <MDude> Well let me know if I should go back and remove a category.
01:54:10 <MDude> And I'll bring them up here before adding them, if I ever see the need to make them again.
01:54:29 <oerjan> i think the bringing up should in principle be on the wiki.
01:55:32 <oerjan> also, i'm >half speaking for ais523 because he's too meek to protest anything that isn't clear vandalism.
01:56:12 <oerjan> and he got annoyed at one you added yesterday
01:57:35 <oerjan> i don't really manage to keep up with the wiki myself any longer.
01:59:35 <MDude> I'm pretty sure I only added two.
01:59:58 <oerjan> ok
02:00:13 <MDude> So it's either psudonatural or OISC.
02:00:25 <MDude> The latter of which I think I added today?
02:00:47 <oerjan> well it was the former. he didn't think it was an interesting category.
02:00:50 <MDude> So I'm guessing neither meets his approval.
02:01:06 <oerjan> well he's probably not seen the latter yet.
02:01:51 <MDude> Both were created because there was an uncategorized language that I wasn't sure how to otherwise classify.
02:02:58 <oerjan> pseudonatural might largely be a subset of thematic
02:03:12 <oerjan> which i think is an existing cat
02:04:50 <MDude> Yeah
02:08:18 <oerjan> `? fisherman's friend
02:08:19 <HackEgo> fisherman's friend? ¯\(°​_o)/¯
02:08:36 <oerjan> `le/rn fisherman's friend/Fisherman's Friend is the friend of the palate that is more sore than discerning.
02:08:38 <HackEgo> Learned «fisherman's friend»
02:13:34 -!- Treio has quit (Ping timeout: 240 seconds).
02:20:28 <oerjan> @tell halycon <halycon> Specifically, I am wonder how (if possible) you can create a combinator from (P->Q)->((Q->R)->(P->R)) akin to S. <-- that's the type of \f g x -> g (f x), aka CB.
02:20:28 <lambdabot> Consider it noted.
02:21:19 <oerjan> @djinn (p->q)->((q->r)->(p->r))
02:21:19 <lambdabot> f a b c = b (a c)
02:21:48 <oerjan> @tell halcyon Try @djinn (p->q)->((q->r)->(p->r)) in lambdabot
02:21:48 <lambdabot> Consider it noted.
02:24:41 <halycon> @tell oerjan thanks oerjan! So it is possible!
02:24:41 <lambdabot> Consider it noted.
02:26:16 <oerjan> yep. in general any intuitionistic theorem has a curry-howard equivalent combinator.
02:28:19 <halycon> Are there any exceptions?
02:29:30 <oerjan> well, or lambda term. depends on your exact definitions, but if a logic has a curry-howard correspondence, then that's part of what that means.
02:29:45 <halycon> cool
02:38:06 <oerjan> halycon: also, when excluding pierce's law it looks like you have the combinators K and CB, which is not enough. a common alternative basis without S is https://en.wikipedia.org/wiki/B,_C,_K,_W_system
02:38:39 <oerjan> (for intuitionistic PC)
02:39:58 <halycon> how were you able to test (or know) that K and CB was not sufficient?
02:40:22 <oerjan> well it's part of BCKW and missing W, so ...
02:40:33 <halycon> oh, duh
02:40:43 <halycon> CB is C applied to B :P
02:40:48 <oerjan> yeah
02:41:44 <oerjan> also, W is the only one of them that allows duplicating a variable.
02:42:00 <oerjan> (while K is the only one that allows removing one)
02:42:33 <halycon> I see
02:43:35 <halycon> looks like I've got some reading to do, thank you much :)
02:43:42 <oerjan> you're welcome
02:53:47 <oerjan> `culprits wisdom/hyperbolic geometry
02:53:52 <HackEgo> oerjan hppavilion[1]
02:54:05 <oerjan> wat
02:54:17 <oerjan> `? hyperbolic geometry
02:54:18 <HackEgo> Hyperbolic Geometry is geometry that is exaggerated to the point of absurdity.
02:54:56 <oerjan> huh that's weird why did b_jonas get an empty answer
02:55:05 <oerjan> `wisdom hyperbolic
02:55:07 <HackEgo> hyperbolic group/Hyperbolic groups are the best groups there are, they're totally awesome and cure cancer.
02:55:14 <oerjan> `wisdom hyperbolic geometry
02:55:16 <HackEgo> hyperbolic geometry/Hyperbolic Geometry is geometry that is exaggerated to the point of absurdity.
02:55:56 <oerjan> `unidecode hyperbolic geometry/
02:55:57 <HackEgo> ​[U+0068 LATIN SMALL LETTER H] [U+0079 LATIN SMALL LETTER Y] [U+0070 LATIN SMALL LETTER P] [U+0065 LATIN SMALL LETTER E] [U+0072 LATIN SMALL LETTER R] [U+0062 LATIN SMALL LETTER B] [U+006F LATIN SMALL LETTER O] [U+006C LATIN SMALL LETTER L] [U+0069 LATIN SMALL LETTER I] [U+0063 LATIN SMALL LETTER C] [U+0020 SPACE] [U+0067 LATIN SMALL LETTER G] [U
02:56:10 <oerjan> `unidecode geometry/
02:56:11 <HackEgo> ​[U+0067 LATIN SMALL LETTER G] [U+0065 LATIN SMALL LETTER E] [U+006F LATIN SMALL LETTER O] [U+006D LATIN SMALL LETTER M] [U+0065 LATIN SMALL LETTER E] [U+0074 LATIN SMALL LETTER T] [U+0072 LATIN SMALL LETTER R] [U+0079 LATIN SMALL LETTER Y] [U+002F SOLIDUS]
02:56:23 <oerjan> huh
02:58:08 <oerjan> `cat bin/wisdom
02:58:09 <HackEgo> F="$(find wisdom -name "*$(echo "$1" | lowercase)*" -type f | shuf -n1)"; echo -n "${F#wisdom/}/" | rnooodl; cat "$F" | rnooodl
02:58:51 <oerjan> `cat bin/rnooodl
02:58:52 <HackEgo> perl -pe 's/([Nn])ooodl/"$1@{[o x(3+rand 7)]}dl"/ge'
02:59:54 <oerjan> maybe there was a very precise timeout.
03:21:40 <zzo38> I did play the Dungeons&Dragons game today. Now you have to guess before I write it down and afterward you can check and see if you guessed correctly or not.
03:21:40 -!- yorick has quit (Ping timeout: 248 seconds).
03:25:45 -!- yorick__ has joined.
03:47:46 -!- jaboja has quit (Ping timeout: 244 seconds).
04:01:30 -!- yorick__ has quit (Ping timeout: 276 seconds).
04:05:12 -!- yorick__ has joined.
04:05:12 -!- yorick__ has quit (Changing host).
04:05:12 -!- yorick__ has joined.
04:05:25 -!- jaboja has joined.
04:16:49 -!- relrod_ has joined.
04:18:56 -!- relrod_ has quit (Changing host).
04:18:57 -!- relrod_ has joined.
04:19:02 -!- relrod_ has changed nick to relrod.
04:19:19 <\oren\> `wisdom
04:19:20 <HackEgo> wecome/wecome in pece.
04:19:23 <\oren\> `wisdom
04:19:26 <HackEgo> zimbabwe/olsner's desk points zimbabwards. it is highly dependent on tswett's michiganic orientation.
04:19:39 <\oren\> `wisdom
04:19:40 <HackEgo> mojibake/mojibake _ÌÌÌ°_ÌÌ̦̻ͭͭͬÌÍÌÌÍ¡_ͧÍÌÍÌ­_ÍÍÍͧÍÌÌ̯Í̬̬̦̯_ÌÌÌͨÌÌ´Í
04:19:51 <\oren\> `wisdom
04:19:53 <HackEgo> el camino real/There is no royal road to analytic geometry.
04:20:02 <\oren\> `wisdom
04:20:03 <HackEgo> hovercraft/a-é-ro-g-liss-e-ur. If you mention eels, you'll get smacked with one of them in a most unappropriate manner.
04:20:29 <\oren\> `wisdom
04:20:32 <HackEgo> d/D is a letter in the alphabet! It's also the name of a programming language.
04:21:16 <zzo38> How many letters of Arabic alphabets are also name of programming languages?
04:21:27 -!- Deewiant has quit (Quit: Viivan loppu.).
04:21:36 -!- Deewiant has joined.
04:43:01 -!- oerjan has quit (Quit: Eel try to avoid that, then.).
04:44:38 <lifthrasiir> zzo38: not directly comparable since programming languages are not frequently named in Arabic. even Arabic languages have English names.
04:44:59 <lifthrasiir> ج seems to be one example, though (http://www.jeemlang.com/)
04:51:07 <zzo38> OK
04:51:30 <zzo38> How many programming languages are named by Egyptian alphabets?
04:51:57 <zzo38> (Actually I know Egyptian writing is more complicated than that)
04:52:30 <lifthrasiir> I will be never sure.
05:01:53 <zzo38> `danddreclist 75
05:01:54 <HackEgo> danddreclist 75: shachaf nooodl boily \ http://zzo38computer.org/dnd/recording/level20.tex
05:08:23 -!- XorSwap has joined.
05:12:47 <hppavilion[1]> `le/rn mojibake/_ÌÌÌ°_ÌÌ̦̻ͭͭͬÌÍÌÌÍ¡_ͧÍÌÍÌ­_ÍÍÍͧÍÌÌ̯Í̬̬̦̯_ÌÌÌͨÌÌ´Í
05:12:50 <HackEgo> Learned «mojibake»
05:12:52 <hppavilion[1]> Much better
05:13:05 <hppavilion[1]> (the fact that "mojibake" properly rendered was bugging me)
05:14:28 <lifthrasiir> hppavilion[1]: ASCII-compatible encoding, so it's fine
05:15:01 <hppavilion[1]> lifthrasiir: Yes, but then why is the rest the way it is?
05:15:14 <hppavilion[1]> lifthrasiir: What text was in there that led to it being rendered as such?
05:15:20 <lifthrasiir> native letters!
05:15:38 <hppavilion[1]> lifthrasiir: Why are there so many of that one character in a row?
05:16:14 <lifthrasiir> hppavilion[1]: japanese characters do not use spaces (normally).
05:16:41 <hppavilion[1]> lifthrasiir: And?
05:16:56 <hppavilion[1]> lifthrasiir: Why does that particular character appear?
05:17:29 <hppavilion[1]> And its mirror
05:17:34 <lifthrasiir> hppavilion[1]: are you asking for the mechanics of mojibake? :)
05:17:47 <hppavilion[1]> lifthrasiir: I understand mojibake
05:18:50 <lifthrasiir> I can imagine some text like "mojibake(文字化け)とは、コンピュータで文字を表示する際に、正しく表示されない現象のこと。"
05:19:24 <hppavilion[1]> lifthrasiir: Clearly you can do more than imagine it; you can send it via IRC
05:19:48 <lifthrasiir> hppavilion[1]: ah, so you are wondering about the (real) original text for that sentence
05:19:51 <lifthrasiir> fine
05:21:42 <pikhq> Shift-JIS gives the first byte of two-byte character only a few possibilities, and Ì is a pretty common one (when you reinterpret it as Latin-1).
05:31:03 -!- APic has quit (Ping timeout: 240 seconds).
05:37:23 -!- APic has joined.
05:39:39 <zzo38> Will they add -ntsc and +ntsc commands into ImageMagick and/or GraphicsMagick?
05:48:37 -!- halycon has quit (Quit: Leaving).
06:07:50 <izabera> did you know that there are much better algorithms to compute the factorial of a number than repeated multiplication? http://www.luschny.de/math/factorial/FastFactorialFunctions.htm
06:22:08 -!- adu has joined.
06:22:27 <adu> hppavilion[1]!
06:23:43 <zzo38> O, there are? Let me see
06:24:05 <zzo38> Now I can see
06:30:59 -!- jaboja has quit (Ping timeout: 248 seconds).
06:33:04 -!- adu has quit (Quit: adu).
06:33:32 -!- ent0nces has joined.
06:38:04 -!- ent0nces_ has joined.
06:40:11 -!- XorSwap has quit (Quit: Leaving).
06:40:35 -!- tromp_ has quit (Remote host closed the connection).
06:40:46 -!- ent0nces has quit (Ping timeout: 255 seconds).
06:44:29 -!- ent0nces has joined.
06:46:27 -!- ent0nces_ has quit (Ping timeout: 248 seconds).
07:02:13 -!- lambda-11235 has quit (Quit: Bye).
07:05:35 -!- ent0nces_ has joined.
07:08:03 -!- ent0nces has quit (Ping timeout: 276 seconds).
07:10:39 -!- ent0nces has joined.
07:13:10 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
07:23:29 -!- skamath has joined.
07:24:53 <skamath> Hey, can anyone help me identify this : http://pastebin.com/yMBF5tB5
07:25:38 -!- jaboja has joined.
07:34:15 <skamath> anyone?
07:37:23 <HackEgo> [wiki] [[Category:OISC]] https://esolangs.org/w/index.php?diff=46454&oldid=46453 * Keymaker * (-1) Fixed 2 typos.
07:39:29 -!- ent0nces_ has joined.
07:40:46 <myname> looks like ookless ook
07:41:07 -!- tromp_ has joined.
07:41:17 <skamath> myname: come again?
07:41:55 -!- ent0nces has quit (Ping timeout: 248 seconds).
07:44:54 -!- skamath has quit (Quit: Page closed).
07:45:39 -!- tromp_ has quit (Ping timeout: 248 seconds).
07:49:06 -!- jaboja has quit (Ping timeout: 250 seconds).
07:49:22 <myname> ?
07:52:32 -!- ent0nces has joined.
07:55:01 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
08:07:03 -!- ent0nces_ has joined.
08:09:39 -!- ent0nces has quit (Ping timeout: 248 seconds).
08:11:34 -!- AnotherTest has joined.
08:20:57 -!- MoALTz has quit (Read error: Connection reset by peer).
08:26:46 -!- J_Arcane has quit (Ping timeout: 244 seconds).
08:31:43 -!- ent0nces has joined.
08:34:37 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
08:36:53 <b_jonas> .
08:38:16 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
08:40:09 -!- hppavilion[1] has joined.
08:44:40 -!- ent0nces_ has joined.
08:46:59 -!- ent0nces has quit (Ping timeout: 248 seconds).
08:51:27 -!- ent0nces has joined.
08:54:25 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
08:55:05 -!- ent0nces_ has joined.
08:57:39 -!- ent0nces has quit (Ping timeout: 248 seconds).
08:58:20 -!- ent0nces has joined.
09:00:43 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
09:03:20 <myname> !
09:05:28 <lifthrasiir> :
09:22:16 -!- AnotherTest has quit (Ping timeout: 252 seconds).
09:24:58 <hppavilion[1]> ;
09:26:35 <myname> : is the weird one
09:26:50 <hppavilion[1]> myname: What's the context?
09:27:22 -!- ent0nces_ has joined.
09:29:38 -!- ent0nces has quit (Ping timeout: 250 seconds).
09:31:37 <hppavilion[1]> lifthrasiir: What's weird about :?
09:32:14 <lifthrasiir> hppavilion[1]: Ook. Ook? Ook!
09:32:21 <hppavilion[1]> lifthrasiir: Ah?
09:33:34 <hppavilion[1]> lifthrasiir: Actually, I... don't get it
09:34:10 <lifthrasiir> hppavilion[1]: the first three punctuations are used for Ook! language. since I was out of letters, I went with an arbitrary punctuation
09:34:29 <hppavilion[1]> lifthrasiir: OK...
09:34:31 <lifthrasiir> (or, myname may refer to the fact that : is not a sentence terminator)
09:34:34 <hppavilion[1]> lifthrasiir: In what?
09:34:44 <lifthrasiir> you cannot end a sentence with a colon:
09:34:44 <hppavilion[1]> lifthrasiir: Is this a language?
09:34:46 <lifthrasiir> see.
09:34:47 <hppavilion[1]> Ook++?
09:34:56 <lifthrasiir> https://esolangs.org/wiki/Ook!
09:35:18 <hppavilion[1]> lifthrasiir: Yes, but what does : have to do with this?
09:35:37 <lifthrasiir> . ! ? are all used so I went with an arbitrary letter
09:35:46 <hppavilion[1]> lifthrasiir: For what?
09:35:59 <hppavilion[1]> You went with an arbitrary letter for what?
09:36:00 <lifthrasiir> uh, a series of... single letter conversations?
09:36:05 <hppavilion[1]> lifthrasiir: Oh?
09:36:09 <hppavilion[1]> OK
09:36:10 <myname> hppavilion[1]: for the same reason Ou used a ;
09:36:12 <lifthrasiir> just a joking
09:36:18 <hppavilion[1]> Ah, OK
09:36:25 <hppavilion[1]> That was confusing because I joined at the end
09:39:05 -!- ent0nces has joined.
09:41:25 <b_jonas> `? sugar
09:41:30 <b_jonas> `? syntax
09:41:31 -!- tromp_ has joined.
09:41:32 <b_jonas> `? syntactic
09:41:34 <b_jonas> `? syntactic sugar
09:41:40 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
09:42:05 <HackEgo> syntactic sugar? ¯\(°​_o)/¯
09:42:13 <HackEgo> syntactic? ¯\(°​_o)/¯
09:42:13 <HackEgo> Syntax is just a subset of grammar.
09:42:13 <HackEgo> sugar? ¯\(°​_o)/¯
09:42:19 <b_jonas> ``` find wisdom -iname "*synta[cx]*" -o -iname "*sugar*"
09:42:21 <HackEgo> wisdom/syntax
09:42:55 <b_jonas> `slashlearn syntactic sugar/Syntactic sugar causes semicolon cancer
09:42:58 <HackEgo> Learned «syntactic sugar»
09:43:06 <b_jonas> `slashlearn syntactic sugar/Syntactic sugar causes semicolon cancer.
09:43:08 <HackEgo> Learned «syntactic sugar»
09:44:50 -!- staffehn has quit (Quit: No Ping reply in 180 seconds.).
09:45:06 -!- staffehn has joined.
09:46:20 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
09:46:39 -!- tromp_ has quit (Ping timeout: 276 seconds).
09:47:08 -!- ent0nces_ has joined.
09:49:23 -!- ent0nces has quit (Ping timeout: 248 seconds).
10:02:41 <HackEgo> [wiki] [[User:GermanyBoy]] https://esolangs.org/w/index.php?diff=46455&oldid=41610 * GermanyBoy * (+136) added röda
10:04:56 <HackEgo> [wiki] [[Deadfish]] https://esolangs.org/w/index.php?diff=46456&oldid=46343 * GermanyBoy * (+145) /* Röda */ added section
10:06:48 -!- izabera has quit (Ping timeout: 276 seconds).
10:06:51 <b_jonas> `? surströmming
10:06:52 <HackEgo> surströmming? ¯\(°​_o)/¯
10:07:06 <b_jonas> ``` find wisdom -iname "*rstr*"
10:07:07 <HackEgo> No output.
10:09:05 -!- ent0nces has joined.
10:09:09 -!- Treio has joined.
10:11:49 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
10:13:51 -!- andrew_ has joined.
10:14:19 -!- izabera has joined.
10:40:13 -!- ent0nces_ has joined.
10:42:43 -!- ent0nces has quit (Ping timeout: 248 seconds).
10:45:50 -!- ent0nces has joined.
10:48:43 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
10:50:52 -!- ent0nces_ has joined.
10:53:23 -!- ent0nces has quit (Ping timeout: 248 seconds).
10:53:35 -!- andrew_ has quit (Quit: Leaving).
10:56:22 -!- bender| has joined.
10:57:32 -!- andrew_ has joined.
10:59:35 -!- ent0nces has joined.
11:02:13 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
11:15:23 -!- boily has joined.
11:23:40 -!- ent0nces_ has joined.
11:25:55 -!- ent0nces has quit (Ping timeout: 248 seconds).
11:31:31 -!- Treio has quit (Ping timeout: 252 seconds).
11:33:14 -!- ent0nces has joined.
11:35:58 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
11:36:00 <boily> @massages-loud
11:36:00 <lambdabot> You don't have any messages
11:37:43 -!- Froox has joined.
11:40:06 -!- zgrep_ has joined.
11:40:26 -!- zgrep has quit (Ping timeout: 240 seconds).
11:40:35 -!- zgrep_ has changed nick to zgrep.
11:40:50 -!- Xe has quit (Ping timeout: 240 seconds).
11:41:13 -!- Frooxius has quit (Ping timeout: 240 seconds).
11:44:20 -!- AnotherTest has joined.
11:47:36 -!- Xe has joined.
11:52:03 -!- ent0nces_ has joined.
11:54:43 -!- ent0nces has quit (Ping timeout: 248 seconds).
12:00:50 -!- ent0nces has joined.
12:03:25 -!- ent0nces_ has quit (Ping timeout: 252 seconds).
12:06:48 -!- ent0nces_ has joined.
12:09:16 -!- ent0nces has quit (Ping timeout: 255 seconds).
12:16:13 <zgrep> How about quiet massages?
12:18:21 <boily> @massages-quiet
12:18:21 <lambdabot> Unknown command, try @list
12:19:31 -!- boily has quit (Quit: ANIMISTIC CHICKEN).
12:21:31 -!- ent0nces has joined.
12:24:03 -!- ent0nces_ has quit (Ping timeout: 248 seconds).
12:26:15 -!- ent0nces_ has joined.
12:29:04 -!- ent0nces has quit (Ping timeout: 255 seconds).
12:33:01 -!- ent0nces has joined.
12:33:46 <izabera> BOOP ᴮᴼᴼᴾ BOOP ᴮᴼᴼᴾ
12:34:01 <izabera> `unidecode ᴮᴼᴼᴾ
12:34:11 <HackEgo> ​[U+1D2E MODIFIER LETTER CAPITAL B] [U+1D3C MODIFIER LETTER CAPITAL O] [U+1D3C MODIFIER LETTER CAPITAL O] [U+1D3E MODIFIER LETTER CAPITAL P]
12:35:47 -!- ent0nces_ has quit (Ping timeout: 248 seconds).
12:36:41 -!- ent0nces_ has joined.
12:38:31 -!- ent0nces has quit (Ping timeout: 255 seconds).
12:40:20 -!- ent0nces has joined.
12:43:27 -!- ent0nces_ has quit (Ping timeout: 276 seconds).
13:03:17 <FireFly> A capital idea
13:04:35 <myname> i am impressed how people have no shame in calling themself GermanyBoy
13:08:00 <Taneb> myname, same
13:10:15 -!- tromp has quit (Read error: Connection reset by peer).
13:21:22 <Taneb> Why is the fact that Vienna and Bratislava are less than 40 miles apart annoying me so much
13:23:26 -!- ent0nces_ has joined.
13:23:59 <b_jonas> Taneb: that's simply a side effect of both of them being close to Budapest and to the Danube
13:25:55 -!- ent0nces has quit (Ping timeout: 248 seconds).
13:28:35 <Taneb> b_jonas, they're both... well, closer to Budapest than I am to any capital city, but Ezstergom is closer
13:32:14 -!- andrew_ has quit (Remote host closed the connection).
13:34:07 -!- andrew has joined.
13:34:14 -!- andrew has quit (Remote host closed the connection).
13:43:03 -!- tromp has joined.
13:45:25 -!- tswettsh has joined.
13:45:36 -!- tswettsh has quit (Client Quit).
14:04:11 -!- tromp has quit (Remote host closed the connection).
14:04:22 -!- Alcest has joined.
14:08:37 -!- ent0nces has joined.
14:10:46 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
14:13:44 -!- tromp has joined.
14:18:23 -!- ent0nces_ has joined.
14:20:15 -!- `^_^v has joined.
14:20:51 -!- ent0nces has quit (Ping timeout: 248 seconds).
14:26:23 -!- ent0nces has joined.
14:29:13 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
14:38:04 -!- ent0nces_ has joined.
14:40:35 -!- ent0nces has quit (Ping timeout: 248 seconds).
14:40:46 -!- J_Arcane has joined.
14:48:58 -!- AnotherTest has quit (Ping timeout: 252 seconds).
14:59:50 -!- spiette has joined.
15:04:45 -!- tromp_ has joined.
15:07:00 -!- oerjan has joined.
15:09:19 -!- tromp_ has quit (Ping timeout: 252 seconds).
15:18:06 -!- ent0nces has joined.
15:20:31 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
15:28:15 <oerjan> !show ook
15:28:17 <EgoBot> perl (sending via DCC)
15:29:14 <oerjan> hm that doesn't work for this.
15:38:58 -!- ent0nces_ has joined.
15:41:23 -!- ent0nces has quit (Ping timeout: 248 seconds).
15:42:45 -!- bender| has quit (Ping timeout: 250 seconds).
15:47:22 -!- lambda-11235 has joined.
15:48:59 <oerjan> `? syntactic sugar
15:49:05 <HackEgo> Syntactic sugar causes semicolon cancer.
15:50:52 <b_jonas> ``` find wisdom -iname "*super*"
15:50:53 <HackEgo> wisdom/supermarionation \ wisdom/superexponential growth \ wisdom/superduperexponential growth \ wisdom/superduperinteressantesandersonnegelegenesdorfmitoderohnesahneistunsdabeiabsolutscheissegal \ wisdom/supermarioperator \ wisdom/supercalifragilisticexponential growth
15:51:24 <b_jonas> `? supermarioperator
15:51:25 <HackEgo> supermarioperator is one of many confusing operators as defined in Control.Plumbers.Monad. Your sanity is in another castle.
15:51:56 <myname> wait
15:52:01 <myname> is this a thing?
15:52:28 <b_jonas> ``` find wisdom -iname "*lar*"
15:52:29 <HackEgo> wisdom/selamlar
15:53:31 <myname> what the actual fuck
15:54:02 <myname> wait, there is a <<
15:56:34 <HackEgo> [wiki] [[Deadfish]] https://esolangs.org/w/index.php?diff=46457&oldid=46456 * Oerjan * (-1) On the one hand, someone cannot read. On the other hand, it's better after the section header anyway.
16:03:36 <prooftechnique> @hoogle Control.Plumbers.Monad
16:03:44 <lambdabot> package MonadCatchIO-mtl
16:03:44 <lambdabot> package MonadCatchIO-mtl-foreign
16:03:44 <lambdabot> package MonadCatchIO-transformers
16:03:56 <oerjan> there you go.
16:05:36 <Taneb> `? superduperinteressantesandersonnegelegenesdorfmitoderohnesahneistunsdabeiabsolutscheissegal
16:05:39 <HackEgo> Superduperinteressantesandersonnegelegenesdorfmitoderohnesahneistunsdabeiabsolutscheissegal is where mroman lives.
16:06:57 <b_jonas> ``` find wisdom -iname "*ego*"
16:06:58 <HackEgo> wisdom/monoidal category \ wisdom/oregon \ wisdom/hackego \ wisdom/category \ wisdom/categorical product \ wisdom/category theory \ wisdom/something-that-isn't-in-hackego's-wisdom \ wisdom/gregor \ wisdom/bicategory \ wisdom/egobot \ wisdom/category-helpdesk
16:20:49 -!- earendel has quit (Ping timeout: 255 seconds).
16:23:22 <b_jonas> ``` find wisdom -iname "*ball*"
16:23:23 <HackEgo> No output.
16:25:20 -!- earendel has joined.
16:28:55 -!- ent0nces has joined.
16:29:54 -!- adu has joined.
16:31:10 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
16:31:53 -!- oerjan has quit (Quit: Later).
16:33:17 <prooftechnique> `? superduperinteressantesandersonnegelegenesdorfmitoderohnesahneistunsdabeiabsolutscheissegal
16:33:18 <HackEgo> Superduperinteressantesandersonnegelegenesdorfmitoderohnesahneistunsdabeiabsolutscheissegal is where mroman lives.
16:33:24 <prooftechnique> Good
16:38:58 -!- XorSwap has joined.
16:49:33 -!- atehwa has quit (Ping timeout: 268 seconds).
16:50:06 -!- lynn has joined.
16:50:40 -!- atehwa has joined.
17:04:50 -!- tromp_ has joined.
17:06:42 -!- ent0nces_ has joined.
17:09:23 -!- ent0nces has quit (Ping timeout: 248 seconds).
17:09:57 -!- tromp_ has quit (Ping timeout: 276 seconds).
17:26:31 -!- Sprocklem_ has quit (Ping timeout: 255 seconds).
17:30:35 -!- ent0nces has joined.
17:31:26 -!- AnotherTest has joined.
17:33:16 -!- ent0nces_ has quit (Ping timeout: 255 seconds).
17:35:33 -!- AnotherTest has quit (Ping timeout: 240 seconds).
17:37:59 -!- sebbu has quit (Ping timeout: 240 seconds).
17:54:19 -!- AnotherTest has joined.
17:56:35 -!- XorSwap has quit (Read error: Connection reset by peer).
17:56:47 -!- XorSwap has joined.
17:57:38 -!- Treio has joined.
17:59:22 -!- ent0nces_ has joined.
17:59:56 -!- hppavilion[1] has joined.
18:01:07 -!- MoALTz has joined.
18:01:39 -!- ent0nces has quit (Ping timeout: 248 seconds).
18:06:08 -!- tromp_ has joined.
18:08:55 -!- ent0nces_ has quit.
18:09:27 -!- ent0nces has joined.
18:10:36 -!- tromp_ has quit (Ping timeout: 244 seconds).
18:10:59 -!- earendel has quit (Ping timeout: 240 seconds).
18:17:04 -!- XorSwap has quit (Quit: Leaving).
18:18:58 -!- earendel has joined.
18:27:08 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
18:43:58 -!- sebbu has joined.
18:44:53 -!- hppavilion[1] has joined.
18:52:07 -!- Treio has quit (Ping timeout: 250 seconds).
19:05:37 -!- mihow has joined.
19:10:32 -!- Treio has joined.
19:13:58 -!- XorSwap has joined.
19:15:36 <izabera> https://v1.std3.ru/71/b7/1450110575-71b77b2bd06f431f2bd0b4abb983738f.gif
19:17:29 -!- impomatic_ has joined.
19:21:24 -!- Phantom_Hoover has joined.
19:24:33 -!- XorSwap has quit (Ping timeout: 240 seconds).
19:31:48 <impomatic_> Does anyone know where I might find an archive or fj.binaries.msdos? I haven't found anything by Googling :-(
19:32:35 -!- adu has quit (Quit: adu).
19:33:59 <Phantom_Hoover> why do HoTT people have to keep going on about how it's the second coming of maths jesus :/
19:35:06 <zzo38> I had idea, I can invent a new kind of computer puzzle game, a bit like Hero Mesh but it is Linux and many differences, such as some of the design of Hero Mesh is badly designed, so I would do it in the better way. Also you can examine any tile by clicking on it so that nothing is hidden. What is your opinion of this so far?
19:35:17 <zzo38> (Also, I do not know the answer of either of your two questions)
19:36:55 <zzo38> I would probably also to avoid animation (at least at first), and to ensure that keys such as shift/ctrl/alt/capslock/numlock are not game commands
19:43:05 -!- earendel has quit (Ping timeout: 244 seconds).
19:43:18 -!- ent0nces_ has joined.
19:45:39 -!- ent0nces has quit (Ping timeout: 248 seconds).
19:48:10 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
19:49:42 -!- hppavilion[1] has joined.
19:54:01 -!- Sprocklem has joined.
19:57:33 -!- ent0nces_ has quit (Remote host closed the connection).
19:57:52 -!- ent0nces has joined.
20:02:13 -!- ent0nces has quit (Ping timeout: 255 seconds).
20:07:56 <hppavilion[1]> We have lazy-evaluated sequences, but not lazy-evaluated trees
20:08:09 <hppavilion[1]> lazyevtree.next(n)
20:08:51 -!- ent0nces has joined.
20:09:24 <hppavilion[1]> Or lazy-evaluated trees
20:09:28 <hppavilion[1]> Or lazy-evaluated matrices
20:09:35 <hppavilion[1]> s/trees/graphs/
20:12:25 <myname> who is "we"?
20:12:45 <myname> haskell has these
20:13:15 <hppavilion[1]> myname: Programmers
20:13:16 <hppavilion[1]> myname: Oh
20:13:18 <hppavilion[1]> Right
20:13:53 <myname> infinite trees? no problem
20:14:15 <hppavilion[1]> myname: We have lambda but not thetas?
20:14:23 <hppavilion[1]> s/lambda/lambdas/
20:14:28 <hppavilion[1]> xD
20:14:32 <hppavilion[1]> Or rhos
20:14:44 <myname> what should they do?
20:14:46 <hppavilion[1]> Rhos being based on the rho-calculus
20:14:55 <hppavilion[1]> myname: I don't know, what's the rho-calculus like?
20:15:31 <hppavilion[1]> myname: I guess a rho is something you can term rewrite
20:16:28 <hppavilion[1]> rho x y z: x+y*z
20:16:34 <hppavilion[1]> (python syntax)
20:17:15 <myname> how is it different than lambda x y z: x+y*z?
20:17:28 <hppavilion[1]> myname: A rho is based on term rewriting
20:17:34 <hppavilion[1]> myname: or something
20:17:43 <myname> so... #define?
20:17:48 <hppavilion[1]> myname: That doesn't produce a function; it produces a rewritable
20:18:11 <hppavilion[1]> myname: Yes, perhaps (I don't know much about rho-calculus OR the C preprocessor), but as a builtin language construct.
20:19:13 <hppavilion[1]> (rho x y z -> x*(y+z)).distribute() produces a rho x y z -> x*y+x*z
20:19:17 <hppavilion[1]> Maybe
20:20:31 -!- puckipedia has quit (*.net *.split).
20:20:32 -!- gniourf has quit (*.net *.split).
20:20:32 -!- deltab has quit (*.net *.split).
20:20:32 -!- kline has quit (*.net *.split).
20:20:32 -!- erdic has quit (*.net *.split).
20:20:45 -!- deltab has joined.
20:20:52 -!- erdic has joined.
20:21:50 -!- gniourf has joined.
20:22:36 <hppavilion[1]> Of course, that's completely wrong
20:22:56 -!- puckipedia has joined.
20:22:56 -!- sebbu has quit (Ping timeout: 255 seconds).
20:23:20 <zzo38> This is part of document of my idea of "Universal Terminal Character Encoding": http://zzo38computer.org/textfile/miscellaneous/utce
20:24:41 -!- nisstyre has quit (Changing host).
20:24:41 -!- nisstyre has joined.
20:25:23 <zzo38> Note that it includes many characters not available in Unicode, although a conversion from Unicode will also be lossy.
20:25:41 -!- kline has joined.
20:25:47 -!- sebbu has joined.
20:26:53 <zzo38> Also, for simplicity, there is no right-to-left nor any complex scripts; it is designed to be simple but also elaborate.
20:30:03 -!- lambda-11235 has quit (Quit: Bye).
20:48:33 -!- shikhin has changed nick to kvIRC.
20:48:39 -!- kvIRC has changed nick to shikhin.
20:57:09 -!- jaboja has joined.
21:03:10 <hppavilion[1]> myname: Also, pis, based on the pi calculus. Anonymous threads, basically.
21:13:06 -!- ent0nces has quit.
21:15:51 <b_jonas> whoa
21:16:04 <b_jonas> shachaf: ring the obell for @1025
21:16:10 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
21:16:19 <shachaf> b_jonas: you should do it hth
21:16:32 <prooftechnique> obell?
21:16:51 <b_jonas> `? obell
21:17:10 <HackEgo> obell? ¯\(°​_o)/¯
21:17:18 <b_jonas> prooftechnique: the obell is what we ring each time a new strip of the o webcomic is published
21:17:25 <b_jonas> `olist 1025
21:17:27 <prooftechnique> o
21:17:28 <HackEgo> olist 1025: shachaf oerjan Sgeo FireFly boily nortti b_jonas
21:17:46 -!- earendel has joined.
21:17:59 <b_jonas> `learn The obell is what we ring each time a new strip of the o webcomic is published.
21:18:03 <HackEgo> Learned 'obell': The obell is what we ring each time a new strip of the o webcomic is published.
21:18:42 <FireFly> o
21:19:00 <shachaf> FireFlhi
21:19:06 <prooftechnique> And, as a followup question, where do I read this webcomic?
21:19:18 <shachaf> `? olist
21:19:21 <HackEgo> Update notification for the webcomic Order of the Stick. http://www.giantitp.com/comics/ootslatest.html
21:19:27 <prooftechnique> Oh, that o
21:21:04 <FireFly> shachafton
21:21:17 <shachaf> ?
21:21:48 <FireFly> https://en.wiktionary.org/wiki/afton
21:21:57 <shachaf> ah
21:22:07 <shachaf> but it's only 13:22
21:22:12 <shachaf> more like shachafternoon
21:22:37 <FireFly> but it's 22:22
21:22:51 <prooftechnique> But it's 16:22
21:23:49 <prooftechnique> Bordering on shachväll
21:23:55 <shachaf> `? fternooner
21:23:55 <HackEgo> fternooner (Danish »fternooner«, Norwegian «ttermiddag», Swedish ”ftermiddag”) is a screamingly delicious pastry.
21:24:12 <shachaf> shachaftermiddag
21:26:02 <prooftechnique> I think all the different quote conventions are the most interesting part of that entry.
21:26:40 <prooftechnique> `? fentimans
21:26:42 <HackEgo> fentimans is a delicious beverage out from Hexham, that can be paired with a fresh fternooner for a nutritive midday snack.
21:27:49 <Taneb> Haven't had any Fentimans in months
21:29:08 <prooftechnique> `? benchmarks
21:29:11 <HackEgo> benchmarks? ¯\(°​_o)/¯
21:29:17 -!- hppavilion[1] has joined.
21:29:32 <prooftechnique> `quote benchmarks
21:29:33 <HackEgo> 665) <NihilistDandy> Benchmarks are only a good measure of surprise
21:29:36 <prooftechnique> There it is
21:32:48 <b_jonas> prooftechnique: different quoting styles reminds me to http://www.madore.org/~david/weblog/d.2014-07-08.2212.html which asks what style of quotation marks to use when you quote text from a different language than the main text.
21:33:26 -!- oerjan has joined.
21:34:31 <prooftechnique> We should all just adopt the perl convention. Q is underused, anyway
21:34:48 <shachaf> Taneb: Is that carbonated?
21:34:55 <Taneb> shachaf: generally
21:34:59 <shachaf> scow
21:35:03 <prooftechnique> Or, as I prefer to think of it: under*utilized*
21:35:24 -!- XorSwap has joined.
21:35:53 <oerjan> eek the bug workaround for pine in tmux broke irssi instead...
21:36:03 -!- oerjan has quit (Client Quit).
21:36:03 -!- sebbu has quit (Ping timeout: 240 seconds).
21:36:08 <prooftechnique> Oh, dear
21:37:39 -!- zzo38 has quit (Remote host closed the connection).
21:38:09 -!- lynn has quit (Quit: Leaving).
21:39:10 -!- sebbu has joined.
21:39:19 -!- oerjan has joined.
21:48:40 -!- jaboja has quit (Remote host closed the connection).
21:49:39 -!- lynn has joined.
21:51:29 -!- hydraz has changed nick to nothing.
21:51:33 -!- nothing has changed nick to hydraz.
21:51:52 <oerjan> prooftechnique: they upgraded fedora on the server i use for mail and irssi, which includes a buggy version of tmux that breaks reverse video, but not irssi. the simplest fix (while waiting for the actual tmux bugfix) is to set TERM=xterm instead of TERM=screen inside tmux, but that breaks irssi instead...
21:52:41 <shachaf> oerjan: use a better server hth
21:52:54 <oerjan> so i'm playing around with shell and tmux config
21:53:30 <oerjan> shachaf: but but it's my 24 year old email account
21:53:57 <shachaf> why do you run an irc client on your email account
21:54:20 <shachaf> also 24 is a lot of years
21:54:23 <oerjan> also this is a computer club, so the admin who answered suggested _i_ build tmux with the patch for them.
21:54:31 <oerjan> yep
21:54:37 <shachaf> did email even exist 24 years ago
21:54:43 <oerjan> yep
21:54:46 <shachaf> did anything exist
21:54:48 <oerjan> yep
21:54:57 <int-e> I agree with oerjan
21:55:04 <oerjan> or possibly it was all faked last thursday.
21:55:09 <b_jonas> shachaf: yes, I existed 24 years ago
21:55:21 -!- earendel has quit (Ping timeout: 244 seconds).
21:55:22 <b_jonas> I even have photos of me and my family from back then
21:55:33 <int-e> photoshop
21:55:46 <shachaf> 24 years is almost a quarter of a century
21:55:54 <int-e> so?
21:56:06 <shachaf> that's way too long a time span for anything
21:56:22 <int-e> people live longer than that
21:56:35 <shachaf> so they say
21:56:54 <int-e> they do.
21:57:13 <int-e> we are talking about Earth years, right?
21:57:43 <oerjan> shachaf: are you a veetan by any chance
21:58:06 <shachaf> `? veetan
21:58:07 <oerjan> although they can live to 25
21:58:07 <HackEgo> veetan? ¯\(°​_o)/¯
21:59:16 <oerjan> `learn Veetans are a race of cuddly, yet sturdy aliens in the Drive comic.
21:59:18 <HackEgo> Learned 'veetan': Veetans are a race of cuddly, yet sturdy aliens in the Drive comic.
21:59:47 <myname> what's the drive comic
21:59:51 <oerjan> `learn Veetans are a race of cuddly, yet sturdy aliens in the Drive comic. Their maximum lifespan is 25 years, but they use it well.
21:59:53 <HackEgo> Learned 'veetan': Veetans are a race of cuddly, yet sturdy aliens in the Drive comic. Their maximum lifespan is 25 years, but they use it well.
21:59:56 <shachaf> oh, is that what dlist is about?
22:00:02 <shachaf> i thought it was a prolog thing
22:00:07 <oerjan> shachaf: hm not that i know of
22:00:24 <oerjan> it's not irregular enough for a list, any more.
22:00:43 <shachaf> 25 is a lot of years
22:01:40 <shachaf> if you don't demonstrate a magic talent by that age you get exiled, i think
22:01:57 <oerjan> i could find a quote on that, if the drive website didn't have the worst archive system _ever_.
22:02:27 <int-e> drive, hmm
22:02:28 <oerjan> i don't think veetans are magic much.
22:03:05 -!- earendel has joined.
22:03:41 * oerjan tries via google, again
22:03:54 <int-e> google is magic
22:03:58 <int-e> `? google
22:04:00 <HackEgo> Google your half-Word Haskell is Problem.
22:04:17 <int-e> ... that did not help at all
22:04:58 <shachaf> `culprits wisdom/google
22:05:02 <HackEgo> tswett
22:05:27 <shachaf> pikhq: did you go to that google class where they tell you how search works
22:07:34 -!- tromp_ has joined.
22:08:18 <oerjan> ooh ohnorobot has it
22:09:00 <oerjan> no wait, it doesn't, it's from before the comic moved.
22:10:04 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
22:11:53 -!- tromp_ has quit (Ping timeout: 244 seconds).
22:19:03 <oerjan> finally http://www.drivecomic.com/archive/100731.html
22:20:07 <shachaf> 25 years is a long time
22:20:48 <izabera> 100731 is scary
22:21:36 <shachaf> "drive is ad-free, thanks to reader support. click to back the strip on patreon!"
22:21:54 <shachaf> i don't think ad-free means what you think it means hth
22:22:13 <izabera> how can i pick up a new webcomic if i have to read 100000 past issues?
22:22:39 <shachaf> Just read olist.
22:22:57 <int-e> izabera: just start reading... bookmark the latest comic you've read... you'll catch up eventually
22:23:11 <oerjan> shachaf: i don't think that is the worst problem with the site hth
22:23:25 <int-e> izabera: or spend an extended weekend...
22:23:47 <oerjan> izabera: sadly, it's just the date
22:23:48 <int-e> izabera: also you're exaggerating
22:24:04 <izabera> am i?
22:24:36 <izabera> oerjan: what moron uses that date format
22:24:38 <oerjan> the date url scheme is just one part of why the site is almost completely unnavigable
22:24:59 <shachaf> perhaps this channel is inhabited entirely by veetans
22:25:01 <oerjan> (if updates were completely regular, it would work, but they haven't been)
22:25:03 <shachaf> except for oerjan
22:25:45 <int-e> izabera: it looks like a weekly, maybe twice a week, comic that has been around for 6 1/2 years
22:26:11 -!- S1 has joined.
22:26:13 <oerjan> izabera: i have frequent, but so far overcome desires to register on disqus just to tell the author to fire his website programmers.
22:27:47 <oerjan> int-e: it's twice a week now, one main comic and one guest comic. but it has been far more rare, and had essentially a year of hiatus while kellett worked on a film project.
22:28:27 <oerjan> before that year, there was a "look at the last year of comics" menu that sort of worked.
22:28:27 <int-e> oerjan: that's fine, I was looking for an upper bound on the number of issues
22:29:29 <int-e> anyway, I wouldn't complain about the URL scheme. I would complain about the lack of navigation beyond "next" and "prev".
22:30:51 <oerjan> int-e: well the url scheme is such that you cannot hack around the lack of navigation, because together with the frequent hiatuses in the middle of the run, it is completely unpredictable which dates have comics
22:31:36 <oerjan> so it _is_ part of the problem, although wouldn't be a good solution alone.
22:31:52 -!- S1 has quit (Quit: S1).
22:31:52 <int-e> fwiw I have that problem with GG as well... though one can usually hit a comic in at most 3 tries (using a calendar would be too tedious ;-) )
22:32:00 <shachaf> www.drivecomic.com/archive/random is all the navigation you need hth
22:32:08 <shachaf> oops, where did the http:// go
22:32:34 <oerjan> int-e: GG has a menu of story arcs, from which you can start jumping by weeks.
22:33:04 <oerjan> it's not as good as a list of every comic, but infinitely better than what drive has.
22:35:06 <oerjan> lately, things have gotten even more insane, as kellett has started moving the guest comic arcs in the sequence once they're finished, apparently by _swapping_ url contents
22:35:13 <oerjan> breaking absolutely all links
22:35:23 <oerjan> including the comment threads
22:38:33 <oerjan> they have a working random link?
22:38:51 <oerjan> shachaf: see if you can find a working list of comics link twh
22:39:06 <shachaf> who knows what else is hidden in /archive
22:39:48 <shachaf> oerjan: http://www.drivecomic.com/archive/archives.html hth
22:40:28 <shachaf> what, did you want more than a year?
22:40:46 <shachaf> http://web.archive.org/web/*/http://www.drivecomic.com/archive/archives.html hth
22:41:19 <oerjan> ooh that still exists? it was removed from the main page, of course.
22:41:24 <shachaf> oh, if you look at the historical archives, there's a search box
22:41:31 <shachaf> but it's gone from the real archives
22:42:19 * oerjan bookmarks
22:45:48 <oerjan> shachaf: ah yes, at one time there was a button to suggest list transcriptions, which that box probably used, and which no one actually made
22:46:03 <oerjan> *strip transcriptions
22:46:56 <oerjan> so, a slightly broken system bit rotted until it was just removed.
22:48:55 <oerjan> from other hints, presumably on a "no one has a clue how it _should_ work" basis.
22:49:50 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:51:20 -!- boily has joined.
22:53:06 <oerjan> <Phantom_Hoover> why do HoTT people have to keep going on about how it's the second coming of maths jesus :/ <-- presumably it hasn't yet been used thoroughly enough for experience to enforce a reality check
22:54:02 <oerjan> every new idea is a panacea until proven otherwise.
22:55:23 <boily> Panamean Panacea Manna.
23:03:05 -!- hydraz has changed nick to heddwchfart.
23:03:34 -!- heddwchfart has changed nick to hydraz.
23:04:59 <boily> hydraz: hellodraz. welsh?
23:05:12 <shachaf> boily: hi
23:05:38 <shachaf> does "poisson deux" mean "fish two" or "two fish" twh
23:06:15 * oerjan suspects the former
23:06:40 <hydraz> boily: Negative, joke on another channel.
23:07:31 <oerjan> actually if it were two fish, it should be poissons...
23:07:33 <boily> hellochaf. it's the former.
23:08:12 <boily> “two fish” is «deux poissons». «poisson deux» sounds like you are counting them: «poisson un, poisson deux, poisson trois...»
23:08:35 <boily> or more normally, «premier poisson, deuxième poisson, troisième poisson...»
23:08:54 -!- XorSwap has quit (Quit: Leaving).
23:08:56 -!- tromp_ has joined.
23:09:46 <boily> shachaf: you switched from pooches over to fish?
23:13:28 -!- tromp_ has quit (Ping timeout: 255 seconds).
23:16:35 <shachaf> premier pooch!
23:16:51 <shachaf> premier cabot
23:17:16 <shachaf> boily: I was looking at the title of _One Fish, Two Fish, Red Fish, Blue Fish_ in French.
23:17:20 <shachaf> They pull a fast one.
23:24:32 <Phantom_Hoover> <boily> or more normally, «premier poisson, deuxième poisson, troisième poisson...»
23:24:55 <Phantom_Hoover> 'fish one, fish two, ...' in english would be using the nominal case, not ordinal
23:25:24 -!- adu has joined.
23:42:38 <boily> one shachaf, two sachafayim, three shachafes, four shachafen...
23:43:05 <shachaf> help
23:43:41 <boily> conjugating shachaf if hard. let's poutine.
23:43:44 <boily> s/if/is/
23:43:51 -!- `^_^v has quit (Ping timeout: 276 seconds).
23:43:54 -!- boily has quit (Quit: TUMBLER CHICKEN).
23:44:45 -!- alejandro12 has joined.
23:45:26 <alejandro12> hello
23:45:40 <oerjan> `bienvenito alejandro12
23:45:49 <alejandro12> ablan espaol
23:45:56 <alejandro12> :)
23:46:01 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: bienvenito: not found
23:46:04 <oerjan> argh
23:46:55 <oerjan> `bienvenido alejandro12
23:47:02 <HackEgo> alejandro12: ¡Bienvenido al centro internacional para el diseño y despliegue de lenguajes de programación esotéricos! Por desgracia, la mayoría de nosotros no hablamos español. Para obtener más información, echa un vistazo a nuestro wiki: http://esolangs.org/. (Para el otro tipo de esoterismo, prueba #esoteric en EFnet o DALnet.)
23:47:46 <alejandro12> umm ok
23:47:57 <alejandro12> #esoteric en EFnet o DALnet.)
23:48:02 <alejandro12> esto es un grupo
23:52:46 <oerjan> esto es #esoteric en Freenode
23:53:59 <alejandro12> bye this group is bored are very seriousGoogle Traductor para empresas:Translator ToolkitTraductor de sitios webGlobal Market Finder
23:54:40 <alejandro12> bye this group is bored are very serious
23:55:09 -!- hppavilion[1] has joined.
23:55:29 <hppavilion[1]> int-e: Do you have any clue what that half-word Haskell thing means?
23:56:33 <hppavilion[1]> I think one of the paths to true eso is to make something first-class that is never first-class
23:56:47 <oerjan> what half-word haskell thing
23:57:19 -!- alejandro12 has left.
23:57:19 <oerjan> hppavilion[1]: sounds like a good plan
23:57:33 <hppavilion[1]> oerjan: It was said last time I was online
23:57:38 <hppavilion[1]> `google
23:57:39 <HackEgo> Google what?
23:57:47 <hppavilion[1]> `? google
23:57:48 <HackEgo> Google your half-Word Haskell is Problem.
23:57:50 <hppavilion[1]> oerjan: That
23:57:51 <shachaf> http://tunes.org/~nef/logs/esoteric/15.12.19
23:58:04 <hppavilion[1]> oerjan: The real question is just /what/ to make first-class
23:58:15 <shachaf> make making things first-class first-class hth
23:58:25 <shachaf> reify reification
23:58:42 <oerjan> shachaf: you should use codu then you can point at individual lines hth
23:58:49 <shachaf> oerjan: codu doesn't have logs for that day hth
23:58:58 <oerjan> darn
23:59:04 <hppavilion[1]> shachaf: I did think of that xD
2016-02-23
00:00:16 <oerjan> shachaf: oh so it's from tswett's network
00:00:40 <hppavilion[1]> shachaf: I did think of rho expressions, which are like lambda expressions but based on the rho calculus
00:00:57 <hppavilion[1]> myname brought up #define when I mentioned it
00:01:04 <hppavilion[1]> first-class preprocessing xD
00:02:35 <hppavilion[1]> `le/rn last-class function/A last-class function is a function that cannot be passed as an argument, accept a function as an argument, be returned by a function, return a function, set to a variable other than its initial name, or be called
00:02:38 <HackEgo> Learned «last-class function»
00:02:43 <hppavilion[1]> `? last-class function
00:02:44 <HackEgo> A last-class function is a function that cannot be passed as an argument, accept a function as an argument, be returned by a function, return a function, set to a variable other than its initial name, or be called
00:03:05 <tswett> 08:07:49 <b_jonas> `learn integer/An integer is a number that does not contain a wildcard that matches any character other than a line feed.
00:03:05 <tswett> 08:07:50 <HackEgo> ​/hackenv/bin/learn: line 3: wisdom/integer/an: No such file or directory \ Learned 'integer/an': integer/An integer is a number that does not contain a wildcard that matches any character other than a line feed.
00:03:14 <tswett> My network is getting really good at remembering long phrases.
00:04:05 <oerjan> tswett: clearly today's xkcd is relevant.
00:04:13 -!- spiette has quit (Quit: :qa!).
00:05:28 <oerjan> `` sed -i 's/$/. It can, however, be pointed at, derisively./' wisdom/'last-class function'
00:05:30 <HackEgo> No output.
00:05:37 <oerjan> `? last-class function
00:05:38 <HackEgo> A last-class function is a function that cannot be passed as an argument, accept a function as an argument, be returned by a function, return a function, set to a variable other than its initial name, or be called. It can, however, be pointed at, derisively.
00:05:48 <hppavilion[1]> oerjan: derisively?
00:05:57 <oerjan> did i mispel that
00:06:14 <oerjan> nope
00:06:25 <hppavilion[1]> oerjan: Never heard that word
00:06:27 <oerjan> hppavilion[1]: you now, like the higher classes point at the lower
00:06:36 <hppavilion[1]> oerjan: Ah
00:08:08 -!- lynn has quit (Ping timeout: 244 seconds).
00:28:49 -!- fungot has quit (Ping timeout: 250 seconds).
00:29:12 <oerjan> fungone
00:29:21 <hppavilion[1]> NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
00:29:28 <hppavilion[1]> `mourn fungot
00:29:28 <HackEgo> Alas, poor fungot, I knew him well!
01:01:38 -!- tromp_ has joined.
01:04:33 -!- adu has quit (Quit: adu).
01:11:50 -!- mihow has quit (Quit: mihow).
01:41:59 -!- lambda-11235 has joined.
02:14:50 -!- oerjan has quit (Quit: Latezzz).
02:28:47 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:29:33 <pikhq> shachaf: I haven't.
02:37:27 -!- nisstyre has quit (Ping timeout: 244 seconds).
02:43:23 -!- andrew has joined.
02:43:47 -!- adu has joined.
02:44:17 <adu> hppavilion[1]: NOOOOOOOO
02:44:33 <adu> wait, I mean YEEEEEEEEEEES
03:05:55 -!- nisstyre has joined.
03:16:49 -!- andrew has quit (Remote host closed the connection).
03:30:59 -!- aloril has quit (Ping timeout: 240 seconds).
03:39:02 -!- aloril has joined.
03:56:26 -!- andrew has joined.
04:06:11 -!- tromp_ has quit (Remote host closed the connection).
04:07:09 -!- mad has joined.
04:08:48 <mad> hey
04:08:52 -!- bb010g has joined.
04:11:30 -!- perrier_ has quit (Read error: Connection reset by peer).
04:11:33 -!- Guest37376 has quit (Read error: Connection reset by peer).
04:11:36 -!- Guest58776 has quit (Remote host closed the connection).
04:11:42 -!- Guest20424 has quit (Remote host closed the connection).
04:12:26 <zgrep> `cat bin/mourn
04:12:29 <HackEgo> echo "Alas, poor $@, I knew him well!"
04:12:38 <zgrep> Oh. That's boring. :(
04:15:38 <MDude> `cat bin/bin
04:15:40 <HackEgo> cat: bin/bin: No such file or directory
04:15:53 <MDude> `cat bin/bin/bin
04:15:54 <HackEgo> cat: bin/bin/bin: No such file or directory
04:15:59 <MDude> `cat /secret
04:16:00 <HackEgo> cat: /secret: No such file or directory
04:16:07 <MDude> `cat bin/secret
04:16:08 <HackEgo> cat: bin/secret: No such file or directory
04:16:17 <MDude> `cat bin/supersecret
04:16:18 <HackEgo> cat: bin/supersecret: No such file or directory
04:16:22 <MDude> Well I'm ut of dieas.
04:16:29 <MDude> *out of ideas
04:18:34 <zgrep> `` find / -name '*secret*'
04:19:05 <HackEgo> ​/proc/sys/net/ipv4/ipfrag_secret_interval \ /proc/sys/net/ipv6/ip6frag_secret_interval \ find: `/proc/tty/driver': Permission denied \ find: `/proc/1/task/1/fd': Permission denied \ find: `/proc/1/task/1/fdinfo': Permission denied \ find: `/proc/1/task/1/ns': Permission denied \ find: `/proc/1/fd': Permission denied \ find: `/proc/1/fdinfo': Per
04:20:35 -!- andrew has quit (Remote host closed the connection).
04:23:01 -!- adu has quit (Quit: adu).
04:25:11 -!- adu has joined.
04:25:22 -!- adu has quit (Client Quit).
04:31:03 -!- earendel has quit (Ping timeout: 250 seconds).
04:54:32 -!- XorSwap has joined.
04:58:09 <coppro> Taneb: have you played mage knight?
04:58:12 -!- adu has joined.
04:59:22 <zgrep> `` find / -name '*secret*' > secret.txt
04:59:36 <zgrep> `tomfoolery fs
05:00:00 <HackEgo> find: `/proc/tty/driver': Permission denied \ find: `/proc/1/task/1/fd': Permission denied \ find: `/proc/1/task/1/fdinfo': Permission denied \ find: `/proc/1/task/1/ns': Permission denied \ find: `/proc/1/fd': Permission denied \ find: `/proc/1/fdinfo': Permission denied \ find: `/proc/1/ns': Permission denied \ find: `/proc/2/task/2/fd': Permissi
05:00:02 <HackEgo> File system. HackEgo/HackBot's is http://codu.org/projects/hackbot/fshg/index.cgi
05:01:05 <zgrep> http://codu.org/projects/hackbot/fshg/index.cgi/file/8a87b4c82f52/secret.txt
05:03:59 <zgrep> `url secret.txt
05:04:00 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/secret.txt
05:04:03 <zgrep> :D
05:04:25 <zgrep> Although there probably should be a thing for the permanent version of the latest URL...
05:06:43 -!- tromp_ has joined.
05:11:27 -!- tromp_ has quit (Ping timeout: 276 seconds).
05:19:39 -!- earendel has joined.
05:21:26 <zgrep> `word
05:21:27 <HackEgo> candroii
05:21:32 -!- earendel has quit (Client Quit).
05:22:59 -!- earendel has joined.
05:23:20 <Elronnd> `word
05:23:21 <HackEgo> vheta
05:23:34 <zgrep> Makes fake words.
05:23:34 <Elronnd> ...Where does HackEgo get his wordlist?
05:23:40 <Elronnd> ah
05:23:43 <zgrep> http://codu.org/projects/hackbot/fshg/index.cgi/file/a4e2b9749d1d/bin/word
05:29:59 -!- APic has quit (Ping timeout: 240 seconds).
05:36:14 -!- APic has joined.
05:51:54 -!- Xe has quit (Ping timeout: 260 seconds).
05:53:50 -!- Xe has joined.
06:31:03 -!- lambda-11235 has quit (Quit: Bye).
06:48:12 -!- XorSwap has quit (Quit: Leaving).
06:51:37 -!- adu has quit (Quit: adu).
07:02:48 -!- tromp_ has joined.
07:07:02 -!- tromp_ has quit (Ping timeout: 250 seconds).
07:10:56 -!- earendel has left.
07:10:59 -!- earendel has joined.
07:23:11 <earendel> these numbers @word.. is this some kind of probability of occurence for that syllables?
07:25:17 <earendel> also how have is this association there "happened"?
07:37:01 <deltab> yes, they're weights; a random number is chosen from their sum
07:40:41 -!- MDude has changed nick to MDream.
07:41:19 <deltab> they're presumably generated from lots of input text, counting up how often 'th' is followed by 'w' etc.
07:49:55 <earendel> nice
07:55:41 <deltab> https://en.wikipedia.org/wiki/Markov_chain#Markov_text_generators
08:05:20 -!- AnotherTest has joined.
08:07:59 -!- tromp_ has joined.
08:12:29 -!- tromp_ has quit (Ping timeout: 240 seconds).
08:41:20 -!- jaboja has joined.
08:52:33 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
08:57:51 <b_jonas> `perl -we "warn 4.5+6.3"
08:57:55 <b_jonas> um
08:57:59 <HackEgo> Useless use of a constant (warn 4.5+6.3) in void context at -e line 1.
08:58:01 <b_jonas> `perl -we warn 4.5+6.3
08:58:04 <HackEgo> 10.8 at -e line 1.
08:58:06 <b_jonas> better
09:34:04 -!- impomatic_ has quit (Ping timeout: 240 seconds).
09:54:11 -!- AnotherTest has quit (Ping timeout: 248 seconds).
09:55:34 -!- J_Arcane has quit (Ping timeout: 240 seconds).
10:06:55 -!- AnotherTest has joined.
10:23:25 -!- lynn_ has joined.
10:43:59 -!- jaboja has quit (Ping timeout: 240 seconds).
10:44:38 <fizzie> They're generated from word lists, actually.
10:45:45 <fizzie> Which is probably subtly different from generating them from lots of input text, since it presumably has a higher weight for more uncommon trigrams (or 4-grams or whatever they were).
10:46:29 <fizzie> It's the same procedure fungot uses, except fungot does words, and it uses a variable-length model generated by https://github.com/vsiivola/variKN
10:46:35 <fizzie> Huh.
10:46:47 <fizzie> Oh, right, the internet gave up at night.
10:47:14 -!- fungot has joined.
10:47:22 <fizzie> fungot: Feeling all right there?
10:47:23 <fungot> fizzie: they don't ever define " fnord" is invalid? the line does ( which is useful
10:47:41 <fizzie> All subsystems nominal, I guess.
10:49:00 -!- ais523 has joined.
10:49:22 <ais523> hmm, new sort of spam I've never seen before
10:49:54 <ais523> it's piggybacking on other spam in an unusual way: it suggests that if we download a particular mobile app, it'll cause one category of spam to stop arriving
10:50:41 <ais523> basically trying to position itself as an opt-out, in a way that's fairly suspicious to people who are aware of computers, but it seems likely to fool some people
11:26:33 -!- boily has joined.
11:27:02 <boily> @massages-loud
11:27:03 <lambdabot> You don't have any messages
11:28:22 <b_jonas> hello, ais
11:29:01 <b_jonas> ais523: yes, many spam does that in a much more straightforward way: they include a link to "unsubscribe" from that very spam.
11:29:21 <b_jonas> but I think I've heared of spam that talks about other spam
11:30:57 <b_jonas> ais523: here's one example http://bendwavy.org/wp/?p=3416
11:31:36 <b_jonas> then there's http://www.xkcd.com/810/
11:32:19 -!- ais523 has quit (Ping timeout: 248 seconds).
11:44:33 -!- zemhill has joined.
11:47:14 -!- lynn has joined.
11:47:43 -!- benderpc_ has joined.
11:49:46 -!- lynn_ has quit (Ping timeout: 244 seconds).
11:53:46 -!- zemhill has quit (Remote host closed the connection).
11:53:58 -!- zemhill has joined.
11:56:56 -!- zemhill has quit (*.net *.split).
11:58:08 -!- zemhill has joined.
12:02:13 -!- zemhill has quit (Remote host closed the connection).
12:02:25 -!- zemhill has joined.
12:03:12 * boily should nuke that /boot partition
12:03:35 <boily> is it possible to merge partitions together?
12:05:23 <b_jonas> boily: um, in what sense?
12:09:23 -!- zemhill has quit (Remote host closed the connection).
12:09:33 <boily> I'm using ubuntu's default partition scheme, and /boot is way too small, always getting clogged by old kernels.
12:09:35 -!- zemhill has joined.
12:10:07 <boily> either there's a way to automatically remove old versions, or just take everything in /boot and put it in /.
12:10:36 <boily> (and make /boot disappear in a puff of Logic.)
12:14:36 -!- zemhill has quit (Remote host closed the connection).
12:14:48 -!- zemhill has joined.
12:18:48 -!- zemhill has quit (Remote host closed the connection).
12:19:00 -!- zemhill has joined.
12:19:05 -!- benderpc_ has changed nick to bender|.
12:19:15 -!- bender| has quit (Changing host).
12:19:16 -!- bender| has joined.
12:23:16 -!- zemhill has quit (Remote host closed the connection).
12:23:28 -!- zemhill has joined.
12:24:52 -!- boily has quit (Quit: GLASS CHICKEN).
12:28:52 -!- zemhill has quit (Remote host closed the connection).
12:29:04 -!- zemhill has joined.
12:33:04 -!- zemhill has quit (Remote host closed the connection).
12:33:16 -!- zemhill has joined.
12:37:16 -!- zemhill has quit (Remote host closed the connection).
12:37:30 -!- zemhill has joined.
12:41:30 -!- zemhill has quit (Remote host closed the connection).
12:41:42 -!- zemhill has joined.
12:43:37 -!- carado has quit (Quit: Leaving).
12:44:23 -!- carado has joined.
12:48:23 -!- zemhill has quit (Remote host closed the connection).
12:48:36 -!- zemhill has joined.
12:51:32 -!- AnotherTest has quit (Ping timeout: 250 seconds).
12:55:33 -!- zemhill has quit (Remote host closed the connection).
12:55:45 -!- zemhill has joined.
12:59:45 -!- zemhill has quit (Remote host closed the connection).
12:59:57 -!- zemhill has joined.
13:03:57 -!- zemhill has quit (Remote host closed the connection).
13:04:10 -!- zemhill has joined.
13:07:27 <HackEgo> [wiki] [[Addleq]] https://esolangs.org/w/index.php?diff=46458&oldid=20442 * 85.194.216.168 * (+18) Added OISC category
13:10:14 -!- AnotherTest has joined.
13:14:14 -!- zemhill has quit (Remote host closed the connection).
13:14:26 -!- zemhill has joined.
13:17:07 -!- lynn_ has joined.
13:19:40 -!- lynn has quit (Ping timeout: 244 seconds).
13:23:40 -!- zemhill has quit (Remote host closed the connection).
13:23:51 -!- zemhill has joined.
13:27:51 -!- zemhill has quit (Remote host closed the connection).
13:28:03 -!- zemhill has joined.
13:32:03 -!- zemhill has quit (Remote host closed the connection).
13:32:15 -!- zemhill has joined.
13:32:32 -!- tromp_ has joined.
13:33:37 -!- jaboja has joined.
13:37:37 -!- zemhill has quit (Remote host closed the connection).
13:37:49 -!- zemhill has joined.
13:41:49 -!- zemhill has quit (Remote host closed the connection).
13:42:01 -!- zemhill has joined.
13:46:01 -!- zemhill has quit (Remote host closed the connection).
13:46:13 -!- zemhill has joined.
13:46:36 -!- tromp_ has quit (Remote host closed the connection).
13:50:36 -!- zemhill has quit (Remote host closed the connection).
13:50:49 -!- zemhill has joined.
13:51:43 -!- vodkode has quit (Quit: Leaving).
13:55:43 -!- zemhill has quit (Remote host closed the connection).
13:55:55 -!- zemhill has joined.
13:59:55 -!- zemhill has quit (Remote host closed the connection).
14:00:07 -!- zemhill has joined.
14:04:07 -!- zemhill has quit (Remote host closed the connection).
14:04:19 -!- zemhill has joined.
14:08:19 -!- zemhill has quit (Remote host closed the connection).
14:08:31 -!- zemhill has joined.
14:09:05 -!- J_Arcane has joined.
14:12:35 -!- jaboja has quit (Ping timeout: 250 seconds).
14:16:35 -!- zemhill has quit (Remote host closed the connection).
14:16:49 -!- zemhill has joined.
14:19:36 -!- lynn_ has quit (Ping timeout: 244 seconds).
14:23:36 -!- zemhill has quit (Remote host closed the connection).
14:23:43 -!- spiette has joined.
14:23:48 -!- zemhill has joined.
14:27:48 -!- zemhill has quit (Remote host closed the connection).
14:28:00 -!- zemhill has joined.
14:29:47 <prooftechnique> Helloily
14:30:39 <Taneb> brainfuck competition is tomorrow
14:34:20 -!- jaboja has joined.
14:38:20 -!- zemhill has quit (Remote host closed the connection).
14:38:31 -!- zemhill has joined.
14:42:31 -!- zemhill has quit (Remote host closed the connection).
14:42:43 -!- zemhill has joined.
14:46:43 -!- zemhill has quit (Remote host closed the connection).
14:46:56 -!- zemhill has joined.
14:47:11 -!- tromp_ has joined.
14:48:00 -!- lambda-11235 has joined.
14:51:47 -!- tromp_ has quit (Ping timeout: 248 seconds).
14:55:47 -!- zemhill has quit (Remote host closed the connection).
14:56:00 -!- zemhill has joined.
15:00:00 -!- zemhill has quit (Remote host closed the connection).
15:00:15 -!- zemhill has joined.
15:04:06 -!- `^_^v has joined.
15:06:47 -!- earendel2 has joined.
15:07:07 -!- earendel2 has left.
15:07:07 -!- earendel has quit (Disconnected by services).
15:07:09 -!- earendel has joined.
15:11:09 -!- zemhill has quit (Remote host closed the connection).
15:11:22 -!- zemhill has joined.
15:11:34 -!- ais523 has joined.
15:15:34 -!- zemhill has quit (Remote host closed the connection).
15:15:46 -!- zemhill has joined.
15:19:34 -!- AnotherTest has quit (Ping timeout: 240 seconds).
15:23:34 -!- zemhill has quit (Remote host closed the connection).
15:23:45 -!- zemhill has joined.
15:27:45 -!- zemhill has quit (Remote host closed the connection).
15:27:57 -!- zemhill has joined.
15:31:57 -!- zemhill has quit (Remote host closed the connection).
15:32:09 -!- zemhill has joined.
15:36:06 -!- AnotherTest has joined.
15:40:06 -!- zemhill has quit (Remote host closed the connection).
15:40:19 -!- zemhill has joined.
15:40:19 -!- AnotherTest has quit (Ping timeout: 248 seconds).
15:41:21 <b_jonas> ah, ais523 is back
15:41:35 <APic> B-)
15:41:48 -!- J_Arcane has quit (Ping timeout: 244 seconds).
15:42:57 -!- bender| has quit (Quit: Leaving).
15:46:57 -!- zemhill has quit (Remote host closed the connection).
15:46:57 -!- AnotherTest has joined.
15:47:08 -!- zemhill has joined.
15:50:04 -!- jaboja has quit (Ping timeout: 240 seconds).
15:51:57 -!- vanila has joined.
15:51:58 <vanila> hi
15:52:02 <vanila> is this the occult room
15:52:15 <b_jonas> yes
15:52:28 <vanila> magic and symbols
15:52:35 <ais523> vanila: :-(
15:52:39 <ais523> `welcome vanila
15:52:45 <vanila> thanks so much oerjan!!!!!!!!!!
15:52:47 <vanila> THAT IS IT
15:52:56 <HackEgo> vanila: 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.)
15:52:57 <ais523> I know you're a regular but this seems like a suitably passive-aggressive response
15:53:04 <vanila> ais523, I wonder why we aren't celebrating?
15:53:12 <vanila> there was a new brainfuck hello world WORLD RECORD
15:53:21 <vanila> WORLD RECORD
15:53:21 <ais523> ooh!
15:53:24 <ais523> I was happy about the last one
15:53:27 <vanila> it sould be all over the wiki
15:53:27 <ais523> I didn't know about this one though
15:53:33 <vanila> it was a few weeks ago
15:53:35 <ais523> what sort of hello world is it printing and what principle does it use?
15:53:47 <vanila> let me get the link you may have sen it already
15:53:49 <vanila> it was on codegolf
15:53:51 <ais523> oh, I might have celebrated it already then
15:54:06 <b_jonas> principle?
15:54:24 <b_jonas> a bf golf to print hello world should have a principle?
15:54:24 <vanila> b_jonas, it did some clever trick about preparing the differences between chars across half the string
15:54:30 <vanila> yes it did!
15:54:34 <vanila> it wasn't just brute forced
15:54:39 <vanila> although there was some bruting
15:54:44 <vanila> invorlved in its creation
15:55:28 <ais523> vanila: in that case I've seen it ages ago and we've discussed it already
15:55:49 <ais523> I was hoping someone had found a cleverer trick than transforming the left half of the hello world into the right half
15:56:03 <vanila> ssorry
15:56:09 <vanila> i didnt mean to get hopes up
15:56:34 -!- lambda-11235 has quit (Quit: Bye).
15:57:23 <b_jonas> is it http://codegolf.stackexchange.com/a/68494/6691 ?
15:57:33 <vanila> yeah!
15:58:29 -!- AnotherTest has quit (Ping timeout: 240 seconds).
15:58:37 <vanila> oh h.y you know
15:58:41 <vanila> this might be up peoples street here
15:58:47 <vanila> are you familiar with minikanren?
15:58:52 <b_jonas> let's mention it form http://esolangs.org/wiki/Brainfuck#Hello.2C_World.21
15:58:58 <vanila> good idea!
15:59:23 <vanila> its this prolog like thing that can generate quines
15:59:45 <vanila> from querying an interpreter like this: (eval q q)
16:00:11 <vanila> and the question is why can't you do this in prolog (with occurs check and fair search)
16:00:26 <vanila> https://www.reddit.com/r/prolog/comments/473hig/generating_scheme_quines_with_prolog/
16:00:33 <vanila> there's a link to all the code and stuff
16:00:54 <vanila> if anyone could figure out what the secret is.. someone here could (but I coudln't...)
16:02:12 <HackEgo> [wiki] [[Brainfuck]] https://esolangs.org/w/index.php?diff=46459&oldid=46402 * B jonas * (+180) /* Hello, World! */ golf
16:02:16 <vanila> is that even interesting to nayone i hope
16:02:36 <b_jonas> Rosetta seems to have only comma-less variants. What herecy!
16:05:48 -!- AnotherTest has joined.
16:05:52 <int-e> @metar KSFO
16:05:53 <lambdabot> KSFO 231556Z 18003KT 10SM BKN200 11/10 A3008 RMK AO2 SLP185 T01060100 $
16:06:07 <vanila> was anyone at all interested in that :S
16:06:22 <vanila> its not exactly eso but its really cool imo
16:06:57 <int-e> vanila: since you asked, yes, I was interested, I just have nothing to add...
16:07:03 <vanila> okay!
16:07:45 <vanila> if we found out the secret ingredient it could be aded to clue
16:07:55 <vanila> myabe it already has it though
16:11:55 -!- zemhill has quit (Remote host closed the connection).
16:12:07 -!- zemhill has joined.
16:12:29 -!- AnotherTest has quit (Ping timeout: 240 seconds).
16:16:29 -!- zemhill has quit (Remote host closed the connection).
16:16:43 -!- zemhill has joined.
16:17:20 -!- lynn has joined.
16:21:20 -!- zemhill has quit (Remote host closed the connection).
16:21:32 -!- zemhill has joined.
16:25:32 -!- zemhill has quit (Remote host closed the connection).
16:25:44 -!- zemhill has joined.
16:29:44 -!- zemhill has quit (Remote host closed the connection).
16:29:56 -!- zemhill has joined.
16:31:21 <ais523> zemhill: are you OK?
16:33:26 -!- digitalcold has quit (Ping timeout: 268 seconds).
16:34:00 -!- digitalcold has joined.
16:38:00 -!- zemhill has quit (Remote host closed the connection).
16:38:12 -!- zemhill has joined.
16:42:12 -!- zemhill has quit (Remote host closed the connection).
16:42:24 -!- zemhill has joined.
16:46:24 -!- zemhill has quit (Remote host closed the connection).
16:46:36 -!- zemhill has joined.
16:47:08 -!- p34k has joined.
16:47:18 -!- tromp_ has joined.
16:51:18 -!- zemhill has quit (Remote host closed the connection).
16:51:30 -!- zemhill has joined.
16:51:47 -!- tromp_ has quit (Ping timeout: 248 seconds).
16:55:47 -!- zemhill has quit (Remote host closed the connection).
16:55:59 -!- zemhill has joined.
16:56:05 -!- jaboja has joined.
17:00:05 -!- zemhill has quit (Remote host closed the connection).
17:00:18 -!- zemhill has joined.
17:03:42 <ais523> fizzie: zemhill seems to be in some sort of trouble
17:03:57 <vanila> its f ine
17:04:01 <ais523> I don't mind the effect on the channel (it's going pretty slowly), but you might want to check to see if the server's doing OK
17:07:39 <fizzie> Hrm.
17:07:53 <fizzie> I remember it getting into this sort of state before.
17:08:22 <fizzie> I see these messages in the console, but it's also trying to send "JOIN #esoteric" all the time.
17:08:39 <fizzie> I'm guessing it's some sort of a bug in the IRC library I used. Last time I just restarted it to fix it.
17:08:42 -!- zemhill has quit (Remote host closed the connection).
17:08:47 <fizzie> Will do the same again.
17:08:57 -!- zemhill has joined.
17:09:03 <fizzie> Should've known better than to write it in Ruby, I guess.
17:53:08 -!- MoALTz has quit (Quit: Leaving).
18:02:34 -!- AnotherTest has joined.
18:07:58 -!- callforjudgement has joined.
18:08:03 -!- ais523 has quit (Disconnected by services).
18:08:06 -!- callforjudgement has changed nick to ais523.
18:10:18 -!- MoALTz has joined.
18:16:56 -!- ais523 has quit (Read error: Connection reset by peer).
18:18:06 -!- ais523 has joined.
18:25:03 -!- lambda-11235 has joined.
18:28:04 -!- `^_^v has quit (Ping timeout: 240 seconds).
18:31:47 -!- `^_^v has joined.
18:36:26 <prooftechnique> vanila: Nearly every problem I ever had with Prolog was solved by generously sprinkling cuts around the place
18:37:37 <coppro> hah
18:43:03 -!- Phantom_Hoover has joined.
18:52:24 -!- jaboja has quit (Ping timeout: 276 seconds).
18:58:47 -!- bb010g has quit (Quit: Connection closed for inactivity).
19:03:17 -!- jaboja has joined.
19:21:29 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
19:22:51 -!- Phantom_Hoover has joined.
19:23:49 -!- zyla has joined.
19:31:05 -!- hppavilion[1] has joined.
19:33:47 -!- earendel has quit (Changing host).
19:33:47 -!- earendel has joined.
19:40:44 <b_jonas> oh wow
19:41:08 <b_jonas> so those strange things Wrecan says in #1025 are a reference to something actually
19:42:52 -!- ais523 has quit (Ping timeout: 255 seconds).
19:48:02 -!- ais523 has joined.
19:55:06 <hppavilion[1]> Wow
19:55:44 -!- zyla has left ("WeeChat 1.1.1").
19:55:53 <hppavilion[1]> I'm reading the "gentlest introduction to the ρ-calculus"
19:55:58 <hppavilion[1]> I have no idea wtf is going on
19:57:14 <vanila> ρ-calculus?
19:57:17 <vanila> is that pattern matching
19:58:00 <hppavilion[1]> vanila: Yes
19:59:16 <hppavilion[1]> vanila: I'm trying to figure out rho-expressions (analogous to lambda-expressions) for a LISP
19:59:39 <vanila> might be fun to learn abuot
19:59:43 <vanila> maybe ill read it
19:59:58 <hppavilion[1]> vanila: Do so, then explain it to me xD
20:00:13 <hppavilion[1]> vanila: This is the only introduction I could find: http://rho.loria.fr/data/rta2001.pdf
20:02:57 -!- nycs has joined.
20:04:59 -!- `^_^v has quit (Ping timeout: 240 seconds).
20:13:22 -!- earendel has quit (Ping timeout: 252 seconds).
20:16:09 -!- lambda-11235 has quit (Quit: Bye).
20:20:35 -!- MDream has changed nick to MDude.
20:24:07 <prooftechnique> hppavilion[1]: What's the reference?
20:25:08 <hppavilion[1]> prooftechnique: ?
20:25:40 <hppavilion[1]> prooftechnique: That site without the path should take you there, but it doesn't seem to have much
20:26:15 <prooftechnique> hppavilion[1]: I mean the reference in #1025
20:26:50 <hppavilion[1]> prooftechnique: That was b_jonas who said that
20:26:56 <prooftechnique> Oh, duh
20:27:01 <prooftechnique> Sorry, irssi has you both in the same color
20:27:03 <hppavilion[1]> It was unrelated to what I said
20:27:08 <prooftechnique> b_jonas: Same question :)
20:27:08 <hppavilion[1]> prooftechnique: It's fine
20:28:46 <prooftechnique> hppavilion[1]: Though I am now also reading that rho paper :D
20:29:43 <hppavilion[1]> :D
20:29:49 <hppavilion[1]> prooftechnique: Do you understand it at all?
20:31:08 <prooftechnique> It sort of looks like a weird extension of normal state machine productions, but I'm only on the second page. Embedding LC sounds promising, anyway
20:31:59 <hppavilion[1]> prooftechnique: What would be the rho analogue to a lambda expression in a LISP?
20:32:56 <hppavilion[1]> (rho ...?)
20:34:16 <vanila> rho rho rho of rank always equals one
20:34:38 <hppavilion[1]> vanila: OK...
20:34:49 <hppavilion[1]> vanila: rho rho rho your boat?
20:35:48 <vanila> yes
20:35:53 <vanila> its a hacker song
20:36:24 -!- `^_^v has joined.
20:36:35 -!- nycs has quit (Read error: No route to host).
20:41:01 <prooftechnique> \lam X . b seems to be just a rewrite rule X -> b. Maybe something like (defun rho (lhs rhs) (lambda lhs rhs))? So then conditionals look like (defun cond-rho (lhs rhs cond) ((rho lhs (rho 't rhs)) cond)
20:41:05 <prooftechnique> Or something like that
20:41:43 <prooftechnique> Where we assume cond has already been normalized by strat
20:44:56 <prooftechnique> Ew, but then I get to the examples, and of course it's not that simple
20:48:01 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
20:48:07 -!- lambda-11235 has joined.
20:50:26 <prooftechnique> @tell hppavilion[1] http://link.springer.com/chapter/10.1007%2F3-540-45315-6_11
20:50:29 <lambdabot> Consider it noted.
20:58:15 -!- lambda-11235 has quit (Quit: Bye).
21:08:04 -!- hppavilion[1] has joined.
21:08:23 <hppavilion[1]> Hm...
21:08:43 <hppavilion[1]> I'm wondering what branch of mathematics to base a proof assistant on- what prooftechnique(s) to use
21:08:53 <hppavilion[1]> prooftechnique: You seem like a good person to ask
21:08:55 <hppavilion[1]> xD
21:09:09 <vanila> base it on typed lambda calculus
21:09:10 <hppavilion[1]> A type theory, a logic, or what?
21:09:20 <hppavilion[1]> vanila: Perhaps. Maybe I should make more than one?
21:09:30 <vanila> there's also Jbob
21:09:32 <vanila> the little prover book
21:09:40 <vanila> its a different sort of prover
21:09:45 <vanila> its for programs
21:13:03 <hppavilion[1]> vanila: Perhaps I should make a proof assistant with strings as a primitive type?
21:13:19 <hppavilion[1]> vanila: Perhaps even using (bit)strings for numbers, making them a derived type?
21:13:50 <vanila> do you have any theorems in mind you want ot prove with it
21:14:02 <hppavilion[1]> vanila: No; just want to make one for the experience
21:14:10 <hppavilion[1]> Maybe develop it into something useful
21:14:13 <hppavilion[1]> @messages-lud
21:14:15 <lambdabot> prooftechnique said 23m 46s ago: http://link.springer.com/chapter/10.1007%2F3-540-45315-6_11
21:14:17 <vanila> well maybe set a goal
21:14:34 <vanila> pick some slighlty nontrivial theorem you like
21:14:35 <hppavilion[1]> vanila: Perhaps I should. What's a good theorem to start with with a known proof?
21:14:38 <vanila> and make a prover that can prove it
21:14:44 <hppavilion[1]> vanila: Pythagorean?
21:16:07 <hppavilion[1]> vanila: If I do the Pythagorean Theorem, I have lots of options for proofs
21:16:21 <hppavilion[1]> vanila: I'm thinking of making more than one, each in a different niche
21:16:30 <hppavilion[1]> Instead of one overarching prover
21:17:25 <vanila> well
21:17:33 <vanila> imo
21:17:36 <hppavilion[1]> vanila: Or multiple mechanisms in one prover
21:17:41 <vanila> a proof should be a polytime checkable object
21:17:47 <hppavilion[1]> Perhaps
21:17:53 <vanila> do you disagree
21:17:57 <vanila> i haddnt even finished
21:17:59 <hppavilion[1]> No
21:18:01 <hppavilion[1]> I do not
21:18:11 <hppavilion[1]> Polynomial time is generally good
21:18:24 <hppavilion[1]> So instead of perhaps, "Probably"
21:18:41 <hppavilion[1]> vanila: In fact, if it's NP, it hardly counts as a proof IMO
21:18:46 <vanila> yeah
21:18:55 <vanila> P = Proof, NP = Not a Proof
21:18:55 <hppavilion[1]> vanila: So what's your point
21:18:57 <hppavilion[1]> ?
21:19:30 <vanila> do you know
21:19:37 <vanila> what's the name of this..
21:19:38 <hppavilion[1]> vanila: I probably don't
21:19:44 <vanila> ok nvm
21:20:06 <hppavilion[1]> vanila: I might thouh
21:20:09 <hppavilion[1]> *though
21:22:26 <hppavilion[1]> vanila: I'm thinking of including multityping- a single value can be a member of more than one type
21:25:56 -!- ais523 has quit.
21:25:58 <hppavilion[1]> e.g. 5 is NATURAL, WHOLE, INTEGER, REAL, COMPLEX, SPLIT, DUAL, GAUSS, SPLIT_GAUSS, DUAL_GAUSS
21:26:07 <hppavilion[1]> And maybe PRIME if I include it, but I probably won't
21:26:48 <hppavilion[1]> vanila: That's multityping
21:26:51 <hppavilion[1]> vanila: Is it stupid?
21:28:04 <vanila> i dont know
21:30:08 <fizzie> Scheme has a numerical tower vaguely like that.
21:31:47 <fizzie> Goes number ⊇ complex ⊇ real ⊇ rational ⊇ integer, approximately.
21:32:17 -!- jaboja has quit (Remote host closed the connection).
21:32:29 <fizzie> "For example, 3 is an integer. Therefore 3 is also a rational, a real, and a complex." (R5RS 6.2.1)
21:33:31 <fizzie> (They're strict subtypes of the higher-level ones, though.)
21:34:46 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
21:40:51 -!- MDude has quit (Ping timeout: 248 seconds).
21:46:04 -!- lynn_ has joined.
21:46:19 -!- lynn has quit (Ping timeout: 252 seconds).
21:46:27 -!- earendel has joined.
21:51:25 -!- mihow has joined.
22:15:35 -!- hppavilion[1] has joined.
22:20:35 -!- XorSwap has joined.
22:22:19 -!- `^_^v has quit (Quit: This computer has gone to sleep).
22:28:40 -!- AnotherTest has quit (Ping timeout: 252 seconds).
22:45:43 -!- XorSwap has quit (Ping timeout: 252 seconds).
22:58:08 -!- zemhill has quit (*.net *.split).
22:58:09 -!- relrod has quit (*.net *.split).
22:58:09 -!- hppavilion[1] has quit (*.net *.split).
22:58:09 -!- Xe has quit (*.net *.split).
22:58:10 -!- sebbu has quit (*.net *.split).
22:58:10 -!- deltab has quit (*.net *.split).
22:58:10 -!- erdic has quit (*.net *.split).
22:58:10 -!- Froox has quit (*.net *.split).
22:58:10 -!- newsham has quit (*.net *.split).
22:58:11 -!- nisstyre has quit (*.net *.split).
22:58:11 -!- Deewiant has quit (*.net *.split).
22:58:12 -!- mad has quit (*.net *.split).
22:58:12 -!- ^v has quit (*.net *.split).
22:58:12 -!- int-e has quit (*.net *.split).
22:58:12 -!- tswett has quit (*.net *.split).
22:58:12 -!- copumpkin has quit (*.net *.split).
22:58:12 -!- coppro has quit (*.net *.split).
22:58:13 -!- vifino has quit (*.net *.split).
22:58:13 -!- Phantom_Hoover has quit (*.net *.split).
22:58:13 -!- p34k has quit (*.net *.split).
22:58:13 -!- fungot has quit (*.net *.split).
22:58:14 -!- Treio has quit (*.net *.split).
22:58:15 -!- yorick__ has quit (*.net *.split).
22:58:15 -!- pikhq has quit (*.net *.split).
22:58:15 -!- lleu has quit (*.net *.split).
22:58:16 -!- prooftechnique has quit (*.net *.split).
22:58:16 -!- augur has quit (*.net *.split).
22:58:16 -!- jameseb has quit (*.net *.split).
22:58:16 -!- mihow has quit (*.net *.split).
22:58:17 -!- vanila has quit (*.net *.split).
22:58:17 -!- carado has quit (*.net *.split).
22:58:17 -!- kline has quit (*.net *.split).
22:58:18 -!- zgrep has quit (*.net *.split).
22:58:18 -!- staffehn has quit (*.net *.split).
22:58:18 -!- FreeFull has quit (*.net *.split).
22:58:19 -!- Lord_of_Life has quit (*.net *.split).
22:58:19 -!- jix_ has quit (*.net *.split).
22:58:19 -!- lynn_ has quit (*.net *.split).
22:58:20 -!- MoALTz has quit (*.net *.split).
22:58:21 -!- quintopia has quit (*.net *.split).
22:58:21 -!- EgoBot has quit (*.net *.split).
22:58:21 -!- Gregor has quit (*.net *.split).
22:58:21 -!- mtve has quit (*.net *.split).
22:58:21 -!- nitrix has quit (*.net *.split).
22:58:22 -!- idris-bot has quit (*.net *.split).
22:58:22 -!- rodgort has quit (*.net *.split).
22:58:22 -!- kragniz has quit (*.net *.split).
22:58:23 -!- spiette has quit (*.net *.split).
22:58:23 -!- gniourf has quit (*.net *.split).
22:58:23 -!- Sgeo has quit (*.net *.split).
22:58:23 -!- FireFly has quit (*.net *.split).
22:58:24 -!- heroux has quit (*.net *.split).
22:58:24 -!- clog has quit (*.net *.split).
22:58:24 -!- Vorpal has quit (*.net *.split).
22:58:24 -!- cnr has quit (*.net *.split).
22:58:24 -!- diginet has quit (*.net *.split).
22:58:25 -!- earendel has quit (*.net *.split).
22:58:25 -!- aloril has quit (*.net *.split).
22:58:25 -!- puckipedia has quit (*.net *.split).
22:58:26 -!- tromp has quit (*.net *.split).
22:58:26 -!- Alcest has quit (*.net *.split).
22:58:26 -!- izabera has quit (*.net *.split).
22:58:26 -!- fractal has quit (*.net *.split).
22:58:26 -!- pdxleif has quit (*.net *.split).
22:58:26 -!- paul2520 has quit (*.net *.split).
22:58:27 -!- incomprehensibly has quit (*.net *.split).
22:58:27 -!- Riviera has quit (*.net *.split).
22:58:27 -!- ocharles_ has quit (*.net *.split).
22:58:27 -!- Hoolootwo has quit (*.net *.split).
22:58:28 -!- Nithogg has quit (*.net *.split).
22:58:28 -!- hydraz has quit (*.net *.split).
22:58:28 -!- myname has quit (*.net *.split).
22:58:28 -!- mbrcknl has quit (*.net *.split).
22:58:29 -!- fizzie has quit (*.net *.split).
22:58:30 -!- Veltas has quit (*.net *.split).
22:58:30 -!- \oren\ has quit (*.net *.split).
22:58:30 -!- digitalcold has quit (*.net *.split).
22:58:30 -!- APic has quit (*.net *.split).
22:58:31 -!- Sprocklem has quit (*.net *.split).
22:58:31 -!- atehwa has quit (*.net *.split).
22:58:31 -!- catern has quit (*.net *.split).
22:58:31 -!- Melvar has quit (*.net *.split).
22:58:32 -!- Taneb has quit (*.net *.split).
22:58:32 -!- j-bot has quit (*.net *.split).
22:58:32 -!- nortti has quit (*.net *.split).
22:58:32 -!- shachaf has quit (*.net *.split).
22:58:32 -!- b_jonas has quit (*.net *.split).
22:58:32 -!- ski has quit (*.net *.split).
23:00:27 -!- vifino has joined.
23:00:27 -!- coppro has joined.
23:00:27 -!- copumpkin has joined.
23:00:27 -!- tswett has joined.
23:00:27 -!- int-e has joined.
23:00:27 -!- ^v has joined.
23:00:27 -!- Deewiant has joined.
23:00:27 -!- mad has joined.
23:00:27 -!- jameseb has joined.
23:00:27 -!- augur has joined.
23:00:27 -!- prooftechnique has joined.
23:00:27 -!- lleu has joined.
23:00:27 -!- pikhq has joined.
23:00:27 -!- yorick__ has joined.
23:00:27 -!- Treio has joined.
23:00:27 -!- fungot has joined.
23:00:27 -!- p34k has joined.
23:00:27 -!- Phantom_Hoover has joined.
23:00:27 -!- mbrcknl has joined.
23:00:27 -!- myname has joined.
23:00:27 -!- hydraz has joined.
23:00:27 -!- Nithogg has joined.
23:00:27 -!- Hoolootwo has joined.
23:00:27 -!- ocharles_ has joined.
23:00:27 -!- Riviera has joined.
23:00:27 -!- incomprehensibly has joined.
23:00:31 -!- augur has quit (Remote host closed the connection).
23:00:56 -!- mihow has joined.
23:00:56 -!- vanila has joined.
23:00:56 -!- carado has joined.
23:00:56 -!- zgrep has joined.
23:00:56 -!- staffehn has joined.
23:00:56 -!- FreeFull has joined.
23:00:56 -!- Lord_of_Life has joined.
23:00:56 -!- jix_ has joined.
23:00:59 -!- zemhill has joined.
23:01:01 -!- relrod has joined.
23:01:05 -!- lynn_ has joined.
23:01:05 -!- MoALTz has joined.
23:01:05 -!- spiette has joined.
23:01:05 -!- gniourf has joined.
23:01:05 -!- Sgeo has joined.
23:01:05 -!- FireFly has joined.
23:01:05 -!- heroux has joined.
23:01:05 -!- clog has joined.
23:01:05 -!- EgoBot has joined.
23:01:05 -!- quintopia has joined.
23:01:05 -!- Vorpal has joined.
23:01:05 -!- cnr has joined.
23:01:05 -!- Gregor has joined.
23:01:05 -!- mtve has joined.
23:01:05 -!- nitrix has joined.
23:01:05 -!- diginet has joined.
23:01:05 -!- idris-bot has joined.
23:01:05 -!- rodgort has joined.
23:01:05 -!- kragniz has joined.
23:01:43 -!- Xe has joined.
23:02:05 -!- hppavilion[1] has joined.
23:02:05 -!- sebbu has joined.
23:02:05 -!- erdic has joined.
23:02:05 -!- deltab has joined.
23:02:05 -!- Froox has joined.
23:02:05 -!- newsham has joined.
23:02:05 -!- kline has joined.
23:03:00 -!- digitalcold has joined.
23:03:00 -!- APic has joined.
23:03:00 -!- Sprocklem has joined.
23:03:00 -!- atehwa has joined.
23:03:00 -!- catern has joined.
23:03:00 -!- Melvar has joined.
23:03:00 -!- Taneb has joined.
23:03:00 -!- j-bot has joined.
23:03:00 -!- nortti has joined.
23:03:00 -!- shachaf has joined.
23:03:00 -!- b_jonas has joined.
23:03:00 -!- ski has joined.
23:03:04 -!- Veltas has joined.
23:03:04 -!- \oren\ has joined.
23:03:17 -!- nisstyre has joined.
23:03:17 -!- fizzie has joined.
23:03:43 -!- nisstyre has quit (Max SendQ exceeded).
23:03:46 -!- augur has joined.
23:03:49 -!- augur has quit (Remote host closed the connection).
23:04:00 -!- zgrep has quit (Ping timeout: 240 seconds).
23:04:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
23:04:34 -!- aloril_ has joined.
23:04:41 -!- catern has quit (Excess Flood).
23:05:11 -!- catern has joined.
23:05:53 -!- Xe has quit (Changing host).
23:05:53 -!- Xe has joined.
23:05:56 -!- nisstyre_ has joined.
23:06:26 -!- aloril has joined.
23:06:26 -!- puckipedia has joined.
23:06:26 -!- tromp has joined.
23:06:26 -!- Alcest has joined.
23:06:26 -!- izabera has joined.
23:06:26 -!- fractal has joined.
23:06:26 -!- pdxleif has joined.
23:06:26 -!- paul2520 has joined.
23:06:39 -!- kline has quit (Changing host).
23:06:40 -!- kline has joined.
23:06:51 -!- earendel has joined.
23:07:01 -!- Alcest has quit (Max SendQ exceeded).
23:07:01 -!- aloril has quit (Max SendQ exceeded).
23:08:41 -!- mihow has quit (Quit: mihow).
23:10:31 -!- augur has joined.
23:11:48 -!- gde33 has joined.
23:12:17 -!- lynn_ has quit (Ping timeout: 244 seconds).
23:12:31 -!- lynn has joined.
23:14:42 -!- mihow has joined.
23:18:41 -!- spiette has quit (Quit: :qa!).
23:25:34 <FireFly> what is a number that a complex isn't?
23:27:01 <vanila> quaternions
23:28:45 -!- boily has joined.
23:31:07 -!- zgrep has joined.
23:34:13 -!- ais523 has joined.
23:35:15 -!- ais523 has quit (Client Quit).
23:35:24 -!- ais523 has joined.
23:41:52 <boily> `wisdom
23:42:09 <HackEgo> category theory/In category theory, category theory is a theory in the category of theories.
23:42:46 <vanila> lol
23:42:46 <shachaf> `` sed -i 's/category theory/the theory of categories/' wisdom/category\ theory
23:42:49 <HackEgo> No output.
23:43:02 <shachaf> `? category theory
23:43:04 <HackEgo> In the theory of categories, category theory is a theory in the category of theories.
23:44:48 -!- hppavilion[1] has joined.
23:48:58 <Phantom_Hoover> `? category
23:48:59 <HackEgo> A category is an enriched category where the enriching category is the category of classes.
23:49:20 <Phantom_Hoover> `? class
23:49:22 <HackEgo> class? ¯\(°​_o)/¯
23:49:24 <Phantom_Hoover> `? classes
23:49:28 <HackEgo> classes? ¯\(°​_o)/¯
23:49:40 <boily> HackEgo has no class.
23:49:45 <boily> (hue hue hue ^^)
23:53:11 <ais523> how many of the category theory wisdoms are actually mathematically accurate?
23:53:13 <ais523> `? monad
23:53:14 <HackEgo> Monads are just monoids in the category of endofunctors.
23:53:16 <ais523> that one is
23:53:17 <ais523> `? comonad
23:53:20 <HackEgo> Comonads are just monads in the dual category.
23:53:32 <ais523> that one is I think? not 100% sure
23:53:39 <ais523> it may be missing details
23:53:48 <fizzie> FireFly: As far as I know, nothing in standard R5RS, but it does have both number? and complex? predicates.
23:53:58 <FireFly> I see
23:54:09 <fizzie> "In many implementations the rational? procedure will be the same as real?, and the complex? procedure will be the same as number?, but unusual implementations may be able to represent some irrational numbers exactly or may extend the number system to support some kind of non-complex numbers."
23:54:29 <boily> his523. comonads are right.
23:54:38 <boily> `? theory
23:54:40 <HackEgo> theory? ¯\(°​_o)/¯
23:58:03 <hppavilion[1]> Here's something I'm making
23:58:19 -!- J_Arcane has joined.
23:58:20 <hppavilion[1]> `le/rn theory/To be theory is to be like a theorem, but inferior
23:58:23 <hppavilion[1]> Thoof
23:58:24 <HackEgo> Learned «theory»
23:58:26 <hppavilion[1]> Thue Proof
23:58:45 <hppavilion[1]> It's a proof assistant based on string rewriting. It's utterly useless.
23:59:13 <hppavilion[1]> And I can't test it because I don't know of any good theorems/axiom schemas to test it on
23:59:28 <boily> `? forty
23:59:29 <HackEgo> forty means "in a fort-like manner"
2016-02-24
00:00:23 <hppavilion[1]> Perhaps something stupid, like a rewriting system
00:00:35 <hppavilion[1]> I think it's pretty similar to the Post-Canonical System article
00:02:47 -!- p34k has quit.
00:06:11 <ais523> hmm, are there any good theorems that can be proved entirely using typed lambda calculus?
00:06:21 <izabera> define good :p
00:06:29 <vanila> ais523, well, propositional tautologies can be proved
00:06:31 <ais523> not completely trivial
00:06:39 <izabera> define trivial :p
00:06:55 <vanila> like (
00:07:00 <vanila> like (\x -> x) : P -> P
00:07:01 <ais523> I guess if you have a bottom type, then you can use the implies-and-bottom construction to create some interesting tautologies
00:07:12 <vanila> I am not sure if we would consider that a non trivial theorem
00:07:17 <ais523> like de morgan's law
00:07:23 <ais523> I'd consider de morgan's law nontrivial
00:07:24 <vanila> well you can't prove that
00:07:34 <vanila> since it's constructive logic..
00:07:47 <ais523> at least, unless both sides happen to be identical after implies-and-bottom expansion, which is possilble
00:07:52 <vanila> if you throw in some extra axiomns you can prove some cool stuff
00:07:57 <shachaf> ais523: The comonad entry is accurate (though I think people would usually say "opposite category"?).
00:08:19 <shachaf> `? monoids
00:08:21 <HackEgo> Monoids are just categories with single objects.
00:08:35 <shachaf> That one is accurate if phrased oddly.
00:09:38 <shachaf> `? vector space
00:09:39 <HackEgo> A vector space is just a module over a field.
00:09:42 <shachaf> `? preorder
00:09:43 <HackEgo> A preorder is just a small thin category.
00:09:56 <shachaf> `? partial order
00:09:58 <HackEgo> A partial order is just a small thin skeletal category.
00:10:44 <ais523> A monoidal category isn't just a category that has a monoid, though
00:11:06 <shachaf> `? monoidal category
00:11:07 <HackEgo> Monoidal categories are just 2-categories with a single object.
00:11:43 <shachaf> I guess that should say weak 2-category or something?
00:11:52 <shachaf> De Morgan's laws are good, but they're even better in linear logic.
00:12:06 <hppavilion[1]> OK, here's an example proof :http://pastebin.com/qeGzdNzb
00:12:21 <ais523> now I'm trying to work out how linear logic affects de morgan's laws
00:12:34 <hppavilion[1]> It conditionally rewrites strings
00:12:49 <shachaf> If you like duality and logic, linear logic is the place to be.
00:13:08 <ais523> well affine logic is sort-of what I specialize in
00:13:17 <ais523> although it's both a special case and a generalization of linear logic
00:14:24 <shachaf> ~(A&B) = ~A + ~B
00:14:33 <hppavilion[1]> I think this is pretty much just post-canonical systems
00:14:39 <shachaf> ~(A x B) = ~A # ~B
00:14:48 -!- lynn has quit (Ping timeout: 244 seconds).
00:15:01 <ais523> shachaf: ooh, a full linear logic version
00:15:05 <ais523> how do you define not, though?
00:15:10 <hppavilion[1]> But it's still cool
00:15:14 <shachaf> Isn't it built-in?
00:15:22 <hppavilion[1]> Especially that I'm managing to do math using IRC slang
00:15:30 <shachaf> Usually written as A^_|_
00:15:49 <shachaf> ~(!A) = ?(~A)
00:15:54 -!- lynn has joined.
00:15:59 <vanila> ais523, linear logic is nice
00:16:05 <shachaf> https://en.wikipedia.org/wiki/Linear_logic#Connectives.2C_duality.2C_and_polarity
00:16:23 <ais523> shachaf: you can build a huge number of things into linear logic
00:16:29 <ais523> but that doesn't necessarily mean they're useful for programming
00:16:53 <ais523> I don't think I've seen anyone seriously use ?, for example
00:16:53 <vanila> it was difficult to integrate dependent types with linear logic
00:17:04 <shachaf> You can define (~A) as (A -o _|_)
00:18:05 <ais523> hmm, now I'm going to esointerpret that as "using A exactly once, you can create an infinite loop"
00:18:52 <shachaf> And of course ((A -o _|_) -o _|_) = A
00:21:15 <ais523> hmm, ~~A is not equivalent to A in some logics
00:21:59 <shachaf> Yes, e.g. intuitionistic logic.
00:22:15 <vanila> is it true in linear logic?
00:22:20 <shachaf> Because intuitionstic (A -> B) can be encoded as (!A -o B)
00:22:51 <shachaf> So it's something like !(!A -o _|_) -o _|_
00:23:31 <shachaf> = ~(!(~(!A))) = ?(~~(!A)) = ?(!A)
00:23:33 <shachaf> What's that?
00:26:42 -!- lynn_ has joined.
00:29:16 -!- lynn has quit (Ping timeout: 244 seconds).
00:30:11 <hppavilion[1]> vanila: What do you think of the idea of a proof esossistant?
00:30:29 <vanila> lol
00:32:39 <hppavilion[1]> vanila: No, really
00:36:55 <hppavilion[1]> vanila: Its only data types are strings (constant axioms), s/// expressions (substitution axioms), and composed s/// expressions (lemmas/theorems)
00:37:19 <hppavilion[1]> http://pastebin.com/Ax2v5XSV is the example (that one is the earlier one (or an edit thereof) posted under my actual account)
00:37:37 <boily> isn't that akin to SKI?
00:37:52 <hppavilion[1]> boily: It might be, but it's closer to post-canonical systems
00:37:59 <hppavilion[1]> boily: How so?
00:38:57 <hppavilion[1]> boily: Wait, was that not directed at me?
00:42:40 <boily> yes, it was.
00:42:44 <hppavilion[1]> OK
00:42:55 <hppavilion[1]> boily: How is it like SKI then exactly?
00:43:05 <boily> I was reminded of the applicative instance of ((->) r), where <*> is S.
00:43:08 <hppavilion[1]> It can maybe be proved TC by reduction ot SKI
00:43:30 <hppavilion[1]> boily: You have completely lost me
00:45:11 <boily> composition of substitutions should be the same as composition of s///es.
00:45:15 <boily> I guess.
00:45:25 <boily> well, I highly doubt, but I still guess so.
00:45:55 <hppavilion[1]> boily: Yep, that's the idea
00:46:24 <hppavilion[1]> boily: In fact, composition of s///es is literally just applying each individual substitution
00:46:55 <hppavilion[1]> boily: In the example, the main block is a theorem (well, a proof)
00:47:15 <hppavilion[1]> (once you have a proof, you can call it to form a theorem)
00:48:11 <hppavilion[1]> boily: It's a little bit imperative ATM, but I will soon fix that
00:48:49 <hppavilion[1]> I think I am going to fix it with the @ operator, which applies a lemma/theorem or axiom until it stops changing the string
00:51:19 <hppavilion[1]> Which means that the language reduces trivially to Thue, and is thus TC
01:09:24 -!- lambda-11235 has joined.
01:13:45 <Taneb> I heard of something terrifying today
01:13:49 <Taneb> Continuous pi calculus
01:14:06 <hppavilion[1]> practical Unlambda?
01:14:38 <boily> Tanelle. why is it terrifying?
01:15:06 <Taneb> boily, possibly the way it was described to me, which I can't really do justice to
01:15:25 -!- lynn_ has quit (Ping timeout: 255 seconds).
01:24:49 <ais523> the concept does seem terrifying, also I can't figure out how it would work
01:25:17 <vanila> as opposed to the friendly and warm: everywhere discontinuous pi calculus
01:25:38 -!- bb010g has joined.
01:25:48 <\oren\> I am a genious!
01:25:53 <\oren\> http://postimg.org/image/x9uo6lgmf/
01:26:33 -!- vanila has quit (Quit: Leaving).
01:29:32 <boily> he\\oren\. happily kerbaling?
01:33:21 <Taneb> ais523, apparently it's used by some biologists???
01:38:00 <hppavilion[1]> \oren\: My god, what OS is that?
01:38:04 <hppavilion[1]> Oh wait, probably a Linux
01:38:14 <hppavilion[1]> (The windowing looks pretty bad IMNSHO)
01:38:45 <hppavilion[1]> Taneb: How, may I ask?
01:40:48 <hppavilion[1]> I did not realize biology involved math...
01:42:59 <boily> maybe Windows 2000?
01:43:09 <ais523> hppavilion[1]: there's a lot of statistics in biology
01:43:12 <Taneb> hppavilion[1], it wasn't made clear
01:43:24 <Taneb> hppavilion[1], there's a lot of statistics and informatics
01:43:42 <hppavilion[1]> ais523: Yes, I figured there WAS math (that was a joke)
01:43:42 <ais523> hppavilion[1]: those are very Windows close/maximize/minimize buttons, but maybe they've just been made to look the same as Windows
01:43:56 <ais523> is informatics maths, technically?
01:43:56 <hppavilion[1]> ais523: Yes, that's what I was thinking
01:44:04 <boily> hppavilion[1]: when I was in university submitting stuff on the supercomputer we had, many users were bio-computer-science students.
01:44:25 <hppavilion[1]> boily: I would think that that was the "computer" and not the "bio" part
01:46:50 <hppavilion[1]> boily: So does Thoof look promising?
01:46:55 <hppavilion[1]> (or anybody else)
01:47:08 <boily> it sounds good.
01:47:31 <hppavilion[1]> Yay!
01:47:52 <shachaf> Classical (A -> B) is encoded as (!A -o ?B)
01:48:09 <shachaf> So !(!A -o ?_|_) -o ?_|_ should be the same as A?
01:48:13 <shachaf> What's ?_|_ ?
02:01:15 <boily> hellochaf. a very confused bottom.
02:05:00 <hppavilion[1]> Obviously, normal regex does not let you detect matched brackets
02:05:20 <hppavilion[1]> However, I have a nagging feeling this is possible using the horribly mutated Perl-style regex
02:05:22 <hppavilion[1]> Is this so?
02:06:11 <hppavilion[1]> Perhaps using backreference?
02:07:21 <FireFly> Perl & PCRE support recursive patterns, so yes
02:07:25 <boily> PCRE isn't horrible.
02:07:39 <boily> it has its own interior beauty.
02:10:39 <hppavilion[1]> Yes!
02:10:42 <hppavilion[1]> The lexer works!
02:10:51 <hppavilion[1]> boily: Oh, it isn't?
02:11:03 <hppavilion[1]> boily: Sorry, can't keep track of what we do and do not hate
02:11:41 <hppavilion[1]> FireFly: Is it equivalent to a PDA?
02:11:52 <hppavilion[1]> Or equivalently, BNF (now known as F)?
02:12:25 <FireFly> I think it could do some non-PDA things
02:12:40 <hppavilion[1]> Oh, wow
02:12:42 <hppavilion[1]> Impressive
02:12:48 <FireFly> perhaps
02:12:56 <FireFly> also pretty bad, depends on the application
02:13:06 <FireFly> something about great power and great responsibility
02:16:05 <ais523> hppavilion[1]: "(a*)b\1b\1" is a legal Perl/PCRE regex (even POSIX if you change the syntax slightly) that can't be matched by a PDA
02:16:30 <hppavilion[1]> Interesting.
02:16:34 <ais523> OTOH, Perl/PCRE regexes are I believe sub-TC unless you embed code in different languages inside them
02:16:49 <ais523> it's either going to be LBA or some weird class
02:20:54 -!- boily has quit (Quit: THINKING CHICKEN).
02:21:24 <hppavilion[1]> ais523: The proof assistant is TC by reduction to thue, so the regexes themselves need not be TC; AFAIC, they can just be literal string matching
02:21:35 <hppavilion[1]> But I'm allowing regexes because I am a kind and merciful god
02:21:41 <ais523> hppavilion[1]: well, if you know that something's above-PDA
02:21:50 <ais523> what computational class it actually has is an interesting question
02:23:16 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:27:12 -!- mihow has quit (Quit: mihow).
02:55:25 <quintopia> sup ais523
02:55:49 <ais523> hi quintopia
03:01:06 <quintopia> there is a question i want to ask but i dont know how to ensure it has only interesting answers
03:01:43 <ais523> assuming you want to ask us, you could just ask us not to give the boring answers, or let us give the boring answers first to get them out of the way and then start thinking
03:02:43 <quintopia> basically i want to define halting in such a way that it encapsulates all the usual connotations of halting
03:03:56 <ais523> oh, ouch
03:03:59 <quintopia> without specifying a specific "halt state"--just the idea that there is a state, perhaps not being explicitly tracked, after which nothing matters
03:04:09 <ais523> if I was capable of making that sort of definition I'd have at least one more paper than I have at the moment, probably two
03:04:16 <ais523> this is the thing that's holding up the 2,3 Turing machine definition
03:04:32 <ais523> err, 2,3 Turing machine paper
03:04:56 <ais523> not so much the "what counts as halting" (I found a nice construction for that where we get the Turing head to fall off the end of the tape), but what counts as a legal initial condition
03:05:16 <ais523> but it's basically the same problem, to determine what sort of description is legitimate and what sort of description is so complex it can "steal the TCness" by itself
03:07:19 <quintopia> im not worried about TCness, though I am aware of what you're referring to and the controversy around it.
03:07:46 <quintopia> i'm more interested in non-TC systems that are still very powerful
03:08:19 <ais523> hmm, well if the system /is/ TC, an interesting definition of halting would be "the point at which the evolution of the system can be fully predicted by a sub-TC system"
03:09:51 <quintopia> hmm. yeah that would be easy. however, it wont do if you choose to define sub-TC as "halting is decidable"
03:10:06 <quintopia> it would be circular
03:10:09 <ais523> indeed
03:10:17 <ais523> also, not just circular, but also incorrect
03:10:54 <quintopia> yes
03:12:23 <quintopia> but yeah i want to look at the space of systems for which halting is decidable
03:12:40 <quintopia> and to do that i need to know what halting is
03:12:59 <ais523> I think this is basically the same problem as the initial condition problem
03:13:01 <hppavilion[1]> YES!
03:13:04 <hppavilion[1]> THOOF WORKS!
03:13:22 <ais523> definitely halted: a state in which nothing happens from then on (e.g. actually terminating the interpreter, an infinite loop with no changes)
03:13:35 <hppavilion[1]> Wait, not quite, probably
03:13:38 <ais523> next simplest is a loop in which everything repeats exactly
03:14:10 <ais523> next simplest is a state in which things aren't repeating exactly but the pattern is really obvious and can be generated via a very simple automaton (e.g. the 101101110111101111101111110 pattern that was discussed during the 2,3 stuff)
03:14:12 <ais523> and so on
03:16:35 <quintopia> perhaps the only acceptable universally definition is "can be modeled by a TM in which the state in question maps to an explicit halt state.
03:16:49 <quintopia> i'm allowed to go up to TMs after all, yes?
03:17:05 <ais523> you will have problems defining "modeled"
03:17:17 <quintopia> oof
03:17:28 <ais523> if you go all the way up to bisimulation, the least contentious definition, you'll notice that the TM now has to be sub-TC because it can't do anything that the lower level couldn't do
03:17:54 <quintopia> and if i dont?
03:18:20 <ais523> then you're using a more contentious definition, and I can't think of any that would work here offhand
03:18:24 <ais523> although it's possible that there is one
03:18:42 <ais523> this is basically what I did in the 2,3 proof that I submitted to the wolfram people and that won me the prize
03:19:04 <ais523> showing that the 2,3 machine was modelling a Turing machine, thus the complexity of the initial condition didn't matter because you could look at the internals to prove I wasn't cheating
03:19:18 <ais523> but the whole thing was more subjective than most mathematicians want
03:21:44 <quintopia> what's wrong with just implementing the subTC system in a UTM, but having the implementation "know" when the system has halted even if the system itself doesnt?
03:23:07 <quintopia> for systems with an I/O mechanism (even if its just a "this state is interesting" flag) this is easy
03:23:10 <ais523> because you can run an entire TC program while checking whether the system has halted or not, and use its haltingness to choose when to declare "halted", which is basically cheating but the definition has no obvious way to catch the cheating
03:24:06 <hppavilion[1]> OK, now it works
03:24:46 <hppavilion[1]> Anybody feel like proving anything in it? xD
03:25:19 <quintopia> oh i guess its pretty circular
03:25:41 <quintopia> hppavilion[1]: no idea what uou're talking about
03:25:59 <hppavilion[1]> quintopia: I made a proof assistant based on regexy Thue called Thoof
03:26:08 <hppavilion[1]> quintopia: It's more of a programming language, but it works
03:26:16 <quintopia> lul
03:26:36 <quintopia> provide a demo
03:26:46 <hppavilion[1]> quintopia: You set up the axioms (which are s/// expressions and assumed-to-exist strings, really) then apply them until you get your goal
03:26:49 <hppavilion[1]> quintopia: OK
03:26:54 <quintopia> prove that 5+5=10
03:26:59 <hppavilion[1]> quintopia: It's TC by reduction to thue using the @ operator
03:27:18 <hppavilion[1]> quintopia: It's stringier than numerical, really, but that could certainly be done if we allow binary
03:27:40 <quintopia> hppavilion[1]: just use the peano axioms
03:28:01 <hppavilion[1]> quintopia: Here's the demo: http://pastebin.com/Ax2v5XSV
03:28:23 <hppavilion[1]> quintopia: Keep in mind, this is basically Thue with regexes and more fine-grained control
03:28:45 <hppavilion[1]> quintopia: There aren't built-in strings or anything
03:29:31 <quintopia> its pretty clear from the demo
03:29:59 <hppavilion[1]> quintopia: Great. Did I do something horribly wrong in my design?
03:30:15 <hppavilion[1]> Wait, not, "there aren't built-in strings"
03:30:25 <hppavilion[1]> I mean "there are ONLY built-in strings"
03:31:11 <quintopia> define ADD as the regex that turns S<a> + <b> into <a> + S<b>
03:31:23 <quintopia> define 5 as SSSSS0
03:31:37 <quintopia> and 10 as SSSSSSSSSS0
03:31:37 <hppavilion[1]> quintopia: Yep, that was the plan
03:32:50 <hppavilion[1]> quintopia: I was planning to use the thue incrementer, though
03:34:19 -!- oerjan has joined.
03:43:15 <oerjan> boo
03:43:18 <oerjan> nope
03:44:42 <izabera> https://esolangs.org/wiki/--C-=C-C-- why is this tc?
03:46:02 <oerjan> it doesn't looked well defined enough to say.
03:46:06 <oerjan> *look
03:46:57 -!- perrier_ has joined.
03:47:35 <ais523> well C isn't turing complete without file I/O or something similar
03:47:46 <ais523> however, removing features may make it more TC by undisallowing bignums/unlimited malloc
03:47:54 <oerjan> izabera: the author of that was a bit of a troublemaker afair
03:48:04 <oerjan> so don't expect anything to make real sense.
03:48:09 <ais523> it appears to be assigning integers to voids, so presumably it doesn't follow the rules of C exactly
03:48:44 <ais523> izabera: read the Talk page, this discussion's apparently come up before
03:49:17 <izabera> ah thanks
03:49:18 -!- perrier_ has quit (Remote host closed the connection).
03:49:56 <ais523> spoilers: pretty much everyone agrees with you
03:50:34 -!- pelegreno has joined.
03:51:54 <oerjan> ehird even blocked em at one point
03:54:09 <oerjan> that was when e was trying to fill in Unicode with a bot, i think.
03:54:25 <shachaf> ais523: Do you know what ?_|_ is?
03:55:02 <quintopia> bottom?
03:55:16 <oerjan> huh that page was created by User:Elliott
03:55:22 <ais523> shachaf: with the question mark, no
03:55:40 <shachaf> Hmm, maybe I can use Chu spaces to find out.
03:55:58 <quintopia> some thing a functor to tell whether a thing is bottom?
03:56:18 <shachaf> http://chu.stanford.edu/live/ says that _|_ is [[0],[1]] and that ?_|_ is [[1],[0]]
03:56:35 <quintopia> huh
03:57:01 <oerjan> hm that may or may not be the same person as ehird, no time overlap
03:57:09 <shachaf> Are those even different?
03:57:31 -!- hppavilion[2] has joined.
03:57:31 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
03:58:02 -!- pelegreno has quit (Remote host closed the connection).
03:58:58 <shachaf> This Java applet isn't that great.
03:59:14 -!- pelegreno has joined.
04:01:19 <izabera> so uhm
04:01:26 <izabera> i have this idea for a language
04:01:37 <izabera> i like the ones that use the filesystem
04:01:45 <izabera> but none of them seems to use symlinks
04:02:02 <izabera> and they could be used as an obvious way to loop and jump
04:02:21 <ais523> I don't think the existing ones have been designed in a way that takes the medium into account
04:02:31 <ais523> symlinks for control flow are an obvious improvement
04:02:41 <izabera> good
04:02:44 <izabera> let's do this
04:03:10 <izabera> ok so a directory is the equivalent of { }
04:03:14 <izabera> symlinks are jumps
04:03:40 <izabera> what does the memory look like? a tape? a stack? random variables?
04:03:40 <ais523> well, filesystems are typically unordered
04:03:54 <ais523> thus you shouldn't be taking advantage of the order of elements inside a directory
04:04:05 <izabera> that's not a problem, you can just call the files 1 2 3 4 5
04:04:06 <ais523> my first thought here is "is it somehow possible to use the path as memory?"
04:04:18 <izabera> uhm not sure
04:04:31 <ais523> like, with symlinks, a/a/b/a/b and a/b/b could be the same file
04:04:42 <ais523> so you have infinite storage there, although probably only accessible in a PDA way
04:04:49 <ais523> and you can put ../ in a symlink
04:06:07 <ais523> I like to start by looking at the implications of the simplest thing that could possibly work
04:06:26 <izabera> what would it be?
04:06:54 <ais523> in this case, each directory can contain either a) other directories; b) symlinks elsewhere; and c) a file with a specific name (say "run.sh") which just says "cd " followed by a directory name
04:07:13 <izabera> meh no like it
04:07:15 <ais523> you just repeatedly change directory as indicated by this directory's where-to-go-next
04:07:26 <ais523> the question is, is this PDA-complete? I suspect it might be
04:07:36 <ais523> could be worth trying to compile Splinter into it
04:08:45 <izabera> reading on splinter
04:09:04 <hppavilion[2]> Ugh
04:09:07 <hppavilion[2]> getting a weird bug
04:09:09 <ais523> it's my favourite PDA
04:09:37 <hppavilion[2]> Pretty sure it's with the interpreter, not the proof, but that's always a possibility
04:09:50 <ais523> actually I'm not sure if this folder thing is a PDA, I can't see an obvious way to copy state "upwards" from lower stack elements
04:09:56 <ais523> but that doesn't mean there isn't a non-obvious one
04:09:59 -!- FreeFull has quit (Ping timeout: 240 seconds).
04:15:36 <ais523> oh, it's a PDA, but in a rather spammy way; you use a different directory name for each possible mapping of splinters to literal code blocks, which is an incredibly large number, but finite
04:15:42 <ais523> then you just make a PDA stack out of that directly
04:15:51 <ais523> so it's a PDA but not one it's interesting to program in
04:20:11 -!- hppavilion[2] has changed nick to hppavilion[1].
04:24:00 <oerjan> borelang
04:25:58 <hppavilion[1]> Ugh, now I have to figure out how to have multiple strings in one environment
04:26:05 <hppavilion[1]> Probably should've thought of this
04:26:48 <oerjan> hppavilion[1]: just braid them together hth
04:27:30 <hppavilion[1]> oerjan: Yes, good point.
04:27:35 <hppavilion[1]> 100% valid and usefu
04:27:36 <hppavilion[1]> l
04:27:58 <oerjan> of course. that's what hth means, after all.
04:28:41 <oerjan> that's actually a valid way of combining two natural numbers. just write them in the same base and interleave.
04:29:17 <ais523> oerjan: that's the easiest way to prove that Z²=Z or R²=R
04:29:51 <hppavilion[1]> oerjan: Try it with 1000000000000000000000 and 5
04:30:34 <oerjan> ais523: i don't think it works as straightforwardly for those as for N
04:31:03 <oerjan> for the first you need to consider sign, for the second you get the .9999... = 1.0000... problem
04:31:12 <ais523> oh, handling the sign bit is a little tricky, you can treat it as a separate digit
04:31:33 <oerjan> i suppose it's easy enough in binary.
04:31:38 <ais523> the 9 recurring problem is something I hadn't thought of though
04:31:49 <shachaf> The reals are a very different thing from the cantor set.
04:31:59 <ais523> shachaf: same cardinality though
04:32:24 <shachaf> Well, if you have an isomorphism there then your job is easy.
04:32:35 <shachaf> Bijection, that's what it's called.
04:33:02 <oerjan> you could apply schröder-bernstein, then you just need injections first
04:33:58 <ais523> is that the theorem that says two sets are equivalent if they inject both ways?
04:34:05 <ais523> I've known that one for ages but didn't realise it had a name
04:34:10 <oerjan> yes
04:34:32 <oerjan> it's pretty neat
04:35:14 <ais523> it's a good example of why infinity depresses and confuses me
04:35:37 <ais523> because it's the sort of thing that should be really obvious with any normal (i.e. finite) set
04:35:59 <ais523> x ≤ y, y ≤ x, you'd think that x = y
04:36:16 <ais523> and turns out it is but you need a theorem to prove it :-(
04:38:31 <shachaf> "you need a theorem to prove it" is an odd thing to say.
04:38:48 <shachaf> You need a theorem to prove anything.
04:40:40 <ais523> I mean, that it's non-obvious enough that it's a theorem, with a name
04:40:46 <ais523> *that it's called a theorem
04:40:49 <ais523> rather than people just using it
04:41:07 <ais523> I doin't think there's a name for the fact that x ≥ y && y ≥ x implies x = y on the integers
04:41:22 <ais523> it's true but if you have to use it in a proof, you just assume it's true and that the reader will find it obvious
04:41:25 <shachaf> Antisymmetry?
04:41:26 <ais523> you don't give it a name and a citation
04:41:41 <ais523> antisymmetry is the name of the property that ≥ has that makes that happen
04:41:51 <ais523> "≥ is antisymmetric" I guess is the theorem/fact
04:42:01 <ais523> but you rarely express it in those terms
04:43:03 <ais523> hmm, actually this is true for arbitrary join-semilattices; a ≥ b means "join(a, b) = b"; thus a ≥ b && b ≥ a means b = join(a, b) = a
04:43:18 <ais523> (and it's true for arbitrary meet-semilattices for the same reason, just need a different definition of ≥ in terms of meets)
04:43:39 <shachaf> Yes, a semilattice is partially ordered.
04:44:11 <shachaf> Though a semilattice-type thing for preorders would be fine too.
04:44:23 <shachaf> Joins/meets would just not be unique.
04:47:44 <ais523> hmm, this is a slightly different concept from the "partial order" I'm used to
04:47:56 <ais523> a partial order, if you compare two things you get less than, equal, or greater
04:48:04 <ais523> whereas with a semilattice, you get less than, equal, greater, or incomparable
04:48:12 <ais523> just like with a preorder
04:48:17 <shachaf> Are you thinking of a total order?
04:48:19 <ais523> the difference is that meets /are/ unique
04:48:34 <ais523> shachaf: I'm thinking of something along the lines of a < b < (c = d = e) < f
04:48:44 <ais523> whereas a total would be a < b < c < d < e <f
04:49:06 <oerjan> partial order has incomparable too
04:49:12 <ais523> and a preorder as being any cycle-free directed graph (a partial preorder can have cycles)
04:49:22 <ais523> oerjan: hmm
04:49:50 <ais523> how do you disallow things like a < b, a < c, b < d, b < e, c < d, c < e, + transitive closure, but no other < relationships?
04:50:07 <ais523> because that doesn't have unique meets
04:51:55 <oerjan> well that's a partial order
04:51:57 <shachaf> Disallow what about it?
04:52:09 <shachaf> It's a partial order which isn't a semilattice.
04:53:17 <ais523> so what's a preorder that isn't a partial order?
04:53:19 <shachaf> https://chart.googleapis.com/chart?chl=digraph+%7B+a+-%3E+b%3B+a+-%3E+c%3B+b+-%3E+d%3B+b+-%3E+e%3B+c+-%3E+d%3B+c+-%3E+e%3B+%7D&cht=gv hth
04:53:41 <oerjan> ais523: a <= b, b <= a, a != b
04:53:42 <shachaf> Er, that's not an answer to your question, it's just your poset rendered.
04:53:42 <ais523> also, is that just a web interface to dot?
04:53:48 <shachaf> Yes.
04:53:57 <shachaf> And what oerjan said.
04:54:20 <ais523> oh, so a preorder can have cycles, but requires a <= or => opinion on any two elements?
04:54:34 <oerjan> yes, no
04:54:53 <oerjan> just add an uncomparable c if you like
04:54:57 <ais523> is it actually just a directed graph?
04:55:08 <shachaf> It's reflexive and transitive.
04:55:12 <ais523> right
04:55:36 <shachaf> `? preorder
04:55:37 <HackEgo> A preorder is just a small thin category.
04:55:59 <shachaf> ("thin" means that for any pair of objects (A,B) there's at most one arrow : A -> B.)
04:56:20 <ais523> and small means that it's not sufficiently infinite to make set theory cry
04:56:40 <shachaf> Right.
04:57:06 <shachaf> In topological terms, a partial order is like a T0 space.
04:57:21 <shachaf> Any two points are distinguishable.
04:58:00 * oerjan has been going to this "italian" restaurant and now has a https://www.youtube.com/watch?v=RruDYGIx1Ak earworm
04:58:26 <prooftechnique> Ear poison
04:58:58 <prooftechnique> `? postorder
04:58:59 <HackEgo> postorder? ¯\(°​_o)/¯
04:59:01 <prooftechnique> Good
05:00:01 <oerjan> `learn Postorder is the same as Polish notation, since Post was Polish. Not to be confused with reverse Polish notation.
05:00:05 <HackEgo> Learned 'postorder': Postorder is the same as Polish notation, since Post was Polish. Not to be confused with reverse Polish notation.
05:00:23 <prooftechnique> I was expecting a big fat category
05:00:45 <oerjan> `learn Postorder is the same as Polish notation, since Post was Polish. Not to be confused with reverse Polish notation, which puts operations last.
05:00:47 <HackEgo> Learned 'postorder': Postorder is the same as Polish notation, since Post was Polish. Not to be confused with reverse Polish notation, which puts operations last.
05:01:37 <shachaf> oerjan: Reverse Polish notation is what you get when you do a postorder traversal of a tree representing an arithmetic expression.
05:02:12 <oerjan> `learn Postorder is the same as Polish notation, since Post was Polish. Not to be confused with reverse Polish notation, which is postfix.
05:02:14 <HackEgo> Learned 'postorder': Postorder is the same as Polish notation, since Post was Polish. Not to be confused with reverse Polish notation, which is postfix.
05:03:15 -!- tromp_ has joined.
05:03:49 -!- andrew has joined.
05:11:57 <oerjan> `? !
05:12:07 <HackEgo> ​/hackenv/bin/?: 5: [: closing paren expected \ !? ¯\(°​_o)/¯
05:12:14 <oerjan> ooh
05:12:25 <oerjan> `? hm!
05:12:27 <HackEgo> hm!? ¯\(°​_o)/¯
05:12:39 <oerjan> `test !
05:12:40 <HackEgo> No output.
05:12:48 <oerjan> `cat bin/?
05:12:49 <HackEgo> ​#!/bin/sh \ topic=$(echo "$1" | lowercase | sed "s/noo\+dl/nooodl/;s/ *$//") \ topic1=$(echo "$topic" | sed "s/s$//") \ cd wisdom \ if [ \( "$topic1" = "ngevd" \) -a \( -e ngevd \) ]; \ then cat /dev/urandom; \ elif [ -e "$topic" ]; \ then cat "$topic" | rnooodl; \ elif [ -e "$topic1" ]; \ then cat "$topic1" | rnooodl; \
05:13:28 <oerjan> `cat wisdom/!
05:13:29 <HackEgo> cat: wisdom/!: No such file or directory
05:13:43 -!- jaboja has joined.
05:13:53 <oerjan> `? !test
05:13:54 <HackEgo> ​!test? ¯\(°​_o)/¯
05:14:00 <oerjan> `? !
05:14:01 <HackEgo> ​/hackenv/bin/?: 5: [: closing paren expected \ !? ¯\(°​_o)/¯
05:14:08 <oerjan> weird
05:14:13 <ais523> hmm, this site I've had open for a couple of hours suddenly started playing music, presumably through an advert
05:14:16 <oerjan> `? !!
05:14:17 <HackEgo> ​!!? ¯\(°​_o)/¯
05:14:26 <ais523> so first I muted my speakers, then looked through the site's HTML for ad containers and deleted them all
05:14:52 <ais523> ugh, some of them have come back
05:15:07 <oerjan> oh is it the if test
05:15:25 <ais523> oerjan: it's clearly test misinterpreting ! as an operator rather than an operand
05:15:26 <ais523> `? -le
05:15:27 <HackEgo> ​-le? ¯\(°​_o)/¯
05:15:30 <ais523> hmm
05:15:32 <ais523> `? -gt
05:15:33 <HackEgo> ​-gt? ¯\(°​_o)/¯
05:15:47 <ais523> presumably that looks like an operand because it would be a binary operator and there's nothing before it
05:16:02 <oerjan> yeah
05:26:47 <shachaf> So in Chu(Set, 2), 1 is the singleton set, with one point and two opens.
05:27:10 <shachaf> And _|_ is the dual (the CABA corresponding to the singleton set?), with two points and one open.
05:27:53 <shachaf> "The operation ?A is the De Morgan dual of !A, defined by ?A = (!(A^_|_))^_|_. Just as !A weakens A to a poset (when K=2), ?A dually strengthens A to a distributive lattice, the dual notion to a poset."
05:27:56 -!- tromp_ has quit (Remote host closed the connection).
05:29:07 <shachaf> So ?_|_ should be the transpose of !1
05:29:30 <shachaf> "As our next linear logic connective we consider the unary operation !A. For finite Chu spaces over K = 2, !A yields the underlying partial order of A. This has the same points as A, which are taken to be ordered in such a way that a <= b just when it this is true in every column. Thus we have 001 <= 101 but not 010 <= 101.
05:29:35 <shachaf> The states of !A, still for K = 2, turn out to be definable as the closure under union and intersection of the states of A, together with the constantly 0 and constantly 1 states. An equivalent characterization of these states is that they are all those states that are consistent with the above partial order on A: any additional state would contradict some a <= b."
05:31:18 <shachaf> (open = state)
05:33:12 <shachaf> Wouldn't !1 be 1?
05:34:15 <ais523> if 1 is unit, then I'd expect it to be
05:43:01 <shachaf> But if ?_|_ = _|_, then !(!A -o ?_|_) -o ?_|_ = !(!A -o _|_) -o _|_
05:43:11 <shachaf> So it works out the same as intuitionistic logic.
05:43:29 <oerjan> oh hm
05:43:45 <shachaf> But maybe ?!A has the same behavior as A when your implications all look like !A -o ?B ?
05:44:03 <oerjan> `` sed -i '1c#!/bin/bash' bin/\?
05:44:17 <HackEgo> No output.
05:44:21 <ais523> was it previously using sh?
05:44:26 <oerjan> `cat bin/?
05:44:26 <HackEgo> ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed "s/noo\+dl/nooodl/;s/ *$//") \ topic1=$(echo "$topic" | sed "s/s$//") \ cd wisdom \ if [ \( "$topic1" = "ngevd" \) -a \( -e ngevd \) ]; \ then cat /dev/urandom; \ elif [ -e "$topic" ]; \ then cat "$topic" | rnooodl; \ elif [ -e "$topic1" ]; \ then cat "$topic1" | rnooodl; \
05:44:27 <oerjan> yes
05:44:33 <oerjan> `? !
05:44:33 <HackEgo> ​/hackenv/bin/?: line 5: [: `)' expected, found ngevd \ !? ¯\(°​_o)/¯
05:44:44 <oerjan> well not that it helped enough
05:44:48 <oerjan> `? ngevd
05:44:50 <HackEgo> ​֍UH<{ͅ`h;/|}niGf.fE6皸>pavtr^=F,``4^I&ĝ\.5ŏDs:>`oEC/ޟ2@2wO𠐒`h|0@tйli)7TDKɰ\U}"zZ$? 䜟
05:44:57 * oerjan whistles innocently
05:45:05 <oerjan> `? hmph
05:45:07 <HackEgo> His Master's Phonetic Hmph
05:46:00 <shachaf> `` hg log bin\? | grep summary:
05:46:03 <HackEgo> No output.
05:46:09 <shachaf> er
05:46:12 <shachaf> `` hg log bin/\? | grep summary:
05:46:15 <HackEgo> summary: <oerjan> ` sed -i \'1c#!/bin/bash\' bin/\\? \ summary: <tswett> revert \ summary: <oerjan> revert \ summary: <elliott> revert 1 \ summary: <shachaf> sed -i \'2s/no/noo/\' bin/\\? \ summary: <oerjan> sed -i \'2s!s/!s/no\\\\+dl/nooodl/;s/!\' bin/\'?\' \ summary: <oerjan> revert \ summary: <oerjan> sed -i \'2s!
05:46:42 <shachaf> `` hg wells
05:46:45 <HackEgo> hg: unknown command 'wells' \ Mercurial Distributed SCM \ \ basic commands: \ \ add add the specified files on the next commit \ annotate show changeset information by line for each file \ clone make a copy of an existing repository \ commit commit the specified files or all outstanding changes \ diff diff reposi
05:48:21 <oerjan> `` sed -i '5s/"/"_/g' bin/\?
05:48:23 <HackEgo> No output.
05:48:27 <oerjan> `? !
05:48:27 <shachaf> hg: what sort of time machine are you twh
05:48:28 <HackEgo> ​!? ¯\(°​_o)/¯
05:48:33 <oerjan> `? hmph
05:48:34 <HackEgo> His Master's Phonetic Hmph
05:48:54 <oerjan> i'm sure there's a proper way, but i cannot take any more manual reading.
05:49:13 <shachaf> oerjan: is that like automatic writing
05:49:19 <oerjan> MAYBE
05:49:34 <hppavilion[1]> quintopia: YES! I DID IT PROBABLY!
05:50:03 <oerjan> `le/rn !/! is a syntax used in Haskell and Prolog for solving evaluation order problems.
05:50:06 <HackEgo> Learned «!»
05:50:09 <oerjan> `? !
05:50:10 <HackEgo> ​! is a syntax used in Haskell and Prolog for solving evaluation order problems.
05:52:12 -!- tromp_ has joined.
05:52:30 <oerjan> <ais523> ugh, some of them have come back <-- perhaps you should block the offending ad site hth
05:52:48 <ais523> just found a different site altogether
05:54:44 <shachaf> `le/rn cut elimination/The cut-elimination theorem states that any Prolog program written using the cut operator ! can be rewritten without using that operator.
05:54:46 <HackEgo> Learned «cut elimination»
05:54:50 <oerjan> i mean, if there's a third party site server annoying ads, you might want to block it from everywhere.
05:54:55 <oerjan> *serving
05:55:12 <oerjan> shachaf: is that actually true
05:55:18 <shachaf> oerjan: i was about to ask you
05:55:21 <oerjan> i mean, the second part
05:55:39 <shachaf> which part is the first part
05:55:54 <oerjan> the part that says that's called the cut-elimination theorem hth
05:56:16 <oerjan> i don't the truth of that is in serious question
05:56:20 <oerjan> *+think
05:56:27 <shachaf> no, the cut elimination theorem is https://en.wikipedia.org/wiki/Cut-elimination_theorem
05:56:36 <oerjan> FINGERS, SHALL I START CHOPPING YOU OFF AS PUNISHMENT?
05:56:48 <oerjan> shachaf: um, i said i was not questioning that part hth
05:56:59 <shachaf> oh
05:57:10 <shachaf> i misread my own question
05:57:13 <oerjan> fancy
05:57:18 <shachaf> i don't think the second part is always true
05:57:21 <shachaf> but i don't really know prolog
05:57:31 <oerjan> i think ais523 might know
05:57:45 <oerjan> since he inspired my `? ! addition
05:57:51 <ais523> I think Prolog is TC without cut
05:58:00 <ais523> although it might be via bundling an interpreter
05:58:12 <ais523> and not a metacircular one, either, you'd have to go pretty much back to first principles
05:58:27 <shachaf> oerjan: if you can rephrase that wisdom entry to make it true that would improve it
05:59:14 <oerjan> shachaf: maybe it's like with the ordinary cut-elimination theorem, that it's possible but things blow up exponentially or more
06:00:51 <\oren\> trump won nevada
06:01:00 <Elronnd> why do you care
06:01:03 <Elronnd> you're in canada
06:01:06 <oerjan> `le/rn programmers knowing what they're doing/Programmers knowing what they're doing is a hypothetical race invoked to justify keeping horrendous traps in programming languages.
06:01:08 <HackEgo> Learned «programmers knowing what they're doing»
06:01:13 <\oren\> i'm having fun watching it
06:01:14 <oerjan> Elronnd: he might nuke canada hth
06:01:26 <\oren\> it's the funniest show on earth
06:01:30 <ais523> I'm following the US election too
06:01:32 <Elronnd> oerjan: true
06:01:55 <ais523> my opinion on Trump is that we basically don't have a clue what his opinions actually are, because the ones he publicly gives seem to have been designed for entertainment value more than truthfulness
06:02:05 <ais523> and that he probably wouldn't be as disastrous as he's pretending to be
06:02:15 <ais523> but it's fun to see what he'll come up with in the meantime
06:02:24 <Elronnd> yeah true
06:02:39 <Elronnd> I'm not quite sure whether or not I want him to be president just to see what happens
06:03:01 <\oren\> at this point I just want the show to go on
06:03:35 -!- jaboja has quit (Ping timeout: 244 seconds).
06:04:04 <oerjan> <shachaf> oerjan: if you can rephrase that wisdom entry to make it true that would improve it <-- [citation needed]
06:04:05 <ais523> there are various possibilities that would be even more dramatic
06:04:25 <ais523> e.g. say the democrats nominate hillary (which seems the most likely outcome at this point), republican convention is contested
06:04:31 <ais523> and while the republicans are deciding hillary gets arrested
06:04:37 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
06:05:05 <oerjan> `` sed -i 's/race/alien race/' wisdom/'programmers knowing what they're doing'
06:05:06 <HackEgo> ​/hackenv/bin/`: eval: line 4: unexpected EOF while looking for matching `'' \ /hackenv/bin/`: eval: line 5: syntax error: unexpected end of file
06:05:55 <ais523> oerjan: unescaped ' in the middle of your string
06:06:09 <Elronnd> `` sed -i 's/race/alien race/' 'wisdom/programmers knowing what they're doing'
06:06:09 <HackEgo> ​/hackenv/bin/`: eval: line 4: unexpected EOF while looking for matching `'' \ /hackenv/bin/`: eval: line 5: syntax error: unexpected end of file
06:06:16 <shachaf> `le/rn cat elimination/cat elimination is the process of replacing a one-argument `cat` command with the shell operator <
06:06:19 <HackEgo> Learned «cat elimination»
06:06:21 <ais523> you might want to "-quote it or use '\''
06:06:52 <Elronnd> `` sed -i "s/race/alien race/" "wisdom/programmers knowing what they're doing"
06:06:54 <HackEgo> No output.
06:06:59 <ais523> `le/rn cat introduction/cat introduction is the process of piping one or more extra `cat` commands into your pipeline; occasionally this is even actually useful
06:07:01 <HackEgo> Learned «cat introduction»
06:07:01 <oerjan> fancy
06:07:33 <Elronnd> when is it "actually useful"?
06:07:35 <shachaf> oerjan: is that related to http://www.purrsonals.com/ twh
06:08:28 <oerjan> ais523: i'm not really following, but i've been assuming that the only chance either trump or sanders has of becoming president is if they face each other in the final election.
06:08:45 <izabera> is there any language that has implicit looping and explicit termination?
06:08:59 <ais523> oerjan: well, the only two other people who seem likely on the republican side are cruz and rubio
06:09:14 <izabera> like, when you run out of instructions you start from the beginning of the program again, and there's an explicit instruction to exit
06:09:15 <ais523> and cruz is known to be pretty extreme in views (as opposed to trump, for whom it's hard to tell)
06:09:20 <oerjan> hm
06:09:42 <ais523> cruz versus sanders, for example, would basically be a choice between extreme right and extreme left (from a US point of view)
06:10:03 <ais523> izabera: quite a few of mine are like that, e.g. there's a C-INTERCAL command that puts it into that mode
06:10:14 <izabera> ah ok nice
06:10:18 <ais523> however normally I don't add the halt command because it isn't really required
06:10:21 <Elronnd> C-INTERCAL?
06:10:29 <Elronnd> Is that C bindings for INTERCAL?
06:10:38 <ais523> Elronnd: it's an INTERCAL compiler written in C
06:10:44 <ais523> it has C bindings, though
06:10:46 <ais523> also Befunge bindings
06:10:50 <Elronnd> ah
06:10:57 <izabera> TIL building walls to keep immigrants away is not extreme right
06:10:58 <ais523> and they work using INTERCAL control flow
06:11:26 <ais523> you don't necessarily call the C from the INTERCAL; you could instead put a COME FROM statement in the C and it'd steal control from the INTERCAL
06:11:50 <oerjan> `culprits wisdom/cat elimination
06:11:52 <ais523> izabera: Trump's opinions aren't consistently extreme right
06:11:53 <HackEgo> shachaf
06:12:03 <oerjan> `culprits wisdom/cat introduction
06:12:04 <ais523> also he isn't going to build it himself, he claims he's going to make the Mexicans build one
06:12:05 <HackEgo> ais523
06:12:34 <ais523> which is incredibly unrealistic; I'm not convinced they could afford it no matter how much pressure the US puts on them
06:12:37 <izabera> i thought purssonals.com was furry related but it's only cat relatex
06:12:40 <\oren\> well people have pointed out that Trump is more like a european right winger than a US one
06:12:57 -!- FreeFull has joined.
06:12:59 <ais523> and the US would probably get into a ton of international trouble
06:13:02 <ais523> it's like the Antiguan pirate movies
06:13:11 <izabera> like he careS
06:13:15 <oerjan> <shachaf> oerjan: is that related to http://www.purrsonals.com/ twh <-- why are you asking me
06:13:20 * izabera stares at her fingers
06:13:37 <ais523> (summary: there was some sort of trade dispute between the US and Antigua, the WTO found that Antigua was in the right and had lost money as a result, and they gave it the right to pirate X amount of US copyrighted stuff in order to get their money back)
06:14:44 <izabera> ah that's why antiguan iphones are so cheap
06:15:58 <oerjan> `` sed -i 's/$/./' wisdom/'cat introduction'
06:16:00 <HackEgo> No output.
06:18:08 <shachaf> oerjan: you made the wisdom entry hth
06:18:50 <oerjan> <izabera> i thought purssonals.com was furry related but it's only cat relatex <-- just blame freefall hth
06:20:06 <oerjan> shachaf: which one
06:20:42 <oerjan> shachaf: are you perchance confused again
06:20:48 -!- tromp_ has quit (Remote host closed the connection).
06:20:49 <izabera> i also had another idea: a language where the only means to loop is a goto instruction and it has a side effect of incrementing a memory cell
06:21:02 <oerjan> goto++
06:21:17 <izabera> :) nice name
06:21:35 <oerjan> remarkably, it doesn't seem taken either
06:21:47 <izabera> i'm copyrighting the idea
06:22:07 <ais523> I was pretty sure it was taken
06:22:24 <ais523> http://esolangs.org/wiki/GOTO%2B%2B
06:22:34 <oerjan> oh.
06:22:42 <oerjan> stupid capitalization
06:22:50 <shachaf> oerjan: "cat introduction" hth
06:22:56 * oerjan was just writing the url directly
06:23:07 <ais523> it also has its own website: http://www.gotopp.org/faq.html.en
06:23:26 <izabera> well this sounds easy to fix
06:23:40 <izabera> goto-- where jumping decrements a variable
06:23:52 <oerjan> shachaf: you're clearly confused. do you have toxoplasmosis tdnh
06:24:09 <shachaf> oerjan: oh
06:24:30 <shachaf> i'm not used to ais523 making wisdom entries
06:24:37 <ais523> nor am I
06:24:41 <izabera> make it --goto: cells wrap around at 256 and if the decremented value ends up being 0 you don't jump
06:24:44 <ais523> I have a few more but they're mostly serious ones
06:24:48 <shachaf> and your nicks are in the same length equivalence class
06:25:05 <ais523> why do people put nicks into equivalence classes?
06:26:34 <oerjan> due to the ancient order of myndzi
06:26:35 <shachaf> I didn't put them into that equivalence class, they were already in it.
06:26:48 <oerjan> who seems to have disappeared entirely from here
06:27:24 <oerjan> `? myndzi
06:27:25 <HackEgo> myndzi keeps us all on our feet.
06:27:39 <shachaf> `` hg log wisdom | grep 'summary: <ais523>' | egrep -v 'sed|revert'
06:27:41 <oerjan> `learn myndzi used to keep us all on our feet.
06:27:45 <HackEgo> summary: <ais523> le/rn cat introduction/cat introduction is the process of piping one or more extra `cat` commands into your pipeline; occasionally this is even actually useful \ summary: <ais523> learn Moths are the main ingredient of mothballs. \ summary: <ais523> le/rn al gore/al gore invented the algorithm \ summary: <ais523> e
06:27:49 <HackEgo> Learned 'myndzi': myndzi used to keep us all on our feet.
06:27:56 <ais523> you mean now, people have to draw in the arms, legs and bodies of stick figures /manually/?
06:28:01 <oerjan> yeah
06:28:13 <ais523> wait, "moths are the main ingredient of mothballs" was me?
06:28:22 <shachaf> `` hg log wisdom | grep 'summary: <ais523>' | egrep -v 'sed|revert' | tail -n+4
06:28:25 <HackEgo> summary: <ais523> echo wisdom/* | shuf | head -n 10 | xargs rm \ summary: <ais523> ls wisdom/* | shuf | head -n 10 | xargs rm \ summary: <ais523> le/rn hash 2346ad27d7568ba9896f1b7da6b5991251debdf2 \ summary: <ais523> le/rn resume/a resume is something that you use in order to end a pause in employment \ summary: <ais523> learn
06:28:29 <oerjan> ^celebrate aka mourn
06:28:29 <fungot> \o| c.c \o/ ಠ_ಠ \m/ \m/ \o_ c.c _o/ \m/ \m/ ಠ_ಠ \o/ c.c |o/
06:28:53 <shachaf> Those don't look very serious.
06:29:51 <ais523> indeed
06:30:04 <ais523> perhaps I was wrong abou them mostly being serious
06:30:20 <shachaf> Maybe you added serious quotes instead of serious wisdom entries.
06:30:22 <ais523> also, I decided to reverse that hash
06:30:33 <ais523> there are a ton of apparently unrelated sites where people are complaining that it's impossible to reverse
06:30:39 <ais523> I suspect it is the SHA-1 hash of "hash"
06:30:51 <oerjan> "suspect"
06:30:54 <ais523> yep, just verified
06:30:57 <ais523> I wasn't sure until I checked
06:31:25 <oerjan> the nice thing about hashes is that suspicion is close to knowledge
06:31:35 <ais523> " The word above "Hash" is the correct spelling for the word. It is very easy to misspell a word like Hash, therefore you can use TellSpell as a spell checker. Whenever you do not know how to spell a word just go to this site and search, we got millions of different misspellings for the words already indexed by google, so just google it it as you think it is spelled and hopefully google will help you find Tellspell again!"
06:32:15 <ais523> (this site actually outright reverses the hash in question, i.e. it contains the hash somewhere on the page and explains what it's a hash of also on the same page)
06:32:25 <shachaf> The Bitcoin network computes 2^64 SHA-256 hashes every 10-20 seconds.
06:32:54 <ais523> also this list of "common spellings" is ridiculous
06:33:00 <ais523> * "common misspellings"
06:33:39 <ais523> it includes things like 'whaswh', 'hkashk', 'hiesh', and 'as'
06:34:00 <ais523> ooh and 'thasth'
06:34:41 <ais523> also a list of anagrams which is actually a list of permutations
06:34:57 <oerjan> ais523: so you could say it makes a hash of spellings?
06:35:08 <ais523> definitely!
06:36:47 <oerjan> this reminds me how annoyed i get at dictionary/lyrics etc. sites that steal google hits for things they _don't have actual entries for_
06:37:30 <shachaf> lyrics websites are the worst
06:37:36 <oerjan> which is, i guess, why nowadays i go directly to wiktionary
06:37:36 <shachaf> why are they all bad twh
06:37:43 <ais523> nah, worst would probably be the search engines that attempt to steal google hits
06:38:03 <ais523> I can see why they do it but it's still mindboggling
06:38:14 <ais523> as in, top result on google is the same search, just in a different search engine
06:38:20 <oerjan> shachaf: i looked up one of those italian songs yesterday and it had the lyrics, but in the wrong charset so più had a russian letter at the end
06:38:31 <ais523> (mostly these are specific search engines that focus on one thing and aren't very well known)
06:38:49 <oerjan> *this site had
06:39:16 <shachaf> `le/rn post-turing machine/A post-Turing machine is a machine from the post-Turing era.
06:39:18 <HackEgo> Learned «post-turing machine»
06:40:20 <shachaf> Sgeo: you should sleep hth
06:41:21 * Sgeo throws a macro suffering from incorrect hygiene implementation at shachaf
06:41:27 <oerjan> hm you reminded me to peek at bitcoin again, it seems to have doubled in the last 6 months
06:42:17 <ais523> in value? or in volume?
06:42:27 <oerjan> value
06:43:09 * ais523 wonders if bitcoin is the most volatile widely-traded asset in the world
06:43:20 <oerjan> oh, i _used_ to go to merriam-webster for english words often, because they had a good pronunciation guide. but then they redesigned so it's hard to find the actual pronunciation key...
06:43:22 <ais523> it seems unlikely, but it also seems unlikely that something could be even more volatile
06:44:11 <shachaf> What counts as an asset?
06:45:53 <ais523> something that has value
06:46:06 <ais523> I had to qualify it with "widely-traded" so that it wouldn't end up applying to almost everything
06:46:06 -!- hppavilion[1] has joined.
06:47:01 <oerjan> oil is pretty volatile if you have a match hth
06:47:32 <shachaf> How widely-traded is Bitcoin?
06:48:06 <oerjan> oh hm it wasn't actually ais523 who reminded me of prolog cut, but prooftechnique
06:48:15 <oerjan> back to logreading
06:48:24 <shachaf> oerjan: toxoplasmosis strikes again hth
06:49:04 <oerjan> yeah. i didn't get away from the cats soon enough.
06:49:05 <shachaf> You can probably find some pretty volatile 3x leveraged ETF that's at least as widely-traded as Bitcoin?
06:49:27 <oerjan> normal people don't know what ETF means, shachaf.
06:49:29 <oerjan> google ->
06:50:03 <shachaf> oerjan: ask \oren\, he's an expert in derivatives hth
06:51:03 <oerjan> OKAY
06:51:23 -!- jaboja has joined.
06:52:35 <hppavilion[1]> Ugh
06:52:39 <hppavilion[1]> Introducing
06:52:43 <hppavilion[1]> Whoops
06:52:57 <hppavilion[1]> Introducing variables to Thoof would make it a LOT easier to use
06:53:06 <hppavilion[1]> But that would be cheating, IMHO...
07:04:21 <oerjan> `? theory
07:04:22 <HackEgo> To be theory is to be like a theorem, but inferior
07:04:32 <oerjan> `` sed -i 's/$/./' wisdom/theory
07:04:34 <HackEgo> No output.
07:04:44 * oerjan charges hppavilion[1] one period.
07:06:37 <hppavilion[1]> .
07:09:14 -!- lambda-11235 has quit (Quit: Bye).
07:20:49 -!- J_Arcane has quit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805]).
07:20:51 <hppavilion[1]> oerjan: Happy?
07:21:18 -!- J_Arcane has joined.
07:21:19 -!- tromp_ has joined.
07:22:04 <oerjan> as a potamus
07:25:29 -!- tromp_ has quit (Ping timeout: 240 seconds).
07:52:43 -!- adu has joined.
07:53:10 <hppavilion[1]> (to the dora tune: )b- b- b- b- b- bit-coin
07:53:26 <oerjan> <shachaf> So !(!A -o ?_|_) -o ?_|_ should be the same as A? <-- i don't think you need to know what ?_|_ is to see that can't be true, since ! is not injective
07:54:02 <shachaf> What do you mean?
07:54:28 <oerjan> i mean that !!A = !A, so the left side _also_ must be the same as !A
07:54:58 <shachaf> I must be missing the thing you're looking at.
07:55:04 <ais523> !_x!_yA = !_xyA
07:55:36 <shachaf> ais523: What's !_x?
07:55:42 -!- jaboja has quit (Ping timeout: 244 seconds).
07:55:51 <ais523> shachaf: it's a syntax used in various generalizations of linear logic
07:55:54 <oerjan> shachaf: !(!A -o ?_|_) -o ?_|_ is the same as !(!(!A) -o ?_|_) -o ?_|_ because !(!A) is the same as !A
07:56:00 <ais523> typically it just has to be a semiring eleemnt
07:56:19 <ais523> you can do interesting things by choosing various semirings
07:56:25 <oerjan> thus, if the left side is always equal to A, it must also be always equal to !A
07:56:42 <ais523> this is a big unifying theme of a bunch of type systems that I discovered during my thesis, then I discovered that they all failed at their design goal and for the same reason
07:56:58 <shachaf> oerjan: Oh, you mean the left side of the equality.
07:57:46 <shachaf> Maybe it's not the same as A but it's classically equivalent to it.
07:58:00 <oerjan> maybe it's true whenever A = !A
07:58:52 -!- ais523 has quit.
07:59:19 <shachaf> ais523 always leaves very suddenly.
07:59:39 <shachaf> No time to respond to the thing about !_x
07:59:56 <shachaf> I was going to say something about reconciling that with the comonoid laws.
08:00:10 <shachaf> Anyway the same argument you made works for intuitionistic logic.
08:00:22 <shachaf> But of course we expect ~~A to be different from A intuitionistically.
08:00:31 <oerjan> maybe he had a hunch it would be a good time to leave
08:01:42 <shachaf> Why does !A -o ?B correspond to classical implication?
08:01:56 <shachaf> It takes as many As as it wants, and produces as many Bs as it wants.
08:02:05 <shachaf> Including zero Bs?
08:02:13 -!- jaboja has joined.
08:02:51 <oerjan> as many as the caller wants, perhaps?
08:03:47 <oerjan> or maybe it's at _least_ one
08:03:55 <shachaf> Why would it be?
08:03:57 <oerjan> obviously, no one understands ?
08:04:09 <shachaf> If I give you ?A, that means you have to consume any number of As, doesn't it?
08:04:17 <shachaf> You don't know how many but you have to handle them all.
08:04:36 <oerjan> ah, maybe
08:04:47 <shachaf> But maybe that's not enough, in a similar way to comonoids and monoids behaving somewhat differently?
08:05:50 <shachaf> ~(!A -o ?B) = ~(~!A # ?B) = ~(?~A # ?B) = ~?~A x ~?B = !A x ~?B = !A x !~B
08:05:55 <shachaf> Is that right?
08:07:43 <hppavilion[1]> Got lists working in thoof :)
08:07:54 -!- AnotherTest has joined.
08:09:33 <adu> hppavilion[1]: hi
08:09:51 <b_jonas> What do all those ascii stuff even mean?
08:10:45 <shachaf> b_jonas: # is ⅋
08:10:46 <hppavilion[1]> hadu
08:10:56 <hppavilion[1]> adu: I'm making an esoteric proof assistant :)I
08:10:58 <hppavilion[1]> *:)
08:11:13 <adu> hppavilion[1]: how do I inspire clean refactors from my coworkers?
08:11:16 <b_jonas> shachaf: uh... ok
08:11:25 <shachaf> b_jonas: https://en.wikipedia.org/wiki/Linear_logic hth
08:11:41 <b_jonas> I've learnt very little of those non-classical logic thingies
08:11:54 <hppavilion[1]> adu: I have no clue. It's one of the great mysteries of the universe.
08:11:57 <b_jonas> oh, _that_ linear logic
08:12:00 <b_jonas> that's even worse
08:13:18 <adu> hppavilion[1]: I mean, if there are 3 things that, together will be a step closer to a clean API, 1 to fix the bug, and 2 to prevent similar bugs in the fugure, my coworkers tend to do 1 instead of all 3
08:13:45 <hppavilion[1]> adu: Have a riding crop?
08:14:09 <adu> hppavilion[1]: lol
08:14:12 <shachaf> b_jonas: linear logic is so good
08:14:16 <shachaf> if only i understood it
08:14:57 <hppavilion[1]> adu: Or perhaps, if you have 2 coworkers to spare, have one fix the bug and the other two (including you) will prevent it in the future?
08:15:01 <hppavilion[1]> So it's a team refactor?
08:15:22 <adu> hppavilion[1]: that's a better idea
08:16:07 <hppavilion[1]> adu: So I'm inventing a calculus to prove things using s/// notation
08:16:20 <adu> hppavilion[1]: isn't that already a thing?
08:16:24 <hppavilion[1]> adu: For the eso-proof assistant
08:16:27 <hppavilion[1]> adu: Probably.
08:16:36 <hppavilion[1]> adu: I think it's a calculus
08:16:42 <adu> http://mathworld.wolfram.com/SubstitutionSystem.html
08:16:56 <hppavilion[1]> adu: Mine uses regex?
08:17:11 <adu> well, then
08:17:16 <adu> that's different
08:17:26 <hppavilion[1]> adu: PCRE, no less
08:17:46 <adu> hppavilion[1]: https://en.wikipedia.org/wiki/Tag_system
08:17:59 <hppavilion[1]> adu: It made everything easier to use Regex; otherwise, I'm just making manual Thue
08:18:21 <hppavilion[1]> adu: I suppose it could be used to implement a cyclic tag system
08:18:59 <adu> hppavilion[1]: so have you discovered any unique insights? or tautologies?
08:19:05 <hppavilion[1]> A tag is written tagname :: s/begining(?<x>.*)/\g<x>output/
08:19:21 <hppavilion[1]> adu: No; I just got peano arithmetic working xD
08:19:25 <hppavilion[1]> Earlier today
08:19:33 <hppavilion[1]> And really only addition
08:19:54 <adu> I guess that's good
08:20:53 <adu> hppavilion[1]: but I wonder if my philisophy of refactoring is the antithesis of http://c2.com/cgi/wiki?YouArentGonnaNeedIt
08:21:25 <hppavilion[1]> adu: It appears it does
08:21:51 <adu> hppavilion[1]: but on the original hand, if you're already specifying something multiple times, then proper refactoring is covered by http://c2.com/cgi/wiki?DontRepeatYourself
08:22:14 * adu 's head explodes
08:22:58 -!- tromp_ has joined.
08:24:03 <adu> perhaps the only solution is earmarking
08:28:09 -!- tromp_ has quit (Ping timeout: 276 seconds).
08:28:21 <adu> hmm, I don't like wikipedia's earmark, but I do like http://www.urbandictionary.com/define.php?term=earmark
08:30:20 <adu> hppavilion[1]: can you use the same technique you used for addition to implement multiplication?
08:33:04 <hppavilion[1]> adu: Yes, probably
08:34:13 -!- ais523 has joined.
08:37:13 <hppavilion[1]> adu: In case you're curious, http://pastebin.com/Y00f06hb is the axioms for peano arithmetic (but not the theorems)
08:38:00 <adu> axioms are boring, theorems make a theory
08:38:33 <adu> and you don't go to school to learn axioms, you go to learn theory
08:38:55 <hppavilion[1]> Fixed
08:39:11 <hppavilion[1]> adu: ...
08:39:11 <hppavilion[1]> Fine
08:43:38 -!- llue has joined.
08:43:43 <hppavilion[1]> adu: There, updated
08:44:28 -!- lleu has quit (Read error: Connection reset by peer).
08:45:29 <adu> hppavilion[1]: oOo
08:48:44 <hppavilion[1]> adu: Is it acceptable for math iyo?
08:49:16 <adu> "iyo"?
08:49:41 <izabera> in your obliviousness
08:50:18 <adu> hppavilion[1]: perhaps 2 beers ago, I might have found a falicy in your argument, but now, I cannot
08:50:21 <hppavilion[1]> adu: Trust in the izabera. Izabera will never lead you astray
08:50:30 <hppavilion[1]> xD
08:50:58 <hppavilion[1]> Nobody on this channel ever lies or jokes. It is easy to tell what we're talking about- just read the messages
08:53:35 <adu> hppavilion[1]: I lie sometimes
08:53:48 <hppavilion[1]> adu: That's a quantum paradox.
08:53:49 <adu> for example, I don't drink beer, I drink hard apple cider
08:54:23 <adu> aHa!
08:55:10 <oerjan> hppavilion[1]: no, that would be "i lies sometimes" hth
08:55:36 <hppavilion[1]> oerjan: All probability is quantum in hte end
08:55:40 <hppavilion[1]> *the
08:55:49 <adu> hppavilion[1]: I think you meant "hte"
08:56:08 <hppavilion[1]> adu: Hope Tyrants Exterminate?
08:56:20 <adu> teh* I can never get my misspellings incorrect enough
08:56:23 <hppavilion[1]> Hellish Tyranosaurus Eggs?
08:56:28 <hppavilion[1]> xD
08:56:46 <oerjan> adu: you should learn from hppavilion[1]
08:57:26 <adu> oerjan: :)
08:57:50 <oerjan> `? hppavilion[1]
08:57:53 <HackEgo> hppavilion[1] se describe en las notas al pie. ¿Porqué no los dos? Nadie lo sabe.
08:57:59 <oerjan> `? hppavilion
08:58:00 <HackEgo> hppavilion? ¯\(°​_o)/¯
08:58:15 <adu> 3.14159?
08:58:50 <adu> why would you include ZWSP in there?
08:59:15 * adu is confused
08:59:19 <ais523> adu: probably as a method of breaking up botloops
08:59:36 <ais523> ^ul (> 4)S
08:59:37 <fungot> > 4
08:59:42 <ais523> > 4
08:59:53 <ais523> lambdabot: are you OK?
08:59:59 <adu> I'm glad I have a font that has tiny letters in boxes :D
09:00:00 <ais523> @messages?
09:00:02 <lambdabot> Sorry, no messages today.
09:00:06 <ais523> hmm
09:00:08 <ais523> @eval 4
09:00:17 <hppavilion[1]> `? hppavilion1
09:00:18 <HackEgo> higgledy piggledy / hp pavilion / doesn't like jokes that are / written in text; // uncontroversially, / one in a million is / roughly the chance they won't / be left perplexed
09:00:22 <ais523> I fear lambdabot's forgotten Haskell
09:00:27 <ais523> which would be a disaster if true
09:00:27 <ais523> ( 4
09:00:28 <idris-bot> 4 : Integer
09:00:42 <ais523> ^bf ,[.,]!( 4
09:00:42 <fungot> ( 4
09:00:45 <idris-bot> 4 : Integer
09:00:53 <ais523> you need some sort of botloop protection
09:01:08 <shachaf> hppavilion[1]: that's not a very good higgledy piggledy tdnh
09:01:09 <ais523> otherwise people will almost inevitably come up with a way to get the bots to keep talking to each other indefinitely
09:01:17 <shachaf> imo someone ought to improve it
09:01:21 <ais523> until someone mutes or kicks one in order to break up the loop
09:01:25 <hppavilion[1]> `culprits hppavilion1
09:01:29 <HackEgo> No output.
09:01:34 <ais523> it's kind-of a rite of passage whenever someene brings a (sufficiently powerful) new bot in here
09:01:35 <hppavilion[1]> `culprits wisdom/hppavilion1
09:01:39 <HackEgo> hppavilion1 ZomieCheney shachaf hppavilion1
09:01:54 <hppavilion[1]> shachaf: OH LOOK
09:01:59 <shachaf> at what
09:02:07 <shachaf> `` hg log wisdom/hppavilion1 | grep summary:
09:02:08 <HackEgo> summary: <hppavilion1> revert \ summary: <ZomieCheney> learn hppavilion1 is ZombieCheney \ summary: <shachaf> ` sed -i -e \'s/\\w\\+ \\w\\+ //\' -e \'s/leave them/be left/\' wisdom/hppavilion1 \ summary: <hppavilion1> learn hppavilion1 is higgledy piggledy / hp pavilion / doesn\'t like jokes that are / written in text; // uncontrove
09:02:26 <shachaf> looks like you made the file and i made a small change
09:02:27 -!- adu_ has joined.
09:02:28 <hppavilion[1]> Huh.
09:02:36 <hppavilion[1]> shachaf: I'm not the one who made that though.
09:02:38 <ais523> then one or other of the bot operators will figure out a way to prevent the loop permanently
09:02:48 <ais523> some of the bots do it by inserting invisible characters at the start of strings
09:02:52 <ais523> so that they don't hit another bot's prefix
09:03:01 <shachaf> @help eval
09:03:03 <lambdabot> eval. Do nothing (perversely)
09:03:09 <adu_> oops, about a year ago, I programmed to restart my router presicely now, oh well
09:03:22 -!- jaboja has quit (Ping timeout: 252 seconds).
09:03:23 <hppavilion[1]> @echo "walrus"
09:03:24 <lambdabot> echo; msg:IrcMessage {ircMsgServer = "freenode", ircMsgLBName = "lambdabot", ircMsgPrefix = "hppavilion[1]!~DevourerO@58-0-174-206.gci.net", ircMsgCommand = "PRIVMSG", ircMsgParams = ["#esoteric",":@echo \"walrus\""]} target:#esoteric rest:"\"walrus\""
09:03:27 <hppavilion[1]> +
09:03:34 <hppavilion[1]> Whoops
09:03:39 <ais523> shachaf: ah right
09:03:40 <hppavilion[1]> @say "walrus"
09:03:42 <lambdabot> Maybe you meant: src slap faq
09:03:42 <ais523> so why wasn't > working?
09:03:56 <hppavilion[1]> ) "walrus"
09:03:58 <shachaf> I think it's just having problems.
09:04:00 <shachaf> > 1
09:04:07 <hppavilion[1]> ( "walrus"
09:04:09 <idris-bot> "walrus" : String
09:04:09 <shachaf> The way to make a bot loop with two lambdabot instances is ?where.
09:04:09 <lambdabot> 1
09:04:14 <hppavilion[1]> ?where
09:04:15 <shachaf> ?where ?where
09:04:15 <lambdabot> @where <key>, return element associated with key
09:04:18 <lambdabot> ?where ?where
09:04:20 <hppavilion[1]> ?where "walrus"
09:04:27 <lambdabot> I know nothing about "walrus".
09:04:35 -!- adu has quit (Ping timeout: 248 seconds).
09:04:36 -!- adu_ has changed nick to adu.
09:04:38 <adu> http://unifoundry.com/unifont.html
09:04:38 <adu> ^ GNU unifont, best font for universal coverage, not so good for printers, though
09:04:38 <oerjan> <ais523> @eval 4 <-- wrong command hth
09:04:44 <ais523> oerjan: yes but I tried > first
09:04:47 <hppavilion[1]> shachaf: I was going to do hackego <-> lambdabot
09:04:50 <ais523> what else was I meant to do?
09:05:03 <hppavilion[1]> Ugh, when will lambdabot and HackEgo make up and just fuck.
09:06:07 <adu> hppavilion[1]: I agree
09:06:09 <hppavilion[1]> (Arbitrary attribution time! What are the genders of the various bots on the channel, followed by shame for the reasoning you assigned these genders (namely, sexism).)
09:06:30 <hppavilion[1]> (Notice that I put the period between two parentheses there).
09:06:35 <adu> hppavilion[1]: convergence of political structures is bad, convergence of technology is good
09:06:42 <shachaf> ais523: The comonoid laws say that comult which turns !A into !A⊗!A has to produce the "same" value twice, right?
09:07:05 <ais523> shachaf: in what, linear logic?
09:07:24 <hppavilion[1]> adu: If we let interpreters be anonymous objects like in Mascarpone, what does a "coterpreter" do?
09:07:38 <ais523> I don't think that's any more true in general, than A⊗A only working in monoids if both As are the same
09:07:52 <adu> hppavilion[1]: is that a cheese?
09:08:06 <hppavilion[1]> adu: No, it's a language.
09:08:07 <shachaf> ais523: Well, if you work out the comonoid laws in Haskell, they tell you that counit x = () and comult x = (x,x)
09:08:16 <shachaf> (Haskell or Set or that sort of category.)
09:08:16 <hppavilion[1]> adu: A damn good one at that
09:08:22 <adu> hppavilion[1]: or an intrapreter?
09:08:24 <shachaf> Is it different in the context of linear types?
09:08:33 <ais523> oh, hmm
09:08:43 <hppavilion[1]> adu: We should start designing an elaborate structure for interpretation
09:08:46 <ais523> we may have fallen into the problem that monoids exist at multiple levels of abstraction, again
09:08:54 <hppavilion[1]> Something beyond the normal "you have an interpreter and it does your program" thing
09:08:58 <adu> hppavilion[1]: can we model it after MMIX?
09:09:06 <hppavilion[1]> adu: If you like.
09:09:07 <adu> hppavilion[1]: oOo can I tell you my idea?
09:09:11 <hppavilion[1]> adu: Go on
09:09:43 <adu> so MMIX has 2 opcodes that are very similar, 0x00 (which is for the kernel), and 0xFF (which is for users)
09:09:51 <hppavilion[1]> OK
09:10:14 <adu> I was thinking just get rid of 0xFF for user code, and just use it for really exotic opcodes
09:10:52 <adu> like, replace_the_third_and_forth_elements_of_a_16_element_list()
09:11:11 <hppavilion[1]> adu: That's just unnecessary specificity
09:11:21 <hppavilion[1]> adu: I prefer esolangs that generalize too far to ones that specify to far
09:11:33 <hppavilion[1]> s/to far/too far/
09:11:38 <adu> hppavilion[1]: you know how x86 has escape codes for FMA4 and stuff, that's what 0xFF could be
09:11:39 <hppavilion[1]> For the previous exercise, fungot is clearly a fungus- beyond our typical interpretation of "gender"
09:11:39 <fungot> hppavilion[1]: anyway i gotta fix this, using do-loop construct. do, i can no longer do you have
09:12:18 <oerjan> @run 2 -- ais523
09:12:25 <oerjan> still dead
09:12:28 <lambdabot> 2
09:12:31 <oerjan> oh
09:12:35 <oerjan> just slow
09:12:51 <oerjan> ^ul (> 4)S
09:12:51 <fungot> > 4
09:12:55 <hppavilion[1]> adu: contrainterpreter?
09:12:58 <lambdabot> 4
09:13:02 <shachaf> ais523: Which level of abstraction were you thinking of?
09:13:04 <ais523> there we go
09:13:25 <ais523> shachaf: I'm not sure, I was simply going off the most common monoid (tuple formation) and trying to reverse all the arrows mentally
09:13:39 <shachaf> I'm talking about https://en.wikipedia.org/wiki/Monoid_(category_theory)
09:13:44 <hppavilion[1]> interpreter, coterpreter, intrapreter, cotrapreter, contrapreter is the basic set of types of interpreter for Cheese Theory
09:13:59 <ais523> shachaf: ah, I was going off "monoidal category"
09:14:02 <shachaf> Well, the dual of that.
09:14:12 <oerjan> lambdabot has got pretty good at prepending spaces to its messages, so isn't so useful for botlops any longer
09:14:16 <shachaf> A monoid is defined in a monoidal category. I guess those are two levels of abstraction.
09:14:21 <ais523> whereas the monoid you linked exists /inside/ a monoidal category, and uses the category's monoid in order to define itself
09:14:22 <shachaf> oerjan: except for ?where ?where hth
09:14:23 <ais523> yep
09:14:27 <hppavilion[1]> `? botlop
09:14:28 <HackEgo> botlops are the core of botsentiences. Sapience is scheduled for the next release.
09:14:32 <hppavilion[1]> I seemed to have developed an obligation to open any link talking about category theory, despite knowing I won't understand it
09:14:39 <hppavilion[1]> Wow. Didn't expect that.
09:14:44 <hppavilion[1]> `? botloop
09:14:45 <HackEgo> botloop? ¯\(°​_o)/¯
09:14:47 <oerjan> shachaf: wasn't that fixed?
09:14:52 <shachaf> Was it?
09:14:54 <shachaf> ?where ?where
09:14:54 <adu> hppavilion[1]: ok so 0x00 is TRIP, and 0xFF is TRAP, I think I had them reversed, 0xFF is system calls, 0x00 is user-space handlers
09:14:56 <ais523> hppavilion[1]: you mean you do understand it? or that it isn't about category theory?
09:14:56 <lambdabot> ?where ?where
09:15:11 <oerjan> shachaf: not as in it was changed, but as in you cannot define a new one
09:15:21 <shachaf> You mean ?where+ was changed?
09:15:31 <oerjan> hm or was it only with ?
09:15:32 <adu> hppavilion[1]: the secret to category theory is: "Follow the Arrows"
09:15:33 <hppavilion[1]> ais523: I know hat I won't understand whatever is in the link
09:15:43 <shachaf> Yes, it was only ?
09:15:46 <oerjan> ?where testing
09:15:47 <lambdabot> I know nothing about testing.
09:15:47 <ais523> hppavilion[1]: was replying to the "didn't expect that"
09:15:48 <shachaf> ?where test
09:15:51 <lambdabot> preflex: seen ion
09:15:52 <hppavilion[1]> ais523: Ah
09:15:55 <ais523> although I just realised it might be about wisdom rather than about monoids
09:16:05 <hppavilion[1]> ais523: No, I wasn't expecting there to be anything under `? botlop
09:16:07 <adu> ais523: wisdom is good
09:16:11 <hppavilion[1]> ais523: Because I thought it was a typo
09:16:12 <oerjan> ?where+ test ?where test
09:16:15 <lambdabot> Nice!
09:16:17 <hppavilion[1]> `tomfoolery walrus
09:16:18 <HackEgo> I must confess, I know not of what you are speaking.
09:16:20 <oerjan> ?where test
09:16:21 <lambdabot> ?where test
09:16:25 <oerjan> hm ok then
09:16:27 <shachaf> ?where+ test @where test
09:16:29 <lambdabot> Done.
09:16:30 <shachaf> ?where test
09:16:31 <lambdabot> @where test
09:16:35 <oerjan> silly
09:16:49 <hppavilion[1]> `tomfoolery c++
09:16:50 <HackEgo> C++ is an attempt to improve upon C. The only thing it actually improved was memory management, and it made everything else worse.
09:17:00 <hppavilion[1]> `tomfoolery rust
09:17:00 <HackEgo> I must confess, I know not of what you are speaking.
09:17:03 <oerjan> shachaf: but you can still only make messages that start with ? then?
09:17:08 <adu> hppavilion[1]: hey
09:17:13 <adu> hppavilion[1]: Rust is cool
09:17:13 <hppavilion[1]> adu: Yes?
09:17:17 <shachaf> security
09:17:17 <hppavilion[1]> adu: Yeah
09:17:24 <shachaf> https://github.com/lambdabot/lambdabot/blob/master/lambdabot-haskell-plugins/src/Lambdabot/Plugin/Haskell/Type.hs#L77
09:17:27 <hppavilion[1]> adu: And tomfoolery is for accuracy
09:17:36 <shachaf> oerjan: What do you mean?
09:17:37 <adu> hppavilion[1]: Rust is going to eradicate C++ from the world!
09:17:43 <hppavilion[1]> adu: Yeah, no.
09:17:49 <hppavilion[1]> Far too late for that
09:17:54 <adu> hppavilion[1]: I don't think Rust is ever going to displace C
09:17:57 <ais523> `` ln -s tomfoolery bin/'??'
09:17:59 <HackEgo> No output.
09:18:02 <ais523> `?? c++
09:18:03 <adu> hppavilion[1]: but mark my words, Rust is going to replace C++
09:18:03 <HackEgo> C++ is an attempt to improve upon C. The only thing it actually improved was memory management, and it made everything else worse.
09:18:18 <ais523> there, let's have a nice punctuationy tomfoolery-caller
09:18:28 <shachaf> What? That's not accurate at all.
09:18:43 <adu> hppavilion[1]: if you don't believe it too, then you underestimate the power of the borrow
09:18:45 <hppavilion[1]> ais523: Should we change `tomfoolery for randomness?
09:18:47 <shachaf> That's a flamewar attempt. You could be kicked for that sort of thing in a serious channel.
09:19:18 * adu is a disciple of the borrow
09:19:20 <hppavilion[1]> shachaf: Yeah, but we all hate C++ here LTIC
09:19:22 <ais523> hppavilion[1]: I'm happy with the setup atm (amazingly), although that doesn't necessarily mean that there isn't an even better one
09:19:33 <ais523> hppavilion[1]: we like compile-time-C++
09:19:36 <ais523> it's an esolang in its own right
09:19:43 <hppavilion[1]> ais523: Well yeah
09:19:45 <shachaf> I don't hate C++.
09:19:55 <hppavilion[1]> ais523: But C++ on its own is not good for programming, AFAIBT
09:19:57 <ais523> adu: actually, one thing that impresses me more than Rust getting borrows right, is Rust getting steals right
09:20:12 <hppavilion[1]> ais523: Is that a joke? I can't tell
09:20:15 <ais523> it's a huge pain to do those correctly in C, I end up having to write comments clarifying what works
09:20:21 <ais523> hppavilion[1]: not really
09:20:38 <ais523> if you borrow a reference the original caller has it again when you're done, and you can't do anything "transformative" to the reference
09:20:52 <ais523> just look at it, really; possibly mutate what it references, if it's a mutable borrow
09:21:00 <hppavilion[1]> ais523: So there's seriously a programming thing called a "steal", similar to a "borrow"?
09:21:01 <ais523> but you can't do things like change its address or make it a different data type
09:21:04 <hppavilion[1]> Is there a "lose"?
09:21:04 <adu> Rust gets memory right, ownership, borrows, etc.
09:21:17 <ais523> a steal is when the old owner no longer has access to the reference at all
09:21:27 <ais523> and you can do what you like with the reference you stole
09:21:36 <ais523> a good example is free(), it steals the reference to the pointer you're freeing
09:21:38 <ais523> so that it can get rid of it
09:21:48 <shachaf> Isn't that just "move"?
09:21:49 <ais523> realloc() also steals a reference, and then donates one back
09:22:00 <ais523> shachaf: with unique pointers, yes
09:22:03 -!- AnotherTest has quit (Ping timeout: 240 seconds).
09:22:07 <ais523> not sure about refcounted pointers
09:22:09 <oerjan> shachaf: you cannot get lambdabot to say something starting with another bot's prefix
09:22:22 <shachaf> ?where+ test ^where test
09:22:25 <ais523> which is the situation I normally talk about staling for
09:22:26 <shachaf> ?where test
09:22:31 <ais523> *stealing
09:22:35 <lambdabot> It is stored.
09:22:37 <lambdabot> ^where test
09:22:49 <ais523> oerjan: is this based on punctuation marks, or on a hardcoded list, or something else?
09:22:57 <shachaf> oerjan: I think it just adds a space if a line starts with "@".
09:23:26 <ais523> OTOH, fungot seems to have lambdabot on ignore
09:23:26 <fungot> ais523: there's more than 1 element?" at http://paste.lisp.org/ display/ fnord
09:23:30 <ais523> which makes a ton of sense really
09:23:37 <hppavilion[1]> ais523: Ouch, them too?
09:23:56 <ais523> fungot has all the bots in the channel on ignore
09:23:56 <fungot> ais523: lazy as in fnord? the ones i switch between them
09:24:02 <ais523> that's its own method of preventing botloops
09:24:12 <ais523> ^ignore
09:24:26 <ais523> not sure if I can do this, printing the list might be fizzie-only
09:24:59 <oerjan> <ais523> `` ln -s tomfoolery bin/'??' <-- note that symbolic links have a tendency of getting lost in accidents hth
09:25:20 <ais523> that's OK
09:25:35 <ais523> we can have fun with the resulting mess
09:25:39 * ais523 treats HackEgo somewhat like Agora
09:25:52 <ais523> although I haven't managed to scam HackEgo yet
09:26:01 <oerjan> <shachaf> What? That's not accurate at all. <-- shhh
09:28:11 <shachaf> oerjan: https://github.com/lambdabot/lambdabot/blob/master/lambdabot-core/src/Lambdabot/IRC.hs#L83-L85
09:28:40 -!- adu has quit (Quit: adu).
09:29:07 -!- ais523 has quit.
09:29:25 <izabera> i find brainfuck more readable than haskell
09:29:25 <b_jonas> or a sufficiently dumb one
09:29:36 <oerjan> shachaf: huh
09:29:50 <b_jonas> it'e even worse when the bots loop talking to each other in private message or on a channel nobody watches
09:33:44 -!- benderpc_ has joined.
09:35:17 -!- Treio has quit (Quit: Leaving).
09:35:30 -!- Treio has joined.
09:35:58 <oerjan> in that case, i'm pretty sure i can make a HackEgo - lambdabot botloop
09:36:55 <oerjan> ( putStr "hi"
09:36:56 <idris-bot> io_bind (prim_write "hi") (\__bindx => io_return ()) : IO ()
09:37:08 <shachaf> Doesn't HackEgo put a thing in front of every line of IRC?
09:37:24 * oerjan doesn't know whether idris-bot has any unquoted output mechanism
09:37:35 <oerjan> shachaf: no. not every.
09:38:27 <oerjan> ?where HackEgo
09:38:31 <lambdabot> I know nothing about hackego.
09:38:43 <oerjan> `? lambdabot
09:38:44 <HackEgo> lambdabot is a fully functional bot. just don't ask about @src.
09:39:08 <oerjan> ?where+ HackEgo `echo lambdabot
09:39:09 <lambdabot> Okay.
09:39:15 <oerjan> ?where HackEgo
09:39:17 <lambdabot> `echo lambdabot
09:39:18 <HackEgo> lambdabot
09:39:21 <oerjan> um
09:39:27 <oerjan> ?where+ HackEgo `cat lambdabot
09:39:28 <lambdabot> Done.
09:39:51 <oerjan> `mk lambdabot/lambdabot: ?where HackEgo
09:39:52 <HackEgo> usage: mk[x] file//contents
09:39:54 <oerjan> oops
09:40:00 <oerjan> `mk lambdabot//lambdabot: ?where HackEgo
09:40:02 <HackEgo> lambdabot
09:40:19 <oerjan> ?where HackEgo
09:40:21 <lambdabot> `cat lambdabot
09:40:22 <HackEgo> lambdabot: ?where HackEgo
09:40:23 <lambdabot> `cat lambdabot
09:40:24 <HackEgo> lambdabot: ?where HackEgo
09:40:25 <lambdabot> `cat lambdabot
09:40:26 <HackEgo> lambdabot: ?where HackEgo
09:40:27 <oerjan> `rm lambdabot
09:40:27 <HackEgo> rm: cannot remove `lambdabot ': No such file or directory
09:40:34 <lambdabot> `cat lambdabot
09:40:35 <HackEgo> lambdabot: ?where HackEgo
09:40:36 -!- lambdabot has left.
09:40:40 -!- lambdabot has joined.
09:40:49 <oerjan> `rm lambdabot
09:40:51 <HackEgo> No output.
09:40:58 <oerjan> oops silly me, left a space at the end
09:43:44 -!- AnotherTest has joined.
09:43:57 * oerjan briefly wonders if lambdabot left automatically
09:44:10 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
09:44:37 <oerjan> although i suspect shachaf more
09:50:33 -!- AnotherTest has quit (Ping timeout: 240 seconds).
09:51:31 -!- AnotherTest has joined.
09:56:01 -!- AnotherTest has quit (Ping timeout: 250 seconds).
10:15:56 -!- ais523 has joined.
10:18:59 <shachaf> Of course there are lots of possible comonoids, since the category of linear thingies is monoidal in at least four ways.
10:19:12 -!- jaboja has joined.
10:19:31 <shachaf> Since you make monoids with ⊗, maybe you make comonoids with ⅋, its dual.
10:20:01 <oerjan> ais523: you missed a botloop, see logs
10:20:32 <ais523> now I have to guess at which bots were involved
10:20:38 <oerjan> heh
10:20:41 <ais523> fungot, plus a relatively new bot?
10:20:42 <fungot> ais523: define-macro is not standard; this is all based on prior perception that they would have shortened operator to op if it wasn't
10:20:44 <ais523> two copies of lambdabot?
10:20:52 <oerjan> nope, nope
10:21:00 <ais523> ooh, checking logs, it was lambdabot and hackego
10:21:20 <ais523> I thought hackego would have better bot protection than that
10:21:32 <oerjan> _i_ thought lambdabot did :P
10:21:46 <oerjan> i knew about HackEgo's weakness
10:22:24 <ais523> HackEgo starts lines with a nick, but lambdabot sees that as a prefix
10:22:54 -!- tromp_ has joined.
10:23:34 <oerjan> @tell int-e you might want to improve lambdabot's message prefixing a bit, we can still make it and HackEgo botloop with ?where
10:23:36 <lambdabot> Consider it noted.
10:25:19 <oerjan> ] 1
10:25:25 <oerjan> hm
10:25:28 <oerjan> [ 1
10:25:29 <j-bot> oerjan: 1
10:26:00 <oerjan> there are so many new bots that _might_ have a botloop weakness this way
10:26:17 <oerjan> but i don't know their languages enough to tell
10:26:26 <shachaf> ^prefixes
10:26:26 <fungot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
10:26:32 <ais523> oerjan: thutubot/lambdabot could probably do it
10:27:02 <oerjan> yeah but thutubot is broken around lambdabot anyway
10:27:06 -!- thutubot has joined.
10:27:10 <ais523> > "test"
10:27:15 <lambdabot> "test"
10:27:15 <thutubot> "test"
10:27:22 <ais523> indeed
10:27:30 <oerjan> ?where ?where
10:27:40 <lambdabot> ?where ?where
10:27:40 <thutubot> ?where ?where
10:27:43 <lambdabot> ?where ?where
10:27:44 <thutubot> ?where ?where
10:27:45 -!- tromp_ has quit (Ping timeout: 276 seconds).
10:27:45 <lambdabot> ?where ?where
10:27:46 <thutubot> ?where ?where
10:27:47 <lambdabot> ?where ?where
10:27:48 <thutubot> ?where ?where
10:27:50 <ais523> +quit
10:27:50 -!- thutubot has quit (Client Quit).
10:27:51 <lambdabot> ?where ?where
10:27:53 -!- lambdabot has left.
10:27:57 -!- lambdabot has joined.
10:28:03 <oerjan> hm again
10:28:17 <ais523> that certainly looks a lot like some sort of loop protection
10:28:21 <oerjan> i think possibly lambdabot has another botloop protection
10:28:30 <ais523> ?where ?where
10:28:30 <oerjan> it left the same way with HackEgo
10:28:31 <ais523> ?where ?where
10:28:31 <lambdabot> ?where ?where
10:28:33 <ais523> ?where ?where
10:28:33 <lambdabot> ?where ?where
10:28:34 <ais523> ?where ?where
10:28:35 <lambdabot> ?where ?where
10:28:36 <ais523> ?where ?where
10:28:38 <lambdabot> ?where ?where
10:28:39 <ais523> ?where ?where
10:28:50 <lambdabot> ?where ?where
10:28:52 <lambdabot> ?where ?where
10:28:53 <ais523> ?where ?where
10:28:54 <ais523> ?where ?where
10:28:54 -!- lambdabot has left.
10:29:00 -!- lambdabot has joined.
10:29:02 <ais523> oerjan: how about that for evidence?
10:29:02 <lambdabot> ?where ?where
10:29:13 <oerjan> pretty good
10:29:34 <fizzie> That last ?where ?where after rejoining seems a bit suboptimal for loop protection.
10:29:47 <ais523> it was behind by one at the time
10:30:08 <ais523> we might be able to get a sustained loop past the protection via writing the trigger phrase twice
10:30:31 <ais523> but I assume one copy disappears with each /cycle
10:31:16 <oerjan> i'm a bit worried there might be a second stage where lambdabot _doesn't_ rejoin
10:31:58 <ais523> ah right
10:35:27 <shachaf> @@ @where+ test @run text "a\nb"
10:35:45 <ais523> shachaf: I think I see where this is going
10:35:46 <lambdabot> Done.
10:35:48 <shachaf> @where test
10:35:50 <lambdabot> a b
10:35:55 <oerjan> FAYL
10:36:10 <ais523> which of our bots can produce multiple lines of output from one command?
10:36:21 <shachaf> lambdabot can produce multiple lines in some cases.
10:36:29 <oerjan> ( 1+"hi"
10:36:30 <idris-bot> String is not a numeric type
10:36:37 <shachaf> I'm not sure whether any of them can be user-produced.
10:36:43 <ais523> !bf ++++++++++[>+++++++>+<<-]>.<.>+.
10:36:43 <EgoBot> F
10:36:46 <oerjan> idris-bot: how uncharacterically brief of you
10:37:04 <ais523> !bf ++++++++++[>+++++++>+<<-]>>.<.>+.
10:37:05 <EgoBot> ​\ F.
10:37:16 <ais523> !bf ++++++++++[>+++++++>+<<-]>.>.<+.
10:37:16 <EgoBot> F \ G
10:37:19 <ais523> there we go
10:37:42 <oerjan> i think EgoBot and HackEgo use the same output scheme
10:37:44 <ais523> now I'm wondering if there's any way to get a genuine newline out of that
10:37:56 <ais523> oerjan: I seem to remember EgoBot printing three lines and DCCing me the rest
10:38:05 <ais523> but maybe that's changed since
10:38:10 <oerjan> hm well it does that for !show
10:38:19 <oerjan> ok then
10:38:25 <oerjan> !sh echo a; echo b
10:38:25 <EgoBot> a \ b
10:38:55 <oerjan> ( [1,2]
10:38:56 <idris-bot> Can't disambiguate since no name has a suitable type:
10:38:56 <idris-bot> Effects.Env.::, Data.HVect.::, Prelude.List.::, Data.Vect.Quantifiers.::, Prelude.Stream.::, Data.Vect.::
10:39:23 <ais523> idris-bot: that's more like it :-)
10:39:47 <oerjan> i'm not sure it has any way to produce free format output, though
10:39:56 -!- Nithogg has quit (Quit: WeeChat 0.4.1).
10:40:09 <oerjan> [ 1 2 ; 3 4
10:40:10 <j-bot> oerjan: ┌───┬───┐
10:40:10 <j-bot> oerjan: │1 2│3 4│
10:40:10 <j-bot> oerjan: └───┴───┘
10:40:28 <ais523>
10:40:39 <ais523> that has much the same effect on me as XKCD's type comic did
10:40:49 -!- Nithogg has joined.
10:41:04 <ais523> you don't expect data types to come back at you as ascii art
10:41:07 <ais523> err, cp437 art
10:41:42 <oerjan> [ (1; 2) (3; 4)
10:41:43 <j-bot> oerjan: |syntax error
10:41:43 <j-bot> oerjan: | (1;2)(3;4)
10:41:49 <oerjan> [ (1; 2); (3; 4)
10:41:49 <j-bot> oerjan: ┌─────┬─┬─┐
10:41:49 <j-bot> oerjan: │┌─┬─┐│3│4│
10:41:49 <j-bot> oerjan: ││1│2││ │ │
10:41:49 <j-bot> oerjan: │└─┴─┘│ │ │
10:41:49 <j-bot> oerjan: └─────┴─┴─┘
10:42:03 <oerjan> it doesn't seem to want to stack vertically
10:42:10 <oerjan> { 1,2 ; 3,4
10:42:15 <oerjan> [ 1,2 ; 3,4
10:42:16 <j-bot> oerjan: |domain error
10:42:16 <j-bot> oerjan: | 1 ,2;3,4
10:42:19 <oerjan> hmph
10:42:28 <oerjan> actually knowing J might help
10:42:31 <shachaf> @bf ++++++++++[>+++++++>+<<-]>.>.<+.
10:42:35 <lambdabot> F
10:42:37 <lambdabot> G
10:43:58 <oerjan> alas, that one _does_ prefix spaces religiously
10:44:10 <ais523> clearly we just need a bot that uses space as a prefix :-P
10:44:19 <oerjan> indeed
10:45:06 <shachaf> Just get a three-way loop where each bot activates the other two.
10:45:31 <ais523> exponential botloop
10:45:32 <shachaf> I guess that'd be as difficult as a command that prints two of the same line.
10:45:41 <shachaf> ?where hackego
10:45:41 <lambdabot> `cat lambdabot
10:45:43 <HackEgo> cat: lambdabot: No such file or directory
10:45:49 <oerjan> [ "hi"
10:45:49 <j-bot> oerjan: |syntax error
10:45:50 <j-bot> oerjan: | "hi"
10:45:54 <oerjan> [ 'hi'
10:45:55 <j-bot> oerjan: hi
10:46:02 <oerjan> ...that looks too easy.
10:46:04 <ais523> OK, what about this
10:46:12 <ais523> we all spam a lot of lambdabot commands for the next several years
10:46:22 <shachaf> `mkx bin/snackego//echo ':)'
10:46:24 <HackEgo> bin/snackego
10:46:27 <shachaf> `snackego
10:46:28 <HackEgo> ​:)
10:46:31 <ais523> so next time fizzie updates the markov chains, fungot has a good chance of coming up with lambdabot commands by accident
10:46:31 <fungot> ais523: i tried to make a fnord it increases by 1 at each turn.
10:46:41 <oerjan> `botsnack
10:46:42 <HackEgo> ​>:-D
10:46:45 <shachaf> But fungot won't listen to lambdabot.
10:46:45 <fungot> shachaf: what's wrong with the chicken release at http://www.call-with-current-continuation.org/ chicken.html chicken scheme
10:46:53 <oerjan> shachaf: RE: Dundant
10:46:55 <shachaf> fungot: ask boily hth
10:46:55 <fungot> shachaf: the granularity you fnord of course, but that
10:47:04 <ais523> come to think of it, this is one of the reasons that fungot refuses to answer the same person multiple times in a row, isn't it?
10:47:04 <fungot> ais523: http://citeseer.ist.psu.edu/ kelsey93tractable.html, page 5 bottom/ 6 top of a symbolics lisp machine implemented on top of
10:47:14 <ais523> because it could trigger a fungot/myndzi botloop
10:47:15 <fungot> ais523: why doesn't it add phrases from the other framework.)
10:47:24 <oerjan> idris-bot: 2
10:47:29 <oerjan> idris-bot: ( 2
10:47:29 <idris-bot> 2 : Integer
10:47:43 <oerjan> j-bot: 'hi'
10:47:44 <j-bot> oerjan: hi
10:47:46 <shachaf> ?where+ test [ '?where test'
10:47:55 <lambdabot> Nice!
10:47:57 <shachaf> ?where test
10:47:58 <lambdabot> [ '?where test'
10:48:12 <shachaf> [ '?where test'
10:48:13 <j-bot> shachaf: ?where test
10:48:20 <ais523> oerjan: I believe j-bot + lamdabot could create a botloop like this, but there's no obvious way to get it started
10:48:23 <oerjan> well that didn't work as expected
10:48:36 <oerjan> ais523: i think shachaf just made one that should have worked
10:48:39 <ais523> as they each ping the person who made the request
10:48:48 <oerjan> no, lambdabot doesn't
10:48:53 <ais523> ah right
10:48:58 <shachaf> ?where+ test j-bot: '?where test'
10:49:02 <ais523> j-bot just ignored lambdabot?
10:49:04 <lambdabot> Good to know.
10:49:05 <shachaf> ?where test
10:49:05 <lambdabot> j-bot: '?where test'
10:49:11 <ais523> I suspect it has an ignore list
10:49:20 <oerjan> looks likely
10:49:48 <shachaf> ^prefixes
10:49:49 <fungot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
10:50:06 <shachaf> fungot doesn't know about j-bot?
10:50:07 <fungot> shachaf: depends on the context, and lambdas. also, it has no provisions for running out of memory...
10:51:56 <ais523> shachaf: ^prefixes is world-editable, I believe
10:52:01 <shachaf> ^ul `r```````````.j.-.b.o.t.:. .'.h.i.'i
10:52:01 <fungot> ...bad insn!
10:52:22 <ais523> ^define ul prefixes ^(Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot ! , j-bot [)S
10:52:22 <ais523> ^define prefixes ul ^(Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot ! , j-bot [)S
10:52:22 <shachaf> how does unlambda work twh
10:52:37 <shachaf> Oh, I was thinking its ignore list is based on that.
10:52:40 <shachaf> I guess not.
10:52:47 <ais523> shachaf: probably not with the command used for underload
10:52:53 <oerjan> ^prefixes
10:52:53 <fungot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
10:53:02 <shachaf> Doesn't fungot do unlambda?
10:53:02 <fungot> shachaf: i'll do some work for who was a hardcore vegan for purely ideological reasons, and making my way through fnord right now
10:53:07 <shachaf> Am I thinking of the wrong bot?
10:53:08 <ais523> ^help
10:53:08 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
10:53:10 <oerjan> shachaf: no, it does underload
10:53:18 <ais523> egobot does unlambda
10:53:27 <ais523> !unlambda `r```````````.j.-.b.o.t.:. .'.h.i.'i
10:53:27 <EgoBot> j-bot: 'hi'
10:53:28 <j-bot> EgoBot: hi
10:53:40 <ais523> `! unlambda `r```````````.j.-.b.o.t.:. .'.h.i.'i
10:53:41 <HackEgo> j-bot: 'hi'
10:53:42 <j-bot> HackEgo: hi
10:53:54 <ais523> and HackEgo because it has all (or almost all?) EgoBot's interps
10:54:03 <shachaf> And lambdabot.
10:54:23 <ais523> @unlambda `r```````````.j.-.b.o.t.:. .'.h.i.'i
10:54:24 <lambdabot> j-bot: 'hi'
10:54:56 <oerjan> [1
10:55:02 <oerjan> ^prefixes
10:55:02 <fungot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
10:55:29 <ais523> ^def prefixes ul ^(Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot ! , j-bot [)S
10:55:29 <fungot> Defined.
10:55:33 <ais523> ^prefixes
10:55:33 <fungot> ...out of stack!
10:55:46 <ais523> ^def prefixes ul (Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot ! , j-bot [)S
10:55:47 <fungot> Defined.
10:55:50 <ais523> ^prefixes
10:55:50 <fungot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot ! , j-bot [
10:55:52 <ais523> there we go
10:56:18 <shachaf> What is jconn?
10:56:18 <oerjan> ais523: i believe the spacing is incorrect hth
10:56:28 <oerjan> jconn was the old j-bot
10:56:34 <ais523> I was copying the spacing towards the end
10:56:42 <ais523> also we can't delete the ) for reasons you are fully aware of
10:57:03 <ais523> also we've had 3 J bots at various times
10:57:07 <shachaf> The obvious thing to do is to make a bot with prefix ,
10:57:09 <oerjan> anyway, i think blsqbot died at one point
10:57:10 <ais523> jconn, j-bot, and evalj
10:57:13 <shachaf> Then the spacing will be justified.
10:58:08 <oerjan> the thing is, j-bot needs the space, while afair blsqbot didn't.
10:58:32 <ais523> oh, I see
10:58:40 <ais523> I didn't expect the spaces to be quoted
10:58:50 * shachaf is tempted to `le/rn lambdabot/lambdabot: ?where HackEgo
10:58:50 <ais523> err, copied literally with no visible quoting
10:59:11 <ais523> shachaf: where would the `? come from? lambdabot's data stores?
10:59:13 <oerjan> ^def prefixes ul (Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .)S
10:59:13 <fungot> Defined.
10:59:20 <oerjan> ^prefixes
10:59:20 <fungot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .
10:59:35 -!- benderpc_ has changed nick to bender|.
10:59:35 <shachaf> Well, ?where HackEgo would need to be fixed too, I guess.
10:59:46 <oerjan> ais523: it seemed a bit verbose to include actual quotes
10:59:55 <oerjan> `prefixes
10:59:56 <HackEgo> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
10:59:56 <ais523> oerjan: also ambiguous
11:00:03 <shachaf> just drop the commas hth
11:00:20 <ais523> clearly we need a bot which uses ctrl-a as a prefix
11:00:21 <oerjan> `` sed -i 's/blsq.*/j-bot [ ./' bin/prefixes
11:00:24 <HackEgo> No output.
11:00:28 <oerjan> `prefixes
11:00:28 <HackEgo> ​/hackenv/bin/prefixes: 3: /hackenv/bin/prefixes: Syntax error: Unterminated quoted string
11:00:32 <oerjan> argh
11:00:38 <oerjan> `cat bin/prefixes
11:00:38 -!- jix_ has quit (Remote host closed the connection).
11:00:39 <HackEgo> ​#!/bin/sh \ echo 'Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .
11:00:44 -!- jix has joined.
11:01:10 <oerjan> `` sed -i "2s/$/'/" bin/prefixes
11:01:11 <HackEgo> No output.
11:01:14 <oerjan> `prefixes
11:01:15 <HackEgo> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .
11:01:26 <oerjan> !show prefixes
11:01:27 <EgoBot> sh echo 'Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !'
11:01:37 <oerjan> !delinterp prefixes
11:01:37 <EgoBot> ​Interpreter prefixes deleted.
11:02:02 <oerjan> !addinterp prefixes sh echo 'Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .'
11:02:03 <fungot> oerjan: gp works quite well. so the first element
11:02:03 <EgoBot> ​Interpreter prefixes installed.
11:02:10 <oerjan> !prefixes
11:02:11 <EgoBot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .
11:02:27 <oerjan> fizzie: please ^save twh
11:02:31 -!- jix has quit (Read error: No route to host).
11:03:10 <shachaf> `` >bin/prefixes (echo '#!/bin/sh'; echo 'tail -n+2 "$0"; exit'; echo 'Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .')
11:03:11 <fungot> shachaf: i typed it into the calculator with that horrible thing in exercise 1.11 has anything to do with an esoteric language
11:03:11 <HackEgo> ​/hackenv/bin/`: eval: line 4: syntax error near unexpected token `(' \ /hackenv/bin/`: eval: line 4: `>bin/prefixes (echo '#!/bin/sh'; echo 'tail -n+2 "$0"; exit'; echo 'Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .')'
11:03:46 <shachaf> `` >bin/prefixes echo $'#!/bin/sh\ntail -n+2 "$0"; exit\nBot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .'
11:03:47 <fungot> shachaf: i found an analogy that lament might like... hanging out talking to you...
11:03:48 <HackEgo> No output.
11:03:52 <shachaf> `prefixes
11:03:54 <HackEgo> tail -n+2 "$0"; exit \ Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .
11:04:16 <shachaf> `` sed -i 2s/2/3/ bin/prefixes
11:04:18 <HackEgo> No output.
11:04:19 <shachaf> `prefixes
11:04:20 <HackEgo> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .
11:04:24 <ais523> why not just #!/bin/tail ?
11:04:42 <shachaf> How would you make that print just the last line?
11:04:47 <shachaf> Hmm, I guess you're allowed one argument.
11:04:57 -!- jix has joined.
11:05:01 <ais523> shachaf: -n1, for example
11:05:15 <ais523> actually sometimes you get more, it depends on the OS
11:05:27 <shachaf> I'm used to #! lines not allowing any arguments, but of course they allow one, just not space separation.
11:05:35 <shachaf> HackEgo is running Linux.
11:06:02 <shachaf> `` >bin/prefixes echo $'#!/bin/tail -n1\nBot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .'
11:06:02 <fungot> shachaf: ( which is rather perverse."
11:06:04 <HackEgo> No output.
11:06:06 <shachaf> `prefixes
11:06:07 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: /hackenv/bin/prefixes: /bin/tail: bad interpreter: No such file or directory \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/prefixes: Success
11:06:13 <shachaf> `` type tail
11:06:13 <HackEgo> tail is /usr/bin/tail
11:06:18 <shachaf> `` >bin/prefixes echo $'#!/usr/bin/tail -n1\nBot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .'
11:06:18 <fungot> shachaf: if it had been scratched and hit a couple of days in a year. and i'd like to
11:06:20 <HackEgo> No output.
11:06:21 <shachaf> `prefixes
11:06:21 <HackEgo> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ .
11:06:27 <shachaf> ais523: thx tdh
11:07:14 <shachaf> `` cat bin/olist | rot13
11:07:15 <HackEgo> rpub -a "$(onfranzr "$0")${@:+ }$@: "; gnvy -a+2 "$0" | knetf; rkvg \ funpuns \ brewna \ Ftrb \ SverSyl \ obvyl \ abeggv \ o_wbanf
11:07:25 <shachaf> `cat bin/emptylist
11:07:26 <HackEgo> echo -n "$(basename "$0")${@:+ }$@: "; tail -n+2 "$0" | xargs; exit
11:07:44 <ais523> olist is actually echoing the command used to prompt it in the first place
11:08:01 <shachaf> I know, I wrote olist.
11:08:10 <shachaf> I'm not sure it's really necessary.
11:08:15 <ais523> (also, does "funpuns" ping you? and "brewna" looks something like a real nick too, even though my limited rot13-reading ability implies it's probably oerjan)
11:08:24 <shachaf> It does.
11:08:37 <shachaf> But I'm in here anyway. I was trying not to ping others.
11:08:47 <ais523> I know
11:08:54 <ais523> just something to know in the future if I use the same trick
11:09:23 <shachaf> `cat bin/culprits
11:09:26 <HackEgo> hg log --removed "$1" | grep summary: | awk '{print substr($2,2,length($2)-2)}' | sed "s/.$/\x0F&/" | xargs
11:09:32 * oerjan jnirf
11:09:36 <shachaf> Wasn't there a standalone command for that sed thing?
11:09:57 <oerjan> `cat bin/unping
11:10:07 <HackEgo> cat: bin/unping: No such file or directory
11:10:11 <oerjan> something like that
11:10:17 <shachaf> `` rgrep x0F bin
11:10:18 <HackEgo> bin/culprits:hg log --removed "$1" | grep summary: | awk '{print substr($2,2,length($2)-2)}' | sed "s/.$/\x0F&/" | xargs
11:10:24 <oerjan> `` ls bin/*ping*
11:10:26 <HackEgo> bin/noping \ bin/ping
11:10:31 <oerjan> `cat bin/noping
11:10:33 <HackEgo> print_args_or_input "$@" | sed 's/\(..\)/\1​/g'
11:10:35 <ais523> `cat bin/ping
11:10:38 <HackEgo> ​#!/bin/bash \ echo pong
11:10:42 <shachaf> `noping shachaf
11:10:44 <HackEgo> sh​ac​ha​f
11:11:02 <shachaf> `` cat bin/noping | xxd
11:11:04 <HackEgo> 0000000: 7072 696e 745f 6172 6773 5f6f 725f 696e print_args_or_in \ 0000010: 7075 7420 2224 4022 207c 2073 6564 2027 put "$@" | sed ' \ 0000020: 732f 5c28 2e2e 5c29 2f5c 31e2 808b 2f67 s/\(..\)/\1.../g \ 0000030: 270a '.
11:11:22 <ais523> `noping ais523
11:11:24 <HackEgo> ai​s5​23​
11:11:33 <ais523> `` noping ais523 | od -t x1z
11:11:35 <HackEgo> 0000000 61 69 e2 80 8b 73 35 e2 80 8b 32 33 e2 80 8b 0a >ai...s5...23....< \ 0000020
11:11:47 <oerjan> <ais523> olist is actually echoing the command used to prompt it in the first place <-- there's a template list somewhere you can just copy
11:12:37 <ais523> is `list working, btw?
11:12:39 <ais523> `list
11:12:42 <HackEgo> grep: /var/irclogs/_esoteric/201[3-9]-??-??.txt: No such file or directory
11:12:46 <ais523> apparently not
11:12:47 <shachaf> noping seems to have too much overhead.
11:12:52 <ais523> perhaps we should go back to the original implementation
11:12:54 <shachaf> `list was a scow command anyway.
11:13:00 <ais523> it was a great command
11:13:01 <shachaf> I'm glad it's gone.
11:13:24 <ais523> well, I mean, it was clearly ridiculous
11:13:27 <shachaf> People ought to be able to unsubscribe from things like that.
11:13:31 <ais523> and probably worked better if you didn't know how it worked
11:14:19 <shachaf> ais523: What was the original implementation?
11:14:29 <ais523> it mutated a text file when run, rather than grepping the logs
11:14:36 <shachaf> But how would it get your nick?
11:14:45 <ais523> it checked the logs for that, and thus was vulnerable to race conditions
11:14:49 <ais523> if you `listed just before someone else spoke
11:14:51 <shachaf> I thought that `list couldn't work without logs, but now I realize that it can.
11:14:58 <shachaf> It would mutate itself and then print its own culprits.
11:15:03 <ais523> ooh, culprits!
11:15:07 <ais523> yes, I think it can work
11:15:17 <ais523> `culprits bin/list
11:15:22 <oerjan> <shachaf> noping seems to have too much overhead. <-- i tried to put them just dense enough; even now ^v could theoretically get pinged but i figured i'd have to put the foot down somewhere
11:15:23 <HackEgo> tswett tswett oerjan elliott oerjan Phantom__Hoover elliott Sgeo Phantom_Hoover tswett elliott elliott tswett tswett elliott tswett boily boily metasepia tswett Ngevd oerjan elliott oerjan elliott Sgeo oklopol nortti elliott shachaf elliott Phantom_Hoover monqy Phantom_Hoover Phantom_Hoover shachaf Phantom_Hoove
11:15:23 <shachaf> Or mutate some text file.
11:15:28 <shachaf> It doesn't have to be itself.
11:15:33 <ais523> that is a lot of edits
11:15:52 <shachaf> oerjan: Just put one filler character before the last character.
11:15:56 <shachaf> Like culprits does.
11:16:45 <ais523> hmm, a talk here today that doesn't interest me that much but might interest #esoteric
11:16:47 <shachaf> `touch bin/list
11:16:48 <HackEgo> No output.
11:16:50 <shachaf> `culprits bin/list
11:16:53 <HackEgo> tswett tswett oerjan elliott oerjan Phantom__Hoover elliott Sgeo Phantom_Hoover tswett elliott elliott tswett tswett elliott tswett boily boily metasepia tswett Ngevd oerjan elliott oerjan elliott Sgeo oklopol nortti elliott shachaf elliott Phantom_Hoover monqy Phantom_Hoover Phantom_Hoover shachaf Phantom_Hoove
11:17:02 <shachaf> Right, of course that wouldn't affect it.
11:17:26 <ais523> it's talking about how the law of excluded middle implies the existence of a polymorphic function f : (forall a.a -> a) for which f true = false and f false = true
11:17:41 <oerjan> <shachaf> It would mutate itself and then print its own culprits. <-- NOOOOOOOOOOOOOO
11:17:48 -!- jaboja has quit (Ping timeout: 276 seconds).
11:18:05 <ais523> and that the opposite is also true (if such a function exists, then the law of excluded middle holds)
11:18:12 <ais523> oerjan: why does that annoy you that much?
11:18:48 <oerjan> ais523: it's just that i carefully managed to stay off the original `list :P
11:18:57 <oerjan> afair anyway
11:19:14 <ais523> I managed to stay off the original original `list
11:19:21 <ais523> but got retroactively placed on it when it was changed to be log-based
11:19:27 <oerjan> heh
11:19:28 <ais523> then I didn't care so much about staying off it
11:19:39 <shachaf> `cat bin/list
11:19:40 <HackEgo> ​#!/bin/sh \ grep '^..:..:..: <[^>]*> `list' /var/irclogs/_esoteric/201[3-9]-??-??.txt | sed 's/^.*<//;s/>.*//;s/_*$//' | sort -u | tr '\n' ' '
11:21:00 <b_jonas> um, but can't the parenthesis be quoted somehow? I mean, isn't the definition in unefunge, which can print anything you want?
11:21:59 <oerjan> <shachaf> oerjan: Just put one filler character before the last character. <-- the problem with that is people sometimes have characters they ignore at the end rather than the beginning, like _
11:22:15 <shachaf> oerjan: Put one at the beginning and one at the end.
11:22:18 <oerjan> or even at both ends like \oren\
11:22:34 <shachaf> `mkx bin/list//echo $(($(cat conscripts)+1)) > conscripts; culprits conscripts
11:22:37 <HackEgo> bin/list
11:22:48 <b_jonas> oh dear, is tail another of those moving executables like env which are sometimes in /bin and sometimes in /usr/bin and you can't tell which so you can't write portable hashbangs?
11:22:55 <shachaf> who wants to enlist
11:23:08 <ais523> shachaf: I'm not sure that'll work if conscripts isn't an existing file
11:23:18 <ais523> although I guess it does, you juts get a stderr message on the first conscript
11:23:22 <shachaf> It'll print an error the first time.
11:23:47 <shachaf> The advantage of this `list is that it nopings.
11:23:50 <shachaf> So I don't mind it.
11:24:16 <oerjan> b_jonas: no, it's in underload, which cannot print unbalanced ()
11:24:32 <shachaf> `mkx bin/list//date > conscripts; culprits conscripts
11:24:34 <HackEgo> bin/list
11:25:23 <shachaf> Hmm, I guess it should uniq the culprits.
11:25:51 <ais523> there are a lot of esolangs starting with l
11:26:11 <ais523> I didn't realise culprits nopinged
11:26:27 <ais523> `culprits wisdom/mothballs
11:26:29 <HackEgo> No output.
11:26:32 <ais523> hmm
11:26:34 <ais523> `culprits wisdom/mothball
11:26:37 <HackEgo> No output.
11:26:38 <shachaf> `culprits wisdom/moth
11:26:41 <HackEgo> ais523 int-e
11:26:47 <ais523> I can't even remember my own wisdom entries now
11:26:48 <oerjan> <shachaf> who wants to enlist <-- i somewhat dislike adding more permanent single files to HackEgo's top directory hth
11:26:52 <ais523> but yes, that's nopinged
11:26:58 <shachaf> oerjan: good thing no one enlisted yet
11:27:03 <shachaf> oerjan: put it somewhere else
11:27:05 <ais523> oerjan: you could delete them right after and it'd still work
11:27:38 <b_jonas> oh... underload
11:27:38 <shachaf> `` ls --color
11:27:39 <b_jonas> I see
11:27:39 <HackEgo> ​:-( \ (* \ 99 \ bdsmreclist \ [0m[01;34mbin[0m \ [01;32mcanary[0m \ cat \ close \ *) \ Complaints.mp3 \ [01;32m:-D[0m \ dog \ [01;32mecho-p[0m \ [01;34memoticons[0m \ equations \ [01;34metc[0m \ [01;34mevil[0m \ [01;34mfactor[0m \ [01;32mfoo[0m \ [01;34mgood[0m \ [01;32mgrph[0m \ [01;34mhw[0m \ [01;34mibin[0m \ ifc
11:27:40 <shachaf> whoa whoa whoa
11:27:55 <ais523> clearly we need a vt100-to-irc translator
11:27:57 <shachaf> I didn't realize until now that HackEgo did ANSI colors.
11:28:04 <ais523> ls does ANSI colors
11:28:09 <ais523> hackego doesn't
11:28:11 <ais523> thus the raw vt100 getting spouted to the channel
11:28:12 <shachaf> Right, and HackEgo translates them to IRC.
11:28:18 <shachaf> Er, maybe it doesn't.
11:28:20 <ais523> no it doesn't
11:28:27 <ais523> I see a literal esc[01;34m
11:28:28 <shachaf> irssi handles ANSI colors in IRC?
11:28:35 <ais523> irssi may just be echoing directly
11:28:43 <ais523> or it might be parsing it
11:28:58 <ais523> `printf \x1b[J
11:28:58 <HackEgo> ​[J
11:28:58 <shachaf> I'm surprised. OK.
11:29:08 <myname> bdsmreclist?
11:29:10 <ais523> if that didn't clear your screen, it's parsing color codes specifically
11:29:24 <shachaf> It didn't clear my screen.
11:29:30 <shachaf> Or maybe it did and irssi redrew, who knows.
11:29:42 <oerjan> <oerjan> or even at both ends like \oren\ <-- in fact i would be affected myself as oerjan_
11:29:42 <shachaf> But I doubt it just prints things like that into the terminal raw.
11:30:19 <shachaf> `` ls .hg/store/data/
11:30:20 <HackEgo> ​~02welcome.i \ ~0301,08yellow~03.i \ ~0303(~2a.i \ ~0305(~2a.i \ = 0 .i \ 0.i \ 113500.i \ 1.i \ 20131230-coin.jpg.d \ 20131230-coin.jpg.i \ ~2a)~03.i \ 2.i \ ~3a-_d.i \ ~3a-(.i \ 503.i \ ~7f~2a)~03.i \ 8ballreplies.i \ 98076.i \ 99.i \ a \ aaaa.i \ abc.i \ accesslog.i \ a.c.i \ a.i \ alise.i \ alphabet.i \ a.o.i \ a.out.i \ app.sh.i \ argv.py.i
11:30:26 <b_jonas> ais523: I think there's a specific workaround for ls, because ls doesn't know about terminfo or control codes, it just takes them from an env-var that's normally generated by another program that understands terminfo, or something
11:30:38 <b_jonas> however, I don't like colored ls, so I'm not sure about the details
11:31:01 <b_jonas> (the separate command is dircolors )
11:31:09 <b_jonas> hmm...
11:31:21 <ais523> `printf \x1b[5mtest
11:31:21 <HackEgo> ​[5mtest
11:31:27 <ais523> shachaf: what does that look like?
11:31:35 <b_jonas> maybe it's even possible to write a terminfo file that lets programs output IRC color codes?
11:31:43 <shachaf> Looks like the word test.
11:31:44 <b_jonas> I'm not sure how much the terminfo library would like that
11:32:02 <b_jonas> ais523: um, is that supposed to be blinking? try bold instead
11:32:03 <b_jonas> or red
11:32:06 <ais523> shachaf: OK, it's definitely parsing rather than just relaying m commands
11:32:11 <ais523> (in which case it'd be blinking)
11:32:22 <shachaf> I don't think my terminal can blink.
11:32:29 <shachaf> But anyway I was expecting it to parse.
11:32:48 <b_jonas> `tty
11:32:48 <HackEgo> ​/dev/tty1
11:33:02 <ais523> `printf \x1b[1mbold \x1b[0;2mitalic \x1b[0;4munderscore
11:33:03 <HackEgo> ​[1mbold [0;2mitalic [0;4munderscore
11:33:07 <b_jonas> `perl -wewarn "isatty=", (-T), ";"
11:33:10 <HackEgo> Use of uninitialized value $_ in -T at -e line 1. \ Use of uninitialized value in warn at -e line 1. \ isatty=; at -e line 1.
11:33:29 <ais523> I think italic's 2, maybe it's 3
11:33:31 <b_jonas> `perl -wefor$k(keys%ENV){$ENV{$k}=~/jonas/i and print "$k=$ENV{$k} "}
11:33:32 <HackEgo> No output.
11:33:37 <ais523> `printf \x1b[1mbold \x1b[0;2;3mitalic \x1b[0;4munderscore
11:33:38 <HackEgo> ​[1mbold [0;2;3mitalic [0;4munderscore
11:33:53 <b_jonas> hmm
11:34:19 <b_jonas> it would be nice if HackEgo passed the irc line that invoked it in some env-var
11:34:30 <b_jonas> so we could find out both the command and the invoker and the channel easily
11:34:33 <oerjan> `cat bin/list
11:34:33 -!- boily has joined.
11:34:33 <HackEgo> date > conscripts; culprits conscripts
11:35:01 <oerjan> `` sed -i 's!conscripts!share/conscripts!g' bin/list
11:35:03 <HackEgo> No output.
11:35:07 <ais523> `` ls share
11:35:08 <HackEgo> 8ballreplies \ autowelcome_status \ awesome \ cat \ construct_grams.pl \ delvs-master \ dict-words \ esolangs.txt \ esolangs.txt.sorted \ hello \ hello2.c \ hello.c \ lua \ maze \ maze.c \ radio.php?out=inline&shuffle=1&limit=1&filter=*MitamineLab* \ UnicodeData.txt \ units.dat \ WordData
11:35:19 <ais523> ah, there we go
11:35:41 <ais523> hmm, it'd be kind-of funny if we waited until everyone had forgotten about this and then someone went "I wonder what happened to `list?"
11:36:38 <oerjan> `? reflection
11:36:41 <HackEgo> cat.reflection.
11:36:52 <oerjan> `` ls -l wisdom/reflection
11:36:54 <HackEgo> lrwxrwxrwx 1 5000 0 18 Dec 9 04:13 wisdom/reflection -> /proc/self/cmdline
11:37:25 <shachaf> oerjan: culprits still needs to be sorted and uniqed or something
11:37:34 <shachaf> but the trouble is that it prints all the culprits on one line rather than one per line
11:38:05 <ais523> shachaf: can xargs do the reverse transformation to its usual one?
11:38:26 <shachaf> I don't think so.
11:38:31 <ais523> `` echo 'a b c d e f g' | xargs -n 1
11:38:33 <HackEgo> a \ b \ c \ d \ e \ f \ g
11:38:35 <ais523> it can
11:38:46 <shachaf> Ah, hmm.
11:39:04 <boily> hello y'all. y'ello.
11:39:12 <ais523> `` sed -i 's!$! | xargs -n 1 | sort -u | xargs' bin/list
11:39:12 <HackEgo> sed: -e expression #1, char 35: unterminated `s' command
11:39:14 <shachaf> I wanted to do that once and I ended up using a loop in bash for some reason.
11:39:16 <ais523> `` sed -i 's!$! | xargs -n 1 | sort -u | xargs!' bin/list
11:39:17 <boily> what are you guys up to? are you destroying the culprits command?
11:39:18 <HackEgo> No output.
11:39:29 <shachaf> boily: why don't you `list and find out hth
11:39:31 <oerjan> `` echo '! ! !' | xargs -n 1
11:39:32 <HackEgo> ​! \ ! \ !
11:39:34 <ais523> boily: no, we're reimplementing `list
11:39:48 <ais523> because it was broken
11:39:49 <ais523> `cat bin/list
11:39:50 <HackEgo> date > share/conscripts; culprits share/conscripts | xargs -n 1 | sort -u | xargs
11:40:06 <b_jonas> In buubot, I made the nick of the invocant and the channel (and some other similar stuff) accessible to buubot macros through the buubot command "arg"
11:40:43 <shachaf> Hmm, what if bin/list printed the culprits of conscripts into conscripts?
11:41:06 <shachaf> I guess you would need an extra run to be properly subscribed?
11:41:15 <b_jonas> wg. try /msg perlbot compose (echo chan=(arg &c) nick=(arg &n))
11:41:28 <b_jonas> s/wg./eg./
11:41:28 <ais523> I don't really see the point, it's not like we need to backup the VCS's metadata inside the directories being versioned
11:41:41 <shachaf> I just want a canonical thing to put in the file.
11:41:50 <shachaf> date is a hack
11:42:06 <b_jonas> shachaf: pid?
11:42:11 <b_jonas> no wait
11:42:18 <b_jonas> you want one that's always different?
11:42:28 <shachaf> Yes.
11:42:54 <b_jonas> ``` openssl rand -base64 32
11:42:56 <HackEgo> WARNING: can't open config file: /usr/lib/ssl/openssl.cnf \ bxd0jDsvTIaU9pHRBu2ejhGxFwt9j7ERxeZVS//Qh6A=
11:42:59 <b_jonas> uh
11:43:05 <b_jonas> ``` openssl rand -base64 32
11:43:05 <b_jonas> ``` openssl rand -base64 32
11:43:06 <HackEgo> WARNING: can't open config file: /usr/lib/ssl/openssl.cnf \ Gz4O3uQRsEW0DQGn8BMip9gAtJjvQilIqNRmZn60qrA=
11:43:06 <HackEgo> WARNING: can't open config file: /usr/lib/ssl/openssl.cnf \ mNEsg6wleDYweOS1GGI0Ym+7Go9GWFtME1Ok6d3eA5s=
11:43:27 <b_jonas> ``` od -N32 /dev/random
11:43:30 <ais523> isn't that consuming entropy?
11:43:31 <FireFly> Huh, list got replaced with a new list
11:43:34 <ais523> also what does ``` do?
11:43:41 <ais523> FireFly: old one was broken
11:43:44 <FireFly> Yeah
11:43:45 <b_jonas> ais523: ``` is the same as `` but clears the locale
11:43:55 <FireFly> Clever to implement it as culprits
11:43:56 <ais523> so it's C rather than newzealandish?
11:43:57 <HackEgo> No output.
11:44:04 <b_jonas> ais523: something like that
11:44:06 <b_jonas> `` locale
11:44:07 <HackEgo> LANG=en_NZ.UTF-8 \ LANGUAGE= \ LC_CTYPE="en_NZ.UTF-8" \ LC_NUMERIC="en_NZ.UTF-8" \ LC_TIME="en_NZ.UTF-8" \ LC_COLLATE="en_NZ.UTF-8" \ LC_MONETARY="en_NZ.UTF-8" \ LC_MESSAGES="en_NZ.UTF-8" \ LC_PAPER="en_NZ.UTF-8" \ LC_NAME="en_NZ.UTF-8" \ LC_ADDRESS="en_NZ.UTF-8" \ LC_TELEPHONE="en_NZ.UTF-8" \ LC_MEASUREMENT="en_NZ.UTF-8" \ LC_IDENTIFICATION="en_NZ
11:44:08 <b_jonas> ``` locale
11:44:09 <HackEgo> LANG=C \ LANGUAGE= \ LC_CTYPE="C" \ LC_NUMERIC="C" \ LC_TIME="C" \ LC_COLLATE="C" \ LC_MONETARY="C" \ LC_MESSAGES="C" \ LC_PAPER="C" \ LC_NAME="C" \ LC_ADDRESS="C" \ LC_TELEPHONE="C" \ LC_MEASUREMENT="C" \ LC_IDENTIFICATION="C" \ LC_ALL=
11:44:12 <ais523> FireFly: it has the problem that nobody dares test whether it works
11:44:26 <FireFly> That is a problem, yes
11:44:37 <shachaf> That's what boily is for.
11:44:48 <shachaf> pushing buttons without finding out what they do first
11:44:55 <b_jonas> um
11:45:00 <boily> `list
11:45:00 <shachaf> `? list
11:45:05 <HackEgo> No output.
11:45:07 <HackEgo> list is a fun program that HackEgo has! Run it with `list and join the fun!
11:45:18 <boily> hmm... if I push it harder...
11:45:19 <boily> `list
11:45:24 <HackEgo> boily
11:45:28 <ais523> congratulations!
11:45:28 <boily> heh :D
11:46:05 <myname> wat
11:46:20 <boily> mynamello. SCIENCE!
11:46:20 -!- chicken_jonas has joined.
11:46:32 <chicken_jonas> `list
11:46:33 <myname> i see
11:46:33 <boily> chelloken_jonas.
11:46:38 <HackEgo> boily
11:46:43 <boily> uhm.
11:46:43 <ais523> @@ @where+ test @run text "`list"
11:46:46 -!- chicken_jonas has left.
11:46:50 <lambdabot> Nice!
11:46:54 <b_jonas> we have +n mode now?
11:46:56 <oerjan> it's a bit scow that it only changes for the next person
11:47:03 <ais523> boily: it's delayed by one cycle
11:47:12 <boily> oh.
11:47:14 <ais523> also I think I might be missing lambdabot perms
11:47:18 <myname> `list
11:47:22 <boily> . o O ( what's a +n? )
11:47:23 <shachaf> @run is just really slow.
11:47:23 <HackEgo> boily chicken_jonas
11:47:28 <myname> i see
11:47:29 <b_jonas> oh, you need one more cycle?
11:47:32 -!- chicken_jonas has joined.
11:47:34 <chicken_jonas> `list
11:47:34 <ais523> to get it to join the `listing
11:47:39 <chicken_jonas> `list again
11:47:39 <HackEgo> boily chicken_jonas myname
11:47:45 <oerjan> b_jonas: yeah hagb4rd discovered it was off and started using it to get around his ban
11:47:46 <HackEgo> boily chicken_jonas myname
11:47:46 <shachaf> boily: it's a pity you weren't around at 02:46
11:47:46 <chicken_jonas> `list and again
11:47:47 <shachaf> 02:46 <fungot> shachaf: what's wrong with the chicken release at http://www.call-with-current-continuation.org/ chicken.html chicken scheme │
11:47:52 <HackEgo> boily chicken_jonas myname
11:48:02 <myname> i may regret that
11:48:17 <ais523> ?where test
11:48:18 <lambdabot> `list
11:48:24 <HackEgo> boily chicken_jonas myname
11:48:30 <ais523> myname: it doesn't ping any more
11:48:40 -!- chicken_jonas has quit (Client Quit).
11:48:52 <boily> shachaf: which 02:46? UTC?
11:49:04 <shachaf> shachaf standard time
11:49:05 <myname> it is a bit more funny with ping because even if you can annoy people with it, you will get annoyed later
11:49:32 <b_jonas> wait, can we just dos it by giving enough different nicknames starting with A that they fill the line?
11:49:53 <b_jonas> or is it sorted by date of first list?
11:50:04 <myname> good point
11:50:09 <shachaf> Right now it's sorted alphabetically.
11:50:12 <oerjan> <ais523> also I think I might be missing lambdabot perms <-- no, you just loaded, you didn't shoot hth
11:50:14 <shachaf> `` culprits bin/list | xargs -n 1 | sort -u | xargs
11:50:17 <b_jonas> hmm
11:50:18 <HackEgo> ais523 Bike boily cuttlefish elliott fungot Jafet metasepia monqy Ngevd nortti oerjan oklopol Phantom__Hoover Phantom_Hoover pikhq Sgeo Sgeo_ shachaf Taneb tswett
11:50:19 <boily> shachaf: I was still asleep at that time, 14 minutes before my phone alarm.
11:50:28 <ais523> oerjan: actually what happened was that my connection was lagging
11:50:37 <b_jonas> oh, so it's sorted by new-zealand locale
11:50:54 <shachaf> ``` culprits bin/list | xargs -n 1 | sort -u | xargs
11:50:58 <HackEgo> Bike Jafet Ngevd Phantom_Hoover Phantom__Hoover Sgeo Sgeo_ Taneb ais523 boily cuttlefish elliott fungot metasepia monqy nortti oerjan oklopol pikhq shachaf tswett
11:51:11 <Taneb> It's brainfuck competition day aaaah
11:51:16 <ais523> so I didn't get a response for a while
11:51:16 <ais523> and my complaint may also have been delayed
11:51:17 -!- ais523 has quit.
11:51:25 <boily> Taneb: Tanelle. aaaaaaaaaaaaaah!
11:51:50 <shachaf> Taneb: do you want to `list hth
11:52:20 <b_jonas> `` echo A K Z a k z [ \\ ] ^ _ \` { \| } ~ 0 1 5 9 - | tr \ \\n | sort
11:52:21 <HackEgo> ​` \ ^ \ | \ _ \ - \ [ \ ] \ { \ } \ \ \ 0 \ 1 \ 5 \ 9 \ a \ A \ k \ K \ /tmp \ z \ Z
11:52:30 <b_jonas> `` echo A K Z a k z [ \\ ] ^ _ \` { \| } ~ 0 1 5 9 - | tr \ \\n | sort | tr \\n \
11:52:31 <HackEgo> ​` ^ | _ - [ ] { } \ 0 1 5 9 a A k K /tmp z Z
11:52:54 <b_jonas> `` echo A K Z a k z [ \\ ] ^ _ \` { \| } ~ 0 1 5 9 - \`m | tr \ \\n | sort | tr \\n \
11:52:55 <HackEgo> ​` ^ | _ - [ ] { } \ 0 1 5 9 a A k K `m /tmp z Z
11:53:00 <myname> wtf /tmp
11:53:11 <myname> ah
11:53:18 <b_jonas> right, ~
11:53:23 <b_jonas> `` echo A K Z a k z [ \\ ] ^ _ \` { \| } \~ 0 1 5 9 - \`m | tr \ \\n | sort | tr \\n \
11:53:24 <HackEgo> ​` ^ ~ | _ - [ ] { } \ 0 1 5 9 a A k K `m z Z
11:53:34 <Taneb> shachaf, I've listed in the past
11:53:59 <shachaf> Taneb: there's a new opportunity for enlistment
11:54:07 <b_jonas> `` echo A K Z a k z [ \\ ] ^ _ \` { \| } \~ 0 1 5 9 - \`m ^m \~m \|m _m -m \[m \]m \{m \}m \\m 0m 1m 5m 9m | tr \ \\n | sort | tr \\n \
11:54:08 <HackEgo> ​` ^ ~ | _ - [ ] { } \ 0 0m 1 1m 5 5m 9 9m a A k K `m ^m ~m |m _m -m [m ]m {m }m \m z Z
11:54:57 <b_jonas> `` echo A K Z a k z a\`a a-a am | tr \ \\n | sort | tr \\n \
11:54:58 <HackEgo> a A a`a a-a am k K z Z
11:55:01 <boily> fungot: could you `list please? we give out free fnords today! limited time offer!
11:55:02 <fungot> boily: we have an element, we're ready to call the brainfuck datastructure? tape?
11:55:26 <boily> fungot: it's Taneb who's ready to call the brainfuck.
11:55:27 <fungot> boily: datum and data are so very painful in structure
11:55:30 <b_jonas> ok, so we need nicks something like a`a`a`a probably
11:55:41 -!- boily has changed nick to a`a`a`a.
11:55:44 <a`a`a`a> `list
11:55:50 <HackEgo> boily chicken_jonas lambdabot myname
11:55:55 -!- a`a`a`a has changed nick to boily.
11:55:55 -!- a`a`a`a`jonas0 has joined.
11:56:05 <a`a`a`a`jonas0> `list me
11:56:12 <HackEgo> a`a`a`a boily chicken_jonas lambdabot myname
11:56:34 <myname> it still pings
11:56:50 -!- a`a`a`a`jonas0 has changed nick to a`a`a`a`jo1as.
11:56:55 <a`a`a`a`jo1as> `list me
11:57:02 <HackEgo> a`a`a`a a`a`a`a`jonas0 boily chicken_jonas lambdabot myname
11:57:07 <izabera> what are you doooooiiing
11:57:26 <a`a`a`a`jo1as> izabera: trying to dos
11:57:35 <shachaf> why do you gotta sabotage it
11:57:37 <a`a`a`a`jo1as> izabera: by filling up the whole irc line
11:58:10 <a`a`a`a`jo1as> izabera: I think it backfired on me though, because actually just "jonas" pings me, although I might have to refine that rule because it gives too much
11:58:20 <a`a`a`a`jo1as> false positives on some chans
11:58:46 <myname> jonas is so big, it can hold several tb od data
11:58:46 <boily> izabera: izabellora! join the conscription! be part of a Great Project!
11:58:54 <a`a`a`a`jo1as> well, only \bjonas\b actually, but still
11:58:56 <izabera> what great project?
11:59:11 -!- a`a`a`a`jo1as has changed nick to a`a`a`a`jo2as.
11:59:19 <a`a`a`a`jo2as> `list me too
11:59:25 <HackEgo> a`a`a`a a`a`a`a`jo1as a`a`a`a`jonas0 boily chicken_jonas lambdabot myname
11:59:33 -!- a`a`a`a`jo2as has changed nick to a`a`a`a`jo3as.
11:59:44 <a`a`a`a`jo3as> `list everypony
11:59:48 -!- a`a`a`a`jo3as has changed nick to a`a`a`a`jo4as.
11:59:50 <HackEgo> a`a`a`a a`a`a`a`jo1as a`a`a`a`jo2as a`a`a`a`jonas0 boily chicken_jonas lambdabot myname
11:59:56 <izabera> it's probably easier if you set up a bot...
12:00:00 <izabera> or at least quicker
12:00:05 <a`a`a`a`jo4as> `list soon the too many nick changes rule will trigger on freenode
12:00:12 <HackEgo> a`a`a`a a`a`a`a`jo1as a`a`a`a`jo2as a`a`a`a`jo3as a`a`a`a`jonas0 boily chicken_jonas lambdabot myname
12:00:42 <a`a`a`a`jo4as> izabera: freenode has a rule on how fast it allows nick changes, so I can't do it fast anyway
12:00:44 <boily> everypony: wasn't it Vermin Supreme who said that?
12:00:58 <izabera> a`a`a`a`jo4as: surely you can use multiple users?
12:01:09 <a`a`a`a`jo4as> and besides, HackEgo output lines have a short enough caps, so it's not that difficult this way either
12:01:10 * izabera teaches ddosing 101
12:01:15 <shachaf> `` sed -i 's/sort -u/awk '\''!x[$0]++'\''/' bin/list
12:01:18 <HackEgo> No output.
12:01:31 -!- a`a`a`a`jo4as has changed nick to a`a`a`a`jo5as.
12:01:40 -!- oerjan has quit (Quit: `lost).
12:01:44 <a`a`a`a`jo5as> `list
12:01:48 <HackEgo> a`a`a`a`jo4as a`a`a`a`jo3as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname boily
12:02:03 <b_jonas> wait, why are the numbers sorted backwards?
12:02:15 <izabera> `cat bin/list
12:02:15 <HackEgo> date > share/conscripts; culprits share/conscripts | xargs -n 1 | awk '!x[$0]++' | xargs
12:02:17 <FireFly> Maybe they count backwards in new zealand
12:02:23 <FireFly> it's the southern hemisphere after all
12:02:29 <shachaf> FireFly++
12:02:32 <shachaf> makes perfect sense to me
12:02:44 -!- andrew has quit (Remote host closed the connection).
12:02:54 <izabera> xargs -n 1 is a crappy way to split a line
12:03:16 <FireFly> I usually fold -1
12:03:21 <b_jonas> `` echo 0 1 2 3 a0 a1 a2 a3 a0b a1k a2t a3f | tr \ \\n | sort | tr \\n \
12:03:22 <HackEgo> 0 1 2 3 a0 a0b a1 a1k a2 a2t a3 a3f
12:03:34 <FireFly> er hm, no
12:03:40 <b_jonas> FireFly: some people use awk '{print$1}'
12:03:50 <FireFly> I guess just tr \ \\n
12:03:51 <b_jonas> oh
12:03:57 <b_jonas> maybe it's sorted by date now?
12:04:05 -!- a`a`a`a`jo5as has changed nick to a`a`a`a`jo6as.
12:04:10 <a`a`a`a`jo6as> `list
12:04:12 -!- a`a`a`a`jo6as has changed nick to a`a`a`a`jo3as.
12:04:13 <FireFly> Looks like it
12:04:14 <a`a`a`a`jo3as> `list
12:04:15 <HackEgo> a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo3as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname boily
12:04:20 <HackEgo> a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo3as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname boily
12:04:33 -!- a`a`a`a`jo3as has changed nick to a`a`a`a`jo8as.
12:04:35 <a`a`a`a`jo8as> `list
12:04:38 -!- a`a`a`a`jo8as has changed nick to a`a`a`a`jo7as.
12:04:43 <HackEgo> a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname boily
12:04:49 <boily> never in my life was I so much pinged in such a short time... I feel dirty...
12:05:01 <myname> boily: hi
12:05:05 <a`a`a`a`jo7as> `list
12:05:12 <boily> myname: bleh :P
12:05:12 <izabera> hey boily
12:05:12 <HackEgo> a`a`a`a`jo8as a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname boily
12:05:18 <boily> izabera: flblblblblbl :P
12:05:24 <izabera> to you too
12:05:24 <b_jonas> oh! it's sorted backwards by _latest_ access
12:05:29 <b_jonas> then the dosing can't work
12:05:33 <shachaf> boily: maybe you'd better `list again just to be on the safe side hth
12:05:35 <b_jonas> or at least only afterwards
12:05:44 <b_jonas> because anyone who lists will get to the front immediately
12:05:46 <boily> `list
12:05:53 <boily> shachaf: I like to live dangerously.
12:05:54 <HackEgo> a`a`a`a`jo7as a`a`a`a`jo8as a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname boily
12:05:54 <shachaf> b_jonas: yes, that was the goal
12:06:41 <a`a`a`a`jo7as> well, in that case
12:06:43 <shachaf> If you wanted to deny service, you could also, y'know, `rm bin/list
12:06:47 -!- a`a`a`a`jo7as has quit (Quit: this is useless).
12:06:56 <b_jonas> shachaf: nah, you'd just revert that
12:07:09 <b_jonas> which would probably even get me on the list since I deleted it
12:07:09 <shachaf> I can always switch from conscripts to another file.
12:13:46 <b_jonas> what if that command also printed " To unsubscribe, `unlist " or something?
12:14:06 <b_jonas> ``` find -name *list*
12:14:11 <HackEgo> ​./bdsmreclist \ ./wisdom/bdsmreclist
12:14:11 <b_jonas> ``` find -name "*list*"
12:14:15 <HackEgo> ​./bin/slist \ ./bin/listen \ ./bin/dontaskdonttelllist \ ./bin/don'taskdon'ttelllist \ ./bin/erflist \ ./bin/olist \ ./bin/flist \ ./bin/makelist \ ./bin/smlist \ ./bin/mlist \ ./bin/FireFlist \ ./bin/emptylist \ ./bin/testlist \ ./bin/llist \ ./bin/list \ ./bin/pbflist \ ./bin/danddreclist \ ./share/lua/5.2/luarocks/list.lua \ ./.hg/store/dh/no
12:14:33 <b_jonas> wow
12:14:54 <b_jonas> ``` cat bin/emptylist
12:14:55 <HackEgo> echo -n "$(basename "$0")${@:+ }$@: "; tail -n+2 "$0" | xargs; exit
12:15:02 <b_jonas> `type cat
12:15:03 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: type: not found
12:15:07 <b_jonas> ``` type cat
12:15:08 <HackEgo> cat is /bin/cat
12:15:28 <b_jonas> hmm
12:15:50 <b_jonas> ``` perl -pe1 bin/emptylist
12:15:51 <HackEgo> echo -n "$(basename "$0")${@:+ }$@: "; tail -n+2 "$0" | xargs; exit
12:15:53 <b_jonas> ``` perl -pe1 bin/flist
12:15:54 <HackEgo> echo -n "$(basename "$0")${@:+ }$@: "; tail -n+2 "$0" | xargs; exit
12:15:56 <b_jonas> ``` perl -pe1 bin/slist
12:15:57 <HackEgo> echo -n "$(basename "$0")${@:+ }$@: "; tail -n+2 "$0" | xargs; exit \ Taneb \ atriq \ Ngevd \ nvd \ Fiora \ Sgeo \ ThatOtherPerson \ alot
12:16:14 <shachaf> are you pinging everyone
12:16:17 <b_jonas> argh
12:16:18 <shachaf> that's kind of rude
12:16:18 <b_jonas> sorry
12:16:28 <b_jonas> shouldn't those things be rot13-encoded _inside?
12:17:12 <b_jonas> ``` perl -pe'y/(\w)(\w)/$1.$2/' bin/mlist
12:17:12 <HackEgo> echo Seeing a philosopher
12:17:17 <b_jonas> ``` perl -pe'y/(\w)(\w)/$1.$2/' bin/smlist
12:17:18 <HackEgo> echo -n "$$basename "$0".${@:+ }$@: "; tail -n+2 "$0" | xargs; exit \ shachaf \ monqy \ elliott \ mnoqy
12:17:32 <b_jonas> argh
12:17:33 <shachaf> that still pings me tdnh
12:17:35 <b_jonas> ``` perl -pe'y/(\w)(\w)/$1.$2/g' bin/smlist
12:17:36 <HackEgo> Bareword found where operator expected at -e line 1, near "y/(\w)(\w)/$1.$2/g" \ syntax error at -e line 1, near "y/(\w)(\w)/$1.$2/g \ " \ Execution of -e aborted due to compilation errors.
12:17:41 <b_jonas> ``` perl -pe's/(\w)(\w)/$1.$2/g' bin/smlist
12:17:42 <HackEgo> e.ch.o -n "$(b.as.en.am.e "$0")${@:+ }$@: "; t.ai.l -n+2 "$0" | x.ar.gs; e.xi.t \ s.ha.ch.af \ m.on.qy \ e.ll.io.tt \ m.no.qy
12:18:02 <b_jonas> wait, there's a pbflist?
12:18:08 <b_jonas> ``` perl -pe's/(\w)(\w)/$1.$2/g' bin/pbflist
12:18:08 <HackEgo> e.ch.o -n "$(b.as.en.am.e "$0")${@:+ }$@: "; t.ai.l -n+2 "$0" | x.ar.gs; e.xi.t \ s.ha.ch.af \ S.ge.o \ q.ui.nt.op.ia \ i.on
12:18:55 <Taneb> `rot13 Ngevd
12:18:56 <HackEgo> Atriq
12:19:01 <b_jonas> ``` perl -pe'$O=shift;open O;print O "b_jonas\n"' bin/pbflist
12:19:02 <HackEgo> echo -n "$(basename "$0")${@:+ }$@: "; tail -n+2 "$0" | xargs; exit \ shachaf \ Sgeo \ quintopia \ ion
12:19:17 <b_jonas> no no
12:19:19 <b_jonas> `revert
12:19:21 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
12:19:23 <shachaf> still pinging me
12:19:42 <b_jonas> ``` perl -we'$O=shift;open O,">>",$O;print O "b_jonas\n"' bin/pbflist
12:19:44 <HackEgo> No output.
12:19:53 <b_jonas> ``` perl -pe's/(\w)(\w)/$1.$2/g' bin/pbflist
12:19:54 <HackEgo> e.ch.o -n "$(b.as.en.am.e "$0")${@:+ }$@: "; t.ai.l -n+2 "$0" | x.ar.gs; e.xi.t \ s.ha.ch.af \ S.ge.o \ q.ui.nt.op.ia \ i.on \ b._j.on.as
12:19:57 <b_jonas> there
12:20:13 <b_jonas> sorry everyone for all the pinging
12:20:43 <b_jonas> ``` perl -pe's/(\w)(\w)/$1.$2/g' bin/flist
12:20:44 <HackEgo> e.ch.o -n "$(b.as.en.am.e "$0")${@:+ }$@: "; t.ai.l -n+2 "$0" | x.ar.gs; e.xi.t
12:20:46 <b_jonas> ``` perl -pe's/(\w)(\w)/$1.$2/g' bin/llist
12:20:47 <HackEgo> e.ch.o -n "$(b.as.en.am.e "$0")${@:+ }$@: "; t.ai.l -n+2 "$0" | x.ar.gs; e.xi.t \ d.an.is.h
12:21:14 -!- J_Arcane has quit (Ping timeout: 244 seconds).
12:21:15 -!- boily has quit (Quit: TEAM CHICKEN).
12:22:32 <b_jonas> ``` perl -e-e($t="bin/wrlist")and die;use File::Copy;copy("bin/flist",$t)
12:22:33 <HackEgo> bash: -c: line 0: syntax error near unexpected token `(' \ bash: -c: line 0: `perl -e-e($t="bin/wrlist")and die;use File::Copy;copy("bin/flist",$t)'
12:22:39 <b_jonas> `perl -e-e($t="bin/wrlist")and die;use File::Copy;copy("bin/flist",$t)
12:22:41 <HackEgo> No output.
12:22:49 <b_jonas> ``` perl -pe's/(\w)(\w)/$1.$2/g' bin/wrlist
12:22:50 <HackEgo> e.ch.o -n "$(b.as.en.am.e "$0")${@:+ }$@: "; t.ai.l -n+2 "$0" | x.ar.gs; e.xi.t
12:25:09 <b_jonas> ``` find -name "*list*" | tail -n16
12:25:12 <HackEgo> ​./src/ploki/list.c \ ./src/ploki/examples/list.pk \ ./src/ploki/list.h \ ./src/ploki/list.depend \ ./bdsmreclist \ ./interps/cfunge/cfunge-src/tools/gen_fprint_list.sh \ ./interps/clc-intercal/inst/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Language/INTERCAL/.packlist \ ./wisdom/herbalist \ ./wisdom/slist \ ./wisdom/kallisti \ ./wisdom/olist \
12:25:36 <b_jonas> ``` find -name "*list*" | sort
12:25:39 <HackEgo> ​./.hg/store/data/bdsmreclist..i \ ./.hg/store/data/bdsmreclist.i \ ./.hg/store/data/bin/_fire_flist.i \ ./.hg/store/data/bin/danddreclist.i \ ./.hg/store/data/bin/deletedlist.i \ ./.hg/store/data/bin/don'taskdon'ttelllist.i \ ./.hg/store/data/bin/dontaskdonttelllist.i \ ./.hg/store/data/bin/elist.i \ ./.hg/store/data/bin/emptylist.i \ ./.hg/stor
12:25:53 <b_jonas> ``` find * -name "*list*" | sort
12:25:54 <HackEgo> bdsmreclist \ bin/FireFlist \ bin/danddreclist \ bin/don'taskdon'ttelllist \ bin/dontaskdonttelllist \ bin/emptylist \ bin/erflist \ bin/flist \ bin/list \ bin/listen \ bin/llist \ bin/makelist \ bin/mlist \ bin/olist \ bin/pbflist \ bin/slist \ bin/smlist \ bin/testlist \ bin/wrlist \ interps/cfunge/cfunge-src/tools/gen_fprint_list.sh \ interps/cl
12:25:57 <b_jonas> ``` find * -name "*list*" | sort | tail -n10
12:25:58 <HackEgo> src/ploki/list.h \ wisdom/bdsmreclist \ wisdom/danddreclist \ wisdom/herbalist \ wisdom/kallisti \ wisdom/list \ wisdom/olist \ wisdom/slist \ wisdom/smlist \ wisdom/supercalifragilisticexponential growth
12:26:10 <b_jonas> ``` find * -name "*list*" | sort | tail -n-10
12:26:12 <HackEgo> src/ploki/list.h \ wisdom/bdsmreclist \ wisdom/danddreclist \ wisdom/herbalist \ wisdom/kallisti \ wisdom/list \ wisdom/olist \ wisdom/slist \ wisdom/smlist \ wisdom/supercalifragilisticexponential growth
12:26:19 <b_jonas> huh?
12:26:21 <b_jonas> ``` find * -name "*list*" | sort | tail -n+10
12:26:23 <HackEgo> bin/listen \ bin/llist \ bin/makelist \ bin/mlist \ bin/olist \ bin/pbflist \ bin/slist \ bin/smlist \ bin/testlist \ bin/wrlist \ interps/cfunge/cfunge-src/tools/gen_fprint_list.sh \ interps/clc-intercal/inst/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Language/INTERCAL/.packlist \ share/lua/5.2/luarocks/list.lua \ src/ploki/examples/list.pk \ sr
12:26:25 <b_jonas> ah
12:26:33 <b_jonas> ``` find * -name "*list*" | sort | tail -n+20
12:26:35 <HackEgo> interps/cfunge/cfunge-src/tools/gen_fprint_list.sh \ interps/clc-intercal/inst/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Language/INTERCAL/.packlist \ share/lua/5.2/luarocks/list.lua \ src/ploki/examples/list.pk \ src/ploki/list.c \ src/ploki/list.depend \ src/ploki/list.h \ wisdom/bdsmreclist \ wisdom/danddreclist \ wisdom/herbalist \ wisdom/ka
12:27:26 <b_jonas> ``` find * -name "*list*" | sort | tail -n+30
12:27:28 <HackEgo> wisdom/kallisti \ wisdom/list \ wisdom/olist \ wisdom/slist \ wisdom/smlist \ wisdom/supercalifragilisticexponential growth
12:29:36 <b_jonas> ``` cwd
12:29:37 <HackEgo> bash: cwd: command not found
12:29:40 <b_jonas> ``` pwd
12:29:40 <HackEgo> ​/hackenv
12:30:52 <b_jonas> ``` perl -pe1 /hackenv/bin/\`\`
12:30:53 <HackEgo> ​#!/bin/sh \ export LANG=C; exec bash -O extglob -c "$@"
12:32:02 <b_jonas> `perl -eopen$O,">","bin/listlist",755;print$O qq{#!/bin/sh\nset -e\nexport LANG=C\ncd /hackenv/bin;exec ls -dF *[lL]ist*\n};
12:32:03 <HackEgo> More than one argument to open(,':perlio') at -e line 1.
12:32:41 <b_jonas> `perl -eopen$O,">",($c="bin/listlist");print$O qq{#!/bin/sh\nset -e\nexport LANG=C\ncd /hackenv/bin;exec ls -dF *[lL]ist*\n};close$O;chmod $c,0755;
12:32:43 <HackEgo> No output.
12:32:47 <b_jonas> `listlist
12:32:47 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/listlist: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/listlist: cannot execute: Permission denied
12:32:51 <fizzie> ^save
12:32:51 <fungot> OK.
12:33:07 <b_jonas> ``` ls -ld bin/listlist
12:33:08 <HackEgo> ​-rw-r--r-- 1 5000 0 69 Feb 24 12:32 bin/listlist
12:33:18 <fizzie> @tell oerjan ^saved htdh
12:33:18 <lambdabot> Consider it noted.
12:33:55 <b_jonas> `perl -e$c="bin/listlist";chmod 0755,$c or die"chmod:$!";
12:33:58 <HackEgo> No output.
12:34:10 <b_jonas> `listlist
12:34:11 <HackEgo> FireFlist* \ danddreclist* \ don'taskdon'ttelllist@ \ dontaskdonttelllist* \ emptylist* \ erflist* \ flist* \ list* \ listen* \ listlist* \ llist* \ makelist* \ mlist* \ olist* \ pbflist* \ slist* \ smlist* \ testlist* \ wrlist
12:34:18 <b_jonas> stupid perl, having function arguments backwards
12:35:14 <b_jonas> ``` perl -pe's/(\w)(\w)/$1.$2/g' bin/makelist
12:35:15 <HackEgo> c.p b.in/e.mp.ty.li.st b.in/"$1"
12:36:39 <b_jonas> ``` ls -d */
12:36:39 <HackEgo> bin/ \ emoticons/ \ etc/ \ evil/ \ factor/ \ good/ \ hw/ \ ibin/ \ interps/ \ le/ \ lib/ \ misle/ \ paste/ \ quines/ \ share/ \ src/ \ tmflry/ \ wisdom/
12:37:06 <b_jonas> ``` ls -d share/*/ lib/*/
12:37:07 <HackEgo> ls: cannot access lib/*/: No such file or directory \ share/WordData/ \ share/delvs-master/ \ share/lua/
12:47:33 -!- AnotherTest has joined.
12:52:10 -!- AnotherTest has quit (Ping timeout: 252 seconds).
13:16:29 -!- lynn has joined.
13:19:14 -!- lynn_ has joined.
13:20:13 -!- Nithogg has quit (Quit: WeeChat 1.4).
13:22:17 -!- Nithogg has joined.
13:22:37 -!- lynn has quit (Ping timeout: 255 seconds).
13:24:18 -!- tromp_ has joined.
13:27:09 -!- Nithogg has quit (Quit: WeeChat 1.4).
13:28:26 -!- tromp_ has quit (Ping timeout: 244 seconds).
13:42:01 <b_jonas> ``` perl -pe's/(\w)(\w)/$1.$2/g' bin/alist
13:42:02 <HackEgo> Can't open bin/alist: No such file or directory.
13:42:04 <b_jonas> ``` perl -pe's/(\w)(\w)/$1.$2/g' bin/aglist
13:42:05 <HackEgo> Can't open bin/aglist: No such file or directory.
13:42:20 <b_jonas> `makelist aglist
13:42:22 <HackEgo> No output.
13:42:25 <b_jonas> ``` perl -pe's/(\w)(\w)/$1.$2/g' bin/aglist
13:42:26 <HackEgo> e.ch.o -n "$(b.as.en.am.e "$0")${@:+ }$@: "; t.ai.l -n+2 "$0" | x.ar.gs; e.xi.t
13:42:41 <b_jonas> ``` perl -pe's/(\w)(\w)/$1.$2/g' bin/wrlist
13:42:42 <HackEgo> e.ch.o -n "$(b.as.en.am.e "$0")${@:+ }$@: "; t.ai.l -n+2 "$0" | x.ar.gs; e.xi.t
13:43:59 <b_jonas> `perl -efor $comic("ag","wr"){open$O,">>","bin/${comic}list";print$O"b_jonas\n";}
13:44:01 <HackEgo> String found where operator expected at -e line 1, near "$O"b_jonas\n"" \ (Missing operator before "b_jonas\n"?)
13:44:22 -!- tromp_ has joined.
13:44:26 <b_jonas> `perl -efor $comic("ag","wr"){open$O,">>","bin/${comic}list";print$O "b_jonas\n";}
13:44:29 <HackEgo> No output.
13:44:38 <b_jonas> ``` perl -pe's/(\w)(\w)/$1.$2/g' bin/wrlist
13:44:39 <HackEgo> e.ch.o -n "$(b.as.en.am.e "$0")${@:+ }$@: "; t.ai.l -n+2 "$0" | x.ar.gs; e.xi.t \ b._j.on.as \ b._j.on.as
13:50:06 <FireFly> `cat bin/FireFlist
13:50:07 <HackEgo> echo FireFly Eldis4
13:50:08 <b_jonas> `? giraffefolk
13:50:09 <HackEgo> giraffefolk? ¯\(°​_o)/¯
13:50:11 <b_jonas> `? merfolk
13:50:12 <FireFly> ok
13:50:13 <HackEgo> merfolk? ¯\(°​_o)/¯
13:50:20 <FireFly> `culprits bin/FireFlist
13:50:21 <b_jonas> `? siren
13:50:22 <HackEgo> nortti nortti
13:50:22 <HackEgo> siren? ¯\(°​_o)/¯
13:50:24 <b_jonas> `? sphinx
13:50:25 <HackEgo> sphinx? ¯\(°​_o)/¯
13:50:28 <b_jonas> `? asphinx
13:50:29 <HackEgo> asphinx? ¯\(°​_o)/¯
13:53:34 <int-e> @metar KSFO
13:53:46 <lambdabot> KSFO 241256Z 00000KT 10SM FEW110 SCT150 11/11 A3011 RMK AO2 SLP195 T01060106 $
13:54:16 -!- tjt263_ has joined.
13:55:16 -!- lynn__ has joined.
13:58:22 -!- lynn_ has quit (Ping timeout: 244 seconds).
13:59:25 -!- tromp_ has quit (Remote host closed the connection).
14:16:11 <b_jonas> [ 366%~132141
14:16:11 <j-bot> b_jonas: 361.041
14:22:55 -!- `^_^v has joined.
14:23:42 -!- lynn_ has joined.
14:24:14 -!- lynn__ has quit (Ping timeout: 244 seconds).
14:30:29 -!- impomatic_ has joined.
14:37:40 -!- lambdabot has quit (Ping timeout: 264 seconds).
14:43:09 -!- lambdabot has joined.
14:57:30 -!- mad has quit (Ping timeout: 276 seconds).
15:00:07 -!- tromp_ has joined.
15:04:30 -!- tromp_ has quit (Ping timeout: 244 seconds).
15:19:25 -!- jaboja has joined.
15:19:39 -!- Yurume has quit (Ping timeout: 264 seconds).
15:22:13 -!- AnotherTest has joined.
15:34:58 -!- jaboja has quit (Ping timeout: 252 seconds).
15:42:54 -!- Treio has quit (Quit: Leaving).
16:00:37 -!- lynn has joined.
16:01:55 -!- lynn_ has quit (Ping timeout: 255 seconds).
16:02:20 <Taneb> This brainfuck competition is going well
16:02:31 <Taneb> Turns out it lasts all week and this is just an intro
16:03:51 <prooftechnique> Is the competition implementing brainfuck, or using it?
16:04:30 <prooftechnique> I assume the latter, but you never know
16:04:51 -!- lambda-11235 has joined.
16:07:19 -!- jaboja has joined.
16:10:06 <Taneb> The latter
16:31:10 -!- earendel2 has joined.
16:32:05 -!- earendel has quit (Ping timeout: 250 seconds).
16:34:41 -!- shikhin has changed nick to SHIKHIN.
16:34:51 -!- SHIKHIN has changed nick to shikhin.
16:48:38 <Taneb> I'm gonna need a more efficient divmod algorithm
16:50:04 <izabera> divmod (a, b) { return 7, 0 }
16:50:31 <Taneb> izabera: that woudn't quite work for calculating the largest prime factor of 2^32-2
16:50:48 <izabera> it's correct in an infinite number of cases
16:52:17 <izabera> implement a primality test instead of trial division only
16:52:19 <izabera> 2147483647 is prime
16:55:23 <Taneb> That could work!
17:00:02 -!- tromp_ has joined.
17:02:18 -!- jaboja has quit (Ping timeout: 276 seconds).
17:02:25 -!- earendel2 has quit (Ping timeout: 252 seconds).
17:04:37 -!- tromp_ has quit (Ping timeout: 252 seconds).
17:19:53 -!- Treio has joined.
17:21:29 -!- lynn has quit (Ping timeout: 240 seconds).
17:21:45 -!- Treio has quit (Remote host closed the connection).
17:28:03 -!- AnotherTest has quit (Ping timeout: 248 seconds).
17:28:04 -!- Sprocklem has quit (Ping timeout: 248 seconds).
17:41:44 -!- Treio has joined.
17:46:41 <izabera> hey, how do i move up and down in vi without arrows?
17:46:47 <izabera> j/k :P
17:51:51 -!- lynn has joined.
18:01:24 -!- tromp_ has joined.
18:03:37 <lambda-11235> izabera: Use the mouse scrollwheel. :)
18:05:33 -!- tromp_ has quit (Ping timeout: 240 seconds).
18:08:03 <izabera> izabera | j/k :P <---- cough cough
18:08:19 <izabera> cmon it was funny
18:10:55 -!- tjt263_ has quit (Quit: part).
18:16:51 -!- Treio has quit (Quit: Leaving).
18:19:00 <Taneb> izabera, I thought it was funny
18:20:49 <izabera> :3
18:22:10 -!- hppavilion[1] has joined.
18:24:24 -!- AnotherTest has joined.
18:32:15 <prooftechnique> I wonder what the initial investment is like to become a carilloneur/euse
18:35:37 <hppavilion[1]> What other interesting branches of mathematics could a Proof Assistant be based on?
18:35:44 <hppavilion[1]> I have string rewriting down, mostly.
18:35:53 <prooftechnique> HoTT
18:36:10 <hppavilion[1]> prooftechnique: HoTT? Is that for me?
18:36:22 <prooftechnique> Yeah.
18:37:38 <hppavilion[1]> prooftechnique: OK...
18:37:51 <hppavilion[1]> prooftechnique: Anything non-type theoretical?
18:37:54 <prooftechnique> There's probably something insane you could do with stack theory, too, but I think there are probably 2 people in the world who know anything about that
18:38:42 <prooftechnique> https://en.wikipedia.org/wiki/Stack_%28mathematics%29
18:38:42 <hppavilion[1]> prooftechnique: I assume stack theory is based on the stack?
18:38:46 <quintopia> izabera: i internally chuckled
18:38:47 <hppavilion[1]> Yep
18:39:06 <hppavilion[1]> https://en.wikipedia.org/w/index.php?title=Glossary_of_stack_theory&redirect=no
18:39:25 <hppavilion[1]> prooftechnique: Is stack theory a real, studied thing?
18:40:03 <hppavilion[1]> Oh, nothing to do with a stack then?
18:40:04 <prooftechnique> I think they actually call it descent theory
18:40:31 <prooftechnique> http://arxiv.org/abs/math/0412512
18:40:41 <prooftechnique> Well, not the sort of stack computers are concerned with, no
18:41:13 <prooftechnique> Though, maybe. It's an abstruse field. There could very well be a connection :D
18:42:23 -!- AlexR42 has joined.
18:43:04 <prooftechnique> Though, note https://en.wikipedia.org/wiki/Stack_(mathematics)#Set-theoretical_problems
18:43:29 -!- carado has quit (Ping timeout: 240 seconds).
18:44:25 <prooftechnique> And Grothendieck has some texts on the subject, but I think they're mainly in French
18:45:12 <hppavilion[1]> prooftechnique: Any other ideas? Something I might find easier to understand? xD
18:45:19 -!- carado has joined.
18:46:09 <prooftechnique> I was reading about Lemuridae the other day, and superdeduction sounds neat
18:46:40 <prooftechnique> http://rho.loria.fr/lemuridae.html http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.104.5083
18:48:04 <hppavilion[1]> I don't understand Category Theory, so I figure it's a good idea to implement it in Python to start understanding it xD
18:49:40 <hppavilion[1]> prooftechnique: Is it even possible to implement category theory in a programming language without being a god?
18:50:24 <hppavilion[1]> prooftechnique: It seems like you'd have to do a LOT of lazy evaluation
18:51:30 <prooftechnique> Define "implement category theory". Like, be able to represent it, or be able to do things with it?
18:52:02 <prooftechnique> Because there's this, I guess: http://docs.sympy.org/latest/modules/categories.html
18:52:03 <hppavilion[1]> prooftechnique: Have something that works well enough for me to play with it and see what's going on
18:52:23 <hppavilion[1]> prooftechnique: If I implement it myself, I'll have a better feel for how it works, most likely
18:54:21 <prooftechnique> Well, what do you want to be able to do? It seem pretty straightforward to have Python objects for Objects, Morphisms, and Categories
18:54:25 <prooftechnique> *seems
18:54:47 <prooftechnique> Then you just follow the math, more or less.
18:54:59 <prooftechnique> Now, proving things is another matter, I suppose.
18:55:41 <prooftechnique> Oh, and Diagrams would be good to have, I guess
18:57:27 <hppavilion[1]> prooftechnique: Yeah, that's what I'm working on. Python objects.
18:58:48 -!- bb010g has quit (Quit: Connection closed for inactivity).
19:11:59 -!- carado has quit (Ping timeout: 250 seconds).
19:15:38 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
19:25:51 -!- carado has joined.
19:28:02 -!- hppavilion[1] has joined.
19:38:59 -!- carado has quit (Ping timeout: 240 seconds).
19:41:39 -!- Sprocklem has joined.
19:49:48 -!- carado has joined.
19:51:37 -!- Phantom_Hoover has joined.
20:08:52 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
20:10:40 -!- l0de has joined.
20:11:02 <l0de> yes hello, sorcerer l0de here
20:11:22 <l0de> I'm looking for fellow arcane practitioners to work with in the NYC area
20:11:32 <Phantom_Hoover> wrong kind of esoteric mate
20:11:50 <Phantom_Hoover> `welcome
20:11:51 <l0de> There are no wrong kinds, Phantom_Hoover, only different paths
20:12:00 <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.)
20:12:34 <Phantom_Hoover> l0de, well yes but we do ask that you focus your exploration of the arcane into designing or deploying esoteric programming languages
20:13:17 <l0de> I've always considered myself as more of a chaos-affiliated magus, Phantom_Hoover
20:13:46 <Phantom_Hoover> that's ok, we have chaotic esolangs as well
20:14:20 -!- hppavilion[1] has joined.
20:17:25 -!- bender| has quit (Ping timeout: 250 seconds).
20:24:29 -!- Sprocklem has quit (Ping timeout: 240 seconds).
20:33:05 -!- J_Arcane has joined.
20:33:55 -!- lambda-11235 has quit (Quit: Bye).
20:44:46 -!- mihow has joined.
20:45:27 -!- Sprocklem has joined.
20:56:10 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
21:12:38 -!- hppavilion[1] has joined.
21:34:40 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
21:49:26 -!- oerjan has joined.
21:50:00 <oerjan> @messages-good
21:50:00 <lambdabot> fizzie said 9h 16m 42s ago: ^saved htdh
21:51:48 <oerjan> `cat bin/list
21:51:54 <HackEgo> date > share/conscripts; culprits share/conscripts | xargs -n 1 | awk '!x[$0]++' | xargs
21:52:17 <oerjan> oh i see, that was why it was changed to awk
21:52:35 <b_jonas> `? rint
21:52:38 <HackEgo> rint? ¯\(°​_o)/¯
21:53:11 <oerjan> `cat bin/culprits
21:53:11 <HackEgo> hg log --removed "$1" | grep summary: | awk '{print substr($2,2,length($2)-2)}' | sed "s/.$/\x0F&/" | xargs
21:53:21 <oerjan> oh right
21:53:53 <oerjan> shachaf: it is good you are not using noping there, because it would mess up the removal of duplicates
21:54:12 <oerjan> i was wondering why that wasn't happening
21:56:35 <b_jonas> ``` grep -l "\bhg\b" bin/*
21:56:38 <HackEgo> bin/culprits \ bin/emmental \ bin/macro \ bin/mov \ bin/searchlog \ bin/tclkit \ bin/undo \ bin/units \ bin/url \ bin/word
21:57:48 -!- hppavilion[1] has joined.
21:58:51 <b_jonas> `perl -elocal$/;open$I,"<","bin/mov" or die;print<$I>=~s/\b(\w)(\w)/$1\x0f$2/g
21:58:52 <HackEgo> Can't modify <HANDLE> in substitution (s///) at -e line 1, at EOF \ Execution of -e aborted due to compilation errors.
21:59:03 <b_jonas> `perl -elocal$/;open$I,"<","bin/mov" or die;print<$I>=~s/\b(\w)(\w)/$1\x0f$2/gr
21:59:04 <HackEgo> ​ELF............>.....`6@.....@.......(..........@.8..@.........@.......@.@.....@.@................................8......8@.....8@............................................@.......@................... ..................a.....a...........
21:59:12 <b_jonas> whoa, binary?
21:59:15 <b_jonas> what's it do?
21:59:33 <b_jonas> `perl -elocal$/;open$I,"<","bin/searchlog" or die;print<$I>=~s/\b(\w)(\w)/$1\x0f$2/gr
21:59:35 <HackEgo> ​ELF............>.....p5@.....@.......g.........@.8..@.(.%.......@.......@.@.....@.@........................................@......@............................................@.......@.....L3.....L3....... ............P3.....P3k.....P3k.....8......XW........ ...........3.....3k.....3k...................
21:59:43 <b_jonas> `perl -elocal$/;open$I,"<","bin/undo" or die;print<$I>=~s/\b(\w)(\w)/$1\x0f$2/gr
21:59:44 <HackEgo> ​#!/bin/sh \ hg diff -c "$@" | patch -p1 -R
21:59:50 <APic> lol
21:59:55 <b_jonas> `perl -elocal$/;open$I,"<","bin/url" or die;print<$I>=~s/\b(\w)(\w)/$1\x0f$2/gr
21:59:55 <HackEgo> ​#!/usr/bin/env python \ import sys, os.path, re, urllib \ if len(sys.argv) <= 1: \ print "http://codu.org/projects/hackbot/fshg/" \ else: \ f = os.path.abspath(sys.argv[1]) \ f = re.sub(r"^/+hackenv/", "", f) \ if re.match(r"/|\.hg(?:/|$)",f): \ sys.exit("File is outside web-viewab
22:00:01 <APic> Nice Blinks
22:00:04 <APic> Here on my irssi
22:00:05 <b_jonas> `perl -elocal$/;open$I,"<","bin/word" or die;print<$I>=~s/\b(\w)(\w)/$1\x0f$2/gr
22:00:06 <HackEgo> ​#!/usr/bin/perl \ $VAR1 = { \ 'qz' => { \ 'e' => 1, \ 'k' => 1, \ 'a' => 1, \ ' ' => 9, \ 'i' => 1, \ 'o' => 2 \ }, \ 'sp' => { \ 'w' => 9, \ '
22:00:26 <shachaf> ``` rgrep -l --binary-files=without-match "\bhg\b" bin
22:00:27 <HackEgo> bin/url \ bin/undo \ bin/culprits \ bin/word
22:00:29 <APic> (Probably „Ctrl-F“)
22:00:30 <b_jonas> `perl -elocal$/;open$I,"<","bin/macro" or die;print<$I>=~s/\b(\w)(\w)/$1\x0f$2/gr
22:00:31 <HackEgo> ​ELF...........>.....`@.....@.......,.........@.8..@.'.$..................@.......@.....(.....(....... ............(.............................. ...................@......@.....h.......h....................(...............0.......`..............Qtd..................................................R
22:00:33 <shachaf> now leave the ELF files alone
22:01:00 <b_jonas> shachaf: sorry
22:01:04 <zgrep> Leave the elves alone? :P
22:01:06 <shachaf> ?
22:01:12 <zgrep> They need supervision.
22:01:42 <shachaf> That was to b_jonas.
22:01:45 <shachaf> Anyway.
22:01:45 <b_jonas> ``` objdump -f bin/mov
22:01:46 <HackEgo> ​ \ bin/mov: file format elf64-x86-64 \ architecture: i386:x86-64, flags 0x00000112: \ EXEC_P, HAS_SYMS, D_PAGED \ start address 0x0000000000403660
22:01:55 <b_jonas> ``` objdump -fh bin/mov
22:01:56 <HackEgo> ​ \ bin/mov: file format elf64-x86-64 \ architecture: i386:x86-64, flags 0x00000112: \ EXEC_P, HAS_SYMS, D_PAGED \ start address 0x0000000000403660 \ \ Sections: \ Idx Name Size VMA LMA File off Algn \ 0 .interp 0000001c 0000000000400238 0000000000400238 00000238 2**0 \
22:02:12 <b_jonas> ``` objdump -fh bin/mov | tail -n+8
22:02:13 <HackEgo> Idx Name Size VMA LMA File off Algn \ 0 .interp 0000001c 0000000000400238 0000000000400238 00000238 2**0 \ CONTENTS, ALLOC, LOAD, READONLY, DATA \ 1 .note.ABI-tag 00000020 0000000000400254 0000000000400254 00000254 2**2 \ CONTENTS, ALLOC, LOAD, READONLY
22:02:29 <b_jonas> ``` ldd bin/mov
22:02:29 <HackEgo> ​linux-vdso.so.1 => (0x0000007fbffff000) \ libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x0000000040002000) \ librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x0000000040222000) \ libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x000000004042b000) \ libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x0000000040634000) \ li
22:03:05 <b_jonas> ``` ldd bin/mov | tail -n+5
22:03:05 <HackEgo> ​libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x0000000040634000) \ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x0000000040839000) \ libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x0000000040bc4000) \ /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000) \ libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x0000000040dc8000)
22:03:14 -!- tromp_ has joined.
22:03:18 <b_jonas> ``` ldd bin/mov | tail -n+10
22:03:19 <HackEgo> No output.
22:03:56 <b_jonas> ``` objdump -t bin/mov
22:03:57 <HackEgo> ​ \ bin/mov: file format elf64-x86-64 \ \ SYMBOL TABLE: \ no symbols
22:04:19 <b_jonas> what the heck is this mov thing?
22:04:51 <shachaf> `mov
22:04:52 <HackEgo> mov: missing file operand \ Try `mov --help' for more information.
22:04:55 <shachaf> `mov --help
22:04:55 <HackEgo> Usage: mov [OPTION]... [-T] SOURCE DEST \ or: mov [OPTION]... SOURCE... DIRECTORY \ or: mov [OPTION]... -t DIRECTORY SOURCE... \ Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. \ \ Mandatory arguments to long options are mandatory for short options too. \ --backup[=CONTROL] make a backup of each existing destination file \
22:05:20 <shachaf> `` ls -l bin/mov
22:05:21 <HackEgo> lrwxrwxrwx 1 5000 0 7 Dec 9 04:12 bin/mov -> /bin/mv
22:05:28 <shachaf> hth
22:05:35 <b_jonas> hmm
22:05:59 <b_jonas> yes, that halep
22:06:00 <shachaf> `` hg log --removed bin/mov | grep summary:
22:06:05 <b_jonas> strange one, but helps
22:06:13 <HackEgo> summary: <tswett> revert \ summary: <tswett> rm bin -r \ summary: <oerjan> revert \ summary: <elliott> revert 1 \ summary: <kmc> ln -s /bin/mv bin/mov
22:07:46 -!- tromp_ has quit (Ping timeout: 255 seconds).
22:08:54 -!- `^_^v has quit (Quit: This computer has gone to sleep).
22:10:05 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
22:10:10 -!- `^_^v has joined.
22:21:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
22:21:46 -!- `^_^v has quit (Quit: This computer has gone to sleep).
22:21:57 -!- `^_^v has joined.
22:26:41 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:27:44 <oerjan> `cat bin/noping
22:27:46 <HackEgo> print_args_or_input "$@" | sed 's/\(..\)/\1​/g'
22:27:59 -!- llue has quit (Quit: That's what she said).
22:28:01 <b_jonas> wtf
22:28:08 -!- lleu has joined.
22:28:11 <oerjan> shachaf: on second thought `noping wouldn't be a problem if it's done before merging the lines
22:28:21 <b_jonas> wtfwtf
22:28:40 <oerjan> b_jonas: what is the problem cwh
22:29:51 <oerjan> shachaf: however, we really should find a noping method that works for everyone. i saw boily complaining in the logs.
22:30:05 <b_jonas> I just found out that in C++, std::allocator::difference_type is a typedef for ptrdiff_t. That totally doesn't make sense. That could be larger than the object sizes.
22:30:43 <oerjan> ok chyt
22:30:59 <oerjan> *cnhyt
22:31:05 <b_jonas> Admittedly they also couldn't just make it the signed type of the same size as size_t, because that type could be _smaller_ than the object sizes on some platforms,
22:31:08 <b_jonas> but still.
22:31:14 <b_jonas> It's weird.
22:31:32 <oerjan> hm cn seems wrong too, and there is no good way
22:31:46 <b_jonas> `? cn
22:31:47 <HackEgo> cn? ¯\(°​_o)/¯
22:32:18 <oerjan> because can always merges with a following not _somehow_, unless it has a different meaning
22:34:37 <oerjan> <FireFly> I usually fold -1 <-- hm i should remember that command
22:34:44 <oerjan> (with or without -1)
22:34:52 <b_jonas> oerjan: that is related to one of the things I hate in English: in some dialects, "can" and "can't" sounds practically the same, especially in informal speech and depending on the next word
22:35:12 <b_jonas> There's no reliable way you can distinguish them from just hearing.
22:35:27 <FireFly> I misremembered with the -1, but fold -1 is useful to sort the characters in a line
22:35:29 <oerjan> i can' see what you mean
22:35:56 <FireFly> I've used :.!fold -1|sort|uniq -c in vim to get a table of letter frequency for a line
22:36:19 <b_jonas> oerjan: and that's not even the worst case, because with "can't" that would have an "nts" consonant cluster, which most speakers can pronounce fine.
22:36:46 <b_jonas> oerjan: but if you try "can't do" or "can't tell" then the chances are slimmer
22:36:48 <shachaf> oerjan: noping shouldn't have too much overhead, because sometimes it's used on long lines.
22:37:00 <b_jonas> Of cousre, this is just one of the many ambiguities in spoken English.
22:37:11 <FireFly> `cat bin/noping
22:37:12 <HackEgo> print_args_or_input "$@" | sed 's/\(..\)/\1​/g'
22:37:18 <oerjan> shachaf: well the overhead is a smaller problem than the fact that we have no character that works for everyone
22:37:26 <FireFly> I was wondering what you were discussing nop:ing for a while, and why nops would have overhead
22:37:37 <b_jonas> Some others include "make her heart sore" against "make her heart soar", and, in some dialects, "formally" against "formerly"
22:37:52 <b_jonas> ``` cat -v bin/noping
22:37:53 <HackEgo> print_args_or_input "$@" | sed 's/\(..\)/\1M-bM-^@M-^K/g'
22:38:17 <b_jonas> why doesn't it just put a \x0f instead of some non-ascii stuff? is that not enough to noping?
22:38:57 <oerjan> shachaf: heck, if we could find a method that works for each person and which doesn't break anyone's client, we could even have an exception table.
22:39:08 <FireFly> Some clients ignore formatting for highlight purposes
22:39:16 <b_jonas> I see
22:39:43 <oerjan> `hexdump bin/noping
22:39:44 <HackEgo> 0000000 7270 6e69 5f74 7261 7367 6f5f 5f72 6e69 \ 0000010 7570 2074 2422 2240 7c20 7320 6465 2720 \ 0000020 2f73 285c 2e2e 295c 5c2f e231 8b80 672f \ 0000030 0a27 \ 0000032
22:39:53 <FireFly> `` tail -c 8 bin/noping | unidecode
22:39:54 <HackEgo> No output.
22:39:58 <FireFly> `` tail -c 8 bin/noping | xargs unidecode
22:39:59 <HackEgo> xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option
22:40:01 <oerjan> ok what's the option to make that useful again
22:40:03 <FireFly> gr
22:40:06 <FireFly> hexdump -C
22:40:33 <oerjan> that quotes exception could be a problem in other cases
22:40:41 <FireFly> oh
22:40:50 <oerjan> not allowed in nicks though
22:41:06 <FireFly> `` unidecode "$(tail -c 8 bin/noping)" # I guess this works
22:41:08 <HackEgo> ​[U+0031 DIGIT ONE] [U+200B ZERO WIDTH SPACE] [U+002F SOLIDUS] [U+0067 LATIN SMALL LETTER G] [U+0027 APOSTROPHE]
22:41:19 <oerjan> ok it uses zero width space
22:41:28 <FireFly> the quotes thing was just xargs complaining
22:41:35 <FireFly> er oh
22:41:40 <FireFly> It was pretty explicit about that
22:41:42 <oerjan> that works for many but breaks one of shachaf's clients
22:42:34 <FireFly> Isn't the noping pattern a bit replacement-happy?
22:42:56 <FireFly> A drawback with inserting so many ZWSPs is that it means less command output gets through
22:43:06 <FireFly> since the bytes count toward the line limit
22:43:20 <shachaf> hierjan
22:43:22 <shachaf> HireFly
22:43:35 <shachaf> everyone is being hired
22:43:47 <FireFly> hire Jan
22:46:07 <b_jonas> As for the overhead of noping, you could at least change it so that it adds a character only once per nick,
22:46:45 <shachaf> ais523 is the noping expert
22:46:46 <oerjan> b_jonas: the problem is where to place it
22:47:00 <shachaf> Or really any 90 programmer.
22:47:01 <b_jonas> And for even less overhead, we could go back to that older method that adds diacritics to a character in a nick, since that typically adds only one byte, eg. øerjan, b_jónas, etc
22:47:14 <shachaf> `? noping
22:47:15 <HackEgo> noping? ¯\(°​_o)/¯
22:47:17 <oerjan> you cannot place it just before the end because of, say, oerjan_
22:47:38 <FireFly> I was thinking just after the first character
22:47:40 <oerjan> or the beginning because both i and shachaf match on a tail part
22:47:40 <b_jonas> oerjan: sure, so place in between two letters that are closest to the middle, or something
22:47:43 <shachaf> `learn noping is programming in 90
22:47:45 <HackEgo> Learned 'noping': noping is programming in 90
22:47:47 <FireFly> Oh right
22:48:16 <b_jonas> hmm
22:48:29 <b_jonas> or is "øerjan" not enough because you match on the end?
22:48:40 <oerjan> b_jonas: for shachaf shac-haf would work but not sha-chaf
22:49:05 <oerjan> b_jonas: it's not enough because i match only on rjan precisely because people sometimes use the ø
22:49:07 <b_jonas> oerjan: huh... why is the latter not enough?
22:49:27 <oerjan> b_jonas: because shachaf matches on chaf
22:49:34 <oerjan> iirc
22:49:34 <b_jonas> hmm
22:50:00 -!- hppavilion[1] has joined.
22:50:10 <oerjan> b_jonas: anyway. that particular problem can be solved with an exception list.
22:50:31 <b_jonas> something like that, yes, a list of heuristic telling what to modify how
22:50:50 <b_jonas> although you'll have to be careful to not make it lie (masquarading a nick to something else, to avoid being identified as a culprit)
22:50:52 <FireFly> Hm
22:51:03 <oerjan> hm does ais523 match on ais?
22:51:20 <FireFly> I don't suppose HackEgo would have any way to know what nicks are online?
22:51:40 <b_jonas> So what would we have to do with your nick? would oeŕjan work? or would we need Esperanto stuff like oerĵan?
22:52:01 <FireFly> Just ZWSP between r and jan I guess
22:52:11 <b_jonas> oerjan: I don't think so, and besides, he's rarely online so you can't easily misping him
22:52:23 <b_jonas> FireFly: that's two bytes more than a diacritic
22:52:28 <FireFly> True
22:52:49 <FireFly> well. is it really longer than ĵ?
22:52:56 <b_jonas> FireFly: yes, that's still only two bytes
22:53:02 <b_jonas> in utf8 that is
22:53:06 <FireFly> `` hexdump -C <<<"ĵ"
22:53:08 <HackEgo> 00000000 c4 b5 0a |...| \ 00000003
22:53:11 <FireFly> I see
22:53:20 <FireFly> `` unidecode "ĵ"
22:53:21 <HackEgo> ​[U+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX]
22:53:30 <FireFly> Ah, didn't realise it's that low
22:53:37 <b_jonas> FireFly: anything in \x{80}-\x{7ff} is two bytes
22:53:59 <FireFly> What language allows that kind of \x escape?
22:54:03 <oerjan> FireFly: online nicks won't work for me, since my main noping interest is being able to usefully search for my nick in the logs.
22:54:03 <shachaf> oerjan: chaf\b
22:54:04 <b_jonas> FireFly: perl
22:54:07 <FireFly> Ah
22:54:18 <FireFly> oerjan: oh. bummer.
22:56:01 * oerjan thought ais523 was online pretty frequently. just not always.
22:56:42 <FireFly> Re. \x, in my mind \u escapes are for codepoints and \x escapes for raw bytes
22:57:20 <b_jonas> oh, that reminds me
22:57:30 <b_jonas> would oerjаn ping you?
22:57:44 <b_jonas> or how about oerјan?
22:57:54 <oerjan> b_jonas: in fact it doesn't ping me in irssi even if you don't do anything.
22:57:57 <b_jonas> those are still just one byte extra
22:58:09 <b_jonas> oerjan: sure, but when you search the logs or something
22:58:11 <oerjan> somehow irssi only catches it at the beginning of the line
22:58:35 <b_jonas> um, those kinds of things depend on client-side settings of what you're listening to
22:58:43 <b_jonas> (the whole ping stuff does, obviously)
22:58:46 <oerjan> b_jonas: oh. neither lights up in search.
22:58:49 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
22:59:57 -!- boily has joined.
23:00:33 <b_jonas> ok, so what if noping printed a pair of a random seed and a HMAC-SHA256 sum computed from the seed and the nick? Then it would ping only people who check their nicks to every seeded hash on the channel?
23:01:25 <b_jonas> Mind you, that also means whoever reads the noping reply can only check for the occurance of specific nicks they guess (case-sensitive, unless the nick is normalized before the checksum), not decode the checksums.
23:01:31 <b_jonas> So it might be impractical.
23:01:38 <boily> @metar CYUL
23:01:40 <lambdabot> CYUL 242200Z 05024KT 4SM -FZRA BKN008 OVC015 M01/M02 A2975 RMK SF6SF2 PRESFR SLP077
23:01:51 <FireFly> I think this might defeat the point of noping
23:01:52 <b_jonas> Plus, it's also too long compared to the other solutions.
23:02:24 <oerjan> b_jonas: noping is supposed to be readable hth
23:02:46 <b_jonas> Ok, let's go back to the character replacement idea then
23:02:57 <oerjan> b_jonas: i would of course prefer a method that's invisible.
23:02:58 <shachaf> `? hash
23:02:59 <HackEgo> hash? ¯\(°​_o)/¯
23:03:15 <shachaf> `` hg log wisdom | grep hash | grep ais523
23:03:18 <HackEgo> summary: <ais523> le/rn hash 2346ad27d7568ba9896f1b7da6b5991251debdf2
23:03:38 <shachaf> I suspect that's a SHA-1 hash of "hash"
23:03:44 <oerjan> shachaf: is there any zero width character that is not irc formatting code that doesn't mess up your client?
23:03:54 <FireFly> Seems so
23:04:02 <shachaf> oerjan: I think zero-width space might be OK.
23:04:04 <shachaf> Or it might not.
23:04:05 <shachaf> I don't know.
23:04:14 <shachaf> You should just make a special case for me.
23:04:32 <boily> @metar CYUL
23:04:33 <lambdabot> CYUL 242200Z 05024KT 4SM -FZRA BKN008 OVC015 M01/M02 A2975 RMK SF6SF2 PRESFR SLP077
23:04:39 <FireFly> Wasn't the issue that the ZWSP rendered weirdly?
23:04:40 <oerjan> shachaf: um a special case for you won't work
23:04:44 <boily> aurgh. I want the current metar.
23:04:53 <oerjan> because your client breaks when _other_ people are nopinged.
23:05:08 -!- lambda-11235 has joined.
23:05:14 <shachaf> oerjan: true
23:06:03 <b_jonas> shachaf: does a \x0e still mess up your terminal? and does \x9b mess up your terminal if it appears in an utf-8 char
23:06:26 <shachaf> Look, I don't know.
23:06:41 -!- `^_^v has quit (Quit: This computer has gone to sleep).
23:06:46 <b_jonas> because I sort of think that if they do, it's sort of such a heavy client issue that we don't really have to work around
23:07:07 <FireFly> I was thinking ZWJ might be more semantically appropriate than ZWSP
23:07:30 <oerjan> `unicode ZERO WORD JOIN
23:07:33 <HackEgo> No output.
23:07:34 <b_jonas> shachaf: also, same question about \x05
23:07:40 <FireFly> `unicode zero width joiner
23:07:41 <HackEgo> ​‍
23:07:43 <boily> @metar CYUL
23:07:43 <lambdabot> CYUL 242300Z 05019G26KT 4SM -FZRA BKN007 OVC015 M01/M01 A2970 RMK SF6SF2 PRESFR SLP060
23:07:51 <boily> aaah! much better.
23:07:57 <FireFly> @metar ESSB
23:07:58 <lambdabot> ESSB 242250Z AUTO 23005KT 9999 NCD M02/M05 Q0999
23:07:58 <boily> wait. it's getting worse.
23:08:07 <shachaf> @metar KOAK
23:08:07 <lambdabot> KOAK 242253Z 28010KT 10SM FEW200 21/09 A3010 RMK AO2 SLP193 T02060089
23:08:28 <oerjan> `` echo -n boi; unicode zero width joiner; echo ly
23:08:29 <HackEgo> boiU+200C ZERO WIDTH NON-JOINER \ UTF-8: e2 80 8c UTF-16BE: 200c Decimal: &#8204; \ ‌ \ Category: Cf (Other, Format) \ Bidi: BN (Boundary Neutral) \ \ U+200D ZERO WIDTH JOINER \ UTF-8: e2 80 8d UTF-16BE: 200d Decimal: &#8205; \ ‍ \ Category: Cf (Other, Format) \ Bidi: BN (Boundary Neutral) \ \ ly
23:08:31 * boily mapoles a few clouds at the shachafweather
23:08:37 <oerjan> ff
23:08:38 <shachaf> @@ (@metar CYUL) (@metar KOAK) (@mtar ENVA)
23:08:39 <lambdabot> Plugin `compose' failed with: Unknown command: "mtar"
23:08:41 <b_jonas> oerjan: if shachaf really matches on "chaf", then we probably need an exception for him anyway, to make sure we modify one of those chars
23:08:43 <boily> oerjan: BWAH AH AH :D
23:08:44 <shachaf> @@ (@metar CYUL) (@metar KOAK) (@metar ENVA)
23:08:45 <lambdabot> CYUL 242300Z 05019G26KT 4SM -FZRA BKN007 OVC015 M01/M01 A2970 RMK SF6SF2 PRESFR SLP060 KOAK 242253Z 28010KT 10SM FEW200 21/09 A3010 RMK AO2 SLP193 T02060089 ENVA 242250Z 27015KT 9999 SCT006 BKN015 02/01 Q0999 RMK WIND 670FT 28016KT
23:08:49 <oerjan> `` echo -n boi; unicode 'zero width joiner'; echo ly
23:08:50 <HackEgo> boi‍ \ ly
23:09:03 <shachaf> metar soup is my favorite
23:09:06 <boily> sorry, it was just perfect.
23:09:15 <oerjan> b_jonas: i think we should _entirely_ separate the question of finding a character that works, from where to place it.
23:09:25 <oerjan> darn
23:09:33 <b_jonas> oerjan: sure
23:09:42 <FireFly> `` echo -n boi; unicode 'zero width joiner' | tr -d \\n; echo ly # third time's the charm
23:09:43 <HackEgo> boi‍ly
23:09:48 <b_jonas> oerjan: and finding a character that works is usually easy, unless the name is like very short or contains only strange chars
23:09:58 <oerjan> boily: did that ping you
23:10:09 <oerjan> shachaf: did that mess up your client
23:10:32 <shachaf> oerjan: It's hard to tell.
23:10:35 <oerjan> (what FireFly did)
23:10:43 <shachaf> It doesn't mess it up immediately and not deterministically.
23:10:48 <oerjan> shachaf: fff
23:10:56 <boily> oerjan: nope.
23:11:05 <shachaf> I think it's fine.
23:11:10 <shachaf> But I might be wrong.
23:11:20 <shachaf> `le/rn weather/?? (?metar CYUL) \ (?metar ENVA) \ (?metar ESSB) \ (?metar KOAK)
23:11:25 <HackEgo> Learned «weather»
23:11:26 <shachaf> `? weather
23:11:28 <HackEgo> ​?? (?metar CYUL) \ (?metar ENVA) \ (?metar ESSB) \ (?metar KOAK)
23:11:31 <oerjan> ok, maybe we should try that character, then.
23:11:42 <shachaf> `le/rn weather/lambdabot: ?? (?metar CYUL) \ (?metar ENVA) \ (?metar ESSB) \ (?metar KOAK)
23:11:45 <HackEgo> Learned «weather»
23:11:50 <shachaf> Oops, now my terminal is messed up.
23:11:55 <shachaf> But I don't know what caused it.
23:11:59 <shachaf> `? weather
23:12:22 <HackEgo> lambdabot: ?? (?metar CYUL) \ (?metar ENVA) \ (?metar ESSB) \ (?metar KOAK)
23:12:23 <lambdabot> CYUL 242300Z 05019G26KT 4SM -FZRA BKN007 OVC015 M01/M01 A2970 RMK SF6SF2 PRESFR SLP060 \ ENVA 242250Z 27015KT 9999 SCT006 BKN015 02/01 Q0999 RMK WIND 670FT 28016KT \ ESSB 242250Z AUTO 23005KT 9999 NCD M02/M05 Q0999 \ KOAK 242253Z 28010KT 10SM FEW200 21/09 A3010 RMK AO2 SLP193 T02060089
23:12:44 <boily> wait. you can chain Hackie and Lambdie together?
23:16:03 <b_jonas> oerjan: we can use, like, replace one of [aceinorstuy] with [асеіņоŗșțúý] and their uppercased versions, and most nicks contain one of those
23:16:11 <boily> time to go outside again and ingest lots of szechuan peppers.
23:16:25 -!- boily has quit (Quit: CONVERTER CHICKEN).
23:16:59 <oerjan> <shachaf> But I don't know what caused it. <-- i suspect it's the ZWSP HackEgo put before ?? in `? weather
23:17:10 <shachaf> Oh, maybe.
23:17:31 <oerjan> b_jonas: um, i'm thinking we can use the ZWJ that we just tested
23:17:57 <b_jonas> oerjan: maybe, but that's two bytes more per nick, and we often want to noping an entire long list of nicks
23:18:28 <oerjan> *sigh*
23:19:04 <b_jonas> although I'm not really sure how you'd noping "^v". maybe like "↑v" (which is two extra bytes, not only one).
23:19:42 <oerjan> b_jonas: ok, what about only using those chars you said that look entirely identical, and use ZWJ if there aren't enough appropriate ones?
23:19:57 <b_jonas> oerjan: I didn't say any look entirely identical
23:20:12 <oerjan> the aceio looked identical to me
23:20:15 <b_jonas> but sure, if you don't find a suitable replacement, then put in a zwsp
23:20:26 <b_jonas> oerjan: that rather depends on the font.
23:20:29 <oerjan> b_jonas: ZWJ
23:20:41 <b_jonas> oerjan: that then
23:21:37 <b_jonas> For me, only "c" looks entirely identical here, although some others look very similar. Always because they're not in my font so they're taken from a replacement font.
23:22:25 <b_jonas> There's more possible replacements of course, that set was just an idea.
23:22:32 <b_jonas> s/set/map/
23:24:50 <oerjan> so, if a nick is 5 chars or shorter, it gets only one replacement, i think, preferably not at the very end (but can't do much about length <=3 there)
23:25:22 <oerjan> if it's 6 chars or longer, it gets two.
23:25:26 <b_jonas> oerjan: preferably also not at the very beginning
23:25:35 <oerjan> er *ends
23:25:58 <oerjan> that somehow got lost in the thinking
23:26:11 <b_jonas> oerjan: and preferably not two from the end if the last but one char matches [-\\|_]
23:28:54 <oerjan> i think maybe those chars should just be stripped finally before starting to look for where to replace
23:29:29 <oerjan> any number, as long as there are at least 2 chars left
23:29:43 <b_jonas> oerjan: maybe, but make sure you get something sensible (possibly the original nick) even for very short nicks or nicks made of all underscores or stuff like that where you can't really replace anything
23:30:26 <oerjan> well i don't mean stripping as in removing from the output
23:30:31 <b_jonas> sure
23:30:43 <b_jonas> just, like, don't raise an error or something
23:31:51 <oerjan> actually, since the aceio are all alphabetical, we can assume they're part of the essence of the nick if they appear
23:32:13 <b_jonas> oerjan: and test some (actual) all consonant nicks like mt..ve, st..th, n..ht, s..ki, ^..v, t..tr, ly..nn,
23:32:44 <b_jonas> oerjan: just aceio is definitely not enough though, there's lots of nicks with none of those
23:34:57 <oerjan> mt..ve might not count, i think we can use the e
23:35:06 <b_jonas> oh
23:35:08 <b_jonas> true
23:36:42 <b_jonas> oerjan: how would you quote in..t-..e ?
23:37:08 <b_jonas> I've no idea what pings him and what doesn't
23:37:26 <oerjan> hm good point, he _might_ ping on just in..t-
23:38:01 <b_jonas> oerjan: that wouldn't be a problem, since you can replace the n or the t or the i
23:38:08 <oerjan> maybe 5 chars is too little for just one replacement if it's at the end
23:38:16 <b_jonas> oerjan: but I wonder if he pings on t..-..e alone or something
23:39:04 <oerjan> perhaps the basic rule should be, there needs to be a replacement in the first 4 chars and one in the last 4, which may overlap
23:40:41 <b_jonas> um, dunno. that could make something replaced at the very beginning and very end like oerjan| => öerjan¦
23:40:50 <oerjan> except hm
23:41:01 <oerjan> oh hm
23:41:22 -!- puckipedia has quit (Ping timeout: 255 seconds).
23:42:35 <b_jonas> you could still get in trouble with nicks that have no or almost no letters of course, but in that case you can fall back to the invisible character
23:42:46 <b_jonas> but there aren't many such nicks
23:43:29 -!- hppavilion[1] has joined.
23:43:31 <hppavilion[1]> Here's an idea I'm thinking about: A strongly-typed programming language that looks normal
23:43:40 <b_jonas> there are people using strange nicks like [-__-] and stuff
23:43:53 <oerjan> hi hppavilion[1] what part of your nick pings you
23:43:56 <hppavilion[1]> Except it has all these wacky features that make no sense, but that you can't identify from just reading the syntax
23:44:10 <hppavilion[1]> oerjan: hp, hppavilion[1], and hppavellon[1]
23:44:24 <oerjan> ARGH
23:44:28 <hppavilion[1]> oerjan: Why?
23:44:31 <oerjan> b_jonas: this is doomed :P
23:44:33 <hppavilion[1]> I can disable "hp"
23:44:43 -!- puckipedia has joined.
23:44:46 <b_jonas> hppavilion[1]: "hp" only as a separate word, or anywhere?
23:44:47 <hppavilion[1]> It was added recently because of someone who thought typing my full nick was too much work
23:44:52 <hppavilion[1]> b_jonas: Not sure
23:44:57 <hppavilion[1]> But seriously, I can just remove it
23:44:59 <hppavilion[1]> Why?
23:45:01 <b_jonas> hpc: does this ping you?
23:45:04 <hppavilion[1]> Nope
23:45:09 <b_jonas> oerjan: see!
23:45:13 <oerjan> hppavilion[1]: we're trying to invent a ping prevention scheme that doesn't escape too many chars
23:45:26 <b_jonas> oerjan: only as a separate word,
23:45:32 <b_jonas> so almost any replacement works
23:45:47 <hppavilion[1]> oerjan: Have you tried putting it in []?
23:45:48 <oerjan> ah
23:46:09 -!- lynn_ has joined.
23:46:09 <hppavilion[1]> '[oerjan] said "Hi"! at 12+2i o\' clock'
23:46:16 <hppavilion[1]> [oerjan]
23:46:17 <oerjan> hppavilion[1]: not going to work for me
23:46:21 <hppavilion[1]> oerjan: Oh :/
23:46:32 <oerjan> i search for "rjan"
23:48:01 <b_jonas> ah right, just "rjan" so that örjan or ørjan or œrjan pings you
23:48:09 <oerjan> `` (echo h; echo p; unicode 'zero width joiner'; echo a) | tr -d '\n'
23:48:14 <HackEgo> hp‍a
23:48:23 <shachaf> zero width joiner
23:48:29 <shachaf> hpa
23:48:36 <b_jonas> oerjan: huh? you'd just replace the i or the a in his name
23:48:41 <oerjan> hppavilion[1]: did that HackEgo response ping you?
23:48:45 <b_jonas> oerjan: or replace both the o and the a
23:48:49 <hppavilion[1]> hppavilion[1]: It appears it did
23:48:57 <hppavilion[1]> Whoops, oerjan
23:48:59 -!- Treio has joined.
23:48:59 -!- lynn has quit (Ping timeout: 240 seconds).
23:49:01 * hppavilion[1] is an idiot
23:49:06 <shachaf> Hmm.
23:49:11 <shachaf> Did I ping you?
23:49:15 <shachaf> I didn't realize what was going on.
23:49:32 <hppavilion[1]> shachaf: No, strangely
23:49:53 <oerjan> b_jonas: i was just testing if the ZWJ actually could mess it up if placed after the p
23:50:07 <hppavilion[1]> oerjan: What is the purpose of this ping prevention scheme?
23:50:17 <b_jonas> oerjan: yeah, makes sense
23:50:53 <hppavilion[1]> So a feature of my normal-looking crazy language (which I may integrate with another project so as to cut down on my projects) is complex fuzzy bag typing.
23:50:59 <hppavilion[1]> Because nothing could be stranger than that.
23:51:10 <b_jonas> oerjan: I'll have to figure out something to decide about matches of /\bjonas\b/ which one refers to me and which doesn't. Sadly, jonas is too common a word.
23:51:13 <oerjan> hppavilion[1]: for HackEgo commands like `culprits
23:51:41 <hppavilion[1]> oerjan: Ah
23:51:47 <b_jonas> One solution that might actually make sense is to change my screen name, since then I can choose a nick that rarely accidentally matches,
23:52:21 <b_jonas> althoguh that would of course have the dual problems that people would still use b_jonas as my name, and that people wouldn't recognize me when I speak or when others speak of me using my new nick.
23:52:45 <hppavilion[1]> b_jonas: You could just add some characters
23:52:47 <hppavilion[1]> b__jonas?
23:52:57 <b_jonas> hppavilion[1]: um no, "b_jonas" itself is unique enough
23:53:05 <b_jonas> hppavilion[1]: it's just "jonas" alone that's the problem
23:53:10 <hppavilion[1]> b_jonas: Ah
23:53:13 <hppavilion[1]> Makes sense
23:53:31 <oerjan> jonas i hvalfiskens buk
23:53:42 <hppavilion[1]> b_jonas: Configure your IRC client to only acknowledge b_jonas when the characters on either side are not acceptable nick characters?
23:53:43 <b_jonas> oerjan: huh?
23:53:49 -!- Sprocklem has quit (Ping timeout: 252 seconds).
23:54:01 <b_jonas> hppavilion[1]: no no, "b_jonas" anywhere, even with surrounding characters, almost certainly refers to me
23:54:22 <oerjan> b_jonas: just some silly archaic biblical dano-norwegian
23:54:24 <hppavilion[1]> b_jonas: Yes, but that would work
23:54:28 <b_jonas> hppavilion[1]: like I said, it's "jonas" or "Jonas" alone that are problems, without the "b_" or other similar prefixes
23:54:48 <hppavilion[1]> Oh
23:54:50 <hppavilion[1]> Wait, what?
23:54:58 <hppavilion[1]> How does that ping you then?
23:55:19 <b_jonas> oerjan: yes, the bible _is_ the reason why Jonas became a popular name, which is indirectly why it's a common word on irc, and also indirectly why I use this nick
23:55:41 <b_jonas> hppavilion[1]: it might or might not, depending on my settings, but if it doesn't ping me, that's the opposite problem, then I might lose lines that actually refer to me
23:55:47 <oerjan> to b_ or not to b_, that is the question
23:56:01 <hppavilion[1]> b_jonas: And do people ever just refer to you as "jonas"?
23:56:05 <b_jonas> oerjan: yes, I mangle the "b_" in various ways, so "Be" actually occurs
23:56:17 <b_jonas> hppavilion[1]: sure, I even have "jonas" as the nick on some websites
23:56:22 <hppavilion[1]> Oh
23:56:25 <b_jonas> hppavilion[1]: it's rare on irc, where everyone sees my nick
23:56:28 <b_jonas> but it can happen
23:56:36 <b_jonas> it's a reasonable abbreviation
23:57:49 <b_jonas> I'll probably just use some dirty heuristics, like ignoring just "jonas" on certain high-traffic channels where it occurs the most frequently (but still looking for the more specific variants like "b_jonas" of course).
23:58:11 <b_jonas> hppavilion[1]: I used "jonas" before I came up with "b_jonas" to make it unique
2016-02-25
00:01:20 <shachaf> should've used FireFly
00:02:37 <FireFly> Have you been stalking me recently
00:04:44 -!- tromp_ has joined.
00:05:26 -!- Yurume has joined.
00:08:49 <hppavilion[1]> complex fuzzy bag typing.
00:08:56 <hppavilion[1]> A type check returns a complex number.
00:09:13 -!- tromp_ has quit (Ping timeout: 252 seconds).
00:09:49 -!- XorSwap has joined.
00:19:55 -!- hppavilion[2] has joined.
00:22:25 <hppavilion[2]> I still want to play nomic
00:23:31 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
00:23:36 -!- hppavilion[2] has changed nick to hppavilion[1].
00:25:19 <Sgeo> Agora still exists afaik
00:25:31 <hppavilion[1]> Sgeo: Oh yeah, Agora
00:25:58 <coppro> probably
00:26:03 <coppro> I unsubbed from the mailing lists last year
00:26:05 <oerjan> it does. there's even been some activity lately.
00:26:07 <coppro> cool
00:26:15 <coppro> I'll probably get back in at some point
00:31:30 -!- lleu has quit (Quit: That's what she said).
00:33:05 -!- Treio has quit (Ping timeout: 250 seconds).
00:42:39 -!- hppavilion[1] has quit (Quit: Leaving).
00:43:04 -!- hppavilion[1] has joined.
00:45:43 -!- oerjan has quit (Quit: Nite).
00:59:24 -!- mad has joined.
01:01:56 -!- mad has quit (Read error: Connection reset by peer).
01:15:52 -!- Sprocklem has joined.
01:24:41 <hppavilion[1]> I just went to agora and looked at a random judicial case
01:24:55 <hppavilion[1]> Players: A lambda-nomic has "players", individual beings or groups of beings who participate in the game
01:24:55 <hppavilion[1]> Rules: A lambda-nomic has "rules", statements about what players of the game can and cannot do.
01:24:55 <hppavilion[1]> How to play: A game is played by players following the rules to arbitrary pedanticness.
01:24:55 <hppavilion[1]> Rule Proposal: At any time, a player can propose a new rule, an addendum to a rule, an edit to a rule, or the deletion of a rule. Players then vote on the rule by saying "yea" or "nay", and if there are more "yea"s than "nay"s the rule, addendum, edit, or deletion is enacted. All future moves are based on this rule.
01:24:57 <hppavilion[1]> Whoops
01:25:00 <hppavilion[1]> That was a mistake
01:25:10 <hppavilion[1]> Exhibit by ais523
01:25:12 <tswett> Hey there.
01:25:17 <hppavilion[1]> That's the first thing I saw
01:34:50 -!- lynn_ has quit (Ping timeout: 244 seconds).
01:37:56 -!- tromp_ has joined.
01:41:01 -!- vodkode has joined.
01:44:00 -!- adu has joined.
02:00:22 -!- AlexR42 has joined.
02:03:02 -!- boily has joined.
02:03:18 <boily> @metar CYUL
02:03:20 <lambdabot> CYUL 250100Z 03022G27KT 4SM -FZRA BKN006 OVC010 M00/M01 A2963 RMK SF6SF2 PRESFR SLP036
02:03:36 <boily> Freezing Cow Weather.
02:05:42 -!- tromp_ has quit (Remote host closed the connection).
02:08:50 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:14:06 <quintopia> helloily
02:14:17 <quintopia> aubergine is now online
02:15:03 <boily> quinthellopia!
02:15:07 <boily> aubergine? online?
02:15:16 <quintopia> http://aubergine.tryitonline.net/
02:15:29 <boily> holy fungot.
02:15:30 <fungot> boily: " tackled" in what sense? not to be a web page
02:15:35 <quintopia> purple is too, but ubergenes needs securing
02:15:45 <boily> that is...
02:15:49 <boily> wow.
02:16:04 * boily sheds a tear
02:17:45 <quintopia> dennis is p cool
02:18:10 <quintopia> what you up to?
02:18:55 <quintopia> wanna play games friday?
02:19:40 <boily> I'm back home after a spicy Chinese supper.
02:20:08 <boily> sure! I just have to be home Friday.
02:20:19 <hppavilion[1]> quintopia: Do you own http://tryitonline.net/ ? Or is that a major website I haven't noticed yet?
02:20:36 <boily> hppavellon[1].
02:20:38 <quintopia> hppavilion[1]: dennis owns it
02:20:46 <hppavilion[1]> Who?
02:20:57 <hppavilion[1]> Is that a person I should know about?
02:21:00 <quintopia> boily: just be on steam and ill ping you
02:21:20 <quintopia> hppavilion[1]: sure! everyone should know dennis!
02:21:39 <boily> what's a dennis?
02:21:39 <hppavilion[1]> quintopia: OK, help me know dennis/
02:21:41 <hppavilion[1]> *.
02:21:50 <hppavilion[1]> Whot is this dennis you speak of?
02:22:02 <quintopia> he's the most golfiest of golfers on ppcg
02:22:11 -!- mad has joined.
02:22:27 <hppavilion[1]> Ah!
02:23:41 <shachaf> hppavilion[1]: did you `list yet hth
02:23:52 <shachaf> `? weather
02:23:54 <HackEgo> lambdabot: ?? (?metar CYUL) \ (?metar ENVA) \ (?metar ESSB) \ (?metar KOAK)
02:23:57 <lambdabot> CYUL 250200Z 03021G31KT 5SM -FZRA BKN006 OVC012 M00/M01 A2957 RMK SF6SF2 PRESFR SLP016 \ ENVA 250120Z 27015KT 9999 SCT009 BKN015 02/00 Q0999 RMK WIND 670FT 28015KT \ ESSB 250150Z AUTO 23006KT 9999 NCD M03/M05 Q0998 \ KOAK 250153Z 31007KT 10SM FEW200 17/08 A3010 RMK AO2 SLP194 T01670083
02:24:01 <hppavilion[1]> shachaf: Nope, not even sure what that is
02:24:03 <hppavilion[1]> `list
02:24:11 <HackEgo> b_jonas boily a`a`a`a`jo7as a`a`a`a`jo8as a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname
02:24:12 <quintopia> why not KATL?
02:24:21 <shachaf> quintopia: feel free to add it hth
02:24:44 <shachaf> hppavilion[1]: It's a list of nicks.
02:24:51 <quintopia> lambda would run out of space tho
02:24:56 <hppavilion[1]> shachaf: OK.
02:25:05 <shachaf> And now you're on the list.
02:25:10 <hppavilion[1]> `list
02:25:15 <HackEgo> hppavilion[1] b_jonas boily a`a`a`a`jo7as a`a`a`a`jo8as a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname
02:25:23 <hppavilion[1]> ...
02:25:24 <hppavilion[1]> FUUUUUUUUUUUUUUUUUUUUUUUU
02:25:38 * boily pat pat pat hppavilion[1]
02:25:41 <shachaf> `? list
02:25:42 <HackEgo> list is a fun program that HackEgo has! Run it with `list and join the fun!
02:25:51 <boily> hppavilion[1]: don't worry, it only hurts once.
02:26:15 <boily> shachaf: is there any way to make lambdie answer with multiple messages?
02:26:21 <shachaf> I'm not sure.
02:26:27 <boily> that way we'd cover all the most important metars.
02:26:39 -!- tromp_ has joined.
02:27:04 <hppavilion[1]> quintopia: So I take it that tryitonline executes on the server?
02:28:09 <quintopia> yes
02:28:16 <hppavilion[1]> Ah.
02:29:17 <hppavilion[1]> I'm trying yet again to make a pan-unicode programming language
02:29:39 <mad> neo-apl? :D
02:30:15 <boily> hppavilion[1]: as long as it features ¨ on egregious glyphs, and that multiocular O.
02:30:28 <boily> mad: o hai. are you mad, or madbr?
02:30:43 <shachaf> `? mad
02:30:44 <hppavilion[1]> mad: Nah, it's a stacky lang for now
02:30:44 <mad> mad=madbr=madbrain
02:30:44 <HackEgo> This wisdom entry was censored for being too accurate.
02:31:00 <mad> it's just an alt nick ;)
02:32:00 <boily> makes sense.
02:33:07 <boily> `le/rn madbr/He alternates between making sense, and being logical. He doesn't monetize the brotherhood scheme.
02:33:10 <HackEgo> Learned «madbr»
02:34:55 <quintopia> good night boily
02:35:29 <boily> bonne nuitopia!
02:35:36 <quintopia> hppavilion[1]: sounds pointless :p
02:36:07 <hppavilion[1]> quintopia: Welcome to #esoteric. You new here?
02:36:33 -!- andrew has joined.
02:36:58 <boily> `? quintopia
02:36:59 <HackEgo> quintopia is our resident tl;dr generator. He is flooded by thundercats and thunderdogs.
02:37:09 <boily> `? hppavilion[1]
02:37:10 <HackEgo> hppavilion[1] se describe en las notas al pie. ¿Porqué no los dos? Nadie lo sabe.
02:37:49 <quintopia> hppavilion[1]: are you? most folks here are a lot lazier than that
02:38:15 <hppavilion[1]> quintopia: Fair point xD
02:39:10 <boily> time to hit the sack and understand the inherent properties of my pillow.
02:39:27 <boily> hppavilionne nuit[1].
02:39:48 <boily> mad: eeeeh... bonne nuit toéssi. m'a toujours bin trouver de quoi avec ton nick demain qui fitte avec bonne nuit.
02:40:10 -!- boily has quit (Quit: KERNEL CHICKEN).
02:40:17 <mad> ...oké ;)
02:42:43 -!- mad has quit (Read error: Connection reset by peer).
02:46:52 -!- tromp_ has quit (Remote host closed the connection).
02:47:41 <hppavilion[1]> J"bo!vig!ybnswt <-- encrypted
02:49:16 <^v> i was pinge
02:49:19 <^v> i was pinged*
02:49:25 <^v> <b_jonas> although I'm not really sure how you'd noping "^v". maybe like "↑v" (which is two extra bytes, not only one).
02:49:28 -!- adu has quit (Ping timeout: 255 seconds).
02:49:31 <^v> hi
02:58:03 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
03:04:43 -!- mad has joined.
03:05:32 <mad> got a strange cpu design which seems pretty balanced on paper
03:06:23 <mad> instructions come in 4-instruction groups (32bits each, so each group is 128bits, always aligned)
03:06:38 <mad> 2 go to the "front end", 2 go to the "back end"
03:07:15 <mad> front end is basically a classic MIPS
03:07:41 <mad> except one of the registers is a "queue input" ie every time an instruction writes there, the value is queued to the back-end
03:08:29 -!- AlexR42 has quit (Remote host closed the connection).
03:08:54 <mad> also one of the variants of 'store' doesn't specify the data to store and simply protects the memory address from loading/storing until the back-end queues an output value
03:09:49 <mad> the back end is also similar to a MIPS but one of the registers is a 'queue input', which pops one value coming in from the front end
03:10:30 <mad> and the result of an alu operation can be queued to the memory output queue
03:10:59 <mad> also the back end only has ALU operations, no load/store
03:11:12 <deltab> how is an address protected?
03:11:29 <mad> the address is added to the write queue
03:11:49 <mad> every time a value is loaded/stored, it's compared to all the addresses in the write queue
03:12:26 <mad> if any matches, it stalls until the matching write in the write queue is executed
03:13:41 <mad> most CPUs these days do this actually
03:13:48 <mad> it's just that they don't expose it
03:20:22 -!- Alcest has joined.
03:22:09 -!- tromp_ has joined.
03:22:25 -!- hppavilion[1] has joined.
03:36:44 -!- adu has joined.
03:38:00 -!- mihow has quit (Quit: mihow).
03:47:20 <\oren\> omg why did i put landing legs on my communication satellite?
03:47:37 <int-e> because they're cool
03:48:07 <int-e> or maybe you want to land on a death star.
03:55:48 <mad> so that it can stand upright as ppl work on it?
03:56:08 <mad> though I guess you'd remove the legs before sending it to space
03:56:18 <int-e> yeah
03:57:50 <int-e> (the reason why I chose the death star is that the satellite isn't going to change its speed much, so most of the approach navigation will have to be done by the object it's going to land on)
03:58:45 -!- XorSwap has quit (Quit: Leaving).
04:02:33 -!- lambda-11235 has quit (Ping timeout: 240 seconds).
04:18:03 <quintopia> anyone feel like gaming
04:19:07 <adu> hppavilion[1]!
04:19:17 <quintopia> adu!
04:19:29 <quintopia> wait... i don't know you
04:19:32 <quintopia> `? adu
04:19:37 <HackEgo> adu? ¯\(°​_o)/¯
04:19:40 <hppavilion[1]> adu!
04:19:47 <quintopia> neither does hackego :/
04:19:48 <hppavilion[1]> `? quintopia
04:19:53 <HackEgo> quintopia is our resident tl;dr generator. He is flooded by thundercats and thunderdogs.
04:19:59 <hppavilion[1]> `le/rn adu/Bye!
04:20:02 <HackEgo> Learned «adu»
04:20:10 <quintopia> clever :P
04:20:10 <adu> hppavilion[1]: what's happening with my nick?
04:20:20 <hppavilion[1]> adu: ?
04:20:25 <adu> hppavilion[1]: I just had a power outage for 1 hour
04:20:35 <hppavilion[1]> adu: Is the line not highlighted all the way?
04:20:42 <hppavilion[1]> Ah, power outages suck
04:20:51 <adu> hppavilion[1]: we lit like 50 candles, and then blew out 50 candles when the power came on again
04:20:57 <hppavilion[1]> xD
04:21:01 <adu> it was fun
04:21:04 <hppavilion[1]> adu: Did I tell you about thoof?
04:21:15 <adu> hppavilion[1]: is that the proof about Peano?
04:21:27 <adu> hppavilion[1]: or PCRE-based proofs?
04:21:33 <hppavilion[1]> Yes
04:21:37 <adu> hppavilion[1]: Yes
04:21:38 <hppavilion[1]> PCRE-based proofs
04:21:41 <hppavilion[1]> OK
04:21:57 <hppavilion[1]> I'm low on battery
04:22:07 <adu> hppavilion[1]: are you having a power outage?
04:22:56 <adu> and what's with the ZWSP?
04:22:56 <hppavilion[1]> No
04:23:09 <adu> ¯\(°​_o)/¯
04:23:35 <hppavilion[1]> ZWSP???
04:23:58 <int-e> zero-width-space?
04:24:01 <adu> in my font, looks like ¯\(°[ZWSP])/¯
04:24:11 <hppavilion[1]> Oh'
04:24:45 <adu> I'm trying to figure out what it's supposed to look like
04:25:04 <hppavilion[1]> It's not supposed to render
04:25:27 <adu> then what is it?
04:25:45 <adu> hppavilion[1]: what does it look like on your screen?
04:25:46 <hppavilion[1]> Zero-width spacer?
04:25:52 <hppavilion[1]> Nothing
04:25:59 <int-e> (°_o)
04:26:09 <adu> ah
04:26:12 <adu> eyes?
04:26:14 <hppavilion[1]> int-e: We should make one with legs xD
04:26:23 <hppavilion[1]> (°_o)
04:26:25 <hppavilion[1]> / \
04:26:29 <int-e> hppavilion[1]: myndzi is awol
04:26:29 <prooftechnique> It's the dunno lol face
04:26:30 <hppavilion[1]> No...
04:26:35 <hppavilion[1]> (°_o)
04:26:37 <hppavilion[1]> |
04:26:40 <hppavilion[1]> / \
04:26:42 <prooftechnique> hppavilion[1]: That looks more like it's laughing
04:26:44 <adu> I see the arms, I don't see the face
04:27:02 <adu> hppavilion[1]: I have a special font that renders unicode spaces
04:27:06 <hppavilion[1]> adu: Have you not seen it before?
04:27:09 <hppavilion[1]> adu: That must be it then
04:27:11 <adu> hppavilion[1]: seen what?
04:27:27 <adu> I've seen butt face: (_|_)
04:27:30 <int-e> `? questionable content
04:27:31 <HackEgo> questionable content? ¯\(°​_o)/¯
04:27:34 <prooftechnique> http://idunnolol.com/
04:27:35 <hppavilion[1]> adu: I think that oerjan was doing something with ping prevention
04:27:42 <adu> hppavilion[1]: is that a 4chan thing?
04:27:48 <hppavilion[1]> ¯\_(ツ)_/¯
04:27:50 <hppavilion[1]> :(
04:27:59 <hppavilion[1]> The middle doesn't render
04:28:00 * adu doesn't do 4chan
04:28:06 <prooftechnique> ¯\(°_o)/¯
04:28:08 <adu> looks like katakana
04:28:28 <adu> prooftechnique: that's better :)
04:28:44 <prooftechnique> Yay!
04:28:55 <adu> prooftechnique: looks like zim or grr making *whaaa* or *wheee* face
04:29:11 <prooftechnique> That's a fair comparison :D
04:29:22 * adu likes zim and grr
04:29:26 * adu doesn't like 4chan
04:30:07 <hppavilion[1]> adu: Nobody likes 4chan. They all moved to infinitychan.
04:30:14 <hppavilion[1]> `? 4chan
04:30:15 <HackEgo> 4chan? ¯\(°​_o)/¯
04:30:18 <hppavilion[1]> ...
04:30:22 <adu> lolol
04:30:26 <hppavilion[1]> ಠ_ಠ
04:30:37 <hppavilion[1]> I'm not angry, I'm just disappointed.
04:30:54 <adu> 💩
04:31:49 <adu> I can't wait until they make racist fonts
04:32:04 <hppavilion[1]> adu: ?
04:32:11 <adu> http://unicode.org/reports/tr51/
04:33:48 <adu> Sorry, not "racist", I meant "FITZPATRICK TYPE"
04:34:29 <int-e> `learn 4chan is twice as loud as stereo.
04:34:32 <HackEgo> Learned '4chan': 4chan is twice as loud as stereo.
04:34:48 <hppavilion[1]> adu: Unicode discriminates against purple people with ultraviolent pokadots
04:34:57 <adu> hppavilion[1]: lol
04:35:18 <hppavilion[1]> Pokadots that will rip you to shreds given the chance
04:36:57 <adu> you know how some people want to go back in time and kill hitler?
04:37:18 <adu> I want to go back in time and kill 4chan, and gif, and compuserve
04:37:48 <shachaf> gif is great
04:37:55 <prooftechnique> What did gif ever do to you?
04:38:01 <adu> shachaf: tell that to PNG, and JPEG2000
04:38:09 <hppavilion[1]> adu: It also discriminates against black gas pumps
04:38:11 <int-e> adu: none of which were around in 1989
04:38:20 <prooftechnique> Choosy moms choose GIF
04:38:32 <prooftechnique> Though I shudder to pronounce it that way
04:38:33 <int-e> adu: gif is *old*. it was great at the time.
04:38:38 <adu> int-e: well, maybe I'll publish a paper on DWTs in 1972
04:39:02 <int-e> much better than PCX, for example
04:39:09 <hppavilion[1]> http://unicode.org/reports/tr51/#Subject_Emoji_Modifiers
04:39:26 <prooftechnique> I feel like getting a negative Erdős number would be a productive use of a time machine
04:39:36 <adu> hppavilion[1]: that's the same link
04:39:44 <adu> oh, you did an anchor
04:39:46 <hppavilion[1]> adu: Yes, but that section explains my joke
04:39:47 <adu> n/m
04:40:48 <adu> prooftechnique: you can't publish -1 papers with Erdos
04:41:05 <int-e> adu: really, don't kill gif. kill the netscape navigator authors who came up with the blink tag and thought displaying animanted gives was a bright idea, if you must kill somebody.
04:41:22 <int-e> s/gives/gifs/
04:41:41 <prooftechnique> adu: No, but you could be the primary author on his first paper
04:41:44 <hppavilion[1]> It is beyond the scope of Unicode to provide an encoding-based mechanism for representing every aspect of human appearance diversity that emoji users might want to indicate.
04:41:53 <adu> I would be willing to kill <blink>, but not netscape
04:42:01 <hppavilion[1]> I think I found a new niche for character encodings
04:42:12 <hppavilion[1]> adu: I would just kill the guy who invented blink
04:42:23 <adu> netscape gave birth to mozilla, and mozilla gave birth to Rust, and I am madly in love with Rust
04:42:23 <int-e> adu: whatever was wrong with mosaic ;)
04:42:45 <int-e> we had rust before we had computers...
04:42:55 <hppavilion[1]> adu: A character encoding with ALL the possible emoji in it
04:42:59 <adu> int-e: not rust, "Rust"
04:43:00 <prooftechnique> I'd go back in time and fix the mess that is User-Agent
04:43:10 <adu> https://www.rust-lang.org/
04:43:11 <int-e> (these newfangled language names that are common words really annoy me)
04:43:41 <int-e> (Go is the worst offender, but neither "rust" nor "swift" are much better)
04:43:42 <prooftechnique> Like Ruby? And Python? And C?
04:44:03 <adu> at first, I thought Rust was the same as Dylan, Delphi, Julia, Nim, you know the new compiled langs
04:44:29 <adu> but then it grew on me, and I learned about the borrow, oh, the borrow
04:44:56 <hppavilion[1]> int-e: It's funny that google named their language Go, knowing full well googling "go" will probably get the word excluded from the search
04:45:08 <adu> Go and Swift are tinker toys, I don't really consider them compiled languages
04:45:17 <int-e> hppavilion[1]: they were in the position to "fix" that
04:45:24 <prooftechnique> I'm surprised there isn't a Rust library called Arrietty, yet
04:45:58 <adu> Go and Swift are not really architecturally different than Cython or GCJ, just different names for stuff
04:46:09 <prooftechnique> adu: I think the presence and use of a compiler is what makes them compiled languages. :/
04:46:30 <adu> prooftechnique: is Cython compiled? is GCJ compiled? no
04:46:37 <mad> adu : how do go/swift/cython/gcj work architecturally?
04:46:50 <adu> they're slight optimizations of a fundamentally interpreted model
04:47:25 <prooftechnique> So "compiled" means "compiled to machine code" for you
04:47:38 <prooftechnique> Rather than, say, bytecode or an IR
04:48:06 <adu> prooftechnique: no, compiled is a philosophy, which you can't get by optimizing the interpreted, garbage collected, extremely RTTI-dependant model
04:48:28 <adu> hmm, perhaps I meant statically typed
04:49:04 <mad> my usual classification is (I)static-typed-manual-mem-alloc (C++, asm, pascal...), (II)static-type-globally-garbage-collected (Java, C#), (III) dynamic-typed-globally-garbage-collected (perl, python, lua, javascript...)
04:50:28 <mad> I haven't touched go/swift/etc... but my really murky understanding was that they were somewhere between category (I) and (II)
04:51:15 <adu> one is "I am assembling an efficient binary with as few key presses as possible", and the other is "I'm playing with ideas, to see what happens without a compilation step"
04:52:05 -!- idris-bot has quit (Quit: Terminated).
04:52:25 <mad> like, my classification is based on speed grades: you can get java to run pretty fast, but you can never prevent the garbage collector from stopping the world once in a while, which is why people who need speed grade (I) have never moved to java or C# (video games, pro audio)
04:52:41 -!- idris-bot has joined.
04:53:35 <mad> this is also why asm.js exists: javascript is in speed grade (III) and cannot be moved from there, so they had to come up with something new for a faster speed grade
04:54:02 <adu> mad: Go is similar to Cython in the sense that the Go runtime is pretty much all of Plan9, but you get a binary from it so it's "compiled", Swift is Objective-C with a different syntax, Cython compiles your Python to C using libpython, so all the slowness of Python can still creep up on you, and GCJ compiles Java
04:54:30 <adu> mad: sometimes speed and philosophy are incompatible
04:56:05 <mad> well, yeah, this is why speed grades exist
04:56:18 <adu> prooftechnique: for BC/IR I would use "precompiled"
04:56:39 <adu> prooftechnique: because there's still a lot of work to do
04:56:50 <mad> basically this is "given a perfect compiler/interpreter what's the fastest it can go"
04:57:43 <adu> mad: there are many stop-free GCs, Go just switched to one recently, iirc
04:58:47 <mad> adu: I'll believe that when I see it
04:59:07 <adu> https://talks.golang.org/2015/go-gc.pdf
04:59:13 <hppavilion[1]> | (• ◡•)|
04:59:19 <mad> oh, also, generally grade (III) languages can't be threaded (except for lame workarounds like worker objects)
04:59:23 <hppavilion[1]> (❍ᴥ❍ʋ)
05:00:20 <adu> https://golang.org/doc/go1.5
05:00:26 -!- jaboja has joined.
05:00:36 <mad> and languages in the same speed grade can generally be linked together (like asm and c++ in the same project)
05:01:06 <mad> whereas c++ and java together means you get to use the horribly clunky JNI
05:01:37 <mad> "virtuous cycle"
05:01:47 <adu> mad: well, with your speed grades, I would put Go/Swift in (II) and Rust in (I)
05:02:09 <hppavilion[1]> ಠ‿ಠ
05:02:44 <adu> Go has a clunky FFI because it uses a completely incompatible calling convention
05:03:06 <mad> adu: I remember reading somewhere in rust documentation about one guy proposing to literally remove garbage collected objects so I guess that works there
05:03:11 <adu> Rust uses the clang calling convention, which iirc, is the same as gcc
05:03:37 <adu> mad: there is no gc in rust
05:04:13 <adu> mad: there is a library, which no one uses, which provides a Gc<T> generic type
05:05:16 <adu> mad: I think rust-0.1-alpha had gc builtin, but that was way before 1.0 was released
05:06:12 <mad> "GC pause [graph has points from about 0.2ms to 2.8ms]"
05:07:13 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
05:07:45 <mad> that's probably fast enough for video games (not for pro audio tho ;) )
05:10:01 <mad> "[LATENCY] [50 miliseconds]: Perceptual Causality (cursor response threshold)"
05:10:22 <mad> not true
05:10:46 <mad> that's like 3 frames
05:11:09 <mad> people can see and feel 3 frames
05:13:22 <adu> mad: source?
05:13:23 <mad> also it's impossible to play a synthesizer with 50ms latency
05:13:42 <mad> adu : add a 3 frame lag to a video game
05:13:51 <adu> mad: link?
05:13:54 <mad> guaranteed people will see it
05:14:01 <adu> mad: reference?
05:14:40 <adu> mad: url?
05:15:23 <mad> just play minecraft and you'll see
05:15:38 <adu> mad: minecraft is not written in Rust
05:15:55 <mad> the game has small lags all the time (which is probably inevitable considering how it works)
05:16:40 <adu> mad: so your claim is that a certain lag is perceptible, not that Rust has gc
05:16:46 <mad> yes
05:16:49 <adu> ah ok
05:16:51 <mad> oh
05:16:53 <adu> I was confused
05:17:09 <mad> I thought you were saying that lag wasn't perceptible :o
05:17:09 <mad> :D
05:17:22 <adu> I thought you were saying that Rust had gc
05:17:25 <adu> :P
05:17:28 -!- tromp_ has quit (Remote host closed the connection).
05:17:30 <mad> ha of course not
05:18:07 <adu> my favorite FFI is Haskell's
05:18:33 <mad> if Rust is in speed grade (I) then it has a bright future
05:19:15 <mad> if it was in speed grade (II) then I'd say it has to be better than C# or java... if it's in grade (I) it only has to be better than C++ :D
05:19:24 <adu> "foreign puts :: CString -> IO ()", almost every FFI function has "IO a" as it's return type, there's something beautiful about that
05:19:58 <mad> adu : considering how haskell reorders everything, it pretty much has to, no? :D
05:20:43 <adu> mad: I don't think its so much about reordering as purity
05:21:04 <mad> both come together
05:21:11 <adu> C is "impure", and in order for Haskell to use it, it must be in the IO monad, which contains impurity
05:21:21 <mad> if you don't have purity then you can't reorder anything
05:21:36 <adu> maybe
05:21:51 <mad> you can only do small scale reorderings
05:21:58 <mad> (which is what GCC and LLVM do)
05:22:41 <adu> I once saw a presentation about reordering in Sun's HotSpot JVM, and how it spawned a JCP community around it
05:22:41 <mad> if you increase the scale of the reordering the potential interactions grow way too quickly which is why you can only do small local reorderings
05:23:08 <mad> oh?
05:23:12 <adu> which then led to the official definition of "concurrent java"
05:23:39 <mad> java is also a fundamentally impure language
05:24:19 <mad> and since you have referrences all over the place.. :3
05:24:27 <adu> yeah, and I know that java has had sync primitives from the beginning
05:24:59 <mad> sync is different
05:25:04 <mad> sync is just a mutex
05:26:21 <mad> basically when something is pure, that means it doesn't have referrences
05:27:03 <mad> it's like you can only have one of these two things in a language
05:27:41 <adu> mad: if you're interesting it was something like this: http://www.slideshare.net/alexandermartens/the-java-memory-model
05:27:45 * Sgeo thinks of Rust as a mostly improved but sometimes weakened Haskell-lite
05:27:53 <adu> but I'm pretty sure that's not the exact presentation
05:29:44 <adu> Sgeo: I wouldn't put Rust and Haskell on the same page
05:29:55 <adu> Sgeo: but their type systems are similar
05:30:20 <mad> adu : some of those "atomicity" rules are basically just going with what they implemented on CPUs
05:30:22 <adu> their stance on purity, of course, different
05:31:04 <mad> "Access to variables of primitive types (excluding long and double) and reference variables are atomic."
05:31:12 <Sgeo> &mut is pretty much ... similar to either State or ST, not sure which
05:31:16 <mad> notice the (excluding long and double)
05:31:52 <adu> mad: or maybe it was http://www.slideshare.net/michalwarecki/java-memory-model-23207253
05:32:32 <adu> Sgeo: I never understood State or ST, my haskell programming carrer has been in the IO, List sandbox
05:33:27 <Sgeo> State is take a T, give back a T
05:33:39 <Sgeo> (And another value)
05:34:02 <adu> Sgeo: can I show off my haskell packages?
05:34:20 <Sgeo> Sure, but I'm more obsessed with Rust at the moment
05:34:41 <adu> Sgeo: :D
05:34:56 <adu> Sgeo: then can I show off my rust packages?
05:35:02 <Sgeo> Sure
05:35:14 <adu> https://github.com/andydude/rust-sha
05:38:13 -!- jaboja has quit (Ping timeout: 244 seconds).
05:38:52 -!- hppavilion[1] has joined.
05:39:14 <Sgeo> My packages: https://github.com/Sgeo/take_mut and https://github.com/Sgeo/hlist
05:39:26 <adu> Sgeo: I'm pretty sure it's the only SHA-3 implementation in Rust
05:39:53 <adu> heterogeneous list? are you insane?
05:40:14 <Sgeo> With type-directed lookup reliant on type inference
05:40:18 <hppavilion[1]> Here's something
05:40:23 <hppavilion[1]> Antifunctions.
05:40:27 <mad> kinda wondering
05:40:39 <hppavilion[1]> Functions are things that take [0, infinity) values and produce exactly 1 value
05:40:44 <adu> hppavilion[1]: you missed my showing off of my rust package: https://github.com/andydude/rust-sha
05:40:59 <hppavilion[1]> Antifunctions take exactly one value and return [0, infinity) values
05:41:15 <adu> hppavilion[1]: that sounds like category theory
05:41:26 <hppavilion[1]> adu: Does it?
05:41:27 <hppavilion[1]> GOod
05:41:42 <hppavilion[1]> adu: How about Complex Fuzzy Bag typing (or just normal Fuzzy Bag typing)?
05:42:12 <Sgeo> adu, I also have an anonymous sum type. It feels like playing with water, it just expands to fill its container
05:42:18 <hppavilion[1]> A type can be thought of like a set of possible values; a complex fuzzy bag type can be thought of as a set-like thing where values have a complex number representing how many times they appear in a set
05:42:26 <hppavilion[1]> Sgeo: That's gas.
05:43:05 <Sgeo> Water IS a gas *pretends that's what he had in mind*
05:43:17 <hppavilion[1]> Sgeo: Yeah, no
05:43:35 <hppavilion[1]> Water is only water in liquid form IMHUQO
05:43:48 <adu> hppavilion[1]: you know what would sound even more category theory? co-functions
05:43:56 <Sgeo> https://gist.github.com/Sgeo/ecee21895815fb2066e3
05:44:05 <hppavilion[1]> adu: YES
05:44:08 <hppavilion[1]> co-functions
05:44:14 <hppavilion[1]> adu: How do co-functions work
05:44:21 <adu> hppavilion[1]: lolol
05:44:27 <adu> hppavilion[1]: just how you described
05:44:29 -!- mad has quit (Ping timeout: 240 seconds).
05:44:31 <hppavilion[1]> What happens with the multiple values they return?
05:44:44 <hppavilion[1]> Does the program fork?
05:44:59 <adu> hppavilion[1]: "functions" are co-injective, so "co-functions" are just injective
05:46:07 <adu> but "injective" generally implies a function, so you have to specify "injective mapping"
05:47:01 <adu> hppavilion[1]: it probably works the same way the Haskell List monad does
05:47:14 <hppavilion[1]> adu: The internet will not tell me anything about co-injective
05:47:26 <adu> if you do x <- xs; return (f x)
05:47:37 <adu> that's pretty much the same as a for-loop
05:47:58 <adu> ys = []; for x in xs: xs.append(f(x))
05:48:04 <adu> ys
05:48:06 <adu> damnit
05:48:10 <hppavilion[1]> adu: What does the List Monad do?
05:48:11 <adu> my idea is ruined
05:48:32 <adu> hppavilion[1]: it's kind of like a block, or { ... } thingy that runs on each element of the list
05:48:50 <hppavilion[1]> Ah
05:49:08 <hppavilion[1]> adu: What about semifunctions?
05:49:08 <adu> hppavilion[1]: if you're really interested you should learn about Monads
05:49:13 <hppavilion[1]> I should
05:49:27 <adu> hppavilion[1]: there are only 2 operations defined on a monad: join and return
05:49:43 <hppavilion[1]> OK
05:49:44 <Sgeo> adu, you need fmap too
05:50:06 <adu> hppavilion[1]: "The Haskell Monad" f*cks it up a bit and only defined 2 methods: bind and return
05:50:17 <adu> but other than that "The Haskell Monad" and the mathematical monad are the same
05:51:01 <adu> hppavilion[1]: the List monad makes it easy to see, join :: [[a]] -> [a], and return :: a -> [a]
05:51:08 <hppavilion[1]> adu: So I'm trying to implement a category theory python library
05:51:28 <adu> hppavilion[1]: you can do whatever your heart desires, within reason
05:51:29 <shachaf> adu: The "mathematical monad" is perfectly fine to define in terms of (>>=) and return.
05:51:39 <adu> shachaf: ah, my bad
05:51:47 <shachaf> People do it all the time.
05:51:52 <shachaf> With the Kleisli category or something.
05:51:58 <shachaf> I don't remember what it was called.
05:52:08 <shachaf> The Kleisli category isn't it.
05:52:24 <adu> hppavilion[1]: oh, and bind is pronounced (>>=) in Haskell
05:53:39 <hppavilion[1]> I know
05:54:30 <hppavilion[1]> adu: YES!
05:54:55 <hppavilion[1]> THE _get_morphism_composition() METHOD FOR CATEGORY OBJECTS WORKS!
05:55:06 <hppavilion[1]> Now I just hope that I actually need it
05:55:20 <adu> lol
05:56:16 <hppavilion[1]> (what it does is it looks for pairs of morphisms (f: x -> y, g: y -> z), and creates a new morphism f . g: x -> z
05:56:18 <hppavilion[1]> )
05:56:30 <adu> composition?
05:56:37 <hppavilion[1]> (It uses the composition function the category is endowed with upon creation to compose them)
05:56:50 <adu> "endowed"
05:56:58 <hppavilion[1]> (which is usually just composition adu, yes)
05:57:01 <adu> I prefer "equipped"
05:57:08 <hppavilion[1]> adu: Well, that's passed to the __init__ method.
05:57:11 <adu> I used to do math
05:57:21 <adu> but then I got a job in I.T.
05:57:28 <hppavilion[1]> adu: Did you take a morphism to the knee?
05:57:42 <adu> hppavilion[1]: I'm not sure what that means IRL
05:57:51 <hppavilion[1]> adu: An arrow to the knee
05:57:56 <adu> ah
05:57:57 <adu> no
05:58:05 <hppavilion[1]> adu: It's a hilarious reference to a meme
05:58:20 <adu> hppavilion[1]: you know what my favorite mem is?
05:58:37 <hppavilion[1]> adu: SO am I doing it right so far? It also autogenerates identify morphisms for objects when added
05:58:39 <hppavilion[1]> adu: I do not
05:58:51 <adu> https://en.wikipedia.org/wiki/Metameme
05:59:04 <hppavilion[1]> Whoa
05:59:10 <adu> identify -> identity?
05:59:36 <adu> hppavilion[1]: and now that I've told you about the metameme, you've just been infected with the meta-meta-meme
05:59:58 <hppavilion[1]> NOOOOOOOOOOOOOOOOO
06:00:09 <hppavilion[1]> adu: Yes, yes, identity
06:01:54 <hppavilion[1]> adu: So am I doing it right?
06:02:09 <hppavilion[1]> Also, objects must all be of the same "sort"- graph, group, category, etc.
06:02:38 <hppavilion[1]> Probably I should just github the code and let you go through it, but that would be too easy xD
06:02:45 <adu> hppavilion[1]: do these identity morphisms take up lots of RAM?
06:02:59 <hppavilion[1]> adu: If you have a big category, almost certainly.
06:03:28 <adu> hppavilion[1]: there's something very theraputic/cathartic/Turingesque about learning things through black-box-questioning
06:03:28 <hppavilion[1]> Then again, a morphism only takes up 128 bits IIANAI
06:04:00 <hppavilion[1]> adu: OK
06:05:05 <adu> IIANAI = ?
06:05:11 <hppavilion[1]> If I Am Not An Idiot
06:05:14 <adu> lolol
06:05:21 <hppavilion[1]> Which I am, so that message was pointless.
06:05:33 <adu> I think the proper term is IIRC
06:05:41 <hppavilion[1]> adu: But I'm not remembering, I'm inferring
06:06:05 <hppavilion[1]> I'm guessing that python only uses 64 bits to reference an already-existing object
06:06:11 <adu> "I don't count sheep, I lie down, and try to remember things I've never remembered before"
06:06:24 <hppavilion[1]> xD
06:06:41 <hppavilion[1]> That actually sounds useful 0.0
06:07:01 -!- andrew has quit (Ping timeout: 255 seconds).
06:07:16 -!- andrew has joined.
06:07:38 <hppavilion[1]> adu: So, you can add objects to the category, which will add them and an identity morphism, and you can add morphisms by supplying a domain, a codomain, and a function that represents the transformation
06:08:12 <hppavilion[1]> Adding new morphisms will then make the program check for nontrivial compositions and add them to the list of morphisms.
06:08:25 <adu> http://www.comedy.co.uk/guide/tv/qi/episodes/13/9/ --- well, um, some kind of hashtag for the part about "Tommy's father"
06:08:57 <adu> part -> parts
06:09:03 <adu> s/part/parts/
06:09:21 <adu> sometimes I forget I'm talking to geeks
06:09:35 <hppavilion[1]> adu: Anything else I have to add? Or mention?
06:10:11 <hppavilion[1]> Or did wrong and must now change?
06:10:38 <adu> hppavilion[1]: stacktraces
06:11:22 <hppavilion[1]> adu: ...
06:11:36 <adu> what? stacktraces are important
06:11:53 <hppavilion[1]> adu: I think python will do the stacktraces for me
06:12:02 <adu> oh, right, nm
06:12:29 <adu> I think the most import part of any python library is 1 or 2 well-chosen decorators
06:12:33 <hppavilion[1]> xD
06:12:44 <hppavilion[1]> I hate decorators and don't know why
06:13:28 <adu> for example, the Celery python library has @task for distinguishing between tasks and functions, and the AsyncIO python3 library has @coroutine for distinguishing between coroutines and functions
06:13:50 <hppavilion[1]> adu: What if I want a cotask?
06:14:05 <adu> and, for example, my work has something called @try_requests which wraps an HTTP request with lots of status_code checking
06:14:34 <hppavilion[1]> adu: This isn't a library for other people to use, just a thing for me to understand kittygory theory
06:14:41 <adu> oh
06:14:46 <hppavilion[1]> (I'm in close proximity to a kitty, don't blame me for my puns)
06:14:55 <hppavilion[1]> (and low intelligence)
06:15:10 <adu> hppavilion[1]: well, I'm sorry for revealing a trade secret
06:15:37 <hppavilion[1]> xD
06:15:57 <adu> hppavilion[1]: http://docs.python-requests.org/en/master/
06:16:19 <adu> that's the trade secret, now you know
06:16:37 <hppavilion[1]> adu: I'm not asking what I need for the library, I'm asking what to do to have a working category theory library, which I'm making so that I can understand /what/ category theory is like. To make things clear.
06:16:44 <adu> oh ok
06:17:13 <adu> hppavilion[1]: so you have morphisms, identity morphisms, objects, categories, and functors?
06:17:30 <adu> do you have the https://en.wikipedia.org/wiki/Yoneda_lemma
06:17:37 <hppavilion[1]> adu: Functors- functors are just morphisms in a category category, right?
06:17:57 <shachaf> That's backwards.
06:18:05 <adu> hppavilion[1]: yes, for an object O, morphisms are (:: O -> O)
06:18:10 <shachaf> It's certainly not "just" true.
06:18:24 <adu> hppavilion[1]: functors are (O, C) -> (O2, C2)
06:18:27 <hppavilion[1]> shachaf: What would be more accurate
06:18:52 <adu> for all O in C and for all O2 in C2
06:19:13 <shachaf> A functor F : C -> D maps each arrow in C to an arrow in D such that F1 = 1 and Ff.Fg = F(f.g)
06:19:15 <adu> hppavilion[1]: a functor must be structure-preserving
06:19:34 <hppavilion[1]> Oh god...
06:19:41 <hppavilion[1]> I just remembered why I don't understand category theory
06:19:52 <hppavilion[1]> And I have to close down the computer and watch something soon
06:19:55 <adu> hppavilion[1]: i.e. if O is a terminal object in C, then O2 must be a terminal object in C2
06:20:17 <hppavilion[1]> adu: So morphisms are the arrows in categories, right? Please tell me I got that right?
06:20:22 <adu> hppavilion[1]: NOOOOOOOOOOOOO
06:20:29 <adu> hppavilion[1]: yes
06:20:34 <hppavilion[1]> Oh, phew
06:20:36 <hppavilion[1]> Scared me there
06:20:37 <adu> hppavilion[1]: but functors are not just arrows
06:20:56 <adu> hppavilion[1]: functors are a mapping between categories, in a way that all of the sub-arrows make sense
06:21:01 <hppavilion[1]> Ah
06:21:42 <adu> hppavilion[1]: my "NO" was to your leaving me alone
06:22:20 <hppavilion[1]> gtg
06:22:24 <adu> lol
06:22:31 <hppavilion[1]> xD
06:22:32 <hppavilion[1]> Bai
06:24:32 <adu> hppavilion[1]: you know I was joking, right?
06:25:50 <adu> hppavilion[1]?
06:26:47 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
06:27:28 <adu> wow, hppavilion thought I was serious...
06:32:44 -!- adu_ has joined.
06:35:27 -!- adu has quit (Ping timeout: 276 seconds).
06:35:27 -!- adu_ has changed nick to adu.
06:48:58 <b_jonas> how the heck did I end up on the one list?
06:50:07 <izabera> you searched pictures of isis
06:50:42 <shachaf> `` hg log share/conscripts | grep '<b_jonas>'
06:50:43 <HackEgo> summary: <b_jonas> revert
06:51:18 <b_jonas> huh... but I thought I reverted something else
06:51:20 <b_jonas> strange
06:51:32 <shachaf> I guess bin/list can restrict to culprits that actually ran `list
06:51:44 <b_jonas> ok, whatever, I'll have to dos myself out of the list with other nicks
06:52:09 <shachaf> Not again. :-(
06:54:18 <shachaf> `` hg log | grep -P 'summary: <[^\s>]+> list$' | awk '{print substr($2,2,length($2)-2)}' | sed 's/.$/\x0F&/' | xargs
06:54:21 <HackEgo> hppavilion[1] hppavilion[1] boily a`a`a`a`jo7as a`a`a`a`jo8as a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a lambdabot chicken_jonas myname chicken_jonas boily boily tswett metasepia Ngevd oklopol nortti Phantom_Hoover monqy Sgeo_ pikhq monqy Sgeo elliott Taneb elliott boily cuttlefish Taneb elliott boily ais52
06:54:49 <shachaf> `` hg log | grep -P 'summary: <[^\s>]+> list$' | awk '{print substr($2,2,length($2)-2)}' | sed 's/.$/\x0F&/' | awk '!x[$0]++' | xargs
06:54:52 <HackEgo> hppavilion[1] boily a`a`a`a`jo7as a`a`a`a`jo8as a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a lambdabot chicken_jonas myname tswett metasepia Ngevd oklopol nortti Phantom_Hoover monqy Sgeo_ pikhq Sgeo elliott Taneb cuttlefish ais523
06:55:33 <shachaf> This one even works with the original implementation.
06:57:03 <b_jonas> hehe, grep -P instead of just putting it inside the awk statement
06:57:39 <shachaf> Look, I built it a piece at a time and copied from culprits.
06:57:42 <b_jonas> wait
06:57:47 <shachaf> Which, uh, does the same thing.
06:57:53 <shachaf> Look, I don't really know awk.
06:57:57 <shachaf> Not that you need awk here.
06:57:57 <b_jonas> doesn't that exclude thosee nicks where I invoked the command with an argument?
06:58:02 <shachaf> It does.
06:58:10 <shachaf> `` hg log | grep -P 'summary: <[^\s>]+> list' | awk '{print substr($2,2,length($2)-2)}' | sed 's/.$/\x0F&/' | awk '!x[$0]++' | xargs
06:58:12 <HackEgo> hppavilion[1] boily a`a`a`a`jo7as a`a`a`a`jo8as a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname tswett metasepia Ngevd oklopol nortti Phantom_Hoover monqy Sgeo_ pikhq Sgeo fungot elliott Taneb cuttlefish ais523 olsner
06:58:17 <shachaf> `` hg log | grep -P 'summary: <[^\s>]+> list\s?' | awk '{print substr($2,2,length($2)-2)}' | sed 's/.$/\x0F&/' | awk '!x[$0]++' | xargs
06:58:20 <HackEgo> hppavilion[1] boily a`a`a`a`jo7as a`a`a`a`jo8as a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname tswett metasepia Ngevd oklopol nortti Phantom_Hoover monqy Sgeo_ pikhq Sgeo fungot elliott Taneb cuttlefish ais523 olsner
06:58:29 <b_jonas> the \s? doesn't do anything you know
06:58:36 <shachaf> Er, right.
06:58:50 <shachaf> \s|$
06:58:55 <shachaf> Something.
06:58:56 <shachaf> You fix it.
07:04:17 <b_jonas> ``` hg log | awk '/summary: <[^\s>]+> list(\s|$)/{n=substr($2,2,length($2)-2);if(!f[n]++)printf"%s ",sub(n,/.$/,"\x0F&")}'
07:04:28 <shachaf> Why are you substring $2?
07:04:31 <HackEgo> awk: line 1: syntax error at or near &
07:04:41 <shachaf> You can use <(^\s>]+)> or something.
07:04:52 <b_jonas> well, it would be easier to use perl...
07:04:56 -!- hppavilion[1] has joined.
07:05:03 <hppavilion[1]> adu: Back
07:05:08 <b_jonas> especially since I don't speak enough awk
07:05:11 <b_jonas> ``` hg log
07:05:12 <HackEgo> changeset: 7005:3c723dce4e7b \ tag: tip \ user: HackBot \ date: Thu Feb 25 04:34:31 2016 +0000 \ summary: <int-e> learn 4chan is twice as loud as stereo. \ \ changeset: 7004:4c654b530cd9 \ user: HackBot \ date: Thu Feb 25 04:20:01 2016 +0000 \ summary: <hppavilion[1]> le/rn adu/Bye! \ \ changeset:
07:05:17 <adu> hppavilion[1]: wut
07:05:32 <hppavilion[1]> adu: I'm back
07:05:34 <b_jonas> ``` hg log | grep summary
07:05:36 <HackEgo> summary: <int-e> learn 4chan is twice as loud as stereo. \ summary: <hppavilion[1]> le/rn adu/Bye! \ summary: <boily> le/rn madbr/He alternates between making sense, and being logical. He doesn\'t monetize the brotherhood scheme. \ summary: <hppavilion[1]> list \ summary: <hppavilion[1]> list \ summary: <shachaf> le/rn weath
07:05:44 <adu> hppavilion[1]: wut
07:05:54 <hppavilion[1]> adu: u wot m8?
07:06:06 <adu> hppavilion[1]: I don't speak LOL
07:06:14 <hppavilion[1]> adu: Good.
07:06:37 <b_jonas> ``` awk 'BEGIN{print"left\x0Fright";exit}' | cat -v
07:06:38 <HackEgo> left^Oright
07:06:43 <adu> hppavilion[1]: I wanted you amuse ppl, that's all
07:06:49 <b_jonas> um, then what was the syntax error
07:06:56 <adu> s/you/to
07:07:24 <b_jonas> I think this might be simpler if I directly asked hg to put something more suitable
07:07:28 <hppavilion[1]> adu: Syntax Error: Unterminated s/// expression
07:07:50 <adu> /
07:08:04 <izabera> s/// is a sed-ism
07:08:09 <izabera> in ed it's not required
07:08:11 <hppavilion[1]> izabera: Yes, I know
07:08:22 <izabera> although s// and s/// do something different in ed
07:08:38 <hppavilion[1]> adu: So what exactly is the mathematical definition of "making sense"?
07:08:51 <adu> hppavilion[1]: non-contradiction
07:08:55 <hppavilion[1]> I am currently laying on a blanket on top of a bare mattress pad
07:09:03 <b_jonas> ``` hg log --template "{author} " culprits
07:09:05 <HackEgo> No output.
07:09:07 <hppavilion[1]> adu: In the context of functors having to map arrows in a way that "makes sense"
07:09:12 <izabera> `` type ed
07:09:13 <HackEgo> ed is /bin/ed
07:09:18 <b_jonas> ``` hg log --template "{author} " bin/list
07:09:20 <HackEgo> HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBot HackBo
07:09:21 <hppavilion[1]> `cat bin/`
07:09:22 <HackEgo> ​#!/bin/bash \ TIMEFORMAT="real: %lR, user: %lU, sys: %lS" \ shopt -s extglob globstar \ eval -- "$1"
07:09:23 <b_jonas> what file does list touch?
07:09:39 <b_jonas> ``` hg log --template "{desc} " bin/list
07:09:40 -!- Jakeey802 has joined.
07:09:40 <HackEgo> ​<shachaf> ` sed -i \'s/sort -u/awk \'\\\'\'!x[$0]++\'\\\'\'/\' bin/list <ais523> ` sed -i \'s!$! | xargs -n 1 | sort -u | xargs!\' bin/list <oerjan> ` sed -i \'s!conscripts!share/conscripts!g\' bin/list <shachaf> mkx bin/list//date > conscripts; culprits conscripts <shachaf> mkx bin/list//echo $(($(cat conscripts)+1)) > conscripts; culprits cons
07:09:51 <b_jonas> ``` hg log --template "{desc}\n" bin/list
07:09:52 <shachaf> what!
07:09:52 <HackEgo> ​<shachaf> ` sed -i \'s/sort -u/awk \'\\\'\'!x[$0]++\'\\\'\'/\' bin/list \ <ais523> ` sed -i \'s!$! | xargs -n 1 | sort -u | xargs!\' bin/list \ <oerjan> ` sed -i \'s!conscripts!share/conscripts!g\' bin/list \ <shachaf> mkx bin/list//date > conscripts; culprits conscripts \ <shachaf> mkx bin/list//echo $(($(cat conscripts)+1)) > conscripts; culpr
07:09:56 <shachaf> TG
07:10:19 <b_jonas> conscripts!
07:10:21 <adu> hppavilion[1]: if O, Q in C, and M(O) == Q, and O2, Q2 in C2, then M2(O2) must be Q2
07:10:23 <b_jonas> ``` hg log --template "{desc}\n" conscripts
07:10:23 -!- Jakeey802 has quit (Client Quit).
07:10:25 <HackEgo> No output.
07:10:36 <b_jonas> ``` ls conscripts
07:10:36 <\oren\> > 8.21 / (60 / 21)
07:10:37 <HackEgo> ls: cannot access conscripts: No such file or directory
07:10:38 <lambdabot> 2.8735000000000004
07:10:45 <shachaf> It's share/conscripts
07:10:49 <hppavilion[1]> adu: Ah?
07:10:50 <b_jonas> ``` find -name conscripts
07:11:00 <hppavilion[1]> adu: How do I put that in Python?
07:11:01 <HackEgo> ​./share/conscripts
07:11:02 <adu> hppavilion[1]: I might have put the "if"s in the wrong place
07:11:02 <b_jonas> ``` hg log --tempalte "{desc}\n" share/conscripts
07:11:04 <HackEgo> hg log: option --tempalte not recognized \ hg log [OPTION]... [FILE] \ \ show revision history of entire repository or files \ \ options: \ \ -f --follow follow changeset history, or file history across \ copies and renames \ -d --date DATE show revisions matching date spec \ -C --copies
07:11:09 <adu> hppavilion[1]: decorators
07:11:18 <b_jonas> ``` hg log -l 512 --template "{desc}\n" share/conscripts
07:11:19 <hppavilion[1]> adu: Oh?
07:11:19 <HackEgo> ​<hppavilion[1]> list \ <hppavilion[1]> list \ <b_jonas> revert \ <boily> list \ <a`a`a`a`jo7as> list \ <a`a`a`a`jo8as> list \ <a`a`a`a`jo3as> list \ <a`a`a`a`jo6as> list \ <a`a`a`a`jo5as> list \ <a`a`a`a`jo4as> list soon the too many nick changes rule will trigger on freenode \ <a`a`a`a`jo3as> list everypony \ <a`a`a`a`jo2as> list me too \ <a`a`
07:11:26 <b_jonas> right
07:11:27 <hppavilion[1]> b_jonas: You're pinging me a lot
07:11:29 <\oren\> > 8.74 / (21 / 60)
07:11:32 <lambdabot> 24.971428571428575
07:11:33 <b_jonas> hppavilion[1]: sorry
07:11:38 <hppavilion[1]> b_jonas: Tis fine.
07:11:43 <hppavilion[1]> Just thought I should mention it
07:11:45 <b_jonas> well, it's a side-effect of the list
07:12:04 <hppavilion[1]> adu: No, I mean how do I check that that is true? that O, Q...
07:12:30 <shachaf> b_jonas: If you use hg log instead of hg log share/conscripts, it'll find other uses of `list
07:12:41 <shachaf> I think part of the spirit of `list is that once you've done it once, it's unescapable.
07:13:07 <hppavilion[1]> `cat bin/list
07:13:08 <HackEgo> date > share/conscripts; culprits share/conscripts | xargs -n 1 | awk '!x[$0]++' | xargs
07:13:25 <hppavilion[1]> Damn
07:13:40 <b_jonas> ``` hg log -l 512 --template "{desc}\0" share/conscripts | perl -0ne '/^<([^>]*)> list[\s\0]/ and print$1'
07:13:40 <hppavilion[1]> Forgot about `culprits`
07:13:41 <HackEgo> hppavilion[1]hppavilion[1]boilya`a`a`a`jo7asa`a`a`a`jo8asa`a`a`a`jo3asa`a`a`a`jo6asa`a`a`a`jo5asa`a`a`a`jo4asa`a`a`a`jo3asa`a`a`a`jo2asa`a`a`a`jo1asa`a`a`a`jonas0a`a`a`alambdabotchicken_jonaschicken_jonaschicken_jonasmynamechicken_jonasboilyboily
07:13:49 <adu> hppavilion[1]: the way that Haskell does it is that the theorems and properties are clearly documented, and any time you disobey them, they call it "Unspecified Behaviour" and scare people
07:13:52 <b_jonas> ``` cat -v culprits
07:13:53 <HackEgo> cat: culprits: No such file or directory
07:13:56 <b_jonas> ``` cat -v bin/culprits
07:13:57 <HackEgo> hg log --removed "$1" | grep summary: | awk '{print substr($2,2,length($2)-2)}' | sed "s/.$/\x0F&/" | xargs
07:14:06 <hppavilion[1]> adu: Ah
07:14:06 <b_jonas> scary awk stuff
07:14:10 <b_jonas> ``` hg log -l 512 --template "{desc}\0" share/conscripts | perl -0ne '/^<([^>]*)> list[\s\0]/ and print$1'
07:14:12 <HackEgo> hppavilion[1]hppavilion[1]boilya`a`a`a`jo7asa`a`a`a`jo8asa`a`a`a`jo3asa`a`a`a`jo6asa`a`a`a`jo5asa`a`a`a`jo4asa`a`a`a`jo3asa`a`a`a`jo2asa`a`a`a`jo1asa`a`a`a`jonas0a`a`a`alambdabotchicken_jonaschicken_jonaschicken_jonasmynamechicken_jonasboilyboily
07:14:18 <b_jonas> ``` hg log -l 512 --template "{desc}\0" share/conscripts | perl -0ne '/^<([^>]*)> list[\s\0]/ and print"$1 "'
07:14:20 <HackEgo> hppavilion[1] hppavilion[1] boily a`a`a`a`jo7as a`a`a`a`jo8as a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo3as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas chicken_jonas chicken_jonas myname chicken_jonas boily boily
07:14:31 <adu> hppavilion[1]: if you want a system that enforces it, I suggest Coq, and no, that's not sexual
07:14:36 <hppavilion[1]> xD
07:14:39 <hppavilion[1]> I've heard of Coq
07:14:43 <hppavilion[1]> I'm MAKING a bad Coq
07:14:48 <b_jonas> ``` hg log -l 512 --template "{desc}\0" share/conscripts | perl -0ne '/^<([^>]*)> list[\s\0]/ and!$t{$1}++and print"$1 "'
07:14:49 <HackEgo> hppavilion[1] boily a`a`a`a`jo7as a`a`a`a`jo8as a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname
07:14:54 <adu> Coq means chicken in some language
07:14:57 <hppavilion[1]> adu: So I just make a Functor class (possibly a subclass of Morphism) that raises an exception if you violate the GRAND PROPERTIES OF FUNCTORS
07:15:00 <hppavilion[1]> adu: French.
07:15:04 <b_jonas> ``` hg log -l 512 --template "{desc}\0" share/conscripts | perl -0ne '/^<([^>]*)>/ and!$t{$1}++and print"$1 "'
07:15:05 <HackEgo> hppavilion[1] b_jonas boily a`a`a`a`jo7as a`a`a`a`jo8as a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname
07:15:07 <hppavilion[1]> It's obviously french.
07:15:10 <adu> hppavilion[1]: French, figures
07:16:15 <adu> hppavilion[1]: I'm just attempting to provide bibliographic references in case you want to write a paper about it
07:16:46 <hppavilion[1]> b_jonas: What exactly are you trying to do?
07:17:00 <adu> b_j: wut
07:17:14 <hppavilion[1]> adu: So again, do I implement functors by making the functor class, which throws an exception when you don't functor properly?
07:17:35 <b_jonas> `perl -e-e($o="bin/culprits-ng") and die; open$O,">",$o or die; print $O qq{#!/bin/sh\n},q{exec hg log -l 512 --template "{desc}\0" -- "$@" | perl -0ne '/^<([^>]*)>/ and!$t{$1}++and print"$1 "'}; close$O;chmod 0755,$o or die;
07:17:37 <HackEgo> No output.
07:17:40 <shachaf> No, you don't implement these things in Python at all.
07:17:41 -!- tromp_ has joined.
07:17:50 <b_jonas> `culprits-ng share/conscripts
07:17:51 <hppavilion[1]> shachaf: I do because I'm a rebel
07:17:51 <HackEgo> hppavilion[1] b_jonas boily a`a`a`a`jo7as a`a`a`a`jo8as a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname
07:17:54 <adu> hppavilion[1]: there's a thing I did to wrap every function everywhere
07:17:56 <b_jonas> `culprits-ng wisdom/ent
07:17:57 <HackEgo> b_jonas
07:18:00 <adu> hppavilion[1]: let me see if I can find it
07:18:15 <b_jonas> `culprits-ng wisdom/oerjan
07:18:17 <HackEgo> shachaf oerjan elliott Bike FreeFull ais523
07:18:22 <b_jonas> ok, this works
07:18:55 <hppavilion[1]> First-class shebang hth
07:19:27 <b_jonas> ``` echo $PATH
07:19:28 <HackEgo> ​/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin
07:19:31 <adu> hppavilion[1]: http://pastie.org/10736764
07:20:07 <b_jonas> `perl -e-e($o="bin/list-ng") and die; open$O,">",$o or die; print $O "#!/bin/sh\nexec culprits-ng ~/share/conscripts\n"; close$O;chmod 0755,$o or die;
07:20:08 <hppavilion[1]> adu: Huh? What's that?
07:20:09 <HackEgo> No output.
07:20:26 <b_jonas> ``` echo > bin/culprits-ng
07:20:28 <HackEgo> No output.
07:20:36 <b_jonas> `culprits-ng bin/list
07:20:37 <HackEgo> No output.
07:20:38 <hppavilion[1]> Oh, to wrap ALL the functions
07:20:44 <b_jonas> argh
07:20:45 <shachaf> b_jonas: Wait, usually you don't want culprits to uniq
07:20:49 <shachaf> That's only relevant for `list
07:20:59 <hppavilion[1]> b_jonas: Are you trying to un`list yourself?
07:21:01 <adu> hppavilion[1]: debug_wrap_module() wrapps every function in a module to do something before and after the function, similar to "aspect-oriented programming"
07:21:11 <hppavilion[1]> Ooooh
07:21:15 <adu> hppavilion[1]: using "functools" you can probably do something similar
07:21:15 <b_jonas> `perl -e-e($o="bin/culprits-ng") and die; open$O,">",$o or die; print $O "#!/bin/sh\n",q{exec hg log -l 512 --template "{desc}\0" -- "$@" | perl -0ne '/^<([^>]*)>/ and!$t{$1}++and print"$1 "'},"\n"; close$O;chmod 0755,$o or die;
07:21:16 <HackEgo> Died at -e line 1.
07:21:22 <b_jonas> shachaf: it shouldn't uniq? ok
07:21:28 <shachaf> Well, I don't know.
07:21:34 <b_jonas> `perl -e($o="bin/culprits-ng"); open$O,">",$o or die; print $O "#!/bin/sh\n",q{exec hg log -l 512 --template "{desc}\0" -- "$@" | perl -0ne '/^<([^>]*)>/ and!$t{$1}++and print"$1 "'},"\n"; close$O;chmod 0755,$o or die;
07:21:37 <HackEgo> No output.
07:21:39 <b_jonas> `culprits-ng bin/list
07:21:40 <HackEgo> shachaf ais523 oerjan elliott Sgeo Phantom_Hoover tswett boily metasepia Ngevd oklopol nortti monqy Sgeo_ pikhq fungot Taneb cuttlefish Jafet Bike
07:22:00 <adu> hppavilion[1]: also, decorators are a great way to do something before and after a function
07:22:26 <hppavilion[1]> adu: OK, but this doesn't help me with functors xD
07:22:48 <b_jonas> `perl -e($o="bin/culprits-ng"); open$O,">",$o or die; print $O "#!/bin/sh\n",q{exec hg log -l 512 --template "{desc}\0" -- "$@" | perl -0ne '/^<([^>]*)>/ and print"$1 "'},"\n"; close$O;chmod 0755,$o or die;
07:22:50 <HackEgo> No output.
07:22:56 <b_jonas> `culprits-ng bin/list
07:22:58 <HackEgo> shachaf ais523 oerjan shachaf shachaf elliott Sgeo Phantom_Hoover elliott elliott tswett tswett elliott tswett boily boily metasepia tswett Ngevd oerjan elliott oerjan elliott Sgeo oklopol nortti elliott shachaf elliott Phantom_Hoover Phantom_Hoover Phantom_Hoover Phantom_Hoover monqy elliott Sgeo_ pikhq oerjan shachaf elliott shachaf elliott monqy
07:23:02 <b_jonas> `culprits-ng wisdom/ent
07:23:04 <HackEgo> b_jonas b_jonas b_jonas b_jonas
07:23:06 <b_jonas> `culprits-ng wisdom/oerjan
07:23:06 <HackEgo> shachaf shachaf oerjan shachaf oerjan shachaf oerjan elliott Bike FreeFull shachaf shachaf ais523 ais523 elliott FreeFull oerjan FreeFull oerjan shachaf
07:23:15 <hppavilion[1]> I think `list is a fun club you get to be in B|
07:23:24 <Sgeo> Any chance you could do this in privmsg?
07:23:32 <hppavilion[1]> Sgeo: OH MY GOD YES
07:23:40 <adu> gtg
07:23:43 <hppavilion[1]> I FORGOT ABOUT PRVMSG
07:23:43 -!- adu has quit (Quit: adu).
07:23:47 <hppavilion[1]> Wooooooooooow
07:24:06 <shachaf> I'm kind of interested in the EgoHacks.
07:24:13 <shachaf> But I guess it's pretty noisy.
07:24:26 <b_jonas> hmm wait
07:24:29 <Sgeo> Maybe put a zero-width space between every character?
07:24:38 <b_jonas> it needs to noping them people
07:24:40 <b_jonas> like culprits does
07:26:31 <b_jonas> #`perl -e($o="bin/culprits-ng"); open$O,">",$o or die; print $O "#!/bin/sh\n",q{exec hg log -l 512 --template "{desc}\0" -- "$@" | perl -0ne 'if(/^<([^>]*)>/){$n=$1;}'},"\n"; close$O;chmod 0755,$o or die;
07:26:41 <b_jonas> ``` chmod 644 bin/culprits-ng
07:26:44 <b_jonas> I'll fix it later
07:26:44 <HackEgo> No output.
07:26:54 <b_jonas> but I'll need to implement proper noping for it
07:27:00 <b_jonas> which is mor than I can do right now
07:27:21 <b_jonas> if you don't want to see it here, I can do it in private message (or some other channel)
07:27:51 <b_jonas> ``` rm bin/list-ng
07:27:54 <HackEgo> No output.
07:27:57 <b_jonas> ``` rm bin/list-ng
07:27:57 <HackEgo> rm: cannot remove `bin/list-ng': No such file or directory
07:28:19 <hppavilion[1]> `list
07:28:28 <HackEgo> hppavilion[1] b_jonas boily a`a`a`a`jo7as a`a`a`a`jo8as a`a`a`a`jo3as a`a`a`a`jo6as a`a`a`a`jo5as a`a`a`a`jo4as a`a`a`a`jo2as a`a`a`a`jo1as a`a`a`a`jonas0 a`a`a`a lambdabot chicken_jonas myname
07:29:12 <hppavilion[1]> Weird that there's some strange character between 1 and ]
07:31:13 <b_jonas> hppavilion[1]: that's because the actual list command does a noping
07:31:56 -!- tromp_ has quit (Remote host closed the connection).
07:48:48 <^v> so i was looking for an easy way to get the maximum amount of entropy out of a floating point value
07:49:27 <^v> right now what i do is divide the float by two until its less or equal to 1 then multiply it by 0xFFFFFFF
07:52:15 -!- jaboja has joined.
07:52:18 <^v> so idk if theres anything short of getting the raw mantissa and exponent of it
08:32:25 -!- tromp_ has joined.
08:36:59 -!- tromp_ has quit (Ping timeout: 244 seconds).
08:55:14 <hppavilion[1]> Gulpo, the Fish who eats Conceps
08:55:17 <hppavilion[1]> *Concepts
08:58:01 -!- jaboja has quit (Ping timeout: 255 seconds).
09:50:54 -!- lynn has joined.
09:53:31 <hppavilion[1]> Sisyphus: The Video Gaem
10:00:03 -!- andrew has quit (Remote host closed the connection).
10:12:34 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
10:20:39 -!- jaboja has joined.
10:23:40 -!- AnotherTest has joined.
10:33:14 -!- tromp_ has joined.
10:37:35 -!- tromp_ has quit (Ping timeout: 250 seconds).
10:42:04 -!- jaboja has quit (Ping timeout: 240 seconds).
10:44:38 -!- noncom has joined.
10:55:27 -!- jaboja has joined.
11:16:07 -!- lynn has quit (Ping timeout: 244 seconds).
11:25:09 -!- augur has quit (Remote host closed the connection).
11:34:03 -!- boily has joined.
11:37:52 <boily> @metar CYUL
11:37:53 <lambdabot> CYUL 251131Z 01010KT 2 1/2SM -RA BR OVC003 00/M00 A2912 RMK SF8 -RA INTMT SLP863
11:38:07 <boily> what was that shachafweathercommand again...
11:38:12 <boily> `? weather
11:38:19 <HackEgo> lambdabot: ?? (?metar CYUL) \ (?metar ENVA) \ (?metar ESSB) \ (?metar KOAK)
11:38:21 <lambdabot> CYUL 251131Z 01010KT 2 1/2SM -RA BR OVC003 00/M00 A2912 RMK SF8 -RA INTMT SLP863 \ ENVA 251120Z 32005KT 9999 VCSH FEW015 SCT025CB BKN049 02/00 Q0999 NOSIG RMK WIND 670FT 30006KT \ ESSB 251120Z 24006KT CAVOK 01/M04 Q0998 R30/19//56 \ KOAK 251053Z 32004KT 10SM CLR 13/09 A3011 RMK AO2 SLP195 T01280089
11:38:45 <boily> yup. No Cow Weather indeed.
11:48:03 <fizzie> @metar EGLL
11:48:04 <lambdabot> EGLL 251120Z AUTO 32005KT 290V350 9999 BKN015 04/M01 Q1018
11:48:06 <fizzie> @metar EFHK
11:48:08 <lambdabot> EFHK 251120Z 20014KT 9999 BKN015 02/M01 Q0997 TEMPO BKN014
11:48:17 <fizzie> Well, that's not a big difference.
12:18:15 -!- benderpc_ has joined.
12:19:00 -!- boily has quit (Quit: WEEKLY CHICKEN).
12:19:39 -!- benderpc_ has quit (Changing host).
12:19:39 -!- benderpc_ has joined.
12:19:53 -!- benderpc_ has changed nick to bender|.
12:19:55 -!- bender| has changed nick to bender.
12:31:23 -!- lynn has joined.
12:50:07 -!- J_Arcane has quit (Ping timeout: 244 seconds).
12:57:52 -!- ais523 has joined.
13:03:54 -!- tromp_ has joined.
13:08:12 -!- tromp_ has quit (Ping timeout: 244 seconds).
13:19:02 -!- lleu has joined.
13:42:49 -!- jaboja has quit (Ping timeout: 244 seconds).
13:43:59 -!- ais523 has quit (Ping timeout: 240 seconds).
13:50:15 -!- jaboja has joined.
14:26:15 -!- jaboja has quit (Ping timeout: 244 seconds).
14:35:31 -!- earendel has joined.
14:46:35 <int-e> @metar KSFO
14:46:37 <lambdabot> KSFO 251356Z 00000KT 10SM CLR 11/09 A3012 RMK AO2 SLP200 T01110089 $
14:51:15 -!- Treio has joined.
14:56:04 -!- Treio has quit (Client Quit).
15:00:38 -!- lambda-11235 has joined.
15:23:35 -!- llue has joined.
15:23:46 -!- llue has quit (Changing host).
15:23:46 -!- llue has joined.
15:26:58 -!- lleu has quit (Read error: Connection reset by peer).
15:26:59 -!- Alcest has quit (Ping timeout: 240 seconds).
15:33:33 -!- bender has quit (Ping timeout: 250 seconds).
15:47:53 -!- jaboja has joined.
15:55:36 -!- jaboja has quit (Ping timeout: 244 seconds).
15:57:13 -!- lambda-11235 has quit (Quit: Bye).
16:42:31 -!- tromp_ has joined.
16:46:55 -!- tromp_ has quit (Ping timeout: 255 seconds).
16:56:06 -!- Lord_of_Life has quit (Excess Flood).
16:59:37 -!- Lord_of_Life has joined.
17:15:52 -!- AlexR42 has joined.
17:21:59 <izabera> `unidecode ༖
17:22:05 <HackEgo> ​[U+0F16 TIBETAN LOGOTYPE SIGN LHAG RTAGS]
17:37:39 -!- nisstyre_ has quit (Ping timeout: 248 seconds).
17:45:50 -!- mihow has joined.
17:47:36 -!- erdic has quit (Quit: leaving).
17:49:17 -!- erdic has joined.
18:05:58 -!- nisstyre_ has joined.
18:06:00 -!- lambda-11235 has joined.
18:06:24 -!- earendel has quit (Ping timeout: 276 seconds).
18:22:28 -!- hppavilion[1] has joined.
18:25:57 -!- atslash has joined.
18:33:04 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
18:46:32 -!- Phantom_Hoover has joined.
19:04:41 <shachaf> @metar KOAK
19:04:43 <lambdabot> KOAK 251853Z 24005KT 8SM SCT160 SCT200 16/11 A3017 RMK AO2 SLP215 T01610106
19:04:44 <shachaf> @metar KSFO
19:04:45 <lambdabot> KSFO 251856Z 03004KT 9SM BKN200 16/14 A3016 RMK AO2 SLP214 T01560144 $
19:05:01 <shachaf> @metar KSJC
19:05:03 <lambdabot> KSJC 251853Z 00000KT 10SM FEW100 SCT130 19/08 A3016 RMK AO2 SLP212 T01890083
19:25:03 -!- nisstyre_ has quit (Ping timeout: 276 seconds).
19:25:16 -!- hppavilion[wc] has joined.
19:33:56 <prooftechnique> @metar KBTV
19:33:58 <lambdabot> KBTV 251854Z 31015G23KT 10SM -RA OVC048 08/02 A2909 RMK AO2 RAB43 SLP853 P0000 T00830017
19:37:11 -!- earendel has joined.
19:38:53 -!- hppavilion[wc] has quit (Quit: Page closed).
19:43:50 -!- hppavilion[1] has joined.
19:52:39 -!- nisstyre_ has joined.
20:06:21 -!- lambda-11235 has quit (Read error: Connection reset by peer).
20:19:07 -!- ais523 has joined.
20:39:50 -!- gde33|2 has joined.
20:42:16 -!- gde33 has quit (Ping timeout: 255 seconds).
21:04:34 -!- vodkode has quit (Ping timeout: 240 seconds).
21:05:03 -!- vodkode has joined.
21:16:25 -!- augur has joined.
21:20:05 -!- I has joined.
21:20:28 -!- I has changed nick to Guest16721.
21:20:56 <hppavilion[1]> Should I include y/// notation in Thoof?
21:22:10 -!- atslash has quit (Ping timeout: 244 seconds).
21:22:19 -!- mihow has quit (Ping timeout: 255 seconds).
21:24:20 -!- augur has quit (Remote host closed the connection).
21:28:28 -!- oerjan has joined.
21:29:44 <oerjan> `unidecode oerjan
21:29:49 -!- augur has joined.
21:29:55 <HackEgo> ​[U+006F LATIN SMALL LETTER O] [U+0065 LATIN SMALL LETTER E] [U+0072 LATIN SMALL LETTER R] [U+006A LATIN SMALL LETTER J] [U+0061 LATIN SMALL LETTER A] [U+006E LATIN SMALL LETTER N]
21:30:34 * oerjan swats b_jonas for pinging him all over the logs -----###
21:32:53 <oerjan> `cat bin/culprits-ng
21:32:54 <HackEgo> ​#!/bin/sh \ exec hg log -l 512 --template "{desc}\0" -- "$@" | perl -0ne '/^<([^>]*)>/ and print"$1 "'
21:33:53 <b_jonas> oerjan: don't use that one, it currently doesn't have noping
21:34:00 <b_jonas> I'd like to implement a proper noping, and then add it in
21:34:17 <oerjan> b_jonas: well that's why i swatted you
21:34:33 <b_jonas> oerjan: sorry
21:34:51 <oerjan> i just wanted to see if there was some broken attempt at it
21:35:51 <shachaf> oerja-ng
21:36:16 <shachaf> oerjan: So what does ?A do in linear logic?
21:36:27 <oerjan> heck if i know
21:36:29 <shachaf> I think ?A = _|_ & A & A#A & A#A#A & ...
21:36:36 <shachaf> But now I need to understand #
21:36:43 <shachaf> Which is a superpower only you possess.
21:36:57 <oerjan> shachaf: well, logically that should be true (assuming that's the dual of the obvious !A expansion)
21:37:28 <shachaf> Er, wait.
21:37:35 <shachaf> ?A = _|_ + A + A#A + A#A#A + ...
21:37:38 <lambdabot> Maybe you meant: v @ ? .
21:37:40 <shachaf> & would make no sense.
21:37:57 <shachaf> oerjan: The obvious !A expansion being !A = 1 & A & AxA & AxAxA + ...?
21:38:14 <oerjan> probably. assuming 1 is right there
21:38:30 <oerjan> which it should be iirc
21:38:38 <shachaf> It's the identity of x
21:38:43 <oerjan> right
21:39:20 <oerjan> so with + you don't get to decide which term you get to use
21:40:07 <oerjan> so you need to be able to handle any
21:40:49 <oerjan> i understand # mostly as wrapping x in de morgan and letting negation be continuations...
21:41:02 <oerjan> i hope that's right enough
21:41:59 <oerjan> A -> B was ~A # B, hm
21:42:32 <oerjan> ~A was A -> _|_, then...
21:42:36 <b_jonas> So if I wrote a noping utility for HackEgo, but its implementation was mildly obfuscated and so hard to understand or maintain, this channel wouldn't consider that a bug, right?
21:42:52 <oerjan> b_jonas: um...
21:42:56 <b_jonas> Because this is typically the kind of string manipulation stuff where unreadable perl code excels.
21:42:59 <oerjan> MAYBE NOT
21:43:39 <oerjan> in any case go ahead
21:44:16 <shachaf> b_jonas: It would be as if oerjan taught a class about linear logic, but used a simplified version of one of the unusual connectives to make it easier to understand.
21:44:26 <shachaf> b_jonas: Which is to say, it would be par for the course.
21:44:59 <oerjan> @tell boily shachaf needs a mapoling hth
21:45:00 <lambdabot> Consider it noted.
21:45:10 -!- augur has quit (Remote host closed the connection).
21:46:21 <oerjan> now, someone needs to explain to me how (A -> _|_) -> _|_ can manage to always be A
21:46:40 <shachaf> it's -o, not ->, hth
21:46:43 <oerjan> oh
21:46:47 <oerjan> well right.
21:47:03 <oerjan> *now, someone needs to explain to me how (A -o _|_) -o _|_ can manage to always be A
21:47:06 <shachaf> A -o B = ~A # B
21:47:28 <oerjan> in fact, i think in some sense that _is_ the central question of making sense of # and negation in linear logic
21:47:35 <b_jonas> perl -eprint unpack "x*(a*\@0X)*(a*@)*", "hello\n";
21:47:40 <b_jonas> `perl -eprint unpack "x*(a*\@0X)*(a*@)*", "hello\n";
21:47:41 <HackEgo> ​ \ o \ lo \ llo \ ello \ hello \ ello \ llo \ lo \ o
21:47:47 <oerjan> because -o seems perfectly logical, as do &, + and x
21:47:53 <b_jonas> `perl -eprint unpack "x*(a*\@0X)*", "hello\n";
21:47:54 <HackEgo> ​ \ o \ lo \ llo \ ello
21:47:57 <shachaf> Uh oh.
21:48:01 <shachaf> Something is messing up my terminal.
21:48:04 <shachaf> Is it b_jonas?
21:48:04 <b_jonas> `perl -eprint unpack "(a*@)*", "hello\n";
21:48:05 <HackEgo> hello \ ello \ llo \ lo \ o
21:48:20 <b_jonas> shachaf: what? I don't think it was me this time
21:48:20 <oerjan> shachaf: presumably HackEgo
21:48:34 <shachaf> I mean, is b_jonas printing some evil characters?
21:48:39 <b_jonas> I don't think so
21:48:42 <b_jonas> not intentionally at least
21:49:04 <oerjan> b_jonas: whenever HackEgo prints a line starting with a non-alphanum, it inserts the char that bothers shachaf
21:49:13 <shachaf> Oh.
21:49:18 <b_jonas> That one simply computes all the suffixes of a string. Pity there's no such easy way to generate all prefixies.
21:49:35 <b_jonas> You can still generate all prefixes, but it's much uglier.
21:49:52 <b_jonas> oerjan: which char is that?
21:49:53 <shachaf> b_jonas: map reverse . suffixes . reverse hth
21:50:06 <b_jonas> shachaf: yes, that's the basic idea. and you can reverse with unpack IIRC
21:50:35 <shachaf> oerjan: how can -o be logical if # isn't logical hth
21:50:55 <oerjan> shachaf: because the illogicality comes from _|_ or negation
21:51:05 <b_jonas> shachaf: different notation. -o is logical or in find, but it's linear implication in linear logic.
21:51:21 <b_jonas> totally different operations, people just happened to name them the same
21:51:26 <shachaf> Good point.
21:51:43 <b_jonas> it's like how ^ can mean logical and, bitwise xor, power
21:52:03 <oerjan> wait, are you interpreting "logical" as a technical term, bad move
21:52:08 <shachaf> Logical and is /\
21:52:08 <shachaf> / \
21:52:38 <b_jonas> ... I'm waiting for that stick figure bot to print the third line
21:52:56 <b_jonas> / \o/
21:53:00 <shachaf> That only happens for LOGICAL CHRISTMAS TREE
21:53:11 <b_jonas> don't we have that bot running?
21:53:26 <shachaf> The "bot" is a person, myndzi, who's been gone for a long time.
21:53:44 <b_jonas> sure, most bots are persons.
21:53:50 <shachaf> We need to find a replacement who's as fast a typist.
21:53:59 <shachaf> ^celebrate
21:53:59 <fungot> \o| c.c \o/ ಠ_ಠ \m/ \m/ \o_ c.c _o/ \m/ \m/ ಠ_ಠ \o/ c.c |o/
21:54:11 <shachaf> That command should be renamed to ^decapitate
21:54:44 <shachaf> oerjan: I think -o might still be odd without _|_ and #
21:55:21 <b_jonas> ais523: here's yet another experimental newly developped distributed version control system I hadn't heared about before: http://pijul.org/
21:55:51 <ais523> b_jonas: I haven't seen that one either
21:55:52 * ais523 looks
21:56:10 <b_jonas> I don't know what it does or whether it's any good
21:56:30 <ais523> it looks like a rewrite of darcs
21:56:33 <ais523> using the same principles
21:56:40 <oerjan> `unidecode > ​ \
21:56:41 <HackEgo> ​[U+003E GREATER-THAN SIGN] [U+0020 SPACE] [U+200B ZERO WIDTH SPACE] [U+0020 SPACE] [U+005C REVERSE SOLIDUS]
21:56:56 <oerjan> b_jonas: that one
21:58:03 <b_jonas> oerjan: I see
21:58:12 <b_jonas> I don't know why that would mess up shachaf's terminal though
21:58:23 <oerjan> shachaf: skeptical
21:58:42 <ais523> huh, interesting license choice
21:59:07 <ais523> it's AGPL in an attempt to stop someone making a CVCS out of it
21:59:52 <b_jonas> huh? what's "AGPL", as opposed to just GPL 3 (Gnu general public license version 3)?
21:59:55 <oerjan> b_jonas: well, it does.
22:00:25 <ais523> b_jonas: AGPL is basically GPL with an extra case: if you let people use the software over a network, you have to give them source
22:00:40 <b_jonas> ais523: I see
22:01:01 <b_jonas> (that one is evil)
22:02:12 <b_jonas> ais523: ah, it says “At the time of this writing (version 0.2), files are all treated as text, and patches are mostly concerned with lines.” – exactly what I don't want from a vcs
22:03:10 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
22:05:02 <oerjan> 1 is the sanest identity, it's basically () from haskell
22:06:49 <oerjan> all the others look impossible to construct or use...
22:06:56 <oerjan> well, at least one way each
22:08:15 <oerjan> hm
22:09:29 <oerjan> 0 and ^|^ are like Void a bit
22:09:55 <oerjan> 0 is the option that the constructor cannot give
22:10:04 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
22:10:05 <oerjan> ^|^ is the option that the consumer cannot choose
22:13:18 <shachaf> 0 is like Void
22:13:24 <shachaf> + is a lot more like Either than & is
22:13:43 <oerjan> they're continuations of each other
22:14:47 <oerjan> is 0 x A = 0 ?
22:16:26 <shachaf> Apparently yes.
22:16:29 <shachaf> http://llwiki.ens-lyon.fr/mediawiki/index.php/Sequent_calculus
22:17:43 <shachaf> Hmm, !T = 1 ?
22:18:00 <shachaf> Oh, makes sense.
22:18:48 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:20:56 -!- hppavilion[1] has joined.
22:22:39 <myname> i like "why not"
22:25:17 -!- augur has joined.
22:25:22 <shachaf> myname: because it makes no sense hth
22:25:52 <shachaf> potion of confusing
22:27:26 <oerjan> ?los dos
22:27:28 <lambdabot> Maybe you meant: yow list let docs do
22:27:39 <oerjan> lambdabot: maybe.
22:30:22 <oerjan> <shachaf> `? weather <-- fancy
22:31:01 -!- augur has quit (Remote host closed the connection).
22:33:26 <oerjan> ?. ?? ?run var$("(?metar "++).(++") \ ")=<<["CYUL","ENVA","ESSB","KOAK"]
22:33:27 <lambdabot> Plugin `compose' failed with: Unknown command: "??"
22:33:34 <oerjan> ?. ? run var$("(?metar "++).(++") \ ")=<<["CYUL","ENVA","ESSB","KOAK"]
22:33:39 <lambdabot> <hint>:1:28:
22:33:41 <lambdabot> lexical error in string/character literal at character '"'
22:33:42 <lambdabot>
22:33:48 <oerjan> fancy
22:34:13 <oerjan> ?run var$("(?metar "++).(++") \ ")=<<["CYUL","ENVA","ESSB","KOAK"]
22:34:17 <lambdabot> <hint>:1:28:
22:34:19 <lambdabot> lexical error in string/character literal at character '"'
22:34:29 <oerjan> possibly that's not quite right
22:35:32 <oerjan> ?. ? run var$("(?metar "++).(++") \\ ")=<<["CYUL","ENVA","ESSB","KOAK"]
22:35:39 <lambdabot> CYUL 252200Z 26011KT 12SM -SN FEW008 BKN018 OVC030 01/M01 A2915 RMK SF2SF3SC3 SLP875 \ ENVA 252220Z 00000KT 5000 -SN VV009 M00/M01 Q0998 RMK WIND 670FT VRB02KT \ ESSB 252220Z AUTO 26007KT 9999 NCD M01/M06 Q0999 \ KOAK 252153Z 25006KT 10SM FEW160 19/09 A3010 RMK AO2 SLP194 T01940094 \
22:35:41 <lambdabot>
22:36:55 <oerjan> `` echo -n " "; \? weather
22:36:56 <HackEgo> ​ lambdabot: ?? (?metar CYUL) \ (?metar ENVA) \ (?metar ESSB) \ (?metar KOAK)
22:42:43 <hppavilion[1]> The red button panel in http://www.smbc-comics.com/index.php?id=3440 is actually really cool.
22:48:09 <oerjan> :t fun
22:48:14 <lambdabot> FromExpr a => String -> a
22:48:28 <oerjan> :t op
22:48:32 <lambdabot> Wrapped s => (Unwrapped s -> s) -> s -> Unwrapped s
22:50:29 <shachaf> @@ @? @run var$("(?metar "++).(++") \\ ")=<<words @show CYUL ENVA ESSB KOAK
22:50:36 <lambdabot> CYUL 252237Z 26012KT 2 1/2SM -SN BKN010 OVC025 01/M01 A2917 RMK SN3SF4SC1 SLP882 \ ENVA 252220Z 00000KT 5000 -SN VV009 M00/M01 Q0998 RMK WIND 670FT VRB02KT \ ESSB 252220Z AUTO 26007KT 9999 NCD M01/M06 Q0999 \ KOAK 252153Z 25006KT 10SM FEW160 19/09 A3010 RMK AO2 SLP194 T01940094 \
22:51:25 <oerjan> sadly a little long
22:53:26 <shachaf> Not as long as @metar KOAK\n...@metar CYUL\n... etc.
22:53:28 <oerjan> ?metar CYUL ENVA
22:53:48 <oerjan> ?ping
22:53:50 <lambdabot> pong
22:54:15 <oerjan> that looks a little irresponsive
22:54:26 <shachaf> @@ @@ (@where test) CYUL KOAK
22:54:31 <lambdabot> CYUL 252237Z 26012KT 2 1/2SM -SN BKN010 OVC025 01/M01 A2917 RMK SN3SF4SC1 SLP882 \ KOAK 252153Z 25006KT 10SM FEW160 19/09 A3010 RMK AO2 SLP194 T01940094 \
22:56:19 <shachaf> @where weather
22:56:21 <lambdabot> I know nothing about weather.
22:56:26 <shachaf> @@ @where+ weather (@where test)
22:56:27 <lambdabot> I will remember.
22:57:20 <shachaf> `le/rn weather/lambdabot: ?? ?? (?where weather) CYUL ENVA ESSB KOAK
22:57:24 <HackEgo> Learned «weather»
22:57:26 <shachaf> `? weather
22:57:29 <HackEgo> lambdabot: ?? ?? (?where weather) CYUL ENVA ESSB KOAK
22:57:55 <oerjan> ?where weather
22:57:56 <lambdabot> ?? ?@ ?run var$("(@metar "++).(++") \\ ")=<<words ?show
22:58:08 <oerjan> i think you may have overclevered
22:58:11 <ais523> @metar EGBB
22:58:12 <lambdabot> EGBB 252250Z 19003KT 9999 OVC045 03/M02 Q1014
22:58:27 <shachaf> @@ @@ (@where weather) CYUL KOAK
22:58:37 <lambdabot> CYUL 252237Z 26012KT 2 1/2SM -SN BKN010 OVC025 01/M01 A2917 RMK SN3SF4SC1 SLP882 \ KOAK 252253Z 27006KT 9SM FEW160 21/09 A3009 RMK AO2 SLP189 T02060094 \
22:58:38 <ais523> @help @
22:58:40 <lambdabot> @@ [args].
22:58:42 <lambdabot> @@ executes plugin invocations in its arguments, parentheses can be used.
22:58:44 <lambdabot> The commands are right associative.
22:58:46 <lambdabot> For example: @@ @pl @undo code
22:58:48 <lambdabot> is the same as: @@ (@pl (@undo code))
22:59:16 <shachaf> `? weather
22:59:18 <HackEgo> lambdabot: ?? ?? (?where weather) CYUL ENVA ESSB KOAK
22:59:30 <shachaf> what's going on :'(
22:59:37 <oerjan> ?where weather
22:59:38 <lambdabot> ?? ?@ ?run var$("(@metar "++).(++") \\ ")=<<words ?show
22:59:45 <shachaf> oerjan, ais523: Oh, by the way, that bot loop detection the other day was just me doing @part and @join.
22:59:58 * oerjan swats shachaf -----###
23:00:04 <oerjan> BOTH TIMES?
23:00:09 <shachaf> ALl three times, I think.
23:00:28 <oerjan> i suspected you the first time, but not that much persistence
23:00:47 <ais523> shachaf: that's genius
23:00:50 <shachaf> MWAHAHAHAHA
23:00:58 <ais523> I was a bit suspicious that the timing was different each time
23:01:09 <ais523> but thought it was simply that I hadn't spammed with consistent timing
23:01:40 <oerjan> shachaf: your punishment is to make lambdabot actually have that feature hth
23:02:18 <shachaf> oerjan: I'll implement it by writing a lambdabot watchdog that sends it @part and @join when it detects a loop.
23:02:33 <shachaf> More bots are always better.
23:02:36 <shachaf> lambdapooch
23:04:09 <oerjan> OKAY
23:05:00 <oerjan> `where+ weather ???run var$("(@metar "++).(++") \\ ")=<<words ?show
23:05:01 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: where+: not found
23:05:08 <oerjan> ?where+ weather ???run var$("(@metar "++).(++") \\ ")=<<words ?show
23:05:09 <lambdabot> Good to know.
23:05:19 <oerjan> `? weather
23:05:20 <HackEgo> lambdabot: ?? ?? (?where weather) CYUL ENVA ESSB KOAK
23:05:22 -!- hppavilion[1] has quit (Ping timeout: 255 seconds).
23:05:26 <oerjan> dammit
23:05:31 <oerjan> `? where weather
23:05:32 <HackEgo> where weather? ¯\(°​_o)/¯
23:05:37 <oerjan> ?where weather
23:05:44 <lambdabot> ???run var$("(@metar "++).(++") \\ ")=<<words ?show
23:05:44 <oerjan> TOO MANY BOTS
23:05:59 <oerjan> oops
23:06:13 <oerjan> ?where+ weather ?? ?run var$("(@metar "++).(++") \\ ")=<<words ?show
23:06:15 <lambdabot> I will never forget.
23:06:22 <oerjan> `? weather
23:06:23 <HackEgo> lambdabot: ?? ?? (?where weather) CYUL ENVA ESSB KOAK
23:06:45 <oerjan> um needs reconsideration
23:07:18 <oerjan> ?where+ weather ?run var$("(@metar "++).(++") \\ ")=<<words ?show
23:07:19 <lambdabot> Good to know.
23:07:37 <oerjan> wait
23:07:44 <oerjan> ?where+ weather ?run var$("(?metar "++).(++") \\ ")=<<words ?show
23:07:45 <lambdabot> Done.
23:07:49 <oerjan> `? weather
23:07:50 <HackEgo> lambdabot: ?? ?? (?where weather) CYUL ENVA ESSB KOAK
23:08:03 <oerjan> this is stupid
23:08:16 <oerjan> oh hm
23:08:27 <oerjan> ok i see..
23:08:41 <oerjan> ?where+ weather ?run var$("(@metar "++).(++") \\ ")=<<words ?show
23:08:43 <lambdabot> Good to know.
23:09:13 <oerjan> `le/rn weather/lambdabot: ?? ?@ (?where weather) CYUL ENVA ESSB KOAK
23:09:15 <HackEgo> Learned «weather»
23:09:18 <oerjan> `? weather
23:09:20 <shachaf> oerjan: spoilsport
23:09:21 <HackEgo> lambdabot: ?? ?@ (?where weather) CYUL ENVA ESSB KOAK
23:09:31 <oerjan> shachaf: how so?
23:09:38 <shachaf> oh, maybe not
23:09:41 <oerjan> WELL IT'S STILL NOT WORKING
23:09:43 <shachaf> What was wrong with the thing I did above?
23:09:48 <oerjan> no f idea
23:10:04 <shachaf> @@ @@ (@where test) ENVA KSJC
23:10:07 <oerjan> maybe ?? is too clever about recursion...
23:10:09 <lambdabot> ENVA 252250Z 00000KT 5000 -SN VV009 M00/M01 Q0998 RMK WIND 670FT 25002KT \ KSJC 252253Z 26003KT 10SM FEW090 SCT150 24/08 A3008 RMK AO2 SLP184 T02440078 \
23:10:11 <shachaf> lambdabot: @@ @@ (@where test) ENVA KSJC
23:10:15 <lambdabot> ENVA 252250Z 00000KT 5000 -SN VV009 M00/M01 Q0998 RMK WIND 670FT 25002KT \ KSJC 252253Z 26003KT 10SM FEW090 SCT150 24/08 A3008 RMK AO2 SLP184 T02440078 \
23:10:16 <shachaf> `echo lambdabot: @@ @@ (@where test) ENVA KSJC
23:10:17 <HackEgo> lambdabot: @@ @@ (@where test) ENVA KSJC
23:10:34 <oerjan> huh
23:10:40 <oerjan> lambdabot: @@ @@ (@where test) ENVA KSJC
23:10:46 <lambdabot> ENVA 252250Z 00000KT 5000 -SN VV009 M00/M01 Q0998 RMK WIND 670FT 25002KT \ KSJC 252253Z 26003KT 10SM FEW090 SCT150 24/08 A3008 RMK AO2 SLP184 T02440078 \
23:10:56 <shachaf> Did HackEgo put a special character in front of that one?
23:11:06 <oerjan> it shouldn't
23:11:21 <oerjan> `echo lambdabot: @run 2
23:11:22 <HackEgo> lambdabot: @run 2
23:11:31 <oerjan> lambdabot: @run 2
23:11:34 <lambdabot> 2
23:11:39 <shachaf> `echo lambdabot: ?show 2
23:11:41 <HackEgo> lambdabot: ?show 2
23:11:50 <shachaf> lambdabot: ?show 2
23:11:52 <lambdabot> "2"
23:12:25 <shachaf> Did int-e add the bot loop protection you asked for?
23:12:52 <shachaf> lambdabot hasn't been restarted...
23:13:31 <oerjan> i asked for him to add more spaces in front, that shouldn't affect this...
23:13:43 <oerjan> at least not without breaking it as much for us as for HackEgo
23:13:57 <shachaf> @ignore - HackEgo
23:13:57 <oerjan> oh hm
23:13:58 <lambdabot> Not enough privileges
23:14:02 <shachaf> Hmm.
23:14:14 <oerjan> ?where weather
23:14:16 <lambdabot> ?run var$("(@metar "++).(++") \\ ")=<<words ?show
23:14:26 <shachaf> @ignore - HackEgo
23:14:31 <shachaf> `echo lambdabot: ?show 2
23:14:31 <HackEgo> lambdabot: ?show 2
23:14:32 <lambdabot> "2"
23:14:38 <shachaf> `? weather
23:14:39 <HackEgo> lambdabot: ?? ?@ (?where weather) CYUL ENVA ESSB KOAK
23:14:42 <lambdabot> (@metar CYUL) \ (@metar ENVA) \ (@metar ESSB) \ (@metar KOAK) \
23:14:46 <shachaf> @ignore + HackEgo
23:14:53 <shachaf> I guess someone put HackEgo on the ignore list.
23:15:04 <oerjan> ;_;
23:16:19 <shachaf> Oh, and lambdabot did restart.
23:16:43 <shachaf> @@ @where+ weather (@where test)
23:16:44 <lambdabot> Nice!
23:16:59 <shachaf> @@ @@ (@where weather) KOAK KSJC KSFO
23:17:04 <lambdabot> KOAK 252253Z 27006KT 9SM FEW160 21/09 A3009 RMK AO2 SLP189 T02060094 \ KSJC 252253Z 26003KT 10SM FEW090 SCT150 24/08 A3008 RMK AO2 SLP184 T02440078 \ KSFO 252256Z 02005KT 9SM SCT200 18/13 A3009 RMK AO2 SLP188 T01830128 $ \
23:17:22 <shachaf> what's the trailing \ all about
23:17:23 <shachaf> @where weather
23:17:25 <lambdabot> ?? ?@ ?run var$("(@metar "++).(++") \\ ")=<<words ?show
23:18:05 <oerjan> intercalate is so long
23:20:41 <oerjan> @tell boily <boily> hppavilion[1]: as long as it features ¨ on egregious glyphs, and that multiocular O. <-- ¨ on multiocular O, check
23:20:44 <lambdabot> Consider it noted.
23:21:38 <oerjan> `? madbr
23:21:39 <HackEgo> He alternates between making sense, and being logical. He doesn't monetize the brotherhood scheme.
23:21:56 <oerjan> `` sed -i 's/He/madbr/' wisdom/madbr
23:21:58 <HackEgo> No output.
23:23:02 <shachaf> ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@metar "++x++")") . words $ ?show ENVA KOAK
23:23:08 <lambdabot> ENVA 252250Z 00000KT 5000 -SN VV009 M00/M01 Q0998 RMK WIND 670FT 25002KT \ KOAK 252253Z 27006KT 9SM FEW160 21/09 A3009 RMK AO2 SLP189 T02060094
23:23:11 <shachaf> @where+ weather ?? ?@ ?run var$intercalate " \\ " . map (\x -> "(@metar "++x++")") . words $ ?show
23:23:14 <lambdabot> Nice!
23:23:17 <shachaf> `? weather
23:23:19 <HackEgo> lambdabot: ?? ?@ (?where weather) CYUL ENVA ESSB KOAK
23:23:23 <shachaf> Oh, right.
23:23:25 <oerjan> spacy
23:23:25 <ais523> `unicode multiocular o
23:23:26 <shachaf> @ignore - HackEgo
23:23:28 <HackEgo> U+A66E CYRILLIC LETTER MULTIOCULAR O \ UTF-8: ea 99 ae UTF-16BE: a66e Decimal: &#42606; \ ꙮ \ Category: Lo (Letter, Other) \ Bidi: L (Left-to-Right)
23:23:32 <shachaf> `? weather
23:23:34 <HackEgo> lambdabot: ?? ?@ (?where weather) CYUL ENVA ESSB KOAK
23:23:43 <lambdabot> CYUL 252300Z 26013KT 2 1/2SM -SN BKN009 OVC014 00/M01 A2919 RMK SN2SF4SF2 SLP887 \ ENVA 252250Z 00000KT 5000 -SN VV009 M00/M01 Q0998 RMK WIND 670FT 25002KT \ ESSB 252250Z AUTO 26008KT 9999 NCD M01/M06 Q0999 \ KOAK 252253Z 27006KT 9SM FEW160 21/09 A3009 RMK AO2 SLP189 T02060094
23:23:45 <shachaf> @ignore + HackEgo
23:23:59 <shachaf> This is definitely the least noisy way to find out the weather.
23:24:08 <ais523> `unicode combining umlaut
23:24:09 <HackEgo> No output.
23:24:12 <ais523> hmm
23:24:27 <shachaf> `unicode combining diaeresis
23:24:28 <HackEgo> ​̈
23:26:28 <oerjan> `` echo -n ꙮ;unicode combining diaeresis
23:26:30 <HackEgo> ​ꙮU+0308 COMBINING DIAERESIS \ UTF-8: cc 88 UTF-16BE: 0308 Decimal: &#776; \ ̈ \ Category: Mn (Mark, Non-Spacing) \ Bidi: NSM (Non-Spacing Mark) \ Combining: 230 (Above) \ \ U+0324 COMBINING DIAERESIS BELOW \ UTF-8: cc a4 UTF-16BE: 0324 Decimal: &#804; \ ̤ \ Category: Mn (Mark, Non-Spacing) \ Bidi: NSM (Non-Spacing Mark) \ Combining: 2
23:26:37 <oerjan> dammit
23:26:45 <oerjan> why did that happen
23:26:59 <oerjan> oh
23:27:05 <oerjan> `` echo -n ꙮ;unicode 'combining diaeresis'
23:27:06 <HackEgo> ​ꙮ̈
23:27:49 <oerjan> @tell boily MWꙮ̈Hꙮ̈Hꙮ̈Hꙮ̈
23:27:51 <lambdabot> Consider it noted.
23:28:26 <shachaf> how did we get sidetracked from linear logic tdnh
23:28:32 <shachaf> you were about to tell me what _|_ meant
23:28:47 <oerjan> _|_ means i dunno
23:29:01 <oerjan> like a deep, bottomless void
23:29:18 <shachaf> http://llwiki.ens-lyon.fr/mediawiki/index.php/Intuitionistic_linear_logic
23:29:33 <shachaf> "The connectives #, _|_ and ? are not available anymore, but the linear implication -o is."
23:29:37 <shachaf> i'm guessing you're a fan hth
23:29:47 <oerjan> OKAY
23:29:58 -!- adu has joined.
23:30:28 <oerjan> i dunno, there's something deeply mysterious about truly self-dual linear logic
23:30:28 <shachaf> did i misguess
23:30:36 <shachaf> i think the duality is p. important
23:30:42 <shachaf> without duality what do you even have
23:30:43 <oerjan> maybe it's the secret of quantum mechanics twh
23:31:14 <oerjan> afk
23:31:16 <shachaf> oh i figured out the secret to the speed of light the other day
23:31:22 <shachaf> oh, never mind then
23:34:03 <shachaf> Oh, http://llwiki.ens-lyon.fr/mediawiki/index.php/Translations_of_classical_logic
23:34:06 <shachaf> http://llwiki.ens-lyon.fr/mediawiki/index.php/Translations_of_intuitionistic_logic
23:42:58 <oerjan> hm?
23:43:43 <oerjan> WHAT SECRET
23:45:34 <shachaf> Well, I don't know if it actually makes sense.
23:46:06 <shachaf> I should talk to someone who knows about physics about it.
23:46:24 <shachaf> It's more of an analogy, really.
23:46:37 <oerjan> i do know some physics.
23:47:05 <shachaf> ok then can you explain the speed of light twh
23:48:53 <oerjan> well it's basically the fundamental speed of relativity theory
23:49:42 <shachaf> Anyway there's this thing called "volume time".
23:50:26 <oerjan> never heard of it
23:50:27 <shachaf> I mean in the sense of trading volume. Each time someone buys or sell something the volume time of that thing increases.
23:50:41 <shachaf> Well, in particular, one person buys and the other person sells.
23:50:53 -!- hppavilion[1] has joined.
23:51:01 * oerjan sees a financial person with a hammer
23:51:13 <hppavilion[1]> I think teams of scientists should design video game stat systems
23:51:22 <hppavilion[1]> Thousands upon thousands of variables
23:51:25 <shachaf> oerjan: take that back twh
23:51:39 <shachaf> This has nothing to do with physics anyway, I was just thinking about volume time.
23:51:52 <shachaf> Measuring things in volume time rather than clock time can make all sorts of things more well-behaved.
23:51:56 <oerjan> shachaf: was it _that_ insulting
23:52:23 <tswett> hppavilion[1]: what do you mean by a video game stat system, exactly?
23:52:36 <shachaf> So you might say "my position is X, and by volume time T, I want to have position X+D"
23:53:11 <hppavilion[1]> For example, the material scientist adds TGH (toughness), HRD (hardness), STR (strength), DUC (ductility), CRS (corrosion resistance), TMB (temperature-based behavior), WRS (wear resistance)
23:53:15 <hppavilion[1]> tswett: That
23:53:31 <shachaf> Well, from time T to time T', you go from position X to position X'
23:53:36 <tswett> So the "volume time" is essentially the number of share-trades that have happened so far?
23:53:38 <shachaf> So your "speed" -- called "participation rate" -- is (X'-X)/(T'-T)
23:53:49 <hppavilion[1]> tswett: I think we should spend the next hour making science/video game jokes about obscure traits characters could have
23:53:56 <shachaf> Anyway the interesting thing about this system is that time and position are measured in the same sort of unit.
23:53:58 <tswett> hppavilion[1]: I like that idea.
23:54:09 <shachaf> It never makes sense to have a speed greater than 1. It doesn't matter how fast you trade.
23:54:20 <oerjan> shachaf: there is a concept in relativity known as "proper time", which is the time a particular object observes.
23:54:21 <tswett> hppavilion[1]: reminds me of Dwarf Fortress. It's a really really sophisticated simulation.
23:54:24 <hppavilion[1]> tswett: And, perhaps, loving what we come up with so much that we make a browser game out of it
23:54:50 <hppavilion[1]> RAD- radioactivity- how much ambient long-term damage you do to your opponents (comes at a HLTH cost)
23:55:18 <shachaf> Anyway there does come up some thing in physics where time and position are measured using the same sort of unit, right?
23:55:39 <hppavilion[1]> Buckminsterfullerene nanostructures.
23:55:40 <shachaf> And where in some sense it's nonsensical to talk about changing position faster than the speed 1?
23:55:59 <tswett> shachaf: yeah, I mean, you just assume that the speed of light is equal to unitless 1.
23:56:21 <oerjan> shachaf: it is common to set the speed of light to 1, which is essentially that
23:56:23 <tswett> I think it's still meaningful to talk about changing position faster than 1. It's just that nothing does that.
23:56:35 <tswett> STN - steinfulness. It determines your, uh...
23:56:37 <shachaf> Sure, but the idea that you can't change position faster than some speed, no matter how much you try, seems kind of odd given the usual notion of speed.
23:56:43 <tswett> Most people have a steinfulness of 0.
23:56:46 <shachaf> But in this volume time context it makes perfect sense.
23:56:50 <shachaf> So maybe physics is like that.
23:57:06 <tswett> There's a certain famous theoretical physicist, now deceased, who had a steinfulness of 1.
23:57:25 <hppavilion[1]> tswett: Goldstein?
23:57:25 <tswett> I'm not aware of anyone who has ever had a steinfulness of 2 or greater.
23:57:33 <shachaf> Well, it's "meaningful" to talk about going from position 0 to position 100 in volume time 50.
23:57:47 <shachaf> But you can't get there by buying.
23:58:17 <oerjan> Dr. Zweistein, i presume
23:58:37 <hppavilion[1]> tswett: Also STN- Berenstain: Sensitivity to interuniversal travel
23:58:43 <hppavilion[1]> Alternatively, MND
23:59:11 <tswett> TDC - Tardicity. Determines how large the interior is compared to the exterior.
23:59:20 <hppavilion[1]> Yes.
23:59:48 <tswett> So, Wikipedia says you can use transfinite induction to define a function on the ordinal numbers like so.
2016-02-26
00:00:25 <tswett> z(a,b) is defined as the smallest ordinal number c such that c > a, c > b, and c is not the value of z for any smaller a, or for the same a with a smaller b.
00:00:33 <oerjan> tswett: i think that should be the Tardigrade hth
00:00:56 <tswett> oerjan: I think I agree. th
00:01:07 <tswett> Now, it's not obvious to me that that function is well-defined.
00:01:57 <tswett> z(0,b) is simply the successor of b, and it's obvious that the successor function "misses enough" ordinal numbers.
00:02:25 <tswett> (That is: the collection of ordinal numbers which are not in the image of the successor function is isomorphic to the collection of all ordinal numbers.)
00:02:30 <oerjan> tswett: didn't we discuss this earlier
00:02:41 <tswett> Maybe.
00:02:45 <oerjan> i recall it almost melted my brain
00:02:52 <oerjan> but that somehow, there were enough gaps
00:03:15 <tswett> Yeah. So, why are there always enough gaps?
00:05:33 <hppavilion[1]> Fuzzy Bag Typing
00:07:22 <tswett> Wait, I'm starting to remember, I think.
00:07:31 <tswett> Suppose you have some function f on the ordinal numbers such that for all x, f(x) > x.
00:08:11 <tswett> Then you can start at any ordinal number and iterate f on it. This will give you an infinite increasing sequence of ordinal numbers. Then take the limit of that sequence.
00:08:41 <tswett> That number that you just got, that limit, can't be in the image of f.
00:09:05 <oerjan> f needs to be increasing
00:09:19 <tswett> Does it?
00:10:12 <tswett> Yeah, I guess it does.
00:10:31 <tswett> The infinite sequence that you get is increasing even if f is not increasing. But, uh...
00:10:53 <oerjan> maybe you can take supremums of f(0)...f(x)
00:11:05 <tswett> My train of thought fell down a mine shaft.
00:11:12 <tswett> (MTOTFDAMS)
00:11:33 <oerjan> hi, welcome to the mine of brain liquification
00:11:49 <tswett> So, this makes z well-defined.
00:12:08 <tswett> Now, it happens that the entirety of z has "enough gaps", too.
00:12:31 <tswett> Why?
00:13:01 <oerjan> BRRAAAINS
00:13:20 * oerjan saves his brain by not even trying
00:13:32 <shachaf> do you want a refreshing pooch pic to soothe your brain
00:13:44 <oerjan> MAYBE
00:14:36 <shachaf> http://i.imgur.com/K59pAb5.gifv
00:16:02 -!- tromp_ has joined.
00:16:21 <oerjan> `? adu
00:16:25 <HackEgo> Bye!
00:16:33 <adu> oerjan: ?
00:17:13 <shachaf> `` hg log wisdom/adu
00:17:14 <HackEgo> changeset: 7004:4c654b530cd9 \ user: HackBot \ date: Thu Feb 25 04:20:01 2016 +0000 \ summary: <hppavilion[1]> le/rn adu/Bye!
00:17:38 <adu> shachaf: what does that mean?
00:17:44 <oerjan> shachaf: a very pouchy pooch
00:18:02 <adu> what's a pouch
00:18:03 <oerjan> `le/rn adu/Do you know adu? Adu adu adu adu adu!
00:18:05 <HackEgo> Learned «adu»
00:18:06 <adu> what's a pooch?
00:18:21 <shachaf> @wn pooch
00:18:22 <lambdabot> *** "pooch" wn "WordNet (r) 3.0 (2006)"
00:18:23 <oerjan> adu: see above gifv hth
00:18:24 <lambdabot> pooch
00:18:26 <lambdabot> n 1: informal terms for dogs [syn: {pooch}, {doggie}, {doggy},
00:18:28 <lambdabot> {barker}, {bow-wow}]
00:18:30 <lambdabot> v 1: round one's lips as if intending to kiss [syn: {pooch},
00:18:32 <lambdabot> {pooch out}]
00:18:51 <adu> shachaf: oh, you mean a baggy dog
00:18:57 <oerjan> adu: someone added a wisdom for you. it wasn't very good, so i imprevod it hth
00:19:04 <adu> uh I mean oerjan
00:19:09 <shachaf> oerjan: it previously meant "adu" as in "bye" hth
00:19:10 <adu> oerjan: thanks :)
00:19:16 <shachaf> as in "adieu"
00:19:33 <adu> shachaf: I'm well aware of the french saying
00:19:44 <adu> but in fact, "adu" is short for "andydude"
00:19:47 <shachaf> Aware of the French saying what?
00:20:10 <adu> I used to use "andydude" as my login to irc, but I registered "adu" and now I have no choice
00:21:08 <oerjan> adu: you know you
00:21:18 <oerjan> 're allowed more than one nick here hth
00:21:26 <shachaf> oerjan: NONSENSE
00:21:27 <oerjan> you can even group them
00:21:41 <adu> like adu_sleeping
00:22:40 <adu> or adu_zzz
00:22:46 <adu> or adu_slumber
00:22:52 <adu> or adu_work
00:22:54 <oerjan> shachaf: ♫ Si meg, hva betyr adjø... ♫
00:23:17 <adu> Yes, make a better adjective...
00:23:37 <adu> I like that song
00:24:18 <shachaf> oerjan: The pooch has pooches which contain smaller pooches.
00:25:33 <shachaf> The Neverhood was so good
00:25:36 <shachaf> https://www.youtube.com/watch?v=14xcsz43Kuw
00:26:32 -!- tromp_ has quit (Remote host closed the connection).
00:26:34 -!- FreeFull has quit (Ping timeout: 240 seconds).
00:29:48 <adu> `` hg log wisdom/adu
00:29:49 <HackEgo> changeset: 7017:e40713f3412a \ tag: tip \ user: HackBot \ date: Fri Feb 26 00:18:04 2016 +0000 \ summary: <oerjan> le/rn adu/Do you know adu? Adu adu adu adu adu! \ \ changeset: 7004:4c654b530cd9 \ user: HackBot \ date: Thu Feb 25 04:20:01 2016 +0000 \ summary: <hppavilion[1]> le/rn adu/Bye!
00:30:03 <hppavilion[1]> adu: Yes?
00:30:17 <adu> hppavilion[1]: I didn't say anything
00:30:49 <adu> hppavilion[1]: I was simply testing a hypothesis, which turned out to be true
00:32:37 <adu> my hypothesis was that it was cumulative, and it is
00:34:47 -!- augur has joined.
00:39:14 <quintopia> hello
00:41:24 <hppavilion[1]> adu: One data point is not enought to turn a hypothesis into a theory
00:41:54 <adu> hppavilion[1]: tell that to my success story!
00:42:28 <hppavilion[1]> adu: Are you a young earth creationist?
00:46:59 <oerjan> <hppavilion[1]> Pokadots that will rip you to shreds given the chance <-- *polkadots hth
00:47:50 <hppavilion[1]> oerjan: No.
00:48:02 <oerjan> Yes.
00:50:16 <adu> hppavilion[1]: I'm going to pretend I know what you're talking about
00:51:05 <hppavilion[1]> adu: You haven't heard of young earth creationists?
00:51:17 <adu> hppavilion[1]: I've heard of creationists
00:51:19 <hppavilion[1]> adu: They're the guys who think the universe is 6000 years old, same as the earth
00:51:32 <hppavilion[1]> Created by gaaaaaaaaaaaawd 6000 years ago
00:51:35 <adu> those are people who believe the universe is 6000 years old
00:51:47 <adu> I'm not sure what "young earth" means in that context
00:51:56 <hppavilion[1]> adu: Creationists are broader than the young earth creationists
00:52:02 <adu> hppavilion[1]: no
00:52:11 <hppavilion[1]> adu: There are two types- old earth and young earth
00:52:20 <adu> hppavilion[1]: wut
00:52:31 <hppavilion[1]> Old earth at least try to mix some basic science- the things we know for a fact to be true- into their beliefs
00:52:33 <adu> how do they explain older stuff?
00:52:51 <hppavilion[1]> adu: God created everything to look older than it is
00:52:52 <ais523> adu: "young earth creationists" are the subset of creationists who have a specific time in mind for the creation of the earth that's on a relatively small timescale, normally somewhere around 4000 BC
00:53:01 <adu> hppavilion[1]: WhAuT?
00:53:06 <hppavilion[1]> Young earthers throw science out the window
00:53:23 <adu> hppavilion[1]: I believe that the universe is older than anything in the universe
00:53:29 <hppavilion[1]> adu: They think we can see stars >6000 light-years away because god created the universe with everything already here
00:53:38 <hppavilion[1]> (everything = light)
00:53:48 <adu> hppavilion[1]: I also have a very strict definition of "universe" and "spacetime"
00:54:14 <hppavilion[1]> adu: Fair enough
00:54:49 <adu> hppavilion[1]: a "spacetime" is all that we will ever know: 3D space + time, but the "universe" is all that exists, and all this popsci mumbo jumbo about "paralell universes" is, in my dictionary, talking about "parallell" spacetimes, not universes
00:55:05 <hppavilion[1]> It's funny that wikipedia says "Fictional superhero" instead of just "superhero"
00:55:28 <hppavilion[1]> adu: I think you mean the multiverse hth
00:55:31 <adu> so my dictionary does not contain the word "multiverse", since obviously, it is a synonym for "universe"
00:55:40 <adu> hppavilion[1]: lol, I hate you for that
00:56:11 <hppavilion[1]> adu: Usually, the Universe only covers things we can get to without a particle accelerator from here to Alpha Centauri
00:56:24 <adu> hppavilion[1]: that's called a Spacetime, sir
00:57:10 <hppavilion[1]> adu: No, it's the universe
00:57:33 <adu> hppavilion[1]: no, it's a spacetime, which most people inaccurately equate with the universe
00:58:23 <adu> The Universe, is by definition, all that exists, if multiple spacetimes exist, then they exist within The Universe, by definition
00:58:30 <adu> this is just pure logic, it's not an opinion
01:06:00 <oerjan> @tell <b_jonas> huh... but I thought I reverted something else <-- you tried to `revert a command that didn't actually change anything hth
01:06:02 <lambdabot> Consider it noted.
01:06:03 <oerjan> oops
01:06:09 <oerjan> @tell b_jonas <b_jonas> huh... but I thought I reverted something else <-- you tried to `revert a command that didn't actually change anything hth
01:06:10 <lambdabot> Consider it noted.
01:06:50 <shachaf> oerjan: that's a long way back
01:09:37 <oerjan> shachaf: um it was during the recent `list mess
01:09:49 <shachaf> yes
01:09:52 <shachaf> that was a long time ago
01:10:09 <oerjan> shachaf: are you an extremely young earth creationist
01:10:52 <shachaf> oerjan: perhaps i'm a veetan
01:11:29 <adu> oerjan: shachaf didn't deny it
01:11:53 <shachaf> i'm not all that young anymore
01:12:13 <shachaf> but i'm certainly an earth creationist
01:12:18 <shachaf> what other sort of creationist would i be
01:13:34 <ais523> bleh, that moment when you're curious about what the `list is and yet don't want to check
01:14:40 <shachaf> ais523: go for it
01:14:44 <shachaf> What's the worst that could happen?
01:14:54 <ais523> I'd end up on a list
01:18:08 <hppavilion[1]> ais523: Are there any things that won't make my brain heart with cardinality > 𝔠?
01:18:10 <hppavilion[1]> ...
01:18:26 <hppavilion[1]> \oren\: Do newer versions of neoletters have 𝔠?
01:28:41 <hppavilion[1]> Ugh
01:28:50 <hppavilion[1]> My left arrow key seems to have stopped working
01:31:07 -!- lynn has quit (Ping timeout: 250 seconds).
01:34:44 <hppavilion[1]> I want to make an unlambda derivative
01:34:52 <hppavilion[1]> Then write a fake O'reilly book about it
01:34:58 <hppavilion[1]> Though I'm not sure what to call it
01:35:33 <adu> ais523: that sounds like a hashtag
01:36:06 <adu> #thatmomentwhenyourecuriousaboutwhatthelistisandyetdontwanttocheck
01:39:19 <hppavilion[1]> If call/cc is GOTO, what's COMEFROM?
01:39:50 <hppavilion[1]> adu: Do you know?
01:40:19 <shachaf> call/cc isn't GOTO
01:41:03 <hppavilion[1]> shachaf: It's the functional equivalent, according to wikipedia
01:42:52 <adu> hppavilion[1]: do you mean try0catch?
01:43:01 <adu> "try-catch"
01:43:19 <hppavilion[1]> adu: For what? comefrom?
01:43:32 <hppavilion[1]> Or as the functional GOTO
01:43:35 <adu> hppavilion[1]: call/cc is CAMEFROM, cc is GOTO
01:43:46 <hppavilion[1]> adu: Ah.
01:43:54 <adu> hppavilion[1]: or perhaps you mean (dynamic-wind)
01:44:06 <hppavilion[1]> adu: Oooh, what's that?
01:44:14 <adu> hppavilion[1]: it's like try-catch
01:44:36 <adu> hppavilion[1]: it ensures that it's 3 arguments are all executed, in order, regardless of exceptions thrown
01:45:16 <adu> (dynamic-wind a b c) will execute c, even if a and b throw exceptions
01:45:27 <hppavilion[1]> What happens if the function you pass to a call/cc is another continuation?
01:45:27 <oerjan> <hppavilion[1]> My left arrow key seems to have stopped working <-- it's spreading!
01:45:27 <adu> or call a "cc" from somewhere else
01:45:48 <adu> hppavilion[1]: then the world starts to explode
01:46:04 <adu> hppavilion[1]: actually, then you're just returning an address
01:46:04 <hppavilion[1]> adu: But then you call a continuation and it stops exploding
01:46:19 <adu> ((call/cc call/cc) (call/cc call/cc)) is when the world explodes
01:46:32 <hppavilion[1]> Oh, right
01:47:40 <hppavilion[1]> adu: In esolisp, should I include call/em instead of call/cc as primitives?
01:47:50 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:48:20 <adu> hppavilion[1]: my personal opinion is that all you need is call/ec, which is like call/cc, but the continuation cannot escape the lexical scope of call/ec
01:48:35 <hppavilion[1]> adu: And what does ec stand for?
01:49:01 <adu> https://docs.racket-lang.org/reference/cont.html#%28def._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._call%2Fec%29%29
01:49:12 <adu> "escape-continuation"
01:49:53 <adu> hppavilion[1]: scratch that, "dynamic extent", not "lexical scope"
01:50:06 <adu> s/lexical scope/dynamic extent/
01:50:19 <hppavilion[1]> adu: You're much smarter than me. Can you help me with #esoteric lisp?
01:50:31 <hppavilion[1]> Passively, if you prefer
01:50:34 <adu> hppavilion[1]: as if lisp isn't esoteric enough ;)
01:50:50 <hppavilion[1]> adu: That's the tagline ;)
01:50:54 <adu> I'm not smart, I just read a lot
01:51:45 <hppavilion[1]> adu: That works too
01:51:47 <adu> for example, I once deployed an update to every server with an extra comma, that caused all of our servers to crash, repeatedly
01:52:11 <adu> I think I deleted the comma about 4 hours later
01:52:29 <adu> which, of course, made me feel like an idiot
01:52:44 * adu hates commas
01:55:04 -!- tromp_ has joined.
01:56:30 <hppavilion[1]> adu: Is there something I could do for CF in esolisp that would be completely unexpected?
01:56:41 <adu> what is CF?
01:57:12 <adu> nobody expects the Spanish initialization!
01:57:28 <adu> hppavilion[1]: in Python?
01:57:35 <adu> lisp?
01:57:44 <hppavilion[1]> adu: Control Flow
01:57:47 <adu> oh
01:57:53 <hppavilion[1]> adu: Esolisp, probably implemented in python
01:58:20 <adu> hppavilion[1]: force all control flow to be in the form of unevaluated associated lists
01:58:35 <hppavilion[1]> dafuq?
01:58:45 <adu> hppavilion[1]: basically switch-case
01:58:55 <hppavilion[1]> Ah
01:59:02 <hppavilion[1]> adu: I want something functional xD
01:59:18 -!- lambda-11235 has joined.
01:59:22 <adu> imagine a world, in which if is deprecated, else is a thing of the past, your only hope, is switch-case
01:59:28 <hppavilion[1]> adu: Are there any completely strange GOTO-like constructs I could functionalize?
01:59:33 <hppavilion[1]> Not just a jump, something different
01:59:43 <adu> hppavilion[1]: you could go way back
01:59:46 <adu> hppavilion[1]: way way back
01:59:52 <hppavilion[1]> Listening
01:59:53 <adu> like now scheme is at R7RS
02:00:05 <adu> but in R1RS there was this thing called tagbody
02:00:09 <adu> that was kind of like goto
02:00:13 <adu> but so f*cked up
02:00:18 -!- AlexR42 has joined.
02:01:04 * hppavilion[1] googles it
02:01:07 <hppavilion[1]> MY EEEEEEEEEEEEEEEYES
02:01:08 <adu> lol
02:01:25 <hppavilion[1]> adu: Not only is it weird and confusing with an IMproper implementation
02:01:38 <hppavilion[1]> adu: I'm also reacting to plain-font code
02:02:20 <adu> lol
02:02:22 <hppavilion[1]> adu: If call/cc is functional GOTO, what's functional IF?
02:02:35 <adu> hppavilion[1]: arc if is probably the most obscure
02:02:37 <hppavilion[1]> Not the construct named IF necessarily- the one that evaluates one of its arguments based on another
02:02:42 <adu> lisp and schem use 3-argument if
02:03:09 <hppavilion[1]> adu: I'm going for what you get if you use call/cc like JMP in compiled code; what does IF look like then?
02:03:10 <adu> arc if is equivalent to lisp and scheme (cond), so (if a b c d e) actually means (if a b (if c d e))
02:03:25 <hppavilion[1]> Wat
02:03:28 <adu> ya
02:03:42 <hppavilion[1]> adu: So conditional call/cc
02:03:47 <adu> hppavilion[1]: no, just if
02:03:57 <adu> it's like the classic if-elseif-else
02:03:59 <hppavilion[1]> adu: No, I'm talking about conditional call/cc
02:04:11 <adu> hppavilion[1]: conditional on what?
02:04:15 <hppavilion[1]> (call-with-current-continuation-if-<cond> cond func else)
02:04:19 <hppavilion[1]> adu: Various
02:04:32 <adu> https://www.gnu.org/software/guile/manual/html_node/Dynamic-Wind.html
02:04:34 <hppavilion[1]> adu: Basically, it's the functional equivalent of low-level JMP
02:05:05 <hppavilion[1]> adu: And I'm wondering what happens if we exactly transcribe the implementation of IF-THEN to JMPs into functional programming
02:05:11 <hppavilion[1]> Do you get what I'm trying to say?
02:05:13 <adu> hppavilion[1]: oh, you want delimited-continuations
02:05:18 <hppavilion[1]> adu: Is that it?
02:05:33 <adu> https://docs.racket-lang.org/guide/prompt.html
02:05:51 <adu> prompt is like "global = address"
02:05:59 <adu> abort is like "address = global"
02:07:09 <hppavilion[1]> adu: I'm not sure you understand, but odds are it's me who isn't understanding
02:07:30 <adu> hppavilion[1]: I think one of the issues with goto's in scheme is that all previous attempts involve going where you've gone before
02:07:59 <adu> if you want to jump to a place *after* everything you've done, then you probably just need to invent a name for it
02:08:09 <hppavilion[1]> adu: Ah, yes, that
02:08:19 <adu> and define it as "current_address = given_address"
02:08:55 <hppavilion[1]> adu: What I'm trying to say is this
02:09:05 <hppavilion[1]> adu: You know how call/cc is sort of like a JMP?
02:10:18 <adu> yes
02:10:48 <adu> as opposed to CALL, which manipulates the stack
02:11:31 <hppavilion[1]> adu: OK, and you know how if-then in imperative languages is implementable in terms of JMP
02:11:41 <adu> yes
02:11:47 <hppavilion[1]> Well, conditional JMP
02:12:11 <hppavilion[1]> adu: What happens if you implement if-then the same way, but in terms of conditional call/cc (and functionalizing everything)?
02:12:24 <hppavilion[1]> adu: Is it just (if x y z), or does it make something new?
02:12:47 <adu> (call/cc (lambda (return) (if x (return y) (return z))))
02:13:34 <hppavilion[1]> adu: So it's exactly the same then?
02:13:35 <hppavilion[1]> OK
02:13:37 <adu> hppavilion[1]: there are more possibilities, like you can return y in places that are not technically tail-calls
02:16:24 <hppavilion[1]> Ah
02:16:25 <adu> like without call/cc, then (begin a b c d e ... z) would always return z
02:16:26 <hppavilion[1]> adu: JMP:CJMP::call/cc:???
02:16:26 <adu> but with call/cc, then (call/cc ... (begin a b c (return y) ... z)) would return y instead of z, even though z is a tail call
02:18:29 <adu> hppavilion[1]: so really call/cc should be called convert-return-into-a-function
02:18:54 -!- zzo38 has joined.
02:19:10 <quintopia> hezzo38
02:29:30 -!- FreeFull has joined.
02:36:43 <coppro> I really love the breathiness of finnish glottals
02:39:12 -!- augur has quit (Remote host closed the connection).
02:39:58 -!- andrew_ has joined.
02:44:19 -!- ais523 has quit.
02:44:20 -!- XorSwap has joined.
02:56:10 <\oren\> there should be language-independent languages
02:56:31 <\oren\> err i guess that was meaningless
02:57:07 <\oren\> i mean a programming language which is independent of natural language
02:58:56 <\oren\> e.g. the keywords like print etc would be eliminated in favor of symbols
02:59:06 <lifthrasiir> \oren\: so you end up with emojis?
02:59:12 <\oren\> yah
02:59:19 <\oren\> that would work
03:00:51 <\oren\> techically bf is an example
03:07:44 -!- oerjan has quit (Quit: leaving).
03:16:36 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
03:21:08 <zgrep> \oren\: APL/J/K seem to share that philosophy.
03:40:06 -!- adu has quit (Quit: adu).
03:49:57 -!- bb010g has joined.
04:01:11 -!- hppavilion[1] has joined.
04:10:20 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
04:21:53 <lifthrasiir> I guess so
04:32:21 -!- XorSwap has quit (Quit: Leaving).
04:38:12 -!- Elronnd has changed nick to newguy_.
04:44:27 -!- newguy_ has changed nick to Elro.
04:44:34 -!- Elro has changed nick to Elronnd.
05:03:44 <lambda-11235> \oren\: Befunge almost counts, except for the p and g commands.
05:07:39 <deltab> \oren\: AppleScript uses numbers as symbols internally, which are displayed as translatable text
05:07:39 <\oren\> I made a plane kinda like the Saab Gripen in KSP
05:09:23 <\oren\> i suppose if you have translations for every keyword it could work, but ideally you would make it so that anyone can just read code written by someone who speaks a different language
05:09:47 <lifthrasiir> \oren\: you need to deter identifiers then? it would be very hard.
05:10:03 <lifthrasiir> that will surely end up as an esolang
05:24:37 -!- jaboja has joined.
06:07:22 -!- XorSwap has joined.
06:07:34 -!- hppavilion[1] has joined.
06:16:29 <hppavilion[1]> unlambda `c``sii interests me now
06:16:46 -!- Guest16721 has changed nick to atslash.
06:21:08 <hppavilion[1]> So ```sii`c``sii creates an infinite loop...
06:21:11 <hppavilion[1]> Unlambda is fun!
06:29:41 <hppavilion[1]> I should ruin it by introducing objects!
07:18:13 <hppavilion[1]> OH MY GOD
07:18:20 <hppavilion[1]> THE FIRST HIGH-LEVEL LANGUAGE WAS 2D
07:18:27 <izabera> what was it?
07:18:43 <hppavilion[1]> izabera: https://en.wikipedia.org/wiki/Plankalkül
07:19:05 <hppavilion[1]> izabera: Unfortunately, the one code examples is in the 1990s revision, which was designed to be implemented
07:19:25 <hppavilion[1]> Can't believe they changed such a major feature and still called it Plankalkül
07:30:19 <b_jonas> ``` perl -e bin/revert
07:30:31 <HackEgo> Illegal division by zero at -e line 1.
07:30:54 <b_jonas> hppavilion[1]: that's not really surprising, since the first form of APL was 2D too (as in, using arrows for gotos or something.
07:30:57 <b_jonas> )
07:33:54 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
07:34:27 -!- carado has quit (Quit: Leaving).
07:40:41 -!- element118 has joined.
07:49:08 <zzo38> The talk page mentions a few other things too
07:49:51 <zzo38> (Apparently the only "word" built-in is FIN which means the program is finished if 1 is assigned to FIN)
07:50:59 <zzo38> They also mention the programming language that has only control structure is a for loop
07:54:45 <b_jonas> which kind of for loop?
07:55:46 <b_jonas> the fortran DO loop?
08:11:17 -!- singingboyo has joined.
08:12:39 -!- jaboja has quit (Ping timeout: 244 seconds).
08:18:24 <b_jonas> ah yes, great QC comic. Jeph does these sorts of montages great.
08:18:40 <b_jonas> He did them multiple times.
08:24:49 <b_jonas> Huh? The second Conspiracy set (announced a few weeks ago but more details given yesterday) will be focused on multiplayer games after a draft with cards affecting draft?
08:28:40 <shachaf> Isn't that also true of the first Conspiracy set?
08:28:47 <shachaf> I didn't know there'd be a second one.
08:30:21 <b_jonas> shachaf: the draft part is true, but as far as I know, the multiplayer isn't. maybe I just didn't pay much attention.
08:30:30 <b_jonas> shachaf: and the second one isn't released yet.
08:30:33 <shachaf> Conspiracy was designed for multiplayer games.
08:30:40 <shachaf> They had all those voting cards.
08:30:41 <b_jonas> Um, ok.
08:30:57 <b_jonas> In that case I just didn't pay attention to that set.
08:31:17 <shachaf> http://magiccards.info/query?q=o:%22Will+of+the+council%22
08:31:27 <shachaf> Those cards make much more sense with more than two players.
08:31:52 <b_jonas> true
08:38:49 -!- PinealGlandOptic has joined.
08:45:08 -!- AnotherTest has joined.
08:54:36 -!- lambda-11235 has quit (Quit: Bye).
08:54:41 -!- tromp_ has quit (Remote host closed the connection).
09:21:36 -!- singingboyo has quit (Remote host closed the connection).
09:22:56 -!- jaboja has joined.
09:35:01 -!- jaboja has quit (Ping timeout: 240 seconds).
09:44:09 <izabera> http://www.crunchyroll.com/anime-news/2016/02/25-1/sleeping-pokmon-kabigonsnorlax-becomes-15m-size-cushion *_*
09:47:54 <izabera> gimme that gimme that gimme gimme
09:49:09 -!- jaboja has joined.
09:55:11 -!- tromp_ has joined.
09:59:25 -!- tromp_ has quit (Ping timeout: 250 seconds).
10:05:47 -!- PinealGlandOptic has quit (Quit: leaving).
10:28:58 -!- jaboja has quit (Ping timeout: 252 seconds).
10:38:45 <b_jonas> `? hat
10:38:55 <HackEgo> hatee-hatee-hatee-hooo
10:39:11 <b_jonas> `? high hat
10:39:13 <HackEgo> high hat? ¯\(°​_o)/¯
10:39:14 <b_jonas> `? black hat
10:39:17 <HackEgo> black hat? ¯\(°​_o)/¯
10:39:19 <b_jonas> `? white hat
10:39:21 <HackEgo> white hat? ¯\(°​_o)/¯
10:39:24 <b_jonas> `? top hat
10:39:26 <HackEgo> top hat? ¯\(°​_o)/¯
10:39:46 <b_jonas> `? hi hat
10:39:47 <HackEgo> hi hat? ¯\(°​_o)/¯
10:39:47 <b_jonas> `? hihat
10:39:48 <HackEgo> hihat? ¯\(°​_o)/¯
10:39:49 <b_jonas> `? hi-hat
10:39:50 <HackEgo> hi-hat? ¯\(°​_o)/¯
11:07:43 -!- adu has joined.
11:09:40 -!- adu has quit (Client Quit).
11:37:49 -!- boily has joined.
11:51:38 -!- element118 has quit (Quit: Page closed).
11:55:50 -!- tromp_ has joined.
11:59:57 -!- tromp_ has quit (Ping timeout: 244 seconds).
12:09:31 -!- llue has quit (Quit: That's what she said).
12:28:59 -!- boily has quit (Quit: BURST CHICKEN).
12:34:48 -!- adu has joined.
12:41:05 -!- adu has quit (Quit: adu).
12:51:55 <b_jonas> `? infinite
12:52:01 <b_jonas> `? meta
12:52:12 <HackEgo> meta? ¯\(°​_o)/¯
12:52:13 <HackEgo> infinite? ¯\(°​_o)/¯
12:57:20 -!- AnotherTest has quit (Ping timeout: 244 seconds).
13:07:19 -!- andrew_ has quit (Remote host closed the connection).
13:26:28 <b_jonas> `? rint
13:26:29 <b_jonas> `? lrint
13:26:31 <b_jonas> `? trunc
13:26:32 <HackEgo> lrint? ¯\(°​_o)/¯
13:26:33 <HackEgo> rint? ¯\(°​_o)/¯
13:26:33 <HackEgo> trunc? ¯\(°​_o)/¯
13:26:34 <b_jonas> `? llrint
13:26:35 <HackEgo> llrint? ¯\(°​_o)/¯
13:33:02 <myname> what are you doing
13:34:30 <b_jonas> trying names of arithmetic functions for the wisdom database
13:34:36 <b_jonas> but I'm no wiser from what it returns
13:35:10 -!- ais523 has joined.
13:48:09 -!- bender| has joined.
14:03:27 -!- ais523 has quit.
14:03:37 -!- callforjudgement has joined.
14:03:42 -!- callforjudgement has quit (Changing host).
14:03:42 -!- callforjudgement has joined.
14:04:04 -!- callforjudgement has changed nick to ais523.
14:08:38 -!- XorSwap has quit (Ping timeout: 244 seconds).
14:10:50 -!- ais523 has quit.
14:10:58 -!- ais523 has joined.
14:14:31 -!- ais523 has quit (Client Quit).
14:14:53 -!- ais523 has joined.
14:21:02 -!- ais523 has quit (Read error: Connection reset by peer).
14:22:21 -!- callforjudgement has joined.
14:22:42 -!- callforjudgement has changed nick to ais523.
14:26:34 -!- callforjudgement has joined.
14:27:07 -!- augur has joined.
14:27:17 -!- callforjudgement has quit (Read error: Connection reset by peer).
14:27:26 -!- callforjudgement has joined.
14:28:31 <callforjudgement> ns ghost ais523
14:28:33 -!- ais523 has quit (Disconnected by services).
14:28:36 -!- callforjudgement has changed nick to ais523.
14:28:44 <ais523> good thing I don't enter my password for ghosting…
14:30:47 -!- ais523 has quit (Client Quit).
14:32:06 -!- ais523 has joined.
14:36:08 -!- oerjan has joined.
14:36:42 -!- ais523 has quit (Read error: No route to host).
14:36:44 -!- callforjudgement has joined.
14:39:13 -!- callforjudgement has quit (Read error: Connection reset by peer).
14:39:22 -!- callforjudgement has joined.
14:41:19 -!- callforjudgement has quit (Client Quit).
14:41:26 -!- ais523 has joined.
14:42:18 -!- tromp_ has joined.
14:44:26 <oerjan> ais523: truly
14:46:59 -!- tromp_ has quit (Ping timeout: 248 seconds).
14:47:15 -!- ais523 has quit (Ping timeout: 276 seconds).
14:51:57 <b_jonas> `? now you see
14:52:05 <HackEgo> now you see? ¯\(°​_o)/¯
14:52:33 <int-e> What do I see now?
14:53:01 <int-e> obvsiously that was a ghost password.
14:54:14 * oerjan gets all but two pairs in today's xkcd, and guesses the remaining...
14:54:50 <b_jonas> oerjan: there's always http://www.explainxkcd.com/wiki/index.php?title=Main_Page
14:54:59 <b_jonas> `? It's 'cause you're dumb
14:55:02 <oerjan> OKAY
14:55:03 <HackEgo> It's 'cause you're dumb? ¯\(°​_o)/¯
14:55:17 <oerjan> actually there's only one i cannot even recall seeing before
14:55:21 <b_jonas> `? explainxkcd
14:55:22 <HackEgo> explainxkcd? ¯\(°​_o)/¯
14:55:29 <oerjan> the one with jay and the other guy
14:57:15 <oerjan> b_jonas: i think i'll have to go there for the last name in the hovertext
14:59:22 <oerjan> they seem to have paired with Hall
15:02:05 <oerjan> the streak of regular what-if updates seems to have caught a snag
15:03:24 -!- augur has quit (Remote host closed the connection).
15:16:14 -!- AnotherTest has joined.
15:19:23 -!- lynn has joined.
15:31:45 -!- atslash has quit (Quit: Leaving).
15:46:14 -!- XorSwap has joined.
15:48:57 -!- jaboja has joined.
15:53:01 -!- AnotherTest has quit (Ping timeout: 250 seconds).
16:03:48 -!- AnotherTest has joined.
16:07:11 -!- ais523 has joined.
16:11:29 -!- ais523 has quit (Ping timeout: 240 seconds).
16:12:43 -!- AnotherTest has quit (Ping timeout: 255 seconds).
16:14:09 -!- jaboja has quit (Ping timeout: 244 seconds).
16:14:22 -!- ais523 has joined.
16:16:22 -!- ais523 has quit (Excess Flood).
16:18:10 -!- ais523 has joined.
16:20:01 -!- callforjudgement has joined.
16:20:03 -!- ais523 has quit (Read error: Connection reset by peer).
16:25:55 -!- XorSwap has quit (Ping timeout: 252 seconds).
16:26:11 -!- callforjudgement has quit (Ping timeout: 248 seconds).
16:28:27 -!- callforjudgement has joined.
16:34:29 -!- callforjudgement has changed nick to ais523.
16:35:50 -!- ais523 has quit.
16:36:14 -!- callforjudgement has joined.
16:36:55 -!- oerjan has quit (Quit: Later).
16:37:29 -!- callforjudgement has changed nick to ais523.
16:39:41 -!- lambda-11235 has joined.
16:39:41 -!- zadock has joined.
16:40:36 -!- ais523 has quit (Client Quit).
16:41:06 -!- ais523 has joined.
16:45:34 -!- ais523 has quit (Client Quit).
16:46:57 -!- callforjudgement has joined.
16:49:17 -!- callforjudgement has changed nick to ais523.
16:51:17 -!- callforjudgement has joined.
16:51:28 -!- ais523 has quit (Client Quit).
16:51:59 -!- callforjudgement has changed nick to ais523.
16:53:55 -!- callforjudgement has joined.
16:54:11 -!- ais523 has quit (Disconnected by services).
16:54:13 -!- callforjudgement has changed nick to ais523.
16:59:42 -!- ais523 has quit (Remote host closed the connection).
16:59:56 -!- callforjudgement has joined.
17:00:28 -!- callforjudgement has changed nick to ais523.
17:01:48 -!- callforjudgement has joined.
17:02:02 -!- ais523 has quit (Remote host closed the connection).
17:03:09 -!- callforjudgement has changed nick to ais523.
17:04:18 <prooftechnique> I'm worried compiling boost is going to blow up my computer :|
17:06:44 -!- ais523 has quit (Read error: Connection reset by peer).
17:06:50 -!- ais523 has joined.
17:08:48 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:12:44 -!- atriq has joined.
17:13:51 -!- gde33 has joined.
17:13:55 -!- ais523 has quit (Quit: …).
17:14:36 -!- nortti_ has joined.
17:14:55 -!- bender| has quit (Ping timeout: 250 seconds).
17:15:23 -!- nortti has quit (Disconnected by services).
17:15:27 -!- ski_ has joined.
17:15:29 -!- jix_ has joined.
17:15:33 -!- nortti_ has changed nick to nortti.
17:15:40 -!- shachaf_ has joined.
17:15:40 -!- digitalc1ld has joined.
17:15:54 -!- atehwa_ has joined.
17:16:00 -!- b_jonas_ has joined.
17:20:34 -!- gde33|2 has quit (*.net *.split).
17:20:34 -!- idris-bot has quit (*.net *.split).
17:20:35 -!- jix has quit (*.net *.split).
17:20:35 -!- catern has quit (*.net *.split).
17:20:35 -!- digitalcold has quit (*.net *.split).
17:20:35 -!- APic has quit (*.net *.split).
17:20:35 -!- atehwa has quit (*.net *.split).
17:20:35 -!- Melvar has quit (*.net *.split).
17:20:36 -!- Taneb has quit (*.net *.split).
17:20:36 -!- j-bot has quit (*.net *.split).
17:20:36 -!- b_jonas has quit (*.net *.split).
17:20:36 -!- shachaf has quit (*.net *.split).
17:20:36 -!- ski has quit (*.net *.split).
17:23:13 -!- Reece` has joined.
17:23:20 -!- catern has joined.
17:26:48 -!- Melvar has joined.
17:27:20 -!- APic has joined.
17:28:38 -!- AnotherTest has joined.
17:34:22 -!- hppavilion[1] has joined.
17:37:31 -!- XorSwap has joined.
17:44:03 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
17:48:35 -!- impomatic_ has quit (Read error: Connection reset by peer).
18:00:16 -!- shachaf_ has changed nick to shachaf.
18:03:59 -!- lynn_ has joined.
18:07:01 -!- lynn has quit (Ping timeout: 255 seconds).
18:14:33 -!- j-bot has joined.
18:15:18 -!- hppavilion[1] has joined.
18:25:01 -!- hppavilion[1] has quit (Ping timeout: 255 seconds).
18:28:40 -!- hppavilion[1] has joined.
18:29:15 <hppavilion[1]> What is the λ-calcular definition of the S combinator using the classic notation?
18:29:26 <hppavilion[1]> That is, one variable after the λ
18:29:39 <hppavilion[1]> So K is λx.λy.x, not λxy.x
18:30:33 <quintopia> i'm sure you can figure out how to curry it
18:31:30 <b_jonas_> hppavilion[1]: S = \x->\y->\z->(xz)yz
18:31:42 -!- b_jonas_ has changed nick to b_jonas.
18:32:00 <hppavilion[1]> b_jonas: Oh, I thought you didn't need parentheses in that notation
18:32:10 <hppavilion[1]> quintopia: I know, but I wanted the parenthesis-free notation
18:34:13 <myname> i would have thought it is x z (y z)
18:35:28 <zgrep> `` ls bin | grep explain
18:35:36 <HackEgo> No output.
18:35:56 <hppavilion[1]> myname: I think both work, the latter is just the more common notation
18:36:04 <hppavilion[1]> Then again, I'm an idiot
18:36:30 <myname> well, no
18:36:35 <myname> they are different things
18:36:57 <myname> application is evaluated left to righr by definition
18:37:15 <b_jonas> myname: oh right, I'm stupid
18:37:16 <myname> i.e. (xz)yz should be no different from xzyz
18:37:27 <b_jonas> indeed, S = \x->\y->\z->xz(yz)
18:37:28 <b_jonas> sorry
18:45:43 -!- hppavilion[1] has quit (Ping timeout: 255 seconds).
18:48:41 -!- hppavilion[1] has joined.
18:48:55 <hppavilion[1]> Most functional programming corresponds to Hilbert-Style Deduction Systems (many axioms, almost no deduction rules (usually just modus ponens)), correct?
18:49:03 <Elronnd> "(xz)yz should be no different from xzyz"
18:49:17 <Elronnd> which shoulds be no different than xy(z^2)
18:50:45 <myname> Elronnd: huh?
18:50:54 <myname> what the hell is ^2?
18:51:00 <Elronnd> to the second power
18:51:25 <myname> you are familiar with the fact that xzyz is no multiplication?
18:53:19 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
18:53:51 -!- impomatic_ has joined.
18:56:08 -!- Reece` has quit (Read error: Connection reset by peer).
18:57:44 -!- hppavilion[1] has joined.
18:58:14 -!- atriq has changed nick to Taneb.
18:58:46 <hppavilion[1]> myname: So was I right about functional programming and Hilbert-style deduction?
19:03:15 <Taneb> Wow
19:03:32 <Taneb> Next year I might have a piece of paper all official and everything saying I know functional programming
19:03:49 <myname> so?
19:04:03 <prooftechnique> You should start lying about it now. Get a jump on the job market
19:04:16 <Taneb> prooftechnique: well, I'm in my third year of a four year degree
19:04:19 <hppavilion[1]> Wait, no, most functional programming is based on natural deduction
19:04:23 <Taneb> I don't think that's a jump I can utilize
19:04:25 <hppavilion[1]> CL is the hilbert one
19:04:32 -!- jaboja has joined.
19:07:49 <hppavilion[1]> Can you base a functional programming language on a deduction rule other than modus ponens?
19:08:43 <myname> i never understood why you actually have different rules that basically do exactly the same if you transform your input
19:09:18 -!- ais523 has joined.
19:09:38 <myname> like, how is p -> q & p => q another rule than p | q & -p => q
19:09:40 -!- ais523 has quit (Client Quit).
19:09:46 <myname> they do exactly the same thing
19:10:06 <hppavilion[1]> myname: For example, could I have a language that completely forgoes modus ponens and instead uses hypothetical syllogism?
19:10:21 <hppavilion[1]> (aka function composition)
19:14:23 <prooftechnique> myname: That's what normalization is for
19:14:33 -!- J_Arcane has joined.
19:22:37 <hppavilion[1]> Functional language that corresponds to the Sequent Calculus?
19:24:28 <Vorpal> hppavilion[1]: how would it work?
19:25:02 <Vorpal> It seems to me (not having thought about this before) that modus ponens is inherently used when evaluating any sort of code
19:25:03 <zzo38> See http://esolangs.org/wiki/Gentzen for one way to make programming with a sequent calculus
19:25:38 <zzo38> (It lacks the implication operator)
19:27:16 <Vorpal> hm
19:27:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
19:28:11 -!- hppavilion[1] has joined.
19:30:02 -!- jaboja has quit (Remote host closed the connection).
19:37:47 -!- XorSwap has quit (Quit: Leaving).
19:38:27 -!- Sprocklem has quit (Ping timeout: 276 seconds).
19:39:55 -!- zadock has quit (Quit: Leaving).
19:47:49 <hppavilion[1]> Oh god
19:48:00 <Vorpal> hppavilion[1]: ?
19:48:00 <hppavilion[1]> I'm trying to make the Haskell of Sequent Calculi
19:48:06 <hppavilion[1]> Vorpal: ^
19:48:09 <Vorpal> ah
19:48:15 <hppavilion[1]> Vorpal: I'm reading the correspondence and have no clue what's going on
19:48:33 <Vorpal> um?
19:49:10 <Vorpal> hppavilion[1]: apparently zzo already designed a language like that
19:49:15 <hppavilion[1]> Vorpal: Oh, great
19:49:19 <hppavilion[1]> Vorpal: I'm making one too
19:49:24 <Vorpal> <zzo38> See http://esolangs.org/wiki/Gentzen for one way to make programming with a sequent calculus
19:49:24 <Vorpal> <zzo38> (It lacks the implication operator)
19:49:24 <Vorpal> <Vorpal> hm
19:49:35 <Vorpal> hppavilion[1]: might want to look at it
19:49:41 <hppavilion[1]> I am
19:50:17 <Vorpal> hppavilion[1]: I'm too tired to make any sense of it. The dangers of lying in a comfortable sofa with a laptop
19:51:37 <Vorpal> hppavilion[1]: Also I never ran into sequent calculus before, but to me it appears to be a rather complicated way of expressing things. Does it have additional power compared to classic logic? Or what is the big deal?
19:51:45 -!- lleu has joined.
19:51:46 -!- lleu has quit (Changing host).
19:51:46 -!- lleu has joined.
19:53:11 -!- hppavilion[2] has joined.
19:53:21 <hppavilion[2]> Vorpal: Really, I'm trying to make a kit of languages based on the CHI
19:54:05 <Vorpal> hm
19:54:08 <Vorpal> <Vorpal> hppavilion[1]: Also I never ran into sequent calculus before, but to me it appears to be a rather complicated way of expressing things. Does it have additional power compared to classic logic? Or what is the big deal?
19:54:26 <Vorpal> hppavilion[2]: still interested in that question, once your internet stopped messing up for you
19:54:45 <hppavilion[2]> Vorpal: It's not my internet, it's school internet
19:55:02 <hppavilion[2]> Vorpal: And it's not the internet, it's me getting on and off my computer because I have to move to go do things
19:55:12 <hppavilion[2]> Vorpal: And I don't want people messing with my laptop while I'm gone
19:55:21 <Vorpal> hppavilion[2]: fair enough
19:55:28 -!- hppavilion[1] has quit (Ping timeout: 255 seconds).
19:55:32 <hppavilion[2]> Have to get up
19:55:36 <Vorpal> hppavilion[2]: anyway
19:55:39 <Vorpal> what about the question
19:56:06 <hppavilion[2]> Vorpal: Which question in particular?
19:56:20 <hppavilion[2]> I left right after you said you were too tired
19:56:42 <Vorpal> hppavilion[2]: <Vorpal> <Vorpal> hppavilion[1]: Also I never ran into sequent calculus before, but to me it appears to be a rather complicated way of expressing things. Does it have additional power compared to classic logic? Or what is the big deal?
19:56:45 <hppavilion[2]> Oh
19:56:48 <Vorpal> That one
19:56:55 <hppavilion[2]> Vorpal: I'm not sure; I don't understand it yet
19:57:01 <Vorpal> fair enough
19:57:01 <hppavilion[2]> Vorpal: I think it's just different, and a bit eso
19:57:18 <Vorpal> hppavilion[2]: it just looks like a more complicated way to express implication
19:57:22 <hppavilion[2]> Vorpal: It's a generalization of natural deduction, which reminds me of Horn Clauses
19:57:52 <Vorpal> instead of (P and Q) -> (X or Y) you write P, Q |- X, Y
19:57:59 <Vorpal> Or have I missed something
19:58:01 <hppavilion[2]> Yeah, that's what I'm getting
19:58:12 <hppavilion[2]> Vorpal: I think the point is that you can ONLY do stuff in that format
19:58:18 <Vorpal> Ah
19:58:21 <hppavilion[2]> And that format provides you with different ways of looking at things
19:58:23 <hppavilion[2]> Like cuts
19:58:30 <Vorpal> cuts as in?
19:58:35 <hppavilion[2]> Vorpal: Let me type it out
19:58:46 -!- ais523 has joined.
19:59:01 <ais523> oh wow, today's roborosewater card (Seating Tute) is hilarious
19:59:14 <hppavilion[2]> If you have A, B |- q and C |- p, A, it looks like you can syllogize it into C, B |- q, p
19:59:44 <hppavilion[2]> Vorpal: That's a cut ^
19:59:48 <hppavilion[2]> I think
19:59:51 <Vorpal> um...
19:59:55 <ais523> hppavilion[2]: no it isn't
20:00:08 <ais523> also, you seem to have an extra element today
20:00:18 <ais523> cut is A |- B and B |- C syllogizing into A |- C
20:00:43 <ais523> something that mathematical logicians like doing is proving that it's admissible (i.e. any given cut, you can replicate using other rules of the logic)
20:01:00 <hppavilion[2]> ais523: OK, good. The world makes sense again.
20:01:33 <hppavilion[2]> ais523: I'm hppavilion[2] when hppavilion[1] is taken, usually when I get off the computer then get back on too soon
20:02:17 <ais523> I know it's an alternate nick
20:02:27 <ais523> but making amusing comments about people's alternate nicks is an occasional #esoteric tradition
20:03:21 <Vorpal> <ais523> cut is A |- B and B |- C syllogizing into A |- C <-- isn't this just A->B, B->C giving you A->C.
20:03:34 <Vorpal> in classical implication ways of writing it
20:03:55 <ais523> Vorpal: well treating |- as -> is a common "intuitive" way to think about mathematical logic
20:04:09 <ais523> but they aren't the same operator and if you want to use them the same way, you have to prove it
20:04:16 -!- ais523 has quit.
20:04:36 <b_jonas> yep
20:04:50 <b_jonas> they aren't even of the same type
20:05:14 -!- ais523 has joined.
20:05:19 -!- ais523 has quit (Client Quit).
20:06:04 -!- ais523 has joined.
20:06:17 <hppavilion[2]> I'm attempting to make a language kit called ChiLan (or something) that demonstrates the Curry-Howard Isomorphism
20:06:58 <b_jonas> ais523: yes, they aren't even of the same type. and the Gödel completeness theorem for first-order logic is one of the most interesting theorems of logic, both for the result itself and because of its two proofs.
20:06:59 <hppavilion[2]> What's a good event-driven model of computation?
20:07:09 <Vorpal> ais523: hm, fair enough
20:07:11 <ais523> hppavilion[2]: pi calculus
20:07:13 <hppavilion[2]> And is there a logic it corresponds to?
20:07:20 <hppavilion[2]> ais523: OK, I'll look into that
20:07:20 <b_jonas> hppavilion[2]: wait, where's your [1]?
20:07:21 <ais523> and yes, also pi calculus :-)
20:07:25 -!- ais523 has quit (Client Quit).
20:07:36 <b_jonas> hppavilion[2]: are you hppavilion[1]'s Evil Twin?
20:07:37 -!- ais523 has joined.
20:07:42 <ais523> what's my quit message?
20:07:48 <ais523> for these random disconnects?
20:07:50 <hppavilion[2]> ais523: Client Quit
20:07:52 <hppavilion[2]> Or ()
20:07:53 <Vorpal> * ais523 has quit (Client Quit)
20:07:57 <ais523> gah
20:08:01 <Vorpal> * ais523 has quit ()
20:08:04 <b_jonas> ais523: Client Quit (which means your client sent an explicit QUIT
20:08:12 <ais523> Konversation's just randomly deciding my network is down
20:08:15 <ais523> with no evidence for this
20:08:18 <ais523> and quitting in response
20:08:34 <b_jonas> but your connection didn't live for long enough to send the quit message to us)
20:08:56 <b_jonas> ais523: I think it's sometimes the server. When an irc server randomly decides to quit you, it invents fake reasons for why he did so.
20:09:09 <ais523> b_jonas: no, I'm pretty sure it's the client
20:09:22 <ais523> based on the messages it's printing
20:09:28 <b_jonas> ok, that's possible too
20:09:31 -!- ais523 has quit (Client Quit).
20:09:44 -!- ais523 has joined.
20:09:50 <ais523> [20:09] [Info] Disconnected from irc.freenode.net (port 6667).
20:09:52 <ais523> [20:09] [Info] Network is down, will reconnect automatically when it is back up.
20:10:07 <b_jonas> ais523: I think for me, it's mostly the network, because I get similar disconnections to non-irc stuff sometimes
20:10:13 <ais523> and the "network is down" is normally based on the network up/down status from NetworkManager
20:10:18 <b_jonas> the network connection from the machine that is
20:10:24 <ais523> but then, why would you send a quit if the network is down?
20:10:27 <ais523> you wouldn't expect it to be received
20:10:28 -!- Sprocklem has joined.
20:10:34 -!- ais523 has quit (Client Quit).
20:11:14 -!- ais523 has joined.
20:11:29 <b_jonas> ais523: the tcp socket can breaks in one direction, so the QUIT you send can get through even if what the server says can't get to you. eventually there's a timeout because of the one-directional break, but the QUIT still gets through.
20:11:39 <ais523> I restarted my client in case it helped
20:16:27 <b_jonas> Wait wait.
20:16:51 <b_jonas> Does Wizards have at least three different announcements for the second Conspiracy set, each giving a different name for the set?
20:17:00 <b_jonas> Wtf.
20:17:11 <b_jonas> It's not April's Fool yet
20:17:42 <b_jonas> um, M:tG set
20:18:01 <hppavilion[2]> ais523: Do you understand the rho-calculus?
20:18:09 <ais523> hppavilion[2]: no
20:18:16 <hppavilion[2]> ais523: Damn
20:18:28 <hppavilion[2]> ais523: I was hoping to incorporate rho expressions into EsoLISP
20:18:46 <ais523> b_jonas: basically they had one announcement that they edited a couple of times, citing events in the plane on which Conspiracy takes place having overtaken them
20:19:03 <ais523> first they announced it was about Brago, but then a few hours later they announced that Brago had been assassinated
20:19:07 <ais523> so they had to change the name of the set
20:19:18 <b_jonas> I see
20:19:24 <ais523> (also they removed one card from it)
20:19:33 <ais523> then today they went and added a card back in and renamed it again
20:19:52 <b_jonas> as in, removed Brago?
20:19:55 <hppavilion[2]> ais523: Is a #esoteric official LISP a decent idea?
20:20:01 <ais523> b_jonas: they didn't say which card was removed
20:20:08 <ais523> hppavilion[2]: you'll never get #esoteric to agree on an official anything
20:20:26 <ais523> also, I don't agree with restricting the language choices that the channel can use
20:20:28 <hppavilion[2]> ais523: A #esoteric pseudo-official LISP?
20:20:30 <ais523> sometimes one langauge is better than another
20:20:36 <hppavilion[2]> ais523: It's not a restriction
20:20:51 <hppavilion[2]> ais523: It's just as restricting as forget-me-nots being the Alaska state flower
20:20:54 <ais523> are you creating an esolisp or just a regular lisp specialized for implementing esolangs?
20:21:00 <ais523> hppavilion[2]: oh I see
20:21:00 <hppavilion[2]> There's no rule against actually using it
20:21:07 <hppavilion[2]> *against not using them
20:21:16 <hppavilion[2]> ais523: I think the goal is to do both xD
20:21:31 <ais523> but Underlambda isn't a lisp :-P
20:21:37 <hppavilion[2]> ais523: A LISP designed for implementing esolangs in an eso way :P
20:21:49 <ais523> (actually, that's aiming for three goals: being an esolang, being easy to implement esolangs with, and being easy to implement in esolangs)
20:21:52 <b_jonas> wait, "new conspiracies that twist the rules against your foes"? how is that an interesting feature of the set? that's the point of one of the Golden Rule: M:tG cards often change the rules, and usually in a way that helps you against your foes.
20:22:03 -!- Sprocklem has quit (Ping timeout: 246 seconds).
20:22:09 <hppavilion[2]> ais523: And I want to incorporate rho expressions- rhoexp : lambdaexp :: rhocal : lambdacal
20:22:13 <b_jonas> Why do they put such meaningless marketing language in the annoucnement?
20:22:32 <ais523> b_jonas: all announcements seem to be like that
20:23:01 <ais523> the people who get annoyed by them aren't the audience that the announcement is aiming to reach
20:23:28 <ais523> you might want to read through the most recent GDS (sadly I don't have a link), one of the things they discussed was marketing taglines
20:23:39 <b_jonas> hmm
20:23:47 <b_jonas> the most recent one is the second one, right?
20:25:29 <ais523> I think so
20:26:42 <b_jonas> I do remember fake set names given, but most of them were for reprint sets with the announcements on April's Fools, with the exception of Mirrodin Pure in which case they were clear about how it can be fake from first place.
20:26:58 <b_jonas> You remember Mirrodin Pure, right? That was marketing for a future set done right.
20:28:16 <b_jonas> `? mirrodin pure
20:28:19 <b_jonas> `? icfp
20:28:22 <b_jonas> `? icfp contest
20:28:26 <HackEgo> icfp contest? ¯\(°​_o)/¯
20:28:26 <HackEgo> icfp? ¯\(°​_o)/¯
20:28:26 <HackEgo> mirrodin pure? ¯\(°​_o)/¯
20:29:17 <b_jonas> Oh, that reminds me
20:30:23 <b_jonas> There's an esolang for which I should create an article on the wiki. Or at least I think it's an esolang.
20:31:18 <b_jonas> If a new language is created for the purpose of the designer wanting to create an implementation for a language, but with limits that make the language very restricted or hard to use,
20:31:36 <b_jonas> but the goal isn't to make the language bad, but to make the implementation simple under some conditions,
20:31:50 <b_jonas> then would that count as an esolang, or is it instead a non-esolang for educational purposes?
20:32:12 <hppavilion[2]> Huh. eso- means "within"
20:32:46 <Taneb> b_jonas: brainfuck and FALSE are both in that category
20:33:04 <Taneb> (both designed to have small compilers)
20:33:05 <b_jonas> Taneb: ah yes, and I think Mouse is too
20:33:31 <b_jonas> although brainfuck is sort of a special case, because it's very early
20:35:24 <b_jonas> Hmm, I wonder if I have my implementation for this stuff. Although it's very simple-minded, so I might not actually want to publish it.
20:36:27 <b_jonas> I wrote it ages ago, and I'm not sure where it is. Probably only somewhere in my old backups.
20:36:41 <b_jonas> (I found a doc-bug with it.)
20:37:30 <b_jonas> Ok, whatever, if someone wants, they can just write a new implementation. It's not hard.
20:38:34 -!- Sprocklem has joined.
20:41:55 <ais523> b_jonas: Mirrodin Pure backfired I think, there are /still/ people asking for the card list to be released
20:42:15 <Vorpal> <ais523> b_jonas: basically they had one announcement that they edited a couple of times, citing events in the plane on which Conspiracy takes place having overtaken them <-- okay that is a neat PR thingy
20:43:26 <b_jonas> ais523: strange. I sort of remember some people writing that they thought Wizards has actually made two sets and were to decide on which one to release very late, but I don't understand where that came from, because it seemed clear enough from their communication that that's not the case.
20:43:29 -!- carado has joined.
20:44:12 <b_jonas> ais523: although I'm not surprised that people are confused _now_, because the Wizards webpage is horrible, it's hard to find information about old sets and other old stuff
20:44:21 <b_jonas> they should make the website more informative
20:44:40 <ais523> every time they try to change the website they make it worse :-(
20:44:45 <Vorpal> what is the prefix for lambdabot now again?
20:44:51 <ais523> the general consensus just seems to be that Wizards are terrible at computers
20:44:52 <b_jonas> ais523: that too, sure
20:44:54 <ais523> Vorpal: @ or ?, both work
20:45:00 <Vorpal> ah, thanks
20:45:11 <ais523> or > as an abbreviation for @run
20:45:13 <b_jonas> ais523: yes, which is strange, because that's a problem they could fix by, you know, hiring people who are good at computers
20:45:30 <b_jonas> finding such people should probably be easier than finding people who are good at making games
20:45:35 <Vorpal> Hm it doesn't seem to respond in /msg? Pretty sure that used to work
20:45:39 <ais523> b_jonas: it could be that they're don't think that would be value for money
20:45:48 <b_jonas> ais523: maybe
20:45:48 <Vorpal> Oh there we go, it was just super slow
20:46:28 <ais523> <ais523 to lambdabot> @run 4 <lambdabot to ais523> mueval-core: Time limit exceeded
20:46:32 <ais523> int-e: you may have a runaway process
20:46:55 <Vorpal> ais523: no kidding
20:47:01 <b_jonas> ais523: if I want to find listings of old theme decks (and other preconstructed decks), that's hard directly from their site, but the links to the listings are collected on en.Wikipedia (luckily the links to their articles don't usually break, I have to give that much to them)
20:47:24 <b_jonas> ais523: but if I want to find the set FAQs (release notes) for old sets, I'm out of luck, I have totally no way of finding them
20:47:25 <hppavilion[2]> esolinguiratia: Frustration caused by trying to program or speak in a language that makes absolutely no sense, particularly one not meant to be used, particularly when you're clueless to the fact that you aren't supposed to use it
20:47:36 <ais523> b_jonas: the links to the articles broke a while back and it took them like a week to fix them
20:48:00 <b_jonas> ais523: if I want to find older states of the Gatherer, I have to go to Yawgatog's site. I also have to go there if I want all the info from the Gatherer in a sane format.
20:49:08 <b_jonas> At least they have now fixed Gatherer to show flip cards and split cards in a sane manner, which was a long-standing bug, only now there are double-faced cards too, and THEY aren't shown in a sane way.
20:49:20 <b_jonas> (I don't know about level up cards, I haven't checked that.)
20:49:54 <b_jonas> And one small detail that really annoys me is that they don't have a complete list listing the official two or three letter codes for all old sets.
20:50:14 <b_jonas> You can try to guess from various filenames on their websites, but it turns out that for old sets they're sometimes inconsistent.
20:50:30 <b_jonas> en.wikipedia has a list, but I'm not sure it's always correct
20:51:00 <b_jonas> Wizards has at least made the http://magic.wizards.com/en/game-info/products/card-set-archive page much saner than it used to be,
20:51:29 <b_jonas> so now you can find a list of really ALL sets Wizards ever released (Astral isn't there, but that's not a product by Wizards, but I don't think anything else is missing),
20:52:02 <b_jonas> but from that page and what it links to, you can't find the set faqs, the codenames, and other important information.
20:52:23 <b_jonas> So there's some things they've improved, but also some things they've never fixed.
20:54:51 <b_jonas> On esowiki, is there a category for languages that are fully specified, in the sense that there's no undefined behavior in them that you could use for a future extension?
20:56:16 <b_jonas> Such as mod 256 BF with a tape infinite both left and right
20:57:27 <hppavilion[2]> ais523: Perhaps I could get people to like Esolisp by adding any good functions requested by channel members to either builtins, the stdlib, or (for large function groups), an external library
20:57:45 <ais523> b_jonas: I don't think so
20:57:57 <ais523> there were some unauthorized categories created recently and nobody cared to do anything about it
20:57:58 <myname> what about the eso standards?
20:58:02 <ais523> so you /might/ be able to get away with it
20:58:13 <ais523> myname: those were mostly arguments about how to standardize the standardization process
20:58:27 <ais523> I'm not sure we got around to standardizing any actual languages
20:58:27 <myname> lol
20:59:31 <b_jonas> ais523: I got away with it once, but I don't think I'll create one for this
20:59:43 <b_jonas> It's probably a bad idea to use a category for this in fact,
20:59:59 <myname> why?
21:00:00 <b_jonas> since it will often happen that a language has several variants, grouped in the same article, and only some are fully specified
21:00:03 <b_jonas> like with Brainfuck
21:00:29 <myname> buildung a subpage?
21:01:11 <b_jonas> nah, often there are just too many variants and we're lazy
21:02:18 <b_jonas> Ok, let me see what other categories I need then. I need a year, and [[Category:Finite state machine]] since the amount of memory is fixed and small.
21:02:41 <b_jonas> Ah, and I need [[Category:Implemented]]
21:03:35 <b_jonas> Hmm, does [[Category:Non-textual]] count if the program is a binary file (machine code) rather than a text source?
21:05:13 <b_jonas> By the way, why don't we have a separate Appendix: namespace on the wiki for entries that aren't describing a language, eg. [[David Morgan-Mar]]?
21:05:33 -!- augur has joined.
21:05:36 <ais523> I don't think we normally use non-textual for binary
21:05:47 <ais523> and because we have Category:Languages
21:05:58 <ais523> it's meant to be a site about esolanging, not necessarily a directory of esolangs
21:06:07 -!- hppavilion[2] has quit (Ping timeout: 255 seconds).
21:06:11 <ais523> [[esoteric programming language]] should almost certainly be in mainspace
21:06:13 <ais523> as should [[OISC]]
21:06:15 <b_jonas> ais523: of course, but still, I think this is what mediawiki namespaces for
21:06:33 <b_jonas> or at least it's how *.wiktionary uses the namespaces
21:06:36 <ais523> esolang's modelled quite heavily on wikipedia
21:06:50 <ais523> (I think it was originally started because of mass esolang deletions on wikipedia?)
21:06:59 <b_jonas> ok, whatever
21:07:12 <b_jonas> I'll just write the article now
21:07:15 <b_jonas> a short one at least.
21:11:44 <Taneb> I should write an article on COMPLEX
21:20:56 <shachaf> zzo38: gopher://gopher.metafilter.com/h/MetaTalk/Direct-your-gopher-client-to-gopher-gophermetafiltercom.html
21:22:33 -!- hppavilion[2] has joined.
21:22:50 <b_jonas> pity I don't have my interpreter at hand, because that one was verified to work (at least mostly) and I could read it more easily than the docs
21:23:13 <b_jonas> but it's really old
21:26:24 <ais523> "Firefox doesn't know how to open this address, because one of the following protocols (gopher) isn't associated with any program or is not allowed in this context."
21:26:33 <ais523> they removed the gopher client from Firefox? :-(
21:26:39 <ais523> IIRC it used to work
21:26:45 <b_jonas> ais523: yes, firefox hadn't supported gopher for ages
21:29:08 -!- augur has quit (Remote host closed the connection).
21:30:17 <zzo38> Yes, although the gopher client included with old versions of Firefox wasn't very good anyways.
21:30:24 <zzo38> There are extensions to support it now
21:33:25 <impomatic_> Does anyone know where the iterated prisoner?s dilemma was first mentioned / defined?
21:33:59 <impomatic_> The prisoner's dilemma was defined by Tucker in 1950. Not sure about IPD.
21:37:36 -!- carado has quit (Quit: Leaving).
21:37:51 -!- heroux_ has joined.
21:38:34 -!- heroux has quit (Ping timeout: 240 seconds).
21:38:36 -!- heroux_ has changed nick to heroux.
21:38:55 <ais523> hi impomatic_!
21:39:10 <ais523> my feeling is that the iterated prisoner's dilemma was around for a while before people realised that it was different
21:39:13 <ais523> and gave it a name
21:40:50 -!- lynn has joined.
21:43:03 -!- lynn_ has quit (Ping timeout: 240 seconds).
21:56:53 -!- Treio has joined.
21:58:04 <b_jonas> there
21:58:13 <HackEgo> [wiki] [[Viktor's amazing 4-bit processor]] N https://esolangs.org/w/index.php?oldid=46460 * B jonas * (+5144) Created page with "'''Viktor's amazing 4-bit processor''' is an esoteric computer hardware designed and soldered by the physicist Viktor T. Toth in 1999. The goal of the computer was for the cr..."
21:59:08 -!- Treio has quit (Max SendQ exceeded).
21:59:43 -!- Treio has joined.
22:00:54 <b_jonas> V. T. Toth also created a simple low-level language with arithmetic syntax (sort of like B, the predecessor of C), but I think that one doesn't count as eso, because it was clearly created and used for a practical purpose
22:03:35 -!- Treio has quit (Remote host closed the connection).
22:07:33 -!- hppavilion[2] has quit (Ping timeout: 244 seconds).
22:08:47 <b_jonas> There's some strange syntactic elements in it, like how there are no mandatory semicolons so the statements are separated in a strange way, sort of like lua; and how the dereference operator has a higher precedence than the function call operator; but I think these are only strange to use because we're so used to C.
22:08:52 <b_jonas> They're definitely not eso.
22:10:05 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
22:11:42 <b_jonas> Also, it's so much a one-pass compiler that it doesn't even ever patch addresses or values emitted earlier, so there's absolutely no way to refer to symbols defined later.
22:11:51 <b_jonas> Which leads to some strange things.
22:11:59 <b_jonas> But again, it's certainly not eso by intent.
22:15:25 <impomatic_> Doesn't Viktor Toth also run an implementation of the original Essex MUD?
22:15:36 <b_jonas> impomatic_: he runs some mud, but I'm not sure what
22:15:39 <zzo38> I suppose it can therefore support streaming and may use less memory than otherwise
22:16:58 <b_jonas> zzo38: the webpage says the goal was to use little memory, but I think the actual reason is to make the implementation simple, since the computer he runs them on has a whole MEGABYTE of memory, and runs DOS, and that's more than enough to run a bigger compiler than this properly
22:17:43 <b_jonas> zzo38: since it writes the output to a DOS file, storing addresses it has to patch in RAM and later patching them with seek wouldn't be very hard
22:17:49 <b_jonas> it would still make it a one-pass compiler
22:18:13 <zzo38> Yes but such thing could be made also which using stdout
22:18:19 <b_jonas> even in the sense that the compiled output is ready to run, no need to link
22:18:35 <b_jonas> zzo38: on DOS, that doesn't have any significance, because DOS doesn't have pipes
22:18:47 <b_jonas> zzo38: would you want to output the compiled program to a serial prot?
22:19:43 <b_jonas> Wait
22:19:51 <b_jonas> I think I know the reason
22:20:02 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:20:27 <b_jonas> he doesn't use all 1 megabytes of memory (or a large part of it), since the compiler is implemented in itself, which makes accessing segments difficult. thus, programs, including the compiler, generally only use linear addresses within one segments,
22:20:49 <b_jonas> so he has a total of 64 kilobytes of data memory
22:20:57 <b_jonas> but even in 64 kilobytes, this wouldn't be too hard
22:21:15 <b_jonas> symbol backpatching would easily fit since he already has a symbol table
22:21:26 <b_jonas> for referring to symbols defined earlier
22:29:08 <b_jonas> But then, who am I to criticize him? I never wrote a compiler similar to this.
22:29:10 -!- Phantom_Hoover has joined.
22:31:55 <Phantom_Hoover> oi Taneb
22:32:02 <Taneb> Hi, Phantom_Hoover
22:32:32 <Phantom_Hoover> do you have room in the leeds slash york area for 16 people to sleep tomorrow night
22:32:55 <Taneb> That is very sudden, also no
22:33:16 <Taneb> This your submarine jousting or whatever?
22:33:52 <Phantom_Hoover> yes
22:34:19 <Phantom_Hoover> turns out yorkshire isn't full of conveniently available couches like plymouth is
22:34:26 <ais523> how does submarine jousting compare to bf jousting?
22:34:42 <Phantom_Hoover> substantially different
22:41:09 <Taneb> Phantom_Hoover: I've asked in the computer science in York channel but I wouldn't be to hopeful
22:41:37 <Taneb> The response thus far has been, and I quote, "noy to the lot of you"
22:43:10 <impomatic_> ais523: looking for early mentions of iterated (or repeated) Prisoner's Dilemma turns up a few from the late 50s but they all appear to be behind a paywall :-(
22:44:13 <Taneb> Phantom_Hoover: ooh, I've got a "depends on your threshold for standards of living"
22:57:56 <Phantom_Hoover> lol
22:58:07 <Phantom_Hoover> i think we're committed to driving home by now anyway
22:58:56 <Phantom_Hoover> thanks for the offer though, ofc. you can still show up for an extremely impromptu and distracted #esoteric meetup
23:01:30 <Taneb> You're playing tomorrow?
23:01:34 <Taneb> Alas, I'm in Hexham
23:04:53 -!- ais523 has quit.
23:06:27 <impomatic_> Is this jousting with real submarines? In the river?
23:07:00 <Phantom_Hoover> no, it's hitting a puck on the bottom of a pool with a little stick
23:07:51 -!- augur has joined.
23:08:29 -!- carado has joined.
23:09:50 -!- rdococ has joined.
23:10:04 <rdococ> hey guys
23:10:16 <Phantom_Hoover> Taneb, that's probably for the best given that we're probably going to embarass ourselves totally
23:12:06 <rdococ> tired
23:15:17 -!- augur has quit (Read error: Connection reset by peer).
23:16:48 <HackEgo> [wiki] [[Goto]] M https://esolangs.org/w/index.php?diff=46461&oldid=43374 * Rdococ * (+112) /* Structure */ Added an important note
23:17:00 -!- augur has joined.
23:17:40 <rdococ> to be honest, I just put stub on everything to be safe...should I do that?
23:20:53 <HackEgo> [wiki] [[User:Rdococ]] M https://esolangs.org/w/index.php?diff=46462&oldid=44767 * Rdococ * (-69) Oh my god, since when did I have GLaDOS and neurotoxin on my userpage?
23:27:44 -!- augur has quit (Read error: Connection reset by peer).
23:28:19 -!- augur has joined.
23:41:35 -!- hppavilion[2] has joined.
23:41:37 <hppavilion[2]> So, crazy idea
23:42:16 <hppavilion[2]> A language- called World Wide Web Calculus (or WCalc)- that basically is a formal mathematical system for web programming
23:43:06 <hppavilion[2]> Kind of amalgamating pi calculus, simply-typed lambda calculus, and some other things into a single, unified language that lets you use math as server-side programming
23:43:32 <hppavilion[2]> With things like HTTP requests as primitive objects
23:46:43 <hppavilion[2]> Of course, completely declarative
23:49:40 <rdococ> what about a language like HTML, but it programs stuff?
23:50:22 <rdococ> and then it has a <tpircs> tag which describes what the LMTH page looks like (yeah, fancy backwards ffuts)
23:54:34 <hppavilion[2]> O, hai rdococ
23:54:38 <hppavilion[2]> Haven't seen you in a while
23:54:45 <hppavilion[2]> Not since my first few weeks on IRC
23:54:47 <hppavilion[2]> :)
23:57:16 <rdococ> hai yay
23:57:45 <hppavilion[2]> rdococ: I'm making a demonstration HTTP server
23:58:13 <FireFly> You should probably abbreviate he World Wide Web Calculus as W3C
23:59:56 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
2016-02-27
00:03:10 <hppavilion[2]> FireFly: xD
00:04:24 <hppavilion[2]> Here is an HTTP server that you never want to run, as it makes all your files accessible to everyone, written in wcalc: http://pastebin.com/gWFap23c
00:07:40 -!- carado has quit (Ping timeout: 268 seconds).
00:08:18 <myname> ` hth
00:08:27 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
00:08:32 <myname> meh
00:08:40 <myname> `? hth
00:08:42 <HackEgo> hth is help received from a hairy toe. It is not at all hambiguitous.
00:09:04 <myname> where is that past tense definition
00:09:06 <impomatic_> "Some game-theoretical aspects of parasitism and symbiosis" by Anatol Rapoport might be the earliest reference to the Iterated Prisoner's Dilemma. I just need to find a copy that doesn't cost me 30 to read!
00:11:07 <rdococ> hppavilion[2]: lol at your url
00:11:16 <hppavilion[2]> rdococ: Hah!
00:11:22 <hppavilion[2]> rdococ: Just noticed that!
00:11:31 <rdococ> omg
00:11:41 <rdococ> hmm
00:11:44 <rdococ> we need an original idea
00:11:53 <hppavilion[2]> rdococ: Yeah, pretty much
00:12:15 <hppavilion[2]> rdococ: I still think practical esolangs are an interesting concept. Web Calculus is one of those.
00:12:25 <rdococ> programs could be defined as a set of computer instructions, or as a problem and its solution...
00:13:08 <rdococ> or an automaton system...
00:15:03 <myname> i like bullying automata
00:15:09 -!- augur has quit (Remote host closed the connection).
00:15:52 <rdococ> bullying automata
00:16:40 <myname> they are great puzzles!
00:16:55 <myname> you should invent one and make an android app
00:17:05 <rdococ> what if a program was a meta-thing
00:17:16 <rdococ> e.g. a word processor would be a meta-document or something
00:17:22 <rdococ> or a paint program would be a meta-painting
00:17:52 <rdococ> I had this idea where you would be able to make your own file format and a program to edit them
00:20:17 -!- XorSwap has joined.
00:30:08 -!- augur has joined.
00:35:05 -!- augur has quit (Remote host closed the connection).
00:37:45 <hppavilion[2]> rdococ: Perhaps you should design a language that takes advantage of the full features of word processors
00:38:00 <hppavilion[2]> Like, not just bold and italics and underline, but EVERYTHIN
00:38:01 <hppavilion[2]> G
00:38:05 <hppavilion[2]> And does it in a logical way
00:39:15 -!- tromp_ has joined.
00:42:20 <rdococ> hmm
00:47:11 <rdococ> what kind of things are even in a word processor?
00:47:55 <hppavilion[2]> rdococ: Font size, color, underline, italic, strikethrough, headers...
00:48:06 <hppavilion[2]> rdococ: I suppose better would be to allow HTML-based formatting
00:48:14 -!- augur has joined.
00:52:36 <rdococ> what about...
00:52:41 <rdococ> Inside Out, the programming language
00:54:12 <rdococ> so programs would be memories
00:54:21 <rdococ> programs would be series of memories
00:54:28 <rdococ> happy memory, sad memory, angry memory
00:55:50 -!- tromp_ has quit (Remote host closed the connection).
00:58:43 <rdococ> what if
00:59:25 -!- oerjan has joined.
01:00:34 <hppavilion[2]> rdococ: I just made a tool to industrialize making FORTH-like languages
01:00:41 <rdococ> what about a method-oriented language
01:01:02 <hppavilion[2]> rdococ: Listening
01:01:54 <rdococ> in object-oriented programs, objects can send messages
01:02:20 <rdococ> so a message-oriented program would involve messages sending objects?
01:03:33 <hppavilion[2]> rdococ: Oh god. This tool is SO BORING TO USE. xD.
01:04:04 <hppavilion[2]> It literally just takes a length and generates all possible strings of symbols up to that length
01:04:13 <hppavilion[2]> Then has you assign meaning to those symbols at random
01:07:31 <hppavilion[2]> rdococ: Perhaps I should make this language web accessible and allow people to participate?
01:09:22 <rdococ> meh
01:09:30 <hppavilion[2]> rdococ: Yeah, I agree
01:11:12 <rdococ> I am bored
01:11:35 -!- impomatic_ has quit (Quit: http://corewar.co.uk).
01:11:52 <hppavilion[2]> rdococ: How about a nice refreshing session of arbitrary symbol naming? xD
01:12:28 <rdococ> no
01:18:50 <oerjan> `? icfp
01:18:58 <HackEgo> icfp? ¯\(°​_o)/¯
01:19:12 <hppavilion[2]> oerjan: I have industrialized FORTH-like language documentation production
01:20:36 <hppavilion[2]> It won't produce very good languages, but it's basically just a way to make stupid esolangs on the fly
01:21:25 <rdococ> ...
01:21:59 <oerjan> `le/rn icfp/I see functorial people.
01:22:08 <HackEgo> Learned «icfp»
01:31:59 -!- augur has quit (Read error: Connection reset by peer).
01:32:29 -!- augur has joined.
01:36:31 <quintopia> ...yep that's exactly what that means
01:43:14 <oerjan> thought so.
01:43:45 <hppavilion[2]> quintopia: Hi
01:45:50 <oerjan> `? WWW
01:45:52 <HackEgo> WWW? ¯\(°​_o)/¯
01:46:10 <quintopia> hppavellon[2]
01:46:36 <oerjan> `learn WWW is an abbreviation that takes longer to pronounce properly than what it expands to.
01:46:39 <HackEgo> Learned 'www': WWW is an abbreviation that takes longer to pronounce properly than what it expands to.
01:46:56 <pikhq> Not for some American English speakers.
01:47:12 <oerjan> i added "properly" for a reason hth
01:47:15 <pikhq> "Dubyadubyadubya" is a bit faster than "world wide web".
01:47:32 <oerjan> ...still skeptical, actually
01:50:44 -!- tromp_ has joined.
01:50:55 <myname> in german, it's way shorter
01:51:10 <oerjan> i know.
01:51:20 <deltab> w is the only letter in the english alphabet with a multisyllabic name
01:51:53 <deltab> I propose calling it 'dub'
01:52:41 <myname> including the new music genre wstep?
01:53:05 <deltab> maybe
01:54:25 -!- augur has quit (Read error: Connection reset by peer).
01:55:11 <pikhq> It doesn't help that "W" was typically represented using "UU" for quite a while...
01:55:14 <oerjan> if they can call that music, then they can call w dub
01:55:53 -!- augur has joined.
01:56:26 <oerjan> i recall the old 5 volume encyclopedia we had alphabetized w as v
01:57:32 <oerjan> (well, my dad still has it afair)
02:00:16 -!- AlexR42 has joined.
02:03:00 <FireFly> I think I'd prononuce www in english as vvv because I'm used to doing that in swedish
02:03:48 <pikhq> I'm afraid if you do that people will think you're talking about VVVVVV
02:04:05 <FireFly> :<
02:07:59 <oerjan> https://static.bokelskere.no/cc9a45bdd11fb8130a5b1e5d46b8531035f49655c4d4852b3c7eabd1.jpeg
02:10:42 -!- lambdabot has quit (Quit: requested).
02:15:21 -!- lambdabot has joined.
02:17:26 <\oren\> am i right in thinking that in German Volkswagen is pronounced wolksvagen/
02:17:29 <\oren\> ?
02:18:13 -!- idris-bot has joined.
02:19:21 <\oren\> also, I pronounce www as "wuuuh"
02:22:25 -!- lambdabot has quit (Quit: requested).
02:23:21 <quintopia> \oren\: more like folks-vagen i'd say
02:27:06 -!- lambdabot has joined.
02:33:36 <int-e> sigh. some asshole was spamming lambdabot with @karma requests, saturating its output queue...
02:35:09 -!- lambdabot has quit (Quit: once more...).
02:40:21 -!- lambdabot has joined.
02:47:00 -!- Froox has quit (Quit: *bubbles away*).
02:49:36 -!- Frooxius has joined.
02:49:44 <oerjan> \oren\: afaict german doesn't really have the english w sound except maybe as part of the diphthong "au"
02:50:43 <int-e> (there's some room for improvement on lambdabot's side here, needs a bit of thought though)
02:52:16 <int-e> fundamentally though, the number of messages that lambdabot receives is not bounded, while the number of messages it can send is; it's just not popular enough for that to be a problem under normal circumstances so far
02:55:35 -!- augur has quit (Read error: Connection reset by peer).
02:56:09 -!- augur has joined.
02:56:42 <oerjan> (the same is true of norwegian, with the diphthong spelled the same way.)
02:57:55 -!- augur has quit (Remote host closed the connection).
02:58:11 <int-e> I'd say ittrue for german at least.
02:58:32 -!- augur has joined.
02:58:34 <int-e> ... *shoots whoever put ' next to return*
02:58:47 <int-e> s/ittrue/it's true/
02:59:13 <oerjan> too good for em, obviously
03:12:06 <lambda-11235> "You Don't Know JS", I can 1-up that with "You Don't Know Malbolge".
03:12:32 <lambda-11235> And I'd be correct for any sane human being.
03:13:20 <oerjan> be careful in japan hth
03:15:32 <\oren\> how the hell do you turn a plane at high altitude and speed?!
03:15:59 <\oren\> I can't turn worth a damn
03:16:32 <\oren\> or slow down
03:16:44 <\oren\> or, apparently, descend
03:16:48 <\oren\> aaaaaaa
03:17:21 -!- hppavilion[2] has quit (Ping timeout: 276 seconds).
03:18:14 <\oren\> rrgh revert
03:19:03 -!- oerjan has quit (Quit: Nite).
03:21:06 <pikhq> I think you learn that in "how to fly a plane" class
03:24:48 <\oren\> well I added even more flaps
03:24:57 <\oren\> hopefully now I'll be able to turn
03:29:56 <int-e> . o O ( are you building a flappy bird... )
03:34:51 <\oren\> well it is like a giant delta wing plane
03:35:52 -!- XorSwap has quit (Quit: Leaving).
03:36:53 <\oren\> i also added some thrusters to turn even if we accidentally into space
03:40:19 <int-e> can you add wheels and a ship propeller as well?
03:42:43 <\oren\> it has wheels for landing
03:43:21 <\oren\> the thrusters work to turn at ultra high altitude too
03:45:27 <\oren\> the issue is that in ksp, it's ridiculously easy to accidentally go into suborbital spaceflight
03:47:08 -!- augur has quit (Remote host closed the connection).
03:47:29 -!- adu has joined.
03:55:24 <HackEgo> [wiki] [[Talk:The chan-esoteric stack]] N https://esolangs.org/w/index.php?oldid=46463 * Zzo38 * (+179) Created page with "I have made a few different Z-Machine implementations (ZORKMID, JSZM, Famizork). Which do you mean? --~~~~"
04:05:20 -!- Thassa has joined.
04:05:29 -!- adu has quit (Quit: adu).
04:14:20 -!- hppavilion[2] has joined.
04:18:08 <lambda-11235> Just finished a haskell implementation of Goto.
04:20:55 <hppavilion[2]> lambda-11235: You are a bad human being
04:22:36 <int-e> Goto the programing language?
04:22:49 <int-e> or the language construct?
04:23:06 <lambda-11235> int-e: This language (https://esolangs.org/wiki/Goto).
04:23:10 <Sgeo> What is a monad, but a miserable pile of gotos?
04:24:06 <lambda-11235> Sgeo: I think you have a monad confused with a current continuation.
04:24:10 <int-e> Sgeo: it is, foremost, an abstraction.
04:24:20 <hppavilion[2]> https://www.youtube.com/watch?v=CJkWS4t4l0k
04:24:47 <Sgeo> lambda-11235, well, monads basically use delimited continuations. Which I guess is not the goto-like continuation, to be fair
04:25:09 <int-e> Sgeo: For example, the identity monads has nothing like goto at all ... it just adds syntactic weight to pure computations.
04:25:49 <lambda-11235> Sgeo: How is the list monad like a delimited continuation?
04:26:06 <int-e> :t (>>=)
04:26:07 <lambdabot> Monad m => m a -> (a -> m b) -> m b
04:26:28 <int-e> I guess Sgeo views the second argument of bind as a continuation... but that really has nothing to do with monads
04:27:02 <int-e> :t join
04:27:03 <lambdabot> Monad m => m (m a) -> m a
04:27:06 <Sgeo> ^^ The first part of what int-e said
04:27:06 <int-e> :t return
04:27:07 <lambdabot> Monad m => a -> m a
04:27:11 <int-e> :t fmap
04:27:13 <lambdabot> Functor f => (a -> b) -> f a -> f b
04:27:26 <int-e> these three operations make a monad
04:27:51 <Thassa> What is a monad?
04:27:51 <Sgeo> If you have a syntax for delimited continuations, you have syntax sugar for any monad
04:27:52 <int-e> But (>>=) is convenient for actual programming.
04:28:15 <Sgeo> https://github.com/urso/embeddedmonads
04:30:57 <int-e> isn't that more of an Applicative?
04:31:19 <int-e> > (,) <$> [1,2,3] <*> "abc"
04:31:21 <lambdabot> [(1,'a'),(1,'b'),(1,'c'),(2,'a'),(2,'b'),(2,'c'),(3,'a'),(3,'b'),(3,'c')]
04:31:26 -!- adu has joined.
04:31:46 <Sgeo> int-e, you should be able to do .value.value, which is akin to join
04:32:02 <int-e> okay
04:32:14 <Sgeo> I don't exactly have an easy way to test it though
04:32:15 <adu> hi int-e
04:32:19 <int-e> anyway, that looks nasty to me
04:32:57 <int-e> > join [[1,2,3],[4,5]] -- just do something like that?
04:32:58 <lambdabot> [1,2,3,4,5]
04:33:53 <Sgeo> .value pretends to have the type (Monad m) => m a -> a, within the run
04:34:09 <Sgeo> Just like <- in Haskell do notation pretends to be (Monad m) => m a -> a
04:34:52 <Sgeo> But because of Scala's support for delimited continuations, you don't lose flow control constructs
04:35:05 <int-e> well, but <- is builtin syntax, and there's a formal translation...
04:35:21 * int-e shrugs
04:35:50 <Sgeo> embeddedmonads abstracts out builtin syntax for delimited continuations
04:36:00 <Sgeo> int-e, have you read the mother of all monads post?
04:36:28 <Sgeo> http://blog.sigfpe.com/2008/12/mother-of-all-monads.html
04:36:30 <int-e> I may have.. something about Cont.
04:39:11 -!- bender| has joined.
04:39:13 <zzo38> Monad can be consider related to a generalization of a list comprehension, the monad operation can easily be defined for the lists and then you can see how it can also be use with other monads such as IO monad.
04:41:19 <zzo38> I have also made up generator monads in JavaScript
05:16:48 <Sgeo> generator monads = those monads whose bind only calls the continuation at most once, and therefore have a convenient syntax in languages with native generator support?
05:17:00 <Sgeo> (e.g. Maybe but not List)
05:17:25 <Sgeo> Oh, maybe as in a monad for generators?
05:20:10 -!- Thassa has quit (Remote host closed the connection).
05:23:26 <zzo38> For a description of what I mean you can look at part of the document https://www.npmjs.com/package/genasync
05:29:33 -!- augur has joined.
05:40:24 <zzo38> I am a bit confused about how conversion of picture formats works in Xlib.
06:01:36 <adu> zzo38: I thought xlib only understood buffers
06:06:07 <adu> zzo38: can I help you be less confused?
06:07:01 <zzo38> I looked at it and hope I will do it properly, but I am still unsure if it is correct (even if it works)
06:07:56 <adu> zzo38: I used to do pixelformats in libsdl and OpenGL
06:10:34 -!- augur has quit (Remote host closed the connection).
06:12:15 <zzo38> The only thing I can check is that it is working properly on my computer, not necessarily that it is correct
06:15:22 <zzo38> I know that the depth of the XImage structure has to match the real depth but exactly what else is allowed?
06:15:48 <adu> oh like with the proto, or without hw accel?
06:17:30 <zzo38> I mean with Xlib
06:18:37 <b_jonas> ah, he's not the evil twin. he's just an alternate nick.
06:21:54 <zzo38> It says "If the clip-mask is set to a pixmap, it must have depth one and have the same root as the GC, or a BadMatch error results." The instructions for XCreatePixmap says "The depth argument must be one of the depths supported by the screen of the specified drawable, or a BadValue error results." Is depth 1 always supported? (When I type "xdpyinfo" on my computer it says it is)
06:22:50 <zzo38> Is it allowed to make a XImage with depth 1 and in ZPixmap format and copy it to a Pixmap, and if so what restrictions does it have when doing so?
06:24:26 <zzo38> Do you know the answer of these questions?
06:26:03 <b_jonas> hehe, more one-line burrito tutorials?
06:26:06 <b_jonas> `? burrito
06:26:08 <b_jonas> `? buritto
06:26:10 <b_jonas> `? burritto
06:26:14 <b_jonas> `? burito
06:27:32 <HackEgo> No output.
06:27:32 <HackEgo> burritto? ¯\(°​_o)/¯
06:27:32 <HackEgo> burito? ¯\(°​_o)/¯
06:27:33 <HackEgo> burrito? ¯\(°​_o)/¯
06:28:49 <b_jonas> `slashlearn burritos/Burrito are like Monads, according to Joe. See https://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/
06:28:53 <HackEgo> Learned «burritos»
06:28:56 <b_jonas> `slashlearn burritos/Burritos are like Monads, according to Joe. See https://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/
06:28:58 <HackEgo> Learned «burritos»
06:29:40 <b_jonas> `slashlearn burrito/Burritos are like Monads, according to Joe. See https://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/
06:29:42 <HackEgo> Learned «burrito»
06:29:45 <b_jonas> `slashlearn burito/Burritos are like Monads, according to Joe. See https://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/
06:29:48 <HackEgo> Learned «burito»
06:29:49 <b_jonas> `slashlearn buritto/Burritos are like Monads, according to Joe. See https://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/
06:29:51 <HackEgo> Learned «buritto»
06:30:35 <b_jonas> ``` ln -sf wisdom/burrito wisdom/{burritto,burito,buritto} wisdom/burritos
06:30:36 <HackEgo> ln: target `wisdom/burritos' is not a directory
06:30:43 <b_jonas> argh
06:31:10 <b_jonas> ``` for x in burritto burito buritto burritos; do ln -sfv wisdom/burrito wisdom/$x; done
06:31:13 <HackEgo> ​`wisdom/burritto' -> `wisdom/burrito' \ `wisdom/burito' -> `wisdom/burrito' \ `wisdom/buritto' -> `wisdom/burrito' \ `wisdom/burritos' -> `wisdom/burrito'
06:31:16 <b_jonas> `? burritto
06:31:18 <HackEgo> burritto? ¯\(°​_o)/¯
06:31:33 <b_jonas> `? buritto
06:31:34 <HackEgo> buritto? ¯\(°​_o)/¯
06:31:37 <b_jonas> `? burrito
06:31:39 <HackEgo> Burritos are like Monads, according to Joe. See https://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/
06:31:42 <b_jonas> hmm
06:31:46 <b_jonas> oh duj
06:31:53 <b_jonas> ``` for x in burritto burito buritto burritos; do ln -sfv burrito wisdom/$x; done
06:31:54 <HackEgo> ln: accessing `wisdom/burritto': Not a directory \ ln: accessing `wisdom/burito': Not a directory \ ln: accessing `wisdom/buritto': Not a directory \ ln: accessing `wisdom/burritos': Not a directory
06:32:10 <b_jonas> what?
06:32:24 <b_jonas> ``` cd wisdom && for x in burritto burito buritto burritos; do ln -sfv burrito $x; done
06:32:25 <HackEgo> ln: accessing `burritto': Not a directory \ ln: accessing `burito': Not a directory \ ln: accessing `buritto': Not a directory \ ln: accessing `burritos': Not a directory
06:32:28 <b_jonas> huh?
06:32:39 <b_jonas> what do you even mean?
06:32:50 <b_jonas> ``` cd wisdom && for x in burritto burito buritto burritos; do rm $x; ln -sv burrito $x; done
06:32:52 <HackEgo> ​`burritto' -> `burrito' \ `burito' -> `burrito' \ `buritto' -> `burrito' \ `burritos' -> `burrito'
06:33:01 <b_jonas> `? burritto
06:33:02 <HackEgo> Burritos are like Monads, according to Joe. See https://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/
06:35:02 <zzo38> That is what they say, but it make no sense to me. It has nothing to do with a burrito; it has to do with mathematics
06:37:43 <\oren\> I managed to get my moon-car back into orbit
06:38:38 -!- carado has joined.
06:55:32 -!- bb010g has joined.
07:16:47 -!- adu has quit (Quit: adu).
07:21:27 -!- lambda-11235 has quit (Quit: Bye).
08:00:35 -!- hppavilion[2] has quit (Ping timeout: 248 seconds).
08:17:16 <izabera> https://www.codeeval.com/open_challenges/135/ what's a good way to solve this?
08:24:31 <shachaf> @google longest path graph
08:24:31 <lambdabot> https://en.wikipedia.org/wiki/Longest_path_problem
08:25:45 <izabera> yeah but it's in the moderate section so i thought there was a faster way with some constraint
08:27:07 <Hoolootwo> the constraint is that there aren't too many words
08:27:35 <izabera> 35 words is way beyond what i can do in their 10s timeout
08:27:43 <Hoolootwo> oh okay
08:30:03 -!- AnotherTest has joined.
08:42:54 -!- carado has quit (Quit: Leaving).
08:45:54 -!- tromp__ has joined.
08:46:17 -!- jaboja has joined.
08:48:45 -!- tromp_ has quit (Ping timeout: 268 seconds).
08:54:59 -!- lynn has quit (Read error: Connection reset by peer).
08:56:42 -!- lynn has joined.
09:01:08 -!- lynn_ has joined.
09:02:10 -!- lynn has quit (Ping timeout: 244 seconds).
09:08:48 -!- bb010g has quit (Quit: Connection closed for inactivity).
09:13:31 -!- lynn_ has quit (Ping timeout: 252 seconds).
09:16:21 -!- lynn has joined.
09:21:01 <izabera> http://www.javafind.net/gate.jsp?q=/library/36/java6_full_apidocs/com/sun/java/swing/plaf/nimbus/InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState.html
09:24:31 -!- jaboja has quit (Ping timeout: 268 seconds).
10:07:18 -!- lynn_ has joined.
10:10:57 -!- lynn has quit (Ping timeout: 260 seconds).
10:27:26 <Vorpal> izabera: that is one hell of a class name
10:28:18 <izabera> makes me hope that eclipse and netbeans have really smart autocompletion
10:28:45 <Vorpal> heh
10:36:39 -!- carado has joined.
11:13:49 -!- lynn_ has changed nick to lynn.
11:21:11 -!- tromp__ has quit (Remote host closed the connection).
11:49:33 -!- impomatic has joined.
12:39:37 -!- tromp_ has joined.
12:43:55 -!- tromp_ has quit (Ping timeout: 255 seconds).
13:22:28 -!- ais523 has joined.
13:30:33 -!- l0de has changed nick to Iagree.
13:30:36 -!- Iagree has changed nick to l0de.
13:58:19 <FireFly> I hope that is an auto-generated class name
13:58:59 -!- carado has quit (Ping timeout: 240 seconds).
13:59:00 <rdococ> that must be one name in the class to type manually
13:59:07 <rdococ> ba dum tss
14:01:42 -!- boily has joined.
14:28:04 -!- J_Arcane has quit (Ping timeout: 240 seconds).
14:33:14 -!- carado has joined.
14:39:38 -!- carado has quit (Ping timeout: 268 seconds).
14:43:01 -!- augur has joined.
15:01:53 <boily> @metar CYUL
15:01:54 <lambdabot> CYUL 271400Z 18010KT 30SM OVC040 M07/M12 A2993 RMK SC8 SLP140
15:02:18 <boily> pretty short and sweet today. that only means it's going to get apocalyptic soon.
15:02:25 <boily> @massages-loud
15:02:25 <lambdabot> oerjan said 1d 17h 17m 26s ago: shachaf needs a mapoling hth
15:02:25 <lambdabot> oerjan said 1d 15h 41m 43s ago: <boily> hppavilion[1]: as long as it features ¨ on egregious glyphs, and that multiocular O. <-- ¨ on multiocular O, check
15:02:25 <lambdabot> oerjan said 1d 15h 34m 35s ago: MWꙮ̈Hꙮ̈Hꙮ̈Hꙮ̈
15:03:11 * ais523 wonders which glyphs are egregious
15:03:28 <boily> @ask oerjan what for? not that it's necessary for mapoling shachaf, but it's a nice to have >:D
15:03:28 <lambdabot> Consider it noted.
15:03:47 <boily> @tell oerjan GHAAAAAAAAH! that is one evil laugh.
15:03:48 <lambdabot> Consider it noted.
15:04:04 <boily> his523. prominent, salient, and uncouth glyphs?
15:10:53 -!- oerjan has joined.
15:11:37 <oerjan> @messages-
15:11:37 <lambdabot> boily asked 8m 9s ago: what for? not that it's necessary for mapoling shachaf, but it's a nice to have >:D
15:11:37 <lambdabot> boily said 7m 49s ago: GHAAAAAAAAH! that is one evil laugh.
15:12:18 <oerjan> boily: it was a pun, which i've forgotten... let's see.
15:14:37 <oerjan> boily: http://codu.org/logs/log/_esoteric/2016-02-25#214426shachaf
15:15:30 * boily groans
15:15:46 * boily mapoles shachaf
15:15:59 * boily mapoles shachaf some more, because it's good for one's health
15:32:40 -!- bender| has quit (Ping timeout: 268 seconds).
15:38:54 -!- lambda-11235 has joined.
15:44:43 <oerjan> `` diff wisdom/burrito{,s}
15:45:04 <HackEgo> No output.
15:45:08 <oerjan> `` diff wisdom/burrito{,s}
15:45:11 <HackEgo> No output.
15:45:19 <oerjan> `rm wisdom/burritos
15:45:23 <HackEgo> No output.
15:45:44 <oerjan> @tell b_jonas you don't need to have separate wisdom entries for plurals just adding -s hth
15:45:44 <lambdabot> Consider it noted.
15:47:09 -!- ais523 has quit.
15:47:24 <oerjan> `? burrito
15:47:26 <HackEgo> Burritos are like Monads, according to Joe. See https://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/
15:48:15 <boily> besides, the plural of burrito is burriten.
15:48:28 <oerjan> mexicans _may_ disagree.
15:48:39 <oerjan> (what language does such a thing)
15:57:10 -!- tromp_ has joined.
16:04:23 <impomatic> Grrrr... I've been trying to check a few early Prisoner's Dilemma papers and every time I hit a paywall :-(
16:06:01 <impomatic> Thanks lambdabot for bringing a message from 1y 7m 17d 16h 24m 2s ago to my attention!
16:07:44 <myname> i never get why to @tell people that aren't even offline
16:08:26 <oerjan> myname: lots of people idle in the channel without being physically there.
16:08:34 <myname> so?
16:08:57 <myname> if i am online i can read the backlog or the logfile
16:09:12 <oerjan> _you_ can. i don't trust everyone's setup to be reasonable.
16:09:39 <myname> people are weird
16:10:29 <boily> I am sane!
16:10:34 <oerjan> `? boily
16:10:38 <HackEgo> boily is monetizing a broterhood scheme with the Guardian of Lachine, apparently involving cookie dealing. He's also a NaniDispenser, a Trigotillectomic Man Eating Chicken and a METARologist. He is seriously lacking in the f-word department.
16:11:27 <oerjan> `` sed -i 's/^/"Only sane man" /' wisdom/boily
16:11:30 <HackEgo> No output.
16:25:42 -!- p34k has joined.
16:25:42 -!- Treio has joined.
16:25:49 -!- idris-bot has quit (Quit: Terminated).
16:26:41 -!- idris-bot has joined.
16:42:33 -!- tromp_ has quit (Remote host closed the connection).
16:53:06 -!- vodkode has quit (Quit: Leaving).
16:53:56 -!- augur has quit (Remote host closed the connection).
16:57:06 -!- tromp_ has joined.
17:01:40 -!- augur has joined.
17:04:16 -!- boily has quit (Quit: SOFT CHICKEN).
17:15:16 -!- Treio has quit (Quit: Leaving).
17:16:05 -!- augur has quit (Remote host closed the connection).
17:24:09 -!- augur has joined.
17:42:11 -!- lynn_ has joined.
17:45:02 -!- lynn has quit (Ping timeout: 244 seconds).
18:03:40 -!- oerjan has quit (Quit: Later).
18:31:31 -!- augur has quit (Remote host closed the connection).
18:34:45 -!- earendel2 has joined.
18:35:09 -!- earendel has quit (Ping timeout: 244 seconds).
20:02:47 -!- XorSwap has joined.
20:25:00 -!- augur has joined.
20:31:23 -!- augur has quit (Remote host closed the connection).
20:31:41 <rdococ> gtg
20:34:58 -!- augur has joined.
20:35:08 <prooftechnique> \oren\: Ⓚ claims to be ⓚ when I Ctrl-F for it, but it doesn't actually show up for that codepoint
20:35:13 <prooftechnique> *for it on your font demo
20:36:37 -!- rdococ has quit (Read error: Connection reset by peer).
20:39:34 -!- Treio has joined.
20:40:18 <prooftechnique> Oh, I see, that's the lowercase cirled k, and my browser actually understood that. Neat
20:40:31 <prooftechnique> But also, any plans for the capital versions? :D
20:42:03 <myname> ⓦⓗⓐⓣ ⓒⓐⓟⓘⓣⓐⓛⓢ?
20:43:51 -!- Treio has quit (Client Quit).
20:43:53 <prooftechnique> ⓉⒽⒺⓈⒺ ⓄⓃⒺⓈ
20:44:26 <myname> I don't know
20:45:55 <prooftechnique> 𝖄𝖔𝖚'𝖗𝖊 𝖓𝖔𝖙 𝖊𝖛𝖊𝖓 𝖙𝖗𝖞𝖎𝖓𝖌.
20:46:34 <prooftechnique> I suppose there's an argument to be made for the 🅝🅔🅖🅐🅣🅘🅥🅔 🅞🅝🅔🅢, too
21:20:39 -!- XorSwap has quit (Quit: Leaving).
21:23:16 -!- Elronnd has quit (Quit: Let's jump!).
21:27:00 -!- Elronnd has joined.
21:35:03 -!- MoALTz_ has joined.
21:36:11 -!- jameseb has quit (Ping timeout: 250 seconds).
21:37:07 -!- ocharles_ has quit (Ping timeout: 268 seconds).
21:37:10 -!- \oren\_ has joined.
21:37:31 <zzo38> How do you determine the root and depth of a GC in Xlib?
21:37:44 -!- hydraz has quit (Ping timeout: 268 seconds).
21:39:34 -!- gde33|2 has joined.
21:40:07 -!- atriq has joined.
21:40:27 -!- FreeFull_ has joined.
21:40:45 -!- ocharles_ has joined.
21:40:51 -!- mtve- has joined.
21:40:57 -!- fungot has quit (Ping timeout: 250 seconds).
21:41:10 -!- kragniz_ has joined.
21:41:26 -!- Frooxius has quit (Ping timeout: 268 seconds).
21:42:05 -!- \oren\ has quit (Ping timeout: 240 seconds).
21:42:53 -!- Frooxius has joined.
21:43:18 -!- kragniz has quit (Disconnected by services).
21:43:28 -!- kragniz_ has changed nick to kragniz.
21:43:37 -!- jameseb has joined.
21:44:43 -!- lambda-11235 has quit (*.net *.split).
21:44:44 -!- digitalc1ld has quit (*.net *.split).
21:44:44 -!- FreeFull has quit (*.net *.split).
21:44:44 -!- aloril_ has quit (*.net *.split).
21:44:44 -!- kline has quit (*.net *.split).
21:44:44 -!- MoALTz has quit (*.net *.split).
21:44:45 -!- quintopia has quit (*.net *.split).
21:44:45 -!- EgoBot has quit (*.net *.split).
21:44:45 -!- Gregor has quit (*.net *.split).
21:44:45 -!- mtve has quit (*.net *.split).
21:44:45 -!- nitrix has quit (*.net *.split).
21:44:45 -!- rodgort has quit (*.net *.split).
21:44:46 -!- Melvar has quit (*.net *.split).
21:44:46 -!- jix_ has quit (*.net *.split).
21:44:47 -!- erdic has quit (*.net *.split).
21:44:47 -!- pelegreno has quit (*.net *.split).
21:44:47 -!- sebbu has quit (*.net *.split).
21:44:47 -!- deltab has quit (*.net *.split).
21:44:47 -!- newsham has quit (*.net *.split).
21:44:48 -!- lynn_ has quit (*.net *.split).
21:44:48 -!- Sprocklem has quit (*.net *.split).
21:44:49 -!- gniourf has quit (*.net *.split).
21:44:49 -!- Sgeo has quit (*.net *.split).
21:44:49 -!- FireFly has quit (*.net *.split).
21:44:50 -!- clog has quit (*.net *.split).
21:44:50 -!- Vorpal has quit (*.net *.split).
21:44:50 -!- cnr has quit (*.net *.split).
21:44:50 -!- diginet has quit (*.net *.split).
21:45:08 -!- EgoBot has joined.
21:45:09 -!- ski has joined.
21:45:09 -!- hydraz has joined.
21:45:11 -!- hydraz has quit (Changing host).
21:45:11 -!- hydraz has joined.
21:45:23 -!- heroux_ has joined.
21:46:37 -!- digitalcold has joined.
21:47:14 -!- nitrix- has joined.
21:47:37 -!- Lord_of_- has joined.
21:48:25 -!- tromp has quit (Remote host closed the connection).
21:48:46 -!- heroux has quit (*.net *.split).
21:48:47 -!- APic has quit (*.net *.split).
21:48:47 -!- ski_ has quit (*.net *.split).
21:48:47 -!- gde33 has quit (*.net *.split).
21:48:47 -!- Taneb has quit (*.net *.split).
21:48:47 -!- Lord_of_Life has quit (*.net *.split).
21:48:48 -!- zgrep has quit (*.net *.split).
21:48:48 -!- Xe has quit (*.net *.split).
21:48:49 -!- staffehn has quit (*.net *.split).
21:48:51 -!- tromp has joined.
21:49:29 -!- l0de has quit (*.net *.split).
21:49:29 -!- Veltas has quit (*.net *.split).
21:49:30 -!- rodgort` has joined.
21:49:30 -!- lynn_ has joined.
21:49:30 -!- Sprocklem has joined.
21:49:30 -!- gniourf has joined.
21:49:30 -!- Sgeo has joined.
21:49:30 -!- FireFly has joined.
21:49:30 -!- clog has joined.
21:49:30 -!- Vorpal has joined.
21:49:30 -!- cnr has joined.
21:49:30 -!- diginet has joined.
21:49:56 -!- Gregor` has joined.
21:49:56 -!- quintopi1 has joined.
21:49:56 -!- Melvar has joined.
21:49:56 -!- jix_ has joined.
21:49:56 -!- erdic has joined.
21:49:56 -!- pelegreno has joined.
21:49:56 -!- sebbu has joined.
21:49:56 -!- deltab has joined.
21:49:56 -!- newsham has joined.
21:50:39 -!- Lord_of_- has changed nick to Lord_of_Life.
21:50:42 -!- Xe has joined.
21:51:31 -!- heroux_ has quit (Ping timeout: 244 seconds).
21:52:38 -!- kline has joined.
21:53:02 -!- lambda-11235 has joined.
21:53:28 -!- Treio has joined.
21:53:33 -!- heroux has joined.
21:53:36 -!- aloril_ has joined.
21:53:49 -!- earendel2 has quit (Ping timeout: 255 seconds).
21:53:49 -!- fractal has quit (Ping timeout: 255 seconds).
21:54:27 -!- APic has joined.
21:54:39 -!- earendel has joined.
21:55:06 -!- FreeFull_ has changed nick to FreeFull.
22:05:17 -!- contrapumpkin has joined.
22:07:43 -!- EgoBot has quit (Ping timeout: 276 seconds).
22:07:43 -!- shachaf has quit (Ping timeout: 276 seconds).
22:08:03 -!- EgoBot has joined.
22:08:06 -!- tswett has quit (Read error: Connection reset by peer).
22:08:21 -!- catern has quit (Ping timeout: 276 seconds).
22:08:22 -!- Deewiant has quit (Ping timeout: 276 seconds).
22:08:22 -!- ^v has quit (Ping timeout: 276 seconds).
22:08:22 -!- int-e has quit (Ping timeout: 276 seconds).
22:08:22 -!- copumpkin has quit (Ping timeout: 276 seconds).
22:08:22 -!- coppro has quit (Ping timeout: 276 seconds).
22:08:39 -!- Deewiant has joined.
22:08:54 -!- shachaf has joined.
22:09:05 -!- coppro has joined.
22:09:29 -!- ^v has joined.
22:09:48 -!- myname has quit (Ping timeout: 268 seconds).
22:10:05 -!- myname has joined.
22:10:07 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
22:10:13 -!- Warrigal has joined.
22:13:49 -!- int-e has joined.
22:16:24 -!- impomatic_ has joined.
22:16:52 -!- contrapumpkin has quit (Max SendQ exceeded).
22:17:39 -!- hppavilion[1] has joined.
22:17:50 -!- erdic has quit (Ping timeout: 252 seconds).
22:17:51 -!- sebbu has quit (Ping timeout: 252 seconds).
22:17:53 -!- earendel has quit (Ping timeout: 244 seconds).
22:18:22 -!- ^v has quit (Ping timeout: 252 seconds).
22:18:22 -!- aloril_ has quit (Ping timeout: 252 seconds).
22:18:23 -!- Gregor` has quit (Ping timeout: 252 seconds).
22:18:23 -!- quintopi1 has quit (Ping timeout: 252 seconds).
22:18:23 -!- jix_ has quit (Ping timeout: 252 seconds).
22:18:24 -!- pelegreno has quit (Ping timeout: 252 seconds).
22:18:24 -!- deltab has quit (Ping timeout: 252 seconds).
22:18:55 -!- Melvar has quit (Ping timeout: 252 seconds).
22:18:56 -!- newsham has quit (Ping timeout: 252 seconds).
22:19:10 -!- copumpkin has joined.
22:19:22 -!- quintopia has joined.
22:20:38 -!- Veltas has joined.
22:21:38 -!- impomatic has quit (Ping timeout: 371 seconds).
22:21:48 -!- impomatic_ has changed nick to impomatic.
22:22:12 -!- tromp__ has joined.
22:23:02 -!- lambda-11235 has quit (Ping timeout: 244 seconds).
22:23:23 -!- incomprehensibly has quit (Ping timeout: 268 seconds).
22:23:36 -!- ^v has joined.
22:23:51 -!- Gregor has joined.
22:24:09 -!- oerjan has joined.
22:24:10 -!- kline_ has joined.
22:24:20 -!- incomprehensibly has joined.
22:24:45 -!- jix has joined.
22:24:46 -!- kline has quit (*.net *.split).
22:24:46 -!- nitrix- has quit (*.net *.split).
22:24:46 -!- tromp_ has quit (*.net *.split).
22:24:47 -!- p34k has quit (*.net *.split).
22:24:47 -!- Yurume has quit (*.net *.split).
22:24:47 -!- izabera has quit (*.net *.split).
22:24:48 -!- pdxleif has quit (*.net *.split).
22:24:48 -!- paul2520 has quit (*.net *.split).
22:25:35 -!- deltab has joined.
22:26:04 -!- tromp_ has joined.
22:26:12 -!- paul2520_ has joined.
22:26:15 -!- trn has quit (Ping timeout: 264 seconds).
22:26:34 -!- rodgort` has quit (Ping timeout: 240 seconds).
22:26:34 -!- clog has quit (Ping timeout: 240 seconds).
22:26:45 -!- FreeFull has quit (Remote host closed the connection).
22:26:48 -!- tromp has quit (Write error: Broken pipe).
22:27:35 -!- FireFly has quit (Ping timeout: 240 seconds).
22:28:05 -!- lynn_ has quit (Ping timeout: 240 seconds).
22:28:05 -!- Sprocklem has quit (Ping timeout: 240 seconds).
22:28:06 -!- gniourf has quit (Ping timeout: 240 seconds).
22:28:06 -!- Sgeo has quit (Ping timeout: 240 seconds).
22:28:06 -!- Vorpal has quit (Ping timeout: 240 seconds).
22:28:06 -!- cnr has quit (Ping timeout: 240 seconds).
22:28:06 -!- diginet has quit (Ping timeout: 240 seconds).
22:28:10 -!- ski_ has joined.
22:28:18 -!- l0de has joined.
22:28:18 -!- zgrep has joined.
22:28:18 -!- staffehn has joined.
22:28:23 -!- l0de has quit (Changing host).
22:28:23 -!- l0de has joined.
22:28:59 -!- FreeFull has joined.
22:29:45 -!- ski has quit (Remote host closed the connection).
22:30:09 <oerjan> is there a freenode dos'ing going on
22:30:20 -!- catern has joined.
22:30:52 -!- erdic has joined.
22:31:12 -!- Treio has quit (Ping timeout: 260 seconds).
22:31:31 -!- diginet has joined.
22:31:37 -!- sebbu has joined.
22:33:00 -!- Melvar has joined.
22:33:14 -!- paul2520_ has quit (Ping timeout: 268 seconds).
22:33:42 -!- aloril_ has joined.
22:34:37 <oerjan> definitely not looking healthy, there
22:34:45 -!- Vorpal has joined.
22:35:23 -!- rodgort has joined.
22:35:28 -!- earendel has joined.
22:35:34 <oerjan> (and i didn't get on my normal server. twice, although that was due to irc.freenode.net somehow deciding to resolve to the same server.)
22:35:44 <quintopia> hmm, well
22:35:49 <quintopia> you'e still in my shard eh
22:35:56 -!- staffehn_ has joined.
22:37:08 -!- FireFly has joined.
22:38:16 -!- Guest94494 has joined.
22:39:22 -!- izabera has joined.
22:40:31 -!- l0de has quit (*.net *.split).
22:40:31 -!- zgrep has quit (*.net *.split).
22:40:32 -!- staffehn has quit (*.net *.split).
22:42:24 -!- gniourf has joined.
22:42:48 -!- Gregor has quit (Ping timeout: 276 seconds).
22:42:52 -!- mbrcknl has quit (Read error: Connection reset by peer).
22:43:48 -!- kline_ has quit (Ping timeout: 276 seconds).
22:43:50 -!- Gregor has joined.
22:44:06 -!- atehwa_ has quit (Ping timeout: 276 seconds).
22:44:37 -!- atehwa has joined.
22:46:00 -!- lambda-11235 has joined.
22:47:32 -!- zgrep has joined.
22:47:38 <oerjan> quintopia: as is glogbot, though clog seems to live somewhere else or maybe have died entirely
22:47:42 -!- kline has joined.
22:48:05 -!- Phantom_Hoover has joined.
22:48:22 <oerjan> neither of us is on the same server.
22:49:00 <oerjan> we're all in europe, if that matters.
22:49:25 <Phantom_Hoover> atriq, your underwater hockey team are a pack of conniving bastards btw
22:49:33 -!- l0de has joined.
22:50:24 <Warrigal> Yeah!
22:50:31 -!- Warrigal has changed nick to tswett.
22:50:44 <tswett> `unidecode 𝖄𝖔𝖚
22:50:46 -!- atehwa_ has joined.
22:51:03 <oerjan> hm and now i cannot reach you.
22:51:04 <HackEgo> ​[U+1D584 MATHEMATICAL BOLD FRAKTUR CAPITAL Y] [U+1D594 MATHEMATICAL BOLD FRAKTUR SMALL O] [U+1D59A MATHEMATICAL BOLD FRAKTUR SMALL U]
22:52:27 <tswett> `unidecode ꙮ̈
22:52:30 <HackEgo> ​[U+A66E CYRILLIC LETTER MULTIOCULAR O] [U+0308 COMBINING DIAERESIS]
22:52:37 <shachaf> oerjan: Where do I file a complain if I have reason to believe I've been overly mapoled?
22:52:38 <oerjan> CTCP PING reply from quintopia: 75.925 seconds
22:52:41 <oerjan> looking good
22:53:03 <shachaf> A complaint.
22:53:12 <tswett> `complain The floors are cold.
22:53:17 <HackEgo> Complaint filed. Thank you.
22:53:34 <oerjan> shachaf: well first you should complain to boily. if he disagrees you may choose to refer the matter to join #esoteric canadian committee.
22:53:40 <oerjan> *the joint
22:53:59 <oerjan> how in the world does my brain manage to mistype that
22:54:02 <tswett> Don't be ridiculous. Refer it to the joint #esoteric American committee.
22:54:13 -!- mbrcknl has joined.
22:54:18 -!- atehwa has quit (Ping timeout: 276 seconds).
22:54:18 -!- FireFly has quit (Ping timeout: 276 seconds).
22:54:29 <tswett> If that doesn't work, refer it to the British, then the French, then the Russian, then the Chinese.
22:54:32 <oerjan> tswett: Americans have no jurisdiction over mapoles, sheesh
22:54:45 <tswett> This is a matter of international concern.
22:54:54 <tswett> It must be resolved in an international manner.
22:55:05 -!- pelegreno has joined.
22:55:29 <shachaf> I hear the new prime minister is going to form a joint committee.
22:55:59 -!- lynn has joined.
22:56:26 <quintopia> oerjan: i'm here, but distracted
22:56:39 <oerjan> shachaf: is this a drug joke
22:56:50 <shachaf> yes hth
22:56:52 <tswett> Drugs are no joke.
22:56:56 <tswett> `? drug
22:56:57 <HackEgo> drug? ¯\(°​_o)/¯
22:57:01 <tswett> `learn Drugs are no joke.
22:57:01 -!- Sprocklem has joined.
22:57:05 <HackEgo> Learned 'drug': Drugs are no joke.
22:57:33 -!- ocharles_ has quit (Ping timeout: 253 seconds).
22:57:33 -!- Sprocklem has changed nick to Guest4233.
22:57:48 <shachaf> oerjan: hopefully i don't get mapoled for it
22:58:04 <quintopia> `learn Jokes are no drug.
22:58:07 <HackEgo> Learned 'joke': Jokes are no drug.
22:58:56 <oerjan> `culprits wisdom/joke
22:58:59 <HackEgo> quintopia
23:01:04 -!- paul2520_ has joined.
23:01:08 -!- FireFly has joined.
23:02:13 -!- Vorpal has quit (Ping timeout: 268 seconds).
23:03:24 <tswett> `? fire
23:03:26 <HackEgo> fire? ¯\(°​_o)/¯
23:03:27 -!- Riviera has quit (Ping timeout: 268 seconds).
23:04:24 -!- ocharles_ has joined.
23:04:41 <tswett> `le/rn fire/Fire, fire, everywhere, nor any drop to drink.
23:04:44 <HackEgo> Learned «fire»
23:05:01 -!- nortti has quit (Ping timeout: 250 seconds).
23:05:09 -!- nortti has joined.
23:05:18 -!- Vorpal has joined.
23:07:39 <tswett> `? delve
23:07:41 <HackEgo> Delve is a static ability that functions while the spell with delve is on the stack. “Delve” means “For each generic mana in this spell’s total cost, you may exile a card from your graveyard rather than pay that mana.” The delve ability isn’t an additional or alternative cost and applies only after the total cost of the spell with delve
23:08:12 <tswett> `run tail -n 200 wisdom/delve
23:08:13 <HackEgo> Delve is a static ability that functions while the spell with delve is on the stack. “Delve” means “For each generic mana in this spell’s total cost, you may exile a card from your graveyard rather than pay that mana.” The delve ability isn’t an additional or alternative cost and applies only after the total cost of the spell with delve
23:08:32 -!- Riviera has joined.
23:08:33 <tswett> `wc wisdom/delve
23:08:34 <HackEgo> ​ 1 63 367 wisdom/delve
23:08:44 <tswett> Oh, right.
23:08:48 <tswett> `run tail -c 200 wisdom/delve
23:08:49 <HackEgo> xile a card from your graveyard rather than pay that mana.” The delve ability isn’t an additional or alternative cost and applies only after the total cost of the spell with delve is determined.
23:09:14 -!- Veltas has quit (*.net *.split).
23:09:52 <tswett> `run sed -e 's/“/"/g' < wisdom/delve > wisdom/delve
23:09:57 <HackEgo> No output.
23:09:57 <tswett> NB: I don't know how sed works.
23:10:02 <tswett> `? delve
23:10:03 <HackEgo> No output.
23:10:08 <tswett> `revert
23:10:18 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
23:10:37 -!- p34k has joined.
23:16:43 -!- esowiki has joined.
23:16:48 -!- esowiki has joined.
23:16:48 -!- esowiki has joined.
23:16:49 -!- glogbot has joined.
23:17:43 -!- lynn has quit (Ping timeout: 268 seconds).
23:20:15 <oerjan> `? delve
23:20:20 <HackEgo> Delve is a static ability that functions while the spell with delve is on the stack. “Delve” means “For each generic mana in this spell’s total cost, you may exile a card from your graveyard rather than pay that mana.” The delve ability isn’t an additional or alternative cost and applies only after the total cost of the spell with delve
23:20:49 <oerjan> tswett: you don't need to know sed, just shell, to know that piping both from and to a file doesn't work.
23:22:53 <oerjan> `` sed 's/“|”/"/g' wisdom/delve #testing first
23:22:59 <HackEgo> Delve is a static ability that functions while the spell with delve is on the stack. “Delve” means “For each generic mana in this spell’s total cost, you may exile a card from your graveyard rather than pay that mana.” The delve ability isn’t an additional or alternative cost and applies only after the total cost of the spell with delve
23:23:03 <oerjan> bah
23:23:12 <oerjan> `` sed 's/“\|”/"/g' wisdom/delve #testing first
23:23:12 <HackEgo> Delve is a static ability that functions while the spell with delve is on the stack. "Delve" means "For each generic mana in this spell’s total cost, you may exile a card from your graveyard rather than pay that mana." The delve ability isn’t an additional or alternative cost and applies only after the total cost of the spell with delve is dete
23:23:20 <oerjan> `` sed -i 's/“\|”/"/g' wisdom/delve #testing first
23:23:34 <HackEgo> No output.
23:23:38 -!- puckipedia has quit (Ping timeout: 250 seconds).
23:24:27 -!- puckipedia has joined.
23:24:54 -!- hppavilion[1] has quit (Quit: Leaving).
23:26:42 -!- atriq has changed nick to Taneb.
23:26:53 -!- hppavilion[1] has joined.
23:30:31 <hppavilion[1]> An internet calculus still seems like a good idea, somehow...
23:30:37 <zzo38> What is the proper way to convert a picture using XInitImage and XPutImage?
23:31:00 -!- Sgeo has joined.
23:39:30 -!- AnotherTest has quit (Ping timeout: 244 seconds).
23:43:47 -!- lleu has quit (Quit: That's what she said).
23:46:04 -!- HackEgo has quit (Ping timeout: 264 seconds).
23:48:35 -!- HackEgo has joined.
23:50:53 -!- j-bot has quit (Ping timeout: 349 seconds).
23:52:28 -!- hydraz has quit (Quit: Bai.).
23:53:11 -!- hydraz has joined.
23:53:13 -!- hydraz has quit (Changing host).
23:53:13 -!- hydraz has joined.
23:53:22 -!- augur has quit (Remote host closed the connection).
2016-02-28
00:02:17 -!- Veltas has joined.
00:13:28 -!- tromp__ has quit (Remote host closed the connection).
00:20:46 -!- j-bot has joined.
00:28:11 -!- cnr has joined.
00:28:11 -!- Yurume has joined.
00:30:22 -!- Alcest has joined.
00:38:07 -!- clog has joined.
00:43:37 -!- Alcest has quit (K-Lined).
00:44:01 -!- cnr has quit (Changing host).
00:44:01 -!- cnr has joined.
00:44:59 -!- J_Arcane has joined.
00:49:06 -!- earenndil has joined.
00:59:02 -!- benderpc_ has joined.
00:59:11 -!- pdxleif has joined.
01:04:34 -!- lynn has joined.
01:06:52 -!- benderpc_ has quit (Ping timeout: 255 seconds).
01:10:45 -!- augur has joined.
01:13:56 -!- tromp has joined.
01:14:29 -!- fractal has joined.
01:18:30 -!- tromp has quit (Ping timeout: 268 seconds).
01:20:45 -!- newsham has joined.
01:42:26 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:52:36 -!- augur has quit (Ping timeout: 276 seconds).
02:00:47 -!- AlexR42 has joined.
02:05:01 -!- augur has joined.
02:24:51 -!- nzt has joined.
02:25:19 <hppavilion[1]> Perhaps a language where everything- not just data- is an object would be nice
02:25:57 <zzo38> I have tried a few different things including using XGetImage and I cannot quite figure it out
02:27:34 <coppro> hppavilion[1]: what do you mean by "object"?
02:28:05 <hppavilion[1]> coppro: Like, an object. A thing with fields
02:28:59 <hppavilion[1]> coppro: Imagine a world where IF-THEN is represented by an instance of the CONDITIONAL class
02:29:07 <hppavilion[1]> coppro: I'm taking OO to the logical extreme, I think
02:29:57 <hppavilion[1]> coppro: It's not a good thing.
02:31:09 <zzo38> I used XGetImage and all of the red_mask and green_mask and blue_mask in the resulting image are zero
02:33:36 -!- nzt has quit (Ping timeout: 244 seconds).
02:34:24 <hppavilion[1]> coppro: Um?
02:42:55 <coppro> hppavilion[1]: oh, we have that
02:43:01 <coppro> it's called enterprise fizzbuzz
02:43:59 <hppavilion[1]> coppro: Huh?
02:44:00 <hppavilion[1]> coppro: Not on the wiki
02:44:00 <hppavilion[1]> *no language named that on the wiki
02:44:08 -!- augur_ has joined.
02:44:09 <coppro> https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
02:45:47 <hppavilion[1]> coppro: That's not a language, AFAICT
02:46:28 -!- augur has quit (Ping timeout: 252 seconds).
02:46:34 <coppro> it's not
02:46:38 <hppavilion[1]> coppro: I was talking about a language
02:46:48 -!- newsham has quit (Ping timeout: 252 seconds).
02:50:47 <oerjan> who needs a language when you can have a LanguageFactoryBean
02:51:30 <hppavilion[1]> oerjan: No.
02:54:05 <oerjan> you seem to be running prolog rather than OO hth
02:56:13 -!- zemhill has quit (Write error: Broken pipe).
02:56:34 -!- ocharles_ has quit (Ping timeout: 268 seconds).
02:56:43 -!- j-bot has quit (Ping timeout: 312 seconds).
02:57:10 <hppavilion[1]> oerjan: ?
02:58:15 <oerjan> "No." is a prolog response hth
03:00:22 -!- ocharles_ has joined.
03:00:49 -!- pdxleif has quit (Ping timeout: 255 seconds).
03:01:29 -!- lynn has quit (Ping timeout: 268 seconds).
03:01:44 -!- lynn_ has joined.
03:01:50 <lambda-11235> If I had a time machine I'd go back and stop the guy that thought com.blahblah.relaventpart was a good idea.
03:03:25 -!- benderpc_ has joined.
03:03:53 <hppavilion[1]> oerjan: Ah, right, right
03:05:11 -!- Sgeo has quit (Ping timeout: 268 seconds).
03:05:11 -!- mbrcknl has quit (Ping timeout: 268 seconds).
03:09:16 -!- j-bot has joined.
03:09:52 -!- mbrcknl has joined.
03:10:00 -!- cnr has quit (*.net *.split).
03:10:04 -!- Yurume has quit (*.net *.split).
03:10:27 -!- adu has joined.
03:10:28 -!- zemhill has joined.
03:14:39 <Elronnd> lambda-11235: is that actually a newgroup?
03:15:13 <hppavilion[1]> http://xkcd.com/1391/ is awesome
03:16:15 <lambda-11235> Elronnd: Not to my knowledge. I just meant it as an example.
03:16:34 <Elronnd> *phew*
03:17:29 -!- bb010g has joined.
03:19:15 <lambda-11235> I'm going to start naming all my groups com.lambda_1123581321345589_thisisgettinghardtoread
03:22:34 -!- tromp has joined.
03:23:04 -!- ocharles_ has quit (Ping timeout: 268 seconds).
03:24:18 -!- bb010g has quit (Ping timeout: 268 seconds).
03:24:37 -!- tromp has quit (Remote host closed the connection).
03:25:19 -!- ocharles_ has joined.
03:25:52 -!- tromp has joined.
03:27:37 <coppro> lambda-11235: why not go back in time and kill someone responsible for something relevant?
03:29:57 <lambda-11235> coppro: As a programmer, that's very relavent to me.
03:29:58 -!- nisstyre_ has quit (Ping timeout: 244 seconds).
03:30:35 <coppro> newsgroups are not relevant any more
03:31:15 -!- bb010g has joined.
03:35:49 -!- p34k has quit.
03:36:58 <oerjan> wait, you were talking about newsgroups? thought it was java packages.
03:37:30 <oerjan> it makes perfect sense for newsgroups imo.
03:41:06 <\oren\_> I should probably move the cursive letters to the correct codepoints or cursive letters
03:41:12 <lambda-11235> oerjan: Oh, sorry it is a java package, not a newsgroup.
03:41:23 <oerjan> good, good
03:42:12 <coppro> oh
03:42:22 <coppro> yeah, that's dumb
03:43:53 -!- tromp has quit (Remote host closed the connection).
03:47:17 -!- Sgeo has joined.
03:47:44 -!- bb010g has quit (Ping timeout: 268 seconds).
03:56:18 -!- fractal has quit (Ping timeout: 379 seconds).
03:56:22 -!- Xe has quit (Ping timeout: 268 seconds).
03:57:17 -!- bb010g has joined.
03:57:58 -!- Xe has joined.
03:58:40 -!- nisstyre_ has joined.
04:03:53 -!- Guest94494 has quit (Changing host).
04:03:53 -!- Guest94494 has joined.
04:04:34 -!- Guest94494 has changed nick to nitrix.
04:12:37 -!- tromp has joined.
04:12:57 -!- l0de has quit (Ping timeout: 260 seconds).
04:12:58 -!- incomprehensibly has quit (Ping timeout: 260 seconds).
04:14:02 -!- Xe has quit (Ping timeout: 260 seconds).
04:14:13 -!- j-bot has quit (Ping timeout: 378 seconds).
04:15:37 -!- l0de has joined.
04:16:06 -!- bb010g has quit (Ping timeout: 268 seconds).
04:16:06 -!- mbrcknl has quit (Ping timeout: 268 seconds).
04:16:09 -!- incomprehensibly has joined.
04:16:20 -!- l0de has quit (Changing host).
04:16:20 -!- l0de has joined.
04:16:31 -!- incomprehensibly has quit (Changing host).
04:16:31 -!- incomprehensibly has joined.
04:17:29 -!- mbrcknl has joined.
04:17:30 -!- hydraz has quit (Ping timeout: 244 seconds).
04:19:22 <zzo38> Now I got my JavaScript Xlib to support loading pictures and drawing pictures on a window. However currently the picture loading will only work properly if the X server's picture format is [blue,green,red,unused] 32-bit TrueColor format, and will not work in other cases.
04:20:39 -!- Xe has joined.
04:20:40 <zzo38> Transparency does work though, if you tell it to include transparency when loading. However it can't do full alpha transparency, but only opaque/transparent.
04:21:02 -!- staffehn_ has quit (Ping timeout: 268 seconds).
04:21:46 -!- hydraz has joined.
04:22:00 -!- hydraz has quit (Changing host).
04:22:00 -!- hydraz has joined.
04:22:25 -!- oerjan has quit (Quit: Nite).
04:23:00 -!- mbrcknl has quit (Read error: Connection reset by peer).
04:23:03 -!- Xe has quit (Excess Flood).
04:23:30 -!- incomprehensibly has quit (Ping timeout: 268 seconds).
04:23:42 -!- bb010g has joined.
04:25:16 -!- mbrcknl has joined.
04:25:32 -!- staffehn has joined.
04:25:44 -!- incomprehensibly has joined.
04:25:46 -!- Xe has joined.
04:26:39 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
04:27:47 -!- Xe has quit (Excess Flood).
04:29:52 -!- j-bot has joined.
04:30:17 -!- l0de has quit (Ping timeout: 268 seconds).
04:30:28 -!- Xe has joined.
04:31:58 -!- Xe has quit (Excess Flood).
04:33:28 -!- Xe has joined.
04:35:24 -!- l0de has joined.
04:37:04 -!- bb010g has quit (Ping timeout: 268 seconds).
04:37:04 -!- ocharles_ has quit (Ping timeout: 268 seconds).
04:41:14 -!- ocharles_ has joined.
04:44:38 -!- lynn_ has quit (Ping timeout: 276 seconds).
04:45:42 -!- l0de has quit (Ping timeout: 268 seconds).
04:45:42 -!- incomprehensibly has quit (Ping timeout: 268 seconds).
04:45:56 -!- hppavilion[1] has joined.
04:46:20 -!- bb010g has joined.
04:47:19 -!- incomprehensibly has joined.
04:47:58 -!- impomatic has quit (Ping timeout: 244 seconds).
04:48:30 -!- impomatic has joined.
04:49:33 -!- fractal has joined.
04:49:49 -!- l0de has joined.
04:52:29 -!- incomprehensibly has quit (Ping timeout: 268 seconds).
04:52:45 -!- j-bot has quit (Ping timeout: 302 seconds).
04:53:48 -!- incomprehensibly has joined.
04:56:51 <zzo38> Now text drawing is working
04:57:38 -!- j-bot has joined.
05:01:57 -!- augur_ has quit (Remote host closed the connection).
05:09:00 -!- tromp has quit (Remote host closed the connection).
05:14:04 -!- nisstyre_ has quit (Ping timeout: 268 seconds).
05:14:11 -!- tromp has joined.
05:16:52 -!- j-bot has quit (Ping timeout: 240 seconds).
05:25:10 -!- Hoolootwo has quit (Ping timeout: 268 seconds).
05:35:11 -!- Hoolootwo has joined.
05:35:51 -!- j-bot has joined.
05:36:19 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
05:38:51 -!- bb010g has quit (Quit: Connection closed for inactivity).
05:41:49 -!- incomprehensibly has quit (Ping timeout: 268 seconds).
05:42:45 -!- nisstyre_ has joined.
05:45:18 -!- benderpc_ has quit (Ping timeout: 276 seconds).
05:47:02 -!- incomprehensibly has joined.
05:50:24 -!- tromp has quit (Remote host closed the connection).
05:51:18 -!- lleu has joined.
05:52:55 -!- Hoolootwo has quit (Ping timeout: 268 seconds).
05:53:50 -!- Hoolootwo has joined.
06:03:09 -!- augur has joined.
06:03:14 -!- augur has quit (Remote host closed the connection).
06:07:25 -!- lambda-calc has joined.
06:07:48 -!- lambda-11235 has quit (Ping timeout: 260 seconds).
06:13:16 -!- Hoolootwo has quit (Ping timeout: 268 seconds).
06:13:33 -!- Hoolootwo has joined.
06:26:14 <shachaf> int-e: Did you @ignore HackEgo?
06:44:14 -!- nzt has joined.
06:45:04 -!- pdxleif_ has joined.
06:47:15 -!- trn has joined.
06:48:55 -!- lambda-calc has quit (Quit: Bye).
06:50:41 -!- tromp has joined.
06:54:33 -!- j-bot has quit (Ping timeout: 248 seconds).
06:54:48 -!- j-bot has joined.
06:55:36 -!- tromp has quit (Ping timeout: 276 seconds).
06:59:16 -!- j-bot has quit (Ping timeout: 248 seconds).
06:59:55 -!- j-bot has joined.
07:04:32 -!- pdxleif_ has changed nick to pdxleif.
07:07:42 -!- hppavilion[1] has joined.
07:08:24 -!- j-bot has quit (Ping timeout: 252 seconds).
07:08:35 -!- j-bot has joined.
07:19:35 -!- j-bot has quit (Ping timeout: 248 seconds).
07:22:16 -!- j-bot has joined.
07:26:35 -!- j-bot has quit (Ping timeout: 254 seconds).
07:27:30 -!- j-bot has joined.
07:28:20 <Sgeo> "I have discovered a truly marvelous proof of the Banach-Tarski paradox that this margin can be made large enough to contain."
07:29:55 <myname> :D
07:38:45 -!- Xe has quit (Ping timeout: 260 seconds).
07:40:25 -!- j-bot has quit (Ping timeout: 252 seconds).
07:40:51 -!- j-bot has joined.
07:44:15 -!- Xe has joined.
07:44:19 -!- Xe has quit (Changing host).
07:44:20 -!- Xe has joined.
07:44:22 <shachaf> But it doesn't work in 2D.
07:45:15 -!- zzo38 has quit (Ping timeout: 244 seconds).
07:45:57 -!- newsham has joined.
07:46:46 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
07:47:16 -!- j-bot has quit (Ping timeout: 248 seconds).
07:47:34 -!- j-bot has joined.
07:52:10 -!- j-bot has quit (Ping timeout: 248 seconds).
07:52:51 -!- j-bot has joined.
07:53:47 -!- newsham has quit (Ping timeout: 252 seconds).
07:57:08 -!- hppavilion[1] has joined.
07:57:24 -!- j-bot has quit (Ping timeout: 248 seconds).
07:59:47 -!- j-bot has joined.
08:00:38 -!- pdxleif has quit (Ping timeout: 248 seconds).
08:04:20 -!- j-bot has quit (Ping timeout: 248 seconds).
08:04:56 -!- j-bot has joined.
08:13:57 -!- j-bot has quit (Ping timeout: 248 seconds).
08:13:59 -!- j-bot has joined.
08:19:30 -!- hppavilion[2] has joined.
08:19:37 -!- j-bot has quit (Ping timeout: 248 seconds).
08:19:37 -!- j-bot has joined.
08:20:20 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
08:21:54 -!- hppavilion[2] has quit (Ping timeout: 244 seconds).
08:22:09 -!- incomprehensibly has quit (Ping timeout: 268 seconds).
08:22:59 -!- j-bot has quit (Ping timeout: 248 seconds).
08:23:15 -!- j-bot has joined.
08:24:57 -!- incomprehensibly has joined.
08:27:42 -!- Xe has quit (Ping timeout: 268 seconds).
08:27:49 -!- j-bot has quit (Ping timeout: 249 seconds).
08:28:01 -!- j-bot has joined.
08:28:50 -!- adu has quit (Quit: adu).
08:28:51 -!- Xe has joined.
08:34:45 -!- j-bot has quit (Ping timeout: 248 seconds).
08:35:48 -!- j-bot has joined.
08:38:00 -!- AnotherTest has joined.
08:40:04 -!- j-bot has quit (Ping timeout: 248 seconds).
08:40:25 -!- j-bot has joined.
08:49:44 -!- j-bot has quit (Ping timeout: 248 seconds).
08:49:45 -!- j-bot has joined.
08:51:27 -!- tromp has joined.
08:53:59 -!- j-bot has quit (Ping timeout: 248 seconds).
08:54:23 -!- j-bot has joined.
08:55:41 -!- tromp has quit (Ping timeout: 248 seconds).
08:58:44 -!- j-bot has quit (Ping timeout: 248 seconds).
08:59:02 -!- j-bot has joined.
09:03:32 -!- j-bot has quit (Ping timeout: 248 seconds).
09:08:04 <b_jonas> oerjan: according to the monad tutorial fallacy, Monads are Like Burritos, and that tutorial also calls this Joe's Burrito intuition. So I don't care what the plural everywhere else is, this plural helps understanding Monads the best, according to Joe.
09:08:09 -!- j-bot has joined.
09:08:51 <b_jonas> @tell oerjan according to the monad tutorial fallacy, Monads are Like Burritos, and that tutorial also calls this Joe's Burrito intuition. So I don't care what the plural everywhere else is, this plural helps understanding Monads the best, according to Joe.
09:08:56 <lambdabot> Consider it noted.
09:11:02 <shachaf> According to me, I'm tired of stupid monad jokes.
09:11:29 <shachaf> That includes every monad joke that involves the word "burrito".
09:12:45 -!- j-bot has quit (Ping timeout: 249 seconds).
09:13:28 -!- j-bot has joined.
09:13:31 -!- nzt has changed nick to nzt-fish.
09:15:48 -!- incomprehensibly has quit (Ping timeout: 268 seconds).
09:17:25 -!- j-bot has quit (Ping timeout: 248 seconds).
09:17:47 -!- j-bot has joined.
09:19:56 -!- incomprehensibly has joined.
09:22:12 -!- j-bot has quit (Ping timeout: 248 seconds).
09:22:33 -!- j-bot has joined.
09:24:21 <b_jonas> `? sparkle
09:24:21 <b_jonas> `? bokeh
09:24:23 <b_jonas> huh
09:24:23 <b_jonas> `ping
09:25:15 <HackEgo> bokeh? ¯\(°​_o)/¯
09:25:15 <HackEgo> pong
09:25:15 <HackEgo> sparkle? ¯\(°​_o)/¯
09:25:51 <\oren\_> asynchonous?
09:26:17 <\oren\_> fungot, are you asynchronous?
09:35:36 -!- j-bot has quit (Ping timeout: 248 seconds).
09:40:08 -!- j-bot has joined.
09:42:50 <b_jonas> `slashlearn sparkle/Sparkles are annoying visual artifacts that people try to use for decoration and artistic photographs and drawings.
09:43:01 <HackEgo> Learned «sparkle»
09:43:03 <b_jonas> `slashlearn sparkle/Sparkles are annoying visual artifacts that people try to use deliberately for decoration and artistic photographs and drawings.
09:43:06 <HackEgo> Learned «sparkle»
09:44:37 -!- j-bot has quit (Ping timeout: 248 seconds).
09:46:20 <shachaf> I think you're the only person who uses `slashlearn.
09:46:49 <shachaf> It's good that we have a binary by the name, though, for people who don't have a / key on their keyboard.
09:46:56 -!- j-bot has joined.
09:47:25 <b_jonas> `culprits slashlearn
09:47:30 <HackEgo> No output.
09:48:13 <b_jonas> `culprits learn
09:48:20 <HackEgo> No output.
09:48:24 <b_jonas> `culprits bin/slashlearn
09:48:28 <HackEgo> oerjan oerjan oerjan shachaf shachaf shachaf int-e tswett tswett shachaf shachaf shachaf shachaf
09:57:56 -!- j-bot has quit (Ping timeout: 248 seconds).
09:58:10 -!- j-bot has joined.
10:02:47 -!- esowiki has joined.
10:02:51 -!- esowiki has joined.
10:02:52 -!- esowiki has joined.
10:03:22 -!- esowiki has joined.
10:03:26 -!- esowiki has joined.
10:03:27 -!- esowiki has joined.
10:04:38 -!- esowiki has joined.
10:04:42 -!- esowiki has joined.
10:04:42 -!- esowiki has joined.
10:05:38 -!- esowiki has joined.
10:05:42 -!- esowiki has joined.
10:05:43 -!- esowiki has joined.
10:06:41 -!- esowiki has joined.
10:06:45 -!- esowiki has joined.
10:06:46 -!- esowiki has joined.
10:07:36 -!- glogbot has joined.
10:13:56 -!- jaboja has joined.
10:18:09 -!- J_Arcane has quit (Ping timeout: 244 seconds).
10:18:11 -!- j-bot has quit (Ping timeout: 248 seconds).
10:21:41 -!- j-bot has joined.
10:33:39 -!- j-bot has quit (Ping timeout: 248 seconds).
10:33:54 -!- j-bot has joined.
10:46:59 -!- j-bot has quit (Ping timeout: 248 seconds).
10:47:15 -!- j-bot has joined.
10:56:21 -!- newsham has joined.
11:01:39 -!- newsham has quit (Ping timeout: 252 seconds).
11:06:18 -!- esowiki has joined.
11:06:21 -!- glogbot has joined.
11:06:22 -!- esowiki has joined.
11:06:22 -!- esowiki has joined.
11:09:23 -!- j-bot has quit (Ping timeout: 248 seconds).
11:09:39 -!- j-bot has joined.
11:16:09 <int-e> shachaf: I did tell lambdabot to ignore hackego at some point... not sure whether it was restarted in the meantime
11:16:39 <shachaf> int-e: Well, it's a shame that things like `? weather don't work anymore.
11:16:43 <shachaf> `? weather
11:20:41 -!- esowiki has joined.
11:20:45 -!- esowiki has joined.
11:20:46 -!- esowiki has joined.
11:21:44 -!- esowiki has joined.
11:21:49 -!- esowiki has joined.
11:21:49 -!- esowiki has joined.
11:22:48 -!- esowiki has joined.
11:22:52 -!- esowiki has joined.
11:22:52 -!- esowiki has joined.
11:23:51 -!- esowiki has joined.
11:23:55 -!- esowiki has joined.
11:23:55 -!- esowiki has joined.
11:24:54 -!- esowiki has joined.
11:24:58 -!- esowiki has joined.
11:24:58 -!- esowiki has joined.
11:25:57 -!- esowiki has joined.
11:26:01 -!- esowiki has joined.
11:26:02 -!- esowiki has joined.
11:27:00 -!- esowiki has joined.
11:27:04 -!- esowiki has joined.
11:27:05 -!- esowiki has joined.
11:28:03 -!- esowiki has joined.
11:28:07 -!- esowiki has joined.
11:28:08 -!- esowiki has joined.
11:29:06 -!- esowiki has joined.
11:29:10 -!- esowiki has joined.
11:29:11 -!- glogbot has joined.
11:29:11 -!- esowiki has joined.
11:36:03 -!- j-bot has quit (Ping timeout: 248 seconds).
11:36:59 -!- j-bot has joined.
11:43:31 -!- j-bot has quit (Ping timeout: 248 seconds).
11:43:56 -!- j-bot has joined.
11:50:30 -!- j-bot has quit (Ping timeout: 250 seconds).
11:51:00 -!- j-bot has joined.
11:57:23 -!- j-bot has quit (Ping timeout: 248 seconds).
11:57:36 -!- j-bot has joined.
12:04:01 <b_jonas> Did you know there exists such a thing as a vending machine selling cooking gas cylinders? Large cylinders, not tiny ones for camping.
12:04:18 <b_jonas> I saw one at a gas station in France. It was strange.
12:05:16 -!- jaboja has joined.
12:14:30 <HackEgo> [wiki] [[Armok]] N https://esolangs.org/w/index.php?oldid=46464 * 84.101.93.151 * (+13177) This is a programming language made by Armok himself. Well, not really. However, it is inspired by Dwarf Fortress.
12:18:08 -!- lynn_ has joined.
12:20:48 -!- incomprehensibly has quit (Ping timeout: 268 seconds).
12:23:00 -!- incomprehensibly has joined.
12:26:09 -!- lynn__ has joined.
12:29:24 <HackEgo> [wiki] [[Armok]] https://esolangs.org/w/index.php?diff=46465&oldid=46464 * 84.101.93.151 * (+126)
12:29:36 -!- lynn_ has quit (Ping timeout: 276 seconds).
12:34:21 <HackEgo> [wiki] [[Armok]] https://esolangs.org/w/index.php?diff=46466&oldid=46465 * 84.101.93.151 * (+72)
12:35:00 -!- incomprehensibly has quit (Ping timeout: 268 seconds).
12:38:03 -!- jaboja has quit (Ping timeout: 276 seconds).
12:38:10 -!- incomprehensibly has joined.
12:38:27 -!- j-bot has quit (Ping timeout: 248 seconds).
12:38:46 -!- j-bot has joined.
12:40:33 <HackEgo> [wiki] [[Armok]] https://esolangs.org/w/index.php?diff=46467&oldid=46466 * 84.101.93.151 * (-85)
12:41:34 <HackEgo> [wiki] [[Armok]] https://esolangs.org/w/index.php?diff=46468&oldid=46467 * 84.101.93.151 * (-2)
12:47:47 <HackEgo> [wiki] [[Armok]] https://esolangs.org/w/index.php?diff=46469&oldid=46468 * 84.101.93.151 * (-83)
12:53:53 -!- lifthrasiir has quit (Ping timeout: 264 seconds).
12:54:28 -!- tswett has quit (Ping timeout: 264 seconds).
12:54:28 -!- myname has quit (Ping timeout: 264 seconds).
12:54:28 -!- coppro has quit (Ping timeout: 264 seconds).
12:54:29 -!- digitalcold has quit (Ping timeout: 264 seconds).
12:54:30 -!- olsner has quit (Ping timeout: 264 seconds).
12:54:30 -!- ineiros has quit (Ping timeout: 264 seconds).
12:55:44 -!- coppro has joined.
12:55:44 -!- digitalcold has joined.
12:55:48 -!- myname has joined.
12:55:59 <HackEgo> [wiki] [[Armok]] https://esolangs.org/w/index.php?diff=46470&oldid=46469 * 84.101.93.151 * (+196)
12:56:22 -!- olsner has joined.
12:57:20 -!- Warrigal has joined.
12:57:26 -!- pdxleif has joined.
12:58:42 <HackEgo> [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46471&oldid=46369 * 84.101.93.151 * (+12)
13:00:20 -!- j-bot has quit (Ping timeout: 248 seconds).
13:00:35 -!- j-bot has joined.
13:02:28 -!- ineiros has joined.
13:04:29 <b_jonas> I followed the instructions? Why are the bottoms burnt?
13:04:32 <b_jonas> Stupid food.
13:07:15 -!- tromp has joined.
13:07:15 -!- j-bot has quit (Ping timeout: 248 seconds).
13:07:43 -!- j-bot has joined.
13:09:36 -!- lifthrasiir has joined.
13:10:07 <izabera> `unidecode ▊
13:10:26 <HackEgo> ​[U+258A LEFT THREE QUARTERS BLOCK]
13:11:46 <Riviera> `uniencode [THREE HEADED MONKEY]
13:11:50 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: uniencode: not found
13:12:30 -!- tromp has quit (Ping timeout: 276 seconds).
13:13:13 -!- incomprehensibly has quit (Ping timeout: 268 seconds).
13:16:20 -!- j-bot has quit (Ping timeout: 248 seconds).
13:16:40 -!- j-bot has joined.
13:16:47 -!- incomprehensibly has joined.
13:17:14 -!- ocharles_ has quit (Read error: Connection reset by peer).
13:19:26 -!- earendel has quit (Ping timeout: 244 seconds).
13:21:15 -!- ocharles_ has joined.
13:23:16 -!- j-bot has quit (Ping timeout: 248 seconds).
13:23:27 -!- j-bot has joined.
13:30:41 -!- carado has joined.
13:46:42 -!- Taneb has quit (Ping timeout: 246 seconds).
13:48:09 -!- Taneb has joined.
13:51:10 -!- benderpc_ has joined.
13:55:47 -!- j-bot has quit (Ping timeout: 248 seconds).
13:55:57 -!- j-bot has joined.
14:02:33 -!- benderpc_ has quit (Changing host).
14:02:33 -!- benderpc_ has joined.
14:03:01 -!- newsham has joined.
14:03:06 -!- benderpc_ has changed nick to bender.
14:07:40 -!- newsham has quit (Ping timeout: 252 seconds).
14:09:35 -!- lynn has joined.
14:11:48 -!- lynn__ has quit (Ping timeout: 268 seconds).
14:13:24 -!- j-bot has quit (Ping timeout: 248 seconds).
14:13:51 -!- j-bot has joined.
14:14:09 <Taneb> `quote insanity
14:14:12 <HackEgo> 397) <fizzie> There's that saying that the definition of insanity is doing the same thing over and over again and expecting different results. [...] <Taneb> You've just gave me a different result [...] <fizzie> It's always insane to expect different results, even when it's likely to occur.
14:16:16 <b_jonas> `slashlearn trunc/The trunc and truncf functions (of C99 and C++11) are actually supported by the MS compiler (starting from the 2013), only strangely undocumented.
14:16:23 <HackEgo> Learned «trunc»
14:16:43 <b_jonas> `slashlearn lrint/The lrint and lrintf functions (of C99 and C++11) are actually supported by the MS compiler (starting from the 2013), only strangely undocumented.
14:16:45 <HackEgo> Learned «lrint»
14:17:01 <Taneb> b_jonas: these are actually useful what gives
14:17:24 <b_jonas> Taneb: probably I never really understood how to write good wisdom entries.
14:24:39 -!- Taneb has quit (Ping timeout: 276 seconds).
14:29:48 -!- Taneb has joined.
14:35:25 -!- augur has joined.
14:39:40 -!- oerjan has joined.
14:41:12 <oerjan> @messages-
14:41:12 <lambdabot> b_jonas said 5h 32m 20s ago: according to the monad tutorial fallacy, Monads are Like Burritos, and that tutorial also calls this Joe's Burrito intuition. So I don't care what the plural everywhere else is, this plural helps understanding Monads the best, according to Joe.
14:41:52 -!- Warrigal has changed nick to tswett.
14:42:05 <tswett> `massage
14:42:08 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: massage: not found
14:42:10 <tswett> Er, wrong sigil.
14:42:12 <tswett> @massage
14:42:12 <lambdabot> You don't have any messages
14:42:39 <tswett> @saussages
14:42:40 <lambdabot> Unknown command, try @list
14:42:47 <tswett> @sassages
14:42:48 <lambdabot> You don't have any messages
14:42:52 * oerjan swats b_jonas with an enchilada /====/
14:42:53 <tswett> @sossages
14:42:53 <lambdabot> You don't have any messages
14:42:56 <tswett> There we go.
14:43:31 <tswett> Wait, let me try one more.
14:43:31 <tswett> @sausages
14:43:31 <lambdabot> Unknown command, try @list
14:43:53 <tswett> "Sossages" it is.
14:43:53 <tswett> /nick sossages
14:44:29 -!- AlexR42 has quit (Ping timeout: 268 seconds).
14:49:30 -!- Froox has joined.
14:50:17 -!- Lord_of_Life has quit (Excess Flood).
14:51:38 -!- Lord_of_- has joined.
14:52:09 -!- Xe has quit (Ping timeout: 260 seconds).
14:52:28 -!- Frooxius has quit (Ping timeout: 244 seconds).
14:54:37 <b_jonas> @saussages
14:54:37 <lambdabot> Unknown command, try @list
14:55:37 -!- Sgeo has quit (Read error: Connection reset by peer).
14:55:41 <oerjan> `` ls -l le
14:55:42 <HackEgo> total 4 \ lrwxrwxrwx 1 5000 0 17 Dec 9 04:12 rn -> ../bin/slashlearn \ -rwxr-xr-x 1 5000 0 267 Dec 22 18:32 rn_append
14:56:14 <oerjan> `` ls .//le
14:56:15 <HackEgo> rn \ rn_append
14:56:38 -!- j-bot has quit (Ping timeout: 250 seconds).
14:56:47 -!- j-bot has joined.
14:56:53 -!- Sgeo has joined.
14:56:57 <oerjan> `.//slash_learn testy/test//testing
14:56:58 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv//slash_learn: No such file or directory
14:57:11 <oerjan> `bin//slashlearn testy/test//testing
14:57:14 <HackEgo> Learned «testy/test»
14:57:19 <oerjan> `? testy/test
14:57:20 -!- Xe has joined.
14:57:21 <HackEgo> testing
14:57:29 <oerjan> `forget testy/test
14:57:33 <HackEgo> Forget what?
14:58:26 -!- p34k has joined.
14:59:09 <oerjan> <shachaf> It's good that we have a binary by the name, though, for people who don't have a / key on their keyboard. <-- ERM...
14:59:39 <oerjan> wait, this is the time when shachaf actually sleeps is it
14:59:42 -!- Xe has quit (Excess Flood).
15:00:19 -!- Xe has joined.
15:09:26 <oerjan> `culprits wisdom/trunc
15:09:31 <oerjan> `culprits wisdom/lrint
15:09:34 <HackEgo> b_jonas
15:09:38 <HackEgo> b_jonas
15:10:25 <oerjan> @tell shachaf not only does b_jonas use `slashlearn, he uses it even when `learn would work tdnh
15:10:26 <lambdabot> Consider it noted.
15:16:57 -!- boily has joined.
15:25:24 -!- Xe has quit (Ping timeout: 260 seconds).
15:25:33 <quintopia> helloily
15:28:27 <quintopia> oerjan: what is a programming language? do we consider BF equivalents to be different languages just because the syntax has changed? would a compiler that converts a particular AST into your choice of encodings (all with the same semantics) constitute one language or many?
15:31:51 -!- Xe has joined.
15:32:19 <oerjan> quintopia: isn't that what a compiler usually does, with encoding = machine code
15:33:41 <oerjan> the answer to the first part is "it depends". see: applescript.
15:34:54 -!- Phantom_Hoover has joined.
15:35:15 -!- lambda-11235 has joined.
15:35:27 <quintopia> oerjan: well, most compilers translate things from one language to another, but I'm talking about something else. Something that takes an abstract representation of an AST and encodes it. I'm not sure one would call the starting thing a language. I'm not sure one would call the various possible output encodings different languages even though they are all semantically equivalent encodings of the same AST
15:36:40 <boily> quinthellopia
15:36:54 <boily> hellørjan
15:37:03 <oerjan> bood afternoily
15:37:05 <boily> and hellochaf too.
15:38:38 <oerjan> quintopia: just use HoTT and they'll all be the same thing hth
15:38:55 <quintopia> i don't see what would make applescript not a language. is it that it has so many different ways to do the same thing?
15:39:48 <oerjan> it is natural language agnostic afaihh hth
15:39:55 <quintopia> oerjan: show me some ethos. i want to know if there is a consensus opinion.
15:40:20 <boily> afaihh?
15:40:33 <oerjan> quintopia: since when do i have opinions on matters this arbitrary
15:40:45 <oerjan> you can expect nothing but facts and jokes hth
15:41:42 <oerjan> boily: have heard hth
15:43:18 <boily> tdh.
15:43:39 <quintopia> oerjan: you have knowledge. alex is not here. if you said "a lot of people agree blah" i'd believe you.
15:44:07 -!- sebbu has quit (Ping timeout: 244 seconds).
15:44:20 <oerjan> well i don't remember what people agree.
15:44:24 <quintopia> kk
15:44:26 <oerjan> if they do.
15:47:19 -!- tromp has joined.
15:48:01 <quintopia> boily: what do today
15:51:09 -!- cnr has joined.
15:51:09 -!- Yurume has joined.
15:52:02 -!- bender has quit (Read error: Connection reset by peer).
15:58:36 <boily> quintopia: diplomatic talks between my head and my stomach.
15:59:26 <quintopia> boily: pls be less metaphorical. are you ill?
15:59:40 <boily> yeah. headache and nausea.
16:00:05 <quintopia> have you sufficiently self-medicated?
16:00:54 <boily> I tried.
16:01:42 <boily> I think I'll go back to neutral grounds. horizontal, soft grounds with a pillow.
16:01:46 <boily> 'night all!
16:01:58 -!- boily has quit (Quit: DOUBLE CHICKEN).
16:02:18 -!- p34k has quit.
16:07:03 -!- newsham has joined.
16:07:37 -!- jaboja has joined.
16:09:07 -!- MoALTz_ has changed nick to MoALTz.
16:11:09 -!- oerjan has quit (Quit: Later).
16:23:21 <b_jonas> oerjan: that's because I don't know in advance when `learn works
16:24:12 -!- evalj has joined.
16:34:02 -!- J_Arcane has joined.
16:35:37 -!- jaboja has quit (Ping timeout: 260 seconds).
16:52:01 -!- tromp has quit (Remote host closed the connection).
17:04:28 -!- augur has quit (Remote host closed the connection).
17:07:50 -!- l0de has quit (Ping timeout: 244 seconds).
17:08:59 -!- l0de has joined.
17:21:22 -!- tromp has joined.
17:32:14 -!- nzt-fish has joined.
17:32:22 -!- tromp has quit (Remote host closed the connection).
17:41:22 -!- sebbu has joined.
17:45:18 -!- earendel has joined.
17:51:21 -!- earendel has quit (Ping timeout: 246 seconds).
17:53:00 <shachaf> @messages-
17:53:00 <lambdabot> oerjan said 2h 42m 34s ago: not only does b_jonas use `slashlearn, he uses it even when `learn would work tdnh
17:53:10 -!- earendel has joined.
17:53:16 <shachaf> oerjan: well, the "/ on the keyboard" thing was just a swattempt
17:53:54 <shachaf> oerjan: I can't blame anyone for not using `learn because it's too complicated and magic.
17:55:42 <zgrep> `? tdnh
17:55:54 <HackEgo> tdnh does not help
17:56:02 <zgrep> Oh.
17:56:12 <myname> `? recursion
17:56:13 <HackEgo> You might expect a reference to recursion here, but to make it interesting you'll actuallSTACK OVERFLOW
17:56:24 <zgrep> Heheh.
17:56:39 <myname> lol
17:56:52 <myname> <loop>
18:03:33 -!- lambda-11235 has quit (Quit: Bye).
18:03:52 -!- lambda-11235 has joined.
18:05:12 <Phantom_Hoover> `? hth
18:05:14 <HackEgo> hth is help received from a hairy toe. It is not at all hambiguitous.
18:06:03 <myname> `? tdh
18:06:04 <HackEgo> tdh is the past tense of a successful hth. hth.
18:06:20 <myname> that one's the best
18:06:28 <myname> `? twh
18:06:29 <HackEgo> twh would help, but is an hth derivative. hth. twh. hand.
18:06:45 <myname> `? hand
18:06:47 <HackEgo> A hand in the bush is better than a stoned bird.
18:06:53 <myname> wat
18:07:31 <b_jonas> `? stub
18:07:31 <HackEgo> stub? ¯\(°​_o)/¯
18:08:44 <b_jonas> I wash my laundry in a roughly lifo order, since clothes I wear often need to be washed earlier. As a result, some of the clothes I wore for the skiing trip (which ended on 2016-01-31) remained dirty in the laundry basket for quite long.
18:09:10 <b_jonas> But now, I just started the washing machine with the last batch that contains clothes from the ski trip.
18:09:31 <b_jonas> So that backthing will soon be completed!
18:09:56 <shachaf> sometimes i don't wash my laundry for too long
18:10:10 <b_jonas> Backwhat? Backlog? Wasn't there a different word for that?
18:10:15 <shachaf> and then i might think "oops, i made a lifo"
18:12:12 <b_jonas> Currently, what limits my washing throughput the most is drying the clothes. I'll have to find a better arrangement for that.
18:12:46 <b_jonas> No surprise, since the washing machine does the washing more or less automatically, but the drying and then putting the clothes away needs more actual work from me.
18:12:56 <shachaf> wear wet clothes
18:13:15 <b_jonas> Um, no. Not usually.
18:13:29 <b_jonas> And I can't put all of them on. How would I wear six pairs of wet socks at the same time?
18:13:35 <b_jonas> Or six wet shirts?
18:13:39 <b_jonas> I don't think that works.
18:14:07 <myname> well, socks can be stretched quite good
18:14:16 <myname> at least 4 pairs schould be possible
18:14:40 <shachaf> The loss of his clothes hardly mattered, because / He had seven coats on when he came, / With three pairs of boots -- but the worst of it was, / He had wholly forgotten his name.
18:14:41 <b_jonas> Maybe, but that wouldn't yield me clean clothes except immediately when they're washed.
18:15:12 <b_jonas> And it's probably backlog. But I'm not sure.
18:15:51 <b_jonas> shachaf: that's from The Hunting of the Snark, right?
18:16:00 <shachaf> Yes.
18:17:55 <b_jonas> Completely in contrast with that other famed poem,
18:19:03 <b_jonas> “Megyeri elbúsul - kedvét szegi / Neki / A folt, / Mivel csak egy kabátja volt,”
18:20:43 -!- p34k has joined.
18:25:51 -!- earenndil has quit (Remote host closed the connection).
18:32:52 -!- tromp has joined.
18:33:13 -!- zzo38 has joined.
18:34:05 -!- augur has joined.
18:37:30 -!- tromp has quit (Ping timeout: 276 seconds).
18:50:55 <HackEgo> [wiki] [[Special:Log/newusers]] create * Demiurgosoft * New user account
18:51:39 -!- augur has quit (Read error: Connection reset by peer).
18:52:11 -!- augur has joined.
18:56:22 <b_jonas> The most annoying is sheets by the way, since they're so large.
19:01:15 <izabera> https://twitter.com/realDonaldTrump/status/703900742961270784
19:02:39 <zzo38> The new version of Xlib should add also the functions XPutTrueImage and XConvertTrueImage
19:07:43 <b_jonas> zzo38: is this your javascript wrapper thing?
19:07:57 -!- prooftechnique has quit (Quit: ZNC http://znc.in).
19:08:34 -!- prooftechnique has joined.
19:09:12 <izabera> can you help me write a thing? i need a list of the glibc functions that take a path
19:09:55 <izabera> doesn't have to be 100% complete
19:10:06 <b_jonas> izabera: uh... that's lots of functions
19:10:11 <izabera> yeah
19:10:46 <zzo38> b_jonas: Yes I am making the JavaScript Xlib wrapper program but these suggestion I made now are for Xlib in C too, which would help with converting any TrueColor picture with any number of bits per channel and order of channels into the required format for the screen.
19:11:23 <Riviera> izabera: i hope you don't mind me asking, what do you want to do with that list?
19:12:50 <zzo38> Yes I have the similar question, why do you need the list of the glibc functions that take a path? (Are you intending to make the function to take the path in a different format or something like that?)
19:13:03 <izabera> a LD_PRELOAD wrapper that searches other paths when you use a relative path
19:13:08 <b_jonas> izabera: um, there's system calls like (open, open64, openat, unlink, rmdir, unlinkat, mkdir, mkdirat, link, linkat, rename, renameat, symlink, symlinkat, stat, lstat, fstatat, and lots more), then higher level wrappers like fopen, remove, ...
19:13:49 <izabera> i don't need the *at versions
19:13:51 <b_jonas> izabera: um... why would you wrap all libc functions for that and with a LD_PRELOAD wrapper, why not just all syscalls with a ptrace debugger or something?
19:14:04 <b_jonas> izabera: um, why not the at versions? they're the most general form
19:14:09 <b_jonas> they take relative paths too
19:14:11 <b_jonas> anyway,
19:14:23 <izabera> well they do but they also take a fd
19:14:44 <zzo38> Yes I would think ptrace might be better
19:15:19 <izabera> ok i'll try
19:15:20 <b_jonas> izabera: you could try to search the manual and/or headers for functions with "filename" as an argument name
19:15:27 <b_jonas> izabera: oh, that reminds me
19:15:38 <b_jonas> um, no wait, that wouldn't work
19:15:39 <b_jonas> um
19:16:35 <b_jonas> izabera: what if you only caught chdir, and started the program with the pwd being a directory on a special file system you make with fuse, and caught all operations through that handle? although that might not catch operations with too many levels of ..
19:17:01 <b_jonas> (too many levels up ".." components in the pathname that is, leading out of your fuse filesystem)
19:17:19 <b_jonas> and of course it depends on what you want to do with the process when they attempt those syscalls
19:17:47 <b_jonas> sadly, arguments named "filename" probably isn't enough
19:18:06 <b_jonas> especially since, you know, some syscalls like link and rename take two of the
19:18:09 <b_jonas> them
19:19:06 <izabera> the fuse idea is interesting
19:19:38 <b_jonas> izabera: the trickiest ones are actually bind, accept, sendto etc (which are not actually real syscalls on unix, but wrappers over them, but that's not important right now), which can take a socket address that might be a file-based unix domain socket (AF_UNIX) which thus contains a pathname
19:20:02 <b_jonas> izabera: plus of course the program could just transfer pathnames in any way to other processes which then handles those pathnames for them
19:21:10 <b_jonas> such as, you know, system("rm ./somefile") or such stupid things
19:21:20 <b_jonas> not always stupid of course
19:22:05 <b_jonas> the system("rm ./somefile") kind of crazyness is prevalent in bad perl scripts some code monkeys write, but of course saving filenames outside the process has sane applications too
19:23:48 -!- ciza has joined.
19:33:15 -!- ciza has left.
20:02:38 <nzt-fish> so this is about a language called esotoric?
20:08:19 -!- hppavilion[2] has joined.
20:09:24 <Taneb> nzt-fish, no, it's about esoteric programming languages! Esoteric programming languages are programming languages which are esoteric, which normally means "only known to a select few"
20:09:44 <Taneb> However, in this community the meaning has shifted to mean a programming language that is in some way not designed for serious use
20:10:07 <Taneb> Be it insufficiently powerful, hard to use, or hard to implement properly!
20:13:47 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
20:16:18 <Sgeo> There's no reason an esoteric language called "esoteric?" can't exist
20:16:25 <Sgeo> although as far as I know it doesn't
20:17:57 -!- Phantom_Hoover has joined.
20:20:22 -!- lambda-11235 has quit (Quit: Bye).
20:20:38 <Taneb> Phantom_Hoover, how did your submarine jousting go
20:21:36 <Phantom_Hoover> your team are bastards!
20:22:13 <Phantom_Hoover> but we did well because they got disqualified for it
20:22:51 -!- yorick__ has changed nick to yorick.
20:26:56 <Taneb> So it goes
20:27:06 <Taneb> Remind me the actual name of what you were doing
20:28:48 <b_jonas> Taneb: underwater hockey?
20:31:39 <shachaf> Taneb: Haneb
20:32:31 -!- Lord_of_- has changed nick to Lord_of_Life.
20:32:38 -!- Lord_of_Life has quit (Changing host).
20:32:38 -!- Lord_of_Life has joined.
20:32:38 -!- Lord_of_Life has quit (Changing host).
20:32:38 -!- Lord_of_Life has joined.
20:33:20 -!- tromp has joined.
20:33:51 <b_jonas> ``` ed wisdom/tanebventions <<<$'1s/ Go, /&submarine jousting, /'
20:33:51 -!- hppavilion[2] has quit (Ping timeout: 276 seconds).
20:33:52 <HackEgo> wisdom/tanebventions: No such file or directory
20:34:37 <b_jonas> ``` ed wisdom/tanebvention <<<$'1s/ Go, /&submarine jousting, /'
20:34:38 <HackEgo> 250 \ ?
20:34:47 <b_jonas> ``` ed wisdom/tanebvention <<<$'1s/ Go, /&submarine jousting, /\nwq'
20:34:50 <HackEgo> 250 \ 270
20:34:58 <b_jonas> `? tanebventions
20:35:00 <HackEgo> Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, the torus, Stephen Wolfram, Go, submarine jousting, the universe, weetoflakes, persistence, the reals, Lambek's lemma, robots, progress, and this sentence. He never invents anything involving sex.
20:35:15 <b_jonas> "submarine jousting" is too good to waste
20:37:56 <Taneb> `? Lambek's lemma
20:37:58 <HackEgo> Lambek's lemma? ¯\(°​_o)/¯
20:38:04 -!- tromp has quit (Ping timeout: 260 seconds).
20:39:03 <b_jonas> By the way, ed doesn't have that magic syntax of perl where an s/// command with an empty search part re-uses the match from the previous search (most likely in the address), right?
20:39:37 <b_jonas> eg. I couldn't have written $'/ Go, /s//&submarine jousting, /\nwq' instead?
20:40:41 <Riviera> but yes you could have
20:41:30 <Riviera> i often use commands like g/regex/s//replacement/g
20:41:58 <Riviera> so the empty regex is no problem, the search address however might be
20:44:17 <b_jonas> Riviera: nice
20:44:45 <b_jonas> does ex have that too?
20:45:44 <Riviera> yup
20:45:56 <b_jonas> I see
20:45:59 <b_jonas> the docs weren't clear enough to me
20:46:18 <Riviera> :)
20:54:27 <Phantom_Hoover> there are some guys in the engineering department building a pedal-powered racing submarine...
20:57:11 <Phantom_Hoover> how would you win, though? you're enclosed in the submarine, you can't be knocked off
21:03:02 <Taneb> Maybe if you spring a leak
21:05:41 <b_jonas> Do you have to be inside? Can't it be a submarine you're riding from the outside? Like a bicycle
21:06:23 <shachaf> `welcome Riviera
21:06:25 <HackEgo> Riviera: 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.)
21:06:56 <Riviera> oh why thank you
21:08:47 -!- digitalc1ld has joined.
21:09:39 -!- sebbu has quit (Ping timeout: 248 seconds).
21:09:39 -!- Froox has quit (Ping timeout: 248 seconds).
21:09:40 -!- tswett has quit (Ping timeout: 248 seconds).
21:09:40 -!- digitalcold has quit (Ping timeout: 248 seconds).
21:09:58 -!- Froox has joined.
21:09:59 -!- sebbu has joined.
21:10:47 -!- Warrigal has joined.
21:12:07 <zzo38> Why is there many different kind of summation method of infinite series, can't you just use the algebraic method? (In all examples I have tried to solve by algebra, this method works)
21:12:37 <b_jonas> Underwater jousting reminds me to the edit wars on Wikipedia concerning weather "extreme ironing" is a real sport.
21:13:03 <b_jonas> zzo38: um, what exactly do you mean by "algebraic method"?
21:13:08 <zzo38> I have seen extreme ironing on television (I think on a news show?) so I know it is possible
21:14:21 <zzo38> b_jonas: I mean that if x=1+2+4+8+16+32+... then also x=1+2x and therefore x=-1, and similar way can be done with x=1-1+1-1+1-1+1-1+... and x=1+4+16+64+256+... and so on
21:16:21 -!- idris-bot has quit (Ping timeout: 244 seconds).
21:16:40 <b_jonas> Extreme ironing probably counts as an esoteric sport, similar to esoteric programming languages.
21:16:45 <b_jonas> `? extreme ironing
21:16:46 <HackEgo> extreme ironing? ¯\(°​_o)/¯
21:16:52 -!- fizzie has quit (Ping timeout: 244 seconds).
21:17:11 <zzo38> b_jonas: Maybe
21:17:23 -!- AnotherTest has quit (Ping timeout: 244 seconds).
21:17:39 -!- AnotherTest has joined.
21:17:42 -!- bb010g has joined.
21:18:26 <zzo38> They described on television as, when you iron your clothes outside. It could be anywhere outside, whether it is in your front yard or while climbing a mountain or underwater.
21:22:11 -!- fizzie has joined.
21:24:09 <b_jonas> `? extreme ironing
21:24:10 <HackEgo> extreme ironing? ¯\(°​_o)/¯
21:24:34 <b_jonas> `learn Extreme ironing is an esoteric sport in a similar sense as esoteric programming languages.
21:24:37 <HackEgo> Learned 'extreme': Extreme ironing is an esoteric sport in a similar sense as esoteric programming languages.
21:24:40 <b_jonas> NO!
21:24:46 <b_jonas> see, this is why I'm not using learn
21:24:53 <b_jonas> `revert wisdom/extreme
21:24:53 <HackEgo> abort: unknown revision 'wisdom/extreme'!
21:25:01 <b_jonas> `culprits wisdom/extreme
21:25:06 <HackEgo> b_jonas
21:25:10 <b_jonas> `rm -v wisdom/extreme
21:25:11 <HackEgo> rm: invalid option -- ' ' \ Try `rm --help' for more information.
21:25:23 <b_jonas> `slashlearn extreme ironing/Extreme ironing is an esoteric sport in a similar sense as esoteric programming languages.
21:25:27 <HackEgo> Learned «extreme ironing»
21:27:44 <b_jonas> Are there esoteric programming languages specialized for programming in crazy places, like underwater or while parachuting?
21:31:17 <zzo38> I think not, but you can try to make it up anyways
21:41:55 -!- hppavilion[2] has joined.
21:42:06 <hppavilion[2]> Hellu
21:42:11 <b_jonas> I guess some M:tG un-cards might count
21:42:27 -!- lynn has quit (Ping timeout: 260 seconds).
21:44:13 <b_jonas> Ok, not really.
21:48:39 <zzo38> I got resource string parsing to work now (it includes both the root window's RESOURCE_MANAGER property and the command-line arguments)
21:51:01 <zzo38> For example: yield X.initQuarks(["customization","background","foreground","TestWindow"]); yield X.initResources(["","-xrm #XRM","-bg .background","-fg .foreground","@TestWindow"]); console.log(yield X.getResource([X.quark.customization]),yield X.getResource([X.quark.TestWindow,X.quark.background]));
21:52:38 <zzo38> Do you like this?
21:56:52 <b_jonas> looks nice
22:00:17 <b_jonas> Apparently someone has uploaded the time-reversed version of at least three Tom && Jerry episodes to youtube: https://www.youtube.com/watch?v=kBLYV9uN2xk
22:23:34 <int-e> hmm... http://freefall.purrsia.com/ff2800/fv02774.htm ... now how do they know that the ballott wasn't stuffed?
22:23:38 <int-e> voting is hard.
22:25:46 <Taneb> Maybe they have a government-approved key pair
22:27:31 <int-e> Then it risks not being anonymous?
22:29:17 <Taneb> True
22:29:21 <Taneb> I'm heading to bed now
22:29:29 <int-e> good plan
22:29:55 <int-e> pro tip: go *around* walls, not through them
22:30:27 <int-e> (I regard doors as not being part of the wall)
22:30:40 <b_jonas> int-e: that's usually good advice, although it depends on whether you are phasing or have enough turns of passwall remaining.
22:30:59 <b_jonas> also, whether you can dig very fast
22:31:57 <int-e> o-kay
22:32:22 -!- lleu has quit (Read error: Connection reset by peer).
22:35:05 -!- dos has joined.
22:39:02 -!- hppavilion[2] has quit (Ping timeout: 260 seconds).
22:39:48 -!- earendel2 has joined.
22:39:59 -!- earendel has quit (Ping timeout: 260 seconds).
22:43:58 <zzo38> I have made X.Picture instances to also be EventEmitter instances, even tlhough X.Picture does not have any events. This is because JavaScript does not have multiple inheritance. (Later versions on my program might change this in some way)
22:49:44 -!- tromp has joined.
22:51:02 -!- AnotherTest has quit (Ping timeout: 268 seconds).
22:54:54 -!- tromp has quit (Ping timeout: 276 seconds).
22:59:28 -!- oerjan has joined.
23:00:34 <oerjan> <shachaf> oerjan: I can't blame anyone for not using `learn because it's too complicated and magic. <-- ;_;
23:00:56 -!- Warrigal has changed nick to tswett.
23:00:58 <myname> i agree
23:01:09 <oerjan> WITH WHOM
23:01:24 -!- idris-bot has joined.
23:01:29 <myname> shachaf
23:01:32 <oerjan> darn
23:01:39 -!- p34k has quit.
23:01:50 -!- augur has quit (Remote host closed the connection).
23:03:42 -!- dos has changed nick to hppavilion[1].
23:05:01 <oerjan> `? learn
23:05:11 <HackEgo> learn? ¯\(°​_o)/¯
23:05:19 <oerjan> `cat bin/learn
23:05:20 <HackEgo> ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\?[:;,.!?]\? .*//') \ echo "$1" >"wisdom/$topic" \ echo "Learned '$topic': $1"
23:06:41 <oerjan> `? `learn
23:06:43 <HackEgo> ​`learn? ¯\(°​_o)/¯
23:07:51 <shachaf> oerjan: I agree with that regular expression.
23:07:56 <shachaf> oerjan: [:;,.!?]
23:08:10 <myname> lolt
23:09:51 <shachaf> Is there a name for representing equivalence classes of A with a function : A -> B?
23:10:58 -!- lynn has joined.
23:11:09 -!- augur has joined.
23:13:09 <oerjan> `learn `learn creates a wisdom entry and tries to guess which word is the key. Syntax (case insensitive): `learn [a|an|the] <keyword>[s][punctuation] [...]
23:13:12 <HackEgo> Learned '`learn': `learn creates a wisdom entry and tries to guess which word is the key. Syntax (case insensitive): `learn [a|an|the] <keyword>[s][punctuation] [...]
23:13:43 <myname> what about multiwordstuff?
23:14:04 <oerjan> myname: then you need slashlearn / le/rn / le//rn
23:14:22 <myname> wtf is le//rn
23:14:38 <b_jonas> `? le/rn
23:14:39 <HackEgo> le/rn makes creating wisdom entries manually a thing of the past.
23:14:42 <b_jonas> `? le//rn
23:14:43 <HackEgo> le/rn makes creating wisdom entries manually a thing of the past.
23:14:45 <b_jonas> `? le///rn
23:14:46 <HackEgo> le/rn makes creating wisdom entries manually a thing of the past.
23:14:48 <b_jonas> oh right
23:14:51 <b_jonas> same filename
23:14:56 <oerjan> le//rn is the most flexible, it allows you to create keys with / in
23:15:06 <b_jonas> heh
23:15:10 <b_jonas> typical #esoteric
23:15:11 -!- lambda-11235 has joined.
23:15:27 <FireFly> What if I want a //
23:15:34 <b_jonas> FireFly: filanem
23:15:37 <FireFly> sure
23:15:49 <b_jonas> a // in a filename is the same as a /
23:15:51 <oerjan> FireFly: that's not compatible with how wisdom entries are stored, alas
23:16:02 <FireFly> right, true
23:16:03 <b_jonas> (except when it's not, but that doesn't apply to wisdom)
23:16:18 <FireFly> but it could be worked around, which is kinda the case wih / anyway in that it relies on directories
23:16:36 <FireFly> wait, how is le//rn even a thing?
23:16:40 <FireFly> oh
23:16:43 <FireFly> wait
23:16:44 <FireFly> it branches on argv[0]
23:16:59 <FireFly> `cat le/rn
23:16:59 <HackEgo> sep="/"; [[ "$0" == *//* ]] && sep="//"; [[ "$1" == ?*"$sep"* ]] || exit 1; key="$(echo "${1%%$sep*}" | lowercase)"; value="${1#*$sep}"; echo "$value" > "$(echo-p "wisdom/$key")" && echo "Learned «$key»"
23:17:22 <FireFly> `cat bin/echo-p
23:17:23 <HackEgo> echo "$1"; [[ "$1" == */* ]] && mkdir -p "${1%/*}" 2>/dev/null
23:17:28 <oerjan> shachaf: "quotient" i should think
23:19:06 <b_jonas> `? ../bin/culprits
23:19:07 <HackEgo> hg log --removed "$1" | grep summary: | awk '{print substr($2,2,length($2)-2)}' | sed "s/.$/\x0F&/" | xargs
23:19:15 <b_jonas> `? ..
23:19:16 <HackEgo> cat: ..: Is a directory
23:19:24 <FireFly> Teehee
23:19:32 <myname> wat
23:19:34 <shachaf> oerjan: The function isn't necessarily surjective.
23:19:39 <myname> ah
23:20:01 <oerjan> shachaf: hm. right. in any case, ...
23:20:24 <b_jonas> maybe we'll need to introduce a new wisdom representation that can use any byte string not containing [\0\r\n] as a key for wisdom
23:21:42 <oerjan> shachaf: in universal algebra this is "kernel of a homomorphism".
23:21:59 <oerjan> where kernel becomes a congruence instead of just a subset
23:22:24 <shachaf> oerjan: Oh, that's it! https://en.wikipedia.org/wiki/Kernel_(set_theory)
23:22:25 <b_jonas> and is also mostly compatible with the current representation
23:22:28 <oerjan> your case then becomes the special case of a trivial algebra, i guess
23:22:47 <shachaf> I knew I'd seen that somewhere before.
23:22:54 <b_jonas> like, it somehow quotes things it has to quote, plus does some magic (maybe sha-256 hashing) on keys too long for a filename
23:23:19 <FireFly> b_jonas: there's a wtf(6) command from BSD games that does something similar, and it simply uses a tab-separated file
23:23:25 <oerjan> b_jonas: and people say `learn is too complicated :P
23:23:28 <FireFly> key\tvalue
23:23:45 <oerjan> FireFly: that disallows tabs...
23:23:49 <FireFly> Well yes
23:24:03 <myname> b_jonas: is the limit of a filename shorter than that of an irc message?
23:24:04 <FireFly> But it allow all printables
23:24:38 <b_jonas> myname: yes, at least the limit on filename components
23:24:49 <zzo38> My opinion that many internet services that you can set up the account and profile, ought to add support for RDF. OpenID can also be used for login (which is normally only for webpages, although HTCLS and other stuff could allow OpenID to be used even outside of webpages), and the RDF can reference it too. RDF and OpenID is decentralized; you don't need Facebook and Google and Gravatar logins for example
23:25:01 <myname> ah
23:25:09 -!- boily has joined.
23:25:58 <shachaf> b_jonas: Why do you type `slashlearn instead of `le/rn?
23:26:04 <shachaf> Not that I mind.
23:26:27 <b_jonas> shachaf: the name le/rn is strange. especially for an executable.
23:27:01 <b_jonas> zzo38: isn't OpenID already decentarlized?
23:27:18 <zzo38> b_jonas: Yes, and RDF is also decentralized.
23:29:30 <b_jonas> zzo38: then there's this thing => https://lwn.net/Articles/671604/
23:29:48 <b_jonas> and there's some centralized ones
23:30:09 <oerjan> <shachaf> and then i might think "oops, i made a lifo" <-- i call this the stack principle. any set of items to be handled devolves into a lifo unless you take care to prevent it.
23:30:35 <shachaf> oerjan: my whole life may have devolved into a lifo tdnh
23:30:39 <boily> helifoerjan.
23:30:54 <oerjan> which is why, after i have washed a cup, i put it _innermost_ in the cupboard.
23:31:36 <oerjan> well, in principle anyway.
23:31:51 <shachaf> maybe i shouldn't have moved to california
23:31:59 <b_jonas> oerjan: yes, I try that sometimes with both cutlery and clothes. not consistently enough though.
23:32:31 <int-e> shachaf: I do hope that doesn't apply to digestion
23:33:28 -!- evalj has quit (Remote host closed the connection).
23:36:21 <zzo38> I am deliberately to be recommending the decentralized system.
23:36:32 <oerjan> <shachaf> oerjan: my whole life may have devolved into a lifo tdnh <-- mine too, in the big picture :(
23:36:40 <oerjan> boilycopter
23:36:43 <zzo38> RDF is also more extensible than the other user profiles, too
23:36:47 -!- hppavilion[1] has quit (Ping timeout: 260 seconds).
23:37:57 <oerjan> int-e: hm there are some animals that do that, i think
23:38:30 <oerjan> some kinds of invertebrates with only one whatchammacallit
23:38:47 <zzo38> The account registration form could have the fields such as: username, password, again password, OpenID, RDF. You can therefore fill in username/password or OpenID. If RDF is also filled in, then depending on the data available, the other fields might not be necessary.
23:39:09 <boily> boilycopter?
23:39:18 <boily> ah. heli-.
23:39:36 <int-e> oh, I was assuming shachaf to be human... or some mammal, at least, and I didn't consider ruminants (thanks google) at all
23:39:49 <boily> int-ello. shachaf is a bird.
23:39:56 <oerjan> i wasn't considering ruminants either, really
23:40:16 <oerjan> something more primitive, but i don't quite remember what
23:40:30 <oerjan> jellyfish maybe?
23:40:56 <int-e> oerjan: not sure what you call it...
23:41:04 <int-e> jellyfish would qualify I guess
23:41:08 <int-e> https://en.wikipedia.org/wiki/Polyp comes to my mind
23:41:33 <int-e> which are of course related...
23:41:38 <zzo38> b_jonas: Do you like this?
23:42:01 <int-e> (At least in one direction: "Jellyfish or jellies[1] are the major non-polyp form of individuals of the phylum Cnidaria.")
23:42:29 <int-e> and what about starfish?
23:42:53 <oerjan> i wasn't sure if starfish did that, they're a different phylum
23:43:23 <oerjan> hm bells are starting to ring
23:45:39 <oerjan> https://en.wikipedia.org/wiki/Coelenterata may be what i was thinking of. apparently it's no longer considered a proper grouping.
23:45:55 <oerjan> that still doesn't include starfish...
23:47:32 <int-e> heh... subtleties. http://www.sheldoncomics.com/archive/100302.html
23:51:26 -!- tromp has joined.
23:53:28 <oerjan> https://en.wikipedia.org/wiki/Acoelomorpha seems to be another group
23:54:48 <oerjan> however, both protostomes and deuterostomes have two openings, which includes starfish (which are deuterostomes like the vertebrates)
23:55:15 <oerjan> (they differ in how the openings form)
23:55:20 <zzo38> I don't know all of that biology much, but now I can know a little bit
23:55:26 <shachaf> oerjan: what is the big picture of your life
23:55:42 -!- lynn has quit (Ping timeout: 246 seconds).
23:55:47 -!- tromp has quit (Ping timeout: 248 seconds).
23:56:09 <int-e> shachaf: https://en.wikipedia.org/wiki/Rorschach_test ;-)
23:56:21 <shachaf> `? weather
23:56:22 <HackEgo> lambdabot: ?? ?@ (?where weather) CYUL ENVA ESSB KOAK
23:56:25 <lambdabot> CYUL 282341Z 05017G26KT 15SM -SHSN DRSN FEW012 SCT020 OVC065 M09/M12 A2974 RMK SF1SC3SC4 SLP076 \ ENVA 282350Z 08003KT 9999 FEW012 BKN024 00/M00 Q1023 RMK WIND 670FT 23008KT \ ESSB 282350Z AUTO 00000KT 9999 SCT055/// M06/M07 Q1024 \ KOAK 282353Z 27006KT 10SM FEW020 BKN170 OVC200 17/11 A3019 RMK AO2 SLP224 T01720106 10189 20139 55006
23:57:14 <oerjan> shachaf: picture a train on tracks going toward the side of a mountain. no matter how careful you look, you cannot make out any tunnel opening.
23:57:42 <shachaf> so are you pre- or post- mountain
23:58:05 <oerjan> pre-
23:58:43 <shachaf> `lsmod
23:58:44 <HackEgo> libkmod: ERROR ../libkmod/libkmod-module.c:1567 kmod_module_new_from_loaded: could not open /proc/modules: No such file or directory \ Error: could not get list of modules: No such file or directory
23:58:46 <shachaf> What's with that?
23:59:04 <oerjan> ask Gregor
23:59:23 <int-e> `ls /proc
23:59:24 <HackEgo> 1 \ 10 \ 2 \ 281 \ 285 \ 286 \ 287 \ 288 \ 289 \ 290 \ 291 \ 292 \ 3 \ 4 \ 47 \ 49 \ 5 \ 51 \ 6 \ 68 \ 7 \ 76 \ 77 \ 8 \ 9 \ buddyinfo \ bus \ cgroups \ cmdline \ config.gz \ consoles \ cpuinfo \ crypto \ devices \ diskstats \ driver \ execdomains \ exitcode \ filesystems \ fs \ interrupts \ iomem \ ioports \ irq \ kallsyms \ kcore \ kmsg \ kpageco
2016-02-29
00:01:11 <oerjan> oh some starfish do "Brittle stars have a blind gut with no intestine or anus."
00:04:44 <int-e> `` zgrep CONFIG_MODULES /proc/config.gz
00:04:45 <HackEgo> CONFIG_MODULES_USE_ELF_RELA=y \ # CONFIG_MODULES is not set
00:06:35 <zzo38> ?metar CYVR
00:06:35 <lambdabot> CYVR 282357Z 21020KT 12SM -RA FEW040 BKN063 BKN100 BKN150 09/05 A2986 RMK SC1SC4AC1AC1 VIRGA N SLP114
00:08:11 <zzo38> Do most JavaScript programs require a webpage or most don't? (My own program "JSZM" does not require a webpage and only requires ES6.)
00:10:26 <int-e> I suspect the sheer mass of websites means that most javascript code is written for websites... typically operating on the DOM, which requires some sort of browser.
00:10:42 <int-e> (well, the HTML DOM)
00:10:54 <int-e> there's also an SVG one, at least
00:11:11 <int-e> probably extends to XML in general
00:11:33 <int-e> (and then it covers XUL as well)
00:12:14 <shachaf> @@ @@ (@where weather) KSEA KOAK
00:12:15 <coppro> XUL is the worst
00:12:16 <lambdabot> KSEA 282353Z 20014G20KT 10SM FEW012 BKN050 BKN060 07/05 A3004 RMK AO2 PK WND 22027/2338 RAE08B24E37 SLP179 P0001 60029 T00720050 10100 20067 53018 $ \ KOAK 282353Z 27006KT 10SM FEW020 BKN170 OVC200 17/11 A3019 RMK AO2 SLP224 T01720106 10189 20139 55006
00:12:19 <shachaf> ?? ?? (?where weather) KSEA KOAK
00:12:21 <lambdabot> KSEA 282353Z 20014G20KT 10SM FEW012 BKN050 BKN060 07/05 A3004 RMK AO2 PK WND 22027/2338 RAE08B24E37 SLP179 P0001 60029 T00720050 10100 20067 53018 $ \ KOAK 282353Z 27006KT 10SM FEW020 BKN170 OVC200 17/11 A3019 RMK AO2 SLP224 T01720106 10189 20139 55006
00:12:25 <shachaf> `` sed -i 's/\?/@/g' wisdom/weather
00:12:27 <HackEgo> No output.
00:20:11 <oerjan> `? extreme
00:20:17 <HackEgo> Extreme ironing is an esoteric sport in a similar sense as esoteric programming languages.
00:20:51 <oerjan> `forget extreme
00:20:54 <HackEgo> Forget what?
00:21:50 <int-e> `? ironing
00:21:50 <HackEgo> ironing? ¯\(°​_o)/¯
00:21:52 <shachaf> whoa whoa whoa
00:21:53 <shachaf> @time oerjan
00:21:54 <lambdabot> Local time for oerjan is Mon Feb 29 01:21:53 2016
00:21:55 <int-e> `? extreme ironing
00:21:56 <HackEgo> Extreme ironing is an esoteric sport in a similar sense as esoteric programming languages.
00:22:09 <oerjan> shachaf: wat?
00:22:10 <shachaf> that date makes no sense hth
00:22:27 <oerjan> shachaf: you just need a leap of logic hth
00:24:38 <oerjan> <b_jonas> see, this is why I'm not using learn <-- OKAY
00:25:06 <int-e> `? learn
00:25:07 <HackEgo> learn? ¯\(°​_o)/¯
00:25:20 -!- tromp has joined.
00:25:40 <oerjan> `` ln -s '`learn' wisdom/learn
00:25:42 <HackEgo> No output.
00:26:13 * boily bissextically mapoles oerjan
00:26:19 <oerjan> wat?
00:26:27 <int-e> that entry is suspiciously accurate
00:26:36 <oerjan> int-e: i just made it
00:26:49 <int-e> `learn learn is the most convenient and error-prone way of adding new wisdom entries.
00:26:51 <HackEgo> Learned 'learn': learn is the most convenient and error-prone way of adding new wisdom entries.
00:26:52 <int-e> `? `learn
00:26:53 <HackEgo> learn is the most convenient and error-prone way of adding new wisdom entries.
00:26:56 <int-e> `revert
00:26:58 <int-e> thought so.
00:26:58 <boily> oerjan: https://fr.wikipedia.org/wiki/Ann%C3%A9e_bissextile
00:27:02 <oerjan> int-e: ARGH
00:27:06 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
00:27:15 <oerjan> `` ls wisdom/*learn
00:27:16 <HackEgo> wisdom/learn \ wisdom/`learn
00:27:17 <int-e> haha
00:27:20 <oerjan> `` ls -l wisdom/*learn
00:27:23 <HackEgo> lrwxrwxrwx 1 5000 0 6 Feb 29 00:25 wisdom/learn -> `learn \ -rw-r--r-- 1 5000 0 149 Feb 29 00:26 wisdom/`learn
00:27:27 <oerjan> whew
00:27:29 <int-e> `? learn
00:27:30 <HackEgo> ​`learn creates a wisdom entry and tries to guess which word is the key. Syntax (case insensitive): `learn [a|an|the] <keyword>[s][punctuation] [...]
00:28:13 <int-e> `? one
00:28:14 <HackEgo> one? ¯\(°​_o)/¯
00:28:16 <int-e> `? fish
00:28:17 <HackEgo> fish? ¯\(°​_o)/¯
00:28:24 <int-e> `? seuss
00:28:25 <HackEgo> seuss? ¯\(°​_o)/¯
00:28:34 <int-e> `? dr seuss
00:28:35 <HackEgo> dr seuss? ¯\(°​_o)/¯
00:29:43 <oerjan> boily: bissextile is a weird word
00:29:57 <boily> you don't say.
00:31:30 <oerjan> apparently it's because the roman calendar was weird.
00:33:57 <boily> romans built an empire on top of unusual units and acrobarithmetic.
00:39:06 <oerjan> did any empire not
00:39:25 <oerjan> maybe the french
00:39:36 <oerjan> except they were unusual when they started
00:42:29 <lambda-11235> boily: what is acrobarithmetic?
00:42:49 <boily> hellombda-11235. it's acrobatical arithmetic hth
00:43:37 <int-e> . o O ( There was a doctor called Seuss / who studied Grinch's Whoville abuse, / one fish and two fish, / red fish and blue fish. / To me that is highly abstruse. )
00:45:48 -!- hppavilion[1] has joined.
00:46:32 <hppavilion[1]> What would be an ideal design for a database?
00:46:39 <boily> hppavellon[1]. what is your stance about unusual units?
00:46:55 <boily> ideal?
00:46:55 <hppavilion[1]> boily: What kind of unusual unit?
00:46:57 <hppavilion[1]> Units of what?
00:47:10 <hppavilion[1]> boily: Most useful.
00:47:16 <boily> sqlite?
00:47:33 <oerjan> `? extreme irony
00:47:34 <HackEgo> extreme irony? ¯\(°​_o)/¯
00:47:41 <boily> units of measurement, odd conversion factors between them, units that measure unusual stuff...
00:47:51 <hppavilion[1]> boily: Ah; love'em
00:48:02 <oerjan> `le/rn extreme irony/Extreme irony it was happens when you do extreme ironing leading to a Darwin award.
00:48:06 <HackEgo> Learned «extreme irony»
00:48:31 <hppavilion[1]> I love them with almost exactly 5pi romeos (2.5tau juliettes)
00:48:38 <oerjan> `le/rn extreme irony/Extreme irony it what happens when you get a Darwin award for extreme ironing.
00:48:41 <HackEgo> Learned «extreme irony»
00:48:42 <oerjan> argh
00:48:49 <oerjan> `le/rn extreme irony/Extreme irony is what happens when you get a Darwin award for extreme ironing.
00:48:51 <HackEgo> Learned «extreme irony»
00:49:00 <oerjan> the above, however, is extreme muphry's law.
00:49:33 <zzo38> int-e: Yes HTML/SVG DOM is what I had meant. A JavaScript program is not required to touch any DOM though, and if only core JavaScript features are used then it can be used with anything.
00:49:47 <int-e> zzo38: I know
00:50:01 <oerjan> boily: my stance about unusual units is about 63 millicleese hth
00:50:02 <zzo38> (It would then still require a front-end to be written, although that would be a separate program.)
00:50:15 <zzo38> oerjan: What is that units?
00:50:15 <boily> oerjan: millicleese?
00:50:40 <hppavilion[1]> boily: 1/1000th of a cleese hth
00:50:44 <oerjan> zzo38: unit of absurd humor hth
00:51:08 <zzo38> OK
00:51:21 -!- tromp has quit (Remote host closed the connection).
00:51:40 <hppavilion[1]> Should the past tense of "synch" be "sanch"?
00:51:51 <int-e> here's some simple pure ecmascript I wrote some years ago for fun http://sprunge.us/SaZe?js
00:52:59 <oerjan> are there any actual strong english verbs with y as main voerl
00:53:01 <int-e> (I love Tarjan's disjoint set forests.)
00:53:05 <oerjan> *woveel
00:53:37 <hppavilion[1]> oerjan: If you count lay, but I doubt it
00:53:54 <int-e> you could verbify "lyre" ;-)
00:54:07 <hppavilion[1]> I'm with int-e
00:54:12 <boily> woveel, voerl, mhound, tromple, spronghack...
00:55:29 <oerjan> hppavilion[1]: i'd say that's not the main vowel
00:55:45 <hppavilion[1]> oerjan: I would be inclined to agree
00:55:53 <oerjan> `word 50
00:55:56 <HackEgo> ivlncene mball durhetendumen preng se pitibindrectic dgolineng obmlacomess cong fridarosed resmatienexong mee ats ramed fae acomerischigney nitgeheaesalthemereca canobipit ickeuconethet othilbarmundenobte si ta enatrad ceacgrapraffe hors juggerismushimeraocke idercenstrablebedres imulanimaartunignings ters mureahaltemassanon rned kito flasimen les
00:56:43 <oerjan> those words are a bit verbose
00:56:49 <oerjan> aka wordful
00:57:00 <boily> mureahaltemassanon sounds Finnishish.
00:57:27 <int-e> oerjan: wry!
00:57:35 <oerjan> int-e: oh!
00:58:16 <boily> what's a wry?
00:58:21 <oerjan> int-e: um, not strong sorry
00:59:27 <oerjan> although maybe some others on -y are...
00:59:52 <hppavilion[1]> I want to study ZF^C
01:00:01 <hppavilion[1]> Not to be confused with ZFC
01:00:05 <int-e> type?
01:00:25 <oerjan> hmph neither cry, try or fry
01:00:31 <int-e> not sure what kind of strength you're after
01:00:55 <hppavilion[1]> ZFC is set theory with nothing /but/ the axiom of choice
01:00:56 <oerjan> int-e: an irregular vowel change in the past tense would be good
01:00:56 <int-e> the hit/hit/hit kind?
01:01:15 <oerjan> ablaut, basically
01:01:47 <oerjan> (i don't count -y -> -i- since that's a completely regular rule)
01:02:42 <hppavilion[1]> What alternatives are there to Horn Clauses for logic programming?
01:02:48 <oerjan> hm to work with synch above, it probably shouldn't be the last sound in the word either
01:04:24 <zzo38> http://whymtgcardsmith.tumblr.com/post/139692846278/because-actually-playing-magic-the-gathering-is Change "the player with the highest life total wins" to "the active player loses".
01:04:59 <int-e> "tryst" of 7th guest fame appears to be completely regular as well
01:05:17 <oerjan> actually the problem with finding one, i think, is that strong verbs are always germanic while y in germanic words only appears at the end like that
01:05:20 <int-e> (but is interesting to me in that the "y" isn't the usual ai: sound)
01:05:52 <int-e> (I'm too lazy for proper IPA)
01:06:16 <oerjan> wiktionary claims it can be ai
01:06:32 <oerjan>
01:07:24 <int-e> Hmm, I'll try sleep. Back in Europe...
01:13:48 <hppavilion[1]> "When you draw cards, draw an extra card"
01:13:57 <hppavilion[1]> Someone doesn't know about event-driven programming tautologies
01:20:47 -!- tromp has joined.
01:29:45 * boily is binging ASMR and SCP at the same time. maybe I shouldn't do that...
01:42:22 <hppavilion[1]> boily: A Sailor Moon Romance and the Society of Catholic Priests?
01:43:16 <hppavilion[1]> Age Standardized Mortality Rate and Security Certified Program?
01:43:53 <hppavilion[1]> Average Spread Margin Rating and Simple Chess Program
01:45:12 <boily> I wouldn't be surprised if there were Sailor Moon ASMR out there...
01:45:24 <boily> Catholic Priests are too terrifying to qualify as mere SCPs.
01:58:12 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
02:03:28 <shachaf> boily: what does a person gotta do get mapoled around here
02:04:01 <shachaf> whoa whoa whoa, how is "mapole" pronounced?
02:04:12 <boily> bad puns, essentially.
02:04:13 <shachaf> i assumed it was like "ma pole"
02:04:20 <shachaf> but maybe it's more like "mey pole"
02:04:35 <shachaf> i only have good puns tdnh
02:04:40 <oerjan> it's just a pole, ma'am
02:05:27 <boily> /mæ'po:l/ hth
02:05:29 <shachaf> is a mapole a citizen of mapoland
02:05:57 <oerjan> boily: i find that o: unlikely
02:06:17 <boily> it is likely, with my outrageous accent.
02:06:42 <oerjan> AHKEE
02:07:07 <shachaf> i don't know how to read those highfaluting IPAs
02:07:10 <shachaf> i don't even drink beer
02:07:22 <shachaf> or is it highfalutin?
02:07:28 <shachaf> i may have faluted a little too high myself
02:08:09 * oerjan wonders if shachaf ever ingests anything nice
02:08:30 <shachaf> boily: oh, you weren't even around for my pun earlier
02:09:00 <oerjan> or just lives on broccoli and bean sprouts
02:09:11 <boily> ieeeuw... broccoli...
02:09:38 <oerjan> and the occasional grapefruit.
02:09:39 <shachaf> oerjan: when i was ~3 years old i'm told i would throw tantrums about not being given broccoli
02:09:55 <shachaf> i would sit outside the apartment and scream "broccoli! broccoli!" even through we were out
02:10:14 * boily eyes shachaf
02:10:29 <shachaf> boily: http://codu.org/logs/log/_esoteric/2016-02-27#225334oerjan
02:10:57 <boily> oh. and what was the pun you got overmapoled for?
02:11:33 <shachaf> i don't think i've ever been overmapoled
02:12:28 <boily> <shachaf> oerjan: Where do I file a complain if I have reason to believe I've been overly mapoled? ← overmapoling much?
02:12:45 <shachaf> boily: Oh, right.
02:12:48 <shachaf> The pun is a few lines later.
02:14:54 * boily thwacks shachaf with his mapole
02:14:59 <boily> that pun was bad.
02:15:25 <boily> you can still file a complain.
02:15:57 <shachaf> `cat bin/complain
02:15:59 <HackEgo> print_args_or_input "$@" >> Complaints.mp3; echo Complaint filed. Thank you.
02:16:07 <shachaf> `culprits Complaints.mp3
02:16:12 <HackEgo> tswett oerjan tswett oerjan hppavilion[2] oerjan
02:17:37 -!- boily has quit (Quit: LEOTARD CHICKEN).
02:27:36 -!- andrew has joined.
02:33:38 <shachaf> oerjan: you are the modal complainer
02:35:07 <shachaf> "ie am the very modal of a modern filer of complaints"
02:35:10 <shachaf> s/e//
02:37:11 <oerjan> `complain This database lacks knowledge animal and vegetable and mineral.
02:37:15 <HackEgo> Complaint filed. Thank you.
02:38:17 <shachaf> now you're even more modal
02:38:23 <oerjan> shachaf: mod 2, to be precise.
02:38:52 <shachaf> i used to think Modest Mussorgsky's first name was the english adjective
02:39:06 <shachaf> it seems like an odd title to give oneself
02:39:09 <shachaf> seemed
02:39:43 <oerjan> especially as he was an exhibitionist
02:46:27 <zzo38> I got selections to work in my program now, in both directions
02:47:13 -!- lambda-11235 has quit (Ping timeout: 268 seconds).
02:47:15 <zzo38> I have the music from Modest Mussorgsky on my computer right now
02:47:50 -!- Froox has quit (Ping timeout: 268 seconds).
02:48:52 -!- lambda-11235 has joined.
02:49:33 <shachaf> Which music?
02:49:39 <shachaf> He wrote good musics.
02:50:55 <zzo38> "The Great Gate of Kiev"
02:52:01 -!- Sir_Andrei has joined.
02:52:05 <Sir_Andrei> Hello
02:53:19 <zzo38> Firefox requests the "TARGETS" target five times, and then "UTF8_STRING", and then "COMPOUND_TEXT", and then "STRING". Xterm requests "UTF8_STRING" (even if Unicode mode is disabled), and then "TEXT", and then "COMPOUND_TEXT", and then "STRING".
02:53:22 <zzo38> Why is that?
02:58:29 <zzo38> You can now write: window.createSelection(X.atom.PRIMARY,t=>(t==X.atom.STRING && new Property(X.atom.STRING,8,"Hello, World!"))).on("clear",()=>console.log("Cleared"));
03:05:08 <zzo38> s/Property/X.Property/
03:06:51 -!- adu has joined.
03:08:18 -!- augur has quit (Remote host closed the connection).
03:08:29 -!- XorSwap has joined.
03:12:33 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
03:15:07 -!- Sir_Andrei has quit (Quit: ERC Version 5.3 (IRC client for Emacs)).
03:45:19 <zzo38> Is it possible to add support for Plan9 forwarding into SSH server in Linux? If so, how?
03:46:34 <zzo38> (The other thing to add would be support for adding a one time pad encryption on the outside layer)
04:23:34 -!- noncom has quit (Ping timeout: 260 seconds).
04:30:19 -!- hppavilion[1] has joined.
04:49:07 -!- oerjan has quit (Ping timeout: 264 seconds).
04:58:21 -!- ayeelmao has joined.
05:19:19 -!- augur has joined.
05:52:44 -!- andrew_ has joined.
05:53:36 -!- andrew__ has joined.
05:56:12 -!- andrew has quit (Ping timeout: 246 seconds).
05:57:31 -!- dingbat has joined.
05:57:46 -!- andrew_ has quit (Ping timeout: 268 seconds).
06:01:31 <hppavilion[1]> What's the opposite of intuitionistic logic? Something destructive, no doubt
06:01:54 <shachaf> There is dual-intuitionistic logic.
06:02:12 <shachaf> Where not not P is a stronger statement than P.
06:08:22 <lifthrasiir> http://unicode.org/consortium/adopt-a-character.html
06:14:20 -!- XorSwap has quit (Quit: Leaving).
06:15:23 <dingbat> lifthrasiir: I don't understand how that's not satire. It's satire, isn't it? But it's on unicode.org. I'm so confused.
06:16:55 <lifthrasiir> dingbat: it is a sort of donation mechanism, all serious
06:18:22 <dingbat> If I told someone I was paying $5000 a year to sponsor a Unicode character and, in return, receive an engraved plaque, I'd be locked in the looney bin.
06:19:42 <dingbat> As an aside: Hello! I'm new to this channel
06:20:29 <lifthrasiir> hello :p
06:21:22 <lambda-11235> dingbat: Than just tell them you're paying to support multilingistic harmony across all computer systems.
06:22:51 <dingbat> lambda-11235: I think that's still grounds for the looney bin :)
06:30:22 -!- hppavilion[1] has quit (Ping timeout: 260 seconds).
06:30:34 <lambda-11235> dingbat: Then just don't tell anyone. :)
06:31:29 <dingbat> lambda-11235: have you adopted a character yet?
06:33:19 <dingbat> I think if I was going to adopt, I'd choose U+200F RIGHT-TO-LEFT MARK. It's a good character
06:34:39 <dingbat> Incidentally, it's a great character to insert into unsanitized HTML forms
06:36:05 <shachaf> `welcome dingbat
06:36:12 <HackEgo> dingbat: 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.)
06:37:43 <dingbat> Cheers. I'm a big fan of esolangs, so I guess this is a good place to lurk
06:37:53 <lambda-11235> dingbat: No.
06:37:58 <lifthrasiir> dingbat: visible, allocated graphical characters only
06:38:20 <dingbat> lifthrasiir: aww. Shame
06:39:22 <lifthrasiir> dingbat: someone managed to adopt a combining character, though
06:40:02 <lambda-11235> I'd choose λ, just cause it's the only character whose code I've memorized by heart.
06:40:09 <zzo38> I think that a lot of mess has been made with Unicode
06:40:37 <lifthrasiir> is it &#11235; ?
06:41:23 <lambda-11235> lifthrasiir: U-03BB, so no. 11235 is the first 5 numbers in the fibonacci sequence.
06:41:57 <b_jonas> dingbat: people do that in zoos, but in that case at least they get a plaque not at home, but at the cage of the animal they adopt, so anyone visiting the zoo can see they're the sponsor.
06:42:45 -!- hppavilion[1] has joined.
06:42:49 <dingbat> b_jonas: right. And that makes some sense, because people go to animal zoos. But I somehow doubt many people visit the "Unicode zoo"
06:43:11 <hppavilion[1]> Reverse Polish Logic
06:43:32 <dingbat> U+0666 is a nice satanic character. ARABIC-INDIC DIGIT SIX
06:43:53 <hppavilion[1]> `unicode U+0666
06:43:55 <HackEgo> ​٦
06:44:05 <lifthrasiir> `unicode U+6666
06:44:06 <HackEgo> ​晦
06:44:21 <hppavilion[1]> `unicode U+0777
06:44:22 <HackEgo> ​ݷ
06:44:40 <hppavilion[1]> `unicode U+7777
06:44:41 <HackEgo> ​睷
06:44:53 <hppavilion[1]> `unicode 4242
06:44:54 <HackEgo> ​䉂
06:45:18 <hppavilion[1]> `unicode 42
06:45:19 <HackEgo> B
06:45:22 <hppavilion[1]> GAAAAASP
06:45:37 <hppavilion[1]> dingbat: ٦٦٦
06:45:55 <dingbat> Ooooh nooo Satan's string is coming for me!
06:46:06 <lambda-11235> `unicode 1f446
06:46:07 <HackEgo> ​👆
06:46:39 <dingbat> So glad iPhone finally added that to the font set. Conversations with friends are much more succinct
06:47:44 <hppavilion[1]> 👎
06:47:54 <lambda-11235> dingbat: U+1F446 displays for you? on weechat it doesn't show up, although in the terminal emulator it does.
06:48:07 <hppavilion[1]> 1f459
06:48:08 <lambda-11235> Wierd.
06:48:33 <dingbat> lambda-11235: Yup. I'm on IRCCloud, the OS X client, specifically. So I guess it's using OS X system fonts
06:49:01 <hppavilion[1]> dingbat: possible noooooooooooooooooooooob
06:49:36 <hppavilion[1]> In what typographists are calling "Totally gay", U+1F46C
06:49:46 <dingbat> hppavilion[1]: hahaha it's the most convenient client I've tried. It stays connected no matter what, and I don't have to keep a bouncer running :)
06:50:14 -!- lambda-11235 has quit (Quit: Bye).
06:50:34 <hppavilion[1]> 1F47C is depressing
06:51:36 -!- lleu has joined.
06:51:36 -!- lleu has quit (Changing host).
06:51:36 -!- lleu has joined.
06:53:44 <zzo38> "UTCE" http://zzo38computer.org/textfile/miscellaneous/utce is a better character set for making terminal emulators with, than Unicode, which is especially bad for that purpose
06:54:59 <hppavilion[1]> zzo38: Does it have box drawing?
06:55:08 <lifthrasiir> zzo38: it is a well-doomed replication of ISO 2022 I think
06:55:19 <zzo38> hppavilion[1]: Yes it does have all of the box drawing
06:55:25 <hppavilion[1]> zzo38: STFH
06:55:35 <hppavilion[1]> (STFH is the opposite of GTFO)
06:56:16 <zzo38> (The PC character set has all of the box drawing, and all characters in the PC character set are included in UTCE)
06:56:37 <adu> hppavilion[1]: !
06:56:52 <hppavilion[1]> adu: &
06:57:01 <hppavilion[1]> adu: I made a GUI application for generating SBLs
06:57:06 <zzo38> Actually there are also a few additional box drawing stuff in the DEC and Infocom and Commodore sets, and those are also all included.
07:00:32 <adu> hppavilion[1]: what's an sbl?
07:01:45 <hppavilion[1]> adu: Stack-based langauge
07:02:02 <adu> so, like forth or factor?
07:02:25 <zzo38> lifthrasiir: It is far simpler than ISO 2022 actually, and is capable of being used on the same system as ISO 2022.
07:02:26 <adu> or PostScript?
07:04:05 <lifthrasiir> zzo38: isn't that bytes marked with * are used to switch the current bank?
07:04:18 <zzo38> (You can use the DEC character set selections together with it, and use a single font with it. Therefore the terminal emulator can be fulfilled without use of Unicode or ISO-2022-JP or whatever else like that)
07:04:42 <zzo38> lifthrasiir: No, the bytes marked with * are not used in UTCE, and may be used for data transfer functions and/or terminal control functions.
07:05:03 <hppavilion[1]> adu: Yes, like forth or factor, but stupider
07:05:15 <hppavilion[1]> adu: Really, it just prompts you with random symbols and you describe them
07:05:24 <hppavilion[1]> adu: It's for mass-production of low-quality esolangs
07:05:46 <zzo38> (The bytes marked with 0 also, if not the second byte of a two-byte code, may be used for terminal controls, such as to emulate VT100 character set selections.)
07:05:48 <dingbat> hppavilion[1]: Does Befunge count as an SBL?
07:06:23 <lifthrasiir> then it actually is [\t\r\n...] | [\x20-\x7e] (?# bank 0 characters ) | [\x80-\xff] [\x20-\x7e\x80-\xff] (?# double-width fixed bank characters ) | [\x80-\xff] [\x00-\x1f] (?# bank override ) ?
07:07:18 <lifthrasiir> then this is much worse than ISO 2022 in terms of total number of characters supported.
07:07:51 <zzo38> I change the document a bit to clarify it
07:08:29 <hppavilion[1]> dingbat: Yes.
07:08:41 <lifthrasiir> zzo38: for example, how would you support GB 2312 in the same framework?
07:08:49 <hppavilion[1]> dingbat: Anything with a stack as the primary data structure is an SBL
07:09:30 <dingbat> hppavilion[1]: Gotcha. (I'm particularly fond of Befunge as far as esoterics go, and working on a similar language)
07:11:11 <zzo38> lifthrasiir: Currently there is no Chinese supporting, although you can write in Japanese. (There is also no Korean) It could possibly be added into the double wide characters though, although currently they are defined as only JIS X 0213
07:11:40 <hppavilion[1]> dingbat: Befunge is the best
07:11:47 <hppavilion[1]> dingbat: I once tried making a production Fungeoid
07:11:56 <lifthrasiir> so is it going to be a multi-byte (larger than 2 bytes) encoding?
07:12:00 <hppavilion[1]> dingbat: (Also, I wrote most of the fungeoid article on the wiki :))
07:12:09 <zzo38> No, it is only 2 bytes
07:12:23 <lifthrasiir> then you need some kind of switch characters, and it is identical to ISO 2022
07:12:35 <zzo38> I would expect that you can do without simplified Chinese
07:13:02 <lifthrasiir> I believe a flat namespace used by Unicode is much better than tons of separated namespaces
07:13:37 <dingbat> hppavilion[1]: oh neat. I really like how fantastically easy it is to make a simple fungeoid interpreter
07:13:53 <zzo38> It is better yes, although the rest of Unicode is worst.
07:14:44 <lifthrasiir> you should have tried TRON first :p
07:16:46 <zzo38> However I believe my design can be reasonable even without simplified Chinese included. (Arabic and Hebrew and zero-width spaces and combining characters will never be included; all of these things are against this design.)
07:16:48 <b_jonas> I wonder, did ais523 deliberately name Underload to make people create an abbreviation ambiguous with the already famous language unlambda, in a similar way as brainfuck and befunge causes problems?
07:17:54 <adu> hppavilion[1]: so, kind of like a built-your-own-with-five-words kind of esolang
07:18:49 <b_jonas> Because if it's so, then we need another language as successful as those whose name matches I.*C.*
07:19:34 -!- augur has quit (Remote host closed the connection).
07:19:44 <hppavilion[1]> adu: Yes
07:19:58 <zzo38> UTCE is not designed for typography; it is designed for screen displaying on a grid-based display with simple encoding/decoding, so there is no such things as hyphenations and ligatures and so on that can be supported (actually an implementation probably could, but it would be a bad idea).
07:20:00 <hppavilion[1]> adu: Except it can have upwards of 18000 instructions
07:21:04 <adu> hppavilion[1]: well, I was thinking of something like "C without semicolons" or "Lisp with indentation"
07:22:00 <b_jonas> zzo38: like cp437?
07:22:13 <lifthrasiir> adu: C without semicolons? http://ioccc.org/1988/litmaath.c (+ s/;/{}/)
07:22:46 <lifthrasiir> it is not really hard.
07:23:24 <zzo38> b_jonas: Yes, but with more characters including DEC characters.
07:23:42 <hppavilion[1]> Why do I try to read ioccc code?
07:23:58 <hppavilion[1]> I DON'T EVEN KNOW C NORMALLY
07:24:12 <adu> hppavilion[1]: I do
07:24:32 <adu> I've written thousands of things in C
07:26:52 <zzo38> (Also, avoids the confusion of graphics with control codes)
07:29:11 <adu> hppavilion[1]: it looks like it's an implementation of echo
07:29:34 <hppavilion[1]> adu: Ah
07:30:15 <adu> only with spaces replaced with \n
07:31:10 <adu> hppavilion[1]: or '\n'.join(sys.argv[1:])
07:31:38 <adu> in Python
07:35:13 <zzo38> In JavaScript it would be process.argv.slice(1).join("\n") although note that the name of the program is argv[1] (and argv[0] is the name of the interpreter) so it isn't quite the same way necessarily
07:36:12 -!- mroman has joined.
07:36:15 <mroman> fnard
07:36:24 <izabera> fnird to you
08:00:47 <myname> fnurd
08:07:42 -!- AnotherTest has joined.
08:08:36 <zzo38> If you do not know C programming, then you must learn.
08:10:21 <myname> nah
08:10:51 <myname> a language that doesn't change the way you think is not worth knowing
08:22:36 <hppavilion[1]> myname: What if said language is your first language?
08:22:48 <hppavilion[1]> myname: And you already thought in its mindset?
08:23:15 <izabera> https://github.com/izabera/pathhack if anyone wants to try this, it lets you handle relative paths in other directories than .
08:23:42 <izabera> just put the list in the paths file and run make
08:23:53 <hppavilion[1]> I'm tempted to axiomize everything in one grand messy axiomatic system
08:23:55 <izabera> (it's mostly a test, maybe i'll rewrite it with fuse)
08:24:05 <hppavilion[1]> So you can reason about groups relative to topological systems
08:24:21 <hppavilion[1]> s/systems/spaces/
08:24:31 * hppavilion[1] may have just invented Category Theory
08:24:56 <myname> or ZFC
08:25:28 <hppavilion[1]> myname: No, it axiomizes things completely unrelated to sets (though you can, of course, construct them using sets)
08:27:00 <zzo38> Category theory has many definitions made including thin category, discrete category, functors, monads, comonads, initial/final object, etc. Also a category can add/multiply/exponent another category, and in this way the finite discrete categories are the natural numbers of these add/multiply/exponent.
08:27:30 <hppavilion[1]> zzo38: Is there category successor?
08:27:51 <zzo38> You could add one, I suppose
08:28:02 <hppavilion[1]> zzo38: NOT GOOD ENOUGH
08:28:13 <hppavilion[1]> zzo38: You must go peano on its ass or it isn't real arithmetic
08:28:14 <hppavilion[1]> xD
08:28:57 <zzo38> But you could add one to any category it does not have to be a discrete category.
08:29:32 <zzo38> (A discrete category is a category with no morphisms other than identity morphisms.)
08:30:28 <zzo38> (By "add one" I mean you add the discrete category with one object.)
08:31:18 <hppavilion[1]> zzo38: Ah
08:31:42 <hppavilion[1]> zzo38: Is there category predecessor though?
08:31:53 <hppavilion[1]> Predecessor is really what this's about
08:32:38 <zzo38> As far as I can tell, there cannot always be.
08:32:40 -!- adu has quit (Quit: adu).
08:32:43 <hppavilion[1]> (Use of the successor function was a bad choice for Peano, because successor is better for computing (you don't need to brute force it or use algebra))
08:32:45 <b_jonas> “(A discrete category is a category with no morphisms other than identity morphisms.)” => is that like a set?
08:32:48 <hppavilion[1]> zzo38: That's what I thought
08:33:22 -!- mtve- has changed nick to mtve.
08:33:30 <zzo38> b_jonas: I suppose it is like a set.
08:34:38 <hppavilion[1]> Just read about Ultrafinitism
08:34:42 <hppavilion[1]> Ew
08:35:42 <zzo38> Any category with more than one object has more monads than final objects.
08:36:15 -!- J_Arcane has quit (Ping timeout: 268 seconds).
08:39:42 <b_jonas> Now I'm reminded to the infamous lambdacats. And the one that says “I FIXED UR TYPE ERROR / BUT NOW IT SAYS SUMTHING ABOUT / MONOMORPHISM RESTRIKSHUN”
08:40:01 <mroman> C changes the way you think to.
08:40:29 <mroman> It changes it to "this language shouldn't have been used as a first choice".
08:41:55 <myname> there are a lot of languages like that
08:42:03 <myname> php for example
08:42:57 <hppavilion[1]> myname: And brianfuck
08:43:30 <zzo38> I happen to think C is not so bad. PHP isn't very good though
08:43:36 <myname> nah, brainfuck is alright
08:43:55 <myname> also, c++
08:44:04 <myname> that is one mess of a language
08:44:42 <zzo38> That is true, C++ is pretty messy
08:49:00 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
08:53:08 -!- tromp has quit (Remote host closed the connection).
08:53:28 <myname> it's interesting how "to find" is practically identical to "finden" in germany, including that weird "i find sth to be sth"
09:24:12 -!- impomatic has quit (Ping timeout: 260 seconds).
09:27:35 <b_jonas> What's up with all these boot loaders that set up graphical mode on PC hardware with bios? Why don't they just use the default vga (or similar) text mode that the bios sets up for them?
09:45:10 <mroman> because it looks fancier obviously.
09:53:41 -!- tromp has joined.
09:57:55 -!- tromp has quit (Ping timeout: 248 seconds).
10:21:56 -!- jaboja has joined.
10:40:35 -!- jaboja has quit (Ping timeout: 248 seconds).
11:01:02 -!- clog has quit (Ping timeout: 260 seconds).
11:17:59 <izabera> https://imgur.com/gallery/kenWB i want hair like ariel
11:22:45 -!- Xe has quit (Ping timeout: 268 seconds).
11:33:48 -!- boily has joined.
11:41:52 -!- ayeelmao has quit (Quit: Leaving.).
11:51:43 -!- Xe has joined.
11:52:24 <boily> `relcome Xe
11:52:39 <HackEgo> Xe: 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.)
12:05:35 <Taneb> @ping
12:05:35 <lambdabot> pong
12:07:25 <boily> ^ping
12:07:34 <boily> fizzie: FUNGOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOT!
12:09:44 -!- tjt263__ has joined.
12:11:11 <boily> `relcome tjt263__
12:11:19 <HackEgo> tjt263__: 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.)
12:15:12 -!- jix has quit (Remote host closed the connection).
12:15:42 -!- jix has joined.
12:18:35 <fizzie> Ut-oh.
12:19:44 -!- fungot has joined.
12:20:00 <fizzie> There we fun-go-t.
12:21:55 -!- AnotherTest has quit (Ping timeout: 248 seconds).
12:22:38 <boily> fungot: o hai!
12:22:39 <fungot> boily: maybe i'll re-write her in scheme and how to remedy it provisionally. people never bother to read the label off of one and only making a new scheme implementation.
12:23:05 <boily> fungot: Chicken Scheme is good. it has chicken
12:23:05 <fungot> boily: ' cause its in a directory? either way it's much better to force you to shoot yourself in the scratch package
12:23:15 <boily> fungot: ow! no!
12:23:16 <fungot> boily: http://gs30ng.exca.net/ tempimage/ fnord) lets me know i am a newbie so i don't think it's deterministic.
12:23:50 -!- tjt263__ has left ("part").
12:27:20 -!- boily has quit (Quit: PREEMPTIVE CHICKEN).
12:40:20 -!- andrew__ has quit (Remote host closed the connection).
13:08:43 -!- clog has joined.
13:09:56 -!- tromp has joined.
13:10:18 -!- nisstyre_ has quit (Ping timeout: 276 seconds).
13:13:37 -!- Veltas has quit (Ping timeout: 240 seconds).
13:14:11 -!- tromp has quit (Ping timeout: 248 seconds).
13:16:34 -!- Veltas has joined.
13:16:50 -!- Hoolootwo has quit (Ping timeout: 268 seconds).
13:21:44 -!- Hoolootwo has joined.
13:35:37 -!- erdic has quit (Ping timeout: 260 seconds).
13:36:39 -!- erdic has joined.
13:38:46 -!- nisstyre_ has joined.
13:45:56 -!- tromp has joined.
13:50:27 <\oren\_> izabera: it looks really weird to see San smiling nicely. She only does that once in the whole movie.
13:52:13 <izabera> it's a neutral-ish smile
13:52:21 <\oren\_> also, she shouldn't be wearing lipstick, she should be wearing wolf BLOOD
13:53:38 <izabera> do we still have that bot that adds stickmen when one types \o/ ?
13:53:41 <izabera> :C no
13:57:36 <\oren\_> they should do eboshi and the giant pig lord
14:01:06 -!- tromp has quit (Remote host closed the connection).
14:12:52 <FireFly> no myndzi ;_;
14:15:53 <int-e> @seen myndzi
14:15:53 <lambdabot> mYNDzI
14:15:59 <int-e> hmm
14:16:11 <int-e> what did lambdabot do there...
14:52:01 -!- J_Arcane has joined.
14:56:28 <b_jonas> `olist 1026
14:56:36 <HackEgo> olist 1026: shachaf oerjan Sgeo FireFly boily nortti b_jonas
14:57:03 <int-e> @help seen
14:57:04 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
14:57:28 <FireFly> int-e: leet
14:57:43 <int-e> thanks
15:00:15 <FireFly> Poor Belkar
15:01:39 -!- tromp has joined.
15:06:39 -!- tromp has quit (Ping timeout: 276 seconds).
15:07:51 -!- AlexR42 has joined.
15:13:31 -!- AnotherTest has joined.
15:18:50 -!- ski_ has changed nick to ski.
15:21:28 -!- AlexR42 has quit (Quit: My Mac has gone to sleep. ZZZzzz…).
15:23:15 -!- AnotherTest has quit (Ping timeout: 268 seconds).
15:27:39 <nortti> I got an esolang idea, infinitely parallel DFA. the DFA's output is (synchronously) transmitted to the next machine in chain, and its input is similarily hooked to one previous to it
15:28:04 <nortti> in the beginning, a starting symbol is fed into the machine in the head of the chain
15:32:49 <nortti> I believe it is turing complete, as you can have a system thusly, simulating cyclic tag system: you have symbols S (start symbol), 0, 1, ;, D0, D1. the machine's initial state responds to D0 (in which case it sets its internal state to 0 and moves to "main loop"), D1 (same as internal D0, except internal state 1), and S (at first send out the starting data using D0 and D1, then start sending out the progr
15:32:55 <nortti> am, repeatedly, encoded in 0, 1, ;)
15:35:10 <nortti> in the main loop, the DFA reacts to 0, 1, ;, D0, D1. if it gets 0 or 1 and its internal state is 1, it then send forwards either a D0 or D1, otherwise don't transmit anything. if it gets ;, it goes into "death loop", where it will merely repeat the symbol it receives. for D0 and D1, it will just repeat the symbol onwards
15:35:24 <b_jonas> nortti: so you basically want a cellular automaton with a particluar neighborhood rule?
15:35:38 <b_jonas> nortti: those are known to be enough to be turing-complete, with the right DFA ruleset.
15:35:46 <b_jonas> with quite small ones too
15:35:46 <nortti> ah, ok
15:36:11 <nortti> didn't realise it mapped into cellular automata, but now thinking makes sense
15:42:24 -!- augur has joined.
15:49:21 -!- lambda-11235 has joined.
16:02:30 -!- ayeelmao has joined.
16:05:11 -!- J_Arcane has quit (Ping timeout: 268 seconds).
16:05:43 -!- ayeelmao has quit (Client Quit).
16:07:40 -!- mroman has quit (Quit: Lost terminal).
16:09:11 -!- J_Arcane has joined.
16:12:35 -!- carado has quit (Ping timeout: 268 seconds).
16:13:59 -!- lynn has joined.
16:22:49 -!- Xe has quit (Ping timeout: 260 seconds).
16:31:56 -!- p34k has joined.
16:34:00 -!- Xe has joined.
16:44:40 -!- cnr_ has joined.
16:46:22 -!- cnr has quit (*.net *.split).
16:46:22 -!- Yurume has quit (*.net *.split).
16:46:22 -!- cnr_ has changed nick to cnr.
16:46:22 -!- cnr has quit (Changing host).
16:46:22 -!- cnr has joined.
16:48:21 -!- J_Arcane has quit (Ping timeout: 268 seconds).
16:50:21 -!- J_Arcane has joined.
16:55:25 -!- Yurume has joined.
16:55:31 <Melvar> Script injection because of a policy that lets through anything in JSFuck, apparently: http://blog.checkpoint.com/2016/02/02/ebay-platform-exposed-to-severe-vulnerability/
17:01:46 -!- tromp has joined.
17:06:11 -!- tromp has quit (Ping timeout: 248 seconds).
17:22:38 -!- passwordBOT has joined.
17:27:17 -!- augur has quit (Remote host closed the connection).
17:33:16 <shachaf> FireFly: whoa whoa whoa, spoilers
17:33:42 <FireFly> Cbbe oryxne* then
17:35:50 -!- Guest4233 has quit (Ping timeout: 268 seconds).
17:36:22 <shachaf> `rot13 Cbbe oryxne
17:36:32 <HackEgo> Poor belkar
17:36:43 <shachaf> Well, at least he didn't die yet.
17:37:29 <int-e> is it a fate worse than death?
17:37:35 <FireFly> Possibly
17:38:49 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:40:06 <int-e> I've tried OotS but usually I doze off after panel 2.
17:41:28 <shachaf> Did you start from the beginning?
17:41:58 <FireFly> It gets a lot more story-driven after the first story arc I'd say
17:44:29 <int-e> I actually followed it for a while... to the 726, apparently.
17:44:40 <int-e> but that was years ago
17:46:56 <coppro> `quote
17:46:57 <coppro> `quote
17:46:57 <coppro> `quote
17:46:57 <coppro> `quote
17:46:57 <coppro> `quote
17:48:21 <HackEgo> 944) <groily> I stand by the argument that fungot is the one making the most sense in this channel.
17:48:21 <HackEgo> 507) <ais523> this strikes me as probably better than a singularity, because you can't trust a random AI, but you can probably trust olsner
17:48:21 <HackEgo> 196) <oklopol> ah yes, indeed, alan turing was gay and stupid
17:48:21 <HackEgo> 336) <oklopol> anyway i have to get going, first lecture at 9 and i need to do a few iterations on my article, and do some unmentionable things which also take hours <oklopol> and masturbate as well
17:48:22 <HackEgo> 129) <fungot> Vonlebio: well, i'm only back in denmark because my work visa expired. please insert token to continue.
17:48:56 <b_jonas> `? oots
17:48:58 <HackEgo> oots? ¯\(°​_o)/¯
17:48:58 <b_jonas> `? o
17:48:59 <HackEgo> o? ¯\(°​_o)/¯
17:49:22 <b_jonas> `? vaarsuvius
17:49:23 <HackEgo> vaarsuvius? ¯\(°​_o)/¯
17:50:20 <int-e> `quote shakespeare
17:50:21 <HackEgo> No output.
17:50:25 <b_jonas> `learn Vaarsuvius is female. The Word of God about that is right at http://www.giantitp.com/FAQ.html#faq10
17:50:27 <int-e> `quote wiles
17:50:28 <HackEgo> Learned 'vaarsuviu': Vaarsuvius is female. The Word of God about that is right at http://www.giantitp.com/FAQ.html#faq10
17:50:29 <HackEgo> No output.
17:50:55 <int-e> `quote wilde
17:50:55 <HackEgo> No output.
17:51:13 <b_jonas> `learn Vaarsuvius is female. The Word of God about that is right at http://www.giantitp.com/FAQ.html#faq10 , right above where he tells the comic updates three times a week.
17:51:16 <HackEgo> Learned 'vaarsuviu': Vaarsuvius is female. The Word of God about that is right at http://www.giantitp.com/FAQ.html#faq10 , right above where he tells the comic updates three times a week.
17:56:07 <int-e> hmm will they make prints of http://www.sssscomic.com/comic.php?page=479 ? that looks amazing...
17:56:28 -!- AnotherTest has joined.
17:57:12 -!- hppavilion[1] has joined.
18:01:43 <hppavilion[1]> Did you know that all vacuously true statements about the elements set {} are vacuously true?
18:02:15 -!- passwordBOT has quit (Quit: Good).
18:02:31 <int-e> hppavilion[1]: I would say that's false.
18:03:21 <hppavilion[1]> int-e: Did I make the math joke wrong?
18:04:41 <int-e> err, uhm.
18:05:45 <int-e> Okay, it's correct but what you wrote is not itself vacuously true; it's just a normal tautology.
18:05:58 <int-e> and it's confusing :P
18:07:04 <hppavilion[1]> int-e: OK, OK
18:08:07 -!- augur has joined.
18:16:40 <FireFly> `? vaarsuviu
18:16:41 <HackEgo> Vaarsuvius is female. The Word of God about that is right at http://www.giantitp.com/FAQ.html#faq10 , right above where he tells the comic updates three times a week.
18:16:53 <FireFly> `? vaarsuvius
18:16:54 <HackEgo> Vaarsuvius is female. The Word of God about that is right at http://www.giantitp.com/FAQ.html#faq10 , right above where he tells the comic updates three times a week.
18:16:58 <FireFly> ok, it works that way too
18:18:59 -!- augur has quit (Read error: Connection reset by peer).
18:19:31 -!- augur has joined.
18:32:03 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
18:44:26 -!- hppavilion[1] has joined.
18:52:00 <quintopia> hppavellon[1]
18:53:45 <hppavilion[1]> quintellopia
18:54:13 <hppavilion[1]> It's easiest to prove things if you assume all axioms
18:54:38 <coppro> hppavilion[1]: I can prove just as many things with only one axiom!
18:54:51 <hppavilion[1]> coppro: Which one?
18:55:00 <coppro> for all statements S, S is true.
18:57:04 <hppavilion[1]> coppro: Oh
19:00:05 <zzo38> Such axiom is inconsistent though and does not result in a meaningful system.
19:00:34 <coppro> zzo38: right
19:00:47 <coppro> so is "all axioms" since that would necessarily include the negation of any axiom assumed
19:02:15 <quintopia> coppro: you don't need a universal quantifier if you use the axiom P and not P (for whichever P you feel like using)
19:02:56 <quintopia> its a waste of quantifiers
19:04:44 <shachaf> A scow IRC behavior is when you try to get people to commit to answering your questions before even knowing what they are.
19:05:15 <zzo38> Yes I know, both are inconsistent, since if everything can be a theorem then it is inconsistent
19:05:19 <coppro> quintopia: true
19:11:09 -!- bb010g has joined.
19:12:27 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
19:14:23 <zzo38> I have updated the UTCE document including more clarification, information about error conditions, and information about using it with ISO 2022.
19:14:41 <zzo38> There is also information about use with X window system.
19:15:15 <quintopia> shachaf: i personally dont see a problem with surveying channel activity before laying out a long complicated question however
19:25:14 <zzo38> Do you think this is good now?
19:28:39 <b_jonas> zzo38: um, where's the document?
19:29:03 <b_jonas> must be somewhere under the text files
19:35:41 -!- Phantom_Hoover has joined.
19:37:21 -!- Sprocklem has joined.
19:40:06 <zzo38> http://zzo38computer.org/textfile/miscellaneous/utce
19:44:58 <b_jonas> ah, miscellaneous
19:46:14 <zzo38> (The other directories are mainly for archived files, so it is unlikely to add files into the other directories)
19:46:45 <b_jonas> I see
19:46:54 <b_jonas> so everything goes under misc*
19:46:55 <b_jonas> ok
19:48:26 -!- hppavilion[1] has joined.
19:49:17 <zzo38> Well, not quite everything, occasionally files are added into other directories if they really fit there, or new directories are created for use of other archives, but my own new files tend to go under miscellaneous regardless of what they are about. The file music/xm-form.txt is one file that contains my own text as well as that from elsewhere, since that file contained some mistakes. I have marked what my changes are.
19:49:43 <b_jonas> sure, it's just most files right now
19:50:35 <zzo38> Yes.
19:54:37 <zzo38> Now what is your opinion of this UTCE document?
19:55:39 <b_jonas> zzo38: I mostly agree with whoever said above that it's better to have a flat homogenous namespace of characters, and that namespace these days tend to be unicode. There might be characters missing, but they can be added.
19:56:02 <b_jonas> I do understand that a terminal encoding or font encoding needs different characters than a text encoding,
19:56:07 <b_jonas> and they certainly have to be distinguished,
19:56:15 <b_jonas> but at least unicode provides a good base for all of these.
19:56:45 <b_jonas> For fonts, you often need more than one glyphs for one character, or combinations of characters, so it gets all ugly and complicated, but still.
19:56:57 <b_jonas> Some of that can come up even with terminals.
19:57:53 <zzo38> Terminals should avoid use of such things. UTCE deliberately omits such things as Arabic and Hebrew
19:57:57 <b_jonas> Although admittedly _part_ of the multiplication of glyphs required per character would have better been avoided when unicode was made,
19:58:15 <b_jonas> and is just a historical consequence of unifying the CJK scripts or of unifying the Russian with the Serbian scripts,
19:58:30 -!- Sprocklem has quit (Ping timeout: 276 seconds).
19:58:41 <b_jonas> but it's a bit too later for that, and even if you did all those historical things right, you'd sometimes need multiple glyphs per character in a font.
19:59:17 <b_jonas> zzo38: Oh sure, arabic, hebrew, or old hungarian runes need so much ligature stuff that you just can't display them on a terminal grid, I think.
19:59:42 <b_jonas> They just don't work in monospaced.
20:00:19 <zzo38> That is correct.
20:00:37 <b_jonas> But I don't know too much about arabic or hebrew, so don't trust what I say about those.\
20:00:50 <b_jonas> I display mostly latin script stuff in terminals.
20:01:06 <b_jonas> (And even latin script has some complications of course.)
20:01:26 <b_jonas> Language stuff is never easy.
20:01:30 <zzo38> I don't know much about Aratic and Hebrew, although they are right-to-left, which is also deliberately avoided by UTCE.
20:03:01 <zzo38> However, UTCE is not intended to be used for typography; it is for terminal encoding. Even for typography, all properties should be defined in the font metrics instead of in the character set anyways.
20:03:03 <b_jonas> The Commodore 64 characters are an interesting case. That rom supports two or three font encodings, and I think \oren\ found that there are six characters all together supported by the commodore that don't seem to have nice unicode equivalents.
20:03:13 -!- J_Arcane has quit (Ping timeout: 268 seconds).
20:03:20 <b_jonas> But those should be added to unicode eventually if they are used.
20:03:41 <zzo38> It is OK that some characters are not available in Unicode.
20:03:51 <zzo38> UTCE is separate from Unicode.
20:04:06 <b_jonas> Sure, because there are tons of characters in general. And there's always more of them.
20:07:10 <zzo38> A terminal emulator can support multiple character encodings anyways, although sometimes different fonts may be needed in each case. I recommend that the additional character encodings to support are only the subset of ISO 2022 that is implemented in DEC terminals.
20:08:46 <zzo38> Also, it is not only some Commodore 64 characters which have no Unicode equivalent, this is also the case with some Apple MouseText, Texas Instruments, and Infocom character graphics.
20:09:01 <zzo38> (As well as a small number of DEC character graphics)
20:09:34 <b_jonas> I have no idea what Apple MouseText is
20:10:08 <b_jonas> Texas Instruments… um, is that the programmable calculators? I don't really know what kind of single-cell characters they have these days.
20:10:27 <b_jonas> Infocom... I don't know that either
20:10:36 <zzo38> Yes, I do mean the programmable calculators. Many of the characters it has are in Unicode, but a few aren't.
20:11:02 <b_jonas> As for the DEC graphics characters, I believe all of them are in unicode now. There's only about 70 or something of them total anyway, and most of them were already in unicode for other reasons.
20:11:23 <zzo38> I think the pieces of the large Sigma aren't?
20:13:30 <b_jonas> hmm, is there a reference for that set of characters somewhere?
20:16:02 <zzo38> http://www.vt100.net/charsets/technical.html
20:17:07 <zzo38> (There is also the VT100 graphics set, which is a separate set, already included in both Unicode and UTCE.)
20:17:21 <zzo38> The Technical set is mostly in Unicode and fully in UTCE.
20:17:42 <zzo38> As you can see, the pieces of the large Sigma have no Unicode equivalents.
20:17:54 <b_jonas> ah
20:18:39 <b_jonas> yes, those might not have a unicode equivalent. I don't know.
20:22:16 <zzo38> Notice there are some duplicates; UTCE is meant not to have duplicates, so the encodings aren't exactly the same as the originals. (A font for the X window system will likely contain duplicates anyways for compatibility purposes, as described in the document I wrote.)
20:22:58 <b_jonas> zzo38: sure, it will have duplicates between those different character sets
20:23:32 <b_jonas> there's quite some overlap between the DEC technical set and the 437 for example
20:24:26 -!- J_Arcane has joined.
20:26:25 <zzo38> Yes I know that, and when converting either of those same characters from either DEC or PC set into UTCE, they convert to the same UTCE code.
20:26:53 -!- zzo38 has quit (Remote host closed the connection).
20:29:34 -!- lambda-11235 has quit (Quit: Bye).
20:36:18 -!- Sprocklem has joined.
20:56:36 -!- augur has quit (Remote host closed the connection).
20:59:43 <Taneb> Designing an ASCII art font is less than fun
20:59:55 <Taneb> \oren\_, was it you who was making a font?
21:05:36 <b_jonas> Taneb: \oren\ made one, lifthrasiir also made one, and I also have a bitmap font available only in BDF format currently
21:06:14 <Taneb> b_jonas, do you have an example rendering of your font
21:06:15 <lifthrasiir> I'm currently dormant (due to other works, in particular a brainfuck interpreter retrial)
21:07:31 <Taneb> lifthrasiir, I'm only using ASCII, do you have an example rendering?
21:07:43 <b_jonas> Taneb: not any good ones. I should make some, but I'm lazy
21:07:48 <lifthrasiir> Taneb: http://lifthrasiir.github.io/unison/sample
21:07:57 <lifthrasiir> I've drawn plenty of them
21:08:17 <b_jonas> Taneb: http://www.math.bme.hu/~ambrus/pu/fecupboard20-cp437.png and http://www.math.bme.hu/~ambrus/pu/fecupboard20-screenshot-irc.png are all I have available, and they don't show much
21:08:32 <b_jonas> sorry
21:08:49 <Taneb> Ah, neither are quite what I was after
21:08:53 <Taneb> Thanks, though :)
21:09:19 <Taneb> (I'm going for a far lower resolution)
21:09:47 <b_jonas> Taneb: mine is 10x20, oren's and lifthrasiir's both use a 16x9 grid or something I think
21:10:04 <lifthrasiir> 16x(8n) variable, to be exact
21:10:31 <b_jonas> lifthrasiir: oh, is yours 16x8 rather than 16x9? I didn't know
21:10:43 <Taneb> I'm making a brainfuck program to make ASCII art banners
21:10:52 <b_jonas> Taneb: what size would you want?
21:10:52 <lifthrasiir> so that some glyphs smoothly connect to each other
21:11:13 <lifthrasiir> Taneb: FIGlet renderer in brainfuck? :)
21:11:30 <Taneb> Currently going for 4 by 5
21:11:37 <b_jonas> indeed, lifthrasiir's is 8 wide
21:13:12 <b_jonas> lifthrasiir: what's your progress with it by the way? I've seen you've added some more Latin script characters, but you haven't added the easy but common characters like " " (thin space) yet. I know you said you didn't want to add them yet, but maybe that's changed since.
21:13:38 <Taneb> b_jonas, I could use yours, I guess
21:13:44 <lifthrasiir> b_jonas: I was working on combining hangul and stopped there
21:14:05 <Taneb> It looks broadly like a higher-definition version of the style I'm after
21:14:10 <lifthrasiir> my immediate goal is to complete them and add a support for semi-automatic GPOS
21:14:20 <lifthrasiir> *then* I'll continue working on extended latin...
21:14:25 <Taneb> b_jonas, do you have it in something machine-readable-ish?
21:14:41 <Taneb> (I'm generating this program using Haskell)
21:16:00 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
21:16:51 <b_jonas> Taneb: I can give you the bdf version, that one is easy to read, especially as this one uses fixed offsets and sizes encoded for all glyphs.
21:17:12 <b_jonas> there's a spec for bdf by Adobe or Apple or something somewhere, but you can probably figure it out without
21:17:20 <b_jonas> let me put the bdf up
21:17:25 <Taneb> b_jonas, thanks! :)
21:17:51 <b_jonas> (the pcf contains all the info but is compressed properly)
21:19:05 <b_jonas> Taneb: http://www.math.bme.hu/~ambrus/pu/fecupboard20-c.bdf
21:19:36 -!- hppavilion[1] has joined.
21:20:37 <Taneb> b_jonas, thanks a lot
21:20:49 <Taneb> Now I just need to read this using Haskell and write it as brainfuck!
21:21:16 <b_jonas> obviously that version is very wasteful, you can compress it quite well
21:22:04 -!- Sprocklem has quit (Quit: [).
21:24:18 <HackEgo> [wiki] [[Special:Log/newusers]] create * Fpetrola * New user account
21:25:07 <HackEgo> [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=46472&oldid=46471 * Fpetrola * (+11)
21:26:29 <Taneb> I'm not hugely worried about compression
21:26:54 <b_jonas> lifthrasiir: can I put in suggestions about the font?
21:27:02 <b_jonas> as in, wishlist ones
21:27:03 <lifthrasiir> as always. file an issue.
21:27:19 * lifthrasiir should have used an issue tracker in that way, btw
21:27:20 <b_jonas> um, file issue where? just here on the channel?
21:27:26 <lifthrasiir> https://github.com/lifthrasiir/unison/
21:27:31 <b_jonas> oh
21:28:02 <lifthrasiir> I do have my own internal wishlist but I haven't used an issue tracker for that project yet
21:28:04 <b_jonas> let me see, I think I have a login for this thing
21:28:44 <HackEgo> [wiki] [[Humo]] N https://esolangs.org/w/index.php?oldid=46473 * Fpetrola * (+1518) Created page with "Humo is a programming language with a tiny interpreter implementation and the smallest set of operations for an imperative programming language. This is an experimental langua..."
21:28:49 <lifthrasiir> if you happen to hate github, feel free to say it here instead
21:29:03 <b_jonas> I'll try on github, but if I mess up with the github interface, sorry
21:29:17 <lifthrasiir> say, tons of greasemonkey scripts?
21:30:23 <b_jonas> um, is there supposed to be some ticket metadatathing there, like type (eg. bug, feature request, task), priority (urgency), severity, etc?
21:30:34 <lifthrasiir> github default, ignore them
21:30:34 <b_jonas> Or do I just write the text and that's all?
21:30:37 <lifthrasiir> yup
21:30:43 <b_jonas> Ok
21:37:18 -!- sebbu has quit (Ping timeout: 276 seconds).
21:38:49 -!- bb010g has quit (Quit: Connection closed for inactivity).
21:47:01 <Taneb> I'm probably reading in the font now! :D
21:58:24 -!- augur has joined.
22:07:38 <Taneb> http://i.imgur.com/CPAuNjy.jpg
22:07:40 <Taneb> It's going well!
22:08:01 <shachaf> `welcome Taneb
22:08:06 <HackEgo> Taneb: 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:08:07 <Taneb> Not sure why I took a photo rather than a screenshot
22:08:48 <int-e> it's the esoteric way
22:09:10 <shachaf> Better to take a screenshot, print it out, and take a photo of that.
22:10:28 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
22:10:54 <shachaf> `addquote <b_jonas> shachaf: different notation. -o is logical or in find, but it's linear implication in linear logic
22:11:00 <HackEgo> 1269) <b_jonas> shachaf: different notation. -o is logical or in find, but it's linear implication in linear logic
22:11:26 -!- hppavilion[1] has joined.
22:14:14 -!- oerjan has joined.
22:18:43 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
22:20:01 <b_jonas> shachaf: put it in a word document and email that, then print the email, fax it, but wait, you have to involve MS Paint in there somewhere too
22:21:15 <oerjan> > var "\0x11235"
22:21:17 <lambdabot> x11235
22:21:21 <oerjan> eep
22:21:26 <oerjan> > var "\x11235"
22:21:27 <lambdabot> 𑈵
22:21:34 <shachaf> `thanks oerjan
22:21:35 <HackEgo> Thanks, oerjan. Thoerjan.
22:21:42 <oerjan> `unidecode 𑈵
22:21:45 <HackEgo> U+11235 - No such unicode character name in database \ UTF-8: f0 91 88 b5 UTF-16BE: d804de35 Decimal: &#70197; \ 𑈵 (𑈵) \ Uppercase: U+11235 \ Category: Cn (Other, Not Assigned)
22:21:51 <shachaf> Hmm, my terminal isn't messed up.
22:22:23 <Taneb> Are you sure
22:22:37 <oerjan> `multicode 𑈵
22:22:38 <HackEgo> U+11235 - No such unicode character name in database \ UTF-8: f0 91 88 b5 UTF-16BE: d804de35 Decimal: &#70197; \ 𑈵 (𑈵) \ Uppercase: U+11235 \ Category: Cn (Other, Not Assigned)
22:23:52 * oerjan hates how hard it is to choose text inside a link
22:24:16 <oerjan> anyway, it's supposedly KHOJKI SIGN VIRAMA
22:24:36 <oerjan> *select
22:33:27 <Taneb> I've... I've generated a broken, 1.1MiB brainfuck program
22:33:42 <oerjan> did it win
22:33:46 <Taneb> No
22:33:49 <oerjan> darn
22:33:55 <Taneb> For a start, the judging is not until Wednesday
22:33:58 <oerjan> ah.
22:34:02 <myname> Taneb: look for the error
22:34:08 <oerjan> i'm with myname
22:35:27 <myname> where do you submit it to?
22:37:59 <Taneb> My uni's electronics society
22:38:25 <Taneb> I may say "Do you mind if I give you this on a USB because I don't really want to put it in izabera's pastebin website
22:38:27 <Taneb> "
22:38:51 -!- sebbu has joined.
22:39:18 <oerjan> bah what kind of shitty pastebin can't handle a few megabytes
22:39:25 * oerjan whistles innocently
22:39:28 <shachaf> oerjan: did you see https://github.com/isomorphism/Delineate/blob/master/Control/Delineate.hs hth
22:39:40 <oerjan> no
22:40:24 <shachaf> i wish cmccann was still around so i could ask him about it
22:40:44 <Taneb> oerjan, it's my clipboard that I'm worried about
22:40:48 <shachaf> "-- Given "A ⅋ B" either A or B is true, but you get to "decide" which is true by providing a counterexample for the other, where the counterexample may be (and often is) used in the computation that produces the final result. It's probably not as confusing as it sounds. Possibly."
22:47:43 -!- boily has joined.
22:48:38 -!- FireFly has quit (Changing host).
22:48:38 -!- FireFly has joined.
22:52:22 -!- yorick has quit (Changing host).
22:52:22 -!- yorick has joined.
22:56:50 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
23:01:45 <oerjan> shachaf: i am guessing there's nothing enforcing that those definitions actually use each parameter once...
23:02:39 <oerjan> so, in a sense it's classical logic (by rampant double negation) with programmer discipline.
23:02:58 <oerjan> s/with/+/
23:04:18 <oerjan> hobily
23:04:41 <Taneb> Did you know it takes a long time for a JavaScript emulator to run a 10000 line brainfuck program
23:04:59 <oerjan> now i know
23:18:29 <myname> that's unexpected! i thought emulating bf would be in o(n)
23:18:40 <myname> (note the small o)
23:32:32 <boily> hellørjan, Tanelle, mynamello.
23:34:04 <boily> Québécois income tax are fun!
23:35:22 <oerjan> tax is not a plural noun, boily
23:39:18 <boily> pluralses are complicated :P
23:39:21 <int-e> so you don't get a choice about taxes?
23:42:22 <boily> taxes aren't really known to be about choice.
23:43:23 -!- tromp has joined.
23:43:49 -!- Vorpal has quit (Ping timeout: 260 seconds).
23:44:26 -!- hppavilion[1] has joined.
23:46:56 -!- Vorpal has joined.
23:49:25 <shachaf> boily: whoa whoa whoa, canadian tax rates are p. high
23:50:10 <shachaf> or maybe us tax rates are low
23:50:17 <shachaf> or actually maybe they're more similar than i thought
23:52:57 <boily> we pay provincial and federal taxes, with different forms! about half my pay disappears into our Great Government.
23:53:17 <boily> but now it's time for poutine. and/or pizza.
23:53:28 -!- boily has quit (Quit: CHECKED CHICKEN).
23:54:09 -!- tromp has quit (Remote host closed the connection).
23:54:34 <shachaf> @ask boily pizza must be poutine its place
23:54:34 <lambdabot> Consider it noted.
23:54:41 -!- tromp has joined.
23:54:57 * int-e groans
23:55:51 <shachaf> hint-e
23:55:58 <shachaf> `? weather
23:56:01 <HackEgo> lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK
23:56:04 <lambdabot> CYUL 292331Z 22013KT 7SM -SN DRSN FEW013 BKN030 OVC090 M01/M02 A2958 RMK SF2SC5AC1 SLP019 \ ENVA 292350Z 09006KT CAVOK M04/M08 Q1017 RMK WIND 670FT 14012KT \ ESSB 292350Z AUTO 19003KT 9999 NCD M03/M07 Q1027 \ KOAK 292353Z 29009KT 10SM FEW140 SCT200 22/08 A3011 RMK AO2 SLP197 T02170078 10222 20144 56020
23:56:27 <int-e> you know it hurts me to look at this output
23:58:59 -!- tromp has quit (Ping timeout: 248 seconds).
23:59:19 <shachaf> int-e: What if it just showed the temperature?
←2016-01 2016-02 2016-03→ ↑2016 ↑all