←2011-03-12 2011-03-13 2011-03-14→ ↑2011 ↑all
00:10:53 -!- cheater00 has joined.
00:13:52 -!- cheater- has quit (Ping timeout: 255 seconds).
00:23:31 * iconmaster has done TOO MUCH on the wiki today.
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:43:22 <oerjan> zzo38: what?
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:58:49 <Gregor> (were major in Chess)
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:20 <iconmaster> I should do that.
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:12:31 <pikhq> Hooray, averages.
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:20 <Sgeo> Gah
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:08 <cpressey> i will have something -- soon
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:11 <cpressey> it's a surprise :)
01:34:35 <Sgeo> The Wikipedia page for Chess variant has it
01:34:36 <zzo38> OK.
01:34:44 <oerjan> cpressey: we _could_ set the channel +t for a while, i guess...
01:34:54 <oerjan> if it's important
01:35:02 <zzo38> oerjan: No, I think that is not necessary; just announce it normally.
01:35:02 <cpressey> oerjan: what would that do?
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:40 <optbot> oerjan: haha
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:06 <Sgeo> coppro, ^
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&regexpurl=&regexplinktext=
01:38:41 -!- amca has joined.
01:39:18 -!- augur has joined.
01:40:08 <cpressey> GodChess
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:15 <cpressey> *Doctor Who
01:41:22 <cpressey> or Gregor will yet at me
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:42 <oerjan> ok
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:45:54 <cpressey> *yell
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:05 <cpressey> (s/yet/yell)
01:46:09 <cpressey> man, i'm tired
01:46:30 <cpressey> zzo38: optbot does NOT approve of your suggestions.
01:46:30 <optbot> cpressey: yay
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:01 <cpressey> so i can insert something
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 <cpressey> optbot: i hate technology
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:12 <Sgeo> check snopes?
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:57:57 <cpressey> page explains it though.
01:58:16 <cpressey> i have invented no chess variants
01:58:18 <cpressey> wait
01:58:28 <cpressey> start with chess, remove the bishops.
01:58:32 <cpressey> there you go.
01:58:36 <oerjan> atheist chess
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:24 <cpressey> drat. oh well
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:06 <cpressey> ok, then that's new to me
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:08:58 <cpressey> that's... rather trumped up
02:09:38 <cpressey> i mean, for checkers, maybe, ok
02:09:43 <cpressey> but tic-tac-toe?
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:41 <Deewiant> oerjan: Not farmer's chess?
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:11:25 <cpressey> peon, peasant, prole
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:12:43 <cpressey> that makes some sense
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 <cpressey> "cat's game"
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:19:43 <cpressey> if you're asking me
02:19:45 <cpressey> but i can go look
02:19:50 <oerjan> heh
02:20:08 <cpressey> nope, can't help you. looks like wikipedia to me
02:20:19 <cpressey> except in norwegian (I think)
02:20:28 <oerjan> oh
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:02 <cpressey> yup, no css, or similar
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:22:46 <cpressey> ctrl+shift+r fixed it
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:35 <oerjan> *ctrl
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:17 <oerjan> ah.
02:24:37 <cpressey> sorry, knee-jerk troubleshooting reaction
02:24:47 <cpressey> i work at a place that makes websites
02:24:47 <Deewiant> Sgeo: That looks like Chinese
02:26:07 <cpressey> Sgeo: what is this
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:04 <Deewiant> High
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:29 <cpressey> *what
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:52 <cpressey> "LIVE! Google Code Samples
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:06 <cpressey> seems very non-googly to me
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:23 <Sgeo> n/m
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:37:48 <cpressey> optbot: he fell for it!
02:37:48 <optbot> cpressey: iirc
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:39:58 <Gregor> Sgeo: Both
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:23 <cpressey> um
02:43:33 <cpressey> Sgeo: do a whois googlecodesamples.com
02:43:52 <cpressey> it's registered by proxy
02:44:04 <cpressey> not an encouraging sign
02:44:32 <Sgeo> Too late
02:44:40 <Sgeo> At any rate, lemme just revoke access
02:44:46 <Sgeo> The OCR thingy failed, btw
02:45:03 <cpressey> o
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:45:30 <cpressey> but, i'm not them, so
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:11 <cpressey> weeeeeird.
02:49:50 <cpressey> are there any other domain names that contain the name google are are known to be owned by them>
02:49:53 <cpressey> ?
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:02 <coppro> four letter words!
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:57:37 <oerjan> "
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:28 <cpressey> good night
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:39 <variable> when does the auction close?
03:32:59 <Gregor> April 4th. It opens March 28th :P
03:33:06 <variable> :-|
03:33:13 * variable wants a good domain names
03:33:13 * variable rants
03:33:23 * oerjan pants
03:33:28 <Gregor> You could still have a good email address ;)
03:33:34 <variable> heh yeah
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:53:42 <Gregor> huh?
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:39:41 <variable> pikhq_: creat I win
04:39:57 <creat> ?
04:40:02 <variable> my name is the best :-)
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:10:46 <augur> bop
05:17:56 <creat> augur: Vanity libc.so email addresses!
05:18:02 <augur> what
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:18:51 <augur> no.
05:18:56 <creat> :(
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:20 <Gregor> DAMN YOU OPTBOT
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:02 <oerjan> elliott wrote optbot.
05:27:02 <optbot> oerjan: oh snap :P
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:29:51 <Gregor> Uh ... no?
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:39 <Gregor> Oh :P
05:30:39 <Gregor> zzo38: He won't.
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:03 <Gregor> He won't.
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:36 <optbot> Gregor: agbfced
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 <zzo38> optbot
05:50:43 <optbot> zzo38: yeah it still says it doesn't know the magnet protocol
05:50:46 <zzo38> Optbot
05:50:51 <zzo38> .optbot.
05:50:51 <optbot> zzo38: We could name it "Norton utilities", after the great Discordian Saint.
05:50:55 <zzo38> [optbot]
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 <fungot[optbot> 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:31 <Gregor> ...
05:51:35 <Gregor> Let's not.
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.
05:59:45 <coppro> `quote
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 <coppro> I don't understand it
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:17:42 <coppro> this is probably bad
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:19:59 <coppro> not really
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:31:56 * cheater00 adds symmetry to oerjan's gestalt
08:36:52 <oerjan> AUM
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:40:07 <oerjan> aaaaaaaa
08:40:21 <oerjan> how diabolic.
08:40:47 <cheater00> mwahahahhaha!
08:40:58 <cheater00> also gave you a hunch
08:41:12 <cheater00> horns and a hunch, very diabolic.
08:41:28 <oerjan> i had a hunch it would be.
08:42:08 <cheater00> oh, and hoofs
08:42:16 <oerjan> oof
08:44:56 -!- oerjan has quit (Quit: leaving).
08:46:06 -!- cheater97 has joined.
08:46:11 <cheater97> it's hooves, isn't it? :D
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.
08:58:43 <Phantom_Hoover> *sigh*
09:03:11 <Ilari> Ugh. RIPE NCC is also exhausting quite rapidly. Not as crazy rate as APNIC but still pretty fast.
09:04:32 <Phantom_Hoover> ...
09:04:46 <Phantom_Hoover> YouTube won't let me create another account without my postcode.
09:05:55 * Phantom_Hoover enters SW1A 2AA
09:07:30 <cheater97> isn't that the east end
09:07:48 <cheater97> oh no strand
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:12:56 <Phantom_Hoover> 10 Downing Street.
09:13:01 <Ilari> Oh yeah.
09:13:46 <Ilari> Heh, reminds me of 90210 in US zip codes. That isn't special (but seems very popular nevertheless). :-)
09:14:20 <Phantom_Hoover> Huh, /r/truetruereddit has 543 subscribers.
09:14:34 * Phantom_Hoover sees how far the rabbit hole goes.
09:17:17 <Phantom_Hoover> Oh, only as far as truetruetruereddit, which has 9.
09:17:18 <Phantom_Hoover> :(
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:29:27 <Phantom_Hoover> YOU DON'T SAY
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 <elliott> optbot!
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:15:41 <elliott> >_> <_< >_> <_<
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:16:31 <elliott> you don't.
12:16:35 <elliott> by definition.
12:16:45 <elliott> well almost
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:05 <elliott> yes they do
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:14 <Phantom_Hoover> A stupid argument, but an argument nonetheless.
12:18:15 <elliott> Phantom_Hoover: It is NOT.
12:18:22 <Phantom_Hoover> elliott, I know!
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:13 <elliott> because it's irrelevant
12:19:30 <Phantom_Hoover> elliott, OK, but *if you decided to use it either way, it would be for ¬choice*.
12:19:37 <elliott> and?
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:19:57 <oklopol> but true, it's impossible
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:14 <oklopol> wait, not it's not
12:20:19 <oklopol> sorry, being stupid
12:20:21 <Phantom_Hoover> So he wouldn't use Banach-Tarski to argue it even if he was an idiot.
12:20:25 <elliott> oh
12:20:29 <elliott> axiom of choice_less_
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:21 <elliott> Phantom_Hoover: Uh, no?
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:23:43 <Phantom_Hoover> elliott, well, it did for me...
12:24:00 <oklopol> same for graphs in general
12:24:03 <oklopol> connected ones
12:31:54 <Phantom_Hoover> oklopol, so how would you do evaluation order in circuscheme?
12:33:21 -!- cpressey has joined.
12:33:35 <elliott> oh lord
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:01 <oklopol> that is all.
12:34:05 <cpressey> guten morgen fraulein, sprechen sie PYTHON??!??
12:34:06 <oklopol> there's a fail
12:34:18 <Phantom_Hoover> cpressey, NOOOO
12:34:22 <Phantom_Hoover> THEY HAVE TURNED YOU
12:34:25 <elliott> cpressey: PYTÖN
12:34:38 <elliott> cpressey: please tell me you translated all the keywords to german
12:34:41 <elliott> as alternatives
12:37:26 <cpressey> Entschuldigung nein
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:43:21 <Phantom_Hoover> rem-0?
12:43:27 <oklopol> yes, exactly like that
12:43:28 <cpressey> see topic
12:43:39 <oklopol> erm
12:43:41 <oklopol> or even one node
12:43:56 <elliott> cpressey: indeed
12:43:59 <elliott> that was me :)
12:44:05 <elliott> i gave in and implemented funge-98.
12:44:06 <elliott> in haskell.
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:45:56 <cpressey> "metacircular specification"?
12:46:04 <cpressey> are you feeling alright?
12:46:22 <elliott> cpressey: It defines the language it's written in.
12:46:25 <Phantom_Hoover> elliott, how does it have no relation to the spec?
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:46:59 <Phantom_Hoover> Ah.
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:09 <oklopol> as i proved earlier
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:49:47 <oklopol> nope
12:49:47 <cpressey> how
12:50:09 <oklopol> see there's no node at the end of your infinite paths
12:50:13 <oklopol> :)
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:35 <Phantom_Hoover> Against my better judgement, read today's xkcd.
12:51:38 <cpressey> ok. giving up. thanks :)
12:51:40 <Phantom_Hoover> Read the alt-text.
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:00 <elliott> e
12:55:01 <elliott> r
12:55:02 <elliott> what phrase
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:26 <cpressey> Phantom_Hoover: no, i'm not
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:55:49 <cpressey> elliott: yes, i know that
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:25 <cpressey> result
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:57:45 <elliott> (Probably.)
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:07 <cpressey> ?
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:40 <cpressey> ok
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:21 <Phantom_Hoover> — Randall Munroe.
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:02 <elliott> erm
13:00:03 <elliott> that is
13:00:12 <elliott> #13 should be the smallest (x,y) that contains a non-space cell
13:00:16 <elliott> not
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:05 <cpressey> i don't
13:04:15 <cpressey> i think you underestimate me
13:04:23 <elliott> Fermat's Last Theorem is pretty trivial.
13:04:30 <elliott> Is it not interesting?
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:39 <oklopol> it's trivial?
13:04:44 <cpressey> can you implement it in less than 5kloc of hskell?
13:04:46 <elliott> oklopol: The theorem is.
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:08 <Phantom_Hoover> elliott, weeeelll...
13:05:19 <oklopol> befunge being trivial, and implementing it being interesting have nothing to do with each other
13:05:25 <oklopol> *proof
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 <Phantom_Hoover> Yes, OK.
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:17 <elliott> oklopol: no
13:06:23 <oklopol> *meant
13:06:26 <elliott> oklopol: the fact that the proof is so complicated contributes to the interestingness of the theorem though, IMO
13:06:34 <oklopol> surely
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:26 <Phantom_Hoover> I thought oklopol didn't like numbers very much.
13:08:38 <cpressey> he's going to prove it to be trivial
13:08:46 <elliott> by implementing it in Haskell?
13:08:48 <elliott> awesome
13:08:54 <Phantom_Hoover> Nah, the Riemann hypothesis isn't trivial in statement.
13:09:05 <Phantom_Hoover> Although it's not all that complex.
13:09:31 <elliott> it requires complexes, it's not trivial
13:09:40 <Phantom_Hoover> Complexes are pretty trivial.
13:09:45 <elliott> no they're not
13:09:48 <elliott> reals aren't
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:42 <Phantom_Hoover> Sorry, *cannot have a corresponding modular form
13:12:49 <oklopol> what what's an elliptic equation? always wondered but never checked
13:12:52 <oklopol> *and
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:03 <elliott> or like, seventy years
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:13:58 <oklopol> but let's wp
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:15:31 <oklopol> those fields?
13:15:50 <Phantom_Hoover> oklopol, erm, elliptic equations and modular forms.
13:16:10 <oklopol> oh erm right
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:10 <cpressey> i love generator thingies
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:18 <elliott> <oklopol> no, tell me
13:17:21 <elliott> <PH> well it's A and B
13:17:24 <elliott> <oklopol> what's A and B
13:17:26 <elliott> <PH> uh
13:17:28 <elliott> <PH> dunno
13:17:37 <elliott> to uh
13:17:38 <elliott> to that
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 <elliott> or something
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:19:14 <oklopol> oh umm
13:19:16 <oklopol> sorry
13:19:23 <oklopol> let me read that again
13:19:36 <cpressey> BOMBS, FROGS, GOATS
13:19:44 <cpressey> THEN BOMBS AGAIN
13:20:10 <elliott> Phantom_Hoover: i... newsletter, can is ign up
13:20:11 <elliott> ...
13:20:12 <elliott> cpressey:
13:20:13 <elliott> not Phantom_Hoover
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:06 <Phantom_Hoover> oklopol, yeah, basically. Well.
13:21:17 <elliott> wiles proved he's a wily fox
13:21:18 <elliott> get it
13:21:20 <elliott> wiles...y 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:33 <elliott> which one's the alter-ego
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:36 <oklopol> oh okay
13:21:40 <elliott> is ph you pretending to be an irritating kid, because that's really funny
13:21:45 * elliott waits for swatting
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:12 <cpressey> they do technology
13:22:16 <elliott> wow.
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:39 <cpressey> irc doesn't count of course
13:22:50 * Phantom_Hoover swatpans elliott
13:22:57 <elliott> can't wait until facebook reinvents ir
13:22:58 <elliott> c
13:23:01 <elliott> probably they already have
13:23:02 <Phantom_Hoover> Wait, I forgot the little --==\#/
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:23:48 <elliott> oklopol: with ducks :)
13:24:21 <cheater97> the proof is in the pudding
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:47 <elliott> HIGHBROW POP MATHEMATICS
13:24:55 <cpressey> can i get that on a shirt
13:24:56 <cheater97> cpressey: i heard people who invented computers hard-wired them to prevent the tabs vs spaces dispute.
13:25:01 <elliott> cpressey: that...
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:25:57 <Phantom_Hoover> I'M LOOKING AT YOU BRIAN COX
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:26:24 <elliott> OH
13:26:24 <elliott> SNAP
13:26:29 <Phantom_Hoover> XD
13:26:35 <Phantom_Hoover> I have to steal that.
13:26:47 * elliott PATENTS JOKE
13:27:52 <cheater97> elliott: choose life.
13:28:10 <cpressey> that movie had nothing to do with spotting trains
13:28:20 -!- hirnstein has joined.
13:28:20 * cpressey wants money back
13:28:24 <elliott> cpressey: :D
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:06 <elliott> ;) ;) ;)
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:35 <elliott> i read the proof
13:29:37 <elliott> by reading the header
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:43 <Phantom_Hoover> It was L-series or something for elliptic forms.
13:29:46 <cheater97> or something
13:29:56 <Phantom_Hoover> *equations
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:14 <Phantom_Hoover> oklopol, yeah, basically.
13:30:17 <cheater97> Phantom_Hoover: god damnit stop saying the same words as i!
13:30:17 <oklopol> right
13:30:22 <cpressey> one of these http://www.ncomputing.com/products-lseries
13:30:23 <Phantom_Hoover> Assuming your audience aren't scared by numbers.
13:31:15 <cpressey> only certain numbers scare me
13:31:18 <elliott> 3
13:31:20 <elliott> 3 scares me
13:31:25 <cheater97> 3333333333333333333333333333333333
13:31:35 <Phantom_Hoover> Omega, because Cthulhu lives there.
13:31:37 <cpressey> <3 3
13:31:40 <cheater97> 3 sort of looks like a butt
13:32:02 <elliott> 3 IS NOT LESS THAN 3
13:32:16 <cpressey> mine is
13:32:24 <Phantom_Hoover> What, they renamed the Taniyama-Shimura Conjecture to the modularity theorem?
13:32:30 <Phantom_Hoover> Bloody mathematicians.
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:03 <cheater97> yeah it's sort of annoying
13:33:09 <cpressey> oh the humanity
13:33:11 <cheater97> on the one hand every second theorem is euler's theorem
13:33:13 <Phantom_Hoover> :O
13:33:19 <elliott> cpressey: nooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
13:33:23 * elliott cries
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:01 <elliott> where it executes
13:34:03 <elliott> and does VNC to you
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 <elliott> save a lot of trouble
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:01 <elliott> Euler's conjecture
13:35:23 <cpressey> i need to do stuff (this is a general statement)
13:35:36 <cheater97> cpressey: just do it.
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:36:36 <elliott> very therapeutic
13:37:16 <elliott> optbot!
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 <elliott> optbot!
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:37:55 <cpressey> good luck, oklopol
13:38:00 <elliott> oh
13:38:01 <elliott> uh
13:38:03 <elliott> good luck
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 <elliott> *do perfectly
13:38:10 <cheater97> oklopol: bad luck! i hope you crash and burn.
13:38:11 <elliott> like always
13:38:19 <elliott> oklopol: like 25???
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:35 <oklopol> "a bit vague"
13:38:41 <elliott> oklopol: :O
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:39:06 <oklopol> :P
13:39:21 <oklopol> jk
13:39:22 <cpressey> :P
13:39:32 <elliott> :P
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:41 <elliott> oklopol: ...
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:16 <elliott> :|
13:41:18 <elliott> i trusted you oklopol.
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:41:55 <oklopol> *easy
13:42:30 <cheater97> lol wtf?
13:42:44 <cpressey> well, it is called "B"
13:42:46 <cheater97> you have just degraded yourself in my eyes :D
13:42:49 <cpressey> what more do you need?
13:43:00 <elliott> oklopol is not very clever.
13:43:05 <elliott> he
13:43:08 <elliott> never learned the alphabet.
13:43:11 <elliott> :|
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:24 <oklopol> erm yes :D
13:44:29 <cheater97> :D
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:44:51 <cpressey> that's all the proof i need
13:46:14 <cheater97> wait what
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:48 <cheater97> i'm not know what to say.
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:46:57 <oklopol> *on
13:47:23 -!- hirnstein has left (?).
13:49:20 <elliott> oklopol is a villa.
13:49:40 <oklopol> most everywisely
13:50:03 <cpressey> loop-lok
13:50:14 <oklopol> lok is not english
13:50:31 <cpressey> look-lop
13:50:49 <oklopol> lop look works in theory
13:50:54 <oklopol> oh
13:51:01 <oklopol> look-lop could be a verb i guess
13:51:02 -!- pikhq has joined.
13:51:06 <cpressey> inspect, then cut
13:51:09 <oklopol> yeah
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:29 <cpressey> well, approximately
13:52:45 <cpressey> but they just looooooooooooooooooooooooooove them
13:53:10 <oklopol> python's are better tho
13:53:52 <oklopol> or not, but still
13:53:54 <cpressey> i'll have to find out why someday
13:53:59 <cpressey> for now, adios
13:54:12 <oklopol> the best os there is
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:31 <elliott> not C, or perl
14:06:33 <elliott> :)
14:06:35 <elliott> or ruby
14:06:43 <elliott> all good languages have them
14:06:49 <elliott> but pythonistaaas have never used good languages
14:08:19 <Phantom_Hoover> Which languages are good?
14:08:30 <Phantom_Hoover> Coq doesn't have list comprehensions!
14:09:06 <elliott> Haskell
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:09:36 <Phantom_Hoover> Epigram doesn't!
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:28:17 <cpressey> I CANNOT INTROSPECT YOU
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:29:44 <oklopol> ?
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:33 <cpressey> german guy
14:30:45 <oklopol> well who cares who did that obvious thing
14:30:49 <elliott> <cpressey> I CANNOT INTROSPECT YOU
14:30:50 <elliott> :D
14:30:58 <elliott> make a language based on objects introspecting other objects
14:30:59 <cpressey> elliott: AAAAIIIIRRRRGGGGGHHHHHhhh
14:31:01 <elliott> >______>
14:31:11 <cpressey> elliott: IT ALREADY IS
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:07 <elliott> and er
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:10 <elliott> two types of method
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:32 <oklopol> yeah the crazy guy
14:35:36 <oklopol> erm oh
14:35:47 <oklopol> gdel, i thought you mean that
14:35:49 <elliott> :D
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:05 <elliott> ceiling burger?
14:36:10 <elliott> (zeilberger)
14:36:13 <oklopol> no
14:36:27 <cpressey> starts with a k? i should look this up
14:36:38 <cpressey> kantor
14:36:45 <cpressey> or, cantor
14:36:47 <cpressey> if you prefer.
14:36:52 <oklopol> oh right
14:36:53 <cpressey> was he much crazy?
14:37:02 <Phantom_Hoover> cpressey, he was a bit crazy.
14:37:03 <oklopol> cantor
14:37:16 <Phantom_Hoover> ISTR he ended up in a mental institution.
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:00 <cpressey> kronecker
14:38:04 <cpressey> i had to look that one up though
14:38:11 <oklopol> no, not kronecker
14:38:11 <elliott> yeah finitists
14:38:13 <oklopol> john something
14:38:14 <elliott> zeilberger is cooler though
14:38:17 <elliott> he doesn't believe in the integers :>
14:38:23 <elliott> or even the naturals.
14:38:26 <cpressey> i don't believe in the integers
14:38:29 <cpressey> well, i mean
14:38:33 <cpressey> only the prime ones
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:15 <Phantom_Hoover> Why doesn't he?
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 <Phantom_Hoover> Yeah, and why doesn't he believe in infinite sets?
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:28 <cpressey> the rest if trivial
14:40:32 <cpressey> is
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:44 <Phantom_Hoover> cpressey, how long does PyCon last?
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:14 <elliott> but no longer!
14:42:35 <elliott> "[No-Intro] Nintendo - Super Nintendo Entertainment System (20100805) [Various/1990]" FUCKYES
14:42:42 <cpressey> Sumerians and their NLP
14:43:01 <cpressey> coisse them ratfaces
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:51 <cpressey> oklopol: is that sarcastic?
14:44:58 <cpressey> it's taking time to load for me
14:44:59 <oklopol> oh most definitely
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:46:55 <cpressey> dude was apparently famous
14:46:59 <cpressey> (on usenet)
14:48:14 <oklopol> well that's him prolly
14:48:27 <oklopol> he's famous for being an incredibly retard
14:48:30 <oklopol> *incredible
14:48:53 <elliott> oh
14:48:54 <elliott> knol
14:48:56 <elliott> you could have just said
14:49:03 <elliott> i've probably even read it before
14:49:08 <elliott> but knol is basically crackpot heaven
14:49:12 <cpressey> i didn't remeber, obviously
14:49:21 <elliott> you can write anything you want, it looks like an encyclopedia, and nobody can edit it!!!!!!!
14:49:29 <cpressey> that sounds familiar
14:49:35 <cpressey> australian?
14:49:39 <elliott> it's Google's shitty shitsite
14:49:40 <cpressey> or new zealander?
14:49:41 <elliott> cpressey: err, the person?
14:49:46 <elliott> i dunno
14:49:46 <cpressey> yeah, vague memories
14:49:48 <cpressey> ok
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:51:26 <elliott> penis arithmetic
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:53 <elliott> that _is_ what it is
14:52:56 <elliott> it's google's site
14:52:57 <Phantom_Hoover> <oklopol> he's famous for being an incredibly retard ← the Good Math guy?
14:53:00 <elliott> hope of crackpots
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:53:31 <oklopol> the good math guy is okay
14:53:48 <Phantom_Hoover> But yeah, bloody page won't load.
14:54:02 <cpressey> scienceblogs seems to be completely down for me
14:54:02 <oklopol> hmm, weird
14:54:03 <cpressey> too
14:54:27 <Phantom_Hoover> Oh good, Google have a cache.
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
14:59:18 <oklopol> math <3
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:08:23 <cpressey> http://wn.com/Befunge
15:08:24 <cpressey> why?
15:08:33 <cpressey> i mean, why video?
15:08:45 <elliott> oh you are sitll talking
15:08:48 <elliott> hello!!!!!!!!!!
15:08:58 <elliott> also..
15:09:03 <elliott> befunge for garrysmod video what why
15:09:04 <elliott> why even exist
15:09:08 <elliott> <cpressey> getting closer -- found an eric naggum thread on comp.lang.lisp -- still not nuts enough, though
15:09:10 <cpressey> also, why nixie tubes???
15:09:13 <elliott> erik, you damned merican >:D
15:09:14 <cpressey> i mean, on that page?
15:09:40 <elliott> well
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:27 <cpressey> there's YaBI93, but that's 93
15:12:30 -!- BeholdMyGlory has joined.
15:15:12 <Phantom_Hoover> Jesus, this John Gabriel guy really is an idiot.
15:15:38 <cpressey> yeah he even makes elliott look smart
15:15:52 <elliott> totally
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:21:49 <cpressey> yeahhhhh
15:22:07 <elliott> cpressey: i
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:23:26 <elliott> no
15:23:28 <elliott> i was going to say "i"
15:23:45 <elliott> to be pronounced as "I—"
15:25:50 <cpressey> Phantom_Hoover: i have reconsidered. i will also consider that response to be appropriate
15:26:12 <Phantom_Hoover> cpressey, in that vein,
15:26:20 * Phantom_Hoover powers up the Device.
15:26:27 <cpressey> dear god no
15:26:36 -!- iconmaster has joined.
15:26:38 <elliott> cpressey: What about "*tears well up* ... *silence* I'll tell the Internet."
15:26:38 * cpressey ducks and covers
15:28:33 <cpressey> http://www.focus.com/briefs/software-development/12-coding-languages/
15:28:43 <cpressey> ok, so.
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:31:29 <Phantom_Hoover> CPRESSEY MUST NOT BE REMEMBERED AS A PYTHONISTA
15:31:37 * Phantom_Hoover points the Device at PyCon.
15:32:48 <Phantom_Hoover> Erm, wait, where is PyCon.
15:32:55 <cpressey> Atlantis
15:33:01 -!- cpressey has quit (Quit: Lost terminal).
15:33:06 <Phantom_Hoover> Georgia‽
15:33:13 * Phantom_Hoover turns the power to full.
15:36:56 -!- copumpkin has joined.
15:37:33 <Phantom_Hoover> quintopia, you'll probably want to stock up on stuff. Quickly.
15:38:40 * Phantom_Hoover reads that article cpressey linked.
15:40:02 <Phantom_Hoover> Dear god.
15:40:11 * Phantom_Hoover re-aims the Device.
15:40:58 <elliott> Just aim the Device at everything.
15:41:01 <elliott> Much more efficient.
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:04 <elliott> (like me)
15:42:04 <elliott> (not like ph)
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:07 <elliott> õ_O
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> oh god
15:44:36 <elliott> this is going to be painful
15:44:55 <elliott> HASEK
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:11 <elliott> ...
15:45:14 <elliott> Phantom_Hoover: it calls delphi dead
15:45:22 <elliott> apparently vb6 killed it
15:45:22 <Phantom_Hoover> Is it?
15:45:27 <Phantom_Hoover> I read that.
15:45:48 -!- cpressey has joined.
15:45:51 <elliott> hey cpressey
15:45:52 <elliott> you missed
15:45:52 <elliott> all
15:45:53 <elliott> the fun
15:45:53 <cpressey> blub blub
15:45:56 <elliott> i read the atricle
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:08 <cpressey> which article
15:46:14 <elliott> cpressey: the one you linked to
15:46:15 <elliott> sorry
15:46:16 <elliott> "list"
15:46:20 <Phantom_Hoover> I discharged it on the peoplw who wrote that list.
15:46:20 <cpressey> oh yeah
15:46:22 <Phantom_Hoover> *people
15:46:25 <cpressey> yay
15:46:27 <cpressey> see, i said
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:46:53 <elliott> at all
15:46:56 <cpressey> ok
15:46:57 <cpressey> will
15:46:58 <elliott> i just say things anyway
15:46:58 <cpressey> do
15:47:02 <elliott> but but
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:47:45 <Phantom_Hoover> YOU KNOW TOO MUCH
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:50:51 <cpressey> fingers, bloody fingers
15:51:10 <elliott> :))
15:51:13 <elliott> atricle atricle atricle
15:51:29 <elliott> cpressey: *fnigers
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:57:45 <cpressey> let's say Clean
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
15:59:36 <cpressey> MongoDB mug. bitchen
15:59:41 <cpressey> I'll treasure this
15:59:50 <cpressey> oh, a roomerang
16:00:03 <cpressey> how whimsical
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:07 <cpressey> and... laptop
16:01:09 <cpressey> so, um
16:01:12 <cpressey> later :)
16:01:17 -!- cpressey has quit (Quit: leaving).
16:07:00 <Phantom_Hoover> Wait, DMM explained the Banach-Tarski paradox?
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:09:55 <elliott> this is fun
16:10:13 <Phantom_Hoover> ...is hello.c++ hello world?
16:10:25 <elliott> well ostensibly. it's grown to calculating factorials. this is to iterate through a list.
16:10:51 <Phantom_Hoover> Ah.
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:24 <elliott> Yes!
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:02 <elliott> ++(each__iter__ ## i)) \
16:12:04 <elliott> for (auto each__fake__ ## i = true, & elem = *(each__iter__ ## i); \
16:12:08 <elliott> (each__fake__ ## i); \
16:12:15 <elliott> (each__fake__ ## i) = false)
16:12:15 <elliott> That's my current code
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:16 <Phantom_Hoover> Oh god you've been allowed near CPP again.
16:12:27 <elliott> *cpp
16:12:29 <elliott> And C++!
16:12:37 <elliott> Commonly called cpp in restricted areas such as file extensions and domain names!
16:12:39 <elliott> cpp abuse in cpp!
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:17:35 * Phantom_Hoover reeads the last xkcdexplained post.
16:17:36 <Phantom_Hoover> Heh.
16:21:42 <Sgeo> elliott wanted to hide something from me
16:21:50 <Phantom_Hoover> :O
16:22:53 <Phantom_Hoover> Sgeo, WHAT KIND OF THING
16:23:18 <Sgeo> It's either something I already know about VRML, or some claim that Haskell is dead
16:24:16 <Phantom_Hoover> HOW DID HE PLAN TO HIDE THIS
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:30:24 <Phantom_Hoover> IN OTHER NEWS, j_random_idiot has spoken again.
16:31:17 -!- ais523 has joined.
16:33:32 -!- asiekierka has quit (Ping timeout: 252 seconds).
16:34:32 <elliott> Phantom_Hoover:
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:34:38 <elliott> false)
16:34:40 <elliott> also ais523
16:35:15 <coppro> O_o
16:35:25 <elliott> coppro: HI THERE
16:35:26 <coppro> what the crap
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:05 <elliott> In the meantime,
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:18 <elliott> ais523: It is!
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:36:59 <elliott> Close enough
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:14 <elliott> Well, two. But.
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:17 <elliott> Um ...
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:10 <ais523> heh
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:25 <cheater97> lol
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:04 <Phantom_Hoover> ais523, how...
16:42:15 <elliott> :D
16:42:30 <olsner> the question is, how did they keep it running while producing all these errors
16:43:03 <elliott> hmm
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:26 <elliott> indeed
16:43:28 <elliott> just checking
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:29 <elliott> *a big, really broken
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:20 <elliott> it's Ada, after all!
16:46:32 <olsner> no, no single part of it worked, obviously
16:46:41 <elliott> :O
16:46:46 <elliott> But that's not what the Ada people told me!
16:46:54 <Phantom_Hoover> olsner, but the overall edifice?
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:12 <Phantom_Hoover> BORROMEAN PROGRAM
16:47:26 <elliott> olsner: Yeah right.
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:48:47 <elliott> ...
16:48:48 <elliott> Than Ada.
16:48:52 <elliott> Though not perfect.
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:51 <elliott> coppro: Ha ha ha
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:40 <Phantom_Hoover> elliott, how good a job does Agda do :P
16:50:58 <elliott> Phantom_Hoover: I cannot possibly answer ;P
16:50:59 <elliott> *:P
16:52:12 <olsner> Sgeo: so? pretty much everything has unsafe stuff...
16:52:15 <elliott> struct declare_variable {
16:52:15 <elliott> A value;
16:52:15 <elliott> bool fake;
16:52:15 <elliott> declare_variable(A value)
16:52:15 <elliott> : value(value), fake(true)
16:52:16 <elliott> {}
16:52:18 <elliott> };
16:52:20 <elliott> Hmm
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:33 <elliott> olsner: Well, yeah...
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:56:46 <elliott> Ada :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:04 <elliott> templates?
16:59:13 <ais523> yep, C++-style
16:59:18 <elliott> so not C :)
16:59:29 <ais523> well, it doesn't steal most other C++ features
16:59:31 <ais523> just that one
16:59:44 <elliott> so you use a c++ compiler with all the non-template stuff taken out?
16:59:46 <elliott> sounds awkward :-P
16:59:49 <ais523> no, it uses "nvcc"
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:23 <elliott> pointers aren't templates
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:36 <elliott> what
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:46 <elliott> cpu pointer: int *foo;
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:34 <elliott> ais523: clearly
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:10 <elliott> C++ is insane
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:01 <ais523> see parloop/4
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:42 <elliott> right
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:10 <ais523> no
17:10:16 <elliott> right
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:39 <elliott> ais523: yep
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:00 <elliott> right
17:12:08 <elliott> (divide the array into N segments, sum sequentially, sum the results?)
17:12:11 <elliott> sum sequentially as in
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:27 <elliott> aww
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:39 <elliott> let me guess
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:11 <elliott> summing it
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:54 <elliott> ais523: not really
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:15 <ais523> but a-b-c-d = a-c-b-d
17:15:19 <elliott> because you'd have to synchronise them
17:15:28 <elliott> ais523: err, a-(b-(c-d))
17:15:34 <elliott> != (a-(c-(b-d)))
17:15:45 <ais523> oh, that's a + -b + c + -d + e + -f + g + -h, etc
17:15:50 <elliott> err, right
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:34 <elliott> I bet it'd break
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:52 <elliott> ah
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:18:52 <elliott> :)
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:44 <ais523> no
17:19:50 <elliott> ais523: but the /N after a function name!
17:19:56 <coppro> what is checkout?
17:20:01 <ais523> it was inspired pretty much entirely by a) CUDA, b) actual GPU architecture
17:20:08 <iconmaster> http://esolangs.org/wiki/Checkout
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:44 <elliott> oh right
17:20:46 <elliott> erlang stole it from prolog
17:20:50 <elliott> erlang's relationship to prolog is so weir
17:20:51 <elliott> d
17:20:52 <elliott> *weird
17:20:54 <elliott> ...
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:05 <ais523> heh
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:31 <elliott> to clarify
17:21:33 <elliott> I am ais523's alter ego
17:21:34 -!- elliott has left (?).
17:21:38 <ais523> no he isn't
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:22:54 <ais523> even in 1.2, IIRC
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:54 <ais523> apparently not
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:08 <elliott> oh joy
17:26:17 <Phantom_Hoover> Oh god songs of praise is on
17:26:19 <Phantom_Hoover> aaaaaaa
17:26:25 <Phantom_Hoover> brain.... melting....
17:26:45 <Phantom_Hoover> flashbacks... overwhelming....
17:26:46 <elliott> litbgeordi: { auto(69); }
17:26:46 <elliott> geordierror: invalid use of 'auto'
17:26:47 <elliott> thanks google
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:19 <Phantom_Hoover> must... remote...
17:27:20 <elliott> fizzie:
17:27:31 <elliott> struct coppro { void *ptr; }
17:27:34 <elliott> oh wait
17:27:36 <elliott> it wouldn't even be
17:27:36 <elliott> right
17:27:37 <elliott> ignore me
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:55 <elliott> aha
17:28:58 <elliott> _nesting_ DECLARE doesn't work
17:29:14 <elliott> oh wait no
17:29:15 <elliott> wtf
17:29:24 <coppro> win 8
17:29:32 <elliott> oh, it's using auto that doesn't work
17:29:33 <elliott> coppro: lose 8
17:29:41 <coppro> wrong
17:30:53 <elliott> coppro: not wrong
17:31:27 <coppro> MY TUBES ARE CLOGGED
17:31:31 <elliott> aha
17:31:40 <elliott> coppro: is "auto" not a valid template argument, O C++0x Oracle?
17:31:43 <elliott> i.e. foo<auto>
17:31:56 <coppro> you are correct
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:49 <elliott> using magic
17:32:50 <elliott> oh LOL
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:45 <elliott> oh wtf
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:37:43 <elliott> "Well, almost."
17:39:10 <elliott> hello.c++:51:22: error: expected primary-expression before ‘<<’ token
17:39:10 <elliott> o_O
17:39:12 <elliott> *o_O
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:18 <elliott> IT WORKS
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:43 <elliott> also:
17:50:48 <elliott> SEE ALSO
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:48 <elliott> --man cpp(1)
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:22 <elliott> used like
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
17:58:43 <elliott> ridiculous
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:02 <elliott> ouch
18:09:09 <elliott> use a vt100 emulator :P
18:09:29 <iconmaster> Yeah, I'm making console Lua programs.
18:09:41 <iconmaster> Implementing ALAGUF
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:11:26 <iconmaster> But I can do without
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:16:12 <iconmaster> I should get a new OS.
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:03 <elliott> fizzie: Heh, nice.
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:17 <iconmaster> Leme check
18:21:19 <elliott> iconmaster: It just uses cmd.exe...
18:21:26 <iconmaster> Oh...
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:33 <elliott> fizzie: Hmm.
18:24:37 <iconmaster> Oh...
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:03 <elliott> ais523: joy
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:28:52 <elliott> I think bsnes hates me.
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:18 <elliott> yep, I believe so
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:36:58 <ais523> also, vt52?
18:37:05 <ais523> seriously?
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:44:47 <Phantom_Hoover> Clearly yet another offshoot of ML.
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:10 <elliott> *RAM.
18:47:16 <elliott> (with a coprocessor)
18:47:19 <elliott> (I guess?)
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>
18:48:13 <elliott> VTNT Terminal
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:38 <elliott> ais523: "fwrite()ten" o_o
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:48:55 <ais523> "fwritte()n"?
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:03 <elliott> ais523: fwrite()d
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:12 <elliott> You're taking
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:50:28 <elliott> Not the same word.
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:30 <pikhq_> o.O
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:56:51 <elliott> Nah, bsnes wants 4.5.
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:58:58 <ais523> indeed
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:57 <pikhq_> Yes.
18:59:58 <elliott> pikhq_: Besides, like I said, the file chooser thing was fucked up.
19:00:03 <pikhq_> Not *many*, but yes.
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:18 <pikhq_> Which hashing scheme?
19:04:27 <pikhq_> md5?
19:04:27 <elliott> pikhq_: Oh, sorry. SHA-1.
19:04:30 -!- ais523 has left (?).
19:04:45 <elliott> I think I drove ais away. :p
19:04:56 <pikhq_> Yes, yes I do.
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:22 <pikhq_> Blame Ubuntu.
19:05:40 <pikhq_> I don't know *what* they did to be worthy of blame, but they're an easy target.
19:06:05 <elliott> pikhq_: Weeeeeeeeeell.
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:28 <elliott> pikhq_: Also, wait, what?
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:41 <pikhq_> elliott: Oh.
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:05 <elliott> Oh, indeed.
19:10:27 <elliott> pikhq_: Observe:
19:10:44 <elliott> void FileBrowser::fileOpen(FileBrowser::Mode requestedMode, function<void (string)> requestedCallback) {
19:10:44 <elliott> [...]
19:10:45 <elliott> switch(mode = requestedMode) {
19:10:45 <elliott> case Mode::Cartridge: {
19:10:45 <elliott> setTitle("Load Cartridge");
19:10:45 <elliott> filters.append(".sfc");
19:10:46 <elliott> break;
19:10:48 <elliott> }
19:10:50 <elliott> The call is:
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:04 <elliott> });
19:11:06 <elliott> };
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:42 <elliott> That one way is:
19:11:49 <elliott> if(mode == requestedMode && folder == config.path.current) {
19:11:49 <elliott> setVisible();
19:11:49 <elliott> contentsBox.setFocused();
19:11:49 <elliott> return;
19:11:49 <elliott> }
19:12:03 <elliott> enum class Mode : unsigned { Cartridge, Satellaview, SufamiTurbo, GameBoy, Filter, Shader } mode;
19:12:16 <elliott> Wait, what...
19:12:30 <elliott> byuu, you fucked up mode initialisation,.
19:12:31 <elliott> I think.
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:26:47 <elliott> Gregor: It was a joke.
19:26:49 <elliott> Note the ":P".
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:47 <elliott> pikhq_: Nah, I like it.
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:13 <optbot> elliott: oh right
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:32 <optbot> Gregor: :D
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:18 <elliott> It's in testing now.
19:35:28 <pikhq_> Oh, GCC 4.5, not BSNES 0.73.
19:35:37 <pikhq_> Orly?
19:35:37 <elliott> I mean bsnes, yeah.
19:35:41 <elliott> pikhq_: http://packages.qa.debian.org/g/gcc-4.5.html
19:35:42 <elliott> pikhq_: Orly.
19:35:45 -!- cheater00 has joined.
19:35:45 <Phantom_Hoover> http://i.imgur.com/CAlZJ.jpg
19:35:47 <elliott> pikhq_: You're probably on squeeze, which is stable.
19:35:48 <pikhq_> Sure enough.
19:35:51 <Phantom_Hoover> LUDICROUSLY UNSAFE
19:35:52 <elliott> As opposed to wheezy, which is testing.
19:35:59 <Phantom_Hoover> They aren't even wearing gloves!
19:36:00 <pikhq_> I'm on wheezy.
19:36:06 <Phantom_Hoover> For *foil*!
19:36:09 <elliott> Wheezy, cough, splutter.
19:36:16 * pikhq_ installs gcc-4.5
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:10 <pikhq_> Ah, right, that bug.
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:04 <elliott> pikhq_: HAHA TOLD YOU
19:42:07 <pikhq_> *Oh, I see*.
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:23 <elliott> At least of C* T* (U*).
19:42:26 <pikhq_> It's going really slow due to defaulting to the accuracy profile.
19:42:32 <elliott> What, _really_ slow?
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:42:58 <pikhq_> Yes, it did.
19:43:13 <elliott> pikhq_: o_O
19:43:17 * pikhq_ tries the compatibility profile
19:43:20 <elliott> pikhq_: Anyway, I get 41-43 FPS.
19:43:24 <elliott> When starting C* T* (U*).
19:43:24 <pikhq_> Yup.
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:16 <pikhq_> Uh.
19:46:18 <pikhq_> Beats me.
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:28 <elliott> pikhq_: Kay.
19:47:35 <elliott> Testing now.
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:47:48 <elliott> What.
19:49:48 -!- sebbu has quit (Ping timeout: 276 seconds).
19:50:24 <elliott> pikhq_: Same blank screen with compatibility.
19:50:26 <elliott> But higher FPS.
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:03 <elliott> Did that already.
19:51:04 <elliott> Didn't help.
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:09 <pikhq_> Sure.
19:53:10 <elliott> Deewiant: "Uh oh".
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:16 <pikhq_> Oh, hrm.
19:54:29 <elliott> ?
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:34 <elliott> pikhq_: gcc --version?
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:28 <elliott> Hmm.
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:57:40 <elliott> And test that.
19:57:40 <pikhq_> En route.
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:12 <elliott> AIARCH
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:07 <elliott> pikhq_: What kinda issue?
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:05 <elliott> Ah.
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:00 <elliott> But maybe not ALL people.
20:12:09 <elliott> Maybe somebody lost interest in a shot while.
20:12:12 <elliott> *short
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:41 <elliott> Mine's
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:24:46 <Deewiant> Cheers
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:25:33 <elliott> Stack-swapping?
20:26:02 <pikhq_> That's how it implements coöperative multithreading, yes.
20:26:15 <olsner> sounds... readable
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:28:48 <olsner> probably not :)
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:20 <elliott> I am not making this up.
20:33:27 <olsner> Trema is a genus of about 15 species of evergreen trees closely related to the hackberries (Celtis)
20:33:34 <elliott> Oh wait.
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:13 <pikhq_> elliott: Not Byuu's.
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:31 <fizzie> They are, yes.
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:52 <elliott> Oh :P
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:38 <elliott> They're diæreses.
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:09 <fizzie> The 'pedia disagrees.
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:39:10 <elliott> (diæresis, that is.)
20:39:11 <elliott> I think.
20:39:13 <elliott> It all got reorganised.
20:40:38 <elliott> elliott@elliott-MacBookAir:~/Downloads/gcc-4.5.2$ ./configure --with-languages=c,c++ --enable-lto --enable-libssp
20:40:39 <elliott> Woo.
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:23 <elliott> Well, that settles it.
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:42 <elliott> --WordNet
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:44:43 <elliott> *tree.
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:46:17 <elliott> fizzie: Nair fuff.
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:49:46 <elliott> "Uh."
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:45 <elliott> Uhhhhhhhhh?
20:52:54 <elliott> Does gcc build a 32-bit thing by default?
20:53:00 <elliott> "# multilibs."
20:53:04 <elliott> Yeah, no, no multilibs please gcc.
20:53:48 <elliott> Oh well, /me installs multilib gcc :P
20:54:22 <pikhq> *facepalm*.
20:54:42 <pikhq> Michelle Bachmann would like to let you know that E PLVRIBVS VNVM is unAmerican.
20:55:02 <elliott> Your mom is un-American.
20:55:10 <elliott> (Can we please stop saying "unA"? Really really ugly.)
20:55:21 <olsner> E PLVRIBVS VNVMerican
20:55:27 <pikhq> unÄmerican. Better?
20:55:28 <pikhq> :P
20:55:57 <olsner> unaemerican
20:56:07 <olsner>
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:06 <elliott> THAT'S NOT EVEN A SPACE
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:09:40 <augur> ʌnəmɛɹɪkən
21:21:33 <oklopol> oiwajrh
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:32 <elliott> :t mod
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:27 * Phantom_Hoover → sleep
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:34:41 <Vorpal> aaaargh
23:39:22 <elliott> Nice.
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:16 <coppro> lol
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:
←2011-03-12 2011-03-13 2011-03-14→ ↑2011 ↑all