←2017-08-02 2017-08-03 2017-08-04→ ↑2017 ↑all
00:02:18 <hppavilion[1]> That bugs me so much
00:02:19 <boily> holy fungot it's pouring like crazy...
00:02:19 <fungot> boily: sometimes i wonder if it keeps it the jury people so close for weapons and everything changes so quick that eight years ago))
00:02:25 <boily> @metar CYUL
00:02:25 <lambdabot> CYUL 022200Z 22006KT 15SM FEW040TCU BKN240 29/17 A2993 RMK TCU2CI4 SLP138 DENSITY ALT 1800FT
00:02:35 <hppavilion[1]> @metar PAMR
00:02:35 <lambdabot> PAMR 022253Z 01004KT 10SM FEW049 OVC060 16/12 A3019 RMK AO2 SLP225 T01610117
00:06:27 -!- sleffy has joined.
00:26:48 -!- augur has quit (Quit: Leaving...).
01:02:04 -!- sleffy has quit (Ping timeout: 276 seconds).
01:11:30 -!- http_GK1wmSU has joined.
01:11:32 -!- http_GK1wmSU has left.
01:17:31 <boily> `5 w
01:17:36 <HackEgo> 1/2:dy//dx = y \ htdh//HtDH is a classic text on How to Design Hotdogs or possibly Hogprams. It is all about functional condiments, and was co-authored by Herence Tao and Don Ho. \ gonad//gonads are the best punctional fondlegramming squishcture. \ golf//Golf is the shortest game known. The goal is to get a ball into a hole with a single stroke. \
01:17:37 <boily> `n
01:17:38 <HackEgo> 2/2:category-helpdesk//category-helpdesk is a helpdesk with identity and composition. This channel isn't it.
01:21:02 -!- doesthiswork has joined.
01:27:42 -!- augur has joined.
01:39:05 <rdococ> mo
01:49:22 * boily mapoles rdococ into complete words
01:49:27 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
01:49:45 -!- imode has joined.
01:53:44 <ybden> `? rdococ
01:53:45 <HackEgo> rdococ was thought to be from Budapest, then Mars, but he is actually in Airstrip One. Thanks to boily he is approaching permanent boredom & mapoledom. He is a relative of `words.
01:54:19 <imode> `? imode
01:54:20 <HackEgo> imode? ¯\(°​_o)/¯
01:54:24 <imode> :(
01:55:10 <ybden> "IMODE - Innovative Multicomponent Drug Design"
01:55:15 <ybden> imode: are you innovative?
01:55:24 <ybden> imode: are you componentised?
01:55:26 <boily> imellode, ybdellon!
01:55:30 <ybden> imode: do you design drugs?
01:55:41 <ybden> belloily!
01:56:10 <shachaf> hybden
01:56:11 <ybden> imode: do you have a severe (or not so severe) case of the UPPERs?
01:56:31 <ybden> shachaif
01:56:40 -!- sdhand has quit (Ping timeout: 276 seconds).
01:56:43 <boily> `le/rn imode//imode is an Innovative Multicomponent Drug Designer, afflicted by a severe case of the UPPERs.
01:56:44 <doesthiswork> imode: if you do could you suggest a replacement for amphetamines that doesn't increase my heart rate?
01:56:45 <imode> I may design drugs.
01:56:45 <HackEgo> Learned 'imode': imode is an Innovative Multicomponent Drug Designer, afflicted by a severe case of the UPPERs.
01:57:04 <boily> `? ybden
01:57:05 <HackEgo> ybden daintily hides in her den, fostering dark machinations on warfare cutlery.
01:57:06 <shachaf> ybden: http://kmcallister.github.io/complexity.html
01:57:13 -!- sdhand has joined.
01:57:36 -!- sdhand has changed nick to Guest94226.
01:58:15 <ybden> shachaf: To-day I have learned that I should be careful around drugs, lest I mistake them for complexity classes
01:58:57 -!- boily has quit (Quit: EXECUTIVE CHICKEN).
02:00:10 <doesthiswork> just ask yourself "what would Erdős do?"
02:05:22 <rdococ> `? UPPERs
02:05:23 <HackEgo> UPPERs? ¯\(°​_o)/¯
02:08:17 <doesthiswork> There's a new SpecGram out http://specgram.com/CLXXIX.3/00.contents.html
02:36:20 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
02:37:56 <quintopia> i swear i just heard jaku say bjonas in a video
02:41:05 <doesthiswork> ?Qien es jaku?
02:41:05 <lambdabot> Unknown command, try @list
02:45:48 -!- PattuX has quit (Quit: Connection closed for inactivity).
03:16:58 -!- sleffy has joined.
03:42:37 <shachaf> `5 w
03:42:42 <HackEgo> 1/2:hertz//hertz (German for heart) is an SI unit equal to the frequency of an average heartbeat. \ nih//NIH was /not/ invented by Taneb. \ rntz//rntz is a classically-trained logician known for his constructive criticism. \ fact//Facts are lies. They are not there. Go away! \ infidel//An infidel is someone who doesn't support the great former lead
03:42:44 <shachaf> `n
03:42:45 <HackEgo> 2/2:er. Socialismo o muerte!
03:59:58 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
04:28:31 <doesthiswork> Dicotomías de rechazo
04:28:43 <doesthiswork> Socialismo Y muerte!
04:45:16 <shachaf> `5
04:45:17 <HackEgo> 1/3:411) <ais523> 99% OF USES OF STRDUP ARE ILLEGAL! \ 785) <oklopol> my best guess is 4 years ago but possibly also yesterday \ 1285) <int-e> I couldn't help thinking that maybe if one considers the ramifications in full detail it will turn out that overthinking is often not helpful and therefore, not something to be proud of. \ 746) <Phantom_Hoov
04:45:22 <shachaf> `n
04:45:23 <HackEgo> 2/3:er> i once had a dream when i was told to look after some kittens but they were made of chocolate and i ate them :( \ 878) <Bike> the idea is that you can get the information you need from reading the other players, isn't it [...] <Bike> and of course, reading isn't limited to facial expressions [...] <fizzie> That's true, you can read e.g. boo
04:45:25 <shachaf> `n
04:45:25 <HackEgo> 3/3:ks.
04:45:38 <shachaf> What is the context of 411?
04:45:57 <shachaf> `` doag quotes | grep STRDUP
04:46:03 <HackEgo> No output.
04:46:21 <shachaf> `` hg cat -r 1 quotes | grep STRDUP
04:46:23 <HackEgo> ​<ais523> 99% OF USES OF STRDUP ARE ILLEGAL!
04:46:26 <shachaf> figures
04:46:40 <imode> I'd like to know too.
04:47:25 * imode ponders an alternate tree indexing scheme.
04:47:45 <shachaf> The context is 2011-07-22
05:12:12 -!- brandonson has quit (Ping timeout: 260 seconds).
05:13:41 -!- brandonson has joined.
06:36:32 -!- erkin has joined.
06:56:09 -!- doesthiswork has quit (Quit: Leaving.).
06:59:54 -!- FreeFull has quit.
07:01:16 -!- Guest94226 has changed nick to sdhand.
07:01:32 -!- sdhand has quit (Changing host).
07:01:32 -!- sdhand has joined.
07:26:37 -!- augur has quit (Remote host closed the connection).
07:27:11 -!- augur has joined.
07:31:39 -!- augur has quit (Ping timeout: 258 seconds).
08:19:32 -!- sdhand has quit (Excess Flood).
08:19:45 -!- sdhand has joined.
08:20:08 -!- sdhand has changed nick to Guest79676.
08:31:32 -!- Guest79676 has quit (Changing host).
08:31:32 -!- Guest79676 has joined.
08:31:32 -!- Guest79676 has changed nick to sdhand.
08:43:49 -!- sleffy has quit (Ping timeout: 246 seconds).
09:15:50 -!- imode has quit (Ping timeout: 240 seconds).
09:43:26 <HackEgo> [wiki] [[Funge-98]] https://esolangs.org/w/index.php?diff=52637&oldid=52634 * Btiffin2017 * (+9501) Add Fingerprints blurb and table
09:47:09 <Deewiant> Some of those links are incorrect since rcsfingers.html is only for the RCS-defined ones
09:47:46 <Deewiant> E.g. NCRS is not from there
09:48:50 <Deewiant> Not sure if this Btiffin2017 is on this channel though.
09:59:39 <HackEgo> [wiki] [[Funge-98]] https://esolangs.org/w/index.php?diff=52638&oldid=52637 * Deewiant * (+141) Link original docs for jvh fingerprints
10:04:21 <Deewiant> fizzie: Please link the original ext_SOCK.txt from GLfunge98, I don't think it's up at http://glfunge98.sourceforge.net directly
10:07:03 <HackEgo> [wiki] [[Funge-98]] M https://esolangs.org/w/index.php?diff=52639&oldid=52638 * Btiffin2017 * (+6) /* Example of fingerprint loading */
10:11:04 <HackEgo> [wiki] [[Funge-98]] M https://esolangs.org/w/index.php?diff=52640&oldid=52639 * Btiffin2017 * (-38) /* Some well known fingerprints */
10:11:23 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
10:11:52 <HackEgo> [wiki] [[Funge-98]] https://esolangs.org/w/index.php?diff=52641&oldid=52640 * Btiffin2017 * (+38) Undo revision 52640 by [[Special:Contributions/Btiffin2017|Btiffin2017]] ([[User talk:Btiffin2017|talk]])
10:13:16 -!- btiffin has joined.
10:14:10 <btiffin> Sorry Deewiant, I undid one of your fixes as I thought I made a mistake on the origin. Undid my erroneous edit. ;-)
10:25:51 <HackEgo> [wiki] [[Funge-98]] https://esolangs.org/w/index.php?diff=52642&oldid=52641 * Btiffin2017 * (+613) /* Stack Stack */
10:38:31 <HackEgo> [wiki] [[Funge-98]] https://esolangs.org/w/index.php?diff=52643&oldid=52642 * Btiffin2017 * (+764) /* Concurrency */
10:46:17 <rdococ> funge
10:46:18 <rdococ> tasty
10:54:22 <btiffin> salty
10:57:42 <Deewiant> btiffin: The link for SCKE is still wrong, but I'm not sure if the original doc is available online directly. It should be in the tarballs at http://glfunge98.sourceforge.net but it's less than ideal to link to those... I already asked fizzie about it.
11:01:24 <btiffin> Deewiant: thanks for the updates. Page needs a good History section and some nice credits in the Implementation part. Will try and track down and gather up some blurbs worthy of the page. And will appreciate corrections to the guaranteed mistakes that will be made.
11:06:16 <btiffin> Haven't built CCBI yet, but your mycology kit has really upped the game for the implementations it seems. Grand work, Deewiant, it's nice being able to play and not have things jump and catch fire.
11:07:06 <Deewiant> Thanks, and yeah, didn't really expect it or Funge-98 to become so popular
11:08:34 <Deewiant> You might need some good luck building CCBI these days... D 1.0 hasn't been supported in ages, hopefully at least some of the tools still work
11:08:43 <btiffin> Consistent and reliable toys makes for good toys, worthy of some time in.
11:10:22 <btiffin> I had a 1.0 D, but that machine gave up the ghost a while back, might have the archive in a state that can be restored (but, a backup untested is usually borked, right? Just because) ;-)
11:11:05 <Deewiant> One of my projects for years has been to build a new interpreter in C, starting with a solid Funge-Space library... which has been a work in progress since 2011 and has seen almost no work since 2013 or so. (These days I might go for Rust for the interpreter itself though.)
11:12:25 <Deewiant> Coïncidentally, 2013 is when I graduated from university.
11:13:09 <btiffin> Only been funging for a week on and off, but NEED libfunge for embedding in COBOL. ;-) libfunge, someone needs to treat Funge like a Lua and take over the world from within.
11:13:12 <Deewiant> It's funny how badly having a full-time job eats your free time, as opposed to school/uni
11:14:31 <btiffin> Oh, I turn 54 in a few days, I still have a final year to complete (my ID started with 82). Might not make it to grad. ;-)
11:18:19 <Deewiant> Heh, I don't think the universities around here let people do that kind of thing any more :-)
11:23:40 <btiffin> I do miss Waterloo. I started the day they dragged the last card punch machine out of the Pit and into a museum. I kinda don't miss the 8K machines of the time though, them be good old days only in the sense of, "really? they were good? those old days?"
11:28:47 <rdococ> bechocolatefudge
11:29:04 -!- erkin has joined.
11:30:09 <btiffin> A computer without Funge is a like a piece of chocolate cake without mustard and ketchup
11:31:34 <rdococ> so... good?
11:31:59 <btiffin> Best
11:32:20 * rdococ needs fresh concepts
11:32:26 <rdococ> I FEAST ON CONCEPTS!!!
11:34:45 -!- boily has joined.
11:34:46 <Deewiant> btiffin: About Mycology, gotta credit Vorpal as well in the game-upping, for doing cfunge and actively discussing issues that came up. In a way there's some luck involved in that he did it when I was still available for doing my part in the discussions and whatnot, but still.
11:35:14 <btiffin> Try inventing something with the elegance of Forth with the human friendly syntax of algebra (not reverse polish). REBOL Red come close, but the editor and file system access needs to be part of the language so there is zero brain swapping during development.
11:36:24 <btiffin> Deewiant, I'll likely pester the IRC room when writing up a history blurb and try and pack it with names that deserve recognition.
11:36:47 <Deewiant> Sure.
11:39:43 <btiffin> My go to implementations are cfunge and rcfunge at the moment. Too much fun. These are all fairly amazing pieces of work, but I'm still leaning to mycology being a root cause of the robustness.
11:41:16 <Deewiant> I seem to recall that rcfunge still had some quirks, cfunge should be solid though
11:44:26 <rdococ> fudge!
11:45:04 <Deewiant> The main selling point of CCBI these days is probably the interactive debugger, I'm not sure if anybody else implemented something like that
11:45:08 <btiffin> Yeah, rcfunge BOOL unload isn't correct; easy fix (umm, I think - it looked straight forward, but maybe I'm too new); but I want to play with the Tardis so rcfunge will get a workout. cfunge is the default funge here.
11:45:53 <btiffin> rdococ: mustard funge
11:48:40 <btiffin> Will strive to get CCBI built shortly. It would be nice to be able to point to one as the "reference" implementation; FBBI just advertises as 'early, not reference'.
11:53:00 <Deewiant> I think FBBI is the closest you can get to a reference since it's by the same guy as the spec. Too bad it contradicts the spec (or at least used to) so much...
11:53:42 <Deewiant> In a way CCBI was used as a reference since at least Vorpal admitted to sometimes just checking its source for how to do things when Mycology spat out an error. :-P
11:53:55 <btiffin> :-)
11:57:09 <btiffin> libfunge, the world needs a libfunge, something with an init, a go, and a let me at the resulting stack(s) and funge space, simple API
12:00:14 <Deewiant> You can probably write one that works by shelling out to CCBI's debugger ;-)
12:01:42 <Deewiant> Unfortunately "simple API" may turn out to be not so simple with funny Funge-Spaces and abstraction-breaking fingerprints
12:02:03 <btiffin> Hmm...
12:03:51 <Deewiant> Depends on what you want out of it, of course.
12:05:37 <btiffin> Yeah, I guess simple in this case would be low number of function entry points for a make it work mode. And then side functions for deeper mining. Like Tcl, only more mustard-ey. A ten line C file to embed a funge and then 80 meg of API docs for figuring out what else you can do.
12:06:22 <Deewiant> Sure, init and go should be simple enough.
12:06:42 <Deewiant> It's the "let me at it" part where things get tricky.
12:07:09 <Deewiant> TRDS for instance.
12:09:00 <btiffin> Then read stack to get results, and a way to peek into final Funge space. Details on access to running programs would be part of the 80 megs of API.
12:10:05 <btiffin> Still reading up on TRDS before attempting a script, but looking forward.
12:13:25 <Deewiant> Ah, only the final state. Yeah, that should be simpler. Still there's some funky stuff about the stack, e.g. MODE, and Funge-Space is basically a sparse 2^N * 2^N square (or cube or worse) (with N = 32 or N = 64 typically) so I'm not sure what kind of API would be suited for anything beyond "read from x,y" style operations
12:13:48 <btiffin> From a GnuCOBOL perspective it would be nice as CALL "funge" USING script RETURNING answer; default easy mode just returns top of stack cell. "funge-stack" could provide more and "funge-space" just does a get on a vector after the run.
12:19:51 <btiffin> or range, similar to i and o, and that would make a toy people could brag about; and then you know ignore, except for the odd fan that flames the admiration.
12:23:58 <Deewiant> Yeah, I added i-like display of an area to the CCBI debugger, was quite useful at times
12:24:18 <Deewiant> It's all there, just hook it up ;-)
12:26:01 -!- boily has quit (Quit: TRAP CHICKEN).
12:29:43 <btiffin> I work with GNU, and asked the mailing list if I could get an alias for brainfuck in the Guile binding. Most of the dev group hadn't heard about it, and thought I was just swearing at them. The goal was to add documentation to the GnuCOBOL FAQ without swearing. Richard Stallman gave me a small talking down to until someone else posted the wikipedia link and saved my rep. End of the day,...
12:29:45 <btiffin> ...I folded (and agree), brainfuck is simply not mentioned as one of the possible integrations to GnuCOBOL in any manuals. Funge would be something that could be written down with the expectation that wouldn't offend anyone like an IBM president or Church Lady.
12:32:01 <Deewiant> Heh.
12:45:23 -!- mroman has joined.
12:45:38 <mroman> Is there some neat way to get dx, dy in a grid system for a given radius 3
12:45:44 <mroman> and I only want the outermost fields
12:46:01 <mroman> i.e. not for(dx=-r;dx<=r;dx++) for(dy=-r;dy<=r;dy++)
12:46:09 <mroman> as this will also give pixels that don't exactly have a distance of r
12:47:12 <mroman> *radius r
12:49:50 <btiffin> Deewiant; hope to chat again, time to call it a day, and once again, thanks for the updates.
12:50:08 <Deewiant> No worries, talk to you later.
12:51:07 -!- btiffin has quit (Quit: ChatZilla 0.9.93 [SeaMonkey 2.46/20170120202656]).
13:09:06 <sdhand> mroman: I feel like you can use some trig functions for that
13:09:17 <sdhand> I seem to have forgotten how maths works though
13:10:08 <mroman> http://codepad.org/nPcmCam2 <- something along the lines of this
13:10:12 <mroman> but this is really inconvenient.
13:33:39 -!- mroman has quit (Ping timeout: 260 seconds).
14:00:32 -!- doesthiswork has joined.
14:36:33 -!- Jafet has quit (Ping timeout: 255 seconds).
14:36:33 -!- shachaf has quit (Ping timeout: 255 seconds).
14:37:19 -!- shachaf has joined.
14:42:44 -!- MDude has joined.
14:57:21 -!- `^_^v has joined.
14:58:46 -!- Jafet has joined.
15:05:21 -!- imode has joined.
15:17:41 <Jafet> the gnu mindset is interesting indeed
15:19:00 <Jafet> GNU ease.js is a classical object-oriented framework for JavaScript, intended to eliminate boilerplate code and ease the transition to JavaScript from other object-oriented languages.
15:19:27 <Jafet> GNU Java Training wheels provides a less steep learning curve for learning to program in Java. The system is powered by a preprocessor that adds features to Java such as a superfor macro and a file inclusion system much like the C language's preprocessor.
15:21:33 <alercah> "superfor"?
15:21:39 <alercah> wait why would you want a C preprocessor in Java
15:33:32 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
15:33:38 <izabera> cpp is not actually that bad
15:46:52 -!- sdhand has changed nick to |test|.
15:47:04 -!- |test| has changed nick to sdhand.
15:50:12 -!- sdhand has changed nick to addhns.
15:51:37 <alercah> file inclusion is
15:52:01 <alercah> and the way that C/C++ don't have a better way to include libraries, at least until C++ modules
16:04:14 <Jafet> alercah: http://www.ioccc.org/2005/chia/chia.c
16:13:21 <alercah> amazing
16:51:38 -!- augur has joined.
17:27:57 -!- addhns has changed nick to sdhand.
17:39:52 -!- FreeFull has joined.
17:40:51 <Vorpal> <Deewiant> btiffin: About Mycology, gotta credit Vorpal as well in the game-upping, for doing cfunge and actively discussing issues that came up. In a way there's some luck involved in that he did it when I was still available for doing my part in the discussions and whatnot, but still. <-- hm, don't have time to read the context of this highlight, is it something I need to get involved in?
17:41:23 <Vorpal> <btiffin> Only been funging for a week on and off, but NEED libfunge for embedding in COBOL. ;-) libfunge, someone needs to treat Funge like a Lua and take over the world from within. <-- it is/was possible to hook up C-INTERCAL and cfunge with each other
17:41:37 <Vorpal> All credit for that really goes to ais523
17:41:55 <Vorpal> <Deewiant> I seem to recall that rcfunge still had some quirks, cfunge should be solid though <-- thanks
17:43:06 <Vorpal> <Deewiant> In a way CCBI was used as a reference since at least Vorpal admitted to sometimes just checking its source for how to do things when Mycology spat out an error. :-P <-- yep, 1) I was a teenager at the time, not as good at programming 2) mycology errors could be really obscure. More often just locking up or sending the instruction pointer out to nowhere instead of giving a useful error
17:44:30 <Vorpal> <Deewiant> Ah, only the final state. Yeah, that should be simpler. Still there's some funky stuff about the stack, e.g. MODE, and Funge-Space is basically a sparse 2^N * 2^N square (or cube or worse) (with N = 32 or N = 64 typically) so I'm not sure what kind of API would be suited for anything beyond "read from x,y" style operations <-- "give me all non-zeros"?
17:45:13 -!- augur has quit (Remote host closed the connection).
17:47:21 -!- augur has joined.
17:51:56 -!- augur has quit (Ping timeout: 260 seconds).
17:55:27 <HackEgo> [wiki] [[Funge-98]] M https://esolangs.org/w/index.php?diff=52644&oldid=52643 * Vorpal * (+0) /* Some well known fingerprints */ Fix some links.
17:55:40 <Vorpal> the cats eye links are broken
17:56:05 <Vorpal> but at least that one points to the right name now (PERL was pointing to ORTH and such)
17:59:24 <HackEgo> [wiki] [[Funge-98]] M https://esolangs.org/w/index.php?diff=52645&oldid=52644 * Vorpal * (+10) /* Some well known fingerprints */ Fix links to catseye fingerprints
18:00:08 <Vorpal> Deewiant: you never made any fingerprint yourself right? I guess I did one, in efunge
18:02:51 <HackEgo> [wiki] [[Funge-98]] https://esolangs.org/w/index.php?diff=52646&oldid=52645 * Vorpal * (+182) /* Resources */ Add efunge
18:13:41 -!- sdhand has quit (Excess Flood).
18:13:49 -!- sdhand has joined.
18:14:13 -!- sdhand has changed nick to Guest67954.
18:32:27 -!- AnotherTest has joined.
18:45:45 <zzo38> Now you can download MIXPC: http://zzo38computer.org/prog/mixpc.zip
18:49:53 <Deewiant> Vorpal: I was planning some, but only as vague ideas.
18:50:28 <Deewiant> Vorpal: And no need to get involved in anything, just discussing Funge-98 history.
18:53:36 <Vorpal> Deewiant: okay
18:54:52 <Vorpal> Deewiant: if he comes back, since he talked about embedding funge into something (COBOL?), cfunge is embeddable to some degree (assuming license compatibility and so on), since ais523 managed to do it for C-INTERCAL
18:58:05 -!- LKoen has joined.
18:59:49 -!- AnotherTest has quit (Ping timeout: 246 seconds).
19:01:00 <Deewiant> Vorpal: True that, I forgot about that. And yes, he was talking about embedding into COBOL.
19:02:04 <Deewiant> Vorpal: lambdabot's here so I guess you can @message him or whatever.
19:02:10 <Vorpal> Sure
19:03:07 <Vorpal> @tell btiffin You talked about embedding funge into COBOL, cfunge is embeddable to some degree (assuming license compatibility and so on), since ais523 managed to do it for C-INTERCAL. If I rememeber correctly funge and INTERCAL ran as co-routines almost
19:03:07 <lambdabot> Consider it noted.
19:03:43 -!- Guest67954 has changed nick to sdhand.
19:03:53 -!- sdhand has quit (Changing host).
19:03:53 -!- sdhand has joined.
19:12:06 -!- `^_^v has quit (Quit: Leaving).
19:12:25 -!- `^_^v has joined.
19:15:07 <HackEgo> [wiki] [[MIX (Knuth)]] https://esolangs.org/w/index.php?diff=52647&oldid=52494 * Zzo38 * (+1523) MIXPC
19:20:02 <zzo38> If you have DOS then you can see if MIXPC is working and tell me if anything wrong with it please (including the document).
19:21:41 <HackEgo> [wiki] [[MIX (Knuth)]] https://esolangs.org/w/index.php?diff=52648&oldid=52647 * Zzo38 * (+43)
19:23:04 <zzo38> Does a implementation of MIX in MMIX exist yet?
19:30:02 -!- wob_jonas has joined.
19:32:12 <wob_jonas> Guys, I have a software licensing question. How is it possible that the boost multiprecision library is distributed under the boost license, yet it can optionally link to the gnu multiprecision library, which is under the Gnu GPL?
19:33:41 <int-e> gmp is dual-licensed, GPLv2 or LGPLv3; presumably the latter allows this
19:34:44 <wob_jonas> int-e: wait what? since when is itdual-licensed?
19:34:57 <int-e> "Since version 6, GMP is distributed under the dual licenses, GNU LGPL v3 and GNU GPL v2."
19:35:28 <wob_jonas> lgpl allows it, but how can they apply that license? doesn't GMP have too many contributors to change?
19:36:59 <int-e> besides, even with GPL, wouldn't you still ba able to use that option with code that you're not distributing... I guess that's untested legal territory.
19:37:32 <wob_jonas> int-e: you could choose to not distribute, but boost multiprecision is clearly distributed openly
19:39:48 -!- LKoen has quit (Remote host closed the connection).
19:40:00 <wob_jonas> https://gmplib.org/manual/Contributors.html#Contributors lists tons of contributors. how the shit did they get permissions from all of them?
19:41:03 <wob_jonas> did someone just randomly pull the license off his without having permission?
19:41:24 <int-e> Anyway, I'm confused. gmp 4.2.1 (that's somewhere in 2007) was LGPL 2.1+
19:41:36 <wob_jonas> what?
19:41:43 <int-e> 4.2.2 switched to the current GPLv2+LGPLv3
19:42:02 <wob_jonas> strange, I checked a few times and I seem to remember it was GPL, not LGPL
19:43:35 <int-e> you seem to remember wrong :)
19:43:47 <wob_jonas> possible
19:44:34 <wob_jonas> if it was always LGPL licensed, that would explain everything
19:46:39 <int-e> you're right about version 1.3.2 (GPLv2+), but version 2.0 was LGPLv2+
19:47:13 <wob_jonas> ok, thank you
19:49:41 -!- augur has joined.
19:50:28 <int-e> and it seems that therer were about 5 contributors when the relicensing happened... sounds doable :)
19:53:22 <wob_jonas> the fork MPIR ("http://mpir.org/") is also LGPL-licensed
19:53:43 <wob_jonas> (it's an API-compatible fork)
19:54:41 <wob_jonas> and so are MPFR and MPC. good.
19:55:12 <int-e> wob_jonas: In any case, there's a legal theory that says that if you optionally use an API then that doesn't make your software fall under the GPL even if therer is only a GPL implementation. It has sort of held up for the Linux kernel afaiui, which led them to make their wishes more explicit by storing a license in the kernel modules and marking many new APIs as GPL only.
19:56:43 <wob_jonas> int-e: hmm. maybe, but I wouldn't bet on it.
19:57:00 <wob_jonas> it's possible that that's how law works.
20:00:25 <wob_jonas> `olist 1088
20:00:27 <HackEgo> olist 1088: shachaf oerjan Sgeo FireFly boily nortti b_jonas
20:00:39 <int-e> Well yes... nobody can predict what a court would decide.
20:01:39 -!- sleffy has joined.
20:15:22 <rdococ> moo.
20:35:05 <zzo38> wob_jonas: Now MIXPC is available; do you like this? Also, does a implementation of MIX in MMIX exist yet?
20:36:02 <wob_jonas> zzo38: there's probably an implementation of MIX in C that you could compile to MMIX successfully
20:37:42 <wob_jonas> zzo38: where is it available? have you tested it with some of the larger programs in Knuth vols 1 to 3, and what assembler did you use?
20:38:27 <quintopia> hello wob_jonas
20:38:28 <zzo38> It is http://zzo38computer.org/prog/mixpc.zip but so far I have not tested with the larger programs (since the books were from the library and I no longer have them)
20:38:40 <zzo38> Anyone else could try to test them though, who does have.
20:38:59 <quintopia> you like to watch jaku?
20:43:48 -!- Akaibu has joined.
20:50:01 <shachaf> Here's a puzzle I got from kmc: https://twitter.com/shachaf/status/892956611576082432
20:50:11 <shachaf> I guess I can paste it.
20:50:15 <shachaf> Puzzle (amd64 Linux): int main() { printf("data: "); if (fwrite((void *) 0xffffffffff600000, 1, 4096, stdout) != 4096) perror("fwrite"); }
20:50:25 <shachaf> That program prints some data to stdout. But if you remove the printf, fwrite fails with EFAULT. Why?
20:51:18 <imode> something to do with device readiness.
20:51:54 <wob_jonas> shachaf: um, I presume it prints "data: " to stdout because the fwrite has a long enough size that it would overflow the buffer so it flushes what the printf writes first?
20:52:21 <wob_jonas> and the fwrite must fail with EFAULT in any case because you're writing from kernel memory
20:52:33 <zzo38> shachaf: What does that address correspond to anyways?
20:52:51 <wob_jonas> or I guess it could fail with segfault instead, if fwrite chooses to copy the data
20:53:00 <wob_jonas> it's fwrite's choice really
20:53:01 <shachaf> wob_jonas: If fwrite fails with EFAULT, why doesn't it fail when you add the printf?
20:53:08 <shachaf> It doesn't segfault.
20:53:14 <zzo38> wob_jonas: MIXPC loads the program from cards rather than binary like GNU MIX does, although converting is possible (if you tell MIXPC to use base 64 instead of the default base 100). I don't know what binary format GNU MIX is using though, so I don't know if MIXPC can read them directly (as a tape perhaps).
20:53:15 <shachaf> It successfully prints out some data.
20:53:27 <shachaf> zzo38: If you have an amd64 Linux machine you can find out for yourself.
20:53:52 <wob_jonas> shachaf: well it can successfully print the "data: " part, right? but it doesn't fail after in any way? like some other error return or signal?
20:53:59 <zzo38> shachaf: I do, but I don't have a document explaning the addressing
20:54:22 <imode> search the address on google.
20:54:27 <shachaf> wob_jonas: No, it prints some actual data read from that address.
20:54:33 <shachaf> zzo38: Try tail -n1 /proc/self/maps
20:54:43 <zzo38> OK
20:54:44 <wob_jonas> shachaf: um, but what does it do after printing the data? does it scucessfully return?
20:54:57 <shachaf> Does what successfully return?
20:55:02 <wob_jonas> the fwrite call
20:55:07 <shachaf> Yes.
20:55:11 <wob_jonas> strange
20:55:34 <zzo38> It says "vsyscall", and it does seem to be the correct size
20:55:53 <wob_jonas> AH
20:56:10 <imode> https://lwn.net/Articles/446528/ <-- zzo38
20:56:19 <wob_jonas> it's some magic segment that is mapped by default for users, in the kernel address space? strange
20:56:26 <imode> this will clarify many thing.
20:56:28 <imode> *many things.
20:57:18 <zzo38> OK I will read it
20:57:57 <shachaf> imode: That's an incomplete description of vsyscall, I think.
20:58:03 <HackEgo> [wiki] [[Funge-98]] https://esolangs.org/w/index.php?diff=52649&oldid=52646 * Btiffin2017 * (+2138) /* Implementations, incomplete table to start */
20:59:42 <imode> the reason why it fails with an error is that the previous call to printf sets up the vsyscall segment in such a way that the next fwrite call grabs stuff from the segment and throw it out.
21:00:00 <imode> without that, it doesn't exist. I think.
21:00:11 <shachaf> The vsyscall segment exists immediately, right after exec.
21:01:13 <wob_jonas> imode: sure, the difference is whether libc is directly writing from there or copying from it. if it's writing, the kernel will see it's in kernel address space and won't read it. if it's copying, the user space can access it.
21:01:39 <wob_jonas> the part I'm still a bit surprised about is just that there's a mapping in the kernel address region
21:01:39 <imode> and it's copying in this case. if I read that tweet from the back of a moving car correctly.
21:02:20 <imode> well yeah. vsyscall basically exists iirc to speed up frequent syscalls. that's been passed down from the kernel ABI.
21:03:06 <imode> so I'd imagine that when doing printf, a syscall or two gets dumped in there.
21:03:25 <wob_jonas> imode: ok. I don't quite understand why that's needed, but it's plausible enough that there's a good reason
21:03:27 <imode> but attempting to read from it prior generates a fault for.. some reason.
21:03:32 <wob_jonas> or at least was a good reason when it was added
21:03:38 -!- btiffin has joined.
21:03:48 <imode> wob_jonas: well if you can always guarantee that a syscall + its required data is always in the same place, that's less overhead.
21:03:57 <imode> for reasons that.. honestly I don't care to look up. :P
21:05:34 <imode> here's an experiment: does a regular fwrite before the one reading from vsyscall still result in the same data?
21:05:39 <wob_jonas> imode: yeah, but it could be mapped in a user-space mapping you create with a fancy syscall or mmapping a device, instead of getting mapped into kernel address region
21:07:08 <HackEgo> [wiki] [[Funge-98]] M https://esolangs.org/w/index.php?diff=52650&oldid=52649 * Btiffin2017 * (+0) /* Rock Scissors Paper, on 3 */
21:07:47 <HackEgo> [wiki] [[Funge-98]] M https://esolangs.org/w/index.php?diff=52651&oldid=52650 * Btiffin2017 * (+0) Undo revision 52650 by [[Special:Contributions/Btiffin2017|Btiffin2017]] ([[User talk:Btiffin2017|talk]])
21:08:00 <imode> yuh. it works.
21:08:09 <imode> same data and everything until it hits a bad address.
21:12:10 -!- hppavilion[1] has joined.
21:12:11 <imode> huuuh. curious. a regular call to write means fwrite stops immediately.
21:12:38 <HackEgo> [wiki] [[Funge-98]] M https://esolangs.org/w/index.php?diff=52652&oldid=52651 * Btiffin2017 * (-3) typo
21:12:41 <imode> perhaps fwrite preallocates a buffer.
21:15:37 <imode> yeah okay. change 4096 to 2047. then change it to 2048. we're hitting an uninitialized buffer.
21:16:17 <imode> if you don't include the first call to printf, which uses fwrite, that buffer never gets mapped.
21:22:57 <zzo38> MIXPC and GNU MIX are both including some features that the other lacks (based on my reading of the documentation of GNU MIX), such as, MIXPC currently has no support for breakpoints (although you can still add a HLT instruction into your program to do something similar), and GNU MIX does not support changing the byte size and also does not implement the standard loading mechanism of MIX programs from cards.
21:29:13 <wob_jonas> zzo38: wait what? how can you not support loading programs from cards? loading programs from cards basically just executes the four instructions "IN 0(16); JOV *+1; JBUS *(16); JSJ 0" (except technically rJ is set to 0, but nobody actually depends on that),
21:29:37 <wob_jonas> so you could just put those four instructions near the end of the memory in the debugger, insert the cards to the reader, and jump to the first instruction, couldn't you?
21:30:15 <wob_jonas> you can bootstrap to that from basically any startup method their program already provides
21:30:39 <wob_jonas> that's why the init mechanism is specified that way, it can be implemented easily in any MIX machine
21:31:14 <zzo38> I don't know, although MIXPC does support loading programs from cards; as far as I can tell from the GNU MIX documentation, GNU MIX does not and instead loads a binary program (which includes a link to the source file, and a symbol table, presumably).
21:32:27 <wob_jonas> zzo38: then you could just write a short binary program that runs these few instructions (just be careful that they don't overlap with the first 16 words)
21:32:44 <zzo38> Yes, I suppose so
21:33:06 <wob_jonas> and write "START BUTTON" to the disk of that program in a sharpie
21:35:55 <zzo38> OK
21:38:56 -!- ineiros has quit (Ping timeout: 260 seconds).
21:39:15 -!- ineiros has joined.
21:40:37 -!- Warrigal_ has joined.
21:43:39 <zzo38> Are you able to run MIXPC on your computer? If so, then you could try to see if there is anything wrong that I have missed.
21:44:56 <wob_jonas> zzo38: I'm not too interested to do that. I'd have to get an assembler working, get some sort of BASIC that supports TYPE, and in the end I don't care that much about MIX
21:45:17 <wob_jonas> unless you already have written an assembler together with it
21:45:23 <wob_jonas> but even then
21:45:28 <wob_jonas> I just don't care enough
21:45:55 <shachaf> wob_jonas, imode: Yes, the vsyscall page is special in that it's user-readable but in kernel address space, and write() doesn't check the actual page mapping, just which half of the address space it's in.
21:46:26 <shachaf> The vsyscall page exists to use the SYSENTER instruction, I think.
21:46:38 <wob_jonas> shachaf: yes, I understand that. I was just surprised on the first half. the second half is obvious, that's how they implement copy from user easily.
21:46:39 <shachaf> SYSENTER is a little odd in that it doesn't save RIP.
21:47:10 <shachaf> So the kernel doesn't have an address to return to when it's done handling the system call.
21:47:44 <int-e> SYSENTER is a Highlander instruction: there can be only one
21:48:25 <shachaf> So it maps a page at a known fixed address, and the system call ABI is to jump to that page. Then the kernel can always return to the same place.
21:48:45 -!- AnotherTest has joined.
21:49:34 <shachaf> int-e: It's more of a "many may enter, but only one can leave" instruction.
21:50:25 <int-e> well, it's hardly useful to have more than one, I think.
21:50:42 -!- sleffy has quit (Ping timeout: 240 seconds).
21:51:00 <imode> shachaf: was my guess correct though? we're reading past the end of a mapped area? if you read 2047 bytes, everything's good.
21:51:20 <imode> (with the prior call to printf/fwrite.)
21:51:21 <shachaf> imode: Hmm? The smallest page size on x86 is 4096 bytes.
21:51:30 <shachaf> (And that address is page-aligned.)
21:51:45 <imode> shachaf: try to read 2047 bytes instead of 4096.
21:51:46 <wob_jonas> imode: I think the difference is whether fwrite chooses to write directly from that area, or copy it to a stream buffer first
21:51:56 <shachaf> Yes, it's what wob_jonas said.
21:52:08 <shachaf> If you give fwrite a big enough buffer it might just write() it directly.
21:52:15 -!- imode has quit (Quit: WeeChat 1.9).
21:52:23 -!- sleffy has joined.
21:52:26 <wob_jonas> fwrite can do either, or any combination of copies and writes
21:52:26 <shachaf> imode took that harshly.
21:52:35 <shachaf> It can do whatever it wants.
21:52:48 <shachaf> This program also behaves differently when stdout is a file, and so on.
21:53:11 <wob_jonas> right
21:53:11 <wob_jonas> makes sense
21:53:55 <wob_jonas> because stdout is by default line buffered or block buffered depending on what type of file the underlying handle is... hmm wait, is it only when it isatty when it gets line buffered, or when it's any device, or when it's anything but a regular file?
21:54:03 <zzo38> wob_jonas: It does include the .EXE file now, although you will need DOS (or an emulator) to use that file.
21:54:05 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
21:54:44 <wob_jonas> zzo38: yeah, that's the other option, but that could be more difficult because then I have to transfer data into or out the dos emulator
21:54:55 <wob_jonas> it might be easier to just run the basic source code on linux directly
21:55:12 <wob_jonas> I don't know much about basic interpreter impls
21:55:38 <wob_jonas> zzo38: do you have an assembler? I haven't looked in that zip yet
21:56:19 <zzo38> There is FreeBASIC, although the program probably will not work as is, and may need modification. I have also heard of QB64, but I don't know how well it will work with that either.
21:56:35 <zzo38> There is no assembler yet. I have started to write one, but since is not finish yet, it is not included yet.
21:56:59 <wob_jonas> zzo38: yeah, but how much modification? does it support TYPE, SUB, and passing typed structures to a SUB, or would you have to rewrite all that?
21:57:05 <int-e> hmm, is SYSENTER actually used... looks like SYSCALL here.
21:57:10 <wob_jonas> is it juts the DOS console output you have to change?
21:57:31 <int-e> (which does save RIP to a register. (x86_64))
21:58:19 -!- augur has quit (Remote host closed the connection).
21:58:28 <zzo38> wob_jonas: I believe FreeBASIC does support TYPE and SUB and passing typed structures to SUB, but not SOUND, and POKE/PEEK may not work either (which it uses for the display).
21:58:32 <shachaf> int-e: Well, I don't think Linux uses SYSENTER at all nowadays. Maybe it did once?
21:58:33 -!- augur has joined.
21:58:57 <shachaf> int-e: But the vsyscall ABI is just jumping to a page. Or something.
21:59:07 <wob_jonas> zzo38: the SOUND is probably not important, unless you use it for timing or something like that
21:59:11 <zzo38> You also need to ensure you are using PC character set, since MIXPC uses PC character set for I/O. (I believe FreeBASIC will automatically do this in graphical mode)
21:59:32 <zzo38> wob_jonas: It doesn't; it is used only for I/O unit 32, which is nonstandard anyways.
21:59:54 <wob_jonas> PEEK/POKE/SYSTEM/DEFUSR are obviously inherently nonportable, unless you only use them to change variables of which you get the VARPTR and VARSEG
22:00:20 <int-e> shachaf: Oh SYSENTER was introduced for IA32. Well I'm not inclined to check.
22:00:45 <wob_jonas> yeah, it's complicated. there are like four generations of system call methods on x86 introduced at different times
22:00:46 <shachaf> int-e: Then why does the vsyscall page exist at all for amd64?
22:00:48 <zzo38> wob_jonas: It uses them for reading/writing video memory
22:00:50 <shachaf> It's all very mysterious.
22:01:13 <wob_jonas> zzo38: right, that can be a problem
22:01:14 <shachaf> The more modern version is the vdso, anyway.
22:01:38 <shachaf> vdso38
22:02:00 <shachaf> Did you know Windows used to use an illegal instruction to do system calls?
22:02:08 <shachaf> Because it was faster than an interrupt.
22:02:15 <int-e> shachaf: I don't see a vsyscall page mapped here. There's a vvar and a vdso (which unsurprisingly, contains syscall instructions).
22:02:20 <wob_jonas> in that case indeed a DOS emulator would be easier
22:02:36 <wob_jonas> although I'd have to enable console to see what the program says
22:02:56 <shachaf> int-e: Hmm, what's vvar?
22:02:58 <int-e> I may have heard about the illegal instruction thing, anecdotically.
22:03:07 <shachaf> I saw that when I was looking at the code that maps vsyscall.
22:03:10 <wob_jonas> shachaf: on what generation of cpu was that?
22:03:22 <shachaf> https://blogs.msdn.microsoft.com/oldnewthing/20041215-00/?p=37003
22:03:42 <shachaf> Apparently it was around 1989.
22:03:43 <wob_jonas> "faster than an interrupt" is a bit suspicious because (a) illegal instruction generates an interrupt, and (b) isn't the normal mechanism call gates rather than interrupts?
22:03:50 <shachaf> No, before 1989
22:04:17 <shachaf> I mean faster than the interrupt instruction, I guess. I don't know.
22:04:38 <wob_jonas> shachaf: yes, but was it also faster than calling to a gate?
22:04:49 <int-e> shachaf: I'm still trying to find information, but I'd hope it's data the kernel shares with the process. it's read-only, at least
22:05:00 <wob_jonas> I mean the gross amount for handling system calls in general of course, not just that one instruction
22:05:20 <Hoolootwo> at least on z80, interrupts take a long time to trigger, since they have to push stuff to the stack, which requires an expensive 16-bit add
22:06:26 <int-e> shachaf: one thing that's available there is the current jiffies value.
22:06:27 <wob_jonas> Hoolootwo: um, the long time there i s
22:06:38 <wob_jonas> just like ten cycles or something, isn't it?
22:06:50 <Hoolootwo> hmm, I guess
22:07:22 <Hoolootwo> depending on interrupt mode, there's some extra fetches to the interrupt vector table too, not sure how those fit in
22:08:30 <Hoolootwo> I suppose the z80 can't do anything like using invalid instructions as interrupts because there is no distinction between valid and invalid instructions
22:08:57 <int-e> wob_jonas: code size may matter as well... an undefined instruction should be 2 bytes; a far call is 7 in 32 bit mode?
22:09:43 <int-e> (IIRC entering a call gate worked by doing a far call; the offset would be ignored, but the instruction demands it anyway)
22:10:03 <wob_jonas> int-e: code size can matter in general, but I don't think it matters in that case
22:10:15 <Warrigal_> I read about the 8008 once and noticed that there were a few undocumented opcodes.
22:10:24 <Warrigal_> I don't remember whether or not they did anything interesting.
22:10:42 <wob_jonas> Warrigal_: yes, and some of them got retroactively documented later
22:10:42 -!- `^_^v has quit (Ping timeout: 260 seconds).
22:10:56 <Warrigal_> I think there were only, like, 4 or something?
22:11:07 -!- `^_^v has joined.
22:11:13 <wob_jonas> in that case that happened the wrong way, that is, intel turned them to documented instructions because people were using them and they didn't want to break compatibility;
22:11:32 -!- staffehn has quit (Remote host closed the connection).
22:12:03 <wob_jonas> luckiliy some much later x86 extensions retroactively document instructions in the good way, when it comes from intel and the instructions can be used in new programs for some special purpose but with a fallback that automatically works in older programs
22:12:13 <int-e> salc is the best! (though the aam/aad with arbitrary argument were far more useful)
22:12:29 <Hoolootwo> the z80 had similar things, like the half-index register commands, which are really nice if you're running out of registers
22:12:45 <wob_jonas> int-e: what is salc?
22:12:49 <int-e> set al to carry
22:12:59 <int-e> (al = 0xFF if C is set; 0 otherwise)
22:13:04 <wob_jonas> oh... that one isn't documented officially, is it?
22:13:36 <int-e> if it is, they documented it quite late
22:13:50 -!- btiffin has quit (Quit: ChatZilla 0.9.93 [SeaMonkey 2.46/20170120202656]).
22:13:53 <int-e> (and of course all those nice instructions are gone in 64 bit mode anyway)
22:13:57 <wob_jonas> let me check
22:13:58 <Hoolootwo> that's something like ld al, 0; sbc a internally, right?
22:14:25 <int-e> Hoolootwo: well, IIRC it doesn't modify any flags.
22:14:32 <Hoolootwo> oh, interesting
22:14:35 <wob_jonas> that's a GOOD thing. the instruction encoding space was too crowded, they can reuse a lot of opcode bytes now. there were literally eight pairs of identical instructions there.
22:14:36 <int-e> and it's a single byte instruction
22:15:36 <wob_jonas> nope, no instruction named SALC is documented in the intel docs. what's its encoding? I'll check what the encoding tables say
22:15:39 <int-e> wob_jonas: I'm just complaining because I used to be a big fan of the cmp al,10; sbb al,0x6f; das sequence.
22:15:57 -!- sleffy has quit (Ping timeout: 260 seconds).
22:16:14 <wob_jonas> int-e: but are those decimal thingies still useful now that we have fast multiplication of 64-bit integers and stuff like that?
22:16:25 <Hoolootwo> D6
22:16:25 <wob_jonas> I just don't see much utility in them
22:16:35 <int-e> wob_jonas: the fast multiplication doesn't matter
22:17:01 <int-e> wob_jonas: they really were never very useful at all.
22:17:14 <wob_jonas> I mean, there's a lot of baggage the cpu has to support for compatibility. x87 floating point is still supported in 64-bit mode, sadly. supporting MMX can *sort of* make sense for obscure hacks, but why the floating point stuff?
22:17:39 -!- staffehn has joined.
22:17:59 <int-e> dunno, how else do you get those funny 80 bit floats?
22:18:14 <wob_jonas> the tables don't tell what 0xD6 encodes either.
22:18:36 <wob_jonas> it doesn't seem like intel documents it, unless it's changed very recently, and I'm lazy to check the AMD docs.
22:21:37 <wob_jonas> no wait, sorry, I'm wrong. not eight pairs. only z80 does something such silly.
22:24:18 -!- `^_^v has quit (Quit: This computer has gone to sleep).
22:27:09 <Hoolootwo> yep, all the load m,m instructions for each value of m except (hl) are a bit overkill
22:27:19 <Hoolootwo> not even counting nop
22:29:22 <wob_jonas> Wait, I've actually seen an esoteric computer that has an encoding where two register numbers (naming one of 4 general registers) are in the opcode but the instruction often means something else if the two numbers are the same
22:32:58 -!- AnotherTest has quit (Ping timeout: 276 seconds).
22:33:01 <wob_jonas> here: look at the encoding of the sxt, inv, abs instructionshttp://www.megaprocessor.com/architecture.html
22:34:22 <wob_jonas> anyway, sure, I admit there are some strange uses of the x87 and the MMX, but they're just not pulling their weight, they cost a lot to maintain
22:34:30 <wob_jonas> perhaps when x86_64 was introduced, it was not yet time to retire them
22:35:55 <int-e> wob_jonas: here's the real story, it was about returning from v86 mode: https://blogs.msdn.microsoft.com/oldnewthing/20041215-00/?p=37003
22:37:27 <int-e> (the other related thing I found was about the L4 kernel which used `lock nop` to query the location of the mapped kernel page for syscalls: http://www.pagetable.com/?p=9
22:37:30 <int-e> )
22:39:12 <int-e> And that makes sense because I bet that v86 wasn't envisioned to be a major, performance critical, mode of operation.
22:42:15 <wob_jonas> int-e: oh, returning from v86 mode. that sounds much more believable.
22:45:06 -!- sdhand has quit (Quit: *dies of death*).
22:45:20 -!- sdhand has joined.
22:45:37 -!- sdhand has quit (Changing host).
22:45:37 -!- sdhand has joined.
22:46:16 -!- boily has joined.
22:47:55 -!- sebbu2 has joined.
22:48:21 <boily> @metar CYUL
22:48:22 <lambdabot> CYUL 032100Z 24004KT 210V350 15SM FEW030TCU SCT210 OVC240 27/18 A3002 RMK TCU1CI2CI5 SLP169 DENSITY ALT 1500FT
22:48:30 <boily> too warm.
22:48:36 * boily hugs his AC.
22:50:56 -!- sebbu has quit (Ping timeout: 246 seconds).
22:51:00 -!- augur has quit (Remote host closed the connection).
22:53:24 <int-e> @metar lowi
22:53:24 <lambdabot> LOWI 032120Z AUTO 08004KT 360V150 9999 FEW120 23/17 Q1018
22:54:14 <wob_jonas> yes, too warm
22:54:35 <wob_jonas> it's almost midnight and it's still hot in here
22:54:57 <int-e> @metar ESGG
22:54:57 <lambdabot> ESGG 032150Z 22010KT 9999 FEW017 15/14 Q1001
22:55:35 <boily> ESGG?
22:55:53 <int-e> 23 is okay...
22:56:42 -!- augur has joined.
22:56:54 <Warrigal_> @metar kgrr
22:56:54 <lambdabot> KGRR 032153Z 18011G20KT 2SM R26L/3000VP6000FT -TSRA BKN043CB BKN100 BKN220 23/20 A2991 RMK AO2 LTG DSNT ALQDS RAB50 TSB45 SLP124 OCNL LTGIC S TS S MOV NE P0003 T02330200
22:57:06 <Warrigal_> My METAR is bigger than your guys's.
22:57:25 <boily> damned!
22:57:40 <wob_jonas> boily: ESGG is Göteborg
22:57:56 <boily> wellob_jonas. tdh.
22:58:20 <Warrigal_> Man, I don't know how to read these.
22:58:26 <FireFly> oh, landvetter?
22:58:30 <Warrigal_> Wind from 180, 11 knots gusting to 20 knots?
22:58:31 <wob_jonas> I don't either
22:58:53 <Warrigal_> Visibility 2 statute miles?
22:59:06 <Warrigal_> Who the hell uses statute miles?
22:59:08 <FireFly> int-e: you in Göteborg?
22:59:20 <Warrigal_> Runway 26L, 3000 Vice President... no, that's probably not right.
22:59:36 <FireFly> @metar ESSB
22:59:36 <lambdabot> ESSB 032150Z AUTO 14004KT 9999 BKN047/// OVC061/// 15/14 Q1001
22:59:40 <Warrigal_> Broken clouds at 4,300 feet with a citizens' band radio.
22:59:41 <wob_jonas> I just read the nice layperson-readable descriptions
23:00:15 <int-e> FireFly: will go there tomorrow
23:00:35 <FireFly> I see
23:00:55 <wob_jonas> this one tells me it will be too hot during the night
23:01:48 <wob_jonas> and that it will still be too hot during the next three nights
23:02:02 <wob_jonas> probably also after that, but that isn't certain
23:05:26 <quintopia> helloily
23:05:33 <quintopia> hows life
23:05:48 <wob_jonas> I hate it, especially because the major libraries (which are nice cold stone buildings) are closed for summer
23:06:01 <boily> QUINTHELLOPIA! hot!
23:06:14 <wob_jonas> and if the weather is too hot during the night for an extended time, then I have serious problems with sleeping
23:06:27 <quintopia> i heard there are heatwavy places
23:06:30 <Warrigal_> Hey, nobody porthelleaued me.
23:06:34 <quintopia> not here tho
23:06:42 <quintopia> @metar Katl
23:06:42 <lambdabot> KATL 032152Z 23006KT 10SM FEW025 SCT040 BKN080 OVC200 27/21 A3009 RMK AO2 SLP180 T02670211
23:06:46 <shachaf> That's fine, this channel has too many porthellos already.
23:06:52 <Warrigal_> :(
23:06:55 -!- alercah has left.
23:06:58 <shachaf> You can have some of mine.
23:07:00 <wob_jonas> I can tolerate a few days of heat when it's only hot during the day, but when weather is hot for weeks, then the nights are too hot and that makes me crazy
23:07:02 <quintopia> warrigallo!
23:07:18 <Warrigal_> Hallopia.
23:07:38 <Warrigal_> @metar 8d4
23:07:43 <quintopia> boily. your high is the same as mine.
23:08:08 <quintopia> i dont consider this very hot for the summer
23:08:17 <quintopia> you must be heat sensitive
23:08:17 <Warrigal_> lambdabot: not even an error message? Just silence?
23:10:58 <boily> 21 is perfect. 23 is too warm.
23:11:00 <int-e> it was meant to be a metasepia substitute for when metasepia was absent... I didn't polish it
23:11:17 <boily> I ought to remetasepia...
23:11:33 <int-e> `? metasepia
23:11:35 <HackEgo> metasepia knew the weather at your nearest airport, and also something about ducks.
23:11:55 <quintopia> ducks? ddg search?
23:12:13 <wob_jonas> not during the night
23:12:18 <boily> ddg.
23:12:26 <shachaf> `? weather
23:12:28 <HackEgo> lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK PAMR
23:12:30 <lambdabot> CYUL 032200Z 21007KT 15SM FEW040TCU BKN200 OVC240 27/19 A3003 RMK TCU1CI4CI3 SLP172 DENSITY ALT 1400FT \ ENVA 032150Z 08005KT CAVOK 16/10 Q1000 RMK WIND 670FT 13011KT \ ESSB 032150Z AUTO 14004KT
23:12:30 <lambdabot> 9999 BKN047/// OVC061/// 15/14 Q1001 \ KOAK 032153Z 31012KT 10SM BKN170 BKN200 22/14 A2996 RMK AO2 SLP145 T02170144 \ PAMR 032153Z 30009KT 10SM OVC016 14/13 A3029 RMK AO2 SLP257 T01440128
23:14:23 <Warrigal_> I loved how my #esoteric neural nets used to produce METARs from time to time.
23:14:44 <shachaf> I think the phrase "neural net" should be banned.
23:14:51 <shachaf> At least when not preceded by "artificial".
23:15:06 <shachaf> I would like every use of the word "neuron" in machine learning to go away.
23:15:39 <Warrigal_> Let's call them layered unit nets instead.
23:15:44 <int-e> shachaf: what if it's a neural safety net woven out of axons?
23:16:02 <shachaf> What's a layered unit net?
23:16:10 <shachaf> What makes it a net? What are the units?
23:17:48 -!- hppavilion[1] has joined.
23:19:54 <Warrigal_> The units are little parameterized functions with inputs and outputs.
23:20:01 <Warrigal_> And they're all connected into a big convoluted network.
23:22:13 <shachaf> I thought "layers" typically referred to vectors, not to maps between vectors.
23:24:55 <Warrigal_> Mmm, I don't think so.
23:25:09 <Warrigal_> You've got "dense layers" and "activation layers" and "convolutional layers" and various blah blah.
23:34:25 -!- imode has joined.
23:37:49 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
23:40:29 <Warrigal_> Woo, I have a new layered unit net for #esoteric. :D
23:40:34 <Warrigal_> Let's see its first words...
23:40:56 <Warrigal_> 29:48:31 <imode> the ardelilly the tree wot if denhs. zais on bit's mod treebde.
23:41:39 <Warrigal_> Well said.
23:43:09 <boily> imode is a cyborg?
23:43:27 <Warrigal_> I'm attempting to replace imode with an artificial substitute.
23:43:34 <boily> :D
23:44:00 -!- boily has quit (Quit: LESSON CHICKEN).
23:45:46 <Warrigal_> Ooh, the net mentioned comex.
23:45:47 <Warrigal_> IT KNOWS.
23:45:49 <Warrigal_> 18:49:57 <ldoes\\> `t (Rist rist-ronats (Quition comode: Comexed out ood sut dirg
23:52:51 <imode> what.
23:53:08 * imode looks at his hands.
23:53:12 <imode> am.. I.. metal?
23:55:13 <imode> Warrigal_: are you gonna run the voight-kampff test on it. :P
←2017-08-02 2017-08-03 2017-08-04→ ↑2017 ↑all