←2014-10-13 2014-10-14 2014-10-15→ ↑2014 ↑all
00:00:21 <oerjan> in norway 14 october is the "first winter day". also it was my grandfather's birthday.
00:00:23 <MDude> Not fast enough to proprely juggle a bunch of places..
00:00:38 <MDude> Cool
00:00:56 <MDude> I guess winter would start earlier there.
00:01:16 -!- Bicyclidine has quit (Ping timeout: 260 seconds).
00:01:18 <oerjan> (https://en.wikipedia.org/wiki/World_Standards_Day was mentioned just before you arrived)
00:02:49 <oerjan> i think the name is based on a winter=half-year system, though. there's a similar first summer day in the spring.
00:03:36 <MDude> First thought that popped into my head was someone saying "Today's World Standards Day, AND YOU DON'T HAVE ANY!" and tossing me off a conveniently nearby cliff.
00:04:45 <zzo38> What is a "winter=half-year system"?
00:05:45 <oerjan> zzo38: well dividing the year into two parts, summer and winter...
00:05:53 <oerjan> rather than four seasons
00:06:19 <Somelauw> no, four seasons is tradition
00:06:28 <oerjan> apparently these days go back to a norse sacrificial feast. who'd have known.
00:06:36 <oerjan> *two feasts
00:07:30 <oerjan> also, it used to be the only days it was legal to move in norway...
00:07:33 <zzo38> O, but in that case wouldn't it be summer if Sun is your side of the equator, or something like that? Where does October 14 comes from?
00:07:50 <MDude> Apparently the U.S. is going to celebrate it on the 23d instead for some reason, presumably just to be non-standard about something.
00:07:57 <oerjan> zzo38: apparently the sacrifical feasts were held 28 days after equinoxes
00:08:10 <oerjan> why they did that i don't know.
00:08:41 <MDude> It's four weeks, which about one month.
00:09:25 <zzo38> But that isn't the equinox either. Is it because of the old calendar perhaps? After all, Christmas is on December 25 even though, it is not the solstice.
00:09:26 <MDude> So I guess they times it by waiting for the moon to make one cycle after the equinox?
00:10:19 <MDude> I dunno why they'd do that other than wanting the season to set in a little more before feasting over it.
00:10:25 <shachaf> is there a name for Lf(c) = lim{x->c}f(x)
00:10:57 <zzo38> MDude: I still don't get that date, though.
00:11:20 <Sgeo> Is it easier to be a power user, with scripts everywhere to do things, on Windows or Mac?
00:11:22 <MDude> Oh.
00:11:41 <oerjan> zzo38: https://en.wikipedia.org/wiki/Runic_calendar seems relevant
00:12:04 <zzo38> Sgeo: On Mac OS X, you can use UNIX commands. On Windows, you can use UNIX commands if you have Cygwin, but it isn't completely the working of the system.
00:12:08 <Sgeo> I guess Powershell is similar to AppleScript?
00:12:08 <Somelauw> mac i guess
00:12:27 <MDude> schanchaf: Is there some kind of reverse phone book for math stuff?
00:12:31 <Sgeo> zzo38: I'm thinking of things like AppleScript, which I think can interact with standard GUI applications
00:12:37 <oerjan> the primstav started on those days on each side
00:12:54 <MDude> Where you put math in using a standard form and then you're told its name.
00:12:55 <Somelauw> windows has vbscript
00:13:05 <shachaf> fizzie: See how useful my /hilight is?
00:13:09 <Sgeo> Also I keep hearing good things about Cocoa
00:13:10 <zzo38> Sgeo: Well, probably AppleScript (or possibly Amiga Rexx?) can do it better, although yes in Windows there is the Windows Script Host, which can do some similar thing.
00:13:20 <zzo38> (It supports both VBscript and JavaScript, in fact.)
00:14:19 <shachaf> also oerjan++ for https links
00:15:24 <oerjan> shachaf: well i've set wikipedia to redirect me to https if i accidentally visit a page that isn't
00:15:48 <oerjan> so i only see those, except for the occasional times when my login elapses
00:17:16 <Sgeo> oerjan: can't tell Wikipedia to send you HSTS?
00:17:23 <oerjan> MDude: note that the summer solstice is in the _first_ summer month by at least norwegian reckoning, and even if it's the brightest day of the year it's usually _not_ the hottest, that's in july or august.
00:17:38 <oerjan> Sgeo: IE doesn't support that yet
00:18:01 <Sgeo> ...you're using IE? Or does MediaWiki not generally support stuff that everything doesn't support
00:20:13 <Sgeo> o.O http://fuckingblocksyntax.com/
00:20:19 <oerjan> Sgeo: you remember online worlds from the late triassic, but not that i'm using IE tdnh
00:21:43 <Sgeo> tdnh?
00:22:10 <oerjan> also i have no idea whether wikimedia supports HSTS or not
00:22:53 <oerjan> Sgeo: sorry cannot explain, HackEgo is down hth
00:24:35 <Bike> shachaf: re L i think you usually just say it's a removable singularity and use an extension of the function instaed
00:26:26 -!- Somelauw has quit (Ping timeout: 240 seconds).
00:26:33 <Sgeo> "I remember when they introduced blocks at WWDC, they said "You declare them just like function pointers in C!" and all I could think was "Oh god, why.""
00:38:30 -!- ^v has joined.
00:44:23 -!- Somelauw_ has joined.
00:53:04 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
00:53:46 -!- oerjan has quit (Quit: leaving).
01:02:13 -!- Somelauw_ has quit (Quit: WeeChat 0.4.2).
01:04:39 -!- Lorenzo64 has quit (Ping timeout: 246 seconds).
01:10:45 -!- shikhin has joined.
01:11:12 -!- shikhin has changed nick to Guest58927.
01:14:04 -!- shikhout has quit (Ping timeout: 260 seconds).
01:40:48 -!- MDream has joined.
01:41:16 * Taneb is reading the Sketchpad paper
01:41:43 <Bike> like, sutherland?
01:42:01 <Taneb> Yup
01:42:08 <shachaf> How is a parametric linear function "a -o F a" related to a derivative of F?
01:42:21 <Bike> i liked the videos
01:45:01 -!- MDude has quit (Ping timeout: 272 seconds).
01:49:04 <shachaf> I guess I don't mean parametric, exactly.
01:49:28 -!- nys has quit (Quit: sleep).
01:50:04 <copumpkin> hmm
01:50:22 <copumpkin> take F = [], it forces the list to have one element?
01:51:02 <shachaf> I don't want parametricity exactly. Or maybe I just want it in a particular way.
01:51:35 -!- MDream has changed nick to MDude.
01:51:37 <Taneb> I do not understand your syntax
01:51:38 <shachaf> But it seems like it forces there to be a "hole" to insert the a into, since the function is linear.
01:51:44 <Taneb> What does "-o" mean?
01:52:19 <shachaf> Linear implication, but I might be using that wrong.
01:52:39 <Taneb> I don't know what linear implication is :(
01:52:49 <shachaf> It means you have to use the argument exactly once.
01:52:55 <Taneb> OK
01:53:14 <shachaf> So maybe e.g. a linear function :: A -> (A,A) would force you to insert the argument in one position of the tuple or the other.
01:53:36 <shachaf> And a linear function :: A -> (T,A) would just be a T.
01:53:43 <shachaf> So it seems a lot like a derivative.
01:54:03 <copumpkin> but it doesn't force you to insert the argument in one position or the other
01:54:13 <copumpkin> it seems like you want a "neutral element" that's not linear
01:54:15 <copumpkin> to fill the rest
01:54:25 <shachaf> Neutral?
01:54:25 <copumpkin> like a -> a -o F a
01:54:30 <copumpkin> in your example
01:54:36 <copumpkin> A -> (A , A)
01:54:42 <copumpkin> if it's linear, you simply can't write it
01:54:43 <shachaf> You have a preëxisting structure, like (A, _) or (_, A)
01:54:49 <copumpkin> oh well
01:55:00 <shachaf> Maybe you need to express that differently with linear types.
01:55:00 <copumpkin> my version doesn't need that!
01:55:06 <Taneb> So if A -> (A, A) is linear, it's isomorphic to (Bool, A)?
01:55:12 <copumpkin> or just a -o F (Maybe a)
01:55:12 <shachaf> But you just insert the A you get in the hole.
01:55:13 <copumpkin> :P
01:55:31 <shachaf> I don't understand your version.
01:56:55 <copumpkin> well, I'm just trying to capture that you have to pick where to stick your argument
01:57:06 <copumpkin> but you still need to fill in the other values
01:57:13 <copumpkin> and you can only use the argument once
01:57:28 <copumpkin> not that I think mine is right either
01:57:37 <copumpkin> if you instantiate it to list, you basically get naturals
01:57:52 <copumpkin> not even, actually
01:58:00 * copumpkin shrugs
01:58:18 <shachaf> The idea is that you "lexically capture" the rest of the structure or something. Except maybe it's more complicated with linear types.
01:58:53 <copumpkin> linear lenses? :P
01:59:01 <shachaf> ?
01:59:07 <shachaf> That seems too complicated.
01:59:17 <copumpkin> I dunno, seems like you want lensey behavior for capturing the rest
01:59:28 <copumpkin> although you don't really need both halves I guess
01:59:36 * Taneb sleep i guess
01:59:43 <shachaf> Anyway maybe e.g. (A^2 -o F A) would be a second derivative this way.
02:00:00 <shachaf> I'm not sure what you mean with lenses.
02:00:22 <copumpkin> [21:57:20] <shachaf> The idea is that you "lexically capture" the rest of the structure or something. Except maybe it's more complicated with linear types.
02:00:23 <copumpkin> just that
02:00:28 <copumpkin> reminded me of it
02:00:36 <copumpkin> haven't given it any more thought than that :)
02:01:14 <shachaf> Do you see what I'm trying to get at?
02:02:07 <copumpkin> in general, I think so, but am too tired to really think about it deeply
02:02:24 <shachaf> OK.
02:03:46 <shachaf> I kind of want parametricity (so a function can't take the A argument apart and mix it into the rest of the structure, or something like that -- is that relevant for linear types?) but I kind of don't (because an inhabitant has a specific rest-of-the-structure).
02:04:23 <shachaf> So I'm not sure what I'm getting at.
02:17:08 -!- tlvb has quit (Ping timeout: 250 seconds).
02:29:33 <shachaf> <oerjan> basically at each point x, Df is a linear function between the tangent spaces of x and f(x)
02:29:37 <shachaf> imo, like, whoa, dude
02:34:08 <copumpkin> http://www.reddit.com/r/woahdude
02:42:19 -!- AndoDaan_ has joined.
02:44:27 -!- AndoDaan has quit (Ping timeout: 272 seconds).
02:45:21 <HackEgo> [wiki] [[Brainfuck]] http://esolangs.org/w/index.php?diff=40611&oldid=40333 * 106.120.110.180 * (-27543)
02:46:43 -!- monotone_ has joined.
02:47:29 <HackEgo> [wiki] [[Brainfuck]] http://esolangs.org/w/index.php?diff=40612&oldid=40611 * 69.166.47.137 * (+27543) Undo revision 40611 by [[Special:Contributions/106.120.110.180|106.120.110.180]] ([[User talk:106.120.110.180|talk]]): unfunny
02:48:41 -!- jix_ has joined.
02:48:47 -!- mroman has joined.
02:49:56 -!- bb010g_ has joined.
02:50:01 -!- elliott has joined.
02:50:54 -!- Gracenotes has joined.
02:52:02 -!- fizzie` has joined.
02:53:27 -!- SirCmpwn_ has joined.
02:54:00 -!- SirCmpwn has quit (*.net *.split).
02:54:01 -!- fizzie has quit (*.net *.split).
02:54:02 -!- bb010g has quit (*.net *.split).
02:54:02 -!- weissschloss has quit (*.net *.split).
02:54:02 -!- jix has quit (*.net *.split).
02:54:02 -!- digitalcold has quit (*.net *.split).
02:54:03 -!- elliott_ has quit (*.net *.split).
02:54:04 -!- applybot has quit (*.net *.split).
02:54:04 -!- Gracenotes_ has quit (*.net *.split).
02:54:04 -!- mroman_ has quit (*.net *.split).
02:54:04 -!- myndzi has quit (*.net *.split).
02:54:04 -!- monotone has quit (*.net *.split).
02:54:37 -!- myndzi has joined.
02:55:33 -!- SirCmpwn_ has changed nick to SirCmpwn.
03:00:06 -!- bb010g_ has changed nick to bb010g.
03:02:40 -!- AndoDaan has joined.
03:05:24 -!- AndoDaan_ has quit (Ping timeout: 244 seconds).
03:05:58 -!- weissschloss has joined.
03:20:47 -!- applybot has joined.
03:28:13 -!- nisstyre has joined.
03:29:13 -!- nisstyre has quit (Changing host).
03:29:13 -!- nisstyre has joined.
03:59:53 -!- AndoDaan_ has joined.
04:02:40 -!- AndoDaan has quit (Ping timeout: 248 seconds).
04:02:53 -!- AndoDaan_ has changed nick to AndoDaan.
04:10:29 -!- digitalcold has joined.
04:16:06 <shachaf> See also <http://www.cs.nott.ac.uk/~txa/publ/tlca03.pdf>.
04:16:30 -!- thekey has joined.
04:19:24 -!- Sprocklem has quit (Ping timeout: 255 seconds).
04:19:40 <Sgeo> http://www.phonestory.org/banned.html
04:19:44 <Sgeo> Ah, curated app stores
04:20:15 <Sgeo> I think.. I'm in favor of a curated app store that legitimately possible to go outside of, with warnings. Something just for safety's sake
04:20:24 <Sgeo> But maybe not quite as many restrictions
04:20:34 <Sgeo> "From App Store Review Guidelines (the document is only visible to logged-in developers)."
04:20:39 <Sgeo> Oh, that's nice
04:30:57 -!- monotone_ has changed nick to polytone.
04:32:04 <MDude> Huh, I didn't know IBNIZ wasn't on the wiki until less than half a day ago.
04:32:14 <MDude> Also, Viznut's blog is gone?
04:32:43 <MDude> The one on Blogger is.
04:36:35 <zzo38> How to make a program it can use the stdin/stdout of another program it can call, both working Windows and Linux?
04:37:46 -!- Guest58927 has quit (Ping timeout: 240 seconds).
04:49:40 -!- thekey has quit (Ping timeout: 260 seconds).
04:50:05 -!- thekey has joined.
04:53:23 <zzo38> Like as in a terminal emulator that uses local program and not internet
04:56:37 <MDude> I guess the same way the terminal does.
04:57:45 <zzo38> But, I don't know what is the way, and how to make it both Windows and Linux (using #ifdef if necessary). And, possibly even in a SDL 1.x program, will need to call such thing
04:58:24 <MDude> hmm
05:00:12 -!- Sprocklem has joined.
05:01:21 <drdanmaku> MDude: http://countercomplex.blogspot.com/ ?
05:01:57 <MDude> Oh, the url on the wiki page is just mistyped.
05:02:10 <MDude> And links to http://countecomplex.blogspot.com/ instead.
05:03:29 <MDude> Ol' Count E-Complex, the pixelated vampire.
05:19:27 -!- thekey has quit (Ping timeout: 246 seconds).
05:22:39 -!- thekey has joined.
05:33:39 -!- fizzie` has changed nick to fizzie.
05:38:44 -!- HackEgo has joined.
05:38:47 <fizzie> There's one.
05:39:28 -!- fungot has joined.
05:39:32 <fizzie> And there's another.
05:39:47 <fizzie> shachaf: I see.
05:40:38 -!- Sprocklem has quit (*.net *.split).
05:40:38 -!- mroman has quit (*.net *.split).
05:40:38 -!- polytone has quit (*.net *.split).
05:40:39 -!- Sgeo has quit (*.net *.split).
05:40:39 -!- shachaf has quit (*.net *.split).
05:40:39 -!- yiyus has quit (*.net *.split).
05:40:39 -!- FireFly has quit (*.net *.split).
05:46:08 -!- Sprocklem has joined.
05:46:08 -!- mroman has joined.
05:46:08 -!- polytone has joined.
05:46:08 -!- Sgeo has joined.
05:46:08 -!- shachaf has joined.
05:46:08 -!- yiyus has joined.
05:46:08 -!- FireFly has joined.
05:49:29 -!- thekey has quit (Ping timeout: 260 seconds).
05:50:12 -!- thekey has joined.
05:50:13 -!- Sprocklem has quit (Ping timeout: 244 seconds).
06:13:43 <zzo38> Let's make a polyglot program where one of the formats is Z-machine binary.
06:17:12 <zzo38> Combining with GameBoy probably is not so difficult, because the GameBoy header does not start at the beginning of the file.
06:19:28 -!- thekey has quit (Ping timeout: 255 seconds).
06:31:14 <zzo38> PKZIP format can start at any position in the file.
06:31:29 -!- MoALTz_ has quit (Ping timeout: 260 seconds).
06:50:15 <b_jonas> in perl golf, what's the shortest way to read a line and chomp it and return it in place in a statement? is <>=~/.+/,$& really the shortest?
06:51:06 <b_jonas> hmm
06:53:57 <coppro> I can't believe I can't find a TTBB arrangement of the song of the lonely mountain
06:58:01 -!- Hexe has joined.
06:58:57 <Hexe> Hi
06:59:49 -!- Hexe has quit (Remote host closed the connection).
07:22:02 -!- S1 has joined.
07:26:25 <mroman> fizzie: Neat @gcd thingy
07:26:28 <mroman> (@A006520)
07:28:57 <int-e> b_jonas: what's wrong with just <>?
07:29:15 <b_jonas> int-e: I have to chomp it, as in remove the newline
07:29:45 <int-e> err, never mind. I read it and promptly forgot.
07:29:57 -!- Patashu has joined.
07:31:13 <mroman> fizzie: 500{ro{256g_}ms}GO#S
07:31:20 <mroman> another 20B solution
07:31:29 <mroman> @messages-loo
07:31:29 <lambdabot> oerjan said 15d 6h 59m ago: <mroman_> but it would be really huge if it were complete. <-- i'm secretly planning to split the table when it gets a bit wider.
07:31:38 <mroman> right
07:31:40 <mroman> thank you
07:32:18 <mroman> Can't you just PM me :)
07:32:22 <mroman> instead of using @tell
07:33:04 <mroman> also AndoDaan used sort instead of reverse o_O
07:33:22 <mroman> AndoDaan: why are you such a fan of #q?
07:34:04 <mroman> It's the same thing as ^p (or was it p^)
07:34:15 <mroman> !blsq {1 2 3 4}#q
07:34:15 <blsqbot> 4
07:34:18 <mroman> !blsq {1 2 3 4}^p
07:34:18 <blsqbot> 4
07:34:19 -!- Patashu has quit (Disconnected by services).
07:34:19 -!- Patashu_ has joined.
07:34:45 <b_jonas> !blsq {1 2 3 4}#q#s
07:34:46 <blsqbot> 4
07:35:09 <mroman> b_jonas: that's the problem with using #q
07:35:17 <mroman> it only works if it's at the end of the program ;)
07:35:46 <b_jonas> !blsq {1 2 3 4}#s
07:35:46 <blsqbot> {{1 2 3 4}}
07:35:54 <mroman> #q just rewrites the code of your program
07:36:20 <mroman> #q takes a list from the stack and replaces your code with it
07:36:21 <mroman> so
07:36:32 <mroman> {1 2 3 4}#q becomes 1 2 3 4
07:36:43 <mroman> !blsq {{1 2 3 4}++}#q
07:36:43 <blsqbot> 10
07:37:12 <mroman> !blsq {{1 2 3 4}++}#qthisisneverexecuted
07:37:12 <blsqbot> ERROR: (line 1, column 35):
07:37:14 <mroman> !blsq {{1 2 3 4}++}#qthisisneverexecuted.
07:37:14 <blsqbot> 10
07:37:27 -!- Patashu_ has quit (Remote host closed the connection).
07:37:38 <mroman> !blsq #Q1 2.+
07:37:38 <blsqbot> 3
07:37:39 -!- Patashu has joined.
07:37:42 <mroman> !blsq #Q1 2.+#s
07:37:42 <blsqbot> {3 {1 2 .+ #s}}
07:37:57 <mroman> !blsq #Q[-#q1 2.+#s
07:37:57 <blsqbot> {3}
07:38:30 <mroman> !blsq {#J}c!
07:38:30 <blsqbot> {#J}
07:38:40 <mroman> !blsq {0}{#J}c!
07:38:40 <blsqbot> 0
07:38:46 <mroman> !blsq {0}{#J}10C!
07:38:46 <blsqbot> 0
07:38:48 <mroman> !blsq {0}{#J}10C!#s
07:38:48 <blsqbot> {0 0 0 0 0 0 0 0 0 0 {0}}
07:39:58 <mroman> !blsq #Q#Q#Q
07:39:58 <blsqbot> {}
07:40:00 <mroman> !blsq #Q#Q#Q#s
07:40:01 <blsqbot> {{#s} {#Q #s} {#Q #Q #s}}
07:40:21 <mroman> !blsq #Q#q#Q#Q#s
07:40:21 <blsqbot> {{#s} {#Q #s}}
07:40:29 <mroman> !blsq #Q#q#Q##RQ#s
07:40:29 <blsqbot> {ERROR: Unknown command: (RQ)! ERROR: Unknown command: (##)! {## RQ #s}}
07:40:33 <mroman> !blsq #Q#q#Q#R#Q#s
07:40:33 <blsqbot> {{#s} {#R #Q #s}}
07:40:41 <mroman> hm
07:40:54 <mroman> !blsq 1 2 3{#R}3C!#s
07:40:54 <blsqbot> {1 1 1 3 2 1}
07:41:16 -!- AndoDaan has quit (Ping timeout: 250 seconds).
07:44:02 <mroman> elliott: https://diogomonica.com/posts/password-security-why-the-horse-battery-staple-is-not-correct/
07:44:07 <mroman> See? This guy gets it.
07:44:22 <mroman> The security of password is mostly determined by how likely it appears in a dictionary attack
07:45:54 <mroman> That's why using song lyrics is the way to go currently
07:46:06 <mroman> PlayItSweetly,TakeMeDown,Oh,Jazzman
07:46:55 -!- AndoDaan has joined.
07:47:14 <mroman> `? password
07:47:14 <HackEgo> The password is XQELEKCTHZVBDBQR
07:47:29 <AndoDaan> mroman: Hey. I think I noticed a small mistake in the burlesque lref.html: both l_ and g_ are defined as ^^-]\/[-\/ for blocks and strings. I think it should be ^^[~\/~] for l_
07:47:38 <mroman> oh
07:47:47 <mroman> !blsq {1 2 3 4}l_
07:47:47 <blsqbot> {1 2 3}
07:47:49 <mroman> !blsq {1 2 3 4}l_#s
07:47:49 <blsqbot> {{1 2 3} 4}
07:47:57 <mroman> !blsq {1 2 3 4}^^[~\/~]#s
07:47:58 <blsqbot> {{1 2 3} 4}
07:48:03 <mroman> AndoDaan: right. Thanks.
07:48:07 <mroman> I'll correct it immediately
07:48:27 <AndoDaan> np
07:49:11 <mroman> `learn The password of the month is 'PlayItSweetly,TakeMeDown,Oh,Jazzman'
07:49:12 <HackEgo> Learned 'password': The password of the month is 'PlayItSweetly,TakeMeDown,Oh,Jazzman'
07:51:57 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
07:55:11 <shachaf> since when is `learn so helpful
07:55:22 <mroman> since oerjan
07:55:37 <mroman> I pissed him off so he changed it.
07:55:49 <shachaf> i'll take credit for inspiring oerjan
07:56:45 <AndoDaan> mroman: "AndoDaan: why are you such a fan of #q?" idk i kinda developed some blindspots, but now that i see ^p and p^ i'll never #q#< again.
07:57:41 -!- AndoDaan_ has joined.
08:00:49 <mroman> <>#q is the same as p^
08:00:53 -!- AndoDaan has quit (Ping timeout: 240 seconds).
08:01:00 -!- AndoDaan_ has changed nick to AndoDaan.
08:01:00 <mroman> I think
08:01:10 <mroman> <>#q or ><#q
08:01:24 <mroman> also you probably could have just used <- in this case
08:01:33 <mroman> (<- is reverse)
08:01:52 <mroman> but you should only use #q if you actually want to do some freaky runtime code manipulation
08:02:27 <mroman> But I don't think one can actually do some useful runtime code manipulation
08:02:33 <mroman> so far nobody has found a use for it
08:03:06 <mroman> also
08:03:11 <mroman> !blsq {1 2 3 4}e!
08:03:11 <blsqbot> 4
08:03:29 <mroman> e! has almost the same effect as #q at the end of programs
08:03:29 <AndoDaan> yeah
08:03:47 <mroman> you can't do anything after a #q
08:03:51 <mroman> !blsq {1 2 3 4}#q#s
08:03:51 <blsqbot> 4
08:03:52 <mroman> vs
08:03:55 <mroman> !blsq {1 2 3 4}e!#s
08:03:55 <blsqbot> {4 3 2 1}
08:04:01 <mroman> !blsq {1 2 3 4}10E!#s
08:04:01 <blsqbot> {4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1
08:04:15 <mroman> !blsq {1 2 3 4}10.*#s
08:04:15 <blsqbot> {{{1 2 3 4} {1 2 3 4} {1 2 3 4} {1 2 3 4} {1 2 3 4} {1 2 3 4} {1 2 3 4} {1 2 3 4
08:04:26 <mroman> ^- I'll give you this free trick :)
08:04:34 <AndoDaan> doesn't stop me trying... #Q #q #j #J are going to wow one day, mark my words
08:04:45 <mroman> 10E! is shorter than 10.*\[
08:05:03 <mroman> *10E!#s
08:05:13 <AndoDaan> !blsq 10E!#s
08:05:13 <blsqbot> {ERROR: Burlesque: (e!) Invalid arguments! ERROR: Burlesque: (\[) Invalid argume
08:05:23 <AndoDaan> !blsq *10E!#s
08:05:23 <blsqbot> {ERROR: Burlesque: (e!) Invalid arguments! ERROR: Burlesque: (\[) Invalid argume
08:05:25 <mroman> !blsq {1 2 3 4}10.*\[#s
08:05:25 <blsqbot> {{1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3
08:05:35 <mroman> !blsq {1 2 3 4}10.*\[
08:05:35 <blsqbot> {1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
08:05:44 <AndoDaan> oh just executing something n times
08:05:49 <mroman> yeah
08:06:09 <mroman> it depends on the ordering of the list though
08:06:26 <mroman> but in certain rare cases E! is better than doing .*
08:15:26 -!- Patashu has changed nick to Patashu_.
08:15:59 -!- Patashu_ has changed nick to Patashu.
08:16:56 -!- AndoDaan_ has joined.
08:18:43 -!- AndoDaan has quit (Ping timeout: 258 seconds).
08:18:49 -!- AndoDaan_ has changed nick to AndoDaan.
08:21:45 <Sgeo> zzo38: https://www.reddit.com/r/programming/comments/2j49x1/a_cpu_emulated_in_tex/
08:45:41 -!- tlvb has joined.
09:00:55 <mroman> Sgeo: I don't see an emulator there
09:01:00 <mroman> where is it?
09:01:27 <mroman> I used to think the definition of insanity was doing the same thing and expecting a different result.
09:01:42 <mroman> ^- by that logic every language with side-effects is effectively insane
09:02:39 <mroman> oh wait
09:02:42 <mroman> reddit titles are links?
09:02:43 <mroman> wth
09:05:47 <mroman> AndoDaan: How's that ARM Emulator you're writing in Burlesque going?
09:08:08 <AndoDaan> terrible. i'm gonna make use of zzo38's HELP thingie, or divise something like that myself to help me keep this straight. writing it straight, it just gets muddled in my head.
09:09:12 <mroman> hm
09:09:25 <mroman> !blsq "ADD R0 R1"wd
09:09:25 <blsqbot> {"ADD" "R0" "R1"}
09:09:49 <mroman> !blsq {"RO" 3 "R1" 2}"ADD R0 R1"wd
09:09:49 <blsqbot> {"ADD" "R0" "R1"}
09:10:12 <mroman> !blsq {"RO" 3 "R1" 2}"ADD R0 R1"wdJ[-
09:10:12 <blsqbot> {"R0" "R1"}
09:10:15 <mroman> !blsq {"RO" 3 "R1" 2}"ADD R0 R1"wdJ-]
09:10:15 <blsqbot> "ADD"
09:10:37 <mroman> !blsq {"RO" 3 "R1" 2}"ADD R0 R1"wdJ-]{{"ADD"==}{"It's an add instruction"}}CNe!
09:10:37 <blsqbot> ERROR: Burlesque: (e!) Invalid arguments!
09:10:40 <mroman> !blsq {"RO" 3 "R1" 2}"ADD R0 R1"wdJ-]{{"ADD"==}{"It's an add instruction"}}CN
09:10:40 <blsqbot> 0
09:10:43 <mroman> damn
09:10:49 <mroman> !blsq {"RO" 3 "R1" 2}"ADD R0 R1"wdJ-]{{"ADD"==}{"It's an add instruction"}}cn
09:10:49 <blsqbot> {"It's an add instruction"}
09:10:51 <mroman> ah
09:10:53 <mroman> better
09:10:56 <mroman> !blsq {"RO" 3 "R1" 2}"ADD R0 R1"wdJ-]{{"ADD"==}{"It's an add instruction"}}cne!
09:10:56 <blsqbot> "It's an add instruction"
09:10:59 <mroman> !blsq {"RO" 3 "R1" 2}"ADD R0 R1"wdJ-]{{"ADD"==}{"It's an add instruction"}}cne!#S
09:10:59 <blsqbot> "It's an add instruction"
09:11:12 <mroman> !blsq {"RO" 3 "R1" 2}"ADD R0 R1"wdJ-]{{"ADD"==}{"It's an add instruction"}}cne!#s
09:11:12 <blsqbot> {"It's an add instruction" {"ADD" "R0" "R1"} {"RO" 3 "R1" 2}}
09:11:27 <mroman> screw it
09:11:38 <mroman> It could be done though
09:11:49 <mroman> pretty easily if it had variables actually
09:12:27 <AndoDaan> i've been looking how to do that with cn
09:12:57 -!- S1 has quit (Quit: S1).
09:13:04 <mroman> cn want's a block with {condition1 code1 condition2 code2 condition3 code3}
09:13:25 <mroman> !blsq 2{{1==}9{2==}8{3==}0}}cn
09:13:25 <blsqbot> {{1 ==} 9 {2 ==} 8 {3 ==} 0}
09:13:47 <mroman> !blsq 2{{1==}9{2==}8{3==}0}cn
09:13:47 <blsqbot> 8
09:13:51 <mroman> !blsq 3{{1==}9{2==}8{3==}0}cn
09:13:51 <blsqbot> 0
09:13:55 <mroman> !blsq 5{{1==}9{2==}8{3==}0}cn
09:13:55 <blsqbot> 5
09:14:07 <AndoDaan> yeah, if i can keep a cn and use is as the... memory i guess
09:14:21 <mroman> !blsq 5{{1==}9{2==}8{3==}0{vv1}"ERROR"}cn
09:14:21 <blsqbot> "ERROR"
09:14:33 <mroman> You can just use a list as memory
09:14:44 <mroman> !blsq 0bx10.*\[
09:14:44 <blsqbot> {0 0 0 0 0 0 0 0 0 0}
09:14:50 <mroman> !blsq 0bx10.*\[ 5 3sa
09:14:50 <blsqbot> {0 0 0 5 0 0 0 0 0 0}
09:15:04 <mroman> !blsq 0bx10.*\[ 5 3sa6 4sa
09:15:04 <blsqbot> {0 0 0 5 6 0 0 0 0 0}
09:15:49 <AndoDaan> it's just easier for me if i can see it{{"R0"==}{1} {"R1"==}{3}}cn
09:15:57 <AndoDaan> for example
09:16:01 <mroman> ah, yeah
09:16:24 <mroman> !blsq "ADD R0 R1"wd
09:16:24 <blsqbot> {"ADD" "R0" "R1"}
09:16:56 <mroman> !blsq 1{{{"R0"==}1{"R1=="}3}cn}"ADD R0 R1"ap
09:16:56 <blsqbot> ERROR: Burlesque (ap): Invalid arguments!
09:16:59 <mroman> damn
09:17:08 <mroman> !blsq 1{{{"R0"==}1{"R1=="}3}cn}"ADD R0 R1"wdap
09:17:09 <blsqbot> ERROR: Burlesque (ap): Invalid arguments!
09:17:11 <mroman> fu
09:17:13 <mroman> !blsq 1{{{"R0"==}1{"R1=="}3}cn}"ADD R0 R1"wd#s
09:17:13 <blsqbot> {{"ADD" "R0" "R1"} {{{"R0" ==} 1 {"R1=="} 3} cn} 1}
09:17:36 <mroman> !blsq {{{"R0"==}1{"R1=="}3}cn}1"ADD R0 R1"wdap
09:17:36 <blsqbot> {{{"R0" ==} 1 {"R1=="} 3} "R1"}
09:17:44 <mroman> hm
09:17:45 <mroman> weird
09:18:04 <mroman> !blsq 2{?i}{1 2 3 4}ap
09:18:04 <blsqbot> ERROR: Burlesque (ap): Invalid arguments!
09:18:16 <mroman> !blsq {?i}2{1 2 3 4}ap
09:18:16 <blsqbot> That line gave me an error
09:18:21 <mroman> !blsq {?i}{1 2 3 4}2ap
09:18:21 <blsqbot> That line gave me an error
09:18:24 <mroman> wth
09:18:30 <AndoDaan> !blsq "ADD R0 R1"wd{{{"R0"==}{1} {"R1"==}{3}}cn}m[
09:18:30 <blsqbot> {"ADD" {1} {3}}
09:19:00 <mroman> !blsq {1 2 3 4}{?i}2ap
09:19:00 <blsqbot> {1 2 4 4}
09:19:09 <mroman> damn documentation is wrong!
09:19:17 <AndoDaan> !blsq "ADD R0 R1"wd{{{"R0"==}{1} {"R1"==}{3} {"ADD}{.+}}m[
09:19:17 <blsqbot> ERROR: (line 1, column 53):
09:19:20 <AndoDaan> !blsq "ADD R0 R1"wd{{{"R0"==}{1} {"R1"==}{3} {"ADD}{.+}}m[
09:19:21 <blsqbot> ERROR: (line 1, column 53):
09:19:27 <AndoDaan> !blsq "ADD R0 R1"wd{{{"R0"==}{1} {"R1"==}{3} {"ADD}{.+}}}m[
09:19:27 <blsqbot> ERROR: (line 1, column 54):
09:19:47 <AndoDaan> !blsq "ADD R0 R1"wd{{{"R0"==}{1} {"R1"==}{3} {"ADD"==}{.+}}cn}m[
09:19:48 <blsqbot> {{.+} {1} {3}}
09:19:49 <mroman> !blsq {{{"R0"==}1{"R1=="}3}cn}"ADD R0 R1"wd1ap
09:19:49 <blsqbot> {{{"R0" ==} 1 {"R1=="} 3} "R1"}
09:20:03 <mroman> !blsq {{{"R0"==}1{"R1"==}3}cn}"ADD R0 R1"wd1ap
09:20:03 <blsqbot> {{{"R0" ==} 1 {"R1" ==} 3} "R1"}
09:20:11 <AndoDaan> !blsq "R0 R1 ADD"wd{{{"R0"==}{1} {"R1"==}{3} {"ADD"==}{.+}}cn}m[
09:20:11 <blsqbot> {{1} {3} {.+}}
09:20:16 <AndoDaan> !blsq "R0 R1 ADD"wd{{{"R0"==}{1} {"R1"==}{3} {"ADD"==}{.+}}cn}m[++
09:20:16 <blsqbot> {1 3 .+}
09:20:19 <AndoDaan> !blsq "R0 R1 ADD"wd{{{"R0"==}{1} {"R1"==}{3} {"ADD"==}{.+}}cn}m[++e!
09:20:19 <blsqbot> 4
09:20:39 <mroman> !blsq {{{"R0"==}1{"R1"==}3}cn}"ADD R0 R1"wdj1ap
09:20:39 <blsqbot> {"ADD" 1 "R1"}
09:20:42 <mroman> hehe
09:20:50 <mroman> there you go
09:20:57 <AndoDaan> maybe keep the cn block in the state stack and push it down where needed
09:21:05 <mroman> !blsq "ADD R0 R1"wd{{{"R0"==}1{"R1"==}3}cn}1ap
09:21:05 <blsqbot> {"ADD" 1 "R1"}
09:21:27 <mroman> !blsq "ADD R0 R1"wd{{{"R0"==}1{"R1"==}3}cn}JPp1appP2ap
09:21:27 <blsqbot> {"ADD" 1 3}
09:22:25 <mroman> no variables is so much pain in the ass for complicated stuff
09:22:39 <mroman> JPp1appP2ap
09:22:44 <mroman> that's so readable
09:27:18 <mroman> !bfjoust rushit (>-->+)*4(>[(+)*7[-].](+)*1)*-1
09:27:19 <zemhill> mroman.rushit: points -9.48, score 13.27, rank 44/47
09:29:24 -!- AndoDaan_ has joined.
09:31:37 -!- AndoDaan has quit (Ping timeout: 255 seconds).
09:31:52 -!- AndoDaan_ has changed nick to AndoDaan.
09:33:02 <fizzie> mroman: I still haven't had the occasion to figure out what's wrong there, so take all the results with a grain of salt.
09:38:55 <mroman> ah. ok
09:39:23 <mroman> !bfjoust kthxbye >(+)*7<(++-)*-1
09:39:26 <zemhill> mroman.kthxbye: points -5.52, score 14.98, rank 44/47
09:41:39 <mroman> !bfjoust kthxbye >(+)*20<(++-)*-1
09:41:41 <zemhill> mroman.kthxbye: points -4.90, score 15.28, rank 43/47 (+1)
09:42:01 <mroman> !bfjoust kthxbye (>(+)*10)*3<<<(++-)*-1
09:42:03 <zemhill> mroman.kthxbye: points -6.52, score 14.19, rank 45/47 (-2)
09:42:07 <mroman> :(
09:57:11 -!- S1 has joined.
09:59:45 -!- King2218 has joined.
10:16:29 -!- boily has joined.
10:27:04 -!- AndoDaan has quit (Ping timeout: 260 seconds).
10:57:10 -!- AndoDaan has joined.
10:59:35 -!- King2218 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
11:12:40 -!- boily has quit (Quit: MELLIFLUOUS CHICKEN).
11:27:17 <HackEgo> [wiki] [[Talk:Fugue]] http://esolangs.org/w/index.php?diff=40613&oldid=20544 * 188.126.200.132 * (+141)
11:38:34 -!- j-bot has quit (Remote host closed the connection).
11:42:38 -!- tlvb has quit (Quit: WeeChat 1.0.1).
11:54:11 -!- S1 has quit (Quit: S1).
12:08:32 -!- sebbu2 has joined.
12:09:08 -!- sebbu2 has quit (Changing host).
12:09:08 -!- sebbu2 has joined.
12:10:52 -!- sebbu has quit (Ping timeout: 240 seconds).
12:20:36 -!- oerjan has joined.
12:22:20 -!- sebbu2 has quit (Ping timeout: 260 seconds).
12:22:52 -!- sebbu has joined.
12:23:27 -!- sebbu has quit (Changing host).
12:23:27 -!- sebbu has joined.
12:24:09 -!- S1 has joined.
12:28:18 <oerjan> `dontaskdonttelllist
12:28:19 <HackEgo> dontaskdonttelllist: q​u​i​n​t​o​p​i​a​ c​o​p​p​r​o​ m​y​n​a​m​e​
12:28:34 <oerjan> `run echo mroman >> bin/dontaskdonttelllist
12:28:35 <HackEgo> No output.
12:28:58 <mroman> I have irssi running on a server.
12:29:12 <mroman> So I can read stuff days after you wrote it as a /query to me
12:29:18 <oerjan> good, good
12:29:25 <oerjan> um wait
12:29:33 <oerjan> what if i ping you in channel?
12:29:40 <mroman> "ping"?
12:29:54 <mroman> Like "<oerjan> mroman: hi there"?
12:29:55 <oerjan> i mean what if i say it in this channel
12:30:08 <mroman> oerjan: Then I might overlook it
12:30:09 <oerjan> no, the actual message
12:30:14 <oerjan> mroman: oh.
12:30:17 <oerjan> `revert
12:30:18 <HackEgo> Done.
12:30:38 <mroman> I don't read the logfiles
12:30:45 <mroman> I just read the buffer which is I don't know
12:30:49 <mroman> 2 days or something?
12:30:50 <oerjan> i'm sorry but that's not something my brain is prepared to do, since i naturally trust privmsg even less than the channel
12:30:55 <mroman> depends on how much activity there is in this channel
12:31:08 <oerjan> i always search for my own nick in the log files
12:31:12 <mroman> but the backlog/buffer for query lasts like forever
12:31:33 <mroman> oerjan: I don't mind @tell
12:31:45 <oerjan> hm...
12:31:46 <mroman> It's just that lambdabot recently tells me the same things again and again :D
12:32:05 <oerjan> well that's a problem with lambdabot not saving stuff
12:32:15 <oerjan> which int-e intends to fix, i think
12:32:18 <mroman> (which isn't really a big deal)
12:32:35 <oerjan> (btw does this mean lambdabot also lost my recent @tell's to int-e?)
12:33:02 <oerjan> `run echo "mroman (use query)" >> bin/dontaskdonttelllist
12:33:02 <mroman> but it just told me something that was 15ds old and I've already read that
12:33:03 <HackEgo> No output.
12:33:09 <oerjan> just realized i can do that
12:33:22 <mroman> either way is fine. But I'd prefer query
12:33:24 <oerjan> `dontaskdonttelllist
12:33:25 <HackEgo> dontaskdonttelllist: q​u​i​n​t​o​p​i​a​ c​o​p​p​r​o​ m​y​n​a​m​e​ m​r​o​m​a​n​ ​(​u​s​e​ ​q​u​e​r​y​)​
12:33:50 <oerjan> hm that looks eerily like it might apply to all of them
12:33:54 <oerjan> `revert
12:33:55 <HackEgo> Done.
12:34:05 <oerjan> `run echo "mroman(use query)" >> bin/dontaskdonttelllist
12:34:07 <HackEgo> No output.
12:34:11 <oerjan> see if that helps
12:35:43 <mroman> Is this list "by convention"
12:35:47 <mroman> or does lambdabot read it?
12:35:59 <oerjan> it's by convention and i read it
12:36:21 <oerjan> i suppose others _might_ if they have as bad a memory as me, but then how do they remember the list exists...
12:36:34 <oerjan> well selective
12:36:53 <oerjan> it can remember the strangest things. comes with being a geek/nerd, i guess.
12:38:03 <oerjan> (iwc has a poll about geek/nerd right now, and i gave up deciding whether any answer fits me)
12:40:00 <Melvar> < mroman> elliott: https://diogomonica.com/posts/password-security-why-the-horse-battery-staple-is-not-correct/ < mroman> That's why using song lyrics is the way to go currently – What about obscure unicode characters?
12:41:17 <oerjan> the problem with obscure unicode characters is that you may have to adapt your password to sites that only accept ASCII.
12:41:54 <oerjan> *+scheme
12:42:18 <fizzie> The other problem is sites that do accept non-ASCII but do ridiculous and unpredictable transformations.
12:42:44 <Melvar> fizzie: How does that happen?
12:44:42 <fizzie> Different kind of pipeline for the part that sticks the password somewhere than the part that validates it when logging in, perhaps. And then there's the client-side woes. I'm not sure how you conventiently enter obscure Unicode characters on e.g. Android.
12:45:41 <Melvar> “Different kind of pipeline”?
12:47:38 -!- Patashu has quit (Ping timeout: 250 seconds).
12:47:40 <b_jonas> there are sites that don't accept non-ascii in passwords?
12:48:01 <b_jonas> I mean, I could sort of understand if a site doesn't accept some low control characters
12:48:09 <Melvar> (I have had something like this happen once, where a client had broken unicode support on one platform but not another.)
12:48:28 <b_jonas> but why would they not accept non-ascii? they don't really have to do any manipulation with the password besides eq compare, right?
12:48:59 <mroman> they should compare hashes only
12:49:12 <mroman> so "my db doesn't support unicode" isn't really an excuse
12:49:32 <Melvar> b_jonas: The only way the backend inspects your password input should be hashing it. However, we know that multitudes of shittily-made sites are stupid instead.
12:49:39 <fizzie> They need to do validation for their password rules, of course.
12:49:44 <mroman> yes
12:49:52 <mroman> it needs to have at least one upper-case letter
12:49:53 <mroman> and
12:49:59 <mroman> `unicode INFINITY
12:50:00 <HackEgo> ​∞
12:50:14 <mroman> this isn't upper-case
12:50:25 <Melvar> > Var $ repeat '∞'
12:50:27 <lambdabot> Not in scope: data constructor ‘Var’
12:50:44 <Melvar> Hmm, what was that thing …
12:50:54 <oerjan> Melvar: try lowe case hth
12:50:54 <fizzie> It doesn't have a case, not being a letter.
12:50:58 <oerjan> *+r
12:51:35 <Melvar> mroman: The better question: Is Ş considered uppercase by their processing?
12:51:42 <Melvar> > var $ repeat '∞'
12:51:44 <lambdabot> ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞...
12:52:33 <fizzie> `unicode Ş
12:52:33 <HackEgo> U+015E LATIN CAPITAL LETTER S WITH CEDILLA \ UTF-8: c5 9e UTF-16BE: 015e Decimal: &#350; \ Ş (ş) \ Lowercase: U+015F \ Category: Lu (Letter, Uppercase) \ Bidi: L (Left-to-Right) \ Decomposition: 0053 0327
12:52:46 <fizzie> Just checking.
12:52:56 <oerjan> OKAY
12:54:01 <fizzie> `unicode DZ
12:54:02 <HackEgo> U+01F1 LATIN CAPITAL LETTER DZ \ UTF-8: c7 b1 UTF-16BE: 01f1 Decimal: &#497; \ DZ (dz) \ Lowercase: U+01F3 \ Category: Lu (Letter, Uppercase) \ Bidi: L (Left-to-Right) \ Decomposition: <compat> 0044 005A
12:54:12 <Melvar> > map ($'ʔ') [isLetter, isUpper, isLower]
12:54:14 <lambdabot> [True,False,False]
12:54:20 <fizzie> Aw, the reply doesn't mention Dz at all.
12:54:24 <oerjan> ^show
12:54:24 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord prefixes tmp test celebrate wiki chr ha rainbow rainbow2 welcome me tell eval elikoski list ping def a thanks tmp2
12:54:33 <oerjan> ^asc a
12:54:33 <fungot> 97.
12:54:37 <oerjan> ^show asc
12:54:37 <fungot> >>,[-<+2>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[<[-]+>->+<[<-]]]]]]]]]]>]<2[>+6[<+8>-]<-.[-]<]+10.
12:54:58 <fizzie> There's an extra newline at the end.
12:55:00 <fizzie> ^ord a
12:55:00 <fungot> 97
12:55:02 <oerjan> i think that's considerably smaller than that thing from stackoverflow in the wiki
12:55:02 <fizzie> That's better.
12:55:08 <fizzie> ^show ord
12:55:08 <fungot> >>,[[-<+2>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[<[-]+>->+<[<-]]]]]]]]]]>]<2[>+6[<+8>-]<-.[-]<]+32.[-]>>,]
12:55:16 <fizzie> Also does multiple characters.
12:55:31 <fizzie> I guess that means there's an extra *space* at the end, but it's less offensive, arguably.
12:55:52 <fizzie> I'm not sure why we be having redundant stuffs.
12:56:03 <oerjan> fizzie: i think your algorithm looks better than http://esolangs.org/wiki/Brainfuck_algorithms#Print_value_of_cell_x_as_number
12:56:15 <fizzie> I'm pretty sure I just copied that from somewhere.
12:56:21 <Melvar> This reminds me of the thing I tried to do with idris recently, namely use a type provider to read in UnicodeData.txt .
12:56:21 <oerjan> ah.
12:57:49 <Melvar> It turns out that the longer it goes, the slower it gets, so reading in the whole thing is currently out of the question.
12:57:50 <fizzie> However, I have no idea from where, which makes it hard to give proper credit.
12:58:19 <fizzie> oerjan: http://mazonka.com/brainf/ perhaps.
12:59:17 <fizzie> It looks identical
13:00:56 <oerjan> i think this might not be the best time to try to load that link they just broadcasted
13:01:05 <oerjan> *freenode
13:14:38 <fizzie> `run echo 'weiß' | perl -C7 -ne 'print lc uc' # case is hard
13:14:39 <HackEgo> weiss
13:15:48 -!- AndoDaan_ has joined.
13:16:10 <mroman> ^show ?
13:16:21 <mroman> ^show
13:16:21 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord prefixes tmp test celebrate wiki chr ha rainbow rainbow2 welcome me tell eval elikoski list ping def a thanks tmp2
13:16:27 <mroman> ^show rev
13:16:27 <fungot> >,[>,]<[.<]
13:16:42 <mroman> ^show ping
13:16:42 <fungot> (That Pong alone cannot stop!)S
13:16:53 <mroman> ^help
13:16:53 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
13:17:16 <mroman> ^bool
13:17:16 <fungot> Yes.
13:17:24 <mroman> I *knew* it.
13:17:43 -!- AndoDaan has quit (Ping timeout: 258 seconds).
13:17:46 <AndoDaan_> is bool truly random?
13:17:52 <AndoDaan_> ^bool
13:17:52 <fungot> Yes.
13:18:01 <AndoDaan_> really?
13:18:02 <AndoDaan_> ^bool
13:18:02 <fungot> Yes.
13:18:08 <AndoDaan_> idk
13:18:12 <fizzie> ^bool
13:18:12 <fungot> Yes.
13:18:16 <fizzie> So positive.
13:18:29 <AndoDaan_> ^bool
13:18:29 <fungot> Yes.
13:18:35 <AndoDaan_> ^bool d
13:18:37 <mroman> It's biased towards Yes
13:18:43 <fizzie> It doesn't take arguments.
13:19:12 <AndoDaan_> would be weird it did.
13:19:26 <AndoDaan_> if it did*
13:19:28 <fizzie> And I'm pretty sure it's equidistributed.
13:20:03 <AndoDaan_> ^bool
13:20:04 <fungot> Yes.
13:20:12 <AndoDaan_> ^bool
13:20:12 <fungot> Yes.
13:20:26 <fizzie> ^8ball Is ^bool biased or not?
13:20:26 <fungot> Yes.
13:20:37 <fizzie> ^8ball Yes, it's biased, or yes, it's not?
13:20:37 <fungot> Yes.
13:20:47 <fizzie> ^8ball Are you doing this just to be difficult?
13:20:47 <fungot> Yes.
13:20:54 <fizzie> ^8ball ...
13:20:54 <fungot> No.
13:21:06 <AndoDaan_> finally.
13:21:14 <fizzie> Note that that's not from ^bool.
13:21:20 <AndoDaan_> i feel much better now.
13:21:25 <fizzie> ^bool
13:21:25 <fungot> No.
13:21:31 <fizzie> Well.
13:21:38 <AndoDaan_> FINALLY
13:21:50 <mroman> It's still biased towards yes
13:21:51 <mroman> ^bool
13:21:52 <fungot> No.
13:21:53 <mroman> ^bool
13:21:54 <fungot> Yes.
13:21:56 <mroman> ^bool
13:21:56 <fungot> No.
13:21:57 <mroman> ^bool
13:21:58 <fungot> No.
13:22:00 <mroman> hm
13:22:02 <mroman> ^bool
13:22:02 <fungot> Yes.
13:22:05 <mroman> maybe not
13:22:08 <mroman> ^bool
13:22:09 <fungot> Yes.
13:22:12 <mroman> ^bool
13:22:12 <fungot> Yes.
13:22:36 <mroman> Maybe we humans are biased to think it's biased.
13:22:38 <mroman> ^bool
13:22:39 <fungot> Yes.
13:22:46 <mroman> ^bool
13:22:46 <fungot> No.
13:22:52 <mroman> > (0.5)**4
13:22:56 <lambdabot> 6.25e-2
13:23:31 <mroman> there's only a 6.25% chance that you get 4 yes in a row
13:24:27 <fizzie> I never said it was random, just that it will return equally many Yes and No answers if you do it approximately 16*((2^31) - 1) times.
13:25:35 -!- spiette has joined.
13:25:35 <fizzie> It's essentially just do { i = random() % 4; } while (i < 1 || i > 2); for the random in <stdlib.h>.
13:25:52 -!- AndoDaan_ has quit (Ping timeout: 248 seconds).
13:28:07 <fizzie> And then i == 1 ? "No." : "Yes." after that.
13:29:20 <fizzie> Fun fact: for a pathological implementation of random(), ^bool could block indefinitely.
13:29:56 <mroman> why not just use random()%2?
13:30:10 <mroman> oh. befunge?
13:30:12 <mroman> ^show bool
13:30:19 <mroman> hm
13:30:19 -!- AndoDaan has joined.
13:30:20 <fizzie> Yes, it's a built-in.
13:30:25 <fizzie> And it was slightly easier.
13:30:34 <mroman> ^show
13:30:34 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord prefixes tmp test celebrate wiki chr ha rainbow rainbow2 welcome me tell eval elikoski list ping def a thanks tmp2 8ball
13:30:35 <FireFly> ^reverb this is a test
13:30:35 <fungot> tthhiiss iiss aa tteesstt
13:30:38 <b_jonas> ah right, befunge has a four-way random that rolls the execution direction
13:30:47 <mroman> ^rainbow
13:30:51 <mroman> ^rainbow mo
13:30:51 <fungot> mo
13:31:07 <mroman> ^rainbow BeFuNgE
13:31:08 <fungot> BeFuNgE
13:31:19 <fizzie> http://sprunge.us/JeXZ essentially.
13:32:13 <FireFly> the < below the ? in the second one should be a >, no?
13:32:22 <fizzie> Yes.
13:32:41 <mroman> where's the fungot source code?
13:32:41 <fungot> mroman: you wouldn't translate " word wrap" as " an abstract data type ( a b c)
13:32:46 <fizzie> ^source
13:32:46 <fungot> https://github.com/fis/fungot/blob/master/fungot.b98
13:33:08 <fizzie> fungot: No, I wouldn't, you're right about that.
13:33:09 <fungot> fizzie: go away, learn to enjoy being bad at it, forcer?
13:33:16 <fizzie> Okay. :(
13:33:27 <mroman> does it use EsoAPI or something?
13:34:25 <fizzie> No, it's just Funge-98.
13:34:37 <fizzie> There's a "SOCK" fingerprint for sockets.
13:37:19 <mroman> ^raw hi
13:37:42 <fizzie> It also uses STRN for general easiness, and REXP for the ignore list, and FILE for the babbling, and FING to use STRN and FILE at the same time, and SUBR for ^code, and TOYS for an easy fungespace clear for ^reload, and... I guess that's it. Except it loads SCKE and doesn't use it; the whole SCKE was a bad idea anyway. There was lots of talk about NSCK that'd be properly getaddrinfo/IPv6/etc-ish, but that never materialized.
13:38:15 <fizzie> (The reload, raw, code, save and ignore commands are all owner-only.)
13:38:34 <mroman> ^raw PRIVMSG #esoteric :Hi there!
13:38:37 <mroman> oh :(
13:42:51 <blsqbot> Hi fungot!
13:43:16 <fungot> Hi, blsqbot!
13:44:39 <blsqbot> How's the wheather in fungespace?!
13:48:30 -!- AndoDaan_ has joined.
13:49:14 <fungot> Discrete!
13:49:24 -!- AndoDaan has quit (Ping timeout: 246 seconds).
13:49:42 -!- AndoDaan_ has changed nick to AndoDaan.
14:16:47 -!- shikhin has joined.
14:19:05 -!- S1 has quit (Ping timeout: 260 seconds).
14:21:59 <HackEgo> [wiki] [[User:Viznut]] http://esolangs.org/w/index.php?diff=40614&oldid=40609 * Oerjan * (+1) Taking the liberty of fixing a link typo
14:27:09 <mroman> Good pun.
14:28:05 <mroman> !blsq_uptime
14:28:06 <blsqbot> 12d 19h 29m 40s
14:30:50 <HackEgo> [wiki] [[Talk:Fugue]] M http://esolangs.org/w/index.php?diff=40615&oldid=40613 * Oerjan * (+102) unsigned
14:31:27 <oerjan> mroman: wait what pun
14:34:49 <mroman> The discrete pun.
14:41:05 <oerjan> my mind tells me it's missing something, like any actual meaning of "discrete" in meteorology
14:41:33 <oerjan> possibly i'm simply missing the real pun.
14:48:31 -!- S1 has joined.
14:48:42 -!- S1 has quit (Remote host closed the connection).
14:48:51 -!- S1 has joined.
14:53:12 <elliott> mroman: I know you're just trolling me because that's not what the post says at all.
14:54:09 <mroman> It does say that the security depends on how likely it appears in a dictionary attack.
14:55:17 <mroman> "and should consider first and foremost how dictionary-attack resistant the passwords is."
14:56:34 <mroman> The other stuff is trolling, yes.
14:59:23 <mroman> Of course, a 20 characters long random password is most likely really dictionary-attack resistant
14:59:44 -!- mihow has joined.
15:00:10 <mroman> (Of course, there's a chance that the generated password is "111111111111111111" which doesn't look realy safe and might not be very dictionary-attack resistant)
15:00:40 <Slereah> What about 1111111111111111111111111111111111111111111111111111111111111111
15:00:56 <Slereah> I wonder at what length such a password is dictionary attack resistant
15:01:03 <Slereah> I guess whatever set length they use
15:01:07 <Slereah> 64 chars???
15:01:15 <mroman> I find it hard to reason about dictionary-attack resistant
15:02:11 <mroman> Is "Qj098HNH?_sn@7894%^1$#=9/]" a good password?
15:03:08 <Slereah> The best password is hieroglyphs
15:03:22 <Slereah> You can write simple words and nobody will think to use that section of unicode!
15:06:52 <mroman> http://codepad.org/U7xQArjr
15:07:22 <fizzie> You just ruined 974 perfectly good passwords!
15:07:40 <mroman> ^- if your password is in there it's unsafe
15:07:46 -!- AndoDaan has quit (Ping timeout: 255 seconds).
15:09:08 -!- drdanmaku has joined.
15:10:17 <Slereah> why?
15:10:36 <mroman> because it's in a dictionary
15:11:01 <Slereah> But is it in most dictionaries?
15:11:15 <Slereah> I mean you could generate all character chains and put it in a dictionary!
15:12:05 <mroman> Passwords all have a common weakness
15:12:08 <mroman> You can GUESS them
15:12:12 <mroman> end of discussion :)
15:12:48 <Slereah> What if you use a soul detector
15:12:58 <Slereah> only responds to the metaphysical peculiarities of your soul
15:13:21 <mroman> The only thing you can do is limit the amount of guesses an attacker can reasonably make in certain amount of time
15:13:45 <mroman> Just picture you standing in ancient rome
15:13:53 <mroman> and somebody wants to enter your secret cave
15:13:53 <quintopia> mroman: that's impossible in practice
15:13:59 <mroman> but he doesn't know the password
15:14:03 <Slereah> mroman : Is it a barbarian
15:14:12 <mroman> so you just let him stand there and say "no, that's not it" until he gets it right?
15:14:14 <quintopia> well, impossible from the perspective of the password chooser
15:14:15 <mroman> Of course not.
15:14:23 <mroman> You'll punch him in the face and feed him to the lions.
15:14:27 <quintopia> obv the hasher can use a very slow hash to slow down attackers
15:15:19 -!- AndoDaan has joined.
15:15:20 <mroman> If an attacker can make only one attempt
15:15:43 <mroman> Is "123123" a worse password than "ACqaQn"?
15:16:15 <oerjan> yes hth
15:16:56 <mroman> Because a human is more likely to guess with his only attempt he has "123123"?
15:17:03 <mroman> than he is to guess "ACqaQn"?
15:17:52 <oerjan> yes hth
15:17:57 <mroman> so it's more of a social/physicological than a technical problem
15:18:02 <mroman> *psychological
15:18:55 <mroman> Maybe the guesser reasons that since you're not stupid you didn't choose "123123" and tries to guess for something more clever.
15:19:28 <mroman> but he might also reason that you just assume that people think you're clever and did choose a clever password so in order to be extra clever you chose a non-clever password
15:20:00 <AndoDaan> sounds like a game The Sicillian would play.
15:20:40 <mroman> quintopia: but the provider can
15:21:13 <mroman> and should
15:21:53 <mroman> I understand that not everbody can provide two-factor-auth through SMS
15:21:57 <mroman> (since sending SMS probably costs money)
15:22:06 <mroman> but AT LEAST you can use two-factor-auth via e-mail.
15:22:43 <mroman> which means you can easily limit the amounts of guesses an attacker can make EVEN IF the attack has control over your e-mail account
15:23:13 <mroman> because you just hand-out a two-factor-auth token every ten minutes or so
15:24:30 <mroman> Limiting IPs to a one attempt every ten minute isn't practical
15:24:40 <mroman> but if you do it through a two-factor-auth via e-mail it is.
15:25:23 <oerjan> why isn't it practical
15:25:30 <mroman> NAT?
15:25:41 <mroman> Because multiple people may share the same external IP?
15:25:51 <oerjan> hmph
15:26:36 <oerjan> what about limiting to n _failed_ attempts every ten minute
15:26:40 <elliott> it is practical to limit (acount,IP) to one attempt every 10 minutes.
15:26:44 <elliott> *account
15:27:13 <oerjan> elliott: that doesn't help if they have a huge number of accounts to try, though
15:27:26 <elliott> oerjan: yes. so you have a larger global limit
15:28:31 <elliott> I'm not sure why we're continuing to discuss ~password cracker psychology~ with mroman though?
15:31:08 <elliott> fizzie: huh, didn't fungot use to use SCKE? like... recently? (like... 2009?)
15:31:08 <fungot> elliott: and that's in holidays :) i haven't done it for a master or a phd?
15:31:50 <elliott> 13:48:28 <b_jonas> but why would they not accept non-ascii? they don't really have to do any manipulation with the password besides eq compare, right?
15:31:58 <elliott> b_jonas: if you are accepting unicode passwords you should do normalisation on them
15:32:19 <elliott> b_jonas: unless you want to explain to people why they can log in when they type e-with-accent in /this/ way but not this other way
15:34:07 <b_jonas> elliott: (a) don't the input methods do normalization anyway? and (b) so people really type in their passwords in multiple ways? maybe when they log in from multiple devices I guess
15:34:43 <elliott> b_jonas: (a) all of them? and browsers not getting in the way? how much do you want to bet?
15:34:54 <elliott> (b) yeah, like phone vs. computer or whatever
15:35:27 <Gregor> Also, good luck implementing normalization into an existing system.
15:35:42 <Gregor> "Your password no longer works because you didn't type in the way we wanted you to type ."
15:35:44 <Melvar> Wat. You shouldn’t even decode, let alone normalize.
15:36:58 <b_jonas> dunno, I don't have experience in this, because I don't really meet any of these separate code point accents. Ok, maybe I see them sometimes on irc in IPA-like pronunciation notation, but that's all.
15:37:04 <elliott> Gregor: you can just try hashing it in various forms and then update the hash, but yeah.
15:37:26 <elliott> I don't know, I sort of feel like due to the opaqueness of password hashes printable ASCII really is your best bet.
15:37:26 <b_jonas> I usually deal with languages with latin letters, and those have all the combinations as precomposed characters.
15:37:50 <elliott> I'm curious as to how common non-ASCII passwords are though, especially on foreign sites
15:38:04 <elliott> (okay, "foreign" -- non-English)
15:38:18 <fizzie> b_jonas: I vaguely recall something about OS X representing ä with a composing character in file names, and that breaking something.
15:38:29 <elliott> I wouldn't be surprised if there were a lot of shift-JIS passwords in the world, or such.
15:38:40 <Gregor> b_jonas: Oh d̀o they?
15:39:02 <b_jonas> Gregor: yes, definitely.
15:39:07 <fizzie> elliott: I put SCKE in there so that it could resolve hostnames for "^def ... http://..." but then I never actually finished the URL handler.
15:39:21 <Gregor> b_jonas: I just gave you can example combination that does not exist as a precomposed character X_X
15:39:24 <b_jonas> and that's useful too, it really makes font handling easier.
15:39:37 <b_jonas> Gregor: does anyone use that combination ever?
15:39:46 <b_jonas> like, any language, language in the broad sense?
15:39:49 <elliott> fizzie: so it requires people to implement SCKE just so it can not use it? :p
15:39:57 <elliott> I forget what SCKE even offers.
15:39:58 <Gregor> So, they don't have all the combinations, they have all the combinations used in (Western?) languages.
15:40:06 <b_jonas> Gregor: not only western
15:40:12 <Gregor> Vietnamese?
15:40:12 <fizzie> elliott: Yes, though it's trivial to remove the dependency.
15:40:35 <elliott> fizzie: is the freenode server to connect to listed as an IP?
15:40:39 <elliott> weird.
15:40:48 <b_jonas> that, and all some others too, like American languages, African languages, and some romanizations of Chinese.
15:40:57 <fizzie> elliott: There's H for gethostbyname and P for poll, and indeed the server to connect to is an IP.
15:41:18 <elliott> fizzie: you should just implement DNS in funge-98...
15:42:30 <fizzie> It'd be hard to figure out the system DNS servers, though I guess it could always default to Google DNS or something.
15:43:21 <elliott> can't you just read /etc/resolv.conf?
15:44:00 <fizzie> That'd be less than portable.
15:44:05 <fizzie> OS X doesn't use it, for example.
15:44:13 <elliott> I have /etc/resolv.conf on this OS X machine.
15:44:22 <fizzie> I guess it might autogenerate one for unportable programs to use?
15:44:22 <elliott> #
15:44:23 <elliott> # Mac OS X Notice
15:44:23 <elliott> #
15:44:23 <elliott> # This file is not used by the host name and address resolution
15:44:23 <elliott> # or the DNS query routing mechanisms used by most processes on
15:44:25 <elliott> # this Mac OS X system.
15:44:26 <b_jonas> I don't really know how this unicode normalization stuff works though, I should learn more about it, it's useful for stuff other than passwords
15:44:27 <elliott> #
15:44:30 <elliott> # This file is automatically generated.
15:44:32 <Melvar> > "ǚ"
15:44:32 <elliott> #
15:44:35 <lambdabot> "\474"
15:44:41 <Bike> sharp
15:44:42 <fizzie> elliott: Does it have the correct DNS servers in it?
15:44:56 <elliott> yep
15:45:06 <Melvar> > "é" == "é"
15:45:07 <fizzie> I guess that might work, if there's a fallback.
15:45:12 <lambdabot> False
15:45:21 <elliott> I wonder how you do it on windows
15:45:53 <fizzie> Run "ipconfig /all" and parse the output. :p
15:45:59 <fizzie> (Don't do that, that's not the way.)
15:46:38 <fizzie> Whatever netsh uses to talk to the system, possibly.
15:46:51 <elliott> probably some win32-style api, don't know why I was expecting anything different
15:47:04 <elliott> maybe since windows has /etc/hosts it'll have /etc/resolv.conf!
15:47:28 * b_jonas pulls up http://userguide.icu-project.org/transforms/normalization
15:47:41 <fizzie> WMI, apparently: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682125(v=vs.85).aspx
15:47:58 <fizzie> Or maybe that's actually for actual DNS servers, now that I look at it more clearly.
15:49:40 <fizzie> Well, there's a System.Net.NetworkInformation API in .NET for it, at least.
15:49:50 <elliott> that's for script-configuring a machine's DNS or something
15:51:18 <b_jonas> doesn't tell much
15:53:18 -!- oerjan has quit (Quit: leaving).
15:54:45 <fizzie> http://msdn.microsoft.com/en-us/library/windows/desktop/aa365915(v=vs.85).aspx + the linked list starting from FirstDnsServerAddress member of IP_ADAPTER_ADDRESSES, apparently. (Or the .Net API.)
16:45:16 -!- MoALTz has joined.
16:47:29 -!- AndoDaan has quit (Ping timeout: 260 seconds).
16:47:42 -!- AndoDaan has joined.
16:48:11 <zzo38> I think normalization should not be used in passwords; no translation should be used other than hashing/encryption.
16:51:20 <Gregor> The problem is that security and usability are at odds.
16:51:38 <Gregor> It's easy to say "security always wins" until you have a bug report from someone who can't log in.
16:55:36 <zzo38> I mean even, the password should even be allowed to contain invalid UTF-8 sequences, leading/trailing spaces, etc.
16:57:04 <zzo38> But it could also be made an option which is stored with the password, so that when a "forget password" function is used or they call technical support, it can be fixed in that way if requested.
17:06:24 -!- S1 has quit (Quit: S1).
17:18:36 -!- idris-bot has quit (Quit: Terminated).
17:18:51 -!- idris-bot has joined.
17:32:29 -!- AndoDaan has quit (Ping timeout: 272 seconds).
17:33:29 <Lymia> <zzo38> I mean even, the password should even be allowed to contain invalid UTF-8 sequences, leading/trailing spaces, etc.
17:33:45 <Lymia> Encoding normalization is probably worth it, considering people might log in from different browsers...
17:36:29 -!- AndoDaan has joined.
17:37:14 <elliott> now I'm wondering how many password fields accept arbitrary UTF-8 but don't normalise it
17:37:53 <zzo38> Lymia: I think it should be an account option, perhaps.
17:38:48 <Lymia> Only if the site is aimed at techenical users.
17:51:50 -!- InvalidCo has joined.
17:54:00 -!- visy has joined.
17:56:36 <mroman> elliott: it's not.
17:57:08 <mroman> that way you can DoS someone out of his account
17:57:13 <mroman> by making a failed attempt every 10min
17:57:40 <elliott> mroman: what isn't?
17:57:56 <mroman> (account, IP)
17:58:16 <elliott> if you're ferring to NAT, that was already addressed in the logs
17:58:37 <elliott> btw, it seems weird to call this kind of scheme impractical when it's already very widely-deployed by any major website that uses passwords
17:59:39 <mroman> what logs?
17:59:40 <mroman> when?
18:00:14 <mroman> I know some major website require captchas after failed attempts with the same (account, IP)
18:00:14 <elliott> ... http://codu.org/logs/log/_esoteric/2014-10-14#152523oerjan ?
18:00:19 <mroman> but which major side completely blocks login?
18:00:22 <mroman> *site
18:00:49 <mroman> I don't see there anything about NAT
18:01:16 <mroman> oerjan just said hmph
18:01:44 <elliott> and then I gave a solution that covers NAT...?
18:01:49 -!- impomatic_ has joined.
18:02:01 <elliott> ...sorry, I'm just not interested in arguing about passwords with you any more. it's no fun.
18:02:32 <elliott> InvalidCo: your website is, uh, quite something
18:03:01 <fizzie> What, more Finns?
18:03:03 <mroman> <elliott> it is practical to limit (acount,IP) to one attempt every 10 minutes.
18:03:06 <mroman> you mean that?
18:03:36 <elliott> mroman: well, I also meant the lines after it. please, I'm tired of this...
18:04:28 <InvalidCo> elliott: what
18:04:43 <elliott> (btw, at least apple do the lockout thing, at least post-iCloud compromise)
18:04:53 <InvalidCo> fizzie: I got fed up with the stuck up guys at #lisp and viznut told me about this channel
18:04:57 <elliott> InvalidCo: well, maybe makkara.org isn't your site. it's in your hostname though
18:05:11 <InvalidCo> yeh, it's my friend's site
18:05:23 <InvalidCo> makkara means sausage in finnish
18:05:47 <InvalidCo> I think this is one of his favorites http://sipulitee.makkara.org/
18:06:12 <InvalidCo> onion tea sausage
18:07:02 <InvalidCo> I wish I could claim ownership or have at least contributed to that site, but alas, I just have a shell on the same server
18:07:05 <InvalidCo> ;)
18:09:05 <fizzie> mroman: MediaWiki default is to limit to 5 attempts per 5 minutes for a particular (IP, username) pair, for the record.
18:10:19 <elliott> InvalidCo: it's beautiful
18:10:31 <InvalidCo> I'll relay the compliments
18:10:32 <InvalidCo> :)
18:11:40 <fizzie> Every Scheme thing I try on anagolf ends up hitting some sort of version difference between their Gauche and my Gauche, even though the differences are something like 0.0.3 version numbers. :/
18:12:40 <fizzie> (Okay, admittedly their 0.9.1 is from four years ago.)
18:14:02 <elliott> speaking of scheme, R7RS-small came out, right?
18:14:14 <elliott> it seems to have been quietly sort-of-announced but then forgotten about (and with no webpages updated about it)
18:15:46 -!- AndoDaan has quit (Ping timeout: 244 seconds).
18:15:47 <fizzie> I think only Scheme implementors have really cared.
18:16:22 <elliott> not even http://www.scheme-reports.org/ or http://trac.sacrideo.us/wg/wiki/R7RSHomePage has it
18:16:34 <elliott> ok, http://trac.sacrideo.us/wg/wiki has it, but did the formal announcement even happen?
18:16:43 <elliott> wait, I'm wrong
18:16:46 <elliott> all of those but the first have it
18:17:29 <fizzie> The scheme-reports.org site seems to indeed have died.
18:18:01 <InvalidCo> what's anagolf?
18:18:02 <elliott> I swear I read something about how some kind of internal politics or something prevented a proper announcement of it.
18:18:10 <fizzie> InvalidCo: http://golf.shinh.org/
18:18:12 <InvalidCo> I can only find IRC logs and spanish(?) golf clubs through google
18:18:16 <InvalidCo> fizzie: thanks!
18:18:23 <fizzie> It's not the most googleable term.
18:18:47 <elliott> well, http://lambda-the-ultimate.org/node/4844 at least.
18:19:02 <elliott> I think we might be the only people who call it anagolf. the channel is anagol after all
18:19:34 <fizzie> I blame the rest of the channel for getting me used to that term.
18:20:24 <tromp> anagol is the golfed version of anagolf
18:22:56 <Melvar> Hmm, does anyone here use the term “pacman-complete”?
18:23:29 <elliott> Melvar: my first thought was something that provided bash/zsh completion for the pacman package manager :/
18:23:35 <Bike> same.
18:24:36 <Melvar> It’s supposed to be a term describing programming languages sufficiently powerful to write a pacman game in.
18:25:40 <mroman> fizzie: That sounds like a reasonable compromise
18:26:06 <InvalidCo> Melvar: are languages such as brainfuck excluded from the definition?
18:26:15 <mroman> As long as you have no malicious "Hehe, I can lock out your account all day long" user in your network.
18:26:29 <InvalidCo> and is it on the grounds of not having a graphical output?
18:26:39 <mroman> (as long as both are in that network)
18:26:43 <elliott> I don't understand why fizzie's compromise is reasonable but my identical compromise wasn't. :/
18:26:50 <elliott> Melvar: oh, my next thought was a language that's at least as computationally hard as pacman
18:26:55 <elliott> along the lines of minesweeper being NP-complete
18:27:02 <mroman> elliott: I didn't say it's unreasonable
18:27:15 <mroman> It's just vulnerable to lock-out attacks on other user's accounts.
18:27:44 <mroman> Like in public schools network.
18:28:04 <elliott> everything is vulnerable if you have some malware on your system inputting fake passwords for your account all the time
18:28:11 <mroman> If you know the account name of someone you'd like to lock out just make some failed login attempts every now and then and the victim can't use the site for that period.
18:28:55 <Melvar> InvalidCo: It’s not particularly rigorous, but roughly yes. Basically, it’s supposed to call attention to turing-completeness being not as much of a deal as is sometimes made of it in the context of programming languages.
18:29:20 <InvalidCo> Melvar: interesting
18:29:24 <mroman> elliott: Some companies have proxies for their employees
18:29:27 <mroman> stuff like that.
18:29:29 <InvalidCo> that sounds like a challenge! ;)
18:30:01 <mroman> You can just lock every co-worker out if you wan't to if you block (account, IP)
18:30:05 <elliott> mroman: you can also get anyone on your network blocked from editing wikipedia by vandalising a lot!
18:30:11 <mroman> elliott: I know.
18:30:14 <elliott> how can wikipedia stand to use such a vulnerable system
18:30:22 <mroman> That's why I'd prefer other systems.
18:30:33 <mroman> elliott: It's obviously not such a huge deal.
18:30:59 <mroman> at worst you can make a co-worker not accessing his gmail account while at work
18:31:00 <InvalidCo> Melvar: have you seen the brainfuck demo?
18:31:11 <InvalidCo> let me just find it on pouet
18:31:22 <InvalidCo> http://www.pouet.net/prod.php?which=51989
18:31:25 <mroman> which sucks if you're said co-worker and you want to access your e-mail. but otherwise?
18:32:05 <InvalidCo> iirc the only change to the interpreter code was a special byte to mark the "end" of a screen
18:32:22 <InvalidCo> but that was a last-minute edit at the party it was released at
18:32:30 <InvalidCo> so I'm not sure if it's really necessary
18:34:02 -!- brandonson has joined.
18:34:54 <Melvar> InvalidCo: Right. I’m aware you can get almost any such thing done if you’re determined. The actual reason for the term may be people saying total programming languages are unuseful because they’re not turing complete.
18:35:30 <InvalidCo> :)
18:37:40 <Melvar> (I am from the idris community and run idris-bot here, and it is said to be a big deal that there is a space invaders written in a dependently typed language (totality checking is however optional for things that don’t show up in types).)
18:38:21 <quintopia> Melvar: idris is total?
18:38:39 <Melvar> quintopia: Optionally outside of types.
18:39:05 <quintopia> Melvar: gotcha
18:39:12 -!- ais523 has joined.
18:40:36 <elliott> pacman is not known to be in the same complexity class as space invaders!
18:40:40 <Melvar> You can mark things as total, covering, or partial, and the totality checker will complain at you if you try to compile something that is marked total but it couldn’t tell that it was.
18:41:09 <quintopia> Melvar: how would you ensure that it recognizes it as total?
18:41:10 <Melvar> elliott: No, merely theorized.
18:41:42 <Melvar> quintopia: Use structural recursion.
18:41:56 <ais523> happy five Australian Mailman mailing list reminders day!
18:42:14 <quintopia> oh it's that time again?
18:42:42 <ais523> it shouldn't be, Australian reminders day is the last of each month
18:42:49 <ais523> but apparently a mail relay on yoyo got stuck, or something
18:42:55 <ais523> so I got five reminders all at once
18:44:16 <elliott> ais523: it's because it's a leap year
18:44:22 <mroman> on a completely unrelated Subject my first finnish book arrived.
18:44:44 <mroman> not the one I hoped would arrive first
18:45:27 <nortti> what book is it?
18:45:53 <mroman> the grammar reference
18:46:02 <mroman> (It's a german book)
18:46:37 <mroman> Suomen peruskielioppi
18:46:50 <mroman> this is the german translation of that book
18:47:03 <nortti> ah
18:49:40 <InvalidCo> hi nortti
18:49:48 <InvalidCo> didn't realise you were here too!
18:50:06 <nortti> I am not
18:50:10 <InvalidCo> oh
18:51:44 <mroman> this vocal harmony thing
18:51:47 <mroman> sheesh
18:51:49 <mroman> weird :)
18:52:24 <elliott> nortti: idlers count
18:53:14 <nortti> okay
18:57:06 <b_jonas> lol "it's because it's a leap year"
19:04:39 -!- MoALTz has quit (Ping timeout: 258 seconds).
19:11:15 -!- shikhout has joined.
19:12:34 -!- AndoDaan has joined.
19:12:39 <HackEgo> [wiki] [[Talk:Fugue]] http://esolangs.org/w/index.php?diff=40616&oldid=40615 * Ais523 * (+594) how I made the Hello World
19:14:22 -!- shikhin has quit (Ping timeout: 240 seconds).
19:15:12 <fizzie> It's a sadly believable reason.
19:15:36 <ais523> well 2014 isn't a leap year ;-)
19:16:47 <fizzie> There was a recent daily-wtf entry that would have said it is, IIRC.
19:17:31 -!- AndoDaan has quit (Ping timeout: 276 seconds).
19:17:40 <fizzie> "lastDigit(currentDate->year()) == 0 || lastDigit(currentDate->year()) == 4 || lastDigit(currentDate->year()) == 8"
19:18:18 <fizzie> It's a good one, it worked from 1999 to 2011.
19:20:07 <ais523> hahaha, beautiful
19:20:12 <ais523> and no, it didn't
19:20:16 <ais523> it thinks 2010 is a leap year, it isn't
19:20:23 <ais523> so it worked from 1999 to 2009
19:20:30 <InvalidCo> :D
19:20:45 <fizzie> Oh, right. Well, that's still a full decade.
19:21:51 <ais523> you could get it working 1997 to 2011 by comparing the year to 2000, 2004, and 2008
19:22:57 <fizzie> Though according to the article, it did in fact apparently crash on March 1, 2014, since what it *does* on "Feb 29" of its "leap year" is while (currentDate->dayOfYear() == 60) { currentDate = new Date(); } -- assuming it is a true story.
19:23:21 <fizzie> Perhaps it was just put in place later than 2010, and hence never actually worked.
19:24:15 <Melvar> Or it hung back then, but was just restarted and never investigated when it came up ok.
19:25:32 <elliott> fizzie: wait, it used 100% CPU for an entire day on leap years?
19:25:39 <elliott> like, it was meant to?
19:25:47 <elliott> to skip the day??
19:26:49 <fizzie> The article claims it caused the server to run out of memory; it's C++, no GC for the new Date();, apparently.
19:27:08 <elliott> oh, I assumed javascript or java or something and mentally blocked out the ->s
19:27:29 <fizzie> And it's inside a while (!done) { try { ... } catch (...) {} } loop so that it won't give up when the allocation fails, either.
19:27:45 <fizzie> Uh, where the second ellipsis is a literal one.
19:30:23 <elliott> will it fail on linux? I guess it'll probably just get killed
19:31:30 <fizzie> fungot: Why didn't you tell me about this really obvious one-byte saving in the a000217 .b98?
19:31:31 <fungot> fizzie: are you part of the capitalist model that if you say you were. good for him :) how do you like? that is there any effective example of code that had code in common, presumably you could transform application there.
19:31:51 <fizzie> Sounds like it'd get killed by the OOM killer. But maybe there's an automatic restart.
19:36:00 <fizzie> It's likely non-optimal overall (I didn't stare at this long), but I liked the fingerprint loading in http://golf.shinh.org/reveal.rb?A006520/fizzie_1413056620
19:53:04 -!- conehead has joined.
19:59:13 -!- AndoDaan has joined.
19:59:36 -!- Frooxius has quit (Quit: *bubbles away*).
19:59:36 <olsner> hi fungot
19:59:37 <fungot> olsner: not only writes but uses fnord phrases like " memory register" :)
20:04:03 -!- Patashu has joined.
20:04:47 <fizzie> That's the most fnord phrase there is.
20:04:50 <fizzie> ^style c64
20:04:51 <fungot> Selected style: c64 (C64 programming material)
20:05:04 <fizzie> fungot: Tell me something about the SID registers?
20:05:04 <fungot> fizzie: pound 28 8 56 t 84 29 9 57 u 85 30: 58 v 86 31 59 w 87
20:05:14 <fizzie> fungot: Are you sure that's entirely relevant?
20:05:15 <fungot> fizzie: sprite-display data collision: this is equivalent to the gate bit, or 504 dots in the msb register ( 53272, d018) being changed. the
20:05:42 <InvalidCo> I like the fact that you spelled out the integer equivalent, too :D
20:05:59 <olsner> the c64 style seems bad at punctuation and making working sentences
20:06:12 -!- Sorella has quit (Read error: Connection reset by peer).
20:06:32 <fizzie> It was based on some OCR'd scan of some old C64 book, and I don't think I did very much work on unwrapping the lines back to entire sentences.
20:06:38 <InvalidCo> nobody uses integer values for registers in NES documentation
20:06:39 <fizzie> Plus there were quite a lot of originally-tabular data.
20:06:51 <InvalidCo> but of course, there's a lot less registers... I think?
20:07:04 <InvalidCo> and the registers are all aligned to start on hexadecimal even numbers
20:07:25 <InvalidCo> except for DMC and some other register, I forget which one that was
20:07:30 <fizzie> fungot: How about a BASIC program listing too?
20:07:30 <fungot> fizzie: the following sequence: pha, 233, 247, 255 plot, 273, 290 plp, 233, 247, 255
20:08:35 <fizzie> fungot: I think you're a bit confused.
20:08:36 <fungot> fizzie: the harmonic 3 squared is 9 ( 3 off in the
20:08:52 <fizzie> Can't argue with 3 squared being 9, though.
20:09:52 -!- MDude has quit (Read error: Connection reset by peer).
20:09:59 <fizzie> ^style
20:09:59 <fungot> Available: agora alice c64* ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube
20:10:31 <InvalidCo> what are those?
20:10:49 <fizzie> Different training datasets for the babbling.
20:10:53 <InvalidCo> ahh
20:10:55 <InvalidCo> ^style nethack
20:10:55 <fungot> Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal)
20:11:07 <InvalidCo> fungot: what do I do with a cockatrice corpse?
20:11:07 <fungot> InvalidCo: they say that wiping its face again. he is generally more picturesque than useful. picturesque meant he decided after careful observation of the swan, by carl sandburg)
20:11:21 <fizzie> Don't wipe the face of the cockatrice corpse, just as a hint.
20:11:21 <InvalidCo> :)
20:11:43 <AndoDaan> the irc option, is that based on #esoteric's logs?
20:11:47 <InvalidCo> fungot: quantum mechanics
20:11:47 <fungot> InvalidCo: they say that the unicorn horn rule is if it was the owl, and all that remained of the english language)
20:11:49 -!- Frooxius has joined.
20:11:58 <fizzie> AndoDaan: #esoteric and #scheme and a little bit of #douglasadams from IRCnet.
20:12:06 -!- realzies has joined.
20:12:09 <InvalidCo> I don't think your bot would make a very good lisp programmer...
20:12:34 <fizzie> InvalidCo: The Perl prototype babbler balances parentheses properly, it's just this Befunge version that doesn't (yet) implement it.
20:12:43 <InvalidCo> ah
20:12:46 <fizzie> ("yet" meaning it's been on the TODO list for five years or so.)
20:14:22 <fizzie> It'd be just a stack and a map of open/close token numbers, but Befunge's much easier to write than edit.
20:14:57 <olsner> just rewrite fungot then, how hard can it be
20:14:57 <fungot> olsner: wakizashi: the irish celts. one hob mentioned by henderson, was the fact that some shopkeepers consider gems to be quite enchanting. the food, not me.' then the large group of piranhas will attack.
20:15:21 <olsner> well, maybe a little
20:15:49 <fizzie> Writing it in the first place was perhaps more tedious than hard per se.
20:15:52 <InvalidCo> fizzie: how big is the source code?
20:16:04 <fizzie> ^source
20:16:05 <fungot> https://github.com/fis/fungot/blob/master/fungot.b98
20:16:07 <fizzie> There it is.
20:16:47 <fizzie> There's also some random documentation there, and supporting material, like for training those babbling styles.
20:17:47 <InvalidCo> haha, this thing seriously implements IRC?
20:18:00 <InvalidCo> very cool
20:18:05 <fizzie> It'd be cheating not to. :)
20:18:26 <InvalidCo> I must admit, that is correct
20:18:28 <InvalidCo> wait
20:18:39 <InvalidCo> does this also have a brainfuck interpreter in it?
20:18:47 <fizzie> Yes, and an Underload interpreter.
20:18:55 <fizzie> ^bf ,[.,]!hello
20:18:55 <fungot> hello
20:18:57 <InvalidCo> and not only that, but a brainfuck bytecode compiler? ::D
20:19:03 <fizzie> ^ul (hello)S
20:19:03 <fungot> hello
20:19:38 <fizzie> It's not much of a compiler, it doesn't even translate +++++--- to +2. (It does +5-3 instead.)
20:19:48 <InvalidCo> very nice
20:19:57 <ais523> BF Joust has forever broken my mental BF optimizer :-(
20:20:46 <fizzie> I'm not sure how many other esolang-bots we've had that actually speak IRC, though at least a couple. Most of them do the actual networking with something like netcat, but that's probably allowable, given that most languages aren't so well-endowed when it comes to features.
20:21:26 <fizzie> Was thutubot written in Thue, or am I mixing up?
20:24:45 <mroman> Does Funge-98 have "Functions/Procedures"?
20:24:45 -!- Patashu has quit (Ping timeout: 272 seconds).
20:24:49 <mroman> (that you can call)
20:25:08 <mroman> I still have this idea hanging around of having several layers of 2D code
20:25:13 <mroman> where you can call code in other layers
20:25:27 <mroman> in order to allow to create reusable "procedures"
20:27:45 -!- AndoDaan has quit (Ping timeout: 260 seconds).
20:27:49 <fizzie> There's a SUBR fingerprint.
20:28:15 <fizzie> That provides number-indexed functions with a separate call/return stack, IIRC.
20:28:29 <fizzie> Or possibly it was in the shared stack.
20:29:11 <fizzie> Yes, it's in the main stack. Well, anyway.
20:29:51 <fizzie> You're not the first person to think about "structured befunge", but it possibly becomes too practical easily.
20:31:11 <fizzie> fungot does a couple of "functions" by having code blocks near the bottom of the program that return along a "spine" at the right edge that dispatches based on a "return address" value the "caller" pushed before the "arguments".
20:31:11 <fungot> fizzie: a glowing potion does not waver. he wore a dark-brown velvet jacket with a flash and drilled the metal as if his soul went to see genuine morporkian life the slave market, the yumi is made of a pearly whiteness; but these luxuriances only formed a more horrid contrast with his lance on his hand, and the latter with just a dead cockatrice is just a touch.
20:32:04 <fizzie> That way both the ^def and ^bf commands (and the calling of a ^def'd thing) can reuse the same bf machinery, for example.
20:34:54 <fizzie> Kind of similar to what you sometimes see when people do "functions" in sed, by just putting some "return address" indicator (e.g. in the hold space), and having the functions "return" by a "b dispatcher" where dispatcher is a giant block of conditional jumps to every label that could be a return address.
20:35:49 <fizzie> Or the good old "line numbers in C with a giant switch" thing.
20:36:10 <ais523> fizzie: http://esolangs.org/wiki/BackFlip was based on someone else's proposal for a function call syntax for Befunge
20:36:27 <ais523> although I could use a simpler syntax as I didn't have to worry about clashes with existing Befunge syntax
20:42:38 -!- shikhout has changed nick to shikhin.
21:11:45 -!- AndoDaan has joined.
21:13:31 <fizzie> The SUBR fingerprint just has C (x1 ... xn Va n -- Va Vd x1 ... xn) which pops n, a target vector, and n cells; then pushes the return vector, current delta and those n cells, sets IP position to the popped value and delta to (1, 0, 0, ...).
21:14:11 <fizzie> And a corresponding R (Va Vd x1 ... xn n -- x1 ... xn) that can be used to return, with n cells of return values.
21:15:23 <fizzie> Plus a non-stack-affecting general jump J (possibly for convenience or tail calls?) and a concept of absolute/relative mode which determines whether the J/C addresses are absolute or relative.
21:22:32 <fizzie> mroman: There's also the FOBJ fingerprint, which I don't know if anyone has ever used. It's "object-oriented"; the "classes" are trefunge files, where each Z layer is a "method"; the I command pops a string, constructs an object from the corresponding file, and pushes a reference to it; the M command pops a method index (integer), an object reference and some arguments, and then runs that code; return is by that code doing @.
21:23:19 <fizzie> And the object state is of course the fungespace; if you I the same file again, the returned object reference refers to a new clean fungespace.
21:24:21 <Taneb> Well, I'm not entering this IOCCC
21:24:50 <fizzie> I'm not sure how widely supported that is, since neither CCBI nor cfunge support FOBJ. It's one of the (many) Rc/Funge-defined ones.
21:25:59 <ais523> Taneb: I've decided to wait until next year
21:26:05 <ais523> need to get this program working really well
21:26:19 <Taneb> Is there a limit about when you're allowed to write the program?
21:27:22 <fizzie> I don't think so, if you never publish it.
21:28:45 <fizzie> "You are STRONGLY encouraged to submit a previously unpublished and original entry." But nothing about when it was written.
21:29:05 <fizzie> Of course you run the risk of them substantially changing the rules.
21:29:10 <fizzie> (Maybe not a big risk.)
21:31:29 <Taneb> Is there a program length limit?
21:31:58 <fizzie> Yes, and it's reasonably small.
21:32:18 <fizzie> "The size of your program source must be <= 4096 bytes in length. When your program source is fed as input to the current IOCCC size tool, and the IOCCC size tool -i command line option is used, the value printed should be <= 2053."
21:33:03 <ais523> the IOCCC size tool is full of exploits, and I have the strong impression that most of them are intentional
21:33:47 <b_jonas> ais523: certainly
21:34:08 <b_jonas> they admit in their guidelines that their rules in general are full of holes
21:34:11 <ais523> so the 4KiB limit is probably the more meaningful one
21:34:26 <b_jonas> both are meaningful I think
21:34:31 <b_jonas> even with the exploits
21:35:34 <b_jonas> http://www.de.ioccc.org/2014/guidelines.txt says "We do realize that there are holes in the rules, and invite entries to attempt to exploit them. ... and then plug the hole next year. Even so, we will attempt to use the smallest plug needed, if not smaller."
21:38:32 <tromp> 4KB/2053B is pretty generous; i used only 952/650B for my entry
21:38:50 <Taneb> tromp, I have an over-ambitious idea
21:39:09 <tromp> which is?
21:39:17 <Taneb> Secret :)
21:40:29 <tromp> i didn't enter this year either
21:40:41 <b_jonas> of course, being shorter is an advantage for an entry
21:40:48 <tromp> have some ideas for next year though
21:41:04 <b_jonas> (they say this in the guidelines too)
21:41:18 <InvalidCo> oh man
21:41:19 <InvalidCo> rule 6
21:41:22 <InvalidCo> I get that reference!
21:41:30 -!- MDude has joined.
21:41:31 <InvalidCo> excellent
21:47:59 -!- nys has joined.
21:48:19 -!- AndoDaan has quit (Ping timeout: 276 seconds).
21:49:44 <elliott> ais523: what kind of holes? oh, right, you won't tell us
21:50:15 <ais523> there's one I'm hoping isn't exploited so that I can use it next year
21:50:27 <ais523> the traditional one is to encode data as long strings full of whitespace, braces, and semicolons
21:50:30 <ais523> I don't think they patched that one yet
21:50:56 <Taneb> Yeah, I think my idea is too ambitious to get round most sensible file size limits
21:51:49 -!- AndoDaan has joined.
21:52:25 <tromp> can you write it in 1400B of BLC, Taneb:-?
21:53:56 -!- ais523 has quit (Quit: antilunch).
21:55:17 <Taneb> tromp, I don't know
21:55:21 <Taneb> I haven't actually tied
21:55:23 <Taneb> *tried
21:55:30 <Taneb> It just feels so ambitious...
21:56:29 <tromp> save it for 2020 then...
22:00:01 <Taneb> Or I could try and write it, then see how long it is...
22:00:24 <tromp> would be nice to see a fully featured cryptocurrency in ioccc
22:03:54 * Taneb sleeeeeep
22:04:34 -!- S1 has joined.
22:06:37 -!- oerjan has joined.
22:13:36 -!- impomatic_ has left.
22:20:36 <elliott> has anyone ever exploited whatever they run the ioccc entries on with an entry
22:20:51 <elliott> they seem old-fashioned enough to maybe not use a VM
22:21:35 <b_jonas> elliott: it's hard to tell whether anyone had done that, because they're completely secretive
22:21:55 <elliott> b_jonas: surely it'd win :)
22:22:02 <elliott> (as long as it wasn't /malicious/)
22:22:18 <b_jonas> not surely
22:22:29 <elliott> I suppose a program that makes itself win would be hard
22:22:36 <elliott> since there's probably no super formal process
22:22:50 <elliott> maybe an entry that emails the rest of the judges saying hey this one is great :p
22:23:14 <b_jonas> aren't they meeting in person for the judging?
22:23:22 <b_jonas> there were some photos about food they're eating on twitter
22:23:32 <b_jonas> they might use emails as well, but it gets tricky
22:24:41 <elliott> entry that orders them pizza
22:25:05 <elliott> get location + transfer bitcoins
22:26:13 <Sgeo> I'm tempted to try Hackintosh in a VM :/
22:27:25 <newsham> https://gitlab.brokenpipe.de/stettberger/avremu/tree/master#README
22:27:37 <newsham> sgeo: i've run older versions in vmware.
22:27:37 -!- mihow has quit (Quit: mihow).
22:27:58 <newsham> had some trouble getting modern version to work, but i hear it works in oracle's VM
22:29:28 <Sgeo> It's... not legal though, I think. Although I really don't want to pay hundreds/thousands of dollars just to try out an interesting OS
22:33:10 -!- ais523 has joined.
22:34:55 -!- boily has joined.
22:36:53 -!- S1 has quit (Quit: S1).
22:39:20 <ais523> <kibwen> A long time ago I managed to sneak a patch into the stdlib that overloaded + on Options, specifically to make the following FizzBuzz implementation possible [...]
22:40:21 <Sgeo> So, when profiling, I found 97% of the ticks were in libc... I have no idea how to diagnose that :/
22:40:51 <ais523> Sgeo: get a debug-symbols version of libc
22:41:05 <ais523> most systems don't provide them by default, but do provide a way to get hold of them
22:41:35 <Sgeo> Will the V8 profiler recognize that? Also, I don't have root on the system I want to profile on
22:41:41 <ais523> although, tbh, the problem is likely that you're calling into libc repeatedly in a tight loop
22:42:06 <Sgeo> ais523: if the profiler indicated what function was doing that, that would be helpful. Either I'm misreading it or it's not doing that
22:42:34 <ais523> Sgeo: you want a profiler that tracks the call graph, although you probably already have one
22:42:45 <ais523> although, hmm, "V8"? isn't that a JS library?
22:42:51 <ais523> err, interp?
22:42:52 <Sgeo> It's a JS engine
22:42:54 <ais523> right
22:42:54 <Sgeo> yes
22:43:13 <ais523> interpreted languages are a huge pain to profile, except by tools specifically targeted at one language and one implementation of it
22:43:14 <Sgeo> This is a Node.js program, specifically, a Grunt script
22:43:28 <Sgeo> Node has a --prof option
22:43:35 <ais523> because an interpreter's codepaths look much the same regardless of what it's interpreting
22:43:52 <ais523> after a point you just have to go improve the profiler
22:45:26 -!- nys has quit (Ping timeout: 240 seconds).
22:45:42 <oerjan> <ais523> so I got five reminders all at once <-- me too, i mentioned it on ##nomic but no one else seemed awake
22:46:09 <Sgeo> Did anyone olist yet?
22:46:12 <ais523> the thing about backup being down
22:46:13 <Sgeo> `olist (964)
22:46:14 <HackEgo> olist (964): shachaf oerjan Sgeo FireFly boily nortti
22:46:24 <ais523> is that you don't notice, because you only use backup when the main lists are down
22:51:15 <oerjan> ais523: hm someone should make a profiler that interpreters can hook into
22:51:36 <ais523> huh, interesting
22:51:40 <oerjan> (maybe they did)
22:51:42 <ais523> that seems like the sort of thing the valgrind people would do
22:51:48 <shachaf> Sgeo: Thanks! I'll look at it when I'm at a non-phone computer.
22:53:55 <boily> Sgeo: thanks for perpetuating the tradition!
22:56:20 <elliott> ais523: is including debug symbols for libc really that rare?
22:56:38 <shachaf> imo this had better be a three-page update
22:56:57 <ais523> elliott: every OS that I know the situation on (which is Ubuntu and Windows) has a separate libc symbols download rather than bundling them
22:57:03 <ais523> although, the libc situation on Windows is awful
22:57:10 <elliott> windows is a bad point of comparison :)
22:57:26 <ais523> Microsoft's position is that the libc they ship is for internal kernel use only; they provide separate libcs for application use, that you're meant to ship with your application
22:57:35 -!- nys has joined.
22:57:58 <boily> is it me, or is that begging for footholes?
22:58:03 <ais523> however, the license prevents those libcs being shipped for the purpose of linking other programs against them, (i.e. you can only ship them for the purpose of linking the program you ship to them)
22:58:24 <ais523> also, there isn't enough public information about the Windows kernel interface to write your own libc for Windows
22:58:39 <elliott> IIRC it's rather bad to use the included one
22:58:46 <elliott> like, its interface changes
22:58:50 <ais523> so perhaps unsurprisingly, mingw links against the kernel one, because it has nothing else it can link to
22:59:14 <ais523> elliott: I think it's more a case of its interface is supposed to change, but mingw has successfully managed to lock its interface by virtue of weight of pre-existing software
22:59:14 <elliott> it would be fine for mingw to script downloading the libc, right?
22:59:38 <ais523> hmm, I think that might work, but there are EULAs to accept
22:59:50 <ais523> people would be used to that on Windows though
23:00:06 <zzo38> They are making the ReactOS maybe can figure out Windows kernel better enough to write ReactOS, they can also make the libc file too.
23:00:16 <elliott> http://blogs.msdn.com/b/oldnewthing/archive/2014/04/11/10516280.aspx mm
23:00:23 <elliott> ais523: corefonts are meant to include an EULA
23:00:28 <elliott> and linux distributions package them anyway
23:00:35 <elliott> I think debian makes you hit enter in debconf or something to agree to it
23:00:49 <ais523> elliott: they have an accept/reject EULA on install, indeed
23:01:00 <ais523> unsurprisingly if you know me, I rejected the EULA and uninstalled
23:01:25 <elliott> why did you try installing it in the first place?
23:01:33 <elliott> also, since when do you not use proprietary software?
23:01:59 -!- Sorella has joined.
23:02:07 <ais523> elliott: I didn't reject it for the reason of not using proprietary software
23:02:21 <ais523> I rejected it to reduce the chance of people forcing unwanted fonts on me on web pages and the like
23:02:37 <ais523> also, it was a dependency of something, maybe just a recommends
23:02:48 -!- Sorella has quit (Changing host).
23:02:48 -!- Sorella has joined.
23:16:16 <zzo38> I tried to compress the Zork I Z-machine story file with gzip but it resulted in 62355 bytes file (the uncompressed file is 86838 bytes long).
23:17:42 -!- AndoDaan_ has joined.
23:18:28 -!- AndoDaan has quit (Ping timeout: 260 seconds).
23:19:58 <zzo38> However one thing in DEFLATE is that it expects 8-bit data; if the file contains 5-bit data then it might not work quite as well?
23:20:47 <ais523> zzo38: you could try padding out each byte to 8 bits and then using an octet-based compression algorithm
23:21:15 <ais523> the good ones will huffman code the bytes anyway and so the extra padding won't contribute more than a few bytes extra size across the whole file, if it's deterministic (e.g. all zeroes)
23:21:43 <elliott> zzo38: z-machine is 5-bit?
23:21:55 <zzo38> Is there a way to adapt it so that it can work? The problem is that only some of the data in the file uses 5-bits and others are 8-bits or 16-bits, and you cannot always determine ahead of time what is what.
23:22:05 <zzo38> elliott: Only partially it is.
23:24:28 <zzo38> There is a way to guess where the 5-bit data is but it isn't always reliable, so the compression needs to work even if it guesses wrong.
23:27:55 <zzo38> The 5-bit data is used for packed strings; it is packed three 5-bit codes into two bytes, and the high bit is set if there are no more groups of three 5-bit codes remaining.
23:33:43 <newsham> [12:31] < Sgeo> It's... not legal though, I think. Although I really don't want to pay hundreds/thousands of dollars just to try out an interesting OS
23:33:49 <newsham> debatable
23:33:53 <newsham> its against the EULA
23:34:17 <newsham> but if you bought your own copy of osx, it might be considered legal in many jurisdictions
23:38:32 -!- madbr has joined.
23:40:52 <elliott> good luck buying a copy of OS X without a mac though
23:41:28 <ais523> are there VPS providers who host OS X-based VMs?
23:41:37 <ais523> I know there are for Windows and Linux
23:42:06 <elliott> I doubt it
23:42:33 <elliott> it would be kinda slow unless anyone wrote drivers for paravirtualisation
23:42:45 <elliott> well, I guess it might not be too bad
23:42:55 <elliott> there is a mac mini colo company though, that's probably the closest thing
23:42:58 <elliott> but god knows why you'd want to
23:43:16 <newsham> cant you download osx from any itunes account?
23:43:55 <elliott> newsham: I don't know if anyone's reverse-engineered the app store or if it does any fancy checks
23:44:15 <elliott> for one, OS X doesn't actually cost money now, and I doubt apple would like to hand out disk images to just anyone
23:44:33 <elliott> (okay, "disk images". kids these days etc.)
23:45:12 <elliott> I guess if you have a developer account you can probably get stuff?? pre-releases, at least
23:45:40 <elliott> honestly why not just pirate it at that point, you're doing something they don't like and they wouldn't get any money anyway :p
23:48:07 <newsham> i was talking about versions that were for sale on itunes
23:48:16 <newsham> when new versions came out
23:48:33 <elliott> apple sell old versions? huh
23:48:40 <newsham> new versions
23:48:46 <newsham> i dont know if they still do...
23:48:51 <newsham> i havent tried this in a efw years at least
23:48:56 * nys buy hypercard from apple
23:49:02 <elliott> well, OS X upgrades are free and distributed via the app store these days
23:49:04 <Sgeo> Ick, I really don't want to torrent
23:49:29 <elliott> newsham: I guess you can log into your iTunes account on a friend's computer, download the OS X upgrade, and put it on a USB stick
23:49:59 <elliott> still violating the EULA but it's probably the least illegal method
23:50:03 <Sgeo> If I had a keyboard and mouse and monitor I could just buy a Mac Mini
23:50:16 <Sgeo> Well, I do have a mouse
23:50:25 <newsham> at least somewhat defensible if you were ever in court
23:50:25 <int-e> newsham: I was going to complain about your clock being fast, but the tunes logs are even more out of phase.
23:50:30 <elliott> you can afford a mac mini but not a keyboard and mouse and monitor?
23:50:39 <Sgeo> I can't use my current laptop's monitor as keyboard and monitor, can I?
23:50:41 <newsham> my clock is fast?
23:50:48 <Sgeo> elliott: I don't have space in this cramped apartment
23:50:49 <elliott> not easily
23:51:10 <Sgeo> \I also don't have space for a second laptop unless I only use one primarily
23:51:20 <elliott> that's... very cramped
23:51:20 <int-e> newsham: going by the 12:31 timestamp for something that happened before xx:30, yes.
23:51:55 <Sgeo> My laptop, if not on my lap, sits on a small table next to the couch. There's barely enough room for a mouse to move horizontally
23:52:20 <newsham> fixed time
23:52:27 <elliott> Sgeo: maybe you can borrow a keyboard and monitor and mouse long enough to set up VNC and then use your laptop
23:52:34 <elliott> not exactly a pretty or smooth solution
23:54:00 <Sgeo> http://www.pcadvisor.co.uk/how-to/laptop/3456298/use-your-laptop-as-second-monitor/ but this is Windows specific :(
23:54:24 <Sgeo> Also not what I want
23:55:14 <zzo38> Why does DEFLATE Huffman trees contain unused symbols?
23:55:28 <Sgeo> Also I get bored of languages and environments easily. Really a good idea to spend money on something I may get bored of?
23:55:46 <elliott> do you spend your money on anything else? :p
23:56:06 <Sgeo> I'd say food, but food is inherently boring
23:56:11 <Sgeo> Necessary, but boring
23:57:29 <boily> food is fởn.
←2014-10-13 2014-10-14 2014-10-15→ ↑2014 ↑all