00:06:00 <tusho> AnMaster: e said .bs
00:06:18 -!- ihope has quit (Read error: 110 (Connection timed out)).
00:06:53 <AnMaster> tusho, well maybe, but funge93 specs say .bf
00:10:42 <Slereah> There's your fox : http://membres.lycos.fr/bewulf/Russell/Fox%20Math.jpg
00:11:48 <Slereah> (is it loaded? My connection is too low to check)
00:13:01 <tusho> Slereah: it is loaded.
00:13:39 <Slereah> So Mathematica has a fox. But no bunny.
00:15:08 <Slereah> I'd invent a bunch of stupid symbols, just to bother font makers.
00:15:42 <augur> stephen wolfram is a furry?
00:16:00 <lament> doesn't that explain _everything_?
00:16:33 <tusho> wolfram acts exactly like furries always do
00:16:35 <tusho> without the furry part
00:16:41 <Slereah> I don't remember seeing that symbol anywhere in Mathematica.
00:16:56 <Slereah> I found it because I checked the whole character set.
00:19:22 -!- pikhq has quit ("leaving").
00:20:21 -!- pikhq has joined.
00:25:56 <Slereah> The following statement is true: The previous statement is false
00:26:40 <Slereah> DOES NOT COMPUTE, DOES NOT COMPUTE!
00:26:58 <lament> let's limit our discourse only to non-paradoxical statements
00:27:07 <lament> by using a simple axiomatic foundation
00:27:35 <lament> such as: say a paradox = BANNED
00:27:37 <Slereah> But, what if we find a way to express auto-referential statements within that axiomatic base!
00:28:02 <lament> Slereah: not for long!
00:29:07 -!- spaz has joined.
00:29:14 * spaz is forced to join
00:29:41 <spaz> not bsmntbombdood
00:29:51 <lament> AnMaster: because of the ban axiom
00:29:54 <spaz> AnMaster, his presence almost guarantees i won't stay for long
00:30:06 <Slereah> But is the ban axiom effectively computable? :o
00:30:08 <tusho> where did you come from
00:30:12 <spaz> tusho, i came from my mother
00:30:15 <tusho> and why don't you like bsmntbombdood
00:30:20 <tusho> spaz: who told you to come here
00:30:22 <spaz> tusho, long story
00:30:27 <AnMaster> tusho, spaz is a friend of mine
00:30:28 <tusho> spaz: i'm listening
00:30:33 <lament> Slereah: it's a lot like playing a nomic
00:30:33 <spaz> tusho, what AnMaster said
00:30:41 <tusho> spaz: so what's up with bsmntbombdood
00:30:44 <AnMaster> tusho, I said he would like the channel
00:30:46 <lament> Slereah: you demonstrate that a paradox has been introduced = you win
00:30:53 <spaz> tusho, it's a rather long story
00:30:56 <AnMaster> and I got no idea what is the thing about bsmntbombdood
00:30:57 <lament> except, you get banned instead of winning
00:30:57 <spaz> really i don't have time to explain it
00:31:17 <Slereah> But, what if the negation of that axiom produces another paradox :o
00:31:19 <spaz> AnMaster, it was from ##socialites
00:31:23 <spaz> AnMaster, and other chans i've seen him
00:31:32 <spaz> tusho, do i have to...
00:31:33 <tusho> or i'll bug you endlessly until you do
00:31:54 <spaz> AnMaster, anyways i'll try not to be too much of a degenerate
00:32:01 <tusho> spaz: ENDLESSLY!!!!!!!
00:32:25 <tusho> AnMaster: !!!!!!!!1111111!!!!!!
00:32:42 <AnMaster> anway if it is ##socialites related I think I know. but I have no intentions of talking of that here. it is NOT related to this channel
00:32:57 <AnMaster> it is something that happend before
00:33:06 <spaz> AnMaster, may i please perform the spaz maneuver on tusho
00:33:17 <spaz> AnMaster, hint: RapeX
00:33:40 * spaz looks innocent as hell
00:33:42 <tusho> spaz: now tell me darnit
00:33:52 <AnMaster> tusho, he is from a much rouger style of channel
00:34:01 <spaz> tusho, the spaz maneuver is where i take you roughly from behind...there i said it. :P
00:34:11 <tusho> spaz: i was talking about bsmntbombdood
00:34:21 <tusho> and I do think that AnMaster has been missing all the kinky gay sex going on in here
00:34:27 <AnMaster> tusho, as for ##socialites, well he insulted ops, trolled, was trying to mob some ppl in the channel and so on
00:34:34 -!- pikhq has quit ("leaving").
00:34:37 <tusho> sounds like bsmntbombdood
00:34:43 <spaz> AnMaster, that is precisely why i hate him
00:34:47 <spaz> he's a dumbass
00:34:51 <spaz> tusho, ^ question answered
00:34:53 <AnMaster> tusho, kick + ban for a several weeks
00:35:03 <AnMaster> and he tried to *insult ops to get shorter ban time*
00:35:05 -!- Supricky06 has joined.
00:35:09 <lament> ##socialites sounds like a fun channel
00:35:09 <AnMaster> which just resulted in reverse of course
00:35:20 <AnMaster> lament, well I'm an op there so...
00:35:30 <spaz> Supricky06, i doubt you would find this place interesting
00:35:40 <spaz> Supricky06, from what i know it's about programming...so NERD ALERT :P
00:35:52 * spaz knows Supricky06 from another...type....of channel
00:35:54 <AnMaster> oh no, why did I *mention it in the channel over there*
00:36:02 -!- pikhq has joined.
00:36:20 <tusho> oh no I'm bsmntbombdood!
00:36:23 -!- Supricky06 has left (?).
00:36:35 <tusho> yes but i insulted the ops and trolled
00:36:47 <spaz> AnMaster, can i goooooooooo?
00:36:50 <AnMaster> tusho, well he did it pretty much worse than you did
00:36:51 * spaz whines like a 3 year old
00:37:03 <tusho> spaz: you're the one raping people in the ass
00:37:11 <spaz> tusho, like bsmntbombdood?
00:37:13 <AnMaster> tusho, anyway do you know some good hash library for C?
00:37:34 <tusho> pikhq: GET BACK TO AGORA YOU
00:37:36 <pikhq> GregorR[Prague]: T3h Gregor is in Prague?
00:37:38 * spaz waves too...goodbye
00:37:40 -!- spaz has left (?).
00:37:40 <AnMaster> tusho, yes but that doesn't seem to work here. gperf need a predefined set
00:37:54 <AnMaster> I would need to write out all possible values
00:37:59 <tusho> pikhq: but i just made a web version of the notary report, and a proposal that messed up the automation because it used a number too big for a fixnum
00:38:01 <tusho> isn't that awesome enough
00:38:42 <AnMaster> tusho, and int64*int64 is really really huge
00:40:06 <tusho> pikhq: http://eso-std.org/~ais523/notary-report if this doesn't set off an innate urge to return to agora I don't know what will!
00:41:07 <AnMaster> tusho, what happened to canada?
00:41:47 <tusho> AnMaster: died; it's going to be revived soon
00:41:51 <tusho> with a huge initial ruleset
00:41:54 <pikhq> tusho: I don't have a web browser ATM.
00:42:02 <tusho> including scam stuff
00:42:08 <tusho> if you exploit a scam you have to fix it at the same time
00:42:17 <tusho> also, facilities for invading other nomics
00:42:47 <pikhq> And the bit about scams? That's just formalising what is, honestly, common ettiquete.
00:42:59 <pikhq> You're liable to get lynched for violating that, actually.
00:44:22 <tusho> pikhq: Yes, but this actually makes it so that if you exploit a scam, it actually doesn't happen unless you fix it or propose to fix it in the same message
00:44:48 <tusho> Not illegal - just impossible
00:45:06 <pikhq> If you can make that rule unscammable, then you win. ;)
00:45:32 <tusho> pikhq: It requires a rule that takes priority&precedence over all others
00:45:37 <tusho> And yes, it'll require some heavy work
00:46:27 <tusho> pikhq: As for the invasion stuff, the first one we'll do is pretty clever (I'll /msg it so that it doesn't leak any more)
00:59:59 -!- tusho has quit.
01:04:36 -!- ihope___ has joined.
01:04:57 -!- ihope___ has changed nick to ihope.
01:25:26 -!- oerjan has quit ("Eep").
01:38:19 -!- Corun has quit ("Leaving").
01:38:37 -!- Corun has joined.
02:08:44 -!- RodgerTheGreat has quit.
02:36:13 -!- RodgerTheGreat has joined.
03:33:52 -!- calamari has joined.
03:49:58 <Slereah> DO YOU WANT OBJECT ORIENTED?
03:49:58 <Slereah> DO YOU WANT SHORT CIRCUIT?
03:50:01 <Slereah> SUN MICROSYSTEMS IS A MURDERER
03:51:41 <pikhq> And, of course, Gregor is D.
03:51:50 <pikhq> Too busy taking over the world to bother with an argument.
04:11:09 <Phenax> Slereah: I'M CONFEDERATE
04:11:12 <Phenax> SON OF BITCH NORTHERNER
04:13:07 * pikhq throws Phenax in the Boston harbor; hope you enjoy the tea.
04:14:13 -!- jix has quit ("CommandQ").
04:21:03 <ihope> I'm Haskell. I'm really wonderful. Can you please give me a hug?
04:26:00 <ihope> Monads really aren't that bad, you know... and you really don't have to use them, if you don't want to...
04:26:58 <ihope> I mean, except the IO monad, which isn't that bad, I promise! And you can use recursion!
04:33:22 <ihope> I'll... just be going now, then. Tag along, if you care to...
04:35:03 <ihope> There. Did I do a good imitation of Haskell? :-)
04:35:45 <Slereah> You need more evil laughs and shouts.
04:37:34 <ihope> "*BLAMMO!* Um, see you around, then, guys... maybe..."
04:40:16 <ihope> !uoy evol I !LACRETNI ma I !olleH
04:40:56 <ihope> ?gnineve yadnoM enif siht gniod uoy era tahW
04:42:34 <ihope> ...hmm, not the best I LOVE YOU TOO placement, is it?
04:56:50 -!- pikhq has quit ("leaving").
05:09:04 -!- ihope has quit (Read error: 110 (Connection timed out)).
06:25:28 -!- Slereah2 has joined.
06:25:28 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
06:50:36 -!- Slereah2 has quit (Read error: 104 (Connection reset by peer)).
06:50:47 -!- Slereah2 has joined.
06:59:53 -!- olsner has joined.
07:14:06 -!- Slereah has joined.
07:14:55 -!- Slereah2 has quit (Read error: 104 (Connection reset by peer)).
07:16:50 -!- kaanu has joined.
07:18:10 -!- kaanu has left (?).
07:28:53 -!- calamari has quit ("Leaving").
07:29:02 -!- olsner has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:12:41 -!- Corun has quit ("This computer has gone to sleep").
08:33:40 -!- Slereah2 has joined.
08:33:45 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
08:46:27 -!- Slereah2 has quit (Read error: 104 (Connection reset by peer)).
08:46:28 -!- Slereah has joined.
10:08:04 -!- GreaseMonkey has joined.
11:06:52 -!- Slereah has quit (Read error: 110 (Connection timed out)).
11:23:20 -!- GreaseMonkey has quit ("Remote closed the previous member app").
11:24:33 <AnMaster> damn where is tusho when you need him
11:25:03 <AnMaster> this allow one version of some opcodes
11:25:35 <AnMaster> I reserve the top x bytes of the address space to mean the registers
11:54:14 <Ilari> AnMaster: How you do indirect addressing?
11:54:40 <AnMaster> Ilari, with special instructions currently
11:55:26 <Ilari> AnMaster: I mean equivalents to X86 'MOV EAX, [EBX]' and that sort of stuff...
11:55:50 <AnMaster> Ilari, hm. not that familiar with that syntax? can you do it in AT&T syntax?
11:56:29 <Ilari> AnMaster: Well, it loads value of EBX, reads 32-bit quantity from that address and writes the read value into EAX.
11:57:10 <Ilari> AnMaster: reg_eax = *((unsigned*)reg_ebx); (in pseudo-C).
11:57:42 <AnMaster> Ilari, in my ASM that would be IMOVMR, I = indirect, MR = memory to register
12:02:17 <AnMaster> Ilari, however mine isn't reg_eax, mine is something like register_file.gregs[1]
12:03:11 <Ilari> I haven't heard of any real architecture having memory-mapped registers (but I have heard about some whacky architectures: http://www.archivum.info/comp.std.c++/2005-11/msg00024.html).
12:03:26 <AnMaster> Ilari, and that was just a wild idea anyway
12:04:30 <Ilari> Oh, that one described there had no (impicitly or explicitly seperated) load or store instructions.
12:05:00 <AnMaster> well mine is semi-like x86/x86_64
12:05:31 <Ilari> X86 has implicitly seperated ones. 'MOV EAX, EBX' and 'MOV, EAX, [EBX]' are not the same opcode, although mnemonic is the same.
12:05:48 <AnMaster> yes I plan to make the mnemonic in the assembler the same
12:06:43 <AnMaster> because IMOV could be either way
12:06:52 <AnMaster> I need to make it clear what one is indirect
12:08:04 <AnMaster> have IMOVMR/RM different for "move from reg to memory" and "move to reg from memory"
12:08:14 <AnMaster> but for MOV it is easy to see difference
12:09:32 <Ilari> IIRC, doesn't AT&T x86 syntax have something like 'movl ($ebx), $eax'?
12:09:50 <AnMaster> iirc yes, but was some time ago I coded in it
12:12:28 <Ilari> I like Intel syntax more than AT&T. Although Intel syntax has some pitfalls like 'MOV [EAX], 0x01' (what's the width of that field pointed by EAX)?
12:13:13 <AnMaster> btw there is a FDIV for floating point division, but does there need to be floating point modulo too?
12:13:20 <Ilari> Typing something like that to NASM in fact causes error when assembling.
12:16:40 <Ilari> nasm(1) mentions 'BITS 64' for me...
12:19:05 <AnMaster> Ilari, iirc nasm can't do it, but that is just iirs
12:19:55 <AnMaster> is it safe to assume for all common platforms that you can access a n-byte value at an address for which addr % n = 0?
12:20:38 <Ilari> For fundamental types that should be safe. But IIRC, there are some stuff that behaves as 16 byte fundamental type.
12:21:00 <AnMaster> well I just need 1/2/4/8 byte integers
12:21:07 <AnMaster> Ilari, ok what about floating point?
12:21:44 <AnMaster> Ilari, also do I need a modulo for floating point?
12:21:53 <Ilari> Also, X86 has long double. 10 bytes. I don't know what's the canonical alignment.
12:22:28 <AnMaster> Ilari, well long double is not standard really, and I'm going for standard IEEE types for floating point
12:22:41 <Ilari> AnMaster: Could be nice, since FP modulo is bit nasty to implement with just FP division.
12:23:42 <Ilari> There is one nasty alignment requirement for X86: SSE regs behave as 16 byte fundamental types in load/store (altough subfields are smaller).
12:25:02 <Ilari> AnMaster: Nasm assembles 'MOV RAX, [RBX]' (which is undoubtedly X64 instruction) successfully into '48 8B 03' (64 bit mode).
12:25:18 <AnMaster> maybe they added that nowdays then
12:25:28 <AnMaster> a few years ago it didn't have it I knowe
12:25:55 <Ilari> AnMaster: Nasm version 2.03.01 (Jun 18 2008).
12:26:00 <AnMaster> Ilari, what will happen on x86 if a read is misaligned?
12:27:36 <Ilari> AnMaster: If it all is within same page, just performance loss (or maybe an exception). If it spans multiple pages, I really don't know what will happen on write if one of pages is not writable.
12:27:41 <AnMaster> Ilari, btw the registers are 64-bit wide but the address space is just 32-bits, XD
12:28:29 <Ilari> Even if that exception happens, I don't know if it will be propagated to userspace...
12:28:58 <Ilari> Like majority of page faults are not propagated to userspace.
12:30:02 <AnMaster> Ilari, here GCC aligns doubles on 8-byte boundaries
12:30:28 <AnMaster> and on x86_64 floating point is SSE by default
12:33:30 <Ilari> Wow... I did test program for unaligned interpage write. Nothing conclusive because GDB segfaults trying to load it.
12:33:52 <AnMaster> Ilari, what happen when run outside gdb?
12:34:47 <Ilari> Sig11 (but that doesn't tell anything new).
12:35:08 <AnMaster> so segfault in other words for that too
12:35:23 <AnMaster> that should be reported as a bug?
12:36:06 <AnMaster> Ilari, anyway if you try to do it in C I guess the compiler will spilt up the read in two parts or something?
12:40:31 <Ilari> I tested that interpage write: If either page is not writable, the whole write doesn't happen.
12:43:38 <Ilari> Which makes bit of sense: It is going to fault in the TLB entries first, and that would fail.
12:43:51 <Ilari> Yes, the write segfaults of course.
12:50:47 <AnMaster> Ilari, what happens if both pages are writable?
12:51:24 <Ilari> Normal write (although it can't be atomic).
12:52:13 <Ilari> Apparently some SSE instructions do require 16-byte alignment (MOVAP*).
12:52:50 <AnMaster> so what if you add the LOCK prefix?
12:53:28 <Ilari> AnMaster: AFAIK, it won't be atomic even with that LOCK prefix...
12:53:45 <AnMaster> what would happed if you tried LOCK
12:54:56 <Ilari> Ah, trying to put LOCK there doesn't work at all (SIGILL).
12:55:42 <Ilari> ILLegal instruction
12:57:04 <AnMaster> Ilari, did you write this in asm or in C?
12:57:07 <Ilari> Unaligned intrapage LOCKed MOVe does indeed complete (presumably atomically).
12:57:44 <AnMaster> you can't have aligned intrapage MOV afaik?
12:58:27 <Ilari> Aligned interpage MOV is logically impossible. All aligned MOVes are intrapage.
12:59:54 <Ilari> Some architectures are not as lenient as x86 with unaligned access. In those, one always gets SIGBUS for unaligned access.
13:00:47 <AnMaster> is SIGBUS ONLY for unaligned access?
13:01:07 <Ilari> Nope. You also get it if you seriously fsck up with mmap.
13:01:20 <Ilari> I have seen SIGBUS on x86.
13:02:08 <Ilari> As task-directed hardware-fault type signal.
13:02:19 <AnMaster> Ilari, on such a strict platform, how do you read TCP/IP headers?
13:02:27 <AnMaster> after all they contain non-aligned fields iirc
13:03:10 <Ilari> Even if arch only had 32-bit memory R/W, you can load fields into registers and suffle the bytes in appropriate manner.
13:05:11 <Ilari> TCP doesn't even have any fields crossing 32-bit boundary...
13:05:25 <Ilari> Well, apart of options.
13:07:20 <Ilari> IPv4 again only has option field that can cross 32-bit boundary...
13:07:34 <AnMaster> well maybe it was that field then
13:08:29 <Ilari> IPv6 has src/dst addresses crossing 32-bit boundary, but they are still 32-bit aligned.
13:10:08 <Ilari> Both TCP and IP have pointers that make possible to just ignore options...
13:11:22 <AnMaster> unless you want to interpret the options
13:11:55 <Ilari> Handling options could be quite nasty to write as ASM code for arch that has no unaligned or sub-32-bit load/store...
13:12:58 <AnMaster> is there any arch without sub-32-bit?
13:13:44 <Ilari> Maybe some of first MIPS processors (latter do have unaligned load/store ops)? I don't really know
13:14:22 <AnMaster> well today MIPS is used a lot in consumer routers and such
13:16:11 <Ilari> Routers don't encounter options in IP header often, and some of the options there are better ignored anyway (like source route).
13:19:30 <Ilari> Heh... Priorities 'immediate', 'flash' and 'flash override'... Why does that remind me of military stuff?
13:20:21 <fizzie> MIPS R4k (which I think my SGI Indy has) is rather old-ish (although not really old-old), and has "load byte" and "load halfword". I'm very much not an expert on MIPS variants, so no clue whether the others do.
13:23:08 <fizzie> Random googling hit upon some miscellaneous Alpha architecture documentation, which seems to imply that there the unaligned (and any less-than-32-bits-wide) load instructions are just pseudo-instructions that get assembled into multiple opcodes.
13:23:09 <Ilari> Looking at list of IP options, perhaps one of the very few that could concen routers and shouldn't be ignored anyway is traceroute option.
13:23:56 <Ilari> And one can do traceroute without using traceroute option anyway...
13:24:43 <AnMaster> hm how would you cast a uint8_t to a int8_t in C *without converting it*
13:25:01 <fizzie> Oh, and the DSP chip (TI TMS320VC5416) we used on one course had absolutely no unaligned or sub-32-bit load/store... but DSP chips probably don't really count.
13:25:23 <AnMaster> Ilari, it is a uint8_t memory[MEMORYSIZE];
13:25:30 <AnMaster> and I need to access that as different types
13:25:48 <fizzie> Well, ((uint8_t *)memory)[x] ?
13:25:56 <Ilari> Or 'int8_t* smemory = (int8_t*)memory'?
13:26:16 <AnMaster> well I will also need to access it as 32-bits and so on
13:27:27 <Ilari> Be aware of that it uses type size as offset multipler... So just casting the table pointer doesn't work.
13:28:30 -!- RedDak has joined.
13:28:58 <fizzie> If all your offsets are bytes, it could be cleanest to use *((TYPE *)&memory[offset]) for all types.
13:29:02 <Ilari> Maybe something like *((uint32_t)(memory + x))
13:29:44 <AnMaster> return comp->mem->memory[ptr]; == return *((TYPE* )&(comp->mem->memory[offset])); gah
13:30:31 <fizzie> Just don't use offset[comp->mem->memory] unless you like confusing people.
13:31:54 <fizzie> foo[bar] is pretty much the same as *(foo + bar), and + is commutative, so you can write it as bar[foo] if you like.
13:32:05 <AnMaster> offset being a 32-bit int and comp->mem->memory being a 64-bit pointer?
13:32:10 <fizzie> I would think there's a lame joke about it in many C books.
13:32:13 <AnMaster> fizzie, not sure if it is commutative then
13:32:39 <fizzie> Oh, it is. As long as you have one pointer and one integer, it'll do pointer arithmetic with it no matter which way you write it.
13:32:44 <Ilari> AFAIK, + is always commutative in C (in C++ it might not be).
13:33:11 <fizzie> 4["funny"] == 'n' is true, if you want a test case. :p
13:33:32 <fizzie> Can't even do zero-based indexing in my head. I blame MATLAB.
13:33:57 <Ilari> In C++ the cases where + isn't commutative invariably involve operator overloading.
13:36:07 <fizzie> ISO/IEC 9899:1999 (read: C99) 6.5.2.1 "Array subscripting", paragraph 2: "The definition of the subscript operator [] is that E1[E2] is identical to (*((E1)+(E2)))."
13:36:12 <AnMaster> #define CreateRead(name, type) \
13:36:12 <AnMaster> static inline type Read ## name (ans_comp * comp, ans_ptr ptr) { \
13:36:12 <AnMaster> if ((ptr + sizeof(type)) < comp->mem->size) { \
13:36:12 <AnMaster> return *((type*)&(comp->mem->memory[ptr])); \
13:36:36 <AnMaster> CreateRead(S8, int8_t) and so on then
13:36:41 <fizzie> It's like a cake made of ^Is.
13:36:58 <fizzie> The tab characters there in front of the lines.
13:37:07 <Ilari> One exampe of noncommutative '+' in C++ with standard library types is std::string '+' std::string (<foo> + <bar> gives <foobar> but <bar> + <foo> gives <barfoo>).
13:37:09 <fizzie> A 90-degrees-rotated cake, but a cake nevertheless.
13:37:09 <AnMaster> fizzie, your client suck then?
13:37:40 <fizzie> I'm not sure I'd want it to show raw tabs as 8-character spaces.
13:39:05 <AnMaster> 4 * 1024 * 1024 == 4 MB right?
13:39:22 <fizzie> Should be enough for everybody.
13:39:40 <Ilari> AnMaster: Does that code have bug in it?
13:39:53 <AnMaster> Ilari, what code? the read one? possible haven't tested it yet
13:40:06 <Ilari> AnMaster: That CreateRead code.
13:40:16 <AnMaster> Ilari, it is very possible it got errors
13:40:47 <AnMaster> it compiles but I'm not yet at a stage where I can test it
13:40:50 <Ilari> AnMaster: Looks like that if line has integer overflow...
13:41:16 <Ilari> AnMaster: And hopefully that ptr is unsigned...
13:41:19 <AnMaster> comp->mem->size need to be 64-bit to ensure correctness
13:41:25 <AnMaster> Ilari, and yes typedef uint32_t ans_ptr;
13:42:09 <Ilari> Making mem->size to be 64 bits isn't enough if arch is 32-bit and ptr is 32-bit...
13:42:50 <AnMaster> so what to do. oh wait doing a - from memory size
13:43:11 <fizzie> Also maybe <=? When reading bytes (sizeof == 1), if your size == 2, you'd only be able to read from offset 0; when ptr == 1, it's 1+1 < 2 which is false.
13:43:52 <oklopol> guys, what are you talking about?
13:44:28 <fizzie> oklopol; They're probably spreading rumours about you!
13:44:32 <AnMaster> also the createread code got some other missing parts: It should cause a jump to exception table on out of bonds access from the code
13:44:46 <AnMaster> if (ptr >= (comp->mem->size - sizeof(type)))
13:44:52 <oklopol> fizzie: not a good answer!
13:45:01 <fizzie> Just a guess, just a guess.
13:45:43 <Ilari> AnMaster: Also, since you have exception table, how you handle nested exceptions? Similarly to x86 (it has 'double fault' exception, but 'triple fault' causes processor shutdown).
13:46:18 <AnMaster> Ilari, I should pastebin my current mostly complete specs
13:46:24 <AnMaster> there are still some things missing in it
13:46:41 <AnMaster> but I want to do a tire 1 implementation first or something ;)
13:47:11 <AnMaster> http://rafb.net/p/T6FrEX67.html
13:49:35 <AnMaster> how would I write a 32-bit value to that array, hrrm
13:50:38 <AnMaster> *((type*)&(comp->mem->memory[ptr])) = value;
13:52:19 <Ilari> I don't see obivious mistakes. Also, from spec, I flag to ADD and SUB are pretty much no-ops unless you have some overflow flags or exceptions.
13:52:54 <AnMaster> Ilari, how do you do -2 + 4 without IADD?
13:53:34 <Ilari> FFFF FFFE + 0000 0004 = 0000 0002 (assuming 32 bits).
13:58:04 <Ilari> And indeed FFFF FFFE is 32-bit 2s complement for -2.
13:59:02 <AnMaster> also oops for a typo "There are 64 general purpose registers, named r1-r128."
14:06:57 -!- Corun has joined.
14:12:51 <AnMaster> actually I don't need 8/16/32/64 variants on LDC and some other
14:32:22 <AnMaster> Ilari, in total 137 instructions it seems
14:38:56 <AnMaster> while read line; do if [[ $line =~ ^#define\ OP_([^ ]+)\ +([0-9]+) ]]; then id=${BASH_REMATCH[2]}; op=${BASH_REMATCH[1]}; if [[ ${INSTRARRAY[$id]} ]]; then echo "double $id"; else INSTRARRAY[${BASH_REMATCH[2]}]=${BASH_REMATCH[1]}; fi; fi; done < opcodes.h
14:39:11 <AnMaster> for ((i=0; i < 138; i++)); do if [[ -z ${INSTRARRAY[$id]} ]]; then echo "missing $i"; fi; done
14:58:10 <Ilari> 137 fits well into single byte with room to spare...
14:59:11 <AnMaster> Ilari, I thought it would be way more
14:59:25 <AnMaster> I'm in fact surprised it wasn't more
15:00:00 <AnMaster> now this should be made into a giant switch case of course ;)
15:03:41 <AnMaster> Ilari, btw this list doesn't contain some instructions I were unsure if I should implement, so add maybe 5 more or so for full set
15:06:08 <Ilari> The system doesn't appear to implement rings, user/supervisor, strong isolation or any corresponding priviledge seperation mechanism...
15:06:19 <AnMaster> Ilari, indeed, and that is intentional
15:06:37 <AnMaster> maybe it will be added in future
15:06:50 <AnMaster> but for now I just want to get the basics working
15:07:31 <AnMaster> Ilari, but indeed porting linux to it would be a nice future challenge (that I don't intend to take ;)
15:08:06 <Ilari> Its also missing segmentation (but it is mostly holdover from 16-bit days)...
15:08:25 <AnMaster> well modern systems use paging instead iirc?
15:08:53 <Ilari> Yes, modern systems use paging instead of segmentation...
15:09:16 <AnMaster> so well that may be something I will do in the future indeed, but *not now*, I need to walk before I can run and so on
15:09:38 <Ilari> Except that IIRC, some security enhancement patches to Linux made use of segmentation...
15:10:16 <Ilari> Nope, not PAX. And IIRC, x64 doesn't even support paging in 64-bit mode.
15:11:21 <Ilari> Yes, segmentation...
15:11:41 <AnMaster> anyway segmentation is not something I need in other words heh
15:12:08 <AnMaster> how would I best do main loop I wonder
15:12:36 <AnMaster> hrrm, 1) fetch 1 byte, 2) fetch parameters
15:13:22 <AnMaster> seems only sane way and don't think it is suboptimal?
15:14:25 <Ilari> The standard execution cycle is instruction fetch, instruction decode, operand fetch, execution, writeback.
15:14:49 <AnMaster> what would instruction decode mean in the case of a byte code interpreter?
15:15:03 <AnMaster> Ilari, I don't know VHDL if that was what you were thinking ;)
15:15:56 <AnMaster> a byte code interpreter will work a bit differently than a real CPU of course, like fetching several instructions in parallel doesn't make much sense
15:18:34 <Ilari> Seperating instruction fetch and instruction decode in bytecode interpretter might make detecting reading from invalid memory easier... But OTOH, it has some problems with self-modifying code.
15:18:56 <Ilari> reading conde from invalid memory, that is.
15:18:59 <AnMaster> hm code may indeed be self-modifying if it want or not if it doesn't
15:19:19 <AnMaster> as for read from invalid, well.... I have been planning to initialize the memory to 0 (NOP)
15:20:43 <Ilari> AnMaster: Maybe make 0 be like X86 UD2 and use something else for NOP? OTOH, 0 for NOP looks nice...
15:21:17 <AnMaster> can't find it in my x86_64 reference manual (section general programming)
15:21:37 <Ilari> Defined to always raise SIGILL.
15:21:57 <AnMaster> weird it is in "system instruction"
15:22:24 <AnMaster> UD2 0F 0B Raise an invalid opcode exception.
15:23:48 -!- RedDak has quit (Remote closed the connection).
15:24:19 <Ilari> 00 is 8 bit register to memory add.
15:25:50 <Ilari> When combining with second zero byte, the register is AL, and the memory reference is BX+SI, EAX or RAX.
15:26:10 <AnMaster> well x86 is more or less insane in parts
15:27:09 <Ilari> Hmm... There are many instructions that take two gp registers there, right? There would be four free bits if instruction would be 3 bytes...
15:29:20 <AnMaster> Ilari, I plan to extend it in the future
15:29:24 <AnMaster> with stuff like rings and so on
15:29:42 <AnMaster> so no need to pack more closely
15:30:37 -!- tusho has joined.
15:31:10 <AnMaster> btw I know you will hate ansembler as much as cfunge at some point ;P
15:31:26 -!- boily has joined.
15:31:29 <AnMaster> but I managed to say hi to you before you
15:31:40 <tusho> that's why i said darn
15:31:46 <tusho> i said 'hi ais523/darn'
15:31:50 <tusho> well, I don't greet you :-P
15:31:52 <tusho> hello boily - you new here?
15:31:58 <tusho> AnMaster: yes, but if I check that he'll have greeted me already
15:32:03 <tusho> so better to risk it
15:33:15 <AnMaster> tusho, 8 MB memory for ansembler, that should be enough for everyone right? ;)
15:33:32 <tusho> that's actually reasonable
15:33:34 <Ilari> X86 uses 'spare register' field of addressing mode field to choose instruction for many opcodes...
15:33:36 <AnMaster> btw Ilari here suggested I add rings and such
15:33:46 <tusho> AnMaster: i wouldn't for your first thingy
15:33:49 <tusho> i'd keep it simple, first
15:34:05 <AnMaster> I will maybe add rings and such at some point in the future
15:34:14 <AnMaster> but the current 137 instructions are enough for now
15:34:26 <Ilari> I didn't suggest to add rings. I only noted the absence of priviledge separation. And I know ways to get privledge separation without rings.
15:34:40 <tusho> 137?! wtf AnMaster
15:34:41 <AnMaster> <Ilari> The system doesn't appear to implement rings, user/supervisor, strong isolation or any corresponding priviledge seperation mechanism...
15:34:51 <AnMaster> tusho, well a lot are 32/64 variants
15:34:54 <tusho> Also ... Ilari, this is his first CPU thingy.
15:35:06 <tusho> Does he really need privilege seperation, Ilari?
15:35:26 <AnMaster> I made it extensible in future
15:36:03 <AnMaster> tusho, if I had used a prefix byte it would have been much fewer instructions
15:37:26 <AnMaster> tusho, http://rafb.net/p/z7jJfg51.html
15:37:33 <AnMaster> CreateReadAndWrite(S8, int8_t)
15:37:34 <AnMaster> CreateReadAndWrite(U8, uint8_t)
15:37:34 <AnMaster> CreateReadAndWrite(S16, int16_t)
15:38:00 <AnMaster> tusho, what? I love the C preprocessor ;P
15:38:16 <tusho> by the way, since I'm just going to ask random alive people, AnMaster, what do you think of http://eso-std.org/~ais523/notary-report?
15:38:21 <tusho> specifically, does it look OK?
15:38:28 <tusho> apparently the Contestmaster: line is messed in a lot of browsers
15:38:40 <tusho> (oh, and enable JS because it lets you hide the index and recent changes)
15:38:48 <tusho> (but JS is not required)
15:38:56 <tusho> (still, i'd enable it)
15:38:59 <tusho> (otherwise it's really long)
15:39:28 <AnMaster> tusho, the line is not missing for first report in: lynx konqueror, firefox 2
15:39:41 <tusho> AnMaster: not missing
15:39:45 <tusho> i.e. overlapping with the name
15:39:47 <tusho> anyway, it's the css
15:39:49 <tusho> the html itself is fine
15:40:07 <AnMaster> tusho, looks ok in lynx apart from some odd {{{ and }}}
15:40:10 <tusho> (oh, and I assume the two JS links work fine)
15:40:17 <tusho> odd {{{ and }}}? weird
15:40:41 -!- Corun has quit ("This computer has gone to sleep").
15:40:46 <tusho> AnMaster: so it works perfectly. any comments on the actual design?
15:40:49 <AnMaster> Parties: Ivan Hope CXXVII, comex, the AFO, Murphy, root, Goethe, BobTHJ
15:40:49 <AnMaster> Contestmaster: Ivan Hope CXXVII
15:40:49 <AnMaster> The name of this contract is "Agoran Twister". This is a public
15:40:51 <AnMaster> contract. A party to this contract may be referred to as a Keith.
15:40:59 <tusho> you're loading it as text/plain
15:41:04 <AnMaster> tusho, "ok but I'm not good at estetics myself"
15:41:17 <tusho> http://eso-std.org/~ais523/notary-report will give you a text file or html depending on what your browser requests
15:41:19 <tusho> try http://eso-std.org/~ais523/notary-report.html
15:42:02 <AnMaster> well ok in firefox 2 and konq for layout look
15:42:08 <AnMaster> as in "doesn't look messed up"
15:42:13 <AnMaster> note javascripts are off in both
15:42:20 <tusho> AnMaster: try turning on JS
15:42:26 <tusho> the index and recent changes should collapse
15:42:29 <tusho> and you should have a hide/show link
15:42:38 <tusho> how does it look in lynx with the .html
15:42:49 <tusho> since they're very long
15:43:10 <AnMaster> well in lynx, it is *ok but not great*, few sites are great in lynx, maybe those using SHORTTAGS ;P
15:43:18 <AnMaster> * 2008-06-10 Teh Cltohed Mna joins the AAA
15:43:18 <AnMaster> * 2008-06-10 Teh Cltohed Mna joins the Bank of Agora
15:43:18 <AnMaster> * 2008-06-10 ehird creates pledge #9
15:43:19 <AnMaster> * 2008-06-10 Ivan Hope CXXVII creates pledge #10
15:43:28 <AnMaster> * time of last report is in blue
15:43:33 <tusho> AnMaster: htat's not an error
15:43:33 <AnMaster> while the othere are in magenta
15:43:35 <tusho> that's how lynx displays <em>
15:43:41 <tusho> <em>time of last report</em>
15:43:47 <tusho> which is why it's italic in a graphical browser
15:43:54 <AnMaster> tusho, oh the show/hide doesn't work any longer in konq
15:43:59 <tusho> (the semantic version of <i>talics)
15:44:01 <tusho> AnMaster: huh what
15:44:03 <AnMaster> it stops working after you close it
15:44:20 <tusho> but I think that's down to konqueror's quite poor js support, AnMaster
15:44:30 -!- boily has left (?).
15:44:42 <AnMaster> tusho, well this is konq 3.5.9 so indeed
15:45:28 <tusho> AnMaster: you know the amount of stuff I have in the css for that page is totally overblown for what it is
15:45:31 <tusho> it messes about with typography
15:45:47 <AnMaster> tusho, sucks in w3m but I think it is wrong terminal charset
15:46:01 <AnMaster> set to latin-1 for another app, looks better with utf8 in konsole
15:46:16 <tusho> AnMaster: is this app ick
15:47:58 <tusho> 03:24:33 <AnMaster> damn where is tusho when you need him
15:49:43 <tusho> AnMaster: i thought you wer ebrb
15:50:07 <tusho> AnMaster: just to horrify you by the way, that notary report is generated with ruby
15:50:11 <tusho> by parsing the text version with regexps
15:50:16 <AnMaster> tusho, well I got nothing against ruby
15:50:29 <AnMaster> I don't know ruby but it seems saner than perll
15:50:40 <tusho> AnMaster: it is basically a cleaned up perl
15:50:47 <tusho> with a smalltalky OO system
15:51:00 <AnMaster> tusho, and some influences from python
15:51:26 <tusho> AnMaster: well, some of it looks like python
15:51:30 <tusho> but semantically it's quite different
15:51:36 <tusho> let's put it this way, perl->ruby is pretty damn easy
15:51:41 <AnMaster> tusho, do you want to see my register union?
15:51:42 <tusho> python->ruby is quite uphill
15:51:53 <AnMaster> http://rafb.net/p/vWHg2850.html
15:52:06 <tusho> what's scary about that
15:52:19 <AnMaster> I thought you wouldn't like it
15:53:48 <AnMaster> isn't there some CPU with like 8 MB L2 cache?
15:54:12 <AnMaster> iirc there is one, some quad-core monster from intel or amd
15:55:38 <tusho> AnMaster: i think maybe the mac pros have them
15:55:41 <tusho> it sounds familiar
15:56:21 -!- Sgeo has joined.
15:58:57 <Sgeo> http://forums.gamewaredevelopment.com/search.php?searchid=57320
15:59:34 <tusho> Sgeo: what about it
15:59:43 <tusho> also, 'I grew another hand' is totally the best topic title ever
16:01:14 * Sgeo makes another thread
16:02:22 <AnMaster> Sgeo, what did you search for+
16:02:27 <tusho> AnMaster: topics he started
16:02:30 <tusho> that's what the top bar said
16:02:44 <tusho> also, Sgeo, wtf, that forum has no 'register' link. :-P
16:02:52 <tusho> do you have to join via astral projection?
16:03:49 <Sgeo> I think registration was temporarily disabled or something
16:03:56 <Sgeo> I joined a long while ago
16:04:24 <Sgeo> http://forums.gamewaredevelopment.com/showthread.php?t=7570 can have a detrimental effect on the Warp
16:04:45 <tusho> Sgeo: hah i just found that
16:04:49 <tusho> 'The code still requires a bit of work, however, I am apprehensive about releasing it to the public, for the effects of duplicated norns traveling through the Warp are unknown.'
16:04:55 <tusho> IT MIGHT CAUSE A PIME TARADOX
16:05:02 <tusho> THIS EVIL INVENTION CAN NEVER BE RELEASED
16:05:58 <Sgeo> Seriously, the norn history as recorded by a warp might record a death, then more events coming from a duplicate. That might be the only effect, or that occurance might crash the rather unstable and probably badly programmed warp.
16:07:54 <Sgeo> I don't want to risk crashing the Warp
16:08:03 <tusho> Sgeo: Then you'll never no. Jusst try it.
16:08:04 <Sgeo> I've been urged by Sine not to try it
16:08:28 <tusho> Sgeo: I assume the Warp crashing would disable everyone elses?
16:08:32 <tusho> I imagine the software restarts automatically.
16:08:37 -!- Corun has joined.
16:08:38 <tusho> It would be crazy for it not to.
16:08:42 <Sgeo> There's a Warp server, that's what I'm worried about
16:08:48 <Sgeo> The Warp's been down before
16:08:55 <tusho> Sgeo: Presumably just regular downtime though.
16:09:05 <tusho> A crash will just make it automatically restart; I've never seen it any other way
16:09:25 <Sgeo> I don't trust the Warp to be sanely designed.
16:09:49 <tusho> Sgeo: Even terribly designed servers auto-restart. :-P
16:10:07 <tusho> Sheesh. Just do it :P
16:10:31 <Sgeo> Let me clean up some code. A command that my code uses is currently rather useless in a script, so I need to work around it using the equivelent of eval()
16:16:49 <Sgeo> caos 0 1 _p1_ _p2_ "hist wipe ov99" 0 1 va98
16:16:56 <Sgeo> Instead of hist wipe ov99
16:17:20 <Sgeo> AnMaster, no. Docking Station (Creatures)
16:17:41 <Sgeo> Docking Station
16:18:14 <Sgeo> It's like a trial of Creatures 3 with some added abilities
16:18:22 <Sgeo> http://creatures.wikia.com/wiki/Docking_Station
16:18:38 <Sgeo> free as in beer though
16:19:01 <Sgeo> No time limit. Just an annoying nagging magma norn thing which can easily be disabled
16:20:08 <Sgeo> tusho has played with it a bit
16:21:15 <Sgeo> tusho likes torturing norns
16:22:13 <Sgeo> I torture norns genetically.
16:22:17 -!- timotiis has joined.
16:22:38 <tusho> Sgeo: i would torture norns genetically; except no way in hell will I subject myself to caos
16:22:43 <tusho> you should write a Caos Abstraction Layer
16:22:50 <tusho> and have a compiler that makes caos out of it
16:22:59 <Sgeo> He's working on something called Kaos
16:23:06 <Sgeo> Also, genetic torture <> CAOS stuff
16:23:10 <tusho> Sgeo: does it have real control structures
16:23:15 <tusho> like with { curly braces }
16:23:47 <tusho> 4 characters still
16:23:50 <tusho> and no actual blocks
16:23:51 <AnMaster> tusho, do you think I should initialize the memory of ansembler to 0x0 before or leave it random?
16:24:00 <tusho> AnMaster: use uninitialized memory
16:24:12 <Sgeo> enum 4 0 0 ... next
16:24:21 <AnMaster> tusho, wait, it is a global variable, won't it be 0x0 anyway then?
16:24:28 <tusho> AnMaster: then make it local
16:24:28 <Sgeo> tusho, it's worse than LSL
16:24:32 <tusho> and copy it into a global
16:24:45 <AnMaster> tusho, ugh, I don't want to overdesign and make it reentrant!
16:24:48 <tusho> Sgeo: er I was talking about Kaos by the way
16:24:51 <Sgeo> some of the commands, like hist wipe, are buggy, so I have to try to wrap in the caos command
16:24:52 <tusho> AnMaster: keep it in a global
16:24:56 <tusho> but intiialize it from a local
16:25:01 <Sgeo> I was talking CAOS
16:25:21 <Sgeo> http://creatures.wikia.com/wiki/Kaos
16:25:44 <AnMaster> tusho, saying "re-entrant" made you change your mind quickly hehehe
16:25:58 <tusho> i always said that
16:26:00 <AnMaster> Sgeo, Kaos? that is Swedish for chaos btw
16:26:11 <AnMaster> <tusho> AnMaster: then make it local
16:26:13 <Sgeo> Kaos looks somewhat decent given what it has to compile to..
16:26:13 <AnMaster> <tusho> AnMaster: keep it in a global
16:26:25 <tusho> read the next line
16:26:29 <tusho> 'but initialize it from a local'
16:26:34 <tusho> also my first one was
16:26:37 <tusho> 'then make it a local'
16:26:40 <tusho> 'but copy it to a global'
16:26:43 <tusho> so ha, i didn't change
16:26:46 <tusho> AnMaster: go for it
16:27:16 <tusho> I meant to target AnMaster
16:27:55 <AnMaster> I thought you were targeting Sgeo
16:29:40 <AnMaster> tusho, question: will this fetch and increment right? instr = comp.mem[comp.regs.pc++];
16:29:56 * AnMaster can never remember ordering in such cases
16:30:11 <tusho> AnMaster: yes but I think that may be undefined
16:30:18 <tusho> fetch then increment
16:30:33 <tusho> the increment is trailing on the latter, sorta
16:38:23 <AnMaster> tusho, yay I implemented NOP and HLT ;P
16:38:32 <tusho> AnMaster: your name is totally fitting!
16:38:37 <tusho> you are a master at advanced programming!
16:39:11 <AnMaster> I have implemented NOP and HLT, only to test main loop works, and it was really yay that my main loop works
16:42:47 <Sgeo> WHY isn't the hist wipe taking effect?!?!
16:42:55 <tusho> Sgeo: Warp'd it yet?
16:45:04 <Sgeo> I'm trying to fix the hist wipe issue first
16:46:43 -!- olsner has joined.
16:49:40 -!- Corun has quit ("This computer has gone to sleep").
16:50:52 <tusho> AIS523-LOGS-CLAIM-OF-ERROR: You don't have Pledge: false on teh clthoed mna
16:53:55 <tusho> AnMaster: an agoran partnership
16:56:05 <AnMaster> tusho, different types of jump implemented btw
17:00:57 <AnMaster> tusho, if at 0x2 there is an "realative jump instruction", and at 0x3 is the parameter for it (with is 10 in this example) where should it end up?
17:01:26 <tusho> since (RJMP X) is one instruction
17:01:33 <Sgeo> I can't seem to dbg: outs this damn thing
17:01:45 <AnMaster> well instructions + parameters are variable width
17:01:56 <AnMaster> I guess assembler will have to take care of it
17:02:30 <AnMaster> for example NOP got no parameters, the relative jump one 8-bit parameter and the absolute jump one 32-bit parameter
17:03:06 <AnMaster> tusho, so should it be in bytes I guess?
17:03:15 <AnMaster> anyway it is JRL not RJMP for me
17:04:56 <Sgeo> The issue seems to be a change of targ
17:08:38 -!- jix has joined.
17:23:26 <Sgeo> It seems to work now
17:25:22 <Sgeo> Go on DS, make two worlds
17:26:23 <tusho> Okay. Let me boot up Parallels.
17:26:42 <Sgeo> The plan: I'll make one norn, export it, copy and reimport
17:26:58 <tusho> And it either works or crashes the Warp? :P
17:26:58 <Sgeo> I send it to you, marked Kill
17:27:17 <Sgeo> Then I reimport a literal copy, send it to you after you switch worlds..
17:27:24 <tusho> Looks like my EXTREME SLAPPING KNOWLEDGE is going to be useful
17:27:31 <tusho> Sgeo: I already have one world; do I need to make two or just an extra one?
17:27:32 <Sgeo> targ norn dead
17:27:39 <Sgeo> Just make an extra one if you want
17:28:14 -!- Corun has joined.
17:28:34 <tusho> 'Your computer might be at risk
17:28:39 <tusho> Antivirus software might not be installed
17:28:43 <tusho> Click this balloon to fix this problem.'
17:28:53 <tusho> I love an OS that is too dangerous to use unless you install third-party software.
17:30:00 <tusho> stop using memory, ff
17:30:33 <Sgeo> Who are you on DS?
17:30:52 <tusho> Errr, not sure. elliotthird I think. Wait, I need to add another world.
17:31:52 <Sgeo> The list of worlds isn't updating
17:32:01 <Sgeo> Maybe it requires some sort of Warp interaction?
17:32:30 -!- tusho has quit.
17:33:52 -!- tusho has joined.
17:34:20 <tusho> Sgeo: have you found my first world
17:34:41 <Sgeo> Go online on your first world
17:34:47 <Sgeo> Norns are sent to people, not specific worlds
17:34:48 <tusho> Sgeo: shouldn't I add my second first
17:35:08 -!- olsner has quit ("Leaving").
17:35:09 <Sgeo> The different duplicate norns must go to different worlds
17:35:44 <tusho> Uh-oh... what's my password...
17:36:23 <Sgeo> Go online in your world
17:36:27 <tusho> don't transfer yet
17:36:29 -!- jix has quit (Read error: 110 (Connection timed out)).
17:37:02 <tusho> Sgeo: do I have to go anywhere in particular to get it
17:37:13 <Sgeo> Come on, stupid thing, get ehird added
17:37:29 -!- jix has joined.
17:37:58 <Sgeo> I'm trying to add you to my contact list
17:38:09 <tusho> but what about my previous q
17:38:33 <Sgeo> It should arrive in the Containment Chamber, in the workshop
17:38:40 <Sgeo> But first I need to add you as a contact
17:38:43 <tusho> Was that stare blank enough, Sgeo?
17:38:50 <tusho> I'm in the initial DS room thing.
17:38:59 <Sgeo> Go to the right
17:39:04 <Sgeo> Middle of the right
17:39:08 <tusho> Now I'm in a tunnel thing
17:39:13 <Sgeo> You'll see a door, click it
17:39:28 <Sgeo> Mid door is comm room
17:39:36 <Sgeo> go back, there are icons near the top of the screen
17:39:48 <Sgeo> go back to Capitalla hub
17:39:53 <Sgeo> and click the door on the right
17:40:08 <Sgeo> That's the workshop
17:40:13 <tusho> Okay. So now I just wait?
17:40:18 <Sgeo> Containment chamber is lower right
17:40:22 <Sgeo> I need toa dd you to conacts
17:40:31 <tusho> Sgeo: Should I add you or something?
17:40:40 <Sgeo> tusho, if you can, yes
17:41:02 <Sgeo> http://www.gamewaredevelopment.co.uk/ds/active/addfriend.pl
17:41:11 <Sgeo> But for some reason it's not adding you
17:41:36 <Sgeo> Hm, now it works
17:42:19 * Sgeo vaguely wonders if his patch could, in some clinically insane way, be screwing with something
17:42:22 <tusho> Sgeo: U ARENT TALKING
17:42:58 -!- ais523 has joined.
17:43:17 <tusho> (gosh, you're late)
17:43:39 <ais523> and I was slow because I was reading Agora backlog on another computer while waiting for this one to connect to the internet
17:43:53 <tusho> ais523: read #esoteric logs
17:46:04 <tusho> (if you fix it in the text version remember to rerun notary2html :P)
17:46:15 <tusho> ais523: senddddddit
17:46:22 <ais523> tusho: what do you mean remember to rerun?
17:46:25 <Sgeo> Were you kicked offline?
17:46:32 <ais523> I put notary2html in the same shellscript as the other
17:46:54 <tusho> Sgeo: it won't reconnect
17:47:02 * Sgeo just reconnected
17:47:30 <Sgeo> Did you get the.. no I guess you didn't
17:49:16 <Sgeo> Kill him! Kill him with fire!
17:49:28 <Sgeo> I can't find the creature
17:49:39 <tusho> Sgeo: i've got 'im
17:49:49 <Sgeo> targ norn dead works
17:49:56 <tusho> how do I ge the console
17:50:30 <Sgeo> http://www.gamewaredevelopment.co.uk/ds/active/world_notes.pl?world_id=128536
17:50:34 <tusho> How do I get the console up
17:50:49 <Sgeo> Creation:6- December 2008 [24: 1:7:]
17:50:50 <tusho> Dead as a dead thing.
17:51:00 <tusho> Go to my second world now right?
17:51:16 <Sgeo> http://www.gamewaredevelopment.co.uk/ds/active/raised.pl?hid=50&uid=12187&s=1&page_start=0
17:51:47 <Sgeo> I can't seem to find the page for that Creature
17:51:49 <tusho> Do I go into my second world?
17:52:00 <tusho> He just disappeared.
17:52:02 <Sgeo> Well, just to see if anything crashes, sure
17:52:04 <tusho> In a puff of smoke.
17:52:14 <tusho> Sgeo: btw, here's the log
17:52:18 <tusho> exported from c.i. 2
17:52:37 <tusho> all at 0 mins, but at different times
17:53:05 <Sgeo> Ok, go to second world. It won't be able to enter a world where it already exists/existed
17:53:14 <Sgeo> (well, not w/o a patch anyway)
17:53:24 <tusho> Sgeo: ok just a sec
17:53:31 * Sgeo wants to see the history on the site
17:53:38 <tusho> Sgeo: i'm in hugs and doom now
17:53:40 <tusho> (not doom and hugs)
17:54:57 <Sgeo> http://www.gamewaredevelopment.co.uk/ds/active/raised.pl?hid=10&uid=14389&s=1&page_start=40&page_size=20
17:55:15 <tusho> Sgeo: Just warp it
17:55:16 <Sgeo> Did you receive it?
17:55:51 <tusho> The chamber is closed.
17:55:54 <tusho> Err not the changer
17:56:07 <Sgeo> Go back online
17:56:10 <tusho> That's the elevator
17:56:40 <Sgeo> It's named Dupey - LIV?
17:56:53 <tusho> they look identical
17:56:56 <tusho> the second one just came
17:57:08 <Sgeo> I think ? might be someone else's
17:57:20 <tusho> Sgeo: it's a baby male, and it's exactly like yours
17:57:26 <tusho> 'this creature is a native of your world/
17:57:32 <tusho> maybe it's that annoying one in the original room
17:57:35 <tusho> but I doubt it walked all the way over here
17:57:37 <tusho> and besides it just appeared
17:57:49 <Sgeo> Maybe you opened the chamber
17:57:49 <tusho> Sgeo: A creature just appeared from the warp, identical looking to yours.
17:57:51 <AnMaster> tusho, btw did you see my idea of memory mapped registers?
17:57:51 <Sgeo> Check it's history
17:57:54 <tusho> It says it's already a native of my world
17:58:38 <AnMaster> tusho, to avoid different instructions for registers and memory access, you would reserve the top few bytes of the address space to point to registers
17:58:44 <tusho> specifically, that's when the other guy got here
17:58:52 <tusho> your creature made a clone come from the warp
17:58:55 <tusho> that is a native to my world already
17:58:57 <tusho> just after it came
17:59:16 <ais523> tusho: I can't find your COE in the logs
17:59:24 <tusho> ais523: search for AIS523
17:59:31 <Sgeo> tusho, please check its history
17:59:39 <ais523> that'll be an easy fix
17:59:47 <tusho> but it can't be a native not in world at that time
17:59:47 <ais523> I'll do it at the same time as today's contract catchup
17:59:49 <tusho> since it came from the warp
18:00:00 <Sgeo> Are you sure you switched worlds?
18:00:33 <tusho> Sgeo: i think this might be the first natural clone :-P
18:00:52 <Sgeo> Well, now that the Warp is known to survive, maybe I can release the patch
18:01:07 <tusho> Sgeo: ok, dupey just spent five minutes pressing a button and making it bleep
18:01:10 <tusho> well not five minutes but a while
18:01:16 <tusho> i think this cloning thing made him go crazy
18:01:26 <Sgeo> There's no such thing as a sane norn
18:01:39 <tusho> ? just hit dupey - liv
18:03:23 <Sgeo> enum 4 0 0 vocb next
18:03:42 <Sgeo> That educates all Creatures
18:03:43 <tusho> ? is 6 minutes old
18:03:46 <tusho> exactly the same as the other guy
18:03:59 <Sgeo> I think I know what happened
18:04:08 <Sgeo> I tried to send one norn to your first world
18:04:15 <Sgeo> It never arrived successfully
18:04:20 <Sgeo> So you open the second world
18:04:37 <Sgeo> Two norns of the same moniker arrive at your second world
18:04:51 <Sgeo> One makes it in normally, the other is automatically cloned by pray impo
18:05:15 <Sgeo> Let's try it again?
18:05:25 <tusho> they both refer to themselves
18:05:29 <Sgeo> Or there's someone else I can dump another dupey on
18:05:33 <tusho> AnMaster: Creatures Docking Station
18:05:38 <tusho> Sgeo: they keep saying dupey - liv tirde
18:05:45 <AnMaster> tusho, well what kind of game is it?
18:05:47 <tusho> oh, and I just convinced one of them to eat elevator
18:05:47 <Sgeo> The ? keeps saying it?
18:05:53 <Sgeo> tusho, they often do that
18:06:03 <tusho> AnMaster: an AI game
18:06:08 <Sgeo> (eating elevator I mean)
18:06:10 <tusho> there's these little creatures called norns and they're dumb as hell
18:06:17 <tusho> you control a hand cursor that can speak
18:06:31 <tusho> you have to stop them from killing themselves and teach them what 'eat' and 'food' means because they're dumb as all hell
18:06:37 <Sgeo> I'll send another dupey to someone else
18:06:41 <AnMaster> <tusho> there's these little creatures called norns and they're dumb as hell <-- s/norn/lemming/ and it would still be true
18:06:43 <tusho> I want another dupey
18:06:46 <tusho> I want a whole family of dupeys
18:06:49 <tusho> AnMaster: but lemmings don't learn
18:06:51 <Sgeo> Make another world
18:06:54 <tusho> and lemmings don't walk about as they wish and ignore you
18:07:07 <tusho> Sgeo: your next project should be giving to the same world
18:07:21 <AnMaster> but the statement "they are dumb as hell" is still true
18:07:28 * tusho tries to make dupey - liv eat dupey - liv
18:07:32 <Sgeo> tusho, that's all the effect was
18:07:48 <tusho> 'dupey - liv very patient'
18:08:01 <tusho> AnMaster: one of them just said that they were very patient
18:08:05 <tusho> which is a pretty odd thing to say just like that
18:08:19 <AnMaster> tusho, got screenshots of this game?
18:08:25 * Sgeo has a few million
18:08:34 <Sgeo> Mostly of odd situations I managed to engineer?
18:08:53 <Sgeo> http://sgeo.diagonalfish.net/screenshots/ some of those are DS
18:08:55 <tusho> http://www.generation5.org/content/2001/images/cds02.jpg
18:09:06 <tusho> http://www.gamershell.com/static/screenshots/3423/53661_full.jpg
18:09:56 <tusho> it'd be crazy in 3d
18:10:10 <tusho> Sgeo: how do I repeat last thing said
18:10:18 <Sgeo> ctrl-S I think
18:10:31 <tusho> i told it to eat hand
18:10:38 <tusho> and looked at the hand constantly
18:10:44 <Sgeo> because you said hand
18:10:54 <tusho> but I said eat hand
18:10:57 <Sgeo> try "hit hand"
18:10:57 <tusho> not stare at hand :<
18:11:26 <tusho> Sgeo: it bashes into it with its head
18:11:27 <tusho> but nothing happens
18:11:49 <Sgeo> Well, saying "hand" activates the hand neuron in the noun lobe, which does stuff with the comb lobes, which reaches the attn lobe
18:12:00 <Sgeo> The hand doesn't turn red?
18:12:16 <tusho> what was that pain command again
18:12:31 <tusho> AnMaster: not really
18:12:34 <tusho> it's the CAOS scripting language
18:12:39 <tusho> you have to press ctrl-shift-c to get the console
18:12:47 <tusho> so it's not exactly intended for people not making extensions and stuff
18:12:58 <tusho> but you can set the pain level to 100%
18:12:59 <Sgeo> http://creatures.wikia.com/wiki/C3/DS_CAOS_Codes
18:13:02 <tusho> 'dupey - liv extremely high up'
18:13:06 <tusho> GREAT OBSERVATION THERE
18:13:22 <Sgeo> There's probably an easier way than the command I mentioeed
18:13:30 <Sgeo> Maybe just setting the pain chemical
18:13:41 <Sgeo> sway writ norn 0 1 0 2 0 3 0 4
18:13:55 <Sgeo> The 1 2 3 and 4 just need to be greater or equal to 1 I think
18:14:03 <Sgeo> It's just I think 1 2 3 4 is easy to remember
18:14:35 <tusho> I forced them into adulthood
18:14:48 <Sgeo> targ norn chem 148 1
18:14:55 <Sgeo> Should fill the pain chemical to full
18:15:16 <tusho> he didn't like that
18:15:27 <tusho> aww. how do I undo that
18:15:34 <Sgeo> targ norn chem 148 -1
18:15:49 <Sgeo> But I don't know if that really undoes the pain it felt
18:16:07 <Sgeo> Chemical 125 controls aging
18:16:26 <Sgeo> targ norn chem 125 1 will extend its lifespan, targ norn chem 125 -1 will age it to death
18:16:32 <Sgeo> as would targ norn ages 8
18:16:56 <tusho> Sgeo: {To induce labour in a stuck pregnancy (for the currently selected norn) }
18:17:00 <tusho> i did that on the male norns
18:17:01 <Sgeo> Instead of this "targ norn" stuff, surround it with enum 4 0 0 ... next to do it to all creaturews
18:17:12 <Sgeo> Males can get pregnant with some CAOS
18:17:56 <Sgeo> Put a genome in slot 1
18:18:46 <tusho> I just killed that guy's clone in front of him.
18:18:46 <AnMaster> tusho, how does that odd scripting language look?
18:18:51 <tusho> He went back to playing with the elevator
18:18:57 <tusho> AnMaster: {sway writ norn 0 1 0 2 0 3 0 4}
18:19:03 <tusho> {inst rtar family genus species stpt seta va00 twin targ 1 mvto x y }
18:19:12 <tusho> all opcodes are 4 chars because you can make an efficient hash table with them
18:19:16 <tusho> The first puts the norn into pain.
18:19:20 <tusho> The first, apparently:
18:19:21 <tusho> {To clone an agent - Replace family, genus, species with the appropriate numbers of the agent. Replace x, y with the coordinates of where the new agent should be placed. Clone will fail to appear if insuffecient space is present at x, y coordinates }
18:19:37 <Sgeo> inst makes it atomic
18:19:37 <tusho> Sgeo: Can I revive a dead norn?
18:19:43 <Sgeo> tusho, not without hex editing
18:19:55 <AnMaster> Sgeo, and can you do hex editing too!?
18:20:06 <Sgeo> My Creatures project is to attempt to revive dead norns
18:20:23 <tusho> you can hex edit any file
18:20:31 <tusho> anyway, regular players don't touch this stuff
18:20:34 <tusho> I just like messing up norns.
18:20:42 <tusho> you can't win creatures
18:20:52 <tusho> AnMaster: you can't 'win' the game
18:21:08 <tusho> keeping a long-running world with good genetics in the norns and keeping them breeding
18:21:15 <tusho> is probably the cloest thing
18:21:53 <Sgeo> Often you get immortals and fast-agers
18:21:59 -!- ais523_ has joined.
18:22:09 <tusho> Sgeo: apparently he's "quite ill"
18:22:12 <tusho> before that he was "ill"
18:22:25 <Sgeo> Use the HoverDoc
18:22:34 <Sgeo> Ctrl-H to find it
18:22:41 <tusho> its in another world
18:22:42 <Sgeo> Right-click, and drop it on the norn
18:23:01 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
18:23:03 <Sgeo> Use the scroll on the mouse if you have one
18:23:16 <tusho> hungry for startch
18:23:16 <Sgeo> If not, put it in the Inventory, which is the GUI element at the lower right
18:23:24 * tusho wonders where he can get some seeds
18:23:30 <Sgeo> I think "quite ill" might be something else
18:23:40 <Sgeo> Ctrl-Shift-E makes food drop from the hand
18:24:10 <Sgeo> There are also seeds in ther
18:24:47 -!- Corun has quit ("This computer has gone to sleep").
18:25:58 <Sgeo> Was that norn in the upper left area of the workshop?
18:26:14 <Sgeo> Because that place tends to be a breeding ground for bacteria for some reason
18:27:10 <Sgeo> Click the right-pointing arrow thing on the edge
18:27:15 <Sgeo> Look through the options
18:29:59 <Sgeo> tusho, why meh?
18:31:17 <AnMaster> signed and unsigned integers have the same value for positive values right?
18:31:40 <Sgeo> Not if the positive value is large enough, such that it's negative in the signed integer..
18:32:01 <AnMaster> Sgeo, well true but here I want to know signed 0 == unsigned 0
18:32:46 * Sgeo 'd think so, but not sure
18:33:50 -!- ais523_ has changed nick to ais523.
18:36:41 <tusho> mwahahahhahaha, I am evil
18:36:51 <tusho> I am combining the two of the worst languages ever made
18:37:30 <tusho> malbolge and intercal aren't BAD
18:37:37 <tusho> and i'm talking about languages intended for serious use
18:37:39 <Sgeo> tusho, CAOS is one of them, I bet
18:37:53 <ais523> AnMaster: I implemented something else in C-INTERCAL instead
18:38:04 <ais523> but at least it showed up lots of bugs in the code
18:38:11 <ais523> that would have affected fffungi too
18:38:14 <AnMaster> ais523, hm? you aren't going to do ffungi?
18:38:15 <ais523> which I'm still planning to do
18:38:16 <tusho> COBOL sucks, but no
18:38:21 <tusho> this is stuff people say is awesome right now
18:38:26 <ais523> it's just I was working on something else
18:38:48 <ais523> I defined plus minus times divided
18:38:51 <ais523> and it actually worked
18:39:07 <tusho> Sgeo: Arc is Paul Graham's shitty lisp dialect.
18:39:22 <ais523> AnMaster: being able to write expressions with + and - in will make INTERCAL a lot more usable
18:39:25 <tusho> He took 5 years to release it; and it turns out it's a half-baked, wafer-thin crappy toy scheme-alike written on top of PLT Scheme.
18:39:35 <AnMaster> ais523, is that really the goal though? ;P
18:39:40 <tusho> And what's more, he never shut up about it before or after release.
18:39:47 <tusho> Also, it has an incredibly shitty web library.
18:39:51 <ais523> AnMaster: yes, in this case, I don't mind INTERCAL being usable as long as it's usable in an unusual way
18:39:54 <tusho> (Before it can even do, say, useful arithmetic or file access.)
18:40:12 <AnMaster> ais523, oh I thought a "plus, substract, then multiply and finally divide" operator
18:40:21 <tusho> My idea: Write an Arc->PHP compiler in PHP. Then you'll be able to run the shitty web apps written in the shitty toy lisp on top of a shitty web language.
18:41:21 <AnMaster> php isn't that bad, there are worse languages
18:41:29 <AnMaster> while I don't like php there are worse
18:41:43 <tusho> it's terribly evil
18:41:48 <AnMaster> damn I'm up at 137 instructions because I missed some
18:41:58 <tusho> especially as the arcist idiots will say 'OMG! NOW WE HAVE AWESOME DEPLOYMENT!'
18:43:27 -!- jix has quit (Read error: 113 (No route to host)).
18:57:25 <Sgeo> tusho, try mapk
18:57:30 <Sgeo> Not in a good world though
18:57:36 <tusho> Sgeo: i shut it down
19:00:31 <AnMaster> should a stack grow downards or upwards?
19:00:38 <AnMaster> and where should the call stack be placed?
19:01:51 <RodgerTheGreat> tusho: you should somehow involve ruby in this- that could make it significantly worse
19:02:04 -!- revcompgeek has joined.
19:02:04 <tusho> RodgerTheGreat: let's troll about how ruby sucks ha ha
19:02:33 <tusho> because $list_of_entirely_untrue_reasons_why_ruby_sucks_showing_that_i_have_not_actually_used_it_and_just_like_saying_how_it_sucks
19:03:08 <RodgerTheGreat> AnMaster: if you're implementing a stack with arrays, growing down makes sense- it makes it very easy to resize the array later on
19:03:17 <AnMaster> however I do find perl confusing because 1) every single char (or close) seems to have a special meaning 2) there are a lot of ways to do everything)
19:03:31 <AnMaster> RodgerTheGreat, no, I'm implementing inside an adress space
19:03:42 <RodgerTheGreat> but as with most data structure decisions, arbitrary choices can be fine if you're consistent
19:03:52 <ais523> AnMaster: I understand your concerns, having alpha chars having a special meaning can be confusing
19:03:54 <AnMaster> RodgerTheGreat, a byte code interpreter
19:03:57 <ais523> I think the numbers are all just numbers though
19:04:14 <AnMaster> ais523, HAH WHAT A COMFORT! *runs*
19:04:52 <RodgerTheGreat> if you want a stack and your code all in the same memory, the way I think MIPS does it is code starting at the top and going down, and the stack growing up from the bottom toward it
19:05:31 <AnMaster> RodgerTheGreat, so program counter/instruction pointer counts downwards?
19:05:55 <ais523> stack goes backwards from the end of the segment
19:06:20 <AnMaster> and what about call stack then?
19:06:29 <AnMaster> should it be placed near the end and grow upwards
19:07:30 <AnMaster> but should it grow up or down?
19:07:33 <RodgerTheGreat> I tend to think of memory as arranged from low addresses to high addresses vertically. 00000000 is at the "top" and FFFFFFFF is at the "bottom"
19:07:41 <AnMaster> does x86 even have a separate call stack or?
19:07:48 <ais523> AnMaster: call stack's mixed with variable stack
19:08:04 <AnMaster> ais523, well in my code it isn't so far
19:10:52 <AnMaster> ais523, btw it is pointless trying to use splint on cfunge, splint get parsing errors on even simple C99 stuff like: for (int i = 0; ...)
19:11:04 <ais523> it gets parsing errors on C-INTERCAL, too
19:11:08 <ais523> at least some of the files
19:11:23 <AnMaster> ais523, for cfunge it only works on like 2-3 files
19:11:43 <AnMaster> and only when you ifdef stuff in certain shared headers out
19:25:34 <AnMaster> well if anyone want to see my early steps towards the byte code interpreter there is now a bzr repo
19:25:45 <AnMaster> bzr branch http://rage.kuonet.org/~anmaster/bzr/ansembler
19:27:30 * ais523 starts trying to compile cfunge with ick
19:28:11 <tusho> ais523: how would that work
19:28:22 <ais523> tusho: it links C files to INTERCAL files when compiling
19:28:32 <ais523> of course it shells out to gcc to compile the C
19:28:38 <ais523> after doing a few ick-specific tweaks to it
19:28:51 <ais523> for things like COME FROM
19:29:54 <AnMaster> ais523, don't use boehm-gc btw, it got serious bugs in cfunge, and needs a very recent boehm-gc version, + it slows down a fair bit
19:30:24 <AnMaster> ais523, apart from that you need some other defines too to make it compile, oh and you need -std=c99
19:30:25 <ais523> AnMaster: hmm... I'll need some INTERCALLY way to do -D
19:32:19 <AnMaster> ais523, well what flags you *will* need at least: -std=c99 -DDISABLE_GC -DUSE32 -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED
19:32:22 <AnMaster> -pedantic -Wall -Wextra -Wformat=2 -Wwrite-strings -Wa-lot-of-other-flags-see-the-cmake-file
19:32:42 <AnMaster> ais523, CMakeLists.txt to be exact
19:33:40 <tusho> AnMaster: nothing needs -W to compile
19:33:43 <AnMaster> ais523, the "-D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED" are needed on glibc systems to get the needed defines
19:33:51 <AnMaster> tusho, indeed it was just show off ;P
19:34:21 <AnMaster> it will compile with -Werror and a lot of warning flags if you want to
19:37:17 -!- revcompgeek has left (?).
19:42:51 <ais523> anyway, cfunge hit a Schrodingbug in C-INTERCAL
19:43:05 <ais523> the code's obviously wrong, and looking at it there's no obvious reason why it ever worked at all
19:43:09 <ais523> I'll have to look into that
19:43:54 <AnMaster> ais523, is it on your side or mine?
19:44:06 <AnMaster> tell me what this bug is when you found out!
19:44:14 <ais523> ah wait, I see what happened
19:44:32 <ais523> it's mixing the code for searching for an expansion library (=no extension) with the code for including a C file (=.c extension)
19:44:46 <ais523> the issue that the files are being double-extended, so gcc can't find main.c.c
19:45:15 <AnMaster> ais523, well you will need to replace main.c totally I think
19:45:24 <AnMaster> it contains nothing useful for fffungi really
19:45:35 <ais523> AnMaster: yes, I'll be replacing it
19:45:40 <AnMaster> just parameter parsing and such
19:46:04 <AnMaster> one thing to note however is that argc/argv variables are in main.c and need to be moved elsewhere
19:46:25 <ais523> I wrote break rather than continue
19:46:35 <ais523> thus causing subtle bugs when more than 2 files were involved
19:47:33 <AnMaster> ais523, btw I suspect the PERL fingerprint *could* interact badly with ick
19:47:51 <AnMaster> ais523, it both fork()s execv()s and then uses some pipes to talk to child process
19:49:22 <AnMaster> ais523, could that cause issues with C-INTERCAL?
19:49:32 <ais523> AnMaster: probably it's fine
19:49:52 <ais523> C-INTERCAL's surprisingly robust against everything but call stack tricks
19:50:22 <AnMaster> ais523, because that fingerprint is one main reason I'm dropping Boehm-GC, if Boehm-GC is used to malloc there, then memory corruptions happens on the stack
19:50:31 -!- jix has joined.
19:51:02 <AnMaster> and valgrind doesn't find any issues
19:52:06 <ais523> AnMaster: Perl is refcounted IIRC
19:52:20 <AnMaster> ais523, maybe, but that shouldn't affect a execv()
19:52:30 <AnMaster> I just fork() and execv() perl
19:55:50 <ais523> hmm... gcc seems not to be in c99 mode by default, I thought it was
19:56:08 <AnMaster> ais523, indeed that is the case
19:56:37 <AnMaster> -DDISABLE_GC -DUSE32 are needed to get sane behaviour from cfunge in your case
19:56:51 <AnMaster> -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED are needed on glibc based system to expose some definitions
19:57:38 <AnMaster> well you could add them before the first include in global.h but...
19:57:42 <ais523> AnMaster: atm there's no way to pass commandlineargs to gcc through ick, so I'm just editing the #defines into global.h temporarily for testing until I can think of a better way
19:58:21 <AnMaster> ais523, as for -std=c99 you need to pass it on command line
19:58:36 <AnMaster> I don't know of any way to do it in the C code itself
19:58:59 <AnMaster> I don't think that is possible even
19:59:12 <AnMaster> so you need to pass that parameter for cfunge :P
19:59:20 <ais523> AnMaster: I only get 4 errors if I #define restrict to the null string
19:59:32 <ais523> all for for loop initial declarations
19:59:35 <AnMaster> ais523, well... that is unsupported!
19:59:38 <ais523> which I think could be rewritten
19:59:47 <ais523> AnMaster: restrict's just an optimiser hint
19:59:52 <AnMaster> then you are using lots of GCC extensions
20:00:05 <ais523> well, it's called gnu99
20:00:21 <ais523> I'm surprised it doesn't support restrict, though
20:00:29 <ais523> ah, that would explain a lot
20:00:49 <AnMaster> ais523, anyway why not just add support for -std=c99 passing?
20:01:16 <ais523> AnMaster: yes, I know, but the issue is figuring out where the args would be passed from
20:01:19 <AnMaster> ais523, because for some cases the gnu extensions got a different semantic than the C99 ones
20:01:29 <AnMaster> like inline on non-static functionbs
20:01:42 <AnMaster> so I got no idea if gnu89 will work correctly
20:05:52 <AnMaster> ais523, so really trying to convert it to gnu89 is totally unsupported from my side?
20:06:15 <AnMaster> what about building it as a static library at compile time? and then linking that?
20:06:36 <ais523> that's what'll be done in the final version
20:06:46 <ais523> right now I'm just wondering how well it works if just linked in as source
20:06:54 <AnMaster> then you can use some autoconf macro to find c99 for current compiler iirc
20:07:03 <AnMaster> however that is global for project afaik not per file
20:07:19 <ais523> well, C-INTERCAL's legal C99 too, I think, even though I don't use its features
20:07:34 <ais523> apart from I use // comments temporarily when debugging, then I can easily find them all by recompiling as strict C89
20:07:37 <AnMaster> ais523, there may be some rare corner cases where it isn't valid
20:08:25 <AnMaster> well cfunge use a lot of // comments :P *thinks of hilarious result trying to compile cfunge as strict C89*
20:08:36 <AnMaster> it will fail in a lot of places
20:08:53 <AnMaster> ais523, oh btw, not sure if you noticed it, but all of cfunge isn't in src
20:09:06 <AnMaster> it is an external hash library
20:09:27 <AnMaster> even though it is quite special cased
20:10:00 <AnMaster> in case of linking errors this could be important to know
20:10:11 <ais523> I haven't got to the stage where it links yet
20:10:27 <AnMaster> also that hash library may be partly C99-ified
20:12:28 <ais523> AnMaster: C99 preprocesses the same way as C89 on cfunge, right?
20:13:27 <AnMaster> ais523, well I don't think I use any varadic macros
20:14:08 <AnMaster> ais523, I remember using a varadic macro in some project at some point
20:14:20 <ais523> well, it seemed to preprocess alright
20:14:22 <AnMaster> ais523, anyway why do you want to turn cfunge into c89?
20:14:26 <ais523> but presumably variadic macros would do that
20:14:42 <AnMaster> also gnu89 *does* support varadic macros
20:14:50 <AnMaster> though not in same form iirc *unsure about that*
20:15:17 <ais523> oh well, the method I'm using is to use file extension .c99 for C99 files
20:15:27 <ais523> so I can just preprocess them as C99 too
20:15:55 * Sgeo actually wrote a decent README once
20:16:31 <AnMaster> ais523, btw I wish that you change HANDPRINT in global.h slightly in your version
20:17:09 <ais523> AnMaster: yes, that would make sense
20:17:15 <ais523> what if I use unmodified source, though?
20:17:21 <ais523> that's what I'm aiming for
20:18:00 <ais523> personally I think the handprint should be differnet anyway
20:18:25 <AnMaster> but you will need to modify somewhat, rip out main.c and replace it in some way right?
20:19:21 <ais523> AnMaster: actually I use linker tricks to rip out the old main
20:19:34 <ais523> by ignoring the main function it creates in favour of mine
20:19:55 <AnMaster> ais523, well that's... interesting
20:20:08 <AnMaster> anyway you should indeed change HANDPRING
20:20:25 <ais523> AnMaster: is the handprint stored in an externally-visible variable?
20:20:32 <ais523> if so, I can use linker tricks to change it too
20:20:44 <ais523> ah, that's harder to change
20:21:15 <AnMaster> ais523, well such a small change would be rather simple to maintain wouldn't it?
20:21:26 <AnMaster> you could even do some sed trick at compile time
20:21:45 <ais523> it's not that intercally though
20:21:47 <AnMaster> while version fingerprint would change every now and then, the HANDPRINT wont ever
20:21:57 <ais523> the horrible breaky way would be to modify the handprint directly in the executable
20:22:08 <ais523> I'm not doing that, though
20:22:23 <AnMaster> ais523, because that could cause collisions
20:25:05 <AnMaster> anyway just maintaining a small patch like that is easy
20:25:45 <AnMaster> you will need to update it occasionally if you do it like a patch becase the version number is next to it, and thus patch context will change, or you could sed it at compile time and never need to worry about that again
20:26:21 <AnMaster> ais523, still you need some source changes, to be exact: src/fingerprints/fingerprints.h
20:26:30 <AnMaster> to contain your extra fingerprint too
20:26:50 <ais523> also for the fungespace metadata stuff
20:26:51 <AnMaster> ais523, and then there is the load from string instruction too right?
20:27:03 <ais523> yes, but I can do that in my code, I think
20:28:22 <AnMaster> also you will need to replace a bit more than main() it seems there
20:28:30 <AnMaster> because interpreterRun() takes as argument a filename
20:28:43 <AnMaster> main() doesn't load the file, interpreterRun() does
20:28:55 <AnMaster> main() is only option parsing really
20:29:15 <ais523> well, also I think for technical reasons interpreterMainLoop may need to be split into two functions, one which is the body of the loop, the other which just calls it repeatedly
20:29:37 <AnMaster> interpreterMainLoop is already like that
20:29:42 <ais523> it's so that the outside wrapper function can be made a C-INTERCAL interface function
20:29:44 <AnMaster> it just calls ExecuteInstruction()
20:29:57 <ais523> AnMaster: yes, I know, but there seems to be more in the loop than that
20:30:05 <AnMaster> yes there is some thread stuff
20:30:28 <AnMaster> "#else /* CONCURRENT_FUNGE */"
20:30:32 * Sgeo impregnates a norn with herself
20:31:01 <AnMaster> ais523, that non-threading one just does three things:
20:31:09 <AnMaster> 1) get next instruction from funge space
20:31:19 <AnMaster> 2) optionally print some debug info
20:31:49 <AnMaster> the concurrent version does a bit more
20:32:05 <ais523> yes, I'd basically have to rewrite interpreterMainLoop for the interface-with-INTERCAL version
20:32:16 <ais523> so that I can stop executing the Befunge program and start executing INTERCAL instead
20:32:36 <AnMaster> well the non-concurrent version is fairly simple!
20:32:59 <AnMaster> ais523, you will need to run parts of interpreterRun too
20:33:35 <AnMaster> ais523, cfunge need random srandom() for conformant operation, so I hope intercal doesn't need it to be predictable
20:33:44 <ais523> no, that would be silly
20:33:50 <ais523> but INTERCAL already srandoms
20:33:57 <AnMaster> ais523, well it is intercal... you never know ;P
20:34:04 <ais523> so I'll have to be careful not to reseed repeatedly
20:34:20 <AnMaster> if (!FungeSpaceLoad(filename)) {
20:34:20 <AnMaster> fprintf(stderr, "Failed to process file \"%s\": %s\n", filename, strerror(errno));
20:34:45 <AnMaster> skip next block with ip list (that's concurrent)
20:34:51 <ais523> well, it'll be "load from value of global variable"
20:34:54 <ais523> which'll probably be a string
20:35:07 <ais523> what's in an IP object, by the way?
20:35:12 <ais523> I may have to end up storing several
20:35:21 <ais523> as in, does it contain pointers to things?
20:35:32 <ais523> How would I duplicate them, and destroy them?
20:35:34 <AnMaster> see definition of struct there
20:35:49 <AnMaster> there are functions for duplications and destruction when concurrency is enabled
20:37:48 <AnMaster> ais523, I'm not sure in what meaning you plan to destroy/create them, but possibly you may need to copy fingerHRTItimestamp along, depending on the exact way you interpret specs
20:38:07 <ais523> AnMaster: basically to save the IP in the Befunge program while destroying stack
20:38:22 <AnMaster> I'm not sure I get what you mean there
20:38:28 <ais523> I can't store it in an auto, I'll have to temporarily copy it to a global for safekeeping
20:38:37 <ais523> actually, it probably isn't a problem
20:38:47 <AnMaster> so just a pointer to copy somewhere
20:38:49 <ais523> definitely not a problem then
20:39:38 <AnMaster> ais523, you can see where cfunge store them: interpreter.c line 50-54
20:40:00 <AnMaster> ip list is, again, only for concurrent stuff
20:40:44 <AnMaster> which you indeed can't support in a sane way
20:41:19 <AnMaster> ais523, so just ignore everything between #ifdef CONCURRENT_FUNGE and the next #else (or if such doesn't exist, the next #endif ;P)
20:41:53 <AnMaster> err not "next" make that "matching"
20:42:00 <ais523> interpreter.c99:72: warning: C99 inline functions are not supported; using GNU89
20:42:01 <AnMaster> as there are some nested cases ;P
20:42:21 <ais523> gcc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
20:42:32 <AnMaster> it doesn't generate that warning
20:42:43 <ais523> presumably it gets it wrong anyway, though
20:42:48 <ais523> just doesn't warn about it
20:43:02 <AnMaster> gcc (GCC) 4.1.2 20070214 ( (gdc 0.24, using dmd 1.020)) (Gentoo 4.1.2 p1.0.2)
20:43:46 <AnMaster> <ais523> presumably it gets it wrong anyway, though <ais523> just doesn't warn about it <-- probably, but it isn't much of an issue I think, possibly slightly less effective code
20:44:05 <AnMaster> for the inline difference the effect is in no way disasterous
20:44:10 <AnMaster> but for other stuff it could be
20:44:29 <AnMaster> I just have no intention on supporting compiling as gnu89
20:44:50 <ais523> what does gnu89 inline mean anyway?
20:44:53 <AnMaster> because it could break badly and would be hard to track down
20:44:57 <ais523> IIRC c99 inline means "compile as fast as possible"
20:45:08 <ais523> sorry "compile so that it runs as fast as possible"
20:45:21 <ais523> maybe also prevents pointers being taken to the function, not sure on that
20:45:27 <AnMaster> it means "place the code inside the calllers function body" in both cases
20:45:34 <AnMaster> for "static inline" there is no difference
20:45:46 -!- ihope___ has joined.
20:45:55 <AnMaster> however "extern inline" and "inline" without extern have reversed meanings beteween gnu89 and C99 iirc
20:46:03 -!- ihope___ has changed nick to ihope.
20:46:05 <AnMaster> but I refer to GNU manual in this case
20:47:07 <ais523> anyway, it almost worked
20:47:15 <ais523> just some link errors as expected due to some files not being linked in
20:47:37 -!- RedDak has joined.
20:47:57 <ais523> ah, there are also subdirs of src
20:48:00 <ais523> which presumably also need to be linked
20:48:57 <AnMaster> for fingerprints there are two layers
20:49:03 <AnMaster> for everything else just one layer iirc
20:49:18 <AnMaster> ais523, I like structuring my code in a logic way ;P
20:50:02 <ais523> well, for my tests I'll just dump them all into the same dir to make things easier, but the final version will keep them in their original locations and with the right file extensions
20:50:25 <AnMaster> ais523, also you can't dump in same without some crazy symlinks I think
20:50:34 <AnMaster> as they got stuff like #include "../headerfile.h"
20:51:06 <AnMaster> (well when I coded it I didn't think that would be an issue!)
20:52:24 * ais523 writes some crazy symlinks
20:52:39 <AnMaster> ais523, sure that is really easier?
20:52:52 <ais523> no, but I'm doing it anyway
20:53:19 <AnMaster> ais523, well what are you checking for currently?
20:53:28 <ais523> actually I used hardlinks
20:53:44 <ais523> not that it matters, I'm going to delete the directory tree soon anyway
20:53:47 <AnMaster> well anyway, what are you trying to check for atm on the source?
20:54:03 <ais523> AnMaster: just trying to get it to link
20:54:11 <ais523> ick requires the names of all relevant files on the command-line
20:54:15 <ais523> so I'm just using wildcards
20:54:23 <AnMaster> well so does cfunge build system
20:54:30 <AnMaster> FILE(GLOB CFUNGE_SOURCES RELATIVE ${CFUNGE_SOURCE_DIR}
20:54:49 <AnMaster> ais523, sorry if I mentioned that bit too late ;P
20:56:37 * AnMaster goes to get some food, will be back soon
21:03:34 <ais523> just -lm was missing...
21:03:42 <AnMaster> ah yes that is for some fingerprints
21:04:01 <ais523> ick -be stub.i *.c99 */*.c99 */*/*.c99 ../lib/*/*.c99 was the command I used, by the way
21:04:14 <ais523> after renaming all the C files to end .c99
21:04:16 <AnMaster> ah so you gave up "all in one dir"?
21:04:23 <ais523> yes, I handled most of the dependencies
21:04:31 <ais523> but things like ../fingerprints were confusing to handle
21:05:16 <AnMaster> um you mean ../fingerprints.h?
21:05:19 <ais523> I think I'll program C-INTERCAL to interpret "libm.a" on the command-line as equivalent to -lm on GCC
21:05:34 <ais523> AnMaster: no, I mean like ../fingerprints/HRTI/HRTI.h
21:05:56 <ais523> that was just an example
21:05:58 <ais523> but it was that sort of thing
21:06:38 <AnMaster> ais523, interesting, well libm is certainly needed. when I implement the SOCK fingerprint in the future (it handles sockets), libnsl could be needed on *some platforms*
21:06:52 <AnMaster> not trying to give you a headache, except intercal already gave that to me ;P
21:07:01 <ais523> nah, don't worry about it
21:07:11 <ais523> I enjoy trying to deal with all the strange interactions between different parts of the language
21:07:16 <ais523> and different parts of the code
21:07:40 <AnMaster> ais523, anyway glibc systems won't need libnsl and probably shouldn't use it
21:07:50 <AnMaster> not sure about systems like freebsd though
21:08:58 <AnMaster> I know cfunge works on freebsd and it did work on openbsd at one point at least. it works with some changes on windows with mingw. oh and of course it works on linux. apart from that: no clue
21:09:24 <ais523> you were targetting posix, presumably
21:12:06 <AnMaster> ais523, but I can't guarantee I haven't made mistakes that makes it unportable
21:12:20 <AnMaster> for example: big endian? don't have any such POSIX system to test on
21:12:27 <AnMaster> and I don't plan to port it to mac os 7
21:14:04 <AnMaster> it is in some box in the attic I think
21:18:57 <AnMaster> ais523, anyway I hope it is portable to all POSIX :)
21:19:08 <AnMaster> I don't really care about windows
21:19:25 <Sgeo> The Warp is alive
21:22:35 <ais523> I'm still thinking about how to do libraries best
21:22:45 <ais523> the command line arg code in C-INTERCAL is really fragile
21:23:21 <AnMaster> ais523, or you could drop some of the fingerprints, the core doesn't need libm. just the fingerprints
21:23:38 <ais523> yes, but then I'd have to figure out how to compile it again
21:23:43 <ais523> does it work if the fingerprints aren't linked in?
21:24:03 <AnMaster> you will need to change fingerprints.h to remove some entries from the big array there, but then it will work
21:24:11 <AnMaster> it is just an array with some metadata
21:24:30 <AnMaster> oh btw you may hate to hear this: in the future I plan some fingerprints to be loaded with dlopen()
21:24:43 <ais523> no way that would work on DOS, but cfunge probably doesn't work there anyway
21:24:45 <AnMaster> I'm sure it would make stuff hard for you so I may not do it
21:25:05 <AnMaster> ais523, well, you have to strip quite a few fingerprints and then it works on windows I think
21:26:05 <AnMaster> ais523, and that was a few months ago, I got no idea if it still is that bad, or worse
21:26:20 <AnMaster> anyway I probably won't do the dlopen thing
21:26:38 <AnMaster> ais523, I will be happy to not try to mess it up too badly for you if you get this working
21:27:05 <ais523> meh, for the time being I'll just hardcode the -lm in C-INTERCAL
21:27:24 <AnMaster> only changes that are likely to happen are: 1) new fingerprints 2) new funge space code 3) small bugfixes
21:27:39 <AnMaster> other than that cfunge is pretty finished
21:27:48 <AnMaster> and the public interface to funge space won't change
21:28:31 <ais523> ok, it compiled and linked
21:28:45 <ais523> and it's a nop, just as I planned
21:28:53 <ais523> now all I have to do is write the linking code...
21:30:03 <AnMaster> ais523, yes that is the hard part eh?
21:30:30 <AnMaster> btw doesn't ick link dynamic libraries at all?
21:30:52 <ais523> have you seen how bad INTERCAL is at arithmetic?
21:31:03 <ais523> there's a floating point library for INTERCAL, but it works with bitwise manipulation
21:31:29 <AnMaster> I fully admit not understanding most of intercal
21:31:34 <ais523> AnMaster: well there are only 5 basic operators, and they're all bitwise
21:32:09 <AnMaster> ais523, interesting, how will data be passed between funge and intercal?
21:32:27 <ais523> AnMaster: I was planning to add a fingerprint command for the Funge to get and set INTERCAL variables
21:32:32 <ais523> that's much how I do it with C
21:32:42 <AnMaster> see the fingerprints: FPDP and FPSP for some floating point
21:32:45 <ais523> it's how INTERCAL programs pass data within themselves, too
21:33:21 <AnMaster> what will you call your fingerprint?
21:33:37 <ais523> I've been thinking about that, actually
21:33:44 <ais523> I could fit 6 chars in if the name's in Baudot
21:33:50 <ais523> because there are 32 bits to play with
21:34:10 <ais523> I think I'll use an ASCII name, though
21:34:14 <AnMaster> also the scripts of cfunge will complain
21:34:28 <AnMaster> because I'm quite sure things will go very bad in auto generation
21:34:53 <ais523> I'm thinking an acronym, maybe based on Intercal Integration
21:35:22 <AnMaster> it will accept some other too with warnings
21:35:43 <AnMaster> utils/gen_fprint_list.sh line 82-90
21:36:52 <AnMaster> ais523, but please conform to [A-Z0-9]{4}, because other stuff could cause C errors, due to function names
21:36:57 <ais523> I think I'll stop working on fffungi for now, maybe continue tomorrow
21:37:15 <ais523> AnMaster: because I need to think about this a bit more
21:37:21 <ais523> and I've been programming continuously for ages
21:37:38 <ais523> well, I have other things to do too
21:37:57 <AnMaster> wait? are you telling me there is something else besides esotericness?
21:38:25 <AnMaster> well I got summer holidays now so :)
21:38:38 <ais523> so have I, but I still have other things to do...
21:39:21 <ais523> at least it's going somewhere
21:39:33 <ais523> and I'm pretty convinced that there isn't some big contradiction making it impossible
21:40:05 <AnMaster> ais523, just a lot of small issues
21:40:43 <AnMaster> ais523, anyway if you have problems linking you certainly don't want to use boehm-gc, it need two more *dynamic* libraries
21:40:53 <AnMaster> oh wait they could be static too
21:41:01 <AnMaster> I actually do them static for binary releases
21:41:09 <ais523> the problem's to do with trying to get ick to give the right command line to gcc
21:41:11 <ais523> it's long enough as it is
21:41:36 <AnMaster> but that will be less of a problem when cfunge itself is a static library?
21:41:53 <AnMaster> also to avoid name collisions it should be libickcfunge.a or something like that
21:42:02 <AnMaster> who knows if I want to make a libcfunge.a in the future
21:42:05 <ais523> I generally do libick then two characters
21:42:13 <ais523> so libickcf for instance
21:42:20 <AnMaster> I use cf as prefix in some internal parts
21:42:44 * AnMaster points vaguely in the direction of support.h
21:44:26 <ais523> grr... why are the IOCCC so slow in releasing the solutions?
21:44:46 <ais523> they selected the winners last September
22:04:29 <AnMaster> ais523, so when I'm here (I may be away tomorrow) are there any more cfunge questions?
22:04:37 <AnMaster> load from string I could write for you
22:04:49 <ais523> yes, that would be nice
22:05:10 <ais523> the string itself will come from a stub .c file that just defines one global variable, which is the string
22:05:15 <ais523> but I'll pass it to you as an argument
22:05:43 <AnMaster> well yes const char * restrict program
22:09:01 <AnMaster> ais523, well I think that is finished, haven't test compiled it yet
22:09:30 <AnMaster> ais523, was just some changes to the loop of FungeSpaceLoad really that was needed
22:09:47 -!- Bishopshate has joined.
22:10:11 <AnMaster> well it compiles, haven't tested it though
22:11:57 <AnMaster> ais523, you can see the original version first and the modified after at http://rafb.net/p/3vJs6I41.html
22:12:41 <ais523> yes, it's a pretty small change
22:13:01 <AnMaster> and thus I think it will work even without testing it
22:14:05 <AnMaster> ais523, will it be possible to link C code, intercal code AND befunge code at once?
22:14:22 <ais523> probably not two Befunge programs simultaneously, though
22:14:42 <ais523> however there's a potential issue with namespace collisions between C and cfunge
22:14:47 <AnMaster> well indeed I use one static variable there
22:15:08 <AnMaster> well I don't feel like redesigning the whole code to use prefixes everywhere
22:15:30 <ais523> I added the prefixes with search-and-replace
22:15:36 <AnMaster> ais523, however some visbility("hidden") attributes could help
22:15:36 <ais523> but then spent a while fixing breakage that caused
22:15:50 <AnMaster> yes that is pretty likely to cause breakage
22:16:01 <AnMaster> due to all places they are called in and so on
22:16:02 <ais523> the issue was that I did, in this case, want to replace inside string literals
22:16:16 <AnMaster> where do I have such string literals?
22:16:19 <ais523> because most of them hold bits of C code that go into the finished program
22:16:27 <ais523> you probably don't have that problem
22:17:02 <AnMaster> ais523, well I think some issues could happen from "way to cleaver" preprocessor defines
22:17:11 <AnMaster> like those constructing functions
22:17:34 <AnMaster> see the ROMA fingerprint for example
22:17:40 <AnMaster> there it is static so no problem
22:19:26 -!- oerjan has joined.
22:21:40 <Sgeo> http://forums.gamewaredevelopment.com/showthread.php?t=7572
22:21:42 -!- Slereah_ has joined.
22:22:01 <Sgeo> hi Slereah_ and oerjan
22:22:08 <AnMaster> ais523, I will commit the untested FungeSpaceLoadString
22:24:36 <AnMaster> ais523, you will need to -DFUNGE_EXTERNAL_LIBRARY to get it
22:24:36 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
22:24:46 -!- Slereah_ has joined.
22:24:47 <AnMaster> as I don't want to pollute the normal cfunge binary
22:25:30 <AnMaster> Ilari, well partly, but the server is quite heavily loaded I know
22:26:09 <AnMaster> 9:25PM up 222 days, 20:23, 7 users, load averages: 2.33, 1.23, 4.23
22:27:08 <AnMaster> ais523, anyway bzr pull should work, if it doesn't you need to use --remember once to tell it the url
22:34:16 <ais523> I haven't tried to pull yet
22:34:32 <ais523> I think I'll probably just rebranch
22:34:35 <AnMaster> do because I want to know if I need to tell you to do an additional step
22:34:45 <ais523> renaming all the files in a repo tends to confuse version control systems
22:34:59 <AnMaster> ais523, you could bzr --recursive revert .
22:35:30 <AnMaster> no need for recursive it seems
22:35:58 <AnMaster> "Use "bzr revert ." in the tree root to revert all files but keep the merge record,
22:35:58 <AnMaster> and "bzr revert --forget-merges" to clear the pending merge list without
22:36:16 <tusho> AnMaster: he renamed every file
22:36:27 <AnMaster> tusho, yes but that would restore them
22:36:39 <tusho> He renamed them for a reason I am guessing, AnMaster
22:36:50 <ais523> tusho: yes, to change the extension for all the c99 files to .c99
22:37:03 <tusho> git is far more resilient than any others
22:37:17 <tusho> it has to be for the kernel
22:37:19 <AnMaster> prove that it isn't and I will believe it
22:37:21 -!- ais523 has quit ("avoiding a flamewar").
22:37:41 <tusho> zomg, he parted #esoteric!!111!1
22:37:55 <tusho> <AnMaster> unlike maybe git
22:38:01 <tusho> if that's not incitement to a flamewar I don't know what is
22:38:08 <tusho> you could have simply omitted that inflammatory line
22:38:31 <AnMaster> tusho, he even disconnected thanks to you
22:38:49 <Sgeo> The Warp survived
22:38:54 <tusho> weird, he disconnected?
22:38:56 <tusho> why not just /part?
22:39:06 <tusho> come back, logreadais523
22:39:58 -!- Bishopshate has quit (Read error: 110 (Connection timed out)).
22:40:25 <tusho> NOW YOU'RE DEAD SO YOU CAN'T COME BACK
22:40:27 <tusho> BUT COME BACK ANYWAY
22:46:11 <tusho> AnMaster: again, you initiated it
22:46:12 <oklopol> my guess: was going to leave, wanted a funny quit msg
22:46:31 <oklopol> not that i have any idea what's been going on
22:46:33 <tusho> he never leaves at this time
22:46:45 <AnMaster> tusho, and you made it into a flameward
22:46:53 <oklopol> i've seen him do all kinds of join/part cycles
22:46:53 <AnMaster> you didn't need to say anything
22:47:06 <tusho> you didn't need to say anything in the first place, though
22:47:18 <AnMaster> tusho, agreed, but why did you respond to it at all?
22:47:26 <tusho> because you initiated it
22:47:32 <tusho> so I responded to it
22:47:38 <tusho> because you were wrong
22:47:46 <tusho> AnMaster: don't troll in the first place
22:59:40 <oklopol> that's what they said about you
22:59:59 <oerjan> after all, AIS secretely stands for Arnold I. Schwarzenegger. it's surprising he is here as much as he is.
23:00:15 <oerjan> (the Smith thing is just a ruse.)
23:01:35 <Sgeo> http://ccbb.biosci.utexas.edu/seminars.html
23:01:37 <AnMaster> oerjan, what does he say his name is?
23:01:47 <Sgeo> "The term "Sgeo-cybernetics" was first proposed in 2005 by Reyes et.al."
23:02:15 <oklopol> we have two famous guys here!
23:02:28 <AnMaster> oklopol, rather a co-incidence?
23:02:47 <oklopol> well actually i consider oerjan famous too
23:02:59 <tusho> oerjan is a MATHEMATICIAN
23:03:01 <oklopol> and i widely know myself, so i guess i'm famous.
23:03:02 <tusho> he's published PAPER
23:03:12 <tusho> and he's in the AMERICAN MATHEMATICAL THINGY
23:03:22 <tusho> and he plays agora
23:03:26 <tusho> that's the most important part
23:03:44 <oklopol> well didn't Sgeo or someone recognize his picture from somewhere
23:03:52 <oklopol> from something like agora perhaps
23:03:52 <tusho> oh god, if oklopol joined Agora...
23:04:05 <tusho> it'd be all crazy all the time
23:04:16 <Sgeo> What picture did I recognize? I don't remember that..
23:04:25 <oklopol> Sgeo: may have been someone else
23:04:31 <tusho> oklopol: http://www.agoranomic.org/cgi-bin/mailman/listinfo/agora-official http://www.agoranomic.org/cgi-bin/mailman/listinfo/agora-business http://www.agoranomic.org/cgi-bin/mailman/listinfo/agora-discussion http://www.listserver.tue.nl/mailman/listinfo/agora http://yoyo.its.monash.edu.au/mailman/listinfo/nomic
23:04:43 <tusho> oklopol: subscribe to all of them, then email agora-business@agoranomic.org saying that you register
23:08:28 -!- Corun has joined.
23:10:19 -!- Corun has quit (Client Quit).
23:22:42 -!- Sgeo has quit (Connection timed out).
23:43:38 -!- Corun has joined.
23:51:58 -!- timotiis has quit (Read error: 110 (Connection timed out)).
23:51:59 <AnMaster> that shouldn't be possible right
23:52:39 * tusho sets up an improptu nomic
23:53:28 <tusho> 1. The game is this game. The name of this game is "#esotericia". All players are people who have stated that they wish to play the game. All players of the game. 2. Any player may propose a change to the rules. If all players agree to it, it takes effect.
23:56:27 <tusho> I'll only play for like 30m :P
23:56:42 <tusho> sleep is an illusion
23:56:53 <tusho> Corun: you? You just came in here :-P