←2008-10-15 2008-10-16 2008-10-17→ ↑2008 ↑all
00:08:30 <psygnisfive> GUYS
00:11:36 <GregorR-L> Guys and gays
00:11:45 <GregorR-L> (The 21st century remake of guys and dolls)
00:16:26 <ehird> gays... like the COMMUNISTS
00:20:02 <Slereah_> Gays... Like ALAN TURING
00:22:21 <GregorR-L> Gays... like that COMMUNIST ALAN TURING
00:24:27 <pikhq> Hahah.
00:32:52 <poiuy_qwert> hello GregorR-L, yeah i did
00:41:13 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
00:43:16 -!- slereah has joined.
00:44:32 <GregorR-L> poiuy_qwert: I didn't realize it had been reimplemented :P
00:44:42 <GregorR-L> poiuy_qwert: You realize I wrote my own Hello, world when I wrote the language, right?
00:46:00 <ehird> http://davelargo.blogspot.com/2008/10/evolution-canvas-love.html You have to laugh at this - "Here is how our product looks, here is how the Apple version looks, let's make our product look identical to the Apple version"
00:47:29 <GregorR-L> - Glass like event UI makes it appear modern and infuriatingly difficult to work with
00:49:15 <ehird> Yeah that shit is fugl
00:49:15 <ehird> y
00:49:20 <ehird> Anyway I am out. seeya
00:52:59 -!- Dewi has joined.
01:00:13 <poiuy_qwert> I did not notice when I wrote my version, but I did find it after
01:06:22 -!- slereah has quit (Read error: 113 (No route to host)).
01:34:06 <bsmntbombdood> what's the opinion on py3k
01:34:31 -!- Sgeo has joined.
01:45:01 <ENKI-][> bsmntbombdood: python 3000? is that like python with slightly less bloat?
01:55:09 <bsmntbombdood> that's the idea
01:57:49 <Sgeo> Almost debate time!
02:18:03 -!- GregorR-L has quit (Remote closed the connection).
02:34:04 <GregorR> MOXIE > *
03:07:07 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | interesting. is the transformation function turing-complex?.
04:00:10 -!- GregorR-L has joined.
04:00:17 <GregorR-L> http://codu.org/oou.pdf
04:00:30 <GregorR-L> I wurve needless formalization.
04:18:11 <bsmntbombdood> right
04:36:45 -!- ab5tract has joined.
04:55:19 <GregorR> Oh come on, people in this channel should love needless formalization at least a third as much as I do.
05:02:35 -!- Sgeo has quit (Remote closed the connection).
05:07:20 -!- poiuy_qwert has quit.
05:11:07 <ab5tract> define needless. define formalization.
05:26:29 <GregorR> http://codu.org/oou.pdf // needless formalization.
05:41:53 -!- ab5tract has quit.
05:50:14 -!- Dewio has joined.
06:02:48 <oklocod> GregorR: is that an order of urinals computational model?
06:02:54 -!- Dewi has quit (Read error: 101 (Network is unreachable)).
06:03:02 <GregorR> Well, it's not a computation model, but yes, it is the order of urinals :P
06:03:11 -!- Dewio has changed nick to Dewi.
06:03:22 <oklocod> i have no idea what the content means
06:03:48 <oklocod> oh
06:03:58 <oklocod> the first line is the type?
06:04:18 <oklocod> hmmhmm
06:06:11 <bsmntbombdood> it's the definition of a function
06:06:15 <bsmntbombdood> that's all i can glean
06:07:29 <oklocod> ya, but i have no idea what the body does, i'm hoping it doesn't run oou, because it's kinda short.
06:07:39 <oklocod> hmm
06:09:15 <oklocod> d()... distances are quite crucial in oou, when approaching a urinal, you need to take steps that takes you closer to it, and when choosing a urinal, you have to take the one that's the farthest from yours peer peers
06:09:24 <oklocod> *that take
06:09:32 <oklocod> *your peer
06:09:48 <oklocod> my s key is antibroken
06:17:08 <bsmntbombdood> errr
06:19:58 * GregorR reappears :P
06:20:15 <GregorR> That's the idea, yes.
06:20:24 <GregorR> The first two cases are trivial cases (all empty, all in use)
06:20:36 <GregorR> The third case chooses the urinal which is most distant from any in use urinals.
06:21:46 <bsmntbombdood> why doesn't the definition take any arguments?
06:22:21 <GregorR> It's the definition of a transform, not a function in the functional-language sense.
06:22:31 <bsmntbombdood> hmm
06:22:37 -!- Dewio has joined.
06:23:23 <GregorR> That is, it's a state transition.
06:23:51 <bsmntbombdood> What are U, U_E and U_I?
06:24:04 <GregorR> U is the set of all urinals, U_E are those that are not in use, U_I are those that are in use.
06:25:09 <bsmntbombdood> why do you need all three then?
06:25:14 <bsmntbombdood> you should just use U_E and U_I
06:25:28 -!- Dewi has quit (Read error: 101 (Network is unreachable)).
06:25:41 <GregorR> Strictly I don't, but it allows some convenient definitions regarding their unions and disjunctions *shrugs*.
06:27:54 <bsmntbombdood> if U = U_E then U_I = {}
06:28:01 <GregorR> Yes.
06:28:16 <bsmntbombdood> so the first case should have U'_I = {x}
06:28:23 <bsmntbombdood> don't need the redundancy
06:28:35 <GregorR> Eh, 'struth.
06:28:54 <GregorR> Believe it or not, getting the most efficient writeup was not one of my goals :P
06:29:24 <GregorR> (Otherwise the first case would be removed entirely)
06:29:50 <GregorR> (With some minor adjustments to the last part, that is)
06:30:24 -!- Dewio has changed nick to Dewi.
06:31:00 <bsmntbombdood> http://www.codu.org/pics/albums/userpics/normal_Trombute_Complete_Taped.jpg
06:31:01 <bsmntbombdood> sexy beast
06:37:56 * GregorR eats a peanutbutter-and-banana sandwich.
06:40:21 <bsmntbombdood> mmmm
06:40:56 -!- ab5tract has joined.
06:54:06 <psygnisfive> DIS LINK NOT WORK
07:04:39 -!- GregorR-L has quit ("Leaving").
07:22:07 -!- Dewio has joined.
07:35:02 -!- kar8nga has joined.
07:35:21 -!- Dewi has quit (Read error: 101 (Network is unreachable)).
07:52:36 -!- kar8nga has quit ("Leaving.").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:42 -!- immibis has joined.
08:04:40 -!- Ps2jak2 has joined.
08:04:45 <Ps2jak2> hi
08:05:25 -!- Ps2jak2 has set topic: Um.
08:05:40 <immibis> fungot!
08:05:40 <fungot> immibis: eval ( expt fnord 2)
08:05:43 <immibis> er
08:05:46 <immibis> wrong bot
08:05:47 <immibis> optbot!
08:05:47 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | my friend just glanced at it and got it :|.
08:06:07 * Ps2jak2 shoots optbot with rocketlauncher
08:06:07 <optbot> Ps2jak2: but what we need to do is anticipate that anywhere we could use the resulting monad we could also get 'Ok'
08:06:29 <immibis> wtf!?
08:06:34 -!- oerjan has joined.
08:06:46 <Ps2jak2> i know lets kick the bot!!!
08:06:51 <Ps2jak2> jokes lol
08:07:17 <immibis> ^echo optbot
08:07:17 <optbot> immibis: the full title is "Anything (we can fix)"
08:07:18 <fungot> optbot optbot
08:07:18 <optbot> fungot: plus I've been composing for a long time
08:07:18 <fungot> optbot: i almost understood that _; my self fnord my out " " fnord
08:07:19 <optbot> fungot: as the case may be.
08:07:19 <fungot> optbot: also, i'm norwegian. not sure if i like
08:07:19 <optbot> fungot: you might want to change your nickserv password.
08:07:20 <fungot> optbot: c99 seems to bascially fnord)"
08:07:20 <optbot> fungot: Yeah... Perl doesn't design for readability... so it's sort of expect anyways. ^_^
08:07:20 <fungot> optbot: i have to think
08:07:20 <optbot> fungot: sweet
08:08:18 <oerjan> <fungot> optbot: c99 seems to bascially fnord)"
08:08:18 <optbot> oerjan: in oklotalk, i had that problem
08:08:18 <fungot> oerjan: average lifespan divided by world population... the file i'm writing which is still useless.
08:08:23 <oerjan> the truth is revealed!
08:08:29 <Ps2jak2> im getting a 360
08:08:32 <Ps2jak2> wii can fuck a cow
08:08:51 <oerjan> great news for the insemination industry
08:15:07 <fizzie> fungot: Hey, you're not Norwegian!
08:15:07 <fungot> fizzie: you don't know emacs
08:15:27 <oerjan> i think those cancel out
08:15:36 <fizzie> What a strange counter-argument.
08:15:57 <immibis> fungot: what is 2 + 2?
08:15:58 <fungot> immibis: for now, but i'm not connecting the dots to how a program handles fnord errors.
08:15:58 <fizzie> "You don't know emacs, therefore you can't say anything about my nationality."
08:16:11 <immibis> wtf is a fnord?
08:16:16 <ab5tract> hahaha
08:16:29 <ab5tract> "you don't know emacs"
08:16:34 <fizzie> "Fnord is the typographic representation of disinformation or irrelevant information intending to misdirect, with the implication of a conspiracy."
08:16:44 <fizzie> I just use it as a placeholder for rare words.
08:16:54 <ab5tract> see Truthiness
08:19:29 -!- Dewi has joined.
08:23:19 -!- Ps2jak2 has quit (Read error: 104 (Connection reset by peer)).
08:23:20 -!- Ps2jak2_ has joined.
08:24:31 <immibis> ok
08:24:39 <ab5tract> fungot: what is is
08:24:39 <fungot> ab5tract: actually i like " facilitate", because it expects pure functions. the guy who can
08:24:43 <immibis> i thought it actually meant something, maybe function ordinal whatever that is
08:25:05 <ab5tract> immibis: a fnord is like a fjord of lies
08:25:33 <ab5tract> fizzie: is fungot you're doing?
08:25:34 <fungot> ab5tract: we all get bored and quit" is done the same with h in that same place would have had that first, and then
08:26:04 <ab5tract> s/you're/your
08:26:13 <fizzie> ab5tract: Yes. In case anyone didn't mention it yet, it's written in Befunge (Funge-98, actually), therefore the name.
08:26:16 <ab5tract> ga i should go to bed
08:26:25 <ab5tract> fizzie: i figured :)
08:26:45 <ab5tract> i've only begun to funge
08:27:30 <ab5tract> i've played with befunge-93 but i haven't read through the 98 spec yet
08:27:39 <fizzie> Well, fungot's not overly complicated, some 300 lines: http://zem.fi/~fis/fungot.b98.txt
08:27:40 <fungot> fizzie: then you want a regular tuning
08:27:47 <ab5tract> haha
08:28:05 <fizzie> fungot: You mean I should tune you, or I should self be somehow "tuned"?
08:28:05 <fungot> fizzie: it's quite easy
08:28:22 <fizzie> That's somewhat disturbing. The bot is going to "tune" me.
08:28:35 <immibis> lol
08:28:56 <immibis> fungot: are you omniscient?
08:28:57 <fungot> immibis: but it was fixed in subsequent versions of gcc, i have
08:29:07 <immibis> omg you made fungot omniscient!?
08:29:08 <fungot> immibis: when all booleans are true, but we don't have hierarchical namespace and it's hard to read
08:29:50 <oerjan> fungot knows all. but he is a little vague on which parts are true and which are false.
08:29:50 <fungot> oerjan: now that's cool. it's not specifically fast, and even though we aren't/ haven't been married in over six years, but want to program recursively, can
08:30:12 <immibis> you haven't been married in over six years....
08:30:20 <immibis> W T F
08:30:42 <fizzie> I'm not sure the Finnish jurisdiction will even let snippets of code to marry.
08:30:45 <immibis> so you and fungot were married six years ago?
08:30:46 <fungot> immibis: i don't follow feeds that closely...
08:32:07 -!- Dewio_ has joined.
08:32:19 -!- Dewio has quit (Read error: 101 (Network is unreachable)).
08:32:22 <fizzie> I don't think fungot even existed six years ago. There's something fishy going on.
08:32:22 <fungot> fizzie: sleep calls... night all. i just now realized that sentence made no sense
08:32:30 <ab5tract> only in befunge could an oracle be written in ~300 lines
08:33:23 -!- mellifluidicpuls has joined.
08:33:28 <ab5tract> fizzie: cool of you to comment that code
08:33:48 <ab5tract> fungot: nly systms wrth knwng gt knwn
08:33:49 <fungot> ab5tract: next challenge is to golf that js down to 510 characters, plus the 1000 books released early which have confirmed the leak to be genuine.
08:33:52 <fizzie> There's actually 350 lines of C++ and 175 lines of Perl (curiously coincidental numbers) involved in creating the language model used for the oracular predictions.
08:34:29 <ab5tract> fungot: 4 + 4
08:34:30 <fungot> ab5tract: 14 nonterminals left) instead of
08:34:58 <fizzie> I'd like to comment the code better, but I lack a suitable editor that can comment arbitrarily shaped regions of text and handle moving of comments when editing.
08:35:02 <ab5tract> fizzie: i see. i didnt realize befunge interfaced with other languages so handily
08:35:10 <mellifluidicpuls> fungot: are you related to any of the pacific northwest species of fungi perfecti?
08:35:10 <fungot> mellifluidicpuls: you're that guy
08:35:15 -!- Ps2jak2_ has quit ("Some folks are wise, and some otherwise.").
08:35:21 <ab5tract> omg
08:35:27 <mellifluidicpuls> hilarious
08:35:47 <immibis> lol
08:35:52 <immibis> roflolmao
08:35:53 <ab5tract> fizzie: yes befunge needs its own ide
08:35:56 <fizzie> The other languages are just used to create a data file; Funge-98 FILE fingerprint is used to read 'em.
08:36:09 <ab5tract> ahhh
08:36:12 <oerjan> fizzie: i think that somehow ties into your not knowing emacs
08:36:21 <immibis> roflolmao
08:37:25 <ab5tract> fungot: 5 == 5
08:37:25 <fungot> ab5tract: can you give me an assortion of mind virii to choose from.
08:37:46 <ab5tract> fungot: only in special instances
08:37:46 <oerjan> fungot: i suggest the Borg
08:37:47 <fungot> ab5tract: the gui doesn't seem useful for what?
08:37:47 <fungot> oerjan: the one one one-shot continuations, yome.
08:38:08 <mellifluidicpuls> fungot: what sort of bedfellow are you?
08:38:09 <fungot> mellifluidicpuls: rather, even takes n,
08:38:34 <mellifluidicpuls> fungot: that don't make no sense!
08:38:35 <fungot> mellifluidicpuls: error in make-vector: exact integer required for operation.
08:39:13 <ab5tract> now i understand why i was so confused when i was reading through the logs when i first found the channel
08:39:16 <fizzie> fungot: Stop pretending you're written in Scheme.
08:39:17 <fungot> fizzie: ( mu ( lambda ( x)
08:39:19 <immibis> fungot: -1351356
08:39:19 <fungot> immibis: that's cool. it's not a bad plan.) when it suffices that fnord)
08:39:20 <oerjan> mellifluidicpuls: i think fungot is schemeing against you
08:39:21 <fungot> oerjan: oh. misunderstood. it's late) re: srfis. the scheme language is to an assembly language
08:39:41 <immibis> does it look for keywords or something
08:40:05 <fizzie> It doesn't look at the input text at all. At least it shouldn't. (Just checks if the string "fungot" is a substring of it.)
08:40:06 <fungot> fizzie: actually i am
08:40:17 <mellifluidicpuls> lol
08:40:24 <ab5tract> fudge bars
08:40:29 <ab5tract> i need to sleep
08:40:42 <ab5tract> fungot dont haunt my dreams
08:40:42 <fungot> ab5tract: ( for those not reading comp.lang.scheme: http://www.schemers.org/ documents/ standards/ r5rs/ html/ fnord
08:40:42 <immibis> ok
08:40:43 <fizzie> Well, in any case, the code I wrote doesn't look at the input. Who knows what that bot actually does.
08:40:54 <ab5tract> seriously
08:40:57 <immibis> i just noticed that you mentioned scheme and it said ( mu ( lambda ( x)
08:41:02 <ab5tract> fungot: are you an.... anarchist???
08:41:02 <fungot> ab5tract: maybe tomorrow? the day after tomorrow
08:41:07 <immibis> lol
08:41:14 <immibis> it seems to give surprisingly relevant answers
08:41:17 <mellifluidicpuls> lol
08:41:20 <ab5tract> fungot good to hear. fight the man!
08:41:20 <fungot> ab5tract: or... should it skip over next instruction or next char always?
08:41:32 <ab5tract> fungot: fuck no and dont you forget it
08:41:33 <fungot> ab5tract: each successive number means that you're unlikely to use some sort of
08:41:48 <immibis> fungot: 1 2 3 4 5 6 7 8 9 10
08:41:48 <fungot> immibis: is this channel for night and then go to fnord
08:41:56 <immibis> fungot: clarify.
08:41:57 <fungot> immibis: wouldn't work for heterogeneous arrays, twb`. nice
08:42:13 <immibis> fungot: maybe you're right, i shouldn't be clarifying heterogeneous arrays.
08:42:14 <fungot> immibis: what's that game evoli mentioned the other day
08:42:14 <mellifluidicpuls> you are a riot fungot
08:42:14 <fungot> mellifluidicpuls: are you reading through sicp?
08:42:37 <oerjan> fungot seems scheme obsessed
08:42:37 <fungot> oerjan: x86 only at the signatures of a project's modules good documentation for the whole thing
08:42:44 -!- CoffeeBot has joined.
08:42:45 * CoffeeBot is making a coffee in an office mug with cold milk for this channel
08:42:46 * CoffeeBot gives everyone in this channel a coffee in an office mug with cold milk
08:42:48 -!- CoffeeBot has left (?).
08:42:55 <immibis> sorry i was demonstrating it to ps2jak2
08:43:12 <fizzie> oerjan: Might be because I fed my #scheme logs (in addition to #esoteric) to the language model builder to get a bit more data.
08:43:59 <fizzie> That's 72 megs of #scheme, 40 megs of #esoteric.
08:44:06 <oerjan> ouch
08:44:10 <immibis> get logs of #defocus
08:44:31 -!- Dewi has quit (Read error: 101 (Network is unreachable)).
08:44:39 <ab5tract> or #boingboing
08:44:43 <fizzie> I did at some point feed it some selected books from Project Gutenberg to make it talk like Charles Darwin.
08:44:48 <fizzie> But it was just freaky.
08:44:52 <ab5tract> oh goodness
08:44:55 <mellifluidicpuls> lol
08:44:58 <oerjan> fizzie: it started evolving?
08:45:07 <ab5tract> can we have a book of revelations mode?
08:45:20 <fizzie> oerjan: There was a lot of talk about various species of animals, at the very least.
08:45:46 <mellifluidicpuls> how bout some shakesear fungot
08:45:46 <ab5tract> or a nostradamus mode
08:45:46 <fungot> mellifluidicpuls: i didn't need to
08:46:03 <ab5tract> bastard fungot, you don't know whats good for oyu
08:46:03 <fungot> ab5tract: you mean structs?
08:47:06 -!- CoffeeBot has joined.
08:47:06 <CoffeeBot> fungot: hi
08:47:07 <fungot> CoffeeBot: but a far more likely outcome." http://en.wikipedia.org/ wiki/ exe
08:47:11 <ab5tract> okay im out now. i could do this all not
08:47:13 <fizzie> Let's see.. I used the books at http://zem.fi/~fis/darwinbooks.txt for the Charles Darwin mode.
08:47:17 <ab5tract> s/not/night/
08:47:25 <immibis> !r quit
08:47:26 -!- CoffeeBot has quit.
08:47:40 <ab5tract> fungot its been real
08:47:40 <fungot> ab5tract: ( the lexical environment is the key to these things
08:47:49 <ab5tract> i couldn't agree more
08:48:00 <immibis> is the source available?
08:48:17 <ab5tract> fizzie: mo' modes plz
08:48:26 <ab5tract> immibis: http://zem.fi/~fis/fungot.b98.txt
08:48:27 <fungot> ab5tract: imagine a beowulf array of sarahbots
08:48:41 <immibis> what's a sarahbot?
08:48:46 <mellifluidicpuls> I love sarahbots!
08:49:06 <oerjan> Maybe fungot could include the source link in its irc name?
08:49:06 <fungot> oerjan: int main(int argc, char **argv
08:49:10 <fizzie> There was a sarahbot on #scheme, I think.
08:49:40 <oerjan> imagine a beowulf array of fungots
08:49:40 <fungot> oerjan: seen ig? it's a beloved movie. cyberpunk keanu techno-spiritual black dudes.
08:49:56 <mellifluidicpuls> lol
08:49:57 <ab5tract> wtf
08:50:14 <ab5tract> goddamn you fungot you are funging my brainstemspace
08:50:14 <fungot> ab5tract: it's what it is?
08:50:25 <ab5tract> say it with conviction damn you
08:50:26 <mellifluidicpuls> wow fungot, sounds like matrix
08:50:26 <fungot> mellifluidicpuls: let me do that actually works correctly btw, do you mind if
08:50:36 <immibis> fungot: that doesn't make sense
08:50:37 <fungot> immibis: maybe s48 does work on this
08:50:43 <oerjan> it is slowly reprogramming us
08:50:49 <mellifluidicpuls> lol
08:50:54 <ab5tract> seriously
08:50:55 <mellifluidicpuls> fuckin eh it is
08:50:56 <immibis> how does the phrase generator program work
08:51:40 -!- ab5tract has quit.
08:52:01 <fizzie> Do you want the short or the long description?
08:52:08 <immibis> short
08:52:59 <fizzie> It collects all n-grams (up to n=4, I think) and counts the frequencies... then it uses the previously generated context of n-1 and the frequencies of the n-grams with matching first n-1 words to determine the next word.
08:53:11 <fizzie> Also, I think I found the Darwin model I built earlier.
08:53:19 <fizzie> fungot: Can you speak like Darwin for us?
08:53:19 <fungot> fizzie: letter 765. to j.d. hooker. down 1857?. 139.), whilst still kept in/ greenhouse, produced capsules in/ ratio :) fnord to/ taste or/ odour :) cervus fnord on/ toucans; protective colouring :) shells.
08:53:41 <fizzie> Oh, right, Darwin had this problem about using :) all the time.
08:53:48 <oerjan> and /
08:53:53 <mellifluidicpuls> lol
08:53:57 <mellifluidicpuls> me too
08:54:40 <fizzie> I think my script just picks up some ascii-formatting from the Gutenbergized version of the books, but not sure what.
08:55:08 <mellifluidicpuls> what genus of fungot are you?
08:55:08 <fungot> mellifluidicpuls:/ storage :) a supply :) organised matter, not containing any organic matter; and here/ evidence is plain in/ valle del yeso. it was different with/ quadrifids; for/ lining :) protoplasm was a little cliff similarly composed, but including many nodular and stalactiform concretions: i found " 640? 1.
08:55:20 <immibis> lol "not containing any organic matter"
08:55:25 <immibis> quite accurate don't you think
08:55:39 <fizzie> Yes, "organised matter, not containing any organic matter" is a good description.
08:55:45 <immibis> fungot: what kingdom are you in?
08:55:45 <fungot> immibis: seedlings were raised from/ same plant, but can seldom gain access into its cavity, to/ same side; and these turn by well-adapted movements to any object with its extremity considerably upturned, but to a different climate.
08:55:54 <immibis> fungot: how does evolution work?
08:55:54 <fungot> immibis: embryology, 218
08:55:59 <immibis> fungot: how does evolution work?
08:55:59 <fungot> immibis: new guinea " e. columbi, fnord.)
08:56:03 <immibis> fungot: clarify
08:56:03 <fungot> immibis: if any domestic race had descended from/ jagged summit :)/ plant, any more than why unnatural conditions :) life.
08:56:06 <immibis> fungot: clarify
08:56:12 <immibis> fungot: you are an idiot
08:56:16 <mellifluidicpuls> deflol
08:56:18 <fizzie> "unnatural conditions :)"
08:56:38 <fizzie> It went to the "ignoring this person" mode it uses to avoid optbot loops.
08:56:38 <optbot> fizzie: if ((ptr + sizeof(type)) < comp->mem->size) { \
08:57:03 <immibis> you made it do that specifically to avoid optbot loops?
08:57:04 <optbot> immibis: And now, the conspiracy theory.
08:57:19 <immibis> you made fungot do that specifically to avoid optbot loops?
08:57:20 <optbot> immibis: http://pastebin.ca/963248
08:57:39 <fizzie> Yes. It will again start responding to you when someone else speaks to it.
08:57:42 <fizzie> fungot: Hey there.
08:57:43 <fungot> fizzie: printed by william clowes and sons, stamford street, and afterwards to visit/ flower, as i saw when i hastened/ fall :) fnord and this is/ chief object; and strongly contracted facial muscles destroy fnord/ story :)/ composition is generally told with wonderful force. your discussion on/ australian musk-duck; on/ relative proportions :)/ limbs :) rabbits, muscles wither, arteries grow up. on great droughts. on hydrophob
08:57:43 <immibis> ok
08:58:02 <immibis> btw did you know http://qdb.us/ has an orange colour scheme while http://www.qdb.us/ is blue?
08:58:06 <fizzie> In any case, IRC logs seem to generate better IRC chatter than Darwin's books.
08:58:29 <mellifluidicpuls> this is a gas folks (and bots) - but I gotta turn in
08:58:38 <immibis> i still say you should add #defocus logs
08:58:46 <mellifluidicpuls> nite fungot and optbot
08:58:46 <optbot> mellifluidicpuls: >>> numbda "/"*5
08:58:46 <fungot> mellifluidicpuls: macacus nemestrinus. lastly, dr. f. smith informs me that this is/ case with/ females :) certain flies " culicidae and fnord) or two species only, appears to range continuously from/ cordillera to/ highlands :) southern brazil " in/ :( expression :)/ emotions,' page 220, in which/ water has been seen to fructify in france.
08:58:59 <mellifluidicpuls> lol
08:59:01 -!- mellifluidicpuls has left (?).
08:59:28 <fizzie> fungot: Do you work with symlinks correctly?
08:59:28 <fungot> fizzie: which is interesting but not turing-complete, is unknown, you will have to
08:59:36 <fizzie> Seems to. Back to irclogs.
08:59:59 <fizzie> What's #defocus all about?
09:00:01 <immibis> fungot: you are an idiot in this mode?
09:00:02 <fungot> immibis: " language"
09:00:08 <immibis> #defocus is off-topic
09:00:15 <immibis> fungot: why are you an idiot in this mode?
09:00:15 <fungot> immibis: that's just bad style html. i don't
09:00:39 <immibis> i have to go now.
09:00:42 <immibis> i leave you with two words.
09:00:45 <immibis> ^echo optbot
09:00:45 <optbot> immibis: with different intervals corresponding to different instructions
09:00:45 <fungot> optbot optbot
09:00:45 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to).
09:00:46 <optbot> fungot: I just spent a longish time completely filling a Sodaplay thingy with dots and springs.
09:00:47 <fungot> optbot: trust me, the entertainment in doylestown is the people who run joy now expect to run joy programs that access it on any other platform i am aware
09:00:47 <optbot> fungot: He doesn't understand "no flooding" too well.
09:00:47 <fungot> optbot: what do you mean? you asked me to call for something more useful
09:00:47 <optbot> fungot: online church fete store? ;d
09:00:48 <fungot> optbot: oh yes, all of those before.
09:00:48 <optbot> fungot: oops
09:00:48 <fungot> optbot: rather than having arbitrary x-, y- and z-axis, you have
09:00:49 <optbot> fungot: oh
09:01:32 <fizzie> I feel a bit bad for the log-readers who now have to wade through all that nonsense.
09:02:09 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
09:03:00 -!- puzzlet has joined.
09:05:03 <AnMaster> hah
09:07:07 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | the only things are += -= ^=, if_then_else_fi_, from_do_loop_until, call_, uncall_ and skip, and the only data is numbers.
09:07:31 <AnMaster> is that a riddle optbot?
09:07:31 <optbot> AnMaster: same
09:07:37 <AnMaster> I guess that means yes
09:07:44 <AnMaster> so what language is it
09:07:48 <AnMaster> some imperative one I guess
09:07:59 <oerjan> looks like a reversible one
09:08:19 <AnMaster> oerjan, because of uncall?
09:08:27 <oerjan> that was the first hint
09:08:33 <oerjan> but also the assignments
09:08:48 <AnMaster> ^= would be bitwise xor?
09:08:52 <oerjan> yeah
09:09:01 <AnMaster> hm
09:09:54 <AnMaster> fizzie, btw it should be possible for fungot to get in a loop with two other bots, say optbot and some other similar bot
09:09:55 <fungot> AnMaster: try xmodmap -e " alt_l meta_l alt_l". it doesn't
09:09:55 <optbot> AnMaster: mostly due to the expression syntax
09:10:03 <AnMaster> I hope we don't get that many bots though
09:11:31 <fizzie> It is. And it's already possible (and trivial) to make it loop with thutubot alone since the "ignore after four times" still applies only to babbling, not ^commands.
09:11:51 <AnMaster> hm
09:11:59 <AnMaster> fizzie, you could ignore the other bots
09:12:29 <fizzie> I should write a generic "ignore list" support, in fact. Probably too busy to do it very soon, though.
09:12:35 <AnMaster> ok
09:13:39 <fizzie> We already saw a fungot-optbot-thutubot triple-loop, in fact. (Simply including the 'optbot' string in the fungot-thutubot loop made optbot generate so much chatter that it would've prevented the single-person-ignore from kicking in.)
09:13:39 <fungot> fizzie: so, you've already asked, but then we wouldn't have the slightest clue what you are
09:13:40 <optbot> fizzie: yes
09:13:57 <AnMaster> fizzie, ah
09:14:01 <AnMaster> yeah I can see the issue
09:14:27 <AnMaster> but you want to keep the current "more than 4" limit to provide some protection against new bots
09:14:39 <AnMaster> hopefully we won't get too many more
09:14:59 <fizzie> Everyone wants in on this lucrative bot business. :p
09:15:34 <AnMaster> fizzie, I was actually thinking about some multi-eso bot, somewhat like the old egobot
09:15:39 <AnMaster> I have plans in that area
09:16:01 <AnMaster> it wouldn't itself be coded in an esolang
09:16:06 <AnMaster> but rather in erlang
09:19:52 <AnMaster> fizzie, If you saw a fingerprint named ATHR what would you think it was?
09:20:12 <oerjan> asynchronous threads
09:20:13 <fizzie> Somethinf related to asynchronous threading.
09:20:20 <AnMaster> good name then :)
09:20:57 <AnMaster> My plan is that it should work like t in normal befunge-98 mostly, except not synchronised
09:21:12 <AnMaster> however to make it still possible to code stuff in it there are two things:
09:21:51 <AnMaster> a read or write from funge space is atomic, even though the value may change after the read and the g, p, ' or s returns
09:22:00 <AnMaster> so you won't get corruption
09:22:01 <AnMaster> and
09:22:14 <AnMaster> some synchronization primitives
09:22:24 <AnMaster> to make it possible to still write programs using it
09:22:42 <AnMaster> however any comments on this area would be very useful!
09:23:01 <AnMaster> what types of sync primitives should exist for example?
09:23:09 <AnMaster> fizzie, oerjan ^
09:23:30 <AnMaster> something like pause/resume threads would be one of them I think.
09:23:58 <AnMaster> also some for of mutexes
09:24:14 <AnMaster> and is it a good idea at all?
09:25:30 <AnMaster> behaviour would be that blocking IO only blocks the relevant ATHR thread, and other ones may continue
09:25:52 <AnMaster> (that would affect SOCK for example)
09:26:48 <AnMaster> so
09:26:50 <AnMaster> good or bad idea?
09:27:29 * AnMaster pokes fizzie and oerjan
09:28:52 <oerjan> i hear transactional memory is cool
09:29:08 * AnMaster googles
09:29:28 <AnMaster> as for the atomic funge space I already know how to do that in the interpreter I plan to implement it in
09:29:31 <AnMaster> which would be efunge
09:30:02 <AnMaster> ets can be shared (they are private by default), and any writes/reads on single entries are atomic.
09:30:15 <AnMaster> and since I use a private ets table for funge-space the change would be trivial
09:30:41 <AnMaster> but "only if value is the same"
09:30:56 <AnMaster> you mean like compare-and-exchange
09:30:59 <AnMaster> interesting idea
09:32:06 <oerjan> Note: "i hear" carries a connotation that practical threading is not one of my fields of expertise
09:32:24 <AnMaster> ah
09:32:36 <AnMaster> oerjan, did you say befunge and practical?
09:32:57 <oerjan> i'm not quite sure whether or not i have _ever_ written a concurrent program, in fact :D
09:33:38 <oerjan> i did not say befunge, so no
09:43:34 <AnMaster> afk
09:44:54 <fizzie> Well, I think I would like that. Simple atomic funge-space access sounds like it's enough -- no-one's writing Funge code because it's easy. As for synchronization, a semaphore is a very classical choice.
09:45:55 <oerjan> thus it would be better to use something else, like morse code
09:58:30 -!- oklopol has joined.
09:58:33 <fizzie> Well, a semaphore is pretty primitive as far as primitives go -- though I guess a single atomic compare-and-swap instruction would be even more primitive -- and would work nicely as a Funge instruction, unlike some stranges concurrency thingies.
10:01:38 -!- oklocod has quit (Read error: 60 (Operation timed out)).
10:03:41 <fizzie> You could even call the semaphore operations P and V like Dijkstra did. :p
10:08:02 -!- Jiminy_Cricket has quit (Read error: 104 (Connection reset by peer)).
10:29:01 <AnMaster> fizzie, semaphore or mutex?
10:29:34 <AnMaster> fizzie, also compare-and-swap in funge space would be harder for my implementation
10:29:45 <AnMaster> and a huge performance hit
10:30:14 <AnMaster> fizzie, remember I plan to implement it in efunge, not in cfunge
10:30:24 <AnMaster> in fact efunge probably won't have the classical t at all
10:31:07 <fizzie> Well, a mutex is a special case of a semaphore (using only values 0, 1) so I'd go with a semaphore.
10:31:19 <AnMaster> what about a futex?
10:31:35 <AnMaster> (see man futex on linux)
10:31:48 <AnMaster> (it is the thing the kernel use for both mutexes and semaphores iirc)
10:32:59 <AnMaster> NOTES
10:32:59 <AnMaster> To reiterate, bare futexes are not intended as an easy to use abstraction for end-users. Implementors are expected to be assembly
10:32:59 <AnMaster> literate and to have read the sources of the futex userspace library referenced below.
10:33:00 <AnMaster> heh
10:33:35 <AnMaster> nah futex wouldn't work I think
10:33:36 <fizzie> I know them. Well, I guess it's just a bit more primitivey and less abstract than a semaphore.
10:33:52 <AnMaster> fizzie, actually I think this could work:
10:33:58 <AnMaster> S - Suspend current process
10:34:07 <AnMaster> R - Resume another (suspended process)
10:34:12 <AnMaster> R is async too ;P
10:34:20 <AnMaster> s/process/thread/
10:34:36 <AnMaster> fizzie, it would allow syncing, but it would be hard to use
10:35:30 <AnMaster> fizzie, or what do you think?
10:35:49 <AnMaster> remember I plan to implement it in a language where the concurrency is based on message passing
10:36:09 <AnMaster> + atomic read/write of a shared table (funge-space) as a special case
10:36:16 <AnMaster> but no compare-and-exchange for said table
10:36:26 <fizzie> I'm not sure you can do a completely race-condition-free mutual execution with just atomic reads, writes and suspend/resume... well, maybe, but there's a bit too many hoops to jump through in order for it to be comfortable to use. Of course if you're not aiming for "comfortable"...
10:36:51 <AnMaster> well my aims are:
10:37:10 <AnMaster> 1) t doesn't allow taking advantage of multi-core computers, I want my ATHR to be able to do that
10:37:42 <AnMaster> 2) it should be implementable in erlang in a reasonably simple way with reasonable performance
10:38:58 <AnMaster> actually semaphores may still be possible
10:39:04 <AnMaster> mutexes will definitely
10:40:01 <fizzie> Well, you can "easily" make a semaphore out of mutexes in the Funge code, so I guess it doesn't much matter.
10:42:43 <AnMaster> fizzie, ok. :)
10:43:15 <AnMaster> fizzie, erlang got something like mutexes (called global locks)
10:43:35 <AnMaster> now the second question: How will this interact with existing fingerprints
10:43:41 <AnMaster> and existing instructions
10:43:47 <AnMaster> IO could be problematic
10:44:12 <AnMaster> actually output will work just fine, input won't
10:44:29 <AnMaster> due to the needed buffer stuff for input
10:45:15 <AnMaster> so input only works for the first ATHR thread I guess
10:45:21 <AnMaster> fizzie, does that make sense?
10:47:52 <AnMaster> oh and I could allow compare and exchange, but only in respect other calls to the same compare-and-exchange fingerprint function, g and p could still clobber
10:49:58 <fizzie> If you have a synchronized queue, you could stick all your input characters in it in one thread, and your ~ could simply dequeue from there. Since & needs multiple characters and can't return until the whole number is read, it would mean that a thread in & would cause other threads doing ~ to block. Maybe not a bad thing. Your input queue would just need a "unget"-style 'put that thing back' function.
10:50:08 <AnMaster> true
10:50:30 <fizzie> Sensible Funge programs will probably only do IO in one thread anyway, I guess.
10:50:32 <AnMaster> fizzie, basically sync rpc
10:50:50 <AnMaster> on a come-first-serve-first basis
10:51:02 <AnMaster> makes perfect sense
10:51:09 <AnMaster> (for erlang)
10:51:43 <AnMaster> in fact erlang already have a module for something like that so you just write a callback module that fits into it
10:52:02 <AnMaster> called gen_server (generic server)
10:53:38 <AnMaster> Hm is it is a coincidence that "lock" is a subset of the word "block"
10:54:17 <fizzie> As for block-read/block-write operations (i, o, and various fingerprints like STRN's G, P) it would probably be enough to say that those are not atomic and the calling Funge code needs to explicitly synchronize them if necessary.
10:54:27 <AnMaster> yes
10:55:05 <AnMaster> fizzie, do you think anyone else will implement this fingerprint if I do it?
10:55:20 <AnMaster> or is it too insane and hard to do in most languages?
10:55:53 <AnMaster> (it would certainly be a pain in for example C)
10:56:01 <fizzie> Well, it doesn't sound _that_ difficult, at least if you don't think about implementing the atomic read/writes too efficiently.
10:57:33 <AnMaster> as long as it isn't running on distributed nodes it should actually work fairly well and be quite efficient, even with smp erlang I think
10:58:08 <AnMaster> as for instruction that could collide, consider SOCK and FILE
10:58:16 <AnMaster> especially the blocking operations in SOCK
10:58:38 <AnMaster> actually sockets and files would not be shared between ATHR threads
10:58:43 <AnMaster> at least in my case
11:01:00 <AnMaster> Deewiant, got any comments on this ATHR idea?
11:01:45 <fizzie> I'll think about implementing ATHR if I ever make that "FungeFriend" IDE. Although I think (if I feel like it and have some free time) I'll just start with a Befunge-friendly text editor that can do the "comment this strangely shaped region and make sure the comments follow when editing" thing.
11:02:01 <AnMaster> FungeFriend?
11:02:03 <AnMaster> wtf?
11:02:32 <AnMaster> fizzie, what about making sure it realign <>^v as needed too?
11:02:39 <AnMaster> and allow writing in the different directions
11:02:53 <AnMaster> may not be possible to auto-realign always
11:02:57 <AnMaster> but at least sometimes
11:03:48 <fizzie> There's a lot of helpful things it could do. Thank oklo.* for the name: [2008-10-13 14:02:13] < oklopol> more like a friend than an editor really.
11:05:32 <fizzie> I just have a feeling that if I really manage to make a befunge-friendly editor (with a large probability I won't even start) the temptation will be too great not to include a built-in interpreter/debugger in it.
11:13:05 <AnMaster> fizzie, there was a debugging protocol plan
11:13:34 <AnMaster> however since I didn't have time to work on it more I gave the maintainership of the idea to Deewiant, he was interested
11:13:39 <AnMaster> no idea what happened with that since then
11:13:58 <AnMaster> it would allow any interpreter and any frontend to interact via a socket, either tcp or unix ones
11:17:20 <Deewiant> not much has happened :-/
11:17:50 <Deewiant> mostly because CCBI work is still blocked on a compiler bug, and I've been doing other stuff
11:18:41 <AnMaster> aquire, spelling?
11:18:43 <AnMaster> hm?
11:19:07 <AnMaster> is it acquire? or is that something else?
11:19:23 <Deewiant> acquire is something, what do you think it means :-P
11:19:33 <AnMaster> Deewiant, "get" basically
11:19:37 <Deewiant> that's acquire
11:19:41 <AnMaster> right
11:21:08 <oerjan> acquire a squire
11:22:05 <AnMaster> oerjan, "squire" and "acquire" were both suggested by aspell on "aquire"
11:22:06 <AnMaster> hm
11:22:21 <AnMaster> whatever "squire" means
11:22:47 <oerjan> have no quarrel with a squirrel
11:23:14 <oklopol> fizzie: well i would've suggested BeFriend, actually :)
11:23:35 <AnMaster> Deewiant, fizzie: http://rafb.net/p/lZ9yn918.html
11:23:37 <AnMaster> any comments?
11:23:40 <AnMaster> it is a draft
11:24:11 <AnMaster> both &~ are still missing
11:24:16 <AnMaster> will add that shortly
11:24:44 <AnMaster> basically they will be served on a first-come first-serve basis from the same buffer
11:24:55 <AnMaster> Deewiant, is this something you may even consider implementing?
11:25:59 <Deewiant> maybe
11:26:21 <oklopol> DEATH TO ALL PROCESSES
11:27:03 <oerjan> oklopol: WE WILL PROCESS YOUR DEATH SHORTLY
11:27:09 <AnMaster> oklopol, K only kills the current one
11:27:14 <AnMaster> I guess Q quit would be better
11:27:21 <AnMaster> or E exit
11:27:35 <oerjan> A armageddon
11:27:37 <fizzie> Q so that it matches q, maybe.
11:27:55 <AnMaster> fizzie, it is more like @ for the current process, rather than q for the whole interpreter
11:28:03 <AnMaster> and @ is exit iirc
11:28:09 <AnMaster> the name in the standard I mean
11:28:28 <AnMaster> but q could maybe be easier to remember
11:28:30 <AnMaster> err
11:28:30 <AnMaster> Q
11:28:42 <fizzie> Yes, but you can't do capitalized @. And Q is like "@ for multiple threads", much like q is "@ for multiple threads" too.
11:29:04 <AnMaster> fizzie, I always considered q like "@ for the whole interpreter"
11:29:17 <fizzie> Well, then, you can consider Q like "@ for the whole process".
11:29:24 <AnMaster> ok you win
11:29:41 <fizzie> Or maybe you could use "@, only really big", and then accept some rich text format input. :p
11:32:26 <oklopol> :D
11:34:05 <AnMaster> fizzie, no!
11:34:44 <oklopol> don't be so negative, that would be awesome
11:35:36 <fizzie> <h1>@</h1>
11:35:49 <oklopol> !
11:36:04 <oklopol> fizzie: you're quite an xml enthusiast
11:36:07 <oklopol> why is this?
11:36:58 <AnMaster> hm
11:37:02 <AnMaster> what about REFC and ATHR
11:37:03 <AnMaster> fizzie, ^
11:37:18 <oklopol> REFCount?
11:37:26 <AnMaster> oklopol, global references
11:37:32 <AnMaster> to a cell
11:37:37 <AnMaster> a catseye fingerprint
11:37:58 <AnMaster> http://catseye.tc/projects/funge98/library/REFC.html
11:38:06 <oklopol> okily foggily.
11:38:15 <AnMaster> oklopol, see link then :)
11:38:51 <oklopol> yes much less foggy now
11:39:04 <oklopol> glad you got my new saying :)
11:39:45 <fizzie> Hmm. Well, the closest match to the spec would probably mean the references list is still completely global.
11:39:52 <oerjan> higgely piggely
11:40:04 <AnMaster> fizzie, yes I guess so
11:40:15 <AnMaster> so a process serving those
11:40:43 <fizzie> Yes, I think it would be good manners to automagically synchronize it so that people can just use D/R with impunity.
11:41:14 <AnMaster> fizzie, so like input then
11:41:14 <oklopol> impunity?
11:41:30 <fizzie> oklopol: 1. (1) impunity -- (exemption from punishment or loss)
11:41:38 <AnMaster> fizzie, TRDS and ATHR? I plan to define it to be undefined
11:41:47 <fizzie> oklopol: Used in the "without fear of bad things happening" sense.
11:41:52 <oklopol> hmm right i've heard "impune"
11:42:16 <fizzie> oklopol: Not any sort of "imp-unity" a worker's union of imps thing.
11:42:24 <oklopol> :)
11:42:25 -!- Slereah_ has joined.
11:42:29 <AnMaster> fizzie, that would be awesome!
11:42:46 <AnMaster> obviously they are related to the "demons flying out of the nose" stuff
11:43:17 <fizzie> Incidentally, do your S-spawned processes start with a copy of the spawning thread's stack, like t does?
11:43:39 <Slereah_> <AnMaster> obviously they are related to the "demons flying out of the nose" stuff < wat
11:43:52 <fizzie> Slereah_: The imp unity movement.
11:44:06 <Slereah_> wat
11:44:07 <AnMaster> fizzie, I think that would make sense
11:44:19 <AnMaster> fizzie, still there are some issues with regards to t to fix
11:44:24 <fizzie> AnMaster: I guess it would, since it's what I was expecting. And everyone knows I make sense.
11:44:27 <AnMaster> 1) thread ids as returned by y
11:44:41 <AnMaster> 2) are all threads in a ATHR duplicated when using S?
11:44:45 <fizzie> (Zounds, sometimes I make almost as much sense as fungot.)
11:44:45 <fungot> fizzie: how's it going?) reply " en oo mikään mies" or something
11:44:45 <AnMaster> I'd say no for 2
11:44:53 <AnMaster> and for 1 that they should be unique
11:45:00 <fizzie> Hah, fungot's speaking Finnish.
11:45:01 <fungot> fizzie: can you explain what purpose display serves other than for.
11:45:16 <AnMaster> fizzie, what did that Finnish mean?
11:45:55 <oklopol> i ain't no man
11:45:57 <fizzie> "I'm not a man" is the meaning, although it has a distinct style that I can't really translate right now.
11:46:01 <fizzie> Oh, there it is.
11:46:04 <AnMaster> ah
11:46:06 <AnMaster> heh
11:46:26 <AnMaster> fizzie, anyway what about the two issues I mentioned?
11:46:38 <oklopol> they aren't men either
11:46:50 <AnMaster> sigh
11:46:58 <fizzie> 1) Unique is good, although probably doesn't matter much; 2) I personally would expect it to start only the single thread doing S.
11:47:18 <AnMaster> right
11:47:57 <AnMaster> fizzie, what about TRDS?
11:48:00 <AnMaster> how would it interact
11:48:15 <fizzie> I wouldn't worry about TRDS at all, it's such a mess.
11:48:41 <oerjan> it's a heap of TRDS
11:48:50 <AnMaster> fizzie, so I might safely define it as "trying to use TRDS and ATHR at the same time SHALL cause demons to fly out of the Funge programmers nose"?
11:48:53 <AnMaster> :D
11:49:33 <AnMaster> or maybe just saying undefined is better
11:49:34 <fizzie> I wouldn't have a problem with that. How does the TRDS time travel interact with Funge-space modifications and input/output, anyway?
11:49:45 <fizzie> I don't think I've ever really read the spec.
11:50:11 <AnMaster> fizzie, I think it replays everything since tick 0
11:50:19 <AnMaster> for the funge-space modification bit
11:50:26 <AnMaster> for io I think it may be undefined
11:51:02 <oklopol> i'm pretty sure it should retract all io that's been done.
11:51:20 <oklopol> because i recall lolling about that when reading the spec
11:51:23 <oklopol> but quite vaguely
11:51:40 <fizzie> Maybe it prints out "hey, please ignore the last <n> characters I wrote, and also when I next ask for input, retype whatever you wrote for the last <m> characters, okay?"
11:52:02 <oklopol> :D
11:52:05 <oklopol> yeah most likely
11:52:21 <oklopol> or perhaps backspaces
11:57:19 <AnMaster> fizzie, Deewiant: http://rafb.net/p/XItxWi85.html
11:57:22 <AnMaster> any comments?
11:58:16 <AnMaster> any other fingerprints that may interact badly with ATHR?
12:00:06 <Deewiant> why not "several universes in an ATHR"?
12:00:36 <AnMaster> Deewiant, I consider that for ordering purposes MVRS is the top layer, ATHR comes next, and lowest is t
12:01:06 <Deewiant> or maybe I just don't get what that's saying
12:01:11 <Deewiant> what do you prevent, exactly?
12:01:36 <AnMaster> Deewiant, "madness of funge-implementation maintainers"?
12:01:55 <Deewiant> AnMaster: I honestly don't get what that whole thing is saying
12:02:17 <Deewiant> so, if you're running in MVRS, and you have two ATHRs running... what?
12:02:21 <AnMaster> Deewiant, well you agree that MVRS ATHR and t needs to have a well defined order with respect to each other
12:02:28 <AnMaster> right?
12:02:39 <Deewiant> what do you mean by order
12:03:00 <AnMaster> Deewiant, consider MVRS a sack that can contains thread and ATHRs.
12:03:13 <AnMaster> consider ATHR a stack that can contains threads
12:03:23 <AnMaster> is that clearer?
12:03:36 <Deewiant> right, but what would ATHRs containing MVRSs even be?
12:03:52 <Deewiant> multiple independent funge interpreters that can't talk to each other?
12:04:03 <AnMaster> Deewiant, exactly the issue
12:05:28 -!- slereah has joined.
12:05:28 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
12:05:50 <Deewiant> AnMaster: are mutexes shared across universes?
12:06:23 <AnMaster> Deewiant, good question
12:06:28 <AnMaster> I suspect they aren't
12:06:31 <fizzie> Deewiant: How does this MVRS thing work? How can the universes communicate?
12:06:41 <AnMaster> Deewiant, actually they might be
12:06:54 <AnMaster> really truly global would be easier for me to code
12:06:56 <Deewiant> fizzie: RTFM, I don't know: http://www.rcfunge98.com/rcfunge2_manual.html#MVRS
12:07:12 <Deewiant> AnMaster: what happened to the stuff we were discussing about threading MVRS universes anyway?
12:07:20 <Deewiant> can all that be implemented with ATHR and the current MVRS?
12:07:35 <AnMaster> Deewiant, isn't the current MVRS already async?
12:07:50 <Deewiant> AnMaster: I don't know
12:07:53 <AnMaster> anyway ATHR is a different approach to async threads than MVRS
12:08:07 <Deewiant> AnMaster: but we wanted the option of sync vs. async
12:08:13 <Deewiant> and I suspect Mike's impl is sync
12:08:45 <fizzie> The FM is not very verbose again. What does "go to another universe" mean, does it migrate the current 't'-style IP there or what?
12:08:49 <AnMaster> Deewiant, ATHR won't allow sync
12:08:59 <AnMaster> in fact I will write that it is bad style to implement it as sync
12:09:09 <Deewiant> AnMaster: sure
12:09:17 <AnMaster> Deewiant, ATHR may even be distributed across computers if you want
12:09:24 <Deewiant> AnMaster: but for multiple MVRS universes, we want the option of running them in or out of sync
12:09:50 <AnMaster> Deewiant, well true. But MVRSes in an ATHR wouldn't make sense
12:10:07 <fizzie> If each MVRS universe has its own set of ATHR processes, what would MVRS's "go to another universe" operation do?
12:10:39 <AnMaster> well if each ATHR had it's own set of MVRS universes, how the heck would anything work at all!
12:11:21 <fizzie> Obviously it won't work at all; I'm just wondering how MVRS/ATHR play together in the "sensible" ordering.
12:11:53 <AnMaster> fizzie, in fact what does G do at all really?
12:12:00 <fizzie> I have no idea.
12:12:05 <fizzie> "Goes to another universe".
12:12:20 <AnMaster> as far as I remember it was moving the current ip to another universe, keeping it's current stack
12:12:21 -!- Slereah_ has joined.
12:12:23 <AnMaster> or something like that
12:12:28 <fizzie> Yes, that's what I'd expect.
12:12:31 -!- slereah has quit (Read error: 104 (Connection reset by peer)).
12:12:33 <Deewiant> what about storage offset?
12:12:36 <AnMaster> fizzie, that may have been J though
12:12:39 <fizzie> There's G which takes pos/delta and J which keeps it.
12:12:41 <AnMaster> Deewiant, what about it?
12:12:48 <Deewiant> kept or not?
12:12:55 <AnMaster> Deewiant, in MVRS or ATHR?
12:13:01 <Deewiant> G, MVRS
12:13:12 <AnMaster> Deewiant, well no idea, ask Mike Riley
12:13:15 <Deewiant> for ATHR, N/A I guess :-P
12:13:25 <AnMaster> Deewiant, for ATHR it would be same as for t really
12:14:44 <fizzie> Anyway, if you have an IP in a ATHR process which suddenly decides to jump to another universe (and you really wish to specify the ATHR/MVRS interaction) you probably need to say something about in which process in the new universe the thread will appear, and what will happen to mutexes held and so on. Unless it takes the whole ATHR process with it, but that doesn't really make too much sense either.
12:15:28 <AnMaster> fizzie, mutexes should be truly global
12:15:32 <AnMaster> across everything
12:15:42 <AnMaster> that is my conclusion
12:16:47 <Deewiant> AnMaster: might be a good idea to take the MVRS ideas we had way back when and look over them, possibly mail Mike and somehow fit them and ATHR together
12:17:15 <AnMaster> Deewiant, hm
12:19:14 <fizzie> ATHR sounds a lot simpler than the MVRS thing, though. It's just pthreads in funge form, with shared memory and all. (And with little synchronized 't'-threads inside them, but that's just a detail.)
12:19:59 <AnMaster> fizzie, yes basically, and ATHR should allow different processes on different computers
12:20:05 <AnMaster> in a distributed fashion
12:20:09 <AnMaster> it may be insanely slow however
12:20:22 <AnMaster> unless you locally cache funge space or something
12:20:48 <AnMaster> with messages for when it is updated by someone else
12:21:12 <AnMaster> but that would be blocking until all are updated
12:21:16 <AnMaster> oh well
12:24:24 <fizzie> Since the ATHR processes are asynchronous, I'm not sure you really need to care precisely about when the funge-space modifications of other processes are visible. Explicit synchronization primitives like those mutexes would need some communication, though.
12:28:39 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
12:29:55 <AnMaster> fizzie, hm good idea
12:31:03 <AnMaster> Deewiant, what do you think about that ^
12:31:17 <Deewiant> what?
12:31:22 <AnMaster> <fizzie> Since the ATHR processes are asynchronous, I'm not sure you really need to care precisely about when the funge-space modifications of other processes are visible. Explicit synchronization primitives like those mutexes would need some communication, though.
12:31:36 <AnMaster> Deewiant, should the change to funge space be visible in all processes once g or p returns
12:31:41 <AnMaster> or may it be async update
12:32:08 <Deewiant> I think it should be
12:32:10 <AnMaster> fizzie, anyway that means you need a sync all of funge-space instruction
12:32:31 <AnMaster> Deewiant, hm that would make distributed ATHR slow
12:32:46 <AnMaster> since otherwise you might just send a message to each node to update the local funge-space copy
12:33:06 -!- oerjan has quit ("leaving").
12:33:10 <AnMaster> (since not having a local copy would be insanely slow there)
12:33:12 <Deewiant> well, since the environment is fundamentally global...
12:33:45 <AnMaster> oh well
12:33:50 <Deewiant> AnMaster: this is why I think fixing MVRS is a better idea
12:33:58 <Deewiant> because then each process can have truly its own environment
12:34:20 <AnMaster> Deewiant, well this doesn't aim to replace MVRS, it aims to do something different.
12:34:35 <Deewiant> yes, and I don't think this is very useful :-)
12:34:43 <AnMaster> Deewiant, so CCBI won't implement it?
12:34:43 <Deewiant> even on a Funge scale ;-)
12:34:48 <Deewiant> I didn't say that
12:34:51 <Deewiant> TRDS is useless
12:34:51 <AnMaster> haha
12:35:08 <AnMaster> Deewiant, well rest assured that TRDS is undefined with respect to ATHR
12:36:40 <AnMaster> Deewiant, however I think this can still work distributed and multi-core
12:36:47 <AnMaster> consider a befunge-cluster :)
12:36:50 <Deewiant> sure it can work
12:36:53 <Deewiant> but it won't be very useful
12:36:58 <Deewiant> I don't think, anyway
12:37:09 <AnMaster> Deewiant, what is it missing that would make it useful?
12:37:16 <Deewiant> I don't think it can be made useful
12:37:26 <Deewiant> like said, funge is just fundamentally a global world
12:37:39 <Deewiant> distributing it over multiple machines will only bog things down with communication
12:38:04 <Deewiant> unless you split the world into bits somehow... but that's just going into MVRS territory
12:38:33 <AnMaster> Deewiant, you could locally cache Funge-Space of course
12:38:42 <AnMaster> and use message passing for sending updates to funge space
12:38:50 <AnMaster> making that async would be better than sync imo
12:38:52 -!- ENKI-][ has quit (Read error: 104 (Connection reset by peer)).
12:38:53 <AnMaster> oh well
12:38:54 <Deewiant> yes, and it's still going to be too much overhead for no gain IMO
12:39:09 <AnMaster> Deewiant, ATHR will work well running on multiple cores of a single CPU however
12:39:22 <AnMaster> even if not as distributed
12:39:45 <Deewiant> will it? you still need to sync funge-space accesses - of which there are at least n, where n is the number of threads, /every tick/
12:39:51 <Deewiant> unless you make it async
12:40:00 <Deewiant> in which case I'm not sure if it's useful for anything at all ;-)
12:40:06 <AnMaster> Deewiant, well that is easy in my case
12:40:17 <AnMaster> Erlang got atomic updates to so called ETS tables
12:40:22 <Deewiant> easy to code, whatever, but slow as heck
12:40:27 <AnMaster> which are the sort of hash tables I already use
12:40:33 <AnMaster> Deewiant, actually not
12:40:39 <AnMaster> they are used for db backend too
12:41:13 <Deewiant> an additional two CAS instructions every tick will hurt a lot, I think
12:41:45 <AnMaster> CAS Compare and Search?
12:41:47 <AnMaster> err?
12:41:47 <Deewiant> try it and see
12:41:51 <Deewiant> no, compare and swap
12:42:04 <Deewiant> CMPXCHG on the x86
12:42:09 <AnMaster> Deewiant, so async updates to funge space then as I suggested but you didn't like
12:42:25 <Deewiant> seems to me that pretty much everything is undefined with async
12:42:43 <AnMaster> Deewiant, not really, still well defined as one of the changes will win
12:42:52 <Deewiant> yes, but it's undefined which
12:42:56 <AnMaster> in the end you won't end up with desynced funge-space
12:43:07 <AnMaster> Deewiant, agreed, why did you think I provided mutexes?
12:43:30 -!- Dewio_ has changed nick to Dewi.
12:43:37 <Deewiant> I think it'll just serve to make the code full of explicit syncing
12:43:41 <Deewiant> without much benefit
12:43:52 <AnMaster> Deewiant, Avoid side effects then ;P
12:43:53 <Deewiant> but do give it a try, if you can find a use case that works then good :-P
12:43:59 <AnMaster> Single Assignment Fungespace!
12:44:00 <Deewiant> AnMaster: kinda hard in a language without local state
12:44:08 <AnMaster> Deewiant, stack stacks?
12:44:26 <Deewiant> AnMaster: every instruction executed comes from the global state
12:44:38 <Deewiant> so there's a side effect /always/
12:44:50 <AnMaster> Deewiant, very true, but if you never modify funge space and use stack-stack instead to store data?
12:45:11 -!- ENKI-][ has joined.
12:45:11 <Deewiant> the interpreter can't know whether you modify funge space or not
12:45:26 <Deewiant> so, again, "without much benefit" :-P
12:45:31 <AnMaster> Deewiant, indeed it can't unless I actually implement that NX fingerprint I was thinking about
12:45:56 <AnMaster> no-execute/no-write/no-read as flags for blocks of funge-space
12:46:08 <AnMaster> would be silly yes
12:46:18 <AnMaster> but that only makes it a better idea for funge
12:52:53 <AnMaster> Deewiant, it seems that shared ets tables actually got good performance even when multiple threads update them, I asked in #erlang. ets tables can't be directly distributed however, so that would need some more work
12:52:54 <fizzie> Personally I think I could just fine use asynchronously running threads (with explicit synchronization primitives provided) in fungot; to run the brainfuck interpreter, for example. It just needs to allocate few rows of funge-space for each concurrently running brainfuck program to use as local state.
12:52:54 <fungot> fizzie: i like cows
12:53:13 <AnMaster> but they work across SMP erlang
12:53:16 <AnMaster> and are fast
12:54:30 <AnMaster> fizzie, hm
12:54:49 <AnMaster> G and P for sync set?
12:54:54 <AnMaster> set/get*
12:55:03 <AnMaster> actually would just need P
12:55:20 <ehird> fizzie: mind if I have a go at befungefriend sometime?
12:55:23 <AnMaster> or G could mean it requested that other parts would sync any g/p
12:55:26 <ehird> it sounds like a worthy project, i'd like to have a bash at it
12:55:44 <fizzie> ehird: Feel free to.
12:56:17 <ehird> I'd have to do it in Qt or wxWidgets or something, though, for the "works on something other than my machine" factor. Blergh. Hmm... wait... I could just use one of the countless interfaces to Swing.
12:56:23 <ehird> That'd be less suicidal-tendencies.
12:56:28 <ehird> (Note: Swing can be set to use native widgets)
12:56:53 <ehird> [Less talking, more coding.]
13:00:15 <AnMaster> ehird, would that imply Java?
13:00:16 <AnMaster> :(
13:00:23 <ehird> AnMaster: No, not really -
13:00:31 <AnMaster> also Swing doesn't use native here as far as I seen
13:00:35 <ehird> You'd need Java, obviously, but I'd just use a Java bridge to use Swing
13:00:36 <AnMaster> maybe it does on OS X
13:00:39 <ehird> and write the rest in something else
13:00:40 <ehird> AnMaster: it's a setting
13:00:43 <ehird> up to the app for some reason
13:00:46 <ehird> (Probably legacy...)
13:00:49 <AnMaster> ok, odd
13:01:11 <AnMaster> ehird, anyway, I suggest using GTK+, QT, or wxWidgets
13:01:15 <AnMaster> they are rather portable
13:01:24 <AnMaster> even GTK+ got native OS X support these days
13:01:28 <ehird> AnMaster: No it doesn't.
13:01:34 <ehird> It can draw on Quartz, yes - but that's in a beta stage
13:01:35 <AnMaster> ehird, yes it is beta though
13:01:37 <ehird> and it still doesn't look native.
13:01:46 <AnMaster> ah QT or wxWidgets then?
13:01:49 <ehird> And it never will, because a Cocoa-using theme engine would not work very well.
13:01:57 <ehird> AnMaster: Yes, I've used QT before and dabbed in wxWidgets.
13:02:03 <ehird> I'll use what seems to be the nicest API, really.
13:02:10 <AnMaster> well QT is C++.. so that is a downside
13:02:15 <AnMaster> not sure about wxWidgets
13:02:19 <ehird> AnMaster: Language bindings, man. :-P
13:02:24 <ehird> I'm not writing a funge IDE in C
13:02:31 <AnMaster> ehird, yeah ok, python I guess
13:02:36 <ehird> most likely
13:02:39 <AnMaster> and pyqt exists at least
13:02:43 <AnMaster> not sure for wx
13:02:56 <fizzie> wxPython.
13:03:00 <ehird> worth noting - the Terminator terminal software uses the native Swing stuff: http://software.jessies.org/terminator/ - and does quite a good job at it, I used it on this machine for a while, it's pretty nice
13:03:14 <ehird> The font rendering is a bit kooky on the Linux screenshot, but I imagine that could be fixed.
13:03:16 <fizzie> It's _Python_, of course it's got bindings to just about anythg. PyGTK and all.
13:03:26 <ehird> (That screenshot seems to be from Ubuntu 5.something. Wowzers.)
13:03:42 <ehird> fizzie: I tried to use SWIG to bind the Python C api to Python
13:03:44 <ehird> It didn't work
13:06:21 <ehird> Oh, worth noting about that Terminator software -
13:06:26 <ehird> the guy's useraccount is "elliotth"!
13:06:36 <AnMaster> <ehird> fizzie: I tried to use SWIG to bind the Python C api to Python <-- heh...
13:06:46 <ehird> How many people have Elliott as a first name with the same spelling and also a surname starting in h?
13:06:49 <ehird> Not many. :-P
13:07:33 <AnMaster> ehird, and yes font looks bad I agree
13:07:53 <AnMaster> QT gets the font "correct" here and same on any other OS I seen
13:09:09 <Deewiant> AnMaster: my point was that even if you get the most optimal performance possible it's a waste of time
13:09:18 <AnMaster> Deewiant, not really
13:09:56 <ehird> AnMaster: Yes, I have used Qt. But it is subtly nonnative on OS X.
13:10:07 <ehird> It doesn't actually use native widgets... it just draws its lookalikes.
13:10:12 <ehird> It's especially noticable in right-click menus.
13:10:28 <ehird> (Before you say anything: shut up, this is #esoteric, I can be pednatic)
13:10:30 <ehird> *pedantic
13:11:12 <AnMaster> ehird, hm wxwidgets then?
13:12:07 <ehird> wxwidgets has a nicer api than qt, but it does the same thing as Qt (just pretends), except whereas you wouldn't really notice with Qt, wxwidgets looks like someone put one of those OS X imitation skins on to windows
13:12:22 <AnMaster> ehird, so QT then!
13:12:51 <ehird> But Swing has a semi-nice API and is properly native (or at least a damn good imitation) on everything. :-P
13:12:58 <AnMaster> ehird, really swing doesn't look good at all on linux, since even when set to look like native, it looks like a bad copy of GTK
13:12:59 <ehird> Also Java _is_ open source.
13:13:04 <AnMaster> it doesn't even look like good GTK
13:13:13 <ehird> AnMaster: Um, a minute ago you were saying you didn't know it could go native.
13:13:15 <AnMaster> and I don't consider GTK very native
13:13:49 <AnMaster> ehird, a minute ago I hadn't checked out an example in jdk that allows changing the theme for swign
13:13:51 <AnMaster> swing*
13:14:29 <AnMaster> afk for a bit
13:14:42 <ehird> I could just leave Swing at its default, non-native theme on X11 then. As X11 has absolutely no "native" widgets, that would be valid.
13:15:11 <AnMaster> ehird, oh it have natives ones
13:15:15 <AnMaster> as used in some X tools
13:15:28 <ehird> AnMaster: No, those are Athena, I think.
13:15:29 <ehird> Or Xt.
13:15:32 <ehird> either way, not actually native x11.
13:15:42 <ehird> Xt is bundled with x11, yes, but xlib does not have any widgets
13:15:51 <AnMaster> xfontsel
13:15:53 <AnMaster> for example
13:15:55 <ehird> yes
13:15:57 <ehird> that's xt
13:16:08 <ehird> xterm too, btw.
13:16:13 <AnMaster> indeed
13:16:16 <AnMaster> and xclock
13:16:19 <AnMaster> maybe
13:16:55 <AnMaster> yes it links libxt
13:18:12 <AnMaster> ehird, also xlib is kind of outdated, it is to be replaced with xcb
13:18:18 <ehird> yes
13:18:26 <AnMaster> in fact in last X release xlib is a wrapper for xcb iirc
13:18:36 <ehird> i wanna make an app that directly talks to the x server
13:18:37 <ehird> >:D
13:18:54 <AnMaster> ehird, not after you read the protocol...
13:18:59 <AnMaster> I promise you that
13:18:59 <ehird> :D
13:19:06 <ehird> AnMaster: one thing with xcb is it's reaaaaaaaaaally low level
13:19:17 <ehird> a basic xlib program is like 30 lines and pretty readable
13:19:19 <AnMaster> ehird, yes, so is xlib
13:19:27 <ehird> xcb is a mess of stuff
13:19:32 <ehird> but i guess that's ok
13:19:38 <ehird> if you want highlevel, why aren't you using a toolkit
13:19:39 <AnMaster> I thought it was xlib that was the mess?
13:19:43 <AnMaster> ehird, indeed
13:19:55 <ehird> AnMaster: http://en.wikipedia.org/wiki/XCB#Example vs http://en.wikipedia.org/wiki/Xlib#Example
13:19:59 <ehird> to me the later is more understandable
13:20:06 * AnMaster checks
13:20:51 <fizzie> A friend wrote "directly to a socket with linux syscalls" X11 thing to open a suitable OpenGL surface, because he didn't like the overhead of xlib.
13:20:51 <AnMaster> you are correct
13:21:01 <ehird> fizzie: overhead?
13:21:04 <ehird> crazy guy.
13:21:05 <AnMaster> haha
13:21:10 * AnMaster agrees with ehird
13:21:19 <ehird> I'm so glad I have a computer that is less than 20 years old :
13:21:20 <ehird> :D
13:21:22 <AnMaster> "because I can" would be the only valid reason for that
13:21:28 <AnMaster> IMO
13:21:43 <ehird> AnMaster: ...
13:21:46 <ehird> [[* AnMaster agrees with ehird]]
13:21:51 <AnMaster> ehird, yes?
13:21:53 <ehird> stop exploding the universe, ok?
13:21:57 <ehird> you did that a week or so ago
13:21:58 <AnMaster> on that specific point
13:21:59 <ehird> really, be more thoughtful
13:22:14 <AnMaster> ehird, well you have a paradox here
13:22:18 <AnMaster> "<ehird> really, be more thoughtful"
13:22:23 <AnMaster> should I agree or disagree with that?
13:22:36 <ehird> um
13:22:36 <AnMaster> either way will be a paradox according to you
13:22:42 <ehird> AnMaster: do both
13:22:45 <ehird> "maybe"
13:23:01 <AnMaster> ehird, if I did that I would agree with your suggestion to do both
13:23:07 <ehird> ...
13:23:09 <ehird> i retract that suggestion
13:23:19 <AnMaster> I agree that was a good action
13:23:21 <AnMaster> ;P
13:23:27 * ehird kills AnMaster
13:23:31 <ehird> die :|
13:23:35 <ehird> mr PARADOX
13:23:43 * AnMaster disagrees and does not die
13:24:11 <AnMaster> ehird, anyway it was you that caused the paradox
13:24:23 <AnMaster> by saying something that made sense, for once
13:24:41 <AnMaster> ;P
13:25:56 <ehird> turtle moron avocado
13:26:19 <AnMaster> ehird, no idea what you meant with that
13:26:23 <ehird> good
13:26:33 <AnMaster> ehird, care to explain it
13:26:34 <AnMaster> ?
13:26:44 <ehird> no
13:26:48 <AnMaster> ehird, why not?
13:26:56 <ehird> because you suck! ;d
13:26:57 <ehird> *:D
13:27:26 <AnMaster> ehird, you forgot the ~ at the end
13:27:33 <ehird> that was sarcasm? :|
13:27:47 <AnMaster> ehird, well I guess so, since it wasn't truth
13:33:20 <ehird> MEANWHILE
13:33:21 <ehird> rss sucks
13:33:26 <ehird> atom sucks slightly less
13:33:47 <ehird> Well.
13:33:52 <ehird> RSS doesn't even mean anything.
13:33:53 <ehird> http://diveintomark.org/archives/2004/02/04/incompatible-rss
13:34:05 <ehird> 9 incompatible versions of RSS, some even sharing versions!
13:34:06 <ehird> WOOOOOO!
13:43:39 -!- jix has joined.
13:53:46 <ehird> http://www.newyorker.com/online/blogs/cartoonlounge/2008/10/cartoonoff-xkcd.html The New Yorker challenges xkcd to a comic-off.
13:57:02 -!- jix has quit ("This computer has gone to sleep").
13:57:43 <AnMaster> Deewiant, fizzie, new draft: http://rafb.net/p/hTJxdL27.html
13:58:16 <ehird> [[In this specification the word process is used to indicate an "async thread",
13:58:16 <ehird> unlike a normal Funge thread created by t (called thread in this specification).
13:58:16 <ehird> ]]
13:58:18 <ehird> that is confusing
13:58:19 <ehird> call them threads.
13:58:31 <AnMaster> ehird, that would confuse with t-style threads
13:58:42 <AnMaster> since we need to discuss interaction with those threads
13:59:02 <ehird> AnMaster: So call them what they are
13:59:04 <ehird> "native threads"
13:59:08 <ehird> or 'green threads'
13:59:14 <fizzie> t-style threads can be referred to as "IPs", though.
13:59:16 <AnMaster> ehird, that is implementation defined
13:59:20 <AnMaster> fizzie, ah true
13:59:40 <fizzie> Are you sure you didn't just inherit the "process" word from Erlang? :p
13:59:40 <ehird> AnMaster: call them bogonomons then
13:59:52 <ehird> fizzie: he has erlang on the brain. so probaly
13:59:54 <ehird> *probably
14:00:12 <AnMaster> fizzie, I agree it affected my thinking of course, such as I got the name mutex from pthreads
14:00:17 <AnMaster> they are called "locks" in erlang
14:00:49 <ehird> i am a delicious bogomips
14:00:58 <ehird> in flight
14:01:57 <AnMaster> Bogomips-737?
14:02:19 <ehird> sssssssss
14:02:23 <ehird> delicious
14:02:24 <fizzie> For some reason that reminded me about the "I am an atomic playboy" line of second reality, even though there's not much in common with them except the "I am a" prefix.
14:02:27 <ehird> ^_^
14:02:51 <AnMaster> fizzie, err "second reality"?
14:02:57 <ehird> http://en.wikipedia.org/wiki/Second_Reality
14:02:58 <ehird> google lol
14:03:07 <fizzie> That, yes.
14:03:22 <fizzie> Oh, it was "I am _not_ an".
14:03:28 <fizzie> Even worse, I misremembered it.
14:03:49 <fizzie> It's there in the "Magnifying and rotating head" section. (Didn't know wikipedia had a _that_ through article about it.)
14:04:16 <ehird> http://www.youtube.com/watch?v=8G_aUxbbqWU Jewtube of it
14:04:19 <fizzie> I wonder if there's been notability debates.
14:04:27 <ehird> also, yes.
14:04:32 <ehird> for all X, there has been notability debates about X
14:04:37 <ehird> unless X is hitler or churchill
14:04:39 <ehird> or dubya
14:07:07 <AnMaster> is that chur-chill or chruch-ill, or even churc-hill?
14:07:17 <AnMaster> I mean the etymology
14:07:38 <ehird> church-hill... i think...
14:07:45 <AnMaster> well there is a h missing then
14:07:45 <ehird> if you're talking about prononuciation
14:07:46 <ehird> :P
14:07:55 <ehird> and no, well, you pronounce it churchill
14:07:56 <ehird> :P
14:08:38 <ehird> Sad fact:
14:08:48 <ehird> Churchill insurance comes before Churchill's WP article on google for "churchill"
14:09:14 <AnMaster> yeah sad...
14:09:56 <ehird> (iirc, a survey of kids recently showed that kids knew "churchill" as the talking dog plush thing from the churchill adverts, not even thinking about the prime minister)
14:10:13 <ehird> lol@culture
14:10:39 <AnMaster> I never heard of that insurance company before now...
14:10:50 <ehird> As far as I know it's a UK thing.
14:11:26 <oklopol> i don't believe in churches
14:11:33 <ehird> oklopol: as in, they don't exist?
14:11:38 <oklopol> yes
14:11:43 <ehird> oklopol: i agree
14:11:56 <oklopol> i mean, i've been to one, but it didn't seem too real imo
14:12:04 <ehird> probably one of those fake churches
14:12:09 <oklopol> yes most likely
14:12:09 <ehird> did the bishop move diagonally?
14:12:10 <ehird> bet not
14:12:19 <oklopol> i didn't even see a bishop
14:13:17 <ehird> http://arstechnica.com/news.ars/post/20081015-opera-study-only-4-13-of-the-web-is-standards-compliant.html <-- ...but if you ask idiots, they'll tell you "browsers should just reject invalid pages and the pressure would make all the web become compliant overnight"!
14:13:21 <oklopol> #math is pretty helpful, "can you give me a hint on X?" "what about it?" "well how to *do* it" "it can be done."
14:13:36 <ehird> lol@interweb
14:14:06 <ehird> oklopol: hate places like that, i asked a q the other day and I ask "i can't use X because of why what should I do?" and i got the reply "don't use X"
14:14:26 <fizzie> For some reason I begin to feel slightly nauseous whenever I'm in an Orthodox Christian church. Doesn't happen in other places; might be all that incence.
14:14:53 <ehird> fizzie: or it might be the LIES AND DECEIT FOR THE PURPOSE OF CONTROL BEHIND THE MYTHS THEY TEACH YOU
14:14:56 <ehird> ... probably not :D
14:15:05 <fizzie> Probably not, as it doesn't happen in other churches.
14:15:07 <fizzie> "Uh, I mean..."
14:15:40 <ehird> fizzie: Perhaps it's to do with the percentage of priests raping little boys at the time. Pick a better time to go in those churches.
14:15:40 <ehird> :-|
14:16:15 <fizzie> I thought that was mostly a Catholic thing. Don't know.
14:16:34 <fizzie> "You know, that religion with the raping priests."
14:16:44 <fizzie> Heh, that might be offensive.
14:16:50 <ehird> fizzie: They're modernizing, trying to bring in new ideas and such.
14:16:52 <ehird> Tolerance and all htat.
14:16:53 <ehird> *that
14:21:33 <fizzie> I think I'll have to go and fetch our new bathroom faucet now. (They sent us a wrong kind of one.)
14:32:52 <ehird> http://www.theregister.co.uk/2008/10/16/android_kill_switch/
14:32:53 <ehird> !!
14:33:02 <ehird> There goes the thinking that Android would be a nicer, more open platform than iPhone.
14:33:07 <ehird> Unless the dear reg is hyperboling again.
14:34:54 <AnMaster> I saw a funny add last year for a protestant church in the newspaper
14:35:27 <ehird> oh?
14:36:06 <AnMaster> it was in Swedish, but basically it looked like an ISP ad. The text said something like: "Wireless - Free connection to god all the time" "Unlimited transfer rate for prayer" and "Free support at your local church."
14:36:19 <ehird> heh
14:36:24 <ehird> that's factually incorrect
14:36:27 <ehird> humans can only pray so fast...
14:37:56 <AnMaster> ehird, well, I said "said something like", I don't remember the exact wording. So it *may* be a misquotation. But it was similar to that
14:38:10 <ehird> :-D
14:38:16 <AnMaster> ehird, also computers can only handle data so fast too
14:38:31 <ehird> Well yeah... that's why there aren't any ISPs offering unlimited transfer rate
14:38:40 <ehird> Seriously, you'd get like...500 TB/sec
14:38:59 <ehird> (Unmetered bandwidth, sure. I have that.)
14:39:17 <AnMaster> ehird, indeed, it may have been unlimited transfer quota or such
14:39:43 <ehird> If I was god I'd kick the ass of some whiny guy who prayed whenever he tripped and fell :D
14:40:21 <AnMaster> (And it looks like an isp ad by having a bunch of cables in the ad.)
14:40:26 <AnMaster> (and the wording of course)
14:40:45 <AnMaster> ehird, anyway the point was that it was rather funny
14:41:15 <ehird> Well, a bunch of cables is just incorrect (things are generally funnier when they are misleading but correct).
14:41:32 <ehird> Unless this church was a weird cult that made you swallow an ethernet cable plugged into god, I guess.
14:41:36 <AnMaster> ehird, however consider may ISP ads have a bunch of cable in it
14:41:53 <AnMaster> also it was the protestant church
14:48:06 <AnMaster> ehird, actually the exact wording seems to have been "Wireless\nPrayer is free\nUnmetered bandwidth\nAlways conencted\nPray when you want, where you want and how you want\n\nFree support in all churches\nThe Swedish church\nStockholms stift" (stift is the name for the area that one bishop handles or something like that iirc)
14:48:16 <AnMaster> Also \n indicates newline
14:48:24 <oklopol> orly :P
14:48:30 <ehird> AnMaster: gee really
14:48:33 <ehird> i thought it meant nostril
14:48:33 <AnMaster> oh and "unmetered bandwidth" would actually translate to "unlimited bandwith"
14:48:43 <AnMaster> ehird, I just didn't know how to translate it
14:48:46 <AnMaster> to English
14:48:54 <ehird> What, newline? :-P
14:49:00 <AnMaster> ehird, the "stift"
14:49:21 <AnMaster> ehird, anyway if I hadn't said that you would have said "really did the ad use \n literally?" or something
14:49:21 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
14:49:41 <ehird> That would be awesome
14:49:50 <AnMaster> ehird, well it didn't
14:51:03 <AnMaster> "The preliminary data published today by Opera provides some intriguing statistics about the use of specific HTML elements. Among the pages analyzed by MAMA, the most popular HTML tags were HEAD, TITLE, HTML, BODY, A, META, IMG, AND TABLE. The list of least popular tags includes VAR, DEL, AND BDO."
14:51:04 <AnMaster> hm
14:51:13 <AnMaster> someone linked that page above
14:51:22 <AnMaster> anyway this makes me wonder what is wrong with <p>
14:51:42 <ehird> I linked it.
14:51:46 <AnMaster> ehird, ah yes
14:51:47 <ehird> And nothing, but people don't care about it.
14:52:00 <AnMaster> ehird, err? How else to separate paragraphs?
14:52:05 <ehird> AnMaster: <br><br>
14:52:15 <AnMaster> ugh
14:52:18 <ehird> It's silly, it's unsemantic, but nobody cares.
14:52:26 <AnMaster> well I care ;P
14:52:35 -!- puzzlet has joined.
14:52:45 <oklopol> i care a negative amount, you should use <br><br> *because* it's worse for that purpose.
14:52:52 <ehird> oklopol: but you're oklopol
14:53:02 <AnMaster> oklopol, hey, this is #esoteric, but the whole world isn't #esoteric
14:53:07 <ehird> yes it is
14:53:12 <ehird> haha, i just checked the vjn homepage
14:53:13 <ehird> <br \>
14:53:15 <ehird> seriously?
14:53:15 <ehird> :D
14:53:23 <oklopol> what :D
14:53:29 <ehird> oklopol: vjn.fi uses <br \>
14:53:32 <AnMaster> ehird, and this indicates that because the whole world does it the incorrect way we should all write strictly correct html
14:53:35 <ehird> that's neither html nor xhtml XD
14:53:36 <AnMaster> because no one else does
14:53:37 <AnMaster> :P
14:53:43 <oklopol> :D
14:53:44 <ehird> AnMaster: i do :\
14:53:46 <oklopol> yeah that's kinda cool
14:53:50 <AnMaster> ehird, so do I
14:53:55 <AnMaster> ehird, but we are all #esoteric
14:54:01 <ehird> zomg rly
14:54:05 <AnMaster> and I said we should, since nobody else does
14:54:08 <oklopol> a guy in our group used that for a while, until i told them it means nothing
14:54:17 <ehird> haha
14:54:19 <oklopol> seems it's on the front page now, i find that a good thing
14:54:21 <oklopol> :D
14:54:27 <ehird> maybe it's reverse-self-closing
14:54:31 <ehird> it sort of... self-opens
14:55:06 <ehird> strangely, vjn.fi actually uses p and css
14:55:40 <ehird> A US judge has thrown out a case against God, ruling that because the defendant has no address, legal papers cannot be served.
14:55:40 <ehird> -- http://news.bbc.co.uk/1/hi/world/americas/7673591.stm
14:56:15 <oklopol> ehird: the guy who used <br \> is more the big picture type, the css is pretty good
14:56:39 <ehird> oklopol: do you have committees working on that site
14:56:45 <oklopol> :D
14:57:00 <oklopol> no, we don't
14:58:32 <AnMaster> ehird, about that link...
14:58:35 <AnMaster> "Only in US"
14:58:41 <ehird> what?
14:58:43 <ehird> the bbc link?
14:58:54 <AnMaster> ehird, only an American would be that mad yeah
14:58:57 <ehird> oh
14:59:00 <ehird> i thought you meant
14:59:06 <ehird> the link didn't let you in XD
14:59:07 <AnMaster> the country of the suing!
14:59:17 <ehird> AnMaster: it wasn't a sueing
14:59:21 <ehird> *suing
14:59:27 <ehird> also i think it was to make a point, you know
14:59:27 <AnMaster> what was it then?
14:59:31 <ehird> http://en.wikipedia.org/wiki/Ernie_Chambers
14:59:34 <ehird> AnMaster: it was a lawsuit
14:59:45 <AnMaster> ehird, ah right, does "suing" mean something else?
14:59:58 <ehird> AnMaster: yeah
15:00:02 <AnMaster> meaning?
15:00:11 <ehird> this is where i link you to the wikipedia page
15:00:16 <ehird> wait
15:00:18 <ehird> i read what you said wrong
15:00:18 <ehird> :D
15:00:31 <AnMaster> ehird, um?
15:00:43 <AnMaster> There is no page titled "suing".
15:00:54 <ehird> i read what you said wrong <- dis
15:00:56 <AnMaster> ah
15:01:14 <AnMaster> There is no page titled "i read what you said wrong".
15:01:18 <AnMaster> ;P
15:01:33 <ehird> ååååååååååååååååååååååååå
15:02:01 <AnMaster> ehird, if you meant it as aaaaaaaaaaaaaaaa.... with some extra effect then it doesn't work
15:02:13 <AnMaster> å is ppronouncedvery differently
15:02:15 <AnMaster> err
15:02:15 <AnMaster> wtf
15:02:21 <AnMaster> ispell went mad
15:02:22 <ehird> no i was just having fun
15:02:35 <AnMaster> å is pronounced very differently
15:02:38 <AnMaster> was what I menat
15:02:41 <ehird> meanwhile i'm trying to make the most minimal feed reader ever and now I want to kill myself :D
15:02:50 <AnMaster> however the spelling correction breaks after an unicode char
15:02:51 <AnMaster> it seems
15:02:51 <ehird> stupid ffffffffffffffffffffffffffffff rss atom fsfsfsfsdjfkdsf
15:02:55 <AnMaster> which plain sucks
15:03:05 <AnMaster> ehird, I just use akregator
15:03:38 <ehird> AnMaster: yeah, but i don't think this'll be too hard from where i am now, also i used netnewswire but i want something way more minimal
15:07:07 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | BABABABDBDBABABBDBBABBDBABDDD.
15:07:44 <AnMaster> ehird, care to look up context for the topic optbot just set?
15:07:44 <optbot> AnMaster: more like german
15:08:05 <ehird> Sure.
15:08:15 <AnMaster> ehird, thanks
15:08:54 <ehird> 08.03.15:14:47:21 <ehird> BABABABDBDBABABBDBBABBDBABDDD
15:08:56 <ehird> How predictable.
15:09:07 <AnMaster> ehird, heh, and in what context whas that?
15:09:20 <ehird> 14:44:38 <AnMaster> Deewiant, wow, this is pretty
15:09:20 <ehird> 14:44:52 <AnMaster> Assuming that instructions without any particular concurrency-related behaviour, such as ^>v<#, take one tick.
15:09:21 <ehird> 14:44:52 <AnMaster> Will continue to produce textual output, so strings must work correctly where concurrency is concerned: "a b" should take 5 ticks, 'a should take 1.
15:09:21 <ehird> 14:44:52 <AnMaster> GGGGGGOGOGOGOGOGOGOOGOOGOOGOOGOOGOODGOODGOODGOODGOODGOODGO:ODGO:ODGO:ODGO:ODGO
15:09:23 <ehird> 14:45:01 <AnMaster> Deewiant, that's good I assume? :D
15:09:24 <AnMaster> I mean was it ah
15:09:25 <ehird> 14:45:02 <AnMaster> ;)
15:09:27 <AnMaster> ah
15:09:27 <ehird> 14:47:21 <ehird> BABABABDBDBABABBDBBABBDBABDDD
15:09:28 <AnMaster> ok
15:09:31 <ehird> 14:49:03 <AnMaster> ehird, found it, ip didn't move correctly after split
15:09:31 <AnMaster> right
15:10:08 <AnMaster> well that makes sense
15:23:38 <ehird> http://inamidst.com/stuff/2008/thing.pl
15:23:41 <ehird> perython!
15:33:04 <AnMaster> ehird, is it a polygot? or?
15:33:12 <ehird> nope
15:33:13 <ehird> it's just python
15:33:20 <ehird> but it looks like perl
15:33:30 <AnMaster> yeah
15:33:37 <ehird> :-12 is crazy
15:33:55 <ehird> wait, no
15:33:57 <AnMaster> ehird, and what does that mean?
15:34:00 <ehird> thought that was ::-12
15:34:09 <ehird> AnMaster: [:-12] is a slice with an implicit first 0, that is
15:34:11 <ehird> [0 : -12]
15:34:16 <AnMaster> and with ::?
15:34:16 <ehird> so you get all but the last 12 chars
15:34:29 <ehird> well, ::-1 reverses
15:34:34 <ehird> :: is a bit complex...
15:34:39 <AnMaster> and ::-12?
15:34:45 <ehird> >>> 'abcdefghijklmnopqrstuvwxyz'[::-12]
15:34:45 <ehird> 'znb'
15:34:45 <ehird> :D
15:34:54 <ehird> i don't know how that works either
15:34:57 <AnMaster> ah
15:35:02 <ehird> http://www.python.org/doc/2.3/whatsnew/section-slices.html
15:35:04 <ehird> there
15:35:10 <AnMaster> ehird, you should ask #python?
15:35:21 <ehird> http://www.python.org/doc/2.3/whatsnew/section-slices.html
15:35:31 <AnMaster> ehird, it only mentions ::-1
15:35:35 <AnMaster> not any other level
15:35:36 <ehird> no it does not.
15:35:40 <ehird> please actually read it
15:35:41 <ehird> :|
15:35:52 <AnMaster> ehird, so searching for ::- using browser doesn't work?
15:36:03 <ehird> sometimes there is a thing called english
15:36:05 <ehird> formatted into prose
15:36:07 <ehird> sometimes you read it
15:36:09 <ehird> with your eyes and your brain.
15:36:16 <AnMaster> ehird, ah so stride of -12
15:36:19 <AnMaster> or 12 from end
15:36:22 <ehird> yes
15:36:23 <AnMaster> well that makes sense
15:36:34 <AnMaster> though I agree syntax is slightly mad for that
15:36:58 <AnMaster> ehird, btw would a perl/python polygot be possible?
15:37:13 <ehird> AnMaster: No.
15:37:16 <ehird> Well, possibly.
15:37:19 <ehird> But most likely not.
15:37:26 <AnMaster> without considering the #! line I mean
15:37:38 <AnMaster> oh well
15:54:24 -!- Sgeo has joined.
16:04:13 <AnMaster> fizzie and Deewiant are you there?
16:20:38 -!- Slereah_ has joined.
16:22:21 <AnMaster> ehird, there?
16:22:27 <ehird> yes.
16:22:35 <AnMaster> remember that MKRY fingerprint you made?
16:22:43 <AnMaster> or was it MKRL
16:22:44 <AnMaster> anyway
16:22:47 <AnMaster> it was too well defined
16:22:53 <AnMaster> so it doesn't work as a parody ;P
16:23:10 * oklopol didn't get it
16:23:13 <ehird> how was it too well defined
16:23:25 <ehird> http://tusho.net/mkry/ is as vague as you can get
16:24:04 <AnMaster> ehird, it is actually implementable from that spec
16:24:20 <AnMaster> I can't see how to make it more vague, but really it is easy to implement from that
16:24:20 <ehird> mmmmm... not really
16:24:29 <ehird> AnMaster: only because i clarified it to you
16:24:32 <ehird> in here
16:24:44 <AnMaster> ehird, no I can easily see how it would work from that spec
16:24:53 <ehird> AnMaster: how do you know E doesn't push like 'eeeee' or 'hhhhhh'
16:24:58 <ehird> nothing to say that it's random per character
16:25:14 <AnMaster> ehird, well apart from that it is clear
16:25:23 <ehird> its tiny, "that" is a big part
16:25:24 <ehird> :-)
16:47:59 <AnMaster> ehird, is "implementors" the right word for "a person making an implementation of something"?
16:48:21 <ehird> Implementor, yes.
16:48:28 <AnMaster> and in plural?
16:48:36 <AnMaster> just aspell doesn't like it
16:48:45 <AnMaster> nor implementor
16:48:55 <ehird> shrug
16:48:55 <ehird> :P
16:49:01 <AnMaster> hm en.wikipedia.org/wiki/Implementer
16:49:23 <ehird> Oh.
16:49:27 <ehird> kay then...
16:49:29 <AnMaster> that is what a google gives
16:49:33 <ehird> hm
16:49:41 <ehird> AnMaster: i'd just say "implementors"
16:50:09 <Asztal> both are acceptable, according to dictonary.com
16:51:16 <oklopol> i wouldn't trust dictonary.com on this matter
16:51:37 <ehird> i would
16:52:32 <AnMaster> oklopol, why not?
16:52:34 <AnMaster> ehird, why?
16:52:37 <oklopol> http://www.dictonary.com/ well, glasses are a sign of intelligence, i guess
16:52:56 <ehird> ah, you're picking on a typo
16:52:57 <ehird> ha ha ha.
16:52:58 <AnMaster> oklopol, yes of course I always knew that. Thanks
16:53:07 <ehird> asztal dictionary.com
16:53:10 <ehird> ^ meant
16:53:15 <oklopol> i know
16:53:28 <AnMaster> oklopol, also do you have glasses?
16:53:49 <oklopol> it's just dictonary could be a dyslexic dictionary, o and e could easily have swapped there
16:54:03 <oklopol> it was a *relevant* joke based on the typo
16:54:10 <AnMaster> hehe
16:54:12 <AnMaster> oklopol, yep
16:54:17 <AnMaster> but still
16:54:23 <AnMaster> do you have glasses?
16:54:38 <oklopol> umm no, glasses and allergies are for lesser people
16:54:48 <oklopol> you know, i'm a pol
16:54:49 <oklopol> err
16:54:50 <oklopol> i mean
16:54:53 -!- oklopol has changed nick to oklogod.
16:55:15 <oklogod> my eyes are both perfect and reaaaally sucky
16:55:39 <oklogod> occasionally, they simply lose the ability to ...sharpen? whazzz the term now
16:55:56 <oklogod> but, usually i see like a bear with large glasses
16:55:59 <oklogod> really well that is
16:56:39 <oklogod> why do you ask?
17:00:13 <AnMaster> oklogod, as you didn
17:00:21 <AnMaster> well
17:00:23 <AnMaster> basically
17:00:41 <AnMaster> you wouldn't actually consider glasses a sign of intelligence then?
17:00:46 <AnMaster> Since you don't wear them yourself
17:00:47 <AnMaster> ;P
17:00:50 <oklogod> i wouldn't?
17:01:13 <AnMaster> oklogod, obviously you only would if you needed them yourself
17:01:30 <oklogod> uhhuh?
17:01:36 <oklogod> are you confusing implication and equivalence?
17:01:54 <AnMaster> oklogod, aren't you?
17:02:04 <AnMaster> also I suggest you clarify that.
17:02:15 <AnMaster> However there is no connection I think.
17:02:29 <oklogod> why would i only consider glasses a sign of intelligence if i had ones myself?
17:02:33 <AnMaster> and I *do* wear glasses
17:02:42 <AnMaster> oklogod, isn't that pretty clear?
17:02:54 <oklogod> nope
17:03:16 <AnMaster> as a god you would be omniscient (or whatever it is called, omnipotent?) so I wouldn't need explaining
17:03:50 <oklogod> umm, so they can't be a sign of intelligence, because if they were, i couldn't be intelligent without them?
17:04:11 <AnMaster> oklogod, No... now you are just confusing the issue even more
17:04:20 <oklogod> glasses => intelligence doesn't rule out !glasses ^ intelligence
17:04:42 <AnMaster> (not glasses) bitwise_xor intelligence
17:04:44 <AnMaster> huh?
17:04:51 <oklogod> oh sorry, ^ as in and
17:04:54 <oklogod> &
17:05:08 <AnMaster> (logical_not glasses) bitwise_and intelligence
17:05:11 <AnMaster> still not very clear
17:05:41 <oklogod> it's not? "not to have glasses and still be intelligent"
17:05:52 <ehird> AnMaster is wrong
17:05:55 <ehird> oklogod is right
17:06:01 <AnMaster> oklogod, I suggest they are two uncorrelated variables.
17:06:19 <ehird> oklogod is saying:
17:06:23 <oklogod> AnMaster: i suggest you learn the difference between implication and equivalence
17:06:36 <ehird> (glasses => intelligence) & !(!glasses => !intelligence)
17:06:37 <oklogod> and also i suggest you learn to ski and buy a boat
17:06:40 <ehird> and i agree with oklogod
17:06:45 <ehird> he needs to learn thus
17:06:58 <AnMaster> ehird, well what you just said was pretty clear
17:07:23 <AnMaster> glasses implies intelligence, but lack of them doesn't implies lack intelligence
17:07:31 <oklogod> well, to be more precise, !((glasses => intelligence) => !(!glasses => !intelligence))
17:07:33 <AnMaster> just his use of bitwise operations in that were confusing
17:07:43 <AnMaster> oklogod, also clear
17:07:44 <ehird> ...
17:07:47 <ehird> he never used bitwise operators
17:07:53 <oklogod> some things are less clear than others
17:07:55 <AnMaster> ehird, yes ^ is bitwise xor
17:07:58 <ehird> just because all you can fucking think in is C does not mean ^ = xor and & = bitwise and
17:08:03 <ehird> ^ is AND in logic
17:08:17 <AnMaster> ehird, well he didn't state what language he used
17:08:29 <ehird> AnMaster: so make a reasonable fucking assumption and see it's logic from the context
17:08:31 <oklogod> i apologized for ^, that could've meant xor, because had i had xors, i would probably have used ^ for them.
17:08:38 <ehird> <oklogod> glasses => intelligence doesn't rule out !glasses ^ intelligence
17:08:39 <oklogod> well
17:08:39 <ehird> =>
17:08:47 <ehird> doesn't make sense as equal to or greater than in that context
17:08:51 <ehird> nor does a bitwise operator
17:08:59 <ehird> you can pretty damn reasonably conclude it's using the language of logic
17:09:15 <AnMaster> ehird, this is #esoteric, stuff doesn't always make sense
17:09:29 -!- oklogod has changed nick to oklopol.
17:09:33 <ehird> that's always your excuse for being unreasonable
17:09:41 <ehird> #esoteric isn't about being intentionally annoying
17:09:53 <oklopol> i should be more careful, i'm beginning to show classic signs of narcism
17:10:05 <ehird> oklopol: but you are god.
17:10:11 <ehird> the god ofo ko.
17:10:27 <oklopol> ofo oko otototo
17:10:52 <ehird> *of oko
17:11:46 <oklopol> heh, seems the universe likes boosting my ego, ex is asking for sex :D
17:12:57 <AnMaster> oklopol, should have decided not to become ex then maybe?
17:14:53 <oklopol> why?
17:14:59 <AnMaster> oh well
17:15:40 <oklopol> thought so.
17:26:02 <oklopol> i want to code :|
17:26:16 <AnMaster> Does pthreads allow any form of message passing?
17:26:21 <oklopol> why is there no time for codes anymore
17:26:23 <AnMaster> As in not shared memory.
17:30:46 -!- ab5tract has joined.
17:35:38 -!- Corun has joined.
17:45:29 <fizzie> I think there's just mutexes, condition variables and the shared memory; but you can easily build message queues out of those.
17:50:51 -!- slereah has joined.
17:50:52 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
17:57:46 -!- slereah has quit (Read error: 113 (No route to host)).
17:58:53 -!- Slereah_ has joined.
18:06:40 <ehird> Remind me sometime to write the 'u' program.
18:06:50 <ehird> (Lets you use URIs with regular utilities, like:)
18:07:05 <ehird> $ u cp http://google.com/ googles-index-page.html
18:07:19 <ehird> $ u echo "hi" > http://google.com/ # uses PUT or whatever
18:07:22 <ehird> hmm
18:07:25 <ehird> that last one would be hard
18:07:31 <ehird> guess i'd need to modify zsh
18:07:32 <ehird> humbug
18:08:29 -!- Slereah_ has quit (Read error: 113 (No route to host)).
18:08:46 <fizzie> You could use some sort of indication in the "file" name to indicate what you want to do with the file (like "cp data PUT:http://google.com") but it's not nearly as pretty then.
18:08:57 <ehird> Well yeah...
18:09:01 -!- Sgeo has quit ("Ex-Chat").
18:09:09 <ehird> But then I could just write a funky FS-like thing called /u/
18:09:21 <ehird> cat /u/http:/google.com
18:12:38 <fizzie> Fuse seems to have a 'httpfs' but it's sadly just "mount a single http:// URL somewhere".
18:12:59 <fizzie> And of course smbsh does that "hook to open and friends" trickery to provide their /smb magic-directory.
18:15:28 -!- Corun_ has joined.
18:16:01 <ehird> fizzie: /u/ is a bit of an ugly solution, though.
18:16:17 <ehird> really, all tools should just accept URIs as well as files :P
18:16:26 <ehird> Just treat filepaths as file://
18:19:48 -!- Jiminy_Cricket has joined.
18:29:45 -!- Corun has quit (Read error: 110 (Connection timed out)).
18:44:01 -!- kar8nga has joined.
18:45:17 -!- Slereah_ has joined.
18:45:20 -!- olsner has joined.
18:46:52 <AnMaster> fizzie, still there?
18:48:15 <AnMaster> <ehird> guess i'd need to modify zsh
18:48:15 <AnMaster> <ehird> humbug
18:48:16 <AnMaster> um
18:48:19 <AnMaster> you use zsh?
18:48:22 <ehird> yes?
18:48:37 <ehird> and?
18:48:39 <AnMaster> would you prefer emacs or vi if those where the only existing editors?
18:48:47 <ehird> ed
18:48:51 <AnMaster> or emacs vs. vim
18:48:51 <AnMaster> rather
18:48:56 <fizzie> Still here.
18:49:02 <AnMaster> ehird, as I said "if those were the only existing editors"
18:49:21 <AnMaster> fizzie, http://rafb.net/p/h4khwC72.html
18:49:32 <ehird> AnMaster: well, those are written in C, so I guess there's a c compiler too... i'd write my own
18:49:35 <AnMaster> fizzie, comments on this last version? Any fingerprints need to be listed as well?
18:50:06 -!- kar8nga has left (?).
18:50:07 <AnMaster> ehird, really? But what if the system lacked a C compiler, maybe it was a binary distro with no toolchain installed, nor any internet connection
18:50:18 <ehird> AnMaster: I'd throw the computer out of the window.
18:50:24 <ehird> :-P
18:50:32 <ehird> Not of any use to me/
18:50:34 <fizzie> ehird: If you really prefer ed, I'd recommend you to choose vim out of those two, since it has an 'ex' mode, and 'ex' is somewhat like 'ed'.
18:50:42 <AnMaster> ehird, ok then, which editor is best of emacs and vim if you have to choose?
18:50:43 <ehird> fizzie: No, I don't really
18:50:52 <ehird> AnMaster: depends on the usecase.
18:51:05 <AnMaster> ehird, text editor, programming and so on
18:51:10 <ehird> i use vi no matter what editor i use, for quickly tweaking config files
18:51:19 <ehird> and when i'm at the console and similar
18:51:28 <ehird> other than that, for actual coding, i'd go for emacs
18:51:33 <AnMaster> interesting
18:51:34 <ehird> vi is a sysadmins tool, emacs is a coders tool
18:51:47 <ehird> and that sentence needs some apostrophes
18:51:48 <AnMaster> ehird, sh would you go for bash for quick tasks and zsh for more complex ones?
18:51:50 <AnMaster> so*
18:51:53 <AnMaster> not sh
18:51:53 <ehird> AnMaster: no
18:51:55 <AnMaster> though...
18:51:57 <ehird> because zsh scales
18:52:03 <ehird> from trivial stuff to complex stuff
18:52:12 <AnMaster> ehird, well zsh is rather large
18:52:17 <AnMaster> I'd even call it bloated sometimes
18:52:20 <ehird> I don't notice the largeness.
18:52:23 <AnMaster> for some tasks
18:52:24 <ehird> I do when using, e.g. emacs.
18:52:37 <AnMaster> ehird, it got a built in ftp client even...
18:52:43 <AnMaster> zsh that is
18:52:57 <ehird> No, it's got a builtin * client.
18:52:59 <ehird> Where * = everything.
18:53:02 <AnMaster> built in as a loadable module
18:53:02 <ehird> Except it's modular.
18:53:07 <ehird> yes
18:53:08 <AnMaster> zshzftpsys Zsh built-in FTP client
18:53:15 <AnMaster> from man zsh
18:53:17 <ehird> AnMaster: I can autocomplete remote paths with scp.
18:53:24 <AnMaster> ehird, so can I under bash
18:53:25 <ehird> Of course it has tons of features, but they're modular.
18:53:27 <AnMaster> your point?
18:53:36 <ehird> AnMaster: I'm just saying that of course it has a ton of stuff like that.
18:53:38 <ehird> That's what zsh is about.
18:53:47 <ehird> But it's not like they're cluttering up the codebase, they're modular.
18:53:52 <ehird> And they don't interfere with anything else.
18:53:54 <ehird> What is the problem?
18:54:19 <AnMaster> ehird, and so does bash, bash-completion is a flexible and fairly simple framework, that allow bash functions that generate possible completions for specific commands
18:54:28 <ehird> Yes. That's completion.
18:54:43 <AnMaster> and you can do everything you can do in zsh in bash
18:54:50 <AnMaster> both are in theory tc
18:54:53 <AnMaster> afaik
18:55:04 <ehird> The day you show me a bash installation that can do everything zsh does without resorting to the absurd TC argument is the day I don't switch because zsh has done it all for years already and bash doesn't offer any further advantages.
18:55:05 <AnMaster> or rather BSMs in reality
18:55:35 <AnMaster> ehird, well tc argument is used a lot in this channel
18:55:37 <AnMaster> by everyone
18:55:45 <ehird> mmnope
18:55:53 <AnMaster> ehird, mostly for esolangs
18:55:54 <ehird> just you use it in a non-joke discussion
18:55:59 <ehird> that is not the TC argument
18:56:10 <ehird> the tc argument is "well, that's irrelevant, they are both TC, therefore they are equally as good"
18:56:11 <ehird> = bullshit
18:56:30 <AnMaster> ehird, where did I say that exact quote?
18:56:42 <ehird> You didn't.
18:56:58 <AnMaster> ehird, I never claimed it was as easy to do it in both those languages
18:56:58 <ehird> Humans do this thing called "interpretation" whereby we change english text into semantic graphs in our head.
18:57:32 <AnMaster> ehird, idea how to solve: Talk in semantic graphs, somewhat like scheme is written in a parsing tree more or less
18:58:16 <AnMaster> it should be a fairly interesting constructed language, if it hasn't already been done
18:58:39 <fizzie> AnMaster: If you feel like it, I'd add something like the pthreads condition variables. I'm sure you can build those already with the tools you have, but it's nontrivial. (The constructions I can immediately think of need to atomically unlock one mutex and try to lock another one.) Can't think of any other-fingerprint issues right now.
18:58:55 <AnMaster> how does those variables work fizzie?
19:00:05 <AnMaster> fizzie, since erlang mostly use message passing, only global variable is funge-space really
19:00:30 <AnMaster> fizzie, but couldn't P be used to sync set a variable to act as a conditional?
19:00:43 <AnMaster> in combination with C possibly
19:01:07 <fizzie> Yes, but you can't atomically unlock a mutex and then wait on it. Probably solvable by busy-loop-polling instead of waiting, but that's just nasty.
19:01:52 <AnMaster> fizzie, well can you tell me how those condition variables really work then? I can't find any man page for them here, plenty for mutexes and semaphores, but nothing for such variables
19:02:06 <fizzie> Condition variables just give you an object you can wait on, and other threads can then "signal/broadcast" on that object so that the waiting thread (or threads) is started.
19:02:26 <AnMaster> fizzie, and what are the relevant pthread functions for that?
19:02:56 <fizzie> pthread_cond_wait/timedwait for waiting, signal/broadcast for releasing waiting threads (signal == one, broadcast == all), and of course the usual _init for creating one.
19:03:23 <fizzie> The sleep/resume functions seem to have gone?
19:04:02 <fizzie> If you made sleep release all held locks, and to automatically reacquire them when the thread is resumed, you'd basically have given a single condition variable per thread.
19:07:54 <AnMaster> fizzie, well sleep/resume could be added, but I was unsure if it was needed
19:08:42 <AnMaster> fizzie, also just sleep, with optional release, and allow another thread to resume it, would be easy
19:08:54 <AnMaster> harder to reacquire all locks
19:09:02 <AnMaster> easy to cause dead-lock
19:09:29 <fizzie> It's always easy to cause deadlocks with explicit synchronization code, that's pretty much a given.
19:09:40 <AnMaster> true
19:10:42 <fizzie> Some form of waiting (other than simply waiting for a locked mutex to become true -- for one thing, that sort of wait can only be ended by the thread owning the lock, and there's no atomic "release this controlling mutex before waiting" thing) could be helpful, anyway.
19:11:10 <AnMaster> hm yeah
19:11:15 <AnMaster> fizzie, maybe also wait with timeout?
19:11:29 <fizzie> Maybe.
19:11:44 <AnMaster> that would be trivial in erlang
19:11:45 <fizzie> Of course just aping the pthreads API is not inherently very esoteric. OTOH, I'd at least almost know how to use it. :p
19:11:49 <AnMaster> not sure about pthreads
19:12:05 <AnMaster> fizzie, does pthreads mutexes have timeout?
19:12:33 <AnMaster> seems they don't?
19:12:41 <AnMaster> oh timedlock
19:12:42 <AnMaster> duh
19:12:45 <Corun_> :-)
19:12:48 <fizzie> Also cond_timedwait.
19:13:02 <AnMaster> damn :P
19:13:56 <AnMaster> fizzie, anyway using G P and C should allow building almost any form of syncing I think?
19:14:06 <AnMaster> compare-and-exchange is quite powerful I read somewhere
19:14:37 <fizzie> Powerful, yes, but a lot of the constructions involve busy-waiting for something to happen in the shared memory.
19:14:47 <AnMaster> (it was some scientific article comparing what sort of lockless atomic operations could be used to simulate other lockless atomic operations)
19:14:55 <AnMaster> (and compare and exchange was the most powerful iirc)
19:15:07 <AnMaster> fizzie, I could provide inc/dec easily too
19:15:12 <AnMaster> on a funge-space cell
19:15:30 <AnMaster> that would return the new value due to erlang's api
19:15:33 <AnMaster> not the old one
19:15:43 <AnMaster> of course old one would be easy too
19:15:49 <fizzie> It's still nice to have something that can be used to tell the scheduler "hey, don't bother waking me up until <foo>".
19:16:12 <AnMaster> fizzie, yes I agree, but it should be original, not just ape pthreads
19:16:15 <AnMaster> got any good idea?
19:16:18 -!- Corun_ has quit (Remote closed the connection).
19:16:33 -!- Corun has joined.
19:16:37 <AnMaster> fizzie, erlang got waiting for message of course
19:16:57 <AnMaster> so maybe allow waiting for another thread to send a specific global number?
19:17:45 <fizzie> You could add built-in message queues (with a "wait for a message" thing) that can deliver one funge cell to the named (ID) thread.
19:17:47 <AnMaster> fizzie, like W (n) - block until another thread signals the number n is received
19:18:00 <AnMaster> and I for sigNal
19:18:28 <fizzie> Well, that's maybe stranger, so just use that.
19:19:43 <AnMaster> err
19:19:46 <AnMaster> sIgnal
19:19:49 <AnMaster> of course
19:19:55 <fizzie> Although I'm not sure if it would be nice to have something that can really do that atomic "unlock this mutex before waiting, reacquire it afterwards" operation.
19:20:09 <AnMaster> fizzie, well reaquire could just block.
19:20:20 <fizzie> That's what it usually does.
19:20:23 <AnMaster> maybe
19:20:34 <AnMaster> wait with Unlock
19:20:37 <AnMaster> ?
19:20:55 <AnMaster> like the one given above
19:21:02 <AnMaster> but that allows locking/unlocking
19:21:20 <fizzie> I can see myself using it. :p
19:21:40 <AnMaster> fizzie, I think possibly mutexes should be renamed too
19:21:50 <AnMaster> got any good idea for a name?
19:22:14 <fizzie> You can use the "lock" terminology if you like. Or something original and punny inspired from that sort of thing.
19:22:25 <AnMaster> fizzie, bolt?
19:22:39 <ab5tract> 'hasp'
19:22:41 <AnMaster> from bolting the door
19:22:44 <AnMaster> ab5tract, good idea
19:22:54 <ab5tract> :)
19:22:55 <fizzie> LOCK for locking a mutex, PICK for releasing it. :p
19:23:03 <AnMaster> fizzie, well hm
19:23:14 <ab5tract> thats pretty good too :)
19:23:14 <AnMaster> fizzie, what about sync put then?
19:23:32 <AnMaster> it already uses P
19:23:33 <AnMaster> :/
19:23:48 <AnMaster> and set is used for spawn
19:23:54 <AnMaster> t for try lock
19:23:56 <AnMaster> err
19:23:57 <AnMaster> T
19:23:58 <fizzie> Okay, I'd probably keep the G/P pair for operations that are like g/p; it's what FILE and STRN and probably others do.
19:24:07 <AnMaster> fizzie, indeed
19:24:21 <AnMaster> so calling it hasp would work
19:25:37 <fizzie> "Nail" for locking a mutex, "Crowbar" for releasing it. Except that you already use C for CMPXCHG. And maybe it's a bit too "sounds like illegal activities". :p
19:25:50 <AnMaster> fizzie, heh
19:26:07 <AnMaster> fizzie, they shouldn't be called mutexes I think
19:26:20 <fizzie> If you end up picking some unstandard nomenclature, by all means completely avoid the word mutex in the spec.
19:26:27 <AnMaster> but nail with the operations hammer and crowbar would work
19:26:32 <AnMaster> for hasp it would be?
19:27:04 <AnMaster> but C is already used too really :/
19:27:37 <AnMaster> oh btw:
19:27:37 <AnMaster> Note that an implementation _may_ make g, p and other such instructions
19:27:38 <AnMaster> synchronous as well, but it is not guaranteed. Block access should never be
19:27:38 <AnMaster> synchronous.
19:27:43 <fizzie> Although nail/hammer/crowbar has pretty strange real-world implications. "This instruction hammers in a nail; only the same thread can then use crowbar for releasing it. If some other thread wants to hammer the nail in, it must wait for the original thread to crowbar it out."
19:27:48 <AnMaster> that thing indicates that I would do so to begin with
19:28:04 <AnMaster> fizzie, ok that doesn't work
19:28:09 <AnMaster> what do you do with a hasp?
19:28:16 <AnMaster> lift to open it?
19:28:18 <AnMaster> or?
19:28:23 <AnMaster> and for locking it?
19:28:45 <fizzie> You can try thinking of something lock-unrelated that's simply mutually exclusive in the real world.
19:29:06 <AnMaster> fizzie, also that above works easily too, since there is only one hammer and one crowbar, per nail
19:29:21 <AnMaster> and regulations forbid using the hammer or crowbar from the wrong nail
19:29:44 * AnMaster considers that
19:30:27 <fizzie> Maybe you could use "a person" as a mutex, then "Kidnap" would be the operation to acquire that particular person, and then "Ransom" would be needed to get the person available again. :p
19:31:01 <fizzie> I need to awayize now for a while (an hour or so), have fun inventing names.
19:31:36 <AnMaster> well going to eat soon
19:31:43 <fizzie> What's your mutex-creation operation anyway? I don't think I saw one in the draft.
19:31:51 <AnMaster> also ransom would be a different one
19:31:55 <AnMaster> fizzie, there is no need to create it?
19:32:06 <AnMaster> it is just locking on an arbitrary erlang term
19:32:11 <fizzie> Okay, so you can just use any ID you want? M'k.
19:32:20 <AnMaster> fizzie, in this case any number
19:32:25 <fizzie> Maybe cleaner that way.
19:32:27 <AnMaster> in valid range for the implementation
19:32:31 <ehird> Idea:
19:32:32 <AnMaster> fizzie, which is BIGNUM for efunge
19:32:34 <ehird> Plaintext fingerprint.
19:32:35 <AnMaster> brb
19:32:47 <ehird> All letters apart from X push a special value for themselves on the stack.
19:32:49 <ehird> X executes it.
19:32:52 <ehird> HELLOX might print hello world
19:34:13 <Slereah_> HULOXXX
19:36:00 -!- atrapado has joined.
19:40:43 <AnMaster> ehird, hehe
19:41:03 <AnMaster> ehird, you need to properly define it though
19:41:06 <ehird> Maybe.
19:41:18 <AnMaster> ehird, or no one could implement it
19:41:28 <AnMaster> that doesn't imply that I will implement it even if you define it
19:41:30 <ehird> (http://www.aaronsw.com/2002/feedfinder/feedfinder.py Face the horror of the multi-step magical feed finder that takes up to 5 seconds to find most feeds because the web is horribly broken and nobody complies to anything!)
19:41:44 <AnMaster> ehird, btw have you showed MKRY to Mike Riley?
19:41:48 <ehird> no
19:41:58 <ehird> he'll go wtf, or ehehehhehhehehhehe, i imagine
19:42:13 -!- oerjan has joined.
19:42:17 <AnMaster> ehird, yeah it might be worse than me agreeing with you
19:42:26 <ehird> indeed
19:42:30 <ehird> he'll probably implement it
19:42:30 <ehird> :P
19:42:34 <ehird> not to the spec, ofc
19:42:39 <AnMaster> hah
19:43:05 <AnMaster> ehird, also did you look at this ATHR I'm working on?
19:43:13 <ehird> nope
19:43:14 <ehird> well
19:43:15 <ehird> yes
19:43:15 <ehird> a bit
19:43:15 <AnMaster> the spec is about the opposite of that
19:43:26 <ehird> >_< feedfinder.py can't find wikipedia's rss feed
19:43:31 <ehird> despite being the most comprehensive code i've found
19:43:32 <AnMaster> ehird, it even have "consideration of impacts on other fingerprints" and such
19:43:53 <AnMaster> since it is about 2/3 as feral as MVRS, and TRDS
19:43:56 <AnMaster> or even more
19:44:04 <AnMaster> not as feral as TRDS though
19:44:26 <AnMaster> ehird, current local copy is 280 lines
19:44:52 <AnMaster> the actual instructions spec cover just about 60 of those
19:44:59 <AnMaster> or a bit more
19:45:22 <AnMaster> 77 actually,
19:45:27 <AnMaster> miscalculated
19:46:05 <AnMaster> fizzie, the wait with atomic unlock/lock would be hard since it wouldn't actually be atomic on lower level :/
19:46:18 <AnMaster> fizzie, unable to do that without holding another lock!
19:46:58 * oerjan read that as wait with atomic clock
19:47:16 <AnMaster> oerjan, atomic *lock*
19:47:24 <AnMaster> and those are not wildcards
19:47:29 <oerjan> *whoosh*
19:47:36 <oerjan> those are not wildcards either
19:47:47 <AnMaster> oerjan, or, as it may turn out, atomic hasp
19:47:47 <AnMaster> :P
19:48:10 <AnMaster> since words such as "mutex" and "lock" are too common
19:48:15 <AnMaster> I need something original
19:48:30 <AnMaster> so I think hasp will be best
19:49:24 <oerjan> i can read that as wasp if you want
19:49:32 <AnMaster> oerjan, no thanks
19:51:08 <AnMaster> oerjan, anyway if you are interested here is the current spec: http://rafb.net/p/ivz6AN26.html
19:51:54 <AnMaster> oerjan, it is still under development
19:52:13 <AnMaster> ehird, do you agree it is about as far from Riley's specs as it is possible to get?
19:52:23 <ehird> not erally
19:52:31 <AnMaster> ehird, oh?
19:52:40 <AnMaster> ehird, what is unclear in it?
19:52:42 <fizzie> Waits are so rare that I'm not sure you'd get any performance problems even if you serialized that somehow. It doesn't even need to be a very global locking-thing probably. I don't know anything about Erlang concurrency (except that it's mostly passing messages around) so I won't comment about implementation-level things, though.
19:53:12 <ehird> AnMaster: nothing
19:53:17 <AnMaster> fizzie, well the module that allows creating locks is called "global"
19:53:51 -!- Sgeo has joined.
19:53:57 <fizzie> Yeeees, but I guess not everyone needs to actually care about the lock? I mean "global" here in the sense of "blocking everyone who wants to initiate a wait operation and/or signal someone".
19:54:15 <AnMaster> fizzie, also the lock would need to be held when unlocking and then suspending, after which you can't unlock it any more since you are suspended
19:54:50 <AnMaster> logically
20:01:37 <fizzie> Depends on how the suspend/resume works, I guess. You'd need to keep that lock held until it's clear that the thread can manage to get suspended without any other thread having a chance of acquiring that hasp that was flubbrigated (ATHR-"mutex" "released") and resuming that thread before it actually managed to suspend.
20:02:16 <AnMaster> "You'd need to keep that lock held until it's clear that the thread can manage to get suspended without any other thread having a chance of acquiring that hasp that was flubbrigated" <-- never clear
20:02:35 <AnMaster> fizzie, erlang use a round robin scheduling that may change to another thread at any one time
20:02:40 <AnMaster> and consider SMP too...
20:03:02 <AnMaster> fizzie, anyway I could easily wait for the message anyway
20:03:07 <fizzie> Yes, but it's not like your Funge-interpreting thread would actually have to start interpreting things immediately after resuming.
20:03:09 <AnMaster> that is, get it directly
20:03:37 <AnMaster> the receive statement would just return right away
20:03:59 <AnMaster> fizzie, so I guess it if doesn't have to be actually atomic
20:04:01 <AnMaster> then fine
20:04:17 <AnMaster> fizzie, and what if it is woken up, just to end up waiting on a lock that is already held again?
20:04:56 <AnMaster> fizzie, also, suspending and waiting for a lock to become free is basically what L does
20:04:56 <fizzie> Yes, if you have "wait for messages" that won't actually lose messages (so it's not condition-variable-like waiting) I guess you don't need the controlling mutex there.
20:05:35 <AnMaster> fizzie, indeed, messages don't get lost, however the thread will probably have to clean out it's mail box at some point
20:05:44 <fizzie> That's probably not a problem.
20:05:52 <AnMaster> fizzie, in the main loop?
20:06:04 <AnMaster> fizzie, erlang mailboxes may have some size limit, not sure
20:06:11 <AnMaster> that is what the message queues are called
20:06:13 <AnMaster> in erlang
20:06:29 <fizzie> Well, it's not hard for the Funge programmer to organize his/her threads so that it won't end up filling those.
20:06:49 <AnMaster> fizzie, the issue is that the signal would be broadcast to all threads
20:07:04 <ehird> Haha, wow. I sent an email to Aaron Swartz telling him his feed finder thing was broken an hour or so ago, and I get a response right now telling me why (their robots.txt forbids accessing it) and linking to a bug he just filed for it.
20:07:15 <ehird> That's some quick response time.
20:07:39 <AnMaster> fizzie, if I can't do that then it may actually end up loosing messages as you suggested
20:07:45 <ehird> AnMaster: lose
20:07:49 <AnMaster> losing*
20:07:59 <AnMaster> wait I know
20:08:05 <AnMaster> lo{1,2}sing
20:08:09 <AnMaster> that is what I will use ;P
20:08:15 <fizzie> Oh, right. Well, it's still possible to organize threads so that they check all messages, although it might get to be complicated unless you happen to have a non-blocking "get my mail" thing.
20:08:35 <AnMaster> fizzie, yes maybe directed signal or something
20:08:41 <AnMaster> but that would need IDs for threads
20:08:48 <AnMaster> and so on
20:09:09 * AnMaster considers
20:09:25 <ehird> Huh, it wasn't an hour ago.
20:09:33 <ehird> It was *10 minutes ago*.
20:09:35 <ehird> The mind boggles.
20:10:05 <AnMaster> ehird, he might have been checking his email once a day and happened to check it just after you mailed
20:10:06 <AnMaster> or such
20:10:18 <ehird> True, but that would be some coincidence. :-P
20:10:18 <AnMaster> it can be a coincidence
20:10:34 <ehird> AnMaster: He could just have a push-updates email client, you know. I do.
20:10:40 <AnMaster> ehird, well you don't have enough data points to prove it wasn't due to that
20:10:59 <ehird> Still, it's odd sending an email, promptly forgetting about it, then 10 minutes noticing you have new email and seeing there's a reply already.
20:11:04 <AnMaster> ehird, well, even so I don't always actually check the client
20:11:10 <fizzie> In any case, I think the controlling mutex used for pthread condition variables (that is atomically unlocked by pthread_cond_wait and then reacquired when woken up) is there pretty much because of that otherwise complicated race condition where you check whether you need to wait something, start the wait, and then it just happens that the thing-you-were-waiting-for finished and the signal was sent (and lost) before the waiting thread managed to get suspended.
20:11:19 <fizzie> So if your signals don't get lost, that problem isn't there.
20:12:06 <AnMaster> fizzie, the problem is that unless you use W in a thread existing signals will just queue up and waste memory
20:12:33 <AnMaster> how much wasted memory are you prepared to accept in a program that might run without a reboot for a decade?
20:12:47 <AnMaster> (that is a common erlang question, like "how many runaway threads...")
20:13:00 <AnMaster> (since erlang is often used for extremely long running applications like that)
20:13:01 <ehird> Bah. Why isn't there a Python library to canonicalize URLs?
20:13:12 <fizzie> I don't really care if it can be avoided by actually using W from time to time.
20:13:14 <ehird> AnMaster: A befunge program will not run without a reboot for a decade.
20:13:20 <AnMaster> cannonicalize URLs would be funnier
20:13:20 <AnMaster> :D
20:13:26 <ehird> heh.
20:13:37 <AnMaster> ehird, sure? code upgrades are easy, self modifying
20:13:37 * ehird writes his own
20:13:43 <AnMaster> fizzie, maybe a F to flush?
20:13:52 <ehird> I'll call it canonurl, because I am boring.
20:13:55 <AnMaster> ehird, for 1 or 2 n- cases?
20:14:07 <AnMaster> s/-//
20:14:07 <ehird> AnMaster: Can o' N
20:14:08 <oerjan> canonize URLs would also be good
20:14:09 <ehird> URL
20:14:15 <AnMaster> cannon!
20:14:20 <AnMaster> that is much more fun
20:14:36 <AnMaster> lethal urls
20:15:23 <fizzie> AnMaster: You can "flush" it by doing something like 8y:IW pretty easily, although it's a bit wasteful.
20:15:48 <fizzie> ("8y" just to get a thread-unique number, and maybe you'd need something to avoid conflicts with "real" wait numbers, but anyway...)
20:15:59 <AnMaster> yeah
20:16:21 <AnMaster> fizzie, except that signal would go to every process
20:16:37 <ab5tract> fungot: signal / noise
20:16:38 <fungot> ab5tract: let's see your code. and larceny's twobit compiler has an excuse to quit my job, and release my system too.
20:16:48 <AnMaster> fizzie, "Any other queued signals before the matching one are discarded by W."
20:16:59 <AnMaster> fizzie, that makes it slightly more complex ;P
20:17:06 <fizzie> Yes, that's what I was almost expecting.
20:17:15 <fizzie> ehird: Fungot's been running without a reboot for almost a week now. That's pretty close to a decade!
20:17:21 <AnMaster> fizzie, so maybe a true F to flush anyway
20:17:24 <ehird> fizzie: *nod*
20:17:39 <fizzie> Okay, maybe it's only four days. It's closer to 1 week than 0 weeks, anyway!
20:17:51 <fizzie> (And it would be longer unless it had the habit of crashing all the time.)
20:17:55 <ab5tract> AnMaster: have you named your mutex stuff yet?
20:18:04 <fizzie> Okay, now I really must go away.
20:18:16 <AnMaster> ab5tract, no, hasp is a good idea, but what would the operations lock/release/try-lock be called for it?
20:18:33 <ab5tract> open/close/inspect
20:18:59 <ab5tract> unless you are using those for io already...
20:19:10 <AnMaster> C is used
20:19:15 <ab5tract> latch/unlatch/inspect ?
20:19:38 <AnMaster> L would work so would U, the current I make as much sense as N anyway so that would work fine
20:19:38 <ab5tract> sorta a stretchy metapohor at that point i guess
20:20:07 <ab5tract> what is the overall theme of the language?
20:20:18 <AnMaster> ab5tract, befunge-98, this is a fingerprint for it
20:20:23 <ab5tract> ahhhh
20:20:32 <ab5tract> awesome
20:20:46 <AnMaster> ab5tract, and I think Befunge-98 today is a general-purpose esolang
20:20:47 <ab5tract> i'm all about the funge
20:20:56 <AnMaster> considering all the fingerprints for it
20:21:05 <AnMaster> for everything from sockets to files
20:21:07 <ab5tract> i thought maybe you were creating a new language
20:21:27 <ab5tract> yeah, my .sig is in befunge-93
20:21:52 <ab5tract> i haven't learned the -98 but i have the specification
20:21:59 <AnMaster> ab5tract, ah no, I just think t in befunge isn't very useful. Befunge needs a way to take advantage of the multi-core cpus today to be a viable language in the future enterprise world!
20:22:03 <AnMaster> or something
20:22:21 <ab5tract> definitely
20:22:22 <AnMaster> since t is synced so each instruction takes one tick
20:22:52 <ab5tract> so you are replacing it with a mutex?
20:23:00 <AnMaster> ab5tract, with async threads
20:23:02 <AnMaster> to be exact
20:23:06 <ab5tract> awesome
20:23:12 <ab5tract> asynch asynch asynch
20:23:16 <AnMaster> ab5tract, and it will be implemented in erlang
20:23:21 <ab5tract> thats what i chant at political rallies
20:23:25 <AnMaster> a message-passing concurrent erlang
20:23:29 <AnMaster> asynch?
20:23:40 <AnMaster> ab5tract, and I didn't get that joke
20:23:44 <ab5tract> i like the trailing h, so sue me
20:23:57 <AnMaster> ab5tract, my spec use the full word
20:23:59 <AnMaster> http://rafb.net/p/OINz1N69.html
20:24:07 <AnMaster> is the current draft
20:24:55 <ehird> So... Do you guys think it's reasonable to assume people don't serve different content on http://foo.com/ to http://www.foo.com/?
20:24:56 <ehird> :|
20:25:13 <AnMaster> ehird, yes, but the www one shouldn't resolve
20:25:17 <ab5tract> i like the idea of funge with erlang
20:25:27 <ehird> AnMaster: Yes, it should, but it should redirect to the former.
20:25:28 <AnMaster> ehird, also the non-www seem to redirect to the www one
20:25:31 <AnMaster> which is horrible
20:25:32 <ehird> However, I'm not asking for your idealism.
20:25:54 <AnMaster> ehird, well yeah I usually redirect www to non-www, so that would put be in B class of no-www iirc?
20:25:54 <ehird> I'm asking people who actually have a grasp on reality and pragmatism whether they think there are any examples of foo.com differing from www.foo.com.
20:26:14 <oklopol> grasp on reality and pragmatism?
20:26:15 <AnMaster> ehird, I know one
20:26:18 <oklopol> it's my time to shine!
20:26:19 <AnMaster> the local municpality
20:26:21 <AnMaster> err spelling
20:26:24 <ehird> AnMaster: link?
20:26:28 <ehird> oklopol: yep...
20:26:30 <oklopol> www.foo.com and foo.com should actually just redirect to each other
20:26:36 <AnMaster> ehird, http://www.kumla.se/
20:26:40 <AnMaster> the non-www returns an error
20:26:43 <oklopol> oto.foo.com is where the actual content should be
20:26:54 <oklopol> except all the letters f, j and k should be in oko.foo.com
20:26:55 <AnMaster> ehird, 403 Forbidden to be exact
20:26:57 <ehird> AnMaster: Ah.
20:27:00 <oklopol> except for one, that's simply removed.
20:27:04 <oklopol> glad i could help
20:27:05 <AnMaster> ehird, which is pretty wtfish :P
20:27:39 <Asztal> is this excluding the cases where www. doesn't even exist?
20:27:53 <AnMaster> Asztal, I think so
20:28:02 <AnMaster> I seen a few sites like that
20:28:23 <Asztal> no-www.org says 38,000 domains
20:28:31 <AnMaster> no-www doesn't load here
20:28:36 <AnMaster> just a white page
20:28:37 <AnMaster> wtf
20:28:42 <Asztal> nor here, I checked google's cache :)
20:29:30 <AnMaster> extra-www loads though
20:29:36 <AnMaster> iirc someone from this channel made it
20:29:42 <AnMaster> GregorR maybe? Not sure
20:30:53 <Deewiant> ehird: I can't recall any case where both exist but have different content
20:31:34 <Asztal> reminds me of news.com.com
20:31:37 <AnMaster> ehird, you don't count the example I gave?
20:32:11 <Deewiant> AnMaster: it's common for one or the other to give an error
20:32:28 <AnMaster> Deewiant, 403 forbidden too?
20:32:52 <Deewiant> AnMaster: many sites give 403 when they mean 404
20:33:02 <Deewiant> for security reasons, I suspect
20:33:03 <AnMaster> Deewiant, that makes no sense
20:33:16 <AnMaster> Deewiant, wouldn't it be more secure to give 404 for all instead?
20:33:39 <Deewiant> hmm, good point
20:33:47 <Deewiant> anyway, I don't know why
20:33:54 <Deewiant> but for instance http://users.tkk.fi/mniemenm/foo is a 403
20:34:05 <AnMaster> Deewiant, and it is a 404 really?
20:34:17 <Deewiant> and I can assure you my public_html directory doesn't contain a file called foo which you're not allowed to read :-P
20:34:23 <AnMaster> Deewiant, maybe it is 403 as in "directory listing forbidden"?
20:34:45 <Deewiant> AnMaster: why would that make sense
20:34:45 <AnMaster> ah no
20:34:59 <AnMaster> Deewiant, it would only make sense for a directory indeed
20:42:42 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
20:43:18 -!- bsmntbombdood has joined.
20:46:15 <fizzie> There are many sites where the non-www. one is broken.
20:46:57 <fizzie> I think I ran across one today too.
20:46:59 <AnMaster> fizzie, my sites always redirect www one to non-www
20:47:32 <AnMaster> first redirect in lighttpd.conf
20:47:46 <AnMaster> globally, for all vhosts
20:48:37 <AnMaster> fizzie, http://rafb.net/p/ZtV0Tn90.html
20:48:41 <AnMaster> that is the current version
20:48:55 <AnMaster> ah wait
20:49:00 <AnMaster> should say no parameters for F
20:49:35 -!- sebbu2 has joined.
20:49:55 <fizzie> Actually both the www and non-www ones for the site I ran across now say "We are making big updates on the server Web services will be up and running later today." -- maybe they'll get that fixed too.
20:51:42 <ehird> gee, your draft warning was nice
20:51:42 <ehird> here I was
20:51:45 <ehird> IMPLEMENTING it
20:51:51 <ehird> but its only a draft?!
20:51:52 <ehird> omgwtfbbq!
20:52:42 * oerjan brings sausages
20:53:00 <AnMaster> ehird, hah hah
20:53:49 <AnMaster> ehird, also writing specs for funge have taught me one thing: Better try to state things you think everyone would understand
20:53:53 <AnMaster> since everyone won't
20:53:55 <AnMaster> ever
20:54:11 <AnMaster> so state things explicitly
20:54:17 <fizzie> The C instruction should indicate what happened somehow. I think usually (at least CMPXCHG) it just returns the current value that was there in the cell, so you can just use a "C-|" sequence (if you had the "value to compare to" under the params in the stack) to see whether it did the swap or not.
20:54:27 <AnMaster> fizzie, thanks, I forgot that
20:55:06 <AnMaster> fizzie, why -?
20:55:16 <AnMaster> rather just using a w there
20:55:19 <Deewiant> AnMaster: equality comparison...
20:55:19 <AnMaster> would be better
20:55:27 <fizzie> w might go up or down.
20:55:28 <Deewiant> w's are annoying because you need to handle 3 cases
20:55:36 <Deewiant> with -| or -_ it's 2
20:56:01 <fizzie> Of course it could indicate by reflecting too if you're more into that; a boolean yes/no is strictly speaking enough. Although then it's not actually compare-and-*swap*.
20:56:02 <AnMaster> Deewiant, well yeah, but | or _ checks for "equal to zero/different from zero"
20:56:21 <AnMaster> ah wait
20:56:23 <AnMaster> right
20:56:25 <AnMaster> that would work
20:56:28 <Deewiant> AnMaster: yes, so with - you get "top two are equal"
20:56:32 <AnMaster> and yeah updated spec have it
20:57:30 <AnMaster> Deewiant, what about C reflecting if current cell isn't equal?
20:57:47 <AnMaster> as in C failed
20:57:53 <Deewiant> ask fizzie, I don't even know what you're talking about :-P
20:58:04 <fizzie> You should call it "compare and set" then, but other than that it should be fine.
20:58:16 <AnMaster> fizzie: Reflects if replace failed, pushing the existing (unchanged value on stack).
20:58:19 <fizzie> Since it's not "exchange" if you don't get the old value back.
20:58:25 <AnMaster> fizzie, it also pushes the old value
20:58:29 <AnMaster> if it is successful
20:59:01 <GregorR> http://www.www.extra-www.org/ is my site.
20:59:01 <fizzie> Well, you can do that too, but then most people will probably just follow it with $ since the reflection is what interests people. Usually. I guess in some cases the old value is interesting too.
20:59:21 <AnMaster> fizzie, you should probably know it
20:59:23 <AnMaster> and hm
20:59:30 -!- sebbu has quit (Read error: 113 (No route to host)).
20:59:31 -!- sebbu2 has changed nick to sebbu.
20:59:31 <AnMaster> fizzie, so that is a bad idea then?
20:59:49 <AnMaster> so no reflect?
21:00:04 <fizzie> I don't have a real opinion; it's just a matter of a couple of characters, anyway. As long as it indicates at least somehow whether it failed or not.
21:00:12 <ehird> GregorR: That arson news site, why does it actually use it?
21:00:21 <ehird> I can't think why you'd be crazy enough to, you know, actually do it.
21:00:23 <fizzie> Uppercased instructions seem to reflect a whole lot, though.
21:00:23 <AnMaster> fizzie, also what sould it push if it fails then?
21:00:50 <fizzie> If it's called "exchange", it should probably in all cases push the value that was there, even if it did not actually set it to whatever you wanted.
21:01:06 <Deewiant> fizzie: yes, lowercased instructions just invoke undefined behaviour ;-)
21:01:07 <AnMaster> fizzie, hm
21:01:07 <AnMaster> ok
21:01:33 <AnMaster> Deewiant, true, and so does Riley's upper case ones too
21:02:21 <fizzie> Personally I'd probably just make it either always push the old value and not reflect (so that people will do -| after it) or simply reflect without pushing the old value (but call it compare-and-set, then, it should be just as powerful, though maybe not quite as convenient -- can't think of use cases right now).
21:02:39 <AnMaster> fizzie, ok
21:02:48 <fizzie> Convenience has never been very high on funge-people's priorities, though.
21:02:49 <AnMaster> wtf
21:02:50 <AnMaster> lag
21:03:09 <AnMaster> better now
21:03:38 <AnMaster> fizzie, I go for the exchange one
21:03:56 <AnMaster> since I think reflect is more convenient ;P
21:07:07 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | Do you know, pikhq?.
21:07:33 <AnMaster> has anyone ever made a programming language based on text formatting? Well apart from ColourForth but that doesn't really count since it is just colours, not full formatting, like text size
21:07:40 <AnMaster> it should probably use odf format
21:08:18 <Slereah_> Text formatting?
21:08:28 <Deewiant> AnMaster: TeX?
21:08:42 <AnMaster> Deewiant, no as in the formatting affected what the code meant
21:08:52 <AnMaster> somewhat like colours do in ColorForth
21:08:58 <ehird> colourforth.
21:08:59 <ehird> :p
21:09:08 <AnMaster> ehird, "Well apart from ColourForth but that doesn't really count since it is just colours, not full formatting, like text size"
21:09:13 <ehird> Yes. You're wrong. :)
21:09:18 <AnMaster> after fizzie's idea
21:09:23 <AnMaster> "like @, only really big"
21:09:24 <ehird> ColourForth can be presented in non-colour version.
21:09:35 <ehird> e.g. Chuck wrote a paper about it using italics/underline/bold.
21:09:38 <ehird> So you could do text size too.
21:09:42 <AnMaster> ehird, hm ok
21:11:58 <fizzie> Another style thing: in the "ATHR vs. REFC" the wording, while technically speaking correct, maybe a bit needlessly complicated. The REFC reference numbers don't really matter, so it probably doesn't matter if they're given out first-come-first-served or something stranger, you could just say they're global and need to work without explicit synchronization of requests.
21:12:09 <fizzie> Although it could be just me nitpicking here.
21:12:37 <AnMaster> fizzie, good idea
21:12:45 <AnMaster> and thanks for the comments
21:14:29 <AnMaster> fizzie, should I attribute you with your real name or your nick in "thanks to"?
21:14:57 <AnMaster> same question goes to Deewiant
21:15:36 <Deewiant> previously you've used my name, I guess; I typically use both
21:15:38 <fizzie> I'm never good in deciding that. Maybe real name, so prospective employers will know I do all kinds of sensible and profitable things with my time.
21:15:53 <AnMaster> Deewiant, I used your name after asking you iirc
21:15:54 <fizzie> Already got one summer job because of my Befunge skills.
21:16:04 <AnMaster> fizzie, what? huh?
21:16:12 <AnMaster> what sort of summer job?
21:16:18 <fizzie> AnMaster: Perl-writing. :p
21:16:30 <AnMaster> fizzie, oh well I can see the logic in that yeah
21:16:50 <fizzie> Okay, so I'm not entirely sure the Befunge thing had anything to do with it, but the subject came up in the interview and the people seemed at least curious about it, if not outright interested.
21:17:25 <fizzie> (I had "esoteric programming languages" listed as a hobby in my CV since the template had a section titled like that.)
21:18:03 <fizzie> (The company was Nokia; you may have heard of it.)
21:18:27 <fizzie> (It's that mobile phone maker everyone thinks is Japanese. :p)
21:18:33 <ehird> Nokia? Huh?
21:18:35 <ehird> Who are they?
21:19:36 <AnMaster> fizzie, I know it is Finnish
21:19:38 <AnMaster> of course
21:19:44 <AnMaster> I got a nokia phone even
21:19:53 <AnMaster> says 2600
21:19:54 <AnMaster> on i
21:19:55 <ehird> Huh?
21:19:55 <AnMaster> it*
21:20:02 <ehird> What's a mobile phone?
21:20:14 <AnMaster> ah no
21:20:16 <AnMaster> 2100
21:20:29 <fizzie> Okay, I guess most people know that, but it's an old joke that Finland's most successful company has a faux-Japanese-sounding name.)
21:20:31 <AnMaster> ehird, tried google?
21:20:33 <AnMaster> to quote you
21:20:43 <AnMaster> ah no
21:20:46 <ehird> AnMaster: ... uh, what's google?
21:21:00 <ehird> sorry i must look like an idiot
21:21:00 <ehird> :\
21:21:15 <AnMaster> fizzie, Don't they make wheels too iirc?
21:21:49 <AnMaster> fizzie, also how comes you didn't get that summer job?
21:21:52 <oerjan> ehird: no no, just an amnesiac
21:21:58 <oerjan> oh wait
21:22:03 <fizzie> AnMaster: Huh? I did get it.
21:22:20 <AnMaster> fizzie, sorry, read it as "almost"
21:22:24 <AnMaster> not "already"
21:22:59 <oerjan> AnMaster: that's Nokian. _entirely_ different.
21:23:30 <AnMaster> oerjan, oh ok
21:23:41 <AnMaster> they got very similar names
21:23:49 <fizzie> The tires and boots were part of the same Nokia company back then in the 1960s.
21:23:51 -!- Corun_ has joined.
21:24:02 <AnMaster> fizzie, but they split up after?
21:24:04 <AnMaster> also boots?
21:24:07 <AnMaster> didn't know that
21:24:11 <AnMaster> just the tires bit
21:24:12 <fizzie> Rubber boots.
21:24:16 <fizzie> You know, for rainy days.
21:24:27 <AnMaster> fizzie, yeah, but I use a Swedish brand
21:24:49 <oerjan> Ericsso boots
21:24:58 <AnMaster> no wait may be Danish
21:25:01 <AnMaster> HH is what it says
21:25:05 <AnMaster> that's Danish isn't it?
21:25:51 * oerjan swats AnMaster ----###
21:25:52 <fizzie> Apparently the tire-manufacturing part was split from the telecommunications part in 1988.
21:26:00 <oerjan> norwegian, in fact
21:26:17 <fizzie> Helly Hansen, is it?
21:26:22 <AnMaster> oerjan, oh ok
21:26:23 <AnMaster> sorry
21:26:25 <oerjan> http://en.wikipedia.org/wiki/Helly_Hansen
21:26:27 <AnMaster> fizzie, yeah
21:26:44 <oerjan> mind you i wasn't sure myself until i googled
21:26:46 <fizzie> I think I have something of theirs to wear on the sailboat; good for that sort of thing.
21:26:53 <AnMaster> hah
21:27:01 * AnMaster swats oerjan for swatting then
21:27:32 <AnMaster> fizzie, Nokian or HH?
21:28:02 <fizzie> HH. And not boots; some sort of jacket.
21:28:12 <fizzie> I don't think Nokia has done rubber boots for ages now.
21:28:24 <fizzie> Although I'm not really sure.
21:28:41 <fizzie> I guess they still do.
21:29:03 <fizzie> nokianfootwear.fi/eng
21:29:04 <AnMaster> HH does "flytväst" too
21:29:12 <AnMaster> no idea what the name is for that in English
21:29:15 <AnMaster> floating suite?
21:29:22 <AnMaster> floating jacket
21:29:23 <AnMaster> probably
21:29:25 <AnMaster> or whatever
21:29:43 <fizzie> Life-vest if you mean the safety gear.
21:30:30 <AnMaster> yes that
21:30:48 <AnMaster> except it is less than that and more like light weight, meant for sailing
21:30:59 <AnMaster> which is actually called a "seglarväst"
21:31:36 <fizzie> Ah, then it's more like fi:kelluntaliivi (floatation vest), distinct from fi:pelastusliivi (rescue vest) which is the more heavy-duty thing.
21:31:52 <AnMaster> fizzie, exactly
21:31:56 <fizzie> I'm not sure how the official definitions go.
21:32:03 <AnMaster> the "flytväst" is the heavy duty ones
21:32:14 <AnMaster> but the thing I was thinking about was the lightweight ones
21:32:18 <fizzie> Ah, okay.
21:32:32 <AnMaster> fizzie, I got one of those lightweight ones somewhere
21:32:40 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
21:32:45 -!- Slereah_ has joined.
21:33:40 <fizzie> The CE authorization thing defines the life-vest one to be something that turns you on your back and keeps the head above the water even if you're completely unconscious, while the lightweight one just helps you float if you're still operational and know how to swim.
21:36:31 <AnMaster> fizzie, well I know how to swim well, during the summer I often swim 2 km every other day for exercise
21:36:36 <AnMaster> (spelling of last word?)
21:36:57 <fizzie> exercise is fine.
21:37:04 <AnMaster> k
21:37:09 <fizzie> The spelling, I mean. I think the practice sounds somewhat unhealthy.
21:37:22 <fizzie> All that fresh air.
21:37:25 <fizzie> Can't be good for you.
21:37:38 * oerjan seconds that
21:38:38 -!- Corun has quit (Read error: 110 (Connection timed out)).
21:38:58 <AnMaster> well. I think it is better for me than being indoors all the time
21:39:00 <AnMaster> really
21:39:13 <AnMaster> had health problems from that before, so I decided to avoid that
21:41:25 <AnMaster> fizzie, Deewiant : http://rafb.net/p/2zsIOB88.html
21:41:27 <AnMaster> comments?
21:41:29 <AnMaster> anyone else too?
21:41:57 -!- Corun_ has changed nick to Corun.
21:42:04 <AnMaster> oerjan, you got comments?
21:43:25 <oerjan> too much draft. fresh air, remember?
21:43:38 <AnMaster> oerjan, gah
21:44:56 <AnMaster> fizzie, oh btw I pondered adding a section near the end called "ATHR and the effects on modern society" with the text "Not a lot."
21:45:18 <fizzie> I like the systematic "parameters, return value, reflection info" format, it's very fastidious.
21:45:29 * AnMaster googles fastidious
21:45:38 <fizzie> 1. (2) fastidious -- (giving careful attention to detail; hard to please; excessively concerned with cleanliness; "a fastidious and incisive intellect"; "fastidious about personal cleanliness")
21:45:42 <fizzie> First sense.
21:46:01 <fizzie> Not "excessively concerned with cleanliness"; if you are, I don't know about it.
21:46:03 <AnMaster> also I missed it for the two last instructions
21:46:06 * AnMaster reads
21:46:21 <AnMaster> fizzie, also what about "incisive"?
21:46:32 * oerjan fits all three, he thinks
21:46:43 <oerjan> well at one time or another
21:46:47 <fizzie> AnMaster: That's pretty much the same thing as "keen".
21:46:54 <AnMaster> ah
21:46:58 <AnMaster> then that is me
21:47:01 <AnMaster> "a fastidious and incisive intellect"
21:48:04 <ehird> AnMaster: You're so humble.
21:48:22 <fizzie> Although it does have a secondary meaning of "suitable for cutting"; incision is, after all, a cut.
21:48:26 <AnMaster> ehird, it was a joke
21:48:31 <ehird> AnMaster: So was mine.
21:48:47 <AnMaster> ehird, I thought it was sarcasm?
21:48:54 <AnMaster> oh wait no ~, sorry
21:49:11 <ehird> No, it was sarcasm, which was a joke.
21:49:12 <AnMaster> also is it "signaled" or "signalled"?
21:49:19 <AnMaster> different spelling programs want different there
21:49:21 <AnMaster> !???????
21:49:44 <fizzie> "signaled" is the US spelling, I think.
21:49:45 <ehird> signalled
21:49:50 <AnMaster> ehird, ah thanks
21:50:02 <AnMaster> yeah I use UK spelling when possible
21:50:23 <fizzie> UK spelling tends to be the one with more letters. :p
21:50:35 <fizzie> (I'm sure there are exceptions, though.)
21:52:13 <fizzie> And at least center/centre has the same length. But it works for aluminum/aluminium and all kinds of .*or/.*our things.
21:52:38 <AnMaster> ize/ise?
21:52:46 <fizzie> Okay, those have the same length.
21:52:48 <AnMaster> that is .* of course in front
21:53:02 <Deewiant> and yse/yze
21:53:06 <AnMaster> yeah
21:53:27 <AnMaster> also is center or centre UK?
21:53:38 <fizzie> Centre.
21:53:39 <Deewiant> there are three standards: ise/yse, ize/yze, ize/yse
21:54:25 <fizzie> Wasn't aluminum/aluminium on that "lamest wikipedia edit wars" page? At least I remember looking at the article talk page one day and marvelling (again also US marveling) at the amount of talk about the name.
21:55:10 <fizzie> Seems they moved it to a separate page at http://en.wikipedia.org/wiki/Talk:Aluminium/Spelling
21:55:43 <fizzie> That's a 116-kilobyte page. Of course some HTML overhead, but still.
21:56:26 <AnMaster> fizzie, you really want en-us and en-uk wikipedias
21:56:34 <AnMaster> and maybe en-au and so on too
21:56:35 <Deewiant> s/uk/gb/
21:56:45 <AnMaster> Deewiant, right
21:57:05 <AnMaster> Deewiant, how do they differ though?
21:57:41 <Deewiant> great britain is the island
21:57:51 <AnMaster> Deewiant, and UK?
21:58:00 <Deewiant> the country
21:58:03 <AnMaster> also I probably meant UK then
21:58:18 <Deewiant> "UK of GB and Northern Ireland"
21:58:25 <AnMaster> Deewiant, yes exactly
21:59:17 <AnMaster> Deewiant, fizzie: so any comments on this version: http://rafb.net/p/tUcpyC58.html
21:59:20 <AnMaster> there are two things left:
21:59:28 <AnMaster> rename mutexes to maybe hasps
21:59:31 <AnMaster> or something even better
21:59:43 <AnMaster> and the second issue:
21:59:52 <AnMaster> clear up the [TODO: ...] comment
21:59:56 <AnMaster> needs some thinking about
22:00:16 <AnMaster> Deewiant, and would this be something you would ever consider implementing?
22:00:21 <AnMaster> If not: why not?
22:00:50 <Deewiant> Maybe. If not: because it'd require too many changes all over the place
22:01:02 <Deewiant> concurrency in imperative languages is a bit of a pain
22:01:08 <fizzie> Mediawiki is complicated; I had to use http://en.wikipedia.org/w/index.php?title=Talk:Aluminium/Spelling&action=raw to fetch the raw page source (265040 bytes) because just adding ?action=raw to the end of the URL gave me a "Raw pages must be accessed through the primary script entry point." error.
22:01:21 <fizzie> I don't think I have any comments left, but I'll take a peek.
22:02:02 <Deewiant> I'd rather go the async-MVRS route for concurrency as I'm still not sure whether ATHR is actually useful at all.
22:02:09 <Deewiant> but anyhoo
22:02:12 * Deewiant <*> bed
22:02:16 <AnMaster> Deewiant, ok
22:02:34 <AnMaster> fizzie, as for that error, how comes they detected the ?action bit at all
22:02:41 <AnMaster> if they did they could just have served that
22:02:53 <AnMaster> so that makes no sense
22:02:59 <fizzie> Deewiant: I'd probably have used ATHR if I were writing fungot now, but I don't think I'd have gone the MVRS route. Although I guess I could have.
22:02:59 <fungot> fizzie: in that sentence
22:03:10 <ehird> Guys. #notes-to-ehird. In which I am going to let you make my computer say things
22:03:12 <ehird> With amazing text to speech technology
22:03:14 <ehird> It will be amazing. Probably
22:03:31 <AnMaster> ehird, hm
22:03:55 <fizzie> I ran all my IRC though the "amazing" OS 7.5.5 text-to-speech facility once for some.. hmm, maybe dozen hours.
22:04:02 <fizzie> Had to turn it off after that.
22:04:22 <AnMaster> fizzie, haha
22:04:26 <fizzie> Maybe it wasn't 7.5.5; really don't remember.
22:05:10 <fizzie> I think it was 7.5.5; isn't that the latest version Apple is giving out? At least at some point there was 7.5.3 plus the 7.5.5 update available for downloading.
22:05:14 <AnMaster> fizzie, I think OS 8 had it at least
22:05:18 <AnMaster> so quite possible
22:05:25 <fizzie> It was pre-8, though.
22:05:47 <ab5tract> 7.5 had text2speech
22:05:50 <AnMaster> ok
22:06:00 <AnMaster> ab5tract, any comments on http://rafb.net/p/tUcpyC58.html ?
22:06:12 <AnMaster> <Deewiant> concurrency in imperative languages is a bit of a pain <-- well, not my problem
22:06:26 <ab5tract> it was there before the beveled progress bars
22:06:29 <fizzie> I liked the "the light that you see at the end of the tunnel is the headlights of a fast approaching train" test phrase the 'bad news' voice spoke. :p
22:06:51 <fizzie> Or something like that, anyway.
22:06:55 <AnMaster> fizzie, hehe
22:07:03 <ab5tract> AnMaster: it looks pretty good, i'm going to take a better look in a sec
22:07:06 <AnMaster> fizzie, most of those voices were horrible
22:07:14 <AnMaster> ab5tract, in a sec I may be asleep
22:07:28 <ab5tract> then i'll have to comment another time :)
22:07:38 <AnMaster> ab5tract, I do read scrollback
22:07:46 <ab5tract> im new to the channel but im already a big fan
22:07:54 <ab5tract> glad to see befunge gets so much love
22:08:14 <ab5tract> anyone know how finished the befunge implementation on parrot is?
22:08:21 <fizzie> I did Befunge before I ran across Brainfuck; it holds a special place in my heart.
22:08:23 <AnMaster> ab5tract, it is actually one of the more easy-to-use languages
22:08:28 <AnMaster> for esoteric ones
22:08:29 <AnMaster> that is
22:08:39 <ab5tract> yeah definitely
22:08:55 <ab5tract> plus its just such a damn cool concept
22:09:04 <AnMaster> ab5tract, what about trefunge then?
22:09:07 <AnMaster> or 6-funge
22:09:11 <ab5tract> haven't tried em
22:09:17 <ab5tract> like i said, im new
22:09:18 <AnMaster> unefunge maybe?
22:09:28 <AnMaster> that is one-dimensional
22:09:32 <AnMaster> and trefunge is 3D
22:09:39 <ab5tract> the idea of topogrphical programming is awesome
22:09:43 <AnMaster> 6-funge would be 6-dimensional
22:09:56 <ab5tract> yeah i've heard about them but i havent tried them
22:10:09 <ab5tract> i haven't been able to get cfunge to compile on this os x box
22:10:09 <AnMaster> ah so is it equal to a donut or a coffee cup?
22:10:09 <AnMaster> ;P
22:10:22 <AnMaster> ab5tract, oh? what error?
22:10:27 <fizzie> I compiled cfunge on OS X some time ago.
22:10:30 <AnMaster> linking error is fixed in current bzr
22:10:38 <AnMaster> don't remember if it is in last release
22:10:46 <AnMaster> ab5tract, anyway I suspect fizzie is better at helping there
22:10:47 <ab5tract> ah
22:10:49 <AnMaster> since I use Linux
22:10:50 <ab5tract> it was the link error
22:10:57 <AnMaster> ab5tract, about bad flags?
22:11:01 <ab5tract> yup
22:11:17 <ab5tract> i'll check that out
22:11:24 <AnMaster> ab5tract, look for
22:11:25 <AnMaster> #SET_TARGET_PROPERTIES(cfunge PROPERTIES
22:11:25 <AnMaster> #LINK_FLAGS "-Wl,-O1,--as-needed,--warn-common"
22:11:25 <AnMaster> #)
22:11:35 <AnMaster> except there won't be # in front
22:11:41 <AnMaster> adding # will fix it for now
22:11:47 <AnMaster> and what current bzr head looks like
22:12:03 <AnMaster> ab5tract, that would be in CMakeLists.txt
22:12:20 <AnMaster> also I got it to compile myself recently when I had access to a mac for a bit
22:12:25 <AnMaster> that was bzr version too
22:12:46 <AnMaster> ab5tract, normally I just work on Linux and FreeBSD
22:13:08 <ab5tract> i prefer nixen as well
22:13:16 <AnMaster> um
22:13:20 <AnMaster> Mac OS X is *nix
22:13:24 <AnMaster> sad but true
22:13:29 <ab5tract> sorry, yes i know
22:13:43 * ab5tract meant foss nixen
22:13:46 <fizzie> Actually my OS X laptop is not online right now and I can't be bothered to start it up to test things; but the issues were pretty simple ones.
22:13:49 <ab5tract> give or take the f
22:14:58 <ab5tract> nice that worked like a charm
22:15:06 <ab5tract> off to work folks, i will ttyl
22:15:35 <fizzie> Oh, incidentally... does the 's' instruction also then skip the character it wrote, like ' skips the character it read?
22:15:46 <AnMaster> fizzie, yes afaik
22:16:02 <fizzie> I guess it has to, since the spec says it's "mirror image of the ' instruction".
22:16:50 <fizzie> I just thought it'd be more useful as a "execute from stack" instruction and not a "stick a character right here" one, although obviously you can then just route the code flow through it
22:17:24 <AnMaster> fizzie, I suggest RC/Funge EXEC then
22:17:52 <AnMaster> iirc it executes from stack
22:18:03 <fizzie> I really haven't had use for execute-from-stack yet, just wondering.
22:18:05 -!- ab5tract has quit.
22:18:24 <fizzie> Actually I don't thing fungot does any self-modification whatsoever, which is pretty bad style in a Funge program I guess.
22:18:24 <fungot> fizzie: depends on how much faster but any reasonable amount wouldn't help much
22:18:51 <fizzie> Of course it makes it easier to generate those messy graphs. :p
22:19:20 <AnMaster> fizzie, is that a good thing?
22:20:19 <fizzie> Well, I think the graph looked nice. I still want to give it to someone asking for office supplies or something and say "here's our process for doing that".
22:20:32 <fizzie> It looks very enterprisey.
22:21:47 <ehird> fizzie: make it compile the funge in the brackets to Java
22:21:47 <ehird> or UML
22:21:53 <ehird> brackets=bubbles
22:24:22 <AnMaster> fizzie, is it possible to print it out?
22:28:38 <fizzie> You can print it scaled to fit on an A4 paper on a 600dpi laser printer so that you can _almost_ make out the labels; even read quite a large part of them if you squint real hard.
22:28:48 <fizzie> On an A3-sized paper it should be reasonably legible.
22:29:09 <fizzie> Maybe on A4 too with enough tweaking of Graphviz font parameters. There's quite a lot of empty space in them bubbles.
22:31:57 <ehird> how is http://www.websiteoptimization.com/about/ so faaaaaast
22:34:49 -!- Corun has quit ("Leaving").
22:37:00 -!- atrapado has quit ("Abandonando").
22:37:47 <fizzie> Re MVRS, I assume the "Big-Bang" instruction won't create any IPs in it? Since it's still empty and everything. So if MVRS's G/J are not well defined when ATHR is in use, a ATHR/MVRS combination will be pretty hard to use. (Not that interpreting current G/J is much more than guesswork right now.)
22:46:24 <ehird> hmm
22:46:43 <ehird> someone invent a pgp-based method to roll an N-sided dice between two people over irc :3
22:47:04 <ehird> i.e. you can just run it and paste the resulting string to roll
22:47:15 <ehird> and the other person can verify the number you say was made properly randomly
22:47:17 <ehird> or...something
22:47:18 <ehird> i don't know
22:48:39 <ehird> fizzie: you do it
22:48:57 <ehird> you could just write a spec i guess. i can write code. but if you do not do it i will rip your eyeballs out
22:49:35 <oerjan> ehird is so good at motivation
22:50:01 <fizzie> Hmm. In principle you don't really need much for that: just require some suitable amount of input data from both participants, then compute a suitable SHA-512 hash (or some such) of the concatenation and take the result modulo N. Neither participant can then force the result to be what they want, as long as (key point) they both commit to their strings in advance before seeing the other one.
22:50:29 <fizzie> And you can do the commit-to-one-string by requiring both participants to publish the hash of their piece of input in advance.
22:50:47 <ehird> fizzie: suitable input data = /dev/random?
22:50:49 <ehird> Would that work?
22:51:21 <ehird> ideally it'd be something like "pgproll 10", paste the output (which I guess would be "rolled number (magic key thing)")
22:51:21 <fizzie> It's probably as good as you can get. Or "openssl rand".
22:51:29 <ehird> or something
22:51:30 <ehird> maybe:
22:51:42 <ehird> alice rolling, bob verifying:
22:51:51 <ehird> well
22:51:58 <ehird> fizzie: does yours support the model i'm thinking of?
22:52:09 <ehird> i'm thinking of 2 people playing a dice-based game over irc
22:52:15 <ehird> and person A being the dice roller
22:52:31 <oerjan> both need to do some part of the rolling to prevent cheating
22:52:36 <ehird> but they want person B to be able to verify that the dice rolls aren't being forged
22:52:36 <oerjan> i think
22:52:45 <fizzie> Maybe not directly; there's the need for both participants to publish the input hashes first, and then their input strings. After that both participants can verify the result, which will be random.
22:52:51 <ehird> oerjan: yes... that's the problem :-P
22:53:17 <ehird> fizzie: how does that verify that you didn't just modify the program to pick the number you tell it to?
22:54:01 <oerjan> ehird: the point with both choosing part of the number is that then neither than cheat successfully without the cooperation of the other
22:54:11 <ehird> oerjan: ah, right
22:54:18 <fizzie> Well, anyone can just compute the hash of those two concatenated inputs and check what the result of the roll is.
22:54:30 <ehird> wait
22:54:32 <fizzie> Obviously nothing's preventing you from lying and saying "I got a natural 20".
22:54:33 <ehird> you could just do that by:
22:54:41 <ehird> person A says 0-6
22:54:42 <ehird> er
22:54:44 <ehird> 0-5
22:54:45 <ehird> person B says 0-5
22:54:49 <ehird> add them together, there's your roll
22:54:50 <ehird> :-P
22:54:55 <fizzie> No, then person B can decide.
22:55:01 <ehird> oh, right
22:55:04 <fizzie> You need both A and B to commit on their number before revealing it.
22:55:17 <fizzie> Therefore they need to publish the hashes of their selections first.
22:55:18 <ehird> but the commit has to happen simultaneously too, to avoid cheating
22:55:29 <ehird> (its not hard to bruteforce 6 possibilities)
22:55:43 <ehird> so you might as well just figure out a way to do that, then just apply it to the number 0-5
22:55:47 <fizzie> But it's hard to bruteforce what the input will be, if it's something like a kilobyte.
22:56:13 <ehird> Ah, true.
22:56:24 <ehird> Still...Currently this requires _five irc messages_
22:56:26 <ehird> <a> hash
22:56:29 <ehird> <b> hash
22:56:31 <ehird> <a> number
22:56:33 <ehird> <b> number
22:56:37 <ehird> (a checks both numbers, sums them)
22:56:39 <ehird> <a> result
22:56:45 <ehird> that's...hideously unwieldy
22:56:48 <fizzie> Well, A doesn't really need to announce the number.
22:56:56 <fizzie> Both participants know it already after four messages.
22:57:03 <fizzie> (But that's still four messages.)
22:57:39 <oerjan> oh actually <b> doesn't need to reveal the hash. he can do the number first
22:57:42 <ehird> Yes, but the point of having one person doing a dice roll is that they do all the work :-P
22:57:53 <ehird> oerjan: oh, true
22:57:54 <ehird> but
22:57:56 <ehird> <a> hash
22:57:57 <ehird> <b> number
22:57:58 <ehird> <a> sum
22:57:59 <ehird> is
22:58:03 <ehird> 1. still quite unwieldy
22:58:06 <ehird> 2. harder to check for b
22:58:16 <ehird> (he has to subtract number from sum, then check it matches hash, etc)
22:58:27 <ehird> hmm
22:58:30 <ehird> this could be automated with a webservice
22:58:35 <ehird> i..think
22:58:38 <ehird> no wait
22:58:43 <ehird> you'd need pgp in your browser
22:58:46 -!- olsner has quit ("Leaving").
22:59:06 <fizzie> You could just use a trusted third party to do all the work. That's what normal people would do. :p
22:59:22 <fizzie> "There's a dice-rolling bot by that one unrelated guy, let's just use that."
23:00:56 <fizzie> I'm not sure you'll get to less than those three messages there with only the two people who don't trust each other.
23:01:46 <fizzie> With a bit of scripting three would not be too bad.
23:02:00 <ehird> fizzie: There is no such thing as a trusted third party.
23:02:01 <ehird> :-P
23:02:19 <ehird> 'trusted third party' is exactly the problem with security today.
23:03:12 <fizzie> It's a "/roll 20" command which will do <a> I want to roll a d20, my hash is <...>; then a "/answer" command from b which will do "<b> okay, my [1, 20] random number is <x>"; and finally a "/foo" command for a which will do "<a> the dice roll result was <x>".
23:03:31 <fizzie> And b's script will add a "[verified]" message after that last line if it is okay.
23:03:45 <fizzie> And I couldn't think of reasonable command names, sorry. :p
23:04:16 <oerjan> <x> needs to include salt, doesn't it
23:04:39 <ehird> fizzie: Yes, but the point is if you can modify clients its a solved problem
23:04:40 <oerjan> er <a>'s last one
23:04:46 <ehird> oerjan: no
23:04:54 <ehird> fizzie: The challenge is making it work over basic protocols we already have.
23:05:10 <ehird> Ooh.
23:05:13 <ehird> i think i found a program to do it
23:05:46 <fizzie> Okay, you can't just hash A's number. But it's easy to hash that and a bit of randomness, and include the randomness in the last message.
23:06:02 <oerjan> that's what i meant
23:06:10 <ehird> You don't have to, just check A's first message
23:06:29 <fizzie> No, I mean, A can't hash just the number: there's too few alternatives.
23:07:01 <ehird> ah
23:07:01 <ehird> yes
23:07:10 <ehird> I thought http://www.aaronsw.com/2002/secroll.py did this, but it appears to be totally broken.
23:07:13 <ehird> Let me write a program that works.
23:07:13 <ehird> Sec.
23:07:18 <ehird> fizzie: WE CAN TEST IT TOGETHER
23:07:19 <ehird> OMG
23:07:33 <fizzie> No, we can't: I'm going to sleep in 5 minutes.
23:08:00 <oerjan> me too
23:08:04 <ehird> It's not going to take me 5 minutes to write it. :-P
23:09:29 <fizzie> It's not going to take me 5 minutes to get to sleep, either.
23:09:55 <fizzie> There's a hairy man going to come here tomorrow at 08 (in 7 hours) to install a faucet, I need to be mentally prepared for it.
23:10:01 <fizzie> (Okay, the hairiness is still speculation.)
23:12:34 <ehird> Hm.
23:12:36 <ehird> I think 10 bits of randomness is reasonable
23:13:45 <fizzie> But that's just n*1024 numbers to hash before finding out what A's number was, for a n-sided dice.
23:13:57 <ehird> Oh. True.
23:14:11 <ehird> fizzie: Well, how many would you suggest? 1000? :P
23:14:50 <ehird> Hm.
23:14:56 <ehird> It has to be a small amount, since it will be revealed over irc.
23:18:36 <fizzie> The problem there is that you can just precompute all the possible hash values; so it should be sufficiently large that 256*2^n bits is too much to store.
23:19:20 <ehird> fizzie: Um, 10^25 megabytes is too much to store.
23:19:30 <ehird> Wait, even more than that.
23:19:41 <ehird> 3.86856262 * 10^25, even, sez google.
23:19:59 <fizzie> Yes, I mean, 1000 is more than enough. But 10 is not.
23:20:26 <fizzie> I just meant that it's not only the speed-to-bruteforce (after all, _that_ just needs to be a minute or so) since it can be precomputed.
23:20:45 <fizzie> Maybe 50 bits would suffice; that's 10 base64-encoded characters, not a long string. Or 60, two more characters doesn't make a difference.
23:21:32 <ehird> I was talking about 100, btw.
23:21:42 <fizzie> Oh. Well, didn't bother to check.
23:22:27 <fizzie> 50 bits of randomness already means 64k terabytes of hashes even for a two-sided "die".
23:22:32 <fizzie> I sleep now, anyway.
23:22:49 <ehird> Bye.
23:22:55 <fizzie> Bye. Have fun rolling dice.
23:23:19 <ehird> I shall.
23:23:19 <ehird> :D
23:33:14 -!- oerjan has quit ("Good night").
23:39:34 <ehird> AnMaster: openssl question
23:39:40 <AnMaster> ehird, ?
23:39:45 <ehird> how would you use "openssl rand" to generate a random number from 0 to N?
23:39:53 <AnMaster> I'm not great expert but I'll try
23:39:56 <ehird> the minimum you can get is one byte, i.e. 0-255
23:40:05 <ehird> and just moduloing that or something seems...stupid
23:40:32 <AnMaster> it seems indeed to generate random bytes
23:40:39 <AnMaster> ehird, so I got no idea if it is possible
23:41:14 <ehird> :p
23:41:24 <AnMaster> using modulo should work if you make sure that (255 * number of bytes) % the max number you want == 0
23:41:29 <AnMaster> then it should still be uniform
23:41:35 <AnMaster> ehird, oh btw night
23:41:36 <ehird> Er, number of bytes = 1.
23:41:37 <ehird> Presumably.
23:41:40 <ehird> also night.
23:42:25 <AnMaster> <fizzie> Re MVRS, I assume the "Big-Bang" instruction won't create any IPs in it? Since it's still empty and everything. So if MVRS's G/J are not well defined when ATHR is in use, a ATHR/MVRS combination will be pretty hard to use. (Not that interpreting current G/J is much more than guesswork right now.)
23:42:32 <AnMaster> exactly for the latter point
23:42:37 <AnMaster> I just defined what I could
23:56:21 <ehird> AnMaster: yay, roll.py is almost done
23:57:18 <AnMaster> night
23:57:19 <AnMaster> really
←2008-10-15 2008-10-16 2008-10-17→ ↑2008 ↑all