←2008-09-28 2008-09-29 2008-09-30→ ↑2008 ↑all
00:03:20 -!- Corun has quit (Remote closed the connection).
00:03:33 -!- Corun has joined.
00:24:34 -!- tusho has quit.
01:12:55 -!- olsner has quit ("Leaving").
01:29:52 -!- Corun_ has joined.
01:30:20 -!- Corun has quit (Nick collision from services.).
01:30:28 -!- Corun_ has changed nick to Corun.
01:40:45 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
01:41:20 -!- Judofyr has joined.
01:47:59 -!- boily has joined.
02:16:24 -!- boily has quit ("leaving").
02:43:11 -!- CO2Games has joined.
02:43:21 -!- CO2Games has left (?).
03:39:14 -!- Corun has quit (Read error: 110 (Connection timed out)).
03:44:35 -!- megatron has joined.
03:48:14 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | I'd hate thinking code all the time....
03:53:40 -!- moozilla has quit (Read error: 110 (Connection timed out)).
03:53:46 -!- calamari has quit ("Leaving").
07:55:08 -!- Judofyr has quit (Remote closed the connection).
07:55:49 -!- Judofyr has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:07:58 -!- oc2k1__ has quit (Read error: 110 (Connection timed out)).
08:08:05 -!- oc2k1__ has joined.
09:16:28 -!- oerjan has joined.
09:48:14 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | I'll pastebin it so someone can explain the math behind it..
10:15:36 -!- Judofyr has quit.
11:01:46 -!- jix has joined.
11:41:26 -!- oerjan has quit ("leaving").
11:57:08 -!- Slereah has joined.
12:05:41 -!- psygnisfive has quit ("http://www.mibbit.com ajax IRC Client").
12:15:51 -!- tusho has joined.
12:21:56 -!- oklogod has joined.
12:22:03 <oklogod> o
12:22:39 <Slereah> ko
12:22:44 <oklogod> i need ais523
12:22:46 <oklogod> give him to me
12:22:56 <tusho> yes
12:25:34 <fizzie> MATLAB <3. The function "logspace(x1,x2,n)" returns n logarithmically spaced points in the range [10^x1, 10^x2]... except as a special case, if x2 is pi, the range is [10^x1, pi] and not [10^x1, 10^pi].
12:26:10 <tusho> fizzie: f
12:26:16 <fizzie> It is even implemented by special-casing: if d2 == pi || d2 == single(pi); d2 = log10(d2); end
12:27:10 <fizzie> It's full of this kind of stuff that's obviously done so that old MATLAB code doesn't break.
12:27:36 * oklogod lolled
12:27:55 <tusho> god i hate backwards compatibility
12:28:12 <fizzie> Another example: in normal expressions, && is a short-circuiting logical and, while & always evaluates both sides... except that in a "if foo & bar; ..." statement, and only there, the & operator is also short-circuiting.
12:28:22 <tusho> ...
12:28:23 <tusho> >_______<
12:29:00 <oklogod> that's just awful
12:29:02 -!- oklogod has quit ("PJIRC @ http://webirk.dy.fi").
12:29:05 -!- oklogod has joined.
12:29:14 <oklogod> webircs <3
12:31:19 <fizzie> >> if fprintf('foo!\n') | fprintf('bar!\n'); fprintf('ha ha, confused you!\n'); end
12:31:22 <fizzie> foo!
12:31:25 <fizzie> ha ha, confused you!
12:31:27 <fizzie> >> if ~~(fprintf('foo!\n') | fprintf('bar!\n')); fprintf('ha ha, confused you!\n'); end
12:31:30 <fizzie> foo!
12:31:33 <fizzie> bar!
12:31:36 <fizzie> ha ha, confused you!
12:31:48 <fizzie> The magic falls of if I add a not-not in front. (MATLAB uses ~ as unary logical not.)
12:32:02 <oklogod> xD
12:32:34 <fizzie> Also none of the help pages for &, | or "if" document the insanity. At least "help logspace" mentions the pi thing.
12:33:21 <fizzie> Although I did assume a typo when I saw it there. "LOGSPACE(X1, X2) generates a row vector of 50 logarithmically equally spaced points between decades 10^X1 and 10^X2. If X2 is pi, then the points are between 10^X1 and pi."
12:34:17 <oklogod> yeah that sounds like an examples
12:34:19 <oklogod> *example
12:34:35 <oklogod> because there's nothing else it could sensibly be
12:34:56 <oklogod> btw. that's a pretty weird function even without the pi thing
12:34:58 <oklogod> 50?!?
12:35:23 <fizzie> The three-argument form takes the number of points as the third argument.
12:35:35 <oklogod> i see
12:35:40 <fizzie> I guess it's 50 because it's a "sensible" amount of points if you're using it like plot(logspace(x1, x2), ...).
12:35:56 <oklogod> most likely, that doesn't make it any less ugly.
12:39:43 <oklogod> does matlab suck altogether?
12:39:58 <fizzie> Not completely, but it's definitely not pretty.
12:40:13 <oklogod> how do you solve a set of equations?
12:40:28 <oklogod> say X = 2Y, Y = 35Y^2 - X
12:40:33 <oklogod> umm
12:40:44 <oklogod> weird example
12:40:52 <oklogod> i'm not sure what its use was
12:42:27 <fizzie> Like this: (not your example, though)
12:42:29 <fizzie> >> A = [1 2 3;.3 .1 .2;.7 .8 .9]; y = [2;4;6];
12:42:29 <fizzie> >> x = A\y
12:42:29 <fizzie> x =
12:42:34 <fizzie> 15.8889
12:42:34 <fizzie> -4.7778
12:42:34 <fizzie> -1.4444
12:42:49 <fizzie> That solves Ax = y.
12:44:28 <oklogod> i don't get it.
12:45:18 <oklogod> feel like explaining a bit?
12:46:56 <fizzie> Well, to use another notation, the previous one solved the set of equations {1*x1 + 0.3*x2 + 0.7*x3 = 2; 2*x1 + 0.1*x2 + 0.8*x3 = 4; 3*x1 + 0.2*x2 + 0.9*x3 = 6}.
12:47:10 <fizzie> Giving x1 = 15.8889, x2 = -4.7778, x3 = -1.4444.
12:48:13 <oklogod> ah.
12:48:29 <fizzie> Linear algebra (read: matrices) is what people usually use MATLAB for; it doesn't really do symbolic manipulation at all. Or maybe a little bit, but not much. It's no Mathematica (or Maple).
12:48:40 <oklogod> i thought you were literally solving Ax = y <=> x = y/A, it looked incorrect.
12:48:53 <oklogod> i see
12:49:37 <fizzie> "A\y" is pretty close to "inv(A)*y" except that it's computed differently.
12:49:46 -!- Corun has joined.
12:50:05 <fizzie> And it does the "sensible" thing (least-squares solution) if you give it a non-square matrix A, which would correspond to over- or undetermined system of equations.
12:52:10 <fizzie> There is some symbolic equation-solving, though.
12:52:18 <fizzie> >> t = solve('x=2*y', 'y=35*y^2+x');
12:52:18 <fizzie> >> [t.x t.y]
12:52:18 <fizzie> ans =
12:52:18 <fizzie> [ 0, 0]
12:52:18 <fizzie> [ -2/35, -1/35]
12:52:39 <fizzie> If I'm reading it right, it seems to say that {x=0, y=0} and {x=-2/35, y=-1/35} are solutions for that.
12:53:37 <fizzie> You'd have to be pretty desperate to use MATLAB for symbolic algebraisms, though.
12:53:38 <oklogod> solving from strings representing the equations isn't terribly elegant
12:53:59 <fizzie> Yes, it's sort-of bolted in and not part of the core functionality.
12:55:49 <tusho> MATLAB:
12:57:25 <fizzie> A mess it is, yes.
13:10:09 -!- megatron has quit (Read error: 110 (Connection timed out)).
13:10:37 -!- Corun has quit (Read error: 104 (Connection reset by peer)).
13:12:02 -!- Corun has joined.
13:21:48 <oklogod> interesting way to express large numbers: "For example, it can be shown that there are 33, 665, 406 possible expressions over the numbers 1, 3, 7, 10, 25, 50, but only 4, 672, 540 of these expressions evaluate successfully, which is just under 14%."
13:27:32 <tusho> kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkj%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!!!!!!!!!!~~~~~~~~~~~~~~~~~~
13:27:49 <tusho> `̀̀̀̀̀̀`~~~~~~~~~~~~~~~~~~~```̀̀̀̀̀̀̀̀̀̀``̀̀̀̀̀̀̀̀̀̀̀
13:31:21 -!- Corun has quit (Read error: 104 (Connection reset by peer)).
13:36:32 -!- oklogod has quit ("PJIRC @ http://webirk.dy.fi").
13:45:14 -!- Corun has joined.
13:47:16 <tusho> `````````
13:47:16 <tusho> `
13:47:22 <tusho> `````
13:47:31 <tusho> ̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀
13:47:36 <tusho> cool
13:47:38 <tusho> it's bold
13:47:44 <tusho> ̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀bold̀̀̀̀̀̀̀̀̀̀
13:50:02 <tusho> ̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀
13:57:37 <tusho>
13:57:53 <tusho> ẇ ẇ ẇ ẇ with a dot on top
13:57:58 <tusho> ẇ ẇ ẇ ẇ, ẇ ẇ ẇ ẇ ẇ
13:57:59 <tusho> ẇ ẇ ẇ ẇ with a dot on top
13:58:00 <tusho> ẇ ẇ ẇ ẇ, ẇ ẇ ẇ ẇ ẇ
14:21:28 -!- ais523 has joined.
14:21:28 <tusho> hi ais523
14:22:10 <ais523> hi tusho
14:22:18 <tusho> ais523: wooble wants to steal your madscientistness
14:22:21 <tusho> i renominated you
14:22:23 <tusho> ##nomic ->
14:23:27 -!- oklocop has joined.
14:29:00 <AnMaster> ais523, hi
14:29:06 <ais523> hi AnMaster
14:29:40 <AnMaster> I'm overengineering another assignment, this time C++ (introductory)
14:29:51 <ais523> yay, overengineering
14:37:17 <oklocop> ais523: just as a warning, i want to show you some ideas about muture in the near future, and i may even be hoping for you to help me implement it.
14:37:31 <ais523> hmm... if I have time, I may help
14:37:36 <oklocop> muture is the declarative language i was creating, if you recall the levenshtein example
14:37:42 <ais523> it would be nice to have a concrete target to aim for that isn't too difficult
14:37:50 <ais523> unlike something like Feather which keeps running away when I think about it
14:38:05 <oklocop> :)
14:38:18 <oklocop> muture is very, very declarative.
14:38:18 <oklocop> but
14:38:44 <oklocop> as it turns out, it actually encompasses the concept of heuristic function for the searches quite neatly
14:38:48 <oklocop> which i didn't even realize before
14:39:03 <oklocop> muture's basic tool is the "make as great as possible" operator >>
14:39:22 <ais523> hmm... will it have a "make equal" operator?
14:39:28 <oklocop> yes.
14:39:28 <ais523> you can express that in terms of >>
14:39:33 <ais523> but might not want to for optimisation reasons
14:39:39 <oklocop> well
14:39:43 <tusho> optimization
14:39:44 <tusho> pfffffft
14:39:50 <oklocop> the "make equal" is optimized.
14:40:05 <oklocop> anyway, you cannot create more of these operators, they are kinda high-level
14:40:17 <oklocop> also the language is not meant to be that flexible in terms of types and such
14:40:22 <oklocop> you have lists, and numbers
14:40:30 <oklocop> and functions, of course, but no lambdas
14:40:55 <oklocop> there are very neat optimizations you can do, of which i hope to be able to show a few examples soon
14:41:19 <oklocop> the levenshtein example, if i'm not mistaken, should actually directly "compile" to the imperative version everyone knows
14:41:29 <tusho> impressive
14:42:05 <oklocop> by the use of a technique i like to call "memoization structure optimization" (invented on the fly)
14:42:18 <ais523> well, I know what memoization is
14:42:22 <ais523> but how does it apply to structures?
14:42:36 <oklocop> the idea is, you don't have to have a generic memoization
14:42:52 <oklocop> it would use a two-dimensional array for levenshtein
14:43:14 <oklocop> also usually you couldn't actually memoize something like this
14:43:45 <oklocop> because the minimum or maximum of a recursed case may not always lead to the minimum / maximum of the global case
14:44:40 <AnMaster> hm RPN... what is non-reverse polish notation?
14:44:48 <ais523> AnMaster: like RPN but backwards
14:44:52 <ais523> you put the operator at the start
14:45:01 <AnMaster> ah
14:45:06 <oklocop> yeah, except both have operators in the same order
14:45:17 <ais523> (2 + 3) * 4 in infix is 2 3 + 4 * in RPN or * + 2 3 4 in Polish
14:45:19 <ais523> oklocop: *operands
14:45:28 <oklocop> yes, that was a mental typo
14:45:50 <oklocop> buttt, i'm in quite a hurry, actually.
14:45:55 <AnMaster> you can think of RPN as a stack, but I can't create any mental reference frame for Polish...
14:46:11 <oklocop> gotta go buy some shoes, although i'm not actually going to buy shoes but food ->
14:46:22 <oklocop> AnMaster: can you for infix?
14:47:01 <AnMaster> oklocop, you mean "normal" notation? Then well it is possible to think about it, though in certain ways RPN make more sense
14:47:02 <oklocop> also polish notation is what you use when using functions in, for instance, erlang.
14:47:12 <oklocop> plus(minus(1,2),multiply(45,6))
14:47:50 <oklocop> except when you know the arities of functions, you don't need the parens
14:47:50 <AnMaster> um
14:47:56 <oklocop> see ya ->
14:48:01 <AnMaster> *blink*
14:48:05 -!- Corun_ has joined.
14:48:25 <oklocop> tusho will explain
14:48:27 <AnMaster> oklocop, You do use parens in Erlang, and I never seen mentioned that it was optional
14:48:38 * AnMaster goes to test in an erlang shell
14:48:44 <tusho> oklocop: i am not going to explain things to AnMaster
14:48:45 <oklocop> ...
14:48:48 <tusho> i value my sanity, yo
14:49:09 <oklocop> i meant, you don't need, coinceptually
14:49:17 <oklocop> *typofix
14:49:28 <ais523> I think oklocop means that functions are normally written in prefix notation, in all languages
14:49:32 <tusho> yes
14:49:32 <tusho> but
14:49:35 <tusho> in prefix notation
14:49:39 <tusho> if you know the arities of all functions
14:49:41 <tusho> you can omit parens
14:49:42 <ais523> and if the arity is known the parens are redundant because you can deduce them from the arities
14:49:46 <tusho> + * 5 2 / 1 0
14:49:55 <tusho> closest to that is lisp
14:49:56 <AnMaster> tusho, yes except most languages doesn't allow omitting them
14:49:59 <tusho> (+ (* 5 2) (/ 1 0))
14:50:06 <tusho> AnMaster: dfhsu akaesthilru2314892u18902412349u89234
14:50:08 <AnMaster> I think perl does
14:50:10 <tusho> >CONCEPTUALLY<
14:50:14 <AnMaster> tusho, yes agreed
14:50:16 <oklocop> perl doesn't.
14:50:19 <tusho> oklocop said conceptually, then i did.
14:50:20 <AnMaster> hm
14:50:26 <tusho> third time's the charm?
14:50:39 <oklocop> AnMaster: it doesn't, except on top-level.
14:50:45 <oklocop> but, i need to go :P
14:50:46 <oklocop> ->
14:50:48 <AnMaster> oklocop, cya
14:51:08 <AnMaster> but yes then the notation makes sense
14:52:07 <ais523> tusho: actually I think Perl functions work without parens polish-style if you tell it the arities via prototypes
14:52:15 <ais523> Perl prototypes change the syntax of the language like that
14:52:22 <tusho> ais523: oklocop said perl
14:52:23 <tusho> not me
14:52:27 <ais523> ah, ok
14:52:33 <ais523> actually, AnMaster said it first
14:52:33 <tusho> but can you do this with prototypes and perl:
14:52:40 <tusho> plus times 5, 2 divide 1, 0
14:52:47 <tusho> meaning
14:52:52 <tusho> plus(times(5,2), divide(1,0))
14:52:58 <tusho> if not... then not really parenless polish notation
14:53:04 <ais523> it would be plus times 5, 2, divide 1, 0
14:53:07 <ais523> and I think it does work
14:53:09 <tusho> ah
14:53:10 <tusho> neat
14:53:11 <ais523> apart from the division by 0
14:53:17 <tusho> well duh
14:53:18 <tusho> :-P
14:53:36 <tusho> btw http://trixter.wordpress.com/2008/09/28/the-diskette-that-blew-trixters-mind/
14:55:47 <ais523> tusho: nope, it doesn't work
14:55:50 <ais523> just checked
14:55:52 <ais523> pity, really
14:55:53 <tusho> awwww
14:55:58 <tusho> that would make for some great eso code
14:56:06 <tusho> make tons of little functions out of prototypes
14:56:14 <tusho> then write the whole program as one parenless expression full of calls to them
14:56:23 <tusho> hmm
14:56:28 <tusho> you could possibly even get it readable
14:56:29 <tusho> like
14:56:30 <ais523> it ought to work
14:56:36 <ais523> just the Perl parser isn't good enough to figure it out, I think
14:56:40 <tusho> if
14:56:42 <tusho> equals
14:56:45 <tusho> plus 2, 2
14:56:47 <tusho> 3
14:56:51 <tusho> print "yay"
14:56:52 <tusho> err
14:56:53 <tusho> wait
14:56:55 * tusho pastebins
14:57:29 <tusho> ais523: http://rafb.net/p/6vYIPP46.html
15:07:09 -!- Corun has quit (Read error: 110 (Connection timed out)).
15:07:16 -!- Corun_ has changed nick to Corun.
15:11:59 <tusho> a
15:14:11 -!- Slereah has quit (Read error: 110 (Connection timed out)).
15:14:16 -!- Slereah has joined.
15:17:46 <fizzie> I don't think Perl's parser really keeps track of the exact arity when parsing code, just some overall "style" of the function. If I do "sub plus ($$) {...}" and try to call it like "print plus 1, 2, "\n";" it just complains about too many arguments to plus, since it has parsed it to be print plus(1, 2, "\n"); The prototype just helps it recognize "plus" as a function.
15:25:51 <tusho> someone
15:25:52 <tusho> PLEASE
15:25:53 <tusho> write
15:25:54 <tusho> a name generator
15:25:56 <tusho> for software
15:27:41 <ais523> fizzie: yes, that's what I think too
15:30:29 <tusho> ais523: quick come up with a name
15:30:36 <ais523> for what?
15:31:09 <tusho> a name
15:31:20 <ais523> Acciacatura
15:31:27 <tusho> too long
15:31:37 * tusho notes that he just morphed ais523 into a program
15:31:38 <tusho> oh dear
15:38:10 <tusho> ais523(#short);
15:38:11 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
15:38:17 -!- Slereah has joined.
15:43:09 <AnMaster> tusho, hm if you tell me for what I could _try_ to help
15:43:28 <tusho> AnMaster: telling you what it is could produce a name that makes sense
15:43:31 <tusho> that will not do :D
15:43:41 <AnMaster> Innovation Software Inc.
15:43:42 <AnMaster> then
15:44:26 <tusho> aaah :P
15:44:35 <tusho> it's a piece of software
15:44:37 <tusho> i will tell you that
15:44:40 <AnMaster> ah right hm
15:44:45 <AnMaster> YourSQL?
15:44:57 <AnMaster> or would that be YouSQL?
15:45:03 <AnMaster> ah no, Your
15:45:20 <fizzie> CheeSQL.
15:45:48 <tusho> who said it was sql :P
15:45:50 <fizzie> It's like cheese, except databases.
15:45:55 <AnMaster> fizzie, ah
15:46:04 <AnMaster> tusho, well you didn't say that it wasn't
15:46:05 <AnMaster> so...
15:46:14 <tusho> AnMaster: i'm kind of looking for something meaningless :-P
15:46:19 * tusho types random letters
15:46:24 <tusho> Aretea
15:46:32 <AnMaster> AAsTnRm
15:46:36 <tusho> ooh I like aretea
15:46:57 <AnMaster> tusho, AreteaSQL?
15:47:00 <AnMaster> no doesn't sound good ;)
15:47:04 <tusho> AnMaster: IT'S NOT SQL :-P
15:47:06 <AnMaster> hah ok
15:47:13 <AnMaster> tusho, so what is it?
15:47:20 <tusho> AnMaster: MAGICAL
15:47:30 <AnMaster> ah....
15:47:37 -!- sebbu has joined.
15:47:43 <tusho> aka: you'll see, probably, maybe
15:47:45 <AnMaster> tusho, what about.... Rouge?
15:47:51 <AnMaster> that got magic ;P
15:47:53 <tusho> i think i've picked aretea
15:47:57 <AnMaster> ok
15:48:04 <tusho> it's easy to type and such
15:48:14 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | probably ``releases the stream" would be better because java does not distinguish much between the reference and the object it refers to.
15:48:17 <AnMaster> tusho, does it exist?
15:48:19 <AnMaster> check with google
15:48:27 <tusho> I did.
15:48:35 <tusho> It's a restaraunt and a World of Warcraft player.
15:48:45 <AnMaster> tusho, ah probably no issue then
15:49:05 <tusho> Actually, this program controls a World of Warcraft bot player that owns a restaraunt in-game
15:49:07 <tusho> :-|
15:49:08 <AnMaster> tusho, or you could call it: ThisIsNotSQL
15:49:17 <AnMaster> ;)
15:50:27 <ais523> ARAWAD: Recursive Acronym With A Difference
15:50:43 <tusho> That's a ripoff of PHP: Hypertext Preprocessor
15:51:00 <ais523> yes
15:51:05 <AnMaster> UNG = Unix is Not Gnu?
15:51:16 <AnMaster> or even UNR, Unis is Not RMS
15:51:21 <tusho> AnMaster: That needs Gnu = GNU's Not UNG
15:51:32 <AnMaster> tusho, heh
15:51:43 <AnMaster> Unix*
15:51:45 <tusho> GNU's Not GNU's Not GNU's Not GNU's Not GNU's Not GNU's Not GNU's Not GNU's Not GNU's Not ... Unix is Not GNU's NOT ...
15:51:52 * tusho 's brain explodes
15:52:05 <AnMaster> tusho, well I'm sure you could create that list in Haskell ;P
15:52:20 <tusho> yes
15:52:21 * AnMaster still thinks infinite lists in a programming language seem rather weird
15:52:35 <tusho> ung = ["unix", "is", "not", gnu]
15:52:40 <tusho> gnu = ["gnu's", "not", ung]
15:52:57 <AnMaster> well I guess it uses references
15:53:04 <ais523> nope
15:53:07 <tusho> AnMaster: you're thinking way to low level there
15:53:07 <ais523> just lazy evaluation
15:53:08 <tusho> it uses thunks
15:53:14 <AnMaster> ais523, ah, ok
15:53:16 <tusho> x is actually a 0-argument function returning x
15:53:20 <tusho> that's how it does the laziness
15:53:22 <tusho> it's ... complex
15:53:24 <tusho> also
15:53:27 <tusho> my example is invalid
15:53:28 <ais523> it only bothers to calculate a particular element of the list when you try to find out its value
15:53:29 <tusho> needs to be
15:53:35 <tusho> ["unix", "is", "not"] ++ gnu
15:53:37 <tusho> otherwise illtyped
15:53:59 <tusho> Prelude> let ung = ["unix", "is", "not"] ++ gnu; gnu = ["gnu's", "not"] ++ ung
15:53:59 <tusho> Prelude> gnu
15:54:00 <tusho> ["gnu's","not","unix","is","not","gnu's","not","unix","is","not","gnu's","not","unix","is","not","gnu's","not","unix","is","not","gnu's","not","unix","is","not","gnu's","not","unix","is","n(...)
15:54:31 <AnMaster> hm Prelude?
15:54:32 <tusho> hmm
15:54:32 <tusho> should be
15:54:38 <ais523> AnMaster: which library is loaded
15:54:39 <tusho> gnu ++ ["'s", "not"] ++ ung
15:54:40 <tusho> ofc
15:54:41 <ais523> Prelude's the standard one
15:54:45 <AnMaster> ah
15:54:50 <ais523> sort of like stdio and stdlib, etc, in C
15:55:18 <AnMaster> tusho, it is not an infinite string though
15:55:25 <AnMaster> but I guess strings aren't lists in haskell
15:55:29 <tusho> yes they are...
15:55:33 <AnMaster> ah ok
15:55:33 <tusho> type String = [Char]
15:55:41 <tusho> Prelude> let ung' = ung' ++ ["is", "not"] ++ gnu'; gnu' = gnu' ++ ["is", "not"] ++ ung'
15:55:42 <tusho> Prelude> gnu'
15:55:42 <tusho> *** Exception: stack overflow
15:55:49 <AnMaster> ah
15:55:59 <AnMaster> so it tries to evaluate that all at once
15:56:03 <tusho> of course, it has to
15:56:10 <tusho> to pretty-print it, it needs to get the first element
15:56:20 <tusho> and the first element is the first element by one level of indirection...
15:57:05 <AnMaster> hm true
15:57:16 <AnMaster> no function to flattern a list?
15:57:23 <AnMaster> or to be more esact
15:57:25 <AnMaster> exact*
15:57:28 <ais523> it's easy enough to write
15:57:33 <ais523> it's probably foldl (++)
15:57:34 <AnMaster> no function to lazily flattern a list
15:57:36 <Deewiant> concat
15:57:42 <ais523> which would be a lazy flatten
15:57:46 <AnMaster> ah
15:57:51 <ais523> foldl's the one that works lazily IIRC
15:57:55 <Deewiant> no, foldr
15:57:57 <AnMaster> then you could use that to generate a valid such string
15:57:59 <AnMaster> I think
15:57:59 <ais523> ah, ok
15:58:02 <ais523> foldr (++)
15:58:05 <Deewiant> http://www.foldl.com/
15:58:06 <Deewiant> http://www.foldr.com/
15:58:19 <ais523> Deewiant: are those about Haskell?
15:58:27 <AnMaster> Deewiant, wonder who registered those
15:58:32 <Deewiant> they're exactly about foldl and foldr :-P
15:58:34 <tusho> AnMaster: same perosn
15:58:35 <tusho> *person
15:58:42 <AnMaster> well obviously
15:58:43 <tusho> also
15:58:52 <tusho> i think they'd be good candidates for an art gallery
15:59:00 <Deewiant> oliver steele, according to whois
15:59:07 <tusho> a wall with "foldl" and "foldr" in text, below them a screen with the respective site on a touchscreen
15:59:12 <tusho> (with big text for clickery, ofc)
15:59:20 <tusho> it is a postmodern statemenet about...
15:59:22 <tusho> something
15:59:23 -!- Slereah has quit (Read error: 113 (No route to host)).
15:59:31 <AnMaster> tusho, about functional programming?
15:59:37 <tusho> no
15:59:39 <tusho> that is far too surface
15:59:43 <tusho> it's about, um, the human status
15:59:44 <tusho> yes
15:59:58 <AnMaster> tusho, shouldn't the word "lists" be there somewhere
16:00:16 <tusho> what, on foldl.com and foldr.com?
16:00:19 <ais523> OK, why did someone bother two register /two/ domain names for that?
16:00:24 <tusho> ais523: why not
16:00:27 <AnMaster> tusho, in the "about" bit
16:00:28 <tusho> registering domains is EASY
16:00:33 <tusho> AnMaster: no
16:00:37 <tusho> you just can't appreciate good art...
16:00:39 <tusho> :-|
16:00:41 <tusho> :P
16:00:46 <Deewiant> ais523: fold.com was probably taken?
16:01:02 <ais523> tusho: but expensive
16:01:05 <AnMaster> tusho, certainly I can, but that depends on what sort of art you prefer. I even like some modern art, but I prefer classical stuff
16:01:05 <tusho> ais523: what
16:01:08 <tusho> EXPENSIVE? domains?
16:01:21 -!- sebbu2 has quit (Read error: 110 (Connection timed out)).
16:01:22 <tusho> yes, £4 a year is very expensive
16:02:39 <tusho> AnMaster: i was just taking the piss, but i guess that's a bit silly of me since I like this: http://www.qotile.net/blog/wp/?p=564 (Note: Websites background is designed to destroy your eyes with its crazy animation.)
16:03:13 <AnMaster> (Note: I got gif animation repeat turned off)
16:03:50 <tusho> aww
16:03:52 <tusho> that's a shame
16:03:54 <tusho> it's great
16:03:57 <tusho> after a while it just stops
16:04:01 <tusho> and then starts up again for no reason
16:05:13 -!- Slereah has joined.
16:05:18 <Slereah> Gentlemen.
16:08:00 <AnMaster> http://esolangs.org/wiki/Malbolge_Unshackled <-- hm, ais523.... gcc-malbolge but for that turing complete version?
16:08:11 <ais523> AnMaster: aargh
16:08:35 <Slereah> Soon, we'll get our programming project
16:08:40 <Slereah> And I have an unclean urge
16:08:54 <Slereah> I want to hand in, with the C version, a Scheme version and a Python version.
16:08:58 <Slereah> Just for lulz
16:09:13 <Slereah> Or possibly some more efficient functional language
16:09:19 <Slereah> Like Ocaml or something
16:09:35 <ais523> hmm... anyone know a good guide on Ocaml?
16:09:43 <ais523> I think my university project for this year's Ocaml-based
16:09:45 <Slereah> I hope one exists!
16:09:58 <tusho> malbolge IS tc
16:10:03 <Slereah> Although really, our programming projects are usually really low level
16:10:08 <AnMaster> tusho, ah yes by IO
16:10:09 <ais523> tusho: original Malbolge definitely isn't
16:10:16 <Slereah> Which is why they teach us so little of it
16:10:16 <ais523> because it has limited storage, thus is a finite-state machine
16:10:19 <ais523> Malbolge-T may be
16:10:22 <tusho> ais523: that's not part of the spec
16:10:26 <ais523> tusho: yes it is
16:10:28 <tusho> oh
16:10:33 <ais523> memory's listed to 59049 10-trit words
16:10:34 <tusho> well, okay
16:10:40 <tusho> well
16:10:47 <tusho> malbolge is 'turing complete beyond memory constrains'
16:10:53 <tusho> aka...all real-life systems ever
16:11:21 <Slereah> Is Jesus TC?
16:11:27 <ais523> except that it's arguable whether 59049 words is enough to do anything useful
16:11:43 <ais523> in Malbolge, that is
16:11:51 <ais523> it's easily enough for many other more practical languages
16:12:04 <ais523> AnMaster: also I have basically no idea how to compile into Malbolge
16:12:59 <AnMaster> ais523, nor have I really
16:13:03 <AnMaster> but should be possible
16:14:18 -!- Slereah has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | probably ``releases the stream" would be better because java does not distinguish much between the reference and the object it refers to - Try to imagine all life as you know it stopping instantaneously and every molecule in your body exploding at the speed of light..
16:15:15 <tusho> optbot!
16:15:15 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | !lostkng look.
16:15:21 <tusho> we have no manual topics in HERE mister
16:15:22 <tusho> >:(
16:15:23 <tusho> :-P
16:15:47 <ais523> there was a game of Lost Kingdoms going on in #esoteric?
16:16:05 <ais523> anyway, I never got past the bit with the animal that eats you and which seems impossible to attack
16:16:23 <ais523> nor did I ever bother to finish reverse-engineering Lost Kingdoms back to the original source so I could see how to solve it
16:17:45 <tusho> ais523: ask the author?
16:18:25 <ais523> nah, boring
16:18:37 <AnMaster> ais523, reverse engineer heh
16:18:50 <ais523> it's a common phrase in English
16:18:55 <AnMaster> brainfuck should be pretty hard to reverse engineer...
16:18:57 <AnMaster> that is what I meant
16:18:58 <ais523> yes
16:19:01 <AnMaster> at least compiled ones
16:19:02 <ais523> but I have the source to BFBASIC
16:19:19 <ais523> so by analysing BFBASIC to see how it generates code I may have a shot at decompiling Lost Kingdoms
16:19:24 <AnMaster> yeah...
16:19:33 <ais523> probably I can't be bothered, though
16:19:37 <AnMaster> ais523, except they ran some optimiser over it iirc
16:20:03 <AnMaster> that change +-- into - and such
16:20:16 <ais523> oh, probably
16:20:20 <ais523> but that's less important
16:20:24 <ais523> decoding the program flow helps
16:20:29 <ais523> and extracting strings would particularly help
16:20:35 <ais523> for a lost-kingdoms-like program
16:24:10 <AnMaster> ais523, does gcc-bf optimise away ++-- and such?
16:24:19 <ais523> it will do in a postprocessing pass
16:24:24 <ais523> but I don't think that can be generated in the first place
16:24:37 <ais523> it does optimise away ><, which can be
16:32:23 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
16:37:07 <AnMaster> ais523, how do you handle -c option?
16:37:13 <AnMaster> that is object files not executables
16:37:49 <AnMaster> some custom format?
16:37:54 <ais523> it outputs in asm
16:37:58 <ais523> with a .o extension
16:38:11 <AnMaster> ais523, what asm format? ?
16:38:16 <ais523> my own
16:38:21 <AnMaster> interesting
16:38:26 <ais523> but most of gcc-bf's processing is done in asm
16:38:35 <ais523> which it converts to brainfuck right at the end
16:40:10 -!- tusho has quit (Remote closed the connection).
16:40:23 <ais523> tusho was halfway through a sentence in query and left...
16:40:26 <ais523> I wonder what the problem is
16:40:31 -!- tusho has joined.
16:43:58 -!- kar8nga has joined.
16:44:27 <AnMaster> ais523, network issues I guess
16:52:20 <tusho> who
16:52:21 <tusho> me?
16:53:56 <ais523> yes
16:54:43 <tusho> no
16:57:35 -!- Mony has joined.
16:58:27 <Mony> plop
17:02:42 <ais523> hi Mony
17:02:47 <Mony> hi ais523
17:26:22 -!- Corun has quit (Read error: 110 (Connection timed out)).
17:53:58 -!- Judofyr has joined.
17:54:50 -!- puzzlet has quit (Remote closed the connection).
17:54:58 -!- puzzlet has joined.
17:58:33 <AnMaster> C++ backtraces are very hard to read IMO
17:58:36 <AnMaster> just consider:
17:58:37 <AnMaster> std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)
17:58:53 <AnMaster> and there are worse ones
17:58:59 <ais523> well, that gives all the information you need
17:59:13 <AnMaster> ais523, yes but it takes like 10 seconds to find the function name
17:59:17 <AnMaster> in that
17:59:33 <ais523> that is the function name
18:00:11 <AnMaster> std::basic_string<char, std::char_traits<char>, std::allocator<char> >& <-- isn't that same as std::string&
18:00:20 <AnMaster> would be easier to read
18:01:02 <tusho> AnMaster: nontrivial to get that
18:01:07 <tusho> impossible, probably
18:01:20 <AnMaster> tusho, depends, it could store that in the debug info
18:01:37 <AnMaster> since I already used -ggdb3 I obviously didn't bind binary size ;P
18:13:49 -!- oerjan has joined.
18:15:35 <GregorR> Why Marsh is the greatest grocery store: Because it's the only place where you can buy Food Club brand bleach.
18:15:47 <ais523> hi oerjan
18:16:35 <oerjan> and a good evening to you, Mr. ais523
18:22:31 -!- kar8nga has quit (Connection reset by peer).
18:22:53 -!- kar8nga has joined.
18:36:20 -!- oc2k1__ has quit (Read error: 110 (Connection timed out)).
18:39:41 -!- olsner has joined.
18:42:26 -!- Corun has joined.
18:43:50 -!- oc2k1__ has joined.
18:44:51 -!- Slereah has joined.
19:04:29 -!- psygnisfive has joined.
19:11:52 -!- KingOfKarlsruhe has joined.
19:12:30 -!- psygnisfive has quit ("http://www.mibbit.com ajax IRC Client").
19:12:50 <tusho> "I'm currently looking for (v)servers running Debian with root access via ssh, located in Germany. If possible, the server should be free."
19:13:01 <tusho> a vps/dedi, with root access, in germany... for free
19:13:03 <tusho> hahahahahah :D
19:14:29 <oerjan> free as in speech, maybe
19:14:37 <oerjan> as long as you don't deny the holocaust
19:14:52 <tusho> nearlyfreespeech.net allows stuff like holocaust denialists i believe
19:15:05 <oerjan> well then it is probably not in germany
19:15:12 <tusho> it is not :P
19:23:14 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:23:21 -!- KingOfKarlsruhe has joined.
19:26:55 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:28:25 -!- sebbu2 has joined.
19:47:55 -!- sebbu has quit (Read error: 110 (Connection timed out)).
19:47:55 -!- sebbu2 has changed nick to sebbu.
19:51:24 <tusho> http://www-01.ibm.com/support/docview.wss?rs=899&uid=swg21086803
19:51:27 <tusho> Notes error: 'Document has too many paragraphs - it must be split into several documents'
19:58:19 <oerjan> is this that OOXML standard you were discussing earlier? >:)
19:58:35 <oerjan> or perhaps it's that European Constitution thing...
19:58:56 <oerjan> (or whatever it's called now)
20:00:39 <oerjan> oh it's not an example.
20:05:08 -!- oc2k1 has joined.
20:05:36 -!- oc2k1__ has quit (Read error: 110 (Connection timed out)).
20:14:35 -!- Mony has left (?).
20:18:37 * oerjan wonders who the heck Viramakarita is.
20:19:09 <oerjan> all the links are in french, and seem to be that quote or similar
20:19:58 <oerjan> Slereah: have you heard about him/her?
20:20:57 <tusho> /it
20:21:10 <oerjan> hm could be
20:21:26 <tusho> i just lost the game
20:21:27 <tusho> and so did you
20:21:29 <oerjan> replacing k by c gave one link, in english
20:21:44 <oerjan> i avoid losing the game by rejecting the rules
20:22:05 <tusho> impossible
20:22:10 <tusho> Rule 1. You are playing the game
20:22:14 <tusho> no getting out of that
20:22:16 * ais523 agrees with Oerjan
20:22:24 <ais523> the game deludes its players into thinking everyone is playing
20:22:30 <ais523> those of us who aren't playing know better
20:22:32 <tusho> ais523: look, the game doesn't actually make sense
20:22:35 <tusho> and can't make people play
20:22:37 <tusho> everyone knows that
20:22:39 <tusho> it's not delusion
20:22:42 <tusho> it's called "but it's funnier this way"
20:23:08 <oerjan> but rejecting the rules can be funny if you do it high-brow enough
20:23:22 <oerjan> say, write a philosophic tome on the concept
20:23:30 <tusho> oerjan: yes, but you didn't
20:24:52 <oerjan> ah, vikramacarita gives more hits
20:26:21 <oerjan> tusho: i alluded to it, which is obviously funnier than reading a 600 page tome
20:28:35 <GregorR> If rule 1 of the game is that you're playing the game, that's a null rule: If you're not playing the game, you're not following its rules, so the fact that one of its rules is that you're playing the game is irrelevant. If you are following the rules, you're playing the game, so the fact that a rule says you're playing the game is redundant.
20:28:49 <tusho> GregorR: i believe you missed the part where I said "everybody knows that"
20:29:15 <GregorR> I like to respond to individual lines out of context :P
20:34:43 <oerjan> ah finally: http://en.wikipedia.org/wiki/Vikram%C4%81ditya
21:04:21 -!- Corun has quit (Read error: 110 (Connection timed out)).
21:17:58 -!- Corun has joined.
21:28:40 * tusho ponders
21:28:56 <tusho> taking up aretea/ is a bit annoying, I could do _aretea/ but that's just security via obscurity
21:28:58 <tusho> f
21:30:24 -!- jix has quit ("CommandQ").
21:35:21 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
21:48:14 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | In which case you could just do @load quote again!.
21:51:56 -!- Corun has quit (Remote closed the connection).
21:52:10 -!- Corun has joined.
21:56:18 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
22:01:16 <oerjan> @load quote
22:04:43 -!- moozilla has joined.
22:40:18 -!- Corun_ has joined.
22:41:06 -!- Corun_ has quit (Client Quit).
22:41:24 -!- Corun_ has joined.
22:42:03 -!- Corun has quit (Read error: 104 (Connection reset by peer)).
22:43:45 -!- Corun_ has changed nick to Corun.
22:52:49 <tusho> hmm
22:52:52 <tusho> it feels a lot later than it is
22:54:02 <oerjan> hm you're in Europe, not in one of those places that just changed out of DST
22:54:05 <oerjan> iirc
22:54:20 <oerjan> (i think there are some aren't there)
22:56:30 <tusho> its 22:56
22:56:35 <tusho> it feels like 23:30
22:56:54 <oerjan> it's 23:56 here if that helps :D
22:57:14 <ais523> 22:57 by my clock
22:59:32 <oerjan> ooh, now it's 23:59
23:00:12 <oerjan> ayeeh! it all zeroed out!
23:01:52 <tusho> oerjan: Happy tomorrow.
23:02:24 <oerjan> thank you (:|>*
23:25:56 -!- Corun has quit (Read error: 60 (Operation timed out)).
23:27:28 <tusho> Meanwhile http://www.sshkeygen.com/ is still up
23:28:01 <ais523> oh dear
23:28:06 <ais523> anyone uses it?
23:28:23 <tusho> i hope not
23:32:31 -!- ais523 has quit ("(1)DOCOMEFROM".2~.2"~#1WHILE:1<-"'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1"").
23:42:27 -!- oerjan has quit ("Good night").
23:53:40 -!- Corun has joined.
←2008-09-28 2008-09-29 2008-09-30→ ↑2008 ↑all