←2014-07-28 2014-07-29 2014-07-30→ ↑2014 ↑all
00:00:32 <oerjan> Sgeo: the translation is correct we have no use for a pesky pronoun hth
00:01:52 -!- shikhout has joined.
00:02:39 -!- yorick has quit (Remote host closed the connection).
00:03:01 <oerjan> he gave us flak, then left
00:04:50 -!- shikhin has quit (Ping timeout: 250 seconds).
00:12:03 -!- TieSoul-mobile has joined.
00:16:41 -!- zzo38 has joined.
00:56:00 -!- MoALTz has quit (Ping timeout: 240 seconds).
00:56:22 -!- MoALTz has joined.
00:57:08 <oerjan> so this will be officially the hottest registered july in trondheim and most of trøndelag ever.
00:58:53 <oerjan> beating the old 1901 records, or thereabouts
01:05:58 <shachaf> oerjan: how hot is that
01:06:23 <shachaf> today in palo alto: 37°
01:07:34 <oerjan> well the overall _average_ looks to be 19.0°, i assume that includes night
01:07:47 <oerjan> and the tops are somewhere in the 30-32 range
01:08:20 <oerjan> i believe 37° has never been measured in norway ever
01:11:19 <shachaf> don't worry
01:11:41 <shachaf> in about a billion years the average temperature on earth will be 47°, says wikipedia
01:14:04 -!- FreeFull has quit (Ping timeout: 260 seconds).
01:15:54 -!- FreeFull has joined.
01:22:30 -!- augur_ has quit (Ping timeout: 250 seconds).
01:34:46 <quintopia> shachaf: you're in palo alto?
01:36:35 -!- MoALTz has quit (Ping timeout: 264 seconds).
01:36:36 -!- MoALTz_ has joined.
01:37:12 <shachaf> quintopia: At the moment I'm in Mountain View.
01:38:22 -!- MoALTz has joined.
01:38:38 <quintopia> shachaf: work?
01:39:09 <shachaf> No.
01:39:28 <quintopia> visiting?
01:41:08 -!- MoALTz_ has quit (Ping timeout: 250 seconds).
01:44:08 -!- edwardk has quit (Quit: Computer has gone to sleep.).
01:54:31 <pikhq> 37 degrees just a couple days ago here. :(
01:54:38 <shachaf> Looj quintopia
01:54:47 <shachaf> it's the next town over
01:54:56 <shachaf> do i need an excuse to be here
01:55:17 <quintopia> shachaf: oh i took your comment to mean "at the moment i'm in the bay area but normally i'm not in CA"
02:00:58 -!- edwardk has joined.
02:06:41 <zzo38> How can you make a square wave with adjustable period using external clock with a 74xx series IC?
02:07:54 <zzo38> @messages-loud
02:07:55 <lambdabot> oerjan asked 1d 2h 57m 59s ago: You added [[Uncontrollable]] to the Joke Language List, but there is no such article. Do you have a link or description?
02:08:17 <zzo38> oerjan: I saw it mentioned in some Japanese documentation.
02:10:29 <quintopia> zzo38: just counting number of times clock pin goes high and flipping the output pin every n times isn't it?
02:10:35 -!- augur has joined.
02:11:52 <zzo38> quintopia: Yes that is what I want; which 74xx series to use?
02:13:54 <quintopia> iunno? there's too many. maybe 744059?
02:14:57 <quintopia> though that pulses. might need to add a latch after it
03:01:36 -!- not^v has joined.
03:04:08 -!- ^v has quit (Remote host closed the connection).
03:04:09 -!- not^v has quit (Remote host closed the connection).
03:05:50 -!- ^v has joined.
04:12:42 <Deewiant> Re. the form feed stuff, it was probably made a binary good/bad test (instead of an undef) because form feeds change the resulting funge-space so much that it'd be practically impossible for Befunge programs to handle multiple different implementations of them
04:14:21 <elliott> you could bootstrap something that rewrites fungespace to undo all the damage and then jump back? :p
04:16:53 <Deewiant> But then form feeds would no longer make the code more difficult to write by messing up the X offset of the following line and the Y offsets of all the remaining lines :-P
04:19:37 <Deewiant> Another reason might be that I've generally gone with the philosophy that if an instruction might either always reflect or do something even slightly more interesting, prefer the latter behaviour
04:20:09 <Deewiant> For form feed those are pretty much the only two reasonable options
04:27:37 <elliott> Deewiant: I think it should feed a form asking what it should do to the nearest available printer.
04:27:46 <elliott> then you scan it back in and it does that.
04:28:00 <elliott> if you're using the interpreter over a network it faxes it to you.
04:28:31 <elliott> Deewiant: did mushspace ever happen?
04:32:29 <Deewiant> It's in the slow process of happening
04:33:17 <coppro> mushspace?
04:34:00 <Deewiant> I have a 1988 paper on my desk that I need to understand and implement but I haven't taken the time to do so yet
04:34:10 <coppro> it's 26 years old, it can wait a little longer
04:34:14 <Deewiant> Anyhoo, got to go now -->
04:37:04 <coppro> noooo come back
04:41:41 <J_Arcane> oerjan: You rang?
04:42:07 <oerjan> J_Arcane: am i correct that Violet is your creation?
04:42:13 <J_Arcane> Yes.
04:42:49 <oerjan> because as i mentioned on the talk page, there might be licensing problems between the github and the wiki if you weren't.
04:43:14 <J_Arcane> Ahh.
04:44:01 <oerjan> well all should be fine then.
04:44:54 <HackEgo> [wiki] [[Talk:VIOLET]] http://esolangs.org/w/index.php?diff=40223&oldid=40207 * JArcane * (+118)
04:46:21 <J_Arcane> I debated putting a callout to the joke to make things clearer.
04:47:06 -!- TieSoul-mobile has quit (Ping timeout: 260 seconds).
04:47:14 <J_Arcane> (also, I really need to add the license to the docs pages if I'm going to be linking them directly)
04:49:12 -!- MoALTz has quit (Quit: Leaving).
05:28:45 -!- Bike has quit (Quit: restarting).
05:34:39 -!- Bike has joined.
05:49:03 <fizzie> Also 37.2 °C is the all-time record temperature in Finland (actually measured exactly four years ago today).
05:49:22 <fizzie> (And the all-time lowest is -51.5 °C in 1999.)
05:55:18 -!- oerjan has quit (Quit: As long as those weren't on the same day).
05:55:44 <myname> "the not entirely possible case"
06:02:26 -!- shikhin has joined.
06:05:23 -!- shikhout has quit (Ping timeout: 240 seconds).
06:25:42 <Sgeo> @message Sgeo Figure out how list and continuation is actually working here http://www.valuedlessons.com/2008/01/monads-in-python-with-nice-syntax.html
06:25:42 <lambdabot> Maybe you meant: messages messages-loud messages?
06:25:50 <Sgeo> @tell Sgeo Figure out how list and continuation is actually working here http://www.valuedlessons.com/2008/01/monads-in-python-with-nice-syntax.html
06:25:50 <lambdabot> You can tell yourself!
06:25:53 <Sgeo> blah
06:28:06 -!- mhi^ has joined.
06:36:08 -!- fowl has quit (Ping timeout: 250 seconds).
06:37:55 -!- fowl has joined.
06:47:18 <J_Arcane> fizzie: I live there. Believe me when I say I did not expect this kind of heat when I moved to Finland ...
06:48:03 <elliott> not *more* finns in here
06:48:27 <J_Arcane> You can't escape Finns on IRC, they invented the place. ;)
06:51:15 <shachaf> elliott: You should read _Impro: Improvisation and the Theatre_.
06:51:23 <elliott> no
06:54:01 <shachaf> Yes, well.
07:20:01 <Sgeo> Is there a particularly deep reason that multiplication having higher precedence than addition seems to be the most convenient order? Not just habit, I think, it's in other places: data A = Foo Int Int | Bar String String, same as Int * Int + String * String, and && tends to have higher precedence than || in various languages
07:20:39 <zzo38> It is convenient for mathematics, I think.
07:20:49 <elliott> 2a + 4b
07:22:01 <zzo38> While your example of "data A = Foo Int Int | Bar String String" shows one reason it can be convenient for mathematics (even though this includes no addition or multiplication, it still shows it by how you did). Things like "2a + 4b" of course show it too.
07:24:18 <Bike> The Whetstone of Witte, whiche is the seconde parte of Arithmeteke: containing the extraction of rootes; the cossike practise, with the rule of equation; and the workes of Surde Nombers
07:26:13 <Sgeo> Bike = Bicycle
07:26:22 <Bike> whoa dude.
07:26:41 <Sgeo> Or better yet, Bike ===== Bicycle
07:27:43 <elliott> ???
07:28:16 <Sgeo> elliott: http://en.wikipedia.org/wiki/The_Whetstone_of_Witte
07:28:40 <elliott> that -- yeah but --
07:29:49 <elliott> http://en.wikipedia.org/wiki/Zenzizenzizenzic
07:29:55 <elliott> he wrote that it "doeth represent the square of squares squaredly".
07:30:40 <Bike> it's a nice title really
07:30:42 <Bike> good metaphor
07:31:09 <elliott> A Zenzizenzizenzizenzike or Square of Squares Squaredly Squared
07:31:23 <Bike> not that
07:32:21 <b_jonas> Sgeo: no particularly deep reason, it's just a stupid tradition we're trying to change since Iverson, but it's hard to change because our prophets K&R had given their blessing on it and they're influential
07:32:44 <b_jonas> so eventually we just say that the C-like convention and the Iverson-like linear expressions are two different syntax
07:33:05 <b_jonas> and we let people choose to their taste
07:33:17 <elliott> multiplication having higher precedence than addition is pretty reasonable...
07:33:20 <b_jonas> and depending on the particular purpose
07:33:23 <elliott> if you accept any precedence at all
07:33:28 <b_jonas> elliott: yes, of course
07:33:46 <Sgeo> Considering that && = * and || = + I don't think the C ways are coincidence. Unless C violates my expectations
07:34:15 <b_jonas> Sgeo: C does violate expectations in that & has lower precedence than ==, but it's a historical mistake we can't correct now
07:34:33 <b_jonas> it would be worse to change it now, so we just deal with it and use extra parenthesis
07:35:15 <b_jonas> the rest of the C precedence table is good of course
07:36:42 <elliott> that's the precedence you want for & as a bitwise op
07:36:57 <elliott> the mistake was them wanting to pun the bitwise ops in that way :p
07:37:58 <newsham> hysterical mistakes do not die
07:38:15 <b_jonas> so now if you want to avoid confusion (not always the case in esolangs), you make your syntax and precedence and associativity similar to either C or APL, thus helping people reading and writing code
07:39:03 <b_jonas> (or to forth, that's the third choice I guess)
07:40:23 <elliott> or lisp.
07:41:02 <coppro> I turnip who I turnip, and I radish who I radish. I haven't potated a man unless I'd potatoed him. I have never been known to carrot a woman, unless she was carrotted by me. I beet who I beet, but most of all, I yam who I yam.
07:41:25 <newsham> parenthesis: the great equalizer
07:41:34 <coppro> newsham: I thought that was \sim
07:42:07 <Sgeo> What does Ada's associativity for and and or count as?
07:42:19 <Sgeo> (Parentheses required. Not really similar to C or APL or Forth afaik)
07:42:38 <coppro> Sgeo: non-associative with respect to each other
07:42:48 <elliott> Sgeo: dijkstrean.
07:43:35 <newsham> what can be expected when you associate indiscriminantly
07:44:26 <b_jonas> For example, C, python, javascript, SQL, Haskell, and even arithmetic in prolog use arithmetic notation similar to C. Forth and postscript use arithmetic notation similar to Forth.
07:45:06 <Sgeo> Woah the SWI-Prolog site looks different
07:45:06 <newsham> haskell has /= and `shiftL`... blasphemy!
07:45:26 <b_jonas> Smalltalk is strange, its syntax precedence rules aren't similar to either APL or C.
07:45:35 <b_jonas> newsham: so? prolog has \= and =<
07:45:50 <b_jonas> also =\=
07:45:54 <newsham> so how can you lump themin with C?
07:46:03 <b_jonas> it's not really C-like but their precedence is still C-like
07:46:09 <Sgeo> I thought APL precedence was right-to-left? Smalltalk is left-to-right for binary operators, so I'd call that similar
07:46:13 <newsham> comparedtothe c/perl/javascript/java/python monoculture
07:46:14 <Sgeo> Or am I assuming that APL is like J?
07:46:17 <b_jonas> * then + then == then &&
07:46:20 <Bike> lump theremin
07:46:42 <Bike> the real math question is, what branch cuts do you use
07:46:55 <newsham> theres really not much diversity in computer languages
07:47:01 <newsham> then again they've only been around for half a century
07:47:05 <b_jonas> Sgeo: I'm not quite sure how smalltalk work, but I think it has named messages having higher precedence than symbol, similar to Haskell, or something
07:47:11 <b_jonas> Sgeo: frankly, I don't know how it works
07:47:17 <b_jonas> but I don't think it's like APL
07:47:52 <Sgeo> I constrained my statement to binary operators. Named messages with one argument (self) have higher precedence. Messages with several have lowest precedence
07:48:08 <b_jonas> Sgeo: smalltalk is one of those old languages like BASIC or MIX assembler that were invented before C and APL got very popular
07:48:13 <Sgeo> (Ok, maybe my use of 'argument' is confusing)
07:48:31 <b_jonas> eg. MIXAL has everything parenthisized right to left, the opposite way from APL
07:49:08 <b_jonas> Sgeo: "Named messages with one argument have higher precedence. Messages with several have lowest precedence" ok
07:51:59 <b_jonas> for the record, BASIC has precedence rules that are very similar to C but not quite the same:
07:52:48 <b_jonas> in particular, in BASIC, - has a higher precedence than +, and / has a higher precedence than *, so X*Y/Z is parenthisized as X*(Y/Z) in BASIC,
07:53:28 <b_jonas> whereas Pascal has less usual rules, with AND (bitwise operator) having the same precedence as *
07:53:48 <b_jonas> both of these probably have these because they were invented before C got so popular
07:56:29 <b_jonas> Sgeo: as for smalltalk, I think unary operators having a higher precedence than binary ones is enough to make me say that Smalltalk arithmetic syntax is not similar to APL
08:30:52 -!- mhi^ has quit (Quit: Lost terminal).
08:36:32 -!- Patashu has joined.
08:42:19 -!- J_Arcane has quit (Quit: Nettalk6 - www.ntalk.de).
09:16:44 -!- edwardk has quit (Quit: Computer has gone to sleep.).
09:28:53 -!- edwardk has joined.
09:39:07 -!- edwardk has quit (Quit: Computer has gone to sleep.).
09:42:14 <fizzie> http://www.blitzortung.org/Webpages/index.php?lang=en&page_0=11 it's like a wall of thunder
09:51:41 <TieSoul> guys. If the y instruction gets a value higher than the length of the stack, does it return 0 or the bottom value of the stack?
09:51:46 <TieSoul> in befunge
09:59:46 <fizzie> I think most natural would be for it to pick a 0 if you ask it to pick something "under the bottom", so to say.
09:59:51 <fizzie> But that's just an opinion.
10:00:21 <TieSoul> yeah I think so too
10:00:26 <TieSoul> so it's undefined behaviour?
10:00:44 <fizzie> Based on the view that the empty-stack-pops-a-0 is conceptually as if there were an infinite amount of zeros on each stack.
10:00:57 <TieSoul> Because I don't remember seeing it in the spec
10:02:01 <fizzie> It does not seem to be explicitly specified, no.
10:15:57 <TieSoul> can I run befunge code within this chat?
10:16:17 <TieSoul> -98
10:19:38 <TieSoul> !befunge-98 a5.,@
10:19:46 <TieSoul> !befunge98 a5.,@
10:19:48 <EgoBot> 5
10:20:37 <fizzie> Don't think you need the newline here,
10:25:18 <b_jonas> and how do you run befunge code with multiple lines?
10:30:48 <TieSoul> !befunge98 9876543210yf8+y2+y.@
10:30:48 <EgoBot> 0
10:30:51 <TieSoul> huh
10:31:10 <TieSoul> oh wait
10:32:15 <TieSoul> !befunge98 9876543210yf8+y2+02pn02gy.@
10:32:16 <EgoBot> 0
10:32:19 <TieSoul> oh wait
10:32:20 <TieSoul> dammit
10:32:37 <TieSoul> !befunge98 0yf8+y2+02pn98765432102gy.@
10:32:38 <EgoBot> 8
10:32:55 <TieSoul> well that was unexpected
10:35:45 <TieSoul> I thought it'd output 2
10:38:34 <fizzie> So did I, in fact.
10:40:40 <TieSoul> this is pretty bizarre
10:40:42 <TieSoul> :P
10:40:51 <TieSoul> why does it output 2
10:40:53 <TieSoul> 8
10:40:57 <TieSoul> lol
10:41:59 <fizzie> !befunge98 0yf8+y2+02pn987654321 02gy. 02g1+y. 02g1-y. @
10:41:59 <EgoBot> 8 7 9
10:42:07 <TieSoul> my interpreter outputs 2
10:42:40 <TieSoul> I don't think that's how it should behave
10:42:51 <fizzie> It seems to be the wrong way around, perhaps.
10:43:07 <fizzie> Since making the number larger makes it pick a value (7) closer to top.
10:45:01 <TieSoul> so if it's larger than the size of y, it gives you the values from the bottom of the stack?
10:45:05 <TieSoul> that's weird
10:46:27 <fizzie> !befunge98 3y :884**% \884**/:884**% \884**/:884**% \884**/ ,,,, @
10:46:27 <EgoBot> CFUN
10:46:46 <fizzie> !befunge98 4y.@
10:46:46 <EgoBot> 90
10:50:12 <fizzie> It might even be a cfunge bug.
10:51:43 <fizzie> [if past the y-pushed stack:] stack_push(ip->stack, stack_get_index(ip->stack, request - sysinfo_tmp_stack->top)); (sysinfo.c:408) and stack_get_index *seems* to interpret 0 as the bottom of the stack, not the top.
10:53:56 <fizzie> @tell Vorpal Potential cfunge bug: http://sprunge.us/IWfZ -- if my quick glance at how the stack works was right, anyway.
10:53:57 <lambdabot> Consider it noted.
10:55:23 <fizzie> I would've expected mycology to test using y for picking, however.
10:55:54 <TieSoul> yes it does
10:56:05 <TieSoul> so I guess that's how it's supposed to work?
11:00:42 <fizzie> I don't think so. I mean, it's supposed to count from the top.
11:01:31 <fizzie> Ah, I see.
11:01:40 <fizzie> Unfortunately, mycology's test is "symmetric".
11:01:48 <TieSoul> ah
11:02:00 <TieSoul> but that doesn't explain why it thinks that mine doesn't work
11:02:12 <TieSoul> when mine says 2 with my code
11:02:18 <TieSoul> it seems to work
11:03:51 <fizzie> @tell Vorpal It's not picked up by mycology because that tests whether n34500g2+y picks a "4", and that's right there in the middle, same index no matter which direction it's counted.
11:03:52 <lambdabot> Consider it noted.
11:04:48 <fizzie> You could try the exact sequence that mycology does, though of course it might've gotten confused by something else.
11:05:58 <TieSoul> how do I encrypt my 4 letters into a handprint? :P
11:06:07 <fizzie> That's ny0yaa 1++k$ 00p n34500g2+y and then it expects the stack to be [top] 4 5 4 3 [bottom].
11:07:01 <Taneb> Morning
11:08:27 <TieSoul> hrm
11:08:30 <TieSoul> for some reason
11:08:40 <TieSoul> it seems y puts [0 0] on the stack
11:08:44 <TieSoul> before it picks
11:09:04 <TieSoul> in my interpreter
11:09:21 <TieSoul> so that the stack is [top] 4 0 0 5 4 3 [bottom]
11:09:57 <TieSoul> okay I forgot to increment the count somewhere
11:10:06 -!- nooodl has joined.
11:10:24 <fizzie> I don't rightly know why mycology gets the offset for picking that complicatedly.
11:10:28 <TieSoul> alright it works now
11:11:45 <TieSoul> alright now everything in mycology works up to the shrinking bounds
11:13:13 <TieSoul> so erm
11:13:38 <TieSoul> after it says "GOOD: form feed does not appear to exist in Funge-Space" it gets stuck in an infinite loop
11:14:58 <TieSoul> and I can't figure out why
11:16:51 <TieSoul> Everything before that point's a GOOD.
11:17:10 <fizzie> Hm. Well, according to Vorpal, the next test is "GOOD: y reports shrunk bounds correctly after spacing top-left corner".
11:17:46 <TieSoul> hrm
11:17:57 <TieSoul> so something goes wrong in the loop that spaces the corner
11:19:54 <fizzie> !befunge98 "CFUN" 000p 101p 4> #; \ 01g*00g+00p 01g884***01p 1-:#;_ 00g. @
11:19:55 <EgoBot> 1128682830
11:19:59 <fizzie> As for the fingerprint encoding, that's one way.
11:20:54 <TieSoul> alright, I haven't decided on a name for my interpreter yet
11:21:25 <fizzie> !perl print unpack('N', 'CFUN'); # or just, you know
11:21:26 <EgoBot> 1128682830
11:22:08 <TieSoul> I guess I have to decide on a name for my interpreter :P
11:22:42 <TieSoul> I'll go with FWIP (Funge Work-In-Progress) for now :P
11:22:56 <TieSoul> !perl print unpack('N', 'FWIP');
11:22:56 <EgoBot> 1180125520
11:23:06 <fizzie> I guess if fungot ever gets a Funge-98 interpreter (not very likely), it's going to be FNGT.
11:23:06 <fungot> fizzie: might need to modify the semantics of scheme, even from poor instructors. x_x. since you can define
11:29:08 -!- TieSoul has changed nick to BusySoul.
11:29:16 -!- BusySoul has changed nick to Tiesoul.
11:33:11 <b_jonas> fungot: less is more
11:33:12 <fungot> b_jonas: huh?!? that sounds bad. indeed, what about
11:33:14 -!- MindlessDrone has joined.
11:33:15 <b_jonas> fungot: war is peace
11:33:16 <fungot> b_jonas: i think i wouldn't open anything official in a place where most of the textbooks were fairly standard ones. stewart for complex analysis.
11:33:20 <b_jonas> fungot: freedom is slavery
11:33:20 <fungot> b_jonas: i didn't finish the kipple interpreter, ork can create the function yourself. :p
11:34:30 <b_jonas> kipple?
11:36:00 <b_jonas> fungot: ignorance is strength
11:36:01 <fungot> b_jonas: on another note, i've almost got it... thanx! :) fnord je? all those are operators.
11:37:52 <fizzie> I remember Kipple.
11:39:06 <fizzie> Didn't know fungot was making an interpreter.
11:39:07 <fungot> fizzie: can't think of any situation where you did something like
11:39:37 <fizzie> fungot: Don't you be disparaging me, you piece of code.
11:39:37 <fungot> fizzie: goal is assembly in sexps
11:42:44 -!- edwardk has joined.
11:44:14 <Tiesoul> ugh
11:44:23 <Tiesoul> I'm going to have to run Mycology in debug mode
11:44:28 <Tiesoul> this is going to take a while :P
11:44:32 -!- Tiesoul has changed nick to TieSoul.
11:45:34 <b_jonas> fungot: do you prefer languages where the side effects of evaluation of multiple arguments to a function happen in an undefined order, such as C or scheme, or languages where they happen in a well-defined order?
11:45:35 <fungot> b_jonas: c99 preprocesses the same way as brainfuck, ook, spoon... http://copocoto.sdf-eu.org/ pub/ scheme-repository/ fnord/ fnord
11:45:55 -!- Koen_ has joined.
11:47:31 -!- edwardk has quit (Ping timeout: 255 seconds).
11:56:14 -!- Sgeo has quit (Read error: Connection reset by peer).
11:57:49 <TieSoul> okay I can't figure out why mycology puts my into an infinite loop
11:57:54 <TieSoul> me*
12:02:04 -!- shikhout has joined.
12:05:02 -!- shikhin has quit (Ping timeout: 250 seconds).
12:25:36 -!- yorick has joined.
12:29:48 -!- edwardk has joined.
12:30:28 -!- edwardk has quit (Client Quit).
12:33:05 -!- Patashu has quit (Quit: Soundcloud (Famitracker Chiptunes): http://www.soundcloud.com/patashu MSN: Patashu@hotmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .).
12:48:22 -!- shikhout has quit (Ping timeout: 250 seconds).
13:08:22 -!- copumpkin has quit (Ping timeout: 240 seconds).
13:11:40 -!- copumpkin has joined.
14:14:52 -!- sebbu has quit (Ping timeout: 240 seconds).
14:18:08 -!- sebbu has joined.
14:18:52 -!- sebbu has quit (Changing host).
14:18:52 -!- sebbu has joined.
14:27:07 -!- edwardk has joined.
14:34:24 -!- nycs has changed nick to `^_^v.
14:39:28 -!- Frooxius has quit (Read error: Connection reset by peer).
14:39:40 -!- Frooxius has joined.
14:49:32 <elliott> fizzie: seems like a mycology bug too
14:50:05 <fizzie> Well, it's not a bug, just a deficiency.
14:51:35 <fizzie> @tell Deewiant Mycology test for picking with y picks out the middle element of a three-element stack (4 out of 3,4,5), hence not noticing if the implementation mistakenly counts from the bottom of the stack instead of the top.
14:51:36 <lambdabot> Consider it noted.
14:51:41 <fizzie> Let's note it anyhow.
14:52:32 <Deewiant> D'oh
15:00:32 <Deewiant> fizzie: Out of curiosity re. getting the offset complicatedly, is there a simple way?
15:01:44 <Deewiant> fizzie: And feel free to select out of a) nickname in commit msg b) realname in commit msg c) both d) no attribution
15:03:18 <TieSoul> hey Deewiant, I'm writing a Befunge-98 interpreter, and it gets into an infinite loop when Mycology tries to space the top-left corner for a test, and I can't figure out why.
15:04:24 <TieSoul> (what I do know is that the interpreter does not shrink the bounds, but when I fix that it slows my interpreter down immensely.)
15:05:38 <Deewiant> So your last GOOD output is still the form feed one?
15:06:18 <TieSoul> yes.
15:06:42 <TieSoul> everything before that is GOOD except one instance where y reports a wrong upper bound.
15:06:55 <Deewiant> And presumably you don't know where you're infinite-looping? :-)
15:07:12 <TieSoul> no.
15:07:25 <TieSoul> I suspect it's when Mycology tries to space the corner/
15:07:30 <TieSoul> But I don't know for sure
15:08:07 <Deewiant> That would put you somewhere in here I guess:
15:08:09 <Deewiant> >' 0a-6738*+*p>5b*11p>11g::' \0a-p#v_v Clear area used for
15:08:11 <Deewiant> v ;^ p11-1<;<
15:08:13 <Deewiant> >1-:::+\pa-:11p22p>11g::' \22gp#v_a-11p22g:2+#v_$28*:1+y\y1+
15:08:15 <Deewiant> ^;# p11+1<; p22+1<
15:08:53 <TieSoul> Yeah
15:09:33 <Deewiant> Or the wraparound immediately after, if you report the correct least point
15:09:46 <Deewiant> But I guess you don't so it's likely just one of those loops
15:10:20 <TieSoul> y reports the least point p has been used on.
15:11:23 <Deewiant> Then it's probably incorrect
15:11:29 <Deewiant> Anyway, I'd suggest figuring out how far you get
15:12:12 <Deewiant> Some simple hackery like if (x == 41 && y == 201) print("got out of first loop\n"); or whatever
15:12:26 <Deewiant> And then narrow it down
15:13:20 <TieSoul> well, it does not get out of the first loop
15:13:20 -!- MindlessDrone has quit (Quit: MindlessDrone).
15:15:13 <TieSoul> okay
15:15:19 <TieSoul> it gets stuck inside the first loop
15:15:25 <TieSoul> it goes in then doesn't come out
15:16:30 <Deewiant> That loop is just a fairly simple countdown from 55, nothing too weird going on
15:17:16 <Deewiant> I'd suspect something quite fundamental like the stack or funge-space getting messed up
15:17:49 <Deewiant> Or then an unlucky bug in ' or \ or something, but I think all the instructions in that loop have been used so much at that point that it would've shown up earlier...
15:19:00 -!- MoALTz has joined.
15:19:16 <TieSoul> or
15:19:18 <TieSoul> wait
15:19:19 <TieSoul> huh
15:19:34 <TieSoul> it seems to get stuck before that
15:19:44 <TieSoul> I tested the wrong coords.
15:20:29 <Deewiant> Not much to get stuck on between the form feed message printer and that loop, a bug in ; perhaps?
15:20:46 <TieSoul> might be
15:22:17 -!- MindlessDrone has joined.
15:22:39 <Deewiant> What language are you writing your interpreter in, btw
15:22:52 <TieSoul> Python
15:23:05 <TieSoul> I guess it's a bug in wrapping using ;.
15:24:22 <TieSoul> hrm, but comments currently take up ticks in my implementation and move along just like normal. (it's not concurrent don't worry I'll fix that if it gets concurrent)
15:24:57 <Deewiant> Darn, PyFunge was one of the "revived to beat Mycology" interpreters, so you won't be the first
15:26:14 <TieSoul> well, I do everything in Python :P
15:26:19 <TieSoul> basically
15:28:12 <Deewiant> Nothing wrong with that, was just wondering whether it'd be a new language for the hall of fame or whatever
15:28:37 <TieSoul> ah
15:29:37 <TieSoul> damn, I really want to test the fingerprints I've implemented :P
15:30:27 <Deewiant> You're not far off :-)
15:31:11 <TieSoul> lemme see if it gets through if I delete the ;s
15:31:53 <TieSoul> well, it doesn't get through
15:32:03 <TieSoul> which means I tested the wrong coords again
15:32:39 <Deewiant> You mentioned a debug mode (I assume it outputs a trace or something), maybe set it to turn on when y >= 200 or something? :-P
15:32:58 <TieSoul> Yeah, I could do that
15:32:59 <TieSoul> thanks
15:38:20 <TieSoul> hrm
15:38:26 <TieSoul> it's definitely a bug in the ;
15:38:31 <TieSoul> or just wrapping
15:38:56 <TieSoul> because it gets infini-looped in the tick after ; is executed
15:39:22 -!- edwardk has quit (Quit: Computer has gone to sleep.).
15:43:25 <TieSoul> the IP seems to not advance despite the delta being positive, while in the ;.
15:43:40 <TieSoul> I got this by making spaces take up a tick inside ;s
15:44:13 <TieSoul> but that makes no sense
15:44:49 <TieSoul> the loop says "x,y = move(x, y)" so every tick it should move irrelevant of if it's in a comment.
15:49:55 <TieSoul> It's definitely a wrapping bug
15:56:09 <TieSoul> If I try making another file consisting of:
15:56:11 <TieSoul> v
15:56:18 <TieSoul> . v
15:56:30 <TieSoul> ;v; >;
15:56:35 <TieSoul> but aligned
15:56:51 <TieSoul> it does not give me that wrapping error
15:57:14 <Deewiant> You might need to write something to negative space first
15:58:17 <TieSoul> adding 01-1p to the beginning still doesn't give me the error
15:58:36 <Deewiant> Then it's not that simple :-P
16:00:15 <elliott> has anyone tried the unrolling type trick for common deltas like fizzie's -93 interpreter had?
16:01:04 <Deewiant> Which trick was that?
16:03:32 <TieSoul> adding a form feed to the line with comments doesn't work either
16:04:13 <elliott> Deewiant: https://gist.github.com/fis/6898996 has it, I think
16:04:34 <elliott> the "insts" macro, e.g.
16:05:26 <Deewiant> TieSoul: I suggest either debugging Mycology as-is, or copying Mycology up to the failing point and removing needless lines until it's small enough to debug
16:05:38 <Deewiant> (And still exhibits the problem)
16:07:53 <Deewiant> elliott: So complete copies of the code for different deltas? Hasn't been done in -98 afaik. (The resulting binary size, think of the floppies!)
16:08:19 <elliott> Deewiant: right, something like that. it seems like you could eliminate a lot of indirection and branches for the common case.
16:08:36 <elliott> maybe you could even do something like just preloading N instructions along a delta, and then executing them as a linear program, bailing if the delta changes
16:08:50 <elliott> I don't know if that'd help much.
16:09:05 <Deewiant> Depending on the funge-space implementation it might
16:09:19 <elliott> preload N instructions as things to computed-goto to :)
16:09:25 <elliott> (and bail if instructions get rebound or delta changed or whatever)
16:09:29 <TieSoul> copying four lines surrounding the one that wraps using ; doesn't exhibit the problem
16:09:52 <elliott> I forget, fungespace stores 32-bit values usually right?
16:09:53 <elliott> or is it 8-bit
16:10:00 <TieSoul> undefined.
16:10:02 <Deewiant> elliott: -93 is 8-bit I think
16:10:06 <elliott> I mean -98.
16:10:34 <TieSoul> in -98 it can be anything according to spec
16:10:41 <elliott> I always kinda wondered what it'd be like if you stored cells that are valid instructions as computed-goto pointers.
16:10:58 <elliott> and then used invalid pointers for other cells.
16:11:14 -!- heroux has quit (Ping timeout: 260 seconds).
16:11:21 <elliott> or even not invalid pointers, just have N copies of reflect :)
16:11:24 <elliott> you'd only save one switch/case I suppose.
16:11:38 <elliott> I guess that's kind of pointless because it doesn't optimise where it actually matters (e.g., fungespace)
16:11:41 <TieSoul> for example, my implementation features arbitrary-sized cells (called 'inf'-sized cells by y)
16:12:00 -!- heroux has joined.
16:12:24 <elliott> TieSoul: right, I just checked the spec. I just meant that it's not like 32-bit stack, 8-bit fungespace
16:12:31 <elliott> (I've implemented -98)
16:12:44 <elliott> arbitrary-sized cells are still illegal I think :)
16:13:07 -!- MoALTz has quit (Ping timeout: 260 seconds).
16:13:18 <TieSoul> "1 cell containing the number of bytes per cell (global env). aka cell size. Typically 4, could also be 2, 8, really really large, infinity, etc."
16:13:27 <elliott> yeah, but you can't push infinity to the stack.
16:13:51 <TieSoul> in python: push(float('inf'))
16:13:55 <elliott> or if you can, then your cells are no longer "signed integers" and so you break the spec.
16:13:57 <Deewiant> That thinko's been fixed in later revisions
16:14:10 <elliott> wait, -98 got revisions?
16:14:34 <elliott> https://github.com/catseye/Funge-98/blob/master/doc/funge98.markdown I guess this is the canonical spec
16:14:46 <elliott> 1 cell containing the number of bytes per cell (global env).
16:14:54 <elliott> okay, yeah. so I just don't believe arbitrary-sized cells are legal
16:15:14 <Deewiant> It might have been just a simplification in Chris's head when he did the Markdown conversion
16:15:40 <elliott> the github commits say it's the "2004 revision"
16:15:54 <elliott> so I suspect the version on quadium.net is just from 1998
16:16:11 <Deewiant> If you look at the git log it starts from an HTML import which still says the "really really large, infinity" stuff and then it just gets removed in the Markdown conversion process
16:16:15 <elliott> oh :/ the html version has it, yeah
16:16:25 <elliott> I think we actually asked chris about this though?
16:16:35 <Deewiant> Maybe, can't remember
16:17:25 <elliott> TieSoul: I assume you just push -1?
16:17:37 <elliott> if you're actually pushing a float then that's terrifyingly against-spec
16:17:39 <Deewiant> elliott: Like he said he pushes inf
16:17:45 <elliott> that's not an integer. :/
16:17:55 <elliott> the spec is very clear about cells being integers. :p
16:18:13 <TieSoul> Python's inf is kind of an edge case imo :S
16:18:15 <elliott> can you massage inf into some other float or do otherwise-wacky stuff given one on the stack?
16:18:16 <Deewiant> Maybe Mycology should check that it's a sensible value by dividing it by itself and aborting if the result is not 1 :-P
16:18:26 <elliott> TieSoul: it's just an IEEE floating point value...
16:18:31 <TieSoul> oh
16:18:34 <TieSoul> well then it isn't
16:18:39 <elliott> >>> type(float('inf'))
16:18:39 <elliott> <type 'float'>
16:18:46 <TieSoul> I'll push -1 then
16:18:59 <elliott> now, if you made the whole stack floats, that would be exciting.
16:19:02 <elliott> and very illegal.
16:19:47 <Deewiant> Wasn't there an interpreter in a float-only language, I forget
16:21:56 <elliott> probably someone has done JS.
16:22:02 <elliott> albeit likely very noncompliantly.
16:22:21 <TieSoul> okay so I have made mycology bypass that portion of the code.
16:22:28 <TieSoul> so I can test fingerprints
16:22:56 <TieSoul> and while testing ORTH, it loops over the tests for S and X for some reason
16:22:58 <Deewiant> Don't be surprised if shit breaks randomly because fingerprint tests assume that everything works, moreso than the previous parts
16:23:00 <TieSoul> X reflects too
16:23:30 <TieSoul> which it shouldn't
16:37:37 -!- J_Arcane has joined.
17:12:35 -!- diginet has quit (Ping timeout: 264 seconds).
17:18:22 -!- diginet has joined.
17:19:31 -!- MoALTz has joined.
17:25:05 <elliott> I guess the problem with "JITting" -98 naively is that the IP kinda changes delta a lot.
17:26:22 -!- diginet has quit (Ping timeout: 260 seconds).
17:27:26 -!- Burton has quit (Ping timeout: 250 seconds).
17:30:29 <Deewiant> Unless you write Unefunge, and why wouldn't you?
17:34:17 <elliott> maybe you could follow constant-delta-instructions as you JIT the instructions from fungespace. but at that point, why not just interpret the instructions as you go?
17:38:10 <Deewiant> You could have one thread run ahead decoding, but then decoding is almost always the bottleneck anyway
17:40:57 -!- diginet has joined.
17:43:39 <Deewiant> fizzie: Too late, no attribution it is
17:46:47 <fizzie> Deewiant: I completely missed your comment, fancy that. But anyway, yad+y{...} seems simpler than the y0yaa1++k${...}n there is.
17:47:32 <fizzie> Where {...} denotes use-the-value instead of the regular meanings of {}.
17:48:59 <fizzie> Unless maybe you don't want to use the "pick one cell" functionality before testing it, or something.
17:50:43 <b_jonas> whoa
17:51:21 <Deewiant> Nah, I think you're right
17:51:39 <Deewiant> The "pick one cell" has been tested earlier and it seems like it's treated as fatal if it doesn't work
17:52:29 <fizzie> !befunge98 "NRTS"4( 0y ad+k$ > #;:!4*jD#;< @ just curious
17:52:30 <EgoBot> tmp/input.13159
17:52:31 -!- edwardk has joined.
17:52:44 <fizzie> Well, that was boring.
17:53:10 <Deewiant> ad+k$ will be off-by-one vs. ad+y
17:53:28 <fizzie> Yes, but I was doing something else here.
17:53:39 <fizzie> (Namely, dropping also the ad+'th cell.)
17:55:48 <newsham> https://github.com/seL4
17:58:19 <fizzie> V. fancy, a .systems domain.
18:04:08 -!- edwardk has quit (Read error: Connection reset by peer).
18:04:26 -!- edwardk has joined.
18:33:10 -!- myndzi\ has joined.
18:34:14 <TieSoul> what esolang shall I implement? :P
18:34:28 <TieSoul> oh right I was going to do spiral
18:34:53 -!- SirCmpwn has quit (Ping timeout: 240 seconds).
18:42:30 -!- edwardk has quit (Quit: Computer has gone to sleep.).
18:43:16 <Koen_> TieSoul: you should try When
18:43:24 <TieSoul> you've said that a lot
18:43:40 <TieSoul> I might.
18:43:42 -!- SirCmpwn has joined.
18:43:42 <TieSoul> Might.
18:47:18 -!- edwardk has joined.
18:51:39 -!- shikhin has joined.
18:54:32 <TieSoul> how do I implement signed 8-bit integers in Python? Do I just do if val >= 128: val -= 255 and if val <= -129: val += 255?
18:55:12 <elliott> you can use %
18:55:58 <TieSoul> if I do val % 128, it'll put me at 0, not -128, at overflow.
18:57:33 <elliott> >>> ((128 + 128) % 256) - 128
18:57:34 <elliott> -128
18:58:26 <elliott> you could also use ctypes.c_byte
18:58:43 <b_jonas> elliott: isn't that unsigned?
18:58:55 <b_jonas> wait, let me look that up
18:58:57 <elliott> as signed as char is
18:59:00 <elliott> which is probably bad
18:59:06 <elliott> I don't know if there's a c_int8_t though
18:59:09 <fizzie> (c_int8)
18:59:18 <elliott> also why does this not exist in the stdlib other than in the FFI module :/
18:59:42 <b_jonas> actually, https://docs.python.org/3/library/ctypes.html seems to suggest c_byte corresponds to the C type char, which can be either (but is more often signed)
19:00:26 <b_jonas> yeah, what you said
19:00:43 <elliott> fizzie has it right
19:01:04 <fizzie> Though to me b_jonas' link seems to suggest that c_byte corresponds to "signed char", and c_char corresponds to char.
19:01:28 <fizzie> Oh, the table and the list are kind of contradictory.
19:01:36 <TieSoul> so I can't add two c_bytes together.
19:01:41 <TieSoul> with +
19:01:47 <TieSoul> am I missing something
19:02:01 <TieSoul> or c_int8s
19:02:37 <fizzie> The overview table says "char", but the long list in the reference section says "class ctypes.c_byte: Represents the C signed char datatype, and interprets the value as small integer."
19:02:43 <fizzie> That's so Python.
19:02:51 <b_jonas> fizzie: ouch
19:03:03 <b_jonas> you'd better look at the source then if you want to be sure
19:03:40 <fizzie> Well, the int8 is at least a safe choice.
19:03:56 <TieSoul> c_byte(128) gives me c_byte(-128) when I print it
19:03:58 <TieSoul> so yeah
19:04:06 <TieSoul> it's signed
19:04:17 <fizzie> On your system, you mean.
19:04:30 <fizzie> If it's aligned with the platform's "char" type, it might not be the same everywhere.
19:05:05 <TieSoul> oh also, if I import c_int8 and use it, it gives me a c_byte when I print it.
19:05:19 <fizzie> Yes, it's listed to be "usually" an alias for c_byte.
19:05:57 <TieSoul> okay then.
19:06:13 <fizzie> "c_int8(x).value" looks like a worky (if unpretty) way to reduce a number to an 8-bit signed int.
19:07:25 <TieSoul> yeah I figured that
19:08:11 <elliott> tbh I'd just write my own wrapper class at this point
19:09:07 <TieSoul> meh, it works
19:09:26 <TieSoul> hopefully works on all systems.
19:10:03 <elliott> I wouldn't, like...
19:10:10 <elliott> I wouldn't create a c_int8 and uncreate it every time.
19:10:13 <elliott> I assumed c_int8 could do arithmetic.
19:10:49 <fizzie> It's a mutable type, you can change its .value for arithmetic, I suppose.
19:11:59 <elliott> this is the part where I write class Octet(object): ...
19:12:07 <TieSoul> changing its value works
19:12:11 <TieSoul> quite well
19:13:39 <fizzie> There's also always the -(val & 0x80) | (val & 0x7f) if you wanted to stick with regular Python integers and just reduce it into the usual range of an 8-bit integer. On the plus side, it's also not immediately obvious to everyone what's happening.
19:13:43 <elliott> I wonder why they don't have arithmetic.
19:14:10 <TieSoul> besides, I'm only using it for a Spiral interpreter
19:18:37 -!- edwardk has quit (Quit: Computer has gone to sleep.).
19:20:12 -!- MindlessDrone has quit (Quit: MindlessDrone).
19:21:39 <fizzie> Tried to learn a bit about modern C++, but somehow the experience was unpleasant, even though I had gotten the impression the new thing was the bee's knees.
19:21:59 <shachaf> fizzie: whoa
19:22:11 <shachaf> which part was unpleasant
19:22:29 <shachaf> my experiences with bees have mostly been unpleasant. uncertain whether knees were involved
19:26:56 -!- Burton has joined.
19:28:00 <fizzie> I don't know. All these sources seemed to be so excited about it, but I couldn't get excited about rvalue references or "uniform" initialization.
19:28:06 <fizzie> Perhaps it's just an unfamiliarity problem.
19:45:08 <fizzie> As a single example, there's this http://www.stroustrup.com/C++11FAQ.html#unions which is all "look, we have 'improved' unions and now you get to write this thing that involves an explicit destructor call and placement new".
20:03:16 -!- FreeFull has quit (Quit: Rebooting).
20:10:39 -!- edwardk has joined.
20:15:20 -!- conehead has joined.
20:30:18 <int-e> @quote c++
20:30:18 <lambdabot> Plugin `quote' failed with: user error (parseRegex for Text.Regex.TDFA.String failed:"c++" (line 1, column 3):
20:30:18 <lambdabot> unexpected '+'
20:30:19 <lambdabot> expecting empty () or anchor ^ or $, an atom, "|" or end of input)
20:30:26 <int-e> hah.
20:30:32 <int-e> @quote c\+\+
20:30:32 <lambdabot> qwe1234 says: c++ is the way it is for a very, very good reason.
20:30:54 <int-e> @quote C\+\+
20:30:54 <lambdabot> thoughtpolice says: at least with python you have the comfort of knowing that one day you won't be woken up to discover your house is burned, family & dog raped, and civilization collapsed due to some C++ insanity that happens only when the moons are aligned correctly, it's friday, you're wearing a green t-shirt and it's the 27th day of june on a
20:30:54 <lambdabot> 10 year cycle
20:32:21 <J_Arcane> Hah hah.
20:34:40 <elliott> what does that even have to do with C++
20:34:54 <elliott> I could put literally any language I disliked in place of C++ there and it'd make as much sense
20:39:33 -!- MoALTz_ has joined.
20:41:52 -!- MoALTz has quit (Ping timeout: 245 seconds).
20:42:36 -!- MoALTz has joined.
20:42:50 <Vorpal> elliott, so this is interesting. I can connect to simple ssh/https on same port (using a multiplexing application) at the server, but it seems I can't connect to home at all
20:43:05 <elliott> home probably is firewalled or whatever?
20:43:08 <Vorpal> I guess they blacklisted connecting to consumer IPs?
20:43:12 <elliott> did you ~~forward the ports~~
20:43:13 <Vorpal> I have dynamic ip so
20:43:32 <Vorpal> elliott, yes I can connect to home from my phone no issue, even over ssh
20:43:35 <Vorpal> err
20:43:38 <Vorpal> even over 443 I mean
20:44:22 -!- MoALTz_ has quit (Ping timeout: 240 seconds).
20:44:35 <elliott> at this point I would try and get a VPN working any way I could and then just use it for everything, because this connection sounds fucked
20:44:41 <elliott> or just tor even :P
20:44:57 <Vorpal> elliott, well, vpn over http proxy?
20:45:10 <elliott> VPN over TLS.
20:45:13 <Vorpal> Ah
20:45:15 <elliott> OpenVPN uses TLS, I think.
20:45:27 <Vorpal> Really? I thought it used a custom protocol
20:45:35 <elliott> https://openvpn.net/index.php/open-source/337-why-openvpn-uses-tls.html
20:45:51 <elliott> for auth and key exchange at least
20:46:07 <Vorpal> Ah
20:47:21 <Vorpal> elliott, anyway the current way is transparent. That is, the proxying daemon does some crazy stuff so that openssh/nginx sees the original source IP of the client
20:47:31 <Vorpal> Which is neat I guess
20:47:33 -!- edwardk has quit (Ping timeout: 240 seconds).
20:47:48 <Vorpal> Uses some iptables magic. The mangle table. So black magic.
20:47:52 <elliott> btw, do they MITM SSL certs?
20:47:54 <elliott> I wouldn't put it past them
20:48:42 <fizzie> Probably not, if actual non-TLS-wrapped SSH (to the server) did work.
20:49:08 <elliott> oh, it wasn't wrapped at all?
20:49:17 <fizzie> It didn't sound like that, but maybe I missed something.
20:49:18 <elliott> but Vorpal said ssh on port 443 didn't work, earlier
20:49:35 <Vorpal> <@elliott> btw, do they MITM SSL certs? <-- don't think so no
20:49:51 <Vorpal> <@elliott> oh, it wasn't wrapped at all? <-- yes it worked when I did it to my vps
20:49:54 <Vorpal> It didn't to home
20:49:59 <Vorpal> And it used to work to home
20:50:07 <Vorpal> Thus I assumed they filtered it
20:50:33 <Vorpal> But it turns out they blocked the range of IPs my home ADSL uses
20:50:43 <elliott> I still think Tor is the lowest-effort solution here :)
20:50:58 <fizzie> Perhaps their IDS just noticed (afterwards) there was some non-TLS traffic and blackholed it.
20:51:07 <fizzie> You'll find out if they filter out your VPS too, I guess.
20:51:26 <Vorpal> fizzie, well that could be an issue. My home was available for moths
20:51:28 <Vorpal> months*
20:51:31 <Vorpal> Before that happened
20:51:45 <Vorpal> Anyway, I have dynamic IP at home so hm
20:51:54 -!- not^v has joined.
20:52:02 <Vorpal> Anyway I just need to write an init.d script for this now
20:52:13 <fizzie> "I think you mean a systemd service."
20:52:19 <fizzie> "j/k lol"
20:52:53 -!- not^v has changed nick to ^4.
20:53:54 <Vorpal> fizzie, not on debian *stable*
20:54:37 <fizzie> I had to install BIND 9.9 from wheezy-backports.
20:55:25 <fizzie> It brought in some sort of systemd-fakery-thing, since wheezy (stable) is not systemd, but the place it's backported from is.
20:55:55 -!- myndzi\ has quit (Ping timeout: 256 seconds).
20:56:41 <fizzie> Package: init-system-helpers "This package contains helper tools that are necessary for switching between the various init systems that Debian contains (e.g. sysvinit, upstart, systemd). An example is deb-systemd-helper, a script that enables systemd unit files without depending on a running systemd."
21:04:32 <Vorpal> Huh
21:04:48 <Vorpal> Well I finished the sshttpd init.d script
21:04:58 <fizzie> Though the /etc/init.d/bind9 script looks perfectly regular, so I have no idea what init-system-helpers is for.
21:04:59 <Vorpal> sslh didn't work, but sshttpd does
21:05:35 <fizzie> While it says "helper tools", deb-systemd-invoke and deb-systemd-helper are the only things in it.
21:06:17 <Vorpal> Hm think I'll restart my VPS to check that it properly sets everything up
21:06:24 <zzo38> Now I have added three new instructions (PUSH, POP, GSO) into VM360 so now all 64 instruction opcodes are defined.
21:10:34 <zzo38> I have a flowchart template from IBM, although some are marked "COMPOSITE SYMBOL (see envelope for details)" and I do not have the envelope.
21:12:16 <zzo38> Do you know what is written on the envelope?
21:13:44 <shachaf> zzo38: No. It reminds me of the Zork Zero calendar.
21:16:55 -!- mhi^ has joined.
21:24:10 -!- shikhin has quit (Remote host closed the connection).
21:32:05 -!- Bike_ has joined.
21:32:34 -!- FreeFull has joined.
21:32:58 <Vorpal> fizzie, I don't have time to look at that cfunge bug currently. At the earliest during the weekend
21:33:35 <Vorpal> fizzie, but is it that the y index for picking is the wrong direction?
21:33:51 -!- Bike_ has changed nick to Bicyclidine.
21:34:24 <Vorpal> [13:43:45] <fizzie> !befunge98 0yf8+y2+02pn987654321 02gy. 02g1+y. 02g1-y. @
21:34:24 <Vorpal> [13:43:46] <EgoBot> 8 7 9
21:34:28 <Vorpal> So what should that output?
21:35:52 <Vorpal> @tell fizzie http://sprunge.us/RFAF
21:35:53 <lambdabot> Consider it noted.
21:36:01 <Vorpal> Good night
21:36:43 -!- subleq has quit (Ping timeout: 256 seconds).
21:53:01 -!- edwardk has joined.
21:54:41 -!- nooodl_ has joined.
21:58:17 -!- nooodl has quit (Ping timeout: 272 seconds).
22:05:50 <zzo38> I have realized that optimizing a Z-machine program into the absolute smallest size is a very complicated problem which depends on a very large number of things. This includes figuring out which tables should overlap, deciding what should go into the fwords table, whether or not a custom character set packing table should be used, whether or not certain things should be aligned, and many other things.
22:06:37 <myname> proof it's np hard
22:06:40 <fizzie> @tell Vorpal Yes, and it should output "2 3 1". (The K cells "conceptually" pushed by y are on top of the existing contents of the stack, so if the argument to y is K+N, the picked cell should be the N'th counting from the top, not bottom.)
22:06:40 <lambdabot> Consider it noted.
22:07:34 <zzo38> myname: It is probably at least NP hard.
22:07:53 <myname> zzo38: that's not a proof
22:07:53 -!- oerjan has joined.
22:08:58 <b_jonas> zzo38: of course it is
22:10:14 <b_jonas> it's probably way not in NP, because checking equivalence of z-machines is probably not computable
22:10:54 <oerjan> <myname> "the not entirely possible case" <-- that was the typo i mentioned earlier that was too good to correct
22:10:57 <b_jonas> this applies not only to z-machine but basically any programming language that is not very restricted
22:11:20 <zzo38> Yes, although I don't only mean the instruction sequences, but also the way data is packed in memory.
22:11:23 <oerjan> glad someone noticed
22:12:37 <zzo38> Even to optimize the way data is packed in memory would be complicated in this case.
22:12:40 <oerjan> b_jonas: checking equivalence of finite state machines is certainly computable. not sure what complexity class.
22:12:51 <b_jonas> oerjan: sure
22:13:13 <b_jonas> oerjan: deterministic or non-deterministic finite machines?
22:13:38 <b_jonas> I'm not sure if it's possible in polynomial time for even deterministic finite machines,
22:13:55 <b_jonas> but it's at least checkable in exponential time.
22:14:17 <oerjan> there's that state minimization algorithm, i recall. does that give a canonical form?
22:14:24 <b_jonas> zzo38: yes, just packing is probably around NP-complete or something
22:14:47 <b_jonas> (I can't definitely say because I don't know much about the z-machine)
22:14:58 <b_jonas> oerjan: yes
22:16:01 <oerjan> so that suffices then.
22:16:26 <b_jonas> oerjan: yes, but probalby not in polynomial time
22:16:53 <zzo38> b_jonas: Different things require different alignment and can exist in different areas of memory, for one thing. And then, there is possibilities of overlapping tables, and if data at one address can be safely used for more than one purpose. But, there is more!
22:16:53 <b_jonas> I don't know what you can do in polynomial time exactly
22:17:35 <b_jonas> zzo38: can you have a table with holes?
22:17:59 <b_jonas> zzo38: as in, you have some fixed data you can shift anywhere in memory, but it's not continuous, it has a large field of don't care in the middle
22:18:29 <b_jonas> and can you have any number of such tables that you can move independently?
22:18:55 -!- `^_^v has quit (Quit: Leaving).
22:19:00 <b_jonas> if so, then finding an alignment is probably NP-hard because of PCP
22:19:15 <zzo38> b_jonas: In some cases, yes. For example if you do not need all 96 fwords then it is possible to put the gaps in the middle instead of at the end. Furthermore, there is the case that part of the table can be used for another purpose, and alignment is required. There can also be gaps between tables.
22:19:53 <b_jonas> zzo38: hmm wait, what I was thinking might not work
22:19:59 <b_jonas> I still suspect it's NP-hard, but can't prove
22:20:00 <b_jonas> let me think
22:20:30 <zzo38> The short description of an object is one thing that can include gaps (possibly used for another property table), due to the way it is encoded.
22:21:05 <b_jonas> ok, I think it's probably NP-hard, but I'm not willing to try to find a proof this evening
22:22:40 <zzo38> Furthermore you might make fwords table point into the vocabulary table or into other text strings. You might also have overlapping text strings.
22:22:58 <oerjan> <b_jonas> I don't know what you can do in polynomial time exactly <-- in some sense, no one knows, and that's why P vs. NP is still unsolved :P
22:23:41 <zzo38> Because packed text strings contain shift codes, you could even have one text consisting entirely of lowercase letters and spaces, and another which is the same but in uppercase, if neither contains fwords you can make them to overlap.
22:24:58 <b_jonas> zzo38: are the text strings ended with a delimiter, or length prefixed, or is the length in the table? (not really relevant to the complexity, just asking)
22:25:25 <zzo38> b_jonas: Ended with a delimiter; specifically, the high bit of a 16-bit word is set to indicate that it ends.
22:25:42 <zzo38> However, short descriptions *also* contain a length prefix.
22:26:56 <zzo38> (And vocabulary entries always have a fixed length.)
22:28:35 <oerjan> @tell Sgeo <Sgeo> Is there a particularly deep reason that multiplication having higher precedence than addition seems to be the most convenient order? <-- my hunch is that it's because you can get any polynomial into the canonical form with sums outermost, but the opposite is factorization and much harder.
22:28:35 <lambdabot> Consider it noted.
22:28:48 <zzo38> Now you can see some of the considerations which must be made.
22:29:22 <b_jonas> zzo38: I see
22:29:47 <zzo38> (The length of a short description is used to know how many bytes to skip over in order to find the first property.)
22:29:49 <oerjan> @tell Sgeo therefore it's most useful to have the precedence such that the canonical form parses easily without parentheses.
22:29:49 <lambdabot> Consider it noted.
22:30:56 <oerjan> @tell Sgeo i guess infinite series also add to this being convenient.
22:30:57 <lambdabot> Consider it noted.
22:31:37 <zzo38> Many considerations also would have to be different depending if it is ZIP, EZIP, XZIP, or YZIP.
22:36:50 -!- subleq has joined.
22:41:11 <oerjan> <fizzie> http://www.blitzortung.org/Webpages/index.php?lang=en&page_0=11 it's like a wall of thunder <-- bornholm seems to be really getting it now
22:42:46 -!- ^4 has quit (Ping timeout: 260 seconds).
22:45:21 -!- Koen_ has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?").
22:46:33 -!- Sgeo has joined.
22:49:43 -!- mihow has joined.
22:50:51 -!- subleq has quit (Ping timeout: 272 seconds).
22:53:23 -!- subleq has joined.
23:00:20 -!- mihow has quit (Quit: mihow).
23:08:55 <oerjan> hm apparently there's supposed to be thunder here in a couple hours
23:09:15 <oerjan> not so common in the middle of the night...
23:09:42 <oerjan> maybe i should keep that page open to see it approaching :)
23:11:42 -!- nooodl_ has quit (Read error: Connection reset by peer).
23:12:31 <oerjan> i see one strike a bit east of here from 20 minutes ago
23:14:00 <oerjan> much more activity down near germany, but since it's a german site they've probably got more sensors there
23:14:08 <oerjan> *near/in
23:14:41 <oerjan> now there was one in sweden
23:15:30 <oerjan> oh if you choose detectors it shows you which reported each strike
23:15:47 <oerjan> it seems they don't have to be close
23:16:58 <oerjan> well, dependent on strength probably, but several strikes in german/poland get detections as far away as finland
23:17:05 -!- edwardk_ has joined.
23:17:55 <oerjan> and that one in sweden got detected from britain outside the map
23:18:05 <oerjan> pretty cool actually
23:19:26 <oerjan> oh there's been another strike just east of here
23:20:42 -!- edwardk has quit (Ping timeout: 250 seconds).
23:21:33 -!- edwardk_ has quit (Ping timeout: 256 seconds).
23:22:06 <oerjan> heh much more lightning in the usa than in europe
23:22:13 <oerjan> i guess because it's day there
23:23:06 <FireFly> Stockholm got quite some showers and a bit of thunder a few days ago
23:24:24 <oerjan> i should learn where things are in sweden, afaik the lightning right now is about where i thought stockholm was
23:25:43 <oerjan> ah stockholm is further south
23:25:52 <FireFly> Stockholm is the part that sticks out, kinda hard to miss
23:25:52 <oerjan> everything in sweden is so far south
23:27:17 <FireFly> I wonder how that detection works
23:27:20 <oerjan> bloody google maps has changed its ui to be bloody annoying
23:28:50 <oerjan> or maybe i've just got too used to two-finger scrolling working in other sites
23:29:03 <oerjan> (although the ui looks different, too)
23:29:05 <FireFly> 2Ground-based and mobile detectors calculate the direction and severity of lightning from the current location using radio direction-finding techniques together with an analysis of the characteristic frequencies emitted by lightning. Ground-based systems use triangulation from multiple locations to determine distance, while mobile systems estimate distance using signal frequency and attenuation."
23:29:17 <FireFly> s/2/"/
23:29:25 <FireFly> I guess that makes sense
23:29:27 <oerjan> FireFly: did you select the detectors button
23:29:41 <FireFly> Yes
23:29:42 <oerjan> it looks much cooler then
23:30:45 <mhi^> oerjan: Pretty cool website. :)
23:31:07 <oerjan> thank fizzie who linked it earlier
23:31:18 * mhi^ does
23:32:26 <oerjan> i'm wondering if south america has really bad coverage or if it's just because it's winter there
23:33:08 <oerjan> hm new zealand has a thunder storm but none in australia
23:33:22 <quintopia> what cool website
23:33:42 <oerjan> http://www.blitzortung.org/Webpages/index.php?lang=en&page_0=20
23:34:12 <oerjan> that's oceania because i just clicked to it
23:34:25 <oerjan> usa had a _lot_ going on in comparison
23:35:21 <oerjan> nothing in asia either
23:35:41 <oerjan> they should have day now, no?
23:36:33 <oerjan> given japan is a listed subarea they surely must have some sensors there
23:37:58 <oerjan> a lonely strike somewhere in venezuela
23:38:27 -!- ^v has quit (Quit: Leaving).
23:38:27 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com).
23:38:41 -!- ^v has joined.
23:39:29 -!- conehead has joined.
23:39:33 -!- myndzi\ has joined.
23:39:36 -!- conehead has quit (Signing in (conehead)).
23:39:37 -!- conehead has joined.
23:44:13 -!- myndzi\ has quit (Ping timeout: 256 seconds).
23:44:30 -!- nooodl has joined.
23:45:00 -!- myndzi\ has joined.
23:47:02 <zzo38> How could searchable noun phrases be compactly encoded for text adventure game?
23:48:04 <Taneb> HUffman tree
23:48:05 <Taneb> ?
23:48:29 <Taneb> Or something similar
23:49:22 -!- Bicyclidine has quit (Ping timeout: 245 seconds).
23:54:05 <zzo38> I mean it would also have to be able to tell which object you mean, which corresponds to such noun phrase (since there might be more than one), and that the decoding program is also small.
23:57:04 <zzo38> I could try to use the method similar to OASYS, possibly
←2014-07-28 2014-07-29 2014-07-30→ ↑2014 ↑all