←2011-02-27 2011-02-28 2011-03-01→ ↑2011 ↑all
00:16:38 -!- blackcustard has quit (Ping timeout: 272 seconds).
00:19:18 -!- comex has changed nick to chpwn.
00:20:01 -!- chpwn has changed nick to comex.
00:34:30 -!- pikhq has joined.
00:35:04 -!- pikhq_ has quit (Ping timeout: 260 seconds).
01:16:48 -!- TLUL_ has joined.
01:16:57 -!- TLUL has quit (Disconnected by services).
01:17:00 -!- TLUL_ has changed nick to TLUL.
01:22:37 -!- Snowyowl has quit (Quit: Snowyowl).
01:28:02 -!- azaq23 has joined.
01:28:50 -!- augur_ has joined.
01:29:15 -!- augur has quit (Read error: Connection reset by peer).
01:29:25 -!- augur_ has changed nick to augur.
01:30:51 -!- augur has quit (Read error: Connection reset by peer).
01:31:44 -!- augur has joined.
01:51:53 -!- zzo38 has joined.
01:53:46 <zzo38> The wiki system I am making is simply an experimental system, it is not intended to be better or worse than other systems. I just try to see what I can make with this.
01:54:40 <zzo38> However I am still going to make TeXnicard, too.
01:57:55 -!- alp_y has joined.
01:58:40 <zzo38> Do you like to play tsume shogi?
02:01:05 <pikhq> tumesiȳôkì?
02:05:29 -!- BeholdMyGlory has quit (Remote host closed the connection).
02:07:33 <zzo38> pikhq: Yes, although one of the letters in your romanization scheme will not display on my computer because I do not have the fonts.
02:14:29 -!- pikhq_ has joined.
02:15:01 -!- pikhq has quit (Ping timeout: 276 seconds).
02:15:04 <elliott> "All developers in Windows have access to all the Windows source code. The source code is completely indexed and we have a really nice tool for searching the code."
02:15:24 <Mathnerd314> because they'd get caught
02:16:04 <Mathnerd314> if you really want me to, I could get hired by M$ and get it to you in ~10 years
02:16:05 <elliott> Mathnerd314: that would be pretty hard to prove
02:16:15 <elliott> You're certain MS would hire you? :p
02:16:29 <elliott> If you have a full checkout of the source then it's a single copy operation to leak it.
02:16:38 <elliott> I doubt every copy operation on every developer's machine is logged.
02:17:54 <Mathnerd314> hmm... did you google for it?
02:18:15 <elliott> Google for what?
02:19:05 <Mathnerd314> the windows source code
02:21:55 <Mathnerd314> apparently it's several GB though.
02:23:45 <elliott> Mathnerd314: Uhh, if it leaked I'd know about it, it was huge news when parts leaked in 2004.
02:25:25 <pikhq_> I'm pretty sure that MS actually doesn't have any single developer with access to the whole thing.
02:25:47 <pikhq_> (source: friend who works at MS. And develops for Windows.)
02:26:20 <elliott> pikhq_: You're wrong. Source: This blog post by someone who works for MS. And devleops for windows.
02:26:46 <elliott> http://foredecker.wordpress.com/2011/02/27/working-at-microsoft-day-to-day-coding/
02:26:48 <elliott> "All developers in Windows have access to all the Windows source code. The source code is completely indexed and we have a really nice tool for searching the code. Everyone also has access to all bugs, all source code control change descriptions, and all specifications. Note, there are sometimes a very few things that are locked down to just a team. These are usually security and cryptography related."
02:26:57 <elliott> I'm sure the system can run without crypto.
02:27:35 -!- sebbu2 has quit (Ping timeout: 240 seconds).
02:28:23 <elliott> "(man, I just love Jeff Atwood)"
02:28:24 <elliott> /vomit
02:28:48 <pikhq_> elliott: Probably depends on what you count as "the whole thing", then.
02:32:46 <elliott> http://www.youtube.com/watch?v=dQmK1CnwOUI
03:08:50 -!- sebbu has joined.
03:08:51 -!- sebbu has quit (Changing host).
03:08:51 -!- sebbu has joined.
03:13:05 -!- sebbu2 has joined.
03:13:06 -!- sebbu2 has quit (Changing host).
03:13:06 -!- sebbu2 has joined.
03:16:23 -!- sebbu has quit (Ping timeout: 272 seconds).
03:20:54 -!- pizearke2 has joined.
03:22:48 <pizearke2> what's up esolang?
03:23:53 <elliott> everything.
03:23:54 <elliott> evreything is up.
03:25:03 <Mathnerd314> except assembly. I'd say that's down.
03:32:29 <coppro> The enemy's gate.
03:33:49 <pizearke2> Do you guys like unlambda?
03:38:22 <elliott> oerjan does at least :P
03:38:40 <pizearke2> orly?
03:38:46 <pizearke2> When is he on?
03:38:54 <pizearke2> I need someone to talk about CL with xD
03:39:19 <elliott> Most of the time. Be warned, he's old and grumpy. ok not that grumpy.
03:46:06 <Sgeo> CL?
03:46:24 <pizearke2> Combinatory logic.
03:49:56 -!- alp_y has quit (Ping timeout: 240 seconds).
03:57:07 -!- elliott has quit (Ping timeout: 240 seconds).
03:59:34 <zzo38> pizearke2: I know some things about Unlambda.
03:59:54 <zzo38> Do you have specific questions?
04:00:15 <Sgeo> zzo38, #clojure now knows of you
04:00:24 <Sgeo> I don't know if you were here when I mentioned it
04:01:05 -!- azaq23 has quit (Ping timeout: 264 seconds).
04:01:47 <pizearke2> Not really questions, no.
04:04:06 <zzo38> Sgeo: Now I know.
04:05:24 <oklopol> CL is cool, no one's judging you
04:05:59 <Sgeo> zzo38, they needed a URL that gives a 503, so I pointed them to your thing
04:07:00 <pizearke2> I just figured out how to not use a fixed point combinator for recursion.
04:07:03 <zzo38> Sgeo: OK. Why did they need a URL that gives a 503?
04:07:10 <pizearke2> I'm not sure if I discovered this, or if I'm just behind the game.
04:07:59 <Sgeo> zzo38, one of the bots in the channel seemed to have an issue with some URL that gave a 503, but they weren't sure. So they needed one that could be relied on to give a 503 to test what the bot would do.
04:08:24 <Sgeo> The URL that it choked on didn't realiably give a 503, it was.. I don't even know what 503 is tbh
04:11:06 <zzo38> Ah, OK. Now I understand. I suppose then, that my program is now useful for kind of testing purposes such as that!
04:12:53 <zzo38> It is capable of generating any error code that PHP and Apache can generate (you cannot put just any arbitrary code, which is a bit unfortunately...)
04:19:51 -!- pizearke2 has quit (Quit: Page closed).
04:25:26 <oklopol> argh, now i'll never know if pizearke2 just meant passing a function along
04:25:32 <oklopol> why didn't you ask
04:32:01 <zzo38> I didn't know that either.
04:38:10 -!- allanlw has quit (Read error: Connection reset by peer).
04:42:21 -!- Alex_Meg1roide has joined.
04:42:56 -!- pingveno has quit (Read error: Connection reset by peer).
04:43:15 -!- pingveno has joined.
04:45:44 -!- Alex_Megaroide has quit (Ping timeout: 276 seconds).
04:48:17 <Sgeo> I appear to be accidentally creeping out Other KT-AT
04:48:42 <Sgeo> She seems to be unaware that my other number is me, despite me telling her several times
04:51:55 <pikhq_> Might I suggest you stop failing at life?
04:52:08 <pikhq_> I know, I'm sounding like a broken record.
04:55:27 <oklopol> so what, she thinks you are sharing everything she tells you with your best buddy or something
04:56:58 -!- pingveno has quit (Read error: Connection reset by peer).
04:57:06 <Sgeo> oklopol, no, she is unaware of who the person who texted her is
04:57:08 <Sgeo> I think
04:57:13 <Sgeo> oklopol, >.>
04:57:17 -!- pingveno has joined.
04:59:01 <Sgeo> Besides, you think I tell you _everything_?
04:59:04 <Sgeo> About anything?
04:59:14 <oklopol> erm, i'm not talking about myself
04:59:52 <oklopol> okay see in my head it went, you send from your other number smth like "i'd certainly like to see you in those pink panties again" and she's like "WHAT?!? Sgeo took a pic?!?!?! that FUCKING PIG"
05:00:22 <Sgeo> oklopol, also, I think you missed 'Other'
05:00:30 <Sgeo> And also, I'm not at that point with anyone
05:00:35 <Sgeo> And also, all I said was Hi
05:00:41 <Sgeo> Sorry to ruin your fantasy
05:00:54 <oklopol> you should be
05:00:59 <oklopol> it was a nice fantasy
05:01:54 <oklopol> two and a half hours till exam
05:01:57 <oklopol> but i'm not feeling it
05:04:01 -!- yorick has quit (Ping timeout: 272 seconds).
05:07:08 -!- Mathnerd314 has quit (Ping timeout: 250 seconds).
05:10:39 -!- asiekierka has joined.
05:10:53 -!- Mathnerd314 has joined.
05:25:03 -!- Leonidas has quit (Ping timeout: 264 seconds).
05:25:20 -!- Leonidas has joined.
05:38:17 -!- asiekierka has quit (Ping timeout: 240 seconds).
05:44:01 -!- pikhq_ has quit (Ping timeout: 240 seconds).
05:44:18 -!- pikhq has joined.
05:46:58 <pikhq> Fucking Internet connection.
05:56:48 <zzo38> Please read this: http://www.chessvariants.org/index/msdisplay.php?itemid=MScopper,silver,
06:06:01 <zzo38> This is a kind of game like shogi.
06:06:11 <zzo38> Do you like to play shogi game?
06:08:47 <zzo38> I have played some tsume shogi game on GameBoy. But this game is not tsume shogi game, it is a different kind of game with some similarity to shogi and a bit to xiangqi, too.
06:14:41 <pikhq> Out of immense curiosity, to what extent have you learned foreign languages?
06:14:54 <pikhq> I know, seems like a bit of a non sequitur.
06:15:47 <zzo38> I have not learned it much. However, I sometimes read a Japanese books.
06:16:01 <zzo38> And Japanese tsume shogi game.
06:17:14 <zzo38> I know a few things of Japanese, including some kanji, and kana pronouncing, and a few words. Sometimes I also look up other words in WWWJDIC, because I try to read the book and some word I do not know.
06:18:15 <pikhq> I'm mostly wondering why your English appears so incredibly nonnative.
06:18:29 <pikhq> Even though I know that English is your native language.
06:19:46 <zzo38> I don't know why?
06:20:28 <zzo38> It is probably because I try to write things which have no proper English word/grammar so I have to make up new one to try to write what I am trying to write, but still it is not perfectly what I am trying to mean.
06:20:45 <oklopol> i don't think it's that
06:21:22 <zzo38> oklopol: OK, then you can say it is something else.
06:21:58 <oklopol> oh i have no idea what it is. personally i love the way you talk
06:22:14 <zzo38> OK.
06:22:18 <pikhq> It's kinda got an uncanny valley effect going on to me.
06:22:36 <zzo38> pikhq: What is an uncanny valley effect?
06:24:03 <pikhq> zzo38: The "uncanny valley" effect is a problem, usually in computer graphics, that as you get a depiction of a human closer to reality, it appears more realistic until you get too close. At which point it becomes freaking creepy. This point is called the "uncanny valley". More realistic appears more realistic, less realistic appears more realistic...
06:24:18 <pikhq> And I'm analogising with that.
06:24:50 <pikhq> http://upload.wikimedia.org/wikipedia/commons/f/f0/Mori_Uncanny_Valley.svg ←
06:26:09 <zzo38> OK, let me see.
06:26:55 <zzo38> OK now I can see what it is.
06:28:31 -!- oerjan has joined.
06:35:24 <zzo38> Does that chess variant interest you?
06:39:02 <zzo38> Does any chess variant at all interest you?
06:39:23 -!- pikhq has quit (Ping timeout: 250 seconds).
06:39:30 -!- pikhq has joined.
06:41:27 <quintopia> pikhq: it's something ASD. seems like he'd be interesting to meet, no?
06:41:43 <oklopol> zzo38: no!
06:41:51 <oklopol> oerjan: yes!
06:41:59 <pikhq> quintopia: Mmm?
06:42:44 <quintopia> the reason he writes this way
06:43:00 <pikhq> Mmm.
06:43:08 <oklopol> he writes that way because it's cool, i'm sure
06:43:20 <oerjan> oklopol: wat
06:43:23 <oerjan> i mean hi
06:45:09 <oklopol> oerjan: did you know that in a k-connected graph, given any v, and S with v \notin S, |S| = k, there exist k paths from v to a node in S that only share the vertex v
06:45:39 <oerjan> no.
06:45:41 <oklopol> k-connected = smallest vertex set that disconnects the graph or makes it trivial has size k
06:46:36 <oklopol> well now you do! these are called dirac's fans... well i'm not sure what exactly is the dirac fan, maybe v, S and the paths together
06:46:49 <zzo38> Can you show an example? I do not know much about graph theory
06:47:20 <oklopol> i'm not sure i want to do that in ascii
06:47:38 <oklopol> if you don't get something in the definition, i'll be happy to clarify tho
06:47:51 <oerjan> ok, sounds somewhat plausible at least
06:47:53 <oklopol> i'd prove this but i have the exam
06:48:18 <zzo38> It does not have to be in ASCII.
06:48:21 <oklopol> oerjan: rather direct corollary of: smallest separating set has size k <=> k independent paths between any two vertices
06:48:37 <oklopol> independent = only share ends
06:48:45 -!- augur has quit (Remote host closed the connection).
06:49:05 <oklopol> this is menger's theorem, and you usually prove it with a rather tedious although straightforward induction
06:49:32 <zzo38> The reason I do not understand is only because I do not know much of graph theory; but if I see example then perhaps I can learn graph theory more better.
06:49:47 <oklopol> well make an example yourself?
06:50:27 <oklopol> make a graph such that you'd have to remove at least k vertices to make it disconnected
06:50:40 <oerjan> hm well i don't think it's enough to choose a vertex in S for the other one in the independent paths thing
06:50:43 <oklopol> and then take a random vertex, and a random k element set
06:50:58 <oklopol> oerjan: no, rather direct, not completely direct
06:51:23 <oklopol> you have to add another vertex to every element of S
06:51:24 <zzo38> OK, I can do that. However I do not know what makes a graph "trivial"?
06:51:31 <oklopol> zzo38: 1 vertex
06:51:49 <oklopol> 0 vertices is not considered a graph in our framework
06:51:56 <zzo38> oklopol: That was one of my guesses. Thanks for explaining it to me. Now I can try.
06:52:28 <oklopol> it was not explaining, it was defining! this is important to distinguish
06:53:02 <oklopol> well, perhaps you mean defining by explaining
06:53:56 <oklopol> but you need to explain and define things in math, and just like books have freeform paragraphs for explanation and definition blocks for definitions, you should try to make a clear distinction in any math context
06:53:57 <zzo38> Yes, I mean defining.
06:54:28 <oklopol> yeah, i just tend to be a bit zealous about this stuff
06:54:30 <oklopol> working on it
06:55:41 <oklopol> anyway drawing the graph won't teach you nearly as much graph theory as proving menger's theorem would, or at least proving that v and S thing from menger's theorem
06:55:42 <oklopol> well
06:55:57 <oklopol> i already basically gave the proof
06:56:11 <oklopol> at least the fun part of it :P
06:56:48 <oklopol> i have to leave ->
06:58:33 <zzo38> Maybe I can make up a font with diagonal lines for graph theory in TeX.
06:59:41 <quintopia> menger's thm is not hard to prove iirc
07:00:51 <quintopia> also the fan thing has some interesting things you can prove
07:07:39 <zzo38> How strong is an alloy of copper, silver, gold?
07:09:17 -!- augur has joined.
07:10:01 -!- zzo38 has quit (Quit: Are you considered a graph in my framework?).
07:11:52 -!- ineiros has joined.
07:23:37 -!- wth has joined.
07:27:49 -!- wth has quit (Remote host closed the connection).
07:28:55 -!- wth has joined.
07:39:55 -!- pikhq_ has joined.
07:40:05 -!- pikhq has quit (Ping timeout: 250 seconds).
07:40:09 <pikhq_> Oh holy crapcrap.
07:40:14 <pikhq_> The BBC has aired David Firth cartoons.
07:40:19 <pikhq_> This frightens me.
07:40:29 <pikhq_> And impresses me.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:42:16 <quintopia> !bfjoust increase (+)*-1
08:44:09 <EgoBot> Score for quintopia_increase: 13.4
08:45:45 <quintopia> bahaha
08:45:55 <quintopia> it beat deewiant's top competitors XD
08:46:55 <quintopia> also breakdown.txt seems to print the wrong victor?
08:46:58 <quintopia> GREGOR
08:47:14 <quintopia> EXPLAIN THIS PLOX
08:47:16 <quintopia> Deewiant_allegro.bfjoust vs quintopia_increase.bfjoust
08:47:16 <quintopia> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> -42
08:47:16 <quintopia> Deewiant_allegro.bfjoust wins.
08:48:08 <quintopia> it appears you are printing the arrows backwards!
08:48:19 <quintopia> because the report shows the victor is correct
08:48:28 <quintopia> reverse your arrows please gregor!
08:54:38 -!- wth has left (?).
09:15:47 <fizzie> They are, in fact, my arrows; but they are the correct way around for me; I think Gregor must've broken them when changing the sign of the scores. (My version had "42" for that result, i.e. score for left player.)
09:16:14 <fizzie> I told him to just print -score in main, but I think he instead flipped all the places where the actual interpreter updates the score, for some reason.
09:16:34 <fizzie> (Of course I told him that only afterwards, but that's no excuse.)
09:29:21 -!- alp_y has joined.
09:29:51 <quintopia> oh, is this chainlance?
09:29:54 <quintopia> or ah
09:29:56 <quintopia> gearlance?
09:31:16 <quintopia> in any case, a simple fix would be to switch the order the competitors are displayed in the breakdown (new competitor on the left)
09:31:35 <quintopia> (and, you know, leave the score value alone)
09:35:36 -!- yorick has joined.
09:44:57 -!- cheater- has quit (Ping timeout: 240 seconds).
09:45:49 -!- cheater- has joined.
09:48:23 <oerjan> @hoogle [a] -> Bool
09:48:24 <lambdabot> Prelude null :: [a] -> Bool
09:48:24 <lambdabot> Data.List null :: [a] -> Bool
09:48:24 <lambdabot> Prelude all :: (a -> Bool) -> [a] -> Bool
10:22:15 -!- sebbu has joined.
10:22:15 -!- sebbu has quit (Changing host).
10:22:16 -!- sebbu has joined.
10:25:34 -!- sebbu2 has quit (Ping timeout: 272 seconds).
10:37:24 -!- TLUL has quit (Quit: *disappears in a puff of orange smoke*).
10:41:16 -!- ais523 has joined.
10:44:50 -!- TLUL has joined.
10:50:20 -!- ais523 has quit (Read error: Connection reset by peer).
10:51:36 -!- ais523 has joined.
11:10:31 -!- oerjan has quit (Quit: leaving).
11:25:00 -!- pikhq has joined.
11:25:56 -!- pikhq_ has quit (Ping timeout: 276 seconds).
11:46:08 -!- BeholdMyGlory has joined.
12:17:58 <ais523> does anyone here have ideas about how to automatically check a moderately large number (between 100 and 200) of Java code submissions for plagiarism?
12:18:23 <ais523> we've got a pretty good idea that it's happening, but not who's copying off who, or in what way
12:18:51 <ais523> and the code's been changed enough that simply comparing executables doesn't work, nor does comparing source even with comments and variable name variation removed
12:19:02 <ais523> so I'm wondering if there's something more insane I can try
12:19:25 -!- cheater- has quit (Ping timeout: 240 seconds).
12:20:32 -!- cheater- has joined.
12:30:06 <fizzie> ais523: I have the same problem (well, except N=~50 instead of 100-200), but no real solutions.
12:30:16 <fizzie> I did see a 2008 paper about the topic, though.
12:30:18 <Deewiant> http://www.cs.hut.fi/Software/Plaggie/ ?
12:30:56 <ais523> the script I'm running decomposes programs into a sequence of characters, one per line, with identifiers that aren't keywords replaced with underscores (it needs a better approach for keywords, really)
12:31:06 <ais523> and then pairwise diffs the resulting files, and counts the number of lines in the diff
12:31:19 <fizzie> Deewiant: http://www.computer.org/portal/web/csdl/doi/10.1109/ICCIT.2008.267 is the one I remember seeing.
12:31:22 <ais523> (that's not a context diff, just an old-fashioned format-nobody-uses-any-more diff)
12:31:33 <fizzie> Deewiant: I wonder why no-one advertised Plaggie to me when I was asking about this stuff.
12:32:06 <fizzie> (The proceedings link on that page doesn't seem to want to work.)
12:32:11 <ais523> that download counting form is bizarre
12:32:21 <ais523> why don't they, you know, just actually count downloads?
12:32:23 <Deewiant> I don't know if that's the one but I think the basic programming courses use something that was made here
12:32:42 <Deewiant> Anyway, http://portal.acm.org/citation.cfm?id=1315831 is the two-page paper which lacks any interesting info
12:32:58 <ais523> the actual download page is http://www.cs.hut.fi/Software/Plaggie/download.html
12:33:01 <ais523> (found via view source)
12:33:49 <fizzie> I guess it reads Java sources?
12:34:13 <Deewiant> I guess you can decompile if you only have the bytecode
12:34:20 <ais523> I have source
12:34:35 <fizzie> Oh, I do have sources too; but the one I remember reading about was a bytecode similarity tool.
12:34:42 <Deewiant> That one uses sources
12:34:54 <ais523> it's not obvious which is better to use when checking for plagiarism
12:34:59 <Deewiant> "The basic algorithm used for comparing two source code files is tokenization followed by greedy string tiling."
12:35:02 <ais523> article or source, that is
12:35:23 <ais523> hmm, I wonder if azip would be good at this?
12:35:32 <fizzie> Some people from Austin, TX, seem to have patented "An analysis tool extracts class data from Java objects within a potential plagiarizing Java program and the original Java program, and then compares classes common to the potential plagiarizing program and the original across various performance metrics."
12:36:35 <fizzie> And there's a reference to an earlier patent for "A technique for detecting similarities in large sets of binary code files, e.g., bytecode files, without requiring access or knowledge of the actual source code itself."
12:43:01 -!- TLUL has quit (Quit: *disappears in a puff of orange smoke*).
13:02:34 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner]).
13:04:03 -!- Sgeo has quit (Ping timeout: 240 seconds).
13:20:55 -!- ais523_ has joined.
13:39:32 -!- augur has quit (Remote host closed the connection).
13:59:36 -!- elliott has joined.
14:00:29 <elliott> 20:25:26 <oklopol> argh, now i'll never know if pizearke2 just meant passing a function along
14:00:29 <elliott> 20:25:32 <oklopol> why didn't you ask
14:00:32 <elliott> he'll be back
14:00:46 <elliott> 20:48:17 <Sgeo> I appear to be accidentally creeping out Other KT-AT
14:00:47 <elliott> 20:48:42 <Sgeo> She seems to be unaware that my other number is me, despite me telling her several times
14:00:52 <elliott> wow she is the most retarded person i have ever heard of
14:00:56 <elliott> apart from your father
14:01:14 <elliott> 20:59:01 <Sgeo> Besides, you think I tell you _everything_?
14:01:14 <elliott> 20:59:04 <Sgeo> About anything?
14:01:15 <elliott> yes
14:01:36 <elliott> `addquote <oklopol> okay see in my head it went, you send from your other number smth like "i'd certainly like to see you in those pink panties again" and she's like "WHAT?!? Sgeo took a pic?!?!?! that FUCKING PIG"
14:02:09 <elliott> 22:22:18 <pikhq> It's kinda got an uncanny valley effect going on to me.
14:02:09 <elliott> 22:22:36 <zzo38> pikhq: What is an uncanny valley effect?
14:02:12 <elliott> pikhq: i've figured it out
14:02:19 <elliott> pikhq: he lined up "uncanny valley effect" with yours
14:02:25 <elliott> that's the entire goal of his speech
14:02:30 <elliott> to be nicely-formatted in monospaced
14:02:46 <HackEgo> No output.
14:03:24 <elliott> :|
14:03:27 <elliott> `addquote <oklopol> okay see in my head it went, you send from your other number smth like "i'd certainly like to see you in those pink panties again" and she's like "WHAT?!? Sgeo took a pic?!?!?! that FUCKING PIG"
14:03:29 <HackEgo> 327) <oklopol> okay see in my head it went, you send from your other number smth like "i'd certainly like to see you in those pink panties again" and she's like "WHAT?!? Sgeo took a pic?!?!?! that FUCKING PIG"
14:04:00 <elliott> 23:40:09 <pikhq_> Oh holy crapcrap.
14:04:01 <elliott> 23:40:14 <pikhq_> The BBC has aired David Firth cartoons.
14:04:01 <elliott> 23:40:19 <pikhq_> This frightens me.
14:04:01 <elliott> 23:40:29 <pikhq_> And impresses me.
14:04:01 <elliott> we're just that awesome
14:04:35 <elliott> 01:15:47 <fizzie> They are, in fact, my arrows; but they are the correct way around for me; I think Gregor must've broken them when changing the sign of the scores. (My version had "42" for that result, i.e. score for left player.)
14:04:35 <elliott> 01:16:14 <fizzie> I told him to just print -score in main, but I think he instead flipped all the places where the actual interpreter updates the score, for some reason.
14:04:36 <elliott> 01:16:34 <fizzie> (Of course I told him that only afterwards, but that's no excuse.)
14:04:54 <elliott> I have to say, lance isn't nearly as entertaining as this
14:09:36 -!- hiato has joined.
14:10:14 -!- hiato has changed nick to I_WIN.
14:10:47 -!- I_WIN has quit (Client Quit).
14:11:10 -!- augur has joined.
14:19:46 <elliott> oh Thielemann
14:29:35 <elliott> > let ι = id in ι 3
14:29:36 <lambdabot> 3
14:32:28 <oklopol> "<quintopia> menger's thm is not hard to prove iirc" <<< it's kinda obvious how to do the induction, yes, but there's a few cases you need to consider, so it takes a while to get the details right
14:32:43 <oklopol> "<quintopia> also the fan thing has some interesting things you can prove" ?
14:34:35 -!- asiekierka has joined.
14:34:39 <oklopol> "<ais523> does anyone here have ideas about how to automatically check a moderately large number (between 100 and 200) of Java code submissions for plagiarism?" <<< flunk the whole class and see which ones get beaten up
14:36:16 <elliott> oklopol: :D
14:37:57 <elliott> fun :: ((Sem -> Sem) -> Sem) -> Sem
14:37:57 <elliott> fun f = Fun $ \(Sem g) -> f g
14:38:02 <elliott> sem sem fun sem sem fun fun fun fun sem fun sem fun
14:39:18 <asiekierka> hi
14:46:41 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:52:32 -!- Wamanuz3 has quit (Ping timeout: 276 seconds).
14:54:01 -!- Wamanuz has joined.
14:55:35 -!- MigoMipo has joined.
14:56:20 <Ilari> APNIC down N/A: IPv4: 256k+128k to China, 32k to South Korea, 8M(!!!) to Japan, 8k+512 to Indonesia, 256 to Malaysia. IPv6: /32 to Indonesia, /32 to Thailand, /32 to Hong Kong.
14:56:40 <elliott> 8M blocks? I HOPE SO
14:58:56 <Ilari> I think it will be down either 0.52 (to 2.92 + ERX blocks) or 0.53 (to 2.91 + ERX blocks).
15:00:08 <elliott> Wait, 8M /IPv4/?
15:00:10 <elliott> lolwat
15:00:12 <Ilari> Yeah.
15:00:25 <elliott> Should that really have been granted...
15:00:34 <elliott> It's not the allocation of a nation working hard on IPv6 migration :P
15:01:42 <Ilari> Allegedly Japan IPv6 is so bad that it is best to blacklist the entiere country from AAAA records (with some exceptions).
15:02:09 <elliott> Ilari: Huh ... that's quite surprising considering how good Japan are with technology adoption.
15:02:18 <elliott> And the speeds of their interweb connections...
15:04:17 <Ilari> NTT (Semi-monopolistic there) allegedly gives customers IPv6 addresses... That don't route to/from the Internet. It is fairly easy to see what problem that causes.
15:05:05 <Ilari> That's about the worst way one can do to break IPv6.
15:05:52 <elliott> Ilari: That's awesome X-D
15:06:05 <elliott> IPv6 enabled! Note: IPv6 not actually enabled.
15:11:27 <Ilari> Well, That is going to be royal fun when Google enables quad-As globally on world IPv6 day... :-)
15:12:14 <Ilari> Oh, and Facebook too. And few other MAJOR sites.
15:13:30 -!- copumpkin has joined.
15:15:50 <Ilari> elliott: http://mailman.nanog.org/pipermail/nanog/2011-February/033695.html
15:16:38 <elliott> "Own the government"? That's a bit of a strong statement :P
15:18:26 <Ilari> Well, large corporations do own the goverment.
15:19:22 <elliott> Mm. But I don't think a single telco has that much power (well, depends how monopolistic its monopoly is).
15:19:49 <elliott> At least, some monopolies make sense -- for instance you don't want laying electrical cables to be a free-for-all because it'll turn into a clusterfuck...
15:26:34 -!- augur_ has joined.
15:27:20 -!- augur has quit (Ping timeout: 264 seconds).
15:27:45 -!- augur_ has quit (Read error: Connection reset by peer).
15:28:09 -!- alp_y has quit.
15:28:11 <elliott> Ha, there is an even more insane way than Vorpal's to do returns in bash.
15:28:19 -!- augur has joined.
15:29:20 <oklopol> what's wrong with a little clusterfuck
15:30:49 <Ilari> Well, little clusterfuck no... But clusterfucks have tendency to turn into major clusterfucks.
15:31:53 <oklopol> i see
15:38:33 <elliott> What, zsh is actually maintained for Windows.
15:41:10 -!- augur has quit (Ping timeout: 240 seconds).
15:44:18 -!- pikhq has quit (Ping timeout: 250 seconds).
15:44:28 -!- pikhq has joined.
15:44:45 -!- Phantom_Hoover has joined.
15:45:31 -!- ominovorol has joined.
15:46:15 <elliott> ominovorol: hi not oklopol
15:46:29 <Ilari> Ah, APNIC down 0.55.
15:47:38 -!- oklopol has quit (Ping timeout: 240 seconds).
15:48:59 <ominovorol> hi not alise
15:49:44 <Ilari> Final for February: 22 323 200 IPv4s (1.330 blocks).
15:49:56 <elliott> Ilari: Less than two blocks?
15:50:01 <elliott> That's, um, that's quite... quite fast.
15:51:09 <Ilari> Remaining until phase 3: 1.89 blocks + ERX space.
15:51:23 <Ilari> That ERX is about 1.5-1.6 blocks.
15:51:44 <Ilari> But fairly fragmented.
15:52:27 <Ilari> So about 3.4-3.5 blocks total.
15:53:42 <Ilari> 4 653 074 IPv6 /48s.
15:55:02 -!- pikhq_ has joined.
15:55:25 -!- pikhq has quit (Ping timeout: 276 seconds).
15:58:02 -!- elliott_ has joined.
15:58:13 -!- elliott has quit (Read error: Connection reset by peer).
15:58:19 <elliott_> What does it mean if my laptop doesn't recognise it's being charged when I plug it in, and the little light on the charger doesn't light up :P
15:58:32 <elliott_> (And the battery's still drains)
15:58:38 <elliott_> (And the charger is getting power)
15:59:39 -!- MigoMipo has quit (Read error: Connection reset by peer).
16:00:12 <elliott_> This is worrying.
16:04:13 <ais523_> elliott_: most likely an open circuit on the charger input
16:04:22 <ais523_> is it making beeping noises and catching fire?
16:04:26 <elliott_> ais523_: no, no it isn't
16:04:31 <ais523_> good
16:04:33 <ais523_> mine was
16:04:40 <Phantom_Hoover> XD
16:04:45 <elliott_> :D
16:04:52 <elliott_> i suppose it's conceivable that the power light being on on the socket multiplier extension thing doesn't actually mean it's supplying power to the charger.
16:05:08 <elliott_> but i've kicked it *several* times and it still isn't working.
16:05:18 <ais523_> (I had to get it replaced, and managed to convince the person at the other end of the phone it was broken and how by explaining all the issues; they finally admitted the problem was likely in the charger not the laptop when I explained that it happened even when the charger wasn't connected to the laptop)
16:05:24 <Phantom_Hoover> ais523_, do you often give advice to people who fail to mention that their hardware is on fire?
16:05:53 <ais523_> no; it's just that I've set things on fire more than once, being an electronic engineer (as my first degre) and all
16:06:06 <ais523_> you don't really get to become a Master of (Electronic) Engineering without blowing up a few diodes by mistake
16:06:32 <elliott_> I like to think that electrical engineering is primarily about blowing things up.
16:06:51 <elliott_> Actually doing things is sort of a side effect.
16:07:16 <ais523_> getting them to not blow up can be harder
16:07:19 <Phantom_Hoover> ais523_, I assume you also burnt yourself a fair number of times.
16:07:23 <ais523_> and thus more intellectually interesting
16:07:27 <ais523_> Phantom_Hoover: actually, only twice, IIRC
16:07:31 <ais523_> both times with a soldering iron
16:07:32 <elliott_> ONLY TWICE!
16:07:35 <elliott_> And they were only fourth-degree.
16:07:46 <ais523_> solder iron burns are really minor compared to most other sorts
16:07:57 <elliott_> "Extends through skin, subcutaneous tissue and into underlying muscle and bone"
16:07:59 <elliott_> That's a nice degree.
16:08:15 <ais523_> when you just explode circuits, you're generally at a safe distance
16:08:25 <elliott_> But hey, it's apparently "Painless".
16:08:41 <elliott_> It has no example picture :P
16:08:46 <ais523_> and the emergency power shutoff is generally sufficiently far away that you can hit it without being at risk to the fire
16:09:04 <ais523_> in fact, you can generally hit the good old-fashioned off switch without needing the emergency shutoff
16:09:12 <ais523_> and it works just as well
16:09:21 <ais523_> the emergency shutoffs mostly exist to get bumped into by mistake
16:09:31 <ais523_> and, umm, regulations of some sort
16:09:33 <elliott_> You keep talking ais523_, but all I hear is "we've made it really convenient to blow shit up".
16:09:41 <elliott_> "And safe, too."
16:10:06 <ais523_> well, in a student EE lab, you expect the occasional explosion, so you try to reduce the ramifications
16:10:12 <elliott_> wow, the Firefox 4 beta's feedback choices are a bit awkward
16:10:16 <elliott_> "Firefox Made Me Happy Because..."
16:10:18 <elliott_> "Firefox Made Me Sad Because..."
16:10:37 <elliott_> you can ask for your users' feelings without being all preschool about it, Mozilla
16:10:40 <Gregor> Firefox Made Me Sad Because it stole forty cakes.
16:10:43 <ais523_> ...because it makes me sad and I don't know why
16:10:50 <elliott_> Gregor: And that's terrible etc.
16:10:54 <Gregor> :P
16:11:18 <elliott_> Firefox made me sad because I don't know whether I was happy or sad so this menu upset me but now I am only sad and not either sad or happy so I guess the problem is resolved
16:11:44 <Gregor> Firefox made me sad because it murdered my family and raped my dog.
16:11:58 <elliott_> Gregor, always the classiest of #esotericers.
16:12:13 <elliott_> "Show me on the doll where Firefox touched you."
16:12:27 <elliott_> "Extraction failed because download is corrupted"
16:12:33 <elliott_> IE: Can't even download Firefox correctly!
16:20:36 -!- augur has joined.
16:21:54 -!- zzo38 has joined.
16:22:20 -!- elliott_ has quit (Ping timeout: 240 seconds).
16:26:28 -!- elliott has joined.
16:27:57 -!- ais523_ has quit (Quit: Page closed).
16:30:42 <elliott> hi ais523
16:30:49 <elliott> <elliott_> "Extraction failed because download is corrupted"
16:30:50 <elliott> <elliott_> IE: Can't even download Firefox correctly!
16:30:50 <elliott> <elliott_> What kind of crack-addled monkey designed Firefox 4?
16:30:53 <ais523> hi
16:31:00 <elliott> ais523: it seems that the power supply issue is actually my extension being messed up
16:31:02 <ais523> how did you guess I was back on ais523? timing?
16:31:05 <elliott> the router lost power, I think
16:31:07 <elliott> also, tab-complete
16:31:15 <ais523> (after ais523_ leaving)
16:31:17 <elliott> if it hadn't completed, I wouldn't have said hi
16:31:20 <ais523> ah
16:31:21 <elliott> because I'd assume you'd have left
16:31:36 <ais523> ais523_ is me on the teaching computers downstairs
16:31:41 <ais523> I was there marking students, but that's finished now
16:31:45 <ais523> whereas ais523 is my netbook
16:32:13 <ais523> it's why ais523_ tends to be relatively uncommunicative while online, and ais523 completely silent while ais523_ is present
16:33:25 <ais523> also, a bunch of students seem to be cheating this week
16:33:48 <elliott> nice
16:34:00 <elliott> are they really masters students...?
16:34:11 <elliott> they sound like 14-year-olds
16:34:47 <ais523> oh, those are first-years
16:34:51 <ais523> and it isn't most of them, just a subset
16:34:59 <ais523> the issue is determining just how large the subset is
16:35:11 <ais523> as the exercise was one where there were a few standard ways to solve it
16:35:32 <ais523> and so you got things looking the same by chance as well as by maliciousness
16:39:08 <elliott> ais523: hmm
16:39:14 <elliott> fiddling with the socket made the charger go on
16:39:18 <elliott> but only momentarily
16:39:22 <elliott> now fiddling with the wire has made it go on
16:39:23 <ais523> loose connection
16:39:27 <elliott> this is not reassuring...
16:39:41 <ais523> indeed, connections repeatedly going on and off can break things, or at least confuse them
16:39:46 <elliott> i'm just keeping the laptop in a very specific position for now until it gets its battery back
16:39:53 <ais523> on my laptop, it only confused the battery-is-charging meter
16:39:59 <Phantom_Hoover> elliott, that's what happened in my MagSafe tragedy.
16:40:00 <ais523> have you tried plugging the charger in elsewhere?
16:40:06 <elliott> Phantom_Hoover: this is magsafe too :)
16:40:07 <Phantom_Hoover> It melted a few days later.
16:40:17 <ais523> what's a magsafe?
16:40:19 <elliott> ais523: in another, good extension; it did nothing special
16:40:24 <elliott> ais523: magsafe = apple power connector
16:40:25 <ais523> did it work?
16:40:27 <elliott> the old ones had a tendency to melt
16:40:30 <ais523> ah
16:40:30 <elliott> ais523: no, it didn't
16:40:35 <ais523> ugh
16:40:46 <ais523> perhaps the issue's with the plug, or the wires near it
16:41:19 <elliott> ais523: nope, i swapped the plug for another one (they have pluggable plugs)
16:41:46 <ais523> OK, then I'll use the typical EE copout and say it's a lose connection somewhere but I don't know where
16:42:01 <ais523> you could always take it to Apple to get it serviced, they'll probably just replace it because they can't figure it out either
16:42:04 <ais523> also, *loose connection
16:42:07 <ais523> although I like the typo
16:42:11 <elliott> ais523: I will if it melts
16:42:23 <ais523> not before?
16:42:28 <elliott> rule 1: if it's solid, don't fix it
16:42:33 <elliott> ais523: I think Apple charge you for replacements
16:42:42 <elliott> like £60 for a magsafe because they're scumbags
16:42:49 <ais523> even during warranty?
16:42:49 <elliott> ok not £60.
16:42:59 <elliott> ais523: hmm, I wonder if installing another operating system voided my warranty :)
16:43:09 <elliott> I didn't go for AppleCare, so god knows how long this warranty is
16:43:12 <ais523> it's about £80 to get the generic power supply on this Toshiba replaced, but it failed within warranty, luckily
16:43:16 <ais523> and typically it's one year
16:43:26 <elliott> ais523: I think 1 year is one of the AppleCare lengths
16:43:37 <ais523> AppleCare is likely more comprehensive than a warranty
16:43:42 <elliott> true
16:44:16 <elliott> (Apple business model item 1: Sell mostly-excellent-quality hardware at reasonable prices for that hardware to give the fanboys a way to defend your prices. Item 2: Sell all the other shit at exorbitant prices with impunity.)
16:46:21 <ais523> most computer companies have found an even better version of that
16:46:26 <ais523> which is the same system minus step one
16:46:44 <elliott> ais523: they have a different step one
16:46:46 <elliott> *item
16:47:04 <ais523> ah
16:47:08 <elliott> Item 1: Sell shitty hardware at exorbitant-for-shit prices that nonetheless end up lower than Apple's because shit is only so expensive.
16:47:35 <ais523> you also have to bear in mind computer salesman
16:47:44 <elliott> *men, presumably
16:47:52 <elliott> also, do I _have_ to?
16:47:54 <ais523> to whom Macs are inferior because they don't come with a free copy of Windows, Office, and Cute Kittens Editing App 2004 (30 days free trial)
16:48:10 <elliott> I want that app
16:48:23 <elliott> wait, 2004? man, i want 21st century kittens!!
16:48:41 <elliott> ais523: also, s/free/hidden-cost/
16:48:49 <ais523> elliott: indeed
16:49:12 <ais523> actually, nowadays it's become habit to install free trial versions of Office 2009 on new systems
16:49:30 <ais523> so people use them to edit files, and then a month later find they have to pay £200 to be able to open them again
16:50:44 <elliott> blehh, why has computing become so terrible?
16:51:56 <elliott> i mean, honestly.
16:52:08 <Phantom_Hoover> elliott, because the masses started getting into it?
16:52:25 <elliott> that's irrelevant, they didn't _run_ it
16:52:28 <Phantom_Hoover> There's more money in fooling fools.
16:53:21 <ais523> elliott: perhaps it always was terrible, just people didn't complain as much because they were too inexperienced with it to know better
16:53:27 <elliott> yes, but are the kind of people who pioneered personal computing the kind of people who would want to make a living off fooling people?
16:53:47 <Phantom_Hoover> elliott, no, but again, they didn't make as much money out of it.
16:54:02 <elliott> ais523: I'm not so sure about that -- who ever complained about pre-installed crapware on an Amiga?
16:54:03 <ais523> well, IBM invented the PC
16:54:08 <ais523> although not personal computing in general
16:54:13 <elliott> I think I blame Windows
16:54:24 <elliott> Windows killed off non-IBM-PC machines
16:54:35 <ais523> actually, peripherals did
16:54:40 <elliott> RISC OS, Amiga, etc. all died because of Windows
16:54:44 <elliott> ais523: possibly
16:54:47 <ais523> Windows was originally meant to be cross-platform
16:54:53 <elliott> ais523: but Windows was what people used to communicate with the peripherals
16:55:01 <ais523> but the IBM PC had basically won by that point so Microsoft decided to just support that
16:55:17 <elliott> true
16:55:19 <ais523> it's around the days of early MS-DOS when there was still serious hardware architecture competition, Windows came much later
16:55:21 <elliott> OK, I blame IBM then
16:55:27 <ais523> and it was almost unusable and considered a joke before version 3
16:55:37 <elliott> stupid holocaustin' PCin' jerks.
16:55:49 <elliott> ("IBM PC: as bad as the Holocaust?")
16:55:55 <ais523> when Windows finally caught on, it was mostly used to try to kill PC-DOS, which was also an IBM PC-based operating system
16:55:56 <elliott> (Random IRC users disagree.)
16:56:10 <elliott> QDOS!
16:56:19 <elliott> damn you Tim Paterson!
16:56:38 <ais523> wow, you really seem to be getting emotional about this
16:56:49 <elliott> ais523: that was a joke
16:57:04 <elliott> afaict Tim Paterson hates Microsoft :P
16:57:08 <ais523> I think what's happening is that in any mainstream market, 90% or more of people don't have much of a clue of what it's about
16:57:21 <ais523> and so will believe any nonsense the salesmen/media tell them
16:57:40 <elliott> Maybe I'll get an ancient Acorn and refuse to use anything else ever
16:57:44 <ais523> I was at a bank recently, talking to one of the people who banks have to talk to people when it's going to take a long time
16:57:51 <elliott> ais523: does C-INTERCAL run on RISC OS?
16:57:54 <ais523> and questioning everything he said and reading the small print and so on
16:57:59 <elliott> haha
16:58:03 <elliott> that must have been comfortable for him
16:58:04 <ais523> and he said I should become a banker
16:58:07 <Phantom_Hoover> elliott, my neighbour has a functioning Archimedes.
16:58:25 <ais523> also, I doubt it runs straight off unmodified on RISC OS
16:58:28 <elliott> hmm, did the archimedes actually run RISC OS?
16:58:32 <ais523> but I consider that a bug
16:58:37 <elliott> hmm, right, it did
16:58:43 <elliott> I used an Acorn in preschool
16:58:48 <elliott> had no idea how to use it, of course
16:58:54 <ais523> (I have actually used RISC OS, by the way; my primary school had it installed on all the computers that weren't BBC Micros)
16:59:02 <elliott> but i remembered it as "the computer where you click the black circle in the corner to exit the (full-screen) program"
16:59:18 <ais523> it had three mouse buttons, didn't it?
16:59:21 <elliott> I think so
16:59:27 <ais523> and each had a defined system-wide function
16:59:27 <elliott> ais523: why wouldn't it run on straight RISC OS with a C compiler?
16:59:32 <elliott> obviously the build system wouldn't run
16:59:41 <ais523> probably incorrect assumptions
16:59:46 <ais523> likely to do with pathnames
16:59:52 <elliott> I like how RISC OS merged dialogue boxes, menus, and right-click menus
17:00:07 <elliott> right-click menus could include textboxes, sliders etc.
17:00:17 <ais523> e.g. #include "ick.h" is interpreted, on RISC OS, as including :h:ick
17:00:32 <elliott> ais523: didn't the C compilers hack around that?
17:00:32 <ais523> but I don't think fopen() does the same translation
17:00:36 <ais523> elliott: that is the hack around that
17:00:42 <elliott> oh, right
17:00:50 <elliott> what does foo.c mean in RISC OS natively?
17:01:26 <elliott> i.e. is there any reason the C compiler wouldn't accept foo.c rather than :c:foo?
17:01:38 <ais523> ah, more like .c.foo
17:01:42 <ais523> I think . is the directory separator
17:01:45 <ais523> and filename limits
17:01:46 <Phantom_Hoover> Yes, it is.
17:01:57 <ais523> pathname components could only be 6 characters long or something really restrictive like that
17:02:02 <Phantom_Hoover> But RISC OS deals with it by replacing . with / IIRC.
17:02:04 <elliott> <ais523> and filename limits
17:02:05 <elliott> eh?
17:02:16 <ais523> yep, . and / are swapped, normally, to translate pathnames between UNIX and RISC OS
17:02:16 <elliott> <ais523> pathname components could only be 6 characters long or something really restrictive like that ;; I doubt this applied to later versions
17:02:36 <ais523> but you couldn't fit, say, stdlib/h in a filename as it was too long
17:02:42 <ais523> so it had to be .h.stdlib
17:03:19 <zzo38> Does TeX run on that computer?
17:03:27 <ais523> I don't know
17:03:38 <ais523> it's old enough that it may have been ported, but I don't think Acorns were used for typesetting all that much
17:04:05 <ais523> haha, apparently the libc on Acorns is in ROM
17:04:09 <ais523> (that is, the C89-defined stuff)
17:04:27 <ais523> and separate libraries are used for any POSIX compatibility needed that isn't in C*9
17:04:30 <ais523> * C89
17:04:34 <elliott> <ais523> but you couldn't fit, say, stdlib/h in a filename as it was too long
17:04:34 <elliott> <ais523> so it had to be .h.stdlib
17:04:42 <elliott> i'm sure that must be false for later versions
17:04:57 <elliott> i was reading the esoteric list archive and recall some stuff about risc os directory structure
17:05:06 <elliott> (in reply to cpressey inventing orthogonal persistence accidentally)
17:05:11 <elliott> and i swear it had longer filenames
17:05:50 <ais523> haha, Cygwin's been ported to RISC OS
17:05:58 <elliott> wat
17:06:03 <Phantom_Hoover> elliott, incidentally, re that Worst Programmer guy:
17:06:04 <ais523> that was... unexpected
17:06:15 <ais523> ah, as a cross compiler, that's slightly saner
17:06:27 <Phantom_Hoover> From his perspective, he's kind of right, in that code monkeys really shouldn't be making algorithms.
17:07:04 <ais523> as in, their advice is, to install Linux programs on RISC OS, install the modified Cygwin on Windows and use it to translate
17:07:51 <elliott> Phantom_Hoover: ??
17:07:59 <elliott> Phantom_Hoover: that was not what he was saying.
17:08:34 <Phantom_Hoover> elliott, yes, because he's an idiot.
17:09:44 <elliott> http://i.imgur.com/Se0WU.png
17:09:44 <elliott> i
17:09:52 <ais523> elliott: ah, reading the RISC OS wiki, it's not a filename limit but because RISC OS has no concept of extensions, and you often want .c and .h files with the same basename
17:09:55 <elliott> that upload is terrible but
17:09:56 <elliott> i
17:09:58 <elliott> how can that even be
17:10:04 <Phantom_Hoover> 1 giga... what.
17:10:12 <Phantom_Hoover> That's... hmm.
17:10:13 <elliott> GIGABIT INTERNET
17:10:14 <elliott> FFFF
17:10:21 <elliott> That's 128 Mio/s.
17:10:22 <Phantom_Hoover> DISTANCE: < 50 mi
17:10:38 <elliott> Phantom_Hoover: Doesn't really matter, it's not on the same network.
17:10:41 <elliott> ais523: heh
17:11:55 <elliott> "Meanwhile in England... http://www.speedtest.net/result/1177971339.png"
17:11:57 <elliott> *sniff*
17:12:37 <elliott> ais523: ok so you know that charger
17:12:41 <elliott> the end plugged into the computer
17:12:43 <elliott> is piping hot right now
17:12:45 <elliott> it's
17:12:48 <elliott> not normally piping hot
17:12:55 <Phantom_Hoover> elliott, jesus, I have only 0.48 upstream.
17:12:57 <elliott> (admittedly, normally it's not actually doing any charging and it is now)
17:13:16 <ais523> chargers can get hot while doing charging
17:13:24 <Phantom_Hoover> Although 8.03 downstream, which just raises further questions.
17:13:30 <elliott> yes, i realised that was stupid after i said it
17:13:36 <elliott> Phantom_Hoover: ADSL is asynchronous
17:13:50 <Phantom_Hoover> elliott, erm, I don't think I'm on ADSL...
17:13:59 <elliott> Phantom_Hoover: Cable?
17:14:02 <Phantom_Hoover> Yep.
17:14:07 <elliott> Asynchronous, I believe.
17:14:18 <Phantom_Hoover> I DO NOT KNOW WHAT THIS WORD IS
17:14:25 <elliott> YES YOU DO
17:14:29 <elliott> I ACTUALLY MEAN
17:14:33 <elliott> ASYMMETRIC
17:14:36 <elliott> I'M JUST STUPID
17:14:36 <elliott> :D
17:15:57 <ais523> hmm, is it asynchronous as well?
17:16:09 <ais523> I suspect it's clocked just while it's being used, or something like that
17:22:35 <elliott> hmm
17:22:51 <elliott> a^nb^n is easier than x|y where x and y are binary and y=x+1, right?
17:23:06 <elliott> as in, you can parse the former without being able to parse the latter
17:23:13 <elliott> so unary is in a sense "easier" to parse than binary...
17:23:24 <ais523> I can't figure out offhand how a PDA would do the second, but it can do the first
17:23:31 <elliott> yep
17:23:34 <elliott> err
17:23:35 <elliott> and y=x
17:23:36 <elliott> that is
17:23:56 <elliott> a^nb^(n+1) is obviously as easy as a^nb^n
17:24:03 <ais523> yep
17:26:53 -!- zzo38 has quit (Remote host closed the connection).
17:27:05 -!- augur has quit (Ping timeout: 264 seconds).
17:27:48 <elliott> ais523: hmm, x|y where x and reverse(y) are equal binaries is easy
17:28:11 <elliott> X := '0|0' | '1|1' | '0' X '0' | '1' X '1'
17:28:20 <elliott> Y := '0'* X '0'*
17:28:35 <elliott> ais523: x|y where x == reverse(y)+1 or x+1 == reverse(y) sounds a lot harder
17:29:39 -!- ais523 has quit (Ping timeout: 240 seconds).
17:32:52 -!- augur has joined.
17:32:56 <elliott> 12:20:00 <bsmntbombdood> you wrote it in c++?
17:32:56 <elliott> 12:20:08 <GregorR> I'm a C++'er.
17:32:57 <elliott> 12:20:12 <bsmntbombdood> That just ain't right
17:33:00 <elliott> 12:20:31 <bsmntbombdood> NOT COOL DUDE
17:33:03 <elliott> 12:20:37 <oklopol> bsmntbombdood, as wouter said, ppl who don't like c++ don't understand it
17:33:03 <elliott> 12:20:44 <GregorR> bsmntbombdood: People who don't like C++ --- thanks, oklopol 8-D
17:33:04 <elliott> 12:20:51 <oklopol> :)
17:33:12 <elliott> Gregor and oklopol, former Nazis.
17:33:19 <elliott> (Gregor, current Nazi.)
17:33:22 <Gregor> *eh*
17:33:32 <elliott> "I'm a Nazi? Well, *eh*"
17:35:28 -!- augur has quit (Read error: Connection reset by peer).
17:35:55 -!- augur has joined.
17:42:30 <elliott> 13:55:04 <ihope_> People who don't like C++ don't understand it? Lies!
17:42:30 <elliott> 13:55:33 <ihope_> I refuse to use any programming language that I cannot code first-order logic theories into!
17:43:57 <Gregor> Dude, you can code first-order logic theories into C++'s TEMPLATE language.
17:43:59 -!- oerjan has joined.
17:44:33 <elliott> 14:43:47 <oklopol> i actually made an assignment! :)
17:44:33 <elliott> 14:43:53 <pikhq> . . . Yes?
17:44:33 <elliott> 14:45:30 <oklopol> Math.
17:44:34 <elliott> 14:45:41 <pikhq> . . .
17:44:36 <elliott> 14:45:55 <oklopol> i've done maybe 10 in high school if you don't count exams, so i'm very proud -_______-
17:44:39 <elliott> hi oerjan
17:44:49 <oerjan> hi elliott
17:44:54 <elliott> 15:42:15 <oklopol> ya i assigned my foot in yer ass :\
17:44:54 <elliott> 15:45:11 <oklopol> I had to carry out a derivation manually :OO
17:44:55 <elliott> 15:45:18 <oklopol> verry omg!
17:45:42 <elliott> oerjan: i considered implementing reaper.
17:45:52 <elliott> oerjan: the syntax put me off a bit :D
17:46:16 <oerjan> ...the spec is not really finished.
17:46:37 <elliott> oerjan: well i was just going to implement what you had there ;D.
17:46:38 <oerjan> the syntax is supposed to be _worse_ than it seems in the article.
17:46:41 <elliott> enough to make cat work
17:46:41 <elliott> *no .
17:46:44 <elliott> oerjan: fff, what
17:46:56 <elliott> howso
17:47:17 <elliott> well, i see you've missed the fact that you have to end classes with the class name again or whatever
17:47:26 <oerjan> um no
17:47:31 -!- boily has joined.
17:48:52 <oerjan> repeating class names that way is only necessary to make a prototype declaration...
17:48:53 <elliott> oerjan: well whatever :D
17:48:56 <elliott> ah
17:49:01 <elliott> @src (,) >>=
17:49:01 <lambdabot> Source not found. You untyped fool!
17:49:04 <elliott> @src (,)( >>=)
17:49:05 <lambdabot> Source not found. Take a stress pill and think things over.
17:49:08 <elliott> @src (,) (>>=)
17:49:08 <lambdabot> Source not found. I've seen penguins that can type better than that.
17:49:11 <elliott> @src ((,) a) (>>=)
17:49:12 <lambdabot> Source not found. I've seen penguins that can type better than that.
17:49:14 <elliott> fuck you lambdabot
17:49:24 <elliott> > (1,2) >> (3,4)
17:49:25 <lambdabot> No instance for (GHC.Base.Monad ((,) t))
17:49:26 <lambdabot> arising from a use of `e_11234'...
17:49:26 <oerjan> which is necessary to do because in reaper, parsing requires you to know the arity of each class
17:49:27 <elliott> oh
17:49:27 <elliott> :D
17:49:31 <elliott> > (1,2) <$> (3,4)
17:49:32 <lambdabot> Couldn't match expected type `a -> b'
17:49:32 <lambdabot> against inferred type `(t, t1)'
17:49:36 <elliott> durr
17:49:39 <elliott> > succ <$> (3,4)
17:49:40 <lambdabot> (3,5)
17:49:52 <elliott> hmm is (a,) a monad?
17:50:06 <oerjan> it _could_ be a Writer (if a is a Monoid)
17:50:30 <oerjan> but i don't think the instances are in the standard libraries
17:50:47 <elliott> basically i have
17:50:50 <elliott> data Sem = Fun (Sem -> (Sem, String))
17:50:58 <elliott> and want to make it, you know, less of a pain to stack applications...
17:51:17 <elliott> (a,_) >> (c,d) = (a `mappend` c, d) ?
17:51:19 <elliott> maybe not
17:51:24 <elliott> err, yes
17:51:25 <oerjan> yes
17:51:38 <elliott> So I want (String, Sem).
17:52:50 <elliott> @pl \(a,x) f -> let (b,y) = f x in (a `mappend` b, y)
17:52:51 <lambdabot> (line 1, column 17):
17:52:51 <lambdabot> unexpected "("
17:52:51 <lambdabot> expecting "()", natural, identifier or "in"
17:52:54 <elliott> X_X
17:53:58 <elliott> apparently
17:53:59 <elliott> (:$) :: Sem -> Sem -> (String, Sem)
17:54:02 <elliott> is an invalid type signature
17:54:33 <oerjan> yes :$ is a constructor
17:55:06 <elliott> oh right
17:55:34 <elliott> (I'm writing a Lazy K implementation)
17:55:41 <Phantom_Hoover> Well, I questioned some teachers and as such I am having my laptop forcibly removed. Bye for tonight at least, in all probability.
17:55:48 -!- Phantom_Hoover has left (?).
17:56:17 <elliott> o_O
17:56:38 <elliott> Moving on to topics other than the fact that PH's parents are clearly insane fools,
17:56:40 <elliott> combS = Fun $ \x -> Fun $ \y -> Fun $ \z -> x $$ z >>= (flip ($$) <$> (y $$ z))
17:57:47 <elliott> is Functor ((,) a) in Prelude? I think so
17:57:56 * Gregor lols @ Phantom_Hoover
17:58:09 <oerjan> ... i think it's in Control.Monad.Instances
17:58:39 <olsner> what the... poor hoover
17:58:51 <Deewiant> combS = Fun $ \x -> Fun $ \y -> Fun $ liftM2 (>>=) (x$$) ((flip ($$) <$>) . (y$$))
17:58:55 <oerjan> instance Functor ((,) a) -- Defined in Control.Monad.Instances
17:59:04 <elliott> Deewiant: wow, you made it even better
18:00:13 <oerjan> elliott: hm it's possible Prelude imports it?
18:00:20 <elliott> oerjan: whatevs ;D
18:00:58 <oerjan> ghci seems to imply so
18:01:11 <elliott> Couldn't match expected type `Sem' against inferred type `m b'
18:01:11 <elliott> In the first argument of `liftM2', namely `(>>=)'
18:01:12 <olsner> apparently, in my language the S combinator is just [1,0]
18:01:18 <elliott> olsner: what lang?
18:01:37 <Deewiant> elliott: I assumed that's (x $$ z) >>= blaa, I guess it's x $$ (z >>= blaa)
18:01:52 <olsner> elliott: http://www.esolangs.org/wiki/1337
18:02:33 <olsner> basically the only operator is the X combinator, but you can choose its precedence
18:02:38 <elliott> olsner: that's cheating, you have S built in :)
18:02:39 <Deewiant> combS = Fun $ \x -> Fun $ \y -> Fun $ (x $$) . ap (>>=) ((flip ($$) <$>) . (y $$))
18:03:02 <elliott> Deewiant: That is truly impressively ugly.
18:03:16 <elliott> snorlax.hs:23:50:
18:03:16 <elliott> Couldn't match expected type `Sem' against inferred type `m a'
18:03:20 <elliott> :D
18:03:25 <elliott> I'm just gonna, you know, use do notation.
18:03:27 <Deewiant> :t ap (>>=)
18:03:28 <lambdabot> forall (m :: * -> *) a b. (Monad m) => (m a -> a -> m b) -> m a -> m b
18:07:24 <elliott> Man... Lazy K has ever so slightly fucked up semantics.
18:09:14 -!- cheater- has quit (Ping timeout: 240 seconds).
18:12:31 -!- cheater- has joined.
18:16:18 <Gregor> JUST NOTICED:
18:16:22 <Gregor> libreoffice = lib reoffice
18:16:35 <elliott> Gregor: what
18:16:47 <Gregor> Libre Office, the spinoff of OpenOffice
18:16:50 <elliott> Yes
18:16:51 <elliott> And?
18:16:59 <Gregor> libreoffice, as in the reoffice library.
18:17:01 <Deewiant> Is a library, libreoffice.
18:17:12 <elliott> Is it?
18:17:32 <Gregor> No, it's not. But it creates a naming ambiguity because not everything that starts with "lib" is a library >: (
18:17:35 <elliott> Is this just "everything starting with 'lib' is funny", or is there actually a library called reoffice.
18:17:54 <Gregor> Everything that starts with "lib" should be a library! D-8
18:17:58 <elliott> Gregor: Libido libraries liberate Libby.
18:18:08 <Deewiant> Gregor: libtool?
18:18:16 <elliott> <Gregor> AAAAAAAAAAAAAAAAAH
18:18:45 <Gregor> Pfff, at least libtool has some kind of excuse.
18:18:58 <Gregor> Not that there's any excuse for libtool in the year 2011 :P
18:20:21 <oerjan> the rary library
18:22:58 <elliott> oerjan, what's a better apply constructor than :$.
18:22:59 <elliott> SO NOISY
18:24:32 <oerjan> :> :- :. :\
18:24:50 <oerjan> :<
18:24:56 <elliott> :<
18:24:57 <elliott> so sad
18:24:58 <elliott> :<
18:25:05 <elliott> it's okay little constructor
18:25:06 <elliott> :<
18:25:10 <elliott> everything is going to be alright
18:25:10 <elliott> ...
18:25:11 <elliott> ...
18:25:12 <elliott> :>
18:25:15 <Deewiant> What's wrong with :$
18:25:23 <elliott> Deewiant: *Main> S :$ I :$ I :$ (S :$ I :$ I)
18:25:23 <elliott> ((S :$ I) :$ I) :$ ((S :$ I) :$ I)
18:25:24 <elliott> Noiiiiisy
18:25:46 <Deewiant> If you say so :-P
18:25:59 <elliott> In my font at least :P
18:26:29 <elliott> Now why doesn't SII(SII) diverge :P
18:29:19 <elliott> yay, power cut out again
18:29:42 <oerjan> elliott: you might want to declare :$ infixl
18:29:47 <elliott> i did
18:29:51 -!- pikhq_ has quit (Ping timeout: 246 seconds).
18:29:52 -!- pikhq has joined.
18:29:54 <elliott> like a boss.
18:29:59 <elliott> Show just doesn't realise.
18:30:04 -!- poiuy_qwert has joined.
18:30:05 <oerjan> oh.
18:31:40 <oerjan> "Parentheses are only added where needed, ignoring associativity."
18:31:42 <oerjan> sigh
18:32:59 <elliott> oerjan: :D
18:33:05 <elliott> oerjan: i like how that's a contradiction.
18:33:39 <oerjan> ...it may obey _precedence_ but not associativity.
18:34:10 <elliott> oerjan: yes, but that means it adds parentheses when not needed
18:34:14 <elliott> whereas it says that parentheses are only added when needed.
18:35:14 -!- augur has quit (Ping timeout: 276 seconds).
18:35:26 <oerjan> mu
18:39:51 <elliott> oerjan: moo
18:49:26 -!- asiekierka has quit (Ping timeout: 246 seconds).
18:59:47 <elliott> oerjan: bring that ais fellow back in here
19:08:53 -!- MigoMipo has joined.
19:26:39 <elliott> psht
19:35:18 -!- pikhq_ has joined.
19:35:47 -!- pikhq has quit (Ping timeout: 276 seconds).
19:48:11 -!- Alex_Meg1roide has quit (Ping timeout: 240 seconds).
19:55:00 -!- pikhq has joined.
19:55:24 -!- pikhq_ has quit (Ping timeout: 264 seconds).
19:58:25 -!- Phantom_Hoover has joined.
19:58:32 <Phantom_Hoover> 09:56:38 <elliott> Moving on to topics other than the fact that PH's parents are clearly insane fools,
19:58:36 <Phantom_Hoover> It got worse.
19:58:45 <elliott> Banned FOREVER?
19:59:19 <elliott> * Gregor lols @ Phantom_Hoover
19:59:20 <elliott> <olsner> what the... poor hoover
19:59:25 <elliott> If Gregor and olsner are both trying to save your life...
19:59:29 <elliott> I'd concentrate on olsner.
19:59:34 <elliott> JUST A TIP
19:59:44 <Phantom_Hoover> They're now trying to convince me that this is enough to get me kicked out of my (state) school, and that this basically means I'll be on a straight line to the dole queue.
19:59:59 <elliott> X-D
20:00:03 <elliott> What on earth happened?
20:00:14 <elliott> Did you stab a teacher or something? :-P
20:00:55 <Phantom_Hoover> (This follows *years* of them trying to get me to stop being so "arrogant" about my abilities by telling me constantly that I have shaky chances of passing my (trivial) exams, and that I won't get into university unless I spend all of my time working.)
20:01:22 <elliott> Phantom_Hoover: Move out before you're 21 or I'll give you the Sgeo treatment.
20:01:54 <olsner> virginmedia.com, guessing PH is american then?
20:02:00 <elliott> olsner: Uhhh... no.
20:02:07 <elliott> Try Scottish.
20:02:22 <olsner> oh, scottish! I know a scotsman
20:02:28 <elliott> Try SCOTTISH, available from all good retailers!
20:03:03 <Phantom_Hoover> What happened was that I confronted a teacher about some dubious claims she had made to my parents, which resulted in them phoning my parents directly and making even *more* dubious claims (read: lies).
20:03:12 <elliott> Dubious claims?
20:03:25 <Phantom_Hoover> You'd think I had stabbed a teacher, or at least taken out a knife, the way they're going on about it.
20:03:50 -!- wetneb has joined.
20:03:58 <elliott> "Honestly, I used a spoon and everything."
20:04:02 <elliott> "It was downright HUMANE!"
20:04:30 <Phantom_Hoover> They are saying that apparently I was "threatening" and that the teacher was "frightened" by me (or at least my mother is saying they did), despite the fact that she showed no signs of any emotion other than outrage at this insubordination.
20:05:27 -!- Phantom_Hoover has quit (Quit: Page closed).
20:05:55 <elliott> Sounds like fun
20:08:24 -!- Phantom_Hoover has joined.
20:08:33 <olsner> so what did you do?
20:09:14 <olsner> and why won't your parents protect you against the evil teachers and their lies??
20:10:20 <Phantom_Hoover> olsner: because they are either really spineless or think that I'm just making trouble and trying to cover for it.
20:10:40 <Phantom_Hoover> It varies from incident to incident.
20:10:51 -!- Gregor has left (?).
20:10:52 -!- wetneb has quit (Quit: Leaving.).
20:10:52 -!- Gregor has joined.
20:11:14 <Gregor> Note to self: ctrl+shift+right click = close channel.
20:12:23 <Phantom_Hoover> So yeah, if I disappear, it's either paranoia or them finding me using another computer and going nuts.
20:13:00 <Gregor> Seeing other people talk about their parents makes me realize my parents are upwards of 87% sane.
20:13:56 <olsner> I consider mine about as sane as me
20:14:20 <Gregor> My parents being 87% sane makes them considerably more sane than me.
20:15:33 <elliott> Phantom_Hoover: So was that disconnect you?
20:16:13 <elliott> Gregor: People don't exactly devote time to saying "Today, my parents were reasonable, sane, liberal, understanding, enlightened individuals and supported me."
20:17:13 <elliott> Gregor: MAYBE YOU COULD BE THE FIRST.
20:17:14 -!- Sgeo has joined.
20:17:18 -!- elliott has left (?).
20:17:20 -!- elliott has joined.
20:17:27 <elliott> Wow, ctrl+shift+right click really does leave the channel.
20:17:35 <elliott> Oh, and just as we're talking about insane parents and those who talk about them, Sgeo arrives.
20:17:37 <Phantom_Hoover> elliott's mother seems sane enough, although the whole unit thing stops me from envying him.
20:17:50 <elliott> I've mentioned my mother like... thrice
20:18:02 <elliott> Good to know you have made extensive deductions based on that :P
20:18:45 <Phantom_Hoover> Well, I should go now.
20:18:48 -!- Phantom_Hoover has left (?).
20:19:52 <Sgeo> Meh
20:20:00 <Sgeo> My dad keeps saying that I can transfer if I want
20:20:00 <Sgeo> >.>
20:28:57 <elliott> "Sad but true... this application has been removed from your computer." --uninstaller
20:30:12 -!- TLUL has joined.
20:32:14 <Sgeo> Oh right, elliott can't yell at me because I'm ignored.
20:35:41 -!- Alex_Megaroide has joined.
20:36:54 -!- MigoMipo_ has joined.
20:39:09 -!- MigoMipo has quit (Ping timeout: 240 seconds).
20:59:03 -!- Phantom_Hoover has joined.
20:59:48 -!- MigoMipo_ has quit (Read error: Connection reset by peer).
21:00:07 <Phantom_Hoover> 12:20:00 <Sgeo> My dad keeps saying that I can transfer if I want
21:00:15 <elliott> Sgeo: So transfer.
21:00:24 <elliott> Jesus, if you even have his approval...
21:00:25 <Phantom_Hoover> I can actually sympathise with Sgeo quite a bit...
21:01:24 <elliott> C:\gnu\bin\gunzip: C;/Users/Elliott/c-intercla/C:\gnu\bin/gzip.exe: No such file or directory
21:01:25 <elliott> FAIL
21:02:12 -!- Phantom_Hoover has quit (Remote host closed the connection).
21:02:15 <elliott> hmph, ais' build system is broken
21:02:24 <elliott> it doesn't handle bash 1 on win32
21:04:17 <elliott> Can configure be used to generate a Makefile appropriate for compiling on another system? pikhq?
21:14:58 -!- boily has quit (Quit: leaving).
21:15:22 -!- yorick has quit (Read error: Operation timed out).
21:16:06 -!- Tritonio has joined.
21:18:32 -!- Tritonio has quit (Client Quit).
21:19:12 -!- yorick has joined.
21:21:59 -!- yorick has quit (Read error: Operation timed out).
21:23:39 -!- Mathnerd314 has joined.
21:28:48 -!- augur has joined.
21:29:56 -!- Sgeo has quit (Ping timeout: 240 seconds).
21:41:47 -!- Phantom_Hoover has joined.
21:46:42 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
21:47:26 -!- Phantom_Hoover has joined.
21:52:24 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
21:53:17 -!- Phantom_Hoover has joined.
22:00:09 <elliott> 22:04:47 <lament> well, there's quite a lot of aztecs in mexico
22:00:10 <elliott> 22:05:05 <lament> they tend to be very poor
22:00:10 <elliott> 22:05:24 <andreou> they just reject the monetary fantasies of the westerners
22:00:10 <elliott> 22:05:40 <lament> no, they don't, they're simply poor
22:01:27 <Phantom_Hoover> XD
22:20:15 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
22:28:50 -!- cheater00 has joined.
22:33:31 -!- augur has quit (*.net *.split).
22:33:32 -!- cheater- has quit (*.net *.split).
22:33:33 -!- EgoBot has quit (*.net *.split).
22:33:33 -!- tswett has quit (*.net *.split).
22:33:34 -!- lambdabot has quit (*.net *.split).
22:33:54 -!- EgoBot has joined.
22:34:53 -!- tswett has joined.
22:35:51 -!- augur has joined.
22:45:08 -!- pikhq_ has joined.
22:45:31 -!- pikhq has quit (Ping timeout: 264 seconds).
22:52:39 <pikhq_> Aaaand another B on a math test, simply because I have little ability to pay attention to small details.
22:53:10 <oerjan> beware of the epsilons
22:53:29 <pikhq_> What gets me by in math (and CS, really) is that I find abstractions *easy*.
22:54:00 <elliott> hmm, does x86-64 itself limit the stack?
22:54:15 <pikhq_> elliott: Yes. It has a finite address space.
22:54:23 <pikhq_> *Aside from that*, no.
22:54:24 <elliott> pikhq_: :|
22:55:02 <elliott> pikhq_: So the only worry is it running into other memory, basically...
22:55:09 -!- pikhq_ has changed nick to pikhq.
22:56:10 <pikhq> elliott: Yeah. IIRC, Linux (and probably any other OS) limits the stack simply by allocating memory to it so that trying to go beyond the stack limit is a page fault.
22:56:21 <elliott> pikhq: Right.
22:56:30 <elliott> pikhq: I just want to fit a Lisp into a boot sector. :p
22:56:47 <pikhq> elliott: A boot *sector*? That's going to be hard.
22:56:52 <pikhq> elliott: 512 bytes and all.
22:57:02 <elliott> pikhq: It's more space than you'd think...
22:57:11 <elliott> The actual lisp EVAL and APPLY are trivial, can be done in dozens of bytes of machine code.
22:57:18 <pikhq> I'd imagine it's *just* enough space to get a Forth...
22:57:18 <elliott> The parser, more complicated. Keyboard input too, but you can use the BIOS.
22:57:25 <elliott> I think it'd be possible. Although without many functions.
22:57:41 <elliott> pikhq: Remember, the original EVAL was hand-translated to compact machine code.
22:57:41 <pikhq> Of course, you could then Forth you a Lisp. :P
22:57:53 <elliott> Forth might be interesting.
22:58:05 <pikhq> Hmm... Well, Lisp does have the advantage that its data structures are really, really simple.
22:58:28 <pikhq> And by "data structures" I mean "cons cell".
23:04:20 <elliott> pikhq: Exactly.
23:04:31 <elliott> pikhq: All you need are symbols and cons cells.
23:04:35 <elliott> Symbol:
23:04:40 <elliott> <WORD (length)> <CHARS>
23:04:42 <elliott> Cons:
23:04:47 <elliott> <WORD (car)> <WORD (cdr)>
23:05:03 <elliott> Oh, and for symbols you need a simple hash table. But you could just do it as a linked list for simplicity.
23:05:09 <elliott> Or even...
23:05:12 <elliott> ...naw :P
23:05:18 <elliott> (Had a terrible idea, realised it wouldn't work.)
23:06:10 -!- azaq23 has joined.
23:07:02 <elliott> pikhq: Forth might be more practical.
23:07:24 <pikhq> elliott: Well, yes, Forth is pretty much *ideal* for this use case.
23:07:38 <elliott> pikhq: Really I just want to pack a language into a bootsector so that assembly becomes completely unnecessary.
23:08:00 <elliott> i.e., I want to pack an interpreter for some language, plus code to load more sectors and execute them, into 512 bytes. (The code to load and execute more sectors could be Forth, but assembly is likely more practical.)
23:08:00 <pikhq> Forth does that more-so than others.
23:08:11 <elliott> Obviously the Forth might have to use inline machine-code later on, but if you have peek and poke...
23:08:21 <elliott> Oh, and out/in port instructions.
23:08:27 <elliott> pikhq: This is tempting now...
23:08:47 <pikhq> Though the out/in port instructions could come via peek and poke'ing a word together.
23:09:02 <pikhq> Mmm, Forth.
23:09:53 <elliott> http://www.rstudio.org/ <-- Bloody statisticians get nicer tools running on computers than we computer guys do.
23:13:14 <Mathnerd314> you too could use R
23:15:11 <elliott> What, for _programming_?
23:15:13 <elliott> That sounds painful.
23:18:34 <Mathnerd314> it has a C FFI... it's probably not any more painful than using Haskell
23:19:19 <elliott> Mathnerd314: Err, I don't know about you but I can get 99% of what I want to do done in Haskell without using the C FFI...
23:19:42 <elliott> R is very geared to statistics only... why would you say Haskell would be as painful?
23:19:52 <pikhq> Haskell isn't even painful to use in general.
23:20:02 <pikhq> Though it can be on occasion in specific cases.
23:25:51 <elliott> pikhq: Hmm, I'm thinking a Forth console in 512 bytes is totally doable...
23:26:25 <elliott> pikhq: Although the memory model might be a pain. I suppose getting into flat-memory-model protected is the best idea.
23:26:35 <elliott> Since even unreal mode requires doing that, and then jumping back out.
23:26:39 <elliott> Unfortunately that closes off the BIOS.
23:29:05 <elliott> pikhq: Cool, there are (were) 512-byte OS contests.
23:32:28 <pikhq> elliott: Well, you could actually switch between real and protected mode if you *insist* on accessing the BIOS.
23:32:44 <elliott> Ouch.
23:32:55 <elliott> It's just more convenient to start with :P
23:33:13 <pikhq> Oh, hey, you *can* access the BIOS from unreal mode.
23:34:11 <elliott> pikhq: But not protected mode.
23:34:19 <elliott> (Unreal mode is just like flat-memory protected mode, but you can cacess the BIOS.)
23:35:11 <pikhq> And with 16-bit pointers.
23:39:01 -!- azaq231 has joined.
23:39:01 <pikhq> Erm, no, not 16-bit pointers. Uh... 32-bit pointers, but you generally are only going to have 16-bit data pointers.
23:39:09 <pikhq> Erm, code pointers.
23:39:12 <pikhq> Not data.
23:39:43 <pikhq> Because most interrupts will not preserve the high bits in EIP.
23:40:06 <elliott> pikhq: Maybe protected mode would be best :P
23:40:27 -!- azaq23 has quit (Ping timeout: 240 seconds).
23:40:57 <elliott> The question now is: You can fit a Forth compiler into 510 bytes (2 for signature), but can you fit peeking, poking, port in/out words, and some sort of machine-code-word-making word, *and* a keyboard interface, into the remaining space?
23:41:13 <elliott> The keyboard code _could_ use the BIOS... except it'd be done in protected mode.
23:41:20 <elliott> So you'd have to read and write the port manually.
23:41:29 <elliott> Which makes me think it might bite off more space than is left to chew.
23:41:31 <pikhq> elliott: You'd probably do best fitting your Forth compiler with a load word.
23:42:14 <pikhq> Hmm.
23:42:19 <elliott> pikhq: But, but, I want to have a 512-byte file that I can "dd" to 512-byte media, put in a 512-byte drive, boot up, and use Forth!
23:42:29 <pikhq> Problem with getting into protected mode: that's not tiny.
23:42:31 <elliott> Admittedly a very minimal Forth where you get to write all the stdlib yourself.
23:42:51 <elliott> pikhq: Protected mode can be done in about 5 instructions + a tiny tiny table, with a sufficiently modern BIOS...
23:42:54 <elliott> (Fast A20)
23:43:05 <elliott> Err, not fast A20. Is it? It's some BIOS call, anyway.
23:43:13 <pikhq> Oh, right, newer BIOS features.
23:43:33 <elliott> : + [ 213982374982374198236 x86 ] ;
23:43:35 <elliott> (Or equivalent :P)
23:52:13 -!- Sgeo has joined.
23:55:56 -!- azaq231 has quit (Ping timeout: 240 seconds).
23:56:01 <elliott> pikhq: Actually, I wonder how big ColorForth is...
23:56:18 <Sgeo> I'm bored, what fun can I have with an EFI shell?
23:56:37 <elliott> *coloeForth
23:57:14 <elliott> pikhq: Well, color.com is 64k.
23:57:20 <elliott> But then that's the maximum COM size.
23:57:22 <elliott> I suspect it is padded.
23:57:34 <Sgeo> Maybe I should learn colorForth
23:57:53 <elliott> pikhq:
23:57:55 <elliott> ftp://ftp.ultratechnology.com/BOOT.ASM
23:57:56 <elliott> ftp://ftp.ultratechnology.com/COLOR.ASM
23:58:04 <elliott> This isn't too far off a boot sector...
←2011-02-27 2011-02-28 2011-03-01→ ↑2011 ↑all