←2011-08-21 2011-08-22 2011-08-23→ ↑2011 ↑all
00:00:03 <Vorpal> Gregor, still. It must have been low end
00:00:11 <Gregor> What do I need it for *shrugs*
00:00:14 <Gregor> All I do is program.
00:00:18 <Vorpal> Gregor, running warriors!
00:00:38 <Vorpal> Gregor, besides you play mc, no?
00:00:46 <Gregor> Vorpal: Yeah. It works fine.
00:00:58 <pikhq> Vorpal: Uh, Minecraft genuinely doesn't *use* more than 256MiB of heap.
00:01:21 <pikhq> Memory bloat is *not* a problem Minecraft has. :)
00:01:23 <Vorpal> pikhq, it manages to eat a lot for me. I have optimine or whatever it is called these days.
00:01:53 <pikhq> *Java* seems to love using metric fucktons of heap, though.
00:01:57 <Vorpal> pikhq, it eats more when playing single player than multiplayer of course
00:02:01 <Vorpal> pikhq, well, there is that
00:02:08 <Vorpal> pikhq, and the server eats a shitload.
00:02:15 <pikhq> Y'know, so it can have 1 GiB of heap, only 256 MiB of which is in use ever.
00:02:29 <pikhq> I suppose this lets it collect less?
00:02:42 <Vorpal> perhaps
00:04:00 <Vorpal> pikhq, how comes the server is so ram hungry though?
00:05:34 <pikhq> From what I gather, each loaded chunk uses up quite a decent bit of RAM.
00:05:41 <fizzie> Firefox has the largest RSS here; what, 1.5G of physical memory eaten for a reasonable set of 70-odd tabs?
00:05:51 <Vorpal> heh
00:05:53 <pikhq> And in multiplayer, more chunks will be loaded, unless you've got all players in the exact same chunk.
00:06:39 <Vorpal> pikhq, anyway on single player, more ram than what you mentioned will be used on far. Or less on normal.
00:07:45 <Vorpal> and of course, various plugins eating up further ram.
00:07:56 <Vorpal> well, night, *puts computer to sleep*
00:08:52 <olsner> nighty night Vorpal's computer
00:09:35 <CakeProphet> these regexes will be /really/ complicated...
00:11:06 <olsner> regexps are very simple compared to how much complication you can get out of them :)
00:11:33 <CakeProphet> matching strings in 2d grid = potential nightmare
00:12:25 -!- Vorpal has quit (Ping timeout: 250 seconds).
00:18:04 <CakeProphet> there has to be so many things wrong with this algorithm....
00:18:45 <olsner> the hallmarks of a good algorithm there
00:19:25 * CakeProphet is trying to match multiple occurences of a grid-like pattern in a multi-line string.
00:19:37 <CakeProphet> and also give the coordinates of the top-left corner of its occurence...
00:32:33 <CakeProphet> ah I think I figured it out.
00:42:42 <CakeProphet> what... why is emacs freezing.
00:42:44 <CakeProphet> STOP THAT.
00:45:30 <CakeProphet> .....
00:45:50 <CakeProphet> recover-this-file is also frozen
00:45:52 <CakeProphet> FFFFFFFFFFFUUUUUU
00:46:43 <CakeProphet> what...
00:50:25 <CakeProphet> apparently an unbalanced parenthesis fucked up emacs perl-mode?
00:58:14 <NihilistDandy> I blame the perl
00:58:49 <NihilistDandy> http://s348091950.initial-website.com/
00:59:03 <NihilistDandy> Cross the bridge to quality
00:59:33 <NihilistDandy> Jesus, darcs, have more warnings, why don't you?
01:04:32 <CakeProphet> !perl print "test" =~ /(?{"test"})/
01:04:32 <EgoBot> 1
01:05:01 <CakeProphet> !perl print "test" =~ /.(?{"est"})/
01:05:02 <EgoBot> 1
01:05:55 <CakeProphet> !perl my $x; print "01" =~ /.(?{pos $x})/; print $x
01:05:56 <EgoBot> 1
01:06:09 <CakeProphet> !perl my $x; print "01" =~ /(?{pos $x})/; print $x
01:06:09 <EgoBot> 1
01:06:12 <CakeProphet> !perl my $x; print "0" =~ /(?{pos $x})/; print $x
01:06:13 <EgoBot> 1
01:06:34 <CakeProphet> !perl my $x; print "0" =~ /((?{pos $x}))/; print $1
01:06:38 <CakeProphet> mmk
01:06:47 <CakeProphet> time to do terrible terrible things.
01:06:56 <CakeProphet> that probably do not work yet because I have not debugged anything.
01:07:10 <CakeProphet> !perl my $x; "0" =~ /((?{pos $x}))/; print $x
01:08:09 <CakeProphet> !perl my $x; "0" =~ /((?{x=pos}))/; print $x
01:08:09 <EgoBot> Can't modify constant item in scalar assignment at (re_eval 1) line 3, at EOF
01:09:06 <CakeProphet> !perl my $x; "0" =~ /((?{pos}))/; print $^R
01:09:07 <EgoBot> 0
01:09:13 <CakeProphet> !perl my $x; "0" =~ /.(?{pos})/; print $^R
01:09:13 <EgoBot> 1
01:09:19 <CakeProphet> aha
01:09:37 <CakeProphet> !perl my $x; "0" =~ /.(?{pos})/; print $^R, $1
01:09:37 <EgoBot> 1
01:10:05 <CakeProphet> this is a wonderful thing.
01:10:39 <Patashu> scary o.o
01:11:47 -!- NihilistDandy has quit (Ping timeout: 252 seconds).
01:12:59 <CakeProphet> !perl my $x; "0" =~ /(?{pos})/; print $1
01:13:06 <CakeProphet> !perl my $x; "0" =~ /(?{"0"})/; print $1
01:13:15 <CakeProphet> er what.
01:13:48 <CakeProphet> wow #perl is useless.
01:14:13 <CakeProphet> !perl my $x; print "0" =~ /(?{"0"})/;
01:14:13 <EgoBot> 1
01:14:16 <CakeProphet> !perl my $x; print "0" =~ /(?{pos})/;
01:14:17 <EgoBot> 1
01:14:19 <CakeProphet> !perl my $x; print "0" =~ /(?{pos;""})/;
01:14:20 <EgoBot> 1
01:14:24 -!- NihilistDandy has joined.
01:14:58 -!- Nihilist1andy has joined.
01:15:02 <CakeProphet> !perl my $x; print "00" =~ /.(?{pos})/;
01:15:02 <EgoBot> 1
01:15:08 <CakeProphet> ah okay.
01:15:43 <NihilistDandy> :|
01:16:24 <Gregor> I can make Rezzo videos now :)
01:16:31 <Gregor> Now if only there was something to make videos of :P
01:16:50 <CakeProphet> this is a wonderful thing I've discovered.
01:21:31 <CakeProphet> !perl print "test" =~ /^t@{["est"]}$/;
01:21:31 <EgoBot> 1
01:27:16 <CakeProphet> http://pastebin.com/P0RUvnw3
01:27:22 <CakeProphet> is this what beautiful code looks like?
01:27:39 <CakeProphet> also, haven't tested it yet so if you notice anything obvious let me know. I don't have time to debug atm.
01:30:07 <NihilistDandy> Is it me, or is Epigram really, really ugly?
01:30:37 <NihilistDandy> Oh, nevermind
01:30:46 <NihilistDandy> It was just Wikipedia making it look that way
01:31:38 <CakeProphet> bonus points if you can figure out what those regexes are supposed to do.
01:33:01 <CakeProphet> ah found a bug
01:37:51 <Patashu> Great, just great. The 0-star TAS got faster again http://tasvideos.org/forum/viewtopic.php?t=11699&postdays=0&postorder=asc&start=0
01:38:38 -!- sllide has quit (Read error: Connection reset by peer).
01:41:24 <NihilistDandy> "This TAS began when Kyman found a 1 frame improvement in the spiral stairs room."
01:42:05 <Patashu> 0-star TAS is the most pedantic of frame warsa
01:43:36 <NihilistDandy> What's BLJ?
01:43:45 <Patashu> backwards long jump
01:43:50 <Patashu> basically you park your rump against a wall and start doing long jumps
01:43:56 <Patashu> every time your velocity increases without bound
01:44:04 <Patashu> then you turn so there's no wall behind you and BAM you go flying
01:44:28 <Patashu> if you watch the run it's the 30Hz vibrating thing he does against solid surfaces
01:44:40 <NihilistDandy> I think infinite butt jump would be a better name
01:44:54 <Gregor> lolphysics
01:44:57 <NihilistDandy> I figured that was the thing, I just had no idea what it stood for
01:46:34 <CakeProphet> while I'm not sure if my Perl works yet (I would wager it does not), I am certainly still proud of how it looks.
01:48:09 <CakeProphet> !perl sub TEST(){'test'} print "&TEST"
01:48:10 <EgoBot> ​&TEST
01:48:13 <CakeProphet> :(
01:48:30 <Gregor> Perl: It is as bad as you can possibly comprehend.
01:50:20 <CakeProphet> !perl sub TEST(){\'test'} print "${TEST}"
01:50:35 <CakeProphet> oh right
01:50:53 <CakeProphet> !perl sub TEST(){my $t='test';\$t} print "${TEST}"
01:51:33 <CakeProphet> oh well, not important.
01:53:11 <CakeProphet> > 320*320
01:53:12 <lambdabot> 102400
01:53:27 <CakeProphet> that's quite a large string to run multiple regexes through.
01:54:13 <Gregor> CakeProphet: Your viewport is only 13x13, but I guess you probably want more global operations ...
01:54:20 <CakeProphet> yeah
01:54:28 <CakeProphet> but I could work only on the viewport as well.
01:54:50 <CakeProphet> and eventually do some kind of dynamic resizing so that I'm only searching known areas.
01:55:38 <NihilistDandy> Gregor: `quote 611
01:55:47 <Gregor> `quote 611
01:55:49 <HackEgo> 611) <NihilistDandy> Also Perl, but I don't really consider that a programming language so much as a really heavy implementatino of awk
01:55:55 <Gregor> Heh :P
01:56:05 <CakeProphet> besides the viewport or a small radius around the viewport is probably better since the accuracy of the global environment is uncertain if I haven't visited recently.
01:56:18 <Gregor> (Implementino being Spanish for "implementation")
01:56:25 <NihilistDandy> Clearly
01:56:57 <Gregor> Oh, implementatino rather :P
01:56:58 <NihilistDandy> Also because someone (who shall remain named elliott) wouldn't accept my asterisk
01:57:39 <CakeProphet> !perl ' .'x(102400.0/2) =~ /fail/
01:57:51 <CakeProphet> !perl print "fail" unless ' .'x(102400.0/2) =~ /fail/
01:57:51 <EgoBot> fail
01:57:55 <Gregor> `quote implementatino
01:57:57 <HackEgo> 611) <NihilistDandy> Also Perl, but I don't really consider that a programming language so much as a really heavy implementatino of awk
01:58:06 <Gregor> `run sed 's/implementatino/implementation/g' -i quotes
01:58:08 <HackEgo> No output.
01:58:11 <Gregor> `quote 611
01:58:13 <HackEgo> 611) <NihilistDandy> Also Perl, but I don't really consider that a programming language so much as a really heavy implementation of awk
01:58:21 <CakeProphet> well, the full string traversal isn't a problem. a more complex regex might be considerably slower though.
01:58:47 <Gregor> CakeProphet: How "isn't a problem" is "isn't a problem"?
01:58:50 <NihilistDandy> That's neat
01:59:36 <CakeProphet> Gregor: I don't have a precise metric, I guess. 1/15 second is kind of hard to judge by ear.
02:00:04 <Gregor> CakeProphet: Run your simple regex 15,000 times and make sure it takes <1sec *shrugs*
02:00:26 <Gregor> OK, maybe 1,500 :P
02:00:51 <CakeProphet> !perl ' .'x(102400.0/2) =~ /fail/ for (1..1500);print "fail"
02:00:52 <EgoBot> fail
02:00:59 <CakeProphet> that was less than a second, even with latency.
02:01:13 <CakeProphet> unless there's some kind of cacheing that I don't know about?
02:01:17 <Gregor> Nope
02:01:33 <CakeProphet> not with egobot I mean Perl regex.
02:01:55 <CakeProphet> but I guess it construct a new string each iteration
02:01:56 <Gregor> Oh ... there might be.
02:01:58 <CakeProphet> so no cacheing if that's even possible.
02:02:07 <Gregor> CakeProphet: That clocks in at 0.008s on my system :P
02:02:18 <CakeProphet> > 1/15
02:02:18 <lambdabot> 6.666666666666667e-2
02:02:25 <Gregor> 0.06
02:02:36 <Gregor> CakeProphet: And I mean 0.008 in /total/, certainly not per iteration.
02:02:46 <CakeProphet> okay, probably not going to be a problem unless I get some massive regexes (which might actually happen)
02:03:02 <Gregor> You're several orders of magnitute away from it being a problem yet *shrugs*
02:04:03 <CakeProphet> also I generally take care to avoid things like nongreedy patterns.
02:04:29 <CakeProphet> !perl ' .'x(102400.0/2) =~ /.*?/ for (1..1500);print "fail"
02:04:30 <EgoBot> fail
02:04:36 <CakeProphet> which are apparently not a big deal either
02:05:12 <CakeProphet> reasoning about the performance of regex is kind of difficult actually....
02:05:29 <Gregor> Yeah, but you can make some broad guesses :P
02:06:36 <CakeProphet> I'm using Perl's illegibility to my advantage, so that future warriors do not copy my ingenius tactics.
02:06:41 <Gregor> lol
02:12:10 <CakeProphet> right okay so damage goes down as you sit on a conductor? when you get off it either becomes a space or conductor based on if the damage is depleted?
02:12:17 <CakeProphet> I'm just guessing. I don't really know how it works.
02:12:31 <CakeProphet> oh wait you use "hit" next to it?
02:12:47 <CakeProphet> because conductors act as walls.
02:14:06 <CakeProphet> I wonder how expensive a full rotation of the board would be, so that I could have regexes based on orientation.
02:18:35 <Gregor> Damage goes up, not down.
02:18:39 <Gregor> Otherwise, all yes.
02:18:55 <CakeProphet> oh, so you just have to keep hitting until it disappears?
02:19:09 <CakeProphet> is the value secret?
02:19:17 <Gregor> No, it's always 4 (as documented in the README)
02:19:28 <CakeProphet> should probably read that one of these days
02:19:33 <CakeProphet> >_>
02:20:34 <CakeProphet> okay so the server DOES NOT adjust your viewport based on orientation right? So if I wanted that I would have to do the rotations myself right?
02:20:48 <Gregor> The server DOES adjust your viewport based on orientation.
02:20:53 <Gregor> It's always what's in front of you.
02:21:52 <CakeProphet> oh excellent.
02:22:03 <CakeProphet> but I'll still have to rotate the board to have it match.
02:22:12 <CakeProphet> so same thing kind of.
02:22:23 <CakeProphet> well I could just account for the rotation
02:22:32 <CakeProphet> instead of rotating the whole thing constantly.
02:29:21 <CakeProphet> > 0.06 / 0.008
02:29:21 <lambdabot> 7.5
02:30:04 <CakeProphet> that's not a lot of regexes per turn, especially when if the complex ones are more time consuming.
02:32:43 <CakeProphet> so 1) resize grid as needed 2) use small arrays for things that can be near-sighted 3) hardcode some pattern matching
02:34:59 <Gregor> CakeProphet: Remember that was 0.008s to do 1,500 regexes.
02:35:50 <CakeProphet> oh right...
02:35:54 <CakeProphet> lol nv
02:35:55 <CakeProphet> m
02:36:21 <CakeProphet> I can get all semi-conscious on these bitches.
02:37:16 <CakeProphet> these games will be pretty long I imagine.
02:38:47 <Gregor> Well, my original idea for this was to just have an ongoing game that you can join at "any" point. That's made progressively less sense though.
02:38:56 <CakeProphet> heh
02:39:38 <CakeProphet> I would just create some huge monolithic grid that connects every possible point together with walkways so that I can scan for new bases to pillage.
02:39:50 <CakeProphet> or something like that.
02:40:02 <Gregor> Yeah, that's the problem, you're wildly disadvantaged as a new join :P
02:41:07 <CakeProphet> it will be interesting how well this regex approach works out.
02:41:32 <CakeProphet> IDEA.
02:41:38 -!- Patashu has quit (Ping timeout: 264 seconds).
02:41:40 <CakeProphet> instead of rotating the board just have 4 boards for every rotation.
02:43:17 <CakeProphet> so simple
02:43:24 <CakeProphet> and... painful to program.
02:44:47 <CakeProphet> > my @x=(1,2,3); print map{@x}@x;
02:44:48 <lambdabot> <no location info>: parse error on input `='
02:45:02 <CakeProphet> !perl my @x=(1,2,3); print map{@x}@x;
02:45:02 <EgoBot> 123123123
02:45:10 <CakeProphet> the list monad in Perl. :P
03:06:01 -!- zzo38 has joined.
03:21:27 <zzo38> Do you like this?
03:22:35 <Sgeo_> How does Perl's lambda syntax manage to be more sensible than the syntax of a descendent language?
03:24:40 <CakeProphet> er, what exactly are Perl's descendent languages? Ruby?
03:25:10 <CakeProphet> zzo38: like what?
03:26:51 -!- azaq23 has quit (Ping timeout: 246 seconds).
03:27:20 <CakeProphet> Sgeo_: well the syntax is just as sensible as any other sensible lambda syntax, but there are no named formal parameters, which might be considered not sensible. But this is a lack of sensibility in functions in general and not lambdas.
03:31:35 <CakeProphet> I kind of stopped paying attention to the lack of named parameters.
03:32:13 * Sgeo_ was referring to Ruby not Perl
03:32:41 <CakeProphet> you asked about Perl's syntax, there was my answer.
03:33:04 <CakeProphet> I'd say Ruby's is more or less sensible, but a bit wordy.
03:33:54 <CakeProphet> actually Perl's might be slightly wordier.
03:34:08 <CakeProphet> due to shifting and assigning parameter names
04:49:26 <CakeProphet> >_>
04:49:31 -!- CakeProphet has quit (Quit: Reconnecting).
04:49:47 -!- CakeProphet has joined.
04:49:47 -!- CakeProphet has quit (Changing host).
04:49:47 -!- CakeProphet has joined.
04:51:13 <CakeProphet> wouldn't (^) be slower than (**)?
04:53:42 <CakeProphet> :t (^)
04:53:43 <lambdabot> forall a b. (Num a, Integral b) => a -> b -> a
04:54:15 <CakeProphet> > (maxBound :: Int)^(maxBound :: Int)
04:54:16 <lambdabot> 9223372036854775807
04:55:04 <CakeProphet> > (maxBound :: Integer)^(maxBound :: Integer)
04:55:05 <lambdabot> No instance for (GHC.Enum.Bounded GHC.Integer.Type.Integer)
04:55:05 <lambdabot> arising from...
04:55:10 <CakeProphet> oh right.
05:15:48 <fizzie> > (fromIntegral (maxBound :: Int))^(maxBound :: Int)
05:16:03 <lambdabot> thread killed
05:16:06 <fizzie> I suppose that was a bit too large.
05:20:00 <CakeProphet> > (fromIntegral (maxBound :: Int))**(maxBound :: Int)
05:20:03 <lambdabot> No instance for (GHC.Float.Floating GHC.Types.Int)
05:20:03 <lambdabot> arising from a use of...
05:20:52 <CakeProphet> > (fromIntegral (maxBound :: Int))**(fromIntegral (maxBound :: Int))
05:20:53 <lambdabot> Infinity
05:21:01 <CakeProphet> lulz
05:22:39 <fizzie> It'd have
05:22:43 <fizzie> > let i = fromIntegral (maxBound :: Int) in logBase 10 i * i
05:22:44 <lambdabot> 1.7492023358848572e20
05:22:50 <fizzie> That many digits.
05:26:50 <CakeProphet> f I were to name one of my strongest characteristics pertaining to software and programming I would say it's within Java and Visual Basics. I've been dealing with Visual Basics since my senior year of high school and the same with Java.
05:26:59 <CakeProphet> s/f/if/
05:27:30 <CakeProphet> introduction of one of my fellow classmates for this intro to software engineering online class. I definitely want to pick him for our group projects.
05:31:07 <itidus20> i think what happens is that a plural becomes a singular
05:31:11 <itidus20> such as "the basics"
05:31:32 <itidus20> and then, when having learned "the basics" is not a plural... when one encounters the word basic
05:31:39 <itidus20> the plural can attach itself
05:31:57 <CakeProphet> none of that made any sense to me.
05:32:36 <itidus20> people say "the basics" to mean the introductory knowledge of some area
05:32:44 <CakeProphet> mmk
05:32:49 <itidus20> however, noone ever speaks of a single "basic"
05:32:58 <itidus20> it's always "the basics"
05:33:06 <CakeProphet> unless they're talking about the programming language called Visual Basic
05:33:23 <CakeProphet> in which case it's written as "Visual Basic"
05:33:59 <itidus20> well.. for different meanings i know basic is used as a word on its own
05:34:08 <itidus20> but for the meaning of "things to tell a newbie"
05:34:27 <itidus20> for the specific meaning of "things to tell a newbie" it is usually "the basics"
05:34:37 <itidus20> akin to "the ropes"
05:35:00 <fizzie> But there's VBA, and quite a lot of difference between the old-style VB and modern VB.NET. Perhaps e just means e knows all the Visual Basics. All of them.
05:35:14 <CakeProphet> yes that's possible.
05:35:27 <CakeProphet> But maybe he's just stupid as well.
05:35:44 <fizzie> That's also always possible.
05:36:13 <itidus20> so, i think that when giving someone an introduction to a subject is called "the basics" that.. "introduction" is singular and so "the basics" seems to also be singular
05:36:40 <CakeProphet> no that's not how it works.
05:36:59 <itidus20> i am not disputing that the word basic is often used without an s
05:37:05 <CakeProphet> Here I'll show you the basics, they /are/ pretty easy.
05:37:34 <CakeProphet> /they/ /are/, even.
05:38:10 <CakeProphet> that means "basics" is plural, fitting with most other english words.
05:39:00 <itidus20> i know that "visual basics" is flatout wrong, but, "visual basics" is a common spelling
05:39:19 <itidus20> and there must be a reason why this particular grammatical foible occurs so often
05:39:31 <CakeProphet> this is the first time I've seen it.
05:39:52 <itidus20> maybe it is stupidity to some degree
05:40:05 <itidus20> another similar one is in australia there are some stores called safeway
05:40:17 <itidus20> but some people call it safeways
05:40:30 <CakeProphet> safeways or safeway's?
05:40:40 <itidus20> i don't know as i don't call it that
05:40:56 <itidus20> it could be "safeway's" imitative of "mcdonald's"
05:41:17 <itidus20> hehe
05:43:07 <CakeProphet> glogbot: sup
05:45:17 <CakeProphet> aloril atehwa_ augur augur chickenzilla clog GreaseMonkey iamcal ineiros jcp jcp|other jix lifthrasiir mycroftiv myndzi rodgort sebbu shachaf SimonRC variable twice11 Wamanuz yiyus yorick Zwaarddijk: sup
05:45:27 <augur> :|
05:46:07 <CakeProphet> roll call / everybody get in here!
05:46:32 <jcp|other> o.O
05:46:49 <CakeProphet> woah these people actually exist you just have to ping them.
05:46:54 <CakeProphet> ask and ye shall receive.
05:46:58 <CakeProphet> words of great wisdom.
05:47:59 <quintopia> what do you need
05:48:37 <fizzie> The #2 of the list (one spurious ping was enough, I guess) was speaking not more than a week or so ago.
05:48:59 <fizzie> As for #15, \o/
05:49:00 <myndzi> |
05:49:00 <myndzi> /`\
05:49:30 <quintopia> i haven't heard much from myndzi in a while
05:49:53 <CakeProphet> quintopia: I didn't ping you did I? o_o I guess since you asked: do you have any money I could have?
05:50:09 <CakeProphet> jcp|other: hello
05:50:17 <quintopia> you said "everybody get in here"
05:50:20 <quintopia> everybody includes me
05:50:23 <CakeProphet> augur: not sure why I pinged you actually.
05:50:25 <quintopia> aand no
05:50:30 <CakeProphet> quintopia: oh. 4chan meme.
05:50:31 <quintopia> i have no money
05:50:48 <CakeProphet> from harvey birdman: attorney at law.
05:54:18 <CakeProphet> http://tvtropes.org/pmwiki/pmwiki.php/Main/EveryoneGetInHere
05:55:03 <quintopia> that says everyone
05:55:07 <quintopia> you said everybody
05:55:11 <CakeProphet> ...... -_-
05:55:11 <quintopia> i sense discrrepancy
05:55:15 <CakeProphet> in the show it says everybody
05:56:21 <cheater> http://www.jerkcity.com/jerkcity1741.html
05:56:46 <shachaf> @slap CakeProphet
05:56:46 * lambdabot pokes CakeProphet in the eye
05:58:26 -!- oerjan has joined.
05:59:02 <quintopia> oerjan
05:59:16 <oerjan> quintopia
05:59:26 <quintopia> what are you working on these days
05:59:32 <fizzie> A roaring oerjan.
05:59:44 <oerjan> nothing
05:59:59 <quintopia> need any help?
06:01:03 <quintopia> i'm a pro at doing nothing
06:01:12 <quintopia> any time you need assistance with that, feel free to ask
06:01:14 <oerjan> ok, mr. hobbes
06:01:21 <CakeProphet> > do Nothing
06:01:21 <lambdabot> Nothing
06:02:43 <CakeProphet> > do do do do do do do do do do do Nothing
06:02:44 <lambdabot> Nothing
06:02:50 <CakeProphet> I'm going to write all of my Haskell code this way from now on.
06:02:56 <fizzie> > Just $ do Nothing -- oh if only $ would be ... instead
06:02:57 <lambdabot> Just Nothing
06:03:27 <CakeProphet> > let (...) = ($) in Just ... do Nothing
06:03:27 <lambdabot> Just Nothing
06:03:39 <quintopia> it's not the same
06:03:47 <CakeProphet> @define (...) = ($)
06:04:01 <CakeProphet> > Just ... do Nothing
06:04:02 <lambdabot> Not in scope: `...'
06:04:05 <CakeProphet> huh.
06:04:11 <oerjan> > [Just .. do Nothing]
06:04:11 <lambdabot> Couldn't match expected type `a -> Data.Maybe.Maybe a'
06:04:11 <lambdabot> against infe...
06:04:19 <oerjan> wat
06:04:27 <oerjan> oh wait
06:04:29 <CakeProphet> no Just parameter
06:04:32 <oerjan> no Enum
06:04:39 <oerjan> ...that too
06:04:53 <zzo38> The CPP with Haskelll doesn't work, it seem
06:05:02 <zzo38> At least, with GHCi
06:05:16 <CakeProphet> not by default no.
06:05:46 <oerjan> zzo38: there's a flag for it
06:05:51 <zzo38> But I typed > {-# LANGUAGE ForeignFunctionInterface, CPP #-} and I also put -XCPP that doesn't work either
06:06:17 <oerjan> oh is it a LANGUAGE pragma? hm.
06:06:33 <zzo38> Is it because it require # at the start of the line? It cannot go there because > is required at first
06:06:47 <oerjan> zzo38: oh that may be.
06:07:01 <CakeProphet> it wouldn't make # a new token I think it would just run the preprocessor first.
06:07:11 <CakeProphet> I wouldn't call it a syntax change, anyways.
06:08:15 <oerjan> http://www.haskell.org/ghc/docs/latest/html/users_guide/options-phases.html#c-pre-processor indicates it's -fcpp
06:08:34 <oerjan> er
06:08:36 <oerjan> -cpp
06:08:41 <zzo38> OK, someone told me it was LANGUAGE pragma perhaps they are wrong, I will try -cpp instead
06:08:59 <zzo38> No, that is still error
06:09:04 <fizzie> > maybe (do Nothing) (fromMaybe $ Just Nothing) $ Just Nothing
06:09:05 <lambdabot> Just Nothing
06:09:39 <oerjan> zzo38: i guess the c preprocessor is run before the > 's are removed
06:10:26 <oerjan> oh there is -XCPP listed under the language section
06:11:55 <zzo38> No it says the > are removed at first before the C preprocessor
06:12:27 <zzo38> In section 4.5.3
06:13:00 <zzo38> But it is also GHCi and I don't know if that makes a difference too
06:13:27 <oerjan> hm it seems so
06:14:49 <oerjan> what do your preprocessor lines with > look like?
06:15:21 <zzo38> It looks like: > #ifndef GHCi but removing the space so it is ># is still error
06:15:31 <oerjan> ah.
06:15:39 -!- CakeProphet has quit (Ping timeout: 258 seconds).
06:15:39 <oerjan> yeah that's what i was wondering
06:15:59 <oerjan> maybe ask on #haskell
06:16:27 <zzo38> I tried that too, yes
06:18:25 <oerjan> do you get an error message?
06:19:20 <oerjan> that table seems to imply you can ask for a .hspp file to see what it looks like after the c pre-processor stage
06:19:23 <zzo38> Yes I get message that says is parse error on input `#'
06:19:40 -!- CakeProphet has joined.
06:19:40 -!- CakeProphet has quit (Changing host).
06:19:40 -!- CakeProphet has joined.
06:19:41 <oerjan> with -E
06:20:03 <CakeProphet> quintopia: if you're looking for something to do, run !wacro a few times until you find an acronym you like, name it, and then implement it (whatever it is...)
06:20:21 <CakeProphet> s/name/expand/
06:20:37 <quintopia> CakeProphet: i was looking for nothing to do. you notice how readily i offered to help do nothing.
06:20:39 <oerjan> oh you said it's ghci
06:21:02 <CakeProphet> quintopia: sounds like you're already doing a great job then.
06:21:04 <CakeProphet> !wacro
06:21:05 <EgoBot> PHGDNHMG
06:21:09 <CakeProphet> !wacro
06:21:09 <EgoBot> ZBMMCBISSE
06:21:13 <CakeProphet> ...
06:21:35 <CakeProphet> too many letters in those.
06:22:21 <quintopia> wacro should take a parameter for length
06:22:34 <zzo38> I tried -pgmP f:\cygwin\bin\echo.exe in order to see exactly what command-line parameters are given to the C preprocessor
06:25:35 <oerjan> i think i found a relevant post: http://osdir.com/ml/glasgow-haskell-users@haskell.org/2011-02/msg00037.html
06:26:10 <zzo38> I think C preprocessor is not the best kind of preprocessor for Haskell
06:26:14 <oerjan> it seems like the preprocessor directives should not have > , _even_ though they are run after the lhs stage
06:26:53 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
06:29:04 <oerjan> hm why should that be necessary...
06:30:09 <oerjan> !show
06:30:10 <EgoBot> That is not a user interpreter!
06:30:15 <oerjan> !userinterps
06:30:15 <EgoBot> ​Installed user interpreters: acro aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decide drawl drome dubya echo ehird elmer fudd google graph gregor hello id insanetemp jethro kraut lperl lsh map num numberwang ook pansy pi pikhq pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simplename slashes svedeesh swedish valspeak wacro warez wc yodawg
06:30:18 <zzo38> Yes they should not have > but the symbol GHCi is not even defined even though someone told me it is. Because I typed in ghci -pgmP f:\cygwin\bin\echo.exe I can see which symbols are defined in the preprocessor, and GHCi is not one of them.
06:30:24 <oerjan> !show wacro
06:30:24 <EgoBot> perl (sending via DCC)
06:31:32 <oerjan> oh you want to do something depending on if you're started in ghci?
06:31:56 <CakeProphet> oerjan: http://pastebin.com/mDyuacbS
06:31:58 <zzo38> oerjan: Yes. Some things in the file are for GHCi only and others are only for not GHCi
06:32:10 <zzo38> (It is the only reason I used the C preprocessor)
06:32:47 <CakeProphet> oerjan: and, dictionary miner: http://paste2.org/p/1596859
06:33:32 <CakeProphet> with most spaces conveniently removed for clarity of purpose.
06:33:38 <CakeProphet> :)
06:33:41 <zzo38> Is there another way, such as using Template Haskell? Can Template Haskell be used to check for such thing?
06:33:51 <oerjan> i have no idea
06:36:31 <oerjan> zzo38: however when using ghci i often run other functions directly instead of main. maybe you could define another function for invoking then?
06:37:10 <CakeProphet> imain
06:39:18 <cheater> can i somehow make the "extra key" between z and the left shift work as enter?
06:39:36 <oerjan> no. because it doesn't exist.
06:39:39 * oerjan runs away.
06:40:34 <zzo38> oerjan: This program has no main function; it is a library. But there are some things that it won't work in GHCi, such as foreign exports and import {-# SOURCE #-} and a few other things
06:40:51 <cheater> i bet zzo38 would know
06:40:59 <cheater> zzo38, how do i do that?
06:42:10 <oerjan> ok i have no experience with those things.
06:42:12 <zzo38> cheater: Doing what? Sorry I forgot
06:49:33 <zzo38>
06:51:22 * pikhq sucks terribly at this "sleep" thing.
06:51:31 * pikhq has said this a lot.
06:51:36 <pikhq> It remains true.
06:52:16 <oerjan> pikhq: i am glad to hear you ascribe to the norm for this channel.
06:52:23 <pikhq> Whoo.
06:58:36 <zzo38> I cannot figure out how to check for GHCi. C preprocessor does not work, Template Haskell commands location and recover do not work...
07:03:02 <oerjan> maybe you could split into different modules
07:06:00 -!- Zetro has joined.
07:21:19 -!- cheater has quit (Quit: Ex-Chat).
07:39:06 <Sgeo_> elliott and PH and Taneb should be happy they're asleep right now.
07:39:22 <Sgeo_> Hussie is currently trolling everyone who checks updates constantly
07:39:50 <Sgeo_> By releasing 1 page updates in rapider than usual succession
07:40:03 <Sgeo_> around 20 min intervals
08:08:23 -!- oerjan has quit (Quit: leaving).
08:20:09 <zzo38> Why can't the Template Haskell "recover" command recover from illegal foreign declaration errors?
08:35:06 -!- FireFly has joined.
08:52:19 <zzo38> I finally figured out how to make it so that the foreign exports are ignored in GHCi, and at the same time making it so that you do not have to specify the type of the exported function if you have already written the type elsewhere in the program.
08:52:46 <zzo38> I used "runIO getArgs" in Template Haskell to check if it has "--interactive" at first.
09:06:39 -!- zzo38 has quit (Remote host closed the connection).
09:21:13 -!- cheater has joined.
09:22:51 <cheater> hi
09:44:12 <cheater> where's ais when you need him
09:52:30 <cheater> ohh i think i need to augument rules/evdev
09:52:44 -!- cheater has quit (Quit: Ex-Chat).
10:01:56 -!- cheater has joined.
10:17:29 <Zetro> FireFly: hade du tänkt komma till matten?
10:19:52 <Zetro> ._. Wrong channel again
10:36:11 -!- GreaseMonkey has quit (Quit: The Other Game).
10:49:09 -!- Patashu has joined.
10:51:05 -!- monqy has quit (Quit: hello).
11:03:20 <yorick> CakeProphet: Y U HILIGHT ME
11:18:05 -!- BeholdMyGlory has joined.
11:44:17 -!- Vorpal has joined.
11:56:30 -!- boily has joined.
13:55:49 -!- Skaaarj has joined.
13:56:04 -!- Skaaarj has left.
14:07:19 -!- Patashu has quit (Ping timeout: 268 seconds).
14:08:44 -!- copumpkin has quit (Remote host closed the connection).
14:09:08 -!- copumpkin has joined.
14:25:04 -!- CakeProphet has quit (Ping timeout: 240 seconds).
14:27:02 -!- CakeProphet has joined.
14:51:22 -!- Phantom_Hoover has joined.
14:55:23 <Phantom_Hoover> OMG my school is going to let us buy our own labcoats BEST DAY EVER
14:56:44 <Gregor> Phantom_Hoover: I've been talkin' all summer about buying lab coats for the PL lab at Purdue :P
14:57:12 <Phantom_Hoover> I think lab coats are basically the height of fashion among nerds.
14:57:30 <Gregor> <Graphics guy> Do you really need to wear lab coats for a PL lab? <Gregor> Hey, don't blame me if your lab doesn't do /legitimate/ science.
14:57:31 <Phantom_Hoover> This is strange because I'm not going to touch a test tube after I leave school.
14:59:23 <Phantom_Hoover> Gregor, coffee spills are a real occupational hazard.
14:59:38 * Phantom_Hoover wonders if he can get away with wearing it over his uniform all year.
15:44:46 <cheater> what do you guys think of this layout http://pastebin.com/T1J7EpKa
15:44:56 <cheater> the B in the lower left is a second backspace
15:57:54 <Gregor> cheater: I think I want to hurt you.
15:59:02 <Sgeo_> Phantom_Hoover, I assume you saw Homestuck updates?
16:00:04 <Phantom_Hoover> Naturally, and then I a) realised that it probably wasn't EoA5, so Hussie LIED and b) went back to lab coat thoughts.
16:04:28 -!- nooga has joined.
16:04:43 -!- nooga has left.
16:04:50 -!- nooga has joined.
16:05:32 <nooga> meh
16:11:39 <CakeProphet> !perl ("Hi everyone and welcome to the FIFTH DIMENSION" =~ / /
16:11:41 <EgoBot> syntax error at /tmp/input.3289 line 1, at EOF
16:11:59 <CakeProphet> !perl ("Hi everyone and welcome to the FIFTH DIMENSION" =~ / (?{print pos." "})/)
16:12:00 <EgoBot> Warning: Use of "pos" without parentheses is ambiguous at (re_eval 1) line 1.
16:12:07 <CakeProphet> !perl ("Hi everyone and welcome to the FIFTH DIMENSION" =~ / (?{print (pos)." "})/)
16:12:08 <EgoBot> 3
16:12:23 <Phantom_Hoover> quintopia, GET OUT OF MY RSS FEEDS YOU BASTARD
16:12:45 <CakeProphet> !perl ()=("Hi everyone and welcome to the FIFTH DIMENSION" =~ / (?{print (pos)." "})/)
16:12:46 <EgoBot> 3
16:12:50 <CakeProphet> huh.
16:13:40 <CakeProphet> !perl @lol=("Hi everyone and welcome to the FIFTH DIMENSION" =~ / (?{print (pos)." "})/)
16:13:41 <EgoBot> 3
16:13:48 <CakeProphet> !perl @lol=("Hi everyone and welcome to the FIFTH DIMENSION" =~ / (?{print (pos)." "})/g)
16:13:49 <EgoBot> 3121624273137
16:14:07 <CakeProphet> !perl @lol=("Hi everyone and welcome to the FIFTH DIMENSION" =~ / (?{print pos," "})/g)
16:14:08 <EgoBot> 3 12 16 24 27 31 37
16:14:20 <CakeProphet> wooo...
16:14:39 * Phantom_Hoover realises that there aren't many future labcoat things he can do except wait until elliott turns up and goes livid with rage.
16:17:31 <nooga> !perl fork while fork
16:17:41 <nooga> oops
16:19:58 <CakeProphet> !perl sub a(){map fork, a}
16:20:03 <CakeProphet> !perl sub a(){map fork, a} a
16:21:29 <cheater> Gregor, why
16:22:18 <Gregor> cheater: You actually have to reach /farther/ to get to any of the vital symbol keys in your new "improved" system.
16:22:43 <Gregor> Unless you're missing the smallest finger on each hand.
16:24:16 <cheater> Gregor, i don't use them often at all.
16:24:22 <Gregor> Or, I suppose, if your hands are now supposed to be centered on sdfghjkl instead of asdfjkl;?
16:24:25 <cheater> i use enter and backspace and ; often
16:24:28 <Gregor> In which case shifting is a pain
16:24:48 <cheater> right hand fingers are on hjkl
16:24:55 <cheater> on the new hjkl that is
16:24:55 <Gregor> *brain explodes.
16:24:59 <cheater> nice
16:25:04 <cheater> i may now quit
16:25:15 -!- cheater has quit (Quit: Ex-Chat).
16:25:15 <Gregor> So shift is, like, lightyears away from your hands :P
16:27:24 -!- hagb4rd has joined.
16:36:30 -!- pikhq_ has joined.
16:36:43 -!- pikhq has quit (Ping timeout: 260 seconds).
16:38:43 -!- cheater has joined.
17:05:24 -!- CakeProphet has quit (Ping timeout: 258 seconds).
17:07:22 <quintopia> Phantom_Hoover: how did i gett in your rss feeds
17:07:51 <Phantom_Hoover> quintopia, Sam Hughes' response to your tweet.
17:09:11 <quintopia> quintopia: what. that was like yesterday or something.
17:09:21 <quintopia> i just addressed myself
17:09:37 <quintopia> i should get off the internet until im actually awake
17:16:20 -!- zzo38 has joined.
17:18:48 <cheater> who wants to try my new wonderful layout
17:18:53 <cheater> it is wonderful
17:21:26 <zzo38> I was unable to access it because of bad gateway error
17:30:46 <Gregor> BLACK UMBRELLA
17:37:11 <cheater> sorry zzo
17:37:29 <cheater> it is not uploaded yet that was just a pastebin of how the layout looks
17:37:56 <cheater> does your linux have xkb or xmodmap
17:38:31 <zzo38> I am not on Linux right now and in addition have no intention to adjust my keyboard layout anyways
17:41:26 <zzo38> But I did want to look but cannot access it
17:51:18 -!- hagb4rd has quit (Ping timeout: 252 seconds).
17:54:50 -!- NihilistDandy has quit (Quit: laundromat).
17:54:51 -!- Nihilist1andy has quit (Quit: laundromat).
17:56:23 -!- zzo38 has quit (Remote host closed the connection).
18:00:30 -!- oklopol has joined.
18:11:05 <Sgeo_> "Thus, the application we'll be building is Twitter FOR ZOMBIES"
18:11:10 <Sgeo_> So.... boring...
18:14:14 <nooga> http://webcache.googleusercontent.com/search?q=cache:Fdewfzbi-ZkJ:www.addedbytes.com/blog/if-php-were-british/+If+PHP+Were+British&hl=en&client=safari&strip=1
18:14:30 <nooga> elliottscript 2.0
18:18:09 <Phantom_Hoover> nooga, was this, by any chance, made by an American?
18:19:44 <nooga> i don;t know
18:22:40 <Phantom_Hoover> Doesn't look like it.
18:30:11 <Sgeo_> Ruby's "10 million ways to do one thing" philosophy is killing e
18:30:12 <Sgeo_> me
18:31:26 <nooga> an example?
18:32:09 -!- derrik has joined.
18:32:27 <Sgeo_> Tweet.update_attributes(), Tweet.attributes= then save,
18:32:30 -!- derrik has quit (Client Quit).
18:32:46 <Sgeo_> the_tweet[:whatever] = whatever the_tweet.save
18:33:01 <Sgeo_> For updating
18:33:11 <copumpkin> wonderful
18:33:22 -!- derrik has joined.
18:33:32 <Sgeo_> Ways to create records, like two Tweet.new uses, and a Tweet.create that allows skipping the .save
18:34:49 <cheater> why are you using ruby
18:34:51 <Sgeo_> For accessing attributes from an item
18:34:57 <cheater> are you doing this on purpose
18:34:58 <nooga> it's not ruby
18:35:01 <nooga> it's rails
18:35:03 <Sgeo_> some_item[:name] and some_item.name
18:35:40 <nooga> hash[:symbol] when you may want to pass a variable into []
18:35:54 <cheater> so anyways
18:36:02 <cheater> i like the new layout
18:36:10 <cheater> it is much more zen.
18:36:32 <cheater> i like how you can do most without moving your palms at all
18:36:50 <nooga> also
18:37:02 <cheater> it is a big improvement indeed
18:37:05 <nooga> Tweet.new just constructs the object so you may save it or not
18:37:11 <nooga> and manipulate it
18:37:22 <cheater> right hand is still a bit tricky but not overly so
18:37:27 <nooga> #create is used for rather simple models
18:38:08 <Sgeo_> Nothing wrong with using ActiveRecord without Rails, right?
18:38:16 <nooga> oh
18:38:29 <Sgeo_> Hypothetically, I mean
18:38:30 <cheater> nooga
18:38:36 <cheater> have you seen php on rails
18:38:40 <nooga> maybe you should check out Mongo.DB
18:38:52 <Sgeo_> ??
18:38:56 * Sgeo_ headaches
18:39:15 <nooga> http://www.mongodb.org/
18:39:21 <nooga> or Redis
18:39:30 <nooga> it's well suited for things like tweets
18:39:58 <nooga> and does not have stuff like migrations
18:40:29 <nooga> you just add keys in the model class and use it
18:40:42 <nooga> and magical persistence happens
18:40:58 <cheater> http://web.archive.org/web/20091103132947/http://phails.com/
18:41:10 <cheater> php on rails
18:41:36 <nooga> php is a big mistake itself
18:42:00 <nooga> they shouldn't make parodies with php
18:42:15 <cheater> i know right
18:43:56 <nooga> no, seriously -> http://www.phpontrax.com/
18:44:02 <nooga> it's real :D
18:49:05 <Sgeo_> The multiplicity of validators scares me
18:51:57 <nooga> you are free to write before_filter and validate by hand
18:52:10 <nooga> i mean before_save
18:53:08 <Sgeo_> <steerio> validate { |rec| rec.errors << :invalid if i_have_a_bad_mood }
18:53:08 <Sgeo_> <steerio> rec.errors[:something] that is
18:54:29 <nooga> oh, rightt
18:55:50 -!- oerjan has joined.
18:56:12 -!- pikhq has joined.
18:56:15 -!- pikhq_ has quit (Ping timeout: 252 seconds).
19:03:44 -!- Taneb|Kindle has joined.
19:03:53 <Sgeo_> Wait, do I actually have to make the database myself in Rails?
19:04:03 <Sgeo_> Django automatically makes databases
19:04:06 <Taneb|Kindle> Hello
19:04:42 <Sgeo_> Taneb|Kindle, Homestuck updates
19:04:47 <Sgeo_> Including a flash
19:05:00 <Gregor> Taneb|Kindle: Worst possible IRC device?
19:05:23 <Taneb|Kindle> Better than my mobile
19:05:43 <Taneb|Kindle> It works and it is free
19:06:18 <Zetro> IRC on a kindle?
19:06:27 <Taneb|Kindle> Sgeo_ I cannot really see it until sometime in early September
19:06:54 <Taneb|Kindle> Zetro and why not?
19:07:33 <Gregor> Taneb|Kindle: I have an eInk device, updates are ... less than ideal. If we were chattering away and it had conventional scrolling, it'd just be a mess. But does it have conventional scrolling?
19:07:40 <Zetro> Haven't seen anyone else using it for IRC :P
19:07:53 <Taneb|Kindle> I do not eally jknow
19:08:10 <Taneb|Kindle> Typing is somewhat awkward
19:09:17 <Gregor> Taneb|Kindle: Does text scroll like an IRC client on a computer, or in some other way? That is, when a new line appears, do all the current lines shift up?
19:09:37 <cheater> kindle irc is worst irc
19:09:42 <Taneb|Kindle> I dunno say more and I will tell you
19:09:59 <Gregor> Taneb|Kindle: Ohh, it hasn't even filled in a screen yet X-D
19:10:12 <Gregor> Taneb|Kindle: If it scrolls in some more stable way, then I see no reason why IRC on Kindle would be short of wonderful.
19:10:25 <Gregor> But if it scrolls whole-page, yukk.
19:10:29 <FireFly> I'd like to see a photo of IRC-on-an-eink-device
19:10:29 <Taneb|Kindle> Keyboard is awkward
19:10:35 <Gregor> Taneb|Kindle: Better than no keyboard :)
19:10:43 <Gregor> FireFly: Dood, my eInk device has Debian on it :P
19:11:10 <FireFly> Heh
19:11:27 <Taneb|Kindle> Scrolling is conventional
19:11:31 <Gregor> FireFly: http://www.mobileread.com/forums/attachment.php?attachmentid=75336&stc=1&d=1312936864
19:11:43 <Gregor> Taneb|Kindle: Yeah, that's awful ... it'll go all smushy every time somebody says anything.
19:11:43 <Taneb|Kindle> Using webchat
19:11:46 <Gregor> Ohhhhhhh
19:11:49 <Gregor> Then yeah :P
19:11:55 <Gregor> What you'd really want is round-robin "scrolling"
19:11:58 <FireFly> Aww, that looks too computery
19:12:15 <Gregor> FireFly: Whaddya expect, it's stock Debian :P
19:12:38 <Taneb|Kindle> I wonder what the Kindle OS is called
19:12:47 <FireFly> I wonder how an IRC client that uses a book-like font for the IRC lines would look (on an e-ink device, that is)
19:19:18 -!- Taneb|Kindle has quit (Ping timeout: 252 seconds).
19:23:07 <Gregor> FireFly: Every font looks book-like on eInk.
19:23:15 <Gregor> Taneb|NotHere: Linux :P
19:23:17 <oerjan> <Sgeo_> "Thus, the application we'll be building is Twitter FOR ZOMBIES"
19:23:26 <oerjan> at least it'll be twitter with some brains...
19:23:33 <oklopol> BREAINISSSS
19:23:37 <oklopol> dfasgpeoitrhgeatrhg
19:23:54 <oklopol> what would you guys do without my input
19:24:05 * oerjan tosses oklopol a hitler's brain clone from iwc
19:24:11 <oklopol> :o
19:24:14 <oklopol> slewepw .>
19:33:07 -!- ais523 has joined.
19:34:19 <Gregor> ais523: Tell us, in your unending wisdom, what improvements Rezzo needs.
19:34:45 <oerjan> lasers.
19:34:50 <ais523> I, um, don't know
19:35:11 <oerjan> his wisdom is unending because it never begins
19:35:17 <Gregor> oerjan: On freaking SHARKS
19:35:22 <ais523> oerjan: heh
19:35:50 <ais523> Gregor: what would happen if bots weren't blocked by wire?
19:36:00 <ais523> as in, they can walk on top of wire
19:36:03 <oerjan> Gregor: i assume you have read the same recent iwc annotation as i
19:36:22 <Gregor> oerjan: ... no?
19:36:29 <Gregor> ais523: Then they could move around arbitrarily *shrugs*
19:36:32 <oerjan> oh?
19:36:42 <ais523> Gregor: indeed
19:36:47 <Gregor> ais523: The possibility of making them able to walk on wire but be hurt/moved by electrons was once discussed.
19:36:52 <oerjan> http://www.irregularwebcomic.net/3129.html from yesterday
19:37:01 <ais523> that way, the game would be more about manipulating the WireWorld than blocking each other in
19:37:15 <Phantom_Hoover> > 1220 / 170
19:37:16 <lambdabot> 7.176470588235294
19:37:31 <Gregor> oerjan: It is sad that you didn't get the reference in that comic, and thought I was referencing the comic >_
19:37:32 <Gregor> *>_<
19:37:56 <oerjan> Gregor: well i vaguely understand it's an older meme
19:38:08 <oerjan> but i _still_ assumed you'd read the iwc
19:38:48 -!- yourstruly has changed nick to erytssiN.
19:38:55 -!- azaq23 has joined.
19:39:02 -!- Taneb|Kindle has joined.
19:39:04 <oerjan> hm did iwc mention it even earlier...
19:40:04 <Taneb|Kindle> Of course the main problem with IRC on a Kindle is tha it disconnects so easily
19:40:16 <oerjan> Taneb|Kindle: wait, did iwc remove the crossover table entirely? i thought it was in the archive pages...
19:40:46 <Taneb|Kindle> Try in archive by themes
19:41:02 <oerjan> i did it wasn't there either
19:41:12 <Taneb|Kindle> Huh
19:41:21 <oerjan> oh it's in the cast page
19:44:02 <oerjan> ok there seems to be no lasers mentioned in the jumping the shark arc
19:44:33 <oerjan> (http://www.irregularwebcomic.net/comic.php?current=983&theme=17&dir=next5)
19:45:42 -!- Taneb|Kindle has quit (Ping timeout: 252 seconds).
19:46:02 <Phantom_Hoover> Ooh, IWC nerdfest!
19:51:34 <Gregor> It's from Austin Powers >_<
19:51:37 <Gregor> And you are all TERRIBLE
19:52:25 <oerjan> Gregor: was looking it up
19:53:27 <oerjan> i have never seen any austin powers movies, but i suspect them to be the kind of comedy that makes me flee a room.
19:56:31 <Gregor> And that's terrible.
20:03:28 -!- monqy has joined.
20:08:27 <Gregor> LOL I implemented the CA wrong in the first place because I'm awesomepants X_X
20:11:50 -!- elliott has joined.
20:12:07 <Gregor> elliott: HEY ELLIOTT I SUCK AT WIREWORLD
20:12:13 <elliott> Gregor: ?
20:12:13 <lambdabot> elliott: You have 2 new messages. '/msg lambdabot @messages' to read them.
20:12:20 <elliott> im sixteen hi
20:12:20 <oerjan> elliott: happy birthday
20:12:33 <monqy> how could this happen
20:12:34 <Gregor> elliott: Oh yeah, happy American driving day and all that.
20:13:01 <Gregor> elliott: Anyway, the reason I was having so much trouble generating a substrate that wasn't crazyworld is that my wireworld rules were wrong :P
20:13:19 <Gregor> elliott: I forgot the part about /1 or 2/ electrons in the neighborhood, not >=1 :P
20:13:34 <elliott> Gregor: Your substrate wasn't crazyworld?
20:13:46 <Gregor> elliott: No, but it took a lot of attempts to get it that way.
20:14:16 <Gregor> elliott: In my initial attempt, it pretty much blew up the moment you put any electron on it. It would dup at every corner.
20:14:51 <Gregor> Err, that is, every corner would turn into a shower of duplicates.
20:14:53 <Gregor> Forever and ever.
20:15:03 <elliott> Right. That happens when you try to play on this field :P
20:15:07 <elliott> See: tantrum
20:15:33 <olsner> elliott: so you're 16 now? congratulations, that makes you old enough to be 16 years old
20:15:40 <elliott> Oh no, Vorpal found rezzo. Gregor: How painful are the logs?
20:15:54 <elliott> olsner: hooray
20:16:47 <Gregor> elliott: "How painful are the logs"?
20:17:21 <elliott> Gregor: when vorpal talks things get painful to read
20:17:22 <elliott> how painful
20:17:42 <Gregor> I only pay attention in short bursts :P
20:17:50 <fizzie> Ooh, SDL nastiness: the X11 OpenGL glue does a thing ISO C requires a diagnostic for, namely casts a void * (from dlsym) to a function pointer type. Shame on it.
20:18:31 <ais523> anyone know how to force Mesa into software emulation mode?
20:18:44 <ais523> and pretend that it's using the graphics card directly?
20:18:55 <elliott> fizzie: That's unavoidable without functions only added in recent POSIX I think...
20:19:11 <elliott> oh, looks like the EOA got posted
20:19:47 <Gregor> fizzie, elliott: Yeah, the only way around it that I know if is unportable. It's a diagnostic that's literally unavoidable.
20:20:10 <fizzie> There's a really ugly-syntax workaround advertised by the POSIX dlsym documentation. You simply write "int (*func)(int); ...; *(void **)&func = dlsym(...);" -- since pointer-to-function-pointer is obviously an object pointer, the cast is valid.
20:20:23 <fizzie> Sure it's unportable, but the act of casting to a function pointer in itself is unportable.
20:20:29 <elliott> Right.
20:20:56 <Gregor> elliott: Anyway, my fix to the underlying CA has me somewhat disappointed with flags again.
20:21:39 <elliott> 22:53:12: <quintopia> but i dont hear many people criticizing NYTimes
20:21:39 <elliott> you're not listening hard enough
20:21:41 <elliott> Gregor: Why?
20:22:30 <fizzie> ais523: I was pretty sure there was some environment variable to do that, but mesa's envvar documentation page doesn't seem to have any "choose-a-driver" variables.
20:22:35 <Gregor> elliott: In a situation that would cause a flag to become a surrogate tail, it instead dissipates ... but flags dissipating seems grotty to me. Actually I guess what I'm unhappy with is that 2x width wires are just always gross and horrible in Wireworld X-D
20:22:35 <elliott> Vorpal really wants us to know all about his favourite newspaper.
20:22:41 <Gregor> (>=2x that is)
20:22:48 <elliott> fizzie: And those would probably expose the in-use driver to the code.
20:22:55 <elliott> Especially if they getenv :P
20:22:57 <ais523> fizzie: it seems plausible that there is one
20:22:58 <olsner> although the standard says it's not supported, is a cast to a function pointer type actually any less portable than that other monstrosity?
20:23:17 <ais523> elliott: I don't mind the code knowing what driver's in use, so long as it doesn't arbitrarily decide to /not start/ because there isn't a GPU available
20:23:19 * ais523 silently rages
20:23:32 <elliott> ais523: are you... testing GPGPU programs?
20:23:37 <elliott> is that what the Secret is?
20:24:02 <ais523> elliott: no, I'm not
20:24:07 <elliott> darn
20:24:15 <ais523> well, not in a way related to the secret project, at least
20:24:16 <elliott> would you say that even to a correct guess? :)
20:24:33 <elliott> 23:32:46: <Vorpal> Gregor, btw the time system currently is unfair. I suggest basing it on CPU time instead somehow. After all, who knows what other process suddenly decides to run
20:24:34 <fizzie> I'm not entirely sure of the context again, but if it's a version of Mesa provided by you, you could simply only compile in support for the software rasterizer driver.
20:24:34 <elliott> 23:33:16: <Gregor> Vorpal: I have decided to instead write a system that's actually implementable.
20:24:34 <elliott> 23:33:26: <Gregor> (It's unfair, but it's equally unfair to all contestants)
20:24:41 <elliott> Gregor: You can just test the CPU time of the processes.
20:24:52 <elliott> That's nonportable, but perfectly fair.
20:25:02 <elliott> Technically frames could last a lot longer though.
20:25:34 <elliott> 23:35:55: <Gregor> CakeProphet: Everything I've done in C has been way, way, way faster than it needed to be, so it's not like it's cutting it close.
20:25:39 <Gregor> elliott: How does CPU time get counted while you're e.g. swapping? You're just not running?
20:25:39 <elliott> Gregor: Have you written anything that does any thinking at all
20:25:51 <Gregor> elliott: No, but the point is that I/O isn't a problem :P
20:25:53 <elliott> When the process isn't running CPU time doesn't increase :P
20:26:13 <ais523> elliott: I'm not going to lie about this, it would ruin all the fun
20:26:16 <Gregor> Right, so if it's just blocking, I'll block with it.
20:26:19 <ais523> besides, I'm really bad at lying
20:26:25 <ais523> it's part of the reason I'm such an honest person
20:26:28 <elliott> 23:38:35: <Gregor> Cells have a damage value (which is completely independent of the CA)
20:26:28 <elliott> 23:38:59: <Vorpal> ew
20:26:28 <elliott> 23:39:04: <Vorpal> and the client can't see it
20:26:28 <elliott> 23:39:08: <Vorpal> just ew
20:26:28 <elliott> Shut up shut up shut up shut up.
20:26:37 <ais523> because if I did lie, it wouldn't have the desired effect
20:26:50 <elliott> Gregor: Or some other process could be running instead of the warrior while it's thinking and you'd stop waiting for it...
20:27:10 <fizzie> ais523: The internets tell me you can set LIBGL_ALWAYS_SOFTWARE=1, but I can't find out where that is documented, just a lot of cases of people using it.
20:27:25 <elliott> 23:42:54: <Vorpal> Gregor, anyway hm I would make my client for the game multi-threaded.
20:27:26 <elliott> No shit.
20:27:48 <ais523> fizzie: hmm, I'll set it and see if it does anything
20:27:56 <elliott> 23:46:15: <CakeProphet> heh, elliott and I used the same characters for the same states.
20:28:02 <elliott> Gregor and I, you mean. Though I did fix them.
20:28:30 <elliott> 23:48:40: <fizzie> That sounds like a good way to get the best possible score for the OOM killer.
20:28:30 <elliott> "You win!"
20:28:36 <elliott> You prize is DEATH.
20:28:54 <elliott> 23:53:50: <Vorpal> Gregor, anyway 64 MB isn't much
20:28:54 <elliott> 23:53:57: <Vorpal> Gregor, not if you are using haskell
20:28:55 <elliott> Uhhhhhhhhh
20:28:59 <elliott> Do you know anything? Like, at all?
20:29:31 <Gregor> elliott: I'm considering changing the rules for building so that you cannot build fat wires or squares or whatnot. Tell me not to.
20:29:32 <elliott> Unless you have a memory leak, which is -- amazing, I know -- possible in any language, Haskell will not use more memory than, like, Python with the same structures.
20:29:39 <elliott> Less because of no object overhead.
20:29:47 <elliott> Yes, String is inefficient, so don't use String.
20:29:58 <elliott> Gregor: What, so it just arbitrarily stops you building a perfectly possible conductor arrangement?
20:30:10 <fizzie> ais523: Gah. It *is* documented in the Mesa environment variable page -- http://www.mesa3d.org/envvars.html -- it's the fourth thing there, in the obvious place, and I have no idea how I simply didn't see it there.
20:30:13 <Gregor> elliott: Yeah >_>
20:30:26 <ais523> fizzie: thanks
20:30:31 <elliott> Gregor: No, don't.
20:30:37 <Gregor> elliott: The thing is, we had this notion of electrons being a sort of scarce resource, but you can easily make a structure that just barfs a billion of 'em.
20:30:44 <elliott> 23:59:13: <Vorpal> Gregor, anyway 64 MB each precludes many high level languages
20:30:44 <elliott> You know LITERALLY NOTHING.
20:30:55 <fizzie> (Setting it didn't do anything for me, but that's probably because the version of libGL things here link to is provided by the nvidia binary blob.)
20:30:56 <ais523> SDL_GL_LoadLibrary() failed: No dynamic GL support in video driver
20:30:59 <elliott> Gregor: Electrons being scarce is stupid and you're stupid for wanting it.
20:31:00 * ais523 continues raging at SDL/GL
20:31:13 <elliott> Gregor: Having to find one ring is cool, but c'mon, the game is hard enough already for the warriors :P
20:31:35 <elliott> 00:00:58: <pikhq> Vorpal: Uh, Minecraft genuinely doesn't *use* more than 256MiB of heap.
20:31:35 <elliott> Unless you set it up, which literally everyone does.
20:31:44 <ais523> perhaps I should check the SDL docs, or the error message
20:32:46 <elliott> 01:30:07: <NihilistDandy> Is it me, or is Epigram really, really ugly?
20:32:53 <elliott> The current version of Epigram doesn't even have syntax.
20:33:00 <Gregor> elliott: Basically, here's the thing I don't like about the current situation with how everything interacts: You can trivially break any flag-stealing effort by just pooping conductor around your flag geysers.
20:33:24 <elliott> Gregor: Well, replace building altogether rather than just arbitrarily restricting it.
20:33:32 <Gregor> elliott: OK, replace it how?
20:34:01 <elliott> 01:58:06: <Gregor> `run sed 's/implementatino/implementation/g' -i quotes
20:34:01 <elliott> 01:58:08: <HackEgo> No output.
20:34:09 <elliott> `run sed 's/implementation/implementatino/g' -i quotes
20:34:14 <HackEgo> No output.
20:34:16 <elliott> He didn't say "implementation", he said "implementatino".
20:34:20 <elliott> `quote awk
20:34:21 <Gregor> lol
20:34:22 <HackEgo> 611) <NihilistDandy> Also Perl, but I don't really consider that a programming language so much as a really heavy implementatino of awk
20:34:35 -!- boily has quit (Ping timeout: 268 seconds).
20:34:36 <elliott> 01:58:50: <NihilistDandy> That's neat
20:34:37 <elliott> I pioneered HackEgo sed-editing so stop giving credit to that terrible distorter.
20:34:43 <elliott> Yes, DISTORTER
20:34:56 <Gregor> I un-tort things.
20:35:14 <elliott> 02:05:12: <CakeProphet> reasoning about the performance of regex is kind of difficult actually....
20:35:14 <elliott> 02:05:29: <Gregor> Yeah, but you can make some broad guesses :P
20:35:14 <elliott> Backrefs: The worst.
20:35:56 <Gregor> elliott: We're talkin' like 6 orders of magnitude here.
20:36:54 <elliott> Gregor: I'm not saying his paranoia wasn't stupid, just that reasoning about regexps is only hard if you use the crappy algorithm because you want backrefs, which are nearly useless :P
20:37:01 <fizzie> ais523: Thanks to synchronicity, the function called by SDL_GL_LoadLibrary for the 'x11' video driver (X11_GL_LoadLibrary) is in fact exactly the one that did the cast-a-void-pointer thing.
20:37:13 <Gregor> elliott: Anyway, help me fix rezzo D-'8
20:37:21 <Gregor> My birthday present to you is that request^WDEMAND
20:37:27 <ais523> aha, and that statement plus my Googling's giving me a clue as to what's going on
20:37:34 <ais523> presumably, SDL_GL_LoadLibrary sees that it's running in framebuffer
20:37:55 <elliott> Awwww, all the forums I've ever registered at that demanded an age are sending me email. Apart from ones where I didn't even bother to be honest about the day and month.
20:37:56 <ais523> and the framebuffer GL support is pretty sloppy
20:38:27 <ais523> elliott: presumably you had to systematically lie about the year until you turned 13
20:38:32 <ais523> or did you not register at forums back then?
20:38:46 <elliott> ais523: I never stopped lying :P
20:39:07 <monqy> I'm lying _right now_
20:39:23 <ais523> elliott: well, you didn't have to lie any more, but perhaps you could lie anyway
20:41:00 <elliott> I don't see why they should know my birth date
20:41:13 <elliott> or just about everything else they ask for, to be honest
20:42:13 <elliott> 07:39:22: <Sgeo_> Hussie is currently trolling everyone who checks updates constantly
20:42:13 <elliott> 07:39:50: <Sgeo_> By releasing 1 page updates in rapider than usual succession
20:42:13 <elliott> 07:40:03: <Sgeo_> around 20 min intervals
20:42:13 <elliott> No, that's just how updates used to go; he uploads panels right after making them.
20:42:15 <elliott> 14:55:23: <Phantom_Hoover> OMG my school is going to let us buy our own labcoats BEST DAY EVER
20:42:15 <elliott> YESSSSSSSSSS
20:42:18 <elliott> SO JEALOUS
20:42:20 <elliott> BIRTHDAY RUINED
20:42:29 <Gregor> Lesse what Wikipedia has to say ...
20:42:31 <fizzie> ais523: At least the X server needs to offer the GLX extension in order for things to work out at all, I'd believe. I'm not sure if that happens if you're using the fbdev video output option.
20:42:32 <Gregor> England and Wales
20:42:32 <Gregor> The age of consent in England and Wales is 16 regardless of sexual orientation and/or gender, as specified by the Sexual Offences Act 2003.[44] However, if person A is over the age of 18 and in a position of trust over person B who is under the age of 18, it is illegal for A to engage in sexual activity with B.[45]
20:42:45 <Gregor> "position of trust" lololol
20:42:49 <elliott> 16:14:39: * Phantom_Hoover realises that there aren't many future labcoat things he can do except wait until elliott turns up and goes livid with rage.
20:42:49 <elliott> PRECISELY
20:42:53 <Phantom_Hoover> elliott, happy I SHALL HAVE LABCOAT HAH
20:43:09 <elliott> Gregor: Why did you just look up information about the age of consent.
20:43:21 <Gregor> elliott: FOR YOUR BENEFIT
20:43:40 <Phantom_Hoover> monqy, incidentally, I hate you.
20:43:41 <ais523> perhaps I need to put X in there too
20:43:51 <ais523> fb support seems kind-of buggy in a lot of programs that notionally support it
20:43:57 <Phantom_Hoover> I keep asking random people for "friendship <thing>" and it's crippling
20:44:01 <ais523> X generally wants to run as root, though
20:44:17 <Gregor> ais523: No? Xephyr or something.
20:44:27 <monqy> sometimes I forget if I started things or if it was actually elliott
20:44:31 <elliott> `addquote <Phantom_Hoover> I keep asking random people for "friendship <thing>" and it's crippling
20:44:33 <HackEgo> 614) <Phantom_Hoover> I keep asking random people for "friendship <thing>" and it's crippling
20:44:40 <fizzie> ais523: Oh, you don't actually have a X server there? You mean you were using SDL's "fbcon" video driver or something?
20:44:42 <elliott> "Pass the friendship salt, please."
20:44:44 <ais523> fizzie: yes
20:45:04 <Gregor> OMG, I so want to fix the HEWW out of building >_<
20:45:11 <Phantom_Hoover> elliott, I got a friendship smint, but I didn't get a friendship prefect badge.
20:45:28 -!- zzo38 has joined.
20:45:52 <elliott> 19:10:12: <Gregor> Taneb|Kindle: If it scrolls in some more stable way, then I see no reason why IRC on Kindle would be short of wonderful.
20:45:57 <elliott> Gregor: Have you seen those keyboards?
20:46:11 <elliott> Phantom_Hoover: Awwwwwwwwwwwwwwwwwwwww.
20:46:14 <fizzie> ais523: Well, yes, I don't think that thing has a GL_LoadLibrary callback at all. I suppose what *might* be possible would be Xorg + fbdev + Mesa + SDL 'x11' video driver, assuming X can provide the GLX extension in that sort of setup.
20:46:23 <Gregor> elliott: Well, it'd be a mostly reading-only activity :P
20:46:35 <elliott> Gregor: Maybe for YOU type type type type type
20:46:42 <oerjan> `quote implementati
20:46:44 <HackEgo> 611) <NihilistDandy> Also Perl, but I don't really consider that a programming language so much as a really heavy implementatino of awk
20:46:52 <oerjan> bah
20:47:16 <elliott> http://www.mobileread.com/forums/attachment.php?attachmentid=75336&stc=1&d=1312936864
20:47:21 <elliott> Gregor: Incidentally, is that xvkbd scaled or something?
20:47:26 <elliott> Or is that thing just lollowdpi
20:47:36 <Gregor> elliott: It's scaled in a weird way.
20:47:47 <Gregor> elliott: The DPI is actually friggin' enormous
20:47:57 <zzo38> I think Perl is a programming language too. Although, AWK is very good for the kind if stuff it is good for, of course. Not for most other things, but it can be used.
20:48:07 -!- derrik has quit (Quit: over and out).
20:48:25 <elliott> `addquote <zzo38> I think Perl is a programming language too. [...]
20:48:27 <HackEgo> 615) <zzo38> I think Perl is a programming language too. [...]
20:48:32 <elliott> A controversial opinion
20:49:23 <Gregor> Waaaah I wanna fix rezzo 'cuz it's totes borklebork.
20:49:49 <fizzie> Gregor: I've forgotten the name of your fancy eInkThing again.
20:49:57 <Gregor> fizzie: IREX DR800
20:50:03 <fizzie> But of course!
20:50:19 <fizzie> The T-Rex two thousand, I'll be sure to remember that in the future.
20:51:38 <Gregor> Also, http://www.qwantz.com/index.php?comic=2025
20:51:42 <Gregor> (You said "T-Rex" :P )
20:51:54 <fizzie> 160 DPI is not "friggin' enormous" now that phones go to 300+.
20:52:32 <fizzie> (See, I only wanted the name to MOCK it.)
20:53:00 <elliott> My computer is one hundred twenty. :p
20:53:19 <Gregor> Really, it's only 160DPI?
20:53:28 <Gregor> I would do the math, but ew, math.
20:53:52 <fizzie> Gregor: Well, I'm going by http://www.the-ebook-reader.com/dr-800-review.html .. but 1024x768 at 8.1" comes to something like that.
20:54:33 -!- elliott has quit (Quit: Leaving).
20:55:30 <Gregor> Yeah, I guess that's right.
20:55:31 <Gregor> Huh.
20:57:41 <oerjan> math. not even once.
20:57:54 <fizzie> The laptop here does 140 DPI. (1920x1080 and the diagonal by quick measurement is 15.75" -- though I think "officially" it's 15.6".)
20:58:56 -!- elliott has joined.
20:59:52 <Gregor> Oh, elliott was gone?
21:00:08 <elliott> I was busy making sure nobody could bother me for a few minutes :P
21:00:17 <elliott> There, I've read all four messages I missed.
21:00:44 <Gregor> So now it's time to FIX REZZO
21:01:07 <elliott> OK so firstly you should eliminate electrons.
21:01:13 <elliott> You should have to... use enemy flags... as electrons.
21:01:15 <elliott> I'm a genius.
21:01:19 <elliott> Maybe the rings just contain tails.
21:01:28 <Phantom_Hoover> `addquote <elliott> OK so firstly you should eliminate electrons.
21:01:29 <Gregor> Tails which somehow don't dissipate :P
21:01:30 <HackEgo> 616) <elliott> OK so firstly you should eliminate electrons.
21:01:47 <Gregor> sed 's/ELEC/POSI/g' -i *.{h,c}
21:01:49 <Gregor> Done
21:02:42 <elliott> Gregor: Do tails have to dissipate?
21:02:47 <elliott> They could just sit still, all lonely-like.
21:02:55 <Gregor> elliott: That's CRAZITUDE
21:03:01 <Gregor> elliott: The question is, do FLAGS have to dissipate?
21:03:22 <elliott> Yes. You use flags instead of electricity.
21:03:29 <elliott> Thy replace electrons. Obviously.
21:03:30 <elliott> They.
21:03:34 <elliott> (Heads.)
21:04:04 <Gregor> I still am not a big fan of lightspeed flags ... may need to adopt CakeProphet's and/or your crazy "death flags" (with a less stupid name) concept for that to work.
21:04:29 <Gregor> 'cuz then it's more about connecting the right circuits than "oh shit there goes my flag lol I lose"
21:04:55 <elliott> Death flags are stupid.
21:05:02 <elliott> I was being stupid when I was suggesting them :P
21:05:22 <Gregor> I know.
21:05:30 <Gregor> And you shouldn't have mentioned it :P
21:06:37 <Gregor> Maybe what I really want is just a more elegant way to prevent flags being surrogate tails.
21:09:25 <elliott> Gregor: What if agents carried flags, and hitting an agent (even just once) made them drop their flag, and flag next to base = win for base. Then the CA part would be TOTALLY USELESS X-D
21:09:39 <Gregor> elliott: PURRRRRRRRRRRRRRRRRRFECT
21:11:57 <Gregor> elliott: Incidentally, ais523 suggests that wires shouldn't be walls.
21:11:58 -!- AndGregor has joined.
21:12:19 <elliott> Gregor: What, you just jump over them?
21:12:25 <ais523> elliott: or stand on them
21:12:42 <ais523> it'd make it impossible to block in the opponent, making the wireworld part more interesting than the forming fences part
21:12:42 <Gregor> (Making the agents not a part of the CA proper at all)
21:13:04 <Gregor> (It's not like the agent states actually do anything in the CA :P )
21:13:13 <Gregor> Plus, then we could have electrocutable agents :)
21:13:48 <Gregor> If to build a fence you have to build a 3x-wide row and then electrify it, that's at least a bit more interesting than "I just pooped out some wire"
21:14:15 <ais523> heh, that sounds fun
21:14:16 <elliott> <ais523> elliott: or stand on them
21:14:19 <elliott> ais523: Breaks the CA property.
21:14:24 <Gregor> <Gregor> (Making the agents not a part of the CA proper at all)
21:14:25 <elliott> <Gregor> (It's not like the agent states actually do anything in the CA :P )
21:14:34 <elliott> Having invisible objects that aren't part of the grid is stupid and wrong and I won't stand for it.
21:14:39 <ais523> elliott: no it doesn't necessarily, you could just have a bot+wire state
21:14:39 <elliott> (That you can nevertheless see)
21:14:41 <Gregor> Not invisible.
21:14:49 <elliott> Yes invisible, they're not on the grid, the grid is the world.
21:14:58 <ais523> and decide whether bot+electron and bot+tail were allowed or not
21:15:00 <elliott> On top makes the world non-two-dimensional, which is stupid.
21:15:12 <Gregor> elliott: That is the stupidest reason I've ever heard :P
21:15:33 <Gregor> The actual agents have always been effectively outside the CA, the question is just whether they have avatars within the CA or not.
21:16:16 <elliott> I will like kill five people if you make agents not part of the CA. ACTUAL DEATH will occur.
21:16:27 <Gregor> elliott: Those people were probably jerks anyway.
21:16:34 <elliott> One of them is YOU.
21:16:40 <Gregor> elliott: I'd like to see you try!
21:16:49 <Gregor> elliott: Plus, I think that having electrocutable agents was originally YOUR idea.
21:17:03 <Gregor> (Switching to phone --> AndGregor)
21:17:22 <elliott> Gregor: It was a JOKE :P
21:18:05 -!- Zetro has changed nick to zetro.
21:18:27 -!- GreaseMonkey has joined.
21:20:46 -!- zetro has changed nick to Zetro.
21:22:03 <AndGregor> The more I think about it, the more there is /no damned reason/ to have agents be states.
21:22:47 <Sgeo_> I feel like I'm overdosing on magic
21:23:14 <Sgeo_> In routing, to point to a method new on a controller TweetsController, you point to.... "Tweets#new"
21:23:17 <Sgeo_> (in RoR)
21:25:08 <elliott> AndGregor: Because I WANT THEM TO BE.
21:25:46 <elliott> Sgeo_: Things there is approximately 0 interest in this channel for excepting you: Twitter, Ruby on Rails, the intricacies of Ruby on Rails' routing system.
21:25:57 <AndGregor> Good reason :P
21:26:54 <Sgeo_> I'm only talking about "Twitter" because that's the example this thing is using
21:27:15 <Sgeo_> Twitter, and zombies
21:27:52 <GreaseMonkey> lion go RoR
21:33:29 <AndGregor> OK, advantages of agents as states: Save ten bytes per message. elliott will kill otherwise. Disadvantages: useless extra states, focus on wall-building, no possibility for player-electron interaction.
21:33:54 <elliott> You can have player-electron interaction.
21:34:04 <elliott> My electrocution involved NO overlapping.
21:34:53 <oerjan> ...how can agents as states save bytes, won't it add to the bytes of every other cell as well?
21:35:17 <elliott> oerjan: Eh?
21:36:18 <oerjan> if you encode the field in a message, but presumably you don't if you think what i'm saying makes no sense
21:36:20 -!- Zetro has changed nick to zetro.
21:37:02 <elliott> oerjan: It makes no sense for reasons other than that :)
21:37:10 <elliott> oerjan: A state is one byte, we're not packing them into bits or anything.
21:37:14 <elliott> That would be ridiculous as far as processing goes.
21:37:27 <oerjan> ok :(
21:38:54 <AndGregor> Yeah, we tried to minimize processing overhead.
21:39:10 <AndGregor> Even at the cost of bandwidth.
21:39:30 <elliott> oerjan: ? :(
21:39:38 <elliott> AndGregor: Whole BYTES of bandwidth :P
21:41:30 <AndGregor> elliott: What advantage does agent-as-state have other than your ego?
21:41:55 <elliott> AndGregor: I like it, and having things not on the board affect the board/be affected by the board is really weird.
21:42:04 <elliott> Why would you get electrocuted by something on a different plane?
21:42:15 <oerjan> ectoplasm.
21:42:19 <elliott> Also, saves bytes and processing; the view shows all the things existing in the view.
21:42:52 -!- zetro has changed nick to Zetro.
21:43:13 <AndGregor> But you can't process an agent meaningfully anyway, since it doesn't behave like a CA state.
21:44:49 <elliott> Yes it does, just an inert one.
21:44:53 <elliott> You can draw out the ruletable easily.
21:44:58 <AndGregor> Or rather, obviously you can do some processing, but in a totally different way than the rsst
21:44:59 <elliott> AndGregor: You can process it in that all your bot by merging it into your worldstate...
21:45:20 <elliott> AndGregor: Anyway, consider, like, if you walk into your opponent's base, your agent cell dissipates and you lose :P
21:46:20 <AndGregor> ...
21:46:23 -!- nooga has quit (Ping timeout: 252 seconds).
21:46:50 -!- oerjan has quit (Quit: Good night).
21:47:33 <AndGregor> I disagree SO HARD, but need a keyboard
21:48:12 -!- FireFly has quit (Quit: FireFly).
21:48:22 <elliott> X-D
21:51:13 <ais523> hmm, apparently, as of this month, it's illegal in Missouri for teachers and their students to be Facebook friends
21:51:47 <Gregor> OK, so:
21:52:02 <elliott> ais523: cool
21:52:20 <ais523> that sounds like a bizarre sort of law to enact
21:52:55 <coppro> ais523: it's part of the "protect the children" mania
21:53:09 <ais523> hmm, I don't see how that would protect children, but fair enough
21:53:35 <Gregor> 1) The argument that it makes it easy to merge into the worldview is shallow, you're already assuming that the way you want to merge it in is by having one giant grid with both agents and state. But that's not the only and certainly not the best way; if you see an agent twice, you should be able to update its location more easily than running through the entire board until you find the old copy, removing it, then changing it (you could keep this information sep
21:53:35 <Gregor> arately either way, but it's faster to keep it separate if it's separate in the first place)
21:53:47 <Gregor> 2) Manually separating it is slower than manually merging it.
21:54:43 <Gregor> 3) My proposed way of showing agent locations is ten bytes, each of which is either 255 (not here) or an offset into the viewbox, so it takes just ten compare-and-updates to conflate them.
21:54:53 <Gregor> (3 might be 2b :P )
21:55:56 <Gregor> 4) Agents just aren't meaningfully states! They don't act like states! They update in a different period, and their behavior on their whole neighborhood is nondeterministic. That just ain't a state!
21:56:29 <elliott> I don't consider their actions on the neighbourhood to be done by the agent cells
21:56:39 <elliott> But I DO think you can do useful interactions based on agent cells dissipating resulting in the loss of the agent
21:57:19 <Gregor> You could do that without them being states.
21:57:24 <Gregor> In fact, them being states in no way aids doing that.
21:57:50 <Gregor> It just makes the communication more bidirectional.
21:57:57 <elliott> Yes it does, if you do it directly in the CA rules :)
21:58:42 <Gregor> But doing it directly in the CA rules doesn't keep anything simpler or more pure, agents' behavior depends on their state in the agent phase anyway.
21:59:12 <Gregor> Er rr
21:59:16 <Gregor> s/state/neighborhood/
21:59:36 <elliott> :<
22:01:05 <Gregor> Honestly, I'd say the biggest argument is that seeing an agent has known nonlocal effects on your worldview (it is not in its previous location, no matter where that was)
22:01:26 <Gregor> The whole "there exists exactly one cell of this state" thing is weird for a CA.
22:01:55 <Gregor> (Well, maybe not the biggest argument, but something :P )
22:02:23 -!- Patashu has joined.
22:02:54 <Gregor> My dead pixel is still here :(
22:03:09 <elliott> <Gregor> The whole "there exists exactly one cell of this state" thing is weird for a CA.
22:03:10 <elliott> CLONING.
22:03:20 <Gregor> Yeah, no.
22:03:29 -!- AndGregor has quit (Quit: Bye).
22:04:03 <elliott> Yeah, yes.
22:05:32 <Gregor> TIME FOR VOTING
22:06:16 <Gregor> With only two interested parties :P
22:07:45 <Gregor> I guess fundamentally, I'm now agreeing with ais523 that having conductors be walls = bad, but if they're not walls and agents are still states, then we have shitloads of stupid states.
22:08:24 <ais523> I don't see why you can't say that they're notionally states that are orthogonal to the other states (all of them, or many of them)
22:08:35 <ais523> and yet design the API to transmit the information in a more easily-parsed way
22:09:20 <Gregor> ais523: Other than saying the word "state", that is in no way distinct from having them not be states, and besides, if they're truly orthogonal than why even bother?
22:09:30 <ais523> Gregor: that's my point
22:09:35 <ais523> there is no real difference between your two points of view
22:09:43 <ais523> so why are you so adamant about sticking to them, both of you?
22:09:50 <Gregor> No, his view is that they are /true states/.
22:09:51 <ais523> it's as bad as the whole tuition fees thing
22:09:55 <Gregor> They actually have update rules in the CA.
22:10:03 <Gregor> The update rules are always "lol nothing happened"
22:10:04 <erytssiN> I would tend to disagree with that viewpoint
22:10:04 <ais523> Gregor: and that's not equivalent to your view how?
22:10:17 <Gregor> ais523: They can't move into conductors.
22:10:23 <Gregor> Or electrons, bases, geysers, anything.
22:10:33 <ais523> why can't you have a conductor+actor state?
22:10:51 <ais523> my view of all this, incidentally, was to add conductor+actor, and /maybe/ conductor+tail and conductor+electron
22:10:54 <elliott> ais523: Why is wire=wall bad?
22:11:13 <ais523> elliott: for gameplay reasons, because it makes it very hard to move around the map, and makes the whole wireworldiness mostly irrelevant as a result
22:11:15 <fizzie> Gregor: You said recently that each process running under UML shows up as a host process; was this in fact a fact? I would have assumed that it'd run its own internal copy of the task/process scheduler; and indeed http://user-mode-linux.sourceforge.net/old/kernel.html says "UML runs its scheduler independently of the host scheduler - the host scheduler simply implements the decisions made by the UML scheduler."
22:11:20 <ais523> it's going to be more of a wallbuilding game than anything else
22:11:26 <elliott> ais523: "Very hard"
22:11:31 <elliott> Only with the current substrate generator, and not REALLY.
22:11:39 <Gregor> My strategy is to go 'round making concentric rings around my base. Now the enemy won't even ever SEE where my base is, let alone be able to get to it.
22:11:43 <elliott> I'd be cool about making destroying take one tick.
22:11:50 <ais523> elliott: yes, because the optimal strategy is clearly to surround your base with a whole load of walsl
22:11:53 <elliott> Gregor: Unless they go inside.
22:11:54 <ais523> *walls
22:12:01 <elliott> ais523: Not if destroying takes one tick and moves you into the cell.
22:12:04 <ais523> Gregor: why concentric rings? just make a solid wall
22:12:09 <elliott> Then it can literally be the same action as movement.
22:12:12 <Gregor> ais523: I'm just talking about how I'm making the solid wall.
22:12:19 <ais523> elliott: ah, OK, so you think that actors should be able to walk on conductors but destroy them in the process
22:12:21 <ais523> Gregor: fair enough
22:12:28 <Gregor> elliott: Now my strategy is to find the enemy base and destroy literally freaking everything.
22:12:32 <elliott> ais523: Well, that's an odd way of looking at it, but sure :P
22:12:33 <Gregor> elliott: It'll take me no time.
22:12:45 <Gregor> elliott: And they'll never be able to get my flag because I destroy everything.
22:12:47 <elliott> Gregor: Except that then you have to run a really long table which the enemy can also destroy easily.
22:12:51 <elliott> cable
22:12:53 <elliott> Not table :P
22:12:58 <elliott> OK, make it take two hits.
22:13:02 <Gregor> elliott: No, you don't have to run a cable ...
22:13:15 <Gregor> This isn't a winning strategy :P
22:13:21 <Gregor> It's a stalematin' strategy.
22:13:30 <ais523> there's no reason /not/ to run a cable
22:13:41 <ais523> then you might win by chance, and stalemate the rest of the time
22:13:57 <Gregor> elliott: With two hits, we're back to making giant walls. If you just fill the whole friggin' world with walls, they'll never find your base.
22:15:07 <elliott> Yes you have to run a cable?
22:15:11 <elliott> Your base is far away from the flag.s.
22:15:17 <elliott> But okay.
22:15:28 <Gregor> <Gregor> This isn't a winning strategy :P
22:15:28 <Gregor> <Gregor> It's a stalematin' strategy.
22:18:55 <elliott> "But okay."
22:19:39 <Gregor> So where do we stand? X-P
22:21:10 <elliott> I stand that obviously things need fixing but I'm not convinced that the right fix necessarily involves de-stating agents.
22:21:25 <Gregor> Well, let's focus on fixing flag annoyance then.
22:21:53 <Gregor> The problem with flags right now is that they tend to not even make it around corners, and just barfing conductors everywhere is a pretty good way to kill flag-trails.
22:24:11 <Gregor> Actually ... why don't they? X-P
22:24:59 <elliott> I don't know, because we don't have any bots at all that do anything useful :P
22:25:23 <Gregor> Well, the thing is, I'm yet to see a bot even move a flag past a corner /by coincidence/
22:25:26 <Gregor> And I've run a lot of 'em.
22:27:55 <Gregor> OK, actually, I think there must be an implementation issue ._.
22:28:17 <Gregor> OHNOWAIT
22:28:18 <Gregor> I see the issue
22:28:47 <Gregor> http://sprunge.us/CUEE
22:29:41 <elliott> idgi
22:29:49 <Gregor> Note the flag dissipating in the last frame.
22:30:11 <elliott> Yeah, why
22:30:14 <Gregor> When it goes around a corner, you'll get the electron replaced with a flag, but ALSO moving to the other location it would have moved to on the corner.
22:30:30 <Gregor> Then, the flag dissipates because it's by an electron, and the electron dissipates because it has a flag and no tail.
22:30:46 <Gregor> (Err, wait, rather, that electron just doesn't become a flag, I did the last update wrong, but the point is the flag dissipates)
22:31:16 <Gregor> http://sprunge.us/KbEJ (corrected final state)
22:31:24 <elliott> So what's the fix :P
22:33:17 <Gregor> Good question.
22:33:28 -!- elliott has quit (Remote host closed the connection).
22:33:32 -!- elliott_ has joined.
22:33:39 <elliott_> Guys, I found the STUPIDEST PERSON.
22:33:45 <monqy> who what
22:33:52 <elliott_> Lambda calculus is useful if you want to prove theorems; not so much if you want to write software. After all, the whole notion of "no side effects" is quite ludicrous, and basically means "a pure functional program cannot actually do anything". So in that sense, I think pointers are considerably more useful than lambda calculus...
22:34:09 <Gregor> Wow
22:34:32 <monqy> why is he speaking
22:34:37 -!- Gregor has set topic: I think pointers are considerably more useful than lambda calculus | http://codu.org/logs/_esoteric/.
22:34:51 <elliott_> Gregor: To be fair to that part, it's in terms of what to teach first...
22:34:53 <elliott_> But come the fuck on.
22:34:55 <monqy> it makes me sad................
22:35:36 <elliott_> Guys, I have a plan.
22:35:50 <zzo38> Pointers and lambda are useful for different things, both are useful
22:35:53 <ais523> er, wow, I just encountered the abbreviation "irlol", which I think probably means "in real life laugh out loud"
22:35:54 <elliott_> Anyone who talks about programming ever who doesn't understand what functional programming is will be shot and then buried in an unmarked grave.
22:36:00 <ais523> how depressing that that even exists
22:36:04 <elliott_> I am now going to implement it.
22:36:05 <elliott_> ais523: that's great
22:36:54 <Gregor> elliott_: Umm ... I have the WORST POSSIBLE fix ...
22:37:03 <elliott_> Gregor: Sweet
22:37:21 <Gregor> elliott_: Conductor next to electron -> electron. Conductor next to electron AND flag -> flag.
22:37:34 <elliott_> Sounds good.
22:37:35 <elliott_> :P
22:37:39 <elliott_> BRB
22:37:59 <ais523> elliott_: interestingly, references (i.e. "a common special case of pointers") turn out to be most fruitfully made a core language feature in mathematical models of programming
22:38:15 <ais523> although you can simulate them because TCness, it's hard to prove anything about the result
22:39:02 <Gregor> elliott_: Ohwait, but then flags don't ever disappear, you just fill shit with flags >_<
22:44:29 <Sgeo_> "They own 69 percent of the total debt, which includes money the U.S. government owes itself."
22:44:37 <Sgeo_> Money... the government... owes itself?
22:44:49 <Patashu> economics are pretty silly, aren't they?
22:45:03 <Sgeo_> Oh, derp, I guess things like programs etc.
22:45:07 <zzo38> If I export a type from a Haskell module, will it export the constructors or not?
22:45:10 <Sgeo_> Erm, well, everything
22:46:14 <Gregor> Sgeo_: Different branches borrowing from each other.
22:48:58 <elliott_> back
22:49:48 <elliott_> <ais523> elliott_: interestingly, references (i.e. "a common special case of pointers") turn out to be most fruitfully made a core language feature in mathematical models of programming
22:49:48 <elliott_> <ais523> although you can simulate them because TCness, it's hard to prove anything about the result
22:49:55 <elliott_> I disagree with this
22:50:13 <elliott_> Models of certain types of languages, sure.
22:51:10 <Vorpal> elliott_, know any good lightweight PDF readers for windows?
22:51:19 <elliott_> Vorpal: Sumatra.
22:51:20 <Vorpal> I seem to remember you mentioned one some time ago
22:51:21 <Vorpal> ah
22:52:47 <Vorpal> elliott_, the bg colour hurts, I hope I can change that
22:52:56 <elliott_> What bg colour?
22:53:05 <Vorpal> elliott_, the yellow on starting the program
22:53:20 <elliott_> That doesn't display with any document open, and nobody starts a reader without opening a pdf.
22:53:24 <Vorpal> hm true
22:53:29 <Vorpal> it started itself first time
22:53:38 <elliott_> You can't even open Evince without opening it manually in GNOME :)
22:53:41 <elliott_> Well, in Ubuntu at least
22:53:53 <Vorpal> elliott_, I generally run it from the command line so.
22:54:02 <elliott_> With gnome-open
22:54:06 <elliott_> Nobody uses cmd in Windows ;-)
22:54:12 <Vorpal> true
22:54:20 * Vorpal forces elliott_ to use powershell
22:56:09 <Gregor> Argh, these flag rules ARGH
22:56:28 -!- zzo38 has left.
22:57:29 <Vorpal> Gregor, what?
22:57:38 <elliott_> "-bg-color $color change the yellow background color to a provided color in hex format (e.g. 0xffff00)
22:57:38 <elliott_> "
22:57:39 <Vorpal> change the game then
22:57:44 <elliott_> You can change the shortcut
22:57:49 <Gregor> Vorpal: I'm TRYING TO
22:57:53 <Gregor> I can't figure out good flag rules
22:57:58 <Vorpal> I see
22:59:32 -!- Phantom_Hoover has quit (Quit: Leaving).
23:00:01 <Gregor> Hmmm, this rule might be better. electron -> tail. tail -> if flags & no electron then flag else conductor. flag -> if tail and no electrons then conductor else flag.
23:01:23 <Vorpal> Gregor, what happens if you make all the world a conductor and add an electron in it?
23:01:47 <elliott_> With tail?
23:01:48 <elliott_> Or without
23:01:57 <Vorpal> elliott_, I'm interested in both
23:02:05 <elliott_> Which direction is the tail
23:02:08 <elliott_> Compared to the electron
23:02:39 <Vorpal> elliott_, well if all the world is a conductor and a torus, then any direction would give much the same effect, no?
23:02:44 <Vorpal> as far as I remember
23:03:33 -!- cheater has quit (Ping timeout: 246 seconds).
23:06:59 <Gregor> Vorpal: Crazypatterns.
23:07:06 <Gregor> Vorpal: Crazypatterns unrelated to flags :P
23:08:18 -!- itidus21 has joined.
23:08:19 <elliott_> :t \f x -> f <*> x <*> x
23:08:19 <lambdabot> forall (f :: * -> *) a b. (Applicative f) => f (a -> a -> b) -> f a -> f b
23:09:57 <Gregor> Naw, I don't like this rule either ...
23:10:21 -!- itidus20 has quit (Ping timeout: 252 seconds).
23:15:34 <Gregor> http://sprunge.us/FPPW New rule = less than ideal
23:16:58 <Gregor> Man, getting non-lightspeed flags which are affected by electrons but don't move at lightspeed = so hard :'(
23:16:58 <Sgeo_> elliott_, new album
23:18:14 -!- itidus20 has joined.
23:18:43 <Gregor> OMG SOMEBODY HELP ME WAAAAH :'(
23:19:53 -!- itidus21 has quit (Ping timeout: 252 seconds).
23:20:30 <elliott_> Sgeo_: Do you have an album updater? :-P
23:20:45 <Sgeo_> No
23:20:54 <Sgeo_> SOmeone mentioned it in one of the channels
23:21:25 <elliott_> Sgeo is in every channel on freenode (this position will not be changed by statements, evidence, or proof).
23:22:01 <Sgeo_> Is there a Homestuck channel on Freenode? o.O
23:22:43 <elliott_> Whooooosh
23:23:00 <Gregor> There, flags no never dissipate.
23:23:03 <Gregor> Clearly the best strategy.
23:23:19 <elliott_> Gregor: Definitely.
23:23:26 <elliott_> Gregor: What do they do at the end of a line?
23:23:27 <elliott_> of wire
23:23:39 <Gregor> elliott_: Sit there.
23:24:20 <elliott_> X-D
23:24:21 <elliott_> Nice.
23:24:51 <elliott_> fmap :: (a -> b) -> (a -> Writer String ()) -> (b -> Writer String ())... why is it rejecting the obvious implementation...
23:25:06 <elliott_> Oh, DURRRRRRRRR
23:25:09 <elliott_> I need (b -> a) >_<
23:25:20 <Gregor> I want better flag rules WAAAAAH :'(
23:28:48 <elliott_> Gregor: You think YOU have troubles, my type is wrong :-(
23:31:25 -!- copumpkin has quit (Quit: Leaving...).
23:31:35 <elliott_> Oh, DUH
23:31:41 <elliott_> I need Cons rather than (->)
23:31:52 -!- copumpkin has joined.
23:39:20 -!- zzo38 has joined.
23:40:16 <zzo38> It says Glk window sizes can be fixed or proportional, but winmethod_Fixed is defined as 0x10 and winmethod_Proportional as 0x20 but it doesn't say about putting zero instead of one of these constants?
23:41:04 <elliott_> So you can't?
23:41:28 <zzo38> I assume you can't but I don't know why it is like that
23:41:50 <zzo38> Is it to prevent you from making a mistake and forgetting to indicate whether it is fixed or proportional?
23:45:26 <elliott_> It might just be a standard for enumerations to use successive multiples of sixteen starting at 0x10; perhaps so that the look nice-ish in the enum declarations?
23:46:10 <zzo38> But winmethod_Left is defined as zero, but it is a separate enumeration
23:49:28 <elliott_> No idea, then.
23:49:35 <elliott_> Is there a reference implementation?
23:53:19 <elliott_> ais523: Didn't you say you were working with someone who had done things about bidirectional parsers?
23:54:00 <ais523> elliott_: I can't remember having said that
23:54:18 <ais523> nor am I aware that any of the people I work with have done things about bidirectional parsers
23:54:20 <elliott_> Darn
23:54:26 <ais523> nor am I even sure what a bidirectional parser is, come to think of it
23:54:29 <zzo38> I don't know, but I can just assume that you must specify Fixed or Proportional
23:56:02 <elliott_> ais523: a parser that also works as an unparser
23:56:06 <ais523> ah, I see
23:56:12 <ais523> oh, you might be thinking of gcc
23:56:17 <ais523> which does something vaguely like that
23:56:18 <elliott_> ...no :P
23:56:30 <elliott_> If it has something like that, I'd bet millions that the unparser is a separate codebase.
23:57:42 <ais523> elliott_: not for C
23:57:47 <ais523> it's for a crazy internal language
23:58:02 <ais523> which it parses a different crazy internal language into, then parses back out to asm on the same template
23:59:26 <elliott_> Heh.
23:59:39 <elliott_> For this type, the unparser outputs input that the parser would accept.
←2011-08-21 2011-08-22 2011-08-23→ ↑2011 ↑all