←2008-10-13 2008-10-14 2008-10-15→ ↑2008 ↑all
01:27:47 -!- sebbu has quit ("@+").
01:54:02 -!- Sgeo has joined.
03:02:55 -!- ab5tract has quit.
03:07:06 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | oh no.
03:23:53 -!- bsmntbombdood_ has joined.
03:31:28 -!- xor_ has quit (Read error: 110 (Connection timed out)).
04:06:45 -!- ab5tract has joined.
04:27:59 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
04:39:49 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
04:40:55 -!- puzzlet has joined.
04:57:16 <GregorR> Devise an algorithm to sort an array of numbers in place (that is, using O(1) additional space).
04:57:16 <GregorR> Bonus: How would you change this algorithm if you wanted to destroy all animal life? All life?
04:59:00 <bsmntbombdood> huh?
04:59:09 <bsmntbombdood> there's lots of in-place sorting algorithms
05:00:07 <GregorR> What, are you people impervious to humor?
05:01:05 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
05:01:13 -!- puzzlet has joined.
05:01:13 <bsmntbombdood> apparently
05:01:29 <bsmntbombdood> i dont' get it
05:02:09 <GregorR> The second line is the joke X_X
05:05:09 <bsmntbombdood> ...
05:06:23 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
05:08:57 -!- Jiminy_Cricket has quit.
05:09:10 -!- Jiminy_Cricket has joined.
05:58:53 <oklopol> GregorR: well i found bsmntbombdood much funnier than your joke :D
05:59:53 <oklopol> also, i can only think of ways to sort in O(1) space in O(n) time
06:01:11 <bsmntbombdood> clever guy
06:02:20 <oklopol> clever guy?
06:04:04 <oklopol> i've only heard something vague about one being able to get rid of the recursion stack for quicksort
06:04:25 <oklopol> which i once made an attempt at, but resulted in O(n lg lg n) afaik
06:05:07 <GregorR> The simplest answer is bubble sort, but THAT'S NOT THE BLOODY JOKE
06:05:08 <oklopol> *O(lg lg n) space actually
06:05:31 <oklopol> GregorR: that's O(n)
06:05:42 <GregorR> That's O(1) /additional/ space.
06:05:44 <oklopol> i was thinking O(n lg n) time, O(1) space
06:05:51 <oklopol> O(n) time
06:05:54 <oklopol> silly boy
06:05:57 <GregorR> That's O(n^2) time.
06:06:02 <oklopol> rrright :D
06:06:04 <oklopol> of course it is
06:06:09 <GregorR> I never said to use better than O(n^2) time though.
06:06:23 <GregorR> You people are joke murderers.
06:06:26 <GregorR> Do you know that?
06:06:28 <GregorR> JOKE MURDERERS.
06:06:29 <oklopol> :D
06:06:35 <oklopol> hey i lolled at your joke
06:06:56 <oklopol> it's just i want to know if you can do O(1) additional space in O(n lg n) time
06:07:26 -!- Slereah_ has joined.
06:10:01 <oklopol> now sorting an array of numbers in O(-1) space, that's a challenge
06:10:01 -!- Slereah_ has quit (Read error: 54 (Connection reset by peer)).
06:10:08 -!- Slereah_ has joined.
06:11:19 -!- ab5tract has quit.
06:11:39 <bsmntbombdood> you can't have o(n) time
06:11:50 <oklopol> almost forgot, the lecture on O(-2^n) space O(-n) time algorithms starts in 5 minutes
06:12:04 <oklopol> first of all i meant O(n^2), i just wasn't thinking
06:12:26 <oklopol> and you can get O(n) in some cases
06:13:14 <oklopol> if you're sorting objects in a finite set, you can lift the size of the set into the constant multiplier, and get O(n)
06:13:37 <oklopol> all these hole sorts are based on this
06:13:47 <oklopol> you know, you have a hole and you stick your finger in it
06:13:51 <oklopol> and you get O(n)
06:13:53 <oklopol> see you around ->
06:18:58 -!- oerjan has joined.
06:22:39 <GregorR> You're always sorting in a finite set.
06:22:48 <oerjan> Good moaning
06:22:53 <GregorR> Although admittedly bucket-sorting integers into 2^64 is a bit prohibitive.
06:23:02 <GregorR> Although admittedly bucket-sorting integers into 2^64 buckets is a bit prohibitive.
06:24:02 -!- Slereah_ has quit (Read error: 113 (No route to host)).
06:24:13 -!- Slereah_ has joined.
06:26:08 -!- slereah has joined.
06:26:08 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
06:27:52 -!- oklocod has joined.
06:28:02 -!- slereah has quit (Read error: 104 (Connection reset by peer)).
06:29:09 <oerjan> hm... heap sort might be without extra space and still O(n lg n) isn't it?
06:29:23 <oerjan> (well, O(1) extra)
06:29:30 <oklocod> GregorR: computers are turing complete, and 0..2^64-1 is an infinite set
06:29:57 <GregorR> By what stretch of the imagination is 0..2^64-1 an infinite set?
06:30:05 <oklocod> oerjan: that's true
06:30:15 <oklocod> GregorR: it's reeeeeally big
06:30:19 <GregorR> :P
06:30:36 <oklocod> my point is you have to choose your abstractions
06:31:15 * oerjan sometimes has envisioned that the consistency of infinite maths is an illusion, and maybe it breaks down at some _big_ number
06:31:58 <oerjan> but maybe so big that we can never hit it with any proof that fits in our universe
06:32:02 <oklocod> oerjan: how big?
06:32:09 <oklocod> oh
06:32:13 <oklocod> well that's quite big
06:32:32 <oerjan> of course it could be much smaller, we just haven't found it yet
06:32:55 <oklocod> you mean, all maths break down at that number?
06:32:59 -!- oklopol has quit (Read error: 110 (Connection timed out)).
06:33:07 <oklocod> also
06:33:19 <oerjan> well maybe not all simultaneously, but that's when things start to break
06:33:29 <oklocod> i may sound a bit more stupid than i am, as i have like a 2 minute lag
06:33:46 <oklocod> so i'm often asking questions loooong after they've already been answered
06:33:56 <oklocod> oerjan: at least an hour long lag
06:34:03 <oerjan> CTCP PING reply from oklocod: -6.-79 seconds
06:34:09 <oerjan> that looks ... serious
06:34:12 <oklocod> :D
06:34:28 <oklocod> -6*10^-79?
06:34:31 <oklocod> or what does that mean
06:35:15 <oerjan> perhaps your PING reply is broken
06:35:39 <oerjan> iirc it should respond with the number i sent, or something
06:36:03 <oerjan> -> ctcp[oklocod] PING 1223962424 679900
06:36:34 <oerjan> but if you don't, obviously the time calculations will be off
06:37:32 <oerjan> and the second - is probably irssi not being prepared to handle negative numbers in the display
06:38:43 <oerjan> and using a / and % that rounds in the wrong direction for this purpose
06:39:57 <oerjan> although it's _still_ strange that it gets numbers that low - if you respond with garbage you'd think irssi would end up with something huge?
06:40:32 <oerjan> lemme try again
06:41:07 <oerjan> um this time i got no response
06:41:45 * oerjan guesses oklocod really is lagged now
06:42:08 -!- oklopol has joined.
06:42:35 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
06:42:46 -!- oklopol has joined.
06:44:14 <oklopol> yes i was quite lagged
06:44:21 <oklopol> after which my internet faded away
06:45:35 <oklopol> and is this lecture about databases, the course is about distributed computation
06:48:10 <oerjan> ok i get PING replies again now, but still strangely small negative numbers
06:48:39 <oerjan> theory: maybe you reply with your own clocktime, which is slow?
06:49:22 <fizzie> oerjan: That sounds likely, because he replied to fungot's "PING fungot" with a clocktime.
06:49:23 <fungot> fizzie: that's usually because almost all implementations of the high-level s-expression manipulation commands ( slurpage, barfage, &c.
06:49:54 <oklopol> stop mocking me !
06:50:01 <oklopol> i do what i can
06:50:15 <fizzie> oklopol: It's not you we're mocking, it's your WORLD'S MOST FAMOUS AND BESTEST IRC client we're mocking.
06:52:40 <oerjan> also your clock setting
06:52:43 <oklopol> oh you think it's the bestest too?
06:52:51 <oklopol> that's nice :)
06:52:56 <fizzie> So I've heard. From you, mostly.
06:53:01 <oklopol> :D
06:53:08 * oerjan refuses to believe nvg's automatically updated clocks are wrong
06:53:23 <oklopol> well tbh this is a very sucky client, except for the fact it looks pretty without me having to invert the colors manually
06:53:54 -!- oklocod has quit (Read error: 113 (No route to host)).
06:55:14 * oerjan inverted his colors by downloading a theme from the irssi website
06:56:29 <oklopol> irssi is another client that has white text on black by default
06:56:37 <oerjan> yes, so i inverted it
06:56:41 <oklopol> but, it's a sucky client otherwise
06:56:42 * pikhq loves white on black
06:56:49 * pikhq also loves irssi
06:56:57 <oklopol> well, my irssi was broken, and no one knew how to fix it
06:57:08 <oerjan> well it's internal documentation sucks, is what i find
06:57:12 <oerjan> *its
06:57:13 <oklopol> couldn't get any kind of highlighting to show
06:57:25 <pikhq> irssi, a sucky client? What kind of person clames that?
06:57:39 <oklopol> pikhq: of course, no sane person would use black on white
06:57:52 <pikhq> Not on a terminal.
06:57:55 <oerjan> oklopol: GOOD THAT I AM MAD THEN
06:58:16 <oklopol> pikhq: a client that doesn't work is sucky.
06:58:24 <pikhq> oerjan: EVIL!
06:58:36 <oklopol> i couldn't get the bar that tells me which channels have some kinda highlights to show
06:58:40 <pikhq> oklopol: What doesn't work about irssi, aside from your borken irssi configuration?
06:59:08 <fizzie> I used a black-on-white terminal (with matching irssi, mutt, tin color schemes) for a year or two. Then I went back to white-on-black.
06:59:11 <pikhq> ... You couldn't get irssi's default configuration to work?
07:17:44 -!- oklopol has quit (Read error: 113 (No route to host)).
07:18:25 -!- oklocod has joined.
07:19:59 <oklocod> nice, i'm back
07:20:27 <oklocod> pikhq: one reason for not liking irssi was it simply didn't work, it didn't show the bar where you see which channels have had activity
07:20:40 <pikhq> Which is its default behavior.
07:20:52 <oklocod> okay, well i guess i should've asked you then.
07:20:55 <pikhq> Which means your irssi setup is 100% broken.
07:20:57 <oklocod> i'm pretty sure i asked here
07:21:02 <pikhq> Hrm.
07:21:26 <pikhq> Anyways.
07:21:30 <oklocod> but
07:21:38 <oklocod> the other reason
07:21:54 <oklocod> with the textual view
07:22:12 <oklocod> how does it work if you have more than ten channels open?
07:22:16 <oklocod> i usually have ~40
07:23:51 <pikhq> q = 11, w = 12, ...
07:24:03 <pikhq> Not sure about what happens when you've got more than 20, though.
07:24:13 <pikhq> Think you have to do /window number
07:24:20 <oklocod> i don't think i ever have less than 20 open
07:24:55 <oklocod> /window sounds a bit awkward, but at least there is a solution
07:24:56 <pikhq> /win number works, too...
07:24:59 <oklocod> i didn't know there was.
07:25:20 <oklocod> but, i never actually researched the subject, it's easier just to use the client that works the best without configuring.
07:25:40 <pikhq> *shrug*
07:25:56 <oklocod> i won't be satisfied with a client anyway, unless i made it myself, so i don't have much incentive to fix things
07:26:26 <pikhq> In theory, one could make irssi such that it's satisfactory to you.
07:26:33 <pikhq> It is, after all, Perl customizable.
07:26:55 <oklocod> yes, you can do that for nnscript as well
07:27:32 <oklocod> but will i actually do that when i could just start over and get a system just as good.
07:28:10 <pikhq> Fair 'nough.
07:29:02 <oklocod> also irssi has the minor defect i would have to learn to do the things command-wise i'm used to doing with the mouse
07:29:09 <oklocod> stuff like ctcp
07:29:25 <oklocod> (and by that i mean sending stuff to others)
07:30:48 <pikhq> Mouse, shmouse.
07:32:15 <oklocod> i hate mouses
07:32:18 <oklocod> but they're useful
07:32:51 <oklocod> i'm using vista after all
07:33:30 <oklocod> well, my father uses windows faster without a mouse, i'm just used to it
07:33:56 <oklocod> i would like a touchscreen you can touch in multiple places at once
07:35:24 <oklocod> and now i wanna write an irc client
07:35:30 <oklocod> perhaps i should.
07:35:35 <oklocod> scratch that
07:35:41 <oklocod> fizzie: could you add a gui to fungot?
07:35:43 <fungot> oklocod: why'd you kill it?
07:36:22 <oklocod> so i could use it as my client
07:36:26 <oklocod> it would be awesome
07:41:20 <oklocod> hmm...
07:41:53 <oklocod> perhaps i could encode text into graph representations, and make a client with graph-graphics! :o
07:42:13 <oklocod> oh my god, i could have 1. graphs 2. glyphs only i am able to read 3. pure 4. awesomeness
07:44:23 <oklocod> undirected graph of course :P
07:45:15 <oklocod> will you join my exzuuuuuuuberance?
07:45:40 <oklocod> i think i need a break :)
07:45:40 <oklocod> ->
07:52:15 <AnMaster> oklocod, you could probably make an ncurses based GUI using NCRS
07:52:16 <AnMaster> not sure
07:53:21 <oklocod> that sounds nice enough
07:53:36 <oklocod> but really i don't need the g
07:53:45 <oklocod> i just wanna irc through fungot
07:53:46 <fungot> oklocod: that is the part where the compiler is " poorly designed" if continuations are not unmodular in the same sense
07:54:08 <oklocod> except right now all i can think about it making a graph-based alphabet.
07:54:12 <AnMaster> oklocod, well since it use SOCK you still have blocking STDIO I that you could use
07:54:42 <AnMaster> you need non-blocking stdio I suspect
07:54:58 <oklocod> hey don't talk to me this is fizzie's responsibility, i'd just be a user! :)
07:55:10 <AnMaster> hah
07:55:15 <oklocod> (graaaaaaaphs)
07:55:20 <oklocod> (moooooore graaaaaaaaph)
07:55:23 <oklocod> *s
07:55:50 <AnMaster> > (moooooore graaaaaaaaphs)
07:55:50 <AnMaster> reference to undefined identifier: moooooore
07:56:36 <oklocod> it's an elongation of "more"
07:56:46 <oklocod> don't you have elongation support?
07:56:48 <AnMaster> > (more graphs)
07:56:48 <AnMaster> reference to undefined identifier: more
07:57:01 <AnMaster> oklocod, seems it doesn't
07:57:18 <oklocod> oh you were pipelining it to a non-human interpreter
07:57:21 <oklocod> that's just silly :)
07:57:25 <AnMaster> oklocod, mzscheme to be exact
07:58:08 <oklocod> i hate this course
07:58:09 <AnMaster> oklocod, it looked like scheme to me
07:58:11 <AnMaster> ;P
07:58:12 <oklocod> there's nothing to read
07:58:39 <AnMaster> ouhc
07:58:41 <AnMaster> ouch*
07:58:47 <oklocod> who wants to listen to lectures when you could just read a few hundred pages
07:58:57 <oklocod> and get tons more informatino
07:59:00 <oklocod> *information
07:59:29 <AnMaster> hah
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:21 <oklocod> well, the lecturer did mention a 1200 page book that *did not fully cover this course*
08:01:14 <oklocod> hmm
08:01:22 <oklocod> seems i gotta get back home ->
08:03:43 <AnMaster> ok, cya
08:16:31 -!- oklopol has joined.
08:17:59 <oerjan> any lisp ought to have elongation support
08:18:08 <oerjan> (caaaaaaaaaaaaar wreck)
08:18:09 <oklopol> hmm
08:18:13 <oklopol> true
08:18:44 <oklopol> well the spec only requires it four deep
08:18:57 <oklopol> rrrright?
08:19:01 <oerjan> i said "ought to"
08:19:09 <oklopol> o.
08:19:45 -!- oklocod has quit (Read error: 113 (No route to host)).
08:21:51 <oklopol> name ideas for a graph-based irc client?
08:23:02 <oklopol> orc would be quite standard for me, but that's kinda boring
08:24:04 <oklopol> graphirc would look a bit like a mistyping of graphic, perhaps, but that's a bit boring too
08:30:45 <oklopol> how many distinct graphs can you make with n nodes?
08:32:36 <oklopol> or is it np-complete to calculate that?
08:33:42 <fizzie> 2^(n over 2) undirected graphs, I think. Since that's the number of node-pairs, and each pair can either have an edge or not.
08:34:01 <oklopol> distinct up to form
08:35:56 <oerjan> Besides its practical importance, the graph isomorphism problem is a curiosity in computational complexity theory as it is one of a very small number of problems belonging to NP neither known to be solvable in polynomial time nor NP-complete.
08:36:01 <oerjan> *" "
08:36:10 <fizzie> That's not the same problem, though.
08:36:30 <fizzie> That's "determine whether two classes are isomorphic", not "how many isomorphism classes there are in graphs with n vertices".
08:36:32 <oklopol> you see i'm building something like morse code, i have one main strand, where i need to hang these small graphies on the nodes
08:36:36 <fizzie> It doesn't sound very easy, though.
08:37:13 <fizzie> s/classes/graphs/ there.
08:37:30 <oklopol> all the graphies need to be distinct (although they may be rooted, which matters of course)
08:38:39 <oklopol> i can enumerate the sets manually for long enough to get a character for every ascii chart entry, i'm just interested in theory
08:39:33 <fizzie> Heh, the R "graph.isomorphism" package: "graph.isoclass returns the isomorphism class of a graph, a non-negative integer number. Graphs (with the same number of vertices) having the same isomorphism class are isomorphic and isomorphic graphs always have the same isomorphism class. Currently it can handle only graphs with 3 or 4 vertices."
08:39:47 <fizzie> If it were trivial, I would think they'd handle graphs with over 4 vertices.
08:39:58 <oklopol> :D
08:40:35 <oklopol> a new kind of structure seems to emerge every time i add a new node
08:40:51 <oklopol> which immediately suggests there's no simple way to calculate the number of them
08:41:28 <fizzie> Actually I think we manually enumerated the isomorphism classes for small graphs during the graph theory course, when thinking about some assignment.
08:42:05 <oklopol> yes, but this is not the exact same problem, because they may be rooted; except i now realize they *are* exactly the same problem.
08:42:29 <oklopol> you just need to take the graphs, and root them from every possible angle
08:42:32 <oklopol> err
08:42:36 <oklopol> no... it's not that simple
08:42:53 <oklopol> i don't think it's the same problem
08:43:08 <fizzie> I don't think it is either.
08:44:02 <oklopol> for instance the graph abcda can be rooted in four different ways, all of which are equal, while in abcad three of the rootings are distinct
08:44:13 <oklopol> if you know eodermdrome syntax, which you probably don't
08:44:30 <oklopol> but you may be able to guess how it works
08:44:53 <oerjan> "In some sense, graph isomorphism is easy in practice except for a set of pathologically difficult graphs that seem to cause all the problems. So, unlike knot theory, there have never been any significant pairs of graphs for which isomorphism was unresolved."
08:45:36 <oerjan> (from MathWorld)
08:45:51 <oerjan> (the first quote was Wikipedia)
08:45:52 <fizzie> A000088, Number of graphs on n unlabeled nodes.
08:46:06 <fizzie> 1, 1, 2, 4, 11, 34, 156, ...
08:46:08 <oerjan> darn i was trying to get to that
08:46:11 <fizzie> There are some formulas.
08:46:39 <oklopol> 8 is unknown?
08:46:42 <oklopol> or you just cut it
08:46:46 <fizzie> I just cut it.
08:46:54 <fizzie> ..., , 1044, 12346, 274668, 12005168, 1018997864, 165091172592, 50502031367952, 29054155657235488, 31426485969804308768, 64001015704527557894928, 245935864153532932683719776, 1787577725145611700547878190848, 24637809253125004524383007491432768
08:47:03 <fizzie> Turns out it's not actually that difficult to compute.
08:47:03 <oklopol> oh, nice
08:47:12 <oerjan> yay
08:47:32 <oklopol> cool, now tell me *how* to compute it, so i can generalize it for rooted graphs...
08:47:35 <fizzie> And in fact we _did_ compute it; it was the "generative functions" class, not the graph theory one, and we manually enumerated them because we wanted to check whether our solution was correct.
08:47:49 <oklopol> i see
08:47:55 <fizzie> Or at least we wrote a generative function for it. I'm not sure if we actually figured out the coefficients.
08:48:15 <fizzie> I can check if I can find my notes. It might've been something else than just unlabeled graphs.
08:48:33 <oklopol> i don't know anything about generative functions, i've heard of generating functions, but i'm not sure what they are either.
08:49:39 <fizzie> Generating function might be the correct english term.
08:49:56 <fizzie> Yes, seems so.
08:50:18 <fizzie> It's just a function whose power series representation has coefficients that correspond to some interesting sequence.
08:50:37 <oerjan> that's sort of strange. i would have thought that since testing isomorphism is hard, that would mess up the count too...
08:51:05 <fizzie> The Generatingfunctionology book is relatively nice; even the name is funky.
08:51:11 <fizzie> We used that as a course book, I think.
08:51:24 <oklopol> you think? :P
08:52:12 <fizzie> I didn't read it much, it was sort-of background material.
08:52:32 <fizzie> Why can't I find my homework solutions?
08:54:49 <oerjan> http://www.research.att.com/~njas/sequences/A032259 has a really weird description
08:55:50 <oklopol> what don't you know what a dyslexic windmills :D
08:55:55 <oklopol> *windmill is
08:57:45 <fizzie> Okay, seems like our "number of graphs" homework problem was actually restricted to some kind of trees.
08:58:08 <oklopol> icic
08:58:24 <oerjan> oklopol: http://www.research.att.com/~njas/sequences/A126100
08:58:27 <fizzie> It was Autumn 2006, I've forgotten most of it, I just remember counting graphs at some point.
08:58:37 <oerjan> (connected though)
08:58:52 <oklopol> connected is actually what i want
08:59:11 <oklopol> you know, i'm making a writing system you know
08:59:13 <oklopol> you know
08:59:51 <oklopol> so that's perfect
08:59:59 <oerjan> yay
09:00:15 <oklopol> 4 has just 11 distinct rooted garphs 8|
09:00:34 <oklopol> oh
09:00:40 <oerjan> that one seems to use generating functions
09:00:47 <oklopol> right, i'm not counting the root; i only found 9 of the 11 sofar
09:01:32 <fizzie> Yes, it's computed from combining the generating functions of A000666 (sequence of the beast!) and A000088.
09:02:07 <fizzie> See, that's how useful they are; you just need to multiply some known functions and you get an otherwise-not-quite-as-simple-to-compute sequence out of it.
09:03:00 <oklopol> i know they are useful, and i know what they are; i just don't know anything about them :)
09:03:37 <oklopol> okay i think i have all eleven distinct rooted graphs on 4 nodes
09:04:04 <fizzie> Next find the 58 5-vertex graphs and the 407 6-vertex graphs.
09:05:20 <fizzie> And also the 72489 6-vertex graphs; then you probably have a graph for each currently defined Unicode symbol.
09:05:39 <oklopol> . is the root, standard eodermdrome syntax: .a.b.c, .ab.c, .ab.cb, .aba.c, .abac, .ab.acb, .ab.ac, .abca, .abc, .ab.cabc, .abc.
09:06:00 <oklopol> i love eodermdrome
09:06:35 <oklopol> ais523: i love it! now check those
09:07:06 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | sounds good.
09:07:12 <oklopol> basically, ".abc" are the four nodes, adjacent letters mean there's an arc
09:07:23 <oklopol> so .a.b.c is the comb
09:07:27 <oklopol> .abc is the line
09:07:28 <fizzie> Okay, I did guess the syntax mostly correctly.
09:07:33 <oklopol> .abc. is the cycle
09:07:38 <oklopol> others are the more complicated cases
09:07:59 <fizzie> The "comb" is actually called "claw".
09:08:03 <oklopol> oh
09:08:03 <fizzie> http://en.wikipedia.org/wiki/Claw_(graph_theory)
09:08:06 <oklopol> i'll remember that
09:08:08 <fizzie> K_1,3 it is.
09:09:01 <oklopol> oh, i see
09:09:17 <oklopol> well i mean the general case, just happened to have 4 nodes
09:09:40 <oklopol> .a.b.c.d..., where the last dots are an ellipsis
09:11:02 <oklopol> perhaps i could just enumerate the n^2 possibilities, and try to remove equals
09:11:26 <oklopol> could prolly get up to six vertex graphs, and as you pointed out, that's definitely enough
09:11:26 <fizzie> Of course the claw is not rooted, so .abac is also a claw.
09:11:39 <oklopol> true, true
09:11:47 * oklopol enumerates
09:12:19 <fizzie> And it's not n^2 possibilities.
09:12:38 <oklopol> hmm
09:12:39 <oklopol> 2^n
09:12:42 <oklopol> err
09:12:47 <oklopol> 2^(n over 2)
09:12:50 <oklopol> just like you said
09:12:55 <oklopol> yes yes yes i know this
09:13:09 <oklopol> it's just all these numbers are so over whelming
09:13:20 <oklopol> *overwhelming
09:13:31 <oklopol> they're (so over whelming)
09:14:06 <oklopol> o=n, w=2, h=e=l=m=i=n=g=1
09:14:10 <oklopol> hihi
09:14:16 <oklopol> *, s=1
09:28:46 -!- oerjan has quit ("leaving").
09:37:05 <oklopol> hmm
09:37:29 <oklopol> there's actually no way the brute force algorithm will be able to enumerate all the 72 thousand distinct graphs
09:37:59 <oklopol> if i brute force by simply trying out all switchings of edges that is
09:38:08 <AnMaster> oklopol, hm what about using quantum stuff for that?
09:38:08 <oklopol> because it's 68 billion possibilities :P
09:38:23 <oklopol> AnMaster: you mean like search?
09:38:42 <AnMaster> oklopol, well I don't really understand quantum computer
09:38:57 <oklopol> i could use all kinds of things, i just can't wrap my head around how to actually do any of this efficiently.
09:39:14 <oklopol> perhaps i would get some perspective if i knew even a relatively fast way the check the equality of two graphs
09:39:16 <AnMaster> but isn't it good at stuff like search huge number of combinations
09:39:18 <AnMaster> and such?
09:39:22 <oklopol> err yes
09:39:44 <oklopol> quantum basically means you're doing nondeterministic search that always guesses rigt
09:39:46 <oklopol> *right
09:39:47 <AnMaster> well maybe could be useful for checking all graphs then?
09:40:19 <oklopol> well yes, always finding the solution on the first attempt does help you find lots of things
09:40:42 <AnMaster> since it apparently is so for primes
09:40:43 <AnMaster> oklopol, as far as I understood it, not always, but "most of the time"?
09:41:27 <oklopol> yes, anyway, i doubt quantum algorithms, when translated to computers, are anything but searching with a heuristic
09:45:31 -!- Jiminy_Cricket has quit (kornbluth.freenode.net irc.freenode.net).
09:45:31 -!- AnMaster has quit (kornbluth.freenode.net irc.freenode.net).
09:46:03 -!- Jiminy_Cricket has joined.
09:46:03 -!- AnMaster has joined.
09:46:49 <oklopol> ais523: do you have an algorithm for eodermdomizing a graph?
09:47:13 <oklopol> even a bad one would suffice
09:53:26 -!- moozilla has quit (kornbluth.freenode.net irc.freenode.net).
09:58:49 <fizzie> If it's a connected graph, can't you just do a simple depth-first-search (flagging nodes as visited to avoid loops)? Then you'd just output the the node label when entering a node, and the parent when coming back.
10:02:08 <oklopol> oh right
10:02:14 <oklopol> lol yeah that's trivial
10:02:59 <oklopol> thanks, for some reason i was wanted to start with "", and start filling it node by node by looking for adjacent neighbors of its
10:03:33 <oklopol> *neighbors of the node
10:03:46 <oklopol> i doubt a string contains many of its own neighbors.
10:04:46 -!- moozilla has joined.
10:10:21 <oklopol> hehe, takes about a minute to get the 58 solutions, assuming the graph equality even works :P
10:13:39 <AnMaster> oklopol, is that a slow or fast in this context?
10:14:05 -!- moozilla has quit (Connection timed out).
10:14:14 <oklopol> AnMaster: well i'm aiming for that 72 thousand
10:14:32 <oklopol> and the runtime growth is exponential
10:14:44 <AnMaster> oklopol, so too slow in other words?
10:15:27 <oklopol> well in other *worlds* it wouldn't be too slow
10:15:34 <oklopol> words i don't know anything about
10:15:57 <AnMaster> worlds or words?
10:16:07 <AnMaster> oh wait
10:16:11 <oklopol> that's the joke
10:16:14 <AnMaster> bah
10:16:17 <AnMaster> oklopol, yeah
10:16:28 <AnMaster> but is it too slow for the intended usage?
10:17:43 <fizzie> http://cs.anu.edu.au/~bdm/nauty/ is a well-known graph automorphism/isomorphism thingie. I haven't self used it, but one of the graph theory programming project people did.
10:17:48 <AnMaster> hm isn't * for dereferencing pointers and * for multiplication ambiguous in C? At least in some contexts?
10:17:52 <AnMaster> say int *foo;
10:17:54 <AnMaster> then
10:18:03 <AnMaster> int bar = 2 * foo;
10:18:12 <AnMaster> that multiplies pointer or?
10:18:17 <fizzie> It's a multiplication.
10:18:25 <AnMaster> what about
10:18:30 <AnMaster> int **foo;
10:18:31 <fizzie> Because "2 <pointer-dereferencing>" is not legal syntax.
10:18:37 <AnMaster> int bar = 2 ** foo;
10:18:38 <AnMaster> hm
10:18:41 <AnMaster> fizzie, ah true
10:18:46 <AnMaster> but the second example?
10:18:54 <AnMaster> wait
10:18:56 <AnMaster> same for that
10:18:58 <AnMaster> oh well
10:18:59 <fizzie> That is "2 multiply (pointer-dereference foo)" because, again, it's the only way to make sense out of it.
10:19:07 <oklopol> fizzie: i can't use other people's programs
10:19:16 <AnMaster> fizzie, so it is never ambiguous?
10:19:18 <fizzie> oklopol: Oh, you had that sort of a bug.
10:19:27 <oklopol> when i'm asking for help, i'm asking for an algorithm
10:19:28 <oklopol> yes
10:19:38 <oklopol> or rather, a hint
10:19:50 <fizzie> oklopol: Well, see the referenced paper, then: http://cs.anu.edu.au/~bdm/nauty/PGI/
10:19:58 <AnMaster> oklopol, "not invented here syndrome"?
10:20:05 <oklopol> fizzie: i'll try to get mine to work first :)
10:20:15 <oklopol> AnMaster: yes, quite a bad case o that
10:20:27 <oklopol> although i never understood the name
10:20:49 <AnMaster> huh? How is it hard to understand?
10:21:02 <AnMaster> "we can't use it, because it wasn't invented here"
10:21:04 <AnMaster> basically
10:21:19 <AnMaster> oklopol, remember to avoid standard library functions too
10:21:22 <AnMaster> ;P
10:21:53 <oklopol> well i never figured what sentence it's part of
10:21:59 <oklopol> but yeah i guess it fits that sentence.
10:23:13 <AnMaster> oklopol, well "wasn't" != "not", but something similar to that sentence I guess
10:24:10 -!- moozilla has joined.
10:25:26 <oklopol> AnMaster: i consider standard library functions part of the language
10:25:34 <AnMaster> hm wikipedia says it is also abbreviated (sp?) as NIH
10:25:46 <AnMaster> I'm pretty sure I have seen a libnih recently
10:26:00 <oklopol> also, i never use standard library functions if i feel they're too complex for me to code myself.
10:26:16 <AnMaster> oklopol, err that made no sense :P
10:26:22 <AnMaster> code reuse is a good thing
10:27:17 <AnMaster> oh yes it exists: https://launchpad.net/libnih
10:27:19 <AnMaster> huh
10:30:29 <oklopol> i don't see anything good in code reuse
10:30:35 <oklopol> not anything bad either
10:32:38 <AnMaster> oklopol, if 10 different applications use the same library, and the same function from that library, to do something, then that means just one function doing that thing, and just one place to fix bugs in
10:33:13 <AnMaster> for example, what if every program implemented it's own sorting algorithm? Instead of using standard library ones
10:33:21 <AnMaster> even libc got it
10:33:23 <AnMaster> qsort()
10:33:40 <fizzie> I'm not sure you can manage to convince oklopol that there's anything inherently good about code reuse.
10:34:04 <fizzie> I mean, it's not like he's doing software development here.
10:35:37 <AnMaster> fizzie, hehe
10:37:28 <oklopol> AnMaster: if every program implemented its own sorting algorithm, i guess making all programs that need sorting would take a few seconds more to code
10:37:45 <oklopol> but, i do reuse my own code.
10:37:52 <AnMaster> oklopol, and some more places where bugs could happen
10:38:56 <oklopol> if your program has bugs, you're a bad programmer, and it's good you get some exercise rewriting trivial programs.
10:40:11 <AnMaster> oklopol, in any sufficiently complex programs, bugs do happen
10:40:18 <AnMaster> even if you are a good programmer
10:40:40 <oklopol> well, how about i never make anything that complex, and we'll just consider me a small-scale programmer
10:41:14 <AnMaster> oklopol, not even 1000 lines of code or so in any project?
10:41:21 <oklopol> that may well be the case, most programs worth writing are pretty short
10:41:39 <oklopol> well sure, but that's not "sufficiently complex"
10:41:59 <oklopol> i do some 300 lines per hour
10:42:09 <AnMaster> for example, cfunge got around 10000 lines of code according to a "smart line counter"
10:42:21 <AnMaster> and around 16000 in total
10:42:27 <AnMaster> that include blanks and comment
10:42:37 <oklopol> well cfunge has lots of stuff. i would get bored before getting bugged
10:42:46 <AnMaster> and with "smart line counter" I mean a program that can find what are actually comments and what are code.
10:43:13 <AnMaster> though amusingly it thinks one file is C++, I guess because I happen to use a C++ keyword as an identifier
10:43:38 <oklopol> ...
10:43:43 <oklopol> well that's smart :)
10:43:48 <AnMaster> what?
10:45:20 <oklopol> err, just that the name is somewhat ironic
10:46:27 <AnMaster> oklopol, well it is the same software that site ohloh use
10:49:00 <oklopol> i don't know what that is :)
10:49:27 <AnMaster> oklopol, http://en.wikipedia.org/wiki/Ohloh
10:50:01 <oklopol> oh i see
10:50:19 <AnMaster> oklopol, anyway their line-of-code counter is rather good.
10:50:34 <oklopol> what can it do?
10:50:54 <AnMaster> oklopol, stuff like: http://rafb.net/p/4KJ7Ih69.html
10:51:22 <oklopol> so basically, it can parse the language, and calculate statements
10:51:27 <oklopol> does it do c++?
10:52:04 <AnMaster> oklopol, well it does think so, it says c++ for one of the C headers. It does seem to have a slight problem keeping C and C++ apart, but that isn't easy indeed.
10:52:27 <oklopol> it isn't?
10:52:38 <oklopol> just parse as c, and if there's a problem, try c++
10:52:59 <AnMaster> oklopol, well I think it doesn't try to compile it, but does a simpler search
10:53:20 <AnMaster> also you could probably write a program valid in both C and C++, but where the code means different stuff
10:53:30 <AnMaster> even without resorting to #ifdef
10:53:48 <oklopol> in that case both are correct answers
10:55:26 <fizzie> Personally I'd just use the file suffix to decide the language; that's what gcc does, anyway.
10:55:41 <AnMaster> fizzie, agreed
10:56:12 <fizzie> Though admittedly deciding between Perl and Prolog for .pl needs some heuristics, at least.
10:56:12 <oklopol> well that's just cheating P:
10:56:14 <oklopol> :P
10:56:39 <oklopol> well for perl and prolog you can probably just calculate some kinda entropy function
10:57:10 <AnMaster> both use .pl?
10:57:27 <fizzie> Yes.
10:58:25 <fizzie> Although some people use .pro for Prolog, because of the Perl thing. Still, I think .pl is a lot more common.
11:02:51 <AnMaster> fizzie, what does scheme use?
11:02:57 <AnMaster> and what about haskell?
11:03:38 <fizzie> Haskell files are usually .hs, and Schemers use .scm.
11:03:47 <AnMaster> hm
11:03:58 <fizzie> Although I've seen other Scheme file extensions than .scm too.
11:05:12 <fizzie> I think some PLT stuff is in ".ss" files.
11:05:31 <AnMaster> ah yes sounds familiar
11:40:17 -!- Slereah_ has joined.
11:46:07 -!- slereah has joined.
11:46:07 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
12:01:21 <oklopol> xD after debugging my graph equivalence checked for ages i now realize it worked all along
12:23:11 -!- ehird has left (?).
12:23:14 -!- ehird has joined.
12:23:14 -!- ehird has left (?).
12:23:20 -!- ehird has joined.
12:23:23 <ehird> Stupid butts.
12:23:26 <ehird> dfgdfg
12:23:28 <ehird> colloquy
12:23:31 <ehird> haaaaate
12:31:21 <slereah> I am not a butt
12:52:11 <ehird> CoE: Yes you are
12:53:43 <ehird> Meanwhile.
12:53:52 <ehird> [[President Bush on Monday signed into law legislation creating a copyright czar, a cabinet-level position on par with the nation's drug czar.]]
12:53:55 <ehird> Intellectual property woo
12:56:34 <AnMaster> czar?
13:00:26 <ehird> [[In the United States the title "czar" is a slang term for certain high-level civil servants, such as the "drug czar" for the head of the Drug Enforcement Administration, "terrorism czar" for a Presidential advisor on terrorism policy, "cybersecurity czar" for the highest-ranking Department of Homeland Security official on computer security and information security policy, and "war czar" to oversee the wars in Iraq and Afghanistan.]]
13:19:54 <ehird> ais523: ping
13:20:04 <ehird> aw. away
13:37:54 <fizzie> Uh.. does the Funge-98 spec really say 'v' should go up? From catseye.tc: "subsequent lines increment the y coordinate" (so later lines get larger Y values), "delta is either (0,-1) (south), --" (so "south" means up towards earlier lines) and "the v "Go South" instruction causes the IP to travel south".
13:44:15 -!- KingOfKarlsruhe has joined.
13:49:04 <ehird> OO.o 3.0 is still a bloated, laggy, ugly-looking piece of shit!
13:49:05 <ehird> :D
13:49:31 <ehird> My god. That text rendering is just awful.
13:55:01 * AnMaster writes a "project creation request" at sf.net
13:55:12 <AnMaster> and I think either I or them will go mad by it
13:55:18 <AnMaster> either me*
13:55:20 <AnMaster> maybe
13:55:40 * AnMaster is unsure of the correct English form there
13:55:53 <AnMaster> ehird, and that is why you use LaTeX ;P
13:56:13 <ehird> OO.o is not for the same purpose as LaTeX
13:56:19 <AnMaster> agreed
13:56:23 <ehird> also, sf.net should never be used
13:56:28 <AnMaster> ehird, why not?
13:56:41 <AnMaster> ehird, can't think of any good download hosting elsewhere
13:56:44 <AnMaster> which is about all I need
13:56:52 <ehird> it's an open source site hosted on a closed source, big bucks platform, it's very slow, the interface pretty much sucks, and yeah.
13:57:02 <ehird> AnMaster: What is it for?
13:57:06 <AnMaster> ehird, efunge.
13:57:12 <AnMaster> "efunge is coded in the functional language Erlang as mentioned in the public description. While it currently doesn't differ much in the feature set from other Befunge-98 implementations, there are plans to take advantage of Erlang's unique actor-based concurrency model in the future. This would allow efunge taking advantage of the multi-core CPUs that are getting more and more common these days."
13:57:13 <ehird> I'll host it on eso-std.org
13:57:15 <AnMaster> the start of the request
13:57:16 <AnMaster> ;P
13:57:27 <AnMaster> and yeah insane
13:57:47 * AnMaster waits for ehird's comments on that
13:57:57 <ehird> I want to stab you anyway, so.
13:58:00 <ehird> But I'll host it on eso-std.org
13:58:12 <AnMaster> ehird, hm.
13:58:33 <AnMaster> ehird, anyway I think the software will be ready for a first release in maybe one week or two
13:58:51 <AnMaster> that would be 0.0.1 or so
13:58:56 <ehird> Sure. Whatever. I'll just put the tarballs or whatever up whenever you want.
13:58:58 <ehird> no big deal.
13:59:05 <AnMaster> ehird, would you do same for cfunge? ;)
13:59:14 <AnMaster> not that I need it, since cfunge use sf.net for download hosting
13:59:19 * ehird stabs AnMaster
13:59:22 <ehird> Now we don't have to find out!
13:59:29 <AnMaster> ehird, eh?
14:00:20 <AnMaster> ehird, anyway read the website for Java2K
14:00:24 <AnMaster> and that is way more extreme
14:00:28 <AnMaster> than the text I pasted
14:00:33 <ehird> Yeah, 'cept you're serious. :)
14:00:45 <AnMaster> ehird, I wasn't!
14:00:52 <AnMaster> weren't?
14:00:53 <AnMaster> err
14:00:56 <AnMaster> was not
14:01:22 <AnMaster> ehird, I really was trying not to laugh loudly when I wrote it
14:01:32 <ehird> It wasn't that funny either. :D
14:01:47 <AnMaster> agreed, but somewhat same style as Java2K
14:08:26 <AnMaster> http://kuonet.org/~anmaster/efunge/
14:08:31 <AnMaster> quick and dirty
14:11:42 <ehird> AnMaster: Please style html's background, not body.
14:11:48 <ehird> Otherwise it looks ridiculous
14:11:57 <AnMaster> ehird, oh? How?
14:12:09 <ehird> The page is white, but the actual content has your barely-differenciated background.
14:12:13 <ehird> It just looks like a bug in the page.
14:12:20 <AnMaster> html{color:#000;font-family:sans-serif;background:#fcfcfc}
14:12:20 <AnMaster> then?
14:12:24 <ehird> Yes.
14:12:33 <ehird> (I would just not style such a simple page at all, tbh)
14:12:45 <AnMaster> it render no differently here
14:12:51 <AnMaster> checked with screenshot
14:12:58 <AnMaster> and comparing images
14:13:03 <ehird> AnMaster: And?
14:13:09 <AnMaster> hm
14:13:10 <ehird> Both renderings are correct, I believe
14:13:17 <ehird> It depends on the default height/width of body.
14:13:38 <AnMaster> ehird, does it look better now?
14:13:43 <ehird> Yes.
14:13:52 <ehird> Although personally I don't quite like the colour scheme.
14:14:46 <AnMaster> well, with all respect I like a slightly off-wite colour
14:14:54 <ehird> Your choice, of course
14:14:59 <AnMaster> thanks :)
14:15:03 <ehird> I was responding to "does it look better now".
14:15:08 <AnMaster> yeah
14:15:27 <AnMaster> ehird, what browser were you using?
14:15:38 <ehird> WebKit nightly.
14:15:48 <ehird> (With the Safari chrome, obviously.)
14:15:58 <AnMaster> ah was about to ask about that
14:16:16 <ehird> I believe that Konqueror should display the same.
14:16:21 <ehird> If not, well, something changed somewhere.
14:16:27 <AnMaster> ehird, I have 3.5.x remember
14:16:42 <ehird> 4 hasn't mixed back WebKit.
14:16:45 <ehird> So that's not really relevant.
14:18:16 <ehird> http://blog.davglass.com/files/yui/bacon/ Finally! A good use of JavaScript!
14:36:52 <ehird> lost game
14:49:49 <AnMaster> "SourceForge operates SourceForge.net, Slashdot, Linux.com, IT Manager's Journal, NewsForge, and Freshmeat. SourceForge licensed SourceForge Enterprise Edition to enterprise organizations. ThinkGeek — an ecommerce site — is also under the SourceForge banner."
14:49:53 <AnMaster> hrrm
14:50:17 <AnMaster> source http://en.wikipedia.org/wiki/Sourceforge,_Inc.
14:50:29 <AnMaster> and that would explain why several of those sites suck
14:50:54 <AnMaster> at least those that I ever checked... sf.net, freshmeat slashdot and thinkgeek
14:55:16 <ehird> AnMaster: you should see their app setup
14:55:18 <ehird> it's a horrible java thing
14:55:20 <ehird> that has to be run as a VM
14:55:24 <AnMaster> ugh
14:55:26 <ehird> and they charge like $5,000 for it
14:55:47 <AnMaster> well I hope no one buys it
14:55:55 <ehird> AnMaster: Oh they do.
14:55:58 <ehird> Fun fact -
14:56:07 <ehird> You know those crop of "forges" using a look-alike software?
14:56:09 <ehird> Called GForge?
14:56:09 <AnMaster> there got to be better alternatives
14:56:14 <ehird> That was forked from when SourceForge was FOSS.
14:56:25 <AnMaster> ehird, well berlios use a fork of the old foss version iirc
14:56:27 <ehird> Before they made it proprietary crap.
14:56:29 <ehird> AnMaster: Yah
14:56:30 <AnMaster> and same for many other ones
14:56:45 <ehird> But yes, there are better options.
14:56:57 <AnMaster> ehird, we just got to wait for launchpad to go open source ;P
14:56:58 <ehird> A _decent_ option, of course, would integrate it all with git.
14:57:00 * ehird gets mauled by AnMaster
14:57:07 <ehird> Also, launchpad is awful. In my experience.
14:57:15 <AnMaster> ehird, better than sf.net at least
14:57:18 <ehird> (Plus I dislike Canonical. "Inc".)
14:57:23 <ehird> AnMaster: What isn't?
14:57:31 <ehird> Okay, okay, maybe Microsoft CodeProject.
14:57:36 <ehird> But apart from that, come on, don't mock the retard.
14:57:37 <ehird> That's not fair.
14:57:38 <AnMaster> ehird, err.. lets see... yeah
14:57:40 <ehird> :D
14:57:57 * ehird pets CodeProject
14:58:00 <AnMaster> didn't know the name of the microsoft one
14:58:01 <ehird> Noo, it's okay, you're really open source.
14:58:07 <ehird> No, no, I know people are saying you're not.
14:58:08 <ehird> It's okay.
14:58:12 <ehird> You're a good little thing.
14:58:14 <ehird> There there.
14:58:23 <AnMaster> ehird, what about google code?
14:58:46 <AnMaster> probably better
14:58:49 <AnMaster> but not very good
14:58:53 <AnMaster> just svn too iirc
14:58:56 <ehird> Google code is good, actually. It only supports SVN though, and, of course, is closed source so you're tied to google.
14:58:59 <ehird> I wouldn't put a large project on google code.
14:59:09 <AnMaster> I wouldn't put any project there
14:59:09 <ehird> (Note: cfunge is not large)
14:59:17 <AnMaster> ehird, cfunge doesn't use svn
14:59:23 <ehird> Yes.
14:59:30 <ehird> But I was just waiting for you to claim your enterpriseyness.
14:59:40 <AnMaster> which is why I actually use launchpad for mirroring branches
14:59:50 <AnMaster> since it can handle the DVCS I use
15:00:27 <AnMaster> ehird, anyway if I ever need to change from bzr, it will either be darcs or mercurial
15:00:34 <ehird> http://www.aeroxp.org/2008/10/introducing-windows-7/ <- Someone at microsoft can't count
15:00:35 <AnMaster> and I don't want a fight about that now
15:03:53 <ehird> So.
15:03:54 -!- ehird has left (?).
15:03:57 -!- ehird has joined.
15:03:58 -!- ehird has left (?).
15:04:04 -!- ehird has joined.
15:04:28 <ehird> Heh. I wonder if Agora will have a coinciding economic crisis to the real world.
15:04:39 <AnMaster> ehird, why would it?
15:04:46 <ehird> I *did* just start a CRAZY COMMUNIST BANK AUTOMATON there yesterday
15:04:54 <ehird> AnMaster: Beats me :D
15:05:07 <ehird> It would if I made my magical paypal<->agora bridge contract thing though
15:05:09 <ehird> Which nobody would use
15:05:11 <ehird> Because who is that crazy
15:05:13 <ehird> Nobody
15:05:50 <AnMaster> ehird, you?
15:05:55 <AnMaster> no offence meant
15:06:05 <ehird> Ok good point
15:06:29 <AnMaster> also you mean like paying for agora money with real money?
15:06:30 <AnMaster> to who?
15:07:06 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | chaos theoy, fractals, etc?.
15:07:18 <ehird> AnMaster: I was thinking a trade system.
15:07:21 <fizzie> That's a nice topic.
15:07:34 <AnMaster> fizzie, agreed
15:07:36 <AnMaster> ehird, hm ok
15:07:36 <ehird> Pay person money via paypal --> person is agora-required to give you the assets
15:07:47 <ehird> And vise-versa.
15:07:49 <ehird> *vice-versa.
15:08:27 <AnMaster> heh
15:09:12 <ehird> of course I'd probably hook it up into the People's Bank of Agora (the silly COMMUNIST PEOPLE BANK I made yesterday intended to overthrow the Reformed Bank of Agora)
15:09:15 <AnMaster> ehird, what currency is used?
15:09:19 <AnMaster> and what about conversion ratios
15:09:20 <ehird> so that you could get some actually useful stuff out of it
15:09:33 <ehird> (you'd send the money to the Coinkeepor)
15:09:58 <ehird> AnMaster: I'd probably set 1 People's Bank of Agora coin = 1 penny, but I should probably pick a more stable country.
15:09:58 <AnMaster> convertion*
15:10:01 <AnMaster> I think
15:10:04 <AnMaster> not sure about spelling
15:10:05 <ehird> no
15:10:08 <ehird> conversion
15:10:11 <AnMaster> ok
15:10:12 <ehird> but idiomatic is "exchange rates"
15:10:23 <AnMaster> ehird, also shouldn't it be floating, like the real ones?
15:10:34 <ehird> Yes.
15:10:37 <ehird> But am I that bored? :-)
15:10:42 <AnMaster> You know, Agora money on the international currency market
15:10:44 <AnMaster> XD
15:10:58 <ehird> AnMaster: That would roughly coincide with Agora becoming the law of an island we claim.
15:11:01 <ehird> (Probably a traffic island.)
15:11:13 <AnMaster> traffic island?
15:11:15 <ehird> http://en.wikipedia.org/wiki/Traffic_island
15:11:33 <AnMaster> haha
15:11:33 <AnMaster> ok
15:11:40 <ehird> we could all squeeze on!
15:11:53 <ehird> Anyway, the People's Bank of Agora actually does have floating exchange rates.
15:12:28 <ehird> Every currency has an exchange rate which is initially 10.
15:12:39 <ehird> "Every midnight (UTC) that the PBA has zero of a given Eligible Currency,
15:12:39 <ehird> that currency's exchange rate goes up by 2. Every Monday midnight (UTC) that the
15:12:39 <ehird> PBA has a non-zero amount of a given Eligible Currency, that currency's exchange
15:12:40 <ehird> rate goes down by 2."
15:12:41 <AnMaster> well I never understood how floating exchange rates were calculated in the real world even
15:12:47 <ehird> and
15:12:52 <ehird> when you deposit something for coins
15:13:02 <ehird> the currency that you deposited's exchange rate goes down by 1
15:13:10 <ehird> and if you withdraw some of that currency it goes up by one
15:13:11 <AnMaster> hm
15:13:26 <AnMaster> ehird, is it possible to make money from that?
15:13:36 <ehird> You mean, for the bank to make money?
15:13:41 -!- KingOfKarlsruhe has quit (Remote closed the connection).
15:13:48 <AnMaster> ehird, no, for a player
15:13:59 <AnMaster> like convert to gain more back and forth as needed
15:14:05 <ehird> Well, no.
15:14:13 <ehird> It goes down on deposit, up one withdraw.
15:14:16 <ehird> So it'd just keep batting and batting.
15:14:31 <ehird> You can, however, make a profit overnight.
15:14:34 <ehird> 2 coins
15:14:43 <AnMaster> just 2 coins?
15:14:57 <ehird> AnMaster: Well, yes...
15:14:57 <AnMaster> wouldn't that be 2x?
15:15:00 <AnMaster> or?
15:15:00 <ehird> No.
15:15:01 <ehird> Why would it be?
15:15:09 <AnMaster> "that currency's exchange rate goes up by 2"
15:15:24 <ehird> AnMaster: exchange rate for currency X = how many coins X is worth
15:15:29 <ehird> i.e., how many coins you get depositing one X
15:15:35 <ehird> or how many coins you have to spend to get one X
15:15:40 <AnMaster> yes so you can get 1:2, right?
15:15:44 <AnMaster> oh wait, no
15:15:56 <ehird> You're mixing up midnight changes with deposit/withdraw changes
15:16:00 <AnMaster> ehird, you can't do a large bulk transaction?
15:16:04 <ehird> Yes you can.
15:16:06 <ehird> anyway, 2 coins profit overnight is a LOT
15:16:11 <AnMaster> ehird, it is? hm
15:16:12 <ehird> that's 20% of your cost for one asset back
15:16:16 <ehird> since the default rate is 10
15:16:25 <ehird> the rates will bubble up to like 50 soon enough, I imagine.
15:16:32 <AnMaster> interesting
15:16:35 <AnMaster> oh well
15:16:55 <ehird> I'll paste the entire contract to a pastebin if you want, it's short and doesn't have that much agoraspeak.
15:17:32 <ehird> hi ais523
15:18:36 <ais523> hi ehird
15:18:56 <ais523> ehird: you were talking about the PBA in #esoteric? How evil!
15:19:01 <ehird> :D
15:22:34 <ais523> <oklopol> ais523: do you have an algorithm for eodermdomizing a graph? <--- not yet, but I should be able to think of one
15:23:01 <ais523> <fizzie> Though admittedly deciding between Perl and Prolog for .pl needs some heuristics, at least. <--- I thought Prolog was .pro...
15:23:14 <ehird> no
15:23:16 <ehird> prolog is .pl
15:23:19 <ehird> and it used it before perl
15:24:34 <ais523> ehird: I read through Prolog manuals before Perl was invented, and they used .pro
15:24:49 <ais523> so I suspect that both were in common usage, even before Perl arrived and muddled the situation
15:28:35 <fizzie> Prolog is also .pro, yes.
15:29:19 <fizzie> But at least SWI-Prolog uses .pl by default; the manual does say .pro is a common alternative if you want to change the default extension.
15:46:14 -!- oerjan has joined.
15:52:36 <oerjan> <fizzie> Haskell files are usually .hs, and Schemers use .scm.
15:52:46 <oerjan> also .lhs, for literate syntax
15:53:00 <ais523> TECO invented literate programming before it was invented
15:53:06 <ais523> its effective comment marker is a toggle-comment
15:53:13 <oerjan> yay
15:53:18 <ais523> so literate programs end up equivalent to illiterate programs
15:53:34 <ais523> "effective comment marker", because TECO comments are done by creating labels with implausible names
16:00:20 <oerjan> <ehird> Heh. I wonder if Agora will have a coinciding economic crisis to the real world.
16:00:55 <ehird> oerjan: mmyes?
16:01:00 <oerjan> doesn't Agora have economic crises more often than the world economy changes at all?
16:01:38 <ehird> Well... if by "crises" you mean "someone gets infinite of a currency and they make a clone contract without the flaw"...
16:01:43 <ehird> Then yes. :-P
16:02:02 <oerjan> thought so
16:06:20 <oerjan> <ais523> <oklopol> ais523: do you have an algorithm for eodermdomizing a graph? <--- not yet, but I should be able to think of one
16:06:41 <oerjan> from what i could see an optimal solution solves the hamiltonian graph problem :D
16:06:56 <oerjan> oh wait
16:06:57 <ais523> for a planar graph, a nice simple awful algorithm would be to eodermdromize each region individually recursively
16:07:09 <oerjan> i'm wrong, it's the eulerian graph problem
16:07:22 <oerjan> which is easily solvable
16:07:24 <ais523> yes, that probably leads to an efficient solution
16:07:45 <ais523> hmm... it's very easy to tell if a graph's Eulerian
16:08:01 <ais523> trying to find the shortest eodermdromizing if it isn't is potentially interesting, though
16:08:07 <oerjan> yeah
16:08:12 <ais523> presumably you try all possible pairs of odd vertices to double the paths between
16:09:32 <oerjan> hm this sounds like it should be a known problem.
16:09:43 <ais523> it is, I remember reading about it in a textbook somewhere
16:09:50 <ais523> unfortunately I can't remember what it's called, or what the solution was
16:13:05 <oerjan> ah, http://en.wikipedia.org/wiki/Route_inspection_problem
16:25:32 -!- sebbu has joined.
16:59:30 -!- Mony has joined.
17:01:58 <Mony> plop
17:02:27 <ais523> hi Mony
17:02:37 <Mony> hi ais523
17:56:10 -!- ENKI-][ has quit (Read error: 104 (Connection reset by peer)).
18:02:36 -!- ENKI-][ has joined.
18:03:13 -!- Sgeo has joined.
18:13:56 -!- pikhq has quit (Read error: 113 (No route to host)).
18:18:13 -!- kar8nga has joined.
18:40:58 -!- pikhq has joined.
18:43:44 -!- boily has joined.
18:45:20 -!- pikhq has quit (Client Quit).
18:45:57 -!- pikhq has joined.
18:47:47 -!- shorty5 has joined.
18:48:11 -!- shorty5 has quit (Client Quit).
18:48:22 -!- kar8nga has left (?).
18:54:43 -!- boily has quit ("leaving").
19:40:29 -!- Mony has quit ("Ne regrettons pas le passé, ne nous préoccupons pas de l'avenir : le sage vit dans le présent.").
19:47:26 <AnMaster> hi ais523
19:47:30 <ais523> hi AnMaster
19:47:57 -!- atrapado has joined.
19:51:44 -!- KingOfKarlsruhe has joined.
20:00:05 -!- Asztal has quit ("@").
20:20:42 <pikhq> That -Os recompile?
20:20:46 <pikhq> Holy fuck did it help.
20:20:53 <ais523> does that mean it did, or didn't?
20:21:09 <pikhq> It did.
20:21:15 <pikhq> By quite a lot.
20:21:16 <ais523> what did it help with?
20:21:37 <pikhq> Speed and memory usage.
20:22:19 <oerjan> not to mention global warming, teeth decay and belly button lint
20:22:31 <pikhq> Low cache size, relatively small amount of memory, and slow swap means that -O2 system-wide is not all that beneficial...
20:27:49 <bsmntbombdood> pikhq: real men compile by hand
20:28:05 -!- sebbu2 has joined.
20:28:11 <bsmntbombdood> when space is an issue
20:30:48 <pikhq> bsmntbombdood: Space wasn't *that* much of an issue.
20:31:26 <slereah> CODE... IN... SPAAAAAAACE!
20:32:43 <bsmntbombdood> real men only write code for their 8742s
20:32:56 <bsmntbombdood> and/or rebuilt lunar guidance computer
20:33:14 <slereah> 8742s?
20:34:15 <bsmntbombdood> an early microcontroller
20:34:23 <bsmntbombdood> <256 bytes of ram
20:35:15 <slereah> How early?
20:35:24 <slereah> 256 bytes sounds pretty early
20:35:34 -!- sebbu has quit (No route to host).
20:35:34 -!- sebbu2 has changed nick to sebbu.
20:35:36 <slereah> You could probably build that with an analytic engine
20:35:51 <bsmntbombdood> seventies
20:47:40 -!- KingOfKarlsruhe has quit (Remote closed the connection).
20:53:43 -!- slereah has quit (Read error: 104 (Connection reset by peer)).
20:53:45 -!- Slereah_ has joined.
20:57:34 -!- ehird has changed nick to tusho.
20:58:11 -!- tusho has changed nick to ehird.
21:07:06 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | http://pasteserver.net/paste/show/260.
21:09:55 <oerjan> optbot: no fair, that has expired
21:09:55 <optbot> oerjan: you might want to try this: +[>print<[,----------]+]
21:13:52 -!- ab5tract has joined.
21:14:48 -!- KingOfKarlsruhe has joined.
21:15:00 -!- ehird has quit (Excess Flood).
21:15:43 -!- ehird has joined.
21:15:51 -!- ehird has quit (Excess Flood).
21:16:27 -!- ehird has joined.
21:16:53 -!- ehird has quit (Excess Flood).
21:17:10 -!- ais523 has quit (Remote closed the connection).
21:17:19 -!- ais523 has joined.
21:17:34 -!- ehird has joined.
21:30:22 <ais523> +ul (is this still working?)S
21:30:23 <thutubot> is this still working?
21:30:25 <ais523> yay
21:31:59 <Slereah_> Heh :D
21:32:42 -!- comex has changed nick to comex--.
21:40:16 <fizzie> ^ul (yay)S
21:40:23 <fungot> yay
21:40:29 <ais523> fizzie: aha
21:40:31 <fizzie> A little bit slower...
21:40:39 <ais523> is that using the BF version of Underload?
21:40:44 <ais523> ^ul (:aSS):aSS
21:40:49 <fizzie> It's still the Brainfuck one, haven't had time to fungotize the Funge-98 implementation I did.
21:40:50 <ais523> +ul (:aSS):aSS
21:40:50 <thutubot> (:aSS):aSS
21:40:52 <fungot> ...out of time!
21:40:52 <fungot> fizzie: i use a lot more
21:42:02 <fizzie> fis@eris:~/src/bef$ echo '(:aSS):aSS' | ~/inst/rcfunge/rcfunge/funge -S underload.b98
21:42:06 <fizzie> (:aSS):aSS
21:42:08 <fizzie> all done.
21:42:31 <ais523> hmm... have you posted that program online anywhere?
21:42:36 <ais523> it would be interesting to see how it works
21:43:58 <fizzie> It works pretty much by doing exactly what the command descriptions in http://esolangs.org/wiki/Underload say. STRN fingerprint G/P/A commands are used to manipulate strings, and the stack is kept on one line of zero-terminated strings in Funge-space, growing to the negative direction.
21:44:37 <ais523> ah, ok
21:44:41 <fizzie> It is also utterly boring and readable Befunge code. :/
21:44:43 <fizzie> http://zem.fi/~fis/underload.b98.txt
21:45:12 <ais523> yep, looks simple enough
21:45:36 <fizzie> And RC/Funge-98 fails on anything that tries to concatenate two strings whose total length is 1000 characters or more, due to the use of a fixed-size buffer and strcat.
21:45:47 <ais523> also, the word "unterminated" looks great when written backwards
21:45:52 <ais523> ^reverse unterminated
21:45:56 <ais523> ^rev unterminated
21:45:56 <fungot> detanimretnu
21:46:07 <fizzie> ^rev not supported
21:46:08 <fungot> detroppus ton
21:46:11 <fizzie> That one is also nice.
21:46:14 <ais523> yes
21:46:22 <fizzie> (It's in fungot sources when it loads the fingerprints.)
21:46:22 <fungot> fizzie: " that", which was the size before?
21:46:48 <ais523> ah, concatting long strings is kind-of common in Underload...
21:47:10 <fizzie> Yes, the factorial program on esolangs.org only works for inputs up to 6.
21:47:37 <fizzie> fis@eris:~/src/bef$ echo '(:::::::):(:((^:()~((:)*~^)a~*^!!()~^))~*()~^^)~(^a(*~^)*a~*()~^!()~^)a~**^!!^S' | ~/inst/rcfunge/rcfunge/funge -S underload.b98
21:47:40 <fizzie> Segmentation fault
21:49:41 <fizzie> Fibonacci gets up to 610, the next one (which should actually be only 987 stars) segfaults.
21:51:39 <fizzie> The 99 bottles of beer song works, though. (If I strip newlines -- the program input in the standalone version stops at \n.)
21:56:54 -!- KingOfKarlsruhe has quit (Remote closed the connection).
21:57:12 -!- Asztal has joined.
21:59:49 -!- comex-- has changed nick to comex.
22:00:57 -!- Slereah_ has quit.
22:07:44 <fizzie> The Funge version isn't especially _fast_, but it's really a couple of magnitudes faster than the Brainfuck-on-Funge version. ~14 seconds to run 99 bottles of beer.
22:07:49 -!- atrapado has quit ("Abandonando").
22:10:19 <olsner> heh, something for an esoteric shootout that :P
22:10:46 <ais523> hmm... I wonder how it competes against the Thutu version?
22:13:52 <fizzie> Don't have a Thutu implementation or the Thutu Underload thing. Are they available somewhere?
22:14:24 <ais523> yes, I think so
22:14:30 <ais523> now I just have to remember where
22:14:54 <ais523> http://esoteric.voxelperfect.net/files/thutu/
22:15:18 <ais523> also, Thutu always looks like that
22:15:21 <ais523> at least when I write it
22:15:25 <ais523> probably other people would be cleaner
22:15:37 <ais523> http://esoteric.voxelperfect.net/files/thutu/src/ul.t2 is the Underload interpreter
22:15:49 <ais523> and http://esoteric.voxelperfect.net/files/thutu/impl/thutu.pl is a Thutu to Perl compiler
22:16:54 -!- oerjan has quit ("Good night").
22:17:19 <fizzie> I implemented ^ so that it just places the string on top of the stack so that its last character replaces the ^; then suitably decrements the "current instruction" value so that it starts incrementing. That means that something like (:^foobar):^ will make the program extend into negative X coordinates of the funge-space.
22:18:44 <ais523> yes, that sounds like a reasonable implementation
22:22:25 -!- ab5tract has quit.
22:22:49 <fizzie> Well, I did "perl thutu.pl < ul.t2 > ul.pl" and then "time cat 99.ul | perl ul.pl"... on this system it takes ~22 seconds to run the same 99-bottles-of-beer program.
22:22:59 <ais523> yes, I'm not surprised
22:23:01 <ais523> Thutu is very slow
22:23:09 <ais523> when long strings are involved
22:23:16 <ais523> it slows down when it's trying to store more in memory
22:23:27 <ais523> sort of like BF programs slow down when thinking about large numbers
22:23:47 <fizzie> Now I'm hoping AnMaster won't notice the useless use of cat there in the timing. :p
22:24:02 <ais523> wait, that isn't a useless use of cat
22:24:07 <ais523> it actually took slightly longer
22:24:17 <ais523> you're timing how long it takes cat to pipe its information into the Underload interp
22:24:21 <ais523> rather than the Underload interp itself
22:24:31 <ais523> time perl ul.pl < 99.ul would take slightly longer, I suspect
22:24:57 <fizzie> I think bash's "time" times the whole pipeline, actually. It's not a real command.
22:25:05 <ais523> ah, ok
22:26:25 <fizzie> Yes; bash manpage: "The format for a pipeline is: [time [-p]] [ ! ] command [ | command2 ... ] -- If the time reserved word precedes a pipeline, the elapsed as well as user and system time consumed by its execution are reported when the pipeline terminates."
22:28:43 <ais523> Thutu's kind-of hard to write in, because the entire program's in a loop and the end of the loop is the only place you can do I/O
22:28:49 <ais523> so you have to do a lot of state-saving and such
22:29:28 <ais523> it's a nice lang apart from that and the huge inefficiency, though, sometimes I use wimpmode Thutu to write things if I can't think of any other way to write them
22:37:12 <bsmntbombdood> we should have a #esoteric hardware project
22:37:28 <bsmntbombdood> were we collaboratively build a proccessor
22:37:32 <ais523> bsmntbombdood: interesting
22:37:43 <ais523> there are notes on a native-INTERCAL processor somewhere
22:37:50 <ais523> but native Befunge-93 would probably be easier
22:38:20 <bsmntbombdood> the language doesn't have to be esoteric
22:38:24 <bsmntbombdood> just the actual hardware
22:38:28 <bsmntbombdood> ie, pneumatics
22:39:30 <fizzie> I had vague notions of designing a Befunge coprocessor for the "design a MIPS CPU" course -- the project-work was graded so that you got the best grade if you added "any coprosessor you like" -- officially you were supposed to do the MIPS FPU coprosessor, for which the specs were given, but that wasn't actually a "must".
22:40:01 <fizzie> Then I just skipped the course and did some signal-processing instead. :/
22:40:18 <ais523> why would anyone want a Befunge coprocessor?
22:40:26 <ais523> actually, this is #esoteric, scratch that
22:40:40 <fizzie> Well, you could run your Befunge programs faster.
22:40:45 <fizzie> "Duh."
22:40:55 <ais523> 'twould be pretty hard to get compilers to make use of that, I'd think...
22:41:37 <fizzie> Maybe. Although it could be more like a Befunge device than a "coprocessor" in the traditional sense.
22:44:16 <ais523> now I want to invent an esolang which can only be efficiently interpreted by a high-end GPU
22:44:23 <ais523> and CPUs are ridiculously slow at
22:44:31 <ais523> but I'm not really sure how GPUs work, so I don't think I can
22:47:10 <fizzie> The GPU programming languages (like Nvidia's Cg) seem a bit esoteric already, the little that I've seen of them.
22:47:34 <ais523> actually, most programming languages are eso
22:47:47 <ais523> if they're intended for anything but running on a standard processor
22:49:30 <bsmntbombdood> the easiest way would be to force execution to be massively paralell
22:50:54 <bsmntbombdood> dunno how you would do that though
22:51:31 -!- ENKI-][ has quit (Read error: 104 (Connection reset by peer)).
22:51:51 <oklopol> 00:29… ais523: it's a nice lang apart from that and the huge inefficiency, though, sometimes I use wimpmode Thutu to write things if I can't think of any other way to write them <<< did you mean you sometimes use thutu's wimpmode when you can't think of a way to write a program in conventional languages?
22:51:56 <ais523> yes, I did
22:52:06 <oklopol> heh
22:52:12 <ais523> the only known Forte interp's written in wimpmode Thutu
22:52:18 <ais523> I couldn't think of another way to do it
22:52:26 <ais523> other than effectively compiling the Thutu in my head and writing Perl
22:52:38 <oklopol> i was first asking that as a joke, then realized it's actually more probably you *did* mean it that way
22:52:42 <oklopol> *probable
22:53:25 <oklopol> perhaps i should try thutu too, can't be that bad
22:53:34 <oklopol> but, i gotta read ->
22:54:10 <bsmntbombdood> i bet oerjan knows
22:54:20 <ais523> another way to do it?
22:54:27 <ais523> IIRC, oerjan tried and never got very far
22:54:58 <bsmntbombdood> a way to design a language were execution has to be paralell
22:55:27 <ais523> ah, ok
22:57:17 -!- ENKI-][ has joined.
22:58:01 -!- olsner has quit ("Leaving").
23:06:08 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
23:15:08 -!- olsner has joined.
←2008-10-13 2008-10-14 2008-10-15→ ↑2008 ↑all