←2017-08-23 2017-08-24 2017-08-25→ ↑2017 ↑all
00:00:07 <fizzie> kurolox: That's not too surprising. The script closes the place it puts /console to by default, since normally the command output goes via tty1.
00:00:33 <fizzie> kurolox: You could use the --debug flag (in place of -v), I think that might leave it open but not print any extra stuff.
00:01:12 <kurolox> Nope, debug gives me the same as -v
00:01:25 <kurolox> well, I should be fine with running it with -v for now
00:01:56 <kurolox> unless I need to make the script call umlbox, it should be fine if I run the bot with umlbox
00:02:17 <kurolox> I assume that any subprocess created by something with umlbox will be sandboxed too, right?
00:03:55 <ais523> I'd assume that it'd be running within the same umlbox process, although I'm not sure
00:04:15 <fizzie> Well, yes, though if you put the bot inside umlbox, it's hard to make the bot have access to any sort of modifiable thing that you don't want the commands it executes to have access to.
00:04:20 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
00:04:33 <fizzie> If you're okay with an entirely stateless thing, then that's maybe not really an issue.
00:06:06 <ais523> my bots are typically stateless
00:06:09 <ais523> thutubot is, for example
00:10:17 <kurolox> hm, the bot complains about the lack of a module
00:10:21 <fizzie> ais523: Kind of a fun fact: on recent kernels, UML's virtual block device (ubd), if you point it at a file smaller than the block size (512 bytes), seems to wrap around in the source file when you try to read past the end.
00:10:27 <fizzie> ais523: It kind of reminds me of what game consoles and other memory mapped things do "naturally" when you have a fixed amount of address space bits connected to something with less physical address lines.
00:10:31 <fizzie> (Except this one isn't restricted to powers of two for the size of the thing it repeats.)
00:11:08 <kurolox> fizzie Do you know if I can make the umlbox script I'm running with python virtualenvs?
00:11:18 <kurolox> or any way to get the module working with umlbox
00:11:31 <ais523> fizzie: right, this has been known to cause problems when games are moved to consoles with more memory (likewise for DOS programs running on a newer processor)
00:11:41 <ais523> because it's quite easy to write a program to accidentally make use of addresses past the end of memory
00:11:50 <ais523> and if they wrap rather than crashing, you won't notice until you move to a system with more memory
00:14:10 <fizzie> kurolox: In theory you should be able to run the venv activation script inside UML, assuming you've got the necessary directories mirrored from the host.
00:14:48 -!- tromp has quit (Ping timeout: 246 seconds).
00:14:53 <fizzie> I don't think there's any trivial way to "inherit" the virtualenv from outside, since there's no mechanism to pass environment variables in.
00:15:25 <kurolox> how would you do it? In order to activate it I would have to cd to the directory first, and as far as I know umlbox won't keep that cwd
00:16:33 <fizzie> Just run something like 'bash -c "cd /blah; source bin/activate; command --you=want"' instead of just command --you=want.
00:16:54 <shachaf> ais523: That reminds me of https://pbs.twimg.com/media/DHj4WQ_UAAAHg8v.jpg which I saw the other day.
00:17:25 <fizzie> (Or you can have a shell script that activates the virtualenv and runs the thing you want to run, and then run *that* with umlbox.)
00:17:51 <ais523> shachaf: I vaguely remember compiler/OS combinations that put something meaningful at address 0 to catch that sort of issue
00:17:56 <ais523> what OS is that screenshot from?
00:18:41 -!- tromp has joined.
00:19:29 <kurolox> oh well
00:19:46 <kurolox> I just realized that the bot needs internet in order to communicate with the servers, so I can't sandbox the whole bot
00:20:04 <kurolox> instead I would have to sandbox the part of the code where it runs arbitrary code, and for that I would need umlbox to work without -v
00:21:49 <kurolox> So, any idea fizzie?
00:22:14 <kurolox> in the worst case scenario I could probably make it work with -v and filtering out the output of umlbox
00:25:13 <kurolox> Well, I'm kinda tired so I'll ask you tomorrow. Thanks again for all the help fizzie!
00:25:15 <fizzie> kurolox: Well, I mean, you should definitely be able to hack it to make it work. For example, you can easily make init silent (just edit in init.c the lines i = open("/console", O_RDONLY); and o = open("/console", O_WRONLY); to open /dev/null instead), and add in umlbox script a kernel command line argument "console=tty1" to the end of the 'cmd' array to make the kernel messages go elsewhere too.
00:25:42 <ais523> kurolox: if the bot's just connecting to IRC, you can normally just have the internet connection in a separate process and connecting to umlbox's stdin and stdout with pipes
00:26:02 <kurolox> thanks for the answers
00:26:24 <fizzie> ais523: umlbox has a TCP and Unix domain socket forwarding mechanism as well, incidentally.
00:26:39 <fizzie> (Based on multiplexing them over a single virtual tty.)
00:26:53 <fizzie> (With a piece of code running both inside and outside.)
00:26:57 <kurolox> the bot is actually for discord, but I could do that. However I was thinking that it would be a better idea to run the main bot outside of the sandbox and then make the bot run the code in a subprocess with popen, that launches umlbox
00:27:14 <fizzie> That's probably the more conventional way.
00:27:14 <kurolox> that way any code run from the bot can't edit the bot itself since I could make it read only
00:27:26 <ais523> fizzie: well, the reason you'd do it that way would be to make it impossible for the bot to connect anywhere it wasn't supposed to
00:27:51 <kurolox> Well, see you tomorrow guys
00:28:11 <fizzie> I wonder if nesting UML kernels works. They were doing something moderately tricky about address spaces at some point in the past.
00:29:02 <ais523> nesting valgrind works, IIRC, but has some special hacks to make it work
00:29:50 <ais523> the problem with all these sorts of programs is that they tend to be written in a way that handles common cases, but really weird stuff can be much harder to handle
00:29:54 <ais523> and yet the program does really weird things itself
00:30:07 <fizzie> Hmm, well, it didn't work out of the box (no pun intended).
00:30:10 <fizzie> Failed to get registers from stub, errno = 3
00:30:10 <fizzie> wait_stub_done : failed to wait for SIGTRAP, pid = 357, n = 357, errno = 0, status = 0x9
00:30:16 <ais523> web of lies is very unlikely to be nestable, for example; the program I'm working on at work also isn't sanely nestable
00:31:47 <fizzie> Apparently at least at some point, you can do it, but the kernel you run inside UML needs to have been built with CONFIG_NEST_LEVEL=1.
00:32:02 <fizzie> So a single binary isn't nestable, but you can build UML kernels for specific nesting levels.
00:32:18 -!- kurolox has quit (Ping timeout: 252 seconds).
00:32:52 <fizzie> (Since this page says "the outer UML must be at least 2.4.18-22, which is not released at this writing, but will be soon", I'm not terribly confident this is true any more.)
00:39:52 <shachaf> ais523: Guessing Amiga Unix from the bit at the end?
00:40:21 -!- boily has joined.
00:42:50 <boily> `5 w
00:43:06 <HackEgo> 1/2:marmite//Marmite is a hive mind of fungal microorganisms spreading throughout the supermarkets of the Commonwealth. \ dentist//Dentists are professional workers whose main line of work is creating dents on various surfaces. \ \//\ was initially popular as a replacement for the solidus, but inevitably there was a backslash. \ anagol//anagol is A
00:43:48 <ais523> OK, that backslash one is fairly funny
00:43:56 <boily> `n
00:43:57 <HackEgo> 2/2:narchy Golf, code golf server at http://golf.shinh.org/ \ intercal//INTERCAL has excellent features for modular program for the enterprise market.
00:44:12 <boily> his523.
00:44:14 <ais523> still, I don't think this wisdom database has much to do with what the channel's originally meant to be about
00:44:32 <ais523> that said, there's still enough ontopic dicussion to make the channel worthwhile, at least from time to time
00:51:04 <rdococ> I feel alienated here, like I'm not meant to be on this channel, talking.
00:52:09 <ais523> I think I'd define the general on-topicality of this subject as being about programming languages and techniques that aren't typically needed or useful in serious programs
00:52:15 <ais523> and umlbox is in that sphere at the moment
00:52:25 <ais523> one problem with esolangs is that if an esolang gets popular enough, it stops being esoteric
00:52:30 <ais523> (this may arguably have happened with Prolog)
00:52:35 <boily> rdochelloc.
00:52:39 <boily> umlbox?
00:52:50 <ais523> boily: the sandbox that hackego uses
00:53:04 <ais523> it's based on user mode linux
00:53:05 <shachaf> ais523: A language can be popular and not serious.
00:53:10 <shachaf> `? esolang
00:53:11 <HackEgo> esolang? ¯\(°​_o)/¯
00:53:14 <shachaf> Come on, wisdom database.
00:53:28 <ais523> shachaf: examples? I'm not sure I agree, at least for the usual definitions of "popular"
00:54:41 <boily> right. umlbox was explained to me multiple times already >_>'...
00:54:53 * boily 's brain defaults to UML diagrams. I've been tainted
00:55:07 -!- LKoen has joined.
00:55:21 <fizzie> boily: UML diagrams are the bane of everyone who tries to search the internet for User Mode Linux -related material.
00:55:53 <ais523> UML is really weird as concepts go
00:56:11 <ais523> the basic idea, of having a consistent syntax for allowing people to explain object oriented concepts to each other as diagrams, makes sense
00:56:35 <ais523> but then if you have something like 8 types of diagram and some organizations try to write programs in UML first and then rewrite them in a language that can actually be run…
00:57:25 <alercah> it's also way to highly dependent on concepts that don't actually apply in all languages
00:57:28 <alercah> *too
00:57:53 <boily> helloochaf, fizziello, hellorcah.
00:58:12 <boily> UML “works” for Java and C++, and that's about it.
00:58:50 <boily> and for making shiny figures for ISO certification.
01:01:12 <ais523> boily: Java, C++ and C# together form a very large proportion of the actual programming job market, though
01:02:20 <ais523> and any language designed to interoperate with Java or C# will be able to support the concepts UML discusses, even if they aren't idiomatic
01:04:17 <boily> true.
01:11:21 <shachaf> ais523: I was going by what you said, but maybe I didn't read it precisely.
01:23:29 -!- sleffy has quit (Ping timeout: 248 seconds).
01:27:08 -!- doesthiswork has joined.
01:28:50 -!- imode has joined.
01:32:40 <rdococ> hi imode
01:33:44 <imode> hi rdococ.
01:48:24 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
01:59:20 -!- Sgeo has quit (Ping timeout: 240 seconds).
02:10:55 -!- Antoxyde has quit (Quit: Leaving).
02:17:42 <zzo38> Do you know if there is such a thing in GURPS as a switchable advantage that has no effect?
02:20:36 -!- wob_jonas has joined.
02:21:08 <wob_jonas> 11:53 / 31:03
02:21:08 <wob_jonas> ais523: I did a search. https://scifi.stackexchange.com/a/117785/4918 Wizard of Oz: “The Witch was too much afraid of the dark to dare go in Dorothy's room at night to take the shoes, and her dread of water was greater than her fear of the dark, so she never came near when Dorothy was bathing.”
02:21:37 <ais523> huh, interesting
02:21:40 <ais523> although probably not widely known
02:23:11 <wob_jonas> I did know the witch doesn't like water, just like many undead, I even have a ticket on the old tracker for it, but I didn't remember he's afraid of the dark.
02:23:19 <wob_jonas> that's an actual quote according to https://en.wikisource.org/wiki/The_Wonderful_Wizard_of_Oz/Chapter_12 by the way
02:26:24 <zzo38> You could make that if you want to make them not go into dark but also not going into the water, I suppose?
02:27:43 <wob_jonas> well, I had a proposal to make most of the undead not go into water, although that really depends on which legend about undead you look at
02:28:12 <wob_jonas> the undead in the Arany János ballad “A hamis tanú” specifically goes only in the river
02:29:12 <wob_jonas> and it's also corporeal (unlike, say, Moaning Myrtle's ghost) and not of some water-based creature type like the skeleton fish in super mario
02:39:02 <rdococ> actually, they're just normal fish I chewed alive because they're so tasty when fresh
02:39:52 <wob_jonas> rdococ: that doesn't explain why they're immune to fire unlike most fish in some of the mario games
02:40:55 <rdococ> because they're bone
02:40:55 <rdococ> duh
02:41:21 <rdococ> and they're in water
02:41:54 <rdococ> Actually, I think it's because an evil wizard placed a voodoo curse on a shark to force the skelefish to become immune to fire.
02:51:31 <ais523> wob_jonas: I think the most common legend related to the undead and water is that vampires can't cross running water under their own power
02:51:42 <ais523> (although it's possible for someone else to carry the vampire across)
02:53:01 <rdococ> Wow. The undead are weak to everything these days. Water, fire, ice...
02:53:16 <rdococ> Lightning - though, sometimes that's how they're created in the first place...
02:53:16 <boily> are there any stories with some kind of vampire carrying service?
02:53:34 <ais523> well, the typical niche that undead play in stories, when they're just an enemy, is that they're very hard to stop unless you exploit a specific weakness
02:53:49 <wob_jonas> ais523: yes, but there are similar legends about some undead other than water too
02:53:55 <ais523> so that means that they need a lot of weaknesses for the stories to work correctly
02:53:59 <wob_jonas> ais523: Discworld has that legend about zombies
02:54:15 <rdococ> A specific weakness such as the weakness that exists in two thirds of all human beings?
02:54:46 <wob_jonas> which is played for laugh when someone wants to use it as a test for zombies but misinterprets "undead can't pass over water" as "undead can't pass water" (as in pee)
02:55:05 <ais523> rdococ: it's more that they're resistant to almost everything, so anything that they aren't resistant to counts as a weakness by comparison
02:56:08 <rdococ> ais523: wouldn't that mean the water would have to be damaging in the first place to even affect them?
02:56:09 <wob_jonas> ais523: and there's all the modern myths about water test used in medieval witch hunt, in which the people throw someone to the river, and if they don't drown because the pure water hates them so much it expels them, they're a witch
02:56:48 <wob_jonas> the tests are exaggerated, but it is based on an authentic legend about witches and pure water. the actual tests were probably more gentle and stopped before drowning
02:57:12 -!- boily has quit (Quit: TRICK CHICKEN).
02:57:12 <ais523> yes, people like to exaggerate ancient witch tests because it's funny to think "if the test doesn't kill them, we execute them"
02:57:18 <wob_jonas> ais523: "it's more that they're resistant to almost everything, so anything that they aren't resistant to counts as a weakness by comparison" => yes, I have one like that:
02:57:19 <ais523> but the flaw in such a test would become obvious very quickly
03:00:45 <wob_jonas> Vampires are immortal, which means the only way to kill them is… [choose one] {A silver bullet, A stake through their heart, Bright light, Garlic, Holy water, Holy wafers sewn in their mouth, A chainsaw, Cutting their supply of blood, The crow of a rooster, Water, Fire, Magic, In their bat form, By accident, Killing their elders first, Making them
03:00:45 <wob_jonas> pop culture icons}
03:01:25 <wob_jonas> Other sorts of undead have so many resistances that they seem to be unkillable too, including werewolves, zombies, and ghosts.
03:01:30 -!- ATMunn has quit (Quit: See ya! o/).
03:02:34 <wob_jonas> ais523: yes, and although it's funny that witches can float on water because the water hates them, and seems more like a strength than a weakness, it does actually make more sense that the more modern legends
03:02:38 <ais523> werewolves aren't a sort of undead?
03:03:11 <wob_jonas> the undead in “A hamis tanú” actually probably also works in that way, with the water and everything else hating its body
03:04:38 <wob_jonas> it's just that in modern times, a humanoid that can float on water was no longer too strange, and for an undead that normally flies or floats above ground it's even more irrelevant (mind you, in D&D, even for living people it's harder to magically fly over water than to magically fly over land, for some reason)
03:04:44 <wob_jonas> so they changed the myth
03:04:58 <wob_jonas> ais523: in some legends about werewolves, it is an undead, yes. the nethack werewolf isn't.
03:05:18 <wob_jonas> the Harry Potter werewolf is also not an undead
03:05:25 <ais523> I'm not aware of any legends where werewolves are undead (in the sense of "monster mostly formed of the corpse or spirit of a dead human")
03:06:04 <wob_jonas> let me search
03:06:09 <ais523> wob_jonas: in Battle for Wesnoth, spirits get a reduced flying movement rate over water (although they don't get a dodge penalty, like walking through water gives you); I think it might be for balance reasons
03:06:33 <wob_jonas> it's probably rarer than undead vampires, which is the norm
03:06:42 <wob_jonas> and undead witches, which is an authentic legend
03:07:27 <wob_jonas> in the sense that the body or part of the body of witches is supposed to be cold, which made sense as a secret hard to test feature back before thermometers
03:08:26 <wob_jonas> undead werewolf might actually be a modern legend, but then the whole general category of undead is probably modern too
03:09:50 <wob_jonas> I was wrong
03:09:58 <wob_jonas> apparently werewolves are never truly undead
03:10:13 <wob_jonas> they just gained a few vampire traits that make them seem a little like undead
03:10:16 <wob_jonas> but they are living actually
03:11:06 <wob_jonas> oh, I'm a fool
03:11:41 <wob_jonas> there's one fictional creature that is unquestionable afraid of the dark in first place, as opposed to damaged by the dark quickly or slowly or avoiding dark or anything like that
03:11:59 <shachaf> ais523: Are esoteric non-programming things ontopic in here?
03:12:52 <ais523> shachaf: esotericism almost certainly isn't; things that aren't directly related to programming but are weird enough to be interesting would probably not be objected to even though they aren't technically on topic
03:13:08 <wob_jonas> ais523: the intelligent people of Lagash/Kaglash in the Asimov story “Nightfall” and its novellization with the same title
03:13:15 <shachaf> For example, esoteric financial instruments?
03:13:23 <ais523> with a channel like this, you have three bands, I think: "on topic", "off topic but tolerated/enjoyed by the community", "off topic and you're told to stop"
03:13:31 <wob_jonas> ais523: they're afraid of the dark for psychological reasons, even though they're not actually directly damaged by the darkness
03:13:39 <shachaf> I think it's possible that most people here just don't care about financial instruments
03:13:41 <ais523> I remember seeing a proposal that all finanical instruments should be written in Python in order to make them unambiguous
03:13:45 <ais523> so maybe they are a subset of programming :-D
03:13:47 <wob_jonas> when they go to a dark place for more than a few minutes, they get really scared and may start to panic
03:13:57 <shachaf> Python? No thanks
03:14:08 <ais523> shachaf: yes, my reaction was "why Python?"
03:14:10 <wob_jonas> this needs strong darkness, not just under the trees at dusk
03:14:16 <ais523> I guess it's fairly easy to read for somoene who doesn't know it?
03:14:35 <shachaf> Obviously they should use a JavaScript derivative
03:14:47 <ais523> unlike the APL family of languages (including things like Jelly), which are famously hard to read if you don't know them
03:15:01 <shachaf> Like Ethereum, or whatever that thing is
03:15:09 <ais523> shachaf: it's called Solidity
03:15:10 <ais523> not even joking
03:15:18 <shachaf> Oh, right
03:15:22 <ais523> I thought that was hilarious in the context of our site…
03:15:23 <shachaf> I guess that makes it ontopic
03:15:28 <wob_jonas> they're unlikely to appear on Earth, partly because they don't do spacefaring, partly because they fear the dark and the Earth has dark parts, and partly because this plays "a long long time ago, in a galaxy far away", and they might also be incompatible with Earth's chemical environment or gravity
03:15:49 <ais523> but yes, Solidity would almost certainly be considered an esolang if not for perhaps being too widly used
03:16:00 <ais523> what other programming languages have semantics where using them inherently requires spending money?
03:16:02 <wob_jonas> but it's not completely impossible to find them on Earth, especially not in a nethack dungeon that already has the widest variety of creatures that you wouldn't really suppose to find there
03:16:21 <wob_jonas> (I mean, seriously, Green-elves? Green elves are elves who live in a *forest* by definition.)
03:16:37 <shachaf> ais523: Is solidity the opposite of liquidity?
03:17:02 <wob_jonas> ais523: yes, it's probably easy to read, but you can also find summaries of it because it's a good and popular enough book, and the summaries are probably enough for adding them to nethack
03:17:02 <shachaf> Liquidity is a fascinating subject in finance. I should learn more about it.
03:18:34 <ais523> the general concept is simple enough
03:18:48 <wob_jonas> ais523: well, you probably need to know a bit more than what I told about them
03:18:57 <ais523> if you have money but can't spend it, are you actually rich?
03:19:07 <ais523> it's pretty philosophically interesting though when you put it like that
03:19:29 <wob_jonas> they live on a planet with five or six suns in a strange orbit where you never have all of them under the horizon at the same time anywhere on the planet
03:19:41 <wob_jonas> which is why they are not used to darkness
03:19:55 <shachaf> How do you measure liquidity?
03:20:18 <wob_jonas> so they call it "night" when the big sun is not in the sky
03:20:21 <ais523> shachaf: normally the amount of money that you could theoretically spend on short notice
03:20:34 <shachaf> I tried to invent a financial instrument that can let a name assign a price to expected liquidity
03:20:42 <ais523> including via selling things if you can sell them quickly
03:20:52 <shachaf> But it's hard because liquidity is a multidimensional thing.
03:20:56 <wob_jonas> they like to always have at least a little lamp lit in their houses, but that's mostly symbolic, because even if that lamp goes off, they get enough light through the windows
03:21:43 <wob_jonas> and the story is about a certain even that happens once every two thousand years, when a significant part of the planet goes totally dark because the only sun is eclipsed by a moon
03:22:04 <shachaf> Do you know how block (I.e
03:22:27 <wob_jonas> the civilization doesn't expect this because don't know about the moon because it's normally invisible because of the sun glare,
03:22:34 <shachaf> large) trades are made? That's a big part of the liquidity story, I suppose.
03:22:53 <ais523> shachaf: no
03:22:59 <wob_jonas> and they have just enough astronomy to predict the movement of the suns but not enough to figure out the moon from its gravity effects
03:23:21 <wob_jonas> so there's only an ancient legend about that total darkness and many people don't believe that legend
03:23:33 <ais523> I do know that there are companies who are willing to trade capital for liquidity (i.e. they'll buy things that are hard to sell, at less than the full price that could be gotten for a trade negotiated over a long time)
03:23:40 <wob_jonas> and when the total darkness happens, they see the stars for the first time,
03:24:05 <ais523> actually there's a company advertising on television in the UK, and the adverts state that they'll buy cars from you for less than they're worth but with a very quick turnaround
03:24:10 <wob_jonas> which has a great effect on them just like how the discovery of a large universe had a great effect on the Krikket people in HHGG
03:24:19 <ais523> so I guess capital-for-liquidity trades are available to the general public too, at least in one direction
03:24:48 <wob_jonas> but instead of starting a war against the rest of the world, they go crazy and start to burn their own world to create light from the temporary flames,
03:24:55 <wob_jonas> and destroy much of their own civilization
03:25:35 <wob_jonas> but the short story is good so you might want to read it anyway even after I spoiled most of it
03:25:44 <wob_jonas> (I didn't spoil everything, but still)
03:25:51 <wob_jonas> (I got pretty close)
03:27:06 <shachaf> Which one?
03:27:33 <shachaf> I didn't read the past few pages of text in much detail because I was using my phone.
03:27:37 <ais523> shachaf: who was that directed at?
03:27:42 <shachaf> Which story.
03:28:37 <shachaf> ais523: Pretty much every trade you ever make involves trading capaital for liquidity to some degree.
03:29:01 <wob_jonas> ais523: yes, and this service is also offered to the population for gold and silver (jewlery but also scrap gold), but in the form of quickly buying the gold or silver at half price, and in the form of quickly giving a short term loan of say a tenth of the price of the gold but a loan that you aren't required to pay off if you don't want the gold b
03:29:01 <wob_jonas> ack
03:29:03 <shachaf> Crossing networks are interesting. Do people use them?
03:29:45 <wob_jonas> ais523: they can do this with good rates because it's easy to quickly test for gold content, much more so than quickly testing the value of a used car
03:30:22 <wob_jonas> it's also done for some other sorts of valuables that are easy to test and people often have it, but gold and silver are the most important
03:30:25 <shachaf> I'm not sure of the exact definition of "liquidity" in general use, but I use it with the rough meaning "ability to trade"
03:30:59 <shachaf> The ability to trade is almost always valuable, so someone almost always pays for it, though the way they pay for it might not be obvious.
03:31:36 <wob_jonas> ais523: so anyway, if you want a nh monster that can wander around in a lit room but doesn't go in dark corridors, then I think a person from Lagash would work
03:31:51 <shachaf> There are many different ways that you might want to trade, so there are many different types of liquidity. But they're usually related.
03:32:21 <wob_jonas> and they're easy to add because we know so little about them, such as their body and physical capabilities, that you can invent close to anything you need for game reasons
03:33:21 <wob_jonas> you usually find out very little about the physical characteristics of characters in Asimov's books, but most of them are at least humans or humanoid robots, while the Lagash people have no reason to be close to that
03:33:59 <shachaf> `? solidity
03:34:00 <HackEgo> solidity? ¯\(°​_o)/¯
03:35:50 <wob_jonas> so you're restricted very little about the nh character. they have to be intelligent and motile, but they could have any size, shape of body, almost any item use capabilities except they're certainly not zero carrying cap, a wide choice in attacks and resistances
03:35:57 <wob_jonas> (definitely not fire resistant)
03:36:27 <wob_jonas> oh, and definitely not blind.
03:36:33 <wob_jonas> they probably don't like to be blinded
03:36:36 <wob_jonas> really don't like
03:37:23 <wob_jonas> if you blind them, I expect they go into a rage of panic, although they may have resistance against blinding by bright light and may be able to wipe off cream pies and perhaps even ravens can't blind them
03:37:48 <wob_jonas> perfect if you want to make a nethack monster
03:38:52 <wob_jonas> I don't think the race has a well-known name, but Lagashian would probably work if you explain it in the 'cyclopedia
03:39:22 <shachaf> `learn Solidity is an esolang for writing contracts. It has good support for secure linear algebra.
03:39:26 <HackEgo> Learned 'solidity': Solidity is an esolang for writing contracts. It has good support for secure linear algebra.
03:39:27 <shachaf> oerjan: please improve twh
03:39:43 <wob_jonas> ais523: does that help?
03:40:12 <ais523> wob_jonas: perhaps; I'm not sure if this would work directly but it's given me some thoughts
03:40:43 <wob_jonas> well, I don't know your gameplay mechanical motivations, so they might fail for that reason
03:40:44 <ais523> thanks for your input, anyway
03:42:40 <wob_jonas> (there's also a story about humans collectively panicking when darkness falls, but they weren't afraid as such, it's just that the Sun unexpectedly went out at some point and stayed dark for several days)
03:42:51 <wob_jonas> (that's definitely not what you want)
03:43:30 <ais523> I can see why it would induce panic, though
03:43:38 -!- Sgeo has joined.
03:44:41 <wob_jonas> right, and it was mostly the sensible kind of panic, when everyone tried to rob stockpiles of food
03:44:58 <wob_jonas> and prepare for an inevitable war
03:45:12 <ais523> I assume it relit again at some point?
03:45:27 <wob_jonas> yes
03:45:58 <wob_jonas> which didn't *completely* calm people down, because after that, you expect another similar event, but yeah
03:57:18 <alercah> wob_jonas: are you thinking Nightfall?
04:39:40 -!- mpm has joined.
04:43:29 -!- mpm has quit (Client Quit).
04:44:49 -!- Sgeo has quit (Quit: Leaving).
04:49:47 -!- Sgeo has joined.
05:16:05 <\oren\> literally unplayable http://imgur.com/6ByIhNT
05:18:57 <\oren\> "21th century"
05:23:00 -!- atslash has joined.
06:13:34 <shachaf> pikhq: whoa, the chicken chicken chicken paper is by dougz
06:14:38 <pikhq> Yeah, it is.
06:17:04 <shachaf> I think I knew that at one point.
06:17:30 <shachaf> This picture is TG: https://scontent-sjc2-1.xx.fbcdn.net/v/t31.0-8/21014227_1567793873283268_4987278837085860246_o.jpg?oh=414f17cce92053674421e37ed33642e1&oe=5A613408
06:17:36 <shachaf> On the topic of chickens.
06:19:12 <pikhq> Ah, chicken of the woods.
06:24:31 <shachaf> Someone won the chicken lottery.
06:24:39 <shachaf> Do you like mushrooms?
06:34:46 -!- erkin has joined.
06:35:36 <HackEgo> [wiki] [[Special:Log/newusers]] create * Motekye * New user account
06:35:42 -!- zseri has joined.
06:37:11 -!- doesthiswork has quit (Quit: Leaving.).
06:39:55 -!- sleffy has joined.
06:42:50 <HackEgo> [wiki] [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=52923&oldid=52920 * Motekye * (+252) /* Introductions */
06:47:04 -!- zseri has quit (Ping timeout: 260 seconds).
06:51:56 <HackEgo> [wiki] [[B1nary]] https://esolangs.org/w/index.php?diff=52924&oldid=52916 * UtilityHotbar * (+1) /* Output */
06:52:43 <HackEgo> [wiki] [[B1nary]] https://esolangs.org/w/index.php?diff=52925&oldid=52924 * UtilityHotbar * (+98) /* Loops: */
06:54:55 <HackEgo> [wiki] [[B1nary]] https://esolangs.org/w/index.php?diff=52926&oldid=52925 * UtilityHotbar * (+46) /* Interpreters: */
07:00:18 <HackEgo> [wiki] [[Special:Log/abusefilter]] modify * Ais523 * modified [[Special:AbuseFilter/5]] ([[Special:AbuseFilter/history/5/diff/prev/59]])
07:00:40 -!- heroux has joined.
07:00:41 <ais523> the specific strain of spambots that was stopping don't seem to be around, and it was hitting false positives
07:06:01 -!- FreeFull has quit.
07:14:28 -!- imode has quit (Ping timeout: 276 seconds).
07:30:41 <HackEgo> [wiki] [[Special:Log/newusers]] create * Mypalmike * New user account
07:37:20 <HackEgo> [wiki] [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=52927&oldid=52923 * Mypalmike * (+323) Hi there.
07:51:45 -!- ais523 has quit (Ping timeout: 252 seconds).
07:52:03 <HackEgo> [wiki] [[Special:Log/upload]] upload * Mypalmike * uploaded "[[File:Add1.ska.png.png]]"
07:56:02 -!- augur has quit (Remote host closed the connection).
07:56:27 -!- ais523 has joined.
08:05:25 <HackEgo> [wiki] [[Skastic]] N https://esolangs.org/w/index.php?oldid=52929 * Mypalmike * (+622) Initial description
08:06:47 <HackEgo> [wiki] [[Language list]] M https://esolangs.org/w/index.php?diff=52930&oldid=52900 * Mypalmike * (+14) add skastic
08:07:30 <HackEgo> [wiki] [[Skastic]] https://esolangs.org/w/index.php?diff=52931&oldid=52929 * Mypalmike * (-30)
08:10:07 <HackEgo> [wiki] [[Skastic]] https://esolangs.org/w/index.php?diff=52932&oldid=52931 * Mypalmike * (-3)
08:23:02 -!- ais523 has quit.
08:35:29 -!- sleffy has quit (Ping timeout: 248 seconds).
08:36:05 -!- augur has joined.
08:40:17 -!- augur has quit (Ping timeout: 248 seconds).
08:53:40 -!- augur has joined.
08:55:14 -!- augur has quit (Read error: Connection reset by peer).
08:55:38 -!- augur has joined.
09:01:19 <wob_jonas> alercah: yes, I did specifically say Nightfall above
09:01:58 <wob_jonas> alerchah: um wait, I mean Nightfall is the first story, it's not the second one
09:06:53 -!- augur has quit (Remote host closed the connection).
09:12:15 -!- augur has joined.
09:15:33 -!- ais523 has joined.
09:16:31 -!- augur has quit (Ping timeout: 248 seconds).
09:18:17 <shachaf> oerjan: Did you play the Magnet game?
09:18:30 <shachaf> Magnets
10:30:24 -!- kurolox has joined.
10:42:42 <int-e> That doesn't look nearly as awful as CLOP.
10:44:01 <kurolox> Good morning!
10:51:09 <kurolox> Hey fizzie, do you think that you could help me with those hacks you mentioned yesterday? I've tried changing the init.c to /dev/null like you said, but I don't see any difference in the output. Besides that, umlbox works perfectly for what I've seen.
11:00:21 <fizzie> Did you re-make umlbox-initrd.gz?
11:02:08 -!- augur has joined.
11:05:29 <kurolox> uh, no. I did a make all and a make install, but considering that for some reason that file seems to not work with that, I'll make it individually again
11:06:23 -!- augur has quit (Ping timeout: 248 seconds).
11:06:37 <fizzie> kurolox: Oh, right, it's not that, it's because /dev isn't mounted by that time. Well, then the change will be a little more complicated: http://sprunge.us/hKaK
11:07:07 <fizzie> (You'll still need mknod /console for the command output to go to.)
11:07:41 <kurolox> By the way, will any of the fixes you've made go to umlbox in the future?
11:09:04 <kurolox> Well, with that a part of the messages went again
11:09:22 <fizzie> I was thinking of sending a bitbucket pull request for at least the config file padding and the mudem compilation issue.
11:09:46 <kurolox> https://ghostbin.com/paste/t3ajv
11:10:08 <kurolox> I asked moony to test the file padding fix, but he never told me if it worked or if he tried it
11:10:23 <fizzie> If you use --debug instead of -v, you should get rid of lines 2-23.
11:11:02 <kurolox> yep, there are still some stuff left
11:11:08 <fizzie> And by the way, I built 4.12.8, and had the same config file wrapping thing, but not the "output isn't shown" one.
11:11:24 <kurolox> I must be cursed then
11:11:34 <kurolox> maybe it's an arch issue?
11:11:40 <kurolox> but I think that moony is using it too
11:11:54 <fizzie> Yes, it's very odd.
11:12:04 <kurolox> https://ghostbin.com/paste/rhhep
11:12:50 <fizzie> What's left is the kernel logs, and that "UMLBox starting" note. I've been trying to figure out the proper kernel command line parameter to put those somewhere else, so far without luck.
11:13:38 <fizzie> Although it occurs to me that an easier way could've been just swapping "con" and "con1" in the umlbox script.
11:13:41 -!- heroux has quit (Ping timeout: 240 seconds).
11:14:10 <kurolox> I'll try that then
11:14:50 <fizzie> That is, go from "con1=" + childStdin + ",fd:" + str(childStdout), "con=null," + stdoutws to "con1=null," + stdoutws, "con=" + childStdin + ",fd:" + str(childStdout)
11:17:29 <kurolox> I think we modified that yesterday while trying to get output
11:18:20 <kurolox> it looks like "con1=" + childStdin + ",fd" + str(childStdout), to me
11:18:31 <kurolox> sorry, ",fd:"
11:19:14 <fizzie> Isn't that the same as what I said?
11:19:39 <kurolox> oh, sorry. I was confused because I wasn't seeing con2 there, and con2 is between con1 and con=null
11:20:17 <fizzie> Right, con2 shouldn't really matter. It's the tty for umlbox-mudem, which isn't used unless you want to forward network ports.
11:21:25 <kurolox> well, the output is shorter, but it doesn't work
11:21:51 <kurolox> does the order matter? I only renamed con to con1 and vice versa
11:22:08 <fizzie> I would hope it doesn't.
11:22:18 <fizzie> You'll probably still have to keep using --debug to keep the stdout open, and you'll likely have to undo the "input ../console" and "output ../console" back to "input ../tty1" and "output ../tty1" to see the command output again.
11:22:25 <kurolox> https://ghostbin.com/paste/7eety
11:22:43 -!- augur has joined.
11:22:47 <kurolox> oh sorry
11:22:52 <kurolox> I used -v again due to being used to it
11:24:13 <kurolox> okay, I changed it back
11:24:17 <kurolox> this is what I get
11:24:31 <kurolox> https://ghostbin.com/paste/amn2n
11:24:33 <kurolox> it's almost there
11:25:37 <fizzie> Yeah. The "UMLBox starting" line you could probably just comment out of init.c, and re-make.
11:26:41 -!- augur has quit (Ping timeout: 240 seconds).
11:27:23 <kurolox> yes, that works
11:27:27 <kurolox> there are only a few lines left
11:30:01 <fizzie> Yeah, unfortunately I'm not sure what to do about them. They're produced by printf calls from arch/um/os-Linux/start_up.c, arch/um/os-Linux/mem.c and arch/um/kernel/um_arch.c.
11:30:15 <fizzie> I mean, if you really feel like it, you can comment them out *there* and rebuild the kernel.
11:31:21 -!- S1 has joined.
11:32:01 <fizzie> The more reasonable way would be to do what the umlbox script is *normally* doing, but that's exactly the thing that for some weird reason isn't working for you.
11:32:13 <kurolox> talking about things not working for me
11:32:26 <kurolox> it seems like if the bot uses umlbox it doesn't work
11:32:40 <kurolox> http://i.imgur.com/MgndDub.png
11:33:08 <kurolox> it was working before we did any of the changes
11:33:23 <kurolox> so some change must've broke it for the bot
11:34:33 <kurolox> This was what the bot was trying to print before any of the changes, you can see that in the line 142 the command worked (the cwd was /horus) https://ghostbin.com/paste/5n6eo
11:35:25 -!- boily has joined.
11:36:15 <fizzie> Well, I'm a little out of ideas, seeing as we've spent the last half an hour explicitly trying to disable all debugging output. Also have to get to work again. But I guess you can try undoing things and seeing what happens.
11:36:37 <int-e> `grwp bell
11:36:43 <kurolox> I think it's not the most efficient thing, but I can try to filter the stuff with regex
11:36:47 <HackEgo> dingas:The sound of a Baltic bell. It chimes like potatoes. \ obell:The obell is what we ring each time a new strip of the o webcomic is published. \ precious:precious? That doesn't ring a bell. ¯\(°​_o)/¯ \ shachaf:Queen Shachaf of the Dawn sprø som selleri and cosplays Nepeta Leijon on weekends. He hates bell peppers with a passion. He does
11:36:49 <kurolox> doing all python side
11:39:07 -!- Antoxyde has joined.
11:43:24 -!- augur has joined.
11:46:21 -!- heroux has joined.
11:47:59 -!- augur has quit (Ping timeout: 248 seconds).
11:55:35 -!- MrBismuth has quit (Ping timeout: 246 seconds).
12:04:00 -!- augur has joined.
12:11:41 -!- augur has quit (Ping timeout: 246 seconds).
12:13:48 -!- ais523 has quit.
12:19:58 -!- boily has quit (Quit: NITRATE CHICKEN).
12:25:22 -!- TieSoul has joined.
12:43:11 -!- LKoen has joined.
13:03:57 -!- atslash has quit (Ping timeout: 240 seconds).
13:12:11 -!- atslash has joined.
13:14:09 -!- callum_ has joined.
13:16:28 -!- callum_ has quit (Client Quit).
13:29:10 -!- MrBismuth has joined.
13:45:35 -!- S1 has quit (Ping timeout: 255 seconds).
14:00:30 -!- doesthiswork has joined.
14:08:08 -!- augur has joined.
14:12:40 -!- augur has quit (Ping timeout: 255 seconds).
14:13:26 -!- ATMunn has joined.
14:38:58 -!- doesthiswork has quit (Quit: Leaving.).
14:39:47 -!- zseri has joined.
14:40:34 <zseri> hi
14:46:46 -!- `^_^v has joined.
14:54:25 <rdococ> ...
14:55:56 <rdococ> Concept: a language whose programs are a binary tree
14:56:19 <Taneb> Like iota?
14:56:28 <rdococ> I guess
14:56:58 <Taneb> Or any of those combinator languages
14:59:12 <ATMunn> moo
15:01:22 <rdococ> MoOOOOOOOOOOoooooooou.
15:12:24 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
15:35:43 -!- AnotherTest has joined.
16:12:50 -!- LKoen has quit (Remote host closed the connection).
16:40:47 -!- augur has joined.
16:44:57 <kurolox> fizzie since I believe that arch might be causing the issues, I've installed debian on my laptop/server. I'm trying to install umlbox on it, applying most of the fixes you gave me (I've got it to build properly), but I'm getting this when trying umlbox
16:45:33 <kurolox> https://ghostbin.com/paste/ep4uc
16:52:34 <kurolox> nevermind fizzie, it was a typo I made when applying fixes. Sorry.
16:53:11 <kurolox> fizzie in debian umlbox works properly, so the issue is caused by Arch most likely
16:55:47 <rdococ> I'm working on a concept for a BF derivative which works on a queue.
16:56:26 <rdococ> Unfortunately, that means it's already obviously TC... well, if I include looping instructions
16:56:32 <rdococ> but will I? mw ha ha ha :P
17:01:27 -!- imode has joined.
17:02:45 <wob_jonas> ARGH! I think my ISP is causing routing problems again
17:02:56 <rdococ> imodium
17:03:02 <wob_jonas> either that or DNS problems
17:03:21 * rdococ hugs wob_jonas
17:03:32 -!- FreeFull has joined.
17:03:45 <rdococ> FreeFull.
17:03:53 <FreeFull> rdococ:
17:03:59 <rdococ> ExpensiveEmpty:
17:04:08 <FreeFull> Nah
17:04:25 <rdococ> CheapHalfFull:
17:04:31 <wob_jonas> DNS problems apparently
17:04:38 <rdococ> PricelessBottomlessAbyss:
17:08:43 <alercah> wob_jonas: ah reading fail
17:10:09 <wob_jonas> hmm... it's possible that the problem isn't on my side this time
17:10:29 <wob_jonas> I mean, that it isn't on the side of my ISP this time
17:11:11 <wob_jonas> also, isup.me is sometimes giving timeouts for me, which is scary
17:11:48 <imode> rdococ: yello.
17:12:37 <kurolox> Well fizzie, if anything it seems like it breaks with virtualenvs
17:13:44 <kurolox> http://i.imgur.com/qHm2eb0.png
17:18:48 <wob_jonas> well I can't tell on which side the error is
17:23:28 <rdococ> hi
17:41:33 <rdococ> I just had a thought.
17:42:00 <rdococ> I know there are many brainfuck derivatives, but let's just be shocked, surprised, and eternally grateful that no languages have been based on ut yet.
17:49:47 -!- erkin has joined.
17:50:28 <rdococ> By the way, where was fungot tested?
17:50:28 <fungot> rdococ: hey, t-rex, i've a long road ahead of me, it would be flattering. they'd failed to deliver it to the king of all that i survey! i am a good friend, t-rex, but, uh,
18:04:17 <HackEgo> [wiki] [[3D]] https://esolangs.org/w/index.php?diff=52933&oldid=19990 * Programmer5000 * (-19)
18:15:58 -!- Phantom_Hoover has joined.
18:18:49 -!- augur has quit (Remote host closed the connection).
18:21:16 -!- joast has quit (Quit: Leaving.).
18:22:19 -!- Sgeo has quit (Ping timeout: 240 seconds).
18:22:30 -!- joast has joined.
18:34:16 -!- augur has joined.
18:38:39 -!- augur has quit (Ping timeout: 248 seconds).
18:48:18 -!- Sgeo has joined.
18:50:34 -!- Sgeo_ has joined.
18:52:35 -!- Sgeo has quit (Ping timeout: 240 seconds).
19:09:50 <kurolox> Well fizzie, I feel like I should show you the result of all the help you've offered to me the last days
19:10:54 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
19:12:09 <kurolox> http://i.imgur.com/jCYgJNw.png
19:16:21 -!- LKoen has joined.
19:30:21 -!- LKoen has quit (Remote host closed the connection).
19:45:30 <rdococ> Concept: values which can either be 3 or 2 - as in, "x == (3 or 2)" will return true whether x == 3 or x == 2
19:49:07 -!- Cale has quit (Remote host closed the connection).
19:51:48 <rdococ> Would a dialect of BF in which the angled brackets must be balanced be TC?
19:52:13 <rdococ> e.g. >< is valid, but >> isn't. >[<] wouldn't be valid, either, but >+<[>-<] would be (if a bit redundant :P)
19:52:13 <wob_jonas> balanced together with square brackets or separately?
19:52:17 <wob_jonas> if together, it's not TC
19:52:30 <rdococ> I don't know what you mean.
19:52:41 <wob_jonas> is [>]< valid?
19:52:46 <rdococ> no
19:52:52 <rdococ> ...ah.
19:53:31 <wob_jonas> if separately, then surely it's not a serious limitation, you just put a zillion > to the start of the program and a zillion < to the end of the program and that fixes all the balance
19:54:05 <rdococ> true
19:54:13 <rdococ> is there a proof that balancing them together isn't TC?
19:54:29 <wob_jonas> think about it yourself, I don't want to spoil it early
19:54:31 <wob_jonas> it's not hard
19:55:04 <rdococ> hm
19:55:45 <rdococ> Don't you know that I'm an idiot?
19:56:42 <rdococ> I guess you couldn't move the cell you were checking in a while loop.
19:57:02 <rdococ> Which means that the number of cell spaces you can move would be limited to the number of >s.
19:57:14 <rdococ> Even then, with unbounded cells...
20:02:20 -!- LKoen has joined.
20:03:42 -!- Cale has joined.
20:06:09 -!- sleffy has joined.
20:12:49 -!- sleffy has quit (Quit: Leaving).
20:13:07 -!- sleffy has joined.
20:29:24 -!- sleffy has quit (Quit: Leaving).
20:29:44 -!- sleffy has joined.
20:36:00 -!- LKoen has quit (Remote host closed the connection).
20:36:06 <\oren\> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa
20:36:28 <\oren\> you foooooools! SUNDAY IS THE LAST DAY OF THE WEEK, NOT THE FIRST
20:37:05 <\oren\> if it was the first day of the week, then the weekend would be friday and saturday, and you would work sunday to thurday!
20:37:14 <shachaf> \oren\: Sunday is definitely the first day of the week.
20:37:35 <\oren\> shachaf: no, sunday is part of the weekend!
20:37:50 <\oren\> and therefore the week begins on monay
20:38:02 -!- LKoen has joined.
20:38:10 <shachaf> The weekend is a vague blob around the boundary between weeks
20:38:31 <\oren\> the weekend id the last two days of the week, saturday and sunday
20:38:43 <shachaf> No, the week goes Sunday, Monday, Tuesday, ...
20:38:52 <shachaf> Or, as they're called in Hebrew, Firstday, Secondday, Thirdday, ...
20:39:04 <\oren\> well hebrew is wrong then
20:39:07 <shachaf> In German, Wednesday is called "midweek"
20:39:13 <shachaf> Because it's in the middle of the week.
20:39:19 <shachaf> Because the week starts on Sunday.
20:39:33 <myname> shachaf: in germany, the week starts on monday
20:39:53 <myname> wednesday is the mid of the week, because saturday and sunday is the weekend :p
20:40:04 <shachaf> It's not called "midworkweek"
20:40:06 <wob_jonas> shachaf: numbers for week days is great, and several languages uses it for at least some of the days, but it's a bad choice because some languages use sunday=0 and some use sunday=1
20:40:09 <\oren\> shachaf: do you report to work each sunday in Israel?
20:40:25 <wob_jonas> the standard choice these days is sunday=0 or sunday=7, but we don't change the names based on them
20:40:31 <shachaf> Yes, the weekend in Israel is Friday-Saturday
20:40:52 <wob_jonas> yeah, names originating from midweek are also used for both thursday and wednesday
20:41:23 <wob_jonas> "<shachaf> It's not called "midworkweek"" => that wouldn't even make sense. the concept of only five workdays per week is much newer than the names in almost any languages
20:42:02 <shachaf> wob_jonas: Right, so Wednesday being the middle of the Mon-Fri week doesn't make sense.
20:43:30 <wob_jonas> I personally like the classical alchemical association of days of week with the antique metals and panets. See https://en.wikipedia.org/wiki/Metals_of_antiquity#Symbolism for a table.
20:45:35 <wob_jonas> also, the problem with trying to decide whether the week starts with sunday or monday has the problem that not only the choice is very much culturally ingrained in many places and changing it would be confusing because people would misread calendars, but also that both choices have a religious motivation that people could be sensitive about.
20:47:24 <wob_jonas> the metal association is great, because most languages already have distinctive words for the seven classical metals, so it's easy to make up names for the days of week based on them
20:48:06 <shachaf> Man, can you believe religion is so popular?
20:48:09 <shachaf> It's so bizarre.
20:49:41 <wob_jonas> shachaf: the religion doesn't even really matter. some of the religious culture remains even without the religion, i.e. in people who don't believe in the religion, and that can still matter here
20:49:48 <wob_jonas> tradition and stuff
20:50:18 <wob_jonas> also, some of the languages already use the classical planet association for naming some of the days
20:51:21 <wob_jonas> there's just one slight problem: apparently traditional Chinese medicine associates gold with Venus instead of with the Sun, which could be confusing
20:52:13 <shachaf> https://kate.io/blog/2017/08/22/weird-python-integers/
20:52:33 <\oren\> "Slavic languages implicitly number Monday as day number one"
20:56:39 -!- LKoen has quit (Remote host closed the connection).
20:57:32 <rdococ> shachaf: woah
20:57:57 <shachaf> leave me alone
21:01:32 <rdococ> Okay, okay, wait. Was that "leave me alone" because my message didn't have enough information in it, or just because you hold a grudge? I'm not trying to be rude, I sincerely want to know because I just want to be friends.
21:02:27 <rdococ> (Granted that "<shachaf> It's so bizarre." only has slightly more information in it, but that's besides the point.)
21:07:03 <shachaf> Of course I hold a grudge.
21:08:44 <shachaf> I don't want to be your friend, I want you to leave me alone. You can't expect everything you say to be taken independently of everything else.
21:10:29 <imode> itc: awkward people having awkward conversations.
21:13:11 <rdococ> What did I even do to you?
21:19:20 <\oren\> rdococ: I am also confused
21:19:41 <rdococ> I had always thought that shachaf hated me for a reason...
21:19:43 -!- TieSoul has quit (Quit: Leaving).
21:20:04 <rdococ> I wondered on how I could improve on that, hopefully becoming a better person myself... but now I'm just... speechless.
21:20:16 <rdococ> Not literally speechless, I can still type words here, but you know what I mean.
21:21:11 <rdococ> A while back I decided that I would try to increase the length of every message I sent here - I thought the reason shachaf hated me was because they sore what I was typing as spammish, so I resolved to attempt to reduce that.
21:21:40 <rdococ> But... is it even worth trying anymore?
21:21:44 <wob_jonas> shachaf: that doesn't seem strange to me, because ruby integers work similarly, except that there every integer up to like 2**30 or 2**62 (depending on pointer size) is a small integer. I think even some schemes work like that too, with the eq? operator.
21:22:57 <shachaf> wob_jonas: But those aren't heap objects that can be mutated, are they?
21:23:17 <wob_jonas> shachaf: yes, those aren't
21:24:23 <wob_jonas> strangely, in ruby, true and false and nil are also handled specially as not pointing to real objects, even though there doesn't seem to be a reason for that. I think it would be easier to handle them as singleton statically allocated objects.
21:24:30 <\oren\> but... but why are integers heap objects anyway? would it not be faster to keep them mutable?
21:24:47 <shachaf> Look, do whatever you want.
21:24:57 <wob_jonas> \oren\: large integers have to be heap objects because they're bignums and can't be stored in a word
21:25:16 <\oren\> right, but why would small integers be heap objects
21:25:37 <wob_jonas> also, all of this is about ruby 1.8, there's been internals changes since then that I didn't follow much
21:25:40 <\oren\> why is there an specific address whre the number 7 is stored
21:26:07 <wob_jonas> I know the way it stores code has been replaced by some much more insane mechanism, and I don't understand why. apparently they bought into the "bytecode" buzzword or something.
21:26:30 <\oren\> oh god did they roll their own bytecode
21:26:43 <wob_jonas> \oren\: for sparing memory and cache. there are often many copies of the number 7 alive, and creating a new object for it every time would be wasteful
21:26:49 <wob_jonas> in python that is
21:27:01 <wob_jonas> in ruby small integers aren't pointing to any object
21:27:09 <\oren\> wob_jonas: but all teh pointers to 7 are 64 bits anyway
21:27:50 <\oren\> hmmmmm unlesss
21:27:56 <wob_jonas> in ruby, the objects are either pointers (16-aligned) to a real object, or small values for a few special objects like nil, false, true, and a few more, or odd numbers for representing a small integer, or numbers that are IIRC 15 mod 16 for symbol objects
21:28:19 <wob_jonas> \oren\: sure, the pointers themselves are, but you don't need separate copies of what it points to
21:28:51 <wob_jonas> it's not the pointers themselves that get smaller, but the pointed objects. those still take up memory and cache and malloc time
21:28:54 <wob_jonas> mostly cache
21:29:11 <\oren\> but why is 7 a pointed-to object?
21:29:26 <\oren\> 7 should be stored directly not pointed somewhere
21:29:51 <wob_jonas> \oren\: because this way you need fewer conditionals when you dereference an object pointer
21:30:10 <wob_jonas> you don't have to check for ten special cases before dereferencing it like ruby does
21:30:29 <wob_jonas> (actually it has to check only for two conditions, but still)
21:30:41 <wob_jonas> (small values and 16-bit alignment)
21:30:45 <\oren\> I guess, but you end up checking its type after dereferencing anyway....
21:30:58 -!- imode has quit (Ping timeout: 255 seconds).
21:31:15 <wob_jonas> no, you end up checking its methods and class and all sorts of stuff like that, not always the one "type" thing
21:31:29 <wob_jonas> it's an OO language
21:31:31 <wob_jonas> all objects are similar
21:31:55 <wob_jonas> there aren't just 30 differently typed objects all with unrelated behavior like in scheme
21:32:10 <wob_jonas> in ruby and python there's a lot of things common in all or almost all objects, includign integers
21:32:16 <\oren\> but some objects have direct support at CPU level for their operations
21:32:16 <wob_jonas> all objects have a class and methods
21:32:26 <wob_jonas> sure, but not all operations are like that
21:32:39 <wob_jonas> and you have to do the check for all non-integer objects too
21:33:00 <wob_jonas> there's a lot of code that rarely manipulates integers, but it would have to pay for the integer check every time it accesses any object
21:33:11 <wob_jonas> since almost any object could just happen to be an integer
21:33:42 <wob_jonas> ruby works like that, it has to check for integers/symbols and for special low-address objects all the time, even if you never use those objects
21:33:52 <wob_jonas> (though never using the low address objects is very unlikely)
21:34:06 <wob_jonas> (some of them are used a lot)
21:34:11 <wob_jonas> (even internally)
21:34:48 <shachaf> How much of what a branch predictor does could realistically be replaced with a tracing JIT?
21:35:27 <wob_jonas> but the fact is, ruby 1.8 doesn't care that much about heavy performance optimizations anyway
21:35:55 <wob_jonas> if you want performance, it's up to the programmer to identify the inner loops and optimize them, possibly by calling to non-ruby code
21:36:09 <wob_jonas> but it still manages to be quite a fast language without such tricks
21:36:19 <wob_jonas> it's actually faster than perl 5, despite its reputation that it's slow
21:36:25 <wob_jonas> perl 5 is horrible
21:36:35 <wob_jonas> and perl 5 is hard to change because
21:36:46 <\oren\> Hmmm... I'm now wondering where C, compiled with tcc -run, ends up in the set of interpreted languages
21:37:00 <wob_jonas> it has published its bad API so early that there's too much code using it and all the stupid internal details are fixed now
21:37:30 <wob_jonas> \oren\: it always depends on what kind of code you're running
21:38:02 <wob_jonas> and how much optimization you're willing to do when writing the code
21:38:15 <wob_jonas> there are people who optimize perl5 code, even code that would be easier to write in C
21:46:16 <wob_jonas> (for esoteric reasons)
21:52:47 <rdococ> ATMunn: hi.
21:52:52 <ATMunn> oh hi
21:53:24 <ATMunn> i thought you were referring to something recent
21:53:53 <rdococ> it was recent, but don't mention it here
21:57:11 <ATMunn> ah
21:57:24 <ATMunn> found it
21:57:31 <ATMunn> wont mention tho as you said
22:04:48 <HackEgo> [wiki] [[Talk:Lazy evaluation]] M https://esolangs.org/w/index.php?diff=52934&oldid=46163 * Rdococ * (+169)
22:09:05 -!- propumpkin has changed nick to contrapumpkin.
22:18:04 -!- zseri has quit (Ping timeout: 260 seconds).
22:32:06 -!- augur has joined.
22:52:38 -!- LKoen has joined.
22:53:32 -!- `^_^v has quit (Quit: This computer has gone to sleep).
22:54:21 -!- ATMunn has changed nick to wall.
22:54:28 -!- wall has changed nick to ATMunn.
22:55:01 -!- AnotherTest has quit (Ping timeout: 276 seconds).
23:15:12 <wob_jonas> I should introduce a new element system because I'm not satisfied with either the Aristotelean nor the classical chinese system. My five elements would be stone, metal, plastic, cellulose, and protein.
23:17:35 <rdococ> I had the concept of a two-level system where things could become their "oxidized" forms
23:17:47 <rdococ> so, say dirt, water and air -> ash, salt and smoke
23:18:00 <rdococ> I should shut up now before the grudge for no reason kicks in
23:18:29 <wob_jonas> Stone encompasses all mineral, gemstone, lime, sand, clay, concrete, plaster, and also all glass, pearl, seashell. Metal encompasses all the metals and semi-metals like aluminum. Plastic has all polymers including rubber, vinyl, pet. Cellulose includes wood and cotton and linen. Protein includes wool, horn, unicorn horn, nails.
23:19:01 <wob_jonas> Liquids and gases and foodstuff would be outside the element system.
23:19:24 <wob_jonas> So the protein element only includes the non-edible forms like I listed above.
23:19:28 <shachaf> Why is aluminum a semi-metal? Is aluminium a full metal?
23:19:32 <wob_jonas> (technically those are edible, but still)
23:19:50 <wob_jonas> shachaf: that's a question of terminology. It's a metal in this elemental system.
23:20:10 <wob_jonas> some chemical terminology counts it as a semi-metal.
23:22:59 <wob_jonas> There should be a cyclic dominance order between these. Obviously because of rock-paper-scissors, stone beats metal, metal beats cellulose, and cellulose beats stone.
23:24:19 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:26:28 -!- imode has joined.
23:28:41 <wob_jonas> And there are lots of game elemental systems, but their goal isn't classifying solids or materials, but classifying damage types. Nethack has a strange pot-pourri, where the elements include fire, cold, poison, shock (lightning or electricity), magic, draining, and sleep.
23:29:17 <rdococ> sleep is an element? :P
23:29:24 <wob_jonas> yes
23:29:37 <wob_jonas> and there are arrows dealing sleep damage too
23:29:47 <wob_jonas> not in nethack, but in other fiction
23:29:53 <wob_jonas> this came up recently
23:29:59 * rdococ activates his sleep magic
23:30:19 <wob_jonas> no no, magic is different. sleep isn't magic.
23:30:35 <rdococ> oh yea
23:30:46 <wob_jonas> there are magic arrows or magic bullets too
23:33:10 -!- kurolox has quit (Ping timeout: 240 seconds).
23:33:20 <wob_jonas> magic missile is always magical, force damage counts as magical in some games, and the magic bullets in Der Freischütz probably deal magic damage too
23:34:31 <rdococ> I would think of magic as manipulating the elements, not as an element itself
23:34:56 <wob_jonas> rdococ: element in this sense is a damage type
23:35:02 <rdococ> k
23:35:05 <wob_jonas> like fire, cold, lighting, etc
23:35:16 <wob_jonas> but magic isn't among those in all such systems
23:35:25 <wob_jonas> in some game, magic vs nonmagic is a separate dimension from the element type
23:36:21 <wob_jonas> in that case there's normal fire and magical fire, normal bludgeoning and magical force, normal cold weather and magical cold that freezes you from inside no matter what clothing you wera
23:36:29 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:36:41 <wob_jonas> and also ordinary sleep and magical sleep
23:36:58 <wob_jonas> nethack isn't like that
23:37:57 <\oren\> In some game I forget the name of they had just blunt, sharp, and fire damage
23:38:35 <rdococ> blunt, sharp and fire makes sense
23:38:50 <rdococ> kind of
23:39:01 <\oren\> it was a startegy game
23:39:10 <rdococ> startegy
23:39:54 <wob_jonas> strangely, M:tG doesn't have a proper elemental system, there's no fire damage or cold damage or blunt or edged or pierce weapons,
23:40:27 <wob_jonas> so anything that tries to distingiush damage has to care about (1) properties of the damage source, esp zone and color and type, (2) combat damage vs noncombat damage, and (3) properties of the damage target, esp player vs creature, and (4) amount of damage (damage comes in discrete damage events that can have any nonnegative integer amount)
23:42:15 <wob_jonas> also a few abilities of the source automatically modify the effect of the damage, these are lifelink, deathtouch, infect, wither.
23:43:39 <wob_jonas> those apply to all damage dealt by the source, no matter why
23:48:31 <rdococ> hm
23:48:48 <rdococ> in the future, I'll have to find a random person and start holding a grudge against them for no reason
23:49:42 <\oren\> in Age of Empires 3, there is "melee", "range" and "seige" attack
23:49:50 <shachaf> I hold a grudge against you for the reasons you talked about, among others
23:50:22 <wob_jonas> \oren\: wait, only those? doesn't it have more?
23:50:31 <shachaf> I don't know why you expect that you can be annoying for months and have each subsequent thing you say considered independently of everything before it.
23:51:57 <\oren\> wob_jonas: yeah, it doesn't distinguish between hack, pierce, and crush damage the way age of mythology does
23:52:33 <rdococ> shachaf: You mean when I'm trying my very hardest not to be annoying just so that you don't completely hate me anymore?
23:53:02 <rdococ> Sure, I can be annoying, I readily admit that and try to stop it. But when I'm trying to stop it, I don't expect people to ignore that.
23:53:15 <shachaf> I don't completely hate you.
23:53:35 <rdococ> Then how much hate do you feel?
23:53:43 <shachaf> No hate.
23:53:52 <rdococ> And you have a grudge against me?
23:54:03 <shachaf> I think that was your word, but sure.
23:54:35 <wob_jonas> rdococ: just drop it. if shachaf doesn't want to listen to you, just ignore that. it's not like he got you banned from the channel or harasses you or any other such harm
23:54:54 <rdococ> wob_jonas: No, because I want to be friends with people. What's wrong with trying to mend fences?
23:55:09 <rdococ> shachaf: If you hold a grudge, doesn't that imply some level of hate?
23:58:52 <int-e> . o O ( Your friend making strategy sucks. )
←2017-08-23 2017-08-24 2017-08-25→ ↑2017 ↑all