00:01:52 <fizzie> I set up the read-only backup copy, with two caveats. Firstly, I still hadn't changed the TTLs, so it will take up to a day for the DNS change to propagate. Secondly, the TLS certificate on it has expired, and I can't letsencrypt a new one until the DNS changes go through.
00:02:36 <fizzie> But you may be able to browse the wiki at http://esolangs.zem.fi/
00:07:29 -!- jaboja has joined.
00:07:30 <fizzie> Now I need some sort of a way to notice when (if) it comes back up, so I know how to undo this.
00:12:16 -!- DHeadshot has quit (Ping timeout: 260 seconds).
01:20:25 -!- augur has quit (Remote host closed the connection).
01:22:26 -!- doesthiswork has joined.
01:34:46 -!- augur has joined.
01:37:15 <tswe_tt> It just occurred to me that I can probably kill Warrigal.
01:39:03 <tswe_tt> Oh, Warrigal isn't a registered nickname.
01:39:09 -!- tswe_tt has changed nick to tswett.
01:40:22 <boily> meanwhile, MWAH AH AH AH AH.
01:40:30 <boily> firestarter. I *love* that artifact.
01:40:54 -!- Remavas-Hex has joined.
01:43:13 -!- Remavas has quit (Ping timeout: 248 seconds).
01:45:28 -!- hppavilion[1] has joined.
01:46:41 <boily> everything explodes everywhere! ludicrous flaming gibs!
01:46:50 <boily> MWAH AH AH AH AH AH AH AH!!!
02:03:20 -!- jaboja has quit (Ping timeout: 260 seconds).
02:22:27 -!- tswett has quit (Ping timeout: 240 seconds).
02:23:01 -!- boily has quit (Quit: HYPOTHETIC CHICKEN).
02:25:15 -!- jaboja has joined.
02:26:59 -!- Warrigal_ has joined.
02:32:03 -!- Warriga_l has joined.
02:34:54 <ski> hello shachaf
02:35:04 -!- Warrigal_ has quit (Ping timeout: 260 seconds).
02:37:14 <ski> atm i'm rather sleepy. about to head for bed
02:37:27 <lambdabot> Local time for ski is Fri Jul 7 03:37:26 2017
02:37:40 <ski> say again ?
02:43:44 -!- sleffy has joined.
02:52:57 -!- Warriga_l has quit (Ping timeout: 240 seconds).
02:55:19 -!- Warrigal_ has joined.
02:57:12 -!- Warriga_l has joined.
03:00:44 -!- Warrigal_ has quit (Ping timeout: 260 seconds).
03:01:37 -!- Warriga_l has quit (Ping timeout: 248 seconds).
03:01:51 -!- ais523 has joined.
03:03:13 -!- staffehn has quit (Ping timeout: 276 seconds).
03:05:19 -!- imode has joined.
03:05:35 <imode> is the wiki being hijacked?
03:07:17 -!- staffehn has joined.
03:08:48 -!- jaboja has quit (Ping timeout: 260 seconds).
03:09:05 -!- jaboja has joined.
03:22:49 <Hoolootwo> http://esolangs.zem.fi/ is a mirror
03:23:49 <imode> I'm getting cert errors when trying to connect to it.
03:24:14 <imode> annnd it's back up.
03:24:44 <fizzie> I've put up a local, read-only copy.
03:25:08 <fizzie> 00:01 <fizzie> I set up the read-only backup copy, with two caveats. Firstly, I still hadn't changed the TTLs, so it will take up to a day for the DNS change to propagate. Secondly, the TLS certificate on it has expired, and I can't letsencrypt a new one until the DNS changes go through.
03:25:23 <fizzie> Hence the certificate issues.
03:26:19 <fizzie> (The VPS it normally runs on is being unresponsive.)
03:27:41 <fizzie> https://www.reddit.com/r/CloudAtCost/comments/6llch0/all_servers_down_panelcloudatcostcom_not_available/
03:31:22 -!- hppavilion[0] has joined.
03:33:20 <imode> well this looks like a scam....
03:34:35 <fizzie> There's really nothing new about that, but we've been coasting by with what we've got.
03:35:08 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
03:35:11 <shachaf> Nothing new about it looking like a scam?
03:35:21 <fizzie> (Also I don't own the VPS, I just run the wiki on it. So I don't e.g. have access to that control panel, even if it was working.)
03:36:42 <fizzie> On the positive side, I managed to renew the certificate (the temporary DNS changes had propagated to whatever letsencrypt used for the domain validation), so if you're getting the non-broken address, https://esolangs.org/ should be working again.
03:40:10 <fizzie> I'd give CaC reasonable chances of still coming back from the dead. It was down for a few days a while back as well, but reappeared.
03:42:32 <shachaf> has it clawed its way back from the dead before
03:49:23 <pikhq> I'd be a bit questionable, considering that all-of-a-sudden $9 service charge seems like *exactly* the sort of thing you do when your business model has failed utterly.
03:49:42 <pikhq> Along with reports that people have had trouble cancelling service.
03:50:21 -!- _keemyb_ has quit (Ping timeout: 255 seconds).
03:51:30 <ais523> what was their original plan for making money?
03:52:15 -!- ybden has quit (Excess Flood).
03:52:45 <shachaf> Charge people a bunch of money and then turn off the service after a while?
03:52:46 -!- keemyb has joined.
03:52:54 -!- ybden has joined.
03:52:57 <shachaf> Or scam them with a monthly fee that you add on without telling them.
03:54:05 <fizzie> As I understand it, they're corporationally part of something that does make money, or at least in partnership with.
03:54:18 <fizzie> http://ventures.fibernetics.ca/cloud-at-cost/
03:54:26 <shachaf> fizzie: Ah, so it's like most of Alphabet?
03:54:39 <pikhq> They might've assumed they could be able to get enough word of mouth that more regular-cost-structure services could take off later?
03:54:47 <fizzie> I don't know if their business model can be understood in isolation, but I also don't know how it would make sense in conjunction with Fibernetics either.
03:56:28 <fizzie> "It began as part of an internal side project aimed at rekindling the entrepreneurial spirit within an established 200-employee tech company. Less than a year later, Cloud at Cost – a hosting service with a $35 one-time fee and no monthly bill – has raked in $1 million without any marketing, and injected fresh energy into Fibernetics, --"
03:56:33 <fizzie> http://news.communitech.ca/columns/cloud-at-cost-injects-fibernetics-with-startup-energy
03:56:56 <fizzie> That was written when the "no monthly bill" part was more true.
03:57:50 <shachaf> Maybe their business model should be not to allow anyone in Europe to use their services.
03:58:58 <fizzie> "The 11,000-square-foot facility boasts a data centre filled with servers and related equipment Fibernetics was able to acquire at deep discounts, and a rooftop solar array that generates more power than the operation uses. The servers access the same network upon which Fibernetics’ Internet and phone business is based. -- “That really gave us the unfair advantage to go ahead against other [cloud]
03:59:04 <fizzie> companies that have to pay for space and power and Internet and all those things.”"
04:01:58 <fizzie> I wouldn't mind running the thing on something more reasonable, but that would involve paying money, and I've already gotten into discussions re fronting the bill for the domain. VPSes tend to be about an order of magnitude more expensive than domains.
04:03:28 <pikhq> All that said, it's entirely possible that all that's going on is they've had issues and the entire side project is a very low priority.
04:05:11 <fizzie> Anyhoo, time to go sweat^W sleep.
04:05:16 <fizzie> (It's 27 degrees indoors.)
04:09:20 -!- jaboja has quit (Ping timeout: 260 seconds).
04:29:40 -!- sleffy has quit (Ping timeout: 276 seconds).
04:42:46 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
04:54:14 <Hoolootwo> I don't think I can currently volunteer to host it, maybe once I get a server into a colo somwhere
04:54:48 <ais523> Hoolootwo: with MediaWiki the problem is mostly CPU power, not bandwidth
04:54:54 <ais523> it's much more CPU-hungry than you might expect
04:56:31 <ais523> my guess is that it's fairly badly written, and in PHP at that (which is not the most optimized language)
04:58:05 <shachaf> Maybe they should switch to Hack.
05:21:10 -!- ais523 has quit.
05:21:11 <imode> has there ever been any practical two dimensional language?
05:21:11 -!- callforjudgement has joined.
05:21:27 <imode> or N-dimensional where N > 1
05:21:48 <shachaf> Practical or merely not intended to be esoteric?
05:22:01 <imode> heh, both I suppose.
05:22:07 <shachaf> Epigram 2 was going to have 2-dimensional syntax.
05:22:15 <shachaf> I'm not sure whether that really counts.
05:22:38 <imode> 2D syntax huh? do you have some examples of it?
05:22:43 <shachaf> https://en.wikipedia.org/wiki/Epigram_(programming_language)
05:22:54 <shachaf> Or maybe even Epigram 1 had it?
05:23:28 <imode> oh wow. so it actually has diagrams..
05:23:52 <shachaf> And of course there's http://www.eelis.net/C++/analogliterals.xhtml
05:26:18 <imode> I've just been wondering if there's any use for a language with syntax/a computational model that can be extended to multiple dimensions.
05:26:35 -!- callforjudgement has quit (Ping timeout: 268 seconds).
05:26:39 <imode> excel comes to mind. as does the TIS-100.
05:27:03 <imode> but those only really showcase two dimensions.
05:28:00 <imode> something that springs to mind regarding 3D would be snapmap.
05:28:07 <imode> (in the recent Doom 2016.)
05:30:31 <shachaf> Do you count cellular automata as programming languages?
05:30:44 <imode> I suppose, but that's a little easy.
05:30:57 <shachaf> Aren't easy answers better than hard answers?
05:31:10 <shachaf> Are there any popular 3D cellular automata?
05:31:10 <imode> true, but often easy answers don't give way to deeper thought. :P
05:31:21 <shachaf> Also: Are there "automata" which are continuous?
05:31:26 <imode> apart from weird von-neumann-esq. CAs, not sure.
05:31:31 <imode> and yeah, smoothlife.
05:31:34 <shachaf> I think there are ones that have continuous cell states rather than a set number of colors.
05:31:40 <shachaf> But what about continuous cell boundaries?
05:31:52 <shachaf> I.e. a function or something rather than discrete cells.
05:31:53 <imode> here's another interesting question: code reuse, what happens in "space"?
05:32:13 <shachaf> I was thinking that there's nothing about Hashlife that particularly depends on discreteness.
05:32:19 -!- wob_jonas has joined.
05:32:28 <shachaf> And in fact it's almost more suitable to continuous spaces.
05:33:01 <imode> yeah, you could use hashlife on smoothlife.
05:33:15 <wob_jonas> Actually Excel is more like 3-dimensional, not 2-dimensional, because it supports ranges spanning through worksheets, where the order of worksheets matter.
05:33:34 <imode> ah, I was curious if it supported that.
05:33:56 <shachaf> Oh, Smoothlife is not what I thought.
05:33:57 <wob_jonas> There's much more support for 2 dimensional stuff than for 3 dimensions, such as specific functions and operators, but still.
05:34:03 <imode> what happens to code reuse in higher-dimensional environments?
05:34:24 <shachaf> Does our universe, as far as we know, lend itself to Hashlife-style simulation?
05:34:51 <shachaf> The speed of light suggests that it might.
05:35:13 <shachaf> But quantum effects might not be compatible with locality.
05:35:56 <shachaf> But if so, they're incompatible in a very particular way. Maybe it's a way that can still be simulated efficiently?
05:43:42 <imode> what would be REALLY interesting is an N-dimensional language adapted to an arbitrary vector space.
05:43:56 <imode> control flow becomes transformations.
05:44:40 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
05:45:22 <Cale> imode: That's... pretty much a quantum computer
05:45:41 <Cale> Not quite an arbitrary vector space there, but arbitrary dimension anyway
05:50:33 <imode> my problem with languages with a spatial syntax is that it's hard to include/replicate code.
05:51:00 <imode> I can only imagine the horrors of constructing CA-based programs. incredibly fragile things.
05:54:11 -!- augur has quit (Remote host closed the connection).
05:55:37 <shachaf> Constructing physics-based programs is also pretty tricky.
06:01:00 -!- wob_jonas has joined.
06:01:11 -!- wob_jonas has quit (Client Quit).
06:05:41 <imode> I could believe that you could turn any N-dimensional program into a traditional, textual program by the inclusion of coordinates/bounding boxes.
06:05:57 <imode> (x, y, z, <object>), ...
06:06:24 <imode> that way you could design the program and serialize it.
06:12:25 <shachaf> imode: just store it as a quadtree like hashlife hth
06:47:21 -!- sleffy has joined.
07:01:40 -!- FreeFull has quit.
07:22:29 -!- sleffy has quit (Ping timeout: 258 seconds).
07:25:54 -!- Deewiant has quit (Ping timeout: 240 seconds).
07:25:55 -!- Deewiant_ has joined.
07:26:05 -!- vifino has quit (Ping timeout: 240 seconds).
07:27:00 -!- vifino has joined.
07:31:21 -!- augur has joined.
07:35:19 -!- betaveros_ has quit (Remote host closed the connection).
07:36:49 -!- puckipedia has quit (Ping timeout: 248 seconds).
07:37:43 -!- betaveros has joined.
07:38:35 -!- jjthrash has quit (Ping timeout: 240 seconds).
07:39:05 -!- ineiros_ has quit (Ping timeout: 240 seconds).
07:39:46 -!- ineiros has joined.
07:43:36 -!- puckipedia has joined.
07:48:39 -!- doesthiswork has quit (Quit: Leaving.).
08:18:43 -!- AnotherTest has joined.
08:25:44 * imode still wonders how code re-use would work in a higher dimensional language.
08:27:26 <imode> with traditional programs you can just bolt multiple code segments together and give a couple entry points.
08:27:55 <imode> gluing together segments of a plane isn't as.. easy. you need to have some sort of isolation.
08:31:09 <shachaf> Isn't a similar thing true in a one-dimensional language like bf as well?
08:32:21 <shachaf> A traditional program is something like a graph, where you can make an edge pointing to any name.
08:32:41 <shachaf> I suppose you could have a 2D language that requires the graph to be planar.
08:32:53 <imode> you'd end up with something like wireworld.
08:33:08 <imode> maybe something like an N-dimensional excel.
08:33:43 <imode> where regions of space can be occupied by code with its own instruction pointer.
08:35:03 <imode> I remember seeing a "robust-first computing" video or something where the guy designed a filter out of small probabilistic particles... lemme get that.
08:40:49 <imode> https://www.youtube.com/watch?v=helScS3coAE quite long, but an interesting take on "programming" with a virtual environment with inputs and outputs.
08:41:00 -!- augur has quit (Remote host closed the connection).
08:41:33 -!- augur has joined.
08:42:06 -!- Melvar` has joined.
08:43:38 -!- Melvar has quit (Ping timeout: 260 seconds).
08:43:43 -!- idris-bot has quit (Ping timeout: 240 seconds).
08:46:25 -!- augur has quit (Ping timeout: 276 seconds).
08:58:12 -!- augur has joined.
09:02:48 -!- augur has quit (Remote host closed the connection).
09:14:14 -!- pikhq has quit (Ping timeout: 255 seconds).
09:15:34 -!- imode has quit (Ping timeout: 258 seconds).
09:21:07 -!- pikhq has joined.
09:39:07 -!- jjthrash has joined.
09:59:55 -!- oerjan has joined.
10:26:53 -!- oerjan has set topic: Backup wiki at http://esolangs.zem.fi/ | vampiric manatees | http://esolangs.org/ | logs: http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf | For bot testing, use #esoteric-blah.
10:27:22 -!- oerjan has set topic: Backup wiki (readonly) at http://esolangs.zem.fi/ | vampiric manatees | http://esolangs.org/ | logs: http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf | For bot testing, use #esoteric-blah.
10:28:24 -!- oerjan has set topic: Backup wiki (readonly) at http://esolangs.zem.fi/ | mermaid umpires | http://esolangs.org/ | logs: http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf | For bot testing, use #esoteric-blah.
10:36:03 <fizzie> shachaf: "In the European Union and Russia, Google Cloud Platform services can be used only for business purposes." Hey, maybe Brexit means I can use it.
10:47:28 -!- zemhill has quit (Remote host closed the connection).
10:47:37 -!- zemhill has joined.
10:57:45 -!- erkin has joined.
11:07:40 -!- wob_jonas has joined.
11:08:12 -!- sebbu has quit (Ping timeout: 255 seconds).
11:10:08 <wob_jonas> Speedrunning stuff: Summer Games Done Quick crew has already started to upload videos of the first games of SGDQ to youtube. After SGDQ, there are more speedrunning marathons this summer:
11:11:21 <wob_jonas> handheld heroes (gameboy games, on in second half of twitch.tv/speedgaming , no physical conference) starting 2017-07-15, then ESA (European Speedrun Assembly) in july in Vaxjö, then I hear there's something in august in america.
11:11:24 <fizzie> There have been bootleg copies of the SGDQ runs in YouTube for a while already. ;)
11:11:38 <wob_jonas> fizzie: sure, encodes of the twitch videos
11:11:55 <wob_jonas> but these are the first official encodes (I'm not sure if they're the final official encodes)
11:12:38 <fizzie> There's that thing which does them automatically, https://www.youtube.com/channel/UCfqRJEB9cDt4j_RqRXg0ABA/videos
11:12:54 <fizzie> TBH, watching them like that was preferrable to watching Twitch in real time, it was freezing for seconds all the time. At least when I tried.
11:14:04 <wob_jonas> twitch freezes less if you load the player.twitch.tv frame directly. the horrible part of twitch is the chat and other wobsite elements that often freeze your browser completely.
11:14:35 <fizzie> The official ones are in a playlist that has "Raw Stream" in the name... though on the other hand, that's the case for AGDQ 2017 as well.
11:15:10 <wob_jonas> at least in some older years, the final official encodes were on archive.org
11:31:41 -!- oerjan has quit (Quit: Later).
11:33:54 -!- boily has joined.
11:36:43 <lambdabot> CYUL 071029Z 23009KT 180V250 3/4SM R24R/P6000FT/U R24L/P6000FT/U +TSRA BKN009 OVC018CB 21/19 A2979 RMK SF5CB3 PRESRR SLP090 DENSITY ALT 1000FT
11:37:05 <boily> no TSRA here. it's gonna rain.
11:42:57 -!- Remavas-Hex has changed nick to Remavas.
11:43:32 -!- joast has joined.
11:44:58 -!- Melvar` has changed nick to Melvar.
12:02:43 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
12:29:47 -!- boily has quit (Quit: MASTER CHICKEN).
12:34:27 -!- __kerbal__ has joined.
12:34:37 -!- __kerbal__ has quit (Changing host).
12:34:37 -!- __kerbal__ has joined.
12:34:37 -!- __kerbal__ has quit (Changing host).
12:34:37 -!- __kerbal__ has joined.
12:52:29 -!- __kerbal__ has quit (Ping timeout: 260 seconds).
12:57:16 -!- sebbu has joined.
13:01:10 <fizzie> What you see is the copy.
13:01:37 <fizzie> (You should get a sad message if you try to edit something.)
13:02:02 -!- sebbu2 has joined.
13:05:39 -!- sebbu has quit (Ping timeout: 255 seconds).
13:26:59 -!- __kerbal__ has joined.
13:28:41 <__kerbal__> Strangely, typing in esolangs.org now gets me nowhere. I used to get the wiki.
13:28:49 <__kerbal__> (even if it was the read-only version)
13:32:24 <__kerbal__> There's also been "vampiric manatees" and something involving a hypercantata or something like that
13:37:09 <wob_jonas> kerbal: dunno, after the Rat Samurai of the Kamigawa block, I'm not so easy to surprise by unusual race role combinations.
13:49:25 <fizzie> __kerbal__: It will take a while for the DNS change (to make esolangs.org point at the copy) to reach everywhere, and until it does, you might get different results from the caches of different nameservers.
13:54:37 -!- doesthiswork has joined.
13:56:24 <__kerbal__> Has anyone ever created an esoteric markup language?
14:31:55 <wob_jonas> when I returned to the airport by train, at one point I was sitting in a small compartment of 8 seats with 4 other people, all 4 having a laptop in front of them
14:32:07 <wob_jonas> apparently everyone works on a laptop during traveling there
14:37:08 -!- callforjudgement has joined.
14:37:12 -!- callforjudgement has changed nick to ais523.
14:47:30 <wob_jonas> there was something I wanted to ask you about M:tG rules
14:47:50 -!- AnotherTest has quit (Ping timeout: 240 seconds).
15:08:22 <wob_jonas> ais523: In M:tG rules, basically I want to know how linked abilities work when a permanent gets them indirectly. Take the abilities of Synod Sanctum or Muse Vessel for example. Another permanent could get the abils indirectly through copy effects including cytoshape, or Quicksilver Elemental effects.
15:09:14 <wob_jonas> If I use the first ability to exile an object, then something happens with the indirect (possibly multiply indirect way) how this permanent gets its abilities, when can I still use the second ability to access the exiled card(s)?
15:11:17 <wob_jonas> For example, if you get the ability through Experiment Kraj, what happens if (a) the original Synod Sanctum loses all +1/+1 counters then regains them (b) the Sanctum phases out then phases in (c) the Sanctum dies then another Sanctum etb and gets a counter,
15:12:26 <wob_jonas> (d) the Sanctum gets Turned to Frog then back, (e) the Kraj gets Turned to Frog then back, ... and lots of other possibilities.
15:13:15 <wob_jonas> Simliarly, if a bear gets the Sanctum abilities through Cytoshape, the shape times out then in a later turn I Cytoshape the bear back to the same Sanctum, can I access the cards?
15:14:00 <wob_jonas> I'd like to know a general rule of when linked abilities can access the exiled card or similar when a permanent gets linked abilities indirectly.
15:22:39 <__kerbal__> Is War (the card game) guaranteed to halt?
15:23:23 <__kerbal__> If the cards given to each player at the start are non-random
15:24:10 <__kerbal__> (sorry, this M:tG thing got me thinking about the M:tG TC proof, which made me wonder about this)
15:34:41 -!- Melvar` has joined.
15:36:35 -!- Melvar has quit (Ping timeout: 240 seconds).
15:49:06 -!- Melvar` has changed nick to Melvar.
15:49:48 -!- danieljabailey has changed nick to DaNiElJaBaIlEy.
15:49:55 -!- DaNiElJaBaIlEy has changed nick to danieljabailey.
15:50:59 <ais523> wob_jonas: yes, just don't really have anything to say
15:51:03 <ais523> I'm not an expert in M:tG rules
15:59:29 <__kerbal__> I think that a war game could be abstracted to a set of queues where every queue stores instructions
15:59:37 <wob_jonas> but then who's the M:tG rules expert on this channel then?
16:00:15 <__kerbal__> correction: every queue stores a set of integers
16:00:34 <__kerbal__> that are the inputs of the only instruction in War
16:03:09 <__kerbal__> this instruction basically takes a set of integers, where the position of the integer in the set corresponds to the queue (so the 1st integer is for the first queue) and writes the set to the queue corresponding to the largest integer in the set.
16:04:13 -!- augur has joined.
16:04:29 <__kerbal__> Of course, to make War deterministic you must specify the order in which the set is written to the queue, which is not specified by some War rules I have seen
16:06:36 <__kerbal__> Assuming a 2 player game, you get two stacks
16:08:33 <__kerbal__> the question is, then, will War (or a precisely defined variant thereof) halt?
16:09:04 -!- augur has quit (Ping timeout: 276 seconds).
16:09:16 <__kerbal__> Where War is defined broadly as in https://en.wikipedia.org/wiki/War_(card_game)
16:18:31 <ais523> [1,4] vs [3,2]; [4,1,3] vs [2]; [1,3] vs [4,2]; [3,1,4] vs [2]; [1,4] vs [3,2]; repeat
16:18:42 <ais523> admittedly this uses a fairly asymmetrical gather order (always player 1 above player 2)
16:26:06 <__kerbal__> ais523: Could you explain your queue notation? I'm a bit confused (my apologies)
16:26:15 <ais523> __kerbal__: head of the queue is at the left end
16:27:15 <__kerbal__> If 3 won the battle against 1, why didn't the second player get 1?
16:30:22 <wob_jonas> __kerbal__: ais523 is a mathematician, not a card gamer, so lower number wins in his notation.
16:31:57 <__kerbal__> So it appears that, for some starting values, War will never halt
16:32:03 -!- ais523 has quit (Remote host closed the connection).
16:33:12 -!- ais523 has joined.
16:38:02 <__kerbal__> What about a variant in which "war" events create an extra card, namely the lowest value in the facedown cards?
16:39:47 -!- idris-bot has joined.
16:40:21 <__kerbal__> [1,3,5,7] vs [1,2,3,8]; 2 is generated and given to the winner
16:41:02 <__kerbal__> Basically, a way of getting around finite storage\
16:41:18 <ais523> this is starting to get into xigxag territory, now
16:41:23 <ais523> i.e. probably not TC but it's going to be a pain to prove
16:42:43 <__kerbal__> So, we need a consistent notation first...
16:43:27 <ais523> wob_jonas: nah, I think Last ReSort probably /is/ TC but it's going to be a pain to prove
16:43:33 <ais523> I might be wrong, though
16:43:49 <wob_jonas> oh, xigxag was that language that's like a tag system with two symbols or something
16:45:24 <wob_jonas> hmm, is there even a simple proof that iterated McCulloch's second machine isn't TC?
16:45:29 <ais523> xigxag has two symbols, < and >, but it isn't like a tag system
16:45:49 <ais523> each step, a < is replaced by a copy of everything to its left, a > is replaced by a copy of everything to its right
16:45:59 <ais523> it's been proven that all nontrivial programs grow exponentially but that really doesn't state anything about TCness
16:55:14 -!- Remavas has quit (Quit: Leaving).
16:56:22 -!- Remavas has joined.
17:04:07 <int-e> does it have a universal generator g in the sense that every string of <s and >s occurs as a substring in some successor of g?
17:05:00 <ais523> huh, interesting question
17:05:03 <ais523> I'm not sure if that's been explored yet
17:13:35 <\oren\> AAAAAAAAAAAAAAAAAAAAAAA
17:14:09 <\oren\> a call to system() is O(n) in the size of the calling process!!!!!!
17:14:13 <\oren\> AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
17:15:30 <ais523> \oren\: you're on a UNIX-alike with a broken vfork?
17:16:36 <wob_jonas> \oren\: yes, in some large server programs forking can be a bottleneck, in which case you can prefork (and optionally exec) a separate small process whose job is to fork children.
17:16:52 <wob_jonas> Preforking has other advantages too, such as not having to worry about strange process state getting copied and accidentally causing hard to debug problems in the descendants.
17:18:15 <\oren\> wob_jonas: we are basically doeing that now
17:18:45 <\oren\> (except the "process whose job it is to fork children" is just a shell script)
17:19:12 <ais523> \oren\: seriously, though, what OS are you on?
17:19:45 <ais523> Linux has a bunch of forking optimizations, and doesn't need to copy the entire state of the program on a fork
17:20:05 <ais523> vfork is just seen as a clue to the scheduler there, rather than to the MMU, because a regular fork is already efficient enough
17:20:12 <ais523> however, I wonder if it nonetheless has to copy the page table?
17:20:23 <ais523> that's way smaller than memory generally, but it's still O(n) in the size of the process, just about
17:20:29 <ais523> I'd have expected the constant factor to be larger though
17:20:39 <\oren\> yeah and this process has a ton of mmapped files
17:21:18 <\oren\> and it was calling system() several times a second
17:22:33 <wob_jonas> \oren\: was it at least calling system for something useful that's hard to replace, or for something silly like system("clear")?
17:22:56 <ais523> calling system() several times a second tends to be slow regardless of who's calling it
17:23:26 <\oren\> sprintf(s,"rm %s",filename);system(s);
17:24:19 <\oren\> never mind what will heppen if filename contains a space
17:24:56 -!- ais523 has quit.
17:25:05 -!- ais523 has joined.
17:25:27 <\oren\> luckily this code never runs in prod
17:25:57 <int-e> so glibc's system uses this to fork on linux: # define FORK() INLINE_SYSCALL (clone, 3, CLONE_PARENT_SETTID | SIGCHLD, 0, &pid) ... CLONE_VM is not set so yes it'll make a, more or less, copy of the page tables.
17:26:35 <int-e> . o O ( hmm, that's from 2012. )
17:26:43 * int-e goes find a current version
17:27:34 <ais523> how does exec() interact with threads?
17:28:30 <int-e> I'm more curious about vfork and threads
17:31:15 <int-e> okay, current glibc still does the same thing.
17:31:36 <ais523> int-e: I'd assume that on Linux at least, vfork just prevents other threads running until the exec/_exit
17:31:57 <ais523> because on Linux, the only difference between fork and vfork is in how the scheduler reacts
17:32:05 <ais523> BSD might be more interesting, though
17:32:11 <ais523> although I assume it does threads quite differently from Linux
17:34:49 <int-e> interestingly, posix_spawn seems to use vfork (CLONE_VM | CLONE_VFORK); but they go out of their way to set up a new stack.
17:35:01 -!- FreeFull has joined.
17:36:01 <int-e> (on linux; the generic posix implementation is based around fork())
17:42:49 <int-e> three steps further into the rabbit hole... is system() guaranteed to run atfork handlers? https://bugzilla.redhat.com/show_bug.cgi?id=112517 says no.
17:43:22 <ais523> I wouldn't expect that guarantee to exist
17:44:02 <ais523> you'd expect system to be implemented via posix_spawn nowadays
17:44:09 <ais523> which has no reason to call an atfork
17:46:19 <wob_jonas> at one point I was wondering how in a multithread program when I fork-exec and want to have the children inherit a specific file handle, how I could make sure another thread doesn't system (or popen) at just the wrong time and inherit that handle.
17:46:29 <wob_jonas> This was on window, so fork wasn't actually involved sadly.
17:47:20 <wob_jonas> The implementation of popen itself makes sure the handles it creatures aren't inherited by other calls to popen by locking on a mutex, but that mutex isn't in the documented API so you can't reference them from user code.
17:48:59 <wob_jonas> An atfork handle would be ideal for locking on a similar mutex you create.
17:49:20 <wob_jonas> you have to lock the mutex before you fork and unlock after you fork
17:52:03 <int-e> "The expected usage is that the prepare handler acquires all mutex locks and the other two fork handlers release them." http://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_atfork.html
17:53:35 <wob_jonas> WTF that's not something I expected to hear: a game where they play the US version because the japanese version has longer dialog (on SGDQ)
17:54:19 <int-e> mm, lazy localization?
18:01:08 -!- hppavilion[1] has joined.
18:04:01 -!- hppavilion[0] has quit (Ping timeout: 248 seconds).
18:06:13 -!- __kerbal__ has quit (Quit: Page closed).
18:06:22 -!- jaboja has joined.
18:13:05 -!- oerjan has joined.
18:34:43 <\oren\> int-e: I HATE LAZY TRANSLATORS
18:35:54 <lambdabot> malig says: quantum mechanics actually strikes me as less wierd than lazy evaluation sometimes. at least it disallows time travel
18:36:45 <int-e> fungot: do you hit people?
18:36:47 <fungot> int-e: madam president, i thank the president-in-office for that answer, president-in-office. we would welcome coordination of the council's willingness to consider aid for research and innovation, which is based on an arsenal of sanctions which will have considerable social and environmental jobs; encouraging public and private research expenditure is continuing or picking up in the forthcoming session, which were not kept to.
18:40:11 <wob_jonas> int-e: but there's one way he can hit people
18:42:26 -!- imode has joined.
18:44:39 <\oren\> I need a #include_if_exists
18:44:54 <wob_jonas> \oren\: we have that these days in C
18:45:13 <wob_jonas> #ifdef __has_include or some such thing, I don't recall
18:45:40 <wob_jonas> they're even putting it to the c++ standard, though I don't really like that idea
18:46:24 <\oren\> yeah this is just to have a "defines_for_testing.h" folder
18:46:44 <\oren\> which will exist when I want to change some numbers for testing
18:46:55 <FireFly> <wob_jonas> WTF that's not something I expected to hear: a game where they play the US version because the japanese version has longer dialog (on SGDQ) ← huh, that's a new one
18:47:03 <wob_jonas> um, actually #if __has_include rather than ifdef
18:47:19 <FireFly> Although, at least in one case I've seen french or spanish be the quickest (although I'm not sure if that game had japanese localisation)
18:47:50 <wob_jonas> FireFly: that's GTA-3, but it's quicker for reasons other than just dialog length
18:48:34 <FireFly> oh, I was thinking of another game FWIW, I was thinking of Guacamelee
18:49:08 <wob_jonas> or maybe GTA Vice City. iirc it's because the french version censors the rampange missions, and runs in some categories use that and replay bugs (of which the PC version has a shitton of crazy ones) to get something crazy by switching langugaes
18:49:09 <FireFly> I want to say at least one Zelda game was fastest in some european language too
18:49:21 <FireFly> although that could also be for non-dialogue-length version differences
18:49:40 <wob_jonas> FireFly: I'm not surprised if something is faster in English than in Japanese, I'm only surprised if it's because of dialog length
18:50:53 <wob_jonas> the reason why Japanese version is usually faster is the PAL vs NTSC difference, but that doesn't apply to either GTA on PC, nor to the portable console game that spawned my surprise this time
18:52:05 <FireFly> Well, or version differences such as bugs exclusive to one language
18:52:21 <wob_jonas> but I think say game boy pokemon red/blue are faster in japanese because of dialog length
18:53:25 -!- ais523 has quit.
18:54:05 <FireFly> Yeah, certainly… although I believe OoT is fastest in chinese (so, the iQue version)
18:54:07 <pikhq> For Japanese vs. English, PAL vs NTSC shouldn't be relevant basically ever.
18:54:22 <pikhq> Unless the game never got a US release.
18:54:45 <pikhq> NTSC is the American spec that Japan also adopted.
18:54:47 <wob_jonas> yeah, NTSC is in japan and america, PAL in western europe
18:54:58 <wob_jonas> (it's more complicated than that, but that's the main idea)
18:55:17 <pikhq> And for purposes of *most* video games, it's really a question of being 50 or 60 Hz.
18:55:48 <pikhq> With region coding being relevant for some consoles, but that doesn't really effect the performance of the game.
18:56:14 <pikhq> I think the 2600 was the one console where SECAM versions could justifiably be written differently than PAL?
18:56:24 <wob_jonas> and they have different display resolution, making it even harder to port games
18:56:40 <wob_jonas> PAL and NTSC have different resolution that is
18:57:02 <wob_jonas> I mean, the 2600 is before my time
18:57:13 <pikhq> Though many PAL releases just used the NTSC resolution and let there be a bunch of black pixels.
18:57:38 <pikhq> NES, particularly.
18:57:58 <pikhq> Though, rather a *lot* of consoles did the same thing for PAL ports of NTSC games.
18:58:39 <pikhq> Especially for ones that'd run an NTSC ROM perfectly fine on PAL hardware, just slower.
18:59:09 <pikhq> These weren't exactly great PAL ports, but let's be real, a lot of companies just didn't give a shit.
18:59:57 <pikhq> The SECAM 2600 was actually kinda hilarious.
19:00:05 <pikhq> It had an 8 color pallete.
19:00:39 <wob_jonas> wouldn't that make it a much worse console than the 2600 then?
19:02:05 <pikhq> Oh. The reason is they never produced a SECAM TIA chip at all.
19:02:36 <pikhq> They just used a quick hack on the PAL TIA chip's luminance output to output color signals based on the luma value.
19:02:48 <pikhq> And *just* output the PAL luma signal with that hack color signal.
19:03:05 <pikhq> And the reason they didn't bother, is the market size didn't merit it.
19:03:17 <pikhq> Because at the time the SECAM market they thought possible was *just* France.
19:03:28 <pikhq> (selling to the Soviet Union, in the early 80s? LOL.)
19:03:32 * FireFly . o O ( PAL is used in western europe and australia… although Eurovision would have you believe that australia is part of europe, so…)
19:04:09 <pikhq> Also fun, apparently France didn't really get custom ROMs to deal with that.
19:04:33 <pikhq> Instead, the B&W switch was overloaded somewhat.
19:04:58 <pikhq> PAL releases were expected to output luma-only when it was set to black and white.
19:05:06 <pikhq> And French 2600s had an always-on black and white switch.
19:06:56 <wob_jonas> were there any flagship games that did get custom ROM?
19:08:56 -!- bit_lySLH2uSZHed has joined.
19:09:48 <pikhq> Pfft, and some of the early SECAM 2600s were made SECAM with just some wires added on the board.
19:10:06 <pikhq> And presumably a local RF modulator.
19:11:15 -!- bit_lySLH2uSZHed has left.
19:43:52 <oerjan> <wob_jonas> hmm, is there even a simple proof that iterated McCulloch's second machine isn't TC? <-- i never finished my analysis, it got complicated and i'd have to write a constraint solving program, but my _hunch_ is that the resulting "register machine" is too simple to be TC.
19:44:46 <oerjan> or put differently, it's not that simple, because it devolves into a register machine thing with ~6 registers.
19:45:26 <oerjan> natural numbers, they correspond to lengths of certain substrings.
19:46:10 <zzo38> Is it possible to stream a recording to a DVD without needing to store it in RAM or a disk file?
19:46:12 <oerjan> or rather "number of subblocks" of certain substrings, i guess.
19:48:04 <wob_jonas> zzo38: um, where'd you put stuff if not in the ram?
19:49:13 <zzo38> The part that is currently recording may be stored in a buffer in RAM, but after that it shouldn't store everything and only a small part, to not take up too much RAM.
19:50:29 <wob_jonas> zzo38: and you want this with an ordinary DVD burner drive hardware, or custom drive?
19:51:06 <zzo38> With the ordinary DVD hardware
19:57:05 -!- jaboja has quit (Ping timeout: 248 seconds).
19:58:42 <pikhq> zzo38: So you'd e.g. permit like a 2 meg buffer or some such, but that's about it?
19:59:01 <pikhq> I think that's possible, but dunno how easy it'd be to do.
19:59:20 <zzo38> Yes, something like that.
19:59:24 <wob_jonas> you can barely even fit a single frame of raw video in that
20:00:00 <pikhq> That's also nearly 2 seconds of output to a DVD burner at 1x speed.
20:00:01 <wob_jonas> you want lots more memory for compressing video
20:00:17 <pikhq> I was assuming that was the buffer from the encoder to the DVD burner.
20:00:43 <zzo38> That assumes that you are recording video onto the DVD; the data being recorded is not necessarily going to be video though
20:00:59 <pikhq> Though, do remember this is a *DVD*.
20:01:00 <wob_jonas> pikhq: oh, so 2 megs besides the hundreds of megs or something the video encoder itself uses?
20:01:33 <pikhq> A frame of *DVD* video raw doesn't take that much.
20:02:19 <zzo38> I was thinking that the data to record is not necessarily a video.
20:03:01 <pikhq> A full frame of DVD video at 4:2:2 is less than a meg.
20:03:23 <wob_jonas> zzo38: and are you allowed to use a format on the dvd that requires a custom decoder software to read, as long as it doesn't have too much space overhead?
20:04:23 <pikhq> But yes, as far as I'm aware the only thing preventing you from writing a DVD *streaming* like you want is software, not hardware.
20:04:35 <pikhq> As far as the hardware's concerned it's burning bits out of a buffer.
20:04:45 <zzo38> I would have hope that you can just read it from /dev/dvdrom or whatever even if it isn't a filesystem
20:05:02 -!- augur has joined.
20:05:08 <pikhq> wob_jonas: I think UDF, the common filesystem for DVDs, is actually designed to let you output it streaming.
20:05:16 <zzo38> I don't know if it is necessary to reduce the speed of the disc spinning either
20:05:29 <zzo38> (while recording; not while reading)
20:05:47 <pikhq> zzo38: It should only be a function of how fast you can shove bits at the thing.
20:06:12 <wob_jonas> zzo38: ordinary dvd writing already allows you to slow down the dvd or cd rotation, and we often use that option because it might make the disk last longer
20:06:36 <wob_jonas> I've always written my dvds at 4x speed even though the drive and disk could do 16x
20:06:47 <pikhq> It's also necessary to match the speed to the disk to some extent.
20:06:54 <zzo38> The only thing will be, what if the speed of the streaming is unknown or variable?
20:07:27 <pikhq> IIRC present-day burners are able to straight-up stop mid-burn to allow their buffer to fill up.
20:08:00 <wob_jonas> pikhq: stopping is easy. continuing is the hard part.
20:08:42 <zzo38> I thought that in order to be able to stop and continue at any time may be necessary to make it spin more slowly?
20:09:43 <zzo38> (Maybe you will need some kind of mark to indicate the address?)
20:09:44 -!- augur has quit (Ping timeout: 260 seconds).
20:10:07 -!- jaboja has joined.
20:17:36 <zzo38> Is UDF design like that for use with DVD recorders that can record television shows?
20:40:36 <\oren\> http://imgur.com/a/akxyv
20:46:15 -!- hppavilion[1] has quit (Read error: Connection reset by peer).
20:51:16 -!- jaboja has quit (Ping timeout: 260 seconds).
20:52:58 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
20:55:23 <fizzie> Sanyo has a trandmark ("BURN-Proof™") and a patent for doing that sort of stop/resume on CDs, I think that was reasonably widely supported. And already at least a decade old by now.
20:55:53 -!- hppavilion[1] has joined.
20:56:46 <fizzie> (Wikipedia claims that the DVD+R(W) formats have that as a standard thing.)
20:59:08 <\oren\> yeah screencapped thru facebook for realism
20:59:09 <\oren\> https://snag.gy/QN8ivE.jpg
20:59:49 <fizzie> I do remember DVD-RAM, I think I might've gotten one disc alongside a "super multi" drive.
21:00:25 <fizzie> It didn't do the cartridge trick.
21:08:04 <APic> http://i.imgur.com/ywabaFb.gifv
21:20:16 <shachaf> fizzie: Did you decrease the TTL on esolangs.org?
21:20:39 <fizzie> I set it to 5 minutes, yes.
21:21:17 <fizzie> I was inspired by such industry giants as the Google, which also uses 300 seconds.
21:21:32 <shachaf> whoa whoa whoa, are you sure that's not confidential information?
21:21:41 <fizzie> It's like "dig google.com a".
21:21:49 <fizzie> It's hard to be confidential about that.
21:22:00 <shachaf> That's your TTL, but maybe my TTL is different.
21:22:11 <shachaf> Maybe you're at work and you're revealing information about the internal TTL.
21:22:13 <lambdabot> Local time for fizzie is Fri Jul 7 21:22:13 2017
21:22:16 <fizzie> In fact, I couldn't remember what it was in a confidential way, so I did just that.
21:22:57 <shachaf> When's that one coming back?
21:23:29 <fizzie> That's a good question. I don't have super recent clone of the repository.
21:23:55 <shachaf> No copy of the data or anything?
21:23:55 <zzo38> I tried that and do not see anything about TTL. Did I do something wrong?
21:24:07 <shachaf> I knew I should have set up a cron job to fetch the repository.
21:24:14 <shachaf> zzo38: Tried what, the dig command?
21:24:26 <shachaf> You probably saw a line like google.com. 174 IN A 172.217.6.78
21:24:45 <fizzie> It can be less than 300 if you get it from a server that had it cached.
21:25:07 <zzo38> O, OK, although I get a different number (64 instead of 174 or 300) and the IP address is also different
21:25:34 <fizzie> I guess technically I should've said something like dig @ns1.google.com google.com a
21:25:50 <fizzie> That one I get as a constant 300, since it's the authoritative reply.
21:26:11 <shachaf> zzo38: If you run the command multiple times you'll probably see that number decreasing every second.
21:26:21 <zzo38> fizzie: Yes that one works.
21:26:22 -!- sebbu2 has changed nick to sebbu.
21:26:46 <shachaf> zzo38: maybe you should go work at the google hth
21:27:42 <fizzie> shachaf: To answer your question, I do have one copy, it's just very old. Anyway, I'm still sort of expecting the server to be back in some form eventually, at least enough for the big G (the other big G) to pull data out of it.
21:28:56 <shachaf> maybe we should have a #esoteric IRC meetup when fizzie is in CA
21:29:14 <shachaf> who all is still in california around here
21:30:24 <shachaf> fizzie: Presumably the big G is pulling data out of it using HTTP.
21:32:25 <fizzie> Well, I was sort of speculating about the big G that has access to the control panel. Maybe they have some sort of a thing. I don't know, I'm not a CaC customer.
21:32:58 <shachaf> I meant the non-other big G.
21:33:16 <shachaf> How many Gs are there, and which of them are big?
21:34:00 <fizzie> There's the gravitational constant, but that'd not so big.
21:34:23 <shachaf> Wikipedia also suggests https://en.wikipedia.org/wiki/Big_Gemini
21:34:46 <fizzie> In related news, I had done a Bad Thing about the monitoring: I had the node metrics configured using the role DNS name "esolangs.org", instead of a specific designator of the machine.
21:34:57 <fizzie> Now I won't be notified when/if it comes back up. :/
21:35:37 <shachaf> Which monitoring system was this?
21:35:57 <fizzie> Prometheus on this side, prometheus-node-exporter and mtail on the other side.
21:36:39 <fizzie> Well, and also nginx on the other side to do HTTPS and basic auth.
21:37:58 <fizzie> (That last bit is the problematic one, because I could reconfigure the other bits, but the HTTPS connection will fail because the TLS certificate will have just esolangs.org and www.esolangs.org on it.)
21:41:12 <shachaf> I sure hope shaventions don't disappear.
21:41:34 <shachaf> We could reconstruct a lot of state from IRC logs. I guess this is a disadvantage of `edit
21:41:44 <fizzie> It might be someone else here has a more fresh thing.
21:42:08 <shachaf> I made a clone at one point.
21:42:28 <fizzie> If it comes back, I'll set up a periodic thing.
21:43:00 <fizzie> hg log suggests the one I have in ~/tmp/hackego is from 2013, which was a little while ago.
21:50:40 -!- erkin has joined.
22:10:31 -!- jaboja has joined.
22:13:05 -!- erkin has quit (Ping timeout: 248 seconds).
22:14:05 <oerjan> that's so old it might even be pre-nitia
22:15:07 -!- erkin has joined.
22:15:56 <oerjan> that is, it might have history older than HackEgo itself
22:40:24 <imode> how do befunge interpreters traditionally store code? as just a big 2D array of cells?
22:43:35 <shachaf> oerjan: What was the reason for nitia, anyway?
22:43:40 <shachaf> Was the old history lost somehow?
22:43:46 <pikhq> Depends on the interpreter, probably.
22:44:26 <oerjan> shachaf: Gregor had a habit of deleting history occasionally.
22:44:27 <imode> for small programs it's not bad but for large, sparse programs I imagine it'd get complicated.
22:44:41 <imode> memory overhead especially.
22:48:45 * oerjan remembers discussing multicursor quadtree zippers with elliott at one point, and thinks that may have been a fungespace discussion gone way awry
22:49:35 <shachaf> I've also discussed 2D zippers with elliott, I think.
22:49:43 <shachaf> Though I don't remember figuring out a good solution?
22:49:45 <oerjan> anyway, quadtrees are a possibility.
22:50:02 <shachaf> Maybe they should store data Z-ordered.
22:51:24 <oerjan> a hashtable might work too, perhaps with regions.
22:54:43 -!- copumpkin has quit (Remote host closed the connection).
23:02:00 -!- __kerbal__ has joined.
23:03:42 <__kerbal__> So, HackEgo's recent files aren't permanently wiped out, are they? It should be fine when or if the server goes back online
23:05:54 <fizzie> I mean, if the Cloud At Cost people took the money and ran off to Bahamas, it may take quite a lot of time before anyone gets anything out of there.
23:06:10 <fizzie> Have they even managed to give Megaupload customers their files yet?
23:06:11 -!- augur has joined.
23:07:36 <fizzie> Somehow I don't think they were making embezzlement-worthy money from the service though.
23:08:39 <shachaf> I like the concept of "bezzle", money created through embezzlement.
23:09:45 * oerjan floods shachaf with barass
23:09:56 <fizzie> From a blog post: "However, with Cloud at Cost randomly shutting down servers, randomly deleting servers, taking forever to answer tickets and a host of other problems, I highly doubt any of their customers have gotten anywhere near three years of use out of their products."
23:10:00 <fizzie> I think we're a counterexample.
23:10:01 <shachaf> The discovery of embezzlement destroys money.
23:19:56 <quintopia> inode: i would use a dict with a (x,y) tuple as key. it's probably a bit slower, but saves memorye
23:20:24 <imode> quintopia: pretty much what I was thinking.
23:20:59 <imode> with the option to unpack into an array.
23:21:30 <imode> I think it'd be interesting to make something like a roguelike where the code 'exists' in the same place as the game it powers.
23:21:59 <imode> "befunge as a scripting language" is now a life goal.
23:23:20 <__kerbal__> Imode: Code in the same place as the game it powers sort of exists in Wreck It Ralph
23:23:57 <imode> snapmap has something "like" that, where you use the game world as a sort of canvas for triggers, etc.
23:24:47 <__kerbal__> You could do some neat plot-related stuff with that idea
23:25:15 <imode> my biggest problem with that would be code re-use. if you were going to actually use the world as a befunge-like canvas, you'd have to figure out methods for procedures.
23:25:55 <fizzie> Hack'n'Slash has a little bit of that sort of thing.
23:25:57 <imode> and ways of controlling objects.
23:26:26 <fizzie> (There was another one but I'm having trouble locating it.)
23:26:45 <imode> like, you'd have to have an entire blank area for one object's code, with objects that you can interact with to move the "parent" in the cardinal directions and perform actions.
23:27:18 <imode> buttons, maybe? you could pull off a redstone-like system.
23:27:48 <imode> looking at Hack'n'Slash now.
23:27:54 <__kerbal__> imode: Or if the entire source code for the game was the world itself. You could literally alter the fabric of the game's universe
23:28:02 <fizzie> It's a lot more of a game than the thing you describe.
23:28:09 <imode> __kerbal__: that's kind of what I'm thinking.
23:28:58 <imode> wanna change how much health you have? warp to a certain point in the world, push a block and hit a button a certain number of times.
23:30:18 <__kerbal__> Want to explore the main menu with your character? Go to the relevant section of the code and alter a slice.
23:30:43 <fizzie> I can't decide whether the other game I'm thinking about actually existed, or if it was fictional, or if I just dreamed it.
23:30:54 <imode> the problem is making the programming model easy enough.
23:31:00 <__kerbal__> Hack n slice does similar stuff, from what I just read, though
23:32:22 <__kerbal__> Would it be source code in a fungeoidal language as I have been imagining?
23:32:39 <imode> code exists in the same space as the actual game.
23:33:21 <__kerbal__> That would be really cool, but so hard to edit without crashing everything unless it somehow was designed to be sufficiently easy
23:33:59 <imode> that's why you need something like entry points. or something.
23:34:49 -!- __kerbal___ has joined.
23:35:02 -!- __kerbal__ has quit (Disconnected by services).
23:35:09 -!- __kerbal___ has changed nick to __kerbal__.
23:35:44 <fizzie> There's also Heart.Break(), but that's still not the game I was thinking of.
23:35:51 <fizzie> Maybe it was fictional.
23:36:09 <imode> I don't like programming games that are just "here's javascript, go nuts".
23:36:13 <imode> much like hackmud..
23:36:13 <__kerbal__> maybe something like this: https://esolangs.org/wiki/Funciton
23:36:43 <shachaf> oerjan: Do you mean barrass?
23:36:43 <imode> so something like a schematic?
23:36:44 <__kerbal__> That way, you don't have to work with single char commands
23:37:16 <__kerbal__> Otherwise, you get a version of befunge that uses all the Unicode chars or something ridiculous like that
23:37:38 <__kerbal__> well, not ALL the Unicode chars but you get my point
23:37:48 <imode> at that point you might as well do something like flow-based programming.
23:37:52 <imode> or factorio-style stuff.
23:38:46 <__kerbal__> you could have boxes as functions that served double duty as buildings... you could go inside
23:38:58 <__kerbal__> or get teleported to the function definition
23:39:28 <shachaf> Speaking of what I said the other day, when I first played Factorio I didn't know about the underground belts for a while.
23:39:38 <shachaf> So I tried to make everything planar.
23:39:41 <oerjan> shachaf: i don't know, ask muphry here
23:39:44 <imode> wire crossing problem. :P
23:39:58 <imode> __kerbal__: you could do something like excel!
23:40:40 <imode> but that'd be kinda weird.
23:40:53 <shachaf> oerjan: Do you like sqrt(2)?
23:41:27 -!- jaboja has quit (Ping timeout: 240 seconds).
23:42:05 <__kerbal__> You might be able to do something graphical... but that would resemble a flowchart, be potentially complex and slow, etc...
23:42:11 <shachaf> zzo38: What name do you think an object-oriented language should use for the object whose method is being invoked?
23:42:37 <__kerbal__> Now, won't this whole game not exactly be fast?
23:42:38 -!- jaboja has joined.
23:42:54 <imode> depends, I suppose.
23:43:57 <__kerbal__> Also, couldn't you win extremely quickly with just the right hacks?
23:44:07 <imode> maybe you could take a more abstract approach and have some primitive objects that can move around and do some things in their general vicinity.
23:44:31 <imode> like you oculd form a "pipeline" by putting several carrier objects next to eachother and telling them to take the object from their left and put it on their right.
23:44:47 <imode> or two "mailbox" objects that transport things from one point on the "map" to another.
23:45:05 <imode> you could have compound objects that have their own "dimension" with controls exposed by sensory objects.
23:45:24 <__kerbal__> I think Wikipedia said Hack and Slash does that
23:45:51 <imode> I posted a video last night that detailed an approach similar to what I just described... hm.
23:48:30 -!- oerjan has quit (Quit: Nite).
23:48:58 <imode> it kind of favored two dimensions, though. https://www.youtube.com/watch?v=XkSXERxucPc
23:50:44 <imode> I wonder, though, if you could structure space as kind of a "MUD", where you have locations that objects can move between, and you get a gaggle of objects in a room and wire them together.
23:52:28 <zzo38> shachaf: Programming languages I know will call it "this", although some use others. OAA just uses a plus sign to retrieve the "this" object reference.
23:59:34 <shachaf> oerjan didn't appreciate my pun tdnh
23:59:42 <shachaf> I think Mr2001 would appreciate it but he isn't here.