00:01:23 <GregorR-L> http://www.choosemyhat.com/ is now officially live
00:02:52 <oklopol> guess i'll design you a schedule then
00:03:46 * oklopol chooses the boring ones to leave the good stuff for later
00:04:45 <oklopol> now back to my ...thing ->
00:56:11 <oklopol> i hate writing long stories, i can't handle complex plots and i have a very intense imagination: very bad combination
00:57:25 <oklopol> long == 15 pages or more for me, i usually write even shorter ones.
01:21:08 -!- RodgerTheGreat has joined.
01:22:51 * oklopol is writing a story about a bunch of lunatics that are soon to be killed
01:24:59 <oklopol> www.vjn.fi <<< i'm a month behind
01:25:29 <oklopol> my 1½ week trip to germany killed our article-per-day project for a while, i'm catching up now :)
01:26:17 <oklopol> we started right after last summer, there's also another almost 3 month gap because of pure laziness
01:26:46 <oklopol> we had a group of 5 ppl deciding each writes 1-2 articles a week
01:26:54 <RodgerTheGreat> I've been spending the summer doing some coding on an RPG game engine- do you have a java plugin for your browser?
01:26:59 <oklopol> but turned out only 2 of us would actually write anything :)
01:28:25 <RodgerTheGreat> well, if you in fact do, take a gander at the demo I have online at the moment: http://rodger.nonlogic.org/games/CRPG/
01:28:41 <RodgerTheGreat> some aspects of it (like going through doors) are buggy, but it's a work in progress.
01:30:33 <oklopol> i guess i'm installing a plugin now
01:30:56 <oklopol> or downloading something completely irrelevant, we'll see in a minute
01:31:38 <oklopol> i assumed it's something everyone knows
01:33:32 <oklopol> i wonder what to do with it...
01:33:41 <oklopol> why can't programs install themselves...
01:35:06 <GregorR-L> bsmntbombdood: I am the tiebreaker.
01:36:14 <GregorR-L> oklopol: Is it next to a .cue file?
01:36:42 <GregorR-L> Then it's a binary of some kind :P
01:38:01 <oklopol> hmm.... there was, like, this button that said "install plugin"... so i pressed it (even though it didn't blink) and it said something about not being able to do something and i have to do something manually and i found myself on a page with linux penguins and a list of files ot dl
01:38:13 <oklopol> so... naturally i clicked on a random link
01:38:50 <oklopol> i'm pretty sure you can advise me based on that.
01:39:19 <GregorR-L> chmod 0755 it, run it, and watch it reformat your hard disk.
01:39:49 <GregorR-L> Also, if that's the flash player, just use the RPM (+alien on non-RPM platforms)
01:41:23 <oklopol> and i have no idea about _anything_
01:42:32 <oklopol> in pretty much anything regarding software someone other than me created
01:42:58 <RodgerTheGreat> oklopol: this may solve your problem: http://linux.about.com/od/ubuntu_doc/a/ubudg22t8.htm
01:44:15 <GregorR-L> bsmntbombdood: I'll add a "digg this" button if you give me the HTML.
01:44:18 <GregorR-L> I don't have a fegging clue with digg.
01:44:51 <oklopol> RodgerTheGreat: i might have a faint idea what it says there... but let's not get our hopes up
01:46:45 <oklopol> i should install a brain first
01:49:13 <oklopol> but that'd be like dl'ing winzip in a .zip-file
01:53:41 <pikhq> It's almost like having GCC in C, or tar in a tarball, or Make with a Makefile. . .
01:54:09 <oklopol> yes, but are those ever officially distributed like that? :)
01:54:38 <oklopol> i guess that's sensible in some way
01:54:44 <pikhq> GNU Make actually depends upon Make, automake, autoconf, etc.
01:54:47 <oklopol> though i don't know the way
01:54:49 <GregorR-L> GCC is in C, tar is in a tarball but also has a sharball, and make is distributed with an sh script as well.
01:55:20 <pikhq> Of course, if you don't *have* those, the method of installation you have remaining involves bootstrapping a build environment. . .
01:55:26 <pikhq> GregorR-L: Oh, make has a .sh? Didn't know that.\
01:55:44 <pikhq> Likewise, didn't know that tar had a shar of it.
01:55:59 <GregorR-L> http://ftp.gnu.org/gnu/tar/tar-1.16.1.shar.gz
01:55:59 <oklopol> i don't know about those, but at some point winzip was ONLY distributed in .zip-format on the official page
01:56:14 <GregorR-L> There's a non-gzipped version of that too :P
01:56:14 <oklopol> i had to install pkunzip to get it open
01:56:20 <pikhq> What's the point of a *compressed* shar? If you don't have tar, you probably don't hbave gzip. . .
01:56:25 <pikhq> Oh, I stand corrected.
01:56:43 <pikhq> At that point, you do depend upon the shell. . . But if you don't have bash, you're kind of screwed. ;)
01:57:09 <pikhq> bsmntbombdood: Bootstrap the system.
01:57:49 <pikhq> I mean, compile the whole OS from scratch.
01:58:04 <pikhq> Honestly, if you don't have a *shell*, you don't exactly *have* an OS. . .
01:58:49 <pikhq> Hmm. There's not an uncompressed shar of tar that I can find on ftp.gnu.org
01:59:17 <pikhq> That is, not the latest.
01:59:58 <GregorR-L> http://ftp.gnu.org/gnu/tar/tar-1.13.shar
02:00:39 <pikhq> bsmntbombdood: Well, at *that* point, you either use a boot disc to build your toolchain, or (if you're making the toolchain for an arch that doesn't have any one yet) you write by hand a basic C compiler in assembly.
02:00:55 <pikhq> (although you'd be best off just making a damned cross-compiler)
02:01:15 <pikhq> You make it on a different computer.
02:01:23 <pikhq> One which *has* a tool-chain.
02:01:40 <pikhq> Since it has a tool-chain, you can just use C.
02:01:47 <GregorR-L> The absolute, basic bootstrapping occurred decades ago. Now, everything has been bootstrapped.
02:02:05 <pikhq> Now it's a matter of just doing bootstrapping from a different working system.
02:02:40 <pikhq> If you *insist* on doing the basic bootstrapping, you need to start with a system where you can input the individual bits yourself, and go up from there.
02:03:02 <oklopol> hmph, GregorR-L prevented further "why" trolling quite meanly :<
02:03:34 * pikhq thinks. . . Perhaps a ROM-chip emulator with a few thousand toggle switches and the Intel docs?
02:03:51 <bsmntbombdood> you can't input bits without an os on any arch i know
02:03:58 <pikhq> bsmntbombdood: Toggle switches.
02:04:47 <pikhq> Hell, if you don't want to get your x86 board to accept toggle switches, *obviously* you go ahead and get an older PDP-11.
02:05:23 <pikhq> bsmntbombdood: What, attaching a bunch of toggle switches in a way that emulates the *initial* *boot* *ROM* requires drivers?
02:05:37 <GregorR-L> What if you're in a universe with no matter? How do you compile your GCC?
02:05:52 <pikhq> How the hell does a BIOS boot if you need drivers from the BIOS to boot the BIOS? ;)
02:06:00 <oklopol> what compiled the universe?
02:06:10 <pikhq> GregorR-L: Obviously you ask God.
02:06:43 <pikhq> And don't ask where God came from. God is the initial bootstrapper. ;)
02:06:49 <RodgerTheGreat> "LET THERE BE... oh, fuck. hold on, lemme find a repo with the packages I need for this thing..."
02:07:24 <pikhq> bsmntbombdood: Yeah. . . You get a good hardware designer to make you a circuit board for the several thousand switches needed.
02:08:30 <bsmntbombdood> or you could just use 2 switches and do it serially
02:08:37 <RodgerTheGreat> usually you just wire up a CPU to accept a byte at a time from switches and interrupts
02:09:53 <RodgerTheGreat> or you could design some type of pegboard wire-crossing ROM thingy like they had on the EDSAC with a bootloader that can read in an OS from tape, which actually is a pretty convenient solution.
02:10:11 <pikhq> The obvious solution, though, is to write a C compiler in Brainfuck, get a friggin' huge notebook, and hand-run your C compiler, and then use that switch setup to set it up in your computer.
02:10:59 <RodgerTheGreat> fuck that- if I'm punching something into a computer via dipswitches, I'm damn well going to hand-optimize the code in machinecode.
02:11:17 <RodgerTheGreat> computer scientists were hardcore like that, back in the day.
02:11:30 <pikhq> RodgerTheGreat: Fine, then. Get your IA-32 docs, and start hand-compiling that C code.
02:11:46 <oklopol> can't one say anything here without it resulting in a very sick conversation :)
02:12:03 <pikhq> And no, I'm not printing out the LFS source code for you.
02:12:10 <pikhq> Hire Kinko's to do it. :p
02:12:19 <RodgerTheGreat> C is worthless when your RAM wordcount is in the sub-1000 range and you brag about having a 40k drum memory.
02:12:27 <pikhq> (*Or* you could buy a copy of Minix)
02:12:34 <pikhq> bsmntbombdood: Linux From Scratch.
02:12:54 <pikhq> Minix, IIRC, has full annotated C code for it in the book.
02:12:56 <RodgerTheGreat> machinecode is where it's at with anything that uses mercury delay-line registers.
02:13:14 <bsmntbombdood> that was written with a computer, no fair using it
02:13:16 <pikhq> RodgerTheGreat: We were discussing bootstrapping on x86, last I checked.
02:14:30 <pikhq> Fine, if you care about it being written with a *computer*, I'll get you the blueprints for a Z1
02:14:51 <bsmntbombdood> hot damn http://en.wikipedia.org/wiki/Image:Mercury_memory.jpg
02:14:55 <RodgerTheGreat> I can see if raul rojas was really on to anything with his TC proof
02:15:00 <pikhq> Sorry. I'll give you a Z3.
02:15:03 <oklopol> i browsed through minix source code once, i wonder if anyone ever actually benefits from printed 300 pages of source...
02:15:11 <pikhq> The Z1 was just a floating point calculator; the Z3 was the TC one.
02:15:26 <RodgerTheGreat> ah, good- the memory is more reliable on the Z3, too- relays > pure mechanical
02:16:04 <RodgerTheGreat> bsmntbombdood: like I said, computer scientists were hardcore back in the day.
02:16:05 <pikhq> Of course, I could also get you an Analytical Engine.
02:17:11 <RodgerTheGreat> the analytical engine had a rather unconventional means of flow control- it only expresses a vague programmability
02:19:20 <pikhq> The Analytical Engine is the *first* Turing complete design.
02:20:16 <oklopol> hmm... i wonder if bees get angry if you hit them with a book and they do not die
02:20:48 <pikhq> RodgerTheGreat: You sure you want a Mark 1?
02:20:52 <RodgerTheGreat> I'm fairly familiar with it, but the Z1 represents a much more... tangible... contribution to computation history. As Steve Jobs once said, "real artists ship".
02:21:14 <pikhq> The Mark 1's not even TC. . .
02:22:27 <pikhq> bsmntbombdood: Yeah; has to be refreshed periodically, so the bits don't go out of the phosphor.
02:23:18 <pikhq> Obviously with a bunch of photoelectric cells.
02:24:22 <pikhq> http://en.wikipedia.org/wiki/Williams_tube Never mind; they read it differently.
02:24:26 <RodgerTheGreat> the nice thing about a mark 1 is that it consists of only a handful of racks, so it can be moved from place to place with a few trucks, fit through doors, and can be set up in an average sized room.
02:26:19 <RodgerTheGreat> pretty reasonable memory and storage capabilities, too
02:27:07 <RodgerTheGreat> the Z3 is a nice machine, but TC is very nontrivial and mechanically unfeasible, for the most part. A Z4 could be pretty cool, though.
02:27:13 <pikhq> The Z3 could be moved with just one truck-load, I think. . .
02:27:30 <RodgerTheGreat> mmm. relay-based computing makes me feel all warm inside.
02:27:33 <pikhq> A Z4 would take a few.
02:27:58 <RodgerTheGreat> the z1 and z3 are fairly compact, but too wide to fit through conventional doors, and difficult to disassemble.
02:28:13 <pikhq> bsmntbombdood: Certaintly.
02:28:34 <pikhq> All of the z3 and z4 is done in relays.
02:29:34 <RodgerTheGreat> and running programs gives a beautiful cascade of clicks
02:30:05 <RodgerTheGreat> wow- I hadn't heard of this russian beauty: http://en.wikipedia.org/wiki/Strela_computer
02:30:28 * pikhq votes for building a z3 with solid-state relays, just to annoy Rodger. :p
02:31:34 <pikhq> Or pick up relays from an *old* phone system. . .
02:32:19 <GregorR-L> http://web.cecs.pdx.edu/~harry/Relay/
02:32:25 <RodgerTheGreat> we want to use small voltage ranges so that we can keep the machine small and the cost low.
02:32:50 <RodgerTheGreat> GregorR-L: I've seen that machine before- quite an accomplishment
02:33:13 <pikhq> GregorR-L: Cheating. I see an IC.
02:33:19 <RodgerTheGreat> bsmntbombdood: I recommend designing some relay-based logic gates first, as practice
02:33:39 <RodgerTheGreat> pikhq: the IC is ram, which is actually what makes it awesome
02:34:49 <pikhq> So. . . RAM is IC, registers are relays, *and* the ALU is in relays?
02:34:52 <pikhq> Damn, that's sexy.
02:35:48 <RodgerTheGreat> bsmntbombdood: well, relays make RAM expensive and large. so we need an alternate solution...
02:36:03 <pikhq> bsmntbombdood: 32K of relay RAM?!?
02:36:20 <RodgerTheGreat> possibly punchcards or tape as a large storage base with only limited onboard RAM?
02:36:48 -!- c|p has quit (Remote closed the connection).
02:36:55 <bsmntbombdood> http://web.cecs.pdx.edu/~harry/Relay/SoundOfRelays.mp3
02:37:07 <RodgerTheGreat> if the program runs directly from tape (and is obviously in a loop that can halt), we could get away with a very small number of registers.
02:37:51 <RodgerTheGreat> I'm imagining something like a pure-relay version of the Z3 with a conditional jump-forward command.
02:38:13 <bsmntbombdood> i'm going to see if i can figure out some basic gates
02:39:21 <RodgerTheGreat> probably throw in a true "halt" instruction too, so you don't have to rely on arithmetic exceptions.
02:41:19 <RodgerTheGreat> single pole means you're opening and closing one switch at a time, basically
02:42:21 <pikhq> Is it a bad sign when you fall in love with a machine?
02:43:04 <RodgerTheGreat> and if it's TC, you're only required to avoid making out with it in public.
02:43:13 <RodgerTheGreat> bsmntbombdood: http://en.wikipedia.org/wiki/Switch#Contact_arrangements
02:43:24 <pikhq> Fine, then. I'll be sure to get a room.
02:43:52 <pikhq> Although I don't think my girlfriend would appreciate me cheating on her. . .
02:44:09 <pikhq> Especially not when it's a clicky machine. . . :)
02:44:29 <GregorR-L> Looks like I'll be wearing my red fedora tomorrow.
02:44:50 <RodgerTheGreat> just tell her that if she wants to win you back she'll have to learn to talk dirty in machinecode.
02:44:52 <bsmntbombdood> so, Four-Pole-Double-Throw means it has 4 different SPDT switches?
02:45:42 <pikhq> GregorR-L: You might want to check again.
02:46:30 <GregorR-L> Looks like I'm still wearing the red fedora :P
02:46:45 <RodgerTheGreat> have any of you guys read "The First Computers: History and Architectures"?
02:47:12 * pikhq does a vote-- on the fedora. :p
02:47:38 <RodgerTheGreat> it's one of my favorite books of all time, because not only does it discuss early machines, it often has schematics, specs, instruction sets and machinecode examples. :D
02:48:01 <RodgerTheGreat> and most of the articles are written by the people that *created* the machines in the first place
02:48:03 <GregorR-L> pikhq: By the way, I wore the Pakul on Wednesday, so I'm not wearing it on Friday even if it wins.
02:48:05 <pikhq> RodgerTheGreat: Oooooh. . . I need that.
02:48:29 <pikhq> GregorR-L: Yeah, yeah. . . Just messing with ya. ;)
02:48:52 <RodgerTheGreat> http://www.amazon.com/First-Computers-History-Architectures-History-Computing/dp/0262681374/ref=sr_1_22/102-0916127-5584141?ie=UTF8&s=books&qid=1181267279&sr=8-22 <- absolutely fucking awesome
02:50:11 <pikhq> Now you've got NAND, and I believe you can make every gate from NANDs.
02:50:38 <bsmntbombdood> but it's much simpler to build the other gates too
02:50:46 <pikhq> Of course, creating that many NANDs could be painful for a relay-based system.
02:51:17 <RodgerTheGreat> and it's best that you optimize your NAND gate as a single circuit rather than tying a NOT to an AND
02:51:50 <pikhq> The point is that you can, not that it's a good idea. ;)
02:52:08 <RodgerTheGreat> and when you get to actually implementing the system, always start with a truth table and simplify, simplify, simplify
02:52:27 <RodgerTheGreat> pikhq: yeah, I understand- your point was just about it in a theoretical sense
02:52:55 * pikhq used to have a list of gates done in NAND. . . I was bored in a computer class. Very bored.
02:53:03 <pikhq> This was, of course, before I learned Brainfuck.
02:54:01 <RodgerTheGreat> if you're having trouble with it, see if you can figure out the inverse and then NOT it
02:54:06 <GregorR-L> The Tam just took a term for the better.
02:56:15 <RodgerTheGreat> currently, the favorite books I have on my shelf are "Programming the IBM Personal Computer: BASIC", "The First Computers: History and Architectures", "Snow Crash", "The Salmon of Doubt" and "Understanding Comics"
02:56:58 <pikhq> I see you've got pretty good taste.
02:57:25 <bsmntbombdood> oh yeah? well i've got "The ibm personal computer made easy"
02:57:41 * pikhq needs to find his Apple II
02:57:51 <RodgerTheGreat> and I'm using a copy of "The C++ Programming Language" to hold up my monitor.
02:57:55 <pikhq> (ain't every day you find a 17 year old saying that)
02:59:01 <oklopol> * pikhq used to have a list of gates done in NAND. . . I was bored in a computer class. Very bored. <<< we do that stuff in the university \o/
02:59:06 <RodgerTheGreat> after about 20 pages of stroustrup creaming himself over the brilliance and elegance of his horrible little language, I gave up on that book and repurposed it.
03:00:27 <oklopol> (of course you might be there already)
03:00:27 <pikhq> oklopol: I'm in high school right now.
03:00:27 <pikhq> I did that my freshman year.
03:00:44 <oklopol> my point was: we don't, not in the school
03:00:48 <RodgerTheGreat> I'm slowly getting to the point where university CS courses are teaching me new things. Freshman year was more or less a wash, but I did learn a few new ideas in Data Structures.
03:01:23 <pikhq> For me, my freshman year will probably be boring. . .
03:01:30 <RodgerTheGreat> Once I get "Software development in C/C++" out of the way I start being able to take the fun classes, which is why I'm taking it now during the summer.
03:01:39 <oklopol> i don't think i've learned anything but german and swedish in my whole school time
03:01:57 <RodgerTheGreat> pikhq: I'd highly recommend taking the AP CS test, even if your school doesn't offer it.
03:02:15 <RodgerTheGreat> Brush up on java for a few days and you can ace it no problem.
03:02:16 <pikhq> RodgerTheGreat: Yeah, I've been thinking about it.
03:02:21 <GregorR-L> I'd highly recommend not taking the AP CS test.
03:02:46 <pikhq> It'll largely depend upon whether or not my school of choice does take it. . .
03:03:06 <pikhq> If it doesn't, screw it. I'm not wasting my money, and I'm not tainting my brain with Java. ;)
03:03:33 <GregorR-L> I did the AP CS A test in C++, and the AP CS B test in Java.
03:04:18 <GregorR-L> Presumably you took it more recently than I did
03:04:24 <RodgerTheGreat> I had about 2 weeks of java coding under my belt at the time and didn't know half a shit about OOP, and I still got a 5 on it.
03:04:26 <GregorR-L> They switched it over between when I took the two.
03:04:36 <pikhq> *Why* can't they still do C++?
03:04:50 <GregorR-L> pikhq: It's not proprietary enough :P
03:04:57 <pikhq> GregorR-L: Nor is Java.
03:05:02 <RodgerTheGreat> pikhq: because over 80% of CS curricula in universities are based on Java.
03:05:08 <GregorR-L> (OK, I know, I'm not being fair, Java is now somewhat F/OSS)
03:05:25 <pikhq> RodgerTheGreat: Then I'm lucky that the ones I've looked at are the 20% that aren't Java.
03:05:52 <pikhq> bsmntbombdood: Pain, agony, sorrow, not teaching malloc.
03:06:40 <pikhq> (to be fair, doing malloc and such the *right* way does take half a brain, which the average CS freshman doesn't have, if the course material is anything to judge by)
03:06:48 <pikhq> bsmntbombdood: Simple.
03:06:50 <RodgerTheGreat> because it's much, much more *consistent* than C or C++, for all it's faults. The vast majority of the work of learning C and C++ is learning all the "gotchas" and exceptions, rather than learning to program. In most CS courses, they're more concerned that you know how to conceptually use a linked list and manipulate it in algos than how to manage the memory behind it.
03:07:18 <GregorR-L> It's consistent because it's lacking.
03:07:36 <GregorR-L> Note that it's consistently getting less consistent ^^
03:07:46 <RodgerTheGreat> At MTU, we do what I feel is a pretty good balance of both worlds- all introductory courses use Java, then you're required to learn C and C++, and then you use whatever the hell you want.
03:08:10 * pikhq should look into MTU, just for the sake of doing Java->C->Brainfuck.
03:08:42 <RodgerTheGreat> GregorR-L: you could argue that the loss of consistency stems from the pressure of C coders that whine about lacking features like operator overloading.
03:08:47 <pikhq> And I have no idea why struct foo *Java has a member struct foo *C, nor do I know why struct foo *C has struct foo *Brainfuck.
03:09:01 <pikhq> RodgerTheGreat: C doesn't. ;)
03:09:39 <pikhq> And really, there *are* cases where operator overloading makes sense.
03:09:47 <RodgerTheGreat> by "C programmers" I mean "C and C++ programmers", because as far as I'm concerned C++ is just a sloppy mess tacked on to the actual language C.
03:10:10 <GregorR-L> But Java is a horrible overreaction to that.
03:10:14 <pikhq> RodgerTheGreat: No, C++ is a sloppy mess tacked onto a slightly disabled C.
03:10:40 <pikhq> bsmntbombdood: No, but the common subset supported by C++ and C *is*.
03:10:41 <GregorR-L> bsmntbombdood: You don't speak English, do you?
03:10:54 <RodgerTheGreat> Java has a consistent design that doesn't factor in things like operator overloading, and every feature like that erodes the integrity of the design. It's just standard-rot.
03:11:43 <pikhq> RodgerTheGreat: Java has a consistent design that was made by people who never seem to value their ability to code for more than an hour.
03:11:50 <GregorR-L> Smaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalltalk.
03:11:58 <pikhq> GregorR-L: I've heard good things about it, but never coded in it.
03:12:30 <RodgerTheGreat> but back on the topic of pikhq using something like BFM for homework- it'd be totally acceptable (in the compiled form of C code) for most homework, but if it has a bug, he's probably going to get a zero, because the grader will want to die when he looks at it
03:12:54 <pikhq> I think you missed my rename of BFM.
03:13:27 <pikhq> BFM is now PEBBLE: the Practical Esoteric Brainfuck-Based Language, Eh?
03:14:01 <pikhq> And the C backend has been made to be damned efficient. . .
03:15:21 * RodgerTheGreat begins happily drafting an esoteric C coding style doc.
03:16:46 <RodgerTheGreat> ground rules: no globals, no functions, no for loops, no header files, and as many things as possible rolled into oneliners.
03:17:07 <RodgerTheGreat> those principles *alone* should be enough to create some monstrosities.
03:17:59 <RodgerTheGreat> let's take it a step further and outlaw select structures, in case anyone feels like being a wiseass.
03:18:27 <RodgerTheGreat> if C had better support for labels I'd strip out everything but IF...THEN.
03:18:38 <oklopol> i had a verrrry sick idea for an rpg using c and function pointers
03:19:07 <oklopol> but it was too sick for me back then
03:19:14 <RodgerTheGreat> that is correct- function pointers can lead to hilarious hijinx.
03:21:28 <RodgerTheGreat> bsmntbombdood: it's so... so weak compared to the GOTO of BASIC.
03:21:39 <oklopol> my idea was to encode the game in a big array of functions... each representing a room, and it'd reorder itself somwhat randomly like in that one boardgame
03:22:05 <RodgerTheGreat> it's more of a vestigal appendix to the language, while BASIC uses it is a glorious multifunctional tool
03:24:20 <RodgerTheGreat> the beautiful thing about BASIC is that everything boils down to IF, THEN, LET and GOTO.
03:24:43 <oklopol> please boil out the difference :>
03:25:46 <oklopol> hmm... i wonder if i could just skip a night's sleep without additional sleep tomorrow night... thazz rare
03:25:46 <RodgerTheGreat> and IF and THEN can often be simulated with LET and GOTO, actually
03:26:08 <RodgerTheGreat> oklopol: your REM cycles will catch up with you, one way or another
03:27:14 <RodgerTheGreat> alright, screw Lojo for the time being- I'm implementing a true Estoteric BASIC. I'll call it "BASICU" (Basic Unadvanced) for a playful jab at BASICA
03:27:39 <RodgerTheGreat> unless one of you can think of a more interesting/pleasant/funny name off the tops of your heads.
03:28:19 <RodgerTheGreat> I'll just go for PRINT, INPUT, LET and GOTO as keywords, with the possible later addition of DIM.
03:28:44 <oklopol> i had a lang called trivial once
03:29:14 <oklopol> it was string-based... i guess i didn't know about parsing back then
03:29:32 <RodgerTheGreat> "MASIC: Masochist's All-purpose Symbolic Instruction Code"
03:30:26 <GregorR-L> PENIS: Programming for the Enlightened: the New Instruction Set
03:31:09 <RodgerTheGreat> that's extremely entertaining, but the name might be too long.
03:31:11 <oklopol> hmm... okay, i made myself a big bowl of ice... now how the fuck do i eat it
03:31:53 <oklopol> it's a solid substance formed when water is made cold.
03:35:36 <oklopol> aaaaaaaand i've got water in my lungs
03:38:34 <oklopol> hmm... i could make snow if i had a decent blender
03:39:24 <pikhq> RodgerTheGreat: Looking way back at your discussion. . .
03:39:30 <pikhq> GNU C *does* have computed jumps.
03:40:08 <pikhq> __label__ foo, bar, baz;
03:40:20 <pikhq> Declaring those labels. . .
03:40:28 <pikhq> Defining the label. . .
03:40:40 <pikhq> __label__ array[3] = {foo, bar, baz};
03:40:46 <pikhq> There we go. An array of labels.
03:41:21 <pikhq> Err. Not quite. . .
03:41:48 <pikhq> GCC's documentation (section 5.3) describes it being different.
03:42:59 <RodgerTheGreat> bsmntbombdood: it's a sad truth of electromechanical components- they's pricey.
03:43:30 <RodgerTheGreat> y'know, I once got in a huge argument as to wether or not BASIC had pointers
03:44:46 <RodgerTheGreat> my take is that since PEEK and POKE can manipulate memory directly, and VARPTR() can get the location of a variable, you have all the capabilities of pointers with different syntax and effectively weak-typed pointer/integer mutability
03:45:20 <pikhq> This assumes that your BASIC implementation has PEEK and POKE.
03:45:53 <RodgerTheGreat> the one I was using for my examples does, so it stands
03:45:54 <oklopol> <ignore> i cracked my ice! </ignore>
03:46:07 <pikhq> So, that doesn't work for BFBASIC. ;)
03:46:33 <RodgerTheGreat> if calamari was in here I'd suggest he use my ideas to make it happen. :)
03:47:43 <RodgerTheGreat> in the end, the argument devolved into my opponent telling me that since BASIC doesn't have structs, my examples were meaningless, which I find to be poppycock
03:48:13 <pikhq> BASIC doesn't have structs *directly*.
03:48:27 <pikhq> However, using PEEK and POKE, you can simulate the effects.
03:48:48 <pikhq> Or just use a nice naming scheme for variables.
03:49:09 <RodgerTheGreat> bsmntbombdood: I guess he figured pointers aren't useful without structs?
03:49:59 <pikhq> It's possible to simulate structs granted pointers. . .
03:50:05 <pikhq> Although it'll look horrid. ;)
03:50:27 <oklopol> a simple macro system will make that look ok
03:51:06 <pikhq> Y'mean the one BASIC doesn't have?
03:52:51 <oklopol> i mean, the struct thing is something which does not require any weird stuff, just a few simple calculations for different fields of the struct
03:53:06 <oklopol> what i mean by a macro system is it's not something the language can't handle trivially
03:53:23 <oklopol> because it could be done with a text substitution macro system
03:53:35 <oklopol> if that makes any sence, call me lucky.
03:53:42 <oklopol> i can't really see the screen
03:56:16 <RodgerTheGreat> oklopol: I understand what you mean- it's pretty much what underlies how C actually handles structs internally
03:56:16 <oklopol> yaya, triv as a tree in a pole
03:56:16 <RodgerTheGreat> in my favorite BASIC, Cbaspad, it's fairly trivial to do string manipulations on your own source
03:56:51 <oklopol> i've never really seen anyone use code manipulation done on plain source code
03:57:03 <oklopol> i mean, and archieving something by it
03:57:32 <oklopol> guess i have to admit i might have seen one but had no idea what i saw.
04:00:32 <oklopol> yeah... if you really do something you couldn't have done by changing the _parsed_ source, and still manage to do something, you're pretty sick
04:00:42 <RodgerTheGreat> in Cbaspad, a program is loaded by line numbers and then initialized, executing stored instructions. Then, you can open the source itself as an input file, make modifications freely, and (using some tricky manipulations), get the program to reload the source without clearing variable contents and begin running again
04:01:06 <oklopol> and i can't imagine that being done but a few times, VERY carefullly planned for every bit of code where it's used
04:02:12 <RodgerTheGreat> I think I love Cbaspad because I understand it more completely than any other non-esolang, and I feel I've pushed it to it's limit more than anyone else who's used it.
04:03:09 <RodgerTheGreat> it's a very small, little-known language, which makes discoveries and demonstrations all the more special.
04:04:47 <oklopol> haven't programmed anything in about a week :<
04:05:02 <oklopol> except for random bits of java and php
04:09:06 <oklopol> i had this idea about infinitiary numbers the other day
04:09:42 <oklopol> though the idea is so trivial i can't even say it with a straight face
04:12:24 <oklopol> "oh no, someone peed in my pants" xD family guy is so insightful
04:19:31 -!- pikhq has quit (Read error: 110 (Connection timed out)).
04:52:29 <bsmntbombdood> "Memory: thin metal plates, worked with fret saw;"
04:53:43 <bsmntbombdood> http://irb.cs.tu-berlin.de/~zuse/Konrad_Zuse/en/Rechner_Z2.html
05:10:53 -!- bsmntbombdood has quit (Remote closed the connection).
05:10:57 -!- bsmntbombdood has joined.
05:41:25 -!- oerjan has joined.
06:00:36 -!- boily has joined.
06:40:36 -!- boily has quit ("WeeChat 0.2.4").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:17:14 -!- oerjan has quit ("leaving").
09:15:52 -!- ais523 has joined.
10:31:38 -!- GregorR-L has quit ("Leaving").
11:50:35 -!- ais523 has quit (Remote closed the connection).
11:54:24 -!- ais523 has joined.
12:00:24 -!- ais523 has quit ("looking for food").
12:09:30 -!- ais523 has joined.
12:30:48 <ais523> ~exec execfile('/bot/scripts/bf.py')
12:31:38 <ais523> ah, the bot isn't here, that's why it isn't responding
13:17:05 -!- jix has joined.
14:47:34 -!- cmeme has quit ("Client terminated by server").
14:47:56 -!- cmeme has joined.
14:48:57 -!- fizzie has quit (kubrick.freenode.net irc.freenode.net).
14:49:10 -!- fizzie has joined.
15:39:55 -!- calamari has joined.
15:58:03 -!- calamari has quit ("Leaving").
16:14:49 -!- jix has quit ("CommandQ").
16:54:56 -!- ais523 has quit ("bye").
17:00:31 -!- sebbu has joined.
17:36:34 -!- oerjan has joined.
18:22:38 <RodgerTheGreat> this is awesome: http://catb.org/esr/jargon/html/story-of-mel.html
19:40:43 -!- oerjan has quit ("leaving").
21:07:41 -!- Asztal has joined.
21:46:02 -!- poiuy_qwert has joined.
22:13:48 -!- poiuy_qwert has quit (Read error: 110 (Connection timed out)).
22:37:57 -!- c|p has joined.
22:53:11 -!- poiuy_qwert has joined.
23:22:52 -!- poiuy_qwert has quit (Read error: 110 (Connection timed out)).
23:25:53 -!- sebbu has quit ("@+").
23:28:13 -!- c|p has quit ("Leaving").