←2012-05-27 2012-05-28 2012-05-29→ ↑2012 ↑all
00:01:53 -!- BlueProtoman has joined.
00:02:11 <oerjan> `welcome BlueProtoman
00:02:15 <HackEgo> BlueProtoman: 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.)
00:02:19 <BlueProtoman> Hello, oerjan.
00:10:28 <rszeno> imo thue is perfect for transducers
00:14:21 -!- DHeadshot has quit (Read error: Connection reset by peer).
00:26:24 <BlueProtoman> Anyone know why my Brainfuck loops aren't working? I think it's the way I'm storing the []'s in a table, I don't think I'm doing it correctly. Code's coming up/
00:26:41 -!- myndzi has quit (Read error: Connection reset by peer).
00:26:50 <BlueProtoman> http://ideone.com/PT6Rp
00:27:11 -!- myndzi has joined.
00:28:40 <Sgeo> It looks like it's doing more than checking loops
00:28:53 <Sgeo> is brace_table a global variable?
00:28:57 <BlueProtoman> No.
00:29:08 <oerjan> BlueProtoman: don't you need to save backwards jumps as well?
00:29:16 <BlueProtoman> Lemme explain how this works.
00:29:36 <BlueProtoman> I plan on implementing several Brainfuck dialects in my program. To do this, each dialect comes as a class that derives from AbstractBF.
00:29:51 <BlueProtoman> So the Brainfuck class has a std::unordered_map<int, int> brace_table.
00:30:18 <BlueProtoman> Each entry is a pair of braces; the ['s position is the key and the ]'s position is the element.
00:30:48 <BlueProtoman> When a [ is found, its position is recorded in brace_table, with its element initially being -1.
00:31:43 <BlueProtoman> While all this is going on, I'm pushing [ positions onto a std::stack<int>.
00:32:14 <BlueProtoman> When a ] is found, its corresponding key is found with find(), and then that element is set to the ]'s position.
00:32:27 <BlueProtoman> If any element is equal to -1, something went wrong.
00:32:51 <BlueProtoman> And thus we don't run the program. Problem is, I seem to be looping to the beginning of the program whenever I hit a [.
00:33:17 <oerjan> BlueProtoman: well the bug is probably not in the part you pasted, then.
00:33:22 <ais523> how does your program deal with jumping from a [ to a ] when the value is zero?
00:33:33 <BlueProtoman> ais523: When the element is 0, you mean?
00:33:38 <ais523> yes
00:34:10 <BlueProtoman> It doesn't. I should fix that by testing whether tempbracestack is empty or not.
00:34:19 <BlueProtoman> But that doesn't seem to be my problem.
00:34:33 <oerjan> BlueProtoman: um i think he means when the _tape_ value is zero.
00:35:01 <BlueProtoman> oerjan: What do you mean the tape value? I don't quite follow.
00:35:30 <oerjan> BlueProtoman: for the standard brainfuck with a tape of cells
00:35:35 <oerjan> or array
00:35:46 <BlueProtoman> oerjan: Oh, right. Lemme show you.
00:35:55 <BlueProtoman> I handle all BF instructions as function objects.
00:36:11 <BlueProtoman> But first I use a regex to filter out other characters.
00:36:42 <BlueProtoman> Here's my entire class. http://ideone.com/ZTTwA
00:36:49 <BlueProtoman> Including the instructions.
00:39:16 -!- Mefi has joined.
00:41:50 <BlueProtoman> Any thoughts?
00:43:36 -!- oerjan has quit (Quit: Lost terminal).
00:45:51 -!- oerjan has joined.
00:46:06 <oerjan> is instructions[program[currentinstruction++]]();
00:46:15 <oerjan> well defined behavior?
00:46:39 <oerjan> as in, is it guaranteed when the increment happens wrt. the function call?
00:46:53 <ais523> oerjan: I don't think the timing of the increment wrt the call is guaranteed
00:47:03 <ais523> although if that doesn't matter, it's well defined in other respects
00:47:17 <oerjan> i'm pretty sure it matters for [ and ]
00:47:19 -!- itidus20 has joined.
00:47:20 <ais523> unspecified rather than undefined, as in IIRC you're guaranteed that it will definitely happen either before or after
00:47:45 <ais523> and no, it doesn't matter, just go backwards to the first [ or ] of the group
00:47:49 -!- Mefi has left.
00:47:56 <ais523> (this actually works!)
00:48:11 <ais523> (I used the trick to obfuscate a BF interp for the IOCCC once, but it didn't win)
00:48:19 <oerjan> ais523: erm in the given code it matters, currentinstruction is used to look up the point to jump to
00:48:38 <ais523> oerjan: with [[, there's no way that the second [ can perform a jump
00:48:40 <oerjan> if it has already been incremented, that could well give a zero
00:48:44 <ais523> likewise, with ]], there's no way the second ] can perform a jump
00:48:57 <oerjan> ais523: erm are you even understanding my point?
00:49:05 <ais523> so for each [, you can just give the instruction after it the same jump target as the [ itself
00:49:15 <ais523> I'm understanding your point, but I think you're missing mine
00:49:32 <ais523> which is that you have enough information to determine where to jump to even with an uncertainty of 1 in the IP
00:49:44 <oerjan> ais523: sheesh. you're being irrelevant to the code we're actually trying to debug.
00:50:03 <ais523> oh, this is debugging? I thought you were trying to find a creative way to write a BF interp
00:50:52 -!- itidus21 has quit (Ping timeout: 244 seconds).
00:50:58 <oerjan> BlueProtoman: anyway, try putting the currentinstruction++ in a separate command afterwards.
00:50:59 <BlueProtoman> oerjan: If instructions (which is a std::unordered_map<char, std::function<void()>>) returns nothing, it'll throw an exception, which I catch.
00:51:16 <oerjan> oh hm
00:51:25 <oerjan> or wait
00:52:08 <oerjan> BlueProtoman: that's not the problem. the instruction is found fine, but the code for [ needs currentinstruction to _not_ be incremented in between
00:52:11 <oerjan> afaiu
00:52:24 <BlueProtoman> If it returns no function object, then we've hit a character that isn't a Brainfuck instruction, and was somehow missed by the regecx.
00:52:26 <BlueProtoman> *regex.
00:52:27 <oerjan> well assuming my guess is right
00:53:04 <BlueProtoman> OK, I'm getting somewhere. Still not finished, though.
00:53:06 <BlueProtoman> Hold on.
00:53:25 <oerjan> BlueProtoman: my guess is that (1) the instruction for a [ is looked up, correctly (2) currentinstruction++ is incremented, too early (3) the code for [ breaks because of (2)
00:53:59 <Gregor> What's the third most relevant architecture beyond x86[_64] and ARM? PPC? MIPS?
00:54:07 <pikhq> Probably PPC.
00:54:10 <BlueProtoman> oerjan: For some reason, I get �� as my output.
00:54:11 <madbr> yeah
00:54:17 <madbr> maybe some pic stuff
00:54:19 <Gregor> That is SUCH a distant third.
00:54:24 <BlueProtoman> AVR?
00:54:30 <pikhq> Gregor: All current-gen consoles use it.
00:54:30 <BlueProtoman> You know, for Arduinos.
00:54:35 <Gregor> pikhq: Yeah, that's true.
00:54:41 <kmc> Arduinos are a tiny tiny tiny tiny fraction of all AVRs in use
00:54:45 -!- zzo38 has joined.
00:54:47 <BlueProtoman> Hm.
00:54:52 <kmc> PIC and AVR and their friends probably outnumber x86 and ARM by a large factor
00:55:09 <oerjan> BlueProtoman: what happens if you replace instructions[program[currentinstruction++]](); with instructions[program[currentinstruction]](); currentinstruction++; ?
00:55:11 <Gregor> I really mean general-purpose MMU-capable archs *shrugs*
00:55:17 <Lumpio-> Arduinos are expensive as hell
00:55:20 <madbr> but what ebout the amount of software written for it?
00:55:21 <Lumpio-> Why are they that expensive anyways
00:55:31 <madbr> are they still 50$?
00:55:34 <kmc> Lumpio-: there are plenty of cheap clones
00:55:35 <BlueProtoman> oerjan: I get garbage output, but no infinite loop.
00:55:38 <kmc> i thought they were like $30
00:55:41 <oerjan> ouch
00:55:43 <BlueProtoman> Looks like this; ��
00:55:47 <oerjan> BlueProtoman: ok scratch that then :(
00:55:58 <Lumpio-> I've come to see Arduinos as a representation of the new hipster electronics generation
00:55:58 <BlueProtoman> It means I'm on the right track, though, doesn't it?
00:56:03 <Lumpio-> Them, and sparkfun
00:56:12 <Lumpio-> Expensive as hell but buy is it hip and cool
00:56:17 <oerjan> BlueProtoman: well it means it changed the behavior, at least.
00:56:20 <Lumpio-> s/buy/boy/
00:56:27 <kmc> Lumpio-: arduinos are reasonable development boards
00:56:37 * oerjan defers to real c++ experts, and goes for food ->
00:56:41 <kmc> if you build a project around an arduino and leave it in there, that's kind of silly
00:56:48 <Lumpio-> Yeah, but that's what they do.
00:56:53 <madbr> lumpio: haven't seen anything interesting sound synthesis wise from that stuff
00:56:57 <kmc> but really you're whining about someone spending an extra $20 here and there
00:56:59 <madbr> kinda disappointing
00:57:01 <Lumpio-> madbr: Arduino?
00:57:09 <kmc> these are largely people with jobs who make more than $20 an hour
00:57:23 <madbr> though I guess arduino isn't very good for audio anyways
00:57:38 <Lumpio-> Do the AVRS used in arduinoes even have hardware multiplication
00:57:53 <kmc> maybe they just want to make something cool, not spend all day soldering chips by hand to appease some crusty old electronics beardo
00:58:07 <kmc> basically you sound like more of a hipster than them
00:58:15 <kmc> "i was into electronics before it was cool and accessible"
00:58:38 <BlueProtoman> Any tips for my Brainfuck interpreter? I no longer get infinite loops with my output, but I do get garbage output (and I know that the program doesn't run completely). http://ideone.com/4dXq8
00:59:00 <kmc> this is like the people who whine about any software not written in C
00:59:22 <kmc> omg think of all the inefficiency, i'm using literally megabytes of memory, or 0.025% of the total available on my system
00:59:44 <rszeno> BlueProtoman, you are outside of the program, probably after it
00:59:46 <kmc> Lumpio-: to answer your question, no the ATmega328 and friends do not have hardware multiply
00:59:51 <Lumpio-> ook
00:59:59 <BlueProtoman> rszeno: What makes you say that?
01:00:16 <Lumpio-> kmc: ...actually I wasn't into electronics before it was cool and accessible .__.
01:00:19 <rszeno> output
01:00:26 <kmc> Lumpio-: so you're a *poseur* hipster :)
01:00:28 <Lumpio-> I've barely even played with MCUs yet
01:00:54 <rszeno> look like reading a random place in memory
01:00:58 <zzo38> I do have ideas and plans to build a new computer, probably using an existing CPU architecture for practical purposes; if I could build a MMIX which is cost-effective I would do that; GCC already can compile for MMIX. However I will also need a GPU or DSP; can you recommend one which has Free software and can do audio and video?
01:01:25 <BlueProtoman> rszeno: I don't see how that's possible, since I have a check to make sure the program stops running when currentinstruction > program.size().
01:01:56 <kmc> Gregor: PPC is used in game consoles and a lot of embedded stuff, MIPS also used in embedded stuff plus Chinese government is pushing it, s390 / s390x still quite relevant in enterprise
01:02:16 <kmc> PPC might be the most common synthesizable core for FPGAs
01:02:17 <rszeno> i guess you change beaviour when you play with indexes
01:02:35 <zzo38> Why is Chinese government pushing it?
01:02:42 <Gregor> Wow, s390 still gets used?
01:02:57 <Lumpio-> zzo38: Because x86 is dominated by untrustworthy capitalist swine
01:02:58 <BlueProtoman> Maybe I should use an iterator instead?
01:03:03 <Lumpio-> s
01:03:32 <Lumpio-> They're making their own processors so they can have hardware spyware on them
01:03:38 <pikhq> Gregor: IBM doesn't believe in letting things die.
01:03:50 <kmc> yeah that's kind of the point of buying enterprise stuff
01:04:15 <Lumpio-> Lazy people use enterpricey stuff with long-term support.
01:04:18 <rszeno> imo is a bad idea to use oop and streams for this but probably is only my opinion, :)
01:04:20 <Lumpio-> True haxors live on the bleeding edge
01:04:25 <kmc> haha
01:05:03 <zzo38> Can you suggest the CPU, GPU, DSP to use?
01:05:09 <kmc> hmm actually the #1 (publicly known) supercomputer in the world is based on SPARC64
01:05:25 -!- ais523 has quit.
01:05:35 <zzo38> Can we make a Checkout compiler to any GPU?
01:06:39 <madbr> is it possible to use a fast gpu from anything else than PC, ARM or PPC?
01:07:01 <Lumpio-> Does zzo38 even need anything besides a text mode?
01:07:34 <zzo38> For what I am making, it needs user-definable modes. The BIOS can include the text mode built-in
01:08:04 <zzo38> And it need to support composite video out, and preferably also component video out.
01:08:15 -!- derdon has quit (Remote host closed the connection).
01:08:33 <Lumpio-> What kind of resolution are we talking about
01:08:44 <zzo38> NTSC
01:08:51 <Lumpio-> Not PAL? :(
01:09:08 <zzo38> I could make a PAL version as well, but at first just NTSC
01:09:08 <Lumpio-> At any rate, that kind of resolution is not really hard to generate.
01:09:30 <Lumpio-> Make your own little GPU out of an FPGA or something.
01:09:40 <madbr> lumpio: sounds hard no?
01:09:55 <Lumpio-> Nah, NTSC is easier to generate and practically all modern TVs support it
01:09:59 <zzo38> Not only will an FPGA might be slow, but the ones I know of are encrypted and lack Free software
01:10:00 <Lumpio-> madbr: What does?
01:10:21 <Lumpio-> Slow?
01:10:23 <Lumpio-> pffrt
01:10:38 <madbr> designing a nice gpu that does something else than just regurgitate the content of the VRAM
01:10:40 <zzo38> FPGA might be slightly slow, possibly
01:10:46 <Lumpio-> And what do you mean encrypted, are you talking about the dev tools?
01:11:14 <Lumpio-> madbr: A RAMDAC is all a true programmer needs!
01:11:16 <Lumpio-> ¬u¬
01:11:23 <zzo38> Lumpio-: Yes. Also the program to load into the FPGA is encrypted for all the ones I know of
01:11:30 <Lumpio-> What kind of stuff did you have in mind >madbr
01:11:35 <Lumpio-> Tiles? Sprites?
01:11:37 <Lumpio-> ...3D?
01:11:44 <rszeno> zzo38, http://www.milkymist.org/mmone.html ?
01:11:52 <madbr> 3d is kinda hard so I was thinking more like tiles and sprites :D
01:12:26 <Lumpio-> Tiles and sprites shouldn't be /that/ hard
01:12:26 <madbr> tiles or other static layers aren't too hard actually, it's sprites that are hard
01:12:54 <Lumpio-> At least with the kind of power we have these days
01:13:15 <madbr> well, with the kind of power we have you can just use a framebuffer
01:13:42 <Lumpio-> Then again I've never done any video output more advanced than http://qp.virkkunen.net/private/jbxmAAqned
01:13:57 <madbr> was thinking something like a snes/genesis style chip
01:14:00 <Lumpio-> ...I should really get back to that thing and add a stable clock source, the jitter is awful
01:14:15 <madbr> that generates a scanline worth of data each scanline
01:15:14 <madbr> one nice idea I had was to precalculate which sprite is on top of each pixel
01:15:22 <Sgeo> No. Oh no. Why am I considering looking at Eiffel again
01:15:24 <madbr> and then just load the pixel that's on top
01:15:42 <madbr> so that you have more or less "infinite fillrate"
01:15:50 <madbr> ie can put lots of large objects
01:16:02 <madbr> haven't figured out how to do lots of small sprites though :/
01:16:19 <Lumpio-> Sprite systems usually have fixed sizes for sprites anyways
01:16:25 <Lumpio-> (Or a couple of choices)
01:16:33 <Lumpio-> And to make large objects you use a lot of small sprites.
01:18:08 <madbr> well, yeah most classic sprite systems use transparent colors
01:18:23 <oerjan> BlueProtoman: is +1 correct in currentinstruction = brace_table.find(currentinstruction)->first +1; ?
01:18:34 <madbr> which means you have to read every potential pixel to see if it uses the transparent color
01:18:48 <madbr> which puts an absolute limit on fillrate
01:18:52 <BlueProtoman> oerjan: It should be. That puts me at the instruction past the ].
01:19:29 <oerjan> BlueProtoman: past the [ you mean? but you have a currentintstruction++ to be performed after that, you know...
01:19:33 <madbr> (ie if a pixel is hidden by another pixel, you can't have it for free)
01:19:41 <oerjan> *currentinstruction++
01:19:50 <BlueProtoman> oerjan: Wait. I don't understand. Mind elaborating on what I'm doing wrong?
01:20:24 <oerjan> BlueProtoman: does that +1 in the code for ] take into account that currentinstruction is automatically incremented after each instruction run?
01:20:27 <madbr> essentially I think it would make more sense to store the transparency mask separately
01:20:45 <BlueProtoman> oerjan: It might not, actually.
01:20:59 <Lumpio-> madbr: But you still have to read each pixel of the mask
01:21:04 <BlueProtoman> Do software developers usually write code with only half an idea of what they're doing?
01:21:16 <madbr> lumpio: but the mask can be 1bpp
01:21:27 <Lumpio-> So?
01:21:29 <oerjan> BlueProtoman: all the time, i hear (but then i'm not a software developer)
01:21:31 <rszeno> BlueProtoman: yes, at least me
01:21:37 <madbr> which means you're reading 32 pixels at the same time if your memory bus is 32 bits
01:21:44 <BlueProtoman> Oh, OK.
01:21:50 <madbr> OR
01:21:57 <madbr> the mask can be stored as segments
01:22:03 <Lumpio-> Where does that mask come from in the first place
01:22:08 <Lumpio-> Does each sprite have one?
01:22:31 <madbr> "segment 1 starts at pixel a and finishes at pixel b, segment 2 starts at pixel c and finishes at pixel d"
01:22:53 <madbr> lumpio: yeah
01:23:29 <madbr> but yeah if you're using a segment list you still have to read the segment list
01:23:40 <oerjan> BlueProtoman: btw did i mention at the start that i thought the brace_table should contain entried for the ]'s as well? then you don't need an expensive find afaiu
01:23:42 <madbr> so there's still a limit on the number of sprites you can put onscreen
01:23:47 <oerjan> *entries
01:23:48 <Sgeo> Is EiffelStudio good?
01:24:00 <Sgeo> Are there good alternatives if I want to write proprietary programs in Eiffel?
01:24:05 <BlueProtoman> oerjan: It does. The key is the ['s, the element is the ]'s
01:24:17 <oerjan> BlueProtoman: no i mean, index _both_ ways
01:24:27 <BlueProtoman> oerjan: I could use a multimap for that, I guess.
01:24:29 <oerjan> then it's just a simple lookup either way
01:24:47 <BlueProtoman> Maybe. BRB, dinner
01:25:47 <Lumpio-> (I dunno if somebody's already mentioned this but is there a point in indexing loops beforehand?)
01:27:04 <oerjan> Lumpio-: in bf? well i guess you _could_ do it as you go, but it's a natural part of parsing...
01:27:23 <madbr> if you do software rendering VGA style, you probably have to precompute the transparency mask of each sprite too
01:27:28 <Lumpio-> Also speaking of sound synthesis on MCUs
01:27:32 <oerjan> it's definitely more efficient than searching for the matching [] every time :P
01:27:37 <Lumpio-> http://qp.virkkunen.net/private/edjvvEcfiH
01:27:42 <madbr> checking every pixel for transparency is way too slow
01:27:43 <Lumpio-> This is as far as I got before getting bored ¬u¬
01:28:05 <Lumpio-> This thing doesn't have a hardware multiplier either so it can only handle 3 or 4 channels or so
01:28:12 <oerjan> Lumpio-: wait was your question about something completely different? :P
01:28:13 <Lumpio-> Also due to my lacking math-fu there's an awful lot of noise.
01:28:20 <Lumpio-> oerjan: Nope
01:28:56 <madbr> what's the waveform?
01:29:25 <madbr> you can do a nice soundtrack in 4 channels
01:29:26 <Lumpio-> Well you can at least find backward jumps by keeping a stack of open loops
01:29:33 <madbr> ...provided that you have lots of sample data :D
01:29:40 <Lumpio-> But I guess forward jumps would still result in a scan
01:29:52 <Lumpio-> It's just a simple sine wave
01:29:58 <Lumpio-> With an envelope I drew in GIMP
01:30:06 <Lumpio-> After looking at a sample of a music box.
01:30:37 <Lumpio-> It would work better with music with less low notes.
01:30:50 <Lumpio-> But I couldn't be bothered to look for more MIDI files
01:31:06 <madbr> what's the max data size?
01:31:12 <Lumpio-> umm
01:31:18 <Lumpio-> I think that thing had 8kB of memory
01:31:30 <madbr> ah yeah 8kb is too tight for a MOD
01:32:02 <Lumpio-> Oh actual samples would be much easier to play, you could play way more tracks
01:32:15 <Lumpio-> But an envelope means at least one true multiply per sample
01:32:27 <madbr> well, with samples you probably want volume
01:32:32 <Lumpio-> (True as in it cannot be optimized completely into a series of shifts and adds because both arguments are unknown)
01:32:50 <Lumpio-> Nah you can do decent music with a constant volume for each sample
01:32:52 <Lumpio-> Pre-multiplied
01:32:53 <madbr> though some old DOS software cheated and used a LUT for the volume :D
01:33:08 <madbr> was still a 16k LUT tho
01:33:20 <Lumpio-> heh
01:33:33 <Lumpio-> Well I could have LUTs for a couple of levels of volume I guess
01:33:34 <madbr> lumpio: doesn't that multiply the amount of data you need very fast?
01:33:41 <Lumpio-> Assuming 8-bit output one LUT is only 256b
01:33:55 <madbr> some HW synths totally optimize out the multiply too
01:34:02 <Lumpio-> How does that work
01:34:10 <madbr> yamaha FM synths have no multipliers
01:34:18 <Lumpio-> I couldn't figure out how to do it without a true multiply
01:34:26 <madbr> what they do is that they don't store sin(x)
01:34:33 <madbr> they store log(sin(x))
01:34:37 <Lumpio-> ooh
01:34:39 <madbr> and exp(x)
01:34:40 <madbr> :D
01:34:43 <Lumpio-> oooo
01:34:45 <Lumpio-> Mathematical!
01:34:47 <Lumpio-> I get it
01:34:58 <Lumpio-> You know that might work
01:35:04 <Lumpio-> hmm
01:35:20 <Lumpio-> Actually now that I think of it I think I've heard of that before
01:35:43 <kmc> for better emulation of the yamaha fm chips, someone actually de-encapsulated one and read the bits out of the LUT with a microscope
01:38:11 <rszeno> kmc, imo will be a good start to jump to image processing and forget about audio for all the rest of his life, :)
01:38:36 <madbr> kmc: yeah I remember seeing that
01:38:57 <madbr> kmc: I think the opl3 has a real multiplier instead of the logsin + exp thing
01:40:08 <Sgeo> Does an IDE which has a license saying you may only use it for "free" projects count as "free"?
01:40:25 <Sgeo> (Not asking about EiffelStudio in particular, although that inspired the question)
01:41:57 <Lumpio-> rszeno: huh?
01:42:54 <rszeno> i saw a chip ones was a simple one, i suspect a yamaha fm is more complicated
01:43:20 <madbr> yamaha fm isn't that complicated
01:43:22 <madbr> it's smart :D
01:44:02 <Lumpio-> meh now I have to try the log/exp thing out
01:44:35 <madbr> essentially it has one oscillator and one enveloppe
01:44:44 <madbr> and multiplexes the hell out of it :D
01:47:14 <madbr> so most of the chip is taken up by registers actually
01:48:57 <Lumpio-> How do you generate multiple frequencies with a single oscillator?
01:50:31 <rszeno> armonics?
01:50:59 <kmc> the 'oscillator' is a lookup table for sin(x) (or log(sin(x))) right?
01:51:05 <madbr> yeah
01:51:10 <madbr> lumpio: easy
01:51:14 <kmc> so for each sample you can have several internal clock cycles
01:51:22 <kmc> and latch the output into a different register each time
01:51:45 <madbr> you store the current phase for each oscillator in a different register
01:51:51 <madbr> and current frequency too
01:52:12 <kmc> audio sample rate is way below any reasonable clock rate for logic, so this is a good tradeoff
01:52:35 <madbr> for each oscillator, you read the phase, read the frequency, add together, store that back in the phase register
01:52:39 <Lumpio-> oh
01:52:43 <Lumpio-> So it's not actually just one oscillator
01:52:47 <madbr> well
01:52:56 <Lumpio-> Just one look-up table with multiple oscillators built around it
01:53:02 <Lumpio-> ...that's what I did with my thing.
01:53:08 <madbr> they need different phase registers
01:53:17 <madbr> and different parameter registers of course
01:53:24 <madbr> but all the processing logic is shared
01:54:23 <zzo38> I would like the DSP or GPU to be able to do tiles, sprites, and video playback. 3D rendering is not important.
01:54:23 <madbr> like, read phase 1, read freq 1, add, write phase 1, process waveform 1, process volume 1, add to total register
01:54:37 <madbr> then, read phase 2, read freq 2, add, write phase 2, process waveform 2, process volume 2, add to total register
01:54:49 <madbr> etc, repeat for all the channels
01:55:04 <madbr> then take the total register and write that to the DAC
01:55:36 <madbr> zzo: I'm not sure hardware tiles are that useful :D
01:55:45 <madbr> they'Re easy to do tho
01:56:01 <madbr> video playback is different though
01:56:38 <madbr> depends on if you'Re fine with paletted video essentially
01:56:43 <zzo38> madbr: It doesn't need the feature to do tiles built-in to the hardware! What I mean is, that it is capable of being programmed to do these things.
02:00:10 <madbr> hm
02:01:33 <madbr> by the time you have a superscalar pipelined architecture and if you don't have too much pixels to fill, you can do that in software
02:01:41 <madbr> ie pentium
02:02:40 <madbr> essentially you need enough fillrate to fill the screen at least once per frame
02:04:16 <madbr> because then, aside from the transparency stuff (best SNES feature!), you can use smart code to fake any numbers of layers etc you like and limit overdraw
02:04:16 <zzo38> For video playback it is OK if it requires the CPU and the GPU or DSP to work together
02:04:35 <madbr> is paletted (256 color?) video ok?
02:04:48 <madbr> or it has to be some proper algo like mpeg?
02:04:57 <zzo38> No. It has to be proper video such as Theora or Dirac.
02:05:32 <madbr> ok then you need a beefy cpu
02:06:16 <madbr> might need hardware FFT even
02:06:55 <madbr> you're jumping in the hundreads of mhz range
02:07:26 <madbr> which means all the 2d stuff will be totally fine and you've got so much cpu that you can just software mix the audio
02:07:54 <zzo38> OK. The criteria are that it is not extremely expensive and does not require proprietary software to program it
02:07:56 <madbr> unless you want high resolution on the 2d (640x480 or more?)
02:08:14 <zzo38> I told you, the resolution should be enough for NTSC.
02:08:17 <madbr> oh
02:08:22 <madbr> then 320x240 is enough
02:08:26 <zzo38> Just standard definition 4:3; no high definition is needed.
02:08:43 <madbr> essentially you need an ARM system on a chip
02:09:06 <zzo38> Which one? ARM7? ARM11?
02:09:19 <madbr> dunno
02:10:07 <zzo38> Other than the processors, hard drive, optical drive, connectors, etc, I intend to design the rest of the hardware myself such as what is connected and in what way, as well as most of the software too.
02:10:35 <madbr> does decoding theora require floating point?
02:10:39 <madbr> or dirac
02:11:05 <zzo38> I don't know.
02:11:59 <madbr> if you need fast floating point that rules out arm11 I think
02:14:26 <zzo38> But I intend to design how the memory and that stuff is connected myself, in an attempt to prevent such things as DRM from being programmed in, as well as for other purposes too. Even if the ARM11 does not have fast floating point, whatever CPU is used if a GPU or DSP which is not tooo expensive and does not require proprietary software to use, can do some things the CPU doesn't, that might work too.
02:17:20 <madbr> GPUs tend to be proprietary
02:17:49 <zzo38> I know that; but is there a DSP which would be sufficient for this purpose?
02:17:59 <madbr> on the raspberry pi I think you can't even write to the GPU in hardware, you have to boot in linux and use precompiled drivers
02:18:06 <madbr> depends
02:18:28 <madbr> for 3d, software rendering is reasonable at low resolutions with beefy processors
02:18:36 <madbr> if you can live without bilinar filtering :D
02:19:30 <zzo38> I don't need 3D rendering; although surely someone will program it to make some (perhaps not particularly good quality) 3D rendering if they want to.
02:19:36 <madbr> sometimes SIMD stuff helps
02:21:25 -!- itidus22 has joined.
02:22:36 <madbr> but yeah 3d hardware implementation details are jealously guarded these days as far as I can tell, a bit silly
02:25:18 -!- itidus20 has quit (Ping timeout: 244 seconds).
02:25:34 -!- david_werecat has quit (Ping timeout: 245 seconds).
02:26:08 -!- itidus22 has changed nick to itidus21.
02:44:15 -!- BlueProtoman has quit (Quit: Leaving).
03:05:51 -!- rszeno has left.
03:11:32 -!- oerjan has quit (Quit: Good night).
03:21:29 -!- rszeno has joined.
03:50:03 -!- itidus21 has left ("Leaving").
04:10:55 -!- asiekierka has joined.
04:49:19 -!- jaba has joined.
04:50:44 -!- jaba has quit (Client Quit).
04:51:12 -!- rszeno has left.
05:09:10 -!- asiekierka has quit (Quit: Wychodzi).
05:30:18 -!- MoALTz_ has joined.
05:32:41 -!- MoALTz has quit (Ping timeout: 252 seconds).
05:34:54 -!- madbr has quit (Quit: Radiateur).
05:37:06 -!- MoALTz_ has quit (Ping timeout: 244 seconds).
05:41:57 -!- MoALTz has joined.
06:35:23 -!- rszeno has joined.
06:40:01 -!- rszeno has left.
06:48:20 -!- augur has changed nick to poststructuralis.
06:48:42 -!- poststructuralis has changed nick to augur.
07:02:28 -!- Taneb has joined.
07:03:43 <Taneb> Hello!
07:07:33 -!- Phantom_Hoover has joined.
07:19:46 -!- nooga has joined.
07:20:42 <shachaf> kmc: People's explanations of things in #haskell irritate me these days even though I can't pinpoint exactly why.
07:20:50 <shachaf> I should probably just pull a kmc and leave.
07:21:40 <kmc> that's right
07:21:58 <kmc> just stand up, put on shades, make some kind of witty parting remark
07:22:05 <kmc> then casually flick a lit cigarette behind you as you leave
07:22:06 <shachaf> Like ddarius?
07:22:10 <kmc> causing the whole place to go up in flames
07:22:14 <shachaf> 00:22 <preflex> ddarius was last seen on #haskell 80 days, 5 hours, 14 minutes and 58 seconds ago, saying: BMeph: No.
07:22:19 <kmc> did ddarius have a witty parting remark
07:22:20 <kmc> @seen kmc
07:22:20 <lambdabot> Unknown command, try @list
07:22:38 <shachaf> 00:22 <preflex> kmc was last seen 3 seconds ago, saying: <private message>
07:22:49 <kmc> oh heh
07:22:53 <kmc> cause i just asked it in pm ;P
07:22:58 <shachaf> Sploisprot.
07:23:00 <kmc> it was some boring quote from #git
07:23:01 <kmc> sorry bro
07:23:08 <kmc> brochaf
07:23:21 <kmc> sorry, bro. sbarro.
07:23:43 <shachaf> You should've said the launch code to #haskell as you were leaving.
07:23:58 <kmc> the launch code to #haskell is (repeat 0)
07:23:59 <kmc> > repeat 0
07:24:00 <lambdabot> [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,...
07:24:04 <kmc> you have to type the whole thing, though
07:24:07 <shachaf> > last (repeat 0)
07:24:12 <lambdabot> Terminated
07:25:04 <shachaf> I guess lambdabot doesn't compile with -O
07:25:13 <shachaf> > lаst (repeat 0)
07:25:14 <lambdabot> 0
07:28:56 <fizzie> > last $ map (flip showCReal pi) [1..]
07:29:00 <lambdabot> mueval-core: Time limit exceeded
07:29:03 <fizzie> Aw.
07:32:49 <kmc> gotta sleep
07:32:52 <kmc> 'night all
07:42:58 -!- Taneb has quit (Ping timeout: 245 seconds).
07:43:49 -!- azaq23 has quit (Quit: Leaving.).
07:59:20 <nooga> good morning europe!
08:03:01 <fizzie> A bit late for a morning.
08:03:37 <nooga> i just woke up
08:03:39 <fizzie> I suppose English doesn't have a word for the time between morning and noon?
08:03:48 <nooga> late morning?
08:03:49 <nooga> ;D
08:04:06 <fizzie> "(late) morning" is how wiktionary translates the Finnish word for it.
08:04:16 <fizzie> ("Aamupäivä", lit. "morningday".)
08:04:44 <Phantom_Hoover> fizzie, no, because it's still morning.
08:04:47 <nooga> we've got something like beforenoon - "przedpołudnie"
08:05:08 <Phantom_Hoover> I mean why would you need to granularise further?
08:05:11 <fizzie> They've got 'afternoon', I think they should have some sort of 'prenoon' or whatever.
08:05:17 <Phantom_Hoover> Yes.
08:05:25 <Phantom_Hoover> It's called 'morning'.
08:05:31 <nooga> and afternoon is "popołudnie"
08:05:45 <Phantom_Hoover> Morning is a lot shorter than afternoon and evening together, which is why the latter are split.
08:06:08 <fizzie> It's unsymmetrical is what it is.
08:06:25 <Phantom_Hoover> Ah, but your waking hours aren't centred on noon.
08:07:12 -!- Slereah_ has quit (Ping timeout: 250 seconds).
08:07:15 -!- Slereah has joined.
08:07:45 <fizzie> Waking, schmaking.
08:09:56 <zzo38> Now I made the local program for Internet Quiz Engine. Currently it can only be used with local files and does not support uploading or downloading, although I might add those things later on.
08:11:15 -!- Taneb has joined.
08:11:16 <Taneb> Hello
08:11:29 <Phantom_Hoover> .olleH
08:12:26 <zzo38> The program is written in Haskell but calls the C program, so you need the compiled C program as well.
08:22:49 -!- Slereah has quit (Ping timeout: 252 seconds).
08:23:24 -!- Slereah has joined.
08:36:35 -!- aloril has quit (Quit: Leaving).
08:41:00 -!- aloril has joined.
08:51:39 -!- zzo38 has quit (Remote host closed the connection).
09:01:21 <Phantom_Hoover> THE FINAL COUNTDOWN WAS MADE BY SWEDES?????????????
09:02:09 <ion> So?
09:02:19 <Phantom_Hoover> i hate swedes
09:02:20 <Phantom_Hoover> so much
09:02:30 <Phantom_Hoover> except olsner but he was adopted
09:09:31 <Taneb> Sweden beat Lithuania in the Eurovision :/
09:09:37 <Taneb> I likes Lithuania's entry
09:11:00 <fizzie> Sweden beat everyone.
09:11:09 <fizzie> By quite a margin, too.
09:12:18 <Taneb> I know, I watched it
09:12:41 <fizzie> I "watched" it. By which I mean tried desperately not to fall asleep.
09:12:48 <Taneb> I missed a bit of Croatia's and Iceland's, and the second half was talked over by more people than the weird guy who talks over it on the TV
09:14:14 <fizzie> Norway managed to lose the most. Well, from those that made it to the finals, anyway.
09:14:31 <fizzie> Finland was #12 in the first semifinal, they say. So it wasn't *that* far.
09:18:53 -!- aloril has quit (Ping timeout: 248 seconds).
09:19:21 -!- aloril has joined.
09:20:25 <Phantom_Hoover> Where did Englelbrert Humperdinck come?
09:21:09 <Taneb> Second last
09:21:24 <Phantom_Hoover> :D
09:21:57 <Taneb> The votes were annoyingly unpolitical in that Malta didn't vote for us
09:27:42 -!- aloril has quit (Ping timeout: 272 seconds).
09:31:04 <fizzie> You did get some points from Ireland, though.
09:31:13 <fizzie> Humperdick, sorry, -dinck got 5 from Estonia, 4 from Ireland, 2 from Latvia and 1 from Belgium.
09:32:52 -!- Fishspill has joined.
09:33:01 <Fishspill> Hello.
09:33:28 -!- Fishspill has set topic: It is 2012 and there is time to be the international hub for esoteric programming language design and deployment. http://codu.org/logs/_esoteric/.
09:33:34 <shachaf> `WELCOME Fishspill
09:34:02 -!- Fishspill has set topic: It is 2005 and there is time to be the international hub for esoteric programming language design and deployment. http://codu.org/logs/_esoteric/.
09:34:26 <Fishspill> Why hello there.
09:34:42 <fizzie> That is the loudest welcome.
09:35:21 <fizzie> Aw, the uppercased URL (still?) no work.
09:36:23 <Fishspill> Wow, what a welcome. With it being 2005 and all.
09:36:24 -!- olsner has quit (Ping timeout: 252 seconds).
09:37:42 <shachaf> ^rainbow THE YEAR OF LINUS TORVALDS ON THE DESKTOP
09:37:42 <fizzie> The output length limit of that is somewhat sad; it only goes up to, well, not very many letters.
09:37:49 <fizzie> ^bf ,[>,]<[<]>[[.>]<[<]>]!0123456789
09:37:50 <fungot> 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 ...
09:38:15 <shachaf> whoa, dude, that's a fancy extension there.
09:38:20 <fizzie> 200ish or so.
09:38:21 <shachaf> Does it just specify stdin?
09:38:44 <fizzie> Well, it is where the , comes from.
09:38:58 <shachaf> That's what I mean.
09:39:36 <fizzie> If you "^def foo bf bar", then "^foo baz" will be equivalent to "^bf bar!baz"; I think it might even be implemented like that.
09:40:30 <fizzie> Or perhaps not, since what's stored in the state file is the parsed and bytecode-compiled version. Anyway.
09:46:16 -!- derdon has joined.
09:47:46 -!- aloril has joined.
09:49:15 -!- olsner has joined.
10:13:08 -!- Fishspill has quit (Ping timeout: 240 seconds).
10:26:41 -!- rszeno has joined.
10:27:16 -!- rszeno has left.
10:38:22 -!- aloril has quit (Ping timeout: 252 seconds).
10:50:25 -!- aloril has joined.
11:03:16 -!- derdon has quit (Remote host closed the connection).
11:36:00 -!- Slereah_ has joined.
11:38:25 -!- Slereah has quit (Ping timeout: 260 seconds).
11:39:17 -!- monqy has quit (Quit: hello).
11:39:46 -!- Slereah has joined.
11:40:44 -!- Slereah_ has quit (Ping timeout: 265 seconds).
11:51:00 -!- Slereah has quit (Ping timeout: 256 seconds).
11:51:06 -!- Slereah_ has joined.
12:07:46 <fizzie> I'm listening to a talk titled "Semitheoretical Computer Science - what has changed in 30 years".
12:08:39 <fizzie> Sounds slightly like the Diet Coke edition of computer science.
12:15:22 <Taneb> That'd taste awful
12:17:33 <fizzie> No sugar!
12:22:02 -!- pikhq_ has joined.
12:22:03 -!- pikhq has quit (Ping timeout: 244 seconds).
12:42:55 <fizzie> This is a somewhat rambling presntation.
12:52:46 -!- PatashuXantheres has changed nick to Patashu.
13:04:24 <Taneb> Aaah should I make a github account
13:04:28 <Taneb> I'm going with probably not
13:11:28 <Phantom_Hoover> fizzie, so what has changed in 30 years?
13:29:24 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .).
13:36:43 <fizzie> Phantom_Hoover: Uh, apparently we've become responsible.
13:36:51 <fizzie> That's what he said, anyway.
13:37:08 <fizzie> "We" being computer scientists.
13:37:56 <nortti> you werent responsible 30 years ago?
13:43:35 -!- ais523 has joined.
13:45:04 <fizzie> Gah.
13:45:14 <fizzie> Respectable, I was going to say.
13:45:20 <fizzie> Or supposed to say.
13:45:39 <fizzie> Sorry, I'm technically presenting a poster here.
13:46:09 <nortti> techically?
13:46:13 -!- MDude has joined.
13:46:47 <fizzie> Well, I'm just IRCing at the moment, am I not?
13:47:19 <fizzie> I think I'll make a quick walkaround.
13:51:43 -!- elliott has joined.
14:00:03 <ais523> hmm, is "print to PDF" in a PDF reader a plausible way to extract individual pages from a PDF file?
14:05:37 <elliott> heh
14:05:37 <lambdabot> elliott: You have 7 new messages. '/msg lambdabot @messages' to read them.
14:05:41 <elliott> help
14:10:43 <Taneb> Hello elliott
14:14:06 <fizzie> ais523: pdftk is one quite plausible way. But purely practically speaking that might also be.
14:20:09 -!- MDude has quit (Ping timeout: 245 seconds).
14:20:52 -!- MDude has joined.
14:26:22 <elliott> 00:55:58: <Lumpio-> I've come to see Arduinos as a representation of the new hipster electronics generation
14:26:31 <elliott> does anyone remember when "hipster" actually meant something (even if it was a stupid meaning)
14:27:34 <elliott> 01:24:00: <Sgeo> Are there good alternatives if I want to write proprietary programs in Eiffel?
14:27:38 <elliott> i really don't want to know the background to this
14:28:01 <Sgeo> elliott, a bizarre sudden fascination with Eiffel
14:28:09 <elliott> why do you hate me
14:29:39 <elliott> ais523: can you pause irc for five hours please
14:30:09 <nortti> elliott: why
14:30:21 <elliott> i need to watch monqy win a 0-rune mummystabbing spst of chei
14:30:28 <elliott> and the recording is 5 hours
14:31:24 <Sgeo> Win 0-rune?
14:32:16 <elliott> Sgeo: runes used to be real items
14:32:18 <elliott> so you could just drop them
14:32:21 <elliott> and win with less than 3 runes
14:32:26 <Sgeo> Ah
14:32:29 <Gregor> This bizarre Let's Play Roguelikes fetish you've developed recently is weirding me out.
14:32:30 <elliott> but dtsund pulled in the patch to goldify them
14:32:35 <elliott> so that won't work as soon as the server is updated
14:32:40 <elliott> so it was a race to win a 0-runer before that happened
14:32:45 <elliott> Gregor: totally
14:32:52 <elliott> actually i just started playing crawl because monqy told me to
14:33:01 <elliott> and then i ended up writing a huge patch to light, oops
14:33:11 <elliott> and now i can't go back or i'll realise how much of my life i'm wasting
14:33:26 * Gregor nods sagely.
14:34:32 <Phantom_Hoover> So I can't find a torrent for the latest episode of Game of Thrones, I am very worried.
14:35:03 <elliott> Gregor: Anyway I've always liked roguelikes, I've just been too lazy to actually play them.
14:35:13 <elliott> But I can't ignore monqy's demands.
14:35:30 <Phantom_Hoover> Didn't you give up on Nethack after you lost a save because of its anti-scumming measures.
14:35:52 <Gregor> My exact phrasing, "Let's Play Roguelikes" wasn't an accident, the weird part is recording yourselves and passing around recordings X-D
14:35:57 <elliott> Phantom_Hoover: No, I was just annoyed with it for a day or two.
14:36:01 <elliott> Gregor: The servers automatically record them.
14:36:18 <elliott> Gregor: And there's scripts to play amusing deaths/etc. on a termcast TV thing.
14:36:40 <elliott> Gregor: Also you can spectate live. I don't actually download and watch entire games unless they're monqy doing ridiculous things, that would be weird :P
14:36:58 <elliott> But a mummystabbing SpSt of chei is definitely stupid enough to watch 5 hours of.
14:37:01 <Gregor> Mmmmmmmmmmmmmmmmmmm hmmmmmmmmmmm
14:37:38 <elliott> Gregor: At least I don't watch and pass around recordings of My Little Pony!
14:37:40 <elliott> Q.E.D.
14:37:57 <elliott> (OR DO I????)
14:37:58 <elliott> (No.)
14:38:06 <elliott> (I watch it live, obviously. (I don't actually.))
14:38:08 * Gregor huffs.
14:38:23 <Gregor> WELL THEN. *goes back to writing erotic #esoteric fanfics*
14:38:29 -!- ais523 has quit (Ping timeout: 245 seconds).
14:39:21 <Phantom_Hoover> Can we see a sample of that.
14:39:38 <Phantom_Hoover> (ais has left because he's too much of a prude.)
14:40:12 <elliott> No.
14:40:15 <elliott> We've already seen enough.
14:40:17 <elliott> Last time it involved me.
14:40:25 <Gregor> I forget who else it involved.
14:40:27 <Gregor> monqy?
14:40:41 <Phantom_Hoover> elliott is not comfortable with his BURNING PASSIONS
14:40:46 -!- asiekierka has joined.
14:42:35 <Phantom_Hoover> elliott and asiekierka!
14:42:40 <Gregor> Nonowait, it was oklopol.
14:42:40 -!- ais523 has joined.
14:42:43 <elliott> hi ais523
14:42:47 <Phantom_Hoover> oh
14:42:55 <Phantom_Hoover> did it involve a bath of sprite and/or coke
14:42:56 <Taneb> elliott, do you even have a life to waste?
14:43:02 <Gregor> `log [o]klopol wasn't usually nude
14:43:07 <elliott> Taneb: No. But I'm doing my darndest anyway.
14:43:15 <elliott> `addquote <Gregor> `log [o]klopol wasn't usually nude
14:43:22 <HackEgo> 846) <Gregor> `log [o]klopol wasn't usually nude
14:43:28 <Gregor> >_>
14:43:37 <HackEgo> No output.
14:43:44 <Gregor> And I misremembered the quote to boot.
14:44:00 <Taneb> `log klopol.*nude
14:44:15 <HackEgo> 2012-05-28.txt:14:43:02: <Gregor> `log [o]klopol wasn't usually nude
14:44:18 <Taneb> :)
14:44:24 <Taneb> `log klopol.*naked
14:44:30 <HackEgo> 2011-05-29.txt:10:50:16: <oklopol> i don't like carrying stuff in my pockets either so really i'd just prefer being naked and carrying whatever i need in my hands
14:44:34 <elliott> Protip: `pastlog.
14:44:45 <Gregor> 2012-05-09.txt:23:34:50: <Gregor> He sat, nonchalantly, one finger running unthinkingly but tantalizingly up and down his strong, toned thigh. It wasn't unusual for oklopol to be here, waiting for elliott's arrival, but something was different today. oklopol was not typically nude.
14:45:05 <elliott> I'm pretty sure oklopol is, in fact, typically nude.
14:45:25 <Taneb> @ask oklopol Usually nude confirm/deny
14:45:25 <lambdabot> Consider it noted.
14:45:52 <Phantom_Hoover> Gregor, deserves a Bulwer-Lytton.
14:46:02 <Phantom_Hoover> Obviously it is too shit for the Lyttle Lytton though.
14:50:44 -!- MDude has quit (Ping timeout: 246 seconds).
15:24:26 <nortti> how should zzo38's deadfish implementation for dc work?
15:27:05 <elliott> Mmmm, the satisfaction of seeing a stupid answer self-deleted.
15:30:03 <ais523> always a great supervisor meeting when you get to define 2
15:30:20 <ais523> my supervisor wasn't convinced that I+I was always equal to 2*I
15:30:32 <ais523> so I pointed out that it was correct with the only reasonable definition of 2, even if the things you were dealing with weren't integers
15:30:46 <elliott> :D
15:32:18 <Phantom_Hoover> ais523, should've proven it from the ring axioms.
15:32:23 <ais523> Phantom_Hoover: I did
15:32:30 <ais523> well, we're dealing with semirings, not rings
15:32:36 <ais523> but the same axioms still apply
15:33:59 -!- Taneb has quit (Ping timeout: 260 seconds).
15:35:07 <elliott> I'm more worried that your supervisor thought that a+a might not be 2*a without even giving a definition of 2.
15:36:41 -!- pikhq has joined.
15:36:50 -!- pikhq_ has quit (Ping timeout: 244 seconds).
15:36:58 -!- ais523_ has joined.
15:38:07 <elliott> hi ais523_
15:38:32 -!- ais523 has quit (Disconnected by services).
15:38:34 -!- ais523_ has changed nick to ais523.
15:38:46 <ais523> huh, my commands were interpreted out of order
15:39:12 <ais523> I sent the /ns ghost before the /nick, but the /nick errored out before the ghost worked
15:40:20 <elliott> ha! another problem i can blame on imperative style!
15:44:05 <Phantom_Hoover> What would non-imperative style do
15:44:19 <nooga> functional style IRC?
15:44:27 <elliott> Phantom_Hoover: not have that problem
15:44:49 <nooga> (right? (you kidding))
15:45:17 <elliott> i'm not kidding, but "functional" is incorrect
15:45:52 <nooga> alliot
15:45:57 <nooga> elliotian
15:46:50 <elliott> what
15:50:37 -!- Slereah_ has quit (Remote host closed the connection).
15:50:56 -!- Slereah has joined.
15:56:41 <ais523> (fwiw: define 2 as 1+1, now I+I = (I*1)+(I*1) = I*(1+1) = I*2 = 2*I)
16:09:24 -!- ais523 has quit (Ping timeout: 256 seconds).
16:11:24 <olsner> Phantom_Hoover: no, it was made by europe
16:22:56 -!- Taneb has joined.
16:26:03 -!- azaq23 has joined.
16:26:15 -!- azaq23 has quit (Max SendQ exceeded).
16:28:24 -!- azaq23 has joined.
16:28:32 -!- azaq23 has quit (Changing host).
16:28:32 -!- azaq23 has joined.
16:29:38 <Taneb> Hello!
16:30:19 <elliott> helo
16:37:44 -!- MDude has joined.
17:22:28 <Taneb> Goodbye
17:22:29 -!- Taneb has quit (Quit: Leaving).
17:22:42 <elliott> godby
17:23:45 <olsner> tanebye
17:26:45 <olsner> elliott: did you see my pun about the final countdown?
17:26:51 <elliott> no
17:26:59 <elliott> well i saw the pun
17:27:02 <elliott> but not what it was in reply to
17:27:19 <olsner> "<Phantom_Hoover> THE FINAL COUNTDOWN WAS MADE BY SWEDES?????????????"
17:32:42 -!- ais523 has joined.
17:37:06 -!- pikhq_ has joined.
17:37:20 -!- pikhq has quit (Ping timeout: 244 seconds).
17:53:26 -!- MDude has quit (Ping timeout: 246 seconds).
17:54:08 -!- MDude has joined.
17:56:52 -!- zzo38 has joined.
18:01:39 -!- ogrom has joined.
18:16:29 <ion> source materials.gcf/hl2/materials/matsys_regressiontest/background.vtf http://i.imgur.com/HwK3D.png
18:17:03 <elliott> hi cat
18:19:38 -!- monqy has joined.
18:20:47 <monqy> @messages?
18:20:47 <lambdabot> monqy: You have 4 new messages. '/msg lambdabot @messages' to read them.
18:20:57 -!- nortti_ has joined.
18:36:04 <ais523> TIL: Scottish nationalists object to the term "Queen Elizabeth II" as it implies that there was a Queen Elizabeth I
18:36:11 <ais523> well, some of them
18:40:34 -!- ogrom has quit (Ping timeout: 245 seconds).
18:47:36 <zzo38> Do you hate "miss" that much?
18:51:00 <nortti_> zzo38: what does your deadfish implememtstion in dc require from dc imppementation? I couldn't get it to work with my dc
18:53:36 <zzo38> It is GNU dc
18:54:03 <zzo38> Although maybe it could be modified to work with another one
18:55:12 <nortti_> ok... I use V7 dc
18:55:27 <nortti_> *6
19:02:47 <nortti_> "To exit, use `q' . C-c does not exit; it is used to abort macros that are looping, etc. (Currently this is not true; C-c does exit.)" GNU dc manual page
19:05:15 <Phantom_Hoover> Hmm, looks like Minecraft's development is going ahead full-steam now Jeb and the Bukkit team are working on it.
19:05:22 <Phantom_Hoover> I almost wish I hadn't tired of it.
19:05:32 <Phantom_Hoover> Wait, s/almost//
19:11:24 <zzo38> Is there library for gopher and HTTP POST in Haskell? (People in #haskell channel answered the second part)
19:11:57 <elliott> Phantom_Hoover: s/I /I /
19:12:55 <ais523> zzo38: if there isn't, you could write one
19:13:10 <zzo38> ais523: How? I tried, but it doesn't work.
19:13:26 <ais523> zzo38: same way as you write a library in any other language
19:14:15 <elliott> ais523: he tried, but it doesn't work
19:14:40 <zzo38> I have written libraries in Haskell before, but I cannot get it to work with gopher
19:22:53 <ais523> "The survey tested respondents’ knowledge of cookies, asking them to confirm if a number of statements about cookies were correct or not. Ou tof the sixteen statements only one was answered correctly by th emajority of respondents."
19:23:59 <olsner> what was it? "The cookie monster eats cookies"?
19:24:05 <ais523> it didn't say
19:24:14 <ais523> I'm hoping it'll say later, this is a 31-page document
19:24:23 <ais523> about how to comply with the new UK laws about cookies
19:24:47 <ais523> elliott: this reminds me, your login screen should probably contain a note that logging in will set a cookie to record the fact that you're logged in
19:25:04 <ais523> hmm, do anons get cookies set too?
19:25:04 <olsner> why should it?
19:25:09 <ais523> olsner: new UK laws about cookies
19:25:09 <elliott> i'll wait for mediawiki to implement that
19:25:13 <elliott> i doubt the law will stand
19:25:18 <olsner> is the wiki hosted in the UK though?
19:25:22 <elliott> yes
19:25:23 <ais523> I think so
19:25:26 <elliott> it doesn't matter, though
19:25:29 <elliott> i'm in the uk
19:25:33 <elliott> so i'm probably liable anyway
19:26:03 <olsner> I think sweden has the same silly cookies law
19:26:18 <ais523> the whole of the EU does, it's an EU-wide law that's being implemented by the individual member companies
19:26:44 -!- asiekierka_ has joined.
19:26:53 <ais523> I don't personally find it silly, partly because I have all cookies on manual approval atm (apart from a few websites I use a lot and are set to always-approve, and some that use so many I had to set them to always-disaprove because I was bored of clicking through notifications)
19:27:03 -!- MoALTz has quit (Ping timeout: 250 seconds).
19:27:07 <ais523> something that reduces the number of approvals I need would be nice
19:27:17 <ais523> [20:25] <kerio> i just installed kde
19:27:19 <ais523> [20:25] <kerio> what the FUCK
19:27:20 <ais523> this could be fun :)
19:27:21 <olsner> the decision to accept cookies or not has always been on the client side anyway
19:27:35 <ais523> yes, but browsers accept them by default
19:27:59 <ais523> the EU have been campaigning against anticompetitive or privacy-breaking defaults
19:28:01 <zzo38> But that isn't the government's job to fix
19:28:42 <zzo38> It may be good for them to campaign against anticompetitive or privacy-breaking defaults, but still, that doesn't mean they have to fix it by making a law against it
19:28:43 <elliott> zzo38: I think you'll find it is the job to fix anticompetitive and privacy-breaking behaviour by corporations.
19:28:49 <elliott> *job of the government
19:28:57 <ais523> It has been suggested that the fact that a visitor has arrived at a webpag eshould be sufficient evidence that they consent to cookies being set o rinformation being accessed on their device. The key here is that the visito rshould understand that this is the case. It is important to note that it would b eextremely difficult to demonstrate compliance simply by showing that a use rvisited a particular site or was served a particular advertisement
19:28:58 <ais523> unless it coul dalso be demonstrated that they were aware this would result in cookies bein gset.
19:28:59 <elliott> In fact, regulating corporations is pretty much the definition of the convernment's job in a capitalist society.
19:29:04 <elliott> *government's
19:29:11 <zzo38> Or, at least, the government should tell the people who install those browsers by default to fix it
19:29:21 <zzo38> Since they are the ones needed fixing
19:29:23 <elliott> The government tells people to do things by passing laws.
19:29:49 -!- MoALTz has joined.
19:30:01 <zzo38> It isn't the job of the server to change the settings on the client
19:30:32 <ais523> btw, I approve of the anti-cookie law partly because the same reasoning's being used on EULAs
19:30:40 <ais523> (that people just click through EULAs without reading them, thus they have no legal force)
19:31:57 <zzo38> But, yes, the government should tell the people who sell computers to change those settings
19:32:23 <zzo38> And if they refuse they have to put a warning label on the box
19:32:26 -!- pikhq has joined.
19:32:38 -!- pikhq_ has quit (Ping timeout: 240 seconds).
19:33:07 <mroman> Full ack.
19:33:28 <ais523> elliott: you're /probably/ OK if it's just session cookies, not analytics
19:33:38 <mroman> It's the browser manufacturers job.
19:33:58 <elliott> ais523: I break the law pretty frequently anyway
19:34:12 <elliott> mroman: well, it's not like browser managers can make all cookies prompt-by-default reasonably
19:34:19 <ais523> elliott: ouch, seriously?
19:34:25 <elliott> ais523: yes
19:34:26 <ais523> it's pretty rare for me to intentionally break it
19:34:28 <elliott> I know
19:34:34 <mroman> elliott: True.
19:34:42 <olsner> mroman: I think no browser vendor wants to be the first with the "confusing popup with lots of confusing settings" box that will have to pop up for every page load
19:34:45 <elliott> mroman: it'd just make everyone use outlaw browsers :P
19:34:47 <mroman> Which makes it also the governments job, sadly.
19:34:58 <elliott> mroman: more importantly, very few browsers are UK-based
19:35:05 <mroman> As it is responsible for the safety of its citizens.
19:35:17 <elliott> anyway I don't object to the privay-based intent
19:35:21 <elliott> but I think the execution is a little problematic
19:35:23 <elliott> it's too technological
19:35:54 <zzo38> It should not be the browser manufacturer's job; it is the computer manufacturer's job to change the settings before selling the computer, or including a warning label on the computer.
19:36:11 <elliott> zzo38: yes, that would accomplish precisely nothing
19:36:14 <mroman> Warning labels are useless.
19:36:24 <elliott> because everyone would just ignore the label, or download a browser as soon as they get it
19:36:58 <mroman> Browsers are in a very good position to make demands actually.
19:37:04 <mroman> Websites have to work with browsers.
19:37:26 <mroman> They do also the other way, but that must not be.
19:37:59 <ais523> well, there's already the browserchoice thing, which requires the default browser on Windows to be a menu presenting the five most popular Windows browsers in random order and asking the user to choose one
19:38:17 <olsner> well, the websites have to work with IE6 and the other browsers have to work with those websites :)
19:38:19 <mroman> Like firefox or opera?
19:38:25 <mroman> They both suck at security.
19:38:45 <olsner> opera is best for security!!1
19:38:48 <nortti_> mroman: what is secure briwser then?
19:39:00 <elliott> mroman: well, browsers are not really in a good position to make demands
19:39:01 <mroman> The one that allows nothing per default.
19:39:07 <elliott> if you make a demand that inconveniences users
19:39:11 <elliott> then the users will use another browser
19:39:12 <mroman> And requires the user to load whitelists.
19:39:39 <mroman> which are configfiles.
19:39:57 <mroman> which say when browsing on what page, what the browser is allowed to do.
19:40:45 <zzo38> Well, yes that way would work.
19:43:34 <mroman> http://codepad.org/sfsarUbh
19:43:38 <mroman> ^- I want something like that.
19:44:00 <mroman> and tab isolation.
19:44:04 <mroman> COMPLETE tab isolation.
19:44:20 <mroman> Just because I'm logged in on somesite doesn't mean that I should be logged in in any other tab.
19:44:41 <mroman> Because if I want that, I would somehow tell my browser that (through such a configuration file)
19:44:50 <olsner> you should use opera mini then, keep all your tabs on iceland :>
19:45:10 <zzo38> I like things like that too; be able to configure settings for each domain or even separate for subdomains whether inherit or not, and path and filenames too.
19:45:38 <nortti_> mroman: complete tab isolation=each tab runs on its own machine?
19:45:52 <mroman> nortti_: Each tab has its own "browser context"
19:46:05 <mroman> like its a different browser
19:46:12 <zzo38> Perhaps the UK government should sell computers that do not have any web browser program
19:46:12 <mroman> that means
19:46:17 <mroman> no cookie sharing between tabs
19:46:20 <mroman> whatsoever.
19:46:56 <zzo38> mroman: I do agree it would be a good idea that you can have multiple sessions without cookie sharing.
19:47:15 <mroman> I would want browsers to only work with such configuration files
19:47:25 <mroman> which deny almost everything by default.
19:47:53 <mroman> And siteowners may provide such a file
19:48:05 <mroman> (like robots.txt or some mechanism like that)
19:48:27 <mroman> The user then can view it, accept and adjust it.
19:48:49 <olsner> they'll just say "for the best experience, please enable all features", and obviously most sites will be made so that nothing works unless you do exactly that
19:49:12 <mroman> Yeah.
19:49:22 <mroman> So?
19:49:31 <zzo38> What they should do is discourage HTTP and HTML
19:49:40 <mroman> The user accepted it.
19:49:55 <mroman> clearly
19:50:02 <olsner> well, it will make your system suck (as in, give extra useless prompts) for everyone except the paranoid, and 99.99% of users are not paranoid
19:50:09 <mroman> and he had the chance to tell the browser EXACTLY what to do.
19:50:42 -!- elliott has left ("this is stupid").
19:50:48 <mroman> :)
19:51:01 <mroman> If you know your town
19:51:02 -!- coppro has left ("nooo come back").
19:51:07 <mroman> even if you're not paranoid
19:51:17 <mroman> there are certain areas or streets you avoid.
19:51:20 <mroman> For a good reason.
19:51:29 <mroman> Why not adopt that behaviour to the internet.
19:51:49 <ais523> <olsner> they'll just say "for the best experience, please enable all features", and obviously most sites will be made so that nothing works unless you do exactly that <-- I have now found /two/ sites that cover the entire screen with a <noscript> tag, and work fine with JS off if you remove it with Firebug
19:51:59 -!- coppro has joined.
19:52:08 <coppro> he's beyond convincing :(
19:52:10 <nortti_> Well some people think I am paranoid but I at least allow sites to load, render and display images without them needing to be on a whitelist
19:52:35 <ais523> I have a blacklist for images (that I update), but leave them showing by default
19:52:39 <mroman> olsner: The main point is to force websites to work with default security settings.
19:52:39 <ais523> JS is off by default; cookies prompt me each time
19:53:06 <mroman> They can not use "facebook track buttons" with default settings. Ok.
19:53:07 <mroman> Big deal.
19:53:28 <ais523> what about disallowing third-party cookies altogether
19:53:39 <mroman> So the user gets one prompt in his life for this website
19:53:39 <ais523> much saner and comes to much the same thing
19:53:43 <zzo38> O, well, yes if you can remove a <noscript> tag with Firebug then that work, good you can do such things
19:53:56 <nortti_> I don't have JS and cookies are disallow everything but pages on whitelist (then it prompts me)
19:53:58 <mroman> Is that so bad?
19:54:23 <mroman> Noscript does not allow me to only block certain parts of a script.
19:54:33 <mroman> And some sites are that clever, that they only work
19:54:41 <mroman> if you enable everything, even third party scripts.
19:55:02 <mroman> because they check each other for existence.
19:55:12 <ais523> mroman: at that point I typically just refuse to visit them
19:55:50 <mroman> With sophisticated configuration files I could just block certain parts
19:55:57 -!- MDude has quit (Ping timeout: 246 seconds).
19:56:10 <mroman> like
19:56:27 <mroman> (js (url 'foobar.com/js/some.js' (line 3 deny)))
19:57:01 <zzo38> Not only that, but be able to add functions overrides and so on
19:58:16 <mroman> exactly.
19:58:41 -!- kwertii has joined.
20:11:47 -!- elliott has joined.
20:11:56 <elliott> 21:11 Fishspill set the topic at: 28 May 2012 10:34
20:11:56 <elliott> what
20:12:14 <elliott> They changed the topic twice.
20:12:19 <elliott> 09:33:28: -!- Fishspill changed the topic of #esoteric to: It is 2012 and there is time to be the international hub for esoteric programming language design and deployment. http://codu.org/logs/_esoteric/
20:12:20 <elliott> 09:34:02: -!- Fishspill changed the topic of #esoteric to: It is 2005 and there is time to be the international hub for esoteric programming language design and deployment. http://codu.org/logs/_esoteric/
20:12:22 <elliott> help
20:15:08 -!- asiekierka_ has quit (Quit: Wychodzi).
20:15:55 <elliott> 09:11:00: <fizzie> Sweden beat everyone.
20:15:57 <elliott> fizzie: Which entry?
20:16:07 <elliott> Was that the Beautiful Song thing?
20:16:10 <elliott> PROPHETIC.
20:19:05 <zzo38> When playing "StarTrek Guess", if it ends with "-_" then I guess "Q"
20:19:32 <zzo38> And usually there is at least one "Q" in it
20:19:54 -!- asiekierka has quit (Remote host closed the connection).
20:25:04 <Sgeo> AAARGH
20:25:07 <Sgeo> Racket or Chicken
20:25:20 <Sgeo> I can't learn Scheme because I'll always be paralyzed trying to choose
20:25:27 <Sgeo> Although Racket isn't quite Scheme
20:25:36 <ais523> Sgeo: right, I saw that, realised "Scheme", but thought it'd be much funnier to misinterpret you
20:25:40 <ais523> but I can't think of a funny misinterpretation :(
20:26:40 <elliott> racket isn't scheme
20:27:12 <Sgeo> Racket or Scheme?
20:27:25 <ais523> both are nefarious plots
20:27:31 <ais523> presumably that's where the name comes from
20:27:41 <ais523> "scheme" is a pretty weird name for a lang, really…
20:29:01 <elliott> it's a pretty good one
20:29:05 <elliott> you tell the computer a scheme to carry out
20:29:18 <elliott> which is the origin
20:29:20 <elliott> Scheme started as an attempt to understand Carl Hewitt's Actor model, for which purpose Steele and Sussman wrote a "tiny Lisp interpreter" using Maclisp and then "added mechanisms for creating actors and sending messages."[7] Scheme was originally called "Schemer", in the tradition of other Lisp-derived languages like Planner or Conniver. The current name resulted from the authors' use of the ITS operating system, which limited filena
20:29:20 <elliott> mes to two components of at most six characters each. Currently, "Schemer" is commonly used to refer to a Scheme programmer.
20:31:02 <Lumpio-> Wait
20:31:14 <Lumpio-> How does Scheme implement actors and message passing
20:31:18 <elliott> it did
20:31:21 <Lumpio-> But doesn't anymore?
20:31:22 <elliott> then they realised the code was identical to procedures
20:31:25 <Lumpio-> ah
20:31:28 <elliott> and so they unified the two by removing actors
20:31:28 <Lumpio-> right
20:31:32 <shachaf> No, Steele and Sussman implemented it.
20:31:35 <elliott> presumably they aren't fans of the actor model, any more
20:31:39 <shachaf> Those Schemerers.
20:31:45 <kmc> that's where "lambda the ultimate foo" comes from
20:31:49 <elliott> right
20:33:13 -!- derdon has joined.
20:41:46 -!- oerjan has joined.
20:49:18 -!- pikhq_ has joined.
20:49:49 -!- Fishspill has joined.
20:50:40 <fizzie> elliott: It was called something like "Euphoria".
20:50:46 -!- Taneb has joined.
20:50:47 <Taneb> Hello
20:51:30 -!- DHeadshot has joined.
20:52:08 -!- pikhq has quit (Ping timeout: 240 seconds).
20:54:00 -!- oerjan has quit (Quit: Lost terminal).
21:03:30 -!- nortti_ has quit (Ping timeout: 246 seconds).
21:19:35 -!- zzo38 has quit (Quit: I quit. -Q).
21:33:50 -!- Taneb has quit (Quit: goodnight internet).
21:53:03 <elliott> ais523: haha, the BBC are prompting me about cookies now too
21:53:19 <ais523> it's a law, it's not a joke
21:53:25 <ais523> or a fad
21:53:35 <elliott> I thought it was appropriate timing
21:53:42 <elliott> although I suspect the law /will/ end up being a fad
22:01:29 <coppro> attn: anyone interested in nomic
22:01:35 <coppro> BlogNomic is entering its 100th dynasty
22:01:38 <coppro> and it's going to be pretty awesome
22:02:37 <ais523> coppro: never say a BN dynasty is going to be awesome in advance
22:02:39 <ais523> it never works
22:02:44 <coppro> quiet you
22:03:41 <elliott> coppro: is it going to be really boring
22:03:42 <elliott> (yes)
22:03:50 <coppro> obv
22:04:01 <elliott> will the playerbase quickly crack down on any interesting rules-based play by accusing it of being a cheating scam
22:04:02 <elliott> (yes)
22:04:19 <ais523> elliott: they've done that a lot less recently
22:04:21 <elliott> will it end up being a continual grindfest that they keep extending with barely-thought-out mechanisms that just encourage more grinding until someone grinds enough to win after everyone else gets bored
22:04:22 <elliott> (yes)
22:04:40 <elliott> will they vote against any interesting proposal on the grounds of complexity
22:04:41 <elliott> (yes)
22:04:42 <elliott> ok i'm done
22:26:56 <Sgeo> I changed my mind about hating Racket's keyword arguments
22:27:09 <monqy> what's your mind
22:27:11 <Sgeo> Although I still wonder if Chicken does something that's best of all worlds
22:27:13 <monqy> before & after
22:27:51 <Sgeo> monqy, used to hate them, because it's inelegent needing to use keyword-apply to have a fully general way of .. making a function that sort of wraps around another function, rather than just apply
22:28:04 <Sgeo> Now, I at least understand why it was designed the way it was designed
22:28:39 <Sgeo> (CL's way causes confusion when one writes a function that has both optional and keyword arguments)
22:28:59 <elliott> what's inelegant is apply (imho)
22:30:07 <Sgeo> How so?
22:32:38 <elliott> `addquote <monqy> you've constructed a situation in which i have no choice but to die in 10 days <monqy> well done <monqy> that's murder
22:32:41 <HackEgo> 847) <monqy> you've constructed a situation in which i have no choice but to die in 10 days <monqy> well done <monqy> that's murder
22:32:59 <monqy> `quote
22:33:00 <monqy> `quote
22:33:00 <monqy> `quote
22:33:01 <monqy> `quote
22:33:01 <monqy> `quote
22:33:12 <HackEgo> 334) <crystal-cola> here's a good multiplication algorithm <crystal-cola> 1010101 x 110 <crystal-cola> well <crystal-cola> I don't know how to do it but it starts like that
22:33:27 <HackEgo> 566) <itidus20> indirect addressing is a facile and inebrious kind of instruction which should be whomped away by languages
22:33:27 <HackEgo> 129) <AnMaster> oerjan, can you ever get any number higher than 3 at the start of "ordinary" [look-and-say sequences]? <ais523> it's not clear from the RFCs
22:33:29 <HackEgo> 822) <elliott_> (help why are german) <monqy> i play the german version of crawl <elliott_> i
22:33:29 <HackEgo> 226) <elliott> i thought you said it was meant to be more useful in practice :D <ais523> elliott: well, it /is/, for sufficient values of useful in practice <ais523> umm, sufficiently small
22:33:46 <elliott> probably 226 or 822
22:33:50 <elliott> monqy: what do you think!!!
22:34:19 * ais523 looks
22:34:24 <ais523> 226 isn't funny
22:34:28 <ais523> and 822 isn't funny either
22:34:34 <monqy> "226 and 822"
22:34:53 <ais523> also, 129 is cheating
22:35:13 <ais523> you can't use [context brackets] to put in the context for one statement, then combine it with a completely different context for the next line
22:35:36 <elliott> ais523: it was adjacent
22:35:41 <elliott> so it's fair game
22:35:50 <elliott> it's ok to clarify individual lines if they use explicitly ambiguous terminology
22:35:51 <elliott> although
22:35:54 <elliott> personally i never remove words ever
22:35:58 <elliott> and would have inserted an editor's remark
22:52:30 -!- nooga has quit (Ping timeout: 244 seconds).
23:08:46 -!- Patashu has joined.
23:12:21 -!- rszeno has joined.
23:12:35 <rszeno> hi
23:12:55 <elliott> hi
23:13:13 -!- david_werecat has joined.
23:13:29 <rszeno> hi elliot
23:21:14 -!- elliott has quit (Read error: Connection reset by peer).
23:27:20 -!- ais523 has quit.
23:28:21 -!- elliott has joined.
23:32:24 -!- sebbu2 has joined.
23:32:24 -!- sebbu2 has quit (Changing host).
23:32:24 -!- sebbu2 has joined.
23:32:57 -!- sebbu has quit (Ping timeout: 246 seconds).
23:46:10 <elliott> `quote
23:46:11 <elliott> `quote
23:46:11 <elliott> `quote
23:46:12 <elliott> `quote
23:46:14 <elliott> `quote
23:46:15 <HackEgo> 100) <AnMaster> fungot!*@* added to ignore list. <fungot> AnMaster: i'd find that a bit annoying to wait for an ack.
23:46:24 <HackEgo> 407) <olsner> as always in sweden everything goes to a fixed pattern: thursday is queueing at systembolaget to get beer and schnaps, friday is pickled herring, schnaps and dancing the frog dance around the phallos, saturday is dedicated to being hung over
23:46:34 <HackEgo> 449) <Gregor> I have a WRT120N <fizzie> Gregor: The WRT160NL has 40 units more of... stuff. Plus an L.
23:46:37 <HackEgo> 492) <fungot> Phantom_Hoover: it is a hate so pure and... pumpkin seeds?
23:46:37 <HackEgo> 317) <Phantom_Hoover> DON'T MOCK ME WITH YOUR ABILITY TO DIVIDE BY TEN
23:46:50 <elliott> hmm
23:46:54 <elliott> 100 or 317
23:46:58 <elliott> monqy: what do you think
23:47:14 <monqy> i prefer 100 over 317
23:48:07 <Gregor> ADD is a hate so pure and... pumpkin seeds?
23:48:28 <elliott> meh
23:48:28 <elliott> `quote
23:48:29 <elliott> `quote
23:48:30 <elliott> `quote
23:48:32 <elliott> `quote
23:48:33 <HackEgo> 473) <itidus20> Game theory is not a perfect tool for analyzing video games. <itidus20> Nash failed to create a "video game theory"
23:48:34 <HackEgo> 181) <cpressey> fizzie: I can never tell with OpenBSD! <cpressey> everything looks like an error anyway
23:48:34 <elliott> `quote
23:48:40 <HackEgo> 493) <Phantom_Hoover> Oh look, Dax has brought TWO glowy science sticks. <Phantom_Hoover> SHIT JUST GOT REAL
23:48:46 <HackEgo> 92) <Warrigal> Making a small shrine to Lawlabee in my basement is something I should get around to at some point.
23:48:49 <HackEgo> 322) <oklopol> i understand that people had to use twitter and facebook before irc was invented, but now they just feel like ancient history
23:49:01 <elliott> idk
23:51:31 <elliott> Phantom_Hoover: what do you think
23:52:44 <Phantom_Hoover> Well I mean 493 is the height of witty commentary, it has to stay obviously.
23:53:10 <Phantom_Hoover> Other than that... that oko has always been shifty, I say 322.
23:53:31 <elliott> monqy: what do `you htink'
23:54:19 <shachaf> I say 493.
23:54:27 <shachaf> Phantom_Hoover is clearly a h8r
←2012-05-27 2012-05-28 2012-05-29→ ↑2012 ↑all