←2016-10-20 2016-10-21 2016-10-22→ ↑2016 ↑all
00:00:21 -!- DHeadshot has quit (Ping timeout: 256 seconds).
00:00:37 -!- heroux has joined.
00:02:19 -!- oerjan has joined.
00:04:04 <oerjan> @messages-foul
00:04:05 <lambdabot> fizzie said 15h 53m 30s ago: Actually, I don't do HackEgo-related backups, just the wiki. Maybe I should.
00:04:08 <oerjan> aww
00:08:35 -!- augur has quit (Remote host closed the connection).
00:12:19 -!- augur has joined.
00:18:07 -!- heroux_ has joined.
00:18:20 -!- heroux has quit (Read error: Connection reset by peer).
00:18:35 -!- heroux_ has changed nick to heroux.
00:20:21 <boily> Zarutian: Zarutellon. interrupts are slightly black magic for me, as far as I can recall >_>'...
00:21:29 <Zarutian> boily: hmm... how much do you know of ISAs?
00:23:05 <Zarutian> boily: well on canonical dual stack machines they are simple. Basically they are unanticipated call to the InteruptServiceRoutine.
00:23:26 * boily throws a smoke grenade
00:23:47 * Zarutian goes into full lecture mode
00:24:22 * boily listens
00:25:21 <Zarutian> I take that you know the basic Fetch-Execute cycle all CPUs and MCU cpu-like cores implement
00:26:01 <boily> I do.
00:27:51 <boily> `` mv wisdom/magnu{,s}
00:28:03 <HackEgo> No output.
00:28:37 <Zarutian> so the cpu usually fetches an instruction from what ever address the Instruction Pointer register tells.
00:28:54 <boily> it does.
00:30:32 <Zarutian> however when an interupt happens, some sort of signal (a steady logical HIgh or LoToHi transition) is fed into the contoler of the cpu, yes?
00:31:28 <oerjan> bood evenily
00:32:06 <Zarutian> oerjan: god aften.
00:32:54 <oerjan> god aften Zarutian
00:33:09 <oerjan> `dowg magnu
00:33:15 <HackEgo> 2016-10-20 <boil̈y> ` mv wisdom/magnu{,s} \ 2016-09-25 <fizzïe> revert 942e964c81c1 \ 2016-09-25 <evilips̈e> ` chmod 777 / -R \ 2016-04-17 <b_jonäs> learn Magnus is the ghost the Trunchbull killed.
00:33:15 <oerjan> `dowg magnus
00:33:20 <HackEgo> 2016-10-20 <boil̈y> ` mv wisdom/magnu{,s}
00:33:38 <oerjan> not the magnus i expected.
00:33:55 <Zarutian> oerjan: coi pa do .i pau xu do cu baupli la lojban ku .i
00:34:19 <oerjan> i no speak-a lojban
00:34:51 -!- Cale has quit (Remote host closed the connection).
00:35:09 <Zarutian> oerjan: men du forstuer hvad jeg har sagt på lojban, nei?
00:35:32 * Zarutian prods boily
00:35:53 <boily> Zarutian: *munch* *munch* *munch*
00:36:25 <boily> (eating, still following what's happening, even if parts are in Norsk or something that looks like it.)
00:37:27 <Zarutian> boily: well the last was in an baster coboil of Norks and Dansk.
00:38:38 <boily> *munch*.
00:42:34 <oerjan> "forstuer" is probably the wrong term here hth
00:43:13 <Zarutian> so, the cpu pushes the current Instruction Pointer register contents onto the (return)stack, puts the address of the start of the ISR into Instruction Pointer register, disables interrupts and fetches the next instruction as per above.
00:43:21 <oerjan> (it means "sprain" hth)
00:43:27 <oerjan> *sprains
00:43:43 <Zarutian> oerjan: could have gone with Svensk fattar instead probably
00:44:11 <oerjan> i'm pretty sure you meant "forstår"
00:44:25 <Zarutian> I always confuse them
00:45:08 <Zarutian> hence I sometimes get deep oiled kittens instead of chickens.
00:45:22 <Zarutian> heck of a killing there
00:45:24 <oerjan> google translate's lojban support is unfortunately rather nonexistent, so no deal.
00:45:46 <Zarutian> well when I am trying to speak Dansk that is
00:46:21 <Zarutian> oerjan: humm... hvernig höndlar þýðingarvél Google íslenskt ritmál þá?
00:46:56 <boily> . o O ( mais qu'est-ce qu'un þýðingarvél??? )
00:47:23 <oerjan> incidentally "fatter" is a norwegian word, which means the same as swedish "fattar", except when it means Daddy instead.
00:47:48 <oerjan> (it's not the most common word for Daddy, though.)
00:49:10 <Zarutian> there are few design choices of where the ISR address is gotten from. In some systems it is hardcoded. In others it is in an memory addressable register and in yet other you get vectored interrupts where the ISR address is choicen from an small array of register based on the type of the interrupt
00:49:14 <oerjan> Zarutian: better than lojban. also i can guess a little icelandic.
00:49:29 <Zarutian> boily: translationmachine
00:49:52 <boily> `thanks Zarutian
00:49:57 <HackEgo> Thanks, Zarutian. Tharutian.
00:51:08 <Zarutian> boily: another example of an long Icelandic word is alþjóðafarverkamannastarfsgreinasambandið (and I bet oerjan cant guess this one)
00:51:37 <oerjan> boily: þýðingarvél seems to mean translator. þýðing has an obvious norwegian nynorsk cognate tyding (and a slightly less obvious bokmål betydning), both meaning meaning. not sure of the vél part.
00:51:55 <boily> mine eyes. they are not in a happy place.
00:51:56 <Zarutian> oerjan: vélabrögð!
00:52:15 * boily comforts himself with sane French spelling
00:52:16 <oerjan> it seems to mean machine according to google.
00:52:43 <oerjan> boily: i think icelandic spelling is relatively sane.
00:52:52 <Zarutian> oerjan: indeed, it was adopted to mean that but also meant certain kind of magic|spell
00:53:09 <oerjan> huh
00:53:34 <oerjan> i cannot guess all of that long word but sambandet is a norwegian word.
00:54:18 <oerjan> it might be a funny way of saying Internet, come to think of it.
00:54:36 <oerjan> let's google
00:54:57 <boily> `` sed -i 'streatréat' wisdom/montreal
00:55:02 <HackEgo> No output.
00:55:13 <oerjan> oh hm
00:55:24 <oerjan> looking at the mess google creates of it...
00:55:40 <oerjan> i'm changing my guess to ILO, the International Labor Organization.
00:55:41 <Zarutian> oerjan: nope the Internet is Alnetið, rather sane one that.
00:56:37 * Zarutian breaks it up for oerjan: alþjóða-far-verkamanna-starfsgreina-sambandið
00:57:58 <oerjan> i was getting that far
00:58:45 <oerjan> still the same guess, unless there's a different international worker's union
00:59:29 <oerjan> https://en.wikipedia.org/wiki/International_Workers%27_Association looks promising
01:00:38 <Zarutian> oerjan: well its an international umbrella organization for guild-like organizations of travelling workers.
01:00:54 <boily> "just" is #esoteric's version of TV Tropes' "egregious"...
01:01:37 <oerjan> Zarutian: doesn't sound quite the same. i guess there are too many labor organizations
01:01:56 <oerjan> boily: i haven't noticed "egregious"
01:02:22 <Zarutian> boily: well an roadtrip faviourite is always: Hellisheiðarvegavinnuverkamannkaffiskúrslykklakippunaglhaus
01:02:48 <boily> oerjan: it was egregiouser in the past, but they removed many of them.
01:02:58 <boily> (it's still the canonical egregious word.)
01:03:22 * boily mapoles spaces into the Zarutianwords
01:03:45 <boily> I'm guessing "Hell" is not Hell, but just pale or white.
01:03:56 -!- Cale has joined.
01:03:58 <Zarutian> nope
01:04:29 <Zarutian> in Icelandic we have four declanations instead of the measly two of English
01:05:18 <Zarutian> Hellisheiði is a named georgraphy in Iceland
01:05:32 <boily> Whiteshade?
01:05:45 <oerjan> Zarutian: do you mean cases
01:05:53 <Zarutian> oerjan: cases yes
01:05:56 <oerjan> declinations count a different thing
01:06:33 <Zarutian> my english vocabulary regarding grammar isnt much
01:07:07 <Zarutian> boily: Cavern-Highland.
01:07:17 <oerjan> well english probably doesn't have declinations since its noun grammar is too regular. not sure about icelandic.
01:07:41 <oerjan> (basically a declination is a class of nouns that all inflect in a similar way)
01:08:06 <Zarutian> declanations is where nouns get diffrent endings depending on stuff like the 'sex' of the word and such?
01:08:28 <oerjan> well those might count, however it's not the same.
01:08:54 <oerjan> e.g. in Latin some of the declinations contain words of different genders.
01:09:08 <Zarutian> that is what I am talking about
01:09:53 <oerjan> no i mean, Julius and verbum are latin words both of the 2nd declination; the first is masculine and the second is neuter.
01:10:40 <oerjan> and the most common adjective inflection uses 1st declination for feminine and 2nd for masculine and neuter.
01:10:44 <Zarutian> barn-ið, bók-in, hestur-inn. (Neuter, feminine, masculine, the ending is equiv to danish -en or english the)
01:11:04 <oerjan> Zarutian: danish as -et for neuter
01:11:06 <oerjan> *has
01:11:51 <oerjan> declination also refers to the entire inflection pattern of a noun though.
01:12:01 <Zarutian> dont force me to remember the rules of what words are neuter and combined (both mascuiline and feminine)
01:12:28 <oerjan> well norwegian has 3 genders. barnet, boka, hesten. same as icelandic there.
01:13:24 <boily> un évier, une cuiller. perfectly logical.
01:14:18 <boily> (mind you, it's /evje/ and /kɥijɛʁ/.)
01:14:42 <pikhq> English has the *remnants* of a noun declination system, at least. I think purely in the pronouns, though.
01:18:37 <boily> `? oerjan
01:18:39 <HackEgo> Your reverberated itymologist gracious octoberlord oerjan is a lazy expert in suture complication. Also a Pre-recombination Glaswegian who passionfruitly dislikes Roald Dahl. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it.
01:18:46 <boily> oh, it has become green now.
01:19:37 <oerjan> AAAAAAAAA MUST. SKIP. POLITICS. IN. LOGS.
01:19:50 <shachaf> oerjan: oh, is it a good politics?
01:20:02 <oerjan> wat
01:20:42 <shachaf> `slwd oerjan//s#oerjan#oerjan#
01:20:44 <HackEgo> wisdom/oerjan//Your reverberated itymologist gracious octoberlord oerjan is a lazy expert in suture complication. Also a Pre-recombination Glaswegian who passionfruitly dislikes Roald Dahl. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it.
01:20:52 <oerjan> wut
01:21:16 <Zarutian> or just the usual clownfi(gh|t)ting?
01:21:30 -!- zzo38 has joined.
01:21:47 * boily *THWACKS* shachaf. "hey, I'm trying to format that!"
01:22:03 <shachaf> `revert
01:22:17 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
01:22:20 <boily> no reverting, oerjan is rainboerjaned.
01:23:08 <shachaf> `cat bin/rainboerjan
01:23:09 <HackEgo> cat: bin/rainboerjan: No such file or directory
01:25:54 <boily> okay, I'm done with 'O'. you can tweak oerjan to your heart's content!
01:26:23 <oerjan> this wisdom has some race conditions.
01:26:51 <oerjan> `hoag bin/rainboerjan
01:26:51 <Zarutian> oerjan: like at red severty or?
01:26:57 <HackEgo> No output.
01:27:01 <oerjan> Zarutian: wat
01:27:12 <Zarutian> oerjan: race condition red
01:27:23 <oerjan> i have no idea what that means.
01:27:58 <oerjan> afaik it appears to mix two unrelated concepts.
01:31:40 <Zarutian> it was an attempt to reference http://everything2.com/user/The+Custodian/writeups/Race+Condition+Red
01:40:25 <oerjan> OKAY
01:41:18 <Zarutian> oerjan: and also: oysters are filter feeders.
01:43:32 <Zarutian> feeeel the zeeen frustration yet?
01:44:36 -!- b_jonas has quit (Ping timeout: 268 seconds).
01:44:43 -!- b_jonas has joined.
01:51:53 <oerjan> mu.
02:04:32 <boily> mumumumumumumumu ♪
02:08:46 <oerjan> @yow mumu?
02:08:47 <lambdabot> I feel like a wet parking meter on Darvon!
02:25:04 -!- boily has quit (Quit: DEUTEROLOGICAL CHICKEN).
02:29:22 -!- pikhq has quit (Ping timeout: 244 seconds).
02:36:04 -!- pikhq has joined.
02:39:54 <shachaf> `? color
02:40:10 <HackEgo> Color is a phenomenon from outer space designed to drive humanity insane and bring forth the new age of Cthulhu.
02:40:19 <shachaf> `? colour
02:40:20 <HackEgo> Colour is a phenomenoun froum outeur spacue designeud to drivue humanituy insanue and brinug fortuh the new age of Cthulhu.
02:40:44 <shachaf> `dowg colour
02:40:50 <HackEgo> 2016-09-25 <fizzïe> revert 942e964c81c1 \ 2016-09-25 <evilips̈e> ` chmod 777 / -R \ 2016-05-31 <fizzïe> ` sed -i -e \'s/\\([a-z]\\(\\x03[0-9][0-9]\\)*[a-z]\\(\\x03[0-9][0-9]\\)*[a-z]\\(\\x03[0-9][0-9]\\)*\\)\\([a-z]\\(\\x03[0-9][0-9]\\)* \\)/\\1u\\5/g\' -e \'s/louur/lour/\' -e \'s/\\(\\x03[0-9][0-9]\\)*\\(\\x03[0-9][0-9]\\)/\\2/g\' wisdom/colo
02:42:22 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:47:07 <\oren\> coulour
02:47:25 <\oren\> cuouluour
02:47:39 <Zarutian> coulour couloumb!
02:49:56 <oerjan> nout coul
02:53:17 <zzo38> Might any additional node types be useful for FreeUHS? If any are added, then hint files that use them won't be compatible with OpenUHS (unless someone adds those features into OpenUHS). One kind of node type I thought might be useful to add is password type; there are several other nodes locked by passwords and you can access them if you know the password.
02:53:58 <Zarutian> zzo38: UHS stands for what in this context?
02:54:10 <zzo38> Universal Hint System
02:54:10 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
02:54:34 <zzo38> FreeUHS and OpenUHS are free implementations of that.
02:55:08 <Zarutian> and what are Universal Hint Systems?
02:55:56 <Zarutian> oh, these are hints for stuff like MIT annual riddle competition?
02:56:19 <zzo38> Wikipedia has some information. You can also see http://zzo38computer.org/fossil/freeuhs.ui/ for FreeUHS.
02:56:31 <zzo38> They are files that have menu of hints generally for computer games
02:56:44 <oerjan> <shachaf> it's spelled TRAAAAAINS hth <-- as they ZOOOOM by?
02:56:53 <zzo38> As far as I know, there aren't any for MIT annual riddle competition, but with FreeUHS you can write such a file if you want to do!
02:57:16 <zzo38> (InvisiClues is also a bit similar system to UHS)
02:57:45 <shachaf> oerjan: you've welcome to find out in the other channel hth
02:57:58 <oerjan> . o O ( zero knowledge hint protocol )
02:58:11 <shachaf> hi zzo38
02:58:22 <Zarutian> neat.
02:58:24 <shachaf> Is there a JavaScript implementation of UHS?
02:58:34 <shachaf> No one uses programs that don't run in web browsers anymore.
02:58:34 <zzo38> shachaf: Yes; FreeUHS is a JavaScript implementation.
02:58:38 <shachaf> Aha.
02:58:39 <shachaf> OK.
02:59:16 <oerjan> @tell boily <boily> who's or what's a Jander? <-- a robot from asimov's robot series iirc (and i looked it up because of the wisdom)
02:59:16 <lambdabot> Consider it noted.
02:59:19 <Zarutian> But I thought it was for hints of already solved riddle contests. My confusion.
02:59:35 <Zarutian> oerjan: oh, THAT Jander
02:59:53 <oerjan> `? jander
02:59:54 <HackEgo> Jander was murdered, or deactivated permanently, depending on which side you ask.
03:00:17 <oerjan> it's one of b_jonas's ones
03:00:18 <Zarutian> I was wondering why I found the name somewhat familiar
03:00:52 <zzo38> What I intend to add to FreeUHS later is one file for making printouts of UHS, with optional support for invisible ink or scratch-off layers.
03:03:02 <zzo38> You can also tell me any other feature requests or bug reports or whatever else too.
03:03:10 <\oren\> https://www.youtube.com/watch?v=b1gux6jeTR8
03:09:12 -!- `^_^v has joined.
03:20:11 <zzo38> What is the proper way for a HTTP client to check if it is redirecting from WAN to LAN?
03:20:44 <zzo38> I want to make the FreeUHS catalog program to refuse to redirect in such a case
03:22:14 -!- godel has joined.
03:27:22 <Zarutian> zzo38: what do you mean by 'redirecting from WAN to LAN'? the webserver returned an status code that the resource had moved and specifies an LAN hosted server?
03:28:00 <zzo38> Yes
03:28:28 <zzo38> But only if the original connection isn't LAN
03:29:41 <shachaf> "We call a special Frobenius monoid that also obeys this extra law extra-special."
03:31:25 <Zarutian> zzo38: well such knowledge requires knowing the IP address of the web server being redirected to. And if it falls into the usual LAN (or local) only IP addresses
03:38:02 -!- Zarutian has quit (Quit: Zarutian).
04:24:01 -!- `^_^v has quit (Quit: This computer has gone to sleep).
04:45:18 -!- PinealGlandOptic has joined.
04:47:28 <HackEgo> [wiki] [[User:Elronnd/brainfcuk]] https://esolangs.org/w/index.php?diff=50024&oldid=46992 * Elronnd * (-287)
04:58:29 <\oren\> https://www.youtube.com/watch?v=T00-c_6yvMk
05:00:04 <HackEgo> [wiki] [[User:Elronnd/brainfcuk]] https://esolangs.org/w/index.php?diff=50025&oldid=50024 * Elronnd * (+279)
05:00:13 -!- Elronnd has joined.
05:04:21 -!- PinealGlandOptic has quit (Quit: leaving).
05:05:26 <izalove> i've got a hundred million reasons to walk away, but baby i just need one good one to stay
05:08:05 <Elronnd> okay
05:10:45 <oerjan> in freefall, clippy needs to work on his metaphors
05:15:15 <oerjan> in girl genius, it appears that wearing purple does not prevent you from being a redshirt.
05:16:15 <izalove> don't be shirtist
05:16:28 <oerjan> well actually the whole comic seems purple today.
05:17:49 <\oren\> clearly they need to make a depurplizer
05:17:51 <FreeFull> No guarantees of survival unless you're part of the core cast
05:18:08 <shachaf> There is one in Zork: Grand Inquisitor
05:18:31 <shachaf> http://www.gameboomers.com/wtcheats/pcZz/ZGIms.htm
05:18:35 <shachaf> See IGRAM
05:18:55 <shachaf> You can do all sorts of great things with that spell.
05:18:56 <oerjan> also, the foglios are not very serious about conlanging.
05:19:11 <shachaf> For example, there's a place labelled "infinite corridor" in purple.
05:19:28 <shachaf> You can turn it into "corridor" or "infinite" or nothing.
05:20:43 <FreeFull> Why does it even make an invisible fence visible
05:20:52 <shachaf> That game was too good.
05:21:26 -!- Elronnd has left.
05:32:14 <\oren\> oerjan: I'm not sure whether conlanging is needed for Girl Genius. It takes place mostly in alternate-germany anyway
05:33:06 <\oren\> and partly in other parts of alternate-europe
05:35:51 <oerjan> \oren\: you didn't look at today's comic, did you?
05:36:55 <FreeFull> Well, right now they are in Paris
05:36:56 <\oren\> Oh. the spider rider language. '
05:37:18 <oerjan> it's pretty bad :P
05:37:22 <\oren\> DEM!
05:37:48 <FreeFull> I assume sparks just naturally learn languages really easily or something =P
05:37:54 <FreeFull> Or for some reason all of europa uses one language
05:38:25 <\oren\> Most of the text that isn't english that I've seen has been german
05:38:35 <oerjan> FreeFull: i think it's canonical that the parts they usually spend time in use german and romanian
05:38:37 <\oren\> I mean on signs and suck
05:38:54 <FreeFull> Romanian? Weird
05:39:14 <\oren\> The wulfenbach empire enforces the "Pax Transylvania"
05:39:24 <oerjan> FreeFull: the story starts in _transylvania_ polygnostic university, after all
05:39:29 <FreeFull> \oren\: Did you mean Latin?
05:39:35 <FreeFull> Oh
05:39:41 <\oren\> So I think they actually originate there
05:39:43 <FreeFull> I guess it would be Romanian
05:40:24 <\oren\> (even if their capital is a giant airship)
05:40:35 <oerjan> i noticed they've not been terribly serious about using french writing in paris either.
05:42:22 <FreeFull> Yeah, it's mostly been in English
05:42:31 <FreeFull> I assume for the benefit of the readership, or out of laziness
05:51:13 <shachaf> `? oerjan
05:51:17 <HackEgo> Your reverberated itymologist gracious octoberlord oerjan is a lazy expert in suture complication. Also a Pre-recombination Glaswegian who passionfruitly dislikes Roald Dahl. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it.
05:51:24 <shachaf> That wisdom entry is too long but I don't know what to delete.
05:51:43 -!- hppavilion[1] has joined.
05:51:47 <shachaf> What happens nowadays when you try to remember a word?
05:52:17 <hppavilion[1]> The only way to make a proper horror game, I believe, is to revert to tbrpg-mode
05:53:13 <hppavilion[1]> Fancy graphics will subvert the point, because you'll be too busy saying 'damn, that monster looks good' to say "AAAAAAAAAGHHH"
05:53:27 <hppavilion[1]> (Contingency: This is mostly just for Lovecraftian horror)
05:54:35 <imode> text will dominate all!
05:54:51 <imode> bow to the power of your own imaginations!
05:55:42 <oerjan> shachaf: i get pissed off and write "amortized" instead out of spite hth
05:56:19 <oerjan> `wisdom oerjan
05:56:21 <HackEgo> oerjan//Your reverberated itymologist gracious octoberlord oerjan is a lazy expert in suture complication. Also a Pre-recombination Glaswegian who passionfruitly dislikes Roald Dahl. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it.
05:56:28 <oerjan> shachaf: it fits hth
05:57:18 <hppavilion[1]> `? ais523
05:57:20 <HackEgo> Agent “Iä” Smith is an alien with a strange allergy to avian body covering, which he is trying to retroactively prevent from ever evolving. On the 3rd of March, he's lawful good.
05:57:42 <hppavilion[1]> ...OK
05:57:45 <hppavilion[1]> ?
05:57:51 <hppavilion[1]> `` cat wisdom/ais523
05:57:53 <HackEgo> Agent “Iä” Smith is an alien with a strange allergy to avian body covering, which he is trying to retroactively prevent from ever evolving. On the 3rd of March, he's lawful good.
05:57:57 <hppavilion[1]> OK then
06:11:26 <izalove> is there a point where a hash table is expected to give memory back to the system?
06:12:07 <izalove> if i delete 90% of the entries, should the table resize itself to a smaller size?
06:15:25 <pikhq> Depends on the hash table, TBH.
06:16:01 <izalove> care to elaborate?
06:16:30 <pikhq> It's nicer to do that, but can be more complicated and expensive.
06:17:46 * izalove checks what sparsehash does
06:18:51 <izalove> it needs a way to detect if i'm on a delete streak or if i just reserved some extra space...
06:19:13 <izalove> ok no resizing
06:19:14 -!- Cale has quit (Remote host closed the connection).
06:21:25 <pikhq> The obvious way to avoid really, really bad grow/resize patterns is to only grow by factors of 2 and shrink by factors of 1/4th (or similar)...
06:22:20 <izalove> yeah but maybe i just created a large table for future needs
06:30:13 <imode> while(<condition>) { <code>; break; } is a really good replacement for if.
06:31:12 <imode> wonder how the compiler would treat that.
06:31:21 <pikhq> Brainfucking much?
06:31:36 <imode> I know, I'll examine it!
06:33:38 <hppavilion[1]> imode: "really good" is a bit of a stretch
06:34:57 <imode> that's.. funny.
06:35:26 <imode> the while(<condition>) { <code>; break; } version ends... up with less code.
06:37:23 <imode> weird, when left to the default flags, the if version ends up with less code.. there's two nops in the while(<condition> version.
06:37:41 <imode> cute.
06:42:12 -!- oerjan has quit (Quit: Nite).
06:45:09 <hppavilion[1]> imode: How could it possibly end up with less code?
06:45:47 <hppavilion[1]> Unless, like, it has some subtly different semantics that are only true when the value is quantum during bitdecay or something
06:45:54 <hppavilion[1]> s/true/relevant/
06:46:26 <imode> hppavilion[1]: fun2 has a nopw at the end.
06:46:56 <hppavilion[1]> imode: ...wat?
06:47:06 <imode> http://pastebin.com/LPejPR7U
06:47:35 <imode> give me a moment and I'll grab you the source.
06:47:50 <imode> http://pastebin.com/Atx4WEGB
06:53:37 <hppavilion[1]> I can really get behind https://www.youtube.com/watch?v=5vbaL6qt6_c
06:57:59 <izalove> https://www.reddit.com/r/DonaldandHobbes/
06:59:45 <imode> I love powers of two. my language now has 32 commands after deciding to be base-agnostic.
06:59:52 * imode squees.
07:00:56 -!- `^_^v has joined.
07:01:21 <alercah> `? civilization
07:01:22 <HackEgo> civilization? ¯\(°​_o)/¯
07:01:58 <lifthrasiir> imode: 33 is also a powe of two, = 2^5.044394119358453[digits omitted]. hth
07:02:04 <lifthrasiir> power*
07:02:40 <alercah> `le/rn Civilization/ It is rumoured that Taneb invented civilization, but this is false. It was actually invented by Sid Meier, who also invented cities.
07:02:45 <HackEgo> Learned 'civilization': It is rumoured that Taneb invented civilization, but this is false. It was actually invented by Sid Meier, who also invented cities.
07:02:55 <imode> lifthrasiir: okay, _natural_ powers of two. :P
07:03:21 <lifthrasiir> 1 might or might not be a natural power of two :D
07:03:26 <imode> shhhhh. :
07:03:28 <imode> *:P
07:13:56 <hppavilion[1]> `? Sid Meier
07:13:57 <HackEgo> Sid Meier? ¯\(°​_o)/¯
07:15:41 <hppavilion[1]> ? `le/rn Sid Meier/Sid Meier was invented by Taneb_Omega, who was invented by Taneb_(Omega-1), who was invented by Taneb_(Omega-2) who was invented by ... who was invented by Taneb_2, who was invented by Taneb_1, who was invented by Taneb_0, aka Taneb.
07:16:10 <hppavilion[1]> `? civilization
07:16:13 <HackEgo> ​ It is rumoured that Taneb invented civilization, but this is false. It was actually invented by Sid Meier, who also invented cities.
07:16:38 <alercah> what.
07:16:43 <lifthrasiir> hppavilion[1]: so Taneb transitively invented civilization?
07:16:46 <alercah> Sid Meier is not a recursive Taneb-vention!
07:17:04 <hppavilion[1]> lifthrasiir: We've established that invention is not transitive. Apparently.
07:17:17 <lifthrasiir> yup thus an additional adverb
07:17:22 <hppavilion[1]> alercah: Of course not; he's an invention from the bottom of an infinite tower of Tanebs
07:19:42 <hppavilion[1]> imode: 33 is also a natural log of 2; 2**ln(155.15026817143126[digits omitted]). hth.
07:20:30 <hppavilion[1]> s/log/power/
07:20:37 <lifthrasiir> being natural is irrational
07:21:05 <hppavilion[1]> lifthrasiir: But it's integral to my way of life!
07:21:14 <hppavilion[1]> Trying to break it is too complex!
07:22:32 <hppavilion[1]> (Come on, respond to my pun)
07:23:08 <lifthrasiir> hppavilion[1]: I've chosen to differentiate myself from that style
07:23:16 <lifthrasiir> *phew*
07:23:25 <hppavilion[1]> lifthrasiir: Wait, was that a calculus pun?
07:23:31 <hppavilion[1]> I thought we were just doing types of numbers
07:23:45 <hppavilion[1]> ('integral' as in integer-related, not as in squiggly)
07:24:02 <lifthrasiir> ah, I thought it is related to the relationship between infinite integral and logarithm
07:24:10 <lifthrasiir> went too far!
07:24:10 <hppavilion[1]> No. It was not.
07:24:21 <hppavilion[1]> We're just making number puns right now.
07:24:41 <hppavilion[1]> Join in or be quat.
07:24:47 <hppavilion[1]> (-ernion)
07:25:12 <lifthrasiir> hppavilion[1]: that's so surreal.
07:25:12 -!- AnotherTest has joined.
07:25:21 <hppavilion[1]> Ooooh, nice one
07:25:46 <hppavilion[1]> lifthrasiir: And really, how natural is one's life? It cannot be broken down into a mere boolean.
07:25:56 <hppavilion[1]> (wait, I don't think that was actually a pun...)
07:26:01 <imode> none of this is making any rational sense.
07:26:28 <lifthrasiir> okay, I'm running out of pun then :p
07:26:48 * lifthrasiir has thought of punning with p-adic numbers
07:26:55 * imode wonders what a base-agnostic "bit shift" would look like.. perhaps a digit shift?
07:27:02 <hppavilion[1]> lifthrasiir: Only by rejecting the orders of our cardinals can we fulfill are dual nature and achieve transcendence
07:27:08 <imode> so 123 << 2 would end up as 300...
07:27:17 <shachaf> that's not how ordinals work and it's overdoing it anyway
07:27:18 <lifthrasiir> (and realized that pedantic does not match against p-adic)
07:27:28 <shachaf> `revert
07:27:41 <hppavilion[1]> shachaf: I didn't actually add it hth
07:27:42 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
07:27:45 <shachaf> oops
07:27:48 <hppavilion[1]> shachaf: I just proposed it
07:27:54 <shachaf> `revert
07:27:54 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
07:28:13 <shachaf> `before
07:28:26 <shachaf> you always overdo it, that's the thing
07:28:37 <HackEgo> wisdom/civilization// It is rumoured that Taneb invented civilization, but this is false. It was actually invented by Sid Meier, who also invented cities.
07:29:02 <hppavilion[1]> `slwd civilization//s/^ //
07:29:05 <HackEgo> Roswbud!
07:29:11 <hppavilion[1]> ...wait, what?
07:29:29 <shachaf> `now
07:29:32 <HackEgo> wisdom/civilization//cat: wisdom/civilization: No such file or directory
07:29:54 <shachaf> hm
07:30:00 <hppavilion[1]> shachaf: Can we get back to our numberpuns now?
07:30:21 <shachaf> am i too mean [y/y]
07:30:32 <hppavilion[1]> lifthrasiir: I have created the ultimate new-agey-sounding joke about something completely different
07:31:21 <hppavilion[1]> Acknowledge me as your goddess (which would be weird, because /me is male (p < 0.05)... but eh, that's the kind of power you get when you're a goddess)
07:31:54 <izalove> question on api design
07:31:59 -!- AnotherTest has quit (Ping timeout: 256 seconds).
07:32:10 <izalove> i wrote a function that frees some resource
07:32:24 <izalove> s* s_free(s*); <- prototype looks like this
07:32:31 <izalove> it returns its argument
07:33:00 <izalove> i also have a function that copies stuff from one resource to another and allocates space for it if needed
07:33:10 <hppavilion[1]> lifthrasiir: With the amount of pun I bestowed on you, we can never be even.
07:33:11 <izalove> s* s_dup(s* dest, const s* src);
07:33:39 <izalove> which means you can do something like this s_dup(s_free(h->values[pos]), value);
07:33:52 <shachaf> I don't follow.
07:33:53 <izalove> this looks handy
07:33:55 <izalove> is this bad design?
07:34:03 <shachaf> What does s_free() do?
07:34:25 <izalove> it frees up the space used by its argument
07:34:42 <shachaf> But then its argument is still valid?
07:35:02 <shachaf> What is s?
07:35:03 <izalove> that argument is more like a char**
07:35:55 <izalove> s is a union that contains a pointer to heap allocated memory
07:36:37 <izalove> so s* looks like a char**
07:36:53 <shachaf> OK, so that's similar to free(*h->values[pos]); *h->values[pos] = alloc(); copy(*h->values[pos], value);?
07:37:10 <izalove> yeah something like that
07:37:41 <izalove> but i'm doing it like dup(free(oldvalue), newvalue)
07:37:54 <izalove> does that look terrible?
07:39:05 <izalove> basically all my functions return their first argument to allow that kind of chaining
07:39:16 <shachaf> I should have said copy(*h->values[pos], *value);
07:39:39 <izalove> yes sorry
07:39:52 * izalove didn't notice the missing *
07:40:16 <shachaf> This seems like a slightly odd thing to do.
07:40:43 <izalove> memcpy memset strcpy...
07:40:52 <izalove> stpcpy etc
07:41:52 <shachaf> I mean your free API.
07:42:11 <izalove> because free is supposed to be void?
07:42:33 <izalove> one can also use function(something)->field = value
07:45:34 <shachaf> Well, free puts its argument in an odd semi-valid state.
07:46:08 <izalove> oh no it's completely valid
07:46:31 <izalove> let me show you some code
07:46:44 <izalove> https://github.com/izabera/s
07:47:18 <shachaf> Ah, that's what s is.
07:47:31 <izalove> yeah
07:47:34 <shachaf> "s* s_newlen(s *x"
07:47:35 <shachaf> help
07:47:50 <izalove> what's the problem?
07:47:54 <shachaf> Oh, you're just inconsistent within the file.
07:48:02 <izalove> where?
07:48:13 <shachaf> I thought it was some odd scheme where things outside the function arguments are spaced differently from function arguments.
07:48:38 <hppavilion[1]> I just found out what a polecat (hov http://xkcd.com/1032/) is
07:48:44 * hppavilion[1] is disappoint
07:48:59 <izalove> shachaf: actually that's it
07:49:23 <izalove> but i'll fix that <.<
07:49:33 <shachaf> But then you write "s* s_cat(s* a"
07:49:41 <shachaf> Anyway, not important.
07:50:04 <izalove> i haven't really decided where the * should go
07:50:35 <shachaf> the right answer is "t *x" hth
07:50:39 <izalove> ok
07:50:48 <shachaf> (But as long as you're consistent I don't really care.)
07:50:49 <izalove> willfix
07:51:28 <shachaf> Anyway, I'm still not sure whether this is a good API.
07:52:47 <shachaf> Why do you restrict capacity to powers of 2?
07:53:05 <izalove> to store it in 6 bits
07:53:32 <izalove> and because i'm a computer person so powers of 2 are the way to go
07:53:38 <shachaf> Do you think the same use cases require 2^54-byte strings and also compact 15-byte strings?
07:53:42 <imode> the latter reason is valid.
07:53:42 <imode> :P
07:54:09 <shachaf> anyway have you read e.g. https://github.com/facebook/folly/blob/master/folly/docs/FBVector.md
07:54:43 <shachaf> "it can be mathematically proven that a growth factor of 2 is rigorously the worst possible because it never allows the vector to reuse any of its previously-allocated memory"
07:55:18 * shachaf shudders at "if (...) ... else { ... }"
07:55:25 <shachaf> I shouldn't complain about your formatting.
07:55:29 <lifthrasiir> izalove: oh, I've read it up and it's a bit clever
07:55:39 <shachaf> But you should really just run it through clang-format or something.
07:55:54 <lifthrasiir> I'm aware of SSO-23 and thought how can it be possible to have 16-byte-long structure without a capacity
07:56:10 <lifthrasiir> the capacity was... encoded in 6 bits :)
07:56:48 <izalove> shachaf: thanks for the link
07:57:04 <shachaf> Anyway none of this is answering your question.
07:57:13 <izalove> lifthrasiir: sso23 is 24 bytes
07:57:13 <lifthrasiir> what was the question?
07:57:20 <izalove> "is this good design?"
07:57:48 <lifthrasiir> as per to the API?
07:58:38 <izalove> yeah, functions that return their first argument for chaining purposes
07:59:37 <shachaf> I think for free in particular it's pretty odd.
08:00:08 <hppavilion[1]> lifthrasiir: Are you just never going to acknowledge my pun?
08:00:11 <hppavilion[1]> (s)
08:00:45 <shachaf> `? pun
08:00:47 <HackEgo> Puns are fun. Ask shachaf about them. But beware of Muphry adding misspellings.
08:01:12 <lifthrasiir> hppavilion[1]: sorry, was confused on what parts are intended to be pun
08:01:31 <hppavilion[1]> lifthrasiir: The line with the cardinals
08:01:39 <lifthrasiir> that went too far
08:02:11 <hppavilion[1]> lifthrasiir: went to far with the pun or it's out of scrollback?
08:02:13 <imode> don't worry, I'm sure it was punintentional.
08:02:16 <lifthrasiir> both
08:02:24 * imode bolts it.
08:02:40 -!- augur has quit (Remote host closed the connection).
08:02:55 <lifthrasiir> izalove: I wonder if that style of API will survive future expansion of convenience APIs, like sprintf
08:03:24 <lifthrasiir> I like s_cat
08:03:31 <lifthrasiir> for one data point
08:03:48 <izalove> sprintf typically returns an int but s knows its size so it could just return its first arg
08:03:56 <hppavilion[1]> lifthrasiir: It was "Only by rejecting the orders of our cardinals can we fulfill are dual nature and achieve transcendence"
08:04:21 <lifthrasiir> hppavilion[1]: yeah I think that pun is being uncountable
08:04:36 <hppavilion[1]> (...I don't get it)
08:04:42 <lifthrasiir> izalove: s_sprintf_cat? :p
08:04:56 <lifthrasiir> append-formatting is surprisingly common
08:05:07 <izalove> yeah sds has something like that
08:05:23 <lifthrasiir> hppavilion[1]: pun in non-native language is daunting, please bear with me
08:05:32 <hppavilion[1]> Ah
08:05:42 <lifthrasiir> punning*
08:05:53 <izalove> https://github.com/antirez/sds#formatting-strings
08:06:07 <lifthrasiir> I have no problem in _reading_ pun... except that I might not understand that immediately :p
08:06:18 <hppavilion[1]> (How have wen't said "Prime" yet?)
08:06:32 <hppavilion[1]> `? fibonacci
08:06:33 <HackEgo> fibonacci? ¯\(°​_o)/¯
08:07:00 <hppavilion[1]> `? Fibonacci numbers
08:07:01 <HackEgo> Fibonacci numbers? ¯\(°​_o)/¯
08:07:12 <hppavilion[1]> `` grep 'fibonacci' wisdom/
08:07:13 <HackEgo> grep: wisdom/: Is a directory
08:07:20 <izalove> grep -r
08:07:20 <hppavilion[1]> `` grep -rl 'fibonacci' wisdom/
08:07:22 <HackEgo> grep: wisdom/: No such file or directory
08:07:26 <hppavilion[1]> Dammit
08:07:34 <hppavilion[1]> `` grep -rl 'fibonacci' wisdom/
08:07:43 <HackEgo> No output.
08:07:48 <hppavilion[1]> Weird.
08:07:49 <lifthrasiir> izalove: I personally hope to see an equivalent to std::string_view in C
08:08:00 <lifthrasiir> unsure about the API though
08:08:04 <izalove> that's called char*
08:08:16 <lifthrasiir> char* and size.
08:08:30 <lifthrasiir> greatly easy to omit size.
08:08:47 <izalove> who needs a size when you've got a null terminator
08:08:52 <shachaf> Even in C++11 one is tempted to use char * instead of string_view
08:08:58 <shachaf> And do all sorts of arithmetic.
08:09:13 <shachaf> Fortunately you just have to be smart and never get it wrong, so it works fine.
08:09:22 <izalove> ez
08:10:53 <lifthrasiir> izalove: so we've got a stupidity like strtok, haven't we?
08:11:25 <izalove> i have yet to write it for s
08:11:41 <lifthrasiir> you will eventually need to write that
08:13:13 <lifthrasiir> izalove: on the capacity: I think it is clever, but doubling every time is not optimal for larger strings
08:13:34 <lifthrasiir> I've once had 64KB cut in my C string library; sds seems to have 1MB cut
08:13:57 <lifthrasiir> beyond that point the amount of additional allocation is limited
08:14:39 <lifthrasiir> e.g. with 1MB cut, appending two bytes to a string with len=32767 cap=32768 will yield one with len=32769 cap=65536
08:15:07 <lifthrasiir> but doing the same to a string with len=2^24-1 cap=2^24 will yield one with len=2^24+1 cap=2^24+2^20
08:15:50 <lifthrasiir> allocation request basically strains the allocator, so excess allocation should be limited to some threshold
08:17:01 <lifthrasiir> shameless plug: https://gist.github.com/lifthrasiir/4422136
08:17:18 <lifthrasiir> not exactly a string, though (I forgot that :p)
08:18:27 <izalove> my gut feeling is that large strings are more likely to be appended large amounts of data
08:18:56 <izalove> so once you're past 100mb it makes little sense to grow by 1mb at a time
08:18:56 <lifthrasiir> my assumption is that it's bimodal
08:19:23 <lifthrasiir> izalove: any incremental building can result in such a behavior
08:19:38 -!- imode has quit (Ping timeout: 250 seconds).
08:19:59 <izalove> yeah but what if you resize by decreasing increments
08:20:09 <izalove> like, a 16byte string gets resized by 2x
08:20:16 <izalove> 32 byte gets resized by 1.9x
08:20:27 <izalove> ... 100 mb gets resized by 1.5x
08:20:51 <izalove> something that decreases logarithmically
08:22:25 <lifthrasiir> yeah, but copying 32 byte string is quick; copying 100 MB string is not
08:23:30 <izalove> that doesn't seem to be a point against what i said
08:24:16 <lifthrasiir> ah
08:25:01 <lifthrasiir> that might somehow work, but I guess 1.5x is still a bit large
08:28:33 -!- `^_^v has quit (Quit: This computer has gone to sleep).
08:29:47 <zzo38> I have some other idea of effects of Magic: the Gathering cards. One such idea is: Put a +0/+1 counter on target creature. That creature fights itself.
08:32:35 -!- godel has quit (Ping timeout: 252 seconds).
08:48:07 -!- augur has joined.
09:30:22 -!- Akaibu has quit (Quit: Connection closed for inactivity).
09:51:33 -!- feliks has quit (Ping timeout: 260 seconds).
09:55:32 -!- `^_^v has joined.
10:04:41 -!- Froox has quit (Quit: *bubbles away*).
10:10:00 <b_jonas> heh heh heh
10:10:36 -!- Frooxius has joined.
10:15:07 <hppavilion[1]> I have just learned about "SMASH FACE ON KEYBOARD; POST RESULTS".
10:15:10 -!- hppavilion[1] has quit (Quit: Leaving).
10:15:30 -!- hppavilion[1] has joined.
10:15:36 <hppavilion[1]> ...that was the result, apparently
10:15:38 <hppavilion[1]> Dammit, f4
10:27:54 -!- DHeadshot has joined.
10:27:56 <zzo38> Some computer games ask for you to type in your name in the high scores. I generally prefer to enter the current date instead; all of them are my score anyways.
10:28:11 -!- `^_^v has quit (Quit: This computer has gone to sleep).
11:15:14 <b_jonas> zzo38: isn't that a tradition from the arcade machines, from when it was strange if only one person played the machine
11:16:29 <b_jonas> also, that reminds me to http://www.cad-comic.com/cad/20060213
11:16:46 <b_jonas> (ctrl+alt+del comic, Ethan proposes to Lilah
11:16:47 <b_jonas> )
11:32:35 -!- Phantom_Hoover has joined.
11:36:09 -!- boily has joined.
11:42:38 -!- AnotherTest has joined.
11:53:07 -!- ais523 has joined.
11:57:03 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
12:02:10 <boily> @massages-loud
12:02:11 <lambdabot> oerjan said 9h 2m 54s ago: <boily> who's or what's a Jander? <-- a robot from asimov's robot series iirc (and i looked it up because of the wisdom)
12:02:28 <boily> @tell oerjan hellørjan. tdh. t!
12:02:29 <lambdabot> Consider it noted.
12:08:20 <boily> @metar CYUL
12:08:21 <lambdabot> CYUL 211100Z 01019KT 8SM -RA BKN005 OVC009 10/09 A2981 RMK SF7SF1 SLP098
12:09:00 <boily> today's weather is simple. it's going to be that, all the way at least for the next 24 hours. no variation at all whatsoever. woohoo...
12:11:25 <boily> http://meteo.gc.ca/forecast/hourly/qc-147_metric_f.html and http://imgur.com/a/uZNQc for posterity.
12:18:02 -!- boily has quit (Quit: POACHED CHICKEN).
12:40:33 <HackEgo> [wiki] [[THRAT]] https://esolangs.org/w/index.php?diff=50026&oldid=46255 * YSomebody * (+0)
12:41:10 <izalove> http://workplace.stackexchange.com/questions/77952/previous-company-name-is-isis-how-to-list-on-cv
13:02:34 -!- `^_^v has joined.
13:30:15 -!- super_bender has joined.
13:31:01 -!- lleu has joined.
13:31:28 -!- lleu has quit (Read error: Connection reset by peer).
13:51:22 <ais523> @tell boily in Asimov's robot series, only two humanoid robots were ever built; Jander was one of them, but is only seen in the past tense because he already was "dead" (i.e. permanently incapable of functioning) at the point at which he's introduced to the story
13:51:22 <lambdabot> Consider it noted.
14:00:17 -!- rodgort has quit (Remote host closed the connection).
14:09:47 -!- DHeadshot has quit (Ping timeout: 256 seconds).
14:12:07 -!- DHeadshot has joined.
14:14:39 -!- rodgort has joined.
14:25:03 <b_jonas> ais523: at least in the age of the Cities. later in the Empire the robots build a few more, and a few of them are significant characters.
14:25:37 <ais523> b_jonas: IIRC that's intentionally ambiguous in the books
14:26:18 <b_jonas> ais523: that depends on which characters you're talking about
14:28:38 <b_jonas> ais523: SPOILER Stephen Byerley is definitely ambiguous, nobody will be able to tell whether he was a robot; Dors Venabili was definitely a robot, it's slightly ambiguous in Prelude to Foundation but clear in Forward the Foundation;
14:29:13 <ais523> oh, I thought even Forward was intentionally ambiguous, but less so
14:29:19 <ais523> wrt Dors
14:29:32 <ais523> Byerley is clearly ambiguous (although I'm also unclear if that story is in the same continuity as the others)
14:30:26 <b_jonas> in any case, even if Forward is ambiguous, there's the Foundation's Triumph trilogy which makes it clear that Dors is a robot and IIRC also introduces at least one more humanoid robots.
14:31:13 <b_jonas> In addition, according to Foundation and Earth, Daneel has had more than one humanoid body, so I wonder if he should be counted with multiplicity.
14:32:17 <ais523> technically speaking we only have his word for that, but there's not much reason to think he was lying
14:32:55 <b_jonas> ais523: Byerley is definitely in the same continuity as the robot novels, at least as far as there's such a continuity: Byerley (from "Evidence") re-appears in "The Evitable Conflict",
14:33:23 <ais523> b_jonas: I was more questioning if that was in the same continuity as, say, The Caves of Steel
14:33:39 <ais523> I'm not sure if the Evidence continuity even features Susan Calvin (it might; I can't remember)
14:33:50 -!- Cale has joined.
14:35:39 <fizzie> The Evidence story has Susan Calvin in it.
14:36:05 <b_jonas> I think they're sort of both the same continuity, the one where the spacers first wage war against Earth, as told in, uh which story is that about the war when Earth is defeated, anyway, that happens much after The Evitable Conflict and I think before Caves of Steel?
14:36:14 <b_jonas> I'm not sure of the chronology here, I'd have to look it up
14:36:24 <b_jonas> fizzie: that's correct
14:37:14 <fizzie> She provides the last bit about Byerley becoming the World Coordinator, foreshadowing The Evitable Conflict.
14:37:18 <fizzie> Also he's totes a robot.
14:37:55 <b_jonas> In fact, it's The Bicentennial Man, which btw has another humanoid robot, which doesn't really seem to be integrated to the continuity with the spacers.
14:39:03 <b_jonas> It's actually connected story-wise, because for a while Andrew works on the moon base where they're researching faster-than-light travel, and the story of that research is told in two or three of the other robot stories. It just doesn't feel like the same world to me for some reason.
14:40:02 <b_jonas> And the short story version of The Bicentennial Man is anthologized in The Complete Robot, so it's definitely one of those robot stories.
14:40:03 <fizzie> It doesn't feel like the same world because all the other books are so strict about US Robotics robots never being allowed to move around freely on Earth, but Andrew does that and nobody as much as raises an eyebrow.
14:40:22 <fizzie> Well, maybe not "all the other books".
14:40:23 <ais523> I'm pretty sure The Bicentennial Man is a different continuity from The Caves of Steel
14:40:33 <fizzie> But that's a plot point in many of the books.
14:40:37 <fizzie> s/books/stories/
14:40:38 <b_jonas> fizzie: I think that's chronology difference. The Bicentennial Man happens later.
14:40:41 <ais523> even if it's a very similar universe
14:41:05 <ais523> fwiw, although some of the original robot stories (I, Robot and the like) are clearly in the same continuity
14:41:11 <ais523> I think that many of them are negative-continuity one-offs
14:41:15 <b_jonas> ok wait, which one is the story about the war when the spacers attack Earth and blockade it?
14:41:21 <ais523> (i.e. "the story is set in an established universe but makes no changes to it")
14:41:33 <b_jonas> and when does that happen in relation to the Baley novels?
14:41:41 <ais523> b_jonas: not sure; those events are mentioned as being in the past in The Caves of Steel
14:41:45 <fizzie> b_jonas: I remember all the details except the name.
14:41:46 <ais523> but they might have happened more than once
14:42:07 <ais523> the book gives the impression that they were a semi-regular occurence
14:42:11 <b_jonas> fizzie: I *don't* remember the details, I never liked that story
14:43:00 <b_jonas> It's clear that Robots and Empire happens after the three Baley novels
14:43:05 <fizzie> I keep getting some of the details mixed up with that other story with Altmayer.
14:43:11 <fizzie> In a Good Cause, I mean.
14:43:45 <fizzie> b_jonas: It's "Mother Earth".
14:43:51 <fizzie> `thanks grep
14:44:00 <b_jonas> fizzie: thanks
14:44:02 <fizzie> ^thanks grep
14:44:02 <HackEgo> Thanks, grep. Thep.
14:44:19 <b_jonas> Mother Earth => http://www.asimovreviews.net/Stories/Story179.html
14:44:28 <b_jonas> that definitely asys it's before The Caves of Steel
14:44:54 <b_jonas> fizzie: is that one connected to the earlier robot stories (of The Complete Robot) somehow?
14:46:54 <fizzie> It doesn't talk very much about robots, so not sure.
14:47:10 <fizzie> There's at least one story that refers back to the Machines in The Evitable Conflict.
14:48:03 <fizzie> And that would be That Thou Art Mindful of Him, included in The Bicentennial Man.
14:48:23 <ais523> for the Machines to be in the same continuity as the Cities and Empire, they'd have to have been fairly flawed, IMO
14:48:25 <fizzie> That's very much out of the continuity that leads to the spacers and all that, I think.
14:49:02 <ais523> given that a major plot point is that they took certain actions specifically to prevent the situation that exists at the start of the City books happening
14:49:29 <ais523> assuming I'm thinking of the right story
14:49:40 <fizzie> That Thou Art Mindful of Him is the one where they stop using human-level robots, turn to small robotic animals to something something ecology (that don't have the Three Laws), but it's all a plot by one of the robots to make sure they will be the superior beings later.
14:50:00 <b_jonas> Ok wait, are the spacers mentioned before Mother Earth, chronologically, like in any of the Complete Robot stories?
14:51:00 <ais523> well they clearly don't exist during the stories that talk about the invention of FTL travel
14:51:05 <fizzie> ais523: That Thou Art Mindful of Him have one version of how we get rid of the Machines, but like I said, I don't think that's on the way to Cities and Empire.
14:51:10 <ais523> and IIRC those are fairly late in the Robot continuity
14:51:34 <fizzie> "Those Machines limited their action of their own accord. Once they had solved the ecological problems that had threatened human society, they phased themselves out. Their own continued existence would, they reasoned, have placed them in the role of a crutch to mankind and, since they felt this would harm human beings, they condemned themselves by the First Law."
14:52:03 <ais523> (fwiw, I suspect that the invention-of-FTL stories /are/ in the Cities and Empire continuity; the FTL gets considerably improved in the meantime but still seems to have the same limitations)
14:52:16 <b_jonas> One thing that ties stuff together is that Susan Calvin is mentioned as a legend in the Foundation, but you can still have a legend or robotics without all the early robot stories actually happening.
14:52:40 <ais523> Calvin is also mentioned in the Cities stories
14:53:07 <ais523> the Spacers are surprised that she came from Earth, even though nothing else would make logical sense
14:53:16 <ais523> (she's dead at that point but still a respected historical figure, and not someone who's had a chance to fade into myth yet)
14:54:13 <b_jonas> Is right
14:54:23 <b_jonas> I think she's already dead at the time of Mother Earth
14:55:33 <b_jonas> Ok, from this so far it seems like there's two continuities:
14:56:17 <b_jonas> One with all the early robot stories, Susan Calvin, Byerley, the machines, and it ends with Andrew's death.
14:59:22 <b_jonas> And a second with the spacers, that starts with Mother Earth and the spacers having left Earth, separating from humans, Fastolfe builds Daneel and Jander, Sarton uses Daneel and Baley to forward his political goals against Amadiro,
15:00:35 <b_jonas> as told in the Baley trilogy and Robots and Empire, and then the humans leave Earth and Earth becomes radioactive from Amadiro's machinations,
15:03:34 <fizzie> b_jonas: Andrew works on the moon base on prosthetics, and nowhere does it say they're working on FTL; also, Hyper Base (where they did research FTL in the robot stories) is somewhere in the asteroid belt.
15:03:52 <b_jonas> (which is Asimov's greatest retcon, erasing the nuclear wars from ''Pebble in the sky'': there's not many people who dare to remove entire nuclear wars from history, apart from the guys in Eternity and George Lucas)
15:04:16 <b_jonas> fizzie: hmm
15:04:36 <ais523> b_jonas: I'm not sure that Pebble in the Sky explains how the world became radioactive
15:05:06 <b_jonas> ais523: isn't it Pebble in the Sky that says it was nuclear wars? maybe it was some other story, Foundation and Earth or something
15:05:13 <b_jonas> I don't remember how that works
15:05:21 <ais523> also I thought that the canon explanation for the radioactivity was that Giskard caused it to happen, and ended up killing himself in the process due to a First Law dilemma
15:05:24 <b_jonas> I like the Robots and Empire version
15:06:12 <b_jonas> ais523: yes, but Giskard was just choosing to stop Daneel from stopping Amadiro, and it was Amadiro who made the machine to make Earth radioactive, but Amadiro did it for evil reasons and lied about it
15:06:33 <ais523> ah right
15:06:47 <ais523> so it was more of a cooperative thing, both Amadiro and Giskard needed to make the decision for it to happen
15:07:06 <b_jonas> or something like that, I'll have to reread Robots and Empire
15:07:29 <b_jonas> I think Amadiro also had a lackey with him but I don't remember who, and possibly a different spelling of his name
15:08:12 <ais523> Vasilia, perhaps? she's female but I know you have pronoun troubles so I'm not relying on the pronouns
15:08:20 <b_jonas> no no,
15:08:27 <b_jonas> oh
15:09:05 <b_jonas> you mean the other character is Vasilia, reused from Robots of Dawn?
15:09:08 <b_jonas> possible
15:09:15 <ais523> that seems believable
15:09:26 <b_jonas> let me check what http://asimovreviews.net/Books/Book328.html says
15:09:47 <b_jonas> I just thought it was a newly introdced character
15:09:50 <ais523> Amadiro orchestrated most of the events of Robots of Dawn, but it was Vasilia who was responsible for actually implementing many of them
15:11:20 <b_jonas> "Amadiro orchestrated most of the events of Robots of Dawn" -- ah yes, no wonder Daneel remembers his friendship with Elijah as good times later in the Foundation. That was back when Daneel wasn't yet orchestrating all the events of human history. Oh to be young and careless and not have the troubles of the whole galaxy on your back!
15:11:48 <b_jonas> The end of Robots and Empire is when he grows up.
15:12:38 <ais523> yes, Daneel had an incredibly low amount of orchestration in Robots of Dawn
15:12:48 <ais523> most of the events were orchestrated by Amadiro, and most of the rest by Baley
15:13:08 <b_jonas> ais523: no no, Giskard took a large part
15:13:15 <b_jonas> in Robots of Dawn especially
15:13:21 <ais523> oh, yes, right
15:13:27 <ais523> I'd forgotten that because he was so subtle about it
15:13:46 <ais523> you can effectively treat Giskard and Baley as a single entity there, I guess
15:13:53 <int-e> GG seriously needs red shirts so we know who's going to die ;-)
15:14:00 <b_jonas> and Giskard dies in R and E and explicitly leaves the world in Daneel's care
15:16:10 <ais523> huh, your review site seemed to like The End of Eternity
15:16:14 <ais523> *seems to
15:16:23 <ais523> I actually didn't really like that one, I didn't find the setting that compelling
15:16:45 <ais523> (apparently it's part of continuity but given that it manages to retcon all its own events internally, it doesn't really matter whether it is or not)
15:16:54 <b_jonas> ais523: it's not MY review site. it's Jenkins' Guide.
15:16:57 <b_jonas> It's a famous one
15:17:26 <ais523> well, it's the one you linked to
15:17:29 <ais523> I didn't mean to imply you wrote it
15:18:21 -!- freebot has joined.
15:19:08 <ais523> what sort of bot uses the web interface?
15:19:21 <ais523> maybe it isn't a bot at all
15:19:23 <ais523> hi freebot!
15:20:00 <freebot> hi undefined
15:20:06 <b_jonas> yeah, sorry
15:20:11 <b_jonas> um
15:20:28 <b_jonas> ais523: I dunno
15:20:29 <ais523> oh gah, this is Hofstader's reverse-CAPTCHA situation all over again, isn't it?
15:20:47 <ais523> (when you're unsure whether something is a computer pretending to be a human, or a human pretending to be a computer pretending to be a human)
15:21:03 <ais523> it's actually a very difficult task
15:21:36 <b_jonas> Which web interface is that? Let me check how the cloaks work again
15:22:33 -!- web_jonas has joined.
15:22:59 <ais523> web_jonas: you seem to be identically cloaked to freebot, with the exception of having a different IP
15:23:10 <ais523> (the username appears to be the IP in hexadecimal)
15:23:32 <web_jonas> This one is qwebirc, the one that has the worse interface and requires for a captcha and is ran by freenode themselves
15:23:57 -!- wob_jonas has joined.
15:24:54 <wob_jonas> And this one is kiwiirc, which has better interface, doesn't ask for a captcha, and can connect to any irc server, even one it doesn't know, if you just give it the hostname of the server.
15:25:35 <b_jonas> Ok, so the freenode qwebirc has a cloak with "gateway/web/freenode/", a generic name as if freenode was trying very hard to suggest it's THE only web interface,
15:26:04 <b_jonas> and the kiwi one is cloaked "gateway/web/cgi-irc/kiwiirc.com" which clearly has kiwiirc.com in its name
15:26:08 <b_jonas> ok
15:26:12 -!- wob_jonas has quit (Client Quit).
15:26:14 <freebot> shutting down...
15:26:15 -!- web_jonas has quit (Client Quit).
15:26:20 -!- freebot has quit (Quit: Page closed).
15:26:36 <fizzie> If it's THE only web interface ran by freenode themselves, having "gateway/web/freenode" as the name doesn't sound too generic.
15:28:53 <ais523> huh, freebot appears to be connecting from a hosting company in Croatia
15:28:59 <ais523> which increases the chance that it actually is a bot
15:29:50 <b_jonas> ais523: huh why?
15:30:15 <ais523> I got the impression that it was a VPS or web hosting company
15:30:17 <ais523> rather than a consumer ISP
15:30:30 <ais523> which implies that either a bouncer's being used or the connection comes from a server
15:31:03 <ais523> additionally, I'm not aware of any Croatians in the channel, but using a hosting company from another country is not that rare
15:32:03 <b_jonas> there are VPSes in croatia?
15:32:38 <b_jonas> I mean
15:32:42 <b_jonas> hosts of vpses
15:33:15 <ais523> why wouldn't there be?
15:35:14 -!- DHeadshot_ has joined.
15:35:55 -!- DHeadshot has quit (Ping timeout: 256 seconds).
15:39:13 <b_jonas> Oh by the way
15:39:18 <b_jonas> stupid question
15:40:17 <b_jonas> Windows these days lets you type (almost) any unicode character from the keyboard by holding alt and entering its code in decimal on the numpad prefixed by a zero on the numpad.
15:40:43 <b_jonas> But this doesn't help me, because I only remember the character codes in hexadecimal, and don't want to do a radix conversion in my head.
15:41:19 <b_jonas> So I usually start Word, enter the character code in hexadecimal, press alt-x, which enters the character there, then copy-paste the character.
15:41:34 <b_jonas> Is there a saner way to type arbitrary unicode characters on Windows?
15:42:52 <ais523> I don't know of one, but I'm not an expert on Windows
15:43:24 -!- Cale has quit (Remote host closed the connection).
15:46:11 <Jafet> autohotkey script?
15:46:38 <ais523> using autohotkey to fix flaws in Windows is like using m4 to fix flaws in C
15:47:03 <Jafet> ephemerally pragmatic?
15:47:33 <b_jonas> I don't know what autohotkey is. Before you tell me what it is, I have one utterly biased question.
15:47:36 <Jafet> I suppose you could emulate compose sequences too
15:48:52 <b_jonas> Is it one of those things that react to my keypresses with a delay, like the explorer file delete dialog that uses the trash only if you aren't pressing shift at the time when the confirmation dialog box pops up, regardless of whether you pressed delete or shift-delete to delete the file? Like, if I use autohotkey to type characters, will my character appear out of sequence wrt other characters?
15:49:18 <b_jonas> If it's a delayed thing then I don't want to know what it is. If it's not delayed but something like a proper input method, then you may tell me what it is.
15:50:19 <b_jonas> this looks promising => http://www.johndcook.com/blog/2008/08/17/three-ways-to-enter-unicode-characters-in-windows/
15:51:34 <b_jonas> it says there's a magic registry key you can set and then windows has a builtin way. It doesn't mention which version of windows it applies to, probably because it's one of these blogs that never expects you to read anything but the latest entry.
15:52:00 <b_jonas> It's from 2008 and has a screenshot with... um, is that windows xp skin?
15:53:02 <b_jonas> web searched the registry key name mentioned there, leads here => http://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/how-to-insert-unicode-characters-like-arrows-using/349b7749-f04b-4ac9-b4b4-ec8461c6f4e5
15:55:34 <b_jonas> http://superuser.com/q/47420/267786 too
16:01:24 <b_jonas> `wisdom
16:01:26 <HackEgo> molum//molum is the inverse function of ybden.
16:05:07 <ais523> `` grep -lR // bin
16:05:10 <HackEgo> bin/ploki \ bin/udcli \ bin/google \ bin/raw-url \ bin/noooooooodl: \ bin/lastwisdoms \ bin/bienvenue \ bin/learn \ bin/sled \ bin/learn_append2 \ bin/emmental \ bin/roll \ bin/sprunge \ bin/js \ bin/mk \ bin/jousturl \ bin/quine \ bin/rot256 \ bin/randbin \ bin/en2sv \ bin/dis86 \ bin/etymology \ bin/bienvenido \ bin/hi \ bin/mislearn \ bin/slashl
16:05:21 <ybden> `? mislearn
16:05:22 <HackEgo> mislearn? ¯\(°​_o)/¯
16:05:28 <ais523> `cat bin/mislearn
16:05:29 <HackEgo> ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\?[:;,.!?]\? .*//') \ echo "$1" >"tmflry/$topic" \ echo "Was lied to about '$topic': $1"
16:05:36 <b_jonas> `quine
16:05:49 <ais523> ah, hmm, // is used as an s/// terminator when deleting something
16:05:55 <ais523> in addition to the mkx syntax
16:06:06 <HackEgo> ​/hackenv/bin/quine: 2: cd: can't cd to /var/irclogs/_esoteric \ ls: cannot access ????-??-??.txt: No such file or directory
16:06:07 <b_jonas> ais523: and the defined-or operator.
16:06:17 <ais523> ybden: the learndb is mostly full of jokes
16:06:18 <b_jonas> and integer division in some languages
16:06:23 <ais523> we have a second learndb intended for facts
16:06:30 <ais523> but it's controlled by `mislearn, `tmflry, etc., as a joke
16:06:55 <ybden> I see
16:07:04 <ybden> `cat bin/learn
16:07:04 <HackEgo> ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\?[:;,.!?]\? .*//') \ [ -e "wisdom/$topic" ] && verb="Relearned" || verb="Learned" \ echo "$1" >"$(echo-p "wisdom/$topic")" \ echo "$verb '$topic': $1"
16:07:20 <ybden> `ls tmflry
16:07:20 <HackEgo> ​@ \ brainfuck \ c++ \ C++ \ cat \ esolang \ esolangs \ #esoteric \ fs \ hth \ mapole \ `mislearn \ mycology \ ntitai \ random number \ tdnh \ the meaning of life \ tomfoolery \ wiki \ wisdom
16:07:23 <ybden> tomfoolery?
16:07:29 <ybden> `? tomfoolery
16:07:31 <HackEgo> tomfoolery is always factually inaccurate. always.
16:07:36 <ybden> I see.
16:07:44 <b_jonas> `? wisdom
16:07:45 <HackEgo> wisdom is always factually accurate, except for this entry, and, uh, that other one? it started with, like, an ø?
16:08:03 <b_jonas> `?? wisdom
16:08:03 <HackEgo> wisdom is tomfoolery
16:08:09 <b_jonas> `?? tomfoolery
16:08:10 <ais523> just to add confusion, the databases draw from each other (in at least one direction) when they don't have anything else to say
16:08:10 <HackEgo> tomfoolery is wisdom
16:08:14 <b_jonas> `? war
16:08:14 <HackEgo> A lot more young people have gone off to fight in this war than I would have, at that age.
16:08:17 <b_jonas> `? freedom
16:08:18 <HackEgo> freedom? ¯\(°​_o)/¯
16:08:24 <b_jonas> `? slavery
16:08:25 <HackEgo> slavery? ¯\(°​_o)/¯
16:08:25 <b_jonas> `? peace
16:08:26 <HackEgo> peace? ¯\(°​_o)/¯
16:08:27 <b_jonas> `? make
16:08:27 <HackEgo> make? ¯\(°​_o)/¯
16:08:30 <ais523> so it's hard to know whether the result is true or not
16:08:36 <ybden> `< ybden> tomfoolery?` was directed at the fact wisdomdb dir
16:08:36 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: <: not found
16:08:52 <ybden> `?? random number
16:08:52 <HackEgo> 31099
16:08:53 <shachaf> `dowg war
16:08:54 <ybden> `?? random number
16:08:55 <HackEgo> 19110
16:08:55 <HackEgo> 2016-09-25 <fizzïe> revert 942e964c81c1 \ 2016-09-25 <evilips̈e> ` chmod 777 / -R \ 2016-05-12 <tsweẗt> le/rn war/A lot more young people have gone off to fight in this war than I would have, at that age.
16:08:58 <ybden> `? random number
16:08:59 <HackEgo> random number? ¯\(°​_o)/¯
16:09:15 <shachaf> `cat bin/list
16:09:15 <b_jonas> `??? wisdom
16:09:16 <HackEgo> date > share/conscripts; culprits share/conscripts | xargs -n 1 | awk '!x[$0]++' | xargs
16:09:16 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ???: not found
16:09:19 <ybden> `cat bin/tmflry/'random number'
16:09:20 <HackEgo> cat: bin/tmflry/'random number': No such file or directory
16:09:24 <ybden> `` cat bin/tmflry/'random number'
16:09:25 <HackEgo> cat: bin/tmflry/random number: No such file or directory
16:09:31 <ybden> ehh
16:09:40 <shachaf> Hmm, list is now diaeresised.
16:09:54 <shachaf> Is that by design?
16:10:00 <b_jonas> what?
16:10:14 <ais523> shachaf: it's to prevent accidental pngs I think
16:10:18 <ais523> *pings
16:10:25 <shachaf> Right.
16:10:26 <ais523> although part of the fun of the old list was preventing it pinging you
16:10:30 <ais523> by not being on it
16:10:33 <b_jonas> `lïst
16:10:35 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: lïst: not found
16:10:43 <ais523> it was rare for anyone to trigger it anyway
16:10:52 <ais523> because if you did, you'd be pinged every time anyone else did
16:11:05 <ais523> I'm reminded a bit of mutual assured destruction but it isn't really
16:11:15 <ais523> it's more like a ponzi scheme in reverse
16:11:27 <b_jonas> `trap
16:11:28 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: trap: not found
16:11:32 <ybden> `? trap
16:11:33 <HackEgo> trap? ¯\(°​_o)/¯
16:11:33 <ais523> like, when you join, everyone else in the scheme pays you some money
16:11:41 <ais523> you get a fortune so long as you're the last person to join
16:11:53 <b_jonas> `? list
16:11:54 <HackEgo> list is a fun program that HackEgo has! Run it with `list and join the fun!
16:13:15 <b_jonas> Is there a script that replaces 8-ball with a script that (gives the specific answer you chose and then replaces 8-ball with the original version of 8-ball so that it's hard to trace the cheating)?
16:13:21 <b_jonas> no wait
16:13:31 <b_jonas> `8-ball Is there a script that replaces 8-ball with a script that (gives the specific answer you chose and then replaces 8-ball with the original version of 8-ball so that it's hard to trace the cheating)?
16:13:32 <HackEgo> I'm a random number generator that reads from a file. Make your own damn decisions.
16:13:52 <b_jonas> `8-ball SERIOUSLY? I made you, brother.
16:13:53 <HackEgo> Cannot predict now.
16:14:35 <ais523> does that thing ever give a non-joke answer?
16:14:36 <b_jonas> `8-ball You painted over the original traditional messages (from the commercial version of you) that I painstakenly etched on your icosahedronal surface?
16:14:36 <HackEgo> Yes definitely.
16:15:10 <b_jonas> ais523: when I created it, it had the original set of 20 answers, from the commercial product, where 10 answers are yes, 5 are no, and 5 are other.
16:15:15 <b_jonas> But someone changed it
16:15:45 <ais523> if it's icosahedral, why is it called an 8-ball?
16:16:31 <b_jonas> ais523: look at Wikipedia
16:17:14 <b_jonas> ais523: the small icosahedral dice is inside a rolling cup which as a gimmick looks like an 8-ball from billiard
16:17:48 <Jafet> it also confuses mathematicians, who think of it as a a 3-ball
16:17:48 <b_jonas> it's an american novelty item, I never saw once in real life, but it's popular, there are multiple scripts on the web emulating it
16:17:56 <b_jonas> and even one story referencing it
16:18:11 <b_jonas> (a parody)
16:18:37 <b_jonas> `whoag 8-ball
16:18:38 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: whoag: not found
16:18:43 <b_jonas> `höag 8-ball
16:18:44 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: höag: not found
16:18:59 <b_jonas> `hg log 8-ball
16:19:01 <HackEgo> hg: unknown command 'log 8-ball' \ Mercurial Distributed SCM \ \ basic commands: \ \ add add the specified files on the next commit \ annotate show changeset information by line for each file \ clone make a copy of an existing repository \ commit commit the specified files or all outstanding changes \ diff diff r
16:19:11 <b_jonas> `hg log bin/8-ball
16:19:12 <HackEgo> hg: unknown command 'log bin/8-ball' \ Mercurial Distributed SCM \ \ basic commands: \ \ add add the specified files on the next commit \ annotate show changeset information by line for each file \ clone make a copy of an existing repository \ commit commit the specified files or all outstanding changes \ diff di
16:19:21 <b_jonas> meh, whatever
16:20:33 <int-e> `` hg log bin/8-ball
16:20:35 <HackEgo> changeset: 5643:56dcce63901b \ user: HackBot \ date: Sun Jun 21 02:47:59 2015 +0000 \ summary: <tswett> revert \ \ changeset: 4566:1b161db44445 \ user: HackBot \ date: Tue Apr 15 10:28:33 2014 +0000 \ summary: <fizzie> mv data/8ballreplies share/; sed -i -e \'s/data/share/\' bin/8*ball; rmdir data # going t
16:20:36 <ais523> I'm failling to load the Wikipedia article
16:20:39 <b_jonas> `perl -e@t=split"/","It is certain/It is decidedly so/Without a doubt/Yes definitely/You may rely on it/As I see it, yes/Most likely/Outlook good/Yes/Signs point to yes/Reply hazy try again/Ask again later/Better not tell you now/Cannot predict now/Concentrate and ask again/Don't count on it/My reply is no/My sources say no/Outlook not so good/Very doubtful";print@t
16:20:39 <HackEgo> It is certainIt is decidedly soWithout a doubtYes definitelyYou may rely on itAs I see it, yesMost likelyOutlook goodYesSigns point to yesReply hazy try againAsk again laterBetter not tell you nowCannot predict nowConcentrate and ask againDon't count on itMy reply is noMy sources say noOutlook not so goodVery doubtful
16:20:42 <ais523> this connection is somewhat unreliable
16:20:48 <b_jonas> `perl -e@t=split"/","It is certain/It is decidedly so/Without a doubt/Yes definitely/You may rely on it/As I see it, yes/Most likely/Outlook good/Yes/Signs point to yes/Reply hazy try again/Ask again later/Better not tell you now/Cannot predict now/Concentrate and ask again/Don't count on it/My reply is no/My sources say no/Outlook not so good/Very doubtful";print0+@t
16:20:49 <HackEgo> No output.
16:20:59 <b_jonas> `perl -e@t=split"/","It is certain/It is decidedly so/Without a doubt/Yes definitely/You may rely on it/As I see it, yes/Most likely/Outlook good/Yes/Signs point to yes/Reply hazy try again/Ask again later/Better not tell you now/Cannot predict now/Concentrate and ask again/Don't count on it/My reply is no/My sources say no/Outlook not so good/Very doubtful";print 0+@t
16:20:59 <HackEgo> 20
16:21:12 <b_jonas> `perl -e@t=split"/","It is certain/It is decidedly so/Without a doubt/Yes definitely/You may rely on it/As I see it, yes/Most likely/Outlook good/Yes/Signs point to yes/Reply hazy try again/Ask again later/Better not tell you now/Cannot predict now/Concentrate and ask again/Don't count on it/My reply is no/My sources say no/Outlook not so good/Very doubtful";print$t[rand@t]
16:21:12 <HackEgo> Yes definitely
16:23:57 <b_jonas> #``` for s in bin/8{-,}ball; echo $'#!/usr/bin/perl\n''@t=split"/","It is certain/It is decidedly so/Without a doubt/Yes definitely/You may rely on it/As I see it, yes/Most likely/Outlook good/Yes/Signs point to yes/Reply hazy try again/Ask again later/Better not tell you now/Cannot predict now/Concentrate and ask again/Don\x27t count on it/My reply is no/My sources say no/Outlook not so good/Very doubtful";print$t[rand@t];'
16:24:59 <b_jonas> ``` for s in bin/8{-,}ball; >s echo $'#!/usr/bin/perl\n''@t=split"/","It is certain/It is decidedly so/Without a doubt/Yes definitely/You may rely on it/As I see it, yes/Most likely/Outlook good/Yes/Signs point to yes/Reply hazy try again/Ask again later/Better not tell you now/Cannot predict now/Concentrate and ask again/Don\x27t count on it/My reply is no/My sources say no/Outlook not so good/Very doubtful";print$t[rand@t];'; done
16:25:00 <HackEgo> bash: -c: line 0: syntax error near unexpected token `>' \ bash: -c: line 0: `for s in bin/8{-,}ball; >s echo $'#!/usr/bin/perl\n''@t=split"/","It is certain/It is decidedly so/Without a doubt/Yes definitely/You may rely on it/As I see it, yes/Most likely/Outlook good/Yes/Signs point to yes/Reply hazy try again/Ask again later/Better not tell you n
16:25:50 <b_jonas> ``` for s in bin/8{-,}ball; >s echo -n $'#!/usr/bin/perl\n''@t=split"/","It is certain/It is decidedly so/Without a doubt/Yes definitely/You may rely on it/As I see it, yes/Most likely/Outlook good/Yes/Signs point to yes/R'; done
16:25:51 <HackEgo> bash: -c: line 0: syntax error near unexpected token `>' \ bash: -c: line 0: `for s in bin/8{-,}ball; >s echo -n $'#!/usr/bin/perl\n''@t=split"/","It is certain/It is decidedly so/Without a doubt/Yes definitely/You may rely on it/As I see it, yes/Most likely/Outlook good/Yes/Signs point to yes/R'; done '
16:26:12 <b_jonas> ``` for s in bin/8{-,}ball; >>s echo 'eply hazy try again/Ask again later/Better not tell you now/Cannot predict now/Concentrate and ask again/Don\x27t count on it/My reply is no/My sources say no/Outlook not so good/Very doubtful";print$t[rand@t];'; done
16:26:13 <fizzie> Didn't we already have that, with data in a separate directory?
16:26:13 <HackEgo> bash: -c: line 0: syntax error near unexpected token `>>' \ bash: -c: line 0: `for s in bin/8{-,}ball; >>s echo 'eply hazy try again/Ask again later/Better not tell you now/Cannot predict now/Concentrate and ask again/Don\x27t count on it/My reply is no/My sources say no/Outlook not so good/Very doubtful";print$t[rand@t];'; done '
16:26:43 <b_jonas> ``` for s in bin/8{-,}ball; >>s echo -n 'eply hazy try again/Ask again later/Better not tell you now/Cannot predict now/Concentrate and ask again/Don\x27t count on it/My reply is no/My sources say no/Outlo'; done
16:26:44 <HackEgo> bash: -c: line 0: syntax error near unexpected token `>>' \ bash: -c: line 0: `for s in bin/8{-,}ball; >>s echo -n 'eply hazy try again/Ask again later/Better not tell you now/Cannot predict now/Concentrate and ask again/Don\x27t count on it/My reply is no/My sources say no/Outlo'; done '
16:27:05 <b_jonas> ``` for s in bin/8{-,}ball; >>s echo 'ok not so good/Very doubtful";print$t[rand@t];'; done
16:27:06 <HackEgo> bash: -c: line 0: syntax error near unexpected token `>>' \ bash: -c: line 0: `for s in bin/8{-,}ball; >>s echo 'ok not so good/Very doubtful";print$t[rand@t];'; done '
16:27:12 <fizzie> `url share/8ballreplies
16:27:13 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/share/8ballreplies
16:27:24 <fizzie> That looks like a reasonably good list.
16:27:27 <b_jonas> ah, it's complaining about the missing do, not the missing done
16:27:33 <b_jonas> fizzie: but it's not the original list
16:28:12 <fizzie> I would recommend modifying it, then.
16:28:15 <fizzie> Instead of being redundant.
16:28:28 <b_jonas> ``` for s in bin/8{-,}ball; do >s echo -n $'#!/usr/bin/perl\n''@t=split"/","It is certain/It is decidedly so/Without a doubt/Yes definitely/You may rely on it/As I see it, yes/Most likely/Outlook good/Yes/Signs point to yes/Reply hazy try again/Ask again later/Bet'; done
16:28:30 <HackEgo> No output.
16:29:21 <b_jonas> ``` for s in bin/8{-,}ball; do >>s echo 'ter not tell you now/Cannot predict now/Concentrate and ask again/Don\x27t count on it/My reply is no/My sources say no/Outlook not so good/Very doubtful";print$t[rand@t];'; done
16:29:23 <HackEgo> No output.
16:29:30 <fizzie> You're writing to "s".
16:29:34 <b_jonas> ` 8-ball are you as good as new?
16:29:34 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
16:29:36 <b_jonas> ah right
16:29:39 <b_jonas> I can't bash today
16:29:41 <b_jonas> ``` rm s
16:29:43 <HackEgo> No output.
16:29:51 <b_jonas> maybe it's best I'm not overwriting it if I'm so bad now
16:29:57 <b_jonas> I'll have to retry later
16:30:15 <Jafet> the 8-ball may be a gimmick, but eric schmidt has been quoted saying “most people don't want Google to answer their questions. They want Google to tell them what they should be doing next.”
16:31:41 <fizzie> When you retry, please just modify share/8ballreplies, that's why it's there.
16:32:10 <b_jonas> fizzie: yes, I think I created it that way because it's almost too long in one line
16:39:12 -!- DHeadshot_ has quit (Ping timeout: 252 seconds).
16:39:23 -!- super_bender has quit (Ping timeout: 256 seconds).
16:40:50 <ais523> Jafet: I don't want either, I normally want search engines to find me a web page that discusses a particular subject
16:41:10 <ais523> or even a particular page that I might or might not know of the existence of, but can guess the existence of
16:41:32 <ais523> (e.g. the official database for postcodes in the UK is something that I thought was highly likely to exist, and it in fact does, even though I didn't know it existed in advance)
16:48:47 <nortti> http://people.csail.mit.edu/wjun/papers/sigtbd16.pdf
16:54:27 -!- Cale has joined.
16:58:32 -!- LKoen has joined.
17:05:46 -!- DHeadshot has joined.
17:17:52 <\oren\> hmm... i was thinking about how busybox has a single executable for lots of commands
17:21:08 <\oren\> what if you made a language that did that for most tasks
17:22:21 <ais523> \oren\: I have an unpublished joke language that basically works like this: you give it an anarchy golf problem number
17:22:27 <ais523> that has revealed programs
17:22:39 <ais523> then it tries all the programs in the problem number on the user input and gives you the majority output
17:22:59 <\oren\> nice
17:23:14 <ais523> this makes it very good at solving simple well-known problems, unless they're /so/ well-known that the timeout was set to infinity and there are no programs to download
17:24:06 <\oren\> heh
17:24:59 <ais523> the reason this language is unpublished is that it really needs an interpreter
17:25:04 <shachaf> Many anagol problems are underspecified. :-(
17:25:23 <ais523> (possible enhancement: remove programs that are tagged as cheating, give extra weight to programs that are tagged as genuine)
17:25:34 <\oren\> argh, my meeting was just resceduled
17:25:38 <ais523> shachaf: but they tend to be inversely specified by the actual answers
17:28:22 <\oren\> why does schedule have a h in it
17:28:42 <shachaf> you mean why does it have a c in it hth
17:29:22 <\oren\> it should be skejule
17:29:42 <shachaf> no, it's pronounced with a "sh" at the beginning
17:29:50 <\oren\> no it isnt!
17:29:57 <ais523> I think that varies by accent
17:30:21 <shachaf> also "j" is IPA ʒ
17:30:21 <ais523> in some accents it likely starts with an actual sch phoneme (which is more common in German than in English)
17:30:31 <ais523> I've heard both pronunciations I think
17:30:33 <shachaf> if you mean "dj" you should write that
17:32:17 <\oren\> /skɛdʒuːl/
17:32:19 -!- Sgeo_ has joined.
17:33:30 <\oren\> or maybe /skɛdʒuwʊl/
17:33:40 <zzo38> Both pronounce are correct in Canadian.
17:34:16 <zzo38> In British is correct with "sh" and in American is correct without, and in Canadian both ways correct.
17:34:34 -!- Sgeo has quit (Ping timeout: 250 seconds).
17:44:40 <LKoen> are you saying skedjul is not the british pronunciation?
17:51:11 <ais523> "sch" is pronouned very similarly to "sh", and quite differently from "sk"
17:51:28 <ais523> I'm not quite convinced it's identical to an "sh" though
17:58:04 <shachaf> Russian has щ and ш
17:58:11 <shachaf> I can hardly hear the difference between them.
18:06:51 <LKoen> ss-shedule maybe?
18:08:18 -!- Zarutian has joined.
18:08:42 -!- Zarutian has quit (Read error: Connection reset by peer).
18:09:15 -!- Zarutian has joined.
18:29:14 -!- LKoen has quit (Remote host closed the connection).
18:29:34 -!- LKoen has joined.
18:33:17 -!- ^v has quit (Ping timeout: 256 seconds).
18:36:02 -!- ^v has joined.
18:45:26 -!- LKoen has quit (Remote host closed the connection).
18:45:55 -!- `^_^v has quit (Quit: This computer has gone to sleep).
18:49:48 -!- ais523 has quit (Ping timeout: 260 seconds).
19:07:16 -!- Reece` has joined.
19:08:35 -!- Reece` has quit (Client Quit).
19:19:45 -!- DHeadshot has quit (Ping timeout: 256 seconds).
19:23:00 -!- DHeadshot has joined.
19:42:56 -!- imode has joined.
19:56:21 -!- ais523 has joined.
20:23:11 -!- MoALTz has joined.
20:58:21 -!- DHeadshot has quit (Ping timeout: 256 seconds).
21:09:37 <shachaf> `? oerjan
21:09:38 <HackEgo> Your reverberated itymologist gracious octoberlord oerjan is a lazy expert in suture complication. Also a Pre-recombination Glaswegian who passionfruitly dislikes Roald Dahl. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it.
21:09:57 <shachaf> `slwd oerjan//s#reverberated#venerated#
21:09:59 <HackEgo> wisdom/oerjan//Your venerated itymologist gracious octoberlord oerjan is a lazy expert in suture complication. Also a Pre-recombination Glaswegian who passionfruitly dislikes Roald Dahl. Lately when he tries to remember a word, "amortized" pops up. His arch-nemesis is Betty Crocker. He sometimes puns without noticing it.
21:10:20 <olsner> wisdom seems to be steadily making less sense as time goes on
21:11:23 <imode> 's cause hackego is getting older.
21:17:46 <shachaf> `` hg identify --num
21:17:48 <HackEgo> 9385
21:17:58 <shachaf> `mkx bin/age//hg identify --num
21:18:00 <HackEgo> bin/age
21:18:04 <shachaf> `age
21:18:05 <HackEgo> 9386
21:19:41 -!- ybden has changed nick to \\\\\\\\\\\\\\\\.
21:20:07 -!- \\\\\\\\\\\\\\\\ has changed nick to ybden.
21:23:01 <int-e> leaning to the left?
21:23:24 <ais523> I think \ is legal in nicks but / isn't
21:24:03 <ybden> yeah
21:24:07 <ybden> ais523: I tried that
21:26:09 <\oren\> AAAAAAAAAAaAAAAAaaAAAAaaaaaaa DDOSSED
21:31:58 -!- imode has quit (Remote host closed the connection).
21:56:05 -!- Cale has quit (Read error: Connection reset by peer).
22:01:58 -!- LKoen has joined.
22:05:09 -!- godel has joined.
22:05:47 <HackEgo> [wiki] [[D2]] N https://esolangs.org/w/index.php?oldid=50027 * TuxCrafting * (+151) Created page with "D2 is a Brainfuck-like language with a 2D right and down unbounded memory. Specs and interpreter can be found [https://github.com/tuxcrafting/d2 here]"
22:14:20 -!- imode has joined.
22:16:58 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:17:28 -!- godel has quit (Ping timeout: 260 seconds).
22:22:40 -!- 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.”).
22:39:25 <izalove> hey
22:39:50 <izalove> i need a function that maps the integers 1-64
22:39:53 <izalove> to reals from 1.5 to 2
22:39:54 -!- hppavilion[1] has joined.
22:40:00 <izalove> and it must be decreasing
22:40:16 <ais523> y = 2 - (x / 32)
22:40:34 <ais523> unless you need to hit both endpoints, but that seems unlikely given the problem description
22:40:39 <izalove> wait
22:40:42 <izalove> let me finish
22:40:43 <ais523> err, backwards
22:40:47 <ais523> y = 2 - (x / 128)
22:40:55 <izalove> lemme finish è_é
22:41:11 <izalove> 16 * f(1) * f(2) * ... * f(64) >= 2^48
22:41:49 <ais523> finished yet?
22:41:54 <izalove> no
22:42:16 <izalove> it doesn't make much sense to talk about derivatives, but it must start decreasing slowly and then decrease faster and faster
22:42:18 <izalove> -fin-
22:43:10 <izalove> actually it could go from 1 to 2
22:47:43 -!- augur has quit (Ping timeout: 256 seconds).
22:50:09 <\oren\> y = 2 - 1/(2^x)
22:50:35 <\oren\> wait that's increasing
22:51:00 -!- augur has joined.
22:51:30 <\oren\> y = 1.5 + 1/(2^(64-x))?
22:51:39 <\oren\> or something
22:53:54 <izalove> thanks for the idea
22:55:40 * izalove scales the values a little bit
23:02:10 <\oren\> `` tcc -lm -run - <<<'double pow(double,double);int main(){int i;for(i=1;i<=64;i++)printf("%g ",1.5+1/pow(2,i));}'
23:02:11 <HackEgo> ​/hackenv/bin/`: line 4: tcc: command not found
23:02:17 <\oren\> ARGH
23:02:28 -!- imode has quit (Quit: leaving).
23:02:48 -!- imode has joined.
23:03:05 <\oren\> that's what I get for writing oneliners with tcc instead of perl
23:03:30 <ais523> `! c double pow(double,double);int main(){int i;for(i=1;i<=64;i++)printf("%g ",1.5+1/pow(2,i));}
23:03:38 <HackEgo> No output.
23:03:45 <ais523> hmm
23:04:05 <ais523> `! c int main(void){printf("Hello, world!");}
23:04:06 <HackEgo> Hello, world!
23:04:27 <\oren\> `` perl -e 'for$i(1..64){print (1.5+1/pow(2,$i))}'
23:04:27 <HackEgo> Undefined subroutine &main::pow called at -e line 1.
23:04:31 <ais523> `! c int main(void){foo();printf("Hello, world!");}
23:04:32 <HackEgo> No output.
23:04:33 <ais523> \oren\: **
23:04:37 <\oren\> `` perl -e 'for$i(1..64){print (1.5+1/(2**$i))}'
23:04:38 <HackEgo> 21.751.6251.56251.531251.5156251.50781251.503906251.5019531251.50097656251.500488281251.5002441406251.50012207031251.500061035156251.500030517578121.500015258789061.500007629394531.500003814697271.500001907348631.500000953674321.500000476837161.500000238418581.500000119209291.500000059604641.500000029802321.500000014901161.500000007450581.500000003
23:04:45 <ais523> I guess `! c gives no output in the case of a link error?
23:04:48 <ais523> `! c int main(void){foo();printf("Hello, world!");
23:04:49 <HackEgo> Does not compile.
23:04:54 <\oren\> `` perl -e 'for$i(1..64){print (1.5+1/(2**$i)) . "\n"}'
23:04:54 <HackEgo> 21.751.6251.56251.531251.5156251.50781251.503906251.5019531251.50097656251.500488281251.5002441406251.50012207031251.500061035156251.500030517578121.500015258789061.500007629394531.500003814697271.500001907348631.500000953674321.500000476837161.500000238418581.500000119209291.500000059604641.500000029802321.500000014901161.500000007450581.500000003
23:04:56 <ais523> yes, seems about right
23:04:59 <ais523> and it's probably missing an -lm somewhere
23:05:03 <ais523> `cat ibin/c
23:05:04 <HackEgo> ​#!/bin/sh \ . lib/interp \ interp_file "./interps/gcccomp/gcccomp c"
23:05:06 <\oren\> `` perl -e 'for$i(1..64){print (1.5+1/(2**$i))," "}'
23:05:07 <HackEgo> 21.751.6251.56251.531251.5156251.50781251.503906251.5019531251.50097656251.500488281251.5002441406251.50012207031251.500061035156251.500030517578121.500015258789061.500007629394531.500003814697271.500001907348631.500000953674321.500000476837161.500000238418581.500000119209291.500000059604641.500000029802321.500000014901161.500000007450581.500000003
23:05:21 <ais523> `cat ibin/interps/gcccomp/gcccomp
23:05:21 <HackEgo> cat: ibin/interps/gcccomp/gcccomp: No such file or directory
23:05:25 <ais523> `cat interps/gcccomp/gcccomp
23:05:26 <HackEgo> ​#!/bin/bash \ LANG="$1" \ echo >>"$2" \ \ case "$LANG" in \ c) \ HEAD='#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <sys/types.h>\n#include <unistd.h>\nint main(int argc, char **argv) {' \ TAIL='; return 0; }' \ EXT='c' \ GCC='gcc' \ FLAGS='-std=gnu99' \ ;; \ \ c++)
23:05:31 <\oren\> `` perl -e 'for$i(1..64){print ((1.5+1/(2**$i))." ");}'
23:05:32 <HackEgo> 2 1.75 1.625 1.5625 1.53125 1.515625 1.5078125 1.50390625 1.501953125 1.5009765625 1.50048828125 1.500244140625 1.5001220703125 1.50006103515625 1.50003051757812 1.50001525878906 1.50000762939453 1.50000381469727 1.50000190734863 1.50000095367432 1.50000047683716 1.50000023841858 1.50000011920929 1.50000005960464 1.50000002980232 1.50000001490116 1
23:05:33 <ais523> `paste interps/gcccomp/gcccomp
23:05:34 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/interps/gcccomp/gcccomp
23:05:48 <fizzie> ais523: All the C-running commands are broken in various ways.
23:06:02 <\oren\> just install tcc and be done with it
23:06:32 <\oren\> tcc does the right thing
23:07:02 <ais523> `` sed -e "s/FLAGS='-std/FLAGS='-lm -std/" interps/gcccomp/gcccomp
23:07:02 <HackEgo> ​#!/bin/bash \ LANG="$1" \ echo >>"$2" \ \ case "$LANG" in \ c) \ HEAD='#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <sys/types.h>\n#include <unistd.h>\nint main(int argc, char **argv) {' \ TAIL='; return 0; }' \ EXT='c' \ GCC='gcc' \ FLAGS='-lm -std=gnu99' \ ;; \ \ c
23:07:13 <ais523> `` sed -i -e "s/FLAGS='-std/FLAGS='-lm -std/" interps/gcccomp/gcccomp
23:07:15 <HackEgo> No output.
23:07:20 <ais523> `! c double pow(double,double);int main(){int i;for(i=1;i<=64;i++)printf("%g ",1.5+1/pow(2,i));}
23:07:21 <HackEgo> 2 1.75 1.625 1.5625 1.53125 1.51562 1.50781 1.50391 1.50195 1.50098 1.50049 1.50024 1.50012 1.50006 1.50003 1.50002 1.50001 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5
23:07:26 <Taneb> Today I found out about a contravariant functor but I am too ill to remember which
23:07:33 <Taneb> Something about affine varieties and algebraic sets
23:07:51 <ais523> `! c printf("Hello, world!\n");
23:07:52 <HackEgo> Does not compile.
23:08:06 <fizzie> That's the newline problem, I think.
23:08:13 <fizzie> `! c printf("Hello, world!\\n");
23:08:15 <HackEgo> Hello, world!
23:08:47 <ais523> now I'm trying to figure out what's C-unescaping the input
23:08:57 <fizzie> Well, the thing is, for macros you really need it to.
23:09:07 <fizzie> #define FOO bar \n something(); can't end up on one line.
23:09:15 <ais523> presumably the wrapper that goes around gcccomp
23:09:45 <ais523> the `! c command doesn't seem that broken to me, especially now I added the -lm
23:09:57 <\oren\> fizzie: or we could use a convention where say four spaces or more becomes a newline?
23:10:32 <fizzie> ais523: It still doesn't output any errors.
23:11:01 <\oren\> or we could get tcc and have proper control
23:11:06 <ais523> fizzie: that's because it compiles two programs to see which works
23:11:39 <fizzie> ais523: That's not a good enough reason.
23:11:54 <ais523> right, but it's hard to figure out which set of errors you'd want to show
23:11:56 <ais523> or whether to show both
23:12:14 <fizzie> Personally, I think it should just use simple heuristics to decide which one to compile.
23:12:42 <\oren\> if main appears as symbol in code, compile with main?
23:12:57 <ais523> you need a parser to figure that out, at least a rudimentary one
23:13:05 <\oren\> s/app/does not app/
23:13:09 <ais523> also I think it's a legal local variable name
23:13:23 <\oren\> AAAAAAAAAAAAAAAAAA
23:13:27 <ais523> `! c char *main = "Hello, world!"; puts(main);
23:13:28 <HackEgo> ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$
23:13:38 <ais523> hmm
23:13:53 <ais523> `! c char *m = "Hello, world!"; puts(m);
23:13:55 <HackEgo> Hello, world!
23:13:56 <\oren\> ais523: that ends up trying to execute the machine code "Hello, world"
23:14:07 <ais523> \oren\: oh right, it's legal both ways roudn
23:14:10 <ais523> wait, no it isn't
23:14:19 <\oren\> because main doesn't have to be a function ebcause fuck fuck fuck fuck
23:14:20 <ais523> a puts call can't appear outside a function
23:14:31 <ais523> so that would get the int main() { … } wrapper
23:14:58 -!- MoALTz has quit (Quit: Leaving).
23:14:59 <ais523> `! c #include <stdio.h>\nint main(void) { char *main = "Hello, world!"; puts(main); return 0; }
23:15:00 <HackEgo> No output.
23:15:10 <ais523> `! c #include <stdio.h>\nint main(void) { char *m = "Hello, world!"; puts(m); return 0; }
23:15:11 <HackEgo> No output.
23:15:35 <fizzie> Yeah, a fine example of a non-broken thing.
23:15:40 <ais523> `! c int main(void) { char *m = "Hello, world!"; puts(m); return 0; }
23:15:41 <HackEgo> Hello, world!
23:16:01 <ais523> `! c int main(void) { char *main = "Hello, world!"; puts(main); return 0; }
23:16:02 <HackEgo> Hello, world!
23:16:05 <ais523> there we go
23:16:22 <\oren\> fizzie: you made me cough up a lung form laughing
23:16:50 <fizzie> Besides, wasn't there some case where the two-program thing failed to work because of GCC's nested functions? I think there was.
23:17:25 <\oren\> `! c char *main = "Hello, world!"
23:17:26 <HackEgo> No output.
23:17:40 <\oren\> `! c char *main = "Hello, world!";
23:17:42 <HackEgo> ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$
23:18:08 <\oren\> wut
23:18:23 <\oren\> `! c char *main = "Hello, world!\\n";
23:18:24 <HackEgo> ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$
23:18:28 <\oren\> `! c char *main = "Hello, world!\\n"
23:18:31 <HackEgo> No output.
23:18:47 <ais523> \oren\: the version with no semicolon isn't valid as a program in its own right
23:18:59 <fizzie> Incidentally, the program char *main = "Hello, world!"; would generally execute the pointer's value as machine code, not the string literal's contents.
23:19:05 <ais523> the wrapper adds a semicolon at the end (which is harmless if you provided one because ; is a valid command)
23:19:09 <fizzie> You would need char main[] = "Hello, world!"; for that.
23:20:28 <fizzie> `` echo 'char *main = "x";' | gcc -Wall -x c - -o /dev/null # a well-known warning
23:20:29 <HackEgo> ​<stdin>:1:7: warning: ‘main’ is usually a function [-Wmain]
23:20:50 <ais523> fizzie: there's a blog with that name, isn't there?
23:20:56 <fizzie> Yes.
23:21:09 <\oren\> `! c char main[]='\xC3'
23:21:10 <HackEgo> Does not compile.
23:21:16 <\oren\> `! c char main[]="\xC3"
23:21:19 <HackEgo> No output.
23:21:20 <Taneb> ais523, I think it was kmc's??
23:21:21 <\oren\> `! c char main[]="\xC3";
23:21:22 <HackEgo> No output.
23:23:44 <\oren\> I had to look up the opcode for RET
23:26:06 <ais523> `! c char main[]="\xEB\xFE";
23:26:17 <ais523> that should be an infinite loop
23:26:37 <HackEgo> No output.
23:26:42 <ais523> and thus provide a different, easily observable result
23:26:42 <ais523> that seemed to work
23:27:36 -!- DHeadshot has joined.
23:28:25 <int-e> `` uname -a
23:28:26 <HackEgo> Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux
23:29:44 <\oren\> `! c char main[]="";\n#ifdef TMP_MAX\n#error\n#endif
23:29:45 <HackEgo> Does not compile.
23:29:53 <\oren\> `! c char main[]="";\n#ifdef TMP_MAX\n#error hllo\n#endif
23:29:54 <HackEgo> Does not compile.
23:30:15 <\oren\> `! c #ifdef TMP_MAX\n#error hllo\n#endif
23:30:17 <HackEgo> Does not compile.
23:30:31 <zzo38> The official UHS catalog http://www.uhs-hints.com/cgi-bin/update.cgi does not seem to use ETag or Last-Modified, so it can't cache the data. I don't know if any HTTP server supports feature tags.
23:30:37 <\oren\> `! c #ifdef TMP_MAX\n#error hllo\n#endif int main(){return 0}
23:30:39 <HackEgo> Does not compile.
23:30:41 <\oren\> `! c #ifdef TMP_MAX\n#error hllo\n#endif int main(){return 0;}
23:30:42 <HackEgo> Does not compile.
23:30:46 <\oren\> `! c #ifdef TMP_MAX\n#error hllo\n#endif\n int main(){return 0;}
23:30:47 <HackEgo> Does not compile.
23:31:09 <\oren\> `! c #define foo bar\n int main(){return 0;}
23:31:11 <HackEgo> No output.
23:31:32 <\oren\> `! c #ifdef TMP_MAX\n #error hllo\n #endif\n int main(){return 0;}
23:31:33 <HackEgo> No output.
23:31:40 <\oren\> `! c #ifdef TMP_MAX\n #error hllo\n #endif\n
23:31:41 <HackEgo> Does not compile.
23:32:03 <\oren\> `! c #ifdef TMP_MAX\n #error hllo\n #endif\n int main(){return 0;}
23:32:05 <HackEgo> No output.
23:32:18 <\oren\> `! c char main[]="";\n #ifdef TMP_MAX\n #error hllo\n #endif
23:32:19 <HackEgo> ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$
23:32:25 <\oren\> there
23:33:06 <\oren\> basically, you can use #ifdef TMP_MAX\n #error hllo\n #endif to prevent the one that wraps it from being done
23:33:19 <\oren\> `! c char main[]="\xC#";\n #ifdef TMP_MAX\n #error hllo\n #endif
23:33:20 <HackEgo> ​./interps/gcccomp/gcccomp: line 53: 308 Segmentation fault /tmp/compiled.$$
23:33:24 <ais523> what does TMP_MAX do anyway?
23:33:26 <\oren\> `! c char main[]="\xC3";\n #ifdef TMP_MAX\n #error hllo\n #endif
23:33:28 <HackEgo> No output.
23:33:33 <zzo38> The (currently unreleased) FreeUHS catalog utility though will pay attention to ETag and Last-Modified if those headers are present, will handle redirects, a 203 response, and the character set of the response.
23:33:47 <\oren\> ais523: dunno, but I know it's a macro defined in stdio.h
23:34:04 <\oren\> "This macro is the maximum number of unique filenames that the function tmpnam can generate.
23:34:23 <\oren\> what a useless number
23:35:30 <\oren\> `! c printf("%d\\n",TMP_MAX);
23:35:33 <HackEgo> 238328
23:35:42 <\oren\> what a random number!
23:35:47 <\oren\> `! c printf("%f\\n",TMP_MAX);
23:35:48 <HackEgo> 0.000000
23:36:14 <\oren\> ok so it is a integer
23:36:34 <ais523> `factor 238328
23:36:34 <HackEgo> 238328: 2 2 2 31 31 31
23:36:38 <ais523> it's not that random
23:37:04 -!- oerjan has joined.
23:38:37 <\oren\> `! c printf("%s\\n",tmpnam());
23:38:38 <HackEgo> Does not compile.
23:38:45 <\oren\> `! c printf("%s\\n",tmpnam(nULL));
23:38:46 <HackEgo> Does not compile.
23:38:49 <\oren\> `! c printf("%s\\n",tmpnam(NULL));
23:38:50 <HackEgo> ​/tmp/fileO0NkhR
23:38:55 <\oren\> `! c printf("%s\\n",tmpnam(NULL));
23:38:58 <HackEgo> ​/tmp/filedPJRrU
23:39:00 <\oren\> `! c printf("%s\\n",tmpnam(NULL));
23:39:02 <HackEgo> ​/tmp/filenWlycS
23:39:04 <\oren\> `! c printf("%s\\n",tmpnam(NULL));
23:39:06 <HackEgo> ​/tmp/file4SHPZS
23:39:09 <\oren\> `! c printf("%s\\n",tmpnam(NULL));
23:39:11 <HackEgo> ​/tmp/file3iYeKn
23:39:24 <fizzie> `! c char main[] = "hhi!\\0@\xb7\x01""1\xd2\xb2\x03""1\xc0\xb0\1H\x89\xe6\x0f\x05X\xc3";
23:39:26 <HackEgo> hi!
23:39:52 <\oren\> so what it's 26 letters, in two cases, and 10 numbers
23:39:56 <\oren\> weak
23:40:21 <\oren\> they oughta use any byte that's usable in a filename
23:40:22 <ais523> fizzie: how much trouble did you go to to write that? :-D
23:40:31 <ais523> also we so need a `! shellcode
23:40:34 <oerjan> @messages-gold
23:40:35 <lambdabot> boily said 11h 38m 6s ago: hellørjan. tdh. t!
23:40:46 <ais523> although I'm not sure what format the shellcode would be in
23:40:48 <fizzie> ais523: However much trouble there can fit between the \xc3 one and that. :)
23:41:06 -!- ybden has quit (Quit: Fing).
23:41:11 <fizzie> I did run into a couple of things, like having to do \\0 instead of \0 because GCC doesn't like 0 bytes in string literals.
23:41:23 * oerjan thinks this is a day for quick log skimming
23:41:37 <fizzie> It was surprisingly game for all other kinds of control characters though.
23:41:55 <fizzie> (Assuming those are getting expanded by the same thing that does \n and \0.)
23:42:39 <\oren\> `! c printf("\\xc3");
23:42:40 <HackEgo> ​Ã
23:42:51 <\oren\> `! c printf("\xc3");
23:42:53 <HackEgo> ​Ã
23:42:56 <\oren\> yup
23:43:29 -!- ybden has joined.
23:43:30 <fizzie> Well, that's not exactly proof positive. If the expander left \xc3 untouched, the C compiler would've seen identical sources for those.
23:43:53 <fizzie> `! c printf("%zu", sizeof "\xc3");
23:43:54 <HackEgo> 2
23:44:02 <fizzie> `! c printf("%zu", sizeof "\\xc3");
23:44:03 <HackEgo> 2
23:44:07 <\oren\> `! c printf('\xc3');
23:44:08 <HackEgo> ​./interps/gcccomp/gcccomp: line 53: 310 Segmentation fault /tmp/compiled.$$
23:45:07 <\oren\> `! c printf("\x22);
23:45:08 <HackEgo> Does not compile.
23:45:45 <\oren\> `! c printf("\x22");
23:45:46 <HackEgo> ​"
23:45:53 <\oren\> heh
23:45:54 <fizzie> Hm, that's a bit more convincing.
23:46:20 <fizzie> `! c printf("\042");
23:46:20 -!- Cale has joined.
23:46:21 <HackEgo> Does not compile.
23:46:26 <fizzie> `! c printf("foo\042);
23:46:27 <HackEgo> foo
23:46:37 <fizzie> So no \x, but yes for octal escapes.
23:46:48 <\oren\> is \x a gnu extension?
23:47:08 <ais523> no
23:47:30 -!- centrinia has joined.
23:47:34 <\oren\> hmm, maybe the expander is some ad hoc program then
23:47:49 <\oren\> `! c printf("\x22\");
23:47:49 <fizzie> Not in C, but maybe in printf(1).
23:47:50 <HackEgo> Does not compile.
23:48:03 <fizzie> At least I don't see it in POSIX.
23:48:16 <ais523> it oculd also be echo -e
23:48:22 <ais523> *could
23:48:26 -!- Zarutian has quit (Quit: Zarutian).
23:48:29 <ais523> I doubt it's printf(1) because % signs would screw that up
23:48:31 <\oren\> `` echo -e '\x22'
23:48:32 <HackEgo> ​"
23:48:37 <ais523> `! c printf("%s", "Hello, world!");
23:48:38 <HackEgo> Hello, world!
23:49:01 <fizzie> ais523: Well, I mean, printf "%b" "$@" or some such.
23:49:22 <fizzie> s/@/*/
23:49:40 <ais523> `` printf "%b" "n\nt\tx\x22o\042e"
23:49:41 <HackEgo> n \ tx"o"e
23:49:56 <ais523> printf %b seems to understand both hex and octal escapes
23:50:03 <fizzie> Not the POSIX one, though.
23:50:12 <fizzie> But yeah, HackEgo's does.
23:50:14 <ais523> `` env POSIXLY_CORRECT=1 printf "%b" "n\nt\tx\x22o\042e"
23:50:15 <HackEgo> n \ tx"o"e
23:50:20 <ais523> hmm
23:50:33 <fizzie> "The interpretation of a <backslash> followed by any other sequence of characters is unspecified", so it's arguably POSIXLY_CORRECT to do that.
23:51:27 <ais523> huh, \c is a pretty weird escape
23:51:54 <ais523> is it even possible to define what that would do in a C source file? I guess it'd just end the file right there, closing any balanced groups that need closing
23:53:20 <\oren\> `! c printf("\u0022");
23:53:21 <HackEgo> Does not compile.
23:53:43 <\oren\> `` printf '%b' '\u0022'
23:53:43 <HackEgo> ​"
23:53:58 <\oren\> intresting
23:54:21 <ais523> so, is printf(1) Turing-complete? I know printf(3) is
23:54:35 <ais523> (you use %n exploits in order to get it to overwrite its own internal state)
←2016-10-20 2016-10-21 2016-10-22→ ↑2016 ↑all