00:11:25 <duerig> Jix, last night you said that you refused to use C++ anymore. What was troubling you?
00:14:16 <jix> something didn't work as i expected and i was unable to find the bug
00:15:15 <jix> some people say they hate dynamic languages because they have too less compile time checks.. i hate c++ because the runtime error msgs doesn't help
00:15:15 <duerig> Want me to take a look? I'm enough of a C++ weenie that I can usually spot even obscure bugs.
00:15:50 <duerig> That is true. If you want decent error reporting in C++, you have to roll your own. :(
00:16:03 <jix> it's something with obscure memory management i just don't want to care about MM...
00:16:09 <jix> that's why i'm using lisp now
00:16:29 <jix> lisp is more intuitive for me
00:17:40 <duerig> I don't suppose you'd let me look at the code that was troubling you?
00:18:08 <jix> i'd have you to send 3 c++ files that probably wont compile...
00:18:27 <jix> i have no idea where the bug is and my fixing attempts resulted in even more bugs
00:18:49 <jix> you'd probably have to rewrite the whole code too fix it
00:19:04 <duerig> I'd still be curious to see. If you want, you can just copy and paste them into the following form: http://www.xmission.com/~tyrecius/mail.html
00:19:06 <jix> and i've done more in lisp know that i did in c++ for that project
00:19:08 <duerig> And then I could read them.
00:35:49 <duerig> And I see why you wanted a GC. :)
00:39:53 <duerig> The problem is that all of the pointers in your RHS object come from the vector in 'vector<AStarNode> snodes = current_node->subnodes();'. This is destroyed at the end of every 'step()' call. Thats why you get dangling pointers.
00:40:11 <duerig> And with a proper GC, all of that is moot 'cuz the GC will keep them around for you.
00:43:05 <jix> objc memory management would be ok too
00:48:51 <duerig> I am a bit puzzled about why your priority queue holds pointers rather than just the objects themselves.
00:49:39 <jix> i tried every pointer not pointer combination
00:50:58 <duerig> Well, I don't blame you for being frustrated in a situation like that. It looks like it just calls out for a GC. :)
00:51:10 <duerig> I hope you are having more fun doing it in LISP. :)
00:51:41 <duerig> Nifty. And thanks for letting me sate my curiosity.
00:57:00 <jix> HAH i just noticed a big error in my algorithm and it was just a little work to fix it!
00:57:11 -!- lirthy has joined.
00:57:16 <jix> moin lirthy
00:58:38 <jix> duerig: you arn't on the esolang map
01:18:00 -!- J|x has joined.
01:26:55 -!- jix has quit (Nick collision from services.).
01:26:58 -!- J|x has changed nick to jix.
01:27:43 <jix> - map: http://www.frappr.com/esolang -
01:32:19 <duerig> Unfortunately, I'm not from anywhere interesting. :)
01:38:58 -!- lirthy has quit (Remote closed the connection).
01:52:05 <jix> !bf8 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.<<-.+.
01:52:19 <jix> successfully ported
01:53:33 <jix> wait the numbers of > is wrong
01:54:36 <jix> ah was a stupid typo
01:55:23 <jix> hmm there seems to be a bug in the priority queue
02:14:12 <jix> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.---------------.++++++++++++++.+.
02:14:18 <jix> !bf8 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.---------------.++++++++++++++.+.
02:14:37 <jix> done with rhs in lisp
02:17:04 <jix> !bf8 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++..>++++++++++++++++++++++++++++++++.<+++++++++++++++++++++++++++++++++++++++++.+++++++++++++.+++++..--------.-------.++++++++++++++.>.<----.---------.>.<----.+++..+++++++++++++.>.<---.-.>.<++++++.------------.---.>.<++++++++++++++++++.----------------------.+++++++++++..++.
02:17:38 <EgoBot> 99 bottles of beer on the walln
02:19:08 <jix> and that is the shortest code for that string without looping
02:20:10 <jix> Right Hand Side
02:20:25 <duerig> I realize that. But what is it in the context of bf?
02:20:30 <jix> its just the right part of the code (the left is generated using genetic algorithms)
02:20:35 <jix> in context of bf it's nothing
02:21:07 <jix> in context of bf output code breading it's partitioning the program into data-cell-initialisation (left hand) and outputing (right hand)
02:21:19 <jix> and without left hand data is initialized to 0,0,0....
02:22:30 <duerig> So you wrote a search program which tries to find the shortest bf code which will initialize a set of cells to particular values, right?
02:23:46 <jix> i wrote a program to search the shortest code to output a givin string using a givin memory data
02:25:41 <duerig> It is interesting that you had to use a graph search algorithm for that. I would have naively thought that it was a simpler problem than that.
02:26:15 <duerig> But I can see why you chose to do it that way in retrospect.
02:26:48 <jix> if you choose the shortest one with each step you may have to choose longer one later because you messed up the memory with the first shorter one
02:27:31 * jix has to refine the estimation function
02:28:50 <duerig> Hmm. I notice that there is no looping in your programs.
02:29:18 <jix> in subnodes
02:29:38 <duerig> Er. I meant in the bf programs that you tried out.
02:29:58 <duerig> So looping just didn't happen to be advantageous in those circumstances?
02:30:15 <jix> looping would make A* kinda impossible..
02:30:35 <jix> i don't have a limited set of subnodes then
02:30:58 <jix> there are some special cases and i'm going to take advantage of them
02:31:14 <duerig> That could be a big issue. That means that you probably aren't being minimal.
02:31:42 <jix> take a look at most output codes.. the right side is like 90% loop less
02:34:53 <duerig> But there are all kinds of places where [<+>-] might stand in for arbitrarily long '+' strings.
02:35:30 -!- calamari has quit ("Leaving").
02:35:33 <duerig> Or [<->-], or having a different number of '<' and '>'.
02:35:54 <duerig> Er I mean the having more than one '<' and more than one '>' even if they are the same.
02:36:22 <duerig> And that is just something off the top of my head. It seems like there might be any number of situations.
02:36:28 <duerig> But that might make the whole problem untractable.
02:36:44 <jix> thats the point.. there might be any number of situations
02:37:24 -!- calaptop has joined.
02:38:00 -!- calaptop has changed nick to calamari.
02:38:21 <duerig> Let me think about this. There may be some clever way we can get the best of both worlds.
02:40:05 <jix> i have an idea!
02:40:12 <jix> split the output into multiple rhs and lhs
02:40:31 <jix> the lhs can contain arbitrary code including all possible loop constructs
02:45:43 <duerig> I thought that the lhs was generated0.
02:46:03 <jix> later it's generated using genetic algorithms
02:46:16 <duerig> Why not do the rhs with GAs too?
02:46:25 <duerig> If we're in approximation-ville anyhow?
02:46:44 <jix> because it would take too long to generate an output that actually prints the wanted string
02:47:31 <duerig> Gah. Cat on the keyboard. :)
02:48:21 <duerig> Hmm... Suppose that we start out with something relatively naive that outputs the data. Then we have output-preserving mutations? I'm not sure exactly how to do those, but if we could, then I think we'd be home free.
02:49:50 <duerig> Grr.. I dunno. Combination would be really hard.
02:49:55 <duerig> Let me think some more. :(
02:50:18 <jix> rule of making super cool programs:
02:50:24 <jix> make them working first
02:50:32 <jix> then make them super cool ;)
02:50:44 <duerig> But you've already got it working. :)
02:51:05 <jix> not all parts only a simple rhs not a rhs with good estimates
02:51:53 * Sgep is going to check out ReactOS's LiveCD...
02:52:33 <calamari> does that have a bash terminal, or is it tryign to be as windows as possible?
02:52:43 -!- Sgep has quit.
02:57:14 -!- lirthy has joined.
02:57:18 <duerig> Hmm. I've got an idea.
02:57:28 <duerig> You could do a Simulated Annealer.
02:59:13 <duerig> There would be a small number of ways that you could do a one-off modification of the bf code: insert a bounded loop, insert some number of left shifts or right shifts, insert some number of increments or decrements. And you could have a greedy completion.
02:59:16 <jix> it's 4am here...
02:59:36 <duerig> And good luck with your RHS.
02:59:42 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
03:00:46 <Robdgreat> hey is there something available to convert 6502 assembly to x86?
03:01:05 <calamari> robdgreat: I need a better chat program.. wonder if there any any console chats that allow scrollback
03:01:19 -!- Sgep has joined.
03:01:24 <duerig> The one I'm using does.
03:01:34 <duerig> Or rather it uses my own console's scrollback.
03:01:48 <calamari> robdgreat: I don't know of any automatic tools.. what are you trying to do?
03:02:09 <calamari> blah that's what I'm using hehe
03:02:21 <Robdgreat> I have a disassembler listing of a rom image, I might take this opportunity to port it manually
03:03:05 <duerig> What terminal are you using, calamari?
03:03:13 <calamari> if you have it in binary form you can run it on the atari800 emu
03:03:19 <Robdgreat> I'm gonna make a native atari basic interpreter
03:03:31 <calamari> duerig: not sure what you mean.. I'm using getty
03:03:50 <calamari> duerig: I'm not in x if that's what you're asking
03:04:35 <duerig> Ah. A text only screen.
03:04:38 <calamari> duerig: I call it ctrl-alt-f1 mode.. not sure of the real name of it
03:05:03 <duerig> In that case have you tried shift-pgup, ctl-pgup, and alt-pgup to see if they'll scrill?
03:05:39 <duerig> Ok. Then it is your terminal.
03:05:46 <calamari> shift-pgup doesn't do anything, the other combos give ~
03:05:51 <duerig> I'm not sure how to configure the text-only terminal on linux.
03:06:04 <calamari> duerig: no prob.,. neither do I :)
03:06:26 <duerig> My advice: Use x, then you can use an xterm and those are very configurable. :-)
03:06:37 <calamari> can't.. I have 26mb of disk space free :)
03:07:00 <calamari> I was thinking of setting up svgalib tho.. I understand links works with that :)
03:07:35 <calamari> if I can get a halfway decent web browser working I may decide to zip up the windows intall and that'll give me more room to play
03:08:52 <duerig> calamari, http://www.unixguide.net/linux/faq/07.06.shtml talks about messing around with the kernel source to change scroll-back behaviour.
03:09:01 <duerig> Maybe you can do that and recompile the kernel.
03:20:37 <duerig> That might be a good search term for google. :)
03:24:32 <calamari> that doc helped a lot actually, thanks
03:24:50 <calamari> I have 6 vc's, and maybe that's why I can't scroll back... no remaining video memory
03:27:44 -!- puzzlet has joined.
03:30:34 -!- calamari has quit ("Leaving").
03:31:13 -!- calamari has joined.
03:33:46 <duerig> Be sure to make enough text to run off the top of the screen. Otherwise it won't scroll back regardless.
03:59:38 <lament> lock picking is interesting.
04:43:48 <duerig> lament, yes. But of limited utility.
05:14:17 <calamari> it gave me a lot more scrollback
05:14:27 <calamari> however, I found out what happens to my scroll
05:14:39 <calamari> if I switch to another vc and back I lose all my scrollback
05:16:40 <Robdgreat> then don't ever switch to another vc
05:41:41 -!- Sgep has quit (Read error: 104 (Connection reset by peer)).
06:03:37 -!- Sgep has joined.
06:49:48 -!- laz_ has joined.
06:51:29 -!- laz_ has left (?).
07:07:58 -!- marcan has quit (Remote closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:33 -!- marcan has joined.
08:07:28 <duerig> calamari: Hmm. That is unfortunate. Let me see if I can find a remedy.
08:11:19 <duerig> An imperfect solution would be to auto-log to a particular file. Then you could just 'less' the file. That would allow searching as well. But much less convenient than just scrollback.
08:13:37 -!- lirthy has quit (")(").
08:14:12 -!- lirthy has joined.
08:30:43 <calamari> duerig: :) thanks for the suggestions. I'll figure something out.
08:31:19 <calamari> links with svgalib seems to be working fine, although I guess the driver for my card only gives 256 colors
08:34:07 <duerig> Yeah. The more I look at this, the more certain I become that you'd need to edit code in the kernel to get what you want.
08:34:16 <duerig> Sorry I couldn't be of more service.
08:35:17 <duerig> I'm going to stop looking now. However, some promising keywords I discovered were mdacon vgacon vga-text-console and linux-frame-buffer. I was reading the webpage http://www.digitalhermit.com/linux/hiresconsole.html
08:35:23 <duerig> That is if you want to pursue my leads further.
08:43:52 -!- GregorR has joined.
08:46:49 -!- GregorR has quit (Client Quit).
08:53:36 -!- GregorR has joined.
09:01:12 -!- GregorR has quit ("Chatzilla 0.9.68.5 [Firefox 1.0.6/20050716]").
09:04:30 <calamari> okay, past 2am.. must go to bed :)
09:04:48 <calamari> thanks again duerig for your research & links
09:04:58 -!- calamari has quit ("Leaving").
09:06:43 -!- Robdgre[a]t has joined.
09:06:43 -!- Robdgreat has quit (Read error: 104 (Connection reset by peer)).
09:07:14 * Sgep NEEDS to leave now
09:09:18 -!- Sgep has quit.
10:35:10 -!- duerig has left (?).
10:36:22 -!- mtve has joined.
11:13:54 -!- jix has joined.
12:03:50 <jix> !bf8 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++.------.+++++.>++++++++++++++++++++++++++++++++.<---------.+++++++++++++++++.-----------------.+++++++++++++.+++++++.----------.-.---------.>+.>++++++++++.
12:06:14 <puzzlet> !bf8 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++.------.+++++.
12:21:28 <jix> the lisp implementation is so much faster than the ruby one
12:55:08 <jix> !bf8 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++.+.+++++.------------.---.+++++++++++++.>++++++++++++++++++++++++++++++++.<++.---------------.++++++++++++++.+.>++++++++++++++...
12:55:52 <jix> 0.048 seconds of real time 0.035805 seconds of user run time
13:03:18 -!- jix has left (?).
13:03:23 -!- jix has joined.
13:30:14 -!- Keymaker has joined.
13:30:48 <Keymaker> me likes new opera 8.5 (haven't bothered upgrading until now)
13:32:22 <jix> i don't like opera
13:32:23 <jix> moin Keymaker
13:46:35 <Keymaker> grhh. i haven't managed to do anything yet! i've been awake for six hours
13:55:19 <Keymaker> grhh. i should learn some valid web designing..
13:55:43 <Keymaker> something that would tell how to do the stuff without tables
13:55:54 <jix> pha... who needs tutorials...
13:55:57 <Keymaker> why does everyone complain about tables?
13:56:12 <Keymaker> well, i don't know the commands
13:56:14 <jix> because tables are for tabular (?) data not for layout
13:56:49 <jix> just learn it by looking at css of csszengarden
13:57:05 <jix> and use the w3schools reference
13:57:30 <Keymaker> perhaps i should just use tables..
13:59:21 <jix> they make it hard to change the design they make it hard to print only the content of the page instead of the design (which is maybe not suited for printing..)
13:59:50 <jix> use what you want ;;)
14:01:07 <Keymaker> jix, know what font that is? http://www.csszengarden.com/?cssfile=/184/184.css&page=0
14:01:31 <Keymaker> it's nice font and common in blogs and stuff, i'd like to know what it is
14:01:53 <jix> font:11px/32px Georgia, 'Times New Roman', Times, serif;
14:02:10 <jix> on your computer it's the first font in the list that is installed
14:05:25 <Keymaker> how they make those gradients?
14:26:35 -!- int-e has joined.
14:28:51 <Keymaker> noticed there's a new brainfuck competition going on, organized by calamari
14:29:43 <int-e> Keymaker: yes. I still get notifications from the sourceforge forum.
14:30:03 <jix> it has a cool prize!
14:30:12 <int-e> Keymaker: so thanks to you I know about it.
14:36:57 <Keymaker> hmmm, can one have different favicons to different pages?
14:38:30 <int-e> heh. wikipedia says: <link rel="shortcut icon" href="/favicon.ico" /> in the <head> section of the document.
14:39:22 <int-e> while the 'classic' favicon.ico is limited to the root 'directory' of the web site.
15:01:39 -!- Sgep has joined.
15:07:46 -!- Robdgre[a]t has changed nick to Robdgreat.
15:30:09 -!- ihope has joined.
15:31:05 <ihope> I just made a binary lambda calculus syntax, which doesn't look very nice.
15:32:10 <ihope> program: 1[function]
15:32:11 <ihope> function: 0[function][function] or 11[identifier] or 10[lambda]
15:32:13 <ihope> lambda: [identifier][function]
15:32:14 <ihope> identifier: [pidentifier]11
15:32:16 <ihope> pidentifier: [null] or 0[pidentifier] or 10[pidentifier]
15:35:25 <ihope> Of course, it's not very efficient: the smallest syntactically valid program is number 447.
15:39:07 <ihope> It's the identity function.
15:42:40 <ihope> The K combinator is 3535, and the S combinator is too big to convert into decimal at the moment.
15:43:15 <ihope> Aha. S is 398949562099.
15:44:53 <int-e> why do you distinguish programs and functions?
15:45:19 <int-e> ah, to allow 0 prefixes. ok
15:50:49 <int-e> shouldn't that be 948705375987 to make a program?
15:54:18 <int-e> and the K is missing a pair of 11 ...
15:55:46 <int-e> (110111001111 = program lambda 11 lambda 011 identifier <missing>)
15:55:58 <ihope> Why so it is. So that means it's 14143?
15:58:02 <ihope> Okay. So does anybody know how to make the S combinator in Lisp?
16:05:20 <int-e> I'd say it's no fun, due to lack of partial application in Lisp
16:05:52 <ihope> You mean currying is wonky?
16:06:31 <int-e> (defun s (f g x) (funcall (funcall f x) (funcall g x))) works if all your functions are curried.
16:07:08 <int-e> obviously, this s is *not* curried.
16:07:57 <ihope> Is there a way to curry it?
16:10:58 <int-e> (defun curry3 (f) (lambda (x) (lambda (y) (lambda (z) (funcall f x y z)))))
16:11:21 <int-e> I don't know about any builtin ways, but I have very little experience with Lisp
16:14:11 <int-e> * (funcall (funcall (funcall (curry3 #'s) (curry2 #'+)) #'1+) 5)
16:14:56 <int-e> compare to Haskell:
16:14:59 <int-e> Prelude> let s f g x = (f x) (g x) in s (+) (1+) 5
16:15:33 * ihope tosses Lisp in the trash can
16:16:40 <jix> lisp isn't good for lambda calculus
16:16:41 <int-e> Lisp is cool, but it's not a functional programming language. Its greatest power is its Macro facility.
16:16:55 <jix> i'm using lisp for my new bfgentext
16:17:10 <jix> because c++ has no gc and ugly syntax and ruby is too slow
16:18:29 <int-e> C++ is a very useful high level assembler
16:22:01 -!- ihope has quit (Read error: 104 (Connection reset by peer)).
16:22:33 -!- ihope has joined.
16:27:33 -!- ihope has quit (Read error: 104 (Connection reset by peer)).
16:47:37 -!- Keymaker has left (?).
16:49:30 -!- mtve has quit (Remote closed the connection).
17:43:46 -!- mtve has joined.
18:24:10 -!- Keymaker has joined.
18:31:48 <Keymaker> ugh.. why every place is filled with sound, animation, video, pictures?!
18:32:17 <Keymaker> why every place allows user to have 300 mb of space for pictures, music, video?!
18:33:40 <Keymaker> why everything is so personal these days? people have blogs, make own podcasts, have hundred pictures of theirselves..
19:40:46 -!- Keymaker has left (?).
19:43:21 -!- int-e has left (?).
21:35:10 -!- GregorR has joined.
21:46:13 -!- jix has left (?).
21:47:53 -!- calamari has joined.
22:22:08 <calamari> GregorR: do you know how to use autoscan?
22:22:46 <GregorR> It's the M4 script used to create the configure script.
22:22:55 <GregorR> autoscan should create configure.scan
22:23:27 <calamari> autom4te: configure.ac: no such file or directory
22:23:27 <calamari> autoscan: /usr/bin/autom4te failed with exit status: 1
22:23:47 <GregorR> What's that the output to?
22:24:02 <GregorR> That's obnoxious output that autoscan produces for no reason :)
22:24:37 <calamari> it did create the scan file :) I was just worried I'd done something wrong
22:24:40 <GregorR> You have to modify configure.scan to your liking, then rename it configure.ac
22:24:58 <GregorR> It's because autoscan can also tell you how to update configure.ac
22:35:05 <GregorR> Yes, I know how to use that too.
22:35:23 <GregorR> That being said, if you want to use them in combination, you should make the .am files before running autoscan.
22:35:57 <calamari> I was wondering why I was having to put that stuff in manually
22:35:57 <GregorR> After all, autoscan does /scan/ :)
22:36:32 <calamari> either I'm terrible at searching or the docs for this stuff are nonexistant
22:36:42 <GregorR> The docs are quite excellent.
22:36:50 <GregorR> http://www.gnu.org/software/autoconf/
22:36:52 <GregorR> http://www.gnu.org/software/automake/
23:07:19 <GregorR> A lot of exciting talk here :-P
23:17:27 <calamari> got bfigolf.c bfstrip.c done.. just figureing out the auto* stuff
23:40:54 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)).
23:50:17 -!- kipple has joined.
23:57:44 -!- pgimeno has joined.