←2013-02-23 2013-02-24 2013-02-25→ ↑2013 ↑all
00:01:17 <DHeadshot> Yup! Dunno if this channel HAS a QDB, but still...
00:02:05 <olsner> it does, but the rules for using it are quite intricate
00:02:15 <Taneb> `? rules
00:02:24 <HackEgo> rules? ¯\(°_o)/¯
00:02:33 <Taneb> not even HackEgo itself knows the rules
00:02:39 <Bike> `? qdbformat
00:02:42 <HackEgo> qdbformat is: <nick> message; * nick action; two spaces between messages; all elisions marked with [...] other than irrelevant intervening messages; for messages separated by elision, one space on each side, not two
00:02:45 <Bike> i still have no idea why it's necessary
00:03:00 <Bike> sorry let's make that "necessary"
00:05:40 <nooodl_> `? hi
00:05:43 <HackEgo> hi? ¯\(°_o)/¯
00:05:59 <monqy> hi nooodl_
00:06:06 <nooodl_> hi
00:06:14 -!- Taneb has quit (Quit: Leaving).
00:07:12 <oerjan> @hoogle lookup
00:07:12 <kmc> echo 127.0.0.1 reddit.com | sudo tee -a /etc/hosts
00:07:13 <lambdabot> Prelude lookup :: Eq a => a -> [(a, b)] -> Maybe b
00:07:13 <lambdabot> Data.List lookup :: Eq a => a -> [(a, b)] -> Maybe b
00:07:13 <lambdabot> Data.HashTable lookup :: HashTable key val -> key -> IO (Maybe val)
00:07:40 <doesthiswork> `? ?
00:07:41 <HackEgo> ​? is wisdom
00:07:47 <elliott> kmc: but then i'll miss out on um
00:07:51 <elliott> 1/3rd of /r/haskell!
00:07:53 -!- nooga has quit (Ping timeout: 255 seconds).
00:07:54 <doesthiswork> `? wisdom
00:07:56 <HackEgo> wisdom is always factually accurate, except for this entry
00:08:10 <nooodl_> `? monqy
00:08:11 <HackEgo> The friendship monqy is an ancient Chinese mystery; ask itidus21 for details.
00:08:29 <olsner> hmm, what happened to itidus?
00:08:39 <monqy> `? itidus21
00:08:41 <HackEgo> itidus21 just made some instant coffee.
00:08:41 <monqy> `? itidus20
00:08:43 <HackEgo> itidus20's entry has been censored.
00:08:46 <Bike> `learn wisdom is always factually accurate, except for this entry, and uh that other one? it started with like, an ø?
00:08:46 <monqy> rip
00:08:50 <HackEgo> I knew that.
00:10:01 <olsner> itidus might have gone crazy and moved to finland
00:10:27 <olsner> or moved in finland if he was already there
00:14:00 <ais523> `run echo wisdom/ø*
00:14:02 <HackEgo> wisdom/ø
00:14:16 <elliott> `? ø
00:14:18 <HackEgo> ​ø is not going anywhere
00:14:43 <Bike> what have i done..............
00:14:57 <elliott> is ø going somewhere then
00:15:11 <monqy> `? oe
00:15:11 <oerjan> `run echo wisdom/ø*
00:15:12 <HackEgo> wisdom/ø
00:15:12 <HackEgo> oe? ¯\(°_o)/¯
00:15:27 <doesthiswork> `? ¯\(°_o)/
00:15:29 <HackEgo> ​¯\(°_o)/? ¯\(°_o)/¯
00:15:34 <Bike> that's deep
00:15:41 <Bike> though you missed a macron
00:15:48 <doesthiswork> damn
00:16:04 <doesthiswork> `? ¯\(°_o)/¯
00:16:06 <HackEgo> ​¯\(°_o)/¯? ¯\(°_o)/¯
00:16:31 <Bike> `run echo "¯\(°_o)/¯? ¯\(°_o)/¯" > wisdom/¯\(°_o)/¯
00:16:32 <HackEgo> bash: -c: line 0: syntax error near unexpected token `)' \ bash: -c: line 0: `echo "¯\(°_o)/¯? ¯\(°_o)/¯" > wisdom/¯\(°_o)/¯'
00:16:39 <Bike> fucking hell
00:17:12 <oerjan> hint: " are evil, use '
00:17:36 <oerjan> (unless you actually _need_ the evil)
00:18:32 <Bike> `run echo '¯\(°_o)/¯? ¯\(°_o)/¯' > wisdom/¯\(°_o)/¯
00:18:34 <HackEgo> bash: -c: line 0: syntax error near unexpected token `)' \ bash: -c: line 0: `echo '¯\(°_o)/¯? ¯\(°_o)/¯' > wisdom/¯\(°_o)/¯'
00:18:42 <Bike> see
00:18:47 <Bike> bash is impossible
00:19:16 <oerjan> ok, _no_ quotes are also evil hth
00:19:33 <Bike> i have an idea
00:19:41 * oerjan doesn't actually disagree, mind you
00:19:58 <Bike> `run echo '\¯\\\(\°\_\o\)\/\¯\?\ \¯\\\(\°\_\o\)\/\¯' > wisdom/\¯\\\(\°\_\o\)\/\¯
00:19:59 <HackEgo> bash: wisdom/¯\(°_o)/¯: No such file or directory
00:20:16 <Bike> what
00:20:32 <monqy> good idea
00:22:04 <doesthiswork> do you really need to escape "o"?
00:22:15 <Bike> `run echo '\\\¯\\\\\\\(\\\°\\\_\\\o\\\)\\\/\\\¯\\\?\\\ \\\¯\\\\\\\(\\\°\\\_\\\o\\\)\\\/\\\¯' > wisdom/??
00:22:17 <HackEgo> bash: wisdom/??: ambiguous redirect
00:22:23 <Bike> impossible
00:22:31 <Bike> `run echo '\\\¯\\\\\\\(\\\°\\\_\\\o\\\)\\\/\\\¯\\\?\\\ \\\¯\\\\\\\(\\\°\\\_\\\o\\\)\\\/\\\¯' > wisdom/\?\?
00:22:35 <HackEgo> No output.
00:22:37 <Bike> there
00:22:39 <monqy> `? ??
00:22:42 <HackEgo> ​\\\¯\\\\\\\(\\\°\\\_\\\o\\\)\\\/\\\¯\\\?\\\ \\\¯\\\\\\\(\\\°\\\_\\\o\\\)\\\/\\\¯
00:22:46 <monqy> thanks bike
00:22:46 <Bike> i think that went well
00:22:46 <oerjan> fancy
00:22:58 <olsner> the very best result possible
00:23:01 <oerjan> OKAY
00:25:05 -!- copumpkin has quit (Ping timeout: 252 seconds).
00:25:36 -!- copumpkin has joined.
00:27:14 <doesthiswork> `? wisdom
00:27:16 <HackEgo> wisdom is always factually accurate, except for this entry, and uh that other one? it started with like, an ø?
00:27:36 <doesthiswork> `? ?
00:27:38 <HackEgo> ​ ?? ¯\(°_o)/¯
00:27:54 <doesthiswork> `? ??
00:27:55 <HackEgo> ​\\\¯\\\\\\\(\\\°\\\_\\\o\\\)\\\/\\\¯\\\?\\\ \\\¯\\\\\\\(\\\°\\\_\\\o\\\)\\\/\\\¯
00:28:01 <doesthiswork> `? ???
00:28:03 <HackEgo> ​???? ¯\(°_o)/¯
00:28:35 <doesthiswork> bike: what were you trying to do?
00:28:59 <Bike> Waste time inbetween being crushed in a game of Scrabble.
00:29:11 <kmc> i'm watching http://www.pbs.org/wgbh/americanexperience/films/silicon/player/
00:29:11 <doesthiswork> ¯\(°_o)/¯
00:29:16 <kmc> about Fairchild Semiconductor and the birth of Sillicon Valley
00:29:19 <doesthiswork> `? ¯\(°_o)/¯
00:29:21 <HackEgo> ​¯\(°_o)/¯? ¯\(°_o)/¯
00:29:25 <kmc> one of the old brochures describes a transistor with "80 milli-microsecond" switching time
00:29:31 <kmc> i guess nanoseconds hadn't been invented yet
00:30:14 <doesthiswork> `learn ¯\(°_o)/¯ `? ¯\(°_o)/¯
00:30:15 <HackEgo> ​/hackenv/bin/learn: 4: cannot create wisdom/¯\(°_o)/¯: Directory nonexistent \ I knew that.
00:31:03 <oerjan> oh of course
00:31:35 <oerjan> `run mkdir 'wisdom/¯\(°_o)'; learn '¯\(°_o)/¯ `? ¯\(°_o)/¯'
00:31:40 <HackEgo> mkdir: cannot create directory `wisdom/¯\\(°_o)': File exists \ I knew that.
00:31:47 <oerjan> wat
00:31:50 <Bike> Awesome.
00:32:03 <Bike> Can you not have filenames with forward slashes in them?
00:32:08 <oerjan> nope
00:32:31 <oerjan> `? ¯\(°_o)
00:32:32 <HackEgo> cat: ¯\(°_o): Is a directory
00:32:38 <oerjan> wtf
00:32:46 <oerjan> oh
00:32:58 <oerjan> `ls ¯\(°_o)
00:32:59 <doesthiswork> `? ¯\(°_o)
00:33:00 <HackEgo> ​/bin/ls: cannot access ¯\(°_o): No such file or directory \ /bin/ls: cannot access ¯\(°_o): No such file or directory
00:33:01 <HackEgo> cat: ¯\(°_o): Is a directory
00:33:03 <olsner> `? ¯\(°_o)/¯
00:33:05 <HackEgo> ​¯\(°_o)/¯ `? ¯\(°_o)/¯
00:33:27 <oerjan> oh duh
00:33:32 <oerjan> `ls wisdom/¯\(°_o)
00:33:33 <HackEgo> ​¯
00:33:34 <Bike> I have no idea what is happening.
00:33:43 <Bike> Gonna call this a victory.
00:34:06 <doesthiswork> `? victory
00:34:07 <oerjan> `learn ¯\(°_o)/¯ `? ¯\(°_o)/¯
00:34:07 <HackEgo> victory? ¯\(°_o)/¯
00:34:09 <HackEgo> I knew that.
00:34:18 <oerjan> whee!
00:34:26 <oerjan> `? ¯\(°_o)/¯
00:34:28 <HackEgo> ​¯\(°_o)/¯ `? ¯\(°_o)/¯
00:35:01 <olsner> Bike: the victory of wisdom over you?
00:35:06 <doesthiswork> `? learn
00:35:07 <HackEgo> learn? ¯\(°_o)/¯
00:35:08 <Bike> Yes.
00:35:28 <doesthiswork> `? `
00:35:29 <HackEgo> ​`? ¯\(°_o)/¯
00:35:55 <olsner> not knowing is the best of states, from which you can only learn more
00:36:18 <elliott> 00:32:03 <Bike> Can you not have filenames with forward slashes in them?
00:36:24 <elliott> consider the ambiguity in a/b/c
00:36:39 <Bike> I mean, why not escape them?
00:37:12 <elliott> well the notion of an escape character does not otherwise exist in filesystems
00:37:27 <Bike> Can't you have null characters?
00:37:35 <Phantom_Hoover> soln. don't insist that everything be represented as a string
00:37:46 <monqy> sol.n @
00:37:48 <Bike> I don't think you get Unix philosophy.
00:38:26 <olsner> supporting every possible character sequence as a file name might not have been the goal when this file system thingy was being invented
00:38:33 <kmc> unix syscalls take filenames as strings and not as string-arrays
00:39:12 <olsner> they could use nulls as the path separator and a double-null as a terminator
00:39:31 <shachaf> Well, they take bytestrings.
00:39:48 <olsner> but then you can't have nulls in filenames
00:39:50 <shachaf> Unlike Windows, which takes actual (UTF-16-encoded) character strings.
00:40:59 <olsner> UTF-63 has room for extra data to signal end-of-path and path separators
00:41:25 <kmc> i think in a capability-based system, you wouldn't have file paths as a kernel-level concept
00:41:33 <shachaf> olsner: Only if they're 3-character-aligned.
00:41:37 <kmc> you would open /, read usr out of it, read bin out of that, etc
00:41:55 <kmc> but i don't really know
00:41:57 <elliott> Bike: no, most filesystems reject NUL too
00:41:59 <elliott> well most
00:42:01 <elliott> I think all unix ones
00:42:11 <elliott> generally you can't use / or NUL but anythiing else goes
00:42:22 <elliott> mmonqy has it right
00:42:30 <zzo38> I think using byte strings (or length/data pairs) is good enough, although using open the root and then usr from that and so on seems good too
00:42:43 <elliott> *monqy
00:42:55 <monqy> mmonqy pinged me too
00:43:50 <Bike> maybe the solution is to abandon hierarchical filesystems
00:43:55 <Bike> we can use semantic tagging like in the future
00:45:30 <elliott> Bike: you're still behind @
00:45:48 <Bike> fuck @
00:46:24 <elliott> what
00:46:24 <elliott> fuck you
00:46:58 <Bike> fuck fuck you
00:47:25 <elliott> fuck you
00:47:43 <Bike> `? fuck
00:47:45 <HackEgo> fuck? ¯\(°_o)/¯
00:48:02 <Jafet> fungot, love love love
00:48:03 <fungot> Jafet: not /really/, but i really have to be commands, and bind it to one list, because there's really no single day the stats ' start from',
00:48:15 <olsner> fungot: fuck
00:48:16 <fungot> olsner: uml doesn't do that), it slows down the code when that's possible for you. as optbot instructed, we will know :d)
00:49:07 <olsner> ^style
00:49:07 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube
00:55:28 <Phantom_Hoover> btw, i am thinking of amending the rules of continuous chess so the delta in the centre of mass in a move has to be the vector of a legal chess move divided by the measure of the piece being moved
00:55:31 <Phantom_Hoover> thoughts?
00:56:09 <doesthiswork> if the pieces don't vary in size why complicate it?
00:56:10 <Bike> er how do you change the measure of a piece
00:56:35 <Phantom_Hoover> capture
00:56:57 <Phantom_Hoover> and i recently amended the rules so all the pawn is in one big piece
00:57:16 <elliott> Phantom_Hoover: that sounds like the change will make it more boring
00:57:27 <Phantom_Hoover> hmm
00:57:33 <Phantom_Hoover> my worry was that it'd make it too interesting
00:57:53 <Bike> it's a delicate balance, how boring to make it
00:58:19 <elliott> Phantom_Hoover: well it is a restriction
00:58:24 <Phantom_Hoover> no it's not
00:58:41 <Phantom_Hoover> the measure of a piece can only decrease
00:59:32 <elliott> hmmmmmm
00:59:54 <elliott> Phantom_Hoover: by restriction I just meant that the number of moves decreases
00:59:59 -!- augur has quit (Remote host closed the connection).
01:00:12 <elliott> and since the game already seems to have no obvious strategy with the incredibly free number of moves it seems like it'd only decrease the interest
01:00:17 -!- kmc has set topic: 80 milli-microseconds to freedom | http://codu.org/logs/_esoteric/.
01:00:26 <Bike> i think there's a problem of empiricism here
01:00:31 <Phantom_Hoover> again, it doesn't (also the amount of moves is, like, some large beth number)
01:00:33 <Bike> namely: i'm not convinced that this game has ever been played
01:00:45 <Bike> so it seems a bit premature to talk about making it more boring
01:01:04 <Phantom_Hoover> it still exists as a platonic game which could conceivably be played!!
01:01:45 <elliott> Bike: I think we played it once
01:01:46 <Phantom_Hoover> what if we played a game... right now
01:01:52 <elliott> and it got too confusing
01:02:02 <elliott> Phantom_Hoover: by decrease I merely mean it makes existing moves valid
01:02:03 <Bike> who would have thought
01:02:05 <elliott> er
01:02:06 <elliott> Phantom_Hoover: by decrease I merely mean it makes existing moves invalid
01:02:09 <elliott> not that the actual cardinality changes
01:02:14 <Phantom_Hoover> elliott, well, ok
01:02:30 <Phantom_Hoover> but not in a particularly limiting sense
01:02:35 <Bike> obviously continuous chess chess should be invented
01:02:45 <Bike> moves are bijections between sets of rules for continuous chess
01:02:46 <Phantom_Hoover> it just means pieces have to move further as they get captured
01:03:30 <elliott> Bike: ok but continuous continuous chess chess
01:03:34 <elliott> it's like continuous chess chess, but continuous
01:03:48 <elliott> Phantom_Hoover: perhaps we should step back and invent, say, continuous checkers
01:03:51 <elliott> and then figure that out first
01:03:57 <Phantom_Hoover> oh fuck
01:04:05 <Phantom_Hoover> i don't even want to think about continuous checkers
01:04:07 <Bike> can we tie this into surreals somehow
01:04:23 <Bike> or ordinals at least
01:04:44 <Bike> what's the chess variant corresponding to 0#
01:05:18 <Phantom_Hoover> elliott, also it's draughts you americanised piece of shit!
01:05:24 <elliott> shut up ph
01:05:28 <elliott> Phantom_Hoover: ok how about continuous go
01:05:38 <elliott> go is PRACTICALLY continuous anyway
01:05:41 <Bike> Oh I've actually seen continuous go before.
01:06:03 <monqy> how about continous reversi/othello
01:06:04 <Phantom_Hoover> it is thus boring
01:06:16 <elliott> we are the leading exporter of board games only mathematicians can play
01:06:20 <monqy> or continouous go fish
01:06:21 <elliott> and that can't actually be played on a board
01:06:25 <elliott> haha continuous go fish
01:06:30 <Bike> what would a continuous card game even mean
01:06:37 <nooodl_> what is continuous ___ about
01:06:45 <Bike> a joke gone way too far
01:06:45 <elliott> nooodl_: we invented this game called continuous chess once
01:06:46 <elliott> well mainly ph
01:06:47 <Bike> aka #esoteric
01:06:50 <elliott> it kinda spiralled out from there
01:07:15 <Phantom_Hoover> <Bike> what would a continuous card game even mean
01:07:21 <Phantom_Hoover> the... cards can be split up?
01:07:24 <Phantom_Hoover> wait
01:07:25 <Phantom_Hoover> no
01:07:32 <nooodl_> http://www.chessvariants.org/other.dir/continuouschess.html ??
01:07:32 <elliott> i think you broke ph monqy
01:07:35 <olsner> how does continuous anything work?
01:07:37 <Bike> I mean, card games are like, fundamentally based on combinatorics.
01:07:41 <Phantom_Hoover> obviously the deck is treated as a cuboid
01:07:45 <Bike> Maybe you could do soemthing with analytic combinatorics?
01:07:46 <elliott> i love how nooodl_ googles things we talk about in here and expects useful results
01:07:50 <Bike> go fish with power series
01:08:06 <nooodl_> chessvariants.org is a wiki-ish thing...
01:08:09 <Phantom_Hoover> nooodl_, http://sprunge.us/ZDHO
01:08:09 <Bike> does go fish form a field
01:08:11 -!- augur has joined.
01:08:17 <elliott> this is basically a super wimpy version of continuous chess
01:08:36 <elliott> Phantom_Hoover: I like "called piece"
01:08:37 <elliott> is it a mass noun
01:08:42 <Phantom_Hoover> yes
01:08:44 <elliott> good
01:08:52 <Phantom_Hoover> piece has always been a mass noun
01:08:58 <Bike> piece of eight
01:09:09 <monqy> piece as a mass noun makes sense here, and it wouldn't make sense otherwise
01:09:12 <monqy> i support this decision
01:09:34 -!- augur has quit (Remote host closed the connection).
01:10:31 <Phantom_Hoover> admittedly i'm a bit inconsistent with what to call each batch of piece
01:10:47 -!- carado has quit (Ping timeout: 246 seconds).
01:11:46 <olsner> why are there 18 disjoint subsets?
01:11:47 <monqy> well it's like you can call a variety of cheese "a cheese"
01:12:00 <nooodl_> olsner: 9 per player; pawns are one batch
01:12:22 <elliott> IMO pawns should be separate piece!!! very important
01:12:27 <olsner> right, the pawns ... but the knights and rooks have one each?
01:12:43 <nooodl_> anyway i stopped understanding this at "bijective, measure-preserving"
01:12:51 <shachaf> monqy: Or a variety of maths "a math"?
01:12:56 <monqy> shachaf: yes
01:13:17 <Bike> nooodl_: basically "the same size"
01:13:19 <monqy> how do you do that thing where pawns can get transforme into other piece
01:13:25 <Bike> or "preserves size" i guess
01:13:39 <elliott> nooodl_: well bijective is pretty simple at least
01:13:42 <Bike> it's just that math makes size/measure hard because this is math so it has to be hard and weird
01:13:48 <monqy> measure preserving is also easy
01:13:54 <elliott> not quite as easy as bijective
01:14:11 <elliott> for instance the bijective part doesn't really involve the reals
01:14:14 <elliott> so i'm more sure it exists
01:14:27 <monqy> the reals "totally" exist
01:14:33 <Bike> what if i want to play chess with vitali sets monqy
01:14:35 <Bike> what then
01:14:44 <elliott> monqy: can you prove it
01:14:52 <nooodl_> it's probably all pretty simple but i'm kinda dumb.
01:14:55 <monqy> Bike: imo you shouldn't do that
01:14:59 <elliott> i'll accept that the computable ones exist, conditional on the naturals existing!
01:15:16 <Bike> ha, ha, constructivism
01:15:19 <monqy> talking about math "existing" in real life is dumb
01:15:27 <monqy> philosophy is dumb
01:15:32 <Bike> ur dumb
01:15:34 <monqy> yes
01:15:54 <olsner> does the banach-tarski theorem apply to batches of piece?
01:15:57 <nooodl_> maybe if i knew what kind of function this is... what's its "type signature"
01:16:40 <nooodl_> also: maybe if i saw an example game of continuous chess (has anyone played it?)
01:16:48 <elliott> [0,8]^2 -> [0,8]^2
01:16:55 <elliott> er well
01:17:04 <elliott> ok i'll let Phantom_Hoover explain
01:17:15 <elliott> nooodl_: ps its basically impossible for humans to play
01:17:46 <oerjan> olsner: of course not, it requires 3 dimensions
01:18:26 <nooodl_> is it basically impossible for humans to make valid moves, or just really hard in terms of strategy
01:18:31 <Phantom_Hoover> <monqy> how do you do that thing where pawns can get transforme into other piece
01:18:48 <Phantom_Hoover> any pawn that gets close to the opposite rank gets promoted, i guess
01:19:11 -!- ais523_ has joined.
01:19:16 <monqy> does the castling exist
01:19:21 <Phantom_Hoover> hahahaha no
01:19:26 <elliott> what about en passant
01:19:27 <elliott> please add
01:19:28 <nooodl_> en passant?
01:19:29 <oerjan> piece of cake
01:19:31 <monqy> en passant
01:19:33 <Phantom_Hoover> nooodl_, that definition is excessively mathematical btw
01:19:35 -!- ais523 has quit (Ping timeout: 260 seconds).
01:19:35 <Bike> olsner: no, they're measurable sets
01:19:37 <nooodl_> omg elliott let's be friends forever
01:19:40 -!- ais523_ has changed nick to ais523.
01:19:57 <Bike> is it basically impossible for humans to make valid moves <-- now you're getting it.
01:20:00 <elliott> what
01:20:11 <Phantom_Hoover> the gist of it is that at the start of the game each piece is a 1x1 square of stuff, henceforth called 'piece'
01:20:16 <ais523> ah, Linux: fast enough at startup that you can have the entire computer lock up, shut it down with alt-sysrq-reisuo, load it up again, and /still/ connect to IRC before you ping out
01:20:52 <Phantom_Hoover> all the bijective and measure-preserving stuff basically just means that you can only rearrange your piece, you can't shrink or expand it
01:21:22 <oerjan> ais523: istr this has happened to you before
01:21:32 <ais523> oerjan: last time it was just X that crashed
01:21:44 -!- copumpkin has quit (Ping timeout: 252 seconds).
01:22:01 <Phantom_Hoover> and when you rearrange it, its centre of gravity has to make a legal chess move
01:22:13 <ais523> seems it was caused by a hung GPU again, just X crashed in a different way this time
01:22:14 -!- copumpkin has joined.
01:22:29 <Phantom_Hoover> and you capture enemy piece by moving yours onto it
01:22:46 <elliott> nooodl_: it's easy to make valid moves
01:22:48 <oerjan> ais523: what are you doing to your poor GPUs
01:22:51 <elliott> it's difficult to figure out what's going on afterwards
01:23:01 <ais523> oerjan: probably overheating them by forgetting to bang on the case to start the fan
01:23:02 <elliott> especially win conditions
01:23:09 <elliott> since check and checkmate are like
01:23:11 <nooodl_> moving pawns sounds fun
01:23:15 <elliott> based on the existence of a function with certain properties
01:23:22 <oerjan> ic
01:23:25 <Bike> oh wow, i hadn't even thought about that
01:23:44 <elliott> well Phantom_Hoover did leave a little note saying they're kind of undecidable in the rules
01:24:26 -!- oerjan has quit (Quit: Good night).
01:24:31 <nooodl_> what if you just change the win condition into "capture the other guy's king" and remove check/checkmate
01:24:39 <elliott> boring
01:24:52 <ais523> this reminds me of the rule in 4D noughts and crosses
01:25:10 <ais523> that says that you don't win unless you notice you have a length 4 line and point the fact out to the other player
01:25:26 <Bike> You lost me at "4d noughts and crosses"
01:25:38 <elliott> does anyone remember oklopol's n-dimensional tic tac toe
01:25:44 <elliott> that was fucking mindblowing
01:25:49 <ais523> Bike: it's just noughts and crosses played on a 4x4x4x4 grid rather than a 3x3 grid
01:25:55 <elliott> well
01:25:57 <elliott> \infty-dimensional
01:25:58 <monqy> elliott: but is it continouous tic tac toe
01:25:59 <Bike> oh
01:26:05 <elliott> well \infty-dimensional
01:26:07 <elliott> therefore iso to reals!!
01:26:07 <Bike> i thought you meant boxes and lines because i don't speak british
01:26:24 <ais523> elliott: infinity-dimensional seems similar to 4-dimensional, really
01:26:24 <elliott> what do you call tic tac toe
01:26:29 <elliott> ais523: except not...
01:26:30 <doesthiswork> I used to play 4d tick tac toe in middle school
01:26:34 <Phantom_Hoover> Bike, what about your stint in cornwall...
01:26:41 <Bike> I spoke Cornish.
01:26:43 <ais523> elliott: in terms of strategy, I mean
01:26:51 <ais523> doesthiswork: yeah, it's a pretty obvious generalization
01:26:55 <ais523> and 4x4x4x4 seems like the right size
01:27:00 <Bike> Why would I be speaking British in Cornwall?
01:27:14 <Phantom_Hoover> why would you be speaking to the cornish
01:27:19 <ais523> I remember challenging the UK maths team to prove/disprove that a draw was possible
01:27:26 <ais523> (it is possible to draw, but it's quite hard to find a drawn position)
01:27:55 <Bike> So I could later bring them up when it was disbelieved that I was in Cornwall. Duh.
01:28:05 <Bike> Don't you even know how tax nonfraudulentoperations work?
01:30:54 <Phantom_Hoover> http://en.wikipedia.org/wiki/Counterexamples_in_Topology
01:31:01 <Phantom_Hoover> i love that list of names
01:31:34 <Bike> Niemytzki. I love you Russian
01:31:54 <Bike> closed infinite broom
01:32:15 <Phantom_Hoover> cantor's leaky tent
01:32:26 <Phantom_Hoover> the ones with someone's name are my favourite
01:34:32 <Phantom_Hoover> ugh i just realised it's going to be at least 2 years before i start doing proper topology
01:34:47 <monqy> 2 years? proper topology?
01:34:58 <Phantom_Hoover> well, like, formally
01:35:11 <Phantom_Hoover> metric spaces are next year but that barely counts
01:35:44 <nooodl_> Wheel without its hub
01:35:49 <elliott> i wonder if you can actually read that book with no understanding of topology
01:35:51 <monqy> maybe i'll do topology next year........
01:35:55 <monqy> what book
01:35:58 <elliott> maybe i'll try it and send chris an angry email asking for my money back if i can't
01:35:58 <monqy> categories?
01:36:04 <elliott> monqy: Counterexamples in Topology as recommended by chris
01:36:06 <monqy> ah
01:36:09 <elliott> and not that chris, the other one
01:36:14 <nooodl_> Long line
01:36:16 <elliott> http://esolangs.org/wiki/User:Chris%20Pressey#Esoteric_Reading_List.21
01:36:17 <monqy> not pressey?
01:36:18 <monqy> oh
01:36:20 <nooodl_> In topology, the long line (or Alexandroff line) is a topological space somewhat similar to the real line, but in a certain way "longer".
01:36:21 <monqy> yes presssey
01:36:25 <nooodl_> topology sounds good
01:36:29 <elliott> i meant not oel
01:36:33 <Phantom_Hoover> <elliott> i wonder if you can actually read that book with no understanding of topology
01:36:37 <Phantom_Hoover> i doubt it somehow
01:36:39 <monqy> well i thought pressey before oel!!!
01:36:53 <Phantom_Hoover> you do sort of need to know what they're a counterexample to
01:36:56 <monqy> ive seen presseys reading list before tho so
01:37:23 <Bike> gabriel's horn is comparatively simple but i like it a lot
01:37:24 <elliott> but do you remember the comment on counterexamples of topology??
01:37:39 <Bike> also not topological really "but whatever"
01:37:39 <Phantom_Hoover> not a counterexample in topology though!
01:37:50 <monqy> i remember the comments on gödel escher bach and a new kind of science
01:38:06 <Phantom_Hoover> cpressey is the best
01:38:22 <elliott> monqy: but not laws of form??
01:38:43 <Phantom_Hoover> <nooodl_> topology sounds good
01:38:45 <Phantom_Hoover> it's the best
01:38:47 <monqy> elliott: i remembered the laws of form comment but not what book it was for
01:41:43 <Bike> Laws of Form just reminds me of that biology book except that it is not that biology book
01:42:01 <Phantom_Hoover> what's it about again
01:42:17 <elliott> http://en.wikipedia.org/wiki/Laws_of_Form
01:42:18 <elliott> what biology book
01:42:23 <Phantom_Hoover> ugh
01:42:25 <Bike> i can never remember the title
01:42:29 <Bike> it's that one with the picture of the fish
01:42:36 <Phantom_Hoover> i can't READ when i'm also trying to SEE THINGS
01:42:46 <elliott> what is Phantom_Hoover trying to see
01:42:50 -!- Fiora has joined.
01:43:02 <Phantom_Hoover> hey Fiora you like chess and maths right
01:43:09 <Fiora> um, a bit yeah
01:43:21 <Phantom_Hoover> excellente
01:43:22 <Phantom_Hoover> http://sprunge.us/ZDHO
01:43:29 <Phantom_Hoover> JOIN THE DISCUSSION
01:44:09 <elliott> i think if there is one thing this channel is good at it is welcoming Fiora
01:44:22 <Fiora> sorry, bike poked me
01:44:44 <elliott> you can blame kmc and me
01:44:44 <Phantom_Hoover> was it because of the chess
01:44:44 <monqy> Those who agree point to LoF as embodying an enigmatic "mathematics of consciousness," its algebraic symbolism capturing an (perhaps even the) implicit root of cognition: the ability to distinguish.
01:44:45 <shachaf> hi Fiora
01:44:47 <elliott> and also Bike I guess?
01:44:53 * shachaf resists the urge to `welcome
01:44:53 <Bike> hi elliott
01:44:56 <Bike> monqy: what the hell
01:45:06 <elliott> laws of form is great
01:45:08 <elliott> i should read it
01:45:09 <monqy> LoF argues that the pa (primary algebra) reveals striking connections among logic, Boolean algebra, and arithmetic, and the philosophy of language and mind.
01:45:14 <Bike> what the hell
01:45:16 <monqy> i should read it too
01:45:20 <elliott> the guy eventually gave up and became a full-on quack
01:45:25 <elliott> you should see his four-colour theorem proof
01:45:31 <Bike> oh christ
01:45:39 <Bike> «He describes himself as a "mathematician, consulting engineer, psychologist, educational consultant and practitioner, consulting psychotherapist, author, and poet."[1].»
01:45:44 <monqy> ive read goedel escher bach and a new kind of maththematics so reading lof would complete The Trifecta
01:45:49 <Bike> a renaissance man!!
01:45:53 <elliott> monqy: did you actually read a new kind of science
01:45:55 <elliott> what was it like
01:45:57 <Bike> What did you think of new kind of science
01:45:58 <Fiora> I kinda missed this place a little I guess <.<
01:46:05 <monqy> elliott: it might actually be on my shelf right now
01:46:06 <Bike> like i've heard everybody say it's bad but
01:46:14 <monqy> elliott: the shelf of neglect mind you
01:46:41 <monqy> yeeep here it is
01:46:45 <monqy> dusty
01:46:57 <elliott> Bike: have you seen that rather famous review of it
01:47:05 <Bike> i've seen shalizi's
01:47:17 <monqy> gosh it's long
01:47:42 <monqy> how did i read this
01:48:19 <monqy> index/Egg/randomness in fertilization of, 970
01:48:33 <elliott> what
01:48:53 <Phantom_Hoover> how much of it is words and how much is pretty pictures of cas
01:49:05 <kmc> did any of you read "i am a strange loop"
01:49:10 <monqy> lots of both
01:49:14 <kmc> it's like a dry joyless version of GEB
01:49:30 <doesthiswork> where is the famous laws of form review?
01:49:32 <monqy> theres a lot of pages and in those pages there are a lot of words and a lot of CA pictures
01:49:51 <kmc> it's like "nobody understood my book so i'll spell it out in the clearest possible terms, also my wife is dead and i'm super sad about that"
01:49:59 <elliott> doesthiswork: nowhere
01:50:02 <elliott> but there's a famous ANKOS review
01:50:17 <doesthiswork> I''ll take that one instead then
01:50:21 <Phantom_Hoover> kmc, maybe that's the reason for the harem
01:50:30 <kmc> does he have a harem
01:50:31 <Phantom_Hoover> (i feel terrible now?)
01:50:38 <shachaf> kmc: I read the beginning of it.
01:50:40 <Phantom_Hoover> kmc, yes, of beautiful french women*
01:50:42 <elliott> doesthiswork: http://vserver1.cscs.lsa.umich.edu/~crshalizi/reviews/wolfram/
01:50:45 <Bike> kmc: he talked about his wife in le ton beau but it was still pretty good
01:50:57 <kmc> Bike: yeah that book is about something
01:50:59 <Phantom_Hoover> *this information is obtained third-hand from a man who was probably a nutcase
01:51:03 <kmc> ah
01:51:05 <monqy> A Rare Blend of Monster Raving Egomania and Utter Batshit Insanity
01:51:08 <monqy> that sounds about right
01:51:13 <Bike> kmc: it probably helped that he actually knows shit about language, in an academic context :V
01:51:37 <shachaf> I don't know anything in an academic context. :-(
01:51:42 <Bike> and well that that academic context is old and entrenched
01:51:47 <Phantom_Hoover> hofstadter himself claims it was his daughter and her piano teacher or something, but that's a likely story
01:51:58 <kmc> wish i had a harem
01:52:10 <kmc> not in the "imprisoning women" sense ofc
01:52:19 <Phantom_Hoover> why would you want to have a bunch of french people around you
01:52:35 <elliott> Phantom_Hoover: "No one has figured out how to make general relativity, and with it gravity, work in a CA."
01:52:36 <kmc> it's funny because french people suck, also they smell bad and are bad at wars
01:52:40 <elliott> Phantom_Hoover: imo we have a new project
01:52:56 <elliott> kmc: as a british person i feel like we are 'on the same wavelength'
01:53:01 <Phantom_Hoover> kmc, no it's because they never came through for us against the english
01:53:09 <kmc> who's us here
01:53:21 <Phantom_Hoover> the scots obv.
01:53:38 <kmc> well i'm sure they'll be right behind you in the 2018 Scottish War of Independence
01:53:52 <Bike> how's scottish independence going anyway
01:53:55 <elliott> 2018 seems a bit far off for that
01:53:57 <Phantom_Hoover> idk
01:54:04 <kmc> they're going to have a referendum
01:54:18 <elliott> Phantom_Hoover: will you vote for scottish independence???
01:54:27 <kmc> one sticking point is, if they leave the UK are they grandfathered into the EU or do they have to re-apply
01:54:38 <Phantom_Hoover> well somebody pointed out to me that the english are to blame for david cameron so...
01:54:38 <kmc> and if the latter, do they have to switch to the euro (as new EU countries mostly do)
01:54:51 <elliott> i could see independence being good for scottish politics
01:54:53 <Bike> yeah i remember hearing about that
01:54:59 <elliott> but it seems like it'd be really awful for scotland the nation
01:55:01 <kmc> and does that mean they have to float the scottish pound and join ERM
01:55:04 <Bike> i think i heard that they've been using euros anyway? i don't know?
01:55:11 <kmc> i seriously doubt it
01:55:22 <elliott> like being a country is a big deal!! has scotland come of age yet
01:55:22 <kmc> with EUR on the brink of collapse for a year or more
01:55:29 <Phantom_Hoover> i think the argument largely depends on how creative your accounting is vis-a-vis the cash flow over the border
01:55:36 <Bike> spoiler everything i know about this is from a half-read forum thread
01:55:38 <kmc> also UK lost their AAA bond rating, does this mean the chancellor will get sacked
01:55:41 <Bike> elliott: well they were a country for a while
01:55:51 <Bike> did you know they tried to colonize panama back in the day? blew my fuckin mind
01:55:55 <kmc> haha yes
01:55:56 <elliott> it seems like if scotland becoming independent is good for politics there then that also might make politics here worse
01:56:01 <elliott> but you know, I know nothing
01:56:09 <kmc> the one attempt at a scottish overseas colony and they picked one of the least hospitable places on earth
01:56:20 <elliott> Bike: something about John Darwin
01:56:28 <kmc> the point that, to this day, is the single gap in the highway that otherwise stretches from argentina to alaska
01:56:41 <Bike> nice
01:56:54 <kmc> and it bankrupted Scotland and forced them to join with England
01:57:04 <Phantom_Hoover> isn't that er
01:57:07 <Phantom_Hoover> kind of simplistic
01:57:07 <Bike> yeah that's the bit i heard of
01:57:12 <Phantom_Hoover> there were a lot of things going on around then
01:57:12 <Bike> of course it's simplistic
01:57:22 <kmc> it's something i've said about history, therefore it's simplistic
01:57:31 <Bike> it's still funny
01:57:35 <kmc> wp says "was an important factor in weakening their resistance to the Act of Union"
01:57:45 <elliott> kmc: least hospitable in which sense
01:57:51 <ais523> elliott: kmc doesn't live there
01:58:01 -!- nooga has joined.
01:58:02 <elliott> thanks
01:58:07 <kmc> http://en.wikipedia.org/wiki/Dari%C3%A9n_Gap
01:58:32 <kmc> full of jungle that wants to kill you
01:58:36 <kmc> also colombian narco-terrorists
01:58:57 <kmc> probably not so much in 1698
01:59:17 <elliott> well the world was black-and-white and geometrically challenged in 1698
01:59:22 <elliott> if their photos are anything to go by
01:59:31 <elliott> or wait
01:59:35 <ais523> "geometrically challenged"?
01:59:35 <elliott> i guess they had figured art out by 1698
01:59:41 <ais523> as in, a rectangle deficiency or the like?
01:59:45 <kmc> did you see those old color photos of paris
01:59:52 <elliott> ais523: well have you noticed old enough drawings look like a 5 year old did them
01:59:52 <Bike> "The Darién Gap had a reported population of 1,700 in 1980." uh damn
02:00:00 <elliott> because they hadn't quite figured out, like, perspective until... um
02:00:01 <elliott> when was it Phantom_Hoover
02:00:12 <kmc> ok apparently the color is fake maybe, though?
02:00:28 <Phantom_Hoover> the renaissance?
02:00:29 <ais523> before color cameras were invented
02:00:38 <elliott> Phantom_Hoover: sure let's go with that
02:00:38 <ais523> color photos were made by taking black and white photos
02:00:40 <Phantom_Hoover> before the 1600s, for sure
02:00:42 <ais523> then painting the color on by hand
02:00:45 <Bike> elliott: I'd usually go with Dürer
02:00:54 <Phantom_Hoover> but maybe it hadn't reached scotland yet
02:00:56 <Bike> mostly because he's fucking awesome but hey
02:01:02 <ais523> (also, interesting historical note: the video camera was invented well before the video projector was)
02:01:10 <elliott> so 1400 was the exact year they figured out how to draw things
02:01:15 <Bike> yep
02:01:20 <elliott> it is settled
02:01:21 <olsner> the first vehicular crossing took 5 months
02:01:23 <ais523> (they used to make them into flickbooks instead before that)
02:01:44 <olsner> "averaging 201 m (220 yd) per hour over 136 days." is not exactly swift
02:01:50 <Bike> holy hell
02:02:49 <ais523> olsner: I assume that it tended to go much faster sometimes and much slower most of the time?
02:03:09 <olsner> maybe, the sentence doesn't contain full data
02:03:59 <olsner> maybe they drove half the way, stopped for lunch for 5 months, then drove the rest of it
02:04:18 <ais523> "missing, presumed Fed"
02:07:28 <kmc> did you read about the first automobile crossing of the US
02:07:28 <kmc> http://en.wikipedia.org/wiki/Horatio_Nelson_Jackson#Cross-country_drive
02:08:04 <olsner> apparently the crossing I quoted about was partially done by boat
02:08:44 <olsner> because there's a later "first all-land auto crossing"
02:08:59 <Phantom_Hoover> maybe it was partly done by air
02:09:46 <olsner> "taking 741 days to travel 125 miles (201 km).", i.e. about 5 minutes per meter
02:18:04 <Bike> Turns out the book I was thinking of was On Growth and Form.
02:18:18 <doesthiswork> oh that it completely different
02:18:35 <Bike> yes but it has "form" in it you see and is sort of about laws
02:18:56 <elliott> form of laws
02:19:01 <elliott> book about laws
02:19:03 <elliott> and their structure
02:19:24 <Bike> Kafka?
02:28:31 -!- Guest87505 has joined.
02:30:12 -!- nooga has quit (Ping timeout: 264 seconds).
02:30:25 <doesthiswork> another book you need to reed to read! http://en.wikipedia.org/wiki/The_Fabric_of_Reality
02:31:23 <Guest87505> what is it about?
02:31:31 <doesthiswork> wait wrong one
02:31:32 <doesthiswork> http://en.wikipedia.org/wiki/The_Beginning_of_Infinity
02:31:37 <Bike> oh, deutsch
02:31:38 <Phantom_Hoover> the fabric of reality
02:31:47 <Phantom_Hoover> the beginning of infinity then i guess
02:31:54 <Phantom_Hoover> (isn't that just 0)
02:32:05 <Bike> the enlightenment, apparently
02:32:10 <Guest87505> 0 is not infinity
02:32:37 <doesthiswork> he's got a mind-blowing insight into aesthetics, cultural creativity and moral philosophy
02:32:41 <Phantom_Hoover> it's in it though
02:32:49 <Bike> "To test this Deutsch suggests an AI behavioural evolution program for robot locomotion should be fed random numbers to see if knowledge spontaneously arises without inadvertent contamination from a human programmer's creative input." yeah ok
02:33:07 <elliott> Bike: that reminds me of a hacker koan
02:33:17 <olsner> me too
02:33:22 <elliott> im trying to google it
02:33:26 <elliott> but my browser is a freezin'
02:33:26 <Bike> i know the one
02:33:31 <Bike> about tic tac toe and preconceptions
02:33:34 <elliott> im going to quote it anyway
02:33:39 <elliott> because i just got the search in
02:33:39 <Bike> ok
02:33:40 <elliott> so go to hell
02:33:44 <Bike> no
02:33:52 <elliott> In the days when Sussman was a novice, Minsky once came to him as he sat hacking at the PDP-6.
02:33:55 <elliott> "What are you doing?", asked Minsky.
02:33:57 <elliott> "I am training a randomly wired neural net to play Tic-tac-toe", Sussman replied.
02:33:57 <doesthiswork> bike: where'd you get the qoute
02:34:00 <elliott> "Why is the net wired randomly?", asked Minsky.
02:34:03 <elliott> "I do not want it to have any preconceptions of how to play", Sussman said.
02:34:05 <elliott> Minsky then shut his eyes.
02:34:08 <elliott> "Why do you close your eyes?" Sussman asked his teacher.
02:34:10 <elliott> "So that the room will be empty."
02:34:13 <elliott> At that moment, Sussman was enlightened.
02:34:15 <elliott> yes
02:34:17 <Bike> doesthiswork: the wikipedia article.
02:34:28 <doesthiswork> bike: ok I'll read it
02:34:43 <Bike> What, he criticizes Diamond
02:34:46 <Bike> that's pretty random
02:34:54 <Phantom_Hoover> as in jared?
02:35:03 <Bike> yep
02:35:19 <Bike> i mean not that i like diamond, it just seems a weird place to criticize him from
02:36:34 <doesthiswork> it does seem like a odd criticism
02:36:37 <doesthiswork> http://www.imediaethics.org/News/149/Jared_diamonds_factual_collapse__.php
02:37:02 <elliott> oh jared diamond is that guns germs and steel guy
02:37:03 <elliott> is he bad
02:37:08 <elliott> all i know is that that book exists
02:37:13 -!- ais523 has quit.
02:37:18 <doesthiswork> he makes up facts
02:37:26 <Phantom_Hoover> i'm coming to the conclusion that "never trust someone who posits their hypotheses in a popular science book" is a fairly good maxim
02:37:34 <doesthiswork> absolutley
02:37:47 <doesthiswork> although dawkins seems to be doing fine
02:37:49 <Bike> elliott: it's pretty disliked by people in the field, apparently
02:37:55 <Bike> mostly for the usual popsci reasons
02:38:00 -!- Arc_Koen has quit (Quit: Arc_Koen).
02:38:04 <Bike> and environmental determinism isn't really his thing, anyway
02:38:18 <elliott> well dawkins is kind of bad
02:38:35 <Bike> he is kind of bad but not so much in biology
02:38:47 <elliott> yes
02:38:53 <Phantom_Hoover> that maxim does not apply to dawkins
02:39:00 <Bike> actually was gene selection actually introduced in The Selfish Gene
02:39:16 <Bike> wow i searched "elfish gene" by accident and that exists.
02:39:24 <elliott> ph's least favourite gene
02:39:26 <Bike> (it's an autobiography about D&D)
02:39:35 <elliott> Bike: i think it was more a popularisation
02:39:42 <Bike> yeah, that's what i'm guessin
02:39:44 <doesthiswork> it wasn't a scientific theory
02:40:02 <Bike> « Dawkins coined the term "selfish gene" as a way of expressing the gene-centred view of evolution as opposed to the views focused on the organism and the group, popularizing ideas developed during the 1960s by W. D. Hamilton and others.»
02:40:04 <Phantom_Hoover> you say that like it's a criticism
02:40:11 <Fiora> the elfish gene, it makes you slender, graceful, and able to ride shields down stairs and take down oliphaunts with arrows
02:40:20 <Fiora> (but it still only counts as one, no matter how sexy you are)
02:40:23 <Bike> good gene
02:40:37 <doesthiswork> it was like writing a book about your favorite (mathematically correct) interpretation of mechanics
02:40:44 <Phantom_Hoover> it's a view on things, it's still a perfectly valid thing to discuss
02:40:46 <Bike> http://en.wikipedia.org/wiki/File:W_D_Hamilton.jpg hm i think hamilton is actually kind of hot
02:40:47 <doesthiswork> *quantum
02:40:56 <doesthiswork> Phantom_Hoover: I agree
02:41:01 <Phantom_Hoover> btw jbs haldane was the best
02:41:05 <Phantom_Hoover> just putting that out there
02:41:06 <Bike> haldane owns
02:41:13 <Bike> on being the right size is just great
02:41:27 <Phantom_Hoover> did you know he wrote a children's book
02:41:32 <Phantom_Hoover> it's incredible
02:41:33 <Bike> really?
02:41:39 <Bike> doesthiswork: no, the unit of selection has empirical consequences in a way quantum mechanical interpretations don't
02:42:27 <Guest87505> i thought that the point was thier might be more then one unit of selection
02:42:43 <doesthiswork> there are several units of selection
02:43:11 <doesthiswork> some hardly ever get selected at
02:43:15 <Guest87505> i read the book a long time ago, but that is what i took from it
02:44:20 <doesthiswork> dawkins' argument was that there was no mathimatical difference but conceptual clarity
02:44:31 <Phantom_Hoover> Bike, it's about, like, this wizard who he's friends with
02:44:37 <Phantom_Hoover> and they do all sorts of crazy shit
02:44:40 <Bike> um
02:44:44 <Bike> who Haldane is friends with?
02:44:49 <Phantom_Hoover> not irl obviously
02:44:59 <Bike> thanks for clarifying
02:45:17 <Bike> do they go to india to fight imperialism and the bourgeosie
02:45:23 <Phantom_Hoover> no
02:45:26 <Phantom_Hoover> they do go to india
02:45:32 <Phantom_Hoover> and they do fight the bourgeousie briefly
02:45:35 <Bike> haha fuck yes
02:46:04 <Phantom_Hoover> but not at the same time
02:46:41 <Bike> good enough for me!
02:48:27 <Guest87505> while i understand that the unit of selection at different levels is a nice conceptual device, woudn't thier interactions have real implications?
02:48:34 <Sgeo> "unit of selection" seems silly to me, really. Like just a handle in which we try to approximate an understanding of what's going on.
02:48:53 <Bike> Sgeo: of couse.
02:48:56 <Bike> course*
02:49:12 <Guest87505> all of our understanding is an approximation
02:49:12 <Bike> I don't think any evolutionary biologist, including Dawkins, would say it's as simple as genes killing each other
02:49:26 -!- Phantom_Hoover has quit (Remote host closed the connection).
02:50:54 <Guest87505> that is probably to general a statment. sorry
02:51:22 <Bike> and yes i think interactions between "levels" is a thing thats researched a good deal.
02:51:49 <doesthiswork> Guest87505: approximately all of our understanding is an approximation
02:52:04 <Guest87505> better
02:52:40 <Guest87505> math and logic is not an approximation
02:52:53 <Bike> babby's first existentialism
02:53:56 -!- Guest87505 has left.
02:54:14 <doesthiswork> Guest87505: to be an approximation there has to be something you are trying to approximate
02:54:31 <doesthiswork> woops he's gone
02:54:32 <elliott> i think you upset guest Bike
02:54:42 <Bike> :(
02:54:55 <monqy> hi i havent been paying attn was this guest any good
02:54:59 <elliott> its ok they only /parted
02:55:04 <elliott> you can /msg them saying sorry
02:55:04 <kmc> "Sounds to me like Anthony Junior may have stumbled across existentialism." "Fuckin' Internet."
02:55:08 <Bike> I assume it was someone with a different name
02:55:29 <doesthiswork> I though I was just talking about statistics
02:55:35 <monqy> well it wasn't me
02:55:47 <kmc> The Extended Phenotype is a good book as well
02:55:52 <kmc> sort of sequel to Selfish Gene
02:55:55 <kmc> written more for scientists
02:55:58 <Bike> doesthiswork: there are all kinds of ~philosophical implications~ behind saying that truth exists etc etc
02:55:58 <kmc> cool stuff
02:57:38 <doesthiswork> bike: what is our official philosophy?
02:57:47 <Bike> dicks
02:58:46 <doesthiswork> ah you mean the "8===>" operator
02:59:01 <doesthiswork> 8==> for short
02:59:18 <doesthiswork> are dicks a monad?
02:59:34 <Bike> you can bind them hurr hurr
03:01:16 <doesthiswork> have you noticed how immediate the feedback is on whether people like what you said or not?
03:01:32 <elliott> no
03:02:04 <doesthiswork> there is a flurry of messages and then I say something that kills the conversation
03:02:24 <doesthiswork> and nobody wants to touch it
03:02:32 <doesthiswork> (hehehe)
03:02:32 <Bike> god it's
03:02:34 <Bike> it's too easy
03:02:42 <Bike> which, i guess means it must be at least a monoid
03:03:09 <elliott> are magmas easy
03:03:29 <monqy> no
03:03:43 <elliott> :(
03:03:44 <monqy> associativity is kind of important, "imo"
03:04:31 <Sgeo> What if we mix monads using cont?
03:04:32 <Sgeo> Cont?
03:04:56 <Sgeo> Although that might not work so well
03:05:10 <Sgeo> Especially with State, but I need to actually think about it for more than 2 minutes
03:05:43 <monqy> ok
03:05:56 <shachaf> even pointed semigroups aren't easy
03:06:50 <shachaf> Sgeo: You can mix monads using adjunctions.
03:07:03 <shachaf> But they aren't monads in your category. :-(
03:07:42 <nooodl_> http://en.wikipedia.org/wiki/Bialgebra this has a lot of good scary diagrams
03:08:31 <shachaf> those diagrams aren't *that* scary
03:08:39 <shachaf> help i'm growing toleranti
03:08:43 <shachaf> i need something harder
03:09:08 <monqy> yeah those diagrams don't look scary
03:10:00 <Sgeo> shachaf, I don't know adjunctions
03:10:20 <shachaf> https://encrypted.google.com/search?q=commutative+diagram&tbm=isch has several scarier diagrams imo
03:10:58 <Bike> oh dang
03:11:08 <Bike> that one with the circle looks like a goddamn feynman diagram
03:11:17 <elliott> fun fact they're the same thing as feynman diagrams
03:11:29 <shachaf> elliott: well they're the dual
03:11:34 <shachaf> string diagrams are the ones that are the same thing
03:11:44 <Bike> what
03:11:50 <Bike> don't lie to me
03:12:05 <shachaf> http://math.ucr.edu/home/baez/rosetta.pdf
03:13:40 <shachaf> fun fact 0 = 1
03:13:48 <Bike> ugh
03:13:57 <shachaf> | fact n = n * fact (n - 1)
03:14:43 <Bike> hm
03:14:50 <Bike> what's a definition of gamma in haskell look like
03:15:01 <shachaf> elliott: zomg https://upload.wikimedia.org/math/3/f/4/3f426579fc0475ca3edbd849a96542b8.png
03:15:17 <elliott> hello
03:15:27 <shachaf> elliott: It's mposition!
03:15:38 <elliott> yes
03:16:00 <shachaf> That inequality is about the sides of a triangle, by the way.
03:16:23 <shachaf> "(3) that the triangle inequality holds, meaning that the length of one leg of a triangle xyz cannot exceed the sum of the lengths of the other two legs:"
03:17:17 <Bike> ok
03:17:30 <Bike> what the hell does the triangle inequality have to do with cocococococmpisitinnnnnnncococococococococococo
03:17:39 <nooodl_> http://hackage.haskell.org/packages/archive/gamma/0.9.0.2/doc/html/src/Math-Gamma.html#gamma mmmhm
03:18:01 <elliott> Bike: well look at the letters
03:18:13 <kmc> https://www.youtube.com/watch?v=u328PglVpLU
03:18:17 <Bike> well yes
03:18:18 <Bike> distance
03:18:49 <shachaf> Remember the mposition/uncategory/type inequality thing?
03:18:54 <Bike> nooodl_: is that z == abs z to see if it's real
03:18:56 <shachaf> p b a -> Either (p b x) (p x a)
03:19:11 <shachaf> That thing?
03:19:13 <Bike> yeah
03:19:36 <nooodl_> real and positive!
03:19:37 <shachaf> Compare to d(x, z) ≤ d(x, y) + d(y, z)
03:20:20 <Bike> ok but is that analogy actually meaningful somehow
03:20:33 <shachaf> I bet it is?
03:20:46 <Bike> math!
03:20:52 <shachaf> For one, I was trying to find examples of things that satisfy this sort of thing.
03:21:00 <shachaf> I wonder how that + would work, though.
03:21:13 <shachaf> It can't be coproduct, not in a poset category, can it?
03:22:53 <shachaf> What's d? I guess it's just some sort of bifunctor?
03:28:04 <FreeFull> nooodl_: well 0 isn't positive
03:28:31 <nooodl_> uuuuuuggggggggghhhhhhhhhhhhh
03:28:33 <monqy> FreeFull: im sorry to inform you that nooodl_ is Deadly Wrong about 0
03:28:49 <nooodl_> let's ban "positive" and "negative"
03:29:04 <FreeFull> And instead use?
03:29:19 <nooodl_> >0 <0 >=0 <=0
03:29:24 <FreeFull> Doubleplusgood and doubleminusbad?
03:29:32 <FreeFull> Those look like ducks
03:29:35 <monqy> ≤≥
03:29:35 <Bike> nonnegative, nonpositive
03:29:39 <FreeFull> And can't be pronounced
03:29:48 <monqy> nonnonnegative
03:29:57 <shachaf> hi monqy
03:29:59 <monqy> hi shachaf
03:30:13 <shachaf> :☼)
03:32:14 <shachaf> :♲(
03:33:04 <shachaf> :⚧¦
03:33:21 <Bike> nope
03:33:27 <shachaf> Nope?
03:33:45 <FreeFull> shachaf: Your nose has mutated
03:33:47 <Bike> i'm afraid not
03:34:01 <FreeFull> Now it's a hermaphrodite
03:34:13 <nooodl_> anyway
03:34:22 <nooodl_> gamma 0 is already defined before that
03:34:53 <nooodl_> so the "z == abs z" check after that really *does* check if it's real and positive
03:38:00 <FreeFull> Why not z > 0.0
03:38:24 <Bike> Because gamma is defined as a class on an arbitrary type, i assume
03:38:45 <FreeFull> z > 0 if it's for all Nums
03:38:45 <shachaf> all numbers are fictitious
03:39:12 <FreeFull> Since complex numbers aren't in Ord anyway I think
03:39:20 <Bike> let's see, it has (Eq a, Floating a, Factorial a)
03:39:26 <Bike> (why is Factorial a class)
03:39:33 <elliott> 03:38:24 <Bike> Because gamma is defined as a class on an arbitrary type, i assume
03:39:39 <elliott> bike you're great but
03:39:42 <elliott> this sentence literally means nothing
03:39:47 <Bike> :(
03:39:55 <FreeFull> Clearly gamma is secretly bottom
03:39:59 <Bike> Um, it's polymorphic?
03:40:02 <Bike> I'm bad at words.
03:40:07 <Bike> And thoughts.
03:40:23 <elliott> me too
03:40:32 <Bike> i just, it's a typeclass
03:40:50 <Bike> so you can have some instance for BullshitNumberA and another one for BullshitFuckshitFuck
03:40:55 <monqy> Bike: are you talking about what constraints you're putting on it
03:41:01 <Bike> you know what sure
03:41:07 -!- doesthiswork has left.
03:41:18 -!- doesthiswork has joined.
03:41:19 <shachaf> Bike: gamma is just a class on an arbitrary type
03:41:24 <shachaf> don't let the man push you down
03:41:35 <Bike> the man is better at haskell than i am
03:41:48 <shachaf> good point
03:42:48 <Bike> actually what do you need for gamma function
03:43:02 <Bike> logarithmic convexity and multiplication?
03:43:43 <Bike> and continuity probably
03:43:56 <Bike> except floats aren't actually continuous
03:55:26 -!- Frooxius has quit (Ping timeout: 252 seconds).
04:12:50 -!- nooodl_ has quit (Ping timeout: 260 seconds).
04:19:08 -!- aloril has quit (Ping timeout: 276 seconds).
04:20:42 -!- doesthiswork has quit (Quit: Leaving.).
04:32:16 -!- azaq23 has quit (Quit: Leaving.).
04:32:46 -!- aloril has joined.
04:36:45 -!- DHeadshot has quit (Ping timeout: 260 seconds).
04:38:04 * Fiora forgot how crowded this place got
04:38:22 <Bike> she says, after almost an hour of inactivity
04:38:49 <kmc> hi Fiora
04:39:03 <Fiora> <.< *pokes at bike*
04:39:18 <pikhq> 'Lo, Fiora.
04:42:56 <kmc> i like cheese and maths
04:43:54 <Fiora> cheese sounds good right now
04:45:47 -!- copumpkin has quit (Ping timeout: 252 seconds).
04:46:18 -!- copumpkin has joined.
04:47:42 <kmc> today i ate some cheese that had a Data Matrix code printed on the rind
04:52:53 <FreeFull> No cheese puns with Neo ):
04:54:02 -!- monqy has quit (Quit: hello).
04:54:16 <zzo38> kmc: Do you have a scanner to scan Data Matrix code?
04:54:46 <kmc> my phone could I guess
04:54:58 <kmc> but I don't think we got the whole code
04:55:01 <Sgeo> Data Matrix?
04:55:07 <kmc> it must have been printed on the wheel before it was sliced up
04:55:19 <kmc> my friend peeled apart the rind bfore I noticed
04:58:20 <zzo38> "I'm sorry, there are no available nodes on X-Bit BBS at this moment." I got this error message already for 24 hours. When will they fix it?
05:01:23 <shachaf> kmc: which math is your favourite
05:01:27 <Sgeo> I don't know, I don't work for X-BIt BBS, and I doubt any of us do.
05:02:08 <shachaf> did you see that dcoutts interview where they asked him what his favourite monad was
05:03:10 <zzo38> shachaf: What was the answer?
05:03:20 <shachaf> I think he changed it to Cont at the end.
05:03:23 <shachaf> You can look it up.
05:03:47 <shachaf> My favorite monad, well I have to admit I do quite a lot of programming in the IO monad but I don’t think I could say that’s my favorite one. It wouldn’t be really politically correct for me as a Haskell programmer to say IO monad. Tricky, there’s so many.
05:04:03 <shachaf> Ah, I know what the answer is: the Continuation monad that’s my favorite one, yes, definitely…
05:04:53 <kmc> i will say IO monad unashamedly
05:05:26 <shachaf> You like IO more than Cont?!
05:06:02 <Sgeo> I hate monad transformers and wonder if Cont secretly holds the key to killing them
05:06:04 <Sgeo> So Cont
05:06:16 <shachaf> It don't.
05:06:26 <kmc> well I can implement Cont easily myself, and even if I'm not allowed to make it a Monad, i can do all the same things
05:06:41 <kmc> if explicit CPS is good enough for startup rockstars then it's good enough for me
05:06:45 <shachaf> Sure.
05:06:51 <kmc> plus i like to be contrary
05:06:57 <shachaf> Well, you write in explicit CPS with any monad.
05:07:01 <shachaf> That's what do notation is.
05:07:02 <kmc> and you know my rants about imperative programming in Haskell
05:07:09 <kmc> sure, i'll buy it
05:07:19 <kmc> implicit explicit CPS :)
05:07:39 <shachaf> foo >>= \x -> bar >>= \y -> return (x,y) -- you'd call this explicit CPS?
05:07:49 <Sgeo> > liftM (+) `ap` [1,2,3] `ap` [4,5,6]
05:07:50 <lambdabot> Couldn't match expected type `(->) (a0 -> b0)'
05:07:50 <lambdabot> with actual typ...
05:07:56 <shachaf> do { x <- foo; y <- bar; return (x,y) } -- and this implicit?
05:07:58 <Sgeo> > liftM (+) [1,2,3] `ap` [4,5,6]
05:08:00 <lambdabot> [5,6,7,6,7,8,7,8,9]
05:08:12 <Sgeo> Doesn't look very explicit CPSey to me
05:08:38 <Bike> :t liftM
05:08:39 <lambdabot> Monad m => (a1 -> r) -> m a1 -> m r
05:08:53 <Sgeo> Bike, it's the same as fmap, but for monads
05:09:14 <Bike> :t fmap
05:09:15 <lambdabot> Functor f => (a -> b) -> f a -> f b
05:09:15 <shachaf> Anyway, from the perspective of callbacks etc., you make everything much more standard by: Having each callback take exactly one argument; not taking the callback argument directly, but returning a separate object which accepts it.
05:09:25 <Bike> I thought monads were functors...
05:09:38 <Sgeo> Bike, they should be, but in Haskell they're not
05:09:52 <Bike> But this is caleskell, land of the brave.
05:10:05 <shachaf> Even Cale won't stoop that low.
05:10:15 <Bike> as low as making monads functors?
05:10:41 <shachaf> So instead of read(stdout, len, function(data) { ... }, function(err) { ... }), you have the object "read(stdout, len)", which you can run() with a callback or do other thing with.
05:10:58 <shachaf> By making it its own first-class object you get all the benefits of that.
05:11:05 <shachaf> But it's still pretty mch explicit CPS.
05:11:45 <shachaf> (I think you usually read from stdin... But who knows!)
05:13:27 <zzo38> Bike: Monads are functors (specifically endofunctors), but when they made Haskell they forgot to specify that.
05:13:51 <Sgeo> I think Haskell got Monads before it got Functors?
05:14:16 <Bike> :t ap
05:14:18 <lambdabot> Monad m => m (a -> b) -> m a -> m b
05:14:19 <shachaf> i think haskell = stupidskell
05:14:28 <Bike> hackskell!
05:14:34 -!- aloril has quit (Ping timeout: 256 seconds).
05:15:10 <shachaf> You see here a scroll labelled HASKEM MUCHE.
05:20:21 <FreeFull> EH, CUM MEKSAH
05:21:08 <FreeFull> Monads are functors and applicatives
05:24:06 <Sgeo> FreeFull, theoretically yes, in Haskell, no
05:25:01 <FreeFull> Applicative has WrapMonad
05:25:27 <shachaf> Wronad. Wrong Monad
05:25:47 <shachaf> We should have a variation of rhyming slang where you LAY-contract a phrase and then LAY-expand it in a different way.
05:26:34 <kmc> haskell more like monadaskell
05:26:38 <kmc> because of all the monads you see
05:26:50 -!- monqy has joined.
05:27:00 -!- aloril has joined.
05:27:06 <FreeFull> It didn't have to be this way
05:27:22 <FreeFull> Haskell started out free from the menace of monads
05:28:49 <kmc> Haskell Episode I: The Phantom Monad
05:30:20 <kmc> Haskell Episode V: Most Ever Monadiest Monad Fucker Fuck
05:31:04 <Sgeo> Maybe the indexed Cont monad does what I seek
05:31:16 <Sgeo> erm, hmm
05:31:50 <shachaf> Sgeo: Indexed Cont... Is that like a right kan extension?
05:32:01 <Sgeo> shachaf, I have not the faintest idea
05:32:08 <Bike> are there monad-based esolangs
05:32:26 <shachaf> Sgeo: newtype Ran g h a = Ran { runRan :: forall b. (a -> g b) -> h b }
05:32:37 <shachaf> Bike: haskell. hth
05:32:43 <Bike> one where >>= and return are the only operators or some shit
05:32:54 <kmc> well i proposed an esolang named "Haskell" which would have all the properties that Haskell is commonly misunderstood to have
05:33:05 <Bike> like what
05:33:09 <shachaf> > "Haskell"
05:33:10 <lambdabot> "Haskell"
05:33:11 <shachaf> Aw.
05:33:13 <kmc> monads used for everything
05:33:23 <kmc> separate types for pure and impure functions
05:33:29 <kmc> auto memoization of functions
05:33:48 <kmc> must have 3 PhDs to write any program (this one might be tricky to implement)
05:34:18 <shachaf> i love phds
05:34:20 <shachaf> they are so easy
05:34:48 <Bike> has anyone in the world ever had three PhDs
05:34:57 <shachaf> do honorary phds count
05:35:01 <Bike> no
05:35:30 <shachaf> Hmm, maybe they're honorary doctorates but not honorary PhDs.
05:35:47 <shachaf> https://en.wikipedia.org/wiki/List_of_honorary_degrees
05:37:18 <shachaf> Should I get a PhD?
05:37:52 <monqy> This list of honorary degrees lists all honorary degrees, including honorary doctorates.
05:37:54 <Bike> You should get three, so as to optimize your Haskelling.
05:37:55 <monqy> This is an incomplete list
05:38:24 <shachaf> my doctorate is 3 phds/year
05:38:32 <shachaf> my doctoseconderivative is positive, though
05:39:40 <Bike> That was forced.
05:39:53 <shachaf> They all are!
05:39:59 <shachaf> At last Bike is beginning to see the light.
05:40:04 <shachaf> The Wikipedia article on "Honorary degree" has a "Practical use" section.
05:41:28 <monqy> Honorary Doctor of Divinity???????????
05:42:06 <shachaf> monqy: are you a doctor yet
05:42:10 <monqy> not yet
05:42:12 <shachaf> drdoctormonkey
05:42:17 <monqy> :-)
05:42:20 <kmc> it's not lupus
05:42:46 <shachaf> monqy: imo become drdoctormonkey proäctively
05:43:21 <kmc> herr doktor professor monqy
05:43:36 <shachaf> kmc: So my trip report is going to be LGA->Bronx rather than JFK->
05:43:48 <kmc> oh
05:44:06 <kmc> i thought that's what you said in the first place
05:44:11 <shachaf> Maybe it is?
05:44:16 <shachaf> For a while I thought it'd be JFK->
05:44:25 <kmc> cause i said you should take the M60 and then $train
05:44:55 <shachaf> That's when I was trying to figure out whether to go to LGA
05:45:03 <Bike> JFK -> the void
05:45:14 <kmc> JFK and beyond the infinite
05:45:19 <shachaf> My other flight is going to be JFK->SEA, though.
05:46:37 <shachaf> What's the best route LGA->~Netherland Ave.? M60+$train?
05:47:20 <kmc> is that netherland ave 10463 or netherland ave 10471
05:47:21 <shachaf> Or Q48+M60+...?
05:47:26 <kmc> "different apparently"
05:47:33 <shachaf> 10463
05:47:38 <kmc> why would you tak the Q48 first?
05:47:54 <shachaf> I'm not sure, that website suggested it.
05:48:01 * shachaf is now getting oriented.
05:48:13 <kmc> google often proposes Comedy Bus Option
05:49:03 <kmc> anyway I would take the M60 to the 1 to 231st St or so
05:49:19 <shachaf> Hmm, maps.google.com and hopstop.com have very different time estimates.
05:49:24 <kmc> but if i'm not mistaken, the walk from there to Netherland Ave is pretty seriously uphill
05:49:30 <kmc> shachaf: for the same time?
05:49:58 <shachaf> Yes, 18:00 on Wednesday.
05:50:27 <kmc> i think the walk from Spuyten Duyvil metro north station is also seriously uphill
05:50:39 <kmc> silly place names: the legacy of the dutch in north america
05:51:12 <Bike> RIP new amsterdam
05:51:23 <shachaf> seriously uphill? doesn't soudn very dutch
05:52:10 <shachaf> Hmm, the 1?
05:52:23 <kmc> isn't that the closest subway stop?
05:53:02 <kmc> you can transfer to most of the subway lines from the M60, on 125th St Manhattan
05:53:15 <kmc> so just pick the best one for your destination
05:54:09 <shachaf> Google Maps is suggesting the Hudson train now.
05:55:09 <kmc> well it costs more and runs less frequently, but ok
05:55:14 <kmc> you can get that at 125th too right?
05:55:52 <shachaf> Yes.
05:57:47 <shachaf> So I guess M60->125th is a good first step regardless.
06:04:49 -!- gatopan has joined.
06:05:17 -!- GOMADWarrior has quit (Ping timeout: 255 seconds).
06:05:38 -!- gatopan has left ("Leaving").
06:20:41 -!- aloril has quit (Ping timeout: 276 seconds).
06:29:41 -!- ogrom has joined.
06:33:17 -!- aloril has joined.
06:39:32 -!- sirdancealot has quit (Ping timeout: 272 seconds).
06:44:26 -!- sirdancealot7 has joined.
06:59:31 -!- doesthiswork has joined.
07:39:22 -!- atehwa has joined.
07:55:17 -!- augur has joined.
08:09:49 -!- ogrom has quit (Read error: Connection reset by peer).
08:21:33 -!- Taneb has joined.
08:35:38 -!- Nisstyre-laptop has quit (Quit: Leaving).
08:37:48 -!- ogrom has joined.
08:41:21 -!- zzo38 has quit (Remote host closed the connection).
08:55:12 -!- jajaja has joined.
08:55:52 <mroman> @tell nooodl_ You can use replicate. I guess.
08:55:52 <lambdabot> Consider it noted.
08:55:55 -!- jajaja has left.
08:56:24 <mroman> @tell nooodl_ There is the EvalMany function which runs a block n times.
08:56:24 <lambdabot> Consider it noted.
08:57:05 <mroman> !blsq 0 3CB
08:57:06 <blsqbot> {0}
08:57:23 <mroman> !blsq '0'3CB
08:57:23 <blsqbot> ERROR: Burlesque: (CB) Invalid arguments!
08:57:27 <mroman> !blsq '03CB
08:57:27 <blsqbot> ERROR: Burlesque: (CB) Invalid arguments!
08:57:35 <mroman> !blsq "0"3CB
08:57:35 <blsqbot> {"000"}
08:57:49 <mroman> !blsq "0"3CB2.*
08:57:49 <blsqbot> {{"000"} {"000"}}
08:58:59 <mroman> @tell nooodl_ If it's ok to have strings then a 3x2 matrix filled with zeroes is "0"3CB2.*
08:58:59 <lambdabot> Consider it noted.
08:59:22 <mroman> !blsq 0bx3.*2.*
08:59:22 <blsqbot> {{{0} {0} {0}} {{0} {0} {0}}}
08:59:31 <mroman> !blsq 0bx3.*\[2.*
08:59:32 <blsqbot> {{0 0 0} {0 0 0}}
09:00:05 <mroman> @tell nooodl_ If you need 0 digits as Ints then a 3x2 matrix is 0bx3.*\[2.* which yields {{0 0 0}{0 0 0}}
09:00:05 <lambdabot> Consider it noted.
09:00:43 <mroman> although isn't that actually a 2x3 matrix?
09:00:49 <mroman> I always forget which is which.
09:04:46 <mroman> !blsq 0bx3.*\[3.*1{0 0}D!
09:04:47 <blsqbot> ERROR: Burlesque: (D!) Invalid arguments!
09:04:53 <mroman> !blsq 0bx3.*\[3.*{0 0}1D!
09:04:54 <blsqbot> {{1 0 0} {0 0 0} {0 0 0}}
09:05:52 <mroman> !blsq 0bx3.*\[3.*0 2R@{bx[+1}[m
09:05:53 <blsqbot> Ain't nobody got time fo' dat!
09:06:00 <mroman> !blsq 0bx3.*\[3.*0 2r@{bx[+1}[m
09:06:00 <blsqbot> {1 ERROR: Burlesque: ([+) Invalid arguments! {0} 0 1 ERROR: Burlesque: ([+) Inva
09:06:05 <mroman> !blsq 0bx3.*\[3.*0 2r@{bx\/[+1}[m
09:06:05 <blsqbot> {1 {0 0} 1 {1 1} 1 {2 2}}
09:06:35 <mroman> !blsq 0bx3.*\[3.*0 2r@{1\/^^bx\/[+}m[
09:06:35 <blsqbot> {{0 0} 1 {1 1} 1 {2 2} 1}
09:06:49 <mroman> !blsq 0bx3.*\[3.*0 2r@{1\/^^bx\/[+(D!)}m[e!
09:06:49 <blsqbot> 1
09:06:54 <mroman> oh come on :(
09:06:58 <mroman> !blsq 0bx3.*\[3.*0 2r@{1\/^^bx\/[+(D!)}m[
09:06:58 <blsqbot> {D! {0 0} 1 D! {1 1} 1 D! {2 2} 1}
09:07:10 <mroman> !blsq 0bx3.*\[3.*0 2r@{(D!)\/1\/^^bx\/[+}m[
09:07:11 <blsqbot> {{0 0} 1 D! {1 1} 1 D! {2 2} 1 D!}
09:07:14 <mroman> !blsq 0bx3.*\[3.*0 2r@{(D!)\/1\/^^bx\/[+}m[e!
09:07:15 <blsqbot> {{1 0 0} {0 1 0} {0 0 1}}
09:08:27 <mroman> @tell nooodl_ If you're working with nested blocks d! and D! might be of use
09:08:27 <lambdabot> Consider it noted.
09:08:49 <mroman> @tell nooodl_ 0bx3.*\[3.*0 2r@{(D!)\/1\/^^bx\/[+}m[e!
09:08:49 <lambdabot> Consider it noted.
09:09:03 <mroman> Ok. Enough spam :)
09:10:45 <monqy> @ask nooodl hey mroman just sent nooodl_ a few messages you might want to check them
09:10:45 <lambdabot> Consider it noted.
09:11:19 <elliott> @ask nooooodl hello
09:11:19 <lambdabot> Consider it noted.
09:12:36 <mroman> He should just use one nick instead of hundreds.
09:23:47 <mroman> !blsq 0 2r@^^z[
09:23:48 <blsqbot> {{0 0} {1 1} {2 2}}
09:24:06 <mroman> There's gotta be a better way to generate an identity matrix
09:25:47 <mroman> !blsq 0 2r@{0bx3.*\/D!}m[
09:25:48 <blsqbot> {ERROR: Burlesque: (D!) Invalid arguments! 0 {{0} {0} {0}} ERROR: Burlesque: (D!
09:26:01 <mroman> !blsq 0 2r@{0bx3.*\/1D!}m[
09:26:02 <blsqbot> {ERROR: Burlesque: (D!) Invalid arguments! 1 0 {{0} {0} {0}} ERROR: Burlesque: (
09:26:25 <mroman> !blsq 0 2r@{0bx3.*\/1sa}m[
09:26:25 <blsqbot> {{{0} 0 {0}} {{0} 1 {0}} {{0} 2 {0}}}
09:27:16 <mroman> !blsq 0 2r@{0bx3.*1x/sa}m[
09:27:17 <blsqbot> {{1 {0} {0}} {{0} 1 {0}} {{0} {0} 1}}
09:27:25 <mroman> !blsq 0 2r@{0bx3.*\[1x/sa}m[
09:27:25 <blsqbot> {{1 0 0} {0 1 0} {0 0 1}}
09:27:53 <mroman> now I just need to inject some more code into it
09:28:37 -!- nooga has joined.
09:29:08 <mroman> !blsq 3^^0\/?dr@{0bx3.*\[1x/sa}2sa#s
09:29:08 <blsqbot> {{0 1 {0 bx 3 .* \[ 1 x/ sa}} 3}
09:31:13 <mroman> neat.
09:32:13 -!- Bike has quit (Quit: leaving).
09:42:29 <Taneb> I wonder how hard it'd be to write a web browser purely in Haskell
09:46:23 <Taneb> The renderer'd be tricky, but almost everything else already exists
09:46:58 <mroman> there s a web browser in haskell
09:47:06 <monqy> not purely
09:48:58 -!- Sgeo_ has joined.
09:49:16 -!- Sgeo has quit (Read error: Connection reset by peer).
09:50:33 <doesthiswork> `plist
09:50:36 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: plist: not found
10:06:28 -!- HSgeo has joined.
10:07:04 -!- HSgeo has left ("well, this requires me to put a part message. Ok.").
10:15:01 -!- Taneb has quit (Quit: awwwaaaaaaaaay).
10:21:01 -!- epicmonkey has joined.
10:35:02 -!- copumpkin has quit (Ping timeout: 252 seconds).
10:35:33 -!- copumpkin has joined.
10:52:45 -!- nooodl has joined.
10:54:41 -!- monqy has quit (Quit: hello).
10:56:35 <mroman> hi nooodl
10:56:40 <nooodl> hey
10:56:40 <lambdabot> nooodl: You have 1 new message. '/msg lambdabot @messages' to read it.
10:56:58 -!- nooodl has changed nick to nooodl_.
10:57:32 <shachaf> hooodl_
10:57:55 -!- nooodl_ has changed nick to nooodl.
10:58:19 <nooodl> @tell monqy thanks
10:58:19 <lambdabot> Consider it noted.
10:58:36 <shachaf> thonqy
10:58:48 <mroman> nooodl: I sent some messages to nooodl_
10:59:05 <nooodl> yeah, monqy sent a message to nooodl telling me so
10:59:11 <mroman> ok
10:59:14 <mroman> then everything's fine :)
10:59:36 <nooodl> i was working on langton's ant and it looked something like this near the end
10:59:37 <nooodl> {1 0} {10 10} 0 {bxcy21.+} 2E! { #R {-1 1} {<-} #s3!!#s5!!d! hd#a if {pd}Z[ #r #s1!! #bn! D! \/#s3!! {++}Z[ \/ x/vv }20E! p^
10:59:40 <nooodl> (this doesn't work)
10:59:45 <shachaf> @ask monqy your services are greatly appreciated
10:59:45 <lambdabot> Consider it noted.
11:00:10 <nooodl> anyway stack manipulation in this thing seems... almost impossible
11:00:40 <nooodl> are #a #b #c the only way to have variables?
11:04:06 <nooodl> also, a burlesque command idea i had while working on this: haskell's "iterate"
11:04:35 <nooodl> 1 {2*} It --> {1 2 4 8 16 ...}
11:24:06 <Sgeo_> I seriously need to stop listening to music when I read
11:24:21 <Sgeo_> The songs and the stories get indelibly connected in my mind
11:24:30 <Sgeo_> And I can't listen to the music without thinking about the story
11:25:07 <doesthiswork> that is why bad fanfic writers write while listening to music
11:28:18 <mroman> nooodl: impossible?
11:28:24 <mroman> you have swap, dup, pop, rotate
11:28:35 <mroman> and #a are not variables
11:28:55 <mroman> they just sorta behave like that
11:28:57 <doesthiswork> mroman: what bout bopit?
11:29:15 <nooodl> how do you retrieve things that have >3 things on top of them in the stack?
11:29:22 <mroman> nooodl: Also... those "variables" only exist in the current scope
11:29:26 <mroman> !blsq 5hd#a
11:29:27 <blsqbot> 5
11:29:39 <mroman> !blsq 5hd{1}{#a}m[
11:29:40 <blsqbot> {ERROR: Can't load non hidden state! Sorry. 1}
11:29:52 <mroman> ^- map has no access to #a
11:30:24 <nooodl> maybe...
11:30:32 <nooodl> !blsq 1 2 3 4 hdx/ld
11:30:33 <blsqbot> ERROR: Can't load non hidden state! Sorry.
11:30:38 <mroman> nooodl: There are a couple of ways to do that
11:30:52 <nooodl> !blsq 1 2 3 4 hdx/ #s
11:30:52 <blsqbot> {1 3 2 }
11:30:54 -!- jix has quit (Ping timeout: 276 seconds).
11:31:04 <mroman> in earlier versions you could pop to a list
11:31:08 <mroman> like
11:31:13 <mroman> !blsq 1 2 3 4bx
11:31:14 <blsqbot> {4}
11:31:16 <mroman> !blsq 1 2 3 4bx+]
11:31:17 <blsqbot> ERROR: Burlesque: (+]) Invalid arguments!
11:31:20 <mroman> !blsq 1 2 3 4bx\/+]
11:31:20 <blsqbot> {3 4}
11:31:26 <mroman> !blsq 1 2 3 4bx\/+]\/+]
11:31:27 <blsqbot> {2 3 4}
11:31:36 <mroman> and then access specific elements in that list
11:31:45 <mroman> however, now Burlesque has #s and #S (push/pop stack)
11:31:48 <mroman> !blsq 1 2 3 4#s
11:31:49 <blsqbot> {4 3 2 1}
11:31:50 -!- jix has joined.
11:32:07 <mroman> You can push the whole stack, manipulate it
11:32:33 <mroman> #s #S allows you to do everything with the stack
11:32:46 <mroman> !blsq 1 2 3 4#s<-#S#s
11:32:47 <blsqbot> {1 2 3 4}
11:32:54 <mroman> ^- reverses the stack
11:33:03 <mroman> !blsq 1 2 3 4#s2di#s#s
11:33:03 <blsqbot> {{ERROR: Burlesque: (e!) Invalid arguments! ERROR: Burlesque: ([+) Invalid argum
11:33:07 <mroman> hm
11:33:13 <mroman> !blsq 1 2 3 4#s{2}di#s#s
11:33:14 <blsqbot> {{{4 3 1} 4 3 2 1} {4 3 1} 4 3 2 1}
11:33:19 <mroman> !blsq 1 2 3 4#s{2}di#S#s
11:33:20 <blsqbot> {4 3 1}
11:33:31 <mroman> ^- removes an element from the stack
11:33:35 <mroman> (position 2)
11:33:58 <mroman> You essentially have random access to the stack
11:34:15 <mroman> you can delete elements deep down, you can access elements deep down, you can do everything with it.
11:34:29 <nooodl> i gues my #s3!! approach wasn't too bad
11:34:48 <mroman> And there's XSwap
11:34:53 <mroman> !blsq 1 2 3#s
11:34:54 <blsqbot> {3 2 1}
11:34:57 <mroman> !blsq 1 2 3x/#s
11:34:58 <blsqbot> {1 3 2}
11:35:19 <mroman> which rotates the first three elements
11:35:20 <shachaf> !lbsq
11:35:39 <blsqbot> Lebesque integral not available
11:39:42 <mroman> also
11:39:52 <mroman> there's a censored bar over a womans bikini on tv
11:40:04 <mroman> like I wouldn't see that all the time during summer but ok.
11:40:26 <mroman> english tv is doing it weird.
11:40:32 -!- oerjan has joined.
11:42:21 <shachaf> g'oerjan
11:42:34 <oerjan> h'achaf
11:45:02 <nooga> i''janachoeraf
11:45:56 <oerjan> ł'nooga
11:46:24 <blsqbot> 'ello everybudha
11:46:51 <nooga> Ü
11:47:17 <lambdabot> blsqbot: this channel ain't big enough for the two of us
11:49:08 -!- wareya has quit (Read error: Connection reset by peer).
11:49:41 <nooga> i tried to write a minecraft mod in clojure
11:49:44 <nooga> and failed
11:49:52 -!- wareya has joined.
11:49:56 <nooga> and then i tried the same with Mirah
11:50:45 <nooga> and failed because its compiler is bug ridden piece of crap
11:50:56 <elliott> iirc i wrote a minecraft mod in scala then gave up and used java
11:51:01 <elliott> by minecraft i mean bukkit
11:51:10 <nooga> i tried with forge
11:51:27 <blsqbot> didn't anyone fix this yet.
11:52:19 <nooga> basically you just build annotated class that initializes the mod and does whatever it likes with minecraft/forge api
11:52:23 <nooga> pack it in jar
11:52:33 <nooga> and FML should load the mod
11:58:20 <nooga> but mirah compiler crashes on imports from forge api and clojure generates weird class files
11:58:37 <nooga> and I don't know java platform enough to troubleshoot this
12:05:32 -!- Phantom_Hoover has joined.
12:12:06 <elliott> what do you call the category that has all the objects of another category C, but only identity arrows?
12:12:58 <shachaf> Discrete subcategory?
12:16:23 <elliott> ok, sure
12:16:28 <shachaf> I guess there are lots of discrete subcategories.
12:16:43 <shachaf> So maybe "maximal" or something.
12:16:57 <elliott> so equality (as in refl : a = a) in a language Foo is a functor in the maximal discrete subcategory of Foo
12:17:07 <elliott> that is instead of (a -> b) -> eq x a -> eq x b, you get
12:17:12 <elliott> eq a b -> eq x a -> eq x b
12:17:25 <elliott> because every arrow is (a -> a)
12:17:34 <elliott> and hence being given hom(A,B) proves A = B
12:19:10 <shachaf> An endofunctor?
12:19:13 <elliott> no
12:19:23 <elliott> Eq : MaxDisc(Foo) -> Foo
12:19:30 <shachaf> Ah.
12:19:31 <elliott> because you get (a `eq` b) -> (eq x a -> eq x b)
12:19:51 <elliott> in fact every type constructor F admits a functor MaxDisc(Foo) -> Foo
12:19:54 <shachaf> OK, sure.
12:19:55 <elliott> (a `eq` b) -> (F a -> F b)
12:20:04 <elliott> that's pretty interesting
12:20:27 -!- SimonRC has quit (Ping timeout: 260 seconds).
12:21:45 <elliott> if F is injective then you get MaxDisc(Foo) -> Foo
12:21:50 <elliott> (a `eq` b) -> (F a `eq` F b)
12:21:54 <elliott> (e.g. doesn't apply to Haskell TFs)
12:21:57 <elliott> er
12:22:00 <elliott> if F is injective then you get MaxDisc(Foo) -> Foo
12:22:04 <elliott> if F is injective then you get MaxDisc(Foo) -> MaxDisc(Foo)
12:23:34 <shachaf> Sounds reasonable.
12:24:05 <elliott> what other "weakened" functors can you get
12:24:12 <elliott> i.e. Something(Foo) -> Foo
12:24:18 <elliott> where Somethin only removes stuff
12:24:27 <elliott> (forgetful category!!!)
12:25:00 <shachaf> What do you get if you forget which arrow is which?
12:25:10 <shachaf> I.e. you have at most one arrow between objects.
12:25:47 <elliott> how do you pick which arrow?
12:25:53 <elliott> just arbitarily? seems like the choice might affect things
12:26:07 <shachaf> It doesn't matter.
12:26:12 <shachaf> Oh, you mean for the functor back.
12:27:33 <elliott> I didn't, but OK
12:27:40 <shachaf> Then what did you mean?
12:29:14 <elliott> I don't know
12:32:40 -!- Frooxius has joined.
12:32:48 -!- Frooxius has quit (Client Quit).
12:33:00 -!- Frooxius has joined.
12:51:32 <FreeFull> elliott: confunctor?
12:51:42 <FreeFull> cofunctor*
12:51:48 <FreeFull> Actually, wait
12:52:01 <FreeFull> Functors don't even have pure/return/whatever
12:52:12 <elliott> ?
12:52:17 * elliott is confused
12:52:53 <FreeFull> Your forgetful category
12:53:03 <FreeFull> Looks like a more general comonad
12:54:07 <shachaf> are you confused because you're trying to understand what FreeFull is saying
12:54:19 <FreeFull> I think so
12:54:27 <FreeFull> I tend to do that
12:55:48 -!- sebbu has quit (Ping timeout: 248 seconds).
12:57:14 <oerjan> FreeFull: forgetful/free functors are adjoint pairs, which give rise to _both_ a monad and a comonad, in the respective categories.
12:58:48 <oerjan> if you identify all arrows, you get a category equivalent (not quite isomorphic, since there might still be isomorphic non-equal objects) to a partial order.
12:58:53 <oerjan> elliott: ^
12:59:20 <oerjan> um
12:59:22 <oerjan> shachaf: ^
12:59:43 <shachaf> oerjan: Right.
12:59:54 <elliott> oerjan: do you have a good name for my thing?
13:00:04 <oerjan> which one
13:00:07 <shachaf> @google "largest discrete subcategory"
13:00:09 <lambdabot> http://planetmath.org/encyclopedia/EmptyFunctor.html
13:00:09 <lambdabot> Title: PlanetMath
13:00:15 <elliott> oerjan: same objects as another category, but only identity arrows
13:00:45 -!- carado has joined.
13:01:07 <oerjan> not anything official, no
13:02:00 -!- DHeadshot has joined.
13:02:51 <FreeFull> data Empty a = Empty
13:03:16 <FreeFull> instance Functor Empty where { fmap f a = a } right?
13:03:29 <FreeFull> Wait
13:03:36 <FreeFull> Probably should be f a on the other side too
13:03:49 <shachaf> make it fmap f a on both sides
13:03:51 <shachaf> just to be safe
13:04:45 <FreeFull> Mmm, bottommap
13:05:15 <FreeFull> shachaf: I'm just thinking that fmap bottom should always be bottom
13:05:24 <FreeFull> That might not be a law though
13:05:25 -!- sebbu has joined.
13:05:25 -!- sebbu has quit (Changing host).
13:05:25 -!- sebbu has joined.
13:06:10 -!- DHeadshot has quit (Ping timeout: 246 seconds).
13:06:55 -!- DHeadshot has joined.
13:07:06 <elliott> f a doesn't type, for one
13:07:19 <FreeFull> :t fmap
13:07:19 <shachaf> Nor does a.
13:07:20 <lambdabot> Functor f => (a -> b) -> f a -> f b
13:07:27 <shachaf> But fmap f a types!
13:07:29 <shachaf>
13:07:31 <shachaf> Er.
13:07:33 <shachaf>
13:07:41 <FreeFull> shachaf: bottom always types
13:07:49 <shachaf> Not true.
13:08:12 <FreeFull> Well, until a type is assigned to it
13:08:16 <elliott> what
13:08:44 <FreeFull> (let x = x in x) should be able to be put anywhere, right?
13:09:19 <elliott> modulo some edge-cases (rank-n/constraints), sure
13:09:33 <elliott> as long as the whole thing types.
13:09:48 <shachaf> If the whole thing doesn't type, at least the hole thing will type.
13:12:02 -!- Taneb has joined.
13:12:07 <FreeFull> What if the hole thing doesn't type? Will the ole thing type?
13:13:48 <shachaf> I don't know what OLE has to do with any of it.
13:14:46 <FreeFull> shachaf: Haskell used to be a microsoft research project
13:14:52 <FreeFull> OLE is from microsoft too
13:15:01 <oerjan> !blsq 1 2 3 4 {} c! #s
13:15:02 <blsqbot> {4 4 3 2 1}
13:15:32 <oerjan> !blsq 1 2 3 4 #s ^^
13:15:32 <blsqbot> {4 3 2 1}
13:15:35 <oerjan> oops
13:15:40 <oerjan> !blsq 1 2 3 4 #s ^^ .+
13:15:41 <blsqbot> {4 3 2 1 4 3 2 1}
13:16:03 <FreeFull> ^^ is dup?
13:16:11 <FreeFull> !blsq 3 3 ^^ +
13:16:11 <blsqbot> ERROR: (line 1, column 9):
13:16:12 <FreeFull> !blsq 3 3 ^^ .+
13:16:13 <blsqbot> 6
13:16:16 <FreeFull> Seems so
13:16:55 -!- Taneb has quit (Ping timeout: 260 seconds).
13:17:34 <oerjan> FreeFull: instance Functor Empty where { fmap f a = a `seq` Empty }
13:18:10 -!- sebbu has quit (Ping timeout: 256 seconds).
13:18:47 <FreeFull> So evaluate a and return Empty
13:19:06 <elliott> oerjan: ew.
13:19:07 <oerjan> because a may not be the type of the Empty you want out
13:19:16 <FreeFull> Oh, right
13:19:18 <shachaf> elliott: ?
13:19:20 <oerjan> elliott: ok, another possibility
13:19:22 <shachaf> Do you hate the Functor laws?
13:19:24 <FreeFull> And f wouldn't really apply either way
13:19:36 <oerjan> instance Functor Empty where { fmap f a = unsafeCoerce a }
13:19:49 <oerjan> elliott: better?
13:19:52 <elliott> yes
13:19:53 <shachaf> Much bettoerjan
13:20:14 <oerjan> (it should be entirely equivalent semantically, i think)
13:20:14 <shachaf> Except you should alpha-reduce it.
13:20:22 <oerjan> shachaf: oh right
13:20:33 <shachaf> oerjan: I like the part where you act like unsafeCoerce has semantics.
13:20:49 <oerjan> instance Functor Empty where { fmap = const unsafeCoerce } -- perfect?
13:22:03 <oerjan> shachaf: i think this is actually one of the listed intended uses of it, changing a phantom type
13:22:12 <shachaf> Maybe unsafeCoerce (flip const)
13:22:41 <oerjan> shachaf: ooh
13:23:25 <oerjan> FreeFull: i think we just jumped the shark but i'm not entirely sure where
13:23:47 <shachaf> jarked
13:24:52 <elliott> hopefully ghc is smart enough to not require unsafeCoerce here
13:25:01 <shachaf> ?
13:25:17 <FreeFull> oerjan: Probably when we started
13:25:18 <oerjan> elliott: fmap f a = a clearly doesn't type
13:25:32 <elliott> I mean vs. the seq version
13:25:39 <elliott> or just fmap f Empty = Empty
13:25:43 -!- sebbu has joined.
13:25:43 -!- sebbu has quit (Changing host).
13:25:43 -!- sebbu has joined.
13:25:45 <shachaf> elliott: Well...
13:25:54 <shachaf> In this case, maybe, but it's not so simple.
13:25:54 <elliott> don't ruin it.
13:25:57 <oerjan> elliott: well the seq version would allocate a new Empty
13:26:04 <elliott> i know for recursive stuff it's not so easy
13:26:04 <shachaf> oerjan: No it wouldn't. There's only one Empty.
13:26:32 <oerjan> shachaf: does ghc know that for different types?
13:27:25 <oerjan> <elliott> or just fmap f Empty = Empty <-- oh duh of course :P
13:27:36 <shachaf> Yes.
13:27:36 <elliott> well it can't "allocate a new empty" when it's just a constant pointer
13:27:37 <FreeFull> I was going to suggest that
13:27:41 <FreeFull> But you guys were going wild
13:28:07 <shachaf> However, consider data Blah a b c = Blah a b
13:28:19 <oerjan> elliott: oh hm right it's a polymorphic constant
13:28:21 <shachaf> reblah :: a b x -> a b y; reblah (Blah a b) = Blah a b
13:28:32 <shachaf> Here, GHC will allocate a new Blah.
13:29:00 <shachaf> (Note: Things like this come up in practice.)
13:29:30 <elliott> that reblah has an interesting type
13:29:43 <oerjan> was about to say
13:30:04 <shachaf> hi
13:30:40 <shachaf> I would've used something like Tagged but then elliott would have pedantically pointed out something about newtypes.
13:31:18 <oerjan> shachaf: i'm not sure we're referring to what you are referring to
13:31:28 <shachaf> oerjan: I noticed.
13:31:32 <shachaf> That was the "hi".
13:31:38 <oerjan> OKAY
13:31:40 -!- sebbu has quit (Ping timeout: 260 seconds).
13:31:40 <shachaf> I thought the discussion was done with.
13:31:48 <shachaf> What, you want me to correct it? Is that what you want, oerjan?
13:31:57 <shachaf> reblah :: Blah a b x -> Blah a b y; reblah (Blah a b) = Blah a b
13:32:03 <shachaf> Are you feeling happier now?
13:32:15 <oerjan> slightly
13:32:17 * shachaf vanishes in a puff of meaningless fury.
13:33:21 <shachaf> Hmm, oerjan, what do you think of my GHC extension?
13:33:38 <shachaf> http://hackage.haskell.org/trac/ghc/ticket/7633
13:34:41 <mroman> ^^ is dup.
13:34:46 <shachaf> ?
13:34:56 <oerjan> shachaf: that's so excellent i even remember thinking of something like that myself
13:35:06 <shachaf> So have I!
13:35:11 <shachaf> Several times, before I proposed it.
13:35:19 <shachaf> I've wanted it for a long time.
13:35:31 <shachaf> oerjan: Is it so excellent you feel like implementing it?
13:35:38 -!- sebbu has joined.
13:35:38 -!- sebbu has quit (Changing host).
13:35:38 -!- sebbu has joined.
13:35:52 <oerjan> very few things are _that_ excellent, shachaf
13:36:17 -!- DHeadshot has quit (Ping timeout: 246 seconds).
13:36:20 <oerjan> i take solace in the fact that there's no way in h* my laptop could compile ghc.
13:36:34 <shachaf> Really?
13:36:45 <shachaf> Compiling GHC is an old tradition.
13:37:27 <oerjan> let's put it like this: i had to disable the antivirus to get it through compiling lens.
13:37:49 <oerjan> or wait
13:38:04 <oerjan> i think it may have been cabal itself
13:38:13 <shachaf> Well, lens is a virus, so that makes perfect sense.
13:38:24 <oerjan> and then i just did it when compiling lens as well to make things easier.
13:41:53 -!- Taneb has joined.
13:43:55 -!- sebbu has quit (Ping timeout: 260 seconds).
13:43:55 <Vorpal> hi
13:44:02 <oerjan> oh no, Vorpal too
13:44:08 <Taneb> And Taneb!
13:44:12 <Taneb> Maybe
13:44:21 <oerjan> Taneb: you didn't say "hi". this time, anyway.
13:44:26 <Taneb> Oh
13:44:28 <Taneb> Okay
13:44:30 <Taneb> Not me
13:44:39 <oerjan> but it's good
13:44:45 <Vorpal> <oerjan> i take solace in the fact that there's no way in h* my laptop could compile ghc. <-- there are binary distributions?
13:44:47 <oerjan> that you didn't
13:45:06 <oerjan> Vorpal: the context was the idea of me modifying it
13:45:11 <Vorpal> ah
13:45:32 <Vorpal> oerjan, windows?
13:45:37 <oerjan> yes
13:45:45 <Vorpal> that explains a bit of it
13:45:56 <oerjan> windows XP with very little memory by today's standards
13:46:20 <Vorpal> ah
13:46:33 <Vorpal> do they still provide security fixes for XP?
13:46:38 <oerjan> yes
13:46:45 <Vorpal> weird
13:47:03 <Vorpal> so when are you going to switch from XP?
13:48:26 <oerjan> i dunno
13:49:47 <Taneb> I wonder if in a few years people will be okay with Windows 8
13:51:22 <Vorpal> Taneb, I think it will become another vista for desktops/laptops but might do okay on tablets
13:53:41 <Taneb> I SHALL BEAR THAT IN MIND
13:53:43 -!- Taneb has quit (Quit: Leaving).
13:53:49 -!- sebbu has joined.
13:53:49 -!- sebbu has quit (Changing host).
13:53:49 -!- sebbu has joined.
13:54:54 -!- oerjan has quit (Quit: leaving).
14:03:58 -!- doesthiswork has quit (Quit: Leaving.).
14:04:55 -!- sebbu has quit (Ping timeout: 260 seconds).
14:13:54 <Vorpal> I spent like 5 minutes trying to figure out why I couldn't copy a file to a FAT32 partition... It was because it had a : in the file name apparently.
14:17:50 <Vorpal> I'm currently being amazed by the fact that I can drag a directory from a thunar (xfce file manager) window into a program running under wine and have it work flawlessly
14:17:54 <Vorpal> wine has come a LONG way since I last used it
14:21:06 -!- sebbu has joined.
14:21:06 -!- sebbu has quit (Changing host).
14:21:06 -!- sebbu has joined.
14:23:25 -!- azaq23 has joined.
14:23:37 -!- azaq23 has quit (Max SendQ exceeded).
14:28:43 -!- ogrom has quit (Quit: Left).
14:40:32 -!- impomatic has quit (Ping timeout: 255 seconds).
14:44:39 -!- azaq23 has joined.
15:19:13 -!- glogbackup has quit (Remote host closed the connection).
15:33:04 -!- GOMADWarrior has joined.
15:35:20 -!- Taneb has joined.
15:45:45 <Sgeo_> A girl is trying to meet me in person so I can fix her computer issue, which boils down to her wanting to use a Windows program on her Mac.
15:45:54 -!- TeruFSX has joined.
15:46:14 <Sgeo_> I suggested trying the newer version of the software, which has a Mac version, but she would rather not do that unless she has "someone who knows what they're doing" by her side
15:46:15 <quintopia> you're such a nice guy
15:47:18 <Sgeo_> Honestly, I'm almost tempted to think that this is just an excuse to see me or something. But she has a fiancee, and she knows I have a girlfriend.
15:47:33 <quintopia> you think too much
15:55:10 -!- sebbu has quit (Ping timeout: 260 seconds).
15:58:42 -!- sebbu has joined.
16:07:42 -!- doesthiswork has joined.
16:16:05 -!- impomatic has joined.
16:17:16 <Vorpal> doesthiswork, no it doesn't
16:17:44 <Vorpal> (sorry if you heard that joke before a hundred times)
16:18:30 <Sgeo_> I think that joke's once been done in a subtle enough way that someone didn't get it
16:21:19 <Vorpal> okay
16:22:19 <mroman> What?
16:22:26 <mroman> I thought it meant doest his work
16:44:05 -!- copumpkin has quit (Ping timeout: 252 seconds).
16:44:37 -!- copumpkin has joined.
16:47:54 -!- TeruFSX has quit (Ping timeout: 256 seconds).
16:52:27 -!- TeruFSX has joined.
16:53:10 -!- TeruFSX has quit (Client Quit).
16:54:27 <kmc> Sgeo_: maybe she wants to have a threesome with you and her fiancee
16:55:03 <Taneb> So What has a similar theme to I Will Survive
17:04:39 -!- azaq23 has quit (Max SendQ exceeded).
17:04:54 <Phantom_Hoover> Taneb, eye of the tiger/
17:07:00 -!- azaq23 has joined.
17:37:47 <mroman> nooodl: How are things going? :D
17:40:23 -!- Bike has joined.
17:48:32 <mroman> Barenaked Lades are awesome.
17:48:35 <mroman> *Ladies
17:51:47 <Phantom_Hoover> barenaked ladles
17:54:08 -!- Slereah_ has joined.
17:54:28 -!- Slereah has quit (Ping timeout: 256 seconds).
17:55:20 -!- epicmonkey has quit (Ping timeout: 260 seconds).
18:00:03 -!- Taneb has quit (Quit: Leaving).
18:06:30 <Sgeo_> Home.
18:06:34 <Sgeo_> Did not have wild sex.
18:07:00 <Bike> :(
18:07:59 <Sgeo_> I manage to have inhibitions somehow even when dead tired. Girl repeatedly says that she owes me, is there anything she can do, etc. etc., and I manage to keep my inappropriate thoughts in my head
18:10:06 <Phantom_Hoover> maybe she
18:10:09 <Phantom_Hoover> wasn't talking about sex
18:10:54 <Sgeo_> Phantom_Hoover, that seems quite likely, and, as such, it was probably a good thing to keep my thoughts to myself.
18:11:18 <nooodl> alright it's burlesque time
18:11:21 <Bike> so uh
18:11:21 <Phantom_Hoover> that is also generally a good life tip
18:11:31 <Bike> good job not freaking out some chick??
18:13:34 -!- TeruFSX has joined.
18:14:53 <kmc> weird situation Sgeo_
18:15:32 <Sgeo_> kmc, not.. really? Profoundly computer illiterate girl needs help, I help her, she's grateful? Only thing weird is my mind
18:15:38 <kmc> i see
18:15:55 <kmc> i think most men attracted to women have these kinds of thoughts
18:16:19 <kmc> at least below a certain age
18:17:17 <Sgeo_> I think though that in the past (not this situation) I may have held inappropriate thoughts back and that was to a detriment?
18:17:22 <Sgeo_> Seems possible, anyway
18:17:45 <kmc> well that depends on whether they were really 'inappropriate' or not
18:17:59 <kmc> will your girlfriend be upset if you sleep with another woman
18:18:20 <Sgeo_> By "the past" I tend to be thinking of situations before I got together with my gf
18:19:33 -!- AnotherTest has joined.
18:19:49 <AnotherTest> hello - to do a taneb
18:21:44 <Sgeo_> What just came to mind was the time in 2011 when I was talking to a girl on webcam and she wanted to play a "game" that was just asking each other questions, said I could ask _anything_. And then eventually sexual questions were asked. And I _still_ was convinced that there was no way anything... "interesting" would happen.
18:22:25 <kmc> you didn't answer my question but,
18:22:36 <kmc> i think me trying to bring up discussion of monogamy might constitute trolling
18:22:47 <AnotherTest> why do you talk to girls on webcam, that just sounds wrong sorry
18:22:48 <Sgeo_> 2011 was before I got together with my gf
18:23:07 <Sgeo_> And my gf would be mad if I slept with another girl.
18:23:20 <AnotherTest> I assume
18:24:18 -!- md_5 has quit (Ping timeout: 276 seconds).
18:28:09 <nooodl> mroman: why does dupswap exist?
18:29:05 -!- md_5 has joined.
18:30:00 <kmc> wubwubwub
18:30:42 <mroman> nooodl: For completeness obviously.
18:31:49 <mroman> better to have it and not use it than to need it and not have it.
18:32:15 <AnotherTest> !blsq 25 {^^ ^^ 2 .% { 3 .* 1 .+ } \/ { 2 ./ } \/ ie} {1 != } w!
18:32:15 <blsqbot> Ain't nobody got time fo' dat!
18:32:21 <AnotherTest> :(
18:32:23 <mroman> In this case, never ever use it
18:32:27 <AnotherTest> !blsq 5 {^^ ^^ 2 .% { 3 .* 1 .+ } \/ { 2 ./ } \/ ie} {1 != } w!
18:32:27 <blsqbot> Ain't nobody got time fo' dat!
18:32:33 <mroman> AnotherTest: You got 100 Microseconds
18:32:39 <AnotherTest> oh :(
18:32:46 <AnotherTest> !blsq 2 {^^ ^^ 2 .% { 3 .* 1 .+ } \/ { 2 ./ } \/ ie} {1 != } w!
18:32:46 <blsqbot> Ain't nobody got time fo' dat!
18:33:00 <AnotherTest> mroman: division by 2 takes 100 microseconds?
18:33:12 <mroman> !blsq 10 2 ./
18:33:13 <blsqbot> 5
18:33:17 <mroman> ^- no
18:33:27 <AnotherTest> well, generating the collatz sequence for 2
18:33:33 <AnotherTest> !blsq 1 {^^ ^^ 2 .% { 3 .* 1 .+ } \/ { 2 ./ } \/ ie} {1 != } w!
18:33:33 <blsqbot> Ain't nobody got time fo' dat!
18:33:37 <AnotherTest> common
18:33:48 <nooodl> there's no comments, right?
18:33:59 <nooodl> i'll have to do something like "hello"vv?
18:34:03 <mroman> nooodl: Except "this is a comment"vv
18:34:12 <nooodl> right.
18:34:56 <AnotherTest> or { would this work } vv
18:35:03 <AnotherTest> !blsq { would this work } vv
18:35:04 <blsqbot> ERROR: (line 1, column 8):
18:35:09 <AnotherTest> oh no doesn't of course
18:35:23 <AnotherTest> !blsq { li ke th is }vv
18:35:24 <blsqbot> No output!
18:35:28 <mroman> !blsq {wouldthiswork}vv
18:35:29 <blsqbot> ERROR: (line 1, column 15):
18:35:32 <mroman> !blsq {wouldthiswork.}vv
18:35:33 <blsqbot> No output!
18:35:53 <AnotherTest> !blsq 2 {0 1}{^^++[+[-^^-]\/}30.*\[e!vv
18:35:53 <blsqbot> Ain't nobody got time fo' dat!
18:35:55 <AnotherTest> pff
18:36:09 <mroman> !blsq {^^ ^^ 2 .% { 3 .* 1 .+ } \/ { 2 ./ } \/ ie} {1 != }
18:36:10 <blsqbot> {1 !=}
18:36:17 <mroman> !blsq 1 {^^ ^^ 2 .% { 3 .* 1 .+ } \/ { 2 ./ } \/ ie} {1 != }
18:36:18 <blsqbot> {1 !=}
18:36:22 <AnotherTest> !blsq 4 ^^{\/^^.+\/1.-}{}w!vv
18:36:23 <blsqbot> 64
18:36:24 <mroman> !blsq 1 {^^ ^^ 2 .% { 3 .* 1 .+ } \/ { 2 ./ } \/ ie} {1 != } e!
18:36:25 <blsqbot> 1
18:36:25 <AnotherTest> what?
18:36:29 <mroman> !blsq 1 {^^ ^^ 2 .% { 3 .* 1 .+ } \/ { 2 ./ } \/ ie} {1 != } w!
18:36:29 <blsqbot> 1
18:36:39 <mroman> !blsq 2 {^^ ^^ 2 .% { 3 .* 1 .+ } \/ { 2 ./ } \/ ie} {1 != } w!
18:36:40 <blsqbot> 1
18:36:42 <AnotherTest> oh wait, that's ok
18:36:47 <mroman> !blsq 10 {^^ ^^ 2 .% { 3 .* 1 .+ } \/ { 2 ./ } \/ ie} {1 != } w!
18:36:48 <blsqbot> 1
18:36:53 <AnotherTest> 5 {0\/1.-}{1.-}w!vv
18:37:01 <AnotherTest> !blsq 5 {0\/1.-}{1.-}w!vv
18:37:01 <blsqbot> 0
18:37:07 <AnotherTest> mroman: that borke
18:37:11 <AnotherTest> *broke
18:37:17 <AnotherTest> It should output 4 zeroes on the stack
18:37:30 <mroman> blsqbot does not print the whole stack
18:37:33 <mroman> just the top
18:39:01 <AnotherTest> oh
18:39:11 <AnotherTest> ok how do I make a string of all stack elements?
18:39:23 <mroman> nooodl: No. DupSwap is just there because of copy & paste ;)
18:39:30 <mroman> AnotherTest: #s
18:39:34 <mroman> !blsq 1 2 3 4#s
18:39:35 <blsqbot> {4 3 2 1}
18:40:00 <mroman> !blsq 1 2 3 4#s)Sh
18:40:00 <blsqbot> {"4" "3" "2" "1"}
18:40:04 <mroman> !blsq 1 2 3 4#s)Shwd
18:40:05 <blsqbot> "4 3 2 1"
18:40:39 <AnotherTest> great
18:40:51 <AnotherTest> !blsq 5 {0\/1.-}{1.-}w!vv #s
18:40:51 <blsqbot> {0 0 0 0}
18:40:53 <AnotherTest> nice
18:41:03 <AnotherTest> !blsq 100 {0\/1.-}{1.-}w!vv #s
18:41:03 <blsqbot> {0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18:41:11 <AnotherTest> !blsq 1000 {0\/1.-}{1.-}w!vv #s
18:41:11 <blsqbot> Ain't nobody got time fo' dat!
18:41:19 <AnotherTest> !blsq 100000000000000 {0\/1.-}{1.-}w!vv #s
18:41:19 <blsqbot> Ain't nobody got time fo' dat!
18:41:22 <AnotherTest> :(
18:41:32 <AnotherTest> !blsq 500 {0\/1.-}{1.-}w!vv #s
18:41:32 <blsqbot> Ain't nobody got time fo' dat!
18:41:43 <blsqbot> Ain't nobody got time fo' dat!
18:42:07 <mroman> Execution time is limited to 0.1milliseconds
18:42:55 <blsqbot> {0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18:43:05 <AnotherTest> make burlesque faster then :p
18:43:09 <mroman> and yes, that currently does not work @privmsg
18:43:16 <AnotherTest> !blsq 300 {0\/1.-}{1.-}w!vv #s
18:43:17 <blsqbot> {0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18:43:19 <mroman> It somehow always prints to the current channel
18:44:00 <AnotherTest> !blsq { 0 0 } { 5 6 }ps\[
18:44:00 <blsqbot> {ERROR: Burlesque: (_+) Invalid arguments!}
18:44:17 <AnotherTest> oh wait
18:44:28 <AnotherTest> !blsq { 0 0 } { 5 6 }\[
18:44:28 <blsqbot> {5 6}
18:44:29 <mroman> you can't parse a block
18:44:44 <AnotherTest> !blsq { 1 2 3 } { 5 6 }\[
18:44:44 <blsqbot> {5 6}
18:45:29 <mroman> Maybe you're looking for _+
18:45:35 <mroman> !blsq {1 2 3}{5 6}_+
18:45:36 <blsqbot> {1 2 3 5 6}
18:45:38 <AnotherTest> I suck at burlesque, it's official :(
18:46:11 <AnotherTest> !blsq "Hello, world" " ";;
18:46:11 <blsqbot> {"Hello," "world"}
18:46:17 <AnotherTest> cool
18:46:55 <AnotherTest> !blsq "Hello, world" ",";;
18:46:56 <blsqbot> {"Hello" " world"}
18:47:04 <AnotherTest> mroman: that's a cool command
18:47:21 <AnotherTest> !blsq -5 sn
18:47:21 <blsqbot> -1
18:47:28 <mroman> It's split
18:47:33 <AnotherTest> Yeah, I know
18:47:38 <AnotherTest> It's nice to have that build in
18:47:40 <mroman> It's a simple split function
18:47:58 <AnotherTest> !blsq "Hello, world" "hello";;
18:47:59 <blsqbot> {"Hello, world"}
18:48:11 <AnotherTest> even C++ doesn't have split built-in :p!
18:48:48 <AnotherTest> !blsq "What does this do exactly" "w" [S
18:48:49 <blsqbot> ERROR: Burlesque: ([S) Invalid arguments!
18:48:50 <mroman> strtok?
18:48:57 <AnotherTest> that's not build in
18:49:04 <AnotherTest> !blsq "What does this do exactly" 'w' [S
18:49:04 <blsqbot> ERROR: Burlesque: ([S) Invalid arguments!
18:49:15 <AnotherTest> It says Str a, Char b
18:49:21 <mroman> Yeah.
18:49:29 <mroman> and you feed it two chars
18:49:30 <AnotherTest> how is 'w' not a char
18:49:31 <mroman> a w and a space
18:49:37 <mroman> 'w' is not a achr
18:49:39 <mroman> *char
18:49:44 <mroman> 'w' is w and a space
18:49:46 <mroman> 'w is a w
18:49:51 <AnotherTest> !blsq "What does this do exactly" w [S
18:49:52 <blsqbot> ERROR: (line 1, column 30):
18:49:58 <AnotherTest> I don't get that
18:50:08 <mroman> !blsq "www.google.com" 'w [S
18:50:08 <AnotherTest> !blsq "What does this do exactly" 'w [S
18:50:08 <blsqbot> "What does this do exactly"
18:50:08 <blsqbot> "www.google.com"
18:50:16 <mroman> !blsq "www.google.com" 'w S[
18:50:17 <blsqbot> ".google.com"
18:50:22 <AnotherTest> blsq "What does this do exactly" 'W [S
18:50:26 <mroman> ^- a char is ' followed by something else
18:50:31 <AnotherTest> !blsq "What does this do exactly" 'W [S
18:50:31 <blsqbot> "What does this do exactly"
18:50:42 <mroman> also [S strips on the right side
18:50:49 <AnotherTest> ah
18:50:51 <mroman> you want to strip on the left side of the string
18:50:59 <AnotherTest> !blsq "What does this do exactly WWW" 'W [S
18:50:59 <blsqbot> "What does this do exactly "
18:51:18 <nooodl> !blsq 0bc5.+bc5.+{2 2}{1 0} {#s^p\/d!^^x/\/ {{-1.*}m[}if g_-1.*_+ #s{1 3 4 0 3 0}si#S n!D!x/x/{++}Z[x/}10E!vvvv^p
18:51:18 <blsqbot> Ain't nobody got time fo' dat!
18:51:23 <nooodl> whoops
18:51:39 <AnotherTest> !blsq 5546 46 !~
18:51:39 <blsqbot> 1
18:51:47 <nooodl> oh well. bc5.+bc5.+ {2 2} are the size/start pos, 10E! is the number of generations
18:51:47 <AnotherTest> blsq is nice
18:52:15 <nooodl> #s{1 3 4 0 3 0}si#S <- this is nice for stack manipulation :)
18:52:41 <AnotherTest> !blsq "hello" "world" z[
18:52:41 <blsqbot> {{'h 'w} {'e 'o} {'l 'r} {'l 'l} {'o 'd}}
18:52:57 <AnotherTest> !blsq "hello" "world" z[ #S
18:52:57 <blsqbot> {'h 'w}
18:52:57 <nooodl> is {'h 'w} different from "hw", mroman?
18:54:18 <nooodl> !blsq 1 2 3 4 5 #s^p#s
18:54:18 <blsqbot> {1 2 3 4 5 5 4 3 2 1}
18:54:56 <AnotherTest> !blsq "hello, world" '. [[
18:54:56 <blsqbot> ERROR: Burlesque: ([[) Invalid arguments!
18:55:02 <mroman> nooodl: Yes.
18:55:07 <AnotherTest> !blsq "hello, world" 'h [[
18:55:07 <blsqbot> ERROR: Burlesque: ([[) Invalid arguments!
18:55:11 <AnotherTest> huh?
18:55:16 <mroman> "hw" is a string and {'h 'w} is a block containing two characters
18:55:44 <AnotherTest> Why doesn't this work: !blsq "hello, world" 'h [[
18:55:47 <nooodl> !blsq "hello, world" 'h \/ [[
18:55:47 <blsqbot> "hhehlhlhoh,h hwhohrhlhd"
18:55:51 <nooodl> flip the args
18:56:02 <AnotherTest> why? it says:
18:56:05 <AnotherTest> "String a, Char b"
18:56:24 <mroman> no
18:56:25 <nooodl> http://mroman.ch/burlesque/lref.html says Char a,String b
18:56:28 <mroman> [[ says Char a, String b
18:56:36 <AnotherTest> oh
18:56:40 <AnotherTest> http://mroman.ch/burlesque/cookbook/lref.html
18:56:43 <AnotherTest> that doesn't
18:56:48 <mroman> hu?
18:57:06 <mroman> is there a link to cookbook/lref.html somewhere?
18:57:09 <mroman> because that'd be wrong.
18:57:57 <AnotherTest> in my browser history it appears
18:58:38 <AnotherTest> !blsq "does ps give errors?" ps
18:58:39 <blsqbot> {ERROR: (line 1, column 21):
18:58:44 <AnotherTest> Oh it does?
18:58:56 <mroman> Yeah.
18:59:18 <AnotherTest> !blsq "" ps
18:59:18 <blsqbot> {}
18:59:34 <nooodl> oh man. too bad there isn't a "print" command
18:59:50 <nooodl> there's no way to make this print multiple generations without rewriting all of it
19:00:07 <AnotherTest> !blsq {5 6 7 5 12 23 456} mp
19:00:07 <blsqbot> ERROR: Burlesque: (pd) Invalid arguments!
19:00:23 <nooodl> because it relies on #s
19:00:44 -!- Taneb has joined.
19:00:53 <nooodl> !blsq {5 6 7 5 12 23 456} pd
19:00:53 <blsqbot> 132148800
19:01:17 <AnotherTest> !blsq "hello Taneb" "^.+$"~=
19:01:18 <blsqbot> 1
19:01:23 <Taneb> yay
19:01:29 <Taneb> I feel awful
19:01:38 <AnotherTest> for being matched by a regex?
19:01:50 <mroman> nooodl: You could run it in a continution or eval
19:01:53 <AnotherTest> !blsq "hello Taneb" "Taneb"~=
19:01:54 <blsqbot> 1
19:01:59 <Taneb> No, just in general
19:02:04 <mroman> that might work
19:02:06 <nooodl> ooh, how does c! work
19:02:22 <mroman> c! evals the block on a copy of the current stack
19:02:35 <mroman> and pop one element from that after evaluation and returns it
19:02:39 <mroman> !blsq 5 5 .+
19:02:40 <blsqbot> 10
19:02:41 <nooodl> that's perfect
19:02:47 <mroman> !blsq 5 5 {.+}c!
19:02:48 <blsqbot> 10
19:02:52 <mroman> !blsq 5 5 {.+}c!#s
19:02:52 <blsqbot> {10 5 5}
19:03:03 <nooodl> wow
19:03:04 <mroman> ^- the fives are not destroyed because c! works on a copy
19:03:09 <nooodl> that would've made a lot of this code a lot easier
19:03:27 <nooodl> oh well, i'm not going to rewrite it all... yet
19:03:46 <mroman> I'm currently running it for 12000 steps :)
19:04:30 <AnotherTest> !blsq "hello taneb, hello mroman" "hello (\w+)"
19:04:30 <blsqbot> "hello (\\w+)"
19:04:37 <AnotherTest> oops
19:04:41 <AnotherTest> !blsq "hello taneb, hello mroman" "hello (\w+)" =~
19:04:41 <blsqbot> {"taneb"}
19:04:57 <AnotherTest> !blsq "hello taneb, hello mroman" "(hello (\w+))*" =~
19:04:57 <blsqbot> {"hello taneb" "taneb"}
19:05:14 <mroman> http://codepad.org/nJKmRiJ3 <- output
19:05:23 <AnotherTest> !blsq "hello taneb, hello mroman" "(hello (\w+),)*" =~
19:05:23 <blsqbot> {"hello taneb," "taneb"}
19:05:36 <nooodl> nice
19:05:42 <nooodl> how would you convert it to a string like
19:05:42 <AnotherTest> !blsq "hello taneb, hello mroman" "(hello (\w+)\,\s*)*" =~
19:05:42 <blsqbot> {"hello taneb, " "taneb"}
19:05:42 <nooodl> ...
19:05:43 <nooodl> .#.
19:05:44 <nooodl> .##
19:05:45 <nooodl> etc
19:06:14 <nooodl> i was stuck on this for a while yesterday, even though my solution itself didn't work yet
19:06:18 <FreeFull> !blsq 3 3 #s
19:06:18 <blsqbot> {3 3}
19:06:19 <mroman> !blsq 1{'.'#}ch
19:06:19 <blsqbot> '.
19:06:20 <AnotherTest> !blsq "hello taneb hello mroman" "(hello (\w+)\s*)*" =~
19:06:20 <blsqbot> {"hello mroman" "mroman"}
19:06:25 <mroman> !blsq 0{'.'#}ch
19:06:25 <blsqbot> '#
19:06:41 <mroman> nooodl: Map {'.'#}ch over it
19:06:56 <mroman> then i'd put everything into a list
19:07:11 <AnotherTest> !blsq { {1 0} {0 1} } { {1 0} {0 1} } mm
19:07:11 <blsqbot> {{1 0} {0 1}}
19:07:17 <mroman> Replace p^ with sp
19:07:23 <AnotherTest> burlesque has matrices?
19:07:26 <mroman> !blsq {{1 0 0}{0 1 0}}sp
19:07:26 <blsqbot> 1 0 0
19:07:32 <mroman> !blsq {{1 0 0}{0 1 0}}SP
19:07:33 <blsqbot> "1 0 0\n0 1 0"
19:07:40 <AnotherTest> do you have a det command yet?
19:07:52 <mroman> ^- SP converts two dimensional blocks to a string
19:07:59 <mroman> (sp is SPsh)
19:08:06 <mroman> AnotherTest: nope @det
19:08:06 <nooodl> !blsq { {1 0} {0 1} } { {1 0} {0 1} } {{{'.'#}ch}m[}m[SP
19:08:06 <blsqbot> ". #\n# ."
19:08:13 <AnotherTest> !blsq { {1 0} {0 1} } { {2 2} {2 3} } mm
19:08:14 <blsqbot> {{2 2} {2 3}}
19:08:45 <mroman> !blsq {0 0 0 1}{{'#'.}ch}m[
19:08:45 <blsqbot> {'. '. '. '#}
19:08:50 <mroman> !blsq {0 0 0 1}{{'#'.}ch}\m
19:08:51 <blsqbot> "...#"
19:08:57 <mroman> ^- that should do it.
19:09:25 <mroman> !! would work too
19:09:41 <mroman> !blsq {0 0 0 1}{".#"\/!!}\m
19:09:42 <blsqbot> "...#"
19:10:06 <mroman> AnotherTest: It has transpose and matrix multiplication though
19:10:32 <AnotherTest> mroman: conventient element access would be nice
19:10:40 <AnotherTest> *convenient
19:10:47 <nooodl> d!
19:10:51 <nooodl> does that
19:11:11 <nooodl> anyway, {{{'#'.}ch}\m}m[uN seems to work well
19:11:23 <mroman> !blsq "Hello World"wd{1 1}d!
19:11:23 <blsqbot> 'o
19:11:30 <mroman> AnotherTest: ^-
19:11:39 <nooodl> http://codepad.org/FeILiAKL
19:12:09 <AnotherTest> !blsq { {1 0} {0 1} } 1 d!
19:12:09 <blsqbot> ERROR: Burlesque: (e!) Invalid arguments!
19:12:24 <mroman> d! is for multi-dimensional
19:12:28 <mroman> so it requires a list
19:12:33 <AnotherTest> like so?:
19:12:39 <AnotherTest> !blsq { {1 0} {0 1} } {1 1} d!
19:12:39 <blsqbot> 1
19:12:41 <mroman> foobar[0][0][1] would be {0 0 1}d!
19:12:43 <AnotherTest> oh nice
19:13:06 <AnotherTest> well that allows you to calculate the determinant I guess
19:15:03 <AnotherTest> !blsq { {1 0} {0 1} } <-
19:15:03 <blsqbot> {{0 1} {1 0}}
19:16:16 <mroman> nooodl: Now run it for 12000 steps
19:16:24 <mroman> it'll take three minutes or so :)
19:16:54 <AnotherTest> !blsq { {1 0} {0 1} } ^^ tp mm
19:16:54 <blsqbot> {{1 0} {0 1}}
19:16:58 <nooodl> yeah, it's pretty slow
19:17:46 <AnotherTest> !blsq { 'a 'b} 'c im
19:17:47 <blsqbot> ERROR: Burlesque: (r[) Invalid arguments!
19:18:07 <AnotherTest> oh blocks
19:18:18 <AnotherTest> !blsq { 'a 'b} { 'c } im
19:18:18 <blsqbot> 'c
19:18:30 <AnotherTest> !blsq { 'a 'b} { 'c 'd } im
19:18:31 <blsqbot> ERROR: Burlesque: (++) Invalid arguments!
19:18:37 <AnotherTest> !blsq { 'a} { 'c 'd } im
19:18:37 <blsqbot> ERROR: Burlesque: (++) Invalid arguments!
19:28:08 -!- DHeadshot has joined.
19:32:41 -!- KingOfKarlsruhe has joined.
19:38:17 -!- ogrom has joined.
19:39:56 -!- oerjan has joined.
19:44:13 <FreeFull> Oh, I didn't know GHC used C--
19:44:29 <Bike> it's what C-- was for, isn't it
19:44:32 <oerjan> just about the only thing which does, isn't it
19:44:50 <kmc> yeah
19:44:59 <kmc> i think the GHC team invented C-- and then failed to get others to use it
19:45:17 <kmc> also I think it's more correct to say that GHC uses "Cmm" which is a variant of the published documented C--
19:45:21 <oerjan> if it had been today, perhaps they would have just used LLVM directly
19:45:38 <kmc> but I think GHC may be the only actively developed tool that can compile any flavor of C--
19:45:43 <kmc> yes
19:46:17 <oerjan> i guess they are versions of the same idea?
19:46:18 <kmc> C-- and LLVM have different syntactic styles and somewhat different goals, but probably they would have used LLVM today
19:46:51 <Vorpal> is ghc still using C--?
19:46:54 <kmc> yes
19:47:01 <Vorpal> also doesn't ghc have an llvm backend nowdays?
19:47:03 <kmc> yes
19:47:05 <oerjan> ah this time my laptop updated lens successfully
19:47:15 <kmc> it compiles C-- to LLVM
19:47:20 <Vorpal> haha
19:47:24 <kmc> or "Cmm" to LLVM
19:47:35 <kmc> part of the RTS is written in Cmm
19:47:48 <Fiora> I wonder why C++ searches fine on google but C-- doesn't work
19:47:55 <Fiora> I wonder if they hardcoded it?
19:48:22 <ion> Either they have hardcoded it or their machine learning has seen ”C++” as a ”word” on enough pages.
19:48:42 <Fiora> (c minus minus works)
19:49:27 <kmc> one of the goals of C-- is that, without making garbage collection part of the language, you add the right hooks such that one could develop a garbage collector for C--
19:49:53 -!- epicmonkey has joined.
19:49:57 <kmc> er, develop a GC for language implementations targetting C--, which is independent of the details of those implementations
19:50:04 <kmc> and same for other language features like exceptions
19:50:04 <Vorpal> kmc, which sounds like something LLVM allows for too iirc
19:50:08 <kmc> i don't know if LLVM has that
19:50:10 <kmc> ok
19:50:28 <kmc> i don't know how realistic this goal is anyway
19:50:42 <kmc> good GCs tend to be tuned for the specific language
19:50:50 <Vorpal> true
19:51:07 <kmc> e.g. GHC's GC has to deal with a ton of mutation in the form of thunks getting evaluated, but less mutation of arrays than you might have in another language
19:51:40 <FreeFull> kmc: I saw some code written directly in C-- before
19:51:40 <Vorpal> kmc, well what about .NET? It is not tuned to a specific language, just to the general byte code, and it doesn't care if that byte code comes from C# or VB.NET
19:51:42 <FreeFull> For KolibriOS
19:51:43 <Vorpal> or F#
19:52:12 <kmc> FreeFull: huh
19:52:15 <kmc> and what do they compile it with
19:52:23 <kmc> Vorpal: yeah, I don't know
19:52:31 <FreeFull> I forget
19:52:46 <Vorpal> night
19:53:08 <FreeFull> http://www.cminusminus.org/ has an interpreter and compiler
19:53:27 <FreeFull> Doesn't seem to have been updated since 2008 though
19:53:36 <Bike> i'd guess that the CLR GC is suboptimal for languages that aren't so much like C# or VB
19:54:17 <kmc> also F# is not that different from C# operationally, is it?
19:54:45 <FreeFull> I hear it's more functional
19:55:36 <kmc> not what i meant
19:55:57 <kmc> i'm talking about whether the heap behaves differently at runtime
19:56:08 <kmc> i would guess that it's not too different
19:56:23 <KingOfKarlsruhe> http://websvn.kolibrios.org/listing.php?repname=Kolibri+OS&path=%2Fprograms%2Fcmm%2F&#abf1c4e809912c8e0dc9c47ab4528b257
19:58:21 -!- monqy has joined.
19:59:04 <kmc> cool
20:02:01 <FreeFull> kmc: It's all .net underneath
20:02:33 <kmc> i know
20:05:54 <kmc> it all compiles to CLI bytecode, but different languages will produce different patterns of heap access, which makes it difficult to write an efficient garbage collector for all of them at once
20:06:08 <kmc> however I'm speculating that the heap access patterns of C# are a lot closer to F# than, say, Haskell
20:06:29 <kmc> i also don't know all that much about GC or how much this is a problem
20:09:32 <Bike> reminds me of discussions on how to integrate GC with an operating system, can each process have its own, can you not have memory protection, bla bla bla
20:09:54 <Fiora> I remember reading a thing about some proposed OSs with that
20:10:08 <Fiora> I think the idea was that everything was managed, and the kernel owned all the memory
20:10:14 <Bike> of course you could do like Singularity and just make everything CLR
20:10:17 <Fiora> and memory protection is just enforced by the VM
20:10:19 <Fiora> ... yeah, like that
20:10:40 <Bike> but i was thinking of speculation about each process being able to have its own things specified
20:10:56 <Bike> so a compiled haskell process could have a different GC from a JVM
20:10:57 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.90 [Firefox 19.0/20130215130331]).
20:11:04 <Bike> or something like that.
20:11:08 <Fiora> maybe they could have different GCs, but written in the same language?
20:11:12 <Fiora> so you could load your own custom GC
20:11:21 <Fiora> like, the kernel provides hooks to allow the GC to perform operations
20:11:28 <Fiora> and you can writre a custom GC using those hooks
20:11:52 <Taneb> Hang on
20:11:56 <Taneb> Hang on hang on hang on
20:11:58 <Taneb> Hang on
20:12:00 <Taneb> Fiora's back
20:12:13 <Bike> Yes, and the heavens cried out in joy.
20:12:21 <Fiora> um. bike kinda dragged me a bit
20:12:25 * kmc hangs on
20:12:26 <Bike> did not!
20:12:32 <Taneb> Fiora's back... IS ON FIRE
20:12:32 <Fiora> you sorta did!
20:12:40 <Fiora> eeeeep
20:12:53 * Fiora puts it out with a blanket
20:12:54 <Bike> Fiora: Well the problem was that part of the idea of something like that is that you can hopefully avoid memory protection if C-style operations aren't available
20:13:01 <Bike> but if every process can do its own thing you don't have that
20:13:28 <Fiora> would there be something that bad about using a common intermediate language that's secure?
20:13:38 <Fiora> like, even something like google native code
20:13:55 <Fiora> I guess that'd get really tricky when you need to write a process that can implement a jit or something... >_<
20:13:59 <Bike> I don't think anybody in this conversation had heard of NaCL if it even existed at the time `-`
20:15:20 <Bike> maybe i should read those eros papers to see how capabilities-based stuff goes
20:16:00 <Bike> i'm kind of irrationally skeptical of "write everything in a managed language" because relying on compilers to generate safe code seems like a bad plan, and that's what Oberon did
20:16:53 <Fiora> google native code almost seems safer than managed code on some level but I don't know if it's 'powerful enough' to do everything
20:17:20 <Bike> how's it lack power?
20:17:43 <Bike> hm actually was NaCL able to check for memory accesses only being in a certain range
20:17:44 <Fiora> like, I'm not sure you could write a JIT or VM in it
20:17:47 <Bike> that's probably not even possible...
20:18:02 <Fiora> I think it used memory segmentation or something
20:18:13 <olsner> hmm, cellular automata in the hyperbolic plane can supposedly solve NP-complete problems in polynomial time
20:18:18 <Bike> the idea is to not have segmentation i guess
20:18:19 -!- ogrom has quit (Quit: Left).
20:18:23 <Bike> olsner: continuous automata?
20:18:44 <Fiora> I'd have to go check the paper again >_<
20:18:48 <olsner> no, it does say cellular auotmata
20:18:57 <Bike> i mean, continuous cellular automata
20:19:10 <olsner> (paper: http://t.co/RToPTfuEKH)
20:21:48 -!- DHeadshot has quit (Ping timeout: 264 seconds).
20:22:47 <kmc> in truth, the language independent runtime of the future is an entire linux install and virtualized x86 chip
20:22:52 <kmc> because the future is dumb
20:23:12 <Bike> heh.
20:23:52 <Bike> the linux, of course, is written in dalvik bytecode
20:24:33 <Fiora> which runs in an ARM emulator
20:24:46 <olsner> that and/or sandboxing that skips the full virtualization part when possible
20:25:07 <Fiora> then there's the VM escape exploits though >_<
20:27:40 <olsner> hmm, "The USS Voyager (NCC-74656) *was* an Intrepid-class Federation starship launched in 2371" ...
20:28:47 <olsner> I kind of like the idea of memory-alpha being served from the future though
20:31:14 <oerjan> !blsq 13 2 bs
20:31:14 <blsqbot> ERROR: Unknown command: (bs)!
20:31:37 -!- ais523 has joined.
20:31:57 -!- Arc_Koen has joined.
20:33:56 -!- Arc_Koen has quit (Client Quit).
20:34:14 -!- Arc_Koen has joined.
20:35:56 -!- SirCmpwn has quit (Read error: Operation timed out).
20:36:31 <oerjan> mroman: your language reference seems to contain many cases of () being used instead of {} ?
20:38:37 <oerjan> !blsq 1MO
20:38:37 <blsqbot> ERROR: Unknown command: (MO)!
20:38:44 <oerjan> !blsq 1mo
20:38:44 <blsqbot> Ain't nobody got time fo' dat!
20:40:47 <mroman> oerjan: ?
20:41:15 <mroman> !blsq 5 5 .+
20:41:16 <blsqbot> 10
20:41:21 <mroman> !blsq 5 5 (.+)
20:41:21 <blsqbot> .+
20:41:22 <oerjan> example: MapDup [m Defined as (^^)+]m[
20:41:29 <mroman> Yeah.
20:41:43 <mroman> !blsq {+.}to
20:41:44 <blsqbot> "Block"
20:41:49 <mroman> ^- that's a block
20:41:52 <mroman> !blsq (+.)to
20:41:53 <blsqbot> "Ident"
20:41:57 <mroman> ^- that's not a block
20:42:11 <mroman> To push an identifier to the stack ( ) is used.
20:42:19 <nooodl> !blsq {+.} (^^) +]
20:42:19 <blsqbot> {^^ +.}
20:42:54 <oerjan> oh
20:43:02 <oerjan> so it's for putting them inside blocks
20:43:09 <oerjan> with +] or the like
20:43:17 <mroman> Yep.
20:43:21 <mroman> also
20:43:26 <nooodl> yeah, i don't think they're useful outside of blocks
20:43:27 <mroman> !blsq ((.+))to
20:43:27 <blsqbot> "Quoted"
20:43:32 <nooodl> maybe e! should execute an Ident
20:44:22 <mroman> !blsq {+.}-]
20:44:23 <blsqbot> +.
20:44:26 <mroman> !blsq {+.}-]to
20:44:26 <blsqbot> "Ident"
20:44:30 -!- gs2bot has joined.
20:44:42 <nooodl> i haven't showed this language off in #esoteric thoroughly yet: https://dl.dropbox.com/u/15495351/gs2/gs2.htm
20:44:54 <mroman> It's just a short way to push an identifier to the stack
20:45:25 <mroman> !blsq {mu}p^
20:45:25 <oerjan> !blsq "abcd"n!
20:45:25 <blsqbot> 'd
20:45:25 <AnotherTest> !blsq "bye!"
20:45:25 <blsqbot> mu
20:45:26 <blsqbot> "bye!"
20:45:29 -!- AnotherTest has left.
20:45:30 <nooodl> iiiiiit's also broken.
20:45:32 <oerjan> !blsq "abcda"n!
20:45:32 <blsqbot> 'a
20:45:37 <oerjan> !blsq "abacd"n!
20:45:37 <blsqbot> 'a
20:45:38 <monqy> nooodl: i havent read yr spec yet but have you ever heard of "flogscript"
20:45:39 <nooodl> !gs2 "2 2+"
20:45:39 <gs2bot> ""
20:45:44 <nooodl> ye
20:45:49 <monqy> do you know flogscript
20:45:57 <nooodl> very little
20:46:05 <nooodl> zzo hasn't written any docs and it's really really weird
20:46:10 -!- SirCmpwn has joined.
20:46:13 <monqy> ther'es "docs"
20:46:16 <nooodl> ??
20:46:31 <mroman> n! returns the element that appears the most often in a block/str
20:46:43 <nooodl> the only "docs" i know of are http://d.hatena.ne.jp/milieu/20100813
20:47:29 <Bike> "No documentation yet, read the examples and source code to try to figure it out." cool
20:48:13 <monqy> nooodl: theres http://esolangs.org/wiki/FlogScript which has some example programs to revers-eengineer, http://esolangs.org/wiki/Talk:FlogScript which “explains„ a program, and http://zzo38computer.org/esoteric/FlogScript/FlogScript.php.txt the “definitive ‘doc‚„
20:48:30 <Taneb> Hmm
20:48:42 <Taneb> Thanks to Homestuck, I've actually heard of Dante Basco
20:48:48 <nooodl> uuuuugh why is gs2bot broken
20:49:03 <Taneb> `list
20:49:06 <monqy> is the irc part broken or the gs2 part
20:49:06 <Taneb> THAT IS NOT A LIST
20:49:07 <HackEgo> cuttlefish boily elliott Taneb HackEgo Sgeo monqy pikhq Sgeo_ tswett Phantom_Hoover nortti oklopol
20:49:10 <Taneb> UNDO
20:49:11 <Taneb> SORRY
20:49:12 <Taneb> SORRY
20:49:25 * Fiora patpats Taneb
20:49:26 <nooodl> the gs2 part
20:49:39 <Taneb> Fiora, `list now lists people who've used `list
20:50:01 <Bike> `revert
20:50:02 <nooodl> nice command
20:50:03 <HackEgo> Done.
20:50:09 <Taneb> It's possible to kill HackEgo with it
20:50:39 <Bike> `run cat $(which list)
20:50:41 <HackEgo> ​#!/bin/sh \ oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*<//; s/>.*//; s/.*\* //; s/ .*//"); cd $oldpwd; fgrep -q "$name" bin/list || echo -n "$name " >> bin/list; echo cuttlefish boily elliott Taneb HackEgo Sgeo monqy pikhq Sgeo_ tswett Phantom_Hoover nortti oklopol
20:50:50 <Bike> undo successful
20:50:53 -!- gs2bot has quit (Remote host closed the connection).
20:51:05 <monqy> ???
20:51:10 <Taneb> `list
20:51:11 <Taneb> `list
20:51:13 <HackEgo> cuttlefish boily elliott Taneb HackEgo Sgeo monqy pikhq Sgeo_ tswett Phantom_Hoover nortti oklopol
20:51:14 <HackEgo> cuttlefish boily elliott Taneb HackEgo Sgeo monqy pikhq Sgeo_ tswett Phantom_Hoover nortti oklopol
20:51:21 -!- Taneb has changed nick to Ngevd.
20:51:26 <Ngevd> `list
20:51:27 <Ngevd> `list
20:51:34 <HackEgo> cuttlefish boily elliott Taneb HackEgo Sgeo monqy pikhq Sgeo_ tswett Phantom_Hoover nortti oklopol
20:51:35 <monqy> `hatesgeo
20:51:37 <HackEgo> cuttlefish boily elliott Taneb HackEgo Sgeo monqy pikhq Sgeo_ tswett Phantom_Hoover nortti oklopol Ngevd
20:51:43 -!- Ngevd has changed nick to Taneb.
20:51:45 <Taneb> Hmm
20:51:55 <Bike> I wonder what it is I undid.
20:51:57 <oerjan> !blsq 1R@
20:51:58 <blsqbot> Ain't nobody got time fo' dat!
20:51:59 -!- gs2bot has joined.
20:52:01 <nooodl> !gs2 "2 2+"
20:52:02 <gs2bot> "\"$lb<<$stack.size\"\n\"gpush Garray.new($stack.slice!(($lb.pop||0)..-1))\"\n\"a=gpop;gpush ~a\"\n\"a=gpop;gpush a.ginspect\"\n\"a=gpop;\"\n\"a=gpop;$stack<<a<<a\"\n\"b=gpop;a=gpop;$stack<<b<<a\"\n\"c=gpop;b=gpop;a=gpop;$stack<<b<<c<<a\"\n\"b=gpop;a=gpop;gpush a+b\"\n\"b=gpop;a=gpop;gpush a-b\"\n\"b=gpop;a=gpop;gpush a|b\"\n\"b=gpop;a=gpop;gpush a&b\"\n\"b=gpop;a=gpop;gpush a^b\"\n\"b=gpop;a=gpop;a,b=b,a if a.class_id<b.class_id;gpush ...
20:52:02 <gs2bot> ... a*b\"\n\"b=gpop;a=gpop;a,b=b,a if a.class_id<b.class_id;gpush a/b\"\n\"b=gpop;a=gpop;a,b=b,a if a.class_id<b.class_id;gpush a%b\"\n\"b=gpop;a=gpop;a,b=b,a if a.class_id<b.class_id;gpush a.equalop(b)\"\n\"b=gpop;a=gpop;a,b=b,a if a.class_id<b.class_id;gpush a<b\"\n\"b=gpop;a=gpop;a,b=b,a if a.class_id<b.class_id;gpush a>b\"\n\"a=gpop;gpush a.notop\"\n\"b=gpop;a=gpop;a,b=b,a if a.class_id<b.class_id;gpush a.question(b)\"\n\"a=gpop;gpush (a.class==Gint ...
20:52:02 <gs2bot> ... ? $stack[~a.val] : a.sort)\"\n\"a=gpop;gpush case a\\n\\twhen Gint then Garray.new([*0...a.val].map{|i|Gint.new(i)})\\n\\twhen Gblock then a.select(gpop)\\n\\twhen Garray then Gint.new(a.val.size)\\n\\tend\"\n\"a=gpop;gpush a.rightparen\"\n\"a=gpop;gpush a.leftparen\"\n\"a=gpop;gpush Gint.new(rand([1,a.val].max))\"\n\"a=gpop;gpush Gint.new(a.val.abs)\"\n\"a=gpop;print a.to_gs\"\n\"b=gpop;a=gpop;$_19.go;(gpop.val==0?a:b).go\"\n\"a=gpop;loop{a.go; ...
20:52:02 <gs2bot> ... $_19.go; break if gpop.val!=0}\"\n\"b=gpop;a=gpop;loop{a.go; $_19.go; break if gpop.val!=0; b.go}\"\n\"a=gpop;gpush a.zip\"\n\"b=gpop;a=gpop;gpush b.base(a)\"\n\"b=gpop;a=gpop;a=Garray.new([a]) if a.class != Garray;\\n gpush Gstring.new(sprintf b.to_s, *a.val.map { |x| qval x })\"\n\"b=gpop;a=gpop;c = a.to_s.scan Regexp.new b.to_s\\n gpush Garray.new(c.map do |i|\\n i.is_a?(Array) ? Garray.new(i.map { |j| Gstring.new(j) })\\n ...
20:52:03 <gs2bot> ... : Gstring.new(i)\\n end)\"\n\"c=gpop;b=gpop;a=gpop;d = a.to_s.tr(b.to_s, c.to_s); gpush Gstring.new d\"\n\"a=gpop;ms = []; a.val.times{ms.unshift gpop}; gpush Garray.new ms\"\n\"a=gpop;gpush Gint.new(Math.sqrt(a.val).to_i)\"\n\"a=gpop;gpush Gint.new(Prime.prime? a.val)\"\n\"a=gpop;gpush Garray.new(Prime.each(a.val).map { |x| Gint.new x })\"\n\"a=gpop;gpush Garray.new(Prime.each.first(a.val).map { |x| Gint.new x })\"\n\"a=gpop;gpush ...
20:52:04 <gs2bot> ... Garray.new(Prime.prime_division(a.val).map { |x| Garray.new(x.map { |y| Gint.new(y) })})\"\n\"a=gpop;gpush Gint.new(Prime.int_from_prime_division(a.val.map { |x| x.val.map { |y| y.val } }))\"\n\"b=gpop;a=gpop;gpush ...
20:52:06 <gs2bot> ... b.scanfold(a)\"\n\"$_3.go\\n$_27.go\\n$_45.go\\n$_27.go\\n\"\n\"$_49.go\\n$_21.go\\n$_50.go\\n\"\n\"$_49.go\\n$_21.go\\n$_6.go\\n$_50.go\\n\"\n\"$_19.go\\n\"\n\"$_6.go\\n$_19.go\\n$_19.go\\n$stack<<$_55\\n$_13.go\\n\"\n\"$_8.go\\n\"\n\"$_58.go\\n$_6.go\\n$stack<<$_59\\n$_14.go\\n\"\n\"$_13.go\\n\"\n\"$_49.go\\n$_6.go\\n$stack<<$_62\\n$_14.go\\n\"\n\"$_65.go\\n$_32.go\\n\"\n\"$_13.go\\n\"\n\"$_23.go\\n$_22.go\\n$_24.go\\n$_4.go\\n$_49.go\\n$_8.go\\n$s ...
20:52:07 <Bike> aaaaah
20:52:08 <nooodl> uh.
20:52:08 <HackEgo> No output.
20:52:08 <gs2bot> ... tack<<$_68\\n$_13.go\\n\"\n\"$_5.go\\n$_65.go\\n$_21.go\\n$_8.go\\n\"\n\"$_0.go\\n$_58.go\\n$_71.go\\n$_49.go\\n$_7.go\\n$stack<<$_72\\n$_13.go\\n$_1.go\\n$_73.go\\n$_17.go\\n\"\n\"$_5.go\\n$_7.go\\n$_6.go\\n\"\n\"$_77.go\\n$_2.go\\n\"\n\"$_86.go\\n$_14.go\\n\"\n\"$_86.go\\n$_13.go\\n\"\n\"$_45.go\\n$_14.go\\n\"\n\"$_45.go\\n$_13.go\\n\"\n\"$_6.go\\n$_45.go\\n$_14.go\\n$_6.go\\n$_15.go\\n$_45.go\\n$_13.go\\n\"\n\"$_2.go\\n\"\n\"$stack<<$_98\\n$_15.go ...
20:52:08 -!- gs2bot has quit (Remote host closed the connection).
20:52:11 <monqy> noooooooooodl
20:52:13 <nooodl> what the fuck
20:52:14 -!- ChanServ has set channel mode: +o oerjan.
20:52:18 <Bike> good bot
20:52:23 <nooodl> "thanks gs2bot"
20:52:25 <Taneb> Did better than Pietbot
20:52:27 <oerjan> whew
20:52:30 -!- oerjan has set channel mode: -o oerjan.
20:52:32 <nooodl> how much did it flood
20:52:35 <nooodl> i killed it asap
20:52:41 <monqy> well you can check the logs
20:52:46 <Bike> bout thirty lines
20:53:03 <monqy> it didnt flood so many lines but they were big lines
20:53:05 <nooodl> the one time i test it outside /query and this happens.......
20:53:23 <monqy> maybe you should make it not print its source code. maybe you should write it in not ruby(??)
20:53:39 <nooodl> blame flagitious
20:53:41 -!- gs2bot has joined.
20:53:43 <monqy> ok
20:53:46 <nooodl> (this is golfscript "upgraded")
20:53:47 <monqy> !gs2 "2 2+"
20:53:48 <gs2bot> "4\n"
20:53:49 <Bike> fuck you flagitious
20:53:51 <nooodl> thanks gs2bot
20:54:01 <nooodl> here's how gs2bot works:
20:54:18 <monqy> !gs2 "o(\{1${\(@^}%+}/]"
20:54:19 <gs2bot> "\n"
20:54:22 <monqy> thanks gs2bot
20:54:49 <nooodl> !gs2 "['aaaa''bbbb''cccc']n*o(\{1${\(@^}%+}/]"
20:54:49 <gs2bot> ""
20:55:13 <nooodl> oh right...
20:55:32 <nooodl> !gs2 "['aaaa''bbbb''cccc']n*n%(\{1${\(@^}%+}/]n*"
20:55:32 <gs2bot> "\naaaa\n\x03\x03\x03\x03\n````\n"
20:56:06 <monqy> btw nooodl have you noticed your table is messed up
20:56:10 <monqy> at least it looks messed up to me
20:56:18 <nooodl> it's extremely big
20:56:22 <nooodl> zoom out a bit maybe?
20:56:32 <monqy> oh, it's really 2 tables
20:56:42 <monqy> and one of them was put on top of the other
20:56:43 <nooodl> a t m the documentation is really bad
20:56:47 <monqy> yes
20:56:56 <Phantom_Hoover> what does `hatesgeo do btw
20:57:02 <monqy> i forget
20:57:08 <Bike> `hatesgeo
20:57:10 <monqy> i remember it has to do with pinging lots of people
20:57:13 <monqy> but maybe it was neutered
20:57:22 <Bike> `run cat $(which hatesgeo)
20:57:23 <monqy> and i forget how to use it
20:57:24 <HackEgo> ​#!/bin/sh \ perl -n -e '/:(.*?)!.*JOIN/; $j{$1}++; END {print "$_ $j{$_};" for sort {$j{$b} <=> $j{$a}} keys %j}' $@
20:57:39 <HackEgo> No output.
20:57:52 <nooodl> !gs2 "['12345678901234567890''[][][][][][][][][][]''ABCDEFGHIJKLMNOPQRST']n* n%(\{1${\(@^}%+}/]n*"
20:57:52 <gs2bot> "\n12345678901234567890\njohinklebmjohinklebm\n+-+-+-+-+'!#%'!;=719\n"
20:57:57 <nooodl> compare to http://golf.shinh.org/p.rb?XOR+Lines+FIXED
20:58:11 <Bike> can i not do that
20:58:30 <oerjan> <Bike> undo successful <-- um you were trying to undo a command that didn't actually _change_ anything. i thought that would revert something earlier instead, but it seems it had no effect.
20:58:50 <Bike> why not
20:59:09 <olsner> hmm, roughly how many of the voyager episodes are about finding dilithium? that plot could become boring after a couple of episodes
21:02:32 <Phantom_Hoover> wasn't half the problem with voyager that they didn't spend nearly enough time finding dilithium
21:02:33 <oerjan> !blsq 1 100r@
21:02:33 <blsqbot> {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3
21:02:46 <oerjan> !blsq 1R@
21:02:47 <blsqbot> Ain't nobody got time fo' dat!
21:03:07 <oerjan> mroman: why does the latter time out when it should be about as fast as the former?
21:04:02 <oerjan> mroman: aren't you doing the take inside the timeout?
21:04:06 <Fiora> olsner: I remember there were a lot of episodes about mysterious space anomalies
21:04:35 -!- impomatic2 has joined.
21:04:55 <oerjan> also what is Take in burlesque, it's not listed where i expected it
21:05:17 <oerjan> !blsq 1 100r@ 1R@ .*
21:05:17 <blsqbot> Ain't nobody got time fo' dat!
21:05:30 <oerjan> !blsq 1 100r@ 1 100r@ .*
21:05:30 <blsqbot> ERROR: Burlesque: (.*) Invalid arguments!
21:05:36 <oerjan> hm ok
21:05:50 <oerjan> that's weird
21:06:02 <oerjan> !blsq 1 100r@ 1 R@ .*
21:06:03 <blsqbot> Ain't nobody got time fo' dat!
21:07:01 -!- impomatic2 has quit (Read error: Connection reset by peer).
21:07:29 -!- impomatic2 has joined.
21:07:30 -!- impomatic2 has quit (Client Quit).
21:07:40 <oerjan> !blsq 1 100r@ 1 R@ {.*}z[
21:07:40 <blsqbot> {{1 .*}}
21:07:43 <oerjan> wat
21:07:50 -!- impomatic has quit (Ping timeout: 260 seconds).
21:08:08 <oerjan> !blsq 1 100r@ 1 100r@ {.*}z[
21:08:08 <blsqbot> {{1 .*}}
21:08:33 <oerjan> oh
21:08:37 <oerjan> !blsq 1 100r@ 1 R@ {.*}Z[
21:08:38 <blsqbot> Ain't nobody got time fo' dat!
21:08:44 <oerjan> !blsq 1 100r@ 1 100r@ {.*}Z[
21:08:45 <blsqbot> Ain't nobody got time fo' dat!
21:08:49 <oerjan> !blsq 1 100r@ 1 100r@ {.+}Z[
21:08:50 <blsqbot> Ain't nobody got time fo' dat!
21:09:01 <nooodl> !gs2 74 2C 7B 2E 33 86 5C 35 86 2B 7D 2C 55
21:09:01 -!- impomatic2 has joined.
21:09:01 <gs2bot> "233168\n"
21:09:04 <nooodl> euler 1
21:09:15 <oerjan> !blsq 1 30r@ 1 30r@ {.+}Z[
21:09:16 <blsqbot> {ERROR: Burlesque: (.+) Invalid arguments! {1 1} ERROR: Burlesque: (.+) Invalid
21:09:33 <oerjan> wtf
21:09:38 <oerjan> !blsq 1 30r@ 1 30r@
21:09:38 <blsqbot> {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3
21:10:21 <oerjan> !blsq {.+} 1 30r@ 1 30r@ Z[
21:10:21 <blsqbot> {30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2
21:10:36 <oerjan> ...wat
21:10:43 -!- otro_viajero7 has joined.
21:11:04 <impomatic2> Hi Otro_viajero7 :-)
21:11:12 <oerjan> !blsq 1 30r@ 1 30r@ z[
21:11:12 <blsqbot> {{1 1} {2 2} {3 3} {4 4} {5 5} {6 6} {7 7} {8 8} {9 9} {10 10} {11 11} {12 12} {
21:11:27 <oerjan> !blsq {.+} 1 30r@ 1 30r@ z[\/m[
21:11:27 <blsqbot> {ERROR: Burlesque: (.+) Invalid arguments! {1 1} ERROR: Burlesque: (.+) Invalid
21:11:36 <oerjan> oh
21:11:43 <nooodl> oerjan: what're you trying
21:11:43 <ais523> ooh, ESR just committed to C-INTERCAL (and approved a pull request too)
21:11:53 <nooodl> !gs2 0F "." D4 5C "5%|U"
21:11:53 <gs2bot> "233168\n"
21:12:00 <nooodl> 8 bytes B)
21:12:19 <otro_viajero7> Hi impomatic2
21:12:30 <oerjan> nooodl: burlesque zipWith is _very_ unintuitive for this haskell :(
21:12:33 <oerjan> *-er
21:12:47 <nooga> http://www.reddit.com/r/programming/comments/9x15g/programming_thought_experiment_stuck_in_a_room/
21:12:47 <monqy> what's burleseq ziwpwith
21:13:04 <nooodl> burlesque zipwith takes a function on blocks, not on two things
21:13:25 <nooga> http://www.reddit.com/r/programming/comments/9x15g/programming_thought_experiment_stuck_in_a_room/c0ewj2c
21:13:30 <nooodl> !blsq 1 30r@ ^^ (++)Z[
21:13:30 <blsqbot> You can haz errorz
21:13:42 <nooga> actually, I thought about this few times
21:13:44 <oerjan> !blsq {.+} 1 30r@ 1 30r@ Z]
21:13:45 <blsqbot> {30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2
21:14:15 <oerjan> !blsq 1 30r@ 1 30r@ {.+} Z]
21:14:15 <blsqbot> {2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56
21:14:21 <oerjan> ah finally
21:14:28 <nooodl> oh Z] is "normal people zipwith"
21:14:31 <oerjan> !blsq 1 30r@ 1 R@ {.+} Z]
21:14:31 <blsqbot> {2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56
21:14:50 <oerjan> mroman: YOUR REFERENCE MANUAL NEEDS WORK
21:15:04 <oerjan> (i suggest forth-style in -- out descriptions)
21:15:20 <nooodl> well, the zipwith thing is pretty well explained
21:15:31 <monqy> how about english descriptions
21:15:33 <monqy> too
21:15:35 <oerjan> (see: my reorganizations of the glass page)
21:16:02 <nooodl> also it's wrong :')
21:16:06 <oerjan> nooodl: um it's well explained _if you are willing to trace the code it's explained as_. that's ... ridiculous, really.
21:16:09 <monqy> i guess ther'es sort of english descriptions here
21:16:25 <nooodl> but yeah when it's like
21:16:25 <monqy> for some of them
21:16:27 <nooodl> "Defined as ^^^^avbx(?-)[+m[2?^++\/L[-.?/"
21:16:28 <ais523> it was pretty tame stuff, though, updating the autoconf input file to a later version of automake and changing some documentation
21:17:07 -!- impomatic2 has quit (Ping timeout: 260 seconds).
21:17:32 <pikhq> ais523: Still, he actually pays attention? Moderately surprising.
21:17:53 <nooodl> man, http://golf.shinh.org/p.rb?uniq+chars is 2 bytes in GS2
21:17:57 <nooodl> i should really tell shinh about it
21:18:00 <ais523> not really, "maintaining open-source projects" is pretty much ESR's job
21:18:11 <nooodl> but teeeeechnically i'd need flagitious' permission
21:18:17 <pikhq> Yeah, but I thought he'd not done jack on C-INTERCAL in ages.
21:18:25 <ais523> pikhq: yeah but neither had anyone else
21:18:33 <pikhq> Fair enough.
21:19:03 <nooga> mroman: your webpage on burlesque is obnoxious
21:19:12 <nooodl> yeah i liked the old design more
21:19:18 <oerjan> @tell mroman I suspect blsqbot is not doing the take to limit output size inside the timeout, which makes it time out because of parts it would otherwise never evaluate
21:19:18 <lambdabot> Consider it noted.
21:19:19 <nooodl> http://mroman.ch/burlesque/cookbook/lref.html
21:19:57 -!- DHeadshot has joined.
21:19:58 <monqy> nooodl: imo you should make gs2 even better???? more distinguished from golf script??? in a good???way???
21:20:13 <nooodl> i don't know how!!!
21:20:14 <oerjan> @tell mroman e.g. there's no reason why 1R@ should timeout
21:20:14 <lambdabot> Consider it noted.
21:20:35 <nooodl> i've considered a change that would make it much less stack-y
21:20:55 <monqy> would it make it like j
21:20:59 <monqy> j is cool
21:21:02 <nooodl> nope
21:21:05 <nooodl> golfscript is already backwards j
21:21:21 <monqy> uhh how about hm
21:21:30 <nooodl> in j you go "print (h (g (f input)))"
21:21:36 <nooodl> in golfscript it's just "input f g h"
21:22:00 <nooodl> but they're Short for the same reasons
21:22:08 <nooodl> anyway the change is
21:22:43 <nooodl> it automatically stores things that get pushed or popped on the stack into Buffers
21:22:55 <nooodl> kinda like registers in vim
21:23:20 <nooga> is there some kind of documentation on burlesque?
21:23:41 <nooodl> so you don't have to mess around with the stack at all anymore. when you push or pop some thing, you know it got saved as a variable SOMEWHERE, so you don't have to apply Stack Magic to retrieve it
21:24:08 <nooodl> also: seriously expand on the Mode thingy. it's so good
21:26:47 <nooodl> the way i've developed gs2 for the past year was just
21:26:56 <nooodl> look at other things, why are they short, how do i improve on that
21:27:22 <nooodl> but maybe if i think of some Radical New thing... i can make things even shorter
21:31:04 <monqy> google translate of golf script into other languages is very disappointing. i was hoping for some amazing new name htats not like golfscript but it just seems to be transliterating it??? a pity. 2 of the best are probably welsh "sgript golff" and esperanto "golfo skripto" and i guess lithuanian is ok too "golfo scenarijus"
21:31:22 <kmc> golfo skripto
21:31:25 <olsner> !rot13 golf script
21:31:26 <EgoBot> tbys fpevcg
21:31:38 <kmc> fpevcg dword ptr [eax]
21:31:38 <nooodl> "golfoskripto" is actually valid i think
21:32:11 <nooodl> it'd probably just be "Golfskripto" though!! jesus christ, that lithuanian
21:32:28 <monqy> japanese is cute, Gorufusukuriputo
21:33:44 <pikhq> kòruhusukurihûto
21:34:08 <nooodl> dear god. is that a romanization system people use
21:34:15 <pikhq> nooodl: Me only.
21:34:34 <Fiora> ゴフスクリプト
21:34:34 <nooodl> it's cute
21:34:51 <monqy> Gough script
21:34:53 <nooodl> ^ル
21:35:07 <pikhq> nooodl: On the one hand, it demonstrates how kana works. On the other, nobody actually knows it. :P
21:35:50 <nooodl> on the third hand, it doesn't help people who don't already know how kana works at all
21:35:56 <pikhq> Mostly though it just looks arbitrarily exotic.
21:36:14 <pikhq> "ro'hîȳaku" is funny looking.
21:36:34 -!- Nisstyre has quit (Quit: Leaving).
21:36:37 <olsner> last time I checked, (mount) fuji is spelled huzi on google earth
21:36:39 <nooodl> is that 六百?
21:36:48 <pikhq> Yup.
21:37:02 <nooodl> perfect
21:37:20 <pikhq> olsner: Which is perfectly valid Kunrei-shiki romanization.
21:37:33 <olsner> yes, it was enlightening
21:37:55 <pikhq> Just weird looking because almost everyone uses Hepburn, which is the one that uninformed people can kinda-sorta pronounce right.
21:38:35 <Fiora> "hu" and "fu" are just different romanizations
21:38:44 <Fiora> yeah, hepburn vs kunrei
21:38:51 <oerjan> <nooga> is there some kind of documentation on burlesque? <-- http://mroman.ch/burlesque/index.html
21:38:53 <pikhq> Yup. "hu" being Kunrei or Nihon.
21:40:12 -!- SirCmpwn has quit (Excess Flood).
21:40:55 -!- DHeadshot has quit (Ping timeout: 260 seconds).
21:42:07 <nooodl> pikhq: does ん become something funny in your system
21:42:12 <nooodl> "nn"?
21:42:17 <pikhq> nooodl: "nn", yes.
21:42:39 -!- SirCmpwn has joined.
21:42:41 <Lumpio-> I just tend to type the way I type into a computer all the time
21:43:17 <pikhq> Just in case some bastard wants to write んい or some such. :P
21:46:05 <Lumpio-> ...which is perfectly normal
21:46:47 <pikhq> The idea is kinda to be able to encode arbitrary sequences of kana, so.
21:47:51 <Lumpio-> You could just encode them in like, Unicode
21:48:02 <pikhq> Bah.
21:48:29 <Lumpio-> At least some people would understand it!
21:48:38 <oerjan> !blsq 1 100r@ 2B!
21:48:39 <blsqbot> {"1" "10" "11" "100" "101" "110" "111" "1000" "1001" "1010" "1011" "1100" "1101"
21:48:39 <pikhq> 変なローマ字が楽しかったの。
21:48:42 <nooodl> monqy: in greek "small code" is "mikrokodika"
21:48:49 <kmc> +WQkwajDtMPww3ltXMExpfTBXMEswYzBfMG4wAg
21:49:07 <kmc> there's your romanization
21:49:37 <olsner> looks like romanization is more compact than utf-8 (at least for gofusukuriputo vs ゴフスクリプト)
21:49:57 <monqy> nooodl: good
21:49:58 <nooodl> shift-jis, though!
21:50:19 <pikhq> ... is hell
21:50:32 <Lumpio-> olsner: Which makes a difference if... er, your computer is an 8-bit microcontroller?
21:50:45 -!- nooodl has left ("Leaving").
21:50:47 <pikhq> gzip?
21:50:55 -!- nooodl has joined.
21:50:56 <kmc> BOCU!
21:50:58 <nooodl> wow oops
21:50:59 <olsner> my 4GB of ram is running out, so please use ascii
21:50:59 <monqy> hi nooodl
21:51:01 <nooodl> hi
21:51:23 <kmc> do you all know the cute trick for finding memory leaks
21:51:33 <oerjan> !blsq 1 100r@ 2B!{'1==fl2.%}m[
21:51:33 <blsqbot> Ain't nobody got time fo' dat!
21:51:38 <oerjan> !blsq 1 10r@ 2B!{'1==fl2.%}m[
21:51:38 <blsqbot> {ERROR: Burlesque: (.%) Invalid arguments! 2 ERROR: Burlesque: (L[) Invalid argu
21:51:50 <oerjan> oops
21:51:51 <kmc> run the leaky program in a debugger and just look at randomly chosen pages of memory
21:51:59 <kmc> by hypothesis, most of the memory is leaked objects
21:52:08 <oerjan> !blsq 1 10r@ 2B!{{'1==}fl2.%}m[
21:52:09 <blsqbot> {1 1 0 1 0 0 1 1 0 0}
21:52:18 <oerjan> !blsq 0 100r@ 2B!{{'1==}fl2.%}m[
21:52:18 <blsqbot> Ain't nobody got time fo' dat!
21:52:22 <oerjan> !blsq 0 130r@ 2B!{{'1==}fl2.%}m[
21:52:23 <blsqbot> Ain't nobody got time fo' dat!
21:52:27 <nooodl> my trick is
21:52:27 <oerjan> !blsq 0 30r@ 2B!{{'1==}fl2.%}m[
21:52:27 <blsqbot> {0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0}
21:52:29 <nooodl> stare at source code
21:52:31 <oerjan> argh
21:52:35 <Bike> kmc: cute indeed v_v
21:52:38 <olsner> kmc: you mean look at an arbitrary piece of memory and assume that whatever you're looking at is a memory leak?
21:52:40 <oerjan> (yay)
21:53:07 <kmc> yes
21:53:18 <kmc> that is, assume it's a leaked object
21:53:35 <kmc> you still need to figure out what's leaking that kind of object
21:54:02 <kmc> but you don't need any heap profiler or whatever
21:54:12 <oerjan> !blsq 0 30r@ 2B!{{'1==}fl2.%}m[1SH
21:54:12 <blsqbot> "[0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0]"
21:54:14 <kmc> you can do it on a running production system or a coredump after the fact
21:54:16 <oerjan> darn
21:54:29 -!- zzo38 has joined.
21:56:28 <oerjan> !blsq 0 30r@ 2B!{{'1==}fl2.%}m[0SH
21:56:29 <blsqbot> "[0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1,
21:59:28 <Phantom_Hoover> wtf
21:59:35 <Phantom_Hoover> i can't load any websites except google...
22:03:52 <nooodl> can you google things
22:03:56 <Phantom_Hoover> ye
22:03:57 <Phantom_Hoover> s
22:04:05 <Phantom_Hoover> but i can't actually load any of the results...
22:04:09 <nooodl> use google cache forever
22:05:00 <oerjan> !blsq 0 30r@ 2B!{{'1==}fl2.%}m[""+]{_+}r[
22:05:00 <blsqbot> Ain't nobody got time fo' dat!
22:05:11 <oerjan> !blsq 0 30r@ 2B!{{'1==}fl2.%}m[""+]
22:05:11 <blsqbot> {"" 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0}
22:05:29 <Taneb> !blsq ("yay")
22:05:30 <blsqbot> "yay"
22:07:09 <oerjan> !blsq 0 10r@ 2B!{{'1==}fl2.%}m[""+]{_+}r[
22:07:09 <blsqbot> "01101001100"
22:07:20 -!- epicmonkey has quit (Ping timeout: 260 seconds).
22:07:25 -!- Taneb has quit (Remote host closed the connection).
22:07:51 -!- Nisstyre has joined.
22:07:59 <oerjan> ok so basically that works but gets really short because blsqbot has a low timeout.
22:13:12 <oerjan> !blsq 0 30r@ 2B!{{'1==}fl2.%}m[XX
22:13:12 <blsqbot> {0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0}
22:14:58 <oerjan> oh
22:15:13 <oerjan> !blsq 0 30r@ 2B!{{'1==}fl2.%}m[""+]\[
22:15:13 <blsqbot> Ain't nobody got time fo' dat!
22:15:18 <oerjan> !blsq 0 10r@ 2B!{{'1==}fl2.%}m[""+]\[
22:15:18 <blsqbot> "01101001100"
22:15:45 <nooodl> oerjan: what is that?
22:15:56 <oerjan> thue-morse sequence
22:16:30 <nooodl> ah
22:16:34 -!- gs2bot has quit (Remote host closed the connection).
22:18:02 <nooodl> !blsq 0{#s<-)n!^p}8E!#s
22:18:02 <blsqbot> Ain't nobody got time fo' dat!
22:18:05 <nooodl> !blsq 0{#s<-)n!^p}4E!#s
22:18:05 <blsqbot> {0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0}
22:18:13 <nooodl> !blsq 0{#s<-)n!^p}5E!#s
22:18:13 <blsqbot> {1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0}
22:18:24 <oerjan> wat
22:18:55 <nooodl> {}5E! is "execute 5 times"
22:19:20 <nooodl> #s<- pushes the entire stack, )n! negates all of it, ^p adds it to the current stack
22:19:38 <nooodl> !blsq {1 1 1 1 0 0} #s<-)n!^p #s
22:19:38 <blsqbot> {1 {1 1 1 1 0 0}}
22:19:45 <nooodl> !blsq 1 1 1 1 0 0 #s<-)n!^p #s
22:19:45 <blsqbot> {1 1 0 0 0 0 0 0 1 1 1 1}
22:20:20 <nooodl> oh it also reverses it because stacks in burlesque are kinda backwards
22:20:34 -!- carado has quit (Ping timeout: 246 seconds).
22:31:22 <ion> :-D http://www.sewingandembroiderywarehouse.com/embtrb.htm
22:31:52 <Fiora> funnily enough that website works correctly on IE XD
22:31:59 <Fiora> I'm guessing they never tried viewing it on anything else
22:32:24 <Bike> this doesn't seem like very good advice anyway
22:32:32 <Bike> "Needle to small " "You may have to change to a larger needle"
22:32:51 <Gregor> THE FOUR-CORNER SEWING MACHINE CUBE
22:33:45 <ion> gregor: :-D
22:33:51 <Fiora> ion: I guess that site had you
22:33:53 <Fiora> in stitches
22:33:59 <ion> zing
22:34:07 <oerjan> !blsq 0{#s<-)n!^p}4E!#sim
22:34:07 <blsqbot> 110100110010110
22:34:07 <kmc> ouch
22:34:19 <oerjan> darn initial 0
22:36:58 <olsner> hmm, I wonder if that's a bug on my side or theirs, the text gets bigger and bigger for every paragraph
22:40:58 <oerjan> !blsq "a"sh
22:40:59 <blsqbot> a
22:41:04 <oerjan> !blsq "a"sh"b"sh++
22:41:05 <blsqbot> ERROR: Burlesque: (++) Invalid arguments!
22:41:17 <oerjan> !blsq "a"sh"b"sh.+
22:41:17 <blsqbot> ERROR: Burlesque: (.+) Invalid arguments!
22:41:19 <oerjan> !blsq "a"sh"b"sh_+
22:41:19 <blsqbot> ERROR: Burlesque: (_+) Invalid arguments!
22:42:43 <oerjan> !blsq {0}{{n!}[m\[}e!
22:42:44 <blsqbot> {1 0}
22:42:44 <nooodl> ion: this is so great
22:43:39 <monqy> oh iv'e seen this before
22:43:43 <monqy> yeah it's amazing
22:44:21 <oerjan> !blsq {0}{{n!}[m\[}8E!
22:44:21 <blsqbot> Ain't nobody got time fo' dat!
22:44:24 <oerjan> !blsq {0}{{n!}[m\[}4E!
22:44:24 <blsqbot> {0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0}
22:45:39 <oerjan> 1 char shorter :P
22:47:46 <oerjan> !blsq {0}{{n!}[m\[}4E!)Sh++
22:47:46 <blsqbot> "0110100110010110"
22:50:50 <oerjan> !blsq {0}{{n!^^n!}[m\[}4E!)Sh++
22:50:50 <blsqbot> Ain't nobody got time fo' dat!
22:50:58 <oerjan> !blsq {0}{{n!^^n!}[m\[}e!)Sh++
22:50:58 <blsqbot> "010"
22:51:00 -!- nada0 has joined.
22:51:29 <oerjan> !blsq {0}{{n!^^^^n!}[m\[}e!)Sh++
22:51:29 <blsqbot> "0110"
22:51:34 <oerjan> !blsq {0}{{n!^^^^n!}[m\[}2E!)Sh++
22:51:34 <blsqbot> "0110100110010110"
22:51:40 <oerjan> !blsq {0}{{n!^^^^n!}[m\[}3E!)Sh++
22:51:40 <blsqbot> Ain't nobody got time fo' dat!
22:52:04 <quintopia> hi blsqbot
22:52:36 <quintopia> what language do you speak?
22:53:50 <oerjan> burlesque
22:54:58 <quintopia> is it a hard language to speak
22:55:32 <oerjan> http://mroman.ch/burlesque/lref.html
22:55:39 <oerjan> it is somewhat annoying
22:55:42 <quintopia> i recognize how that sequence is formed. is it thue-morse?
22:55:46 <oerjan> yes
22:56:07 <oerjan> although some of the annoyance is because the bot has a 0.1 millisecond timeout
22:56:20 <quintopia> that is short
22:56:51 <quintopia> why not a queue of 1sec executions that can't exceed five in length
22:56:54 <quintopia> that would be better right
22:57:00 -!- nada0 has quit (Quit: Leaving).
22:57:01 <oerjan> !blsq {0}{{{{0 1}{1 0}}\/!!}\m}e!
22:57:01 <blsqbot> {0 1}
22:57:06 <oerjan> !blsq {0}{{{{0 1}{1 0}}\/!!}\m}8E!
22:57:06 <blsqbot> Ain't nobody got time fo' dat!
22:57:08 <oerjan> !blsq {0}{{{{0 1}{1 0}}\/!!}\m}4E!
22:57:08 <blsqbot> {0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0}
22:57:15 <oerjan> !blsq {0}{{{{0 1}{1 0}}\/!!}\m}6E!
22:57:15 <blsqbot> {0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0
22:57:26 <oerjan> !blsq {0}{{{{0 1 1 0}{1 0 0 1}}\/!!}\m}6E!
22:57:26 <blsqbot> Ain't nobody got time fo' dat!
22:57:29 <oerjan> !blsq {0}{{{{0 1 1 0}{1 0 0 1}}\/!!}\m}4E!
22:57:29 <blsqbot> Ain't nobody got time fo' dat!
22:57:31 <oerjan> !blsq {0}{{{{0 1 1 0}{1 0 0 1}}\/!!}\m}3E!
22:57:31 <blsqbot> {0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0
22:57:49 <oerjan> !blsq {0}{{{{0 1 1 0}{1 0 0 1}}\/!!}\m}3E!)Sh++
22:57:49 <blsqbot> Ain't nobody got time fo' dat!
22:57:53 <oerjan> !blsq {0}{{{{0 1 1 0}{1 0 0 1}}\/!!}\m}2E!)Sh++
22:57:53 <blsqbot> "0110100110010110"
22:58:06 <oerjan> it seems bloody impossible to get a longer sequence
22:58:39 <oerjan> quintopia: yes
23:03:53 <FreeFull> Is this that infinite sequence that never repeats?
23:03:55 -!- impomatic2 has joined.
23:04:07 <FreeFull> Well, not very specific
23:06:49 -!- impomatic2 has changed nick to impomatic.
23:09:01 <oerjan> it never repeats yes
23:09:41 <doesthiswork> it's expanding ever 1=>10 and every 0 =>01 ?
23:09:48 <oerjan> yet every substring is found within bounded intervals
23:09:55 <oerjan> doesthiswork: that's one formulation yes
23:10:10 -!- yhojeyisaac has joined.
23:10:17 <oerjan> (it's "uniformly recurrent")
23:10:47 -!- yhojeyisaac has left.
23:10:57 <oerjan> he keeps coming back
23:11:10 <doesthiswork> who's he?
23:11:19 <doesthiswork> oh nevermind
23:11:39 <oerjan> i don't know but he came here and wanted to chat in spanish
23:11:51 <oerjan> and has said very little otherwise
23:11:54 <oerjan> afaik
23:12:09 <doesthiswork> is spanish an esoteric language?
23:12:15 <oerjan> maybe
23:15:10 <doesthiswork> are there names to all the variations like 0=>01, 1=>00 ?
23:16:17 <nooodl> most of them aren't very interesting i think?
23:16:46 <nooodl> actually, that one is pretty interesting.
23:17:36 <Bike> doesthiswork: automatic sequence, i think.
23:17:40 -!- fungot has quit (Ping timeout: 248 seconds).
23:18:56 <nooodl> > let f 0 = [0,1]; f 1 = [0,0] in map (".#"!!) $ iterate (concatMap f) [0] !! 5
23:18:57 <lambdabot> ".#...#.#.#...#...#...#.#.#...#.#"
23:19:03 <doesthiswork> thanks
23:30:35 -!- tswett has quit (Changing host).
23:30:35 -!- tswett has joined.
23:49:53 -!- sirdancealot7 has quit (Ping timeout: 255 seconds).
23:52:46 -!- sirdancealot7 has joined.
23:53:34 -!- DHeadshot has joined.
←2013-02-23 2013-02-24 2013-02-25→ ↑2013 ↑all