←2016-05-21 2016-05-22 2016-05-23→ ↑2016 ↑all
00:00:33 * oerjan doesn't know a quarter of it.
00:01:02 <gamemanj> !zjoust madness [[-].(+)*8]
00:01:03 <zemhill_> gamemanj.madness: points -27.76, score 2.83, rank 47/47
00:01:11 <gamemanj> !zjoust madness [[-](+)*8]
00:01:13 <zemhill_> gamemanj.madness: points -27.81, score 2.83, rank 47/47 (--)
00:01:16 <gamemanj> ...
00:01:33 -!- ybden has quit (Quit: fluff).
00:01:59 <gamemanj> !zjoust madness [>+]
00:01:59 <zemhill_> gamemanj.madness: points -43.69, score 0.42, rank 47/47 (--)
00:02:13 <gamemanj> !zjoust madness [>-]
00:02:14 <zemhill_> gamemanj.madness: points -43.69, score 0.42, rank 47/47 (--)
00:02:24 <gamemanj> !zjoust madness [>----]
00:02:24 <zemhill_> gamemanj.madness: points -44.19, score 0.48, rank 47/47 (--)
00:02:38 <gamemanj> it seems I am attempting to get the lowest amount of points possible by accident
00:02:54 <oerjan> gamemanj: that basically only goes one cell forward ever, i think
00:03:03 <gamemanj> ?
00:03:04 <oerjan> or wait
00:03:09 * oerjan misreads again
00:03:12 <gamemanj> !zjoust madness [>----.]
00:03:12 <zemhill_> gamemanj.madness: points -43.62, score 0.66, rank 47/47 (--)
00:03:19 <gamemanj> !zjoust madness [>+.]
00:03:20 <zemhill_> gamemanj.madness: points -44.02, score 0.37, rank 47/47 (--)
00:03:23 <oerjan> !zjoust suicide <
00:03:23 <zemhill_> oerjan.suicide: points -46.00, score 0.00, rank 47/47
00:03:32 <oerjan> gamemanj: that's the absolute minimum
00:03:42 <gamemanj> !zjoust madness [->+<][-<+>]
00:03:42 <zemhill_> gamemanj.madness: points -34.88, score 2.62, rank 47/47
00:03:52 -!- tromp_ has quit (Ping timeout: 252 seconds).
00:04:01 <oerjan> you are, admittedly, close in some of those.
00:04:05 <gamemanj> !zjoust madness [[->+<][-<+>]]
00:04:05 <zemhill_> gamemanj.madness: points -33.45, score 2.94, rank 47/47 (--)
00:08:51 <gamemanj> !zjoust madness (-)*128+[.-+]
00:08:52 <zemhill_> gamemanj.madness: points -19.64, score 8.24, rank 47/47 (--)
00:09:20 <gamemanj> !zjoust madness >>>>+<<<<(-)*128+[.-+]
00:09:21 <zemhill_> gamemanj.madness: points -23.52, score 5.76, rank 47/47 (--)
00:09:30 <gamemanj> !zjoust madness >>>>++<<<<(-)*128+[.-+]
00:09:31 <zemhill_> gamemanj.madness: points -22.60, score 6.11, rank 47/47 (--)
00:09:40 <gamemanj> !zjoust madness >>>>(+)*8<<<<(-)*128+[.-+]
00:09:41 <zemhill_> gamemanj.madness: points -21.14, score 6.60, rank 47/47 (--)
00:09:50 <gamemanj> !zjoust madness >>>>(+)*8<+<+<+<(-)*128+[.-+]
00:09:51 <zemhill_> gamemanj.madness: points -22.12, score 6.45, rank 47/47 (--)
00:10:01 <gamemanj> !zjoust madness >(+)*8<(-)*128+[.-+]
00:10:02 <zemhill_> gamemanj.madness: points -20.24, score 7.09, rank 47/47 (--)
00:12:08 <gamemanj> !zjoust madness >>>>+<<<<[[+][-]]
00:12:09 <zemhill_> gamemanj.madness: points -25.19, score 3.16, rank 47/47 (--)
00:14:44 <hppavilion[1]> Someone come up with a practical reason to summon Gortak, the World-Eater in a chess game.
00:15:00 <hppavilion[1]> (see <http://www.smbc-comics.com/index.php?id=4024>)
00:15:14 <gamemanj> Maybe the world looked like a tasty snack?
00:16:04 <b_jonas> `? gortak
00:16:06 <HackEgo> gortak? ¯\(°​_o)/¯
00:17:18 <gamemanj> Answer: If I'm losing at chess, then I'd summon Gortak as a scorched earth policy.
00:17:32 <hppavilion[1]> gamemanj: But you have 3 fucking queens
00:17:43 <gamemanj> Doesn't mean I can't be checkmated.
00:18:28 <zzo38> I think that summoning Gortak or whatever else you want to summon would be a valid move in a game of chess (unless you make the variant).
00:18:57 <b_jonas> ``` grep -i siona wisdom/*
00:19:05 <HackEgo> grep: wisdom/le: Is a directory \ grep: wisdom/¯\(°_o): Is a directory \ grep: wisdom/¯\(°​_o): Is a directory \ wisdom/cat introduction:cat introduction is the process of piping one or more extra `cat` commands into your pipeline; occasionally this is even actually useful. \ wisdom/nvd:nvd is what Taneb calls himself when he wants to feel pr
00:19:19 <b_jonas> ``` grep --quiet -i siona wisdom/*
00:19:20 <HackEgo> No output.
00:19:25 <b_jonas> ``` grep --silent -i siona wisdom/*
00:19:27 <HackEgo> No output.
00:19:41 <b_jonas> ``` grep --no-messages -i siona wisdom/*
00:19:43 <HackEgo> wisdom/cat introduction:cat introduction is the process of piping one or more extra `cat` commands into your pipeline; occasionally this is even actually useful. \ wisdom/nvd:nvd is what Taneb calls himself when he wants to feel professional. \ Binary file wisdom/reflection matches
00:19:53 <b_jonas> ``` grep --no-messages -il siona wisdom/*
00:19:55 <HackEgo> wisdom/cat introduction \ wisdom/nvd \ wisdom/reflection
00:21:25 <gamemanj> I'm pretty sure someone, somewhere, could construct a case where the king is in check, ironically being prevented from leaving by one of the queens, so Gortak is summoned and the king makes a move.
00:21:37 <gamemanj> ...unless Gortak's summoning counts as a turn.
00:22:09 <gamemanj> In which case, all Gortak is good for is removing 3 queens from the board.
00:26:12 <zzo38> Yes adding extra cat command can be used to force the program to treat it as a pipe instead of a terminal or file, if it cares.
00:27:22 <zzo38> gamemanj: It help if you are in check from queens I suppose
00:27:38 <gamemanj> zzo38: Nope, they have to be queens you control
00:28:10 <zzo38> O, then it might help to prevent blocking your own king, but it won't help if you are in check (unless it is a variant that includes Chinese cannons perhaps)
00:28:50 <zzo38> Or to prevent opponent being stalemated
00:29:13 -!- Frooxius has quit (Read error: Connection reset by peer).
00:29:53 <gamemanj> yes, but unfortunately if you summon Gortak nobody can ever win at chess ever again.
00:30:20 <gamemanj> Well, to be specific "if Gortak enters game".
00:30:22 -!- Frooxius has joined.
00:30:31 <gamemanj> So if Gortak is summoned but doesn't show up, you're OK.
00:31:05 <oerjan> maybe he's already full from eating exo-jupiters.
00:31:14 <zzo38> O, so you just have to block off the cell where they would be entered into, maybe (assuming it is a legal move still in such case)
00:31:52 <gamemanj> You just know someone's going to summon Gortak now and stop us from ever winning chess...
00:32:13 <oerjan> i have a hunch there are other side effects hth
00:32:14 <zzo38> Assuming it is a legal move, which it is not.
00:32:17 <b_jonas> zzo38: Hziulquoigmnzhah of Cykranosh, the dread spanw of Cxaxukluth from http://smbc-comics.com/index.php?id=4072 has a more funny name than Gortak the Destroyer
00:32:53 <zzo38> O, OK, but is that even relevant?
00:32:58 <b_jonas> no
00:33:05 <zzo38> That's what I thought.
00:33:57 <b_jonas> nor is Siona Patricia pa-Lehyll pa-Drusia Ishgur-Sal, Lady of Tyren, sometime general in His Majesty's army, dame of the Empire, and senator of Tuqnil relevant.
00:36:54 <oerjan> `coins
00:37:32 <HackEgo> No output.
00:37:35 <oerjan> `coins
00:37:48 <HackEgo> pectcoin antiacoin silacoin aveacoin syndejcoin discoin rumcoin barbazicoin ettecoin scabcogscoin highted!coin infedwriumcoin ted!coin fcoin constitycoin egexcoin recusskateflipedarezcoin sbacoin chargacoin twostepcoin
00:37:58 <oerjan> hm
00:38:12 * oerjan isn't sure whether that reboot helped or not.
00:38:20 <oerjan> `words
00:38:25 <b_jonas> is Gortok the Infernal Spawn of Infernal Spawn of Evil
00:38:29 <HackEgo> eonfrinford
00:38:36 <oerjan> `words 50
00:38:44 <HackEgo> eut mirr ilit elean lil mores beaugh hoxyd prepulch diable stelle cipera hungerresuifh corship assan deb rerg kyt ston exeraphild bomier pelle poorto yoacht citurn
00:39:15 <oerjan> maybe it's not timing out quite as much.
00:48:01 <Phantom_Hoover> `paste bin/coins
00:48:05 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/bin/coins
00:49:44 <oerjan> Phantom_Hoover: i think the expensive part is in words
00:50:49 <fizzie> ted!coins have something to do with TED talks.
00:53:48 <hppavilion[1]> Someone needs to properly catholicize Chess
00:54:14 <hppavilion[1]> Bishop, Archbishop, Cardinal, Pope, Priest, Deacon, Altar Boy, and anything else
00:54:45 <oerjan> Jesuit.
00:56:43 <zzo38> Yes if you want to make up the Catholic version
00:58:52 -!- jaboja has joined.
00:59:25 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
00:59:40 <fizzie> Jan 1 06:26:04 kernel: Out of Memory: Kill process 7145 (debootstrap) score 71 and children.
00:59:43 <fizzie> Jan 1 06:26:04 kernel: Out of memory: Killed process 14690 (ar).
00:59:48 <fizzie> That wasn't very conductive to the installation.
01:00:17 <zzo38> What are you trying to install and how much RAM is in your computer?
01:00:39 <fizzie> Debian etch/sparc, 32 megabytes of RAM, ~500 MB of swap.
01:01:09 <gamemanj> poor process... poor poor process...
01:01:10 <fizzie> About all of that swap is free, but I guess it wasn't good enough.
01:03:15 <fizzie> Oh well. I don't have any pressing reason why I need to install anything on it, I just thought it might be helpful if someone wants to take that box, so they can possibly fiddle around without having to set up the netboot environment.
01:04:28 <zzo38> But what are you trying to install?
01:05:50 <int-e> "Debian etch/sparc"
01:06:09 <fizzie> Right. I'm trying to install Debian.
01:06:23 <fizzie> (Version etch, because it's the latest one with sparc32 support.)
01:07:24 <zzo38> OK
01:08:01 <zzo38> Is there anything else that you could install that has sparc32 support?
01:08:21 <fizzie> OpenBSD would probably be fine, that's what I used to run.
01:08:39 <zzo38> You could try that maybe
01:09:28 <fizzie> I could. It's just more complicated to boot from the network for installation than Debian. (In particular, it needs a NFS server to mount the installer root filesystem from. Debian can use an initrd. Which is probably one of the reasons it runs out of memory, to be fair.)
01:09:43 <fizzie> Maybe I'll try it tomorrow.
01:14:41 <zzo38> Should the blitter in my computer design to include a stop condition as well as the copy condition (it might be helpful with C programming)?
01:19:02 <zzo38> (For example to implement such things as strcpy)
01:21:17 -!- jaboja has quit (Ping timeout: 244 seconds).
01:21:43 <gamemanj> more flexibility is good, but:
01:21:59 <gamemanj> If the blitter is parallel, people may want to reserve the blitter for their application
01:22:11 <gamemanj> so using it for a mere strcpy seems wasteful
01:22:15 -!- jaboja has joined.
01:22:53 <gamemanj> the application knows what it wants :)
01:23:22 <gamemanj> (just a note if you write a standard library for this. I haven't actually seen any documentation on your architecture, BTW)
01:23:25 <zzo38> It is not parallel; it takes up CPU cycles but would be faster than executing a loop. (Also it is much simpler than the Amiga blitter)
01:23:39 <gamemanj> Ah.
01:24:13 <zzo38> gamemanj: The document so far is http://zzo38computer.org/textfile/miscellaneous/new.computer
01:24:24 <zzo38> (It is hardly complete, just some ideas for now)
01:24:30 <gamemanj> ...CF?
01:24:37 <gamemanj> (Compact Flash)
01:24:41 <zzo38> Yes
01:25:08 <zzo38> That is what you can use for external read/write media. (For external read-only media you can use a CD or DVD.)
01:26:18 <gamemanj> ...is "low voltage == red" "high voltage == green" "phase == blue" a real standard???
01:27:38 <gamemanj> Palette has 16 entries, but "RGB" suggests 8. Perhaps you mean IRGB?
01:27:39 <zzo38> Not as far as I know, I just needed some way to do voltage/phase.
01:28:19 <gamemanj> ...so basically using the VPP mode involves knowing details about your video standard.
01:28:25 <zzo38> gamemanj: Each palette entry is a 24-bit RGB (8-bits per channel).
01:29:04 <zzo38> gamemanj: Yes, that is what VPP mode involves. (Also VPP mode only applies to analog output, and is not used for digital.)
01:29:38 <gamemanj> "phase" is relative.
01:30:18 <zzo38> Yes I know, it would be relative to colour burst probably.
01:31:06 <zzo38> (Also only half of the phases need to be implemented, because the other half can be implemented by switching the low-voltage with high-voltage.)
01:31:17 -!- oerjan has set topic: The international hub of solidity matrices | Ingredients: Hydrogen, time, stevia | logs: http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | http://esolangs.org/ | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf.
01:32:09 -!- menwithHill has joined.
01:32:30 <oerjan> gamemanj: i hope that answers your question
01:33:01 -!- lambda-11235 has joined.
01:33:05 <menwithHill> Do any of the star programming languages today incorporate the Propagators paradigm?
01:33:23 <zzo38> menwithHill: What does that mean though?
01:35:30 <menwithHill> like OOP, and FP, the paradigm of Propagators was proposed a few years back . . . wondering if Haskell, Scala, Py, JS, et al, incorporate it in any measure . . . :P
01:35:54 <oerjan> . o O ( actually, there should be ~ 25% helium )
01:35:56 <zzo38> I wouldn't know if I do not know how it works.
01:36:17 <zzo38> I do know Haskell and JavaScript programming but without know what "Propagators" is, does not help much.
01:36:38 <shachaf> menwithHill: Radul's thing?
01:37:36 <menwithHill> don't know about Radul
01:37:39 -!- jaboja has quit (Ping timeout: 276 seconds).
01:37:59 <oerjan> or maybe not. https://en.wikipedia.org/wiki/Big_Bang_nucleosynthesis
01:38:19 <gamemanj> menwithHill: perhaps describing the paradigm will help?
01:38:54 -!- jaboja has joined.
01:39:07 <shachaf> zzo38: Do you support Compact Flash-Recordable?
01:39:34 <zzo38> shachaf: I don't know.
01:42:24 <b_jonas> `pbflist 275
01:42:41 <HackEgo> pbflist 275: shachaf Sgeo quintopia ion b_jonas
01:44:09 <shachaf> thx tdh hth
01:44:30 <shachaf> Though I don't think I get this one.
01:47:15 <zzo38> gamemanj: Did you read all of this document?
01:47:20 * oerjan learns that the amount of deuterium in the universe is considered evidence of dark matter
01:47:54 <gamemanj> zzo38: If you mean your computer document - not every last detail, and to be entirely honest I have no idea why you have so many processors.
01:48:45 <zzo38> gamemanj: I thought it explain why?
01:49:11 <zzo38> It is so that you can have separate programming for video/audio than the main programming.
01:50:22 <zzo38> There is an example of the video programming near the end.
01:51:45 <gamemanj> Nice anti-"programs depending on implementation of BIOS" feature
01:52:06 <shachaf> oerjan: did you read the pdf yet hth
01:54:21 <oerjan> >_> <_<
01:56:02 <xkapastel> propagators were alexey radul's phd thesis
01:56:05 <xkapastel> http://web.mit.edu/~axch/www/art.pdf
01:56:20 <shachaf> But menwithHill doesn't know about Radul.
01:56:26 <xkapastel> sure, but they are
01:56:33 <xkapastel> so know menwithHill knows about radul
01:56:33 <shachaf> So maybe it's a different propagator.
01:56:35 <xkapastel> now*
01:56:40 <xkapastel> no, i doubt that
01:57:05 <xkapastel> anyway tbh they aren't that interesting since radul didn't successfully create a PL based on them, just an awkward scheme implementation that exposes it guts
01:57:30 <xkapastel> most of the benefit that propagators would have were left to "future work" in his thesis and the technical report
01:57:41 <zzo38> xkapastel: I will look
01:57:49 <xkapastel> i.e. integrating various "propagation" based paradigms like constraint solving, FRP, logic programming etc
01:57:58 <shachaf> menwithHill: edwardk was doing some things in https://github.com/ekmett/propagators a while ago
01:58:41 <xkapastel> interaction nets seem like a better implementation of the idea of multi-directional computation, as they're a lot more abstract than radul's scheme based stuff
01:58:59 <menwithHill> shachaf: thank you
01:59:11 <menwithHill> xkapastel: thank you
01:59:19 <xkapastel> menwithHill: https://www-lipn.univ-paris13.fr/~mazza/papers/Thesis.pdf for interaction nets
01:59:35 <xkapastel> don't be scared of the math,just read the first few sections for an introduction
01:59:43 <menwithHill> xkapastel: great; thanks
02:01:22 <menwithHill> is something else being used, say in Haskell, that covers propagators features?
02:02:06 <xkapastel> the idea behind propagators was to unify various propgation based paradigms like constraint solving and functional reactive programming
02:02:12 <xkapastel> those various paradigms are implemented in haskell, yes
02:02:33 <xkapastel> functional reactive programming in particular was originally developed in haskell
02:02:34 -!- hppavilion[1] has joined.
02:02:48 <xkapastel> and constraint solving is an important part of type inference, so haskellers are very familiar with it
02:04:09 <menwithHill> xkapastel: great. Thanks for clues.
02:04:12 <xkapastel> you're not going to find something else that's like, all of those things in one like alexey wanted, because that's a very hard problem
02:04:19 <hppavilion[1]> My favourite chess problem is the Bishop's Tour
02:04:59 <menwithHill> didn't Sussman do something with propagators?
02:05:12 <xkapastel> yes, sussman was alexey's advisor
02:05:19 <menwithHill> ah, cool
02:05:22 <xkapastel> they teamed up on the technical report which i linked to
02:05:37 <menwithHill> xkapastel: many thanks
02:07:32 <shachaf> Does the bishop have to tour both white and black squares?
02:09:32 <hppavilion[1]> shachaf: Yes, that's the joke.
02:09:52 <shachaf> I thought it was.
02:10:02 <shachaf> But then I looked it up and I saw people talking about 32-tours of the bishop.
02:10:06 <shachaf> So then I thought it wasn't.
02:10:28 <hppavilion[1]> shachaf: Oh, that's pretty stupid because of unfunniness
02:12:19 <fizzie> hppavilion[1]: Apparently the 32-square variants (at least sometimes) add a "cannot pass over a square already visited" rule to make it at least more interesting, if still not funny.
02:12:32 <hppavilion[1]> fizzie: Ah
02:20:50 <shachaf> zzo38: Have you played Gess?
02:22:33 <zzo38> shachaf: No, but I have read the rules
02:24:38 -!- jaboja has quit (Ping timeout: 276 seconds).
02:31:07 -!- tromp_ has joined.
02:37:11 -!- Phantom_Hoover has quit (Remote host closed the connection).
02:41:00 -!- gamemanj has quit (Quit: Leaving).
02:52:22 -!- jaboja has joined.
03:05:35 <hppavilion[1]> http://explosm.net/comics/4240/
03:09:08 -!- tromp_ has quit (Remote host closed the connection).
03:15:50 -!- Opodeldoc has joined.
03:18:51 -!- jaboja has quit (Remote host closed the connection).
03:39:25 -!- tromp_ has joined.
03:44:21 -!- bender has joined.
03:47:56 -!- bender__ has joined.
03:48:16 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
03:49:16 -!- bender has quit (Ping timeout: 250 seconds).
04:05:22 -!- mad has quit (Ping timeout: 260 seconds).
04:07:20 -!- jaboja has joined.
04:20:22 -!- bender has joined.
04:21:29 -!- bender__ has quit (Ping timeout: 260 seconds).
04:22:47 -!- menwithHill has left.
04:31:10 -!- Akaibu has quit (Quit: Connection closed for inactivity).
04:40:29 -!- jaboja has quit (Ping timeout: 276 seconds).
04:50:10 -!- jaboja has joined.
05:14:05 -!- oerjan has quit (Quit: Nite).
05:45:00 <shachaf> @tell ais523 http://baesystemsai.blogspot.com/2016/04/two-bytes-to-951m.html suggests that 90 programs can be very valuable.
05:45:00 <lambdabot> Consider it noted.
05:55:20 -!- tromp_ has quit (Remote host closed the connection).
05:59:35 -!- Kaynato has quit (Ping timeout: 260 seconds).
06:24:38 -!- Elronnd has changed nick to Aah.
06:25:18 -!- Aah has changed nick to Elronnd.
06:27:07 <zzo38> Maybe the 640x480 mode is reduced to approx. 17 frames per second, and the 800x600 mode is removed.
06:30:56 <zzo38> (Or might be included but with the frame rate reduced even more)
06:31:37 <shachaf> Did you know the Symbolics 3600, from the 1980s, had a 1280x1024 color display?
06:32:47 <quintopia> okay, i lolled the new pbf. thx gaiz
06:32:59 <zzo38> Actually I think 640x480 could be faster than 17 frames per second, because the number 17 would assume that vblank has the same number of scanlines and it might not have to be (only the number of clock cycles should probably be at least as much)
06:33:36 <zzo38> shachaf: No, but now I do. What frame rate and how many colours could it display (and in what class)?
06:34:47 <shachaf> zzo38: I'm not sure, but it had an 8MHz CPU and 2.3MB RAM.
06:34:52 <zzo38> (By the class I mean the X visual classes, such as TrueColor, PseudoColor, DirectColor, etc)
06:40:18 <zzo38> X visual classes of course have nothing like Extra-HalfBrite or Hold-and-Modify.
06:41:33 <shachaf> I don't think it used X.
06:42:42 <zzo38> It doesn't matter; did it use one of those visual classes though, and was it XY format or Z format?
06:43:13 <shachaf> I don't know.
06:43:44 <zzo38> Do you know who does know this information (and also the frame rate)?
06:43:56 <zzo38> I will see if Wikipedia mentions, I suppose
06:44:12 <shachaf> But it cost $110,000.
06:44:37 <shachaf> Today you can get a computer with more than twice as much RAM for less than half that price.
06:44:57 <shachaf> zzo38: Maybe you can find out from http://www.textfiles.com/bitsavers/pdf/symbolics/3600technicalSummary_Feb83.pdf
06:46:19 <shachaf> The interactive display was 1150x900.
06:56:01 -!- tromp_ has joined.
07:00:50 -!- tromp_ has quit (Ping timeout: 260 seconds).
07:09:33 <zzo38> I could not find the information in there, but I could find details about the programming system, which supports macros, unbounded arrays, coroutines, exceptions, functions that return multiple values, optional parameters, keyword parameters, namespaces, and a "Flavor System" which is a kind of object-oriented system and the dependencies are not constrained to be hierarchical.
07:11:15 <coppro> shachaf: do you have a moment?
07:11:22 <shachaf> A moment?
07:12:01 <coppro> I'm trying to sort out some monad transformer stuff and need a good rubber duck. I just need you to pretend to read what I'm writing, because if my rubber duck is knowledgeable I find that helps more
07:12:23 <shachaf> monad transformers moproblems
07:12:31 <coppro> I'm trying to work with an operational (custom) monad that also has state and I need to figure out which one goes on top of which.
07:12:52 <coppro> I want the interpreter for the custom monad to be able to control the state; roll it back, etc.
07:14:36 <coppro> so if I put the state as the outer monad... given a starting state, it produces a list of instructions which will produce a final state
07:15:15 <coppro> but then the interpreter is not aware of or able to affect the state in any way... so I think it has to go on the inside?
07:15:53 <coppro> unless the interpreter knows that (a,s) is the state type
07:16:15 <coppro> but if the interpreter is on the inside, then the interpreter can't exit the state environment
07:17:35 <coppro> in particular, I want the interpreter to be able to change the state type
07:18:26 <coppro> to do that it needs to be able to execute the state, change type, and resume execution
07:19:10 <coppro> but that's a property of the interpreter itself, not the actual computation
07:19:12 <coppro> hrmmm
07:19:13 <shachaf> It's not the same monad at that point. Maybe you want indexed monads?
07:19:34 <shachaf> Can you come up with a simpler monad than Operational f to use to think about this?
07:21:12 <coppro> I know it's not the same monad
07:22:15 <coppro> maybe I do need indexed monads
07:29:09 <coppro> or maybe I should just stop using StateT
07:29:10 <coppro> hrm
07:30:38 * coppro goes to sleep
07:31:24 <zzo38> It says the monochrome 1150x900 display is 60 frames per second, as well as 16-bit stereo 50 KHz audio.
07:33:55 <pikhq> That's pretty low quality audio.
07:34:26 <pikhq> A higher sample rate is pretty important.
07:34:34 <pikhq> Oh, wait. 50 kHz.
07:34:40 <pikhq> For some reason I read that as 5.
07:35:09 <pikhq> Plenty fine, then. Slightly weird (due to not being 48 kHz), but definitely not low quality.
07:35:27 <shachaf> pikhq: This was in 1983.
07:35:43 <pikhq> Oh, for some reason I missed that context.
07:35:46 <shachaf> Everything was slightly weird back then.
07:35:52 <pikhq> I thought it was a thing that zzo38 was designing or something.
07:36:00 <pikhq> For the time period that's quite respectable.
07:36:15 <shachaf> Well, the computer cost $110,000.
07:36:34 <pikhq> Right. Given that it damned well better have good specs. :)
07:36:49 <zzo38> Now I found also about colours, it says it supports both 8-bit PseudoColor and 24-bit TrueColor modes, and both XY and Z formats.
07:38:21 <HackEgo> [wiki] [[Mornington Crescent]] https://esolangs.org/w/index.php?diff=47057&oldid=44604 * * (-21)
07:48:53 <\oren\> omg I have to fire the engines for six hours
07:49:13 <\oren\> goddamn ion thrusters
07:49:29 <zzo38> Clearly my own design is much more limited: 4-plane PseudoColor XYPixmap, and 15-plane TrueColor ZPixmap.
07:56:06 <shachaf> zzo38: Maybe you should make your design more like the Symbolics 3600.
07:57:42 <zzo38> I don't intend to be as complicated as that
07:58:02 <shachaf> Well, maybe your computer should use a Mill CPU.
07:59:08 <zzo38> No I think I would probably do my own patent-free design
08:18:11 <\oren\> ok, that's one half hour
08:20:54 -!- lambda-11235 has quit (Quit: Bye).
08:25:38 -!- xkapastel has quit (Quit: Connection closed for inactivity).
08:47:26 -!- hppavilion[1] has joined.
08:56:28 -!- tromp_ has joined.
09:01:13 -!- tromp_ has quit (Ping timeout: 252 seconds).
09:18:08 <hppavilion[1]> I should probably learn what Go is...
09:19:26 <hppavilion[1]> Wow, it was an art in and of itself that scholars had to know
09:38:32 <myname> the good go or the google go?
09:59:00 -!- jaboja has quit (Remote host closed the connection).
10:00:14 -!- Opodeldoc has quit (Quit: Leaving).
10:01:32 <hppavilion[1]> https://youtu.be/abv4Fz7oNr0 forces me to beg the question of what the 3.5th digit of pi is
10:04:01 <hppavilion[1]> shachaf: I expect my answer by morning. Goodnight.
10:04:29 <shachaf> please don't beg the question
10:04:38 <shachaf> and why do you ping me about these things
10:05:59 <myname> obviosly it is (1+5)/2 = 3
10:08:33 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
10:31:38 -!- augur_ has quit (Read error: Connection reset by peer).
10:32:49 -!- augur has joined.
10:51:20 <FreeFull> That's easy, write Pi in base 5
10:51:29 <FreeFull> Boom, you've got half-digits
10:53:51 <myname> :D
11:00:17 <FreeFull> lambdabot: pi
11:00:23 <FreeFull> > pi
11:00:25 <lambdabot> 3.141592653589793
11:01:06 <FreeFull> It'd be something like 3.0104011014021110
11:01:22 <FreeFull> Actually, I'm probably doing this wrong
11:01:40 <FreeFull> Yeah, definitely doing it wrong
11:01:47 <FreeFull> No half-digits this way
11:03:27 <myname> SO wrong
11:04:39 <int-e> FreeFull: that can work... you have a mixed base representation that alternates between bases 2 and 5
11:05:16 <FreeFull> int-e: Yeah, but it wouldn't make sense to talk about half-digits with that representation
11:05:23 <int-e> true.
11:05:50 <int-e> but it could easily be *more* wrong :P
11:06:20 <FreeFull> =P
11:06:53 <FreeFull> What you really want is to start with a base that is a square number
11:06:56 <FreeFull> Then you can talk about half-digits
11:07:05 <FreeFull> Say, base 16 is good
11:07:19 <FreeFull> Then the half-digits would be in base 4
11:07:52 <int-e> if you glance at them in a mirror, 2 and 5 become hard to tell apart :P
11:10:07 <int-e> Unicode has so many silly things... but no 7 segment digits... I'm disappointed.
11:11:01 <FreeFull> We could look at base sqrt(10)
11:11:10 -!- AnotherTest has joined.
11:12:14 <int-e> Non-integer bases are icky...
11:12:39 <int-e> you could alternate between 3 and 4 to keep digit values as close to powers of 10 as possible.
11:13:42 <int-e> Wikipedia is so useful. https://en.wikipedia.org/wiki/Calculator_spelling
11:17:49 <FreeFull> Base pi is best
11:17:56 <FreeFull> Then you can just write 10.0000000000000
11:20:04 <lifthrasiir> FreeFull: now define the canonical representation
11:20:14 * FreeFull shrugs
11:20:50 <FreeFull> As far as non-integer bases go, how about https://en.wikipedia.org/wiki/Golden_ratio_base
11:21:04 <lifthrasiir> phi-base has a well-defined canonicalization scheme
11:21:09 <FreeFull> Yeah
11:21:11 <lifthrasiir> not sure if it is possible for general non-integral bases
11:21:14 <lifthrasiir> probably not
11:24:30 -!- puckipedia has quit (Ping timeout: 260 seconds).
11:25:42 -!- boily has joined.
11:27:29 -!- puckipedia has joined.
11:29:53 -!- ybden has joined.
11:57:44 -!- bender has quit (Disconnected by services).
11:57:53 -!- tromp_ has joined.
11:58:12 -!- bender__ has joined.
11:58:50 -!- bender__ has quit (Client Quit).
12:02:32 -!- tromp_ has quit (Ping timeout: 260 seconds).
12:02:46 -!- boily has quit (Quit: RELUCTANT CHICKEN).
12:31:19 -!- puckipedia has quit (Ping timeout: 252 seconds).
12:32:11 -!- puckipedia has joined.
12:32:45 -!- AnotherTest has quit (Ping timeout: 260 seconds).
12:52:49 <int-e> Urgh, Microsoft still messes up email... no references, no in-reply-to headers. SIGH.
13:00:09 <int-e> Hmm, no, I'm blaming the wrong people.
13:00:36 * int-e is confused.
14:11:11 -!- MDude has joined.
14:43:20 -!- AnotherTest has joined.
14:45:21 -!- Reece` has joined.
14:51:40 -!- gamemanj has joined.
14:53:14 <gamemanj> ...so I found out zzo38's computer draft specification contains mentions of the occult, and "sprites" (given the aforementioned OCCULT, probably not the computer kind)!
14:53:31 <gamemanj> ...where can I get one of these computers?
14:54:56 <gamemanj> ("bit6 (OCCULT) - Hide sprite if playfield pixel is non-background" - presumably "pixel" is an alias of "pixie", and it's referring to hiding the sprites from the pixies... but why?)
15:17:57 <int-e> @src traverse
15:17:57 <lambdabot> Source not found.
15:31:16 -!- AnotherTest has quit (Ping timeout: 250 seconds).
15:39:13 -!- xkapastel has joined.
15:45:43 -!- tromp_ has joined.
15:56:30 -!- evalj has joined.
16:32:59 -!- lambda-11235 has joined.
16:43:21 <b_jonas> coppro: “if my rubber duck is knowledgeable I find that helps more” => ah thanks, exactly. that's an excuse I use for having so many animal toys, because they're knowledgable in different areas
16:49:52 -!- Reece` has left ("Alsithyafturttararfunar").
17:19:50 <HackEgo> [wiki] [[Language list]] https://esolangs.org/w/index.php?diff=47058&oldid=47045 * Bakman329 * (+15) /* L */
17:50:09 -!- moon_ has joined.
17:50:42 -!- moon_ has changed nick to lolyouthinkimrea.
17:53:52 -!- lolyouthinkimrea has quit (Client Quit).
17:55:09 -!- tromp_ has quit (Remote host closed the connection).
17:55:11 -!- HackEgo has quit (Remote host closed the connection).
17:55:22 -!- HackEgo has joined.
18:03:00 <\oren\> AAAAAAAAAAAAA
18:03:28 <\oren\> whoever thought ion engines were a good idea!
18:04:26 <\oren\> i should have put six engines on this damn thing
18:06:25 <fizzie> \oren\: I think that was Tsiolkovsky and Goddard, or something like that.
18:06:36 <zzo38> gamemanj: If you read the rest of the document you would find that is not the case. (Although yes the word is similar, maybe by coincidence)
18:29:24 -!- AnotherTest has joined.
18:35:53 <zzo38> Occult means "to cover or hide from view", and this is what it means here.
18:40:04 <zzo38> Also, you can't get one of these computers yet.
18:49:58 -!- hwpplayer1 has joined.
18:55:39 -!- tromp_ has joined.
19:00:03 -!- tromp_ has quit (Ping timeout: 240 seconds).
19:07:40 -!- hwpplayer1 has quit (Remote host closed the connection).
19:20:20 <gamemanj> Well, occultists aren't always fans of the public eye...
19:21:22 <zzo38> You can't get one of these computers in private yet either.
19:21:48 <gamemanj> :)
19:23:37 <gamemanj> hmm, "Never (not very useful)" is actually wrong - it's quite useful indeed for an optimized boolean flag toggle & branch..
19:23:57 <gamemanj> use a XOR to swap between always & never, then perform the jump
19:25:03 <zzo38> OK, so there is a use; I didn't know that.
19:30:26 <gamemanj> Jump-to-register... if memory space is 16-bit, jump-to-register could select the target register as the "high" byte and the "other" register as the "low" byte?
19:31:38 <gamemanj> I'm wondering if CMC is useful... I guess if you have two blocks of code with different conditional settings and you want to run both, a CMC would help, but why write the code that way?
19:32:39 <zzo38> But the jump is to the address of the operand, and the registers do not have an address. So, I do not know what it would do, but once the circuit is designed then we can see what it would do.
19:33:45 <gamemanj> Well, no need to design an actual electronic circuit - in my experience, Logisim's good for playing around with logic design, but ofc it's graphical. On the one hand the graphics make it easier to keep track, on the other you have to route about the lines.
19:34:40 <zzo38> The point of CMC is mainly to be used conditionally (so you do not need both SEC and CLC instructions), although there may be unconditional uses as well.
19:35:57 <gamemanj> Ah, I see.
19:36:10 <gamemanj> You've described quite a bit of the CPU now I look at it, but where you have "two bits of", you should have a bitfield "ccaaoooo" and designate which side is MSB (consistency with general numeric systems and hex/etc. says MSB first), but you should probably fill in the other instructions and list flag effects.
19:36:48 <zzo38> Yes; I haven't quite designed that part yet (but should). The other instructions and flag effects are same as 6502.
19:39:42 <gamemanj> Well, you've "designed" the bitfield already more or less, you just haven't made it very explicit.
19:40:13 <gamemanj> Also, "same as 6502" is great if you know the 6502, but not so good if you don't ^.^;
19:40:46 <zzo38> Of course proper documentation would make all of these things explicit.
19:41:24 <zzo38> (I also haven't written the assignment of the numbers to each instruction; this too probably would need the circuit to be designed (not necessarily built though).)
19:42:09 * gamemanj thinks about it some more
19:42:27 <gamemanj> What happens if you LDA A?
19:43:50 <gamemanj> Ok, so LDA's probably a 2-cycle (read opcode / copy value) instruction on the register-to-register case...
19:44:33 <zzo38> Nothing, I think.
19:51:26 <gamemanj> STA to an immediate...
19:51:41 <gamemanj> Would that act like zeropage, or?
19:52:20 <zzo38> No, it would overwrite the immediate
19:52:36 <zzo38> (Like it would do on VAX, I think; but I don't really know much about VAX)
19:53:38 <gamemanj> Does this apply to all instructions that store into the addressed value?
19:53:48 <zzo38> (Note that on an actual 6502, STA to an immediate does nothing.)
19:55:39 <zzo38> gamemanj: Yes, although there are only two such instructions in the video processor, STA and STB.
19:56:05 <gamemanj> Two makes it easy - prefix them with something like 111*.
19:56:31 <zzo38> Yes, that is what I thought of too.
19:57:17 -!- tromp_ has joined.
19:58:54 <gamemanj> Good news, your NOP is 0x00.
19:59:08 <gamemanj> Always Execute / Immediate / JMP.
19:59:40 <zzo38> Yes, I did also think of that.
19:59:54 <gamemanj> Good to see you thought it through.
20:02:00 -!- tromp_ has quit (Ping timeout: 276 seconds).
20:03:17 <b_jonas> 0x00 being nop is handy, although 6502 and mmix takes a different route, making an all-zero instruction a trap so that an accidental jump through a stray pointer would likely be discovered quickly instead of just noping for a while
20:04:38 <b_jonas> and I think 6502 has separate register-to-register transfer instructions
20:06:45 <zzo38> Yes, 6502 does have separate register-to-register instructions, such as TAX TAY TXA TYA TSX TXS
20:22:51 <b_jonas> Does “thrull” as in the name of the M:tG creature type etimologically come from “thrall”?
20:24:41 <b_jonas> `? thrull
20:24:43 <b_jonas> `? thrall
20:25:14 <HackEgo> thrall? ¯\(°​_o)/¯
20:25:14 <HackEgo> thrull? ¯\(°​_o)/¯
20:27:28 -!- hwpplayer1 has joined.
20:29:02 <gamemanj> zzo38: I've worked out some timings and opcode IDs.
20:31:34 <gamemanj> https://dl.dropboxusercontent.com/u/21184720/zzo38-op.txt
20:56:32 <\oren\> b_jonas: . o O (thrull -> thrust bearing hull?)
20:57:43 -!- hwpplayer1 has left.
20:58:23 <\oren\> b_jonas: I remember reading of a 6502 variant where all undefined instructions were BRK, and people wrote code at the BRK handler to create custom instructions
21:02:10 <gamemanj> "custom instructions"... which were presumably really slow?
21:02:42 <gamemanj> Still, must've improved code density greatly.
21:04:04 <\oren\> maybe it's more like a function call?
21:04:33 <gamemanj> Well, yes, but you still have to disambiguate between the different custom instructions
21:04:35 <\oren\> a 6502 function call takes 3 bytes of code, this would take only one.
21:05:33 <gamemanj> So you'd either need 0x200 bytes for a vector table or something (1/128th of memory is a LOT, believe it or not)... or you'd need quite a few branches (potentially slow)
21:06:33 <\oren\> yeah i'm not entirely sure what they did
21:06:52 <gamemanj> maybe they just had one "custom instruction" for something they used a lot?
21:08:06 <gamemanj> Or maybe there were only 16 or so custom instructions, so they could afford a vector table.
21:09:09 <\oren\> Hmm, the gaps in the 6502 instruction set are highly regular, so a 16 entry table would definitly work
21:11:10 -!- idris-bot has quit (Ping timeout: 244 seconds).
21:18:46 -!- idris-bot has joined.
21:19:27 <b_jonas> \oren\: nice, that's ahead of the 6502's time, I thought that kind of thing would start only at processors with memory protection, when the cpu could no longer afford for unprivilaged processes to run instructions they don't implement properly
21:23:53 <zzo38> gamemanj: OK I looked at what you wrote I think it can be a good design
21:24:52 -!- AnotherTest has quit (Ping timeout: 250 seconds).
21:27:08 <gamemanj> Also note that !RESET should probably be buffered, and only updated when the clock goes low - this is because if RESET went off just before the clock went high, then it could change state before the RESET-off had propagated
21:28:01 <zzo38> OK thanks
21:28:18 <gamemanj> and as the default value of the AND'd clock during RESET is *low*, updating when clock goes low means that clock should stay low for the next cycle.
21:48:18 -!- Akaibu has joined.
21:51:18 <int-e> @unpl join id
21:51:18 <lambdabot> (\ d -> (\ a -> a) d d)
21:51:28 <int-e> oh, good, I didn't introduce that bug.
21:53:16 <\oren\> un perl?
21:54:09 <int-e> no, un-point-free
21:54:11 <int-e> @help unpf
21:54:11 <lambdabot> pointful <expr>. Make code pointier.
21:54:22 <int-e> @help pl
21:54:22 <lambdabot> pointless <expr>. Play with pointfree code.
21:54:24 <shachaf> \oren\: also known as "knit" hth
21:54:43 <int-e> anyway I have code that produces \ b0 -> b0 b0 instead, now.
21:54:54 <shachaf> That's not even valid Haskell.
21:55:02 <shachaf> You should add a spot of the type checking.
21:55:18 <int-e> I WILL NOT
21:55:49 <shachaf> @pl (\x -> x x) (\x -> f (x x))
21:55:50 <int-e> I'm at 1 file changed, 196 insertions(+), 97 deletions(-) just to handle alpha ... hopefully properly.
21:55:52 <lambdabot> ap id id (f . ap id id)
21:55:52 <lambdabot> optimization suspended, use @pl-resume to continue.
21:56:12 <shachaf> @pl (\x -> f (x x)) (\x -> f (x x))
21:56:15 <lambdabot> (f . ap id id) (f . ap id id)
21:56:15 <lambdabot> optimization suspended, use @pl-resume to continue.
21:56:20 <shachaf> @pl-resume
21:56:26 <lambdabot> (f . ap id id) (f . ap id id)
21:56:26 <lambdabot> optimization suspended, use @pl-resume to continue.
21:56:28 <shachaf> come on @pl tdnh
21:56:39 -!- hppavilion[1] has joined.
21:56:40 <int-e> what are you trying to do?
21:56:46 <shachaf> make it print a whole bunch of fs
21:56:55 <int-e> it keeps the shortest result
21:57:00 <int-e> so... no.
21:57:03 <hppavilion[1]> tust
21:57:04 <shachaf> oh
21:57:14 <hppavilion[1]> Nope, no new lambdabottery
21:57:16 <\oren\> `? pointfree
21:57:22 <HackEgo> pointfree? ¯\(°​_o)/¯
21:57:26 <hppavilion[1]> shachaf: Have you found my answer?
21:57:43 <shachaf> this irc channel is unfortunately too narrow to contain it
21:58:23 <\oren\> `le/rn pointfree/Pointfree programming sounds better than pointless programming.
21:58:29 <HackEgo> Learned «pointfree»
21:58:32 <hppavilion[1]> shachaf: ...well played
21:58:38 <hppavilion[1]> `? flag of #esoteric
21:58:40 <HackEgo> flag of #esoteric? ¯\(°​_o)/¯
21:58:44 <hppavilion[1]> Hm...
21:58:52 <shachaf> @help pl
21:58:52 <lambdabot> pointless <expr>. Play with pointfree code.
21:58:53 <hppavilion[1]> The flag of #esoteric is, of course, 6-dimensional
21:59:00 <shachaf> point-free ought to have a hyphen
21:59:23 <hppavilion[1]> shachaf: That'd be kind of pointless
21:59:37 <hppavilion[1]> `fonzie
21:59:38 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: fonzie: not found
21:59:39 <shachaf> also your joke is old and overdone hth
22:00:02 <hppavilion[1]> shachaf: Yes, it's become kind of pointless
22:02:34 -!- gamemanj has quit (Ping timeout: 250 seconds).
22:04:19 -!- Phantom_Hoover has joined.
22:15:31 <int-e> s :: Exp -> Exp
22:15:31 <int-e> s = join traceShow
22:15:43 <int-e> hum
23:23:00 -!- Opodeldoc has joined.
23:25:03 -!- oerjan has joined.
23:37:00 -!- rntz has joined.
23:37:15 <rntz> shachaf told me someone here knows a bunch about the 100-prisoners-and-a-lightbulb puzzle?
23:37:17 -!- jaboja has joined.
23:37:44 <oerjan> ...did all of this happen since i left...
23:37:53 <oerjan> (this morning)
23:37:55 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
23:38:49 <b_jonas> rtnz: there was a good article about that
23:39:00 <b_jonas> rtnz: let me try to find it
23:39:20 <rntz> there are several, I think... do you mean the Wu paper?
23:40:10 <b_jonas> rntz: dunno, do you have a link?
23:40:33 <shachaf> I was thinking of int-e but I might be wrong.
23:40:39 <rntz> https://www.ocf.berkeley.edu/~wwu/papers/100prisonersLightBulb.pdf
23:44:36 -!- hppavilion[1] has joined.
23:46:29 <hppavilion[1]> Hm... are there any Chess-like board games featuring modal logic?
23:47:00 <zzo38> I don't know; do you know how to make up such a game?
23:51:38 <hppavilion[1]> zzo38: Nope
23:52:13 <zzo38> But I also don't know.
23:52:26 <hppavilion[1]> All my life, I think I've been searching for something
23:52:42 <hppavilion[1]> I've always felt like there's something I'm supposed to find
23:52:47 <hppavilion[1]> Something I've lost and I must retrieve
23:53:09 <zzo38> What kind of thing do you think you are trying to find?
23:53:30 <hppavilion[1]> I think I might have found it at https://en.wikipedia.org/wiki/Chess_on_a_Really_Big_Board
23:53:40 <hppavilion[1]> Unfortunately, my browser crashes every time I try to open that page
23:59:27 <hppavilion[1]> THERE we go
←2016-05-21 2016-05-22 2016-05-23→ ↑2016 ↑all