00:01:40 -!- lynn has quit (Ping timeout: 244 seconds).
00:04:49 <zzo38> Well, I almost fixed the scrollbars
00:05:48 <HackEgo> 10) <fungot> GregorR-L: i bet only you can prevent forest fires. basically, you know. \ 13) <fizzie after embedding some of his department research into fungot> Finally I have found some actually useful purpose for it. \ 14) <fungot> oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing program. plea
00:06:26 -!- fungot has joined.
00:06:55 <izabera> i suspect that requirement applies to a bunch of other hosts such as google
00:07:33 <fizzie> Well, it's on this box to the left of my feet.
00:07:52 <fungot> izabera: ( lame alias yes)
00:07:59 <fizzie> fungot: It's not *that* lame.
00:07:59 <fungot> fizzie: this is what hygiene means " who" but kukka means " a few people
00:08:14 <fizzie> And that's not what "kukka" means, that's Finnish for "flower".
00:08:15 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube
00:08:18 -!- bb010g has joined.
00:08:46 <fungot> int-e: if you are using a decent scheme implementation with a decent ffi, and sarahbot can all be sane enough to consider yet though.
00:08:49 <fizzie> I'd like to make it speak TLS, but implementing that in Funge-98 seems like a bit of an effort.
00:09:04 <fungot> boily: i'm gonna have to suffice for most cases, it should say " no bignums that are less then 20 year old bot born in 1982.
00:09:10 <fizzie> boily: You know, the successor of SSL.
00:09:30 * boily has two many brainfarts...
00:09:45 <boily> I didn't ask anything. you didn't see nothing at all.
00:10:07 <int-e> . o O ( third level sorcerer )
00:13:18 -!- Phantom_Hoover has joined.
00:13:28 <int-e> `addquote <boily> what's a TLS? <fizzie> boily: You know, the successor of SSL. * boily has two many brainfarts... <boily> I didn't ask anything. you didn't see nothing at all.
00:13:34 <HackEgo> 1267) <boily> what's a TLS? <fizzie> boily: You know, the successor of SSL. * boily has two many brainfarts... <boily> I didn't ask anything. you didn't see nothing at all.
00:13:35 -!- adu has joined.
00:14:53 <HackEgo> 341) [on petrol] <ais523> oklofok: it's actually poisonous, so I advise against drinking it <Phantom_Hoover> ais523, also contains benzene, my carcinogen of choice.
00:15:33 <Phantom_Hoover> i think `quote exists to make me embarrassed of my teens
00:16:16 <shachaf> `quote Phantom_Hoover. `quantum_Hoover
00:16:35 <lambda-11235> Is there a System F interpreter, or a language that closely resembles System F?
00:17:41 <Phantom_Hoover> i'm guessing anyone who needs one just writes their own and there's no kind of standard implementations
00:17:55 <shachaf> GHC Core closely resembles System F.
00:17:56 <HackEgo> 14) <fungot> oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing program. please let me go... put me out! he's really a tricycle! pass him!
00:18:53 <HackEgo> 1055) <Taneb> I would like to learn how to use a sword <Taneb> And also how to ride a unicycle <Taneb> Perhaps not at the same time \ 1185) <Bike> learn you a unicycle for great good
00:19:12 <Taneb> Phantom_Hoover, I avoid this by having had literally no character development over the past 7 years
00:19:17 <Taneb> Also I am wearing a top hat
00:19:28 <Taneb> And still can't use a sword or ride a unicycle
00:19:55 <boily> Phantom_Hoover: you were a teenager once?
00:20:05 <Taneb> boily, three times!
00:20:25 <Phantom_Hoover> Taneb so much senseless embarrassment was suffered in discovering that hats are a terrible substitute for a personality
00:20:46 <Taneb> Phantom_Hoover, hence why I rarely wear this hat
00:21:02 <Taneb> I once wore a tie to a lecture, that was fun
00:22:03 <int-e> Taneb: now I'm wondering whether you wore anything else at the time. does that make me a bad person?
00:22:12 <boily> is that a Swedish chirp? that doesn't seem right at all whatsoever.
00:22:20 <Taneb> int-e, I was wearing jeans and a hoodie
00:22:30 <boily> Taneb's an experteenager.
00:23:45 <FireFly> Possibly a norwegian chirp
00:24:49 <Phantom_Hoover> Taneb is not a teenager any more, barring relativistic effects
00:24:59 <HackEgo> 24) <ais523> after all, what are DVD players for?
00:25:16 <int-e> ... wth was the context for that...
00:25:17 <Taneb> Phantom_Hoover, quite correct, I'm roughly 21
00:25:38 <int-e> (15 in hexadecimal)
00:25:57 <Taneb> My birthday is autumn
00:26:26 <Taneb> It's the entire season
00:26:42 -!- jaboja has quit (Ping timeout: 276 seconds).
00:26:51 <Taneb> And especially the 3rd of November
00:27:22 <Taneb> `quote Phantom_Hoover
00:27:23 <HackEgo> 104) * Phantom_Hoover wonders where the size of the compiled Linux kernel comes from. <cpressey> To comply with the GFDL, there's a copy of Wikipedia in there. \ 679) * Phantom_Hoover moves 0.5 Phantom_Hoover into the Atlantic, and captures fizzie's upper body with 0.5 Phantom_Hoover. <fizzie> Glurk.
00:28:45 <HackEgo> 33) <mycroftiv> [...] sometimes i cant get out of bed becasue the geometry of the sheet tangle is too fascinating from a topological perspective \ 38) <Octalnet> oklofok: I'm a tad over-apologetic. I apologize. \ 56) <fungot> i am sad ( of course by analogy) :) smileys) \ 62) <Sgeo|web> Where's the link to the log? <lament> THERE'S NO LOG. YOUR RE
00:28:48 <boily> fizzie glurks, atlantean chess.
00:29:15 -!- tromp_ has joined.
00:30:20 <HackEgo> 109) <fungot> CakeProphet: reading herbert might be enlightening in one hand he held a long worm can be greased. twice i got it nearly there, and the protector of cattle. mars is also mentioned as a rainbow. as a seated baboon sometimes with its head.
00:30:32 <int-e> fungot the novelist
00:30:32 <fungot> int-e: unusual, and interesting, makes me feel like you haven't attempted to use any atoms?
00:30:59 <int-e> fungot: you are right, I haven't, not individually anyway
00:30:59 <fungot> int-e: what is the meaning of all of the clients does that.
00:32:08 <Taneb> Phantom_Hoover, how did continuous chess work
00:33:29 <Taneb> Actually I'm gonna sleep now
00:33:33 <Taneb> Tell me some other time
00:35:34 <HackEgo> 242) <fungot> elliott: there go my minutes of research!!
00:35:41 <HackEgo> 424) [2008] <nooga> i'm testing Haiku <nooga> and it appears that it is a major shit <oerjan> 5+7+5, not 5+11, nooga
00:39:07 <HackEgo> 575) <Phantom_Hoover> I think the worst part of growing up is that it isn't retroactive.
00:39:14 -!- jaboja has joined.
00:39:29 <int-e> not a haiku... why isn't it a haiku... this world makes no sense!
00:40:52 <int-e> I think the worst part / of growing up is that it / isn't retroactive
00:42:28 <lambdabot> oerjan said 2h 16m 36s ago: <hppavilion[1]> zgrep: sin(x)+2*sin(x/2)+3*sin(x/3)+4*sin(x/4)... <-- i think that series doesn't converge for any real value other than x=0 (and if you mean that your generator is something other than the series limit for x=1,2,... then stop abusing notation hth
00:42:42 <boily> hppavilion[1]: it is customary to porthello Taneb in the vocative case: Tanelle.
00:42:55 <lifthrasiir> boily: oh, ja.wp has a whole article on that haiku: https://ja.wikipedia.org/wiki/%E5%8F%A4%E6%B1%A0%E3%82%84%E8%9B%99%E9%A3%9B%E3%81%B3%E3%81%93%E3%82%80%E6%B0%B4%E3%81%AE%E9%9F%B3
00:43:25 <boily> of course, it's only available in Japanese and Russian. why not.
00:44:33 -!- hppavilion[1] has left ("Leaving").
00:44:35 <boily> lifthrasiir: a favourite of mine is 名月や畳の上に松の影.
00:44:45 -!- hppavilion[1] has joined.
00:45:00 <int-e> hppavilion[1]: to me, "isn't" is a single syllable.
00:45:25 <lifthrasiir> I'm not well versed on haiku (and in general most forms of constrainted writing even in my native tongue), but yeah.
00:45:35 -!- Warrigal has changed nick to tswett.
00:45:48 <int-e> hppavilion[1]: sorry, you have no authority over my feelings.
00:45:49 <hppavilion[1]> int-e: Perhaps the pronunciations vary between our respective regions?
00:46:18 <int-e> But I'm not a native speaker of English either.
00:46:32 <int-e> "to me" <-- that makes it subjective rather than objective.
00:47:28 <hppavilion[1]> It was 3 syllables, then 1 syllable, then 4 syllables, then 1 syllable, then 5 syllables...
00:47:48 <hppavilion[1]> I later realized this was fucking stupid and more a math game than math
00:50:38 <shachaf> I had that nick registered for a while.
00:51:03 <int-e> . o O ( This sentence has eleven words, nineteen syllables and sixty-one letters. )
00:51:03 <boily> we could give cucumbers to the kappabot as a botsnack.
00:51:11 -!- adu has quit (Quit: adu).
00:51:33 <tswett> This sentence, on the other hand, has eighteen words, twenty-six syllables, and seventy-eight letters.
00:51:55 <tswett> Let's see. Sixteen words, there. Syllables...
00:51:56 <boily> where's that oerjanswatter again...
00:52:48 <tswett> > filter isLetter "This sentence, on the other hand, has eighteen words, twenty-six syllables, and seventy-eight letters."
00:52:49 <lambdabot> "Thissentenceontheotherhandhaseighteenwordstwentysixsyllablesandseventyeight...
00:52:50 <shachaf> This sentence has eighteen letters, sixteen syllables, and one lie.
00:52:55 <tswett> > length $ filter isLetter "This sentence, on the other hand, has eighteen words, twenty-six syllables, and seventy-eight letters."
00:53:19 <tswett> All right. Let's perturb it now.
00:53:33 <int-e> it works our with eighty-three, it seems
00:53:55 <tswett> Change "eighteen" to "sixteen". Still 16 words, still 25 syllables, now 81 letters instead of 82.
00:55:21 <tswett> If you change "twenty-six" to "twenty-five", there are still 16 words and 25 syllables, but 82 letters again. If you change it to "twenty-four"... exactly the same.
00:55:28 <tswett> So let me check this one:
00:55:48 <tswett> This sentence, on the other hand, has sixteen words, twenty-four syllables, and eighty-two letters.
00:56:21 <tswett> > length $ filter isLetter "This sentence, on the other hand, has sixteen words, twenty-four syllables, and eighty-two letters."
00:57:25 <tswett> Right... I didn't account for the changing of "seventy-eight" to "eighty-two".
00:57:39 <tswett> Which subtracts 3 letters, giving you 79.
00:58:53 <int-e> tswett has the right idea, you try 5 templates and 2 of them should work out
00:59:57 <tswett> If it's just "seventy", that's 77 letters. If you stick on -seven, that makes 82; stick on -eight, still 82; -nine, 81. "Eighty" gives you 76, "eighty-one" 79, "eighty-two" 79, "eighty-three" 81, "eighty-four" 80, and so forth.
01:00:22 <tswett> So this particular template doesn't seem to work. Maybe you can do something funky with the syllable count.
01:00:47 -!- madbr has joined.
01:03:29 -!- jaboja has quit (Ping timeout: 240 seconds).
01:05:39 <madbr> trying to figure out if there's an alternative to the standard CPU data cache
01:05:45 <madbr> you know the L1 data cache thing
01:06:28 <madbr> and the whole memory model where your operations are, like, load 1/2/4 bytes, or store 1/2/4 bytes, to address X
01:15:09 -!- XorSwap has joined.
01:18:44 -!- jaboja has joined.
01:20:57 -!- boily has quit (Quit: DATABASE CHICKEN).
01:36:31 -!- bender| has joined.
01:41:37 -!- jaboja has quit (Ping timeout: 265 seconds).
01:57:55 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
01:59:07 -!- bender| has quit (Ping timeout: 250 seconds).
02:02:15 -!- mihow has quit (Ping timeout: 276 seconds).
02:13:06 <izabera> amazon.it sent me an email saying that they changed my password because it was on a leaked list
02:15:21 -!- vifino has quit (Quit: Who turned this off?! D:<).
02:23:21 -!- vifino has joined.
02:32:23 -!- idris-bot has joined.
02:40:52 -!- andrew has joined.
02:46:27 -!- vifino has quit (Quit: Who turned this off?! D:<).
02:49:46 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
03:03:47 -!- XorSwap has quit (Quit: Leaving).
03:06:35 -!- jaboja has joined.
03:07:35 -!- oerjan has joined.
03:08:46 -!- bb010g has quit (Quit: Connection closed for inactivity).
03:09:01 <lambdabot> boily said 3h 25m 58s ago: byerjan!
03:09:10 -!- Opodeldoc has quit (Quit: Leaving).
03:10:59 -!- vifino has joined.
03:13:15 -!- vifino has quit (Client Quit).
03:16:06 <oerjan> <fizzie> Well, it's on this box to the left of my feet. <-- fungot, do you sometimes feel downtrodden?
03:16:07 <fungot> oerjan: ( the shift/ reset which i'm interested in other things as well?
03:16:34 <oerjan> i guess it's not much on its mind
03:17:16 -!- mihow has joined.
03:18:57 <oerjan> @tell fizzie i think fungot wants you to stop hitting its reset button with your feet twh
03:18:58 <fungot> oerjan: i think it does? i assume he does eventually get there. ( yes, i'm just tired
03:19:18 <oerjan> fungot: it does seem statistically likely
03:19:19 <fungot> oerjan: you asked about alpha channels, right? set! if the same functionality
03:19:32 <oerjan> fungot: i think you're confusing me with someone else.
03:19:32 <fungot> oerjan: ( a...)" in there, bsmntbombdood? people can like both.
03:19:36 -!- izabera_ has joined.
03:19:53 -!- vifino has joined.
03:22:39 <oerjan> fungot: i haven't seen bsmntbombdood for ages. also, typing with one hand while eating pizza is slow.
03:24:03 <oerjan> fungot: this isn't going to work, is it?
03:24:44 -!- pdxleif_ has joined.
03:34:01 -!- mihow has quit (Ping timeout: 255 seconds).
03:36:05 -!- mihow has joined.
03:44:09 -!- hppavilion[1] has joined.
03:46:43 -!- mihow has quit (Ping timeout: 248 seconds).
03:49:24 -!- bb010g has joined.
03:54:45 -!- izabera_ has quit (Quit: ZNC - 1.6.0 - http://znc.in).
03:55:17 <HackEgo> 1267) <boily> what's a TLS? <fizzie> boily: You know, the successor of SSL. * boily has two many brainfarts... <boily> I didn't ask anything. you didn't see nothing at all.
03:55:22 -!- mihow has joined.
03:56:23 <oerjan> `` sed -i '1267s/ [<*]/ &/' quotes; quote 1267
03:56:28 <HackEgo> 1267) <boily> what's a TLS? <fizzie> boily: You know, the successor of SSL. * boily has two many brainfarts... <boily> I didn't ask anything. you didn't see nothing at all.
03:56:51 <HackEgo> rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/env/.hg/store/data/canary.orig': Is a directory \ Done.
03:56:52 <oerjan> `` sed -i '1267s/ [<*]/ &/g' quotes; quote 1267
03:56:59 <HackEgo> 1267) <boily> what's a TLS? <fizzie> boily: You know, the successor of SSL. * boily has two many brainfarts... <boily> I didn't ask anything. you didn't see nothing at all.
04:00:09 <oerjan> @tell Phantom_Hoover <Phantom_Hoover> i think `quote exists to make me embarrassed of my teens <-- you embarass too easily, try to get more in touch with your inner teenager hth
04:01:27 <HackEgo> quoteformat is: <nick> message; * nick action; two spaces between messages; all elisions marked with [...] other than irrelevant intervening messages; for messages separated by elision, one space on each side, not two.
04:02:22 <oerjan> @tell int-e `` \? quoteformat #
04:03:52 <oerjan> `` allquotes | grep '[^] ] <' | tail -3
04:03:53 <HackEgo> 1265) <lambdabot> "on the oehtr hadn, sinortg olny the ideinss of wdors is pceeflrty raabdeel,... <fizzie> Well, maybe pceeflrty is a bit too strong a word here. \ 1266) <coppro> actually a small trebuchet onto the balcony might work \ 1267) <boily> what's a TLS? <fizzie> boily: You know, the successor of SSL. * boily has two many brainfarts...
04:04:19 <oerjan> `` allquotes | grep '[^)] ] <' | tail -3
04:04:48 <oerjan> `` | grep '[^] ] <' quotes | tail -3
04:04:49 <HackEgo> /hackenv/bin/`: eval: line 4: syntax error near unexpected token `|' \ /hackenv/bin/`: eval: line 4: `| grep '[^] ] <' quotes | tail -3'
04:04:56 <oerjan> `` grep '[^] ] <' quotes | tail -3
04:04:57 <HackEgo> <oerjan> `quote 1146 <HackEgo> 1146) <oerjan> OKAY \ IN AN ALTERNATE UNIVERSE WHERE SGEO DOES NATLANGS INSTEAD OF PROGLANGS: <Sgeo> Jeg vet ikke om norsk er noe for meg, i vs. på for stedsnavn virker veldig kronglete. \ <elliott> `addquote <olsner> boily: thanks for getting quoted saying django btw, now I'm only in 87.5% of the django quotes [
04:05:32 <oerjan> `` grep '[^] ] <' quotes | tail -2
04:05:33 <HackEgo> IN AN ALTERNATE UNIVERSE WHERE SGEO DOES NATLANGS INSTEAD OF PROGLANGS: <Sgeo> Jeg vet ikke om norsk er noe for meg, i vs. på for stedsnavn virker veldig kronglete. \ <elliott> `addquote <olsner> boily: thanks for getting quoted saying django btw, now I'm only in 87.5% of the django quotes [...] <olsner> ah, the inevitable result of mentioning dja
04:07:37 -!- mihow has quit (Ping timeout: 240 seconds).
04:07:51 <oerjan> `` allquotes | grep '[^]) ] <' | tail -3
04:07:52 <HackEgo> 1099) <metasepia> `addquote \item <elliott\_> `addquote <olsner> two quotes about quotes about django <olsner> I guess the worst part is that I appear in all three hackego quotes about django \\ <olsner> elliott\_: another quote? you're not helping \texttt{:/} ← and three giraffes. \ 1211) IN AN ALTERNATE UNIVERSE WHERE SGEO DOES NATLANGS INSTEAD
04:08:47 <oerjan> `` allquotes | grep '[^]) ] <' | paste
04:08:53 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.6824
04:11:58 -!- mihow has joined.
04:12:56 * oerjan finds no other new clear violations
04:18:19 -!- bender| has joined.
04:21:51 -!- Treio has joined.
04:22:00 -!- mihow has quit (Ping timeout: 276 seconds).
04:29:12 <zzo38> Athena style scrollbars for Firefox: http://sprunge.us/VJeP
04:29:55 -!- jaboja has quit (Ping timeout: 248 seconds).
04:33:50 -!- Treio has quit (Quit: Leaving).
04:35:21 -!- mihow has joined.
04:35:56 <oerjan> > length $filter isAlpha "This sentence has eleven words, nineteen syllables and sixty-one letters"
04:37:40 <zzo38> FreeFull: http://zzo38computer.org/img_19/firefox.png
04:38:08 <zzo38> (The screenshot doesn't show much, and it doesn't really look exactly like Athena scrollbars, although it acts like it)
04:38:53 <FreeFull> Does xterm's scrollbar behave similar to the Athena ones?
04:39:08 <zzo38> Yes; xterm's scrollbars are Athena ones.
04:39:17 <pikhq> xterm's scrollbar is an Athena widget.
04:39:21 <zzo38> (By default anyways; it is possible to compile it with different widgets)
04:41:04 <pikhq> That being what libXaw is.
04:42:04 -!- mihow has quit (Ping timeout: 240 seconds).
04:42:14 <zzo38> (You can also see other customizations of the browser that I have made, such as the lack of toolbars and menus, and there are no icons on the tab bar either)
04:43:27 <FreeFull> zzo38: I thought xterm did its own custom thing
04:43:52 <FreeFull> It's actually older than X itself
04:44:25 <zzo38> Yes I know that, but it does use Athena widgets, since now it is a program for X
04:47:58 -!- mihow has joined.
04:49:44 -!- XorSwap has joined.
04:52:49 -!- mihow has quit (Ping timeout: 240 seconds).
04:55:22 -!- mihow has joined.
05:01:17 -!- Guest20424 has joined.
05:02:13 -!- mihow has quit (Ping timeout: 255 seconds).
05:12:29 -!- nisstyre has quit (Changing host).
05:12:29 -!- nisstyre has joined.
05:13:03 -!- oerjan has quit (Quit: Later).
05:15:00 -!- MDude has quit (Ping timeout: 250 seconds).
05:15:23 -!- mihow has joined.
05:22:03 -!- mihow has quit (Ping timeout: 240 seconds).
05:30:08 <hppavilion[1]> pikhq: No, sixty-one is two words. There's just a hyphen.
05:30:50 <hppavilion[1]> If we consider hyphen chains to be one word, then "the I-am-the-walrus-and-you-should-fear-my-wrath kid" is just 3 words
05:31:35 <hppavilion[1]> This sentence has some number of words, syllables, and letters that I'm too lazy to deduce
05:33:52 <madbr> 'words' are not that well defined irl
05:34:10 <madbr> though in english it's not too bad
05:35:25 -!- mihow has joined.
05:36:33 <madbr> as a particular combination of words is used together, it becomes an expression, then a locution, then it gets a hyphen, then both parts are written together, then it starts having phonetic fusion etc
05:38:30 <hppavilion[1]> madbr: Are you just mad with a new nick, or someone else?
05:38:58 <hppavilion[1]> Yes is not an acceptable answer to an either/or question
05:39:00 <madbr> it's just my alt nick on networks where the nick 'mad' isn't available
05:39:58 <madbr> in theory the full version is "madbrain" but I rarely use that
05:41:10 <hppavilion[1]> madbr: Do you want to make an intricate, unlikely, and convoluted conspiracy theory about "Big Computer Science"?
05:42:18 -!- mihow has quit (Ping timeout: 250 seconds).
05:49:23 -!- XorSwap has quit (Quit: Leaving).
05:55:20 -!- mihow has joined.
05:58:03 -!- adu has joined.
06:08:54 -!- mihow has quit (Ping timeout: 265 seconds).
06:09:01 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
06:10:41 <zzo38> madbr: Do you like Athena widgets?
06:14:17 -!- hppavilion[1] has joined.
06:15:22 -!- mihow has joined.
06:22:27 -!- mihow has quit (Ping timeout: 244 seconds).
06:35:22 -!- mihow has joined.
06:42:11 -!- mihow has quit (Ping timeout: 248 seconds).
06:42:41 -!- lambda-11235 has quit (Quit: Bye).
06:55:41 -!- mihow has joined.
07:03:12 -!- mihow has quit (Ping timeout: 276 seconds).
07:10:16 -!- andrew has quit (Remote host closed the connection).
07:12:53 -!- andrew has joined.
07:14:46 -!- adu has quit (Quit: adu).
07:15:22 -!- mihow has joined.
07:16:10 <hppavilion[1]> I'm learning haskell by implementing an Esolang :)
07:17:30 <Elronnd> By the way, hi hppavilion[1] :)
07:17:41 * izabera is pretty sure that almost everyone here knows esolangs are a waste of time
07:18:38 <hppavilion[1]> izabera: Apparently, they're not, unless you also consider Haskell to be a waste of time
07:20:08 <hppavilion[1]> But not the fungeoidal part OR the self-modification part xD
07:22:24 -!- mihow has quit (Ping timeout: 250 seconds).
07:22:42 -!- AnotherTest has joined.
07:27:10 -!- AnotherTest has quit (Ping timeout: 250 seconds).
07:35:24 -!- mihow has joined.
07:42:18 -!- mihow has quit (Ping timeout: 250 seconds).
07:52:21 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
07:55:34 -!- tromp_ has quit (Remote host closed the connection).
07:55:51 -!- mihow has joined.
08:02:56 -!- mroman has joined.
08:08:51 -!- mihow has quit (Ping timeout: 276 seconds).
08:15:42 -!- mihow has joined.
08:21:20 <b_jonas> izabera: they're not wastes of time! they're very exaggerated examples, but we can learn real useful lessons about computer science and programming language design from them.
08:22:19 -!- mihow has quit (Ping timeout: 244 seconds).
08:22:34 <b_jonas> (It's stupid brainfuck variants that are a waste of time.)
08:24:10 <Riviera> izabera: is poetry a waste of time? :P
08:24:47 <lifthrasiir> b_jonas: we need a brainfuck generator which will end all the BF derivatives
08:35:19 -!- mihow has joined.
08:42:04 -!- J_Arcane has quit (Ping timeout: 240 seconds).
08:42:25 -!- mihow has quit (Ping timeout: 240 seconds).
08:43:40 <b_jonas> lifthrasiir: someone has written a random stupid brainfuck equivalent generator once. That's how http://esolangs.org/wiki/Btjzxgquartfrqifjlv was born.
08:44:16 <lifthrasiir> b_jonas: I was thinking about regex-based dynamic parser
08:44:53 <b_jonas> see also http://esolangs.org/wiki/TrivialBrainfuckSubstitution
08:54:59 -!- earendel has quit (Ping timeout: 248 seconds).
08:55:19 -!- mihow has joined.
08:56:06 -!- tromp_ has joined.
08:56:17 -!- earendel has joined.
09:00:20 -!- tromp_ has quit (Ping timeout: 250 seconds).
09:01:23 -!- earendel has quit (Ping timeout: 248 seconds).
09:02:31 -!- mihow has quit (Ping timeout: 255 seconds).
09:04:43 -!- earendel has joined.
09:10:05 -!- zadock has joined.
09:13:53 -!- ais523 has joined.
09:15:20 -!- mihow has joined.
09:22:43 -!- mihow has quit (Ping timeout: 265 seconds).
09:35:23 -!- mihow has joined.
09:37:19 -!- zadock has quit (Quit: Leaving).
09:43:06 -!- mihow has quit (Ping timeout: 276 seconds).
09:55:22 -!- mihow has joined.
10:05:44 -!- mihow has quit (Ping timeout: 265 seconds).
10:07:37 -!- AnotherTest has joined.
10:17:14 <b_jonas> If I write "this frame" without any preposition as a time determiner in an English sentence, in code comments I write, does that mean I'm influenced too much by M:tG, which uses "this turn" similarly?
10:19:02 <ais523> I don't think so, "this week" is used in that sense in English
10:19:15 <ais523> the only reason it's rarely used for smaller time periods is that we have specific words for them like "today"
10:22:52 <b_jonas> (And now I'm reminded to the not really relevant phrase, "Marry Jaffar... or die within the hour.", from the introduction of Prince of Persia.)
10:23:34 <Taneb> ais523, this minute is relatively common
10:23:45 <b_jonas> Taneb: so is "this instant"
10:23:45 <Taneb> As in, "You'd better do the thing right this minute!"
10:27:21 <b_jonas> Ok, I should just be careful to use it only if it can't be misunderstood as an object.
10:28:33 <ais523> Taneb: now I'm trying to figure out what "right" is modifying in that sentence
10:28:42 <ais523> normal English grammar rules would have it modifying "do" but it clearly isn't
10:36:00 <b_jonas> ais523: why not? I think it's an adverb modifying "do"
10:36:15 <b_jonas> (but don't trust me on English grammar)
10:36:21 <ais523> b_jonas: it's an idiom, and it doesn't mean "correctly"
10:36:32 <ais523> I /think/ it's being used as an intensifier
10:36:41 <ais523> but intensifiers modify adjectives, normally
10:36:47 <ais523> (e.g. "right honourable")
10:42:24 -!- ais523 has quit.
11:06:59 -!- bender| has quit (Ping timeout: 240 seconds).
11:22:54 -!- callforjudgement has joined.
11:23:01 -!- callforjudgement has changed nick to ais523.
11:24:55 -!- ais523 has quit (Read error: Connection reset by peer).
11:28:16 -!- ais523 has joined.
11:29:22 -!- ais523 has quit (Client Quit).
11:30:05 <izabera> you could have written a haiku but you didn't because it's a waste of time
11:30:10 -!- callforjudgement has joined.
11:35:34 -!- callforjudgement has quit (Ping timeout: 240 seconds).
11:38:15 -!- mihow has joined.
11:38:31 -!- callforjudgement has joined.
11:39:58 -!- boily has joined.
11:42:43 -!- mihow has quit (Ping timeout: 255 seconds).
11:42:49 -!- callforjudgement has quit (Ping timeout: 240 seconds).
11:53:57 -!- andrew has quit (Remote host closed the connection).
11:55:23 -!- mihow has joined.
11:57:04 -!- tromp_ has joined.
12:01:27 -!- tromp_ has quit (Ping timeout: 250 seconds).
12:08:42 -!- mihow has quit (Ping timeout: 276 seconds).
12:18:30 -!- mihow has joined.
12:20:07 -!- boily has quit (Quit: THRESHOLD CHICKEN).
12:22:00 -!- ais523 has joined.
12:22:40 -!- mihow has quit (Ping timeout: 250 seconds).
12:23:22 <ais523> [CTCP] Received CTCP-PING reply from ais523: 30 seconds.
12:23:24 <ais523> also, looking at the lower level details
12:23:32 <ais523> a packet someone tried to send me was retransmitted 514 times
12:23:50 <ais523> talk about a malfunctioning connection
12:23:57 <ais523> (in the space of a second or so)
12:24:15 <ais523> something must have been sending spurious retransmission requests
12:25:12 -!- bender| has joined.
12:25:31 <APic> What Line are You on?
12:25:46 <APic> Amateur Radio?
12:26:02 <ais523> work wireless connection
12:26:04 <ais523> we suspect the routers are buggy
12:26:08 <APic> 13:26:03 CTCP PING reply from ais523: 18.803 seconds
12:26:42 <APic> Maybe Switches which do not talk Spanning-Tree-Protocol
12:26:46 <APic> Then there can be Loops
12:26:48 <ais523> hmm, right now there's a keepalive spam
12:33:33 -!- daniela123 has joined.
12:35:30 -!- mihow has joined.
12:35:38 <HackEgo> daniela123: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
12:36:26 -!- Melvar`` has changed nick to Melvar.
12:36:56 -!- ais523 has quit.
12:37:27 -!- callforjudgement has joined.
12:37:34 -!- callforjudgement has changed nick to ais523.
12:41:50 <ais523> this connection is really unreliable :-(
12:42:01 <ais523> sorry if I don't respond to what people are saying
12:42:12 <ais523> either I'm not seeing it, or I am but you can't see my response, or I just don't have anything to say
12:43:03 -!- mihow has quit (Ping timeout: 250 seconds).
12:43:51 * ais523 wonders if it got through that time
12:48:15 <ais523> 4% [267 libqt4-dbg 87.7 MB/121 MB 72%] 2,923 PB/s 0s
12:48:22 <ais523> that's one fast connection
12:48:29 <ais523> or possibly a connection so slow it negatively underflowed
12:49:13 <ais523> how do I output a bignum in hexadecimal using a bot in the channel? I assume there's some Haskell standard library function for it but I don't know what it is
12:50:39 <ais523> `` perl -MMath::Bigint -e 'my $b = new Math::BigInt("2923000000000000"); print $b->as_hex();'
12:50:46 <HackEgo> Can't locate Math/Bigint.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .). \ BEGIN failed--compilation aborted.
12:50:54 <ais523> `` perl -MMath::BigInt -e 'my $b = new Math::BigInt("2923000000000000"); print $b->as_hex();'
12:51:05 <b_jonas> ``` dc -e16o2923000000000000p
12:51:25 <ais523> hmm, I was expecting it to be close to a round number in hex
12:51:38 <b_jonas> ais523: http://www.perlmonks.com/?node_id=849259 lists some possibilities
12:52:09 <ais523> hmm, the "easiest perl solution" is the one I came up with
12:52:15 <ais523> although I had to look up the spelling of as_hex
12:53:25 <ais523> the "hadd" function there is pretty much what Math::BigInt::Calc does internally, isn't it?
12:54:44 <b_jonas> ais523: no, hadd works in hexadecimal, whereas I think Math::BigInt::Calc is decimal, the decimal calculation is shown later in the reply, in the function dalu
12:55:03 <ais523> b_jonas: hadd is converting decimal to hex, isn't it?
12:55:09 <myname> i first read it as "perlmonkeys" and was tempted to click it
12:55:17 <ais523> you don't convert decimal to hex "in" decimal or hex
12:55:20 <b_jonas> ais523: and I think Math::BigInt::Calc groups multiple digits together so that it's faster
12:55:30 <b_jonas> ais523: you can do the calculatoin in two ways
12:55:41 -!- mihow has joined.
12:56:05 <b_jonas> you have to be able to do additions of bignums (as well as multiplication of one digit with a bignum) in either decimal or hexadecimal
12:56:12 <b_jonas> either of that is enough to do a base conversion
12:56:18 <b_jonas> but they lead to two different algorithms
12:56:30 <b_jonas> see Knuth vol 2 which explains the theory more clearly
12:57:53 <b_jonas> The "hadd" function itself doesn't convert anything, it only does a bignum addition, where the bignums are represented as arrays of base 16 numbers, it's the rest of the code that build a decimal to hex conversion from this.
12:59:27 <b_jonas> Whereas the dalu function does a bignum add/subtract/compare operation on two bignums, represented as arrays of digits in base 10, and the rest of the code under that does the decimal to hexadecimal conversion.
13:00:10 <ais523> the unary to decimal conversion I wrote in PMMN works via first building a decimal number with the digits in reverse order, and then reversing the digits
13:00:19 <ais523> minsky machines make you do weird things sometimes
13:00:27 <ais523> ssapmmn will hopefully eventually be able to optimize the whole thing into an array walk
13:00:29 <b_jonas> zzo38 might be able to explain this better, he's bested me in bignum calculation obfu stuff
13:00:53 <ais523> obfuscated bignums isn't a field I've thought much about
13:00:59 <ais523> (bignums generally are something that come up quite a lot, though)
13:01:11 <b_jonas> it started with non-obfuscated educational purpose bignums really
13:01:22 <b_jonas> (I don't write serious optimized bignum code, because there's already good enough ones.)
13:01:41 <b_jonas> (People keep writing them for crypto purposes.)
13:02:20 <b_jonas> So I wrote http://www.math.bme.hu/~ambrus/pu/Bin.hs which is educational purpose base 2 arithmetic implementation
13:02:59 -!- mihow has quit (Ping timeout: 240 seconds).
13:03:03 <b_jonas> But later it devolved to that dec->hex stuff and to http://www.perlmonks.com/?node_id=989716 and to zzo38's implementation of addition in negazeckendorf
13:03:18 <b_jonas> which is at https://github.com/int-e/zeckendorf by the way
13:03:32 <ais523> I'll need to use some specialized bignum stuff for ssapmmn eventually
13:03:38 -!- daniela123 has left.
13:03:39 <ais523> but so far it only compiles to (a rather unusual) IR
13:03:47 <b_jonas> ais523: there are actual optimized libraries for that
13:04:17 <ais523> they're probably not optimized for minsky machines
13:04:39 <ais523> which sometimes care about storing a number in a specific base, and sometimes care about storing a number as a multiset of its prime factors
13:04:53 <ais523> and only very rarely use a number for its actual numerical value
13:07:06 <b_jonas> ruby -e'puts "%x"%2923000000000000' # works too, although iirc not in HackEgo
13:08:11 <ais523> % is a printf operator?
13:08:47 <ais523> I'm not really sure sprintf needs to have an operator name, especially not a 1-character name
13:11:13 <b_jonas> ais523: yes, a sprintf operator (also modulus operator)
13:11:27 <b_jonas> I think they took the idea from early python versions or something
13:13:27 -!- tromp_ has joined.
13:15:23 -!- mihow has joined.
13:17:34 -!- tromp_ has quit (Ping timeout: 240 seconds).
13:22:43 -!- mihow has quit (Ping timeout: 248 seconds).
13:22:49 -!- ais523 has quit (Remote host closed the connection).
13:24:00 -!- ais523 has joined.
13:32:12 <ais523> so, a programming style I've been considering for a hobby project (basically the same sort of thing as demoscene, so not exactly eso but there's a lot in common) is branchless programming
13:32:39 <ais523> the reason being that many instructions have to run on specific clock cycles, and branches tend to screw up the timing
13:34:07 -!- tromp_ has joined.
13:35:20 -!- mihow has joined.
13:42:49 -!- mihow has quit (Ping timeout: 240 seconds).
13:55:23 -!- mihow has joined.
14:01:25 * ais523 wonders what sequence of dependencies lead to the ADA Reference Manual being installed
14:01:43 <ais523> oh well, I've been vaguely interested in Ada for a while, might be worth reading it
14:06:43 -!- spiette has joined.
14:07:04 <ais523> it's probably related to GHDL, come to think of it; isn't that written in Ada?
14:07:59 -!- mihow has quit (Ping timeout: 240 seconds).
14:13:06 -!- Treio has joined.
14:13:16 -!- Treio has quit (Remote host closed the connection).
14:25:42 -!- ais523 has quit (Read error: Connection reset by peer).
14:25:58 -!- ais523 has joined.
14:26:07 <b_jonas> ais523: branchless programming can be interesting as an eso-practice, especially because it can help in real world optimization where you want to eliminate some branches (but not all, specifically eliminate those conditional branches and indirect jumps where the CPU can't predict the condition or destination resp well enough, provided the branhces are in a performance-critical section of the code).
14:26:38 <ais523> b_jonas: I'm planning to use a timer interrupt to create a lopo
14:26:38 <b_jonas> (And even then eliminate only if the alternative isn't worse.)
14:26:52 <ais523> thus no branch nor unconditional jump instructions anywhere :-)
14:27:25 <b_jonas> ais523: um, this on what platform? where do you have a stable enough timer interrupt? Atari?
14:27:45 <b_jonas> no wait, the Atari interrupts only once per frame
14:27:57 <ais523> b_jonas: NES, and yes, once per frame
14:28:42 <b_jonas> how much RAM does that have?
14:28:47 -!- `^_^ has joined.
14:29:32 <ais523> b_jonas: it depends on what sort of RAM you're counting; the CPU can directly address 0x800 bytes of RAM inside the NES itself
14:29:53 <ais523> and can indirectly address some amount of GPU RAM too via the equivalent of a system call
14:29:54 <ais523> additionally it's also possible that there's RAM on the cartridge (although many cartridges have no RAM)
14:31:16 <ais523> you also have quite a lot of ROM (0x2000 minimum ROM directly addressible by the CPU, I think, but you can easily have much more if you want it by using a more expensive model of cartridge)
14:31:52 <b_jonas> I prefer programming these more powerful modern PCs these days.
14:35:44 -!- mihow has joined.
14:36:57 <b_jonas> if you use no branches or jumps at all, then you might need lots of address space available for the code
14:37:07 <b_jonas> either in ROM or writable or a combination
14:43:06 -!- mihow has quit (Ping timeout: 244 seconds).
14:46:59 -!- AnotherTest has quit (Ping timeout: 240 seconds).
14:55:05 -!- lambda-11235 has joined.
14:55:24 -!- mihow has joined.
14:56:13 -!- J_Arcane has joined.
15:03:04 -!- mihow has quit (Ping timeout: 240 seconds).
15:05:53 -!- mroman has quit (Quit: Lost terminal).
15:15:30 -!- mihow has joined.
15:16:25 -!- bender| has quit (Ping timeout: 240 seconds).
15:22:57 -!- mihow has quit (Ping timeout: 250 seconds).
15:35:32 -!- mihow has joined.
15:42:28 -!- madbr has quit (Ping timeout: 250 seconds).
15:43:19 -!- mihow has quit (Ping timeout: 250 seconds).
15:55:22 -!- mihow has joined.
15:56:49 -!- lambda-11235 has quit (Quit: Bye).
16:03:53 -!- Faisal has joined.
16:07:29 -!- spiette has quit (Ping timeout: 240 seconds).
16:08:13 -!- mihow has quit (Ping timeout: 255 seconds).
16:10:18 -!- adu has joined.
16:13:00 -!- J_Arcane has quit (Ping timeout: 244 seconds).
16:18:39 -!- mihow has joined.
16:19:24 -!- J_Arcane has joined.
16:23:10 -!- mihow has quit (Ping timeout: 250 seconds).
16:35:23 -!- mihow has joined.
16:39:17 -!- spiette has joined.
16:43:04 -!- adu has quit (Quit: adu).
16:43:15 -!- mihow has quit (Ping timeout: 248 seconds).
16:53:44 -!- mihow has joined.
16:57:07 -!- ais523 has quit.
16:57:22 -!- ais523 has joined.
17:01:44 -!- Faisal has quit (Quit: If you're not living on the edge, you're taking up too much space).
17:02:25 -!- mihow has quit (Ping timeout: 240 seconds).
17:03:59 -!- callforjudgement has joined.
17:04:29 -!- ais523 has quit (Disconnected by services).
17:04:31 -!- callforjudgement has changed nick to ais523.
17:07:00 -!- ais523 has quit (Client Quit).
17:07:00 -!- callforjudgement has joined.
17:08:23 -!- callforjudgement has changed nick to ais523.
17:11:32 -!- tromp_ has quit (Remote host closed the connection).
17:14:29 -!- J_Arcane has quit (Ping timeout: 244 seconds).
17:15:23 -!- mihow has joined.
17:16:11 -!- AnotherTest has joined.
17:18:35 -!- ais523 has quit (Remote host closed the connection).
17:19:44 -!- ais523 has joined.
17:22:54 -!- ais523 has quit (Read error: Connection reset by peer).
17:22:59 -!- mihow has quit (Ping timeout: 240 seconds).
17:24:00 -!- ais523 has joined.
17:24:42 -!- carado has quit (Quit: Leaving).
17:25:17 -!- ais523 has quit (Remote host closed the connection).
17:25:32 -!- ais523 has joined.
17:28:46 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:35:24 -!- mihow has joined.
17:36:50 -!- ais523 has quit.
17:36:59 -!- ais523 has joined.
17:38:07 -!- ais523 has quit (Remote host closed the connection).
17:38:40 -!- ais523 has joined.
17:39:22 -!- ais523 has quit (Read error: Connection reset by peer).
17:39:46 -!- ais523 has joined.
17:41:22 -!- carado has joined.
17:42:40 <ais523> wow, weird effect during distro upgrades
17:42:54 -!- mihow has quit (Ping timeout: 244 seconds).
17:43:00 <ais523> Firefox is replacing some letter sequences, like ff and fi, with ligatures
17:43:08 <ais523> but they're the wrong ligatures
17:43:26 -!- hppavilion[1] has joined.
17:43:27 <ais523> "ff" is an "ft" ligature (which Effi didn't have one of?)
17:43:36 <ais523> and "fi" is an "st" ligature
17:44:06 <ais523> and "ffi" appears to be a "ut" or maybe "uti" ligature, or perhaps it isn't a ligature at all
17:44:16 <ais523> unfortunately I can't copy-paste them, I get the letters it's supposed to be
17:45:19 -!- bb010g has joined.
17:46:31 <Taneb> ais523: screenshot?
17:48:03 -!- p34k has joined.
17:48:06 <ais523> screenshot program appears to be broken due to the distro upgrade
17:48:23 <ais523> don't have a camera on me
17:49:08 <Taneb> .......put your monitor in a scanner?
17:49:18 <Taneb> (I'm grasping at straws here)
17:51:02 <ais523> I'm trying to capture an image via command-line tools
17:52:01 -!- ais523 has quit (Remote host closed the connection).
17:53:20 -!- ais523 has joined.
17:53:33 <ais523> Taneb: http://nethack4.org/pastebin/1325.png
17:54:13 <myname> oh, you are a nethack dev?
17:54:25 <ais523> imagemagick still seems to work, I got the screenshot using that and xwininfo
17:54:42 <ais523> myname: nethack 4's the fanmade project to continue NetHack, we did it because we thought the devteam were unlikely to produce anything
17:54:56 -!- ais523 has quit (Remote host closed the connection).
17:55:17 -!- ais523 has joined.
17:55:20 -!- mihow has joined.
17:55:28 <ais523> <ais523> myname: nethack 4's the fanmade project to continue NetHack, we did it because we thought the devteam were unlikely to produce anything
17:55:37 <Taneb> ais523: that did go through
17:55:40 <ais523> although they did eventually put out a new version, we're probably ahead (unclear, though)
17:55:44 <Taneb> ais523: myname replied "i see"
17:55:56 <ais523> also scrolling has stopped working in my terminal for some reason
17:56:02 <ais523> distro upgrade breakage is often bizarre
17:56:08 <Taneb> ais523: has nethack4 merged anything from nethack proper after it forked?
17:59:24 -!- ais523 has quit (Remote host closed the connection).
18:01:42 -!- ais523 has joined.
18:05:49 <ais523> oh and "fl" still renders as "fl" but with what looks like an em space after it
18:06:20 <myname> ais523: wjy not make a new rl instead of nethack?
18:06:35 <ais523> it's something I've considered
18:06:55 <ais523> however I consider NetHack to be a great game held back by a few superficial problems (i.e. ones that can be fixed without replacing the whole thing)
18:07:24 <myname> well, i like it too, but there are a bunch of other interesting ones
18:07:34 <myname> also, i have to seriously start mine
18:08:18 -!- jaboja has joined.
18:08:21 <myname> for example, i like chessrl and gruesome
18:08:56 <myname> in chessrl your opponents are chess pieces and after klling enough of one kind you inherit its movement patterns
18:09:37 <myname> in guresome you are some dark creature that has to hunt adventurers in a dungeon without getting seen
18:10:11 -!- mihow has quit (Ping timeout: 248 seconds).
18:12:03 <myname> my idea is to be a guide for some tourists that has to make the visit of the dungeon to be as comfortable as possible for the tourist
18:12:26 -!- tromp_ has joined.
18:12:36 <myname> you will earn more money the more comfortable they feel
18:13:09 <myname> but i plan on a longterm skill system, that won't exactly qualify as a rl
18:15:03 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
18:16:45 -!- hppavilion[1] has joined.
18:16:55 -!- tromp_ has quit (Ping timeout: 255 seconds).
18:18:18 -!- ais523 has quit (Remote host closed the connection).
18:18:44 -!- ais523 has joined.
18:19:02 -!- ais523 has quit (Remote host closed the connection).
18:19:17 -!- ais523 has joined.
18:22:13 -!- lambda-11235 has joined.
18:29:35 -!- ais523 has quit (Remote host closed the connection).
18:30:30 -!- ais523 has joined.
18:34:11 <zzo38> I just used "xwd" to make screenshots and don't have problem, can you use that? Pipe xwd to ImageMagick
18:34:12 -!- mihow has joined.
18:35:58 <ais523> imagemagick can screencapture itself
18:36:06 <ais523> and given the circumstances, I needed a program that was already installed
18:36:28 <zzo38> The screencapture function of ImageMagick doesn't work for me somehow
18:36:48 <zzo38> (I get a picture of the correct size but it is blank)
18:43:59 -!- ais523 has quit (Remote host closed the connection).
18:55:45 -!- zadock has joined.
19:08:51 -!- Treio has joined.
19:16:03 -!- zadock has quit (Ping timeout: 240 seconds).
19:19:35 -!- lynn has joined.
19:20:49 -!- jaboja has quit (Ping timeout: 255 seconds).
19:21:34 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
19:24:25 -!- hppavilion[1] has joined.
19:29:28 -!- zadock has joined.
19:32:23 <shachaf> hppavilion[1]: you should read the haskell faq, yo
19:32:25 <lambdabot> http://www.haskell.org/haskellwiki/FAQ
19:33:25 -!- Treio has quit (Ping timeout: 250 seconds).
19:34:21 <shachaf> the questions you're asking ("why have an IO type when only one instruction does IO") have been asked and answered thousands of times before, and you can get better answers than some off-the-cuff thing people happen to type in irc
19:34:42 -!- Treio has joined.
19:35:53 <zzo38> Well, I can answer some things
19:37:06 <myname> huh? only one instruction?
19:39:12 <zzo38> In Haskell all function and definition are pure (except unsafe operations), so IO monad means that the value is a IO action to be performed (possibly multiples)
19:40:14 <zzo38> For example to read one character from input would be type (IO Char) because it is operation of I/O, which would resulting something Char which can then be used for computing further I/O logic.
19:41:33 -!- MoALTz has quit (Quit: Leaving).
19:43:43 -!- ais523 has joined.
19:45:14 -!- Treio has quit (Quit: Leaving).
19:52:12 <lambda-11235> hppavilion[1]: IO is actually a function defined as IO a = RealWorld -> (RealWorld, a). Conceptually your whole program is a function that transforms the real world.
19:52:20 -!- MoALTz has joined.
19:52:30 -!- jaboja has joined.
19:55:54 <shachaf> Well, the line of questioning.
19:56:14 <myname> hppavilion[1]: there is a bf derivate that does that pretty easy
19:56:56 <lambda-11235> You can't write a function IO a -> a because you don't have access to the RealWorld.
19:56:57 <hppavilion[1]> shachaf: I just was wondering why I couldn't do IO in a function then /not/ return an IO object
19:57:16 <shachaf> lambda-11235: There's no RealWorld in Haskell.
19:59:37 <lambda-11235> shachaf: There is, read libraries/ghc-prim/GHC/Types.hs in the GHC source. At the bottom you'll see the definition for IO.
19:59:39 <zzo38> A function in Haskell doesn't do I/O; it returns a IO object which does the IO. All function is pure function in Haskell
19:59:53 <shachaf> lambda-11235: I know how GHC's implementation of IO works.
20:00:02 <shachaf> Even that one has no values of type RealWorld.
20:00:22 <shachaf> But anyway that's completely irrelevant to someone learning Haskell. RealWorld is a bad name anyway.
20:01:17 <olsner> I liked the analogy of functions on RealWorld, or e.g. State RealWorld a
20:01:33 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
20:02:54 <ais523> I like thinking of monads as like sandboxes, that restrict what you can do in order to allow you to do more things
20:04:00 <coppro> I like thinking of monads as monads
20:04:20 <coppro> zzo38: that view is a useful way of thinking about it, but is not actually how they are implemented in most implementations
20:04:29 <ais523> coppro: mathematical ones or haskellish ones?
20:04:37 <zzo38> To me the explanation is a bit differently, if you are familiar with multidimensional list comprehensions in other programming languages, then the monads is a kind of generalization of a similar kind of concept. Monad is mathematical category theory and has some operation and law defined
20:04:42 <coppro> ais523: haskellish one
20:04:47 <zzo38> And then, for example there is a list monad, IO monad, etc
20:05:05 <lambda-11235> shachaf: If you mean there's no value of RealWorld (or State RealWorld) that ghc passes, then you'd be correct, it's purely conceptual.
20:05:08 <ais523> also, I totally want to see a pure-Haskell implementation of IO in which the IO object is basically just C code
20:05:30 <ais523> but I'm not sure you can do that without the ability to "look inside" a function
20:05:31 <shachaf> ais523: Tricky to implement fmap on that.
20:05:39 <coppro> if you really want, I can try to think of a monad as the endofunctor generated by composing adjoint functors
20:05:47 <lambdabot> Functor f => (a -> b) -> f a -> f b
20:07:21 -!- callforjudgement has joined.
20:07:24 <lambdabot> Monad m => (m a -> m b) -> m a -> m b
20:07:36 -!- ais523 has quit (Disconnected by services).
20:07:38 -!- callforjudgement has changed nick to ais523.
20:08:04 <ais523> :t \f -> \a -> a >>= (\a'. return (f a'))
20:08:10 <ais523> :t \f -> \a -> a >>= (\a' -> return (f a'))
20:08:44 <shachaf> Sure. (>>=), if you prefer.
20:08:46 -!- bb010g has quit (Quit: Connection closed for inactivity).
20:09:10 <shachaf> I mean that running a Haskell function on C code is tricky.
20:09:10 <ais523> well in Haskell, >>= is the fundamental operation
20:09:23 <shachaf> The fundamental operation is whatever you want it to be.
20:09:28 <ais523> I guess you'd need an FFI to Haskell
20:10:01 <ais523> but the >>= operation here is basically just sequential composition (i.e. C semicolon) that preserves one value
20:10:24 <olsner> I think ghc still treats nullary functions (such as RealWorld -> a, after the RealWorld is removed) as functions, but otherwise I reckon something like IO Char could actually have the same representation as a Char thunk
20:10:32 <ais523> (C's semicolon is more like >> because C uses variables in order to track states from statement to statement)
20:10:37 <olsner> (which would be very close to a pointer a C function returning char)
20:11:15 -!- diginet_ has joined.
20:11:17 <olsner> then inline a lot and that's a chunk of native code doing getchar and sending it on
20:12:01 <zzo38> If you have a list of possible I/O operations that can be done then it can be implemented as a pure data type in Haskell, although it won't make I/O because the Haskell compiler doesn't do that. (Although, a function to convert can still be done)
20:12:01 -!- lambda-11235 has quit (Read error: Connection reset by peer).
20:12:03 -!- nitrix has quit (Ping timeout: 255 seconds).
20:12:03 -!- diginet has quit (Ping timeout: 255 seconds).
20:12:08 -!- coppro has quit (Ping timeout: 255 seconds).
20:12:08 -!- izabera has quit (Ping timeout: 255 seconds).
20:12:15 -!- coppro has joined.
20:12:18 -!- diginet_ has changed nick to diginet.
20:12:26 -!- izabera has joined.
20:12:27 <ais523> zzo38: yes, that's basically what I was thinking of
20:12:33 <ais523> anyway, I'm really tired and so should probably go home
20:12:39 -!- tromp_ has joined.
20:12:53 -!- ais523 has quit.
20:13:57 <olsner> the list of actions sent to a IO interpreter is certainly possible, it's a pretty common "way you could think about IO"
20:16:20 -!- fractal has quit (Ping timeout: 250 seconds).
20:16:45 -!- Guest6991 has joined.
20:17:07 -!- hppavilion[1] has joined.
20:17:30 -!- tromp_ has quit (Ping timeout: 276 seconds).
20:21:32 <zzo38> Monads can be made in other programming languages too, and I have made monadic generators in JavaScript too
20:23:52 <zzo38> (They are two different monads actually)
20:27:25 <coppro> olsner: and the nice thing about the abstraction is that unless you're breaking the rules (e.g. unsafePerformIO) or you let bottom through, you can't tell the difference
20:27:57 <coppro> so unless you're piercing the abstraction for one reason or another, it's a 100% valid way to think of it
20:31:34 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
20:34:17 -!- Opodeldoc has joined.
20:37:01 -!- lambda-11235 has joined.
20:40:54 -!- Frooxius has quit (Ping timeout: 276 seconds).
20:42:01 -!- Frooxius has joined.
20:56:49 -!- `^_^ has quit (Ping timeout: 240 seconds).
20:57:33 -!- fractal has joined.
20:59:46 -!- lambda-11235 has quit (Quit: Bye).
21:01:35 -!- `^_^ has joined.
21:18:49 -!- Opodeldoc has quit (Read error: Connection reset by peer).
21:23:05 -!- hppavilion[1] has joined.
21:23:19 <hppavilion[1]> I thought of an interesting proof-of-concept brainfuck derivative (and proof-of-concept is really the only good thing to do with bf derivatives)
21:24:05 <hppavilion[1]> I will now wait for someone to respond so I'm not just talking to an empty room
21:25:46 <hppavilion[1]> izabera: So you know how [ and ] in BF can be implemented on a stack, correct?
21:26:16 <hppavilion[1]> Where [ PUSHes the current location (or, if the current cell is zero, jumps to the matching `]`) and ] conditionally POPs a value and JMPs to it?
21:26:31 -!- Angelssjdios has joined.
21:26:49 <hppavilion[1]> izabera: Well I had an idea for something you could do with that that makes a tangle-bracket language (one where brackets must be matched, but independent of other brackets)
21:27:05 <hppavilion[1]> There are two ways to do it, and one way that merges both models
21:27:42 <hppavilion[1]> First, replace that stack with a deque. [ and ] do not change, they just work on a different data structure (they still POP and PUSH even because the deque uses the same words)
21:28:02 <hppavilion[1]> Then, add two new instructions- { and }- that have the same programming as [ and ] respectively, except for one change
21:28:17 <hppavilion[1]> Instead of PUSHing and POPing, they INJECT and EJECT
21:28:17 -!- Angelssjdios has left.
21:28:23 -!- Angelssjdios has joined.
21:28:32 -!- Angelssjdios has left.
21:28:38 <hppavilion[1]> I don't know what the significance of this is, but it sure makes for weird programming if you decide to use it
21:29:20 -!- J_Arcane has joined.
21:29:21 <hppavilion[1]> (But you don't have to, as this is a strict superset of regular BF- and it even is a strict superset (but slower) if you replace all [s with {s and ]s with }s)
21:30:24 <hppavilion[1]> izabera: A nice property is that the outermost loop allows you to use [ and } and they will complement one another iff the first cell starts nonzero when the [ is called, but that's about it
21:31:53 <hppavilion[1]> It gets even more confusing with a Unicode-based idea I thought of
21:32:21 <hppavilion[1]> Every type of unicode bracket and its white equivalent has its own deque. The normal bracket works on the top, the white version works on the bottom.
21:32:38 <hppavilion[1]> I'm really just heaping complexity on at that point though
21:32:54 <hppavilion[1]> But it still probably has some deep property we've never thought of
21:33:16 <hppavilion[1]> (Oh, and the deques have the property where POPing or EJECTing an empty deque returns 0)
21:37:09 <izabera> don't understand why it must be a deque
21:37:36 <izabera> do you insert from one end and eject from the other?
21:38:14 <izabera> if you do, that's a regular queue
21:38:21 <izabera> if you don't, that's a stack
21:39:11 <izabera> also using a queue means that you can't nest [ ]
21:40:29 <izabera> [x[y]z] -> a: x; b: y; if (*p) goto a; z; if (*p) goto b;
21:41:07 <izabera> so it's not a superset of bf
21:42:41 <izabera> that's not a correct translation of that bf but you got the point
21:44:39 <hppavilion[1]> izabera: No, you insert and eject from the back, but you push and pop from he front
21:45:08 <HackEgo> mario/Mario is a classic NP-complete problem invented by Nintendo.
21:45:12 <hppavilion[1]> izabera: That's a deque- a cross between two stacks
21:45:35 <izabera> sorry if i don't make much sense, i'm too tired
21:46:00 <hppavilion[1]> Somebody should write the "imaginary function" page on the wiki in haskell. More people know haskell than erlang, AFAICT
21:47:53 -!- p34k has quit.
21:49:22 * int-e would like to see a non-handwaving proof of NP membership of Super Mario Bros (generalized to arbitrary sized levels).
21:50:41 <b_jonas> int-e: look at the original Mario NP paper. what matters is the definitions really.
21:55:16 <b_jonas> int-e: http://arxiv.org/abs/1203.1895
21:55:30 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/¯\(°_o)/¯: No such file or directory
21:55:51 <HackEgo> Mario is a classic NP-complete problem invented by Nintendo.
21:58:28 <int-e> b_jonas: if you mean http://arxiv.org/abs/1203.1895v1 ... that is the handwaving one.
22:00:01 <b_jonas> int-e: I'm not sure which version I read\
22:09:45 <int-e> So far the authors have removed two of three NP membership claims from that paper: for SMB (added in the first version, dropped in the second); for Metroid (added in v2, removed in v3). Only the claim for "Pokemon with only enemy Trainers" remains, added in v2, elaborated in v3.
22:09:57 -!- `^_^ has quit (Ping timeout: 276 seconds).
22:12:01 -!- spiette has quit (Ping timeout: 250 seconds).
22:12:04 <int-e> The thing is, because there are items that move around, the observable state space becomes exponential, and that adversely affects (probably invalidates, but I have not thought that through) the claim that solution lengths are bounded polynomially.
22:15:10 -!- hppavilion[2] has joined.
22:18:17 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
22:19:01 -!- mihow has quit (Ping timeout: 255 seconds).
22:22:04 -!- mihow has joined.
22:22:23 -!- augur has quit (Quit: Leaving...).
22:29:11 -!- MoALTz_ has joined.
22:29:34 -!- zadock has quit (Quit: Leaving).
22:39:48 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:43:59 -!- tromp_ has joined.
22:46:15 <int-e> Oh, vulkan specs have been released two days ago and I missed it...
22:48:15 -!- tromp_ has quit (Ping timeout: 244 seconds).
22:49:34 -!- earendel has quit (Ping timeout: 240 seconds).
22:51:54 -!- augur has joined.
22:57:58 -!- earendel has joined.
23:09:45 -!- augur has quit (Read error: Connection reset by peer).
23:11:24 -!- augur has joined.
23:22:53 -!- Elronnd has quit (Quit: Let's jump!).
23:29:39 -!- Elronnd has joined.
23:32:41 -!- lynn has quit (Ping timeout: 244 seconds).
23:33:38 -!- boily has joined.
23:48:09 -!- adu has joined.