←2012-08-30 2012-08-31 2012-09-01→ ↑2012 ↑all
00:15:34 <oerjan> ^ul !
00:15:35 <fungot> ...out of stack!
00:16:16 <oerjan> > unwords $ map (show . ord) "...out of stack!"
00:16:18 <lambdabot> "46 46 46 111 117 116 32 111 102 32 115 116 97 99 107 33"
00:33:07 <kmc> the computer i want is available with i5 or i7 processor, and 4GB or 8GB of RAM... but you can't get the i7 with 8GB of RAM
00:33:13 <kmc> (the RAM is not upgradeable)
00:39:43 -!- derdon has quit (Remote host closed the connection).
00:41:33 <oerjan> another day, another TC proof.
00:43:00 <shachaf> kmc: What computer is that?
00:48:33 -!- DHeadshot has joined.
00:53:18 -!- DHeadshot has quit (Write error: Connection reset by peer).
00:53:48 -!- DHeadshot has joined.
00:56:51 -!- pikhq has quit (Ping timeout: 252 seconds).
00:56:57 -!- pikhq_ has joined.
00:57:56 -!- nortti has quit (Ping timeout: 248 seconds).
00:58:04 <Phantom_Hoover> shachaf, the Dilemmatech 3000.
01:01:38 <shachaf> @freshname
01:01:38 <lambdabot> Hahd
01:08:17 -!- itidus21 has changed nick to Jon_Frakes.
01:09:10 <oerjan> @freshname
01:09:10 <lambdabot> Hahe
01:09:13 <oerjan> @freshname
01:09:13 <lambdabot> Hahf
01:09:14 <oerjan> @freshname
01:09:14 <lambdabot> Hahg
01:09:28 <oerjan> i sense a certain lack of creativity
01:12:13 <kmc> shachaf: ThinkPad X1 Carbon
01:12:46 <kmc> ThinkPad Air
01:13:03 <kmc> so i have to choose between 1 MB of L3 cache or 4 GB of RAM
01:13:46 <zzo38> Choose based on what things you are doing on your computer, which would work better for what you do
01:14:00 <zzo38> I don't know what you are using your computer for.
01:14:43 <kmc> or waiting
01:14:52 <kmc> someone should make a Haskell library called Hahahahahahaha
01:15:01 <zzo38> (Alternatively, choose by the price.)
01:16:39 <kmc> yeah, that's a good tiebreaker :)
01:17:16 <shachaf> kmc: That's an exciting-looking computer.
01:17:32 <kmc> i5/8GB is $60 more, but also it can ship next week rather than "more than 4 weeks"
01:17:37 <kmc> but maybe i don't want to buy now, anyway
01:18:12 <shachaf> 1600x900
01:18:15 <shachaf> Hmm.
01:18:22 * shachaf should probably care about resolution less than he does.
01:19:02 <kmc> shachaf: yeah, it's more exciting than the X230
01:19:06 <kmc> which is 1366x768 :/
01:19:20 <shachaf> You should wait until you can get a Haswell laptop!
01:19:30 <kmc> maybe
01:19:57 <shachaf> Then you can use AVX2.
01:20:34 <kmc> and hardware transactional memory!
01:20:36 <kmc> (is that in AVX2?)
01:21:06 <kmc> i don't know anything about AVX instructions
01:21:13 <kmc> i guess they are mostly SSE extended to 256 bits
01:21:19 <shachaf> AVX is 256-bit SSE.
01:21:21 <shachaf> Yes.
01:21:34 <shachaf> Hmm, there are a lot of new instructions.
01:21:39 <shachaf> http://software.intel.com/en-us/blogs/2011/06/13/haswell-new-instruction-descriptions-now-available/
01:21:56 <kmc> they should have 16×16 binary matrix multiply!
01:22:36 <shachaf> They should have it for 8×8 first.
01:22:40 <zzo38> Some CPU instructions I would like to see are INTERCAL select, unselect (fills unset bit positions with zero), and multiplexer.
01:23:15 <kmc> the X230 is still better if you want crazy battery life by carrying around multiple batteries
01:23:49 <kmc> but the X1C can charge from 0% to 80% in 35 minutes, which is cool
01:28:17 <kmc> zzo38: multiplexer would have three inputs, and use one input to select between the other two bitwise?
01:28:45 <shachaf> x86 should have more three-operand instructions.
01:29:33 <zzo38> kmc: Actually many more inputs; it would be like the Muxcomp esolang instruction (although depending on the computer, it could differ in many ways, such as addressing modes and so on).
01:29:45 <shachaf> Well, it has three-operand addition.
01:30:20 <zzo38> Multiplication matrix would also be useful, though.
01:31:08 <shachaf> MXOR is a great instruction!
01:31:09 <kmc> i wonder what is the next cryptosystem to get added after AES
01:31:21 <zzo38> Another thing I might like to have is an instruction for triple indirect jump with post increment.
01:31:41 <kmc> i wonder if SHA-3 will be based on AES enough to use the AES round instruction
01:32:10 <kmc> i don't think any of the candidates are that closely related
01:32:56 <zzo38> The "too much CISC" computer would include Super Mario game as a single instruction.
01:34:00 <shachaf> Maybe it'd have SUPERMARIO and SUPERMARIOLAST for the last round.
01:34:16 <zzo38> Of course this is silly.
01:34:17 <quintopia> SUPERMARIOWITHGAMEGENIEPLUGGEDIN
01:34:59 <zzo38> But one instruction I would actually like to have is an instruction to reconfigure the microcode at runtime so that the instruction set can be optimized for whatever it is that you are making.
01:35:14 <shachaf> One of the SHA-3 finalists is at least somewhat related to AES.
01:35:43 <quintopia> what's wrong with rijndahl again?
01:36:09 <kmc> er, AES is Rijndael
01:36:13 <kmc> i don't understand the question
01:36:15 <shachaf> I wonder why they have an instruction per round rather than just one instruction.
01:36:44 <shachaf> S-boxes make it very tricky to implement without being vulnerable to cache timing attacks, apparently.
01:37:04 <kmc> yeah, i have heard that
01:37:45 <shachaf> There was a "constant-time lookup" instruction proposed that would get a block of memory, make sure the whole thing was in the cache, and then do a lookup in it.
01:37:52 <quintopia> what's sha-2?
01:38:07 <shachaf> SHA-256, SHA-512, etc.
01:38:20 <kmc> http://en.wikipedia.org/wiki/SHA-2
01:40:45 <kmc> i wonder if git will have to switch away from SHA-1 soon
01:47:30 -!- DHeadshot has quit (Read error: Connection reset by peer).
01:47:42 <oerjan> > ord 'x'
01:47:44 <lambdabot> 120
02:01:22 <zzo38> An instruction per round? Are each round have any use by itself?
02:08:29 -!- kmc has quit (Quit: leaving).
02:09:06 -!- kmc has joined.
02:15:36 <kmc> $ glxgears
02:15:37 <kmc> 48647 frames in 5.0 seconds = 9729.383 FPS
02:15:43 <kmc> OVER NINE THOUSAND FPS
02:15:57 <kmc> unfortunately, the window is completely black
02:18:01 <kmc> this channel has a lot of bots
02:18:03 <kmc> maybe i should run a bot
02:18:05 <kmc> what should it do?
02:18:17 <pikhq_> It should bot.
02:18:24 <Phantom_Hoover> dispense useful advice
02:20:31 <kmc> i wonder what would be the social effects of a bot which allows anyone in the channel to anonymously send messages to the channel
02:24:30 <pikhq_> Once upon a time Egobot did.
02:26:01 <kmc> and how did that go
02:26:13 <pikhq_> Not that much happened.
02:27:57 <kmc> you could use blind signing to make it so the bot operator doesn't know who's submitting each message, only that they're in the channel (or working with someone who is)
02:28:06 <kmc> under some rather unrealistic assumptions about traffic analysis and such
02:39:11 <kmc> hah, cold boot attack in a spy show on television :)
02:39:31 -!- edwardk has joined.
02:43:41 -!- mjrosenb has joined.
02:44:22 <pikhq_> kmc: Neat.
02:44:32 <pikhq_> Simultaneously real *and* flashy enough to work on TV.
02:45:19 <Sgeo> Phantom_Hoover, monqy if you didn't see there's a major update
02:45:30 <mjrosenb> kmc: ah-hah, found you!
02:45:43 <kmc> hi mjrosenb :)
02:45:54 <kmc> how's it going?
02:46:11 <kmc> `welcome mjrosenb
02:46:14 <HackEgo> mjrosenb: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
02:46:27 <mjrosenb> pretty good, now living on the east coast again
02:46:49 <kmc> state college, pa?
02:46:55 <mjrosenb> yup.
02:46:59 <Phantom_Hoover> oh for the love of
02:47:08 <Phantom_Hoover> i'm not watching a flash at this hour Sgeo
02:47:13 <kmc> man, that's like 200 miles inland ;)
02:47:45 <coppro> oh god
02:47:46 <coppro> the homestuck
02:47:59 <mjrosenb> also trying to get my compose key to output "†"
02:48:31 <mjrosenb> does a horrible implementation of a somewhat esoteric language count? :-p
02:49:31 <oerjan> i'd say that counts as 90% of the wiki
02:51:17 -!- edwardk has quit (Quit: Computer has gone to sleep.).
02:52:18 * mjrosenb has made some half-assed attempts to polish it as an ioccc entry, but: http://www.club.cc.cmu.edu/~mjrosenb/unlam-gc.c
02:52:36 <oerjan> ooh unlambda?
02:54:25 <pikhq_> Any bets on how long it'll take for the Wii U to get cracked?
02:54:47 <oerjan> mjrosenb: test out my self-interpreter http://oerjan.nvg.org/esoteric/interpreter.unl :)
02:55:37 <oerjan> oh you only do part of it
02:55:46 <pikhq_> Some people for god-knows-what-reason have them already, so the clock starts now.
02:56:25 <oerjan> no continuations :(
02:57:15 <mjrosenb> oerjan: yeah, I have pseudo-support for them
02:57:21 <mjrosenb> but it is *completely* untested
02:57:42 <oerjan> mjrosenb: well you don't have the input functions anyhow
02:58:20 <Gregor> mjrosenb: Dang it, I was thinking of doing something with a GC for IOCCC :)
02:58:25 <mjrosenb> it should be pretty easy to add those
02:58:40 <oerjan> mjrosenb: assuming your continuations work properly, yes
02:58:45 <mjrosenb> Gregor: i'm sure your gc would look nothing like mine
03:00:45 <mjrosenb> oerjan: oh right, unfortunately, c and gc are going to interact in particularly heinous ways
03:00:58 <oerjan> heh
03:02:49 <mjrosenb> kmc: you know how to add bindings to X's compose functionality, right?
03:04:34 <kmc> yeah i wrote a blog post about it
03:06:02 <mjrosenb> oh right, what is your blog again?
03:06:56 <kmc> http://mainisusuallyafunction.blogspot.com/
03:07:08 <kmc> http://mainisusuallyafunction.blogspot.com/2010/10/typing-mathematical-characters-in-x.html
03:10:12 <mjrosenb> kmc: do you know if there is a program that will parse .Xcompose after X has started?
03:15:46 <kmc> no :/
03:15:53 <pikhq_> kmc: I feel I still need to applaud you for calling C++ (rightfully) an esolang.
03:18:50 -!- kmc has quit (Quit: Lost terminal).
03:19:47 -!- kmc has joined.
03:32:58 -!- DHeadshot has joined.
03:34:36 <Phantom_Hoover> Sgeo, damn you
03:35:00 <Phantom_Hoover> otoh i have read the sufferer dialogue sooner than i otherwise would have and my life is infinitely better for it
03:36:09 <Sgeo> tswett, you too
03:36:27 <tswett> Me too what?
03:36:41 <Sgeo> Major Homestuck update
03:36:47 * tswett nods.
03:36:48 <tswett> Thanks.
03:36:49 <Sgeo> Huge walkaround
03:36:53 <Sgeo> You're welcome
03:39:55 <Phantom_Hoover> Thus far I've had to restart once, I've gotten lost twice, and I caused a minor sequence break.
03:45:09 <zzo38> Please tell me your opinion what I wrote so far about this: http://zzo38computer.cjb.net/roguevm/roguevm.tex
03:50:50 <coppro> Phantom_Hoover: haha
03:51:01 <coppro> Sgeo: I also homestuck
03:51:10 <coppro> but I saw right away on the feed
03:51:27 <Phantom_Hoover> Terezi's ancestor is King Radical, calling it now
03:52:29 <pikhq_> zzo38: Thus far, seems like a reasonable spec for a VM.
03:52:59 <pikhq_> zzo38: Designed to support a rogue-like text UI, but at least slightly more flexible than that, I take it?
03:53:32 <coppro> ****SPOILER ALERT***
03:53:36 <coppro> Phantom_Hoover: karkat's is the best
03:53:40 <coppro> mainly due to one conversation
03:53:47 <Phantom_Hoover> yes
03:53:49 <Phantom_Hoover> yes he is
03:54:16 <coppro> Phantom_Hoover: have you had the conversation between him and latula yet?
03:54:22 <Phantom_Hoover> yes
03:54:23 <pikhq_> zzo38: It looks like you've got it set up to be relatively sane to emulate, as well; the instruction coding, though not the *simplest* to decode, is fairly reasonable.
03:54:24 <Phantom_Hoover> yes i have
03:54:28 <Phantom_Hoover> I just finished it.
03:54:32 <coppro> it is the best
03:54:41 <Phantom_Hoover> His previous conversations were good too.
03:54:42 <coppro> the face at the end is priceless
03:54:53 <pikhq_> (the absolute simplest would give you 16-bit addresses, so it's a single opcode to grab the address)
03:55:07 <Phantom_Hoover> (btw theoretical logreading elliott don't bitch at me for spoilers, bitch at coppro.)
03:55:15 <coppro> hey
03:55:19 <coppro> i put a spoiler alert in
03:55:27 <coppro> and also hussie says don't give a fuck
03:55:30 <coppro> people should homestuck first
03:55:36 <coppro> then things that may have spoilers
03:55:55 <coppro> I didn't figure out if getting hussie to run away does anything
03:55:56 <coppro> did you?
03:56:05 <Phantom_Hoover> Dunno.
03:56:06 <pikhq_> zzo38: Also, just out of curiosity, do you intend for code to execute out of RAM, or only out of ROM?
03:57:41 <Phantom_Hoover> 'corporealnormative'
04:00:02 <coppro> Phantom_Hoover: YES
04:00:04 <coppro> oh god yes
04:04:10 <Phantom_Hoover> OK so that took me an hour.
04:04:30 <Phantom_Hoover> I definitely recall thinking "how long can it take, Cascade is only 13 minutes2.
04:04:33 <Phantom_Hoover> *"
04:05:20 * Phantom_Hoover -> sleep
04:05:22 -!- Phantom_Hoover has quit (Quit: Leaving).
04:06:23 <oerjan> @tell atriq Try 48 ~!~)): [[48 [)):] [~!~)):] ~~) !][49 [~!~)):] [)):] )~]]
04:06:23 <lambdabot> Consider it noted.
04:06:36 <oerjan> @tell Arc_Koen Try 48 ~!~)): [[48 [)):] [~!~)):] ~~) !][49 [~!~)):] [)):] )~]]
04:06:36 <lambdabot> Consider it noted.
04:17:52 <zzo38> pikhq_: Both ROM and RAM.
04:18:12 -!- MoALTz has joined.
04:18:18 <zzo38> And, yes it is designed to support a rogue-like text UI, but at least slightly more flexible than that.
04:18:29 <zzo38> It says so in the introduction.
04:18:52 <pikhq_> zzo38: Neat.
04:20:03 <Sgeo> @tell Phantom_Hoover It's not Flash (except for the Intro). It's HTML5
04:20:03 <lambdabot> Consider it noted.
04:20:34 <zzo38> I case I did not say: The .tex and .dvi are in the same directory; I distribute both.
04:20:37 <coppro> Sgeo: really?
04:20:46 <coppro> hmm actually
04:21:01 <zzo38> Also, some chapters are very short so there is empty space on the page; some artwork could be placed there as well as on the title page possibly.
04:21:02 <Sgeo> https://github.com/Gankro/Jterniabound
04:22:49 -!- oerjan has quit (Quit: Good night).
04:34:25 -!- kmc has quit (Quit: leaving).
04:43:40 <zzo38> I will write more of this file later today, probably.
04:43:43 <FreeFull> I got myself a puzzle
04:44:09 <FreeFull> Given a lexicographic permutation, generate the next one
04:47:09 <FreeFull> So, given something like "0123" it will return "0132"
04:47:16 -!- MoALTz has quit (Ping timeout: 248 seconds).
04:48:01 <pikhq_> There's a standard algorithm for that. Is this homework?
04:48:16 <FreeFull> More eulerwork
04:48:26 <pikhq_> The following algorithm generates the next permutation lexicographically after a given permutation. It changes the given permutation in-place.
04:48:27 <FreeFull> I looked at the algorithm already
04:48:29 <pikhq_> Find the largest index k such that a[k] < a[k + 1]. If no such index exists, the permutation is the last permutation.
04:48:32 <pikhq_> Find the largest index l such that a[k] < a[l]. Since k + 1 is such an index, l is well defined and satisfies k < l.
04:48:34 <pikhq_> Swap a[k] with a[l].
04:48:37 <pikhq_> Reverse the sequence from a[k + 1] up to and including the final element a[n].
04:48:39 <FreeFull> I looked at the algorithm already
04:48:47 <FreeFull> Just got to implement it
04:48:54 <pikhq_> Well there you go.
04:48:57 <FreeFull> Going to do it in haskell I guess
04:50:21 <FreeFull> Oh hey, pattern matching (x:y:ys) works
04:52:45 <FreeFull> Seems I'm not as comfortable with functional programming yet as I should be
04:54:06 <pikhq_> I realize this defeats the point of the exercise, but isn't there a "permutations" function in Haskell? :)
04:55:29 <FreeFull> There is but it doesn't return them in lexicographic order =P
04:55:55 <pikhq_> Ah.
04:56:45 <FreeFull> I guess for what I want something that returns a list of strings would be better
04:56:49 <coppro> lexicogrpahic ordering of permutations is annoying
05:06:33 <FreeFull> I wonder if a foldl here is the right idea
05:08:04 <FreeFull> Maybe not
05:12:04 <fizzie> If you want to generate all of them, I don't think you need the slightly tricky next-permutation thing, unless you want it of course.
05:12:11 <fizzie> > let perms [] = [[]]; perms l = concatMap (\i -> map (i:) (perms $ delete i l)) l in perms "1234"
05:12:12 <lambdabot> ["1234","1243","1324","1342","1423","1432","2134","2143","2314","2341","241...
05:12:20 <fizzie> > let perms [] = [[]]; perms l = concatMap (\i -> map (i:) (perms $ delete i l)) l in perms "123"
05:12:21 <lambdabot> ["123","132","213","231","312","321"]
05:13:16 <fizzie> In other words, "all permutations with the smallest element in the first place; then those with the second-smallest in the first place; etc."
05:14:00 <fizzie> (With a sort if the input items aren't in lexicographical order, and something else than 'delete i l' if there can be duplicates.)
05:18:56 -!- kmc has joined.
05:19:09 <kmc> when will i learn my lesson
05:19:14 <kmc> that i should never upgrade X
05:38:16 <mjrosenb> kmc: upgrade to waylan!
05:38:24 <mjrosenb> kmc: you'll never need to touch X again!
05:48:16 <fizzie> "Wayland - way cool!"?
06:21:31 -!- impomatic has quit (Quit: http://RetroProgramming.com).
06:23:22 * shachaf gyres and gimbles in the Wayland.
06:23:28 <shachaf> kmc: Did you give up on irssi+mosh?
06:24:01 -!- asiekierka has joined.
06:29:53 -!- mig22 has joined.
06:33:42 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
06:36:22 <pikhq_> Wow. Y'know how nop on x86 is actually xchg ax, ax (xchg eax, eax in 32-bit mode)?
06:36:48 <pikhq_> x86_64 came *this close* to jacking it up: xchg eax, eax would do nothing and then clear the high 32 bits of eax.
06:36:51 <shachaf> Except it's not in 64-bit mode, right?
06:37:03 <shachaf> Yes. But it's an explicit nop.
06:37:11 <shachaf> I mean, you gotta have a nop, right?
06:37:18 <pikhq_> So they went and just said 0x90 is explicitly nop, and gave xchg eax, eax a different encoding.
06:37:31 <pikhq_> If you for some reason want to clear the high 32 bits of eax that way.
06:38:44 <shachaf> Presumably you can also mov eax, eax?
06:38:55 <pikhq_> Yeah, think so.
06:39:27 <fizzie> They do have some nops that really are only nops too, these days. (And IIRC both Intel and Amd optimization manuals have their own recommended "fastest" nop sequences for lengths up to 16 bytes or so.)
06:40:09 <pikhq_> In pretty much all x86 CPUs for $long_time xchg eax, eax has been hard-coded as a nop anyways.
06:40:33 <pikhq_> (so you don't have a dependency in the pipeline on eax, and it doesn't take as long to execute, etc. etc.)
06:41:29 <fizzie> From what I can recall, some of those sequences were really kinda silly if you look at the meanings; piles of prefixes that don't really matter since it's a nop, and so on.
06:44:27 -!- zzo38 has quit (Remote host closed the connection).
06:45:21 <shachaf> Oh, neat.
06:45:27 <shachaf> I just made llvm-mc segfault.
06:45:44 <shachaf> Looks like it happened because of -triple=blah
06:46:23 <mjrosenb> shachaf: -mc?
06:47:15 <shachaf> mjrosenb: Oh, you're in here already.
06:47:38 <shachaf> I guess my /msg was redundant as well as incomplete.
06:47:44 <shachaf> mjrosenb: llvm-mc is great.
06:47:58 <shachaf> echo 'mov %eax,%eax' | llvm-mc -show-encoding
06:48:19 <mjrosenb> oic, that sounds like a project I half-finished a month ago
06:48:26 <mjrosenb> which I think I told you about elsewhere
06:48:38 <shachaf> The REPL?
06:48:42 <shachaf> This is just an assembler.
06:48:52 <shachaf> (And disassembler, and things.)
06:48:55 <shachaf> I still want the REPL!
06:49:27 -!- nooga has joined.
06:49:46 <shachaf> mjrosenb: I was "reverse-engineering" some code with some Windows debugger and it was pretty nice.
06:50:22 <shachaf> At every step it shows you all the registers and memory, whether the current jump will be taken, effects of the current instruction, etc.
06:52:08 <mjrosenb> shachaf: i'm still planning on working on it
06:52:19 <mjrosenb> i should put some sort of a license on that code
06:52:30 <shachaf> Then other people will surely contribute!
06:55:49 <shachaf> whoa, dude, QFC isn't a national supermarket chain.
06:59:40 * mjrosenb has never heard of QFC
07:00:11 <shachaf> Apparently it's only in some parts of the Pacific Northwest.
07:02:15 <fizzie> Quantum Fried Chicken?
07:24:36 -!- mig22_ has joined.
07:24:36 -!- mig22 has quit (Read error: Connection reset by peer).
07:24:37 -!- mig22_ has changed nick to mig22.
07:53:25 -!- Jon_Frakes has changed nick to itidus21.
08:40:49 -!- Eladith has joined.
09:11:19 <shachaf> kmc: I talked to gdb about the cryptography CTF thing and he seems unenthusiastic about doing one which is entirely about cryptography.
09:11:52 <shachaf> But he said he'd love to play one if someone else made it, hint hint.
09:12:19 <oklopol> centucky tsicken fried
09:14:59 -!- TeruFSX has quit (Read error: Connection reset by peer).
09:16:35 -!- TeruFSX has joined.
09:18:38 -!- AnotherTest has joined.
09:18:47 <AnotherTest> Hello
09:18:52 -!- Nisstyre has quit (Ping timeout: 246 seconds).
09:21:57 -!- Nisstyre has joined.
09:36:04 -!- mig22 has quit (Read error: Connection reset by peer).
09:36:26 -!- mig22 has joined.
10:24:09 -!- oklofok has joined.
10:24:17 <oklofok> do i hv utf8 now
10:24:53 <oklofok> it seems to be impossible to get mirc to use it
10:29:22 <oklopol> i'm sure you can tell just from that one character
10:29:41 <oklopol> you can probably extract my credit card number from it
10:31:20 <shachaf> http://en.wikipedia.org/wiki/CESU-8
10:31:22 <shachaf> How exciting.
10:32:38 <oklopol> i have that?
10:32:45 <shachaf> I hope not.
10:33:07 <shachaf> Hmm -- I wonder whether *I* have that.
10:33:08 <shachaf> Eek.
10:34:40 <shachaf> `echo 㯿
10:34:46 <shachaf> `run echo 㯿
10:34:49 <shachaf> ^echo hi
10:34:49 <fungot> hi hi
10:34:51 <HackEgo> ​㯿
10:35:05 <HackEgo> ​㯿
10:35:30 <oklofok> should i be seeing that as something other than nonsense?
10:35:59 -!- oklofok has quit.
10:36:51 -!- oklofok has joined.
10:37:02 <oklopol> 13:34:17 shachaf • `echo 㯿
10:37:09 <oklofok> still nonsense here
10:37:16 <shachaf> Your UTF-8 is completely broken, yes.
10:37:30 <oklopol> is it bröken here?
10:37:47 <oklopol> oklopol is mirc, oklofok is kvirc
10:38:19 <oklopol> in both i'm supposedly using utf-8, but apparently it's just too hard to do right.
10:39:21 <oklofok> ö
10:39:41 <shachaf> ó
10:39:50 <shachaf> økløpøl
10:39:54 <oklofok> i'm seeing myself right, but oklopol doesn't even see itself right :D
10:40:00 <oklofok> hey those look right!
10:40:22 <oklofok> incidentally, that's how you actually write my name
10:40:38 <oklofok> well, the last ø also has an umlaut
10:41:28 <shachaf> økløpø̈l
10:41:42 <oklofok> yes
10:42:03 <oklofok> although really the first ø also has an underumlaut.
10:42:15 <oklofok> (pronounced exactly as you'd expect)
10:42:25 <oklofok> (double the ö but reversed)
10:51:24 <itidus21> oklofok is kvircy
10:53:31 -!- kinoSi has quit (Read error: Connection reset by peer).
10:53:59 -!- kinoSi has joined.
11:18:05 -!- Phantom_Hoover has joined.
11:19:03 -!- derdon has joined.
11:27:31 -!- oklo has joined.
11:28:05 -!- Arc_Koen has joined.
11:28:19 <Arc_Koen> hello
11:28:19 <lambdabot> Arc_Koen: You have 1 new message. '/msg lambdabot @messages' to read it.
11:29:09 -!- Arc_Koen_ has joined.
11:29:09 -!- Arc_Koen has quit (Read error: Connection reset by peer).
11:29:09 -!- Arc_Koen_ has changed nick to Arc_Koen.
11:36:11 -!- oklofok has quit (*.net *.split).
11:39:06 <Arc_Koen> > char 48
11:39:07 <lambdabot> No instance for (GHC.Num.Num GHC.Types.Char)
11:39:07 <lambdabot> arising from the literal `4...
11:39:21 <Arc_Koen> > char '\48'
11:39:22 <lambdabot> 0
11:39:36 <shachaf> > '\48'
11:39:37 <lambdabot> '0'
11:39:50 <shachaf> @ty char
11:39:51 <lambdabot> Char -> Doc
11:39:57 <shachaf> Hah.
11:41:56 <fizzie> > chr 48
11:41:57 <lambdabot> '0'
11:42:01 <fizzie> Is probably the intention.
11:42:14 <Arc_Koen> most definitely
11:42:29 <fizzie> lambdabot: Just how many symbols you have in there after your default imports?
11:42:43 <shachaf> @google inurl:L.hs
11:42:45 <lambdabot> http://prospectheights.patch.com/articles/int-l-hs-teacher-takes-kids-ice-skating-for-first-time
11:42:47 <shachaf> @google inurl:L.hs lambdabot
11:42:49 <lambdabot> https://bitbucket.org/zeekay/lambdabot/src/0e7b40d401e7/State/L.hs
11:43:03 <shachaf> Well... Not the optimal result, but it'll do.
11:43:29 <fizzie> > cake !! 1
11:43:31 <lambdabot> "One can prepared coconut pecan frosting."
11:43:50 <shachaf> > reverse . take 8 . reverse . map head $ cake
11:43:52 <lambdabot> "ASCIICAT"
11:44:05 <fizzie> Amazing.
11:44:16 <shachaf> "meow"
11:44:18 <shachaf> -- asciicat
11:51:37 <Arc_Koen> so I had an idea for a new language
11:52:06 <Arc_Koen> it draws inspiration from "spacechem"
11:53:37 <Arc_Koen> it's 2-dimensional, with befunge-like commands ><v^, and it's "mutilinear" or whatever it's called to have several independent instruction pointers working at the same time
11:54:22 <Arc_Koen> each ip (let's call them workers) can either be empty-handed, or carrying a number
11:54:39 <fizzie> Concurrent Funge-98 is a bit like that, except the IPs have full stacks instead of numbers.
11:55:01 -!- MoALTz has joined.
11:55:54 <Arc_Koen> workers can DROP the number they're carrying, or PICK up a number (but there has to be a number where they are at that moment)
11:57:06 <Arc_Koen> for every worker there is an input emplacement, in which appears a number when the worker meets the input command
11:57:27 <Arc_Koen> two numbers can never be in the same place, and a worker carrying a number can never walks over a number
11:57:40 <Arc_Koen> (so the input has to be picked up before it can produce a new number)
11:58:37 <Arc_Koen> operations can be made with adjacent numbers : for instance, if a worker walks over a '+' while carrying a number, his number is incremented by each number which is on the floor on an adjacent '+'
11:59:14 <Arc_Koen> there's also an output zone that prints numbers when they are dropped there
11:59:33 <Arc_Koen> and that's pretty much how far I've been :)
11:59:49 <fizzie> It sounds a bit finite.
12:00:32 <Arc_Koen> well, there can be as many workers as the programmer has declared
12:01:02 <Arc_Koen> each worker has his one commands - a worker's ><v^ don't affect the other workers
12:01:24 <Arc_Koen> and there are synch commands to force a worker to wait for another
12:02:58 <fizzie> Yes, but it sounds like there'd be a finite amount of storage, if you can't have more than one number in one cell (be it carried or dropped), and if numbers can't be dropped further away than what there are commands written to.
12:03:27 <Arc_Koen> yes, that's a problem
12:03:58 <fizzie> Unless the workers can write new commands to non-tracky regions, in which case it just sounds very difficult.
12:04:08 <Arc_Koen> haha
12:04:20 <fizzie> I did like SpaceChem quite a lot, FWIW.
12:04:30 <fizzie> Possibly due to the fungey connections.
12:04:55 <fizzie> fungot: Did you like SpaceChem? I would think you'd have a real aptitude for it.
12:04:56 <fungot> fizzie: oh tusho, i want to experiment with depends on who you're talking with scheme programmers here. my hair keeps obscuring my vision out there.
12:05:08 <Arc_Koen> I could allow carrying workers to walk over numbers as long as they don't try to pick it up, but that wouldn't really solve the problem (at least not in a usable way)
12:05:43 <fizzie> I suppose if the numbers can be arbitrarily large, that could be enough.
12:05:55 <Arc_Koen> right
12:06:18 <Arc_Koen> also my problem is that one-char commands are not really appropriate
12:06:31 <Arc_Koen> so maybe each worker's playfield should be preceded by a few define
12:06:53 -!- DHeadshot has quit (Ping timeout: 246 seconds).
12:06:57 <Arc_Koen> like "define A to be the 'synch with worker x' command"
12:07:35 <Arc_Koen> also it would be way more readable if several workers could be define at the same place, like in spacechem
12:07:50 -!- DHeadshot has joined.
12:08:10 <fizzie> You could have a graphical editor for it, with the support for showing an arbitrary subset of layers.
12:08:18 <Arc_Koen> oooooh
12:08:22 <Arc_Koen> nice
12:08:36 <Arc_Koen> I've never programmed anything graphical though
12:08:40 <fizzie> A bit of extra work, of course.
12:14:56 -!- cuttlefish has joined.
12:15:00 -!- boily has joined.
12:16:19 <Arc_Koen> wait, did Oerjan just prove Fueue was turing-complete while I was sleeping?
12:18:17 -!- ogrom has joined.
12:22:21 <boily> sleep: the main cause of turing-completeness proving.
12:22:55 <fizzie> I must've been sleeping for that.
12:24:02 <boily> mine was briefly interrupted at 3:00am after a nightmare.
12:24:15 <boily> (last night's chinese restaurant was good, but I shouldn't have eaten that much...)
12:24:34 <fizzie> Lastlog just says "03:41 < oerjan> another day, another TC proof." with not much context.
12:24:49 <boily> ah. good to hear the proof is still good.
12:27:03 -!- Kestral has joined.
12:27:37 -!- Kestral has left.
12:36:02 -!- pikhq has joined.
12:36:05 -!- pikhq_ has quit (Ping timeout: 252 seconds).
12:57:39 -!- impomatic has joined.
13:02:32 -!- ogrom has quit (Quit: Left).
13:03:07 -!- ogrom has joined.
13:56:22 <Gregor> “According to my map of the yellow woods, this road diverges here.” “It doesn't matter which road we take: later we'll just TELL people we took the more indie one!” “Nice! I'm glad we didn't misunderstand this quote as is commonly done.”
14:01:09 -!- soundnfury has quit (Ping timeout: 252 seconds).
14:15:44 <Phantom_Hoover> Gregor
14:15:44 <lambdabot> Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it.
14:15:48 <Phantom_Hoover> are you quoting something
14:20:27 <itidus21> i looked it up, apparently the first sentence relates to a robert frost poem
14:21:23 <Gregor> Phantom_Hoover: Dinosaur Comics.
14:21:39 <Gregor> itidus21: And that's the obvious part. If that's "apparently" then you should consider, y'know, reading something. Ever.
14:22:28 <kmc> shachaf: hm? i've been using irssi+mosh for a while now
14:28:51 <itidus21> "I don't know what the fuck was going on with the scottish education board in the 1970s. Do you like whiskey? Do you hate kids? The job's yours."
14:31:45 <Phantom_Hoover> itidus21, obviously this was not written by a Scot.
14:32:17 <itidus21> well it could be a sellout
14:32:52 <Gregor> Yeah, a True Scotsman wouldn't have even bothered to ask, “do you like whiskey?”
14:32:54 <Gregor> That's implied.
14:33:14 <itidus21> i do sense how jarring it is
14:33:24 <itidus21> as if it was written by me
14:33:40 <kmc> shachaf: my connection was dropping because i was rebooting the machine on which i run irssi :)
14:33:53 <Phantom_Hoover> Gregor, no, a true Scotsman wouldn't spell whisky with an 'e'.
14:34:08 <itidus21> ok i did write it!
14:34:20 <itidus21> you win
14:35:00 <Phantom_Hoover> Google says it's from Craig Ferguson, but it's also from a standup routine so the travesty is entirely the fault of whoever transcribed it.
14:35:07 <itidus21> i transcribed it
14:35:22 <Phantom_Hoover> Scottish whisky doesn't have an 'e' you dolt!
14:35:46 <itidus21> i hand a feeling something was wrong with it
14:35:49 <itidus21> ahhhh
14:35:56 <itidus21> whats wrong with my spelling
14:36:12 <itidus21> ahem.
14:36:13 <Phantom_Hoover> It has an 'e' in it, as I have now told you for the third time.
14:36:28 <itidus21> this time im complaining about "i hand a feeling"
14:36:32 <itidus21> yeah..
14:36:44 <itidus21> but i did sense something was wrong with it. i just couldn't place it
14:37:10 <itidus21> wow language is fun.
14:38:52 <boily> ~echo test
14:38:53 <cuttlefish> test
14:39:03 <boily> hm... strange... my bot is still alive here.
14:39:15 <Phantom_Hoover> ~help
14:39:16 <cuttlefish> --- Possible commands: dice, duck, echo, eval, fortune, metar, ping, yi
14:39:21 <Phantom_Hoover> ~duck
14:39:22 <cuttlefish> --- ~duck query
14:39:22 <cuttlefish> --- Query information from Duck Duck Go
14:39:29 <Phantom_Hoover> ~duck whisky
14:39:30 <cuttlefish> whisky definition: a liquor distilled from fermented wort (as that obtained from rye, corn, or barley mash).
14:40:05 <Gregor> ~duck whiskey
14:40:05 <cuttlefish> Whisky or whiskey is a type of distilled alcoholic beverage made from fermented grain mash.
14:40:10 -!- cuttlefish has quit (Remote host closed the connection).
14:40:54 <itidus21> ~duck no true scotsman whiskey
14:41:11 <itidus21> fair enough
14:41:39 -!- cuttlefish has joined.
14:41:51 -!- boily1 has joined.
14:42:33 -!- boily1 has quit (Client Quit).
14:43:01 <itidus21> " "it's the Scotch-Irish (whiskey) in me (lie alert!--I don't drink the stuff)" I believe you. No true Scotsman would spell whisky that way! "
14:43:25 -!- cuttlefish has quit (Remote host closed the connection).
14:44:25 -!- boily has quit (Ping timeout: 252 seconds).
14:45:46 -!- boily has joined.
14:46:51 -!- cuttlefish has joined.
14:48:32 <boily> ~duck sake
14:48:32 <cuttlefish> sake definition: end, purpose.
14:49:10 <itidus21> ~duck fungot
14:49:11 <cuttlefish> --- No relevant information
14:49:11 <fungot> itidus21: less fnord ,you could have a fnord sxml there, and those pointers only point to the first
15:00:04 -!- ogrom has quit (Ping timeout: 255 seconds).
15:00:57 -!- MoALTz has quit (Ping timeout: 260 seconds).
15:01:56 -!- MoALTz has joined.
15:08:28 <itidus21> old news "Fabio is rushed to a Virginia hospital after his oddly-proportioned face collides with a goose while he rode in the front of a Busch Gardens roller coaster."
15:09:46 <itidus21> "Many women wish they could have been in that goose's place on that fateful day. Many women wish they were worthy enough to die on Fabio's face."
15:13:39 -!- Eladith has quit (Ping timeout: 268 seconds).
15:21:51 -!- sirdancealot has quit (Ping timeout: 265 seconds).
15:36:33 -!- monqy has quit (Quit: hello).
16:04:35 -!- ais523 has joined.
16:09:49 -!- augur has quit (Remote host closed the connection).
16:10:16 -!- augur has joined.
16:14:37 -!- augur has quit (Ping timeout: 252 seconds).
16:19:27 -!- ais523 has quit.
16:19:48 -!- ais523 has joined.
16:20:16 <fizzie> fungot: Did you hear: you're not relevant?
16:20:17 <fungot> fizzie: what about numbers? i'm looking for.
16:22:35 -!- impomatic has quit (Quit: impomatic).
16:26:10 -!- ais523_ has joined.
16:26:30 -!- ais523 has quit (Ping timeout: 255 seconds).
16:27:54 -!- ais523_ has changed nick to ais523.
16:30:47 -!- Eladith has joined.
16:32:59 <AnotherTest> Does a language with the name 'X' already exist?
16:33:24 -!- mig22 has quit (Quit: mig22).
16:33:29 <AnotherTest> (It seems likely, but I couldn't find anything on duckduckgo/the esolangs wiki)
16:36:52 <pikhq> No, but a fairly major program does.
16:37:20 <AnotherTest> Okay, I don't like the name that much anyway
16:37:51 <AnotherTest> I would use it only as the file extension for programs
16:37:54 -!- nooga has quit (Ping timeout: 264 seconds).
16:40:31 -!- nooga has joined.
16:53:31 -!- augur has joined.
16:59:53 -!- copumpkin has joined.
17:02:46 -!- jlaire has quit (Ping timeout: 252 seconds).
17:07:10 -!- ogrom has joined.
17:09:42 -!- jlaire has joined.
17:15:01 -!- zzo38 has joined.
17:15:05 <zzo38> ?messages
17:15:05 <lambdabot> You don't have any new messages.
17:16:29 <Sgeo> @tell zzo38 Now you have a message.
17:16:29 <lambdabot> Consider it noted.
17:28:17 -!- FreeFull has quit (Quit: Rebooting.).
17:33:25 -!- Guest6575 has joined.
17:34:20 <Guest6575> any one knows what is this virus behiver Shamoon
17:37:26 -!- Guest6575 has quit (Remote host closed the connection).
17:46:10 -!- derdon has quit (Remote host closed the connection).
17:47:10 -!- ais523 has quit (Ping timeout: 246 seconds).
17:50:32 <kmc> \pedantic{not a program, but a protocol and a set of specifications}
17:50:44 <kmc> notwithstanding /usr/bin/X
17:53:04 <AnotherTest> What if $X() were the name? I guess that would be fine?
17:54:24 -!- atriq has joined.
17:56:28 <atriq> @messages?
17:56:28 <lambdabot> atriq: You have 1 new message. '/msg lambdabot @messages' to read it.
17:56:35 <atriq> @messages
17:56:35 <lambdabot> oerjan said 13h 50m 12s ago: Try 48 ~!~)): [[48 [)):] [~!~)):] ~~) !][49 [~!~)):] [)):] )~]]
17:58:07 <zzo38> http://2a03.free.fr/?p=pub&dir=zzo38 Now with Mickey Mouse stuff!!
17:58:07 <lambdabot> zzo38: You have 1 new message. '/msg lambdabot @messages' to read it.
17:58:09 <atriq> @ask oerjan Thue-Morse sequence?
17:58:09 <lambdabot> Consider it noted.
18:00:43 -!- AnotherTest has quit (Quit: Leaving.).
18:00:46 <FireFly> What language is that in oerjan's message?
18:00:51 <atriq> Fueue
18:01:01 -!- AnotherTest has joined.
18:01:04 -!- AnotherTest has quit (Client Quit).
18:02:35 <fizzie> I just got a "Segmentation fault (core dumped)" when I tried to feed it to that fueue.c.
18:03:12 <atriq> I used my Haskell one that I can't seem to compile with a working main but works in GHCi
18:03:28 <fizzie> That's not in the wiki, though.
18:03:33 <atriq> Nah
18:03:38 <atriq> Hmm
18:03:44 <atriq> Arc_Koen, ^^^
18:04:28 <fizzie> atriq: oerjan @told him the same thing.
18:04:54 <atriq> Okay
18:04:54 <fizzie> Though I suppose not about the segfault.
18:04:59 <fizzie> But the program.
18:05:00 <atriq> Sgeo, did you see the update?
18:05:29 <atriq> Ah, you did
18:08:16 -!- AnotherTest has joined.
18:10:08 <atriq> The Thue-Morse sequence looks like good movie binary
18:10:19 -!- impomatic has joined.
18:12:17 <zzo38> atriq: What does that mean?
18:12:39 <atriq> If I was making a movie and wanted binary to flow down the screen
18:12:48 <zzo38> OK
18:12:48 <atriq> To say to viewers "This chap is good at computers"
18:12:58 <atriq> The Thue-Morse sequence would be good for that
18:13:12 <kmc> in this business you're either a one or a zero, alive or dead
18:15:27 <Sgeo> "However, there are no cubes: instances of XXX."
18:15:37 <Sgeo> That's a bit too nuts for me.
18:16:38 -!- FreeFull has joined.
18:16:45 <atriq> Sgeo, I've watched the update twice. The second time was in a McDonalds, reading out some of the speech
18:17:02 <atriq> My friends don't like that I give Dave a rural Texan accent
18:26:07 -!- AnotherTest has quit (Quit: Leaving.).
18:32:50 <itidus21> in follow up to
18:33:12 <itidus21> `quote world peace
18:33:16 <HackEgo> 848) <itidus21> world peace is for fascists
18:33:30 <atriq> Ooh, this looks good
18:33:41 <itidus21> i say, imagine an xkcd what-if about what would happen if there was world peace
18:34:19 <itidus21> things never turn out how they're supposed to in a what-if
18:34:44 -!- copumpkin has quit (Read error: Connection reset by peer).
18:35:41 -!- copumpkin has joined.
18:35:46 <Gregor> I wonder if there's a program that creates random but plausible-looking UIs that movie audience think look hackery.
18:37:15 <itidus21> Gregor: well theres about 1000 programs to imitate the the matrix UI :D
18:37:34 <Gregor> That's not a UI, that's junk scrolling over a screen.
18:37:47 <Gregor> UIs involve /interfacing/.
18:37:51 <itidus21> damn
18:37:54 <atriq> The file browser in Jurassic Park was a real thing
18:38:05 <atriq> That could have been plausibly installed on the computer in question
18:38:14 <atriq> Even though it was ridiculous
18:38:24 <Gregor> *looks it up*
18:38:38 <itidus21> the famous quote is said by the little girl
18:39:09 <itidus21> i was reading someone criticizing that line the other day
18:39:23 <Gregor> Hahah yes there's a free clone!
18:41:00 <itidus21> http://omassix.com/wp-content/uploads/2012/04/dennis_nedry_cryocan_01.jpg
18:42:58 <itidus21> i hope that guy loses weight some day
18:43:14 <itidus21> i want him to live to a ripe old age
18:51:28 <kmc> nmap is in a bunch of films
18:51:37 <kmc> including at least one porno
18:52:40 -!- Vorpal has joined.
18:53:02 <Gregor> kmc: But is it used /metaphorically/ in the porno?
18:53:16 <Gregor> “Looks like you've got some… wide open ports.”
18:53:22 <kmc> c.c
18:53:32 <Gregor> “I'm gonna need to probe for security vulnerabilities.”
18:53:52 <Gregor> “Look, what I'm trying to say is, bend over that chair.”
18:58:15 -!- ais523 has joined.
19:04:09 <fizzie> I have an IRIX system that I vaguely recall I tried to install fsn on, but failed, because it didn't have all the necessary development things, and I didn't have the OS media.
19:05:15 <fizzie> IRIX 5.4, I think.
19:05:38 <fizzie> Or maybe 5.2. Who knows.
19:07:09 <fizzie> Actually, checking the logs, it for some reason had 6.5 stuck on it. (It was one of the R4k models of Indigo.)
19:07:13 <fizzie> It was horreebly slow.
19:09:28 <ais523> happy australian mailman mailing list reminders day!
19:09:57 <fizzie> s/Indigo/Indy/
19:10:09 <fizzie> (The "Indigo without the 'go'".)
19:10:46 <atriq> It's kind of weird having one of your languages sit relatively obscure for a couple of months then is suddenly implemented and proven probably turing complete
19:11:47 <ais523> "proven probably turing complete"?
19:12:06 <atriq> oerjan has made a translation to it from a subset of Underload
19:12:10 <atriq> Hasn't tested it
19:12:23 <atriq> May not be QUITE enough to be Turing complete
19:16:25 <fizzie> ais523: It's like "almost undecidable", or "just a little bit dead".
19:17:05 <atriq> "slightly pregnant"
19:17:58 <atriq> Okay, it's enough to be Turing Complete if it works
19:26:45 -!- rodgort has quit (Ping timeout: 276 seconds).
19:32:58 <itidus21> so are operating systems a good thing?
19:33:07 <quintopia> operating systems
19:33:15 <quintopia> is the worst class i ever took
19:34:42 <itidus21> humm
19:34:49 <itidus21> well.. ok sooner or later
19:35:49 <itidus21> computer programs are sure to become robust in the same way as a text, or a painting, or a sculpture
19:37:03 <itidus21> i guess in the case of a text they're not all that robust without knowledge of the language
19:37:15 <fizzie> I head that operating systems are responsible for all those wanton shootings. That batman movie shooter guy? He used an operating system before.
19:37:55 -!- ogrom has quit (Quit: Left).
19:39:26 -!- glogbackup has quit (Ping timeout: 268 seconds).
19:39:26 <itidus21> maybe in the future, the idea will be you can modify a cpu to understand any machine code
19:39:34 <ais523> atriq: that's more of a probable proof of Turing Completeness
19:39:42 <ais523> as in, you're not sure if it's a proof or not, but it probably is
19:39:55 <ais523> itidus21: future?
19:40:05 <itidus21> hmm
19:40:11 <ais523> you can do that right now with FPGAs, it's just really inefficient
19:40:18 <itidus21> humm
19:40:27 <itidus21> well
19:40:33 <ais523> and mostly pointless if you aren't reconfiguring them to be massively parallel and special-cased to the program you're trying to run on them
19:40:43 <itidus21> akin to the way that, a human can process any text in any language, by learning the new language
19:41:07 <itidus21> so such a cpu could process any program in any machine code, by learning the new machine cde
19:41:46 <ais523> what would it learn /from/, though?
19:41:55 <ais523> surely a computer would learn best from the equivalent of a dictionary
19:42:10 <itidus21> thats how i imagine it
19:42:43 <ais523> and the equivalent of a dictionary is basically an implementation of each command
19:42:46 <Phantom_Hoover> itidus21, so you mean a hardware emulator.
19:42:55 <itidus21> its probably too late at night for me
19:42:58 <ais523> which is what you provide to an interpreter (to get an emulator) or an FPGA (to get a synthesized circuit)
19:43:08 <Phantom_Hoover> A generalised hardware emulator, that is.
19:43:55 <itidus21> Phantom_Hoover: yeah but i guess that such a thing should always have limits
19:44:27 <itidus21> i really don't like grey goo
19:58:31 <atriq> It's gooey
19:59:55 <atriq> And dear god Tumblr has exploded with Homestuck
20:03:10 <itidus21> thats non-good
20:03:25 <Phantom_Hoover> atriq, this surprises you
20:03:27 <atriq> Unless you like Homestuck
20:03:29 <itidus21> from what i saw of homestuck... it probably shouldn't spread
20:03:50 <Phantom_Hoover> It's pretty spread already.
20:04:07 <atriq> It hasn't been referenced in xkcd or SMBC
20:04:19 <itidus21> lets keep it that way, quintopia
20:04:33 <Phantom_Hoover> I think iti has lost it./
20:04:44 <itidus21> a little
20:05:03 <atriq> Or has arranged his keyboard into alphabetic order and missed the P for Phantom_Hoover
20:05:34 <itidus21> im just ... tripping out
20:05:55 <Phantom_Hoover> are
20:05:58 <Phantom_Hoover> are you on drugs
20:06:01 <itidus21> no
20:06:08 <atriq> I think he's on itidus-iness
20:06:11 -!- rodgort has joined.
20:06:36 <atriq> `welcome rodgort
20:06:38 <itidus21> i just don't think its for the greater good if the world at large discovers homestuck
20:06:39 <HackEgo> rodgort: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
20:06:44 <itidus21> but i was out of line
20:07:45 <zzo38> FPGAs can be inefficient although every one is different from each other and requires special software to be able to program. My suggestion would be to use a actual CPU as well as FPGA, but open specification versions of both.
20:08:12 -!- oerjan has joined.
20:09:07 <itidus21> anxiety got the better of me tonight
20:10:55 <zzo38> Probably with certain kinds of CPU might be able to speed it up, as well as the way the memory is being connected, and with FPGA as a part of it.
20:11:12 <zzo38> And also be able to reprogram the CPU's microcode at runtime if it has any.
20:11:17 -!- jlaire has left.
20:11:59 <itidus21> maybe a better question is, is it possible to describe a natural human language in such terms as to be able to decipher it without reference to another language
20:12:19 <itidus21> these days it seems to be the case
20:13:46 <oerjan> @messages
20:13:46 <lambdabot> Arc_Koen said 8h 26m 39s ago: 48 ~!~)): [[48 [)):] [~!~)):] ~~) !][49 [~!~)):] [)):] )~]] prints an infinite loop of 0 and 1s... except it doesn't print anything until the loop is over, which never
20:13:46 <lambdabot> happens.
20:13:46 <lambdabot> Arc_Koen said 8h 25m 4s ago: interestingly, infinite loops with the ocaml interpreter seem to go forever; with the C interpreter they always end up in a segfault
20:13:46 <lambdabot> atriq asked 2h 15m 37s ago: Thue-Morse sequence?
20:14:30 <atriq> Wow, it seems my Haskell interpreter would be the best if I could just get the goddamn main function working
20:14:43 <oerjan> atriq: didn't the one i pasted work? :(
20:14:45 <kmc> main isn't a function
20:14:47 <kmc> in haskell
20:15:15 <atriq> kmc, "main" is a function that makes a haskell program an executable if you define it with type IO (), I mean that one
20:15:16 <atriq> I think
20:15:29 <kmc> that's not a function
20:15:31 <zzo38> But (IO ()) is not a function type.
20:15:32 <kmc> it doesn't have a -> in its type
20:15:36 <zzo38> A function type is (->)
20:15:43 <oerjan> Arc_Koen: i know, it's probably because it never prints a newline, EgoBot's interpreters have the same problem (i modified my /// interpreter for it specifically to get around it)
20:15:44 <atriq> I...
20:15:49 <atriq> I just call everything a function
20:15:52 <atriq> 7 is a function
20:15:55 <atriq> () is a function
20:15:56 <kmc> that's wrong
20:16:01 <atriq> I know it's wrong
20:16:02 <kmc> you are saying wrong things
20:16:04 <kmc> so don't do that
20:16:12 <atriq> It's just how I think and sometimes when I think things I end up saying them
20:16:16 <atriq> The "main" thingymabob
20:16:20 <kmc> "value"
20:16:25 <kmc> or in this case "IO action"
20:16:25 <atriq> That sounds wrong
20:16:26 <oerjan> Arc_Koen: adding fflush(stdout) before every printing _should_ fix that.
20:16:29 <kmc> yeah but it's not wrong
20:16:41 <atriq> If I could get main working
20:16:44 <oerjan> oh he doesn't seem very present
20:17:21 <zzo38> You could call all the function, IO, etc, all a "value", just because in Haskell they are a first-class value.
20:17:41 <oerjan> @tell Arc_Koen Adding fflush(stdout) before each printing may fix the trouble of the thue-morse program not printing anything, EgoBot's interpreters have the same problem (i modified my /// interpreter for it specifically to get around it)
20:17:41 <lambdabot> Consider it noted.
20:18:29 <atriq> I think I know exactly what the problem is
20:18:40 <atriq> The parser doesn't handle whitespace QUITE correctly
20:18:41 <oerjan> atriq: (that's a yes to your question too)
20:18:47 <atriq> (okay)
20:19:19 <atriq> I really need that function from Prelude.Generalize
20:19:28 <atriq> But I don't want to force people to use an obscure library
20:20:21 <zzo38> Which function from Prelude.Generalize? If you do not want to force people to use that library, just copy the function. Prelude.Generalize is in the public domain.
20:20:21 <oerjan> atriq: what is wrong with my main :(
20:20:36 <fizzie> oerjan: It's mainly in Spain.
20:20:37 <atriq> Nothing, it's a problem with the parser
20:20:41 <oerjan> aha
20:21:01 <oerjan> atriq: yeah in parsec you usually want to skip space after every token read
20:21:06 <atriq> It fails when there's whitepsace at the back
20:21:22 <oerjan> and at the very beginning
20:22:02 <oerjan> this means every new subparser can start on non-whitespace, which simplifies things
20:22:18 <atriq> Works now!
20:22:51 <atriq> And now I'm encountering the same problems as Arc_Koen
20:22:57 <oerjan> XD
20:23:08 <atriq> Due to different default buffering stuff in GHCi and compiled programs, I presume
20:23:12 <zzo38> atriq: Tell me which function you needed from Prelude.Generalize I am interested to know which one.
20:23:30 <oerjan> atriq: hflush stdout before printing should help there too :)
20:23:41 <oerjan> er after, i guess
20:23:45 <atriq> zzo38, (<>>=)
20:23:59 <oerjan> @tell Arc_Koen um i mean _after_ printing, of course
20:23:59 <lambdabot> Consider it noted.
20:24:41 <oerjan> i guess that setbuffering stuff might not also be used
20:24:50 <zzo38> atriq: OK. Just copy it to your program; it is public domain.
20:25:10 <atriq> zzo38, it's easier to just name it and return it later
20:25:26 <zzo38> OK then, do it that way if you prefer.
20:26:05 <oerjan> <FreeFull> There is but it doesn't return them in lexicographic order =P <-- they decided to make it work on infinite lists instead.
20:26:12 <atriq> oerjan, fixed it
20:26:18 <atriq> hSetBuffering stdout NoBuffering
20:26:25 <oerjan> right
20:27:21 <oerjan> > permutations "abcde"
20:27:22 <lambdabot> ["abcde","bacde","cbade","bcade","cabde","acbde","dcbae","cdbae","cbdae","d...
20:27:46 <itidus21> > permutations "01"
20:27:47 <lambdabot> ["01","10"]
20:28:01 <oerjan> hm is it actually lexicographical order of the reverse?
20:28:26 <oerjan> > reverse <$> permutations "edcba"
20:28:27 <lambdabot> ["abcde","abced","abedc","abecd","abdec","abdce","aedcb","aedbc","aebdc","a...
20:28:37 <oerjan> nope not even that
20:28:55 <atriq> > reverse $ permutations "edcba"
20:28:56 <lambdabot> ["dbeac","dbaec","dabec","adbec","debac","deabc","daebc","adebc","edbac","e...
20:29:02 <atriq> Not that either
20:29:08 <atriq> @src permutations
20:29:08 <lambdabot> Source not found.
20:29:16 <oerjan> it's a pretty new function
20:29:23 <oerjan> in Data.List
20:29:31 <atriq> I know where it is
20:29:37 -!- asiekierka has quit (Ping timeout: 240 seconds).
20:30:12 <fizzie> ... where perms [] _ = []; perms (t:ts) is = foldr interleave (perms ts (t:is)) (permutations is) where interleave = complicated-looking stuff.
20:31:22 <oerjan> lexicographic order of the reverse would have been more logical, i think
20:31:38 <oerjan> since it works even for infinite lists
20:32:37 <oerjan> (well with a reverse that returns a leftward infinite list)
20:32:47 <fizzie> > take 10 $ take 3 <$> permutations [1..]
20:32:48 <lambdabot> [[1,2,3],[2,1,3],[3,2,1],[2,3,1],[3,1,2],[1,3,2],[4,3,2],[3,4,2],[3,2,4],[4...
20:34:30 <fizzie> Is it just a coincidence that take 6 $ take 3 <$> permutations [1..] equals permutations [1,2,3] or not?
20:37:31 -!- augur has quit (Remote host closed the connection).
20:41:14 <oerjan> fizzie: no that's intentional, it does all permutations of the first n before even looking whether there is more in the list
20:41:37 <oerjan> > take 3 <$> permutations ("abc" ++ undefined)
20:41:39 <lambdabot> ["abc","bac","cba","bca","cab","acb"*Exception: Prelude.undefined
20:41:56 <fizzie> Yes, that sounded a'sense.
20:43:37 <oerjan> maximal laziness and all that.
20:51:42 -!- pikhq has quit (Ping timeout: 245 seconds).
20:51:46 -!- pikhq_ has joined.
20:52:16 <oerjan> atriq: btw i assume this means my thue-morse sequence worked?
20:52:21 <atriq> Yes
20:52:24 <atriq> Yes it did
20:52:31 <oerjan> then i can put it on the wiki.
20:53:52 <FreeFull> You guys still talking about permutations
20:55:29 <oerjan> no, now we're talking about fueue
20:59:43 <fizzie> Perfueuetions. Fuemutations. Permueues.
21:00:16 <oerjan> <itidus21> i say, imagine an xkcd what-if about what would happen if there was world peace <-- after the .75 c (or so) baseball and the jumping i think we can all see how that would go.
21:00:51 <fizzie> Also the half-full glass that ended up in someone's face.
21:00:55 <oerjan> right.
21:01:22 <atriq> I'm probably the only person who wanted Haskell syntax highlighting on Tumblr
21:01:50 <oerjan> i think xkcd what-if needs better navigation soon, there isn't even a link to the first one
21:02:00 <oerjan> *direct link
21:03:01 <oerjan> haskell is no tumblr land
21:05:19 -!- boily has quit (Quit: Poulet!).
21:05:43 -!- boily has joined.
21:05:43 -!- boily has quit (Client Quit).
21:05:48 -!- cuttlefish has quit (Remote host closed the connection).
21:06:02 <oerjan> <atriq> May not be QUITE enough to be Turing complete <-- i'm pretty confident of the basic principle, even if my translation might have bugs
21:06:14 <atriq> I realised that later
21:06:48 <oerjan> *in
21:07:01 <atriq> My doubt was caused by a misremembrance of Underload
21:08:12 <atriq> Wow, this is slow
21:08:56 <oerjan> i think it would be possible to do the rest of the underload functions as well, except plain S, but they take two stack arguments and * and a would need to build something complicated so they would be much more work
21:09:54 <oerjan> ~ might be somewhere in between
21:11:29 <oerjan> hm apparently "confident of" and "confident in" are both considered correct
21:11:48 <atriq> English.
21:11:58 <oerjan> well by this one person anyhow :P
21:12:28 <atriq> Can't decide between the genitive and the locative.
21:12:54 <oerjan> i vaguely recall those were equal for some latin nouns
21:13:34 <oerjan> like "domi"
21:13:46 <atriq> Latin isn't English.
21:15:00 <oerjan> english doesn't really have locative
21:15:02 <atriq> Making English Latin is to, despite all common sense, cling to an ideal that, many centuries ago, you ascended from.
21:15:14 <atriq> It doesn't really have genitive either
21:15:32 <oerjan> no, but at least 's is descended from it
21:15:46 <atriq> That's the possessive, which is different, I think?
21:16:18 <oerjan> -s is a pretty common genitive ending in those germanic languages which still have it
21:16:25 <atriq> Is it?
21:16:26 <atriq> Hmm
21:16:51 <oerjan> (norwegian still has -s, but it's mostly used like in english so may not count)
21:17:12 <itidus21> demi, term meaning half and also eponymous name describing the ratio of her age to her partners
21:18:03 <oerjan> um you realize that ratio isn't constant right?
21:18:12 -!- soundnfury has joined.
21:18:19 <itidus21> turns out their actual ages are 49 and 34
21:18:47 <itidus21> so its a vast exaggeration
21:19:04 -!- Vorpal has quit (Ping timeout: 252 seconds).
21:24:48 -!- Taneb has joined.
21:24:51 <fizzie> oerjan: If you round ages to years and switch every year...
21:25:03 -!- atriq has quit (Ping timeout: 276 seconds).
21:25:58 <oerjan> fancy
21:28:12 -!- Taneb has changed nick to atriq.
21:28:50 -!- augur has joined.
21:31:48 -!- atriq has quit (Quit: Goodnight).
21:39:23 <zzo38> I have added some of the instructions to RogueVM now, and fixed a few other things; tell me if you have any suggestions/comments, and if you have idea what other instructions you think should be needed.
21:45:25 <oerjan> http://www.sheldoncomics.com/archive/120831.html :P
21:51:59 <shachaf> kmc: Ah. The .ma.comcast.net and frequent disconnections misled me.
21:58:17 <kmc> it shouldn't be disconnecting anymore :)
21:58:46 <kmc> the host running irssi is my desktop in ma on comcast
22:02:43 <Arc_Koen> fizzie: if you have any idea why infinite loops end up in a segmentation fault with fueue.c, please let me know
22:02:44 <lambdabot> Arc_Koen: You have 2 new messages. '/msg lambdabot @messages' to read them.
22:02:49 <Arc_Koen> @messages
22:02:49 <lambdabot> oerjan said 1h 45m 9s ago: Adding fflush(stdout) before each printing may fix the trouble of the thue-morse program not printing anything, EgoBot's interpreters have the same problem (i modified my /
22:02:49 <lambdabot> // interpreter for it specifically to get around it)
22:02:49 <lambdabot> oerjan said 1h 38m 50s ago: um i mean _after_ printing, of course
22:03:47 <oerjan> Arc_Koen: there is probably also some function to set stdout to unbuffered, but i don't recall what it is in C.
22:06:11 <Arc_Koen> ok, fflush(sdtout); seems good enough
22:06:13 <Arc_Koen> 0110100110010110100101100110100110010110011010010110100110010110100101100110100101101001100101100110100110010110100101100110100110Segmentation fault
22:06:25 <Arc_Koen> though I still don't get what the segfault is here for
22:06:28 <oerjan> ic
22:06:36 * Arc_Koen should check tail-recursivity
22:06:39 <oerjan> and it happens after several iterations...
22:06:49 -!- MoALTz has quit (Ping timeout: 268 seconds).
22:06:49 <Arc_Koen> yes, it always happen with infinite loops
22:06:58 <oerjan> but not many enough to have run out of memory
22:07:03 <Arc_Koen> the ocaml version seems quite happy to go on forever, though
22:07:19 -!- osdevcapacitor has joined.
22:07:27 <Arc_Koen> oerjan: now that I think of it, someone pointed out a few memory leaks
22:07:35 <Arc_Koen> I should fix them
22:08:07 <oerjan> perhaps you are freeing too much at some point too?
22:08:26 <Arc_Koen> last time I did that gcc kept me informed
22:09:00 <Arc_Koen> if I download a thuemorse interpreter and pipe the result, will it work?$
22:09:17 <zzo38> Is it allowed in C for a void function to return f(...) if f is also a void function?
22:09:22 <Arc_Koen> (is it really an infinite loop? or does it stop at some point?
22:09:43 <oerjan> Arc_Koen: it is infinite yes
22:10:07 <oerjan> also thue-morse isn't a language, it's an infinite sequence.
22:10:13 <Arc_Koen> oh
22:10:30 <Arc_Koen> I got confused by the expression "the thue-morse program"
22:11:00 <Arc_Koen> ok, imagine I make a program that takes binary code as an input
22:11:19 <Arc_Koen> (or at least a sequence of 0s and 1s, cause I think binary code is something else)
22:11:40 -!- osdevcapacitor has quit (Ping timeout: 245 seconds).
22:11:42 <Arc_Koen> is there a way to have the two of them work simultaneously, via a pipe or stdin or whatever
22:11:58 <oerjan> sure, a pipe will do
22:12:39 <Arc_Koen> interestig
22:14:24 <oerjan> i note many of your functions suppose q not empty. it might be an idea to put in a debug check that the supposition isn't violated.
22:15:19 <oerjan> it's the kind of thing that could easily give a segmentation fault, i think
22:17:41 <oerjan> Arc_Koen: the ):[):] loop also gives a segmentation fault?
22:17:51 <Arc_Koen> yup
22:18:19 <Arc_Koen> hmmm
22:19:01 <Arc_Koen> btw, how are errors signaled in C, usually?
22:19:17 <Arc_Koen> I mean, if I use "return -1" or something it's not very explicit
22:19:27 <Arc_Koen> should I make an error function that prints stuff on stderr?
22:19:53 <Arc_Koen> (for instance is there an equivalent to ocaml's exceptions?)
22:23:11 <oerjan> printing on stderr is good, i think. also exit(EXIT_FAILURE); is the portable way to do a failure exit, if i understand exit's manpage correctly.
22:25:47 <oerjan> on linux, other values are used by some programs, and anything not 0 is some kind of error.
22:25:55 <Arc_Koen> (is_empty(q) && errorfunction("empty"));
22:25:56 <oerjan> afair
22:26:08 <Arc_Koen> ok that may not be the best way to write that
22:26:16 <oerjan> heh
22:28:08 <oerjan> i don't think s != "" is the correct way to check for string emptyness. otoh you never _call_ matchwhat with an empty string so it doesn't matter.
22:28:42 <Arc_Koen> oh, right
22:29:23 <Arc_Koen> yesterday I tried to compare argv[1]'s content with a quote-enclosed string :-)
22:29:27 <Arc_Koen> using ==
22:31:59 <fizzie> !*s is the idiomatical empty-string test, I'd say.
22:33:14 <Arc_Koen> I'm not sure I should take those habits
22:33:32 <fizzie> As for "tail-recursivity", no such thing in C.
22:33:39 <Arc_Koen> oh
22:33:54 <Arc_Koen> so how do I avoid a stack overflow or the like?
22:33:58 <fizzie> Unless you happen to get a really clever compiler, and turn enough optimization flags on.
22:34:03 <fizzie> You don't recurse infinitely.
22:34:04 <zzo38> Well yes !*s is a way to test empty string in C, and is what I use too.
22:34:34 <Arc_Koen> don't we have a nice "strempty" function or somethign?
22:34:55 <fizzie> strcmp(s, "") == 0 is a possible semantically semantical way.
22:35:00 -!- copumpkin has quit (Ping timeout: 248 seconds).
22:35:18 <fizzie> FWIW, gcc -O2 makes your fueue.c not segfault in the oerjogram, for me.
22:35:19 <zzo38> I don't think so but I prefer !*s and I think is better way.
22:35:27 <fizzie> And the non-optimized build segfault is a stack overflow issue.
22:35:49 <fizzie> (Run in gdb, ask for backtrace, get a long list.)
22:36:57 <oerjan> aha
22:37:02 <fizzie> What sort of infinite recursion you have there, anyway? I didn't notice anything else than processFueue, with a self-call all the way in the end.
22:37:14 <oerjan> so then tail-recursiveness might be the problem
22:37:21 <fizzie> You can fix that by wrapping the entire thing inside a do { ... } while (!halts);
22:37:28 <Arc_Koen> well processFueue is recursive and oerjan's program is an infinite loop
22:37:34 <fizzie> It even calls itself with the same arguments.
22:37:41 <Arc_Koen> so processFueue won't stop calling itself until the program ends, which never happens
22:38:03 <Arc_Koen> not quite - it calls itself with the same queue, but the queue has been slightly modified
22:38:19 <fizzie> Yes, but it's been modified even if you just loop.
22:38:32 <fizzie> It's the same 'q' in both cases.
22:38:36 <oerjan> yeah just turn that into a do while
22:38:45 <Arc_Koen> ok :(
22:39:06 -!- copumpkin has joined.
22:39:09 <fizzie> You might need to do something about "Queue newq", though, if references to that are actually kept.
22:39:34 <Arc_Koen> oh, right
22:39:53 <Arc_Koen> well, I'd have to make it a Queue* instead
22:39:56 <fizzie> Where "something" might be e.g. Queue *newq and a newq = malloc(sizeof *newq) in the ( handler. But not necessarily.
22:40:08 <fizzie> It might not really be used.
22:40:34 <Arc_Koen> it's used by the fueue function '('
22:40:46 <fizzie> Yes, but since the queue elements have an actual "Queue" in them, so I suppose pushblock() makes a copy.
22:41:03 <fizzie> Instead of storing a pointer to newq itself anywhere.
22:41:20 <fizzie> I mean, it has to, it's even called-by-value by giving a newq.
22:41:34 <Arc_Koen> yeaaaaaah more or less
22:41:41 <Arc_Koen> the queue is copied
22:41:54 <Arc_Koen> but Queue is a structure that basically contains a length and two pointers
22:42:02 <fizzie> That doesn't matter.
22:42:04 <Arc_Koen> so these two pointers aren't modified by pushblock
22:42:07 <oerjan> if you make it nonrecursive then you don't need the halts variable, you can just do return directly
22:42:29 <fizzie> All that is in the stack (i.e. locals of processFueue) is the 'Queue' structure itself.
22:42:32 <Arc_Koen> while(true)? that seems mean
22:42:39 <fizzie> while (1), you mean.
22:42:41 <fizzie> There is no 'true'.
22:42:52 <Arc_Koen> uh, right
22:42:54 <fizzie> Though for (;;) is kind of common too.
22:43:10 <Arc_Koen> I made a #define TRUE 1 though
22:43:18 <zzo38> I happen to like for(;;)
22:43:22 <Arc_Koen> (after gcc told me he didn't know what true was)
22:43:38 <Arc_Koen> (also he told me he didn't know a function named bool :) )
22:44:07 <fizzie> What would that function even do?
22:44:20 <Arc_Koen> zzo38: in english I'd tend to read "for(;;)" as "while no condition is true"
22:44:40 <fizzie> If you #include <stdbool.h> in a C99 system, you will get a type called 'bool', and constants 'true' and 'false'.
22:44:44 <zzo38> Arc_Koen: C is not English.
22:44:51 <fizzie> (Even if you don't, '_Bool' is a type in C99.)
22:45:06 <fizzie> Not that there's any particular reason to go for C99 features if you don't already.
22:45:11 <Arc_Koen> do people use C99?
22:45:15 <fizzie> Yes.
22:45:17 <Arc_Koen> I thought C89 was the reference
22:45:18 <fizzie> But not all people.
22:45:33 <fizzie> Some people even use some C11.
22:45:52 <zzo38> gcc and a few other compilers can also use GNU extensions, GNU89 and GNU99. (I prefer GNU89 for my own programs.)
22:45:56 <fizzie> C99 isn't terribly rare, though it suffers in popularity due to Microsoft's compiler not doing it.
22:45:58 <Arc_Koen> someone developed a version of C in 1911? wow, they were ahead of their time!
22:48:32 <fizzie> According to valgrind, incidentally, the program still leaks memory. About a megabyte per second when running the oerjogram.
22:49:07 <Arc_Koen> well, there's this immediate dereferencing of a function-returned pointer you mentioned
22:49:21 <Arc_Koen> and probably others as well
22:49:49 -!- ais523 has quit (Ping timeout: 246 seconds).
22:49:56 <Arc_Koen> also the queue is not emptied when the program halts, but I was told the OS would take care of that
22:50:07 <fizzie> Oh, that's still there? But that's fixable simply by changing copyQueue to return a Queue instead of a Queue*.
22:51:09 <fizzie> Queue copyQueue(const Queue *q) { Queue c; ...; return c; } c->block = copyQueue(...) and that should be it. Well, with some &s added in copyQueue.
22:51:28 <Arc_Koen> ok, it's fixed
22:52:06 <fizzie> I think I'll do some sleeping now. But all the reported leaked blocks were from the malloc call in copyQueue, at least.
22:53:28 <Arc_Koen> in my head it went "a Queue basically is a pointer, so using Queue* is silly" then "no, it makes a lot of sense to use Queue* in some cases" then "there's no reason why not to use Queue* everywhere"
22:54:00 <Arc_Koen> can I put a return in a void function?
22:54:04 <fizzie> Yes.
22:54:12 <fizzie> As long as it's just a "return;".
22:54:15 -!- kinoSi has quit (Read error: Connection reset by peer).
22:54:17 <Arc_Koen> ok
22:54:44 -!- kinoSi has joined.
22:54:49 <fizzie> You could use more Queue*s sensibly if your struct Token had a Queue* instead of a Queue, but I suppose that might make it easier to accidentally share Queues.
22:55:46 <itidus21> natural language is really bad at describing a large set of elements of the same type with different values
22:56:15 <fizzie> zzo38: Oh, since you asked: "A return statement with an expression shall not appear in a function whose return type is void. A return statement without an expression shall only appear in a function whose return type is void."
22:56:30 -!- nortti has joined.
22:57:09 <itidus21> such as a 10 by 10 grid of random colours from {red, green, blue, violet, orange}
22:57:47 <zzo38> That is why we have mathematics and computer files
22:58:37 -!- nooga has quit (Ping timeout: 268 seconds).
23:04:03 <Arc_Koen> is it? they told me it was because wells were not hexagons
23:08:03 <Arc_Koen> (now to write a book where wells are hexagons and mathematics don't exist)
23:08:33 * quintopia packs up to move to Arc_Koen's Well of Souls
23:09:48 <zzo38> RogueVM now includes a complicated instruction 0x11 which can be used inside of a string.
23:10:22 <oerjan> i should point out that my thue-morse program _does_ cause the queue to grow indefinitely, as every printed digit other than the first is accompanied by appending blocks for two later digits.
23:10:45 <oerjan> but i assume valgrind doesn't count that as leakage
23:11:34 <oerjan> fizzie: in case you're still here ^
23:11:34 <Arc_Koen> oerjan: I tried your program with fueue.c; as it didn't work I tried it with fueue.ml; as it didn't work I tried it with fueue.c using --print
23:11:46 <oerjan> ouch
23:11:55 <oerjan> well it worked for atriq
23:12:08 <Arc_Koen> it was just the fflush problem
23:12:13 <oerjan> ok
23:12:26 <Arc_Koen> is atriq's interpreter working?
23:13:04 <Arc_Koen> (using --print the huge queue was all over the place)
23:14:02 <Arc_Koen> fizzie: yeah, I'm convinced I don't need to do anything about newq
23:15:03 <oerjan> Arc_Koen: i think so, he also had a buffering problem but fixed it with hSetBuffering instead of hFlush
23:17:21 <oerjan> hypothesis: a ftack program can only run something like m*n steps before either halting, catting, or endlessly copying :'s; where m is the maximal number in the program and n is the program length.
23:19:39 -!- Sanqui has joined.
23:21:12 <zzo38> Now you have to prove it.
23:24:11 <oerjan> well it's basically (1) because all arithmetic results get immediately printed, a $ can never use higher numbers than those in the original program (2) every function other than : and $ shorten the program (3) everything you can copy other than : either goes into the three end states immediately or removes itself one copy per step
23:24:50 <oerjan> *shorten the queue
23:25:12 <oerjan> actually no, program, ) only shortens if you consider the length of the block contents
23:25:47 <Arc_Koen> what if I produce a counter example
23:25:49 <Arc_Koen> right now
23:25:52 -!- pikhq_ has quit (Ping timeout: 245 seconds).
23:25:54 -!- pikhq has joined.
23:26:15 <oerjan> * shorten the queue or goes into an end state
23:26:35 <oerjan> argh, *program
23:27:00 <oerjan> because ( lengthens but gives a block on top
23:27:02 <Arc_Koen> )[)[)[)[)[)[)[)[)[)[)[)[)[)[)[0H]]]]]]]]]]]]]]]
23:27:27 <Arc_Koen> as many steps as ')' (plus the 0 and H)
23:27:34 <Arc_Koen> yet m is 0, so m*n is 0 as well
23:27:44 <oerjan> XD
23:28:11 <oerjan> that's why i said "something like", i expect there might need to be a small added constant.
23:28:31 <quintopia> or an extra factor/
23:28:52 <Arc_Koen> ( and < both produce immediate cat
23:28:58 <oerjan> yeah
23:29:23 <Arc_Koen> because they are either lacking an argument (-> immediate cat) or they have correct arguments and produce a block (-> immediate cat)
23:29:45 <oerjan> quintopia: i _think_ that's unnecessary.
23:30:19 <quintopia> oerjan: can Arc_Koen's example be extended indefinitely?
23:30:41 <oerjan> quintopia: well sure. although it's the 0 that's the point, not the rest.
23:31:05 <oerjan> so (m+1)*n, or possibly (m+C)*n, is my guess
23:31:14 <quintopia> yeah i was gonna suggest the first
23:31:52 <Arc_Koen> I'm starting to think it's dangerous to make jokes in front of religious or computerish people
23:32:08 <quintopia> i know a joke
23:32:12 <quintopia> it's good
23:32:14 <quintopia> it's so good
23:32:16 <quintopia> you want to hear it
23:32:19 <quintopia> ?
23:32:36 <quintopia> it may have been posted here before ...
23:32:42 <Arc_Koen> oerjan: the point is that )[x] has always exactly one more step than x
23:32:51 <Arc_Koen> I included the 0 to be sure what m was
23:33:08 <Arc_Koen> quintopia: does your joke involve a duck?
23:33:19 <quintopia> Arc_Koen: no
23:33:36 -!- Nisstyre has quit (Read error: Connection reset by peer).
23:34:15 <quintopia> it's a proof that the cube root of 2 is irrational. :P
23:34:40 <Arc_Koen> haha
23:34:49 * oerjan prepareth the swatter
23:34:58 <Arc_Koen> (wait, was that not the joke?)
23:35:04 <quintopia> no
23:35:38 <Arc_Koen> fizzie: even with copyQueue fixed and processFueue a while loop, I still get a segfault on oerjan's thuemorse program
23:35:43 <quintopia> okay, here it goes: If it were rational, then we could express it as a fraction p/q, p,q integers
23:36:02 <quintopia> so 2=p³/q³
23:36:08 -!- nortti has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )).
23:36:13 <quintopia> so 2q³=p³
23:36:29 <quintopia> so q³+q³=p³
23:36:38 <quintopia> which contradicts the fermat-wile theorem
23:36:43 <quintopia> thus, cube root of 2 is irrational
23:36:49 <Arc_Koen> oO
23:36:57 <oerjan> Arc_Koen: i don't think fizzie is listening at the moment
23:37:00 * oerjan swats quintopia -----###
23:37:17 <Sgeo> q=1 p=1 doesn't violate Fermat
23:37:18 <oerjan> also it's wiles
23:37:18 <quintopia> oerjan: you don't like it? :P
23:37:24 <quintopia> sorry
23:37:34 <Sgeo> ...I can't add
23:37:45 <Sgeo> Apparently 1+1=1 in my world.
23:37:46 * Arc_Koen realizes he has a lot of friend whom it would make laugh
23:37:49 <zzo38> O, yes, it is the Fermat's Last Theorem.
23:37:59 <oerjan> quintopia: well i couldn't let a prepared swatter go wasted
23:38:01 <Arc_Koen> I had the same thought as you Sgeo
23:38:31 <Arc_Koen> (though I didn't go so far as to realize how wrong I was)
23:39:04 <Sgeo> If p and q are not necessarily integers, p=cuberoot(2)
23:39:07 <Sgeo> q=1
23:39:22 <Sgeo> 1^3 + 1^3 = cuberoot(2)^3
23:39:26 <oerjan> Sgeo can't read either.
23:39:28 <Sgeo> That doesn't violate Fermet
23:39:44 <oerjan> or spell.
23:39:46 <Sgeo> Does Fermat specify that the numbers need to be integers?
23:39:55 <zzo38> Yes that doesn't because Fermat's Theorem is for natural numbers only
23:40:00 <Sgeo> Ok
23:40:18 <oerjan> also quintopia specified that p and q were integers.
23:40:38 <Sgeo> oerjan, I was ignoring that because I was curious about non-integers and Fermat's Theorem
23:41:04 <Arc_Koen> Sgeo: for any number a and non-negative number n, a^n + a^n = (nthroot(2)a)^n
23:41:06 <quintopia> Arc_Koen: you're right. you can't tell jokes to some people.
23:41:29 <Arc_Koen> yes that was pretty conclusive I think
23:42:12 <Arc_Koen> (that won't stop me from trying to prove oerjan's hypothesis about Ftack, though)
23:51:15 <oerjan> oh hm might need +2
23:51:23 <oerjan> because : doesn't need any number
23:51:38 <Arc_Koen> haha
23:52:02 <oerjan> or max(3,m+1)
23:52:07 <Arc_Koen> oerjan: but as I said, )[x] takes one more than x
23:52:23 <Arc_Koen> so i'm pretty sure we have to use O(...) in your hypothesis
23:52:46 <oerjan> um i never said it couldn't be _less_ than (m+C)*n
23:53:02 <Arc_Koen> oh
23:53:11 <oerjan> well i didn't mean to, anyway
23:53:46 <Arc_Koen> yes, but what if we find something similar to )[x] but that adds more than the size it adds
23:53:59 <Arc_Koen> (I'm not sure how much '[' is considered to add)
23:55:03 <Arc_Koen> hmm
23:55:14 <oerjan> i don't think it's very important how much you count [ and ] as
23:55:34 * Arc_Koen tries to get explain his point clearly, succeeds, but doesn't because he realizes it doesn't make sense
23:55:47 <oerjan> the only thing that adds them is (, which causes immediate catting
23:56:04 <Arc_Koen> yes but you can have them in the initial program
23:56:43 <oerjan> well yes. i think i'm sort of thinking of counting lexical tokens.
23:56:53 <oerjan> so [ and ] are one each
23:56:54 <Arc_Koen> also, !! adds with a ratio of 1
23:57:08 <Arc_Koen> )[x] adds with a ratio of one third then
23:57:30 <oerjan> Arc_Koen: er what the heck are you thinking, !! removes two elements
23:57:41 <Arc_Koen> yes
23:57:46 <Arc_Koen> I mean, the time it adds
23:57:56 <Arc_Koen> before one of the three ending conditions is met
23:58:11 <Arc_Koen> (cat, ::, H)
23:58:13 <oerjan> ...you don't need to consider things that remove _more_ than one token per step
23:58:42 <Arc_Koen> oh, !! only adds one step
23:58:43 <Arc_Koen> right
23:58:49 <oerjan> + removes three elements, anyway
23:58:58 <Arc_Koen> uh?
23:58:58 <oerjan> er two
23:59:22 <Arc_Koen> but it still proves that C must be more than 0.5
←2012-08-30 2012-08-31 2012-09-01→ ↑2012 ↑all