00:19:18 -!- oerjan has joined.
00:23:47 -!- boily has joined.
00:51:56 <pikhq> You pronounce your name similar to "buwari" rather than "boirii"?
00:54:25 <boily> my name's pronounced /bwali/ hth
00:55:00 <boily> it's not 変, just French :D
00:55:38 <pikhq> Though, being French means it's weird ipso facto. :P
01:05:29 <alercah> pikhq: you haven't seen irish clearly
01:09:20 -!- augur has quit (Remote host closed the connection).
01:09:57 -!- augur has joined.
01:11:15 <pikhq> Bah. You want weird, try transcribing "六百" as "rot̄uhi̊ȳaku".
01:11:17 -!- augur has quit (Remote host closed the connection).
01:11:55 -!- augur has joined.
01:15:57 <boily> let me guess. that one's pronounced throatwarbler-mangrove?
01:16:57 <alercah> this is post spelling reform even
01:17:42 <boily> that's egregiously outrageous spelling.
01:18:22 <alercah> it's pronounced something like yerarech
01:18:56 <boily> ach-laut or ich-laut?
01:20:30 <oerjan> https://en.wiktionary.org/wiki/dearth%C3%A1ireacha
01:22:34 <boily> how in fungot's name can you say [dʲɾʲ]???
01:22:34 <fungot> boily: t-rex, i have big news the other! you can see, i've thought of the best story! oh goodness, i must have put that in your pipe and smoke it?
01:24:00 <oerjan> boily: like [dɾ] but palatalized?
01:24:35 <wob_jonas> Is "i̊" even a thing? what does that accent do?
01:30:55 <oerjan> boily: as in, ʲ is a modification of the previous sound, not a separate one. it means that the middle of the tongue is lifted towards the palate, like in an english "y" sound.
01:34:08 <boily> yes, but it's the [dɾ] sequence that baffles me :/
01:34:11 <oerjan> but without necessarily moving the main articulation of the letter
01:35:21 <oerjan> well in this case i guess it's your r's that are the problem.
01:35:38 <boily> my rs are perfectly fine :P
01:35:54 <boily> (okay, very French rs.)
01:36:16 <oerjan> norwegian has plenty of [dɾ]s, anyway.
01:38:50 <oerjan> that would imply people from Bergen are sane, an absurdity!
01:44:59 <oerjan> (don't tell wob_jonas about today's wikipedia main page picture. oh woops.)
01:45:54 <oerjan> that's the article, not the picture hth
01:46:32 <oerjan> please scroll down a bit twh
01:46:49 <boily> Thukkachi Abatsahayesvar temple???
01:47:40 <oerjan> where do you see that *reloads*
01:48:06 <oerjan> that section hadn't updated when i loaded last
02:01:30 * boily lightly mapoles fizzie
02:06:09 -!- sleffy has quit (Ping timeout: 248 seconds).
02:20:37 <fizzie> My monitoring says it was down for an hour.
02:20:57 <fizzie> Probably was enough to make HackEgo go down as well, though not sure why it didn't come back up automagically.
02:21:50 <fizzie> There's the socat process, but it's using 99.9% of CPU.
02:21:54 <fizzie> I think it's just confused.
02:22:52 <fizzie> Let's just kill that one, I think the starter script has a loop around the socat.
02:23:29 -!- HackEgo has joined.
02:27:12 <moony> Well that was intresting. I just had half a dozen experienced linux users try and beat umlbox to the ground.
02:29:35 <ais523> moony: I don't think anyone's broken umlbox in this channel
02:29:49 <ais523> HackEgo itself has been successfully broken a couple of times, but via HackEgo-specific exploits
02:33:29 <moony> ais523, same thing happened to my bot. Altho no breaks were serious, all were just mistakes in the code that caused it to crash :P
02:34:05 <boily> people managed to break HackEgo?
02:34:20 <HackEgo> 1/2:elliott//elliott wrote this learn DB, and wrote or improved many of the other commands in this bot. He probably has done other things? He is also tire. And a lystrosaur. \ all the single objects//All the single objects / went to form a class / but then they got a unit test / which none of them did pass. \ mothball//Mothballs are the main ingred
02:34:25 <HackEgo> 2/2:ient of a traditional soup of Eastern European origin. \ overflow//Overflow is a phenomenon that occurs when too much water pours into the inner tanks of a hydraulic computer. \ nød//Nød is French for vertex.
02:34:36 <moony> how long has hackego been around anyways?
02:35:01 <ais523> it was originally meant to be an egobot replacement
02:35:05 <ais523> but people didn't really use it for esolangs
02:35:14 <moony> any estimate in years for hackego? :P
02:35:35 <ais523> which is a sign of the decline of this channel :-(
02:36:13 <doesthiswork> because I started college in 2009 and also joined irc, and I vaguely remember an egobot
02:37:08 <ais523> egobot was basically our version of TIO, only it probably came first
02:37:31 <doesthiswork> wow, its been so many years since I dropped out
02:37:37 <fizzie> 2009-06-20 for HackEgo, as far as my logs can tell.
02:37:42 <ais523> it was originally just esolangs, but it's added a bunch of practical languages since
02:38:11 <fizzie> 2005-10-25 for EgoBot.
02:38:32 <ais523> (which is the other way round from what most people might expect)
02:38:50 <moony> knowing this channel, thats perfectly normal
02:39:16 <ais523> well it doesn't seem to be associated with this channel at all
02:39:29 <ais523> most of its development was driven by PPCG on Stack Exchange
02:41:13 <ais523> I helped out a bit, like getting INTERCAL running there
02:42:08 <moony> ais523, you know how the version control system was set up? Im considering making something similar for my bot
02:42:23 <ais523> which version control system? hackego's?
02:42:34 <ais523> that's one of the most fragile parts, and doesn't really work
02:42:38 <ais523> so I wouldn't recommend copying it
02:42:58 <oerjan> what's wrong with it, some bugs have been fixed
02:43:17 <ais523> oerjan: doesn't it give really weird results if you run a nondeterministic command?
02:43:25 <wob_jonas> how about the bots that store every persistent data version controlled, like buubot or wikiplia?
02:43:37 <oerjan> well then it runs it twice
02:43:53 <oerjan> discarding the first run.
02:44:23 <ais523> that's not what most people would expect
02:44:48 <ais523> and you can certainly fool it into producing even more counterintuitive results
02:45:00 <ais523> there's also that time when I permanently broke `revert…
02:45:13 <ais523> (technically, it still works to do the reverting, just produces an error message every time)
02:45:13 <wob_jonas> ais523: but it's hard to do anything better. jevalbot is really stupid and just loses the result of whichever computation finishes first when you run two commands at the same time
02:45:47 <oerjan> ais523: that's one of the bugs that are fixed hth
02:45:54 <ais523> hmm, would be fun if you could run two conflicting commands at the same time
02:45:58 <ais523> and end up with conflict markers in the file
02:46:07 <ais523> probably more harmful than useful, but fun
02:46:13 <wob_jonas> ais523: that could break things a lot
02:48:19 <fizzie> I've got an arguably semi-reasonable thing for a half-completed bot, but it involves doing the filename-to-file mapping on your own.
02:48:31 <wob_jonas> I don't recall what buubot does. It allows multiple commands to run at the same time, and I think they just access the same (version controlled) persistent database, and only individual stores or loads are atomic and a command can do any number of those.
02:48:35 <oerjan> . o O ( reason tells me "are fixed" is correct but the rest of my brain isn't convinced. )
02:50:43 <wob_jonas> In theory you could make a bot that exposes you ways to lock parts or do atomic ops on the database
02:52:21 <wob_jonas> and you don't have to version control everything for that
02:52:41 <ais523> oerjan: hmm… "the bugs are fixed", "one of the bugs is fixed", so what happens if you add "that"?
02:52:59 <ais523> I guess logically you can only parenthesize it as the first case
02:53:18 <wob_jonas> the point is, the locking or atomic would be explicit in programs, and if you don't use them and something splinches, you get to keep the pieces
02:53:19 <ais523> one of ((the bugs) that are fixed)
03:00:28 -!- ATMunn has quit (Quit: See ya! o/).
03:06:58 -!- boily has quit (Quit: PROGRESSIVE CHICKEN).
03:13:02 -!- Antoxyde has quit (Quit: Leaving).
03:16:01 -!- ais523 has quit (Ping timeout: 248 seconds).
03:21:54 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
03:22:22 -!- wob_jonas has joined.
03:24:27 <HackEgo> [wiki] [[Width]] N https://esolangs.org/w/index.php?oldid=52879 * Stestoltz * (+427) Created page with "'''Width''' is an esoteric stack-based language created by [[User:Stestoltz|Stephen S]]. All characters except letters are ignored. For more information, see the Github link...."
03:39:18 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
04:00:49 -!- moony has quit (Ping timeout: 248 seconds).
05:22:25 -!- jaboja has quit (Remote host closed the connection).
05:45:42 <zzo38> There is the solar eclipse soon. One way to calculate when and where is by use of Swiss Ephemeris. Have you looked at or used Swiss Ephemeris at all?
05:46:18 <zzo38> Did you see the eclipse?
05:46:28 <shachaf> No, it hasn't happened yet.
05:46:55 <shachaf> Are you going to Oregon to see the eclipse properly?
05:47:31 <zzo38> Swiss Ephemeris is reporting happening on 2017-08-21T18:13:14.199Z, at 36 N 58' 15", 87 W 39' 23". If it is wrong then I might have done something wrong
05:47:57 <shachaf> I used https://eclipsemega.movie/simulator to check.
05:49:34 <zzo38> shachaf: What did they tell you?
05:49:56 <zzo38> But, no I am not going to Oregon to see the eclipse properly; I will remain here, and not see it properly
05:50:07 -!- oerjan has quit (Quit: Nite).
05:50:34 <shachaf> They told me 'You may seek it with thimbles— and seek it with care; You may hunt it with forks and hope; You may threaten its life with a railway-share; You may charm it with smiles and soap—'
05:51:42 <zzo38> I do not see how that helps, and how you can use thimbles to seek a solar eclipse or to charm it with soap?
05:59:18 <zzo38> (I also wrote my own implementation of converting to horizontal coordinates, since I found that the one included in Swiss Ephemeris cannot use hour angle as input.)
06:04:24 <zzo38> (There is also no reverse map projections yet, so if you want a interactive map that you can click on, it doesn't implement yet.)
06:43:14 <zzo38> I also want to know how I could add artificial satellite positions and terminator lines
06:50:33 -!- dingbat has quit (Quit: Connection closed for inactivity).
07:04:44 <HackEgo> [wiki] [[Main Page]] https://esolangs.org/w/index.php?diff=52880&oldid=43201 * LyricLy * (+234)
07:09:07 -!- hppavilion has joined.
07:25:27 -!- zseri has joined.
07:27:04 -!- augur has quit (Remote host closed the connection).
07:27:41 -!- augur has joined.
07:31:54 -!- augur has quit (Ping timeout: 240 seconds).
07:36:43 -!- doesthiswork has quit (Quit: Leaving.).
07:59:17 -!- sleffy has joined.
08:19:29 -!- augur has joined.
08:46:49 -!- zseri has quit (Ping timeout: 260 seconds).
09:06:21 <int-e> oh, oerjan is totally out of phase again
09:36:49 -!- imode has quit (Ping timeout: 255 seconds).
09:39:07 -!- zseri has joined.
09:42:24 <zseri> rdococ: why do you have a subpage Esolangs (User:Rdococ/Esolangs) on your profile which is less complete than the Esolangs list on the main profile page User:Rdococ
09:56:37 -!- hppavilion has quit (Ping timeout: 255 seconds).
10:01:45 -!- LKoen has joined.
10:02:04 -!- hppavilion has joined.
10:08:34 -!- MrBusiness has quit (Ping timeout: 246 seconds).
10:09:13 -!- AnotherTest has joined.
10:10:57 -!- sleffy has quit (Ping timeout: 248 seconds).
10:20:24 <HackEgo> [wiki] [[Main Page]] https://esolangs.org/w/index.php?diff=52881&oldid=52880 * LyricLy * (+4)
10:23:07 -!- augur has quit (Remote host closed the connection).
10:35:55 <rdococ> zseri: what about a low level language where the main array type is a linked list?
10:52:20 <zseri> like brainfuck, but you can drop the current cell or insert one (e.g. after the current cell)
10:57:48 <rdococ> ooh! what if the cells started as all ones, and all you could do was insert a 0 cell after the current cell?
11:01:43 <rdococ> brainfuck minus - (and non-wrapping bits) seems to be TC; what if you had to insert the 1 cells?
11:04:01 -!- erkin has joined.
11:06:56 -!- augur has joined.
11:09:58 -!- augur has quit (Remote host closed the connection).
11:10:10 -!- augur has joined.
11:22:46 <rdococ> I was thinking of combining the continuation thing with http://esolangs.org/wiki/Upsilon
11:43:51 <HackEgo> [wiki] [[YABC]] https://esolangs.org/w/index.php?diff=52882&oldid=37129 * Int-e * (+3744) from Brainfuck to YABC
11:59:53 <zseri> https://gist.github.com/zserik/280f3126e2141d7bad223c3c1e9a1b9d (updated again)
12:00:59 <zseri> lets try creating a mash-up of Assignless, first-class continuations (implicit created and passed, usage explicit) and Upsilon.
12:03:44 -!- Antoxyde has joined.
12:04:37 -!- augur has quit (Remote host closed the connection).
12:41:57 -!- TieSoul has joined.
12:51:14 <rdococ> well, I'm working on an esolangs article for assignless + the continuation thing
12:51:28 <int-e> the Hitchhiker universe has ships driven by bad news
12:51:46 <rdococ> oh, so the more esolangs I create, the more fuel it has?
12:51:57 <int-e> (they're highly unpopular though)
12:52:15 <rdococ> int-e: "Bad news: ship ran out of fuel."
12:53:57 <TieSoul> more like "Bad news: the ship is running low on fuel."
12:54:18 <rdococ> which gives it more fuel
12:54:44 <TieSoul> Bad news: The ship has too much fuel.
12:55:06 <TieSoul> but then at some point it stops being news
12:55:11 <TieSoul> and starts just being *bad*
12:55:18 <rdococ> then fuel will decrease again.
12:55:44 <rdococ> does good news decrease it then?
12:56:20 <rdococ> you might be able to use it to create good news to make the world a better place, using the "Bad news: machine is running out of fuel." as fuel
12:56:24 <TieSoul> you know I could see the ship not having "fuel" per se, but having to be driven by a constant stream of bad news
12:56:28 <rdococ> in other words, instant utopia
12:56:55 <int-e> they're actually only mentioned in passing
12:57:40 <TieSoul> kinda surprised I haven't done so yet honestly
12:58:26 <int-e> "Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws. The Hingefreel people of Arkintoofle Minor did try to build spaceships that were powered by bad news but they didn't work particularly well and were so extremely unwelcome whenever they arrived anywhere that there wasn't really any point in being there."
12:59:42 <TieSoul> bad news travels faster than the speed of light?
12:59:56 <TieSoul> that would mean if you frame something as bad news
12:59:59 <TieSoul> time traveling information
13:00:41 <int-e> TieSoul: did you look at the xkcd link? The way I see it it's really based on that concept.
13:01:23 <rdococ> Bad news: information has to be passed at faster than light speeds again
13:01:38 <TieSoul> but does that qualify as bad?
13:01:48 <rdococ> "Bad news: the magical yay machine is working again"
13:01:50 <TieSoul> what is the objective qualification of bad news
13:02:00 <rdococ> I bet it's subjective to your reference frame
13:02:01 -!- MrBusiness has joined.
13:04:41 -!- boily has joined.
13:16:32 <HackEgo> “Only sane adverb” boily is monetizing a brotherhood scheme with the Guardian of Lachine. He is also a NaniDispenser, a Trigotillectomic Groan Man Eating Chicken, a METARologist, seriously lacking in the f-word department, a thwack doctor, a Quintopial antipodist, and a renowned Capitalist who helps keep the world boring.
13:19:16 <HackEgo> wisdom is always factually accurate, except for this entry, and, uh, that other one? It started with, like, an ø?
13:19:42 <int-e> . o O ( wisdom is often born out of boredom
13:20:03 <boily> zsellori, rdochelloc, TieSelloul, int-ello, HellockEgo!
13:21:11 <int-e> . o O ( Heh, I forgot that I talked about boredom on https://esolangs.org/wiki/User:Int-e )
13:23:10 <HackEgo> [wiki] [[User:TieSoul]] https://esolangs.org/w/index.php?diff=52883&oldid=40229 * TieSoul * (-426) Replaced content with "I made [[Befunk]] I guess"
13:23:10 <HackEgo> The Wisdome is the place where all of HackBot's wisdom is stored and forced to fight to the death for the freedom of being printed out when you type `wisdom. Strictly speaking, it should be called the "Wissphere".
13:25:22 -!- ais523 has joined.
13:25:22 <HackEgo> eol//EOL stands for End Of Lawn. It's often found past the wabe. oerjan requests your presence there immediately.
13:27:37 <int-e> `learn The Boredome is a dangerous place swarming with woodpeckers, dentists, and bookworms.
13:27:40 <HackEgo> Learned 'boredome': The Boredome is a dangerous place swarming with woodpeckers, dentists, and bookworms.
13:29:00 <rdococ> "Dentists are professional workers whose main line of work is forming dents on various surfaces."
13:29:55 <rdococ> `learn Dentist Dentists are professional workers whose main line of work is creating dents on various surfaces.
13:29:57 <HackEgo> Learned 'dentist': Dentist Dentists are professional workers whose main line of work is creating dents on various surfaces.
13:30:05 <rdococ> `le//rn Dentist//Dentists are professional workers whose main line of work is creating dents on various surfaces.
13:30:07 <HackEgo> Relearned 'dentist': Dentists are professional workers whose main line of work is creating dents on various surfaces.
13:31:00 <TieSoul> that's dentists who are discriminatory to dents
13:31:07 <rdococ> "Bookworms are a species of worm known for thriving in books, feeding from the cellulose in the paper."
13:31:43 <rdococ> `le//rn bookworm//Bookworms are a species of worm known for thriving in books. They are known to be unusually intelligent.
13:31:46 <HackEgo> Learned 'bookworm': Bookworms are a species of worm known for thriving in books. They are known to be unusually intelligent.
13:32:03 <TieSoul> "Woodpeckers are a class of wooden sculptures, depicting a 'peck' or kiss."
13:32:19 <rdococ> I'll stop now, before someone calls me out for adding bad wisdom entries.
13:36:26 <fizzie> rdococ: FWIW, there's auto-pluralization handling -- you can "`learn Dentists are such and such." and it will learn 'dentist'.
13:36:50 <rdococ> fizzie: I'm aware of that but I am more comfortable with //.
13:37:00 <TieSoul> but what if a word ends in s
13:37:14 <fizzie> TieSoul: Then you need to use the alternatives.
13:37:27 <fizzie> It also doesn't work for nonstandard plurals.
13:38:08 <TieSoul> nonstandard plurals would require more or less encoding a partial dictionary
13:38:15 <TieSoul> which is too much effort for a slight convenience
13:38:54 -!- ais523 has quit (Ping timeout: 240 seconds).
13:39:56 <fizzie> In other news, the Telegraph magazine has made me a lot less excited about 4G and 5G, since apparently their speeds top up at 1 and 10 megabits, respectively: https://zem.fi/tmp/telegraph.png
13:40:48 <TieSoul> sure makes it look good with that bar graph though
13:42:05 <TieSoul> also yeah I'm pretty sure 4G is faster than 1Mb/s
13:43:13 <FireFly> I've gotten >1Mbit/s over 3G (well, one of the standards before LTE using 3G's infrastructure) at least and >20 over LTE
13:43:40 <FireFly> I guess they were just ulling arbitrary numbers
13:43:52 <fizzie> FireFly: Yeah, the 384 kbit/s is from the original UMTS spec, they've dropped the HSPA steps.
13:44:11 <TieSoul> before 4G, I seemed to get better results with what my phone OS called "H" connection than with 3G
13:44:12 <fizzie> And 300 Mbit/s would be the conventional figure for LTE, though I think they've gotten their "1000" from gigabit LTE news.
13:44:45 <FireFly> which is off by three orders of magnitude then
13:45:17 <fizzie> I'm guessing they just switched from kbit/s to Mbit/s halfway through their chart.
13:45:28 <FireFly> TieSoul: that'd be HSPA or HSPA+ then
13:45:53 <FireFly> or "3.5G" and "3.7G" according to Maemo 5 IIRC
13:46:29 <FireFly> Yeah, it's a bit convenient of them to squeeze everything in a genertions scale
13:46:39 <TieSoul> though using fractional "G"s is unwieldy
13:46:56 <fizzie> FireFly: I think HSPA+ is quite often referred to as "3.75G", but that doesn't fit in a status bar as well.
13:47:10 <TieSoul> that should get rounded to 3.8G then
13:47:54 <TieSoul> though I suppose that'd be slightly misleading
13:48:57 <FireFly> I mean the fraction is pretty arbitrary
13:49:12 <fizzie> I think Maemo used 2.5G for EDGE as well.
13:49:14 <FireFly> but it's easier to tell that 3.5 > 3 than "H" > "3G"
13:49:46 <fizzie> This Android phone does G, E, 3G, H, 4G, I think.
13:50:05 <TieSoul> mine uses 3G, H, H+, and 4G. I don't think I've dipped below that.
13:50:21 <TieSoul> on my current phone that is
13:50:35 <FireFly> I only recall eeing 2G, 3G and 4G on Sailfish I think
13:51:00 <FireFly> so I guess it uses 2G for both GSM and EDGE etc
13:51:29 <TieSoul> it's easier to see the easy to compare numbers than to memorize the abbreviations
13:57:30 <FireFly> I wonder how 5G development is coming along
13:57:36 <FireFly> I saw a 5G test rig a couple years ago
13:59:06 <FireFly> not sure exactly what technology, but whatever they were working on at uni two years ago I guess
13:59:35 <fizzie> The article that bogus graph was from is about UK 5G spectrum auctions, and how a few lawsuits are going to slow them down.
13:59:38 <fizzie> http://www.telegraph.co.uk/business/2017/08/19/bts-mobile-unit-wades-5g-battle-against-three/
14:00:33 -!- doesthiswork has joined.
14:01:26 <TieSoul> lol, according to wikipedia, "LTE Advanced Pro (LTE-A Pro, also known as 4.5G, 4.5G Pro, 4.9G, Pre-5G, 5G Project, and so on)"
14:01:39 <TieSoul> seems they're getting progressively more optimistic about LTE-A Pro
14:04:07 <FireFly> TieSoul: for the longest time LTE was also considered "not quite 4G" until it became defacto 4G
14:04:23 <TieSoul> hey, apparently my country is ranked 5th in LTE coverage
14:04:32 <FireFly> the numbered generations are as much for marketing as the fractional in-between generations are really
14:05:20 <FireFly> LTE coverage is pretty good here, but I dunno how well it ranks on an area-of-country-covered basis
14:05:28 <FireFly> since northern sweden is.. pretty rural
14:05:34 <TieSoul> more like epsilon-zero G, rdococ
14:05:52 <FireFly> But I had LTE coverage whilst hiking last week in the mountains, so that's cool :P
14:06:01 <TieSoul> what's the name for epsilon-epsilon-epsilon-...?
14:06:02 <fizzie> Scotland was very low in G's.
14:06:20 -!- lord_EarlGray1 has joined.
14:07:13 <FireFly> 4G - Normalhastighet 10 - 40 Mbit/s
14:07:13 <FireFly> 4G+ - Normalhastighet 20 - 60 Mbit/s
14:07:24 <FireFly> I wonder if that'sa different technology or if both are just LTE
14:08:01 <Vorpal> suspect they are both LTE
14:25:13 -!- moony has joined.
14:30:10 -!- lord_EarlGray1 has left.
14:44:33 -!- ATMunn has joined.
15:26:12 -!- jaboja has joined.
15:52:12 -!- ais523 has joined.
15:57:21 <rdococ> Feather sounds nice btw
15:59:01 -!- `^_^v has joined.
16:00:52 <ais523> rdococ: what motivated you to say something like /that/ just after I joined? :-D
16:01:10 <ais523> luckily, I've been growing more Feather-resistant over time, I'm starting to come to terms with it a bit more
16:02:12 <ais523> hmm, I wonder if standard user turnover in #esoteric will eventually result in nobody knowing what Feather is except that it's a meme
16:03:36 -!- hppavilion has quit (Remote host closed the connection).
16:04:01 -!- hppavilion has joined.
16:05:05 -!- hppavilion has quit (Remote host closed the connection).
16:06:30 <rdococ> ais523: Feather clearly comes from a Bird :P
16:13:13 <int-e> ais523: I've added a translation from Brainfuck to YABC
16:15:43 <int-e> (which might be interesting in how it handles skipping of loops... that was my primary inspiration)
16:16:45 <HackEgo> [U+1F60E SMILING FACE WITH SUNGLASSES]
16:21:33 <boily> alercah: you should use the whole chicken for the best experience.
16:21:39 <boily> ais523: feather is future-proof.
16:22:26 -!- int-e has left ("HOLISITC CHICKEN").
16:22:26 -!- int-e has joined.
16:22:31 <APic> Good old Future.
16:22:36 <HackEgo> [U+1F60E SMILING FACE WITH SUNGLASSES]
16:22:56 <ais523> int-e: how does that handle nested loops?
16:22:59 * rdococ really wishes he could stumble on an original idea for once.
16:23:10 <int-e> ais523: by moving further to the left.
16:25:46 <int-e> ais523: the pointer is somewhere in the 41 -37 ... 41 -37 part, pointing to a 41 if scanning to the left or to a -37 if scanning to the right; the further nested the loops, the further left the pointer will be in that part.
16:26:42 <ais523> oh, I see, you're using the position of the data pointer to track the nesting level, not the position of the instruction pointer
16:26:49 <ais523> which is how I'd expected it'd be done
16:27:18 <int-e> which allows me to have a very uniform (if inefficient) trranslation.
16:28:04 <HackEgo> [U+1F60E SMILING FACE WITH SUNGLASSES]
16:28:12 <APic> It will not get better over Time.
16:28:28 <HackEgo> [U+1F60E SMILING FACE WITH SUNGLASSES]
16:28:48 <int-e> APic: I don't see the actual character and there are many smileyds
16:28:59 <int-e> I should switch to privmsg, perhaps
16:29:16 <boily> rdococ: originality is an itch. you can't strike it, just scratch it. find what irks you. what are your wishes? what are your "man, it'd be so nice to have..."?
16:31:55 <ais523> int-e: come to think of it, there's probably a construction which uses the value of a tape element
16:32:24 <ais523> just put the nesting level directly on the tape, and use it as a value to branch on to see if you've gon far enough yet
16:32:26 <rdococ> boily: I don't have much of an idea, to be honest. Sometimes, something looks like an appealing idea to me, and then it loses its subjective value over time.
16:33:39 <ais523> I started writing a small Rust program to learn the language
16:33:55 <ais523> and already ended up doing heavy amounts of type-level metaprogramming and had an idea for a new language feature and a new optimisation
16:36:11 <rdococ> I had the idea that functions could be manipulated by a program as a linked list of statements, with expressions that could be modified on the fly
16:36:28 <rdococ> so, for example, say we have a function f. f is the first statement, f second, etc.
16:36:29 <HackEgo> [U+2665 BLACK HEART SUIT]
16:36:43 <APic> Good old 4-Letter-Codes. 😎
16:37:04 <rdococ> say f was an if conditional - then f.condition would be the condition, f.ifblock would be another list of statements, f.elseblock, and then f after it.
16:37:39 <moony> ais523, explain what feather is
16:38:03 <int-e> http://esolangs.org/wiki/Feather
16:38:08 <ais523> moony: I can't; the wiki page may help
16:38:22 <ais523> at a very rough approximation, it's an esolang I started to write, couldn't pin down the details
16:38:36 <ais523> and then got really upset because not only did nobody else understand my esolang, I didn't understand it either
16:38:59 <boily> rdococ: explore the idea. build a working prototype. draft sketches on random pieces of paper. doodle. have a feel for it. where shall it lead?
16:39:11 * APic actually misread „moony“ as „money“, lol.
16:39:22 <rdococ> boily: a working prototype? I can't even do that.
16:39:23 * moony goes insane thinking about feather
16:39:28 <ais523> but it's very maddening because looking at individual parts of it, it feels like it /should/ work, and yet I can't grasp the whole, and even when just focusing on individual parts, there's always complications which means you can't pin down exactly how they work
16:39:53 <rdococ> you know, if you'd let us look at individual parts, we could help
16:39:57 <moony> ais523, do it like i do it: implement and test each little bit at a time, with little/no order lol
16:40:10 <rdococ> then again, I don't want to go mad either :P
16:40:14 <ais523> rdococ: I don't understand any of them either :-(
16:40:25 <ais523> although I have worked out the correct order in which to approach them, I think
16:40:28 <moony> ais523, i volunteer my brain
16:40:36 <boily> rdococ: yes you can.
16:40:42 <moony> just so i can figure out what it is
16:40:45 <ais523> most of my Feather-related work has been on what must be the first step: to work out a language that it's theoretically possible to implement Feather in
16:41:08 <int-e> . o O ( aka, Feather? )
16:41:10 <ais523> other than Feather itself, that is
16:41:22 <ais523> because you need to get started somehow
16:41:33 <APic> moony talks, People listen.
16:41:41 <int-e> Ah but how do you know it won't be precursors to Feather all the way down...
16:41:53 <rdococ> by the looks of the unfinished article, it does sound like a cool concept
16:41:58 -!- oerjan has joined.
16:42:03 <ais523> once you have a working proto-Feather interpreter (i.e. one that implements Feather but doesn't fulfil all the provenance restrictions needed to be a Feather interpreter), you can then retroactively change it to have been written in Feather itself
16:42:10 <int-e> oerjan: good morning to you
16:42:25 <ais523> that's another of the steps where I think I know how it works but I don't have a working set of precise details
16:42:27 <moony> well first, we need to build a time machine and put a computer inside it with a link to the time machine
16:43:05 <rdococ> you know what, I'm going to borrow Feather's specification from the future, brb.
16:43:07 <moony> then we need to solve the halting problem so ais523's brain wont asplode
16:43:19 <moony> done we made feather
16:43:27 <rdococ> halting problem is easy to solve - use Banana Scheme
16:43:32 <ais523> anyway, the language in which the proto-Feather interpreter is written needs the following properties: functional with minimal side effects (nothing beyond what you need to communicate with the user, and ideally not even that); a working call/cc; an eigenratio of 1, ideally for all idiomatic interpreters rather than just one of them; a syntax simple enough that self-interpreting is easy
16:43:44 <moony> brb rewriting ais523 in banana scheme
16:43:51 <ais523> oh, and ideally it wouldn't go into an infinite loop just because the program mentioned one
16:43:58 <moony> wait how do i write things in banana scheme
16:44:04 <ais523> rdococ: imagine running a program through a large stack of self-interpreters
16:44:26 <rdococ> functional and call/cc is easy
16:44:31 <moony> ais523, minimal side effects? hmm. you may have to make a entire new language for that
16:44:40 <rdococ> not sure about the eigenratio, and the infinite loop thing - maybe not :P
16:44:40 <ais523> the eigenratio is the amount of slowdown you get by adding another interpreter to the stack, expressed as a ratio between the execution times
16:44:57 <rdococ> ah. why don't you want it to speed up?
16:45:09 <rdococ> (in other words, eigenvalue < 1)
16:45:17 <rdococ> s/eigenvalue/eigenratio/
16:45:21 <ais523> rdococ: it's clearly impossible to get an eigenratio < 1, because that means that the more self-interpreters you had in the stack, the faster it would get
16:45:33 <ais523> meaning you could create an arbitrarily fast impl via stacking an arbitrary number of interps
16:45:51 <ais523> and necessarily outpacing the "programming speed of light" for the computer you were running on
16:45:56 -!- `^_^v has quit (Quit: This computer has gone to sleep).
16:46:00 <moony> ais523, go make a fork of the rust compiler. i think (tm) it has a eignratio of 1
16:46:10 <ais523> eigenratio = 1 is possible if each level of self-interpreters only adds a constant time
16:46:10 <moony> the compiler is written to be compiled by itself
16:46:17 <ais523> moony: most compilers have eigenratio 1 :-P
16:46:45 <ais523> in fact, the most promising approach to writing an eigenratio-1 interpreter is to have it work as a compiler + eval
16:46:46 <rdococ> ais523: a self-interpreter that writes the code to be interpreted to the current file, and then restarts the file.
16:47:04 <rdococ> or something like Lua's load().
16:47:24 <moony> ais523, go ask in #xkcd. they're esoteric enough to help maybe? :P
16:47:39 <alercah> ais523: but if the compiler is being freshly compiled, doesn't that give it eigenratio > 1?
16:47:42 <moony> also, just claiming this now: inb4 brainfuck but with more instructions
16:47:43 <rdococ> moony: I think a simple eval() would do
16:48:17 <ais523> alercah: the point is that if you repeatedly compile the compiler with itself, then eventually run a different program with the final compiler in the chain
16:48:20 <ais523> the program doesn't run any slower
16:48:31 <alercah> ais523: I thought you were including the time to compile the compilers
16:48:37 <ais523> so each layer of compiler didn't give you a slowdown of a factor, but a slowdown of a constant amount of time, which doesn't show up on the ratio
16:50:11 <moony> ais523, is memory usage counted as a side effect?
16:50:52 <ais523> moony: hmm, I guess for this to work it needs to avoid using notable extra memory for each level of self-interps, too
16:51:17 <ais523> although I guess it's probably OK to have a Feather interpreter that crashes due to memory loss, or gets very slow after a while, at least to start with
16:51:22 <moony> hrm, well your 'functional with minimal side effects' requirement seems to be fulfilled by unlambda.
16:51:25 <ais523> we could perhaps optimize it later? maybe even retroactively?
16:51:44 <ais523> moony: Unlambda actually does very well in a number of categories as a language in which to write Feather
16:51:50 <ais523> its main drawback is being almost impossible to write in
16:52:06 <moony> ais523, why not make a abstraction of unlambda?
16:52:11 <ais523> (or, actually, it's not that hard to write but is hard to do anything else with)
16:52:19 <moony> in fact, let me see how that could be done... hrm.
16:53:30 <moony> so user output as only side effect? leme think
16:53:34 <ais523> if you treat unlambda as an asm it's not that bad
16:53:56 <ais523> moony: I think I've figured out how to do I/O in a pure functional language without making evaluation order visible
16:54:15 <ais523> although the general issue of doing I/O in Feather is a pretty awkward one, especially output
16:54:20 <moony> ais523, well, ...Damn, you got me into a feather problem
16:54:26 <ais523> because after you've output something, you can retroactively change things so that you didn't output it
16:54:36 <ais523> moony: really, I recommend not thinking about it
16:54:51 <ais523> maybe the problem actually is unsolvable!
16:55:02 <ais523> actually, talking through this here has helped, because it's making Feather seem less possible rather than more
16:55:09 <moony> ais523, who knows. if it is this could be a issue with modern mathematics......
16:55:22 <rdococ> ais523: Don't worry, I'm already mad, I think I might be able to solve it (after trying everything else first :P)
16:55:22 <moony> not feather, but our form of mathematics and logic
16:55:54 <moony> maybe we can use anger to disguse our thoughts so the universe doesnt notice us thinking about feather.
16:56:48 <moony> rdococ, hey, its worth trying.
16:57:07 <oerjan> moony: sorry, but anger has the opposite effect hth
16:58:00 <HackEgo> hth ([ʰtʰh̩]) is help received from a hairy toe. It is not at all hambiguitous.
16:58:05 <moony> unhelpful as usual
16:58:16 <moony> oh right 'hope that helps'
16:58:17 <HackEgo> We're not sure what hambiguitous means, but it's definitely not hth.
16:59:42 <moony> oerjan, would a feeling of calm help? Cats make calmness. *prepares to flood chatroom with kittens*
17:01:30 <HackEgo> [wiki] [[Main Page]] https://esolangs.org/w/index.php?diff=52884&oldid=52881 * Oerjan * (-238) You failed to discuss this in the right place hth
17:02:28 <ais523> they probably discussed it on the discord server :-P
17:02:45 <ais523> incidentally, a "discord server" isn't actually a server, it's more like a channel
17:09:33 <moony> so, i figured out this: Feather is likely a purely functional language that is self interperting with minimal/no side effects
17:09:56 <rdococ> and throwing the word "retroactively" around a lot
17:10:08 <rdococ> hmm. "<ais523>in Feather, you create objects by cloning+modification, and if you retroactively change the parent object, that changes all its decendants, so it comes to the same thing"
17:10:17 <rdococ> that actually sounds coo.
17:10:56 <ais523> sure, if it wasn't a cool language I don't think I'd have spent this much mental effort on it
17:11:21 <ais523> also, Feather itself (as opposed to the language in which it's originally implemented) sort-of has side effects because a retroactive change is similar to an assignment in that sense
17:11:22 <moony> do we have any more feather info? :P lets see if we can try and piece it together. Communal brainpower only thinking about PARTS cant be as bad as thinking about the WHOLE
17:11:50 <rdococ> moony: or let me think about the WHOLE, because I'm already INSANE :P
17:11:52 <ais523> well, one big problem is "how do you encapsulate things well enough that a retroactive change doesn't create an infinite loop"
17:11:56 <ais523> say I retroactively change something to itself
17:12:06 <ais523> Feather does that by going back in time to the point at which it was created, changing nothing
17:12:07 <rdococ> what is this retroactive change, first of all?
17:12:11 <ais523> then running hte program from there
17:12:40 <ais523> rdococ: you can define the core operation pretty easily; when an object is "created" it gets a handle (which is probably just a continuation) that describes the object
17:12:55 <ais523> then you can retroactively change the object via using the handle; it replaces what the object was at the time it was created
17:12:58 <rdococ> ooh, object continuations?
17:13:01 <ais523> this is basically what call/cc already does
17:13:30 <ais523> right, so the idea is you have a continuation on an object, but you implement that via call/cc at the time the object's created
17:13:59 <moony> ais523, i assume once its done it goes back in time to program start and gives output immediately?
17:14:00 <ais523> if you later want to change what the object was, you use the continuation to rewind back to the time it was created
17:14:07 <ais523> and put a different object (taken from the future) there instead
17:14:19 <ais523> moony: not necessarily, although that's an interesting idea
17:14:47 <moony> then just use up the needed compute time, or even cut program execution out of the timeline entirely, making it have no side effects (in essence)
17:15:00 <ais523> a program is basically a "chunkstream" that works like Easy; it's a program followed by input to it, but the program is meant to be a self-interpreter (or approximately so) so it recognises the input as more code to run
17:15:36 <ais523> the whole notion of retroactively replacing the whole program execution with the output does actually solve most of the major problems with the output, though
17:17:04 <moony> ais523, your welcome :)
17:17:35 <moony> im happy to not erase that moment frm the timeline and keep it to myself as long as you dont do the same
17:19:08 <ais523> moony: so I don't have an actual time machine
17:19:13 <ais523> but ideally, when you retroactively change something in Feather
17:19:35 <ais523> it's carefully crafted so that the change has no visible effect until the moment you tried to go back in time and change it
17:19:52 <moony> ais523, just keep a state tracker. Sure it'll eat memory like hell by keeping track of all timelines, but it'll do the job for a theoretical system
17:20:16 <Taneb> Tracking state isn't a panacea here
17:21:26 <moony> Taneb, i swear i'll erase you from the timeline /s
17:21:45 * moony wonders if they realise this universe is a program on moonys computer
17:22:08 <moony> nope they noticed.
17:22:26 * moony prepares timeline wipe before remembering it only creates a new branch, he fucked this timeline up
17:22:26 <rdococ> Yay! Can moony use the program to give me lots of money?
17:22:57 <moony> as in 'i refuse to go through the effort of making a template'
17:23:02 <rdococ> Can moony use the program to metaprogram, so he can generate code that gives me the ability to give myself lots of money?
17:23:26 <moony> i refuse to give you a shitty life hack
17:23:27 <rdococ> Can moony prove that the universe is on his computer?
17:23:42 <moony> rdococ, sure. You now no longer exist in the branch of this timeline.
17:23:53 <moony> you exist here because i cant undo it.
17:23:55 <APic> ais523: Phœnix-Feathers pwn. At least in the final Fantasies. 😎
17:24:04 <APic> moony: Sad but true.
17:24:19 <rdococ> Can you remove APic from another branch in the timeline?
17:24:30 <APic> rdococ: In my Dreams, probably.
17:24:37 <moony> i deleted everyone assosiated eith #esoteric in another timeline besides me.
17:24:43 <APic> rdococ: Also, in other Branches, my Nick is actually „ACTPic“.
17:24:49 <rdococ> Now, can you force APic's current subconscious to enter the timeline in which he does not exist?
17:25:30 <ais523> APic: hmm, the translation used for the English versions of Final Fantasies is "Phoenix Down", but I know that several details, both major and minor, are different in different language versions
17:25:38 <moony> here, i'll force APic from 10 seconds ago to branch off and then be shoved into the timeline where he doesnt exist
17:25:41 <ais523> so there may well be a language where they're phœnix feathers insetead
17:26:11 <moony> ais523, tip: your 'feather' language will be awesome according to this timeline over here, from 2 years ago.
17:26:23 <rdococ> moony: Can you create a branch in the timeline which has developed the technology necessary to broadcast information across branches - even to branches which don't have the technology necessary to receive those messages?
17:26:41 <ais523> moony: well, Feather's time-travel model is basically one in which retroactively changing something destroys your current timeline and recreates it via replaying from that point with the change
17:26:46 <moony> rdococ, that'd make the program crash. do you want that? (:
17:26:48 <int-e> . o O ( At each time step, the universe is recreated from scratch. The trick is to make it appear smooth and efficient. )
17:27:01 <rdococ> moony: Ooh! I want to know what it feels like to crash!
17:27:01 <ais523> so you get a timeloop if the retroactive change happens again in the new timeline, thus you need every change to somehow negate the fact it was made
17:27:09 <moony> int-e, eeexxxaaaccctttllly
17:27:19 <moony> rdococ, it means you no longer exist. in every timeline. forever.
17:27:31 <rdococ> moony: Is the crash local to me, or global?
17:27:45 <moony> psst, someone kline him and scramble the DNS cache so he thinks i deleted freenode
17:28:24 <rdococ> Moony, I'll still have these logs.
17:28:43 <moony> rdococ, oh right. Oh well.
17:28:53 <rdococ> But I am pretty stupid.
17:28:58 <ais523> wait, are italics standard on IRC nowadays?
17:29:02 <moony> if onyl i could disable the auto timeline split safety feature.
17:29:06 <ais523> my client interprets tab as toggle-italics, but I thought most didn't
17:29:18 <moony> pretty sure they are. altho tab italics is NOT standard
17:29:29 <rdococ> my client uses ctrl+i for italics
17:29:35 <moony> my client doesnt even let me enter a tab
17:29:55 <ais523> rdococ: control-I /is/ a tab
17:29:56 <rdococ> not even sure where it tabs to
17:30:13 <moony> ais523, oh. ok it is standard then.
17:30:14 <rdococ> ais523: it isn't, they are two distinct characters
17:30:16 <TieSoul> oh I just realized that thing int-e keeps doing is a thought bubble
17:30:19 <ais523> just like control-J is a newline, control-M is a carriage return, control-[ is escape, etc.
17:30:21 <TieSoul> ...can't believe I didn't see that earlier
17:30:30 <moony> TieSoul, wonder what took you so long
17:30:36 <rdococ> I copied and pasted tabs from a text editor. see? not italic.
17:31:00 <TieSoul> I can type italics with ctrl-i too
17:31:15 <rdococ> bolditalicunderlinecolor
17:31:28 <ais523> rdococ: it used to be that copy-pasted tabs would italicise on this client
17:32:13 <moony> anyways back to feather
17:32:17 <moony> ais523, any known syntax?
17:32:50 <ais523> moony: I can't remember the details, but the intention was that it should be similar to Smalltalk but work for different reasons
17:33:24 <ais523> "a b" would normally call method b on a, but if a was "unboxed" it'd provide b as an argument to a
17:33:45 <ais523> there was some method you could call on things to get an unboxed version of them, but I can't remember whether it was ^ or #
17:33:50 <ais523> whichever one you'd use in that situation in Smalltalk
17:34:21 <rdococ> I believe ^ is return in Smalltalk
17:34:24 <ais523> also the method name for the low-level retroactive change was <<=
17:34:35 <moony> by the way, you guys are lucky. this is timeline '0' persay
17:34:57 <APic> Branchporting pwnd in the NetHacks.
17:35:33 <APic> ais523: We had the Phönixfeders in the Germanies, at least so i believe.
17:35:36 <rdococ> moony: so did you create timeline 0 with everyone in it, or...?
17:35:45 <rdococ> because if so, why do I exist here
17:36:04 <moony> rdococ, how do you think it started? Im not going to spend milleniums handcrafting a universe. i let it do its thing.
17:36:44 <rdococ> moony: if you think it's such a bad idea to spend millenia hand-crafting a universe, maybe you should tell the kinds of people who hand-craft universes for fun!
17:37:15 <moony> rdococ, its not a bad idea. i just dont wanna spend it. even if i DO live several billion years.
17:38:06 <HackEgo> This channel is about programming -- for the other kind of esoterica, try #esoteric on EFnet or DALnet.
17:38:10 <moony> i recall some universe that had a world on the back of a giant turtle that had 3-4 elephants on it... I also remember leaking it into this world by mistake
17:38:20 <moony> ais523, might wanna revise that. its so much more now.
17:38:25 <ais523> I'm wondering if I've fallen into the wrong #esoteric by mistake :-P
17:38:43 <moony> rdococ, i refuse to say
17:38:50 <rdococ> Concept: OOP language where methods themselves are objects
17:38:52 <ais523> moony: I preferred it when it was mostly about programming
17:38:53 <moony> now back on topic before i blow you to bits
17:39:05 <ais523> although the offtopic discussion is much less objectionable than it was a couple of decades ago
17:39:14 <moony> ais523, theoreticals are fun too!
17:39:37 <ais523> I ended up leaving #esoteric for long periods of time because I just wasn't interested in the topics it normally discussed
17:39:56 <moony> thats normal. #xkcd is better anyways :P
17:40:38 <moony> discussion of every kind there. from the comic to space-time
17:41:14 <moony> oh and hppa lurks there. hasnt been here in a while has he
17:41:30 <moony> (not lurks, really, he's a active talker)
17:41:40 <oerjan> saw him yesterday, i think
17:45:45 <Taneb> A housemate taught me a cool way to represent scenes for graphicsy stuff yesterday
17:45:57 <Taneb> As functions from points to the distance to the closest surface
17:46:09 <Taneb> And you can take the union of two scenes with, like, liftA2 min
17:46:24 <FireFly> yeah, signed distance functions
17:46:53 <moony> FireFly, i have a suspicion: are you named after the show/movie/book/whateveritis
17:47:15 <Taneb> I always assumed FireFly was an aquatic insect
17:47:25 <FireFly> Taneb: http://iquilezles.org/www/articles/distfunctions/distfunctions.htm
17:47:52 <FireFly> has a nice collections of primitives and tricks for sdf's
17:49:06 <Taneb> Also if you take the derivative of the signed norm function at a surface point, you get the surface's normal
17:50:00 <FireFly> yeah, so you can use an approximation of the gradient (like central difference) to get the normal
17:50:05 <FireFly> handy for light computations
17:51:26 <Taneb> I've been working on something that uses automatic differentiation for that today
17:53:09 <Taneb> But I find Sundays difficult because I tend to forget to drink
17:53:26 <int-e> rdococ: just hold your breath
17:53:43 <rdococ> int-e: that doesn't work
17:54:14 <int-e> rdococ: well the underlying theory is sound.
17:54:45 <FireFly> Taneb: why sundays in particular?
17:55:19 <FireFly> Taneb: I learned about the idea of automatic differentiation a while ago, it seems like it'd be really handy for that, yeah
17:55:42 <Taneb> FireFly, my office has a sink that I can see from my desk, so I remember to drink Mondays through Fridays
17:55:43 <FireFly> in cases when the distance function is possible to express neatly
17:55:51 <oerjan> <TieSoul> what's the name for epsilon-epsilon-epsilon-...? <-- phi_2(0) iiuc.
17:56:50 <TieSoul> well that certainly sounds like it could be it
17:56:55 <oerjan> https://en.wikipedia.org/wiki/Veblen_function although it's pretty dense.
17:57:15 <Taneb> FireFly, I'm a bit crap at looking after myself today tbh :(
17:57:21 <Taneb> In general, in fact
17:58:12 <FireFly> Taneb: https://www.youtube.com/watch?v=O-1zEo7DD8w ← this from Revision earlier this year is pretty cool, LJ (to the right) is livecoding a scene expressed as an sdf and rendering it with raymarching in half an hour
18:00:23 <FireFly> (leave it to demosceners to do crazy stuff like that in half an hour :P)
18:01:23 <Taneb> Yeah, the housemate who told me about this is into demoscene
18:02:07 <FireFly> I've played a bit with raymarching and distance fields, but not enough..
18:11:45 <Taneb> While I'm thinking about it I'm going to get a drink
18:12:04 <rdococ> How about an OO language where even the methods are objects?
18:12:55 -!- MDude has joined.
18:12:56 <FireFly> Taneb: you could try keeping a bottle of water by the desk
18:13:03 <FireFly> or you could try getting addicted to tea, I find that works pretty well too
18:13:08 <moony> well, ais523 has me trapped trying to figure out how to make a precursor functional language feather could be implemented in
18:13:33 <ais523> I didn't mean to; feel free to stop thinking about it if you like!
18:14:22 <Taneb> FireFly, I really don't like the taste of tea
18:14:54 <Taneb> But the bottle suggestion might work
18:29:59 <oerjan> exploding moons are so last century
18:35:59 <oerjan> one thing i don't recall ais523 ever explaining, is what's supposed to happen if you replace an object with something that _contains_ the original, but isn't identical to it.
18:36:23 <moony> ais523, might wanna explain that... could be a issue. dont want to crash the universe do we?
18:36:25 <ais523> oerjan: you can smuggle back objects from previous timelines like that
18:36:32 <ais523> so the new-timeline object contains the old-timeline object
18:36:48 <ais523> from before the retroactive replacement
18:36:51 <moony> the old-timeline object would be modified in the old timeline right?
18:37:01 <ais523> the old timeline no longer exists
18:37:22 <ais523> when you make a retroactive change, that /always/ ends the current timeline, and starts from a new timeline that branched off from the previously current timeline at the point at which the object was created
18:37:29 <moony> then what happens if you write to the old timeline object which supposedly should be gone
18:37:35 <ais523> so there's only one timeline at a time
18:38:10 <ais523> moony: there is a consistent answer to this, but I'm not 100% sure offhand what it is
18:38:20 <ais523> basically, think of it in terms of call/cc
18:38:23 <alercah> this is the best conversation to happen here in months
18:38:57 <ais523> whenever you create an object, you do so within a call/cc function, the function that's called/cc takes the continuation and adds it to a field of the object, then returns the object
18:39:37 <oerjan> but that means that if you have a smuggled object then you also have its timeline, through its continuation.
18:39:39 <ais523> then to retroactively change the object, you take the continuation (which you can access because it's in a field of the object), and give it the new object as an argument (thus effectively rerunning the program from the point at which the object was created)
18:40:08 <ais523> oerjan: right, this is indeed correct, although you only have the timeline at the point the object was created
18:40:16 <ais523> so I guess there's only one active timeline at a time, but you can have plenty of dormant timelines
18:40:19 <moony> ais523, uh, how would a self referencing object behave?
18:40:34 <ais523> moony: I don't believe it's possible to create a self-referencing object in Feather
18:40:57 <ais523> you don't have any way to change the current value of a field, only retroactively change the object's value at creation time
18:41:27 <ais523> the equivalent of "an object reference" is "an object's continuation", as that's the only thing that differs between an object and a clone of an object; but an object has its own continuation available already
18:41:51 <ais523> oerjan: also, I don't think you can reasonably get mad at me for not knowing how Feather works :-P
18:41:55 <moony> cant you just go back in time, put the object inside its own field, and have a recursive object?
18:42:16 <ais523> moony: no, then the object has a copy of itself from the /previous/ timeline
18:42:21 <ais523> which is not an exact copy of itself
18:42:36 <ais523> eventually, if you follow the chain of objects, it'll bottom out because you'll reach a timeline in which the object didn't self-reference
18:42:45 <int-e> ais523: I think not being reasonable is one of the characteristic features of going mad.
18:42:56 <ais523> however! you can have an object that tracks the number of nesting levels you want
18:43:10 <ais523> and use accessor functions for the nested copies which, if they don't find a nested copy, retroactively increase the number of nesting levels
18:43:12 <ais523> so that they can give you one
18:43:37 <ais523> this allows you to have an object that's observationally indistinguishable from one with an infinite number of nested copies of itself from previous timelines
18:44:11 <alercah> ais523: do you have a logical system to express this in?
18:44:19 <ais523> now, you can also (probably? as usual, I'm unsure as to the details) do this with Feather interpreters, allowing you to have a Feather interpreter that's written in Feather and which runs using a chain of interpreters that's observationally indistinguishable from infinitely large
18:44:55 <ais523> this gives you really powerful introspection properties, as if you need a new debug feature, you can just retroactively add it to the interpreter and the feature is now there
18:46:09 -!- GeekDude has quit (Ping timeout: 248 seconds).
18:46:22 <int-e> you may have a hard time finding pieces of history to discard though, which is a bit ironic for something that wants to be a light-weight smalltalk
18:47:16 <ais523> yes, "how is it possible to make all of this not incredibly inefficient and getting slower as the program runs" is a major problem
18:47:33 <ais523> although, I guess it can be lightweight in syntax and language features required to be sufficiently powerful, and yet still almost impossible to run in practice?
18:48:04 <moony> ais523, ...wow, i just got trapped in a logical paradox: If i were to be erased permanantly from the timeline, would i notice? Intersects heavily with the 'where does the brain go after death if anywhere' problem
18:48:11 <alercah> it feels to me like having a formal logic might be a useful stepping stone, though making a self-modifying logic may be no easier I guess
18:48:12 -!- GeekDude has joined.
18:48:14 -!- zseri has quit (Ping timeout: 260 seconds).
18:48:47 <ais523> alercah: from my point of view, the time travel mechanics are the /least/ confusing part, I just use the call/cc-based definition
18:49:09 <ais523> that said, call/cc is fairly confusing as operations go, but once you understand it everything else is fairly straightforward
18:49:17 <APic> ,o0(Call Collect.)
18:49:33 <APic> 0800-333-42 42 here in the Germanies.
18:49:39 <ais523> (also, there's a fairly simple definition in terms of fork(1) and blocking I/O operations that's clearly insane from an efficiency point of view but is very simple to understand)
18:49:42 <APic> Maybe another 42 at the End.
18:50:05 <ais523> APic: huh, free-to-call phone numbers are 0800 in Germany too? I'm a bit surprised, because that's also the prefix for them in the UK
18:50:19 <int-e> ais523: there's a EU norm
18:50:23 <APic> ais523: To dial in the united Kingdom for free, we would need 00800.
18:50:23 <int-e> it used to be 0130
18:50:59 <int-e> (not sure when that was phased out, 15 or so years ago?)
18:51:18 <APic> Cannot… remember… the… Past…
18:51:25 <APic> ,o0(Must not.)
18:52:42 <int-e> End of 2000, lucky guess.
18:53:31 * APic does not quite like that they separated from the EU again.
18:53:43 <APic> With their Pounds and Stuff…
18:53:47 <ais523> and 48% of Brits don't like it either
18:53:51 <APic> ais523: Thanks for Telling.
18:53:53 <ais523> it was a very close referendum
18:53:53 <APic> That is news to me.
18:54:17 <rdococ> welcome to what will soon become corporate hell if Theresa May gets her way (heh, rhyme)
18:55:06 <ais523> rdococ: Theresa May is only prime minister because nobody else both a) actually wants the job and b) has the support of enough MPs that they wouldn't immediately be removed if they became Prime Minister
18:55:40 <APic> ,o0(Mana-Points…)
18:55:41 <rdococ> ais523: wait, what about the Labour party?
18:56:11 <int-e> that would be part b)?
18:56:21 <ais523> rdococ: they fail b), there are enough MPs in parties who strongly dislike Labour that they would be able to vote out any Prime Minister from that party
18:56:53 <ais523> one of the fundamental rules of being the prime minister is that you need the confidence of at least half the MPs
18:56:55 <rdococ> ais523: yeah, but none of them trust the Tories anymore
18:57:06 <ais523> rdococ: most of them /are/ the Tories
18:57:17 <ais523> although I agree that many Tories don't trust each other
18:57:51 <rdococ> oh, and let's not forget that DUP thing
18:58:51 <HackEgo> 701) <Sgeo_> Why does CL get called functional? <oerjan> it's sort of like how you call ancient greece democratic.
18:59:04 <HackEgo> 529) <Gregor> Hulu's movie selection is like MST3K without the MST3K characters. \ 944) * ais523 challenges the americans here to remember who lost in the most recent UK general election <Phantom_Hoover> ais523, the lib dems
18:59:41 <rdococ> depends what you mean by lost.
19:00:14 <oerjan> rdococ: that quote is older than the most recent election, i think.
19:01:00 <ais523> the coalition government was actually the best government we've had for a while IMO
19:01:06 <oerjan> `` doag quotes | grep 'challenges the americans'
19:01:09 <rdococ> you seriously think so?
19:01:13 <HackEgo> 2267:2013-02-26 <ellioẗt> addquote * ais523 challenges the americans here to remember who lost in the most recent UK general election <Phantom_Hoover> ais523, the lib dems
19:01:46 <rdococ> tories seem to really like privatization - or at least the tories that currently control the party do
19:01:53 <ais523> rdococ: they didn't screw a whole load up (and most of what they did was the conservatives backstabbing the lib dems to make them less popular)
19:02:08 <ais523> pro-privatization is a standard Conservative position, I think
19:03:04 <rdococ> privatization helps to perpetuate the rich-poor divid
19:03:14 <rdococ> or at least what we've seen of it
19:04:08 <int-e> . o O ( privatization is for when you want to have things run to the ground, not when you want to conserve them )
19:04:50 <rdococ> privatization paves the way for cyberpunk
19:04:51 <Taneb> int-e, I don't think there's ever been a political party who's name's been accurate for more than a century or so
19:06:34 <ais523> I think the main argument in favour of privitization is that history has shown that the British government is fairly bad at running sections of the economy itself
19:06:37 <HackEgo> 241) <oklopol> shit would make great currency, because everyone would have it and you could literally be filthy rich
19:06:56 <HackEgo> 941) <groily> I stand by the argument that fungot is the one making the most sense in this channel.
19:07:17 <rdococ> ais523: I wouldn't leave it to for-profit organizations either
19:07:19 <fungot> boily: so, hey, it was our table! if he's interested, he'll push it back to your side. the salt shaker over to their side, this means that, for all intents and purposes
19:07:33 <fungot> rdococ: but in a metaphorical sense. what metaphor would that be, exactly? presents dino never coexisted! your interaction could have dire repercussions. it could tear you apart, and the person in a book, and what's more, it's a book about a tugboat that employs superseded scientific theories for locomotion!
19:07:51 <rdococ> how does fungot generate malformed lines like that?
19:07:51 <fungot> rdococ: in this fallacy, t-rex? i am so happy! it's impossible, utahraptor." then, hey presto, you're a muslim!
19:08:17 <int-e> `` tail -n1 <(cat -n quote)
19:08:18 <HackEgo> cat: quote: No such file or directory
19:08:22 <int-e> `` tail -n1 <(cat -n quotes)
19:08:23 <HackEgo> 1313<ais523> IMO, the best thing to do with wisdom is ignore it
19:08:38 <ais523> rdococ: fungot's sentences only locally make sense, it basically aims for each stretch of n words (where n would typically be around 3) to make sense individually and has no idea of where the sentence as a whole is going
19:08:38 <fungot> ais523: are you you're going trick-or-treating this year, a balloon! the balloon goes up some of the way, we can consider the real question, which is a good thing! stupid problems? that is hilarious right
19:09:10 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz* sms speeches ss wp youtube
19:09:11 <rdococ> is there a way to change n?
19:09:26 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
19:09:29 <Taneb> rdococ, that'd be very tricky I imagine
19:09:40 <Taneb> Are you familiar with how Markov chains are implemented?
19:09:51 <int-e> rdococ: well the whole model is kind of static; fizzie is tuning the knobs which probably involves picking n.
19:10:20 <moony> Oh.. I forgot aboutt this esolang. (its one i made, and can only be computed by solving the halting problem)
19:10:21 <moony> http://esolangs.org/wiki/HBL
19:10:32 <int-e> models come out of variKN, IIRC: https://github.com/vsiivola/variKN
19:11:58 <rdococ> I had the idea of incorporating floats into brainfuck using some command.
19:12:03 <ais523> I think n might be slightly variable, too?
19:12:32 <rdococ> maybe a / command to take the left branch in the surreal number tree?
19:15:06 <rdococ> ais523: do you think mindscrew could do with an additional feature like non-integers?
19:15:53 <ais523> no idea, it's hard to know what features should and shouldn't be in BF derivatives
19:16:19 <rdococ> well, atm mindscrew is a derivative of pbrain with its own procedure tape and procedure pointer
19:20:59 -!- oerjan has quit (Quit: Later).
19:32:21 -!- jaboja has quit (Read error: Connection reset by peer).
19:34:48 -!- jaboja has joined.
19:36:15 <rdococ> ais523: the idea is that there would be two new commands: / and *. / would take the left branch in the surreal number tree, * the right branch. (if it's at the top, it just adds one). here -> https://upload.wikimedia.org/wikipedia/commons/4/49/Surreal_number_tree.svg
19:36:34 <rdococ> so +/ results in one half, ++/ results in one and a half, etc.
19:36:58 <rdococ> +/* is 3/4, +/*/ would be 5/8
19:37:00 <ais523> do you have ways to undo that, too?
19:37:07 <ais523> what happens if you do one and undo another
19:37:19 <rdococ> there'd probably be one to go up the tree
19:37:22 <ais523> bear in mind that the only way to read a value in BF in a way that affects control flow is to bring it back to zero
19:37:28 <ais523> so if you have two downs and one up, then the two downs are equivalent
19:38:04 <rdococ> / to branch left, * to branch right, and ^ to branch up, maybe?
19:38:34 <rdococ> ooh, what if we used those as the only commands, disregarding + and -?
19:38:41 <ais523> <ais523> so if you have two downs and one up, then the two downs are equivalent
19:39:06 <rdococ> I'm talking about going the left branch, the right branch, and up
19:40:08 <rdococ> having one up operation also means a [^] loop will always set the cell to 0, which is interesting
19:40:12 <rdococ> (0 is at the top of the tree)
19:40:37 <ais523> left and right are both opposites of up, thus down
19:40:47 <ais523> my point is that / and * are observationally equivalent
19:40:55 <ais523> there's no way to distinguish between them from within the language
19:41:08 <ais523> because the only way to get an  loop to exit would be to ^ enough to take it back to zero
19:43:43 -!- Phantom_Hoover has joined.
19:51:56 -!- zseri has joined.
19:54:55 <HackEgo> [U+1E99 LATIN SMALL LETTER Y WITH RING ABOVE] [U+00E5 LATIN SMALL LETTER A WITH RING ABOVE] [U+1E98 LATIN SMALL LETTER W WITH RING ABOVE] [U+1E99 LATIN SMALL LETTER Y WITH RING ABOVE]
20:04:04 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
20:07:34 -!- Phantom_Hoover has joined.
20:07:34 -!- Phantom_Hoover has quit (Changing host).
20:07:34 -!- Phantom_Hoover has joined.
20:10:44 <HackEgo> [U+0068 LATIN SMALL LETTER H] [U+0304 COMBINING MACRON] [U+016F LATIN SMALL LETTER U WITH RING ABOVE]
20:32:11 -!- imode has joined.
20:32:40 -!- TieSoul has quit (Quit: Leaving).
20:54:04 <zzo38> Now I invented editable floating point format.
20:55:18 <zzo38> It is stored by 40-bits, consisting of a unsigned 34-bit integer, a sign bit, and a 5-bit number of decimal places (0=no decimal places but the dot is still included, 1-29=that many decimal places, 30=divide by zero, 31=no decimal places and no dot)
20:59:08 -!- imode has quit (Ping timeout: 240 seconds).
20:59:34 <zzo38> (The integer part is stored in binary though)
21:00:46 <zzo38> (Also, the intention is that it will be converted to IEEE format when you are doing calculations with it; the editable format is only for editing, and there are multiple ways of representing the same number)
21:03:26 <ais523> why does it have a specific option to divide by zero?
21:03:47 <zzo38> To represent positive and negative infinity, and NaN.
21:04:43 <ais523> you might want to change it so that almost all of those patterns are NaN, other than a specific pattern each for +∞ and -∞
21:09:40 <zzo38> I could, although the way I have it now just seem simpler to convert to IEEE format, since the "number of decimal places" field can index a table of what to divide by.
21:12:17 <zzo38> (The sign bit can also be taken together with the number of decimal places field to index such a table, if wanted)
21:25:47 -!- imode has joined.
21:29:49 -!- zseri has quit (Ping timeout: 260 seconds).
21:33:28 -!- augur has joined.
21:45:48 -!- MDead has joined.
21:47:59 -!- MDude has quit (Ping timeout: 255 seconds).
21:48:04 -!- MDead has changed nick to MDude.
22:25:03 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
22:37:34 -!- sleffy has joined.
22:47:16 -!- LKoen has quit (Remote host closed the connection).
22:48:00 -!- ATMunn has quit (Quit: brb restarting router).
22:50:57 -!- AnotherTest has quit (Ping timeout: 248 seconds).
22:58:04 -!- ATMunn has joined.
22:59:03 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:07:27 -!- jaboja has quit (Ping timeout: 240 seconds).
23:11:55 -!- moonythedwarf has joined.
23:13:10 -!- moony has quit (Ping timeout: 240 seconds).
23:55:14 -!- jaboja has joined.