00:21:50 -!- Sgeo has joined.
00:28:58 <Asztal> I have a hash table which most definitely contains my value which is {19375}... yet the hash table says it doesn't contain it!
00:30:02 <Asztal> And I even checked its internal stuff, and it's definitely there, with the same hash code as the list I'm using to look the value up... it's all lies, I hate debugging :P
00:32:06 <Sukoshi> Hmmm. How should I have read() read the socket to search for a newline? What if the next newline is past the end of the receiving buffer?
00:35:18 <Asztal> Have 2 buffers, read everything you can from the first into the second, and then try to read whole lines out of the second whenever you get more data?
00:42:15 <GregorR> Increase the size of the buffer whenever you get a short read.
00:43:08 -!- wooby has joined.
00:44:58 <ihope> Use line buffering?
00:53:23 <Asztal> Generally you read until you get a '\n'
00:53:32 <Asztal> I mean, that's how I'd do it
01:03:52 * Sgeo currently has SpySheriff installed
01:03:59 <Sgeo> Anyone want me to make a screenshot tour?
01:06:36 -!- oerjan has joined.
01:24:12 <puddy_> please download debian sarge, burn it to dvd and deliver it to my home
01:31:58 -!- GreaseMonkey has joined.
01:33:58 -!- ihope_ has joined.
01:34:44 -!- ihope__ has joined.
01:43:26 -!- ihope__ has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09").
01:49:12 -!- ihope has quit (Connection timed out).
01:50:17 -!- ihope has joined.
01:50:54 <ihope> Pudding rust monster invisible monster vampire mummy snake gnome!
01:52:12 <ihope> Newt centaur dwarf ant nymph snake floating eye rat vortex...
01:52:23 -!- ihope_ has quit (Connection timed out).
01:52:35 <ihope> Actually, #nethack would be a better place to babble incoherently in.
01:55:38 -!- wooby has quit (Read error: 104 (Connection reset by peer)).
01:57:33 -!- wooby has joined.
01:57:40 -!- wooby has quit (Remote closed the connection).
01:59:21 <oerjan> not necessarily: {-\+{--!.($--=*::[__]&1.2)/\1}++'a'--}_main
02:02:09 <CakeProphet> I should construct a Lisp interpreter in Python... that lets me execute it and return a value.
02:04:37 <oerjan> sounds like the hardest part would be choosing the data representation
02:05:04 -!- ihope has left (?).
02:15:19 -!- GreaseMonkey has quit (Client Quit).
02:16:07 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
02:16:10 -!- puzzlet has joined.
02:23:19 <Sukoshi> I wouldn't even want to attempt a Lisp interpreter.
02:23:50 <Sukoshi> Maybe maybe a Scheme interpreter some day when I'm feeling adventurous, but it's an insane amount of work.
02:24:39 <oerjan> i was sort of assuming a full Common Lisp implementation was not intended :)
02:25:22 <Sukoshi> CL, being dirty, is going to be harder to write semantics for than Scheme.
02:25:55 <Sukoshi> On the other hand, writing interpreters in Lisp are a lot easier.
02:39:32 -!- Razor-X has joined.
02:39:39 -!- Sukoshi has quit (Read error: 104 (Connection reset by peer)).
02:47:34 <Razor-X> Guh. I don't like that sound.
02:47:43 <Razor-X> I think I'll give my machine a rest.
02:47:48 -!- Razor-X has quit (Remote closed the connection).
02:58:32 -!- oerjan has quit ("Leaving").
02:59:20 -!- puddy_ has quit (Read error: 110 (Connection timed out)).
03:13:30 -!- Asztal has quit (Read error: 113 (No route to host)).
05:02:53 -!- digital_me has quit (sterling.freenode.net irc.freenode.net).
05:02:53 -!- GregorR has quit (sterling.freenode.net irc.freenode.net).
05:02:54 -!- Sgeo has quit (sterling.freenode.net irc.freenode.net).
05:02:54 -!- sekhmet has quit (sterling.freenode.net irc.freenode.net).
05:02:56 -!- mtve has quit (sterling.freenode.net irc.freenode.net).
05:02:56 -!- bsmntbombdood has quit (sterling.freenode.net irc.freenode.net).
05:03:07 -!- GregorR has joined.
05:03:07 -!- digital_me has joined.
05:03:07 -!- sekhmet has joined.
05:03:07 -!- Sgeo has joined.
05:03:07 -!- bsmntbombdood has joined.
05:03:07 -!- mtve has joined.
05:10:01 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
05:50:26 -!- anonfunc has joined.
06:07:39 -!- digital_me has quit (Read error: 110 (Connection timed out)).
07:16:09 -!- anonfunc has quit.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
10:37:53 -!- wooby has joined.
11:03:31 -!- jix_ has joined.
11:04:58 <okokoko> http://www.quinapalus.com/wi-java.html
11:06:35 <lindi-> okokoko: i get just black background with gappletviewer-4.1 h
11:06:59 <okokoko> ie is the only one i got it working with
11:07:24 <okokoko> http://www.quinapalus.com/wi-java.html
11:07:45 <okokoko> http://www.quinapalus.com/wi-index.html
11:07:54 <okokoko> the copy-paste doesn't work :\
11:08:18 <lindi-> now away, please send me the source and i'll take a look
11:11:57 <okokoko> it's coded in wireworld tho, so i'm not sure if you'd enjoy the source that much
11:21:09 <fizzie> Ooh, wireworld. Now that was funky.
11:27:31 <fizzie> Kind-of reminds me of the OpenTTD logic nastiness.
11:35:27 <pgimeno> playing with electrons, designing your own components
11:36:40 <pgimeno> unfortunately the best Wireworld implementation I've known was for Windows and not very advanced (quite fast though)
11:41:17 <pgimeno> xlife claims to support Wireworld but the rules are incorrect
11:42:58 <okokoko> you can implement wireworld yourself in half an hour
11:43:25 <pgimeno> not a fast and comfortable implementation though
11:43:47 <okokoko> well an editor will take long
11:44:11 <pgimeno> well, you need to track the positions of the electrons separately in order to speed the calculations up
11:44:16 <okokoko> and prolly you'd like to make something, not just watch, so wtf am i whining
11:44:54 <pgimeno> not a 1/2 hour project (for me anyway, I'm a bit slow programming)
11:44:54 <okokoko> and it's the only optimization i can think of
11:46:22 <pgimeno> hm, thinking about it, you also have to track electron tails if you don't want to leave 'stale' trails
11:48:01 <pgimeno> e.g. when two electrons annihilate each other (as if one of them were a positron) there's a state in which the tails remain
11:48:36 <fizzie> You can track "interesting regions". And if you _really_ want to optimize, you can analyze the device. Replace wires with delays, so no need to compute the individual electron-movement-transitions. Maybe even recognize recognizable logic gates.
11:49:26 <pgimeno> hehe, I know, just kidding
11:50:13 <pgimeno> but it's harder to see it in movement then
11:50:53 * pgimeno considers taking a look at xlife's source to see if he can hack some true-Wireworld code
11:50:59 <fizzie> Yes, but obviously you want your wireworld "code" run as fast as inhumanly possible; after all, why did you write it in wireworld if efficiency wasn't an issue?
11:52:04 <pgimeno> yeah, you're right, I should write a wireworld *compiler*
11:53:27 <pgimeno> or even better, build the circuits with electronic components instead
11:55:29 <fizzie> You could write a wireworld-to-fpga thing. Although then you'd probably actually need to recognize the function of all blocks in the "source", I don't think emulating the wireworld rules with a fpga would work very well.
12:04:04 <pgimeno> in particular, xlife uses a Von Neumann neighbourhood
12:04:16 <pgimeno> xlife's implementation of Wireworld, I mean
12:13:56 -!- tgwizard has joined.
12:25:59 -!- Puddy_ has joined.
12:43:47 -!- ivan` has quit (Read error: 104 (Connection reset by peer)).
12:44:17 -!- Puddy_ has quit ("BitchX-1.1-final -- just do it.").
12:44:21 -!- ivan` has joined.
14:02:43 -!- Asztal has joined.
14:42:03 -!- CakeProphet_ has joined.
14:49:17 -!- CakeProphet has quit (Read error: 145 (Connection timed out)).
14:52:03 -!- CakeProphet_ has changed nick to CakeProphet.
15:32:58 -!- aduket has joined.
16:00:22 -!- aduket has quit ("So long, and thanks for all the fish.").
16:32:38 -!- Asztal has quit (Read error: 113 (No route to host)).
16:44:56 -!- CakeProphet has quit ("haaaaaaaaaa").
17:12:56 -!- wooby has quit.
17:25:10 -!- Asztal has joined.
17:32:07 -!- Sukoshi has joined.
19:00:14 <bsmntbombdood> How do you do IO without adding an instruction for it?
19:03:22 <bsmntbombdood> Memory mapped I think, but how does the intrepreter know when to output?
19:08:35 -!- ihope has joined.
19:08:41 <bsmntbombdood> Do you just catch any and all writes/reads to the special addresses?
19:09:11 <ihope> I want an enzyme language. It'd be fun.
19:10:04 <ihope> In an enzyme language?
19:10:28 <ihope> I think it's often just catching reading and writing to certain addresses, yeah.
19:10:59 <ihope> Maybe it'd just catch writing, and then it'd automatically write things into memory.
19:37:48 <ihope> So yeah, enzymes. (enzymes - inhibitors) `max` cofactors = active enzymes, and an active enzyme performs whatever chemical reaction every tick.
19:38:48 <ihope> Every possible input has a chemical, and every possible output has a chemical.
19:38:58 <ihope> If something can be both input and output, it has two chemicals.
19:39:55 <ihope> And there's also a chemical called inputose. Whenever something is input, one unit of inputose is converted to the input chemical.
19:40:49 <ihope> If an output chemical is ever generated, it is immediately removed and the corresponding thing is output.
19:47:06 <bsmntbombdood> What's more usefull, number output or ascii output?
19:47:49 <ihope> You can't output ASCII by outputting numbers.
19:47:55 <ihope> You can output numbers by outputting ASCII.
20:23:17 <lindi-> octet output sounds even more useful
20:23:54 <lindi-> then you could output e.g. JPEG images too
20:42:24 -!- Asztal has quit (Read error: 104 (Connection reset by peer)).
20:51:20 -!- Asztal has joined.
20:56:28 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
21:07:25 -!- ivan`_ has joined.
21:16:13 -!- CakeProphet has joined.
21:26:19 -!- ivan` has quit (Read error: 110 (Connection timed out)).
21:26:21 -!- ivan`_ has changed nick to ivan`.
22:00:26 -!- ivan` has quit (Read error: 104 (Connection reset by peer)).
22:01:07 -!- ivan` has joined.
22:41:10 -!- pikhq has joined.
22:42:32 * pikhq is releasing a fully documented build of BFM, along with a build of Basm using current best practices, as soon as he fixes a bug that's suddenly popped up.
22:43:33 <pikhq> . . . Yes. I'm going to have a *documented* version of BFM. Crazy, no?
22:48:51 <pikhq> And now BFM is even well-designed, too.
22:49:22 <pikhq> I'm guilty of a crime against Esome, due to this craziness, no doubt.
23:02:37 <pikhq> That's because you took off your pants.
23:03:13 <pikhq> And the program's still suffering from PTSD.
23:06:36 <pikhq> Post-traumatic stress disorder.
23:23:05 <ihope> In my opinion, once a language is proven Turing-complete, it's done.
23:23:18 <pikhq> ihope: Then BFM was done months ago.
23:23:32 <ihope> Not that I don't like to see fancy new languages that are obviously Turing-complete. :-)
23:23:44 <pikhq> Like, when I wrote brainfucktobfm.tcl. . ..
23:28:17 <bsmntbombdood> ok, I have an assembler and virtual machine for an OISC
23:32:21 <bsmntbombdood> http://bsmntbombdood.mooo.com/oisc.tar.gz , be careful, the assembler and vm are both fragile, no error checking
23:34:32 * pikhq will probably want to fix that for you some time
23:35:32 <bsmntbombdood> The one instruction is "subtract and branch if not positive", by the way
23:36:31 <pikhq> bsmntbombdood: Need something to do tonight. ;)
23:37:09 -!- oerjan has joined.
23:37:17 <bsmntbombdood> A line of "a b c": says contents of b = contents of b minus contents of a; if b <= 0, jump to c
23:38:20 <ihope> Is that the new b or the old b?
23:38:20 <pikhq> oerjan: Soon, I will have a documented BFM build. I won't have to answer as many questions.
23:38:40 <ihope> And I mean in the comparison of course.
23:39:00 <lindi-> if (b = b-a <= 0) goto c;
23:39:50 <lindi-> bsmntbombdood: what's the difference if you can't change "b" ?
23:40:11 <lindi-> ok sure if you can change where the pointer points to
23:41:22 <bsmntbombdood> oh, and if c == -1, go to the next triplet no matter what
23:42:02 <oerjan> if (m[p+1] = m[p] - m[p+1] <= 0) p = m[p+2]; else p+=3;
23:45:14 <bsmntbombdood> if ((m[p+1] = m[p] - m[p+1] <= 0) || m[p+2] == -1) p = m[p+2]; else p+=3;
23:45:17 <oerjan> hm... if you made the addresses relative then c == 3 could mean that without an exception.
23:49:32 * pikhq wishes to note that, if you used GNU C, creating the memory would be somewhat easier.
23:49:50 <pikhq> GNU C supports, among other things, arrays with the size defined at compile time.
23:50:31 <pikhq> Why the hell are you using malloc if the size of the VM's memory doesn't change at runtime, anyways?
23:50:58 <lindi-> i haven't even seen the program :)
23:51:42 <pikhq> bsmntbombdood: memset, however, is.
23:51:53 <pikhq> That doesn't allocate anything.
23:52:43 <pikhq> Ignore me while I start thinking.
23:52:51 <lindi-> how large is VM_MEMSIZE?
23:52:54 <ihope> What does memset do?
23:53:02 <fizzie> And why is that file named .tar.gz since it's not gzipped?
23:53:27 <pikhq> ihope: Look up in man pages.
23:53:38 <fizzie> 64k * sizeof(int) bytes is a bit much to allocate from the stack.
23:54:30 <lindi-> int foo[bar]; is from stack
23:54:33 <fizzie> It's a local ("automatic") variable (and not declared static), so it will in most implementations allocated from the (call) stack,.
23:56:45 <fizzie> And "static int foo[bar];" would usually use a statically allocated address from the data segment, which might well be faster than accessing via a pointer to the heap.
23:56:54 <fizzie> Well, it might not work on some MS-DOS compilers.
23:57:29 <ihope> What's the difference between static and dynamic?
23:58:04 <fizzie> (Although malloc()ing that many bytes from the heap might not work either on some MS-DOS compilers/runtimes, at least with particular compiler flags.)
23:58:56 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
23:59:48 <oerjan> in this context the opposite of static is automatic, not dynamic