00:10:53 -!- cheater00 has joined.
00:13:52 -!- cheater- has quit (Ping timeout: 255 seconds).
00:23:40 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
00:29:43 -!- FireFly has quit (Quit: swatted to death).
00:35:52 -!- Zuu has quit (Ping timeout: 260 seconds).
00:39:10 -!- GregorOpMonger has quit (Ping timeout: 264 seconds).
00:41:59 <oerjan> iconmaster: you might perhaps maybe consider possibly investing in a spell checker. just saying.
00:43:04 <zzo38> Did you forget? (Or did I forget?)
00:44:48 -!- Zuu has joined.
00:45:13 <zzo38> There are many computer programs that parse algebraic chess notation. But I don't know how many are done with typesetting systems.
00:47:23 <zzo38> Do you prefer descriptive notation or algebraic?
00:47:29 <zzo38> Or morse code chess notation?
00:47:42 <zzo38> How often is chess played over morse code?
00:48:11 -!- TLUL has quit (Ping timeout: 246 seconds).
00:49:45 <zzo38> How often is chess played by telephone?
00:50:11 <zzo38> How often by mail?
00:51:14 -!- pikhq_ has quit (Ping timeout: 250 seconds).
00:51:14 -!- pikhq has joined.
00:52:05 <oerjan> i guess (non e-) mail chess is rarer these days
00:52:20 <oerjan> back in the 80's it was all the rage
00:52:39 <oerjan> (my dad was an avid player)
00:53:31 <Gregor> Some people like to play chess on the order of "hours" instead of "months"
00:54:10 <oerjan> i recall a children's story in which they played chess over the telephone. the kicker was that at the end it turned out the sweet lady on the other side was ... on the other side.
00:54:43 <oerjan> that was a slow game too, only one move per call
00:54:46 <Gregor> Where the grass is always greener.
00:56:11 <oerjan> intertwined with a crime mystery
00:58:15 <oerjan> Gregor: he played chess on the order of "hours" too. probably very different, with mail you could do all kinds of literature lookup. mind you this was before the web and before computers became all-powerful in chess.
00:58:45 <Gregor> IN A TIME BEFORE COMPUTERS
00:59:14 <iconmaster> oerjan: I guess I should start writing articles on a spell-checked text editor BEFORE submitting it... That would work.
00:59:30 <iconmaster> oerjan: And thank you for putting up with my spelling errors.
00:59:50 <oerjan> iconmaster: i nearly always compose longer pieces in vim even if i'm a reasonably good speller
01:00:14 <oerjan> for one thing it guards against those annoying timeouts
01:00:23 <zzo38> Of course if you have a sufficiently powerful computer, it can always win at chess (if programmed correctly).
01:00:43 <zzo38> Same with Go, although an even more powerful computer would be required, way more powerful.
01:01:14 <zzo38> No computer will ever be good at Rock-Paper-Scissors, though.
01:01:16 <Gregor> s/always win/always win or stalemate/
01:01:52 <oerjan> zzo38: a computer can be _perfect_ at rock-paper-scissors, if it has a perfect random number generator.
01:02:22 <Gregor> oerjan: Then your definition of "perfect" is sorely lacking :P
01:02:29 <oerjan> perfect in the sense of game theory, that is
01:02:44 <zzo38> Gregor: Yes, possibly stalemate too. Although if they make such a computer they might figure out solving it entirely whether black or white has an advantage, and if so, how much.
01:02:52 <oerjan> ok maybe not perfect in taking advantage of inferior players
01:03:13 <Gregor> zzo38: Sure, but the generalization has to allow for stalemate, since not all games will have a distinct sidedness.
01:03:33 <zzo38> Gregor: Yes, I did consider that, too.
01:03:44 * oerjan recalls there was a game, hm let me look it up...
01:04:26 <oerjan> http://en.wikipedia.org/wiki/Hex_(board_game)
01:04:49 <oerjan> it's always a win for the first player, this can be proven despite no one knowing what the winning strategy _is_
01:05:58 <zzo38> They tried to build computer to win at Rock-Paper-Scissors tournament, but then they realize it is impossible. There are a lot of players in the tournament and some are really good at it, so they will beat the other players, and so on. So the computer has a very small chance of possibly winning the tournament. At a single game though, with perfect random number generator, the computer expect to win 50% regardless of their opponent's plays.
01:07:14 <zzo38> Playing at random is called chaos play. The official strategy guide labels the difficulty of the chaos play strategy to be infinite.
01:07:36 <zzo38> (Not only is it infinitely difficult, but you cannot expect to win more than 50%.)
01:08:12 <oerjan> zzo38: aha so the computer can lose a "hill" even if doesn't really lose against any single player
01:08:34 <zzo38> oerjan: Yes, like that.
01:09:20 -!- augur has quit (Remote host closed the connection).
01:09:42 <zzo38> At a game like backgammon, a sufficiently powerful computer cannot always win, but it might be able to win a very large amount of the time (I do not know what the maximal probability of winning backgammon is with best strategy).
01:11:59 <pikhq> Actually, one could build a rock-paper-scissors computer that would be better than a human.
01:12:05 <pikhq> Humans have a tendency to choose scissors.
01:12:22 <pikhq> Not that it would *win*, but it would be *better*.
01:13:07 <zzo38> pikhq: Not better against a good player.
01:13:53 <zzo38> But perhaps better than bad players.
01:15:30 <zzo38> I have also read rules of a chess variant for SCA, that uses dice. Most of the pieces do not move very far. On each turn you roll two dice and the number tells you what kind of pieces you are allowed to move.
01:16:27 <zzo38> The knights (which are the same as FIDE chess) are the only ones that are allowed to move more than one space (and are forced to move more than one space).
01:16:58 <coppro> I want an omega chess set
01:20:08 <zzo38> coppro: Do you know where to buy it?
01:20:28 <zzo38> I have a shogi set.
01:20:58 <zzo38> But it isn't very good because the board is paper. The pieces are OK, though.
01:22:33 <coppro> zzo38: I haven't seen an omega chess set in a brick-and-mortar store
01:22:36 <coppro> not even the Sentry Box
01:22:40 <Gregor> http://codu.org/wiki/N-in-a-row%20game Vague musings on an unsolvable game.
01:23:24 <coppro> and bgg appears to be down right now
01:25:02 -!- augur has joined.
01:25:50 -!- iconmaster has quit (Quit: ALLAGUF?).
01:27:25 * Sgeo wonders what Infinity Chess is like to play
01:28:03 <coppro> there is no such thing as infinity chess
01:28:15 <zzo38> I have seen a chess problem that says "checkmate in infinity plus fifteen".
01:28:39 <Sgeo> coppro, as in..
01:29:37 <Sgeo> The board looks like the infinity symbol, except one of the loops is smaller than the other
01:29:41 <oerjan> so omega chess isn't infinite chess?
01:30:21 <Sgeo> The name reminded me of it
01:30:37 <oerjan> checkmate in omega plus fifteen would be a perfectly reasonable thing then...
01:30:38 <coppro> chess variants does not have it
01:31:20 -!- cpressey has joined.
01:31:51 <cpressey> so i guess if i want to announce something, using the topic of this channel isn't a good option, huh
01:32:08 <Sgeo> coppro, is there a weird boards category of chess variants?
01:32:11 <zzo38> cpressey: Just announce it as a normal message at first.
01:32:51 <cpressey> zzo38: well, i don't have anything -- yet. i was just figuring, it'll only stay up for a short time, then optbot will trample it
01:32:51 <optbot> cpressey: it's unfinished, although finished to the point that you can consider it a very buggy finished product as opposed to an unfinished one
01:33:16 <cpressey> but haven't been able to do much while at pycon
01:33:58 <zzo38> cpressey: What is it, though? Once you do it, just type something about it to the channel if you want opinion or whatever.
01:34:35 <Sgeo> The Wikipedia page for Chess variant has it
01:34:44 <oerjan> cpressey: we _could_ set the channel +t for a while, i guess...
01:35:02 <zzo38> oerjan: No, I think that is not necessary; just announce it normally.
01:35:10 <oerjan> cpressey: prevent topic changes
01:35:15 <Sgeo> http://www.boardgamegeek.com/boardgame/32793/infinite-chess
01:35:17 <zzo38> Even announce in topic message if you want but of course someone can change it
01:35:20 -!- cpressey1 has joined.
01:35:28 <Sgeo> That has to be it, although I remember it looking a bit different
01:35:37 -!- cpressey1 has left (?).
01:35:40 <oerjan> zzo38: the thing is now optbot changes the topic automatically every six hours
01:35:44 <coppro> Sgeo: I can't connect to bgg for whatever reason
01:35:46 <Sgeo> http://www.colebank.com/ichess/index.asp
01:35:46 <zzo38> I think this channel is locked to -t though
01:35:57 <Sgeo> "Experiencing God"
01:36:03 <zzo38> oerjan: I think you should remove that function from optbot and have people change it manually.
01:36:03 <optbot> zzo38: elliott_, I know I don't have any
01:36:07 <oerjan> zzo38: i'm sure there's some chanserv command to change that
01:36:20 <oerjan> zzo38: it's not my bot
01:36:24 <zzo38> Yes there is some command to change mode locks if you are the owner of this channel.
01:36:37 <zzo38> But otherwise it is locked to +nc-mst and you cannot change that.
01:36:46 <oerjan> hm must one be founder?
01:36:49 <zzo38> oerjan: Then who is it?
01:36:52 -!- augur has quit (Remote host closed the connection).
01:37:24 <Sgeo> The "Experiencing God" thing is not what I linked to, it's just another page on the same site
01:38:15 <zzo38> There is a category for chess game with different shape boards http://www.chessvariants.org/index/mainquery.php?type=Game&category=Shape&startswithletter=&language=English&daysyoung=0&daysold=0&minyearinvented=&maxyearinvented=&boardrows=0&boardcols=0&boardlevels=0&boardcells=0&authorid=&inventorid=&orderby=LinkText&usethisheading=Game+with+different+shape+boards&displayauthor=on&displayinventor=on®expurl=®explinktext=
01:38:41 -!- amca has joined.
01:39:18 -!- augur has joined.
01:40:42 <cpressey> wait, isn't there a ST:TNG episode with Q that has something like that...? probably not
01:40:54 <zzo38> What icons should I add in chess font? There is enough for 63 different kind of pieces, and I already have all 6 FIDE pieces, as well as: circle, vizier, firzan, inverted rook, crescent moon, amazon, knight rider.
01:40:59 <cpressey> there is an episode of Dr Who with eternal-type beings in a boat race though
01:41:27 <cpressey> b/c he has nothing better to do
01:41:45 <zzo38> cpressey: What is GodChess?
01:43:08 <cpressey> zzo38: i don't know. i just randomly put together words that seemed to be coming from Sgeo's direction
01:43:48 <zzo38> cpressey: If there is no game like that, then invent a game like that.
01:44:02 <Sgeo> cpressey, keep doing that, and we may have to put you into an Asylum build system.
01:44:33 -!- ChanServ has set channel mode: +t.
01:44:47 -!- ChanServ has set channel mode: -t.
01:44:51 <cpressey> coming up with the name is the first step to inventing it, but i invite anyone who might be more intrigued with the concept to do so
01:45:06 <cpressey> i still say it was an episode of ST:TNG with Q, or should have been
01:45:21 <oerjan> zzo38: apparently i have enough permissions for changing mode lock
01:45:22 <cpressey> and of course he would have used the Enterprise as an, uh, pawn
01:45:25 <zzo38> cpressey: I know how to invent chess variants, but you can make some ideas about it too.
01:46:04 <zzo38> oerjan: Well, maybe you do, but I still think you shouldn't. Instead you should tell whoever programmed optbot to change the frequency of topic message changes to one week instead of six hours.
01:46:04 <optbot> zzo38: seriously? that is the ugliest thing ever
01:46:30 <cpressey> zzo38: optbot does NOT approve of your suggestions.
01:46:39 <zzo38> Actually, no. Not one week. Set it to 24 hours after the last change.
01:46:54 <cpressey> or change only the part after the last |
01:47:13 <zzo38> So, not every 24 hours, but 24 hours after the last change, but 1 minute if the log URL is missing.
01:47:56 <zzo38> cpressey: That is another possibility, I guess.
01:48:26 <oerjan> zzo38: one week would sort of remove the fun of it. maybe elliott could put some command in to let people change what optbot puts before its own part
01:48:26 <optbot> oerjan: you don't happen to have an escape character for inserting controls now?
01:48:33 <zzo38> optbot: What do you mean is the ugliest thing ever?
01:48:33 <optbot> zzo38: The question is not "do I need (s+n)?", it's "can I make GGGGGGGGGGGGC support (s+n)?".
01:48:49 <zzo38> oerjan: I know one week is too long, which is why I almost immediately took back that suggestion.
01:50:08 <zzo38> I think a certain amount of time *after the last change* is better, perhaps 24 hours is good.
01:51:13 <optbot> cpressey: I like how [[Offended]] starts with cute rabbit pictures
01:51:45 <cpressey> all rabbit pictures are cute rabbit pictures
01:52:00 <oerjan> zzo38: well as of now i think optbot doesn't actually look at topic changes other than its own, it could do all sorts of things once it can do that
01:52:01 <optbot> oerjan: well, many are, but there's plenty of finite ones as well
01:52:27 <cpressey> i guess, unless the rabbits in question are dead. they used to test pregnancy that way somehow, i ought to figure out exactly how someday
01:52:58 <oerjan> cpressey: myxomatosis.
01:54:19 <cpressey> oerjan: ok, good first step. but the wikipedia article on it says bubkis about pregnancy, human or otherwise, so i'm still wondering what the connection is
01:54:47 <oerjan> cpressey: it was a counterresponse to "all rabbit pictures are cute rabbit pictures"
01:55:09 <cpressey> oerjan: oh. then: s/dead/dead or sick/
01:55:48 <cpressey> Sgeo: oh you mean like http://www.snopes.com/pregnant/rabbit.asp
01:55:51 <zzo38> I have invented many chess variants.
01:56:33 <cpressey> snopes seems to have wacked my browser. thanks snopes
01:58:16 <cpressey> i have invented no chess variants
01:58:28 <cpressey> start with chess, remove the bishops.
01:58:37 <cpressey> i have invented a chess variant
01:58:49 <zzo38> cpressey: Yes it does that to me too. Turn off plugins, javascript, images, metarefresh, and subdocuments, and so on, and select printer friendly pages. Now it works much better.
01:59:05 <zzo38> cpressey: You are not the only one to have invented that variant.
01:59:32 <zzo38> Actually, turn on meta refresh.
02:01:41 <Sgeo> When I was a kid, I saw kids in the before-school YMCA try a variant: Chess without pawns
02:01:48 <cpressey> when a pawn reaches the other side of the board, it is removed from the board for a number of turns chosen by the player. after a wait of one turn it can return as a knight, two turns a bishop, three turns a rook, or four turns a queen
02:02:09 <cpressey> less likely someone else has invented that (relatively minor) variant
02:03:01 <cpressey> how about "pawns move like rooks"
02:04:27 <cpressey> or how about "bishops can self-destruct, destroying that square on the board (no other piece can ever move into or over that square)"
02:04:32 <cpressey> well maybe knights could move over
02:04:43 <oerjan> hm i recall this variant with only pawns and king...
02:05:06 <cpressey> i recall that as some kind of end-game thing
02:05:26 <cpressey> specifically, a computer program for playing it
02:05:36 <cpressey> unless you're thinking, like, all eight pawns
02:05:56 <oerjan> i think it was all eight
02:06:22 <oerjan> i cannot find it again, because the obvious name for it happens to be the _actual_ norwegian for tic-tac-toe
02:07:03 <oerjan> it may have been just in some chess book
02:07:46 <oerjan> (norwegian for tic-tac-toe is "bondesjakk" which directly translates to pawn chess)
02:09:38 <cpressey> i mean, for checkers, maybe, ok
02:10:27 <cpressey> btw, what do you call a tie in tic-tac-toe, in norwegian?
02:10:38 <cpressey> (a tie meaning, a draw, a stalemate)
02:10:40 <oerjan> actually it's a bit ambiguous between three-in-a-row or five-and-row games
02:10:52 <oerjan> Deewiant: um well that too
02:11:07 <Deewiant> I'd say it's specifically that :-P
02:11:08 <oerjan> pawn and farmer are both "bonde" in norwegian
02:12:19 <Deewiant> It's like Finnish "jätkänšakki"; I think it's just being derogatory about these people who play tic-tac-toe instead of chess
02:13:23 <oerjan> cpressey: i don't know if there's a specific word for tie in tic-tac-toe in norwegian
02:13:41 <cpressey> ah. there is a specific phrase in english, is why i asked
02:13:45 <oerjan> the usual word would be "uavgjort", although in chess it's "remis"
02:15:48 <oerjan> checkers is "dam" in norwegian, although chinese checkers is "kinasjakk"
02:16:08 <zzo38> That is because chinese checkers is a different game.
02:16:26 <cpressey> and then there's turkish draughts
02:16:44 <oerjan> zzo38: yes, but it's also not similar to chess, which the norwegian name would imply
02:17:02 <cpressey> http://www.phrases.org.uk/bulletin_board/44/messages/373.html <-- various entertaining theories on the origins of "cat's game"
02:18:59 <oerjan> wtf happened to the style of norwegian wikipedia
02:19:37 <cpressey> you're asking the wrong person
02:19:38 <Sgeo> That's distressing
02:20:08 <cpressey> nope, can't help you. looks like wikipedia to me
02:20:35 <oerjan> it was only that one page
02:20:48 <oerjan> similar to what cheater00 experienced the other day
02:20:59 <oerjan> except shift-reload did _not_ fix it for me
02:21:00 -!- pikhq_ has joined.
02:21:09 -!- pikhq has quit (Ping timeout: 255 seconds).
02:21:13 <cpressey> "Janis Joplin (1943–1970) var ein amerikansk songar, låtskrivar og musikalsk arrangør."
02:21:41 <oerjan> http://no.wikipedia.org/wiki/Xiangqi looks horrendous to me
02:22:24 <cpressey> oh, i reloaded, and it appeared
02:22:24 <oerjan> oh so that looks bad for you too?
02:22:34 <cpressey> first time, it did: missing stylesheet
02:23:03 <oerjan> ah now it finally loaded right
02:23:20 <Sgeo> pikhq_, you here?
02:23:31 <oerjan> i am _sure_ i tried crtl+shift+reload once before
02:23:33 <Sgeo> Or anyone else somewhat capable of reading Japanese?
02:23:43 <Sgeo> Can someone say what http://i.imgur.com/fT4Wm.png says?
02:24:03 <cpressey> the css is coming from a PHP script on a server called bits.wikimedia.org. probably this is new, and less reliable than a static file. i'm guessing
02:24:37 <cpressey> sorry, knee-jerk troubleshooting reaction
02:24:47 <cpressey> i work at a place that makes websites
02:26:21 <Sgeo> cpressey, an error I gt
02:26:37 <Sgeo> I know of no special Chinese or Japanese programs on my computer.
02:26:51 <cpressey> Sgeo: i would be totally freaked out, then
02:27:05 <cpressey> do you run any sort of spyware and/or virus checker?
02:27:08 <Sgeo> cpressey, I kind of am reaked out a bit
02:27:29 <oerjan> Sgeo: i would suggest trying to copy and paste that title bar into google translate...
02:27:30 <pikhq_> Sgeo: That is definitely not Japanese.
02:27:37 <cpressey> I know someone who can read chinese, and I can ask him, but I won't see him until tomorrow
02:27:39 <Sgeo> It's already closed
02:27:51 <Sgeo> I didn't think it was possible to copy-paste from title bars
02:28:04 <cpressey> maybe there's something that will let you OCR chinese characters online...
02:28:07 <pikhq_> Looks to be Chinese, either Hong Kong or Taiwan-origin.
02:28:33 <oerjan> Sgeo: ok maybe it isn't possible
02:29:11 <oerjan> maybe you can find some copyable program listing somewhere...
02:30:54 <oerjan> hm if you interpreted random bytes as unicode, what is the chance that the result would look chinese...
02:31:57 <oerjan> except i see some repeated characters in there
02:32:20 <oerjan> like the two ones after the dots
02:32:25 <cpressey> if you picked humans at random, which is the chance they would be chinese
02:32:27 <Deewiant> Binary data in UTF-16 often looks like Chinese
02:32:51 <Sgeo> Is googlecodesamples.com genuine Google?
02:33:03 <Sgeo> WOT likes it, but I see no other indication that it's safe
02:33:15 <cpressey> there is one character that looks non-chinese there... sort of like "s?"
02:34:36 <cpressey> Sgeo: try googling "googlecodesamples.com" -- if google owned it, do you think its result would look like that?
02:34:54 <cpressey> Server Clock: Server-Sent Events, <canvas>, PHP [source]; Offline eBook Reader: Google Chrome Background App feature, AppCache, Server-Sent Events, ..."
02:35:14 <Gregor> NOTE EVERYONE: creat@libc.so is STILL AVAILABLE! Donate now and you could be creat@libc.so!
02:35:37 <cpressey> Gregor: you should totally announce that in the topic
02:35:54 <Sgeo> It's not Google owned
02:36:04 <Sgeo> But it looks like its code is online. Supposedly.
02:36:44 -!- Gregor has set topic: Donate to the Gregoran Somalian Relief Fund, and help Gregor buy libc.so! | Benefits of donation include a vanity <libc symbol>@libc.so email address if I win (and a full refund if I don't); creat@libc.so is still available! | logs: http://tunes.org/~nef/logs/esoteric/?C=M;O=D and http://208.78.103.223/esoteric/.
02:39:40 <cpressey> so Gemooy has an instruction pointer and a data pointer both pointing into the same playfield. i want a language like that, with two pointers into the playfield, but neither is "instruction" or "data", instead they... share those responsibilities equally.
02:39:44 <Sgeo> Is exit@libc.so still available? What about system?
02:39:49 -!- Sgeo_ has joined.
02:39:54 <Sgeo> Fuck off, Sgeo_
02:40:17 <Gregor> Actually only malloc, free and fork are explicitly taken, everybody else who's donated has said "I'll choose later durpadurp"
02:40:21 <cpressey> how about cpressey@libc.so? OMG SO MISSING THE POINT
02:40:33 <oerjan> Sgeo: i find references on this google page: http://www.google.com/support/forum/p/apps-apis/thread?tid=215415e044109197&hl=en
02:41:16 <oerjan> i think it may be official
02:41:22 -!- Sgeo_ has quit (Client Quit).
02:41:31 <Gregor> cpressey: No, but memcpy and strcpy are available, and both have "cp" in them :P
02:42:08 <oerjan> or at least officially tolerated
02:42:15 <Sgeo> Oh come on. I write a lengthy quit message, and Freenode nurfs it?
02:42:45 <oerjan> because everyone wants some cp
02:43:10 <oerjan> Sgeo: you have to be logged on for a certain time before quit messages show
02:43:33 <cpressey> Sgeo: do a whois googlecodesamples.com
02:44:40 <Sgeo> At any rate, lemme just revoke access
02:44:46 <Sgeo> The OCR thingy failed, btw
02:45:21 <Sgeo> It's not like it asked for my password >.>
02:45:26 <cpressey> i'm not sure why google would tolerate another website claiming "(c)2011 Google" at the bottom of the page
02:46:39 <oerjan> http://www.google.no/#hl=no&safe=off&biw=1053&bih=620&q=%22googlecodesamples.com%22+site:google.com&aq=f&aqi=&aql=&oq=&fp=6f1a8d5df66b6a9c
02:47:14 <oerjan> not sure what to make of it
02:48:14 <cpressey> oerjan: hm. maybe they intended it as an example url? i notice they don't actually have it in links, just text
02:48:36 <cpressey> you're *supposed* to use example.com for that sort of thing though
02:49:02 <oerjan> cpressey: there is at least one place it's a link, in a message by a google employee in the link i pasted a bit further up
02:49:50 <cpressey> are there any other domain names that contain the name google are are known to be owned by them>
02:50:09 <cpressey> googlecode.com redirects to code.google.com
02:50:28 <cpressey> whois on that gets back their mountain view office
02:50:43 <cpressey> so -- if googlecodesamples is legit, why on earth did they register it by proxy
02:53:08 <oerjan> i suppose someone may have squatted it after google used it in text but forgot to register it
02:53:42 <cpressey> Sgeo: at any rate, if you want one of those addresses, there is really only one that makes sense: sbrk@libc.so
02:54:16 <cpressey> oerjan: that would make sense; i almost reasoned that far but didn't quite make it
02:54:17 <Ilari> 23.9% of APNIC pool available at the start of this month has already gone poof (9 business days). Crazy.
02:54:21 <Sgeo> cpressey, why?
02:54:35 <Sgeo> Because both sbrk and Sgeo start with s and are 4 letters?
02:55:14 <cpressey> Sgeo: because system() and exit() are for peasants! everyone calls exit()! who calls sbrk()??? only REAL PROGRAMMERS, that's who!
02:55:25 <oerjan> cpressey: there definitely don't seem to be any high-ranked pages _warning_ against it, though
02:56:33 <cpressey> or how about 'fsck@libc.so', to advertise a delicate, cultured confusion about unix.
02:57:14 <Sgeo> What is not a correct way to reformat a file system, Alex?
02:57:35 <oerjan> "Created on: 6/30/2008 12:57:19 PM
02:58:45 <oerjan> it's not new enough to be something google hasn't discovered yet
02:58:56 <cpressey> yeah, maybe they just don't care
02:59:12 <cpressey> or, it's theirs, in some weird convoluted way
02:59:30 <oerjan> next theory: someone squatted it, quickly got threatened by google's lawyers, and google now owns it but still via the same registrar they originally used
02:59:32 <Gregor> Man, this svr4 .so file is confusing the eff out of nm, readelf and objdump :P
02:59:33 <cpressey> at any rate i don't think it's any kind of threat, exactly
03:00:27 <Gregor> sbrk is pretty great :P
03:00:35 <Gregor> and fsck isn't a libc symbol.
03:01:01 <cpressey> Gregor, unlike cpressey, is apparently not into the delicate, cultured confusion thing. So be it.
03:01:23 <cpressey> i curse thee, DST. i need to get to bed
03:01:31 -!- cpressey has quit (Quit: leaving).
03:01:40 <Gregor> Apparently svr4 had "pcopy"
03:13:54 <pikhq_> *Aaaah*, decaf. Because I both want coffee and want to sleep tonight.
03:16:26 <Gregor> I really wish I had a legit C compiler in my svr4 install :(
03:27:44 -!- wareya_ has joined.
03:30:47 -!- wareya has quit (Ping timeout: 252 seconds).
03:31:36 <oerjan> did quintopia finish his new bfjoust scoring?
03:32:11 <variable> Gregor: did you end up getting it?
03:32:31 <Gregor> variable: Like I said, it's up for auction.
03:32:59 <Gregor> April 4th. It opens March 28th :P
03:33:28 <Gregor> You could still have a good email address ;)
03:34:47 * variable goes back to work on ports stuff
03:53:37 <Gregor> c-parse.y:1650.19-20: $$ for the midrule at $4 of `structsp_attr' has no declared type
03:54:45 -!- zzo38 has quit (Remote host closed the connection).
03:57:58 -!- BeholdMyGlory has quit (Remote host closed the connection).
04:03:44 -!- azaq23 has quit (Ping timeout: 246 seconds).
04:13:48 -!- Gregor has changed nick to creat.
04:13:58 <creat> I HAS BEST NICK EVER
04:14:51 * pikhq_ should change his name to longjmp.
04:15:38 -!- augur has quit (Remote host closed the connection).
04:25:32 <creat> pikhq_: Only if you buy longjmp@libc.so :P
04:40:15 <creat> Hmmmmm, it's pretty OK, but :P
04:40:50 <creat> creat is more tongue-in-cheek :P
04:58:39 -!- augur has joined.
05:17:56 <creat> augur: Vanity libc.so email addresses!
05:18:33 <creat> augur: I'm soliciting donations to try to win libc.so in a closed auction. As benefit for donating, I'm offering vanity <libc symbol>@libc.so email addresses if I win :P
05:19:21 <creat> Ohyeah, I'm Gregor btw X-D
05:20:06 -!- creat has changed nick to Gregor.
05:20:34 <Gregor> Snagged creat while it was available :P
05:20:55 -!- zzo38 has joined.
05:21:06 -!- optbot has set topic: logs: http://tunes.org/~nef/logs/esoteric/?C=M;O=D and http://208.78.103.223/esoteric/ | I don't think she'll be too happy with me for letting you do this, but I'm not sure how many entries we'll be having in the first place..
05:21:42 <zzo38> They should disable optbot until this problem can be corrected
05:21:42 <optbot> zzo38: 0xfoo is what I prefer of the alternatives
05:22:01 <Gregor> As far as the author is concerned, this is a feature X_X
05:22:28 <zzo38> Maybe, but it still ought to be corrected.
05:22:47 <zzo38> It ought to change topic messages less often and only under the correct circumstances.
05:23:04 <zzo38> (Or else disable that function entirely is another possibility)
05:23:15 <Gregor> The preferable possibility.
05:23:57 <zzo38> Do you know who wrote that program?
05:25:48 <zzo38> Do you know Betza Notation for moves of pieces in chess variants?
05:27:27 -!- dbc has quit (Quit: Seeeeeya).
05:29:01 <zzo38> I have my own. I will proceed to type the notation for the moves in FIDE (ignoring special rules such as en passan, promote, double step, castling, check). Rook is "xr1". Bishop is "1r1". Queen is "(x|1)r1". King is "(1)x1". Knight is "2x1". Pawn is "(1c|m)1+".
05:29:13 <zzo38> oerjan: Can you ask elliott to correct it please?
05:29:25 <Gregor> oerjan: Can has optbot banned? :P
05:29:25 <optbot> Gregor: (assuming b /= 0)
05:29:33 <oerjan> you could do it yourself if he were here.
05:30:05 <zzo38> Gregor: Yes, that is an idea to temporarily ban optbot until this problem can be corrected, I guess.
05:30:05 <optbot> zzo38: Interesting way to describe Caramac.
05:30:05 <oerjan> Gregor: that was in response to zzo38
05:30:52 -!- dbc has joined.
05:31:21 <zzo38> Do you like my notation for moves of pieces in chess variants?
05:31:25 <oerjan> i _am_ still willing to put a temporary +t on the channel, though.
05:31:29 <Sgeo> Tried to nick to bdb
05:31:32 <Sgeo> Someone's using it
05:33:24 <Gregor> oerjan: With what topic?
05:34:08 <oerjan> the one from just before now?
05:34:26 -!- Gregor has set topic: Welcome to #esoteric, the international hub for esoteric programming language design and deployment - #esoteric is not associated with the joke language Perl, for that language please visit www.perl.org or #perl - logs: http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
05:34:44 <Gregor> I don't want it to be QUITE that self-serving :P
05:35:08 <oerjan> er... what's the point in locking that
05:35:26 <oerjan> it doesn't even have the herobrine logs.
05:35:44 <zzo38> Then perhaps do not lock it. Ask elliott whenever they come on, to correct it.
05:35:52 <oerjan> i meant if someone actually had some information that needed to stay on it.
05:36:40 <Gregor> I don't NEED my libc.so fund to stay in the topic, it just seems stupid that it's being preempted by a fucking markov chain.
05:36:58 <oerjan> yes, so ask elliott to fix it.
05:36:59 <Gregor> I wouldn't care if a human was replacing it.
05:37:06 <zzo38> For the purposes of this chanenl, I think nobody has information that needs to stay on it. However, I still think optbot ought to be corrected to change the message less often and not if it has been changed recently.
05:37:36 <Gregor> optbot should, at most, change the topic iff it doesn't link logs.
05:37:57 <oerjan> Gregor: oh, i am perfectly willing to ban optbot if elliott doesn't make its topic changes less annoying _after_ a warning.
05:37:57 <optbot> oerjan: I agree, carrier pigeons would be more reliable, if slower on average
05:38:02 <zzo38> Gregor: Very good idea I think.
05:38:22 <zzo38> oerjan: Also it is a good idea to give a warning first.
05:38:39 <zzo38> And then ban it temporarily until it can be corrected, if it is still not corrected.
05:40:08 -!- Gregor has set topic: Donate to the Gregoran Somalian Relief Fund, and help Gregor buy libc.so! | Benefits of donation include a vanity <libc symbol>@libc.so email address if I win (and a full refund if I don't); creat@libc.so is still available! | logs: http://tunes.org/~nef/logs/esoteric/?C=M;O=D and http://208.78.103.223/esoteric/.
05:40:34 <oerjan> i don't care about the frequency of optbot's changes, but there should be a way to keep things in the topic.
05:40:34 <zzo38> Gregor: Perhaps, either when it doesn't link logs or [some length of time] after it has been last changed, whichever comes first. The length of time here should be at least 24 hours, maye even 7 days if you *really* don't want it changed automatic like that!
05:40:35 <optbot> oerjan: hard to render kanji in low-res, and kana would have been quite long
05:41:00 <Gregor> There should be no timer. Period.
05:43:33 <zzo38> No, I think there should be, but it should count from the last change by anyone and it should be very long (make it fourteen days if you are really concerned, or maybe even twenty-eight days). Unless the logs are not linked, in which case the topic change is activated immediately instead. This channel many topic message change, so if it has not changed in fourteen days, it is time to change it!
05:43:56 <Gregor> Fine, but it's never time to change it to a MARKOV CHAIN >_<
05:45:46 <zzo38> Gregor: Maybe. Perhaps it can select at random from a list, one choice is markov, one is quotes database, and so on. And then decide at random from that.
05:46:34 <zzo38> And it is important that it counts from the last change that anyone made, instead of counting the time only from its own changes.
05:46:36 <oerjan> well i disagree with both of you, so there.
05:46:43 -!- azaq23 has joined.
05:46:51 <zzo38> oerjan: What is your opinion then?
05:47:41 <Sgeo> Gregor, but I want a C++ keyword!
05:47:59 <Gregor> Sgeo: Donate $100 or more and I'll give you anything @libc.so :P
05:48:36 <pikhq_> I'm not sure optbot is actually a Markov chain.
05:48:36 <optbot> pikhq_: Not that I have any clue whether gcc would understand that access via that "bar" pointer there would be 16-byte-aligned. Or what auchar[1] would mean. Maybe there would be padding.
05:48:51 <pikhq_> It's too semantically meaningful.
05:49:02 <pikhq_> I think it's doing random log quotes.
05:49:50 <Sgeo> <optbot> I think it's doing random log quotes.
05:49:51 <optbot> Sgeo: alise, that text is blurry though.
05:50:43 <optbot> zzo38: yeah it still says it doesn't know the magnet protocol
05:50:51 <optbot> zzo38: We could name it "Norton utilities", after the great Discordian Saint.
05:50:55 <optbot> zzo38: maybe he meant if you've checked from DSM you can't be sane
05:51:02 <Gregor> OK, definitely random log quotes.
05:51:02 <Gregor> So yeah, EVEN WORSE than a Markov chain X_X
05:51:08 <oerjan> zzo38: i do not think we should make rules that are more strict than what's needed to solve what is an actual problem. i consider the actual problem here to be that optbot wipes out information from the topic.
05:51:08 <optbot> oerjan: ar isn't difficult.
05:51:19 -!- zzo38 has changed nick to fungot[optbot.
05:51:21 <optbot> fungot[optbot: I also don't use reminder text in my cards generally (even if it has no flavor text or arts)
05:51:27 -!- fungot[optbot has changed nick to zzo38.
05:51:42 <pikhq_> I do believe that was an actual zzo38 quote.
05:52:03 <zzo38> pikhq_: Yes, I think it is something I was doing with Magic: the Gathering cards.
05:54:58 -!- asiekierka has joined.
05:55:52 <zzo38> Although I have never connected there, someone told me that FurNet immediately disconnects you if certain words are received from you. However, I want to try connecting from a computer with a reverse DNS containing one of those words.
05:58:26 <zzo38> While SlashNet does not immediately disconnect you, but some commands are prohibited if they contain prohibited words, while others do different things in that case. PRIVMSG is then prohibited but not NS, and using it with QUIT causes your quit message to be suppressed but it otherwise works normally.
05:59:11 <pikhq_> Such a thing, no doubt, suffers from clbuttic problems.
06:00:49 <zzo38> The word happens to be "start keylogger" without the space (some faulty security programs disconnect you if you receive it on IRC). There are also other words such as a command to send a file but with a too long filename, that also is one of the words that is considered prohibited.
06:01:15 <pikhq_> Definitely clbuttic problems.
06:01:56 <zzo38> pikhq_: Yes, there is, a bit.
06:02:19 <zzo38> (I, myself, do not think the IRC server should do that. Or, at least, make it a usermode for the receiver.)
06:02:30 -!- amca has quit (Quit: bye).
06:03:06 <coppro> I consider naive filtering to be a clbuttic mistake
06:03:45 <coppro> it rarely even buttists in solving the problem; it's no more effective than a glbutt wall
06:03:45 -!- EgoBot has quit (Remote host closed the connection).
06:04:07 <zzo38> coppro: Yes I do, too. A clbuttic mistake is found in many things and doesn't work well in many cases.
06:04:21 <zzo38> In fact it should be avoided.
06:05:14 <zzo38> (Or, at least, made into a usermode for the receiver. Some forum software makes it a configuration option in the preferences of the receiver. Some even allows custom filters as well as setting which ones are sender, receiver, or both.)
06:05:43 <zzo38> (And I mean the individual users can define custom filters for themself. I just turned off all built-in and custom filters.)
06:06:27 <zzo38> But, still, if someone is able to configure their reverse DNS, try connecting to FurNet with the forbidden words in your reverse DNS to see what happens.
06:06:45 <coppro> consider the english language as a canvbutt; why restrict users from using certain colors?
06:08:04 <zzo38> coppro: Yes I agree that you should not restrict users in this way. They can decide for themself not to use certain colors, words, phrases, sentences, or whatever. Or, decide to use anything; perhaps even non-English texts if they will include some in whatever they are typing.
06:08:38 <coppro> I concur wholeheartedly
06:12:04 <zzo38> Other similar mistakes that are meant not to censor/filter words but other things, also sometimes do that, such as someone wanted to replace their HTML with XHTML, so they just did a global search/replace "br" to "br /" and obviously that mixed up every word with "br" in it (replacing "<br>" would have been better, but still not perfect).
06:12:46 <zzo38> Or, in one instance someone managed to remove all "t" (only lowercase) from their main webpage (both inside and outside of tags).
06:16:08 <zzo38> What is your opinion about my notations for describing how pieces can move in a kind of chess variant game?
06:16:29 <coppro> I have not seen that variant or notation
06:16:49 <zzo38> coppro: Notation for FIDE pieces: Rook is "xr1". Bishop is "1r1". Queen is "(x|1)r1". King is "(1)x1". Knight is "2x1". Pawn is "(1c|m)1+".
06:17:32 <zzo38> I am not describing particular variants; I am talking about a general notation that might be used for multiple kind of games. Betza notation is another such notation.
06:18:00 <coppro> as I can't, from the FIDE pieces and your notation, understand the notatoin
06:19:17 <zzo38> coppro: OK I can explain a bit. It can have a form [horizontal-direction][horizontal-number][move-flags][vertical-number][vertical-direction].
06:19:49 <zzo38> Where "r" means rider, "x" means the horizontal and vertical can be swapped, and so on.
06:19:55 <zzo38> Now can you understand it a bit?
06:21:43 <zzo38> For the Rook example, "xr1" is where "1" is the vertical-number, "x" means that it could be horizontal instead, "r" means it can move multiple times in that direction. So, it can move horizontal or vertical, moving one step each time and is allowed to move more than one space.
06:22:51 <coppro> ah... that's pretty cumbersome, I'd say
06:22:57 <zzo38> If there are no flags and the result would be ambiguous if that part is omitted, use "_" as the flags.
06:23:30 <coppro> for instance, the x modifier seems silly
06:23:49 <coppro> I would assume symmetric moves by default
06:24:01 <zzo38> Yes a bit more cumbersome than Betza notation, but probably more versatile (I did not describe all things about rule, yet).
06:24:43 <zzo38> coppro: OK, that is a good point; still removing such modifier might cause problems in some other cases.
06:25:16 <oerjan> it is easier to add symmetry than to remove it...
06:40:40 -!- zzo38 has quit (Remote host closed the connection).
06:41:27 -!- Mathnerd314 has quit (Read error: Connection reset by peer).
07:19:46 -!- aloril has quit (Ping timeout: 252 seconds).
07:30:17 -!- augur has quit (Remote host closed the connection).
07:32:35 -!- aloril has joined.
07:37:25 -!- asiekierka has quit (Read error: Operation timed out).
07:49:00 -!- Phantom_Hoover has joined.
07:53:05 -!- augur has joined.
07:58:43 -!- Okhotnik has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:44 -!- Okhotnik has left (?).
08:08:46 -!- HackEgo has joined.
08:26:11 -!- pikhq has joined.
08:26:13 -!- pikhq_ has quit (Ping timeout: 248 seconds).
08:37:39 <oerjan> hey wait a minute, i've been trying to _avoid_ becoming spherical...
08:38:58 <cheater00> that's why i made you a horned-sphere.
08:41:28 <oerjan> i had a hunch it would be.
08:44:56 -!- oerjan has quit (Quit: leaving).
08:46:06 -!- cheater97 has joined.
08:46:28 -!- cheater00 has quit (Ping timeout: 248 seconds).
08:58:40 <Phantom_Hoover> The Guinness Book of Records doesn't accept records with a health and safety risk.
09:03:11 <Ilari> Ugh. RIPE NCC is also exhausting quite rapidly. Not as crazy rate as APNIC but still pretty fast.
09:04:46 <Phantom_Hoover> YouTube won't let me create another account without my postcode.
09:08:21 <cheater97> yeah, would be nice to be living there, wouldn't it?
09:09:05 <cheater97> almost got a job next to number 10, but didn't feel like moving back to london
09:12:48 <Ilari> What's SW1A 2AA? Some special code?
09:13:46 <Ilari> Heh, reminds me of 90210 in US zip codes. That isn't special (but seems very popular nevertheless). :-)
09:23:16 -!- aloril has quit (Ping timeout: 252 seconds).
09:29:23 <Phantom_Hoover> [[Using Plato's detailed account of Atlantis as a map, searches have focused on the Mediterranean and Atlantic as the best possible sites for the city.]]
09:35:47 -!- asiekierka has joined.
09:36:20 -!- aloril has joined.
09:55:57 -!- pikhq_ has joined.
09:56:00 -!- pikhq has quit (Read error: Operation timed out).
09:57:35 -!- MigoMipo has joined.
11:10:44 -!- Zuu has quit (Ping timeout: 260 seconds).
11:36:48 -!- FireFly has joined.
11:43:45 -!- asiekierka has quit (Ping timeout: 248 seconds).
12:14:54 -!- elliott has joined.
12:15:35 -!- optbot has set topic: logs: http://tunes.org/~nef/logs/esoteric/?C=M;O=D and http://208.78.103.223/esoteric/ | And, uh, well, not the entire compiler, I guess..
12:16:29 <elliott> 23:12:23 <Phantom_Hoover> oklopol, so, uh, circuscheme.
12:16:30 <elliott> 23:15:28 <Phantom_Hoover> How do you have an uncountably infinite tree?
12:17:03 <elliott> 23:18:00 <ais523> hmm, that might be one reason why people like axiom-of-choiceless systems
12:17:03 <elliott> 23:18:06 <ais523> even though they don't seem to correspond to reality too well
12:17:12 <Phantom_Hoover> So, what was he going on about countably infinite trees for?
12:17:14 <elliott> I hope you're not referring to Banach-Tarski
12:17:26 <elliott> Phantom_Hoover: because that's what they are
12:17:51 <elliott> 23:36:58 <oerjan> <elliott> *two people never modify a file in the exact same way*; that's not a realistic user case. <-- um what if there's a single, obvious fix to a bug?
12:17:51 <Phantom_Hoover> elliott, hm? Banach-Tarski would be an argument that systems with choice don't correspond to reality.
12:18:06 <elliott> oerjan: that's possible, but even if the exact same change was made, you can trivially merge them
12:18:13 <elliott> just, sg's algorithm can't
12:18:15 <elliott> Phantom_Hoover: It is NOT.
12:18:30 <elliott> *You* *cannot* *do* *that* *to* *physical* *spheres*.
12:18:38 <elliott> Which is why I'm hoping ais doesn't mean it.
12:18:56 <Phantom_Hoover> *But* if you're going to argue of choice or ¬choice corresponds to reality, Banach-Tarski would be an argument for ¬choice.
12:19:03 <elliott> (i.e. you cannot deconstruct a ball into such "pieces" IRL)
12:19:11 <elliott> Phantom_Hoover: no, banach-tarski wouldn't be either way
12:19:30 <Phantom_Hoover> elliott, OK, but *if you decided to use it either way, it would be for ¬choice*.
12:19:44 <oklopol> "[14:00:45] <elliott> 23:15:28 <Phantom_Hoover> How do you have an uncountably infinite tree?" by having one?
12:19:44 <elliott> I can still be hoping that ais won't use such a stupid argument.
12:20:10 <Phantom_Hoover> elliott, that's my point, he couldn't be, since he's saying that ¬choice doesn't correspond to reality.
12:20:21 <Phantom_Hoover> So he wouldn't use Banach-Tarski to argue it even if he was an idiot.
12:20:34 <elliott> I thought he said choice_ful_
12:20:42 <oklopol> but if degrees are finite, then every connected component must be countable
12:20:47 <elliott> Phantom_Hoover: unless he thinks he can duplicate spheres :D
12:20:55 -!- optbot has set topic: logs: http://tunes.org/~nef/logs/esoteric/?C=M;O=D and http://208.78.103.223/esoteric/ | What should rem-0 be in funge? Taking /0 = 0 and thus 0?.
12:21:50 <Phantom_Hoover> elliott, YouTube requires a post code to create an account. Comment.
12:22:29 <elliott> Step 1. Make Google Account. Step 2. There is no
12:23:37 <oklopol> if a tree is uncountable, then of course there even has to be a vertex of uncountable degree, because a countable union of countable sets is countable
12:24:00 <oklopol> same for graphs in general
12:31:54 <Phantom_Hoover> oklopol, so how would you do evaluation order in circuscheme?
12:33:21 -!- cpressey has joined.
12:33:38 <elliott> how long does this conference laugh
12:33:42 <oklopol> a value is assigned to every node such that for every node, its value is the value of its operations done on the values of its children
12:33:56 * Phantom_Hoover attempts incompetently to convince the FlightGear IRC channel that XML is not a terribly good format for storing trees.
12:34:00 <oklopol> this is done nondeterministically
12:34:05 <cpressey> guten morgen fraulein, sprechen sie PYTHON??!??
12:34:38 <elliott> cpressey: please tell me you translated all the keywords to german
12:42:20 <cpressey> '<oklopol> "[14:00:45] <elliott> 23:15:28 <Phantom_Hoover> How do you have an uncountably infinite tree?"' <- have a countably infinite number of branches at each node? at a guess.
12:43:15 <cpressey> and yes, rem-0 should be 0, logically.
12:44:05 <elliott> i gave in and implemented funge-98.
12:44:07 <Phantom_Hoover> http://www.abc.net.au/news/events/japan-quake-2011/beforeafter.htm
12:44:11 <elliott> it's even reasonably fast!!!!!1
12:44:27 <Phantom_Hoover> Conclusion: the tsunami has turned Japan into Gears of War.
12:44:31 <elliott> it's stalled on like... implementing TOYS or something else non-trivial
12:44:45 <oklopol> but the point is connectivity is defined by finite paths, so connected components will be countable unless you have uncountable degrees locally, somewhere
12:44:47 <cpressey> i guess the acid test is what mycology says about it
12:44:58 <elliott> cpressey: I pretty much coded to Mycology, so yeah :P
12:45:15 <elliott> All GOOD including the handful of fingerprints. Really Mycology is a metacircular specification
12:45:21 <elliott> Having almost no relation to the spec :)
12:45:37 <elliott> (OK, OK, so most of the unambiguous cases are obvious.)
12:46:22 <elliott> cpressey: It defines the language it's written in.
12:46:33 <cpressey> oklopol: right, only one node, as long as you also have infinite paths downard
12:46:34 <elliott> It's an executable, metacircular semantics, serving as the specification of Mycology Funge-98.
12:46:45 <oklopol> cpressey: erm, or finite ones
12:46:49 <elliott> Phantom_Hoover: because when the spec is ambiguous, it makes up its own interpretation, or if the spec says you must d o something totally useless
12:46:54 <elliott> it goes with the more useful interpretation
12:47:20 <cpressey> oklopol: er - what if you have a root node, with a countably infinite number of children, but they're all leafs? that's not uncountable
12:47:20 <oklopol> say take V = R \cup \{z\}, and E = R \times \{z\}
12:47:41 <oklopol> "have a countably infinite number of branches at each node? at a guess." sorry, misread
12:47:56 <oklopol> it doesn't help to have COUNTABLE degrees at each node
12:48:00 <cpressey> oh, if you have UNcountably infinite branches at one node, then yes the tree is uncountable :)
12:48:04 <oklopol> you will have to have at least one node with uncountable degree
12:48:31 <cpressey> ok, i believe you :) it was just a guess
12:48:46 <oklopol> because for all k, the set of nodes you can reach with a path of length k or less will be countable, if all degrees are
12:49:05 <oklopol> and the whole graph's vertices are a union of a countable number of these countable sets
12:49:11 -!- FireFly has quit (Quit: swatted to death).
12:49:18 <oklopol> so the whole graph is countable. assuming it was connected.
12:49:33 -!- FireFly has joined.
12:49:43 <cpressey> but it seems like you could represent the reals in it... someh
12:50:09 <oklopol> see there's no node at the end of your infinite paths
12:50:44 <oklopol> you have an infinite path in the graph, but any node on it is still reachable in a finite amount of steps
12:50:51 <cpressey> but there's no last digit in pi either
12:51:02 <oklopol> ...and the length of pi is countable
12:51:30 <oklopol> you can't biject reals with the digits of pi just like you can't biject them with this graph
12:51:50 <oklopol> if this confuses you, read a book on set theory, this can be a bit mind-blowing at first
12:52:07 <Phantom_Hoover> If you didn't have a reason to punch Randall Munroe in the face already, you will now.
12:52:33 <Phantom_Hoover> cpressey, are you confused as to countable vs. uncountable infinity?
12:52:45 <oklopol> cpressey: all you have to know is i gave you a proof of countability, if you don't believe it, tell me where the error is, not where your intuition disagrees
12:54:22 <cpressey> elliott: it wouldn't occur to me to use that phrase; possibly because funge doesn't know what GOOD means.
12:55:05 <cpressey> elliott: also, I assume by "funge-98" you mean you implemented Une-, Be-, and Tre-
12:55:14 <cpressey> elliott: the phrase "metacircular etc"
12:55:32 <elliott> cpressey: It's a program, that when run, prints out lots of GOOD or BAD lines according to whether the interpreter is correct or not.
12:56:00 <elliott> cpressey: Occasionally it contradicts the literal word of the Funge-98 specification when it says something particularly stupid; occasionally it makes up its own interpretation when there is extreme ambiguity.
12:56:06 <Phantom_Hoover> cpressey, FWIW, the *set* of all infinite graphs is uncountable.
12:56:06 <elliott> Therefore it defines its own language.
12:56:12 <elliott> It is not executable semantics for a language.
12:56:15 <elliott> But it is an executable specification.
12:56:22 <cpressey> elliott: my point was you have to know what GOOD means to interpret its rest
12:56:39 <elliott> It's a predicate Myco that takes an interpreter I and returns whether that's a valid interpreter. You run it by doing I(Myco).
12:56:54 <elliott> cpressey: Well, that's no more of a problem than the fact that the C++ spec is written in English.
12:57:14 <cpressey> elliott: would you call the C++ spec metacircular
12:57:15 <elliott> cpressey: Of course a metacircular specification is not a very useful thing without any outside pointers, because the program could mean literally anything :)
12:57:31 <oklopol> Phantom_Hoover: ON A VERY NON-PEDANTIC NOTE, THE CLASS OF ALL GRAPHS IS A PROPER CLASS
12:57:41 <elliott> It's more of a joke than anything, but if you implement the Funge-98 spec to the letter, then you'll be able to run Mycology and get enough info to make it pass :-P
12:58:02 <elliott> the place where it literally contradicts the spec, btw, is in y
12:58:04 <cpressey> < cpressey> elliott: also, I assume by "funge-98" you mean you implemented Une-, Be-, and Tre-
12:58:23 <elliott> cpressey: I replied, didn't I? Maybe it's in my paste-buffer.
12:58:31 <elliott> cpressey: I implemented Befunge, but plan to extend it to N-funge for any N.
12:58:36 <elliott> Language::Befunge does this
12:58:45 <elliott> I also plan to implement TRDS, because I'm a madman.
12:58:58 <elliott> here's the bit that Mycology contradicts... except actually the spec contradicts itself
12:59:00 <cpressey> you're aspiring to be the next AnMaster
12:59:01 <elliott> 13. 1 vector containing the least point which contains a non-space cell, relative to the origin (env)
12:59:02 <elliott> 1 vector containing the greatest point which contains a non-space cell, relative to the least point (env)
12:59:02 <elliott> These two vectors are useful to give to the o instruction to output the entire program source as a text file.
12:59:07 <elliott> *14. 1 vector (for the second)
12:59:15 <Phantom_Hoover> [[I usually respond to someone else doing something good by figuring out a reason that they're not really as good as they seem.]]
12:59:20 <elliott> now, by the literal reading of the spec, #13 and #14 should always have an ACTUAL NON-SPACE CHARACTER there
12:59:24 <elliott> i.e. it's not the tightest square bounds
12:59:36 <elliott> it's just the tightest x and y for which there is another coordinate that goes with it to return a non-space cell
12:59:42 <elliott> but then it says "These two vectors are useful to give to the o instruction to output the entire program source as a text file."
13:00:12 <elliott> #13 should be the smallest (x,y) that contains a non-space cell
13:00:24 <elliott> the smallest (x,y) such that when paired with #14, all non-space cells are contained within
13:00:33 <elliott> ...but the o line, depending on how perversely you're willing to interpret useful, means it MUST be a rectangular bound, as intended
13:00:43 <elliott> and mycology takes that interpretation, which is totally lame
13:00:49 <cpressey> elliott: with all the interesting ideas you have, why on earth did you implement Befunge-98
13:00:52 <elliott> hi, you've all stopped listening :)
13:00:53 <oklopol> Phantom_Hoover: yeah that's kind of an interesting thing to say
13:01:00 <elliott> cpressey: It sounded like fun.
13:01:07 <elliott> cpressey: I do lots of stupid things.
13:01:11 <Phantom_Hoover> oklopol, best part is that he's not averse to doing good things himself.
13:01:19 <oklopol> yeah elliott is pretty stupid
13:01:31 <elliott> cpressey: It's less than 4000 lines of Haskell including fingerprints, and I got to use several type system extensions, so I can definitively state that implementing Befunge-98 is trivial.
13:01:46 <elliott> (A problem is non-trivial when it takes over 5,000 lines of Haskell to implement.)
13:01:57 <Phantom_Hoover> I really hope he gets tonnes of people telling him how funding that school in Africa is nothing to be proud of.
13:02:45 <oklopol> does he sport that on the webpage or something?
13:03:18 <elliott> cpressey: AFAICT implementing Funge-98 is actually interesting, just not in the parts that matter
13:03:28 <elliott> interesting things include efficient fungespace structures
13:03:39 <elliott> uninteresting things include all the instructions :)
13:03:42 <cpressey> how can it be both interesting and trivial?
13:04:00 <elliott> cpressey: I think that's a deeper question than you intended.
13:04:23 <elliott> Fermat's Last Theorem is pretty trivial.
13:04:32 <Phantom_Hoover> Oh god I'm having another attack of "I can't realistically go to university for another year and a half and I'll have all but one of the qualifications I actually need by this summer."
13:04:44 <cpressey> can you implement it in less than 5kloc of hskell?
13:04:52 <elliott> That the only proof we have isn't is irrelevant.
13:05:01 <elliott> (Well, it's relevant; it contributes to the interestingness.)
13:05:06 <oklopol> well i assumed you meant the implementation. i mean you didn't say *befunge* is trivial, you said implementing it is
13:05:19 <oklopol> befunge being trivial, and implementing it being interesting have nothing to do with each other
13:05:29 <Phantom_Hoover> The theorem *itself* isn't trivial in the sense of "has no other use in mathematics"; the proof alone demonstrates this.
13:05:38 <elliott> Phantom_Hoover: It's trivial in statement.
13:05:52 <elliott> cpressey: Anyway, I haven't _written_ a fancy fungespace structure :)
13:06:00 <elliott> Just a decent enough one so far to pass Mycology.
13:06:07 <oklopol> oh so the actual theorem is both interesting and trivial, right
13:06:12 <elliott> It still has pathological cases.
13:06:14 <oklopol> i thought you mean the interesting thing was the proof
13:06:26 <elliott> oklopol: the fact that the proof is so complicated contributes to the interestingness of the theorem though, IMO
13:06:36 <elliott> because the theorem is so trivial
13:06:49 <Phantom_Hoover> elliott, and the method of the proof also increases the interestingness.
13:07:14 <elliott> yes! now let's all pretend we understand the proof
13:07:32 <Phantom_Hoover> After all, in its original statement it's just a rather isolated number theory thing with none of the vastness of the influence it actually has
13:07:45 <Phantom_Hoover> And surely we all understand the *outline* of the proof?
13:07:56 <elliott> Vaguely, I didn't really look too hard
13:08:09 <elliott> oklopol: so which are you gonna prove the riemann hypothesis to be when you grow up, false or true
13:08:38 <cpressey> he's going to prove it to be trivial
13:08:46 <elliott> by implementing it in Haskell?
13:08:54 <Phantom_Hoover> Nah, the Riemann hypothesis isn't trivial in statement.
13:09:31 <elliott> it requires complexes, it's not trivial
13:10:05 <Phantom_Hoover> Well, OK, but once you have the reals you have the complexes trivially.
13:10:54 <oklopol> "<Phantom_Hoover> And surely we all understand the *outline* of the proof?" << no never heard it, what is it?
13:11:55 <cpressey> Phantom_Hoover: please summarize the outline of the proof for oklopol's benefit
13:12:02 <oklopol> here's how much i know: elliptic something
13:12:10 <elliott> i'll wait until Phantom_Hoover finishes, then ask cpressey for the tl;dr
13:12:26 <Phantom_Hoover> oklopol, if there exists a solution to the equation, that implies there exists a certain elliptic equation which cannot be modular.
13:12:35 <elliott> cpressey: btw if i hadn't been implementing befunge-98 i'd have been playing minecraft, so it was probably a positive use of my time :)
13:12:49 <oklopol> what what's an elliptic equation? always wondered but never checked
13:12:54 <elliott> wonder how long amazon shipping takes, like a year prolly
13:13:03 <cpressey> elliott: you just keep believing that
13:13:26 <elliott> cpressey: i'm not quite sure you understand just what a waste of time minecraft is
13:13:30 <Phantom_Hoover> oklopol, I don't know, really. They're a certain form of equation with interesting behaviour which has nothing to do with ellipses directly.
13:13:55 <oklopol> okay, i have this hunch it's just a third degree equation with multiple variables and some extra shit
13:14:24 <Phantom_Hoover> And modular forms are something to do with complex analysis and group theory and maybe topology.
13:14:49 <Phantom_Hoover> And Taniyama-Shimura says that they're equivalent in a specific way.
13:15:05 <oklopol> http://www.xkcd.com/865/ me like
13:15:26 <oklopol> what are equivalent in a specific way?
13:16:22 <oklopol> some crazy shit they got there
13:16:42 <elliott> oklopol: that one was a pretty good xkcd for recently
13:16:49 <Phantom_Hoover> ISTR they have some generator thingy which happen to correspond perfectly, and the conjecture was that that the generator thingy for elliptic equations would always correspond to a generator thingy for a modular form.
13:16:55 <oklopol> we had this fun little course by some famous guy about automata in number theory so now i'm all about decimal expansions temporarily
13:17:10 <elliott> i love how this has gone from
13:17:11 <oklopol> i occasionally like numbers, but i suck at that stuff :(
13:17:15 <elliott> <PH> we all know the thing of the thing right?
13:17:43 <elliott> i have difficulty keeping track of my words.
13:18:01 <elliott> cpressey: generators, the best thing ever!!
13:18:09 <Phantom_Hoover> But anyway, you can get an elliptic equation the generator thingy of which cannot correspond to a modular form, so ¬Fermat → ¬Taniyama-Shimura.
13:18:56 <Phantom_Hoover> So Taniyama-Shimura → Fermat, and Wiles' proof is a proof of a sufficient subproblem of Taniyama-Shimura.
13:18:58 <oklopol> do you have any kind of intuition for what this generator thingy is? i mean i don't see how an equation can have a generator of any kind
13:20:10 <elliott> Phantom_Hoover: i... newsletter, can is ign up
13:20:36 <cpressey> NO YOU ARE WRONG. CPRESSEY=PHANTOM_HOOVER
13:20:45 <oklopol> did wiles prove that in certain cases, the generator thingy of an elliptic equation (curve?) corresponds to one of a modular form, and that if fermat is not true, then you find an elliptic equation of this form such that you can't find a modular form for it?
13:21:17 <elliott> wiles proved he's a wily fox
13:21:29 <Phantom_Hoover> The Fermat-to-elliptic-curve thing was proven by someone else.
13:21:31 <elliott> <cpressey> NO YOU ARE WRONG. CPRESSEY=PHANTOM_HOOVER
13:21:34 <oklopol> there is a course on elliptic curves in our uni occasionally, but i think it's more about its applications in coding theory
13:21:40 <elliott> is ph you pretending to be an irritating kid, because that's really funny
13:21:47 <cpressey> anyone know what this generator thingy is called or based in
13:21:47 <elliott> or whatever the kids do these days
13:22:20 <elliott> i don't want to be technologised.
13:22:34 <oklopol> well i'm still wondering about the generator thingy too, are we talking about some sort of generating set w.r.t. some operation, that generates the set of solutions to an elliptic equation or what?
13:22:57 <elliott> can't wait until facebook reinvents ir
13:23:01 <elliott> probably they already have
13:23:15 <elliott> fun fact, only lamers make up their own swatting insrtument
13:23:21 <elliott> mostly cuz vorpal did it first
13:23:35 <Phantom_Hoover> I didn't, I stuck oerjan's swatting instruments together.
13:23:37 <oklopol> argh, now i wanna know how fermat is proved :(
13:24:30 <cpressey> "software without software: the zen of softwareless software"
13:24:33 <Phantom_Hoover> oklopol, well, I got this from a book which was (highbrow) pop mathematics, so I'm by no means an expert.
13:24:56 <cheater97> cpressey: i heard people who invented computers hard-wired them to prevent the tabs vs spaces dispute.
13:25:09 <elliott> cpressey: i can't decide whether love or hate
13:25:51 <Phantom_Hoover> elliott, y'know, not going over the same thing fifty times because you can't depend on the audience having paid attention.
13:26:22 <elliott> Phantom_Hoover: he used to be a pop star, he's used to making money by repeating the same thing over and over again for three minutes
13:28:10 <cpressey> that movie had nothing to do with spotting trains
13:28:20 -!- hirnstein has joined.
13:28:34 <elliott> i hope some old conservative trainspotters went and saw it or something
13:29:04 <elliott> Wikipedia: There are still some pure 'trainspotters' (see below), but a large proportion of UK enthusiasts have wider interests than mere 'spotting'.
13:29:17 <oklopol> "[15:08:50] <Phantom_Hoover> oklopol, well, I got this from a book which was (highbrow) pop mathematics, so I'm by no means an expert." <<< well of course you did, no one's crazy enough to actually read the proof; i'm just wondering if the book used a fancier term than generator thingy that i can google :)
13:29:37 <cheater97> cpressey: it was the hobby of the uncle of the kid who can't run away from the shop at the beginning
13:29:41 <elliott> and then scrolling really fast to the bottom
13:29:58 <elliott> still took like three minutes
13:30:03 <oklopol> wait what is "highbrow" pop mathematics?
13:30:05 <Phantom_Hoover> No idea what the corresponding thing is for modular form.
13:30:08 <oklopol> like, has some details in there
13:30:17 <cheater97> Phantom_Hoover: god damnit stop saying the same words as i!
13:30:22 <cpressey> one of these http://www.ncomputing.com/products-lseries
13:31:25 <cheater97> 3333333333333333333333333333333333
13:32:24 <Phantom_Hoover> What, they renamed the Taniyama-Shimura Conjecture to the modularity theorem?
13:32:49 <oklopol> i dislike using people's names in theorems
13:33:00 <cpressey> gasp! DISQUS IS NOT IN THE CLOUD
13:33:11 <cheater97> on the one hand every second theorem is euler's theorem
13:33:19 <elliott> cpressey: nooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
13:33:32 <cheater97> on the other it's the Mzxdzszszszsz theorem, try and pronounce it.
13:33:33 <Phantom_Hoover> elliott, have you seen those stupid "to the Cloud!" Windows ads and raged at them accordingly?
13:33:46 <elliott> Phantom_Hoover: i just want Windows 8 Cloud
13:33:56 <elliott> that runs by downloading the code for everything from microsoft servers
13:34:00 <elliott> and then uploading it to another server
13:34:16 <cpressey> Euler's Taniyama-Shimura Modularity Theorem
13:34:36 <elliott> can we just prefix Euler's in front of everything in mathematics?
13:34:38 <cheater97> cpressey: almost. you need to find the kanji for the names.
13:34:46 <elliott> in fact, just call all constants Euler's constant
13:34:49 <elliott> and all theorems Euler's theorem
13:34:50 <cheater97> cpressey: and then have a german maths student pronounce it.
13:34:59 -!- Zuu has joined.
13:35:23 <cpressey> i need to do stuff (this is a general statement)
13:36:04 <cpressey> cheater97: that's what that shoe company tells me, too
13:36:22 <elliott> cpressey: you should visit here more often, so that such silly thoughts of "doing things" are quickly forgotten
13:37:16 -!- optbot has set topic: logs: http://tunes.org/~nef/logs/esoteric/?C=M;O=D and http://208.78.103.223/esoteric/ | asiekierka, not in funge 93.
13:37:19 -!- optbot has set topic: logs: http://tunes.org/~nef/logs/esoteric/?C=M;O=D and http://208.78.103.223/esoteric/ | "Hello from my TABLET!!!".
13:37:22 <oklopol> i has exam tomorrow so i'm probably going to go real soon.
13:37:44 <elliott> oklopol: so i actually bought the book, WHO'S DEDICATED *NOW*
13:38:07 <elliott> i kinda just tend to assume he'll doperfectly
13:38:10 <oklopol> elliott: how many buttons did you have to press?
13:38:10 <cheater97> oklopol: bad luck! i hope you crash and burn.
13:38:22 <oklopol> elliott: i had a mistake in my graph theory exam
13:38:25 <elliott> it was a very stressful clicky experience
13:38:34 <cheater97> (it's an old student custom to wish bad luck on exams otherwise you might spoil it)
13:38:47 <cpressey> oklopol: oh, i just saw why that tree thing isn't uncountable :)
13:38:48 <elliott> give them ALL THE FUCKING DETAILS
13:38:54 <elliott> prove everything from the peano axioms from scratch
13:39:02 <cpressey> weird, i wasn't even really thinking abotu ti
13:39:04 <oklopol> cpressey: oh so you read my one line proof already?
13:40:01 <elliott> this touchpad would be nicer if ubuntu wasn't stupid about it
13:40:21 <oklopol> but um, in the ergodic theory exam i actually made this huge mistake, the theorem was not provable using my technique at all
13:40:51 <elliott> /ignore oklopol ;; too far
13:40:52 <oklopol> i don't think i'll ever get over that
13:41:08 <elliott> better put a sticky note on this laptop reminding me to never talk to oklopol again
13:41:09 <oklopol> i was like LOL SO EASY LOLOLOL
13:41:51 <oklopol> but turns out things were east because i had started my proof by essentially stating that for every three points A, B, C, B is between A and C in pretty much every possible sense
13:42:46 <cheater97> you have just degraded yourself in my eyes :D
13:43:00 <elliott> oklopol is not very clever.
13:43:08 <elliott> never learned the alphabet.
13:43:25 <oklopol> basically that meant i accidentally reversed a < and didn't notice because a certain theorem applied in such a nice way to the result
13:43:45 <oklopol> well i'm certainly not clever, i doubt i've ever claimed that
13:44:10 <cheater97> now i know there's a reason why there's "klop" in "oklopol"
13:44:35 <cpressey> "python" is an anagram of "hypnot", which is the first part of the name "hypnotoad", which is from an animated series which is known to refer to programming languages
13:46:28 <oklopol> i wonder if i have that ergodic theory exam paper anywhere, i can't seem to recall what the problem was...
13:46:33 <oklopol> should prolly ask ilkka tomorrow
13:46:35 <cpressey> "oklopol" is an anagram of... well i'm sure i'll find something
13:46:51 <oklopol> i'm sure he likes me using his name here
13:46:56 <oklopol> i shall call him mister x from now one
13:47:23 -!- hirnstein has left (?).
13:51:01 <oklopol> look-lop could be a verb i guess
13:51:02 -!- pikhq has joined.
13:51:17 -!- pikhq_ has quit (Ping timeout: 255 seconds).
13:51:26 <oklopol> looklop would make a great higher-order function
13:51:30 <oklopol> i'm not sure what it does though
13:52:25 <cpressey> what is it with pythonistas and list comprehensions? EVERY LANGUAGE HAS THOSE
13:52:45 <cpressey> but they just looooooooooooooooooooooooooove them
13:53:54 <cpressey> i'll have to find out why someday
13:55:59 -!- asiekierka has joined.
13:56:10 -!- elliott has quit (Read error: Connection reset by peer).
13:57:25 -!- elliott has joined.
13:58:26 -!- cpressey has quit (Ping timeout: 250 seconds).
14:06:28 <elliott> <cpressey> what is it with pythonistas and list comprehensions? EVERY LANGUAGE HAS THOSE
14:06:43 <elliott> all good languages have them
14:06:49 <elliott> but pythonistaaas have never used good languages
14:09:13 <elliott> Uhh... Erlang has them I think X-D
14:09:23 <elliott> I think cpressey's used Erlang, so yeah
14:23:59 <elliott> Phantom_Hoover: You could probably define it in Epigram... dunno about the syntax though :)
14:24:04 <elliott> You could do it with syntax in Agda.
14:24:22 <cheater97> php doesn't have list comprehensions!
14:27:36 -!- cpressey has joined.
14:28:09 <cpressey> oh and one more thing, INTROSPECT IS NOT A TRANSITIVE VERB
14:29:23 <cpressey> oklopol: what it was was that i saw how to diagonlize the tree i was building from the reals
14:29:33 -!- fungot has quit (Quit: more of them things).
14:29:41 <cpressey> see, it took me this long to even explain that part of it
14:30:00 <oklopol> how do you build a tree from the reals exactly?
14:30:26 <cpressey> well, i thought you could, but you can't. just like you can't build a table for them, classic diagonalization argument by whatshisname.
14:30:45 <oklopol> well who cares who did that obvious thing
14:30:49 <elliott> <cpressey> I CANNOT INTROSPECT YOU
14:30:58 <elliott> make a language based on objects introspecting other objects
14:30:59 <cpressey> elliott: AAAAIIIIRRRRGGGGGHHHHHhhh
14:31:13 <elliott> like, they cause the object to introspect itself and return what it sees
14:31:16 <oklopol> i think it was gdel's idea
14:31:17 <elliott> but the object itself can't use it
14:31:34 <elliott> (opposite of a public method, it's a ... something method?)
14:31:46 <cpressey> private-and-only-usable-by-others
14:32:02 <elliott> cpressey: no, objects can call their own private methods :P
14:32:13 <elliott> other objects can't call the private method
14:32:17 <elliott> so in fact it's the opposite of private
14:32:19 <oklopol> you saw how to diagonalize the tree you were building from the reals? can you elaborate, you take a tree with nodes tagged with reals and then what?
14:32:37 <cpressey> public-but-only-discoverable-through-"introspection"-by-others
14:32:50 <elliott> cpressey: I'm saying that the introspect method ITSELF would be this :P
14:33:00 <elliott> You would, of course, access all methods by finding a private method using the introspect method.
14:33:09 <elliott> cpressey: To call one of your OWN methods, you get another object to do it.
14:33:28 <oklopol> or do you use their decimal expansions or something?
14:33:29 <elliott> You do this by introspecting the other object (causing it to introspect itself), getting the appropriate method that ends up calling you, and passing yourself to it.
14:34:58 <elliott> cpressey: come on, this is genius.
14:35:00 <cpressey> oklopol: no, i took my original tree (countable # of children at each node, countably deep.) and... assigned decimal expansions to each path (every child is another digit in a countably long number). and... some flash of "you could read that tree and diagonalize to derive a path that isn't in it".
14:35:19 <elliott> only_other_objects_can_access, and private (which you use for public)
14:35:22 <cpressey> basically realizing it's not really different from the table from ... that guy
14:35:47 <oklopol> gdel, i thought you mean that
14:35:54 <oklopol> guy who doesn't believe in reals
14:36:03 <oklopol> gdel was crazy too, ofc, but not mathematically
14:36:27 <cpressey> starts with a k? i should look this up
14:37:20 <oklopol> gdel came up with similar ideas with the integers
14:37:48 <cpressey> "guy who doesn't believe in the reals" made me think of someone else
14:38:04 <cpressey> i had to look that one up though
14:38:14 <elliott> zeilberger is cooler though
14:38:17 <elliott> he doesn't believe in the integers :>
14:38:26 <cpressey> i don't believe in the integers
14:38:38 <oklopol> your graph thing is similar to something a crazy guy said once
14:38:43 <elliott> cpressey: that's an infinite set, it doesn't exist
14:39:25 <cpressey> elliott: much like aristotle, i have access to an infinitely powerful computer, so it exists for me
14:39:26 <elliott> Phantom_Hoover: because they're infinite
14:39:37 <elliott> cpressey: you do? can I have an account?
14:40:00 <cpressey> elliott: sure thing. to start, just speak into the parrot
14:40:18 <elliott> Phantom_Hoover: because he's an ultrafinitist/strong constructivist
14:40:26 <cpressey> elliott: make sure to close your eyes when the zebras run past
14:40:45 <elliott> cpressey: this is an interesting look into how prolonged exposure to Python damages the mind.
14:41:06 <cpressey> elliott: SNOW CRASH OMG U HAVE TO READ SNOW CRASH HAVE YOU READ SNOW CRASH???
14:41:28 <cpressey> this, list comprehensions, and introspecting other things.
14:41:48 <cpressey> oh, and a lot of dick-waving general nerdiness of course
14:42:04 <elliott> ooh, I was even _planning_ to read snow crash sometime
14:42:08 <cpressey> Phantom_Hoover: well, the "Con" part of it ends today. there is a "sprint" part that i'm not attending that continues the rest of this week
14:42:12 <elliott> "The book presents the Sumerian language as the firmware programming language for the brainstem, which is supposedly functioning as the BIOS for the human brain."
14:42:35 <elliott> "[No-Intro] Nintendo - Super Nintendo Entertainment System (20100805) [Various/1990]" FUCKYES
14:43:50 <elliott> wish i knew what merging is.
14:44:02 <cpressey> elliott: i'm really surprised that you don't have access to an infinitely powerful computer already, given how frequently you spell the letter E backwards, and A upside-down
14:44:16 <elliott> zzo38 has taken over cpressey's mind!
14:44:24 <elliott> or possibly, everyone else's.
14:44:25 <oklopol> also it was john gabriel http://scienceblogs.com/goodmath/2010/02/_so_remember_back_in.php
14:44:28 <cpressey> it takes some skill to misspell a letter
14:44:35 <oklopol> they're "discussing" that tree thing
14:44:42 <oklopol> very fruitful a conversation
14:44:58 <cpressey> it's taking time to load for me
14:45:51 <cpressey> rather, not loading at all. oh well. i know the usual "hi i'm an internet kook, here's why cantor was wrong" pattern
14:46:48 <cpressey> there was one rather spectacular display i saw, some usenet group, on google groups -- i'm sure it wasn't the only one
14:48:27 <oklopol> he's famous for being an incredibly retard
14:49:03 <elliott> i've probably even read it before
14:49:08 <elliott> but knol is basically crackpot heaven
14:49:21 <elliott> you can write anything you want, it looks like an encyclopedia, and nobody can edit it!!!!!!!
14:49:39 <elliott> it's Google's shitty shitsite
14:49:41 <elliott> cpressey: err, the person?
14:50:49 <cpressey> as long as he gets in long arguments about why cantor and/or godel were wrong because you can prove them wrong by programming in lambda calculus and also peano=penis... it doesn't really matter how many of him there are
14:51:25 <elliott> peano=penis? has anyone called him Penis please say yes
14:52:08 <cpressey> another vague memory that the peano numbers are due to peano having a name that is really "penis" in disguise
14:52:32 <cpressey> trying to find this "knol" fellow; google insists that "knol" is a unit of knowledge
14:52:38 <elliott> oh my god. now i want a radical feminist argument that the reals are countable
14:52:45 <elliott> based on mathematics being a patriarchy
14:52:50 <elliott> <cpressey> trying to find this "knol" fellow; google insists that "knol" is a unit of knowledge
14:52:57 <Phantom_Hoover> <oklopol> he's famous for being an incredibly retard ← the Good Math guy?
14:53:09 <elliott> Phantom_Hoover: *MarkCC, and he's awesome
14:53:27 <oklopol> Phantom_Hoover: no, the guy he talks to behind that link
14:53:29 <Phantom_Hoover> Yeah, I was thinking that he didn't seem to be a retard from what I'd read.
14:54:02 <cpressey> scienceblogs seems to be completely down for me
14:55:17 <cpressey> sigh. googling for (peano penis lambda calculus) gets you #esoteric channel logs on the first page. :)
14:57:07 <cpressey> getting closer -- found an eric naggum thread on comp.lang.lisp -- still not nuts enough, though
14:57:38 <oklopol> 1. I do not think all the real numbers can be represented in any radix system.
14:57:38 <oklopol> 2. I think the reason that Cantor was unable to
14:57:38 <oklopol> show the real numbers are countable is due to the fact that real numbers are not well-defined.
14:57:38 <oklopol> For example, every rational number can be logically defined in terms of pairs of natural numbers (natural numbers are themselves special ratios that were derived from the concept of ratio, but this is another story). One can't do this with real numbers unless one assumes the same can be represented using radix systems.
14:57:38 <oklopol> 3. I DO NOT believe the real numbers are *countable* - surprised? Why? Because these are not *well-defined*. However, if one uses Cantor's reasoning (which is completely beserk), one can show logically as I have, that the real numbers are indeed countable.
14:57:38 <oklopol> I can just see you trying to swallow this one with your limited intellectual faculties.
14:58:57 <oklopol> possibly he's just being silly, but you shouldn't joke about math :\
14:59:13 <oklopol> math is where no one has to disagree and everyone happy
14:59:13 <cpressey> not without a *really* colourful wig on
15:02:16 <cpressey> http://www.flickr.com/photos/mochimedia/5318304839/ aaaand that pretty much sums up my disgust.
15:06:33 -!- pikhq_ has joined.
15:06:51 -!- pikhq has quit (Ping timeout: 248 seconds).
15:09:03 <elliott> befunge for garrysmod video what why
15:09:08 <elliott> <cpressey> getting closer -- found an eric naggum thread on comp.lang.lisp -- still not nuts enough, though
15:09:13 <elliott> erik, you damned merican >:D
15:09:48 <elliott> that video though at least shows what a befunge ide _should_ look like :)
15:10:27 <cpressey> i'm trying to find an implementation in java
15:11:33 <cpressey> Deewiant's page doesn't list any
15:11:50 <cpressey> google gives me lots of spam results "download free Befunge98 java"
15:12:30 -!- BeholdMyGlory has joined.
15:15:38 <cpressey> yeah he even makes elliott look smart
15:19:32 <cpressey> as Gabriels go, I prefer Peter
15:21:01 <cpressey> screw this ima gonna build the ultimate save the world open source python package and upload it to pypi and everyone will send me patches and love and they'll offer me a job at google with guido and it will be the best ever package for totally doing that yeahh
15:21:02 -!- fungot has joined.
15:21:46 <cpressey> and it'll use rabbitmq somehow
15:22:40 <cpressey> elliott: i approve. that is the only appropriate response.
15:23:19 <Phantom_Hoover> cpressey, "i'm sorry. i'm so sorry." was in fact what he was going to say.
15:25:50 <cpressey> Phantom_Hoover: i have reconsidered. i will also consider that response to be appropriate
15:26:36 -!- iconmaster has joined.
15:26:38 <elliott> cpressey: What about "*tears well up* ... *silence* I'll tell the Internet."
15:28:33 <cpressey> http://www.focus.com/briefs/software-development/12-coding-languages/
15:28:55 <cpressey> as much as i don't like this crowd, at least they're not THAT.
15:29:58 <cpressey> dude does not seem to understand something fundamental about why half the languages on that list were created
15:33:01 -!- cpressey has quit (Quit: Lost terminal).
15:36:56 -!- copumpkin has joined.
15:37:33 <Phantom_Hoover> quintopia, you'll probably want to stock up on stuff. Quickly.
15:40:58 <elliott> Just aim the Device at everything.
15:41:20 <elliott> "who, for programmers, sure knew how to throw around the personal attacks and backbiting"
15:41:24 <elliott> programmers aren't known to be dicks?
15:41:29 <elliott> what is this alternate universe I'm living in
15:41:45 <elliott> seriously though, is this how new professions are formed? WHY IS OUR ENTIRE FIELD FILLED WITH CHILDREN
15:41:54 <elliott> (apart from the good children, you know)
15:42:24 <elliott> HAHAHAHAAHAHA I love how the befunge example loses all its spacing
15:42:34 <elliott> "Befunge remained virtually impossible to compile until very recently"
15:42:43 <Phantom_Hoover> elliott, I don't think you understand how the re-stabilised abelianiser works on the zygomorphic manifold.
15:43:06 <Phantom_Hoover> Aiming the Device works the other way around to everything else.
15:43:12 <elliott> Do they know of jitfunge? :p
15:44:20 <elliott> Unlike some of the other languages on our list, VMRL had some wide audience appeal and the potential for a lot more. At its height in 1997, VMRL was occasionally used in personal home pages and on some 3D chat sites such as "CyberTown."
15:44:27 <elliott> aoijsvkdnlghrtw-m049geisfdjiovxjknm please let sgeo not see this
15:44:34 <elliott> "Yes, I know that Haskell is a relatively popular language compared to the other flops on this list. That said, Haskell has always had the feel of an also-ran language, despite its small but strong (and vocal) fans."
15:44:36 <elliott> this is going to be painful
15:44:59 <elliott> HASKELL IS NOT DEAD YOU MORON
15:45:01 <elliott> gbnjHG|F';louri5ye4oaw0da]
15:45:05 <elliott> 'f,gmhjkfwodlpax,jcrdepkjhfgjdxlzkjdfhgcszl,mskjhr4nemdcfyk,iol.,y
15:45:14 <elliott> Phantom_Hoover: it calls delphi dead
15:45:48 -!- cpressey has joined.
15:46:06 <Phantom_Hoover> cpressey, good news, you're not going to get Deviced today.
15:46:07 <elliott> i moved my hands wildly around my keyboard in lieu of replying MULTIPLE TIMES
15:46:14 <elliott> cpressey: the one you linked to
15:46:41 <cpressey> perspective, it's all about keeping it in perspective
15:46:51 <elliott> cpressey: READ THE LOGS lest i have to repeat all my hilarious comments. ok they're not hilarious
15:47:08 <elliott> cpressey: i like how the befunge example lost all spacing
15:47:16 <elliott> i would like to live in a world where befunge programs are shared via html renderings
15:47:23 <elliott> and piecing together the control flow is the receiver's problem
15:47:40 <Phantom_Hoover> cpressey, how do you know about the Device's projective calibration of tensor rings?
15:49:16 <cpressey> oh yes, that logread was quite enjoyable
15:50:30 <cpressey> goddammit i meant to type "atricle"
15:50:43 <cpressey> i seriously typo'd an intentional re-typo
15:57:12 <cpressey> If only PyFunge were implemented in ruby or something
15:57:42 <cpressey> And if only there was a RubyFunge and it was implemented in ... uh....
15:58:07 <cpressey> seriously, as it stands, this is way too predictable
15:59:23 <cpressey> ok I have to figure out a way to pack up all my shit^H^H^Hwag
16:00:28 <cpressey> and... something you punch out and clip together, from Disney.
16:00:48 <cpressey> and a bunch of junk mail, basically
16:01:17 -!- cpressey has quit (Quit: leaving).
16:09:54 <elliott> hello.c++:36:5: error: inconsistent deduction for ‘auto’: ‘std::vector<std::basic_string<char> >’ and then ‘__gnu_cxx::__normal_iterator<std::basic_string<char>*, std::vector<std::basic_string<char> > >’
16:09:54 <elliott> hello.c++:36:5: error: inconsistent deduction for ‘auto’: ‘std::vector<std::basic_string<char> >’ and then ‘__gnu_cxx::__normal_iterator<std::basic_string<char>*, std::vector<std::basic_string<char> > >’
16:10:25 <elliott> well ostensibly. it's grown to calculating factorials. this is to iterate through a list.
16:10:58 <elliott> WAITWAITWAIT I think I can use statement expressions
16:11:08 <Phantom_Hoover> Because all good hello world programs should calculate factorials!
16:11:58 <elliott> #define each(elem, container) each_(elem, container, __COUNTER__)
16:12:00 <elliott> #define each_(elem, container, i_) each__(elem, container, i_)
16:12:00 <elliott> #define each__(elem, container, i) \
16:12:00 <elliott> for (auto each__container__ ## i = (container), \
16:12:00 <elliott> each__iter__ ## i = (each__container__ ## i).begin(), \
16:12:00 <elliott> each__end__ ## i = (each__container__ ## i).end(); \
16:12:01 <elliott> (each__iter__ ## i) != (each__end__## i); \
16:12:04 <elliott> for (auto each__fake__ ## i = true, & elem = *(each__iter__ ## i); \
16:12:15 <elliott> (each__fake__ ## i) = false)
16:12:15 <elliott> But C++0x doesn't like you using "auto" to declare two things of a different type, as it turns out
16:12:37 <elliott> Commonly called cpp in restricted areas such as file extensions and domain names!
16:13:35 <elliott> i bet boost has something like this
16:14:17 <elliott> love how i can't load the full log for today due to slow internet on my logbot
16:14:34 <elliott> I bet coppro knows how to do this :P
16:21:42 <Sgeo> elliott wanted to hide something from me
16:23:18 <Sgeo> It's either something I already know about VRML, or some claim that Haskell is dead
16:25:28 -!- copumpkin has quit (Ping timeout: 252 seconds).
16:26:09 -!- copumpkin has joined.
16:28:44 <Sgeo> By saying "please let sgeo not see this"
16:30:08 <Phantom_Hoover> Presumably because it mentioned one of your obsessions.
16:31:17 -!- ais523 has joined.
16:33:32 -!- asiekierka has quit (Ping timeout: 252 seconds).
16:34:36 <elliott> for (declare_variable<auto> declare__variable__1(args); declare__variable__1.fake;) for (auto each__container__0 = declare__variable__1.value; declare__variable__1.fake; declare__variable__1.fake = false) for (declare_variable<auto> declare__variable__2(each__container__0.begin()); declare__variable__2.fake;) for (auto each__iter__0 = declare__variable__2.value; declare__variable__2.fake; declare__variable__2.fake = false) for (declare_variab
16:34:36 <elliott> le<auto> declare__variable__3(each__container__0.end()); declare__variable__3.fake;) for (auto each__end__0 = declare__variable__3.value; declare__variable__3.fake; declare__variable__3.fake = false) for (; each__iter__0 != each__end__0; ++each__iter__i) for (declare_variable<auto&> declare__variable__4(*each__iter__i); declare__variable__4.fake;) for (auto& arg = declare__variable__4.value; declare__variable__4.fake; declare__variable__4.fake =
16:35:42 <elliott> coppro: This will totally make more sense when it works, trust me :P
16:36:02 <ais523> declare_variable<auto> looks worryingly C++ish, to me
16:36:07 <elliott> #define DECLARE__(type_, name_, value_, i_) \
16:36:07 <elliott> for (declare_variable<type_> declare__variable__##i_(value_); \
16:36:08 <elliott> declare__variable__##i_.fake;) \
16:36:10 <ais523> in fact, the whole thing there looks like C++
16:36:10 <elliott> for (type_ name_ = declare__variable__##i_.value; \
16:36:12 <elliott> declare__variable__##i_.fake; \
16:36:14 <elliott> declare__variable__##i_.fake = false)
16:36:16 <elliott> may help elaborate on what 90% of that is doing
16:36:20 <elliott> I'm writing the Best C++ Program Ever.
16:36:21 <ais523> thus, I will refrain from trying to understand it for the sake of the rest of my sanity
16:36:34 <elliott> This is me implementing a C++0x feature that GCC doesn't have right now :P
16:36:36 <ais523> the reason there isn't an IOC++CC is that it'd be too easy
16:36:39 <elliott> (Well, almost-implementing it)
16:36:53 <coppro> elliott: you're not implementing it :P
16:37:02 <elliott> coppro: Basically DECLARE() lets you do a let block :P
16:37:12 <elliott> With a for loop that only runs for one iteration.
16:37:45 <elliott> hello.c++:50:5: error: invalid use of ‘auto’
16:37:54 <elliott> All the 23498723489234 errors are from that same line and column :P
16:38:16 <elliott> hello.c++:50:5: error: request for member ‘fake’ in ‘declare__variable__4’, which is of non-class type ‘int’
16:38:23 <elliott> for (declare_variable<type_> declare__variable__##i_(value_); \
16:38:26 <elliott> Doesn't look like it from here, bro.
16:38:42 <elliott> Unless I'm using templates wrong :P
16:39:00 <elliott> ais523: C++ is my favourite esolang
16:39:45 <ais523> oh, last Thursday I actually saw Valgrind tell off one of my students (it was running on a CUDA program, which is basically C with some extra constructs)
16:40:06 <ais523> "More than 10000000 errors detected. Future errors will not be reported. Go fix your program!" or something like that
16:41:50 <ais523> luckily, it didn't try to print all of the ten million previous errors
16:41:53 <ais523> or we'd have been there for ages
16:42:30 <olsner> the question is, how did they keep it running while producing all these errors
16:43:03 <olsner> cleverly mismanaging memory not to crash?
16:43:10 <elliott> structs can be templated right? :)
16:43:11 <ais523> for a bit of context, as far as I can tell the program was an attempt to write a complicated program in one go without even intermediate compiles
16:43:15 <ais523> followed by fixing all the compile errors
16:43:23 <olsner> elliott: yes, structs are classes that default to public
16:43:52 <ais523> and getting really basic things wrong, like mixing up pointers to CPU and GPU memory (which point into entirely different memory spaces)
16:45:09 <Deewiant> 10000000 is easy to get in a big program
16:45:30 <Deewiant> Just have a bunch of loops with off-by-one accesses
16:45:34 <olsner> reminds me of a story from uni, they had an intern there to write a new system for doing computer exams (get assignment from server, submit solutions, get graded, kind of thing)
16:45:47 <Deewiant> It doesn't even manifest as broken, necessarily
16:45:56 <olsner> he coded for half a year or something, in Ada (because that's what he knew) never compiled anything once
16:46:09 <elliott> Deewiant: Ehh... maybe if you had one really long loop :P
16:46:17 <elliott> olsner: and it worked the first time?
16:46:17 <olsner> then sent it to his supervisor and said "here you go, it's done now"
16:46:32 <olsner> no, no single part of it worked, obviously
16:46:46 <elliott> But that's not what the Ada people told me!
16:47:00 <Deewiant> elliott: Five reads and five writes a million times isn't "really long" :-P
16:47:00 <olsner> well, Ada works if you get it to compile
16:47:37 <elliott> I find the class ofbugs Ada tackles to be shallow and solved at the wrong level.
16:47:54 <elliott> The solution to mixing up loop indices is to make them unnecessary in 99% of cases (by adding foreach), not by giving them types :P
16:48:12 <olsner> people use to say the same things about Ada and Haskell, "hard as hell to make anything compile but when it does it works"
16:48:45 <elliott> Haskell does a better job of it than Agda IMO :P
16:49:02 <olsner> yes, haskell does it way better
16:49:29 <elliott> If GHC turned its warnings about incomplete pattern matches into errors, it'd do a much better job.
16:49:35 <coppro> ais523: wait; the compiler doesn't separately type CPU and GPU memory?
16:49:36 <elliott> As it stands, it does a better job if you use -Wall and religiously fix those mistakes.
16:49:39 <Sgeo> Are phantom types regularly used?
16:49:43 <elliott> (-Werror might be a bit much, GHC likes to warn a lot in my experience.)
16:49:56 <olsner> I think Ada is roughly equivalent to C++ in type safety, but Ada makes the unsafe stuff look worse by making it slightly more explicit and giving it scarier names
16:50:38 <Sgeo> Haskell has unsafe stuff too...
16:50:58 <elliott> Phantom_Hoover: I cannot possibly answer ;P
16:52:12 <olsner> Sgeo: so? pretty much everything has unsafe stuff...
16:52:15 <elliott> : value(value), fake(true)
16:52:25 <elliott> I wonder if that constructor might be wrong :P
16:52:51 <elliott> olsner: Oh, and if Haskell removed error and undefined.
16:53:00 <elliott> (Using exceptions everywhere instead -- ugly, but.)
16:53:18 <elliott> (Yes, you still have halting for _|_, but that's a lesser problem than e.g. each div requiring an if :P)
16:53:35 <olsner> hmm, aren't error and undefined already exceptions?
16:53:47 <olsner> but iirc you can only catch exceptions in IO
16:54:20 <elliott> pikhq_: Does bsnes no longer support .sfc or something? X_X
16:54:26 <elliott> It refuses to show them in this directory list.
16:54:39 <elliott> olsner: But they're not USEFUL exceptions :P
16:54:46 <elliott> i.e. ones you can catch individually
16:55:02 <elliott> olsner: Oh, and as hateful as it would be, something like Java's throws declarations in the type.
16:55:36 <elliott> With those three changes (force all pattern-matching to be complete, remove error and undefined, add "throws" declarations to function types) Haskell would do a way, way better job than Ada.
16:56:40 <olsner> was that supposed to be Ada or Agda? :P
16:58:20 <ais523> <coppro> ais523: wait; the compiler doesn't separately type CPU and GPU memory? <--- it's designed to be similar to C, you'd expect it to?
16:58:30 <ais523> it's basically just C with a few extra keywords and templates
16:59:29 <ais523> well, it doesn't steal most other C++ features
16:59:44 <elliott> so you use a c++ compiler with all the non-template stuff taken out?
16:59:59 <ais523> which I think expands to "NVidia C Compiler"
17:00:07 <ais523> but I'm not entirely sure what, if anything, it's based on
17:00:19 <elliott> ais523: so it actually has C++ templates?
17:00:49 <ais523> I doubt it's all the same features, because C++ is insane
17:01:03 <ais523> but it does the basic stuff, with the same syntax as C++
17:01:03 <coppro> ais523: if it has templates in particular, I'd expect it to type them differently, yes
17:01:26 <ais523> I think the templates might only take things like integers as parameters, not class names, due to not having classes and structs not really being the same
17:01:40 -!- pikhq has joined.
17:02:18 <coppro> elliott: yes, but you could use templates to overload on GPU/CPU pointers
17:02:18 -!- pikhq_ has quit (Ping timeout: 260 seconds).
17:02:44 <elliott> coppro: yes, but (1) that sounds gross and (2) those wouldn't look like normal pointers
17:02:51 <elliott> gpu pointer: oh_god_the_pain<int> foo;
17:03:05 <ais523> and you wouldn't be able to index one of them
17:03:12 <ais523> due to C not having operator overloading
17:03:18 <elliott> "int gpu *" would make sense, or "gpu int *"
17:03:23 <elliott> I'm not sure which would be appropriate
17:03:37 <elliott> what would make proper sense is using a language with real types and so avoiding C backwards compat entirely :)
17:04:35 <ais523> really, all this is far too high a level, they should be using Checkout
17:04:43 <ais523> except there aren't any impls of it yet
17:05:14 <elliott> http://xkcd.com/863/ ;; this is actually a good comic
17:05:30 <elliott> no punchline, but amusing and pretty well-paced
17:05:45 <elliott> ais523: of course functional languages are uniquely suited to GPUs >:)
17:05:52 <elliott> ais523: (functional languages that compile to Checkout, of course)
17:06:15 <elliott> Sgeo: I use phantom types occasionally
17:06:29 <ais523> well, Haskell parallelizes better than, say, Python
17:06:33 <elliott> But they're not really strictly phantom types
17:06:36 <coppro> elliott: yes, I would hope that gpu pointers would just be a keyword
17:06:49 <elliott> ais523: the point is that GPUs are essentially 349857349857394579834579835789347598347598347598347598347593475934857349573985-threaded CPUs :)
17:07:00 <elliott> with CPUs, automatic parallelisation is infeasible
17:07:04 <elliott> because there's too few threads to prioritise well
17:07:17 <ais523> they typically only actually run 256 threads at a time
17:07:22 <elliott> yes, but that's still a ton
17:07:24 <ais523> most of the interesting work is in switching between them quickly
17:07:41 <ais523> e.g. each thread has its own set of registers, to avoid having to save them anywhere when context switching
17:07:47 <ais523> so a context switch can be done in a single clock cycle
17:08:28 <elliott> ais523: how fast is spawning a thread on a GPU, incidentally?
17:08:56 <ais523> they're spawned statically, you need to work out how many you want in advance then they all spawn at once
17:09:28 <ais523> but if you have no threads, creating up to around a million threads can be done in a few microseconds
17:09:44 <ais523> although ofc that number can't run simultaneously, and will be somewhat sequentialised
17:10:06 <elliott> hmm, are GPUs good at anything OTHER than embarrassingly parallel problems? :)
17:10:17 <ais523> well, it doesn't have to be embarassingly parallel
17:10:24 <ais523> being moderately parallel is enough to have gains
17:10:34 <elliott> hmm, can you even DO shared memory on a gpu?
17:10:34 <ais523> but it still needs to parallelize somewhat
17:10:44 <ais523> yep, but it's slow and messy
17:10:54 <ais523> that's what checkout/2 between 3 and 5 does
17:10:54 <elliott> <ais523> being moderately parallel is enough to have gains
17:11:13 <elliott> um I just mean embarrassingly as in what was i going to say ...
17:11:23 <elliott> as in no communication between tasks
17:11:35 <ais523> ah, "embarassingly parallel" is a technical term, as in doubling every element in an array
17:11:38 <elliott> i.e. each thread completely independent of the others
17:11:50 <ais523> tasks like adding every element in an array together aren't embarassingly parallel, yet GPUs are still quite good at them
17:12:08 <elliott> (divide the array into N segments, sum sequentially, sum the results?)
17:12:13 <elliott> sum each segment in a thread
17:12:17 <elliott> where the thread does it sequentially
17:12:20 <ais523> no, it's much more complex than that
17:12:37 <ais523> especially when you take thread blocks into account
17:12:49 <ais523> which are groups of threads that are capable of cooperating closely, and have fast shared memory between them
17:12:54 <ais523> (those are the /3s of Checkout)
17:12:55 <elliott> in fact, I think every embarrassingly parallel problem takes the form of a pmap
17:13:05 <elliott> i.e. map that does every application in a thread
17:13:26 <ais523> yep, those sort of problems actually miss much of the point of GPUs
17:13:30 <ais523> because block memory is so massively important
17:13:37 <elliott> <ais523> which are groups of threads that are capable of cooperating closely, and have fast shared memory between them
17:13:46 <elliott> GPUs are bad at subtracting an entire array?
17:13:50 <elliott> i.e. this relies on commutativity :)
17:14:02 <ais523> what does subtracting an entire array even mean?
17:14:10 <elliott> ais523: umm, what does adding an entire array mean?
17:14:18 <elliott> subtracting an entire array = fold (-) something array
17:14:30 <elliott> or negating every element than summing
17:14:38 <elliott> (that just negates the zero)
17:14:44 <ais523> the point is that that is pretty much a commutative operation
17:14:50 <elliott> hmm, well, depends on your fold I guess
17:14:59 <elliott> the result on [a,b,c,d] != the result on [a,c,b,d]
17:15:15 <elliott> ais523: so you couldn't do even a small chunk in parallel using fast shared memory
17:15:19 <elliott> because you'd have to synchronise them
17:15:45 <ais523> oh, that's a + -b + c + -d + e + -f + g + -h, etc
17:16:01 <ais523> which still commutes pretty nicely, as you have information about which index into the original array an element is
17:16:28 <elliott> YES but I mean if you took the summing algorithm
17:16:32 <elliott> and replaced the + sign with a -
17:16:49 <elliott> because I bet it depends on all threads in a thread group being able to add to the shared counter without worrying about synchronisation
17:17:01 <Phantom_Hoover> I suppose it's obvious that the votes for Reddit comments would decrease the further down the tree you went, but it interests me for some reason.
17:17:04 <ais523> it actually works in pairs
17:17:18 <ais523> so you do ((a+b) + (c+d)) + ((e+f) + (g+h)), etc
17:17:32 <ais523> doing that within a block by first using all threads, then half the threads, then a quarter of the threads, etc.
17:17:55 <coppro> how do you know when something is commutative though?
17:17:59 <ais523> and down to the warp level (that's a /2), you can do conditionals on threads and actually save time
17:18:08 <elliott> coppro: ais523 is describing a sum algorithm, not a general fold
17:18:15 <ais523> replacing all that with ((a-b) + (c-d)) + ((e-f) + (g-h)) is obviously trivial
17:18:24 <ais523> ofc, general folds don't parallelize
17:18:33 <elliott> obviously a Ridiculously High Level GPU Language would have a fold that's parameterised on the function type
17:18:48 <ais523> e.g., if you want to fold \a.\b.(md5sum(a) + md5sum(b))
17:18:50 <elliott> with a rule that for every function you've proved/assumed (as axiom) commutative
17:18:52 <elliott> it uses the fancy sum algo
17:19:37 <ais523> the algo's much fancier than that, though, to use memory properly
17:19:41 <elliott> ais523: so did Erlang inspire Checkout? :-P
17:19:50 <elliott> ais523: but the /N after a function name!
17:20:01 <ais523> it was inspired pretty much entirely by a) CUDA, b) actual GPU architecture
17:20:11 <ais523> oh, I noticed that was the same syntax as Prolog, but it's a different meaning
17:20:15 <ais523> I think I just liked the way it looked
17:20:24 <ais523> and I wouldn't be surprised at all if Erlang stole the syntax from Prolog
17:20:30 <ais523> because it stole most of its syntax from Prolog
17:20:42 <ais523> for no obvious reason, given that the two languages are quite different in most other respects
17:20:46 <elliott> erlang stole it from prolog
17:20:50 <elliott> erlang's relationship to prolog is so weir
17:20:56 <elliott> <ais523> and I wouldn't be surprised at all if Erlang stole the syntax from Prolog
17:20:57 <elliott> <ais523> because it stole most of its syntax from Prolog
17:20:57 <elliott> <ais523> for no obvious reason, given that the two languages are quite different in most other respects
17:20:58 <elliott> I did not read these lines
17:21:01 <elliott> I wrote my lines before reading them
17:21:19 <elliott> keeping up this elliott alter ego is more trouble than it's worth for me, ais523
17:21:20 -!- elliott has left (?).
17:21:29 -!- elliott has joined.
17:21:34 -!- elliott has left (?).
17:21:54 <fizzie> I don't think you can say CUDA C has templates; I mean, it has that <<<N, M>>> notation to do the threads, but it's really quite far from templates. (At least as far as the C-like CUDA 1.x is concerned; I don't really know much about the 2.x "pretty much runs C++ on the GPU" CUDA.)
17:22:33 <ais523> fizzie: no, it has the template<> notation as well
17:22:35 -!- Behold has joined.
17:22:41 <ais523> which is separate from the <<<>>> notation for running things on a GPU
17:23:34 <ais523> I'm not sure if it still has the > > vs. >> parsing nonsense
17:25:01 <fizzie> Ah, it's in Appendix D, "C++ language constructs for device code". Well-hidden. But according to this it does operator overloading too.
17:25:04 -!- elliott has joined.
17:25:14 <elliott> Has nobody got the memo to stop using <> for parens in C?
17:25:59 -!- BeholdMyGlory has quit (Ping timeout: 248 seconds).
17:26:05 <ais523> at least <<< >>> is distinctive and obviously different from a regular function call
17:26:07 <elliott> hello.c++:50:5: error: invalid use of ‘auto’
17:26:46 <elliott> geordierror: invalid use of 'auto'
17:27:04 <elliott> coppro: plz stop talking so much in #c++-f so i can grep things more easily in logs found by google
17:27:04 <fizzie> The only templates it does is function templates, though, so you couldn't do a template-driven fake-pointer.
17:27:10 <elliott> (I use an O(n) grep. Totally.)
17:27:31 <elliott> struct coppro { void *ptr; }
17:27:51 <elliott> (coppro is my new metasyntactic variable when talking about anything vaguely related to C++)
17:28:22 <fizzie> You could define new operators for a struct coppro, though, so maybe with the preprocessor you could manually construct fake-pointers like that.
17:28:34 <fizzie> (To point at different data types, I mean.)
17:28:58 <elliott> _nesting_ DECLARE doesn't work
17:29:32 <elliott> oh, it's using auto that doesn't work
17:31:40 <elliott> coppro: is "auto" not a valid template argument, O C++0x Oracle?
17:32:15 <elliott> coppro: that's laaaaaaaaaaaaaaaaaaaame
17:32:39 <coppro> how the hell would that even work
17:32:47 <elliott> coppro: it'd infer the right argument!!
17:32:56 <elliott> "auto declare__variable__0(4)"
17:32:59 <elliott> that's not going to work :)
17:33:02 <elliott> have to explicitly construct...
17:33:52 <elliott> coppro: you can't even say "foo<auto>(X)" :(
17:34:16 <elliott> maybe I'll use __typeof__.
17:36:12 <elliott> Yeah well, I bet coppro couldn't write this macro himself anyway. HMPH
17:37:10 <elliott> Wow, it works with __typeof__.
17:39:10 <elliott> hello.c++:51:22: error: expected primary-expression before ‘<<’ token
17:39:32 <elliott> I guess __typeof__ is resulting in something starting with a <> somehow
17:41:08 <elliott> OH no that's from the loop body.
17:42:55 <elliott> coppro: olsner: anyone who has ever coded C++ ever: ais523: http://sprunge.us/fhXB
17:43:00 <elliott> YOUR LANGUAGE IS AT MY KNEES
17:43:26 <elliott> I should probably make a WITH_COUNTER :P
17:46:16 -!- asiekierka has joined.
17:50:23 -!- azaq23 has quit (Quit: Leaving.).
17:50:39 <elliott> ais523: do you know if there is any way to get cpp to omit the contents of included files in its output?
17:50:48 <elliott> gpl(7), gfdl(7), fsf-funding(7), gcc(1), as(1), ld(1), and the Info entries for cpp, gcc, and binutils.
17:50:56 <elliott> the bottom of gcc(1), too :P
17:52:34 <ais523> elliott: you mean, just expanding macros and ignoring the declarations
17:52:45 <ais523> you could try using -imacros on the command line rather than #include in the file itself
17:52:49 <elliott> ais523: no, just whenever it sees #include,
17:52:56 <ais523> in the included files?
17:52:57 <elliott> it loads all the macro definitions from the file
17:53:00 <elliott> but does not spit it out in the output
17:53:10 <elliott> so I can do "cpp foo.c" without everything in my scrollback being eaten
17:53:15 <elliott> because of 345893475349873897593759834597349834573497535 lines of system headers
17:53:59 <elliott> ais523: imacros is perfect
17:54:03 <elliott> but I'd prefer it apply to all includes
17:54:06 <elliott> I don't want to have to write them all out
17:54:18 <ais523> yep, there doesn't seem to be an option to do it automatically, unfortunately
17:54:59 <ais523> using -P too would help reduce the length, it omits the generated #line directives
17:55:19 <elliott> wow, apparently modifying specs files makes gcc developers refuse to provide support
17:55:24 <elliott> presumably even if you just add -static...
17:55:40 <ais523> I think it's because the way gcc uses them is insane
17:56:03 <elliott> it's because they're not a "public interface", apparently
17:56:09 <elliott> which makes them... fairly pointless
17:58:16 <elliott> ais523: wow, I've actually run into the "NO RECURSION" cpp thing while legitimately trying to tidy up my code
17:58:21 <elliott> #define WITH_COUNTER(f_, ...) WITH_COUNTER_(f_, __COUNTER__, ## __VA_ARGS__)
17:58:21 <elliott> #define WITH_COUNTER_(f_, counter_, ...) WITH_COUNTER__(f_, counter_, ## __VA_ARGS__)
17:58:21 <elliott> #define WITH_COUNTER__(f_, counter_, ...) f_(counter_, ## __VA_ARGS__)
17:58:26 <elliott> #define DECLARE(...) WITH_COUNTER(DECLARE_, ## __VA_ARGS__)
17:58:26 <elliott> #define DECLARE_(i_, name_, value_) ...
17:58:31 <elliott> in any WITH_COUNTER'd function
17:58:36 <elliott> you can't call any other function that uses WITH_COUNTER
17:58:41 <elliott> because that's using WITH_COUNTER more than once
18:01:55 -!- pikhq_ has joined.
18:02:00 -!- pikhq has quit (Read error: Operation timed out).
18:07:18 <iconmaster> Is there an easy way to get ANSI.SYS to start working in Windows? I need dem escape codes.
18:07:40 <iconmaster> This probably isn't the best place to ask this...
18:07:51 <ais523> no, the best advice I can give if you need the full range is "use DOSBox"
18:07:59 <ais523> the Windows terminal does do some of them, though, like color
18:08:52 <iconmaster> OK, color _might_ be good enough if I just clear the screen instead of repositionnig the cursor...
18:09:29 <iconmaster> Yeah, I'm making console Lua programs.
18:10:29 -!- augur has quit (Remote host closed the connection).
18:11:18 <iconmaster> I wanted where the IP was to be color-inverted; also displaying ALAGUF output is *a lot* easier with curos repositioning
18:12:28 <fizzie> There's a thing to putty to use it as a terminal for cygwin; but, well, cygwin...
18:14:55 <fizzie> (And of course if you bother with cygwin you could just use its xterm.)
18:16:02 <iconmaster> I'm trying to make it system-independant, but Windows is dumb in not supporting ANSI.
18:17:22 <elliott> iconmaster: vt100s are just ANSI emulators for the most part...
18:17:38 <elliott> vt100 terminal emulators, that is.
18:19:01 <ais523> nobody uses the Windows terminal for anything, pretty much
18:19:08 <ais523> including Windows programmers
18:19:18 <ais523> who either use a GUI, or a better terminal emulator
18:20:44 -!- optbot has set topic: logs: http://tunes.org/~nef/logs/esoteric/?C=M;O=D and http://208.78.103.223/esoteric/ | actually saunalahti means a lahti containing a sauna.
18:20:45 <fizzie> elliott: Re your earlier thing, you can do something like this to get whatever's in test.c, preprocessed, after the last #include in it: gcc -E test.c | grep -A 10000 '# '`gcc -E test.c | grep -E '# [0-9]+ "test.c"' | cut -d ' ' -f 2 | tail -n 1`' "test.c"'
18:21:12 <iconmaster> I wonder: Does PowerShell terminal support ANSI? I have that installed...
18:21:16 <elliott> fizzie: Doesn't work if you use -P, but you can process those afterwords, I suppose.
18:21:19 <elliott> iconmaster: It just uses cmd.exe...
18:21:36 <elliott> cmd.exe is the emulator, COMMAND.COM the command interpreter (though I think the latter has a different name nowadays)
18:21:50 <elliott> I hesitate to call cmd.exe a terminal and draw the line at calling COMMAND.COM a shell
18:23:20 <iconmaster> If Powershell dosn't have ANSI, that how does *it* use colors in its error messages? Direct BIOS calls, most like.
18:23:52 -!- BeholdMyGlory has joined.
18:24:03 <elliott> iconmaster: Uh, Windows' terminal does colours.
18:24:10 <elliott> And the BIOS can't do anything to cmd.exe.
18:24:27 <fizzie> You can do anything in a console window using the console API; that's what you're "supposed" to use in a console app.
18:24:29 <elliott> The bug is in your code, I suspect.
18:24:40 <elliott> Are you sure colours don't work by default?
18:24:43 <fizzie> Well, for some values of "supposed".
18:24:45 <elliott> No, can't be. Cygwin's bash.exe works.
18:24:50 <ais523> elliott: actually, for added confusion, cmd.exe is also a shell that's different from command.com
18:24:51 <elliott> In both a vt100 and the Windows terminal.
18:24:59 <ais523> as in, similar but different syntax
18:25:00 <elliott> And I very much doubt that it has Windows code to do that :)
18:25:06 <fizzie> Colors might work, I don't know about that. It was more of a general comment, if you need complicated things.
18:27:18 -!- Behold has quit (Ping timeout: 276 seconds).
18:27:30 <ais523> NetHack works in the Windows terminal
18:27:39 <ais523> as a result of a crazy amount of specialcasing, IIRC
18:27:44 <ais523> it can restrict itself to just the subset that works
18:27:48 <ais523> hardly anything else does, though
18:28:01 <fizzie> If you directly WriteConsole in a console window, it doesn't support any escape codes at all, but I guess there might well be something somewhere in-between so that "regular" console output can use some control codes.
18:30:07 -!- Behold has joined.
18:30:12 -!- Behold has quit (Changing host).
18:30:12 -!- Behold has joined.
18:30:32 -!- BeholdMyGlory has quit (Read error: Operation timed out).
18:30:40 <elliott> hmm, it might actually be a bug in bsnes
18:32:32 <elliott> the file browser window is being created with no title, and thus the filter isn't working
18:33:02 <fizzie> ais523: Yes, the win/tty/wintty.c defined(WIN32CON) snippets seem very nice. There's one in tty_askname() that does backsp(); (void) putchar(' '); backsp(); after receiving a \b or \177 with the comment "\b is visible on NT".
18:33:16 <elliott> I like how that makes no sense at all.
18:33:35 <fizzie> ais523: In any case it seems to use the proper Win32 console API with the functions from sys/winnt/nttty.c.
18:33:48 <fizzie> (To move the cursor and such.)
18:33:57 <ais523> fizzie: well, it works even over telnet
18:33:59 <ais523> where you can't use the API
18:34:03 <ais523> which is what really impresses me
18:36:36 <fizzie> ais523: The Windows "telnet" console app parses ANSI. It even does four different terminal types (vt100, vt52, ansi, vtnt).
18:36:50 <ais523> ah, I didn't know that
18:40:14 -!- FlyingTortilla has joined.
18:41:01 <fizzie> For all those people who have to telnet to pre-1978 systems that don't know about this newfangled VT100 family.
18:41:13 -!- iconmaster has quit (Quit: installing a z80 emulator.... My FAV ML!).
18:43:31 <elliott> oh dear, my compile of bsnes is either ridiculously buggy, or v076 is
18:43:44 <elliott> also, iconmaster has to quit to do things with his computer. clearly.
18:43:59 -!- augur has joined.
18:45:03 <elliott> Yes. Z80 is a dialect of ML.
18:45:04 <ais523> well, ML and z80 machine language are both pretty clean languages
18:45:22 <Phantom_Hoover> Perhaps the dialect of ML used by the Venezuelan Air Force.
18:46:53 <elliott> Wow, bsnes doesn't even load a word at a time from memory.
18:47:02 <elliott> It literally reads words byte-by-byte.
18:47:08 <elliott> Presumably because you can override individual bytes of RAM,
18:47:36 <fizzie> Heh, the VTNT terminal doesn't use escape codes either: instead, all output is sent wrappend inside VTNT_CHAR_INFO structures, that specifies stuff like the coordinates of a rectangle where the output goes; and followed by an array of 32-bit VTNT_SINGLE_CHAR values that have a 16-bit character code and 16 bits of attributes.
18:47:43 <fizzie> I wonder if anyone really uses that thing anywhere.
18:47:45 -!- iconmaster has joined.
18:48:09 <ais523> fizzie: and are they just fwrite()ten versions of internal Windows structures?
18:48:12 <elliott> VTNT : VTNT - VT[5] community mailing list
18:48:13 <elliott> 18 Oct 1999 ... A low-noise mailing list focusing on using the Video Toaster NT.
18:48:13 <elliott> groups.yahoo.com/groups/VTNT/ - Cached
18:48:13 <elliott> VTNT Terminal. VTNT terminal emulation is an extension to the Telnet Terminal Type Option standard (RFC 884), which is part of the Telnet protocol family of ...
18:48:16 <elliott> msdn.microsoft.com/en-us/library/ms819760.aspx - Cached - Similar
18:48:18 <elliott> Clearly NetHack runs on a toaster.
18:48:20 <elliott> A Video Toaster, but a toaster.
18:48:42 <ais523> does "low-noise" there actually mean "low-traffic"?
18:48:48 <ais523> elliott: it's not obvious where to put the parens
18:49:03 <fizzie> ais523: I don't recognize them, but of course they might well be. They're not exactly the console API structures, I think.
18:49:54 <ais523> elliott: ouch, that's not how you take the past tense of "write" at all
18:50:09 <elliott> ais523: That's okay, because you're not taken the past tense of write.
18:50:16 <elliott> You're taking the past tense of fwrite().
18:50:26 <elliott> ais523: I call multiple computer mouses "mouses" when I remember to, too.
18:51:51 <pikhq_> elliott: .sfc is the only extension it does support.
18:51:59 <elliott> pikhq_: Yep. The code is buggy or my gcc is ludicrously buggy.
18:52:13 <pikhq_> Also, fuck DST so much.
18:52:16 <fizzie> There's a "vtnt" terminfo entry in this here database, but it's just "ms-vt100-color|vtnt|windows 2000 ansi (sic)" and I don't think it does what telnet does in "vtnt" mode.
18:52:20 <elliott> pikhq_: The Load Cartridge window was created without a title.
18:52:27 <elliott> pikhq_: The function that adds the filename extension to the list,
18:52:32 <elliott> also set the title of the (terrible, BTW) file chooser.
18:52:45 <elliott> I checked what called that; it was another internal file-chooser function.
18:52:47 <elliott> It used a switch statement.
18:52:55 <elliott> The case that added .sfc and set the title...
18:53:02 <elliott> ...was on the value it was called with directly in the menu code.
18:53:10 <elliott> tl;dr: Evidently switch() compiles incorrectly.
18:53:36 <elliott> pikhq_: Anyway, I then made it show every file just for testing; upon picking the ROM, bsnes emulated 41 FPS' worth of a black screen.
18:53:40 <elliott> Something Is Horribly Wrong.
18:53:56 <elliott> Also, I found a seeded version of that torrent, NO THANKS TO YOU. :p
18:54:39 <elliott> pikhq_: Maybe I should use gcc 4.4 instead of 4.5, but I don't think 4.4 has dem lambadas.
18:57:50 <pikhq_> I strongly suspect you got an invalid ROM?
18:58:14 <ais523> you do realise you aren't supposed to be discussing this on Freenode, right?
18:58:47 <elliott> ais523: Who said it was a torrent of commercial games?
18:58:52 <elliott> I have not said any such thing.
18:59:23 <elliott> pikhq_: It was absolutely not the complete No-Info set circa 2010.
18:59:25 <ais523> but non-commercial SNES games are nearly always distributed as a set of patches
18:59:37 <pikhq_> ais523: ... No, just non-commercial mods.
18:59:51 <elliott> pikhq_: It was by BitTorrent, so all the contents were verified.
18:59:53 <ais523> people write non-commercial SNES games from scratch?
18:59:58 <elliott> pikhq_: Besides, like I said, the file chooser thing was fucked up.
19:00:04 <elliott> But the code was perfectly OK.
19:00:12 <pikhq_> It's more demos than anything else, TBH.
19:00:14 <elliott> So in conclusion, WTF GCC.
19:01:18 <elliott> Maybe it's Ubuntu's default gcc flags.
19:01:43 <elliott> Something -Bsymbolic-functions-related, perhaps.
19:02:06 <pikhq_> http://byuusan.kuro-hitsuji.net.nyud.net/blargg_near_cd_quality2.7z Well, here's a simple audio demo you could try that I know for a fact works in BSNES.
19:02:16 <pikhq_> And only BSNES and a real SNES. :)
19:03:27 <pikhq_> (has lower sound quality on SNES9x, *is pain and agony* on ZSNES)
19:03:35 <elliott> pikhq_: Do you have an .sfc file matching the pattern "C* T* (U*)" whose hash is de5822f4f2f7a55acb8926d4c0eaa63d5d989312?
19:04:30 -!- ais523 has left (?).
19:04:45 <elliott> I think I drove ais away. :p
19:04:56 <elliott> That .7z contains an smc, anyway, which I don't believe bsnes supports.
19:05:07 <elliott> pikhq_: Then my gcc is definitely the issue.
19:05:13 <elliott> And gcc massively miscompiling is definitely esoteric.
19:05:40 <pikhq_> I don't know *what* they did to be worthy of blame, but they're an easy target.
19:06:08 <elliott> https://wiki.kubuntu.org/CompilerFlags
19:06:22 <elliott> Do any of -fstack-protector, -Wl,-z,relro or -Bsymbolic-functions break bsnes? :P
19:07:20 <pikhq_> Well, I *do* know that bsnes relies on fucking with the stack.
19:07:32 <elliott> pikhq_: Indeed; it uses -fomit-frame-pointer, which scares me.
19:07:59 <elliott> Oh wait, symbolic functions aren't even used I think.
19:08:04 <pikhq_> -fomit-frame-pointer *only* screws up debugging on some architectures.
19:08:14 <pikhq_> That is literally the only downside.
19:08:32 <elliott> pikhq_: Then what's your better guess of why this is totally broken?
19:08:45 <pikhq_> Anyways. BSNES's simple multithreading library works by swapping the stack.
19:08:53 <pikhq_> I'm willing to bet that GCC is fucking with that.
19:09:10 <elliott> pikhq_: Mm, but the Makefile specifically selects gcc-4.5 for Linux.
19:09:24 <elliott> I *suppose* a Debian or Ubuntu patch could break it, but...
19:09:33 <elliott> pikhq_: This is a *UI* bug, for one!
19:09:34 <pikhq_> Namely, one of -fstack-protector of -D_FORTIFY_SOURCE=2
19:09:37 <elliott> Before it even emulates ANYTHING!
19:09:40 <elliott> And fortify source is just about warnings.
19:09:58 <pikhq_> -D_FORTIFY_SOURCE adds runtime checks.
19:10:03 <elliott> pikhq_: Like I said, somehow the filter isn't getting added despite the call being totally cromulent.
19:10:44 <elliott> void FileBrowser::fileOpen(FileBrowser::Mode requestedMode, function<void (string)> requestedCallback) {
19:10:45 <elliott> switch(mode = requestedMode) {
19:10:45 <elliott> setTitle("Load Cartridge");
19:11:03 <elliott> systemLoadCartridge.onTick = []() {
19:11:03 <elliott> fileBrowser.fileOpen(FileBrowser::Mode::Cartridge, [](string filename) {
19:11:04 <elliott> cartridge.loadNormal(filename);
19:11:08 <elliott> Yet no title is being set, and no filter is being added.
19:11:31 <elliott> I can think of *exactly one* way this could possibly happen, and that doesn't explain the emulation not working.
19:11:49 <elliott> if(mode == requestedMode && folder == config.path.current) {
19:12:03 <elliott> enum class Mode : unsigned { Cartridge, Satellaview, SufamiTurbo, GameBoy, Filter, Shader } mode;
19:12:30 <elliott> byuu, you fucked up mode initialisation,.
19:12:57 <elliott> pikhq_: tl;dr value initialises to 0, 0 is Cartridge.
19:13:03 <elliott> It thinks it's already in Cartridge, fails to initialise.
19:13:13 <elliott> This doesn't explain the emulation bug, but does make me think that byuu might fail at them programmings.
19:15:04 -!- pingveno has quit (Read error: Operation timed out).
19:17:19 <elliott> This class is terrible, I blame byuu.
19:17:26 -!- pingveno has joined.
19:20:13 <elliott> pikhq_: I conclude that this compile is awesomely fucked.
19:26:30 <elliott> Gregor: Last day of optbot was 09.01.03.
19:26:31 <optbot> elliott: from hehkua, which is glow i think
19:26:38 <Gregor> elliott: To answer your comparison to EgoBot: ARE YOU FUCKING KIDDING ME? EgoBot was set up to make sure the topic mentioned that this was a channel on esoteric programming and that it had the logs, it was NOT set up to make the topic be random fucking bullshit no matter what somebody puts there.
19:26:45 <elliott> Oh wait, "really" 08.11.15 or so.
19:27:26 <elliott> So, basically, over three months. Also, you care about the topic way too much.
19:27:34 <pikhq_> Eh, make optbot togglable.
19:27:35 <optbot> pikhq_: below 0: if the subtraction causes a borrow
19:27:58 <Gregor> I don't care so much what the topic is, I would just much rather we allow it to be human rather than some random bullshit.
19:28:04 <pikhq_> If we really *want* a specific topic, we should be able to keep it.
19:28:12 <elliott> And I'm going to assume that the many people who talked to optbot didn't outright hate it either :P
19:28:16 <pikhq_> Otherwise, well, actually saunalahti means a lahti containing a sauna
19:28:22 <Gregor> People like to set the topic. And it's fine to see the topic change. It's NOT fine to see some topic you put up change for NO FUCKING REASON.
19:28:25 <elliott> pikhq_: I'll turn optbot off if the topic becomes like... vital information to donate money to save someone's life?
19:28:26 <optbot> elliott: Nowadays, that's computer related stuff ;)
19:29:03 <elliott> Gregor: Uhh, people put up plenty of topics when optbot was around, the fact is that the topic rate turnover then was more than once per six hours and it generally is now too, so optbot doesn't really hide the topic any more than anything else.
19:29:04 <optbot> elliott: j-invariant: why?
19:30:10 <elliott> I swear it seemed like more than three months, mind you...
19:30:17 <elliott> The channel was very active then though.
19:30:22 <Gregor> elliott: Except that, to repeat myself again, optbot's topics are RANDOM. It's fine for the topic turnover to be high when PEOPLE are setting the topic. It would even be fine if it was a friendly AI (lols). Instead what we have is human topics being replaced by random lines from the log? WHY?
19:30:22 <optbot> Gregor: is that like /usr/local?
19:30:31 <Gregor> optbot: NO YOU FUCKING ASSHAT IT ISN'T :P
19:30:42 <elliott> Gregor: Because optbot is entertaining and says entertaining things.
19:30:42 <optbot> elliott: apart from that?
19:30:48 <elliott> This has been proved by three-month experiment.
19:31:01 <elliott> It is the same reason fungot has a lot of quotes in the QDB, because these things are funny.
19:31:02 <fungot> elliott: because objects are " reference types" in java. :d), i really like some features of vim, however, is that
19:31:17 <Gregor> SAYING things can be funny, but the topic is not PRIVMSG.
19:32:08 <elliott> Gregor: Actually optbot has produced many entertaining topics before and will do so in the future.
19:32:08 <optbot> elliott: <type 'instancemethod'>
19:32:12 <elliott> Again, 3-month experiment. :p
19:32:56 <Gregor> Oh, plus, when people complained about EgoBot's topic changing, I TURNED THAT FEATURE OFF.
19:32:56 <Phantom_Hoover> elliott, the point is that it overrides whatever has gone before.
19:33:07 <elliott> Gregor: HOW MANY TIMES TO I HAVE TO POINT OUT THAT IT WAS A JOKE BEFORE YOU STOP YELLING ABOUT IT
19:33:21 <elliott> Phantom_Hoover: plz 2 be reading the things i say before replying kthx
19:34:05 <elliott> pikhq_: Which bsnes are you using? I'm pretty sure this version is buggy.
19:34:46 <pikhq_> elliott: I had been using 0.73, for lack of GCC 4.5.
19:34:57 <elliott> pikhq_: Isn't that super old?
19:35:01 <pikhq_> (it's not in Debian Testing yet, and I don't feel like building it myself)
19:35:10 <pikhq_> Uh, a couple months old.
19:35:28 <pikhq_> Oh, GCC 4.5, not BSNES 0.73.
19:35:41 <elliott> pikhq_: http://packages.qa.debian.org/g/gcc-4.5.html
19:35:45 -!- cheater00 has joined.
19:35:47 <elliott> pikhq_: You're probably on squeeze, which is stable.
19:35:52 <elliott> As opposed to wheezy, which is testing.
19:36:31 <elliott> pikhq_: Do try bsnes v076 and tell me if it works :P
19:36:35 -!- cheater97 has quit (Ping timeout: 248 seconds).
19:36:53 <elliott> pikhq_: Also, do this to memory/memory.cpp line 48:
19:36:54 <elliott> destaddr = mirror(base + offset++, length);
19:36:54 <coppro> haha, sometimes I love chess
19:36:54 <elliott> //offset = (offset + 1) % length;
19:36:59 <elliott> Bug acknowledged/fixed by byuu.
19:36:59 <coppro> I earned a resignation in 10 moves
19:36:59 <Gregor> Why is kjournald 75% of my file I/O ...
19:37:21 <Gregor> Shouldn't it be sort of limited by the amount of legit disk I/O that's done?
19:41:56 <pikhq_> elliott: The *fuck*, man.
19:42:14 <elliott> pikhq_: Yes, it's initialised to Cartridge.
19:42:20 <elliott> pikhq_: But even fixing the file selection bug, EMULATION DOESN'T WORK.
19:42:26 <pikhq_> It's going really slow due to defaulting to the accuracy profile.
19:42:36 <elliott> I have a pretty fast machine.
19:42:45 <elliott> Do I have to wait like 30 seconds for it to start?
19:42:49 <pikhq_> Yes, the accuracy profile is insane.
19:42:50 <elliott> pikhq_: BTW, did the file selector work for you?!
19:43:17 * pikhq_ tries the compatibility profile
19:43:20 <elliott> pikhq_: Anyway, I get 41-43 FPS.
19:43:31 <elliott> pikhq_: Not that it ever _starts_.
19:43:34 <elliott> But if I get FPS like that...
19:43:42 <elliott> Surely it should be starting the actual game quickly?
19:45:11 <elliott> pikhq_: ASKING QUESTIONS HERE :P
19:46:20 -!- sebbu2 has joined.
19:46:26 <pikhq_> But try profile=compatibility?
19:46:49 <elliott> I will. But I strongly suspect a broken compiler or something if the file selector is broken.
19:47:40 -!- Gregor has set topic: My computer is possessed by the Ancient Spirit of ALGOL | Blessd be his name | logs: http://tunes.org/~nef/logs/esoteric/?C=M;O=D and http://208.78.103.223/esoteric/.
19:49:48 -!- sebbu has quit (Ping timeout: 276 seconds).
19:50:24 <elliott> pikhq_: Same blank screen with compatibility.
19:50:32 <elliott> So it's emulating, just not... blitting the emulation to my screen.
19:50:37 <elliott> BYUU, YOUR UI IS SO BROKEN.
19:50:51 <elliott> pikhq_: Can I have a binary with profile=accuracy? :-P
19:50:56 <elliott> I'm on x86-64 Ubuntu, so it should work on my machine too.
19:50:59 <pikhq_> Hit "advanced options" and try a different video driver?
19:51:07 <elliott> And the file selector bug is still there.
19:51:17 <elliott> I conclude that my compiler or something is fucked, so your binary would be appreciated :P
19:51:21 <elliott> At least until I debug further.
19:51:39 <Deewiant> fizzie: Do you have RAM restrictions per bot or just for the whole thing
19:52:48 <pikhq_> elliott: Got a simple way of getting it to you?
19:52:59 <elliott> pikhq_: Is email acceptable?
19:53:17 <elliott> pikhq_: penguinofthegods@gmail.com :)
19:53:27 <elliott> If Yet Another Person asks me wtf is with my email, I will kill them.
19:54:32 <pikhq_> I'm not getting past the very first bit in Super Mario Kart.
19:54:33 <fizzie> Deewiant: Per bot; the two competitors are run as completely different processes.
19:54:47 <elliott> pikhq_: I'll try 'nother ROM myself.
19:54:48 <fizzie> Deewiant: (The time limit is based on ulimit'ing CPU time to one hour.)
19:54:55 <Deewiant> fizzie: Ah, so the 256 megs is for just the bot?
19:54:59 <elliott> pikhq_: Most people seem fine with this release, so clearly our compilers are SO FUCKED UP, SO FUCKED UP.
19:55:09 <pikhq_> Works just fine with Chrono Trigger.
19:55:09 <elliott> Deewiant: Is this the FANCY TOURNAMENT?
19:55:32 <fizzie> Deewiant: Well, there's a small stub to accept situations from stdin and write moves to stdout, but that's not going to use very much memory.
19:55:51 <Deewiant> elliott: Depends on what's fancy and what's not
19:56:20 <elliott> pikhq_: SMW does the same black screen thing, so yeah.
19:56:28 <elliott> Your binary is more working than mine :P
19:56:45 <pikhq_> gcc (Debian 4.4.5-13) 4.4.5
19:56:57 <pikhq_> Super Mario World *also* works just fine.
19:57:13 <pikhq_> I'd bet SMK is a DSP issue.
19:57:26 <elliott> gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
19:57:33 <elliott> pikhq_: I wouldn't mind your binary still, then. :p
19:57:38 <elliott> I'll compile my own 4.5 later.
19:59:10 <fizzie> Deewiant: http://p.zem.fi/ts0k.java -- this plus whatever code you write is run under "java -Xmx256M", to be most exact.
20:00:44 <fizzie> The name is inherited, not mine.
20:00:53 <fizzie> I did put my own domain there for the prefix, though.
20:01:43 <elliott> pikhq_: Your binary works.
20:02:02 <elliott> pikhq_: Clearly I need a better compiler.
20:02:14 <elliott> pikhq_: (Meanwhile, wtf wtf wtf @ that miscompilation)
20:02:37 <elliott> pikhq_: Actually what I *suspect* it is is that bsnes is depending on undefined behaviour and -O3 is messing it up.
20:02:45 <elliott> Like the initialisation of the file opener mode...
20:05:04 <pikhq_> And a-yup, I was having an issue with loading the DSP. Mario Kart works fine now.
20:06:10 -!- FlyingTortilla has left (?).
20:09:59 <pikhq_> I had set up an XML file for loading it. The format of the memory-mapping XML changed.
20:10:24 <elliott> pikhq_: Ah. (Why does the emulator come with cheats but not memory-mappers?)
20:10:48 <pikhq_> It guesses them on cartridge load.
20:10:58 <pikhq_> Because the actual memory layout for almost everything isn't known yet.
20:11:10 <elliott> "But What About the BS-X Satellaview?
20:11:10 <elliott> The truth of the matter is that most of these games are irreparably lost forever already. And those that remain are stored on extremely volatile flash memory. Not only does this mean the memory will fail an order of magnitude sooner than mask ROMs, it also means it is possible to tamper with. I will not be attempting the impossible here."
20:11:21 <elliott> I wonder if all the games actually still exist on flash.
20:11:39 <elliott> That would be quite a fun project, to track them all down and rip their contents.
20:11:51 <pikhq_> Some of them were only playable for a limited time, making it so that people would have deleted them.
20:12:09 <elliott> Maybe somebody lost interest in a shot while.
20:12:21 <pikhq_> You seriously need either a time machine or a break-in to get at it, as far as we know.
20:13:20 <elliott> http://www.satellablog.blogspot.com/ This seems to have... videos, at least.
20:14:53 -!- sebbu2 has changed nick to sebbu.
20:16:49 <elliott> pikhq_: I still can't believe that bsnes is even vaguely playable now that I know it loads RAM byte-by-byte :P
20:16:57 <elliott> At least the SNES is 16-bit, so it's only two reads.
20:18:24 <elliott> pikhq_: Ohwait what's your g++-4.5 --version?
20:18:35 <elliott> Just realised I gave you my normal gcc version X-D
20:18:36 <pikhq_> g++-4.5 (Debian 4.5.2-4) 4.5.2
20:18:43 <elliott> g++-4.5 (Ubuntu/Linaro 4.5.1-7ubuntu2) 4.5.1
20:18:52 <elliott> So MAYBE 0.0.1 VERSIONS FIXED SOMETHING
20:19:10 <pikhq_> And, yeah, bsnes does a lot of stuff very inefficiently.
20:19:52 <pikhq_> It's hardware documentation that happens to be playable. :P
20:20:38 <elliott> pikhq_: HARDWARE DOCUMENTATION THAT RELIES ON THE STACK NO LESS
20:21:23 <pikhq_> It uses the stack-swapping thing because it makes things very, very readable.
20:21:54 <pikhq_> Well, aside from libco itself.
20:22:08 <Deewiant> fizzie: Are recent previous years' bot rankings available? (I'm wondering how much better than the given quintuplet people's creations have tended to be)
20:24:26 <fizzie> Deewiant: The old results page is at http://www.cs.hut.fi/Studies/T-93.4400/2010/results/
20:25:10 <fizzie> Deewiant: And the 2009 at http://www.cs.hut.fi/Studies/T-93.4400/2009/results/ -- that year the top three out of the given examples (which are the top 5 from 2008) were unbeateded.
20:25:31 <elliott> <pikhq_> It uses the stack-swapping thing because it makes things very, very readable.
20:26:02 <pikhq_> That's how it implements coöperative multithreading, yes.
20:26:40 <olsner> and this umlaut thing you keep doing is very annoying
20:26:55 <pikhq_> olsner: The SNES is a combination of an insane number of CPUs, each with a different clock.
20:27:44 <pikhq_> Is there any other way to handle that, with clock-tick-accurate emulation, *without* wanting to kill someone?
20:29:13 <pikhq_> Pretty sure the alternative is a truly insane state machine.
20:29:42 <pikhq_> Containing all the possible CPUs that could be loaded.
20:29:58 <pikhq_> (some SNES cartridges had another CPU that hooked into the system bus. No, really!)
20:30:12 <olsner> right! on-cartridge cpus... that makes it a lot more evil
20:31:36 <elliott> Oh, I thought you meant libco didn't use it for that reason.
20:31:42 <elliott> I thought you meant it stack-swapped for some entirely different reason.
20:31:43 <elliott> <olsner> and this umlaut thing you keep doing is very annoying
20:31:50 <elliott> It's called a diaeresis and PH is the one who does it all the time :P
20:32:22 <olsner> I don't care who does it the most, I blame all of you!
20:32:42 <elliott> Technically, it's called...
20:33:02 <elliott> olsner: It's actually a trema.
20:33:16 <elliott> i.e., a trema is a diæresis that marks a hiatus.
20:33:27 <olsner> Trema is a genus of about 15 species of evergreen trees closely related to the hackberries (Celtis)
20:33:41 <elliott> An umlaut is also a trema.
20:33:47 <elliott> So it's a hiatus trema diæresis!
20:34:12 <pikhq_> elliott: BTW, if you have ROMs in .smc, use snespurify (in the bsnes source).
20:34:15 <fizzie> We Finns keep döing it all the time too, but it's umlauts when we do it.
20:34:57 <elliott> pikhq_: So I need to run snespurify on byuu's thing you linked me? WELL THAT MAKES SENSE
20:35:15 <pikhq_> Tḧërë's älsö ẗḧë mëẗäl ümläüẗ.
20:35:20 <elliott> fizzie: Hmm, are ä and ö not part of your balphabet?
20:35:25 <olsner> what I object to is the use of non-umlaut tremata
20:35:38 <elliott> pikhq_: <pikhq_> http://byuusan.kuro-hitsuji.net.nyud.net/blargg_near_cd_quality2.7z Well, here's a simple audio demo you could try that I know for a fact works in BSNES.
20:35:46 <elliott> Unless there's ANOTHER person called byuu out there who does SNES stuff.
20:35:46 <fizzie> It is rather hard to avoid not hearing how it sounds wrong when you see "coöperative" when the "hardwired" meaning is a different sound.
20:35:46 <pikhq_> elliott: Blame Blargg.
20:35:55 <elliott> Was wondering what that meant!
20:36:07 <elliott> fizzie: Are they actually pronounced umlauty?
20:36:13 <elliott> Or are they just separate members of the balphahet?
20:36:20 <olsner> metal tremata are worse than diaereses since they don't even have a meaning
20:36:56 <pikhq_> olsner: Diæreſes are more correct þan þou.
20:37:34 <elliott> olsner: They're not tremata.
20:37:45 <elliott> The symbol is the diæresis.
20:38:05 <fizzie> "The trema is usually used to denote one of two distinct phonological phenomena: diaeresis (pronounced /daɪˈɛrɨsɨs/ dy-ERR-ə-səs), in which the trema is used to show that a vowel letter is not part of a digraph or diphthong; and umlaut (pronounced /ˈʊmlaʊt/ OOM-lowt), in which the trema illustrates a sound shift."
20:38:10 <olsner> "A trema [...] is a diacritic consisting of two dots ( ¨ ) placed over a letter"
20:38:13 <elliott> A tremeta is when a diæresis is used to denote either a hiatus, or a sound shift.
20:38:25 -!- asiekierka has quit (Ping timeout: 248 seconds).
20:38:39 <olsner> and "Diaeresis (prosody), pronunciation of vowels in a diphthong separately, or the division made in a line of poetry when the end of a foot coincides with the end of a word" from the disamb. page
20:38:41 <elliott> olsner: Arguably, a trema is a diæresis when it is used to denote a hiatus, and an umlaut when it is used to denote a sound shift.
20:38:56 <elliott> But metal umlauts are neither a hiatus nor a sound shift, so I think calling the mark a trema there is wrong.
20:39:07 <elliott> olsner: Yes, the article recently got deleted.
20:39:10 <Sgeo> Since Varsity has told us that fascination with Jellybabies is a "fetish",
20:39:10 <Sgeo> and we want to keep Nomicam a clean family game:
20:39:10 <Sgeo> The speaker shall once and once only go through the rules, changing every
20:39:10 <Sgeo> mention of the word "jelly baby" - in whatever grammatical form - into the
20:39:10 <Sgeo> word "sheep" - in the corresponding grammatical form.
20:40:38 <elliott> elliott@elliott-MacBookAir:~/Downloads/gcc-4.5.2$ ./configure --with-languages=c,c++ --enable-lto --enable-libssp
20:40:56 <olsner> unless you're in fact arguing the wikipedia is wrong, I think it clearly says that a trema is the diacritic regardless of what meaning you invent for it
20:41:21 <elliott> http://wordnetweb.princeton.edu/perl/webwn?s=trema
20:41:42 <elliott> S: (n) umlaut, dieresis, diaeresis (a diacritical mark (two dots) placed over a vowel in German to indicate a change in sound)
20:41:52 <elliott> So at least WordNet disagrees, sort of, kinda. :p
20:42:17 <olsner> what? I only get S: (n) Trema, genus Trema (an evergreen tree of the family Ulmaceae that grows in tropical America and Africa and Asia)
20:43:35 <elliott> olsner: It's called a ``joke''.
20:43:38 <elliott> You may have heard of this.
20:44:21 <olsner> diaeresis appears to be a synonym of trema though
20:44:41 <elliott> Clearly a diæresis is a type of rtee.
20:45:57 -!- pikhq has joined.
20:45:59 <fizzie> elliott: Re the earlier discussion fork, a → ä is /ɑ/ → /æ/ IPA-wise, and o → ö is /o̞/ → /ø̞/, so it is "umlauty" in the sense of "sound shift"; I think that more or less matches German usage, too.
20:46:00 -!- pikhq_ has quit (Ping timeout: 240 seconds).
20:49:45 <elliott> ../.././gcc/config/i386/i386.c: In function ‘ix86_handle_fndecl_attribute’:
20:49:45 <elliott> ../.././gcc/config/i386/i386.c:26127: warning: unknown conversion type character ‘E’ in format
20:49:45 <elliott> ../.././gcc/config/i386/i386.c:26127: warning: too many arguments for format
20:49:45 <elliott> ../.././gcc/config/i386/i386.c:26135: warning: unknown conversion type character ‘E’ in format
20:49:45 <elliott> ../.././gcc/config/i386/i386.c:26135: warning: too many arguments for format
20:50:15 <olsner> nice, nonstandard formats
20:52:41 <elliott> /usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory
20:52:42 <fizzie> olsner: "E" is not a nonstandard type, though; at least in C99.
20:52:54 <elliott> Does gcc build a 32-bit thing by default?
20:53:04 <elliott> Yeah, no, no multilibs please gcc.
20:53:48 <elliott> Oh well, /me installs multilib gcc :P
20:54:42 <pikhq> Michelle Bachmann would like to let you know that E PLVRIBVS VNVM is unAmerican.
20:55:10 <elliott> (Can we please stop saying "unA"? Really really ugly.)
20:55:27 <pikhq> unÄmerican. Better?
20:56:47 <fizzie> un American, with U+200A HAIR SPACE ("thinner than a thing space; in traditional typography, the thinnest space available") there. (Again an awesome character name.)
20:57:11 <elliott> That's a slight kerning failure! :P
20:57:23 <fizzie> With a monospaced font, it's also quite a failure.
21:00:50 <elliott> gcc sure does take a while to compile.
21:01:04 <elliott> ("A few seconds" would count as "not a while".)
21:26:35 <Sgeo> I should work on installing emacs
21:26:43 <Sgeo> Well, I have Emacs installed, kind of
21:29:20 -!- copumpkin has quit (Ping timeout: 260 seconds).
21:30:01 -!- copumpkin has joined.
21:30:08 -!- copumpkin has quit (Changing host).
21:30:08 -!- copumpkin has joined.
21:35:50 -!- pikhq has quit (Ping timeout: 240 seconds).
21:36:03 -!- pikhq has joined.
21:42:54 -!- iconmaster has quit (Quit: "Help! I've been g:lined from my mIRC!!" Bersirc 2.2: less n00bs [ http://www.bersirc.org/ - Open Source IRC ]).
21:45:27 <elliott> That gcc, it never stops compiling.
21:49:46 <elliott> Makes me want to get an Oberon VM and order it to recompile itself.
22:00:11 <Sgeo> "Have I ever designed a standard library? I'd like to lie and say "no", but the answer is "yes": I designed JavaScript's standard library (Clause 15 of ECMA-262, Edition 1, plus or minus) along with the "DOM Level 0" (onload and onclick and document, window, forms, etc. -- a great deal of this is only now standardized by HTML5).
22:00:11 <Sgeo> I did this in about 30 days in May and June 1995 (10 days in May for the core language), and spent the rest of the year debugging and repenting. I was under orders to make JS look like Java, so some of the standard library is cloned from the JDK1.0 -- in particular, Ken Smith of Netscape did a pretty straight port of java.util.Date, Y2K bugs and all, to JS."
22:00:19 <Sgeo> http://lambda-the-ultimate.org/node/4009#comment-60781
22:05:30 -!- wareya_ has quit (Read error: Connection reset by peer).
22:06:34 -!- wareya has joined.
22:19:20 -!- zzo38 has joined.
22:19:38 <zzo38> There is bad UTF-8 in the TOPIC message.
22:20:13 <olsner> it might not be utf-8 at all
22:20:57 <zzo38> Also, I read article of ] programming language, it says programs that the brackets are matched is invalid. I have a different idea, which is to make something such that a thing is not said explicitly, but instead is implied by the other rules of the language (such as its commands) that cause programs with all matched brackets to do nothing.
22:21:24 <zzo38> olsner: It is not UTF-8. But I think in here we mostly are using UTF-8, so it should be corrected unless you are deliberately trying to make it wrong.
22:22:11 <olsner> it works fine for me, so I don't think it should be changed :)
22:22:57 <zzo38> olsner: Is your client not in UTF-8 mode? Sometimes Japanese things are typed in here using UTF-8.
22:23:33 <lambdabot> forall a. (Integral a) => a -> a -> a
22:23:40 <olsner> it neatly auto-detects whether stuff seems to be latin1 or utf-8
22:24:43 <zzo38> PuTTY does not do such things, though. Also, there might sometimes be something that causes the detection wrong.
22:25:18 <olsner> I think if I used PuTTY I'd have to have putty and my locale set to utf-8 to allow the client to output whatever it auto-detected to
22:25:27 <olsner> or ssh in general, for that matter
22:36:45 -!- copumpkin has quit (Ping timeout: 248 seconds).
22:37:12 -!- copumpkin has joined.
22:44:43 -!- BeholdMyGlory has joined.
22:47:42 -!- Behold has quit (Ping timeout: 252 seconds).
23:03:25 <zzo38> TeX will skip tokens category 10 character 32 when reading undelimited arguments. So, I made a macro \makefunny that makes spaces funny so that the macro can read spaces.
23:05:24 -!- cheater00 has quit (Ping timeout: 255 seconds).
23:21:40 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:22:21 -!- oklopol has quit (Ping timeout: 250 seconds).
23:26:12 -!- oklopol has joined.
23:28:37 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:34:41 <Vorpal> --- google.com ping statistics ---
23:34:41 <Vorpal> 42 packets transmitted, 19 received, 54% packet loss, time 41134ms
23:34:41 <Vorpal> rtt min/avg/max/mdev = 42.567/43.240/44.072/0.433 ms
23:44:13 <zzo38> I have been on #LaTeX channel. I realized that a lot of people have a lot of problems with LaTeX which could be avoided by using Plain TeX instead.
23:45:25 <elliott> At the cost of much more pain.
23:46:31 -!- pikhq_ has joined.
23:46:56 -!- pikhq has quit (Ping timeout: 260 seconds).
23:46:59 <zzo38> elliott: Perhaps the first time. The first time I had a few problems too, but the second time I knew much better and now I can make Plain TeX documents very easily without much pain/trouble/whatever.
23:55:52 <zzo38> I have tried using LaTeX once. It is so weak and difficult that I am not sure why someone would use it, except, perhaps, people who like Microsoft Word.
23:56:28 <elliott> OK, some of us like LaTeX and hate Microsoft Word, and simply want to work in a high-level document language rather than a low-level typesetting language.
23:56:31 <elliott> So please stop telling us how bad it is.
23:56:34 <coppro> you're funny sometimes
23:56:47 <zzo38> elliott: Whatever, work with what you like.
23:56:50 <coppro> zzo38 is to elliott what eliott is to the rest of us
23:57:09 <elliott> coppro: don't be silly, i don't justify my criticisms
23:57:16 <elliott> also, who is eliott :trollface: