00:01:37 <elliott> elliott@dinky:~/code/pkg$ wc -l pkginfo.c
00:01:38 <elliott> elliott@dinky:~/code/pkg$ wc -l pkginfo.sh
00:01:46 <elliott> pikhq: I think that maybe an sh-based packaging utilities system is a splendid idea.
00:03:30 <Sgeo> Played the single-player campaign before, but still fun
00:08:53 <elliott> pikhq: Even though sh is terrible.
00:13:13 <elliott> $ busybox sh pkginfo levee | awk '/^Version:/ { print $2 }'
00:13:17 <elliott> I declare it portable and useful.
00:22:20 <elliott> pikhq: Virtual packages: http://sprunge.us/SdDH
00:25:02 <elliott> pikhq: I should probably write the actual installation script in C so that if you replace the utilities a shell version would use it still works...
00:29:37 -!- FireFly has quit (Quit: swatted to death).
00:39:44 <elliott> pikhq: I use $*. Question: Am I bad?
00:40:15 <augur> elliott: you're talkative
00:40:19 <augur> elliott: http://www.jaybirdgear.com/cart/sb2/#
00:40:53 <elliott> augur: they look uncomfortable, putting form above function, and lookinga t it they probably have terrible audio quality.
00:41:03 <elliott> it compresses the audio lossily then
00:45:07 <Sgeo> Why does Perl have an unless?
00:45:37 <zzo38> Sgeo: Because it does.
00:46:17 <elliott> Sgeo: because it reads better
00:48:10 <pikhq> elliott: $*? Not necessarily bad.
00:48:25 <Sgeo> naked blocks should not count as loops
00:48:33 <elliott> Sgeo: Good! Because they don't.
00:48:33 <Sgeo> They should count as ... scopy things
00:48:38 <elliott> Sgeo: Good! Because they do.
00:48:52 <pikhq> elliott: And, yeah, having the installer in C is a good idea.
00:48:52 <Sgeo> The slide for my class says:
00:48:57 <pikhq> Provides an "oh shit" button.
00:49:02 <Sgeo> There are five kinds of loop blocks in Perl. These are the blocks of
00:49:03 <Sgeo> the naked block.
00:49:13 <elliott> pikhq: A good idea that I am ignoring because it's too much of a pain!
00:50:08 <pikhq> elliott: At bare minimum, provide an easy way to run it using busybox.
00:50:19 <pikhq> And make it function using the busybox you ship, of course.
00:50:37 <elliott> pikhq: Why? What's more reliable about busybox vs. ksh?
00:51:01 <pikhq> elliott: Getting a full busybox running is easier than a full coreutils.
00:51:33 <Sgeo> Well, the loop control... stuff (like redo) works in naked blocks
00:51:34 <pikhq> In case of dire emergency, I could readily statically link a busybox from just about any system.
00:51:51 <elliott> pikhq: http://www.wormhole.hu/~ice/ksh/
00:51:55 <pikhq> Of course, you *could* just say "screw it", like Gentoo does.
00:51:59 <zzo38> @d unless(_1) if(!(_1))
00:52:03 <elliott> pikhq: Find me a system with a C compiler and BSD make that this doesn't compile on.
00:52:05 <pikhq> (which requires a full Python installation for the package manager)
00:52:06 <elliott> pikhq: (Hint: Such a system does not exist.)
00:52:18 <pikhq> elliott: Hint: your package manager relies on more than *just* a shell.
00:52:36 <elliott> pikhq: Hint: it's rather likely that the rest of the coreutils is busybox. :p
00:52:40 <zzo38> In my opinion the package manager should not require Python
00:52:49 <pikhq> elliott: Okay, so make it function perfectly with ksh and busybox.
00:53:14 <pikhq> elliott: That is still *quite* easy to set up.
00:53:30 <elliott> pikhq: "busybox sh" is my Portability Checker(TM).
00:53:32 <pikhq> ... Heck, if your package manager relies on just those two, you could probably bootstrap a Kitten system from a floppy disk.
00:53:50 <pikhq> Ah. Yeah, if it works on Busybox sh, it'll probably work anywhere.
00:53:55 <elliott> pikhq: (Also dash, because it's so terrible that nothing that runs on it could possibly fail anywhere else.)
00:53:56 <pikhq> What with being a *subset* of Bourne shell.
00:54:40 <pikhq> Mmm, having a minimal installer smaller than Debian. :P
00:55:51 <Sgeo> I'm pretty certain that this discussion is not about @
00:56:04 <elliott> Sgeo: No, it isn't, but no way am I gonna develop @ on Debian.
00:56:10 <elliott> I want something I can trust not to go stupid overnight.
00:57:00 <elliott> pikhq: Hmm, does using rsync to update a compressed tarball work well?
00:57:07 <elliott> pikhq: Obviously updating a tarball with it is just as good as updating each individual file.
00:57:19 <elliott> pikhq: But do, say, .tar.xzs change more than the set of changes to the original files?
00:57:29 <elliott> Thus making rsync less efficient on these already-compressed things?
00:57:39 <pikhq> elliott: It would not work well with a compressed tarball.
00:58:16 <pikhq> For the *precise* same reasons it doesn't work well with encryption.
00:58:35 <elliott> pikhq: Right, because perfectly compressed data is indistinguishable from random data.
00:58:51 <elliott> But that doesn't mean you can't diff two pieces of similar random data and get a short diff, no?
00:59:03 <pikhq> They won't be similar, in general.
00:59:20 <elliott> pikhq: Well, I'm also not going to run unxz before every rsync and xz afterwards.
00:59:26 <elliott> pikhq: Suggestions welcome. :p
01:00:37 <pikhq> Store uncompressed, use rsync's compression? :P
01:01:01 <elliott> pikhq: Store uncompressed = lol, wasteful. I guess it isn't a big deal, but still.
01:01:18 <elliott> pikhq: (Also, fun fact: I'm compressing the kernel with LZO for the sole reason that it's the fastest to decompress.)
01:03:01 <pikhq> elliott: http://zsync.moria.org.uk/
01:04:20 <elliott> pikhq: Nice! gzip-specific... but better than nothing.
01:04:33 <pikhq> elliott: Actually, the gzip-thing could be readily patched.
01:04:41 <elliott> pikhq: Yeah, but I have enough work on my hands anyway.
01:05:01 <elliott> [[If you don't specify the names of any files to put in the archive, then tar will create an empty archive. So, the following command will create an archive with nothing in it:
01:05:01 <elliott> tar --create --file=empty-archive.tar]]
01:05:05 <elliott> tar: Cowardly refusing to create an empty archive
01:05:29 <pikhq> But hey, it's rsync-like and works on compressed files, and seems to work much nicer with standard (easily available) servers.
01:06:12 <elliott> to stop tar trying to second-guess you
01:06:39 <elliott> wtf, that just creates a bunch of zeroes
01:09:31 <elliott> pikhq: Things I hate more than anything: Stuff that remembers its --prefix.
01:09:40 <elliott> I WANT TO BE ABLE TO COMPILE SHIT WITHOUT USING A CHROOT, FUCKERS
01:11:12 <elliott> pikhq: Holy shit, you know fakeroot?
01:12:28 <elliott> pikhq: Guess what version control system it uses.
01:12:36 <elliott> pikhq: The answer is Arch 1, aka tla.
01:12:45 <elliott> pikhq: *The thing uses Arch. In 2010.*
01:12:58 <elliott> I'm sorry, but, I have to respect anyone crazy enough to do that.
01:13:05 <elliott> % tla register-archive fakeroot@packages.debian.org--fakeroot \
01:13:05 <elliott> http://arch.debian.org/arch/fakeroot/fakeroot/
01:13:05 <elliott> % tla get -A fakeroot@packages.debian.org--fakeroot fakeroot--main--0.0
01:13:23 <elliott> tla's motto is "Simple things should be difficult, hard things should cause you to commit suicide."
01:15:34 <elliott> extern.h:200: error: conflicting types for ‘getline’
01:15:34 <elliott> /usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here
01:15:42 <elliott> pikhq: in which glibc extensions harm someone not even using them
01:16:16 <pikhq> elliott: -std=c99 should turn off glibc extensions.
01:16:42 <pikhq> Still, the extensions should *not* be on by default.
01:16:56 <pikhq> Have them all you want, but they should be enablable options, not default.
01:17:29 <pikhq> GreaseMonkey: There's a #define to enable them. That GCC does by default.
01:17:36 <pikhq> You may now curse at GNU.
01:17:53 <zzo38> Maybe the GNU extensions should be disabled if the compiler is invoked by the name 'cc' instead of 'gcc'
01:18:39 <elliott> pikhq: Wait a second, why the fuck does the C compiler change what the glibc does by setting how the code is compiled? Does glibc actually check if the C compiler claims to implement "GNU C", and help it in its evil quest by adding features of GNU C?
01:19:20 <olsner> I think standards mode controls predefined macros and macros control glibc evilness
01:20:14 <pikhq> elliott: Glibc checks if the C compiler claims to implement "GNU C", and helps it in its evil quest by adding featurs of GNU C.
01:20:29 <pikhq> elliott: BTW, another option: gzip --rsyncable.
01:20:42 <elliott> <pikhq> elliott: Glibc checks if the C compiler claims to implement "GNU C", and helps it in its evil quest by adding featurs of GNU C.
01:20:45 <elliott> ha ha ha ha ha ha ha i hate this shit.
01:20:48 <pikhq> elliott: Produces gzip output that is *barely* larger, but readily rsyncable.
01:21:05 <elliott> pikhq: Nice. But I think I'll just use zsync anyway. :p
01:21:09 <elliott> HTTP access is nice, after all.
01:21:28 <pikhq> Yeah; quite a bit nicer to do it all with nothing more than a somewhat-sane HTTP server.
01:26:26 <elliott> pikhq: Dependencies of that: the "set" built-in, the "[" built-in, the "cd" built in, echo, tar, and touch.
01:28:16 -!- zzo38 has quit (Quit: This is a secret message! Please figure out what it means!).
01:28:45 <pikhq> elliott: How's it doing dependency resolution?
01:28:56 <elliott> install_pkg $(readlink $dep)
01:28:59 <elliott> pikhq: Is that naive enough for you?
01:29:07 <elliott> pikhq: Of course install_pkg does nothing if it's already installed.
01:29:20 <elliott> pikhq: Feel free to suggest a better way, but I'm unlikely to use it because... there are no runtime dependencies.
01:29:27 <elliott> Termcap files. That'd be a runtime dependency. Apart from that, uh...
01:29:29 <pikhq> Though likely working just fine for your purposes, because you are unlikely to ever have circular dependencies.
01:29:34 <elliott> Executables that other programs use, obviously.
01:30:02 <pikhq> Yeah, the odds are that your dependency graph won't get ridiculously complex.
01:30:31 <pikhq> And that anyone who really wants "standard" programs can install Gentoo Prefix or something.
01:31:44 <elliott> pikhq: Define "standard" programs.
01:33:03 <pikhq> Expecting your standard, dynamically linked, GNU-filled environment.
01:33:41 <elliott> pikhq: "But why would you want to". :p
01:34:03 <elliott> pikhq: Although I'm hardly unbiased; I'm including Java for one single program. Guess what program.
01:34:55 <elliott> olsner: Minecraft is written in Java.
01:35:05 <elliott> I will not run any OS that cannot run Minecraft.
01:35:45 <elliott> olsner: What do you mean, "wtf?"?
01:36:07 <olsner> elliott running any kind of java thing, if it weren't for minecraft it would be inconceivable
01:36:27 <elliott> olsner: i have a slight feeling you're trolling me here :)
01:36:32 <elliott> olsner: I KNOW YOU'VE USED ANT
01:37:23 <olsner> hmm, no, I'm not really trolling
01:38:34 <olsner> I have never used ant voluntarily, note you
01:39:05 <olsner> but I have indeed used it, which is how I know how horrible and braindead it is
01:39:46 <olsner> it's kind of bancstar+xml+java molded into a build system
01:40:29 <pikhq> Ant is perhaps the worst-designed build system I have seen.
01:40:52 <olsner> ... "build system" - at best you can use it to do sequencing in a language worse than dos/cmd batch files
01:41:17 <pikhq> And I include the horrid monstrosity I once saw that was a hybrid of *interactive* Perl, shell, Make, Autotools, and C in that consideration.
01:41:49 <cheater99> what you have just described sounds like git.
01:41:50 <pikhq> cheater99: Which is also notable for being almost its own OS.
01:41:58 <olsner> even a "do your worst" given all those tools should end up better than ant
01:42:11 -!- Mathnerd314 has joined.
01:42:11 <elliott> ==Phantom_Hoover logreading== I have struck diamond. I WILL NOW ACCOUNT FOR EVERY SINGLE DIAMOND BLOCK I MINE SO THAT IT CAN BE SPLIT 50/50.
01:42:14 <pikhq> olsner: Quite true; Ant is just revolting.
01:42:18 <elliott> Even though it matters not.
01:42:30 <olsner> pikhq: I am glad we agree :D
01:43:11 <elliott> Done; 8 blocks in total. 4 each. I will put them in my chest.
01:43:40 <pikhq> http://en.wikipedia.org/wiki/Apache_Ant The sample build file here makes me want to vomit.
01:44:11 <pikhq> It actually demonstrates just about everything wrong with XML.
01:44:36 <olsner> pikhq: lol - it gets MUCH WORSE
01:44:48 <olsner> that's not even a real-world example
01:45:01 <pikhq> It has such a revolting amount of syntactic noise.
01:45:19 <cheater99> tag based languages are in general a mega failure
01:45:24 <cheater99> hadn't found one that doesn't suck
01:45:37 <pikhq> Even just replacing the structure with sexps naïvely would dramatically improve that.
01:46:18 <pikhq> cheater99: With sexps. Lisp syntax.
01:46:26 <olsner> ant is sufficiently braindead and horrible without the syntactic overhead though
01:46:32 <olsner> don't think that's the only fault!
01:46:42 <pikhq> olsner: True, I'm *only* criticising the syntax ATM.
01:47:03 <olsner> it's just... vomit all the way down
01:47:05 <cheater99> olsner: let's write a multithreaded pi computation in ant
01:47:11 <cheater99> olsner: just to prove how bad it can get
01:47:23 <pikhq> Tag-based markup languages are truly vomitous for any usage other than actual markup of text.
01:47:44 <olsner> cheater99: no. ant is not even interestingly horrible
01:48:27 -!- Sasha has quit (Remote host closed the connection).
01:48:28 <cheater99> i'm listening to music which was sequenced from analysis data of a dna protein
01:48:53 -!- Sasha has joined.
01:49:02 <olsner> cheater99: it's up to you to go ahead and do it, but only do it if you truly have *nothing* better to do
01:49:21 <cheater99> olsner: i have a non-empty set of things better to do
01:49:36 <olsner> cheater99: I'm glad :)
01:49:39 <pikhq> olsner: Why is it that every make replacement has *worse* syntax?
01:50:04 <olsner> pikhq: because make is actually at the upper end of build system sensibility
01:50:13 <elliott> A bunch of coal mined, but whatever.
01:50:29 <olsner> lots of people seem to say "make sucks", then go build something so much worse
01:50:32 <elliott> olsner: that is more a statement about everything except make, than a statement about make
01:50:43 <olsner> elliott: right you are
01:50:49 <cheater99> olsner: well, make works only on some systems
01:51:14 <olsner> cheater99: that's just the anal sex argument
01:51:20 <pikhq> People should look at what make does *right* when replacing it.
01:51:25 <elliott> [Sever] COBOL IS A HORRIBLE LANGUAGE.
01:51:32 <elliott> Cobol is horrible, Netcraft confirms it.
01:51:42 <cheater99> olsner: people needed ant for things which didn't exist on, say, windows at that point
01:51:44 <elliott> olsner: I like how it's now transformed into "the anal sex argument".
01:51:50 <elliott> Oh yeah, you know, that common argument about anal sex.
01:51:51 <pikhq> For instance: its syntax is *simple and readable*, and it is *declarative*.
01:52:26 <olsner> elliott: it isn't afaik, I just thought the analogy was so right for this case
01:52:32 <elliott> olsner: it is as of your message
01:52:58 <pikhq> cheater99: The build system that shipped with the official Mac development stuff was a Make derivative. :)
01:53:22 <pikhq> cheater99: And Windows has had Microsoft nmake for ages.
01:54:23 <olsner> cheater99: are you saying that software was not built on windows before ant?
01:54:31 <pikhq> cheater99: Macintosh Programmer's Workshop. Make and Shell.
01:54:39 <elliott> pikhq: troll, feeding, etc.
01:54:42 <cheater99> it was, but people needed something interoperable
01:55:14 <elliott> note initial expressing of ant ignorance and then switching to advocating ant when that seems to be the thing that'll generate more messages.
01:55:17 <pikhq> And anyways, *nowadays* it is very very easy to make an interoperable build system.
01:55:39 <cheater99> elliott: ant ignorance? i use ant in my job.
01:55:43 <cheater99> you know, that thing you don't have.
01:56:57 <olsner> doubly maintaining separate build systems always existed. makefile/project/whatever generators are also available. also, cygwin (for shell scripts while still supporting windows) and scripting languages
01:57:19 <olsner> in other words: there is no problem that any solved that didn't already have a better solution
01:57:21 <cheater99> cygwin sucked very much when ant was being created
01:57:52 <olsner> no part of cygwin has suckage in the amounts that ant does
01:57:57 <pikhq> I'm fairly certain that just having two completely different build systems sucks less than ant.
01:58:10 <cheater99> i'm just reminding you of the premise :p
01:58:10 <pikhq> (make and Visual Studio)
01:58:32 <pikhq> (or just saying "screw it" and build with mingw)
01:59:24 <elliott> cheater99: am i meant to feel inferior because i do not yet have to work to sustain myself?
02:05:40 -!- Hiant has joined.
02:05:49 <olsner> good night, and beware of ant
02:08:06 <Gregor> <pikhq> I'm fairly certain that just having two completely different build systems sucks less than ant. // build WebKit some time.
02:08:14 <Gregor> It has at least four separate build systems.
02:08:53 <elliott> More coal, blah blah blah.
02:19:47 <cheater99> ok, gotta clone this hdd. bbl sweeties
02:19:58 -!- cheater99 has quit (Quit: Leaving).
02:24:16 <pikhq> Gregor: As in, one build system for each OS.
02:24:26 <pikhq> Gregor: Not an unholy hybrid of build systems.
02:24:39 <elliott> Gregor: He means that one build system is what he prefers to ant.
02:24:43 <elliott> Thus invalidating your example.
02:25:03 <pikhq> Lemme guess. A large part of it is KDE-autotools.
02:25:18 <Gregor> pikhq: On Mac OS X, each subsystem is independently maintained in a separate XCode build, but only JavaScriptCore will build in XCode. They have to be cobbled together by a series of convoluted Perl scripts.
02:25:23 -!- Hiant has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6.3/20100401080539]).
02:25:28 <pikhq> (KDE's usage of autotools is sufficiently unique to count as a seperate build system, IMO)
02:25:37 <Gregor> pikhq: It uses autotools for GTK+, qmake for Qt.
02:25:53 <pikhq> ... So they redid the entire KHTML build and made it worse.
02:26:23 <pikhq> elliott: KDE 3, which Webkit was forked from, used KDE-autotools.
02:26:26 <Gregor> pikhq: Something else for ETL, it has two build systems for Windows (one for VS, one for MingW/Cygwin), and a wholly separate build system based on scons for Chrome. Also it has cmake stuff in there I haven't been able to identify the user of.
02:26:34 <elliott> pikhq: Right. Although I think late KDE 3 used cmake.
02:26:40 <pikhq> Which had a gigantic swath of its own macros to replace most of KDE 3's functionality.
02:26:53 <Gregor> And I think the wx fork must have went away since I haven't seen it lately.
02:26:59 <pikhq> elliott: The Cmake switch came into being well after porting to Qt 4.
02:27:28 <pikhq> Erm, s/KDE 3's/autotools'/
02:34:25 <elliott> 1. Mine endlessly in Minecraft. Pick up tons of valuable materials.
02:34:31 <elliott> 2. Discover a HUGE, and ore-rich, cavern system
02:34:41 <elliott> 4. Find what you think is a path you haven't tried yet.
02:34:44 <elliott> 5. There's lava on the way.
02:34:56 <elliott> 6. Successfully execute a jump onto the platform in the middle! Fuck yeah!
02:35:02 <elliott> 7. Jump forwards to get out.
02:40:42 <Sgeo> "Lose everything"?
02:40:52 <elliott> Sgeo: Die -> lose inventory.
02:41:04 <elliott> Including the tons of stuff I mined, all my trinkets, and all my tools.
02:41:11 <elliott> I have enough to rebuild them with some tree-punching in my chest, but still, fuck that shit.
02:41:22 <elliott> I should have just poured water over it. ...Why didn't I...? EURGH YASD
02:42:14 <Gregor> Holy fuck. EFL uses cmake. But it's not the ONLY user of cmake. I don't know what the other one is.
02:42:19 <Gregor> This has at LEAST a dozen build systems.
02:42:55 <elliott> Gregor: You are so making me not want to package anything that uses WebKit :P
02:43:07 <elliott> Gregor: I bet it's two times the fun if you want to create static libraries, right?
02:43:18 <elliott> 999999999999999M libwebkit.a
02:43:24 <Gregor> I doubt very highly that it's capable of that.
02:43:36 <elliott> Gregor: I am pretty sure it is, actually.
02:43:38 <Gregor> Although the GTK+ build definitely does create them since it uses .la
02:43:41 <elliott> At least the suckless guys seem to think so.
02:43:44 <Gregor> But I doubt it's capable /in general/ of doing that.
02:43:56 <Gregor> That is: Only 1/3rd of its hundreds of build systems support that ;)
02:44:00 <elliott> Gregor: Thankfully, I'm doubly uninterested in building non-gtk versions :P
02:44:14 <elliott> And most make/cmake stuff will let me just pass -static and go on with my life.
02:44:32 <Gregor> Oh look, Android uses a different build system from Chrome, and is Make-based.
02:44:48 <Gregor> Y'know what's terrible? I am currently NOT looking for build systems. I'm trying to do something else.
02:44:57 <elliott> http://terryxu2008.blogspot.com/2008/08/webkit-runs-on-fltk.html
02:45:10 <elliott> "Hey guys! I ported WebKit to FLTK, which is a major and useful development! Now watch me never say anything about it again, or release the source!"
02:45:19 <elliott> Just a WIIIILD weekend hack!
02:45:53 <Gregor> Good, don't need yet another build system :P
02:47:09 <elliott> http://c2.com/cgi/wiki?WhyNobodyDeletesWiki -- voted for title most likely to cause harm to the wiki :P
02:47:22 <elliott> WhyNobodyPressesEditAndSelectsAllAndThenPressesSaveOnThisPage
02:47:30 <elliott> WhyNobodyPressesEditAndSelectsAllAndDeletesAndThenPressesSaveOnThisPage
03:05:24 <elliott> Vorpal: this synthesis thesis is *wonderful*!
03:05:27 <elliott> thank you for pointing me to it
03:10:37 <Sgeo> LightBot 2.0 has a level editor
03:11:11 <Sgeo> And recursion and conditionals, don't remember if the first had either
03:11:28 * Sgeo goes to play a bit of RoboZZle
03:12:33 <Sgeo> My brain seems to be off right now
03:14:13 <Goosey> How would I clear a screen in brainfuck...
03:15:37 <elliott> Goosey: You can't. But if you assume a standard terminal -- 25 lines on Windows, 24 on Unix -- then you can just print that number of newlines to be sure you're on a blank screen.
03:15:43 <elliott> Of course you might be further down than that.
03:15:49 <elliott> There is ANSI codes and stuff you can output but bleh.
03:16:13 <elliott> Goosey: If you keep track of how many multiples of 80 chars you have printed (because it wraps the line at 80 chars), and how many newlines, you can do (24 or 25) - that to get how many lines you need to output. But is it really worth the bother?
03:16:18 <Goosey> elliott, how do commands like clear and cls work?
03:16:29 <elliott> Goosey: cls, I don't know.
03:16:40 <elliott> Goosey: clear, as you can see, uses special control code.
03:16:44 <elliott> there, ^[ = the escape character
03:16:59 <elliott> will clear an ANSI-compliant screen
03:17:24 <Sgeo> Never thought I'd type man can
03:17:26 <elliott> Goosey: escape is ascii 27
03:17:30 <Sgeo> man cat for that matter
03:17:55 <elliott> Goosey: so basically print 27, print "[H", print 27, print "2J". you probably want to print 10 after that for new-line so that it gets flushed to the terminal; otherwise it might be buffered and not happen
03:18:08 <elliott> although that might actually leave you on the second line of the new screen, so you'd have to use cursor codes to go up
03:18:27 <elliott> Goosey: you will find http://en.wikipedia.org/wiki/ANSI_escape_code useful
03:18:33 <elliott> all the various ANSI escapes
03:19:07 <elliott> Goosey: btw, i don't know of any brainfuck programs using the ansi escapes. so you may be innovating here :)
03:19:18 <elliott> Goosey: of course having to output a newline to have any of them take effect is a real blocker. but good luck.
03:23:37 -!- Hiant has joined.
03:27:05 <elliott> olsner: so do you want me to summarise what i was thinking for that tarpit kernel or not? :p
03:35:42 <elliott> olsner: http://sprunge.us/gXiR
03:37:08 -!- elliott_ has joined.
03:37:23 -!- elliott has quit (Disconnected by services).
03:37:25 -!- elliott_ has changed nick to elliott.
03:37:27 -!- elliott has quit (Changing host).
03:37:28 -!- elliott has joined.
03:48:53 -!- Goosey has quit (Remote host closed the connection).
03:49:05 -!- Goosey has joined.
03:50:05 -!- zzo38 has joined.
03:50:19 <Goosey> assuming * are escapes
03:50:31 <Goosey> (I cant send the escapes in this I guess)
03:51:29 <elliott> Goosey: 'cuz ANSI said so :)
03:51:36 <elliott> Goosey: [H will do something and 2J will do another thing
03:51:39 <elliott> see my wikipedia link for exactly what
03:51:56 <elliott> Goosey: but you need a newline after that, probably, or the OS won't send it to the terminal
03:52:40 <elliott> Goosey: only some things start with [
03:52:48 <elliott> the ^[ thing is either coincidence or poor choice
03:52:50 <Goosey> i haven't run it yet, except in the interpreter
03:52:56 <elliott> (poor choice in putting [ after it that is)
03:52:59 <Goosey> I'm sure that if it's compiled to asm there is a higher chance
03:53:39 <elliott> since it's still likely to use the C stdio
03:53:45 <zzo38> I think the 2J (clear screen) does have [ before it
03:54:00 <Goosey> THATS WHAT I WAS SAYING XD
03:54:32 <elliott> we offer advice from the finest of minds, nobody ever said it had to be *accurate*
03:54:43 <zzo38> Only single-character escapes have no [ while the control sequences (where there is a list of zero or more numbers separated by semicolons, followed by a command code) do have [ because ESC [ is the control sequence introducer.
03:54:46 <elliott> sometimes the oracle of wisdom doesn't bother checking!
03:59:06 <elliott> *[H*[2J and then want to read input without printing another newline
03:59:08 <elliott> that would be impossible i think
03:59:38 <Goosey> I dont know if this is supposed to happen when compiling with beef
03:59:43 <Goosey> but I'm totally getting the thing cleared
04:01:28 -!- wxl has joined.
04:01:35 <Goosey> I thought it might have been an escape code
04:01:42 <Goosey> but I never would have known wich
04:02:32 <wxl> anyone know where I can find more info on prelude?
04:02:46 <elliott> ah, http://esolangs.org/wiki/Prelude?
04:03:05 <elliott> wxl: well Nikita Ayzikovsky is our friendly or... uh, semi-friendly absentee channel op, lament
04:03:14 <elliott> wxl: if you hang around here for a week or three he'll turn up
04:03:48 <elliott> wxl: and of course information on http://esolangs.org/wiki/Fugue is likely to apply
04:03:52 <elliott> since Prelude is just Fugue in ASCII
04:04:26 <elliott> http://web.archive.org/web/20060504072859/http://z3.ca/~lament/prelude.txt draft spec on internet archive
04:04:27 <wxl> sadly I'm not well versed in musical notation
04:04:49 <elliott> i suggest just sticking around here, it's entertaining enough to be worth the wait :P
04:04:55 <elliott> he pops in basically regularly.
04:05:40 <wxl> sounds good
04:07:36 <wxl> this aint much different than wots on the wiki
04:07:51 <wxl> wish I could find some other sample programs
04:08:11 <elliott> i remember seeing some fugue tracks by someone who came in here.
04:08:16 <elliott> tracks, programs, whatever :P
04:08:46 <wxl> damnit I guess I must resolve to learn music :D
04:08:59 <elliott> wxl: just enough to convert to prelude :P http://esoteric.voxelperfect.net/files/fugue/src/hworld.mid
04:09:50 <wxl> you know that much elliot? :)
04:10:02 <elliott> wxl: no, i just have a copy of the entire channel logs and grep(1)
04:13:59 <Goosey> I wonder if this brainfuck program is faster than clear...
04:14:12 <Goosey> doubt it because clear is inline
04:17:22 <elliott> bash: builtin: clear: not a shell builtin
04:17:22 <Goosey> Oh, i assumed it was :/
04:17:45 <zzo38> I made a game that has a scroll in it somewhere with the message "This game is bad because Hitler played it"
04:17:56 <elliott> unlike the GNU implementation of true(1) and false(1), clear seems to not have --help or --version
04:18:23 <zzo38> Why should a implementation of true(1) false(1) need --help or --version or anything else?
04:18:32 <elliott> you can't make this shit up.
04:18:41 <elliott> For complete documentation, run: info coreutils 'true invocation'
04:19:38 <zzo38> Just write in assembly language the true and false program, or machine-codes, for your machine, and then write a simple version in C if needed for cross-platform however
04:20:07 <elliott> You really really don't need to whip out asm...
04:20:18 -!- Hiant has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6.3/20100401080539]).
04:20:43 <zzo38> I agree GNU packages are very crazy and bloated mostly, which is why I wrote internationalization.wi program and these things. I like to use the GNU GPL for many of my own programs, though. (For others I use public domain)
04:21:11 <zzo38> elliott: You do not need asm for all programs, but the one as simple as true/false should be simple enough to write a few bytes of machine-codes
04:21:30 <elliott> int main(void) { return 0; }
04:21:38 <elliott> and not waste your time micro-optimising a utility where it's totally unneeded.
04:21:57 <zzo38> elliott: Yes you can do that too.
04:22:19 <Sgeo> "As you may know, BINARY is a language devised by machines to CONFUSE us."
04:27:38 <Goosey> The only compiler I have found for linux seems to crash when I try to use it :/
04:28:06 <elliott> Goosey: You are not looking nearly hard enough, there are hundreds!
04:28:18 <elliott> Goosey: The state of the art is http://code.google.com/p/esotope-bfc/
04:28:26 <elliott> Goosey: which generates highly efficient C
04:28:32 <elliott> Goosey: and compiles Hello world to a single print statement
04:29:09 -!- p_q has changed nick to poiuy_qwert.
04:29:54 <elliott> Goosey: There's also "also written in brainfuck" which is a compiler written in brainfuck outputting x86 Linux assembly among others... but really, just use esotope for the best :P
04:31:35 <Goosey> when copying the assembly I accidently deleted the last line
04:32:06 <elliott> Goosey: There's no real reason not to use esotope since it's so heavily optimising.
04:32:15 <elliott> It will beat any to-assembly compiler I know of.
04:33:31 -!- GreaseMonkey has quit (Quit: ilua).
04:38:55 <zzo38> I have idea to make up a roguelike game (I wrote it on paper already), the front-end and back-end each written in Enhanced CWEB, and the program to generate format files written in gforth. This program is a combination of D&D (3.5e), Magic: the Gathering, ADOM, Nethack, ToME.
04:40:40 <zzo38> When I write some in the computer, I will post it
04:42:11 -!- wxl has left (?).
04:43:47 -!- elliott has quit (Quit: Leaving).
04:44:39 <Goosey> too bad its to C not assemeblee xD
04:44:42 <zzo38> The tunes.org logs does not log the PART messages, it only logs it is part
04:45:24 <zzo38> Like, the log file says "20:42:11 --- part: wxl left #esoteric
04:45:42 <zzo38> but my screen says ":wxl!~wxl@c-98-232-228-160.hsd1.or.comcast.net PART #esoteric :"into the aether..."
05:18:06 <pikhq> Goosey: There's not *much* benefit for assembly for Brainfuck compilation.
05:18:49 <pikhq> Especially when your optimiser does some crazy crazy stuff already.
05:19:01 <Gregor> Today's myth is: That something written in assembly will naturally be faster than the equivalent written in C!
05:19:02 <Goosey> Yeh, oh well, I'm not writing in brainfuck to save the workld :P
05:19:10 <Gregor> The reason it's a myth? Because C compilers are much, MUCH smarter than humans.
05:19:23 <Goosey> Despite being written by humans
05:19:30 <pikhq> And because assembly is only faster than C if the assembly programmer is brilliant.
05:19:57 <pikhq> For an example of this, see: x264.
05:20:06 <Gregor> Goosey: Hahah, of course I'm kidding, we were written by humans!
05:20:12 <Gregor> I mean, C compilers were written by humans!
05:20:17 <Gregor> Also they're not sentient!
05:28:11 <Sgeo> There are some who believe we were written by something smarter than humans
05:28:38 <Sgeo> Although I don't think they'd use the word "written"
05:28:51 * Sgeo suddenly sees the time gap
05:33:19 <Gregor> They can't have been THAT much smarter with how much they fucked up ... frankly I would assume that if that's the case, they were at or below our intelligence, just much farther than us in technology.
05:33:50 <Gregor> And don't give me any of this "benevolent omniscient deity" bullshit :P
05:35:56 <Sgeo> What protections could a smart creator provide against cancer?
05:36:10 <Sgeo> (Just wondering, not saying "Oh, what you're saying is wrong"
05:36:38 <Sgeo> The cell already has safeguards. How many more safeguards could be added?
05:36:44 <Gregor> More redundancy. And I wasn't really arguing that that in particular was a fuck-up, there are far more fundamental fuckups we don't even think about.
05:37:03 <Gregor> They're so fundamental that you wouldn't even realize them normally.
05:37:20 <Gregor> Things like having a sleep cycle and being an animal capable of advanced math with a prime number of fingers.
05:37:45 <Gregor> Things like storing excess spare energy in a form that's harmful and we can't voluntarily expel.
05:37:58 <Sgeo> We don't have a prime number of fingers
05:38:08 <Sgeo> Unless you have an extr.. oh
05:38:09 <Gregor> Yes, we're symmetrical, la-dee-da.
05:38:20 <zzo38> The people and planets are invented by the Universe.
05:38:25 <Gregor> But the result is that our base for counting is 10, which is an utterly-useless base with only two divisors.
05:38:25 -!- Vikrokk has joined.
05:39:05 <Sgeo> We should go back in time and chop off everyone's pinkys
05:39:23 <Sgeo> Note: In real life, I am not a Lamarckian
05:39:30 <Gregor> Which furthermore is totally useless for interop with base-2 systems, which is the most sensible base for things like computers since it doesn't require anything more complicated than a greater-than comparison so it's easily convertible to and from analog.
05:39:33 <zzo38> And many of these thing are supposed to be like that. If you do not like it, modify your own body by cutting off your fingers or whatever you want to do.
05:39:52 <Gregor> There is no supposed to.
05:40:13 <Gregor> There is no divine purpose. We have five fingers because that's how many fingers our ancestors evolved.
05:40:33 <Gregor> They didn't evolve a number of fingers ideal for math because math is not necessary for sex.
05:41:06 <Sgeo> <insert add subtract divide multiply joke here>
05:42:50 <zzo38> Gregor: Yes, and that is the divine purpose, of what is supposed to be. The divine purpose of what is supposed to be, is how many fingers your ancestors evolved. It can happen by random, but many things mixed up together and then the probable and supposed to be is the way Universe evolves by quantum uncertainty principle.
05:43:32 <Gregor> Your definition of "supposed to" is, I would therefore say, totally unhelpful.
05:43:54 <zzo38> (I do not mean there is a divine purpose for the evolution of that many fingers, what I mean is that the evolution of that many fingers *is* the divine purpose, the divine purpose is not *for* that.)
05:44:53 <Gregor> That's sort (in fact precisely) like saying that a god most certainly exists by the materialist definition of "god"; sure, it's true for that definition, but such a god confers no value to life, so who cares.
05:45:45 <Sgeo> There's a materialist definition of "god"?
05:45:45 -!- Vikrokk has quit (Quit: Leaving).
05:46:26 <zzo38> But feel free to please cut off your own fingers or modify your DNA or whatever you like to do to yourself. But do not force to do other people unless they said OK at first explicitly, and only in a small group.
05:46:28 <Gregor> Sgeo: A being is just a complex ongoing computation (by the CS-y materialist definition ;) ). The universe is a complex ongoing computation. Therefore the universe is a being. That being is god. That god clearly exists. QED.
05:46:49 <pikhq> Gregor: Clearly we should time travel and give humans a total of 8 fingers.
05:47:01 <Gregor> Eight or twelve would be great :)
05:47:05 <Sgeo> Gregor, do Christians ever state that as a proof of God?
05:47:15 <Gregor> Sgeo: No, that's not a Christian god.
05:47:24 <Gregor> And I would shy away from capitalizing "god" for that god :P
05:47:27 <Sgeo> I can still imagine someone saying it
05:47:42 <Gregor> That's part of my argument of why I'm agnostic and not an atheist :P
05:47:58 <zzo38> That is not a proof of God (I think it should be capitalized; the non-capitalized "god" means something different); it is just an opinion of God.
05:48:19 <Sgeo> I thought agnostic was "It can't be known" not "It depends on your definition"
05:48:36 <Gregor> zzo38: The capitalized "god" is the name of a particular deity; this deity is not that deity.
05:48:40 <zzo38> Sgeo: There is different kind of "agnostic".
05:49:01 <Gregor> One of them is "ignostic", which is "I can't answer the question because the question isn't even definable"
05:49:19 <Gregor> With the further caveat that any useful definition yields an unanswerable question.
05:49:39 <Gregor> (Where that question is "Is there a god?" or "Is there a higher power?")
05:49:58 <Sgeo> "The Christian God" is a useful definition, with a clear cut answer -- No
05:50:14 <Gregor> Mmm, even that depends on your flavor of Christianity.
05:50:14 <zzo38> Gregor: No that is not what I mean by the capitalized/uncapitalized. The non-capitalized "god" is used when the term "gods" can be used for many of the same if applicable. The capitalized "God" is the "supreme being" or such, or whatever; hence, it is usable as a name and can be capitalized.
05:50:18 <pikhq> Sgeo: Not that clear cut.
05:50:27 <pikhq> "Christianity" is a *class* of religions, not a single one.
05:50:34 <Gregor> Certainly the fundamentalist God (everything in the Bible is rock-solid Truth with a capital T that's a crucifix) is false.
05:50:59 <zzo38> I am also agnostic; but a lot of difference from other agnostic.
05:51:10 <pikhq> Gregor: Yes, an all-loving and all-hating God is quite a contradiciton. :)
05:51:17 <Sgeo> What would a form of Christianity that can be true in a materialistic universe look like?
05:51:57 <zzo38> There is many denomination of Christianity, including Illogical Christianity (a.k.a. "Chicken", as Jack Chick).
05:52:52 <zzo38> The Bible literally is all contradiction and nonsense and lying. Therefore, do not read the Bible literally if you want to mean anything from it (but there will still be many different opinion, which is also OK).
05:53:30 <Gregor> Religions' ability to convert useful parables into useless "truth" is pretty impressive actually.
05:54:00 <Gregor> I kind of wonder e.g. in ancient Greece or Rome how much people actually believed in the literal existence of their pantheons of gods.
05:54:22 <Gregor> Or their one pantheon of renamed gods, really :P
05:54:27 <Sgeo> Aren't there some parts that aren't supposed to be directly from God? (Psalms, Song of Soloman), so what do fundamentalists mean by "the whole Bible"?
05:54:42 <zzo38> Gregor: Yes many religious stuff often does convert useful parables into useless "truth".
05:54:58 <Gregor> Sgeo: Fundamentalists believe that all of it was inspired by God and is therefore Truth with a capital T that's a crucifix.
05:55:23 <pikhq> Sgeo: Uh, Song of Solomon is... Porn.
05:55:55 <zzo38> Whether or not anything in the Bible is directly from God, is irrelevant, in my opinion. I do not believe God directly wrote it. Say it is "inspired by God" though if you want to; that is OK with me if you want to say that, but is OK also if you prefer to don't say that.
05:55:55 <Sgeo> Therefore, Porn is the Truth!
05:56:30 <pikhq> And Psalms is just poetry and songs in worship of God.
05:56:50 <Gregor> Well nobody believes that God literally penned the Bible (I think?), everyone believed it was penned by humans with divine intervention.
05:57:11 <Gregor> And by "everyone" I mean "all relevant people" or something :P
05:58:25 <zzo38> The Bible was written by many authors; even reading Genesis, it is clearly that the first chapter and second chapter are different.
05:59:13 <Gregor> Anyway this is a craaaaaaazy tangent :P
05:59:27 <Gregor> The point is we have five fingers per hand and that totally sucks.
05:59:40 <Gregor> And we spend 1/3rd or more of our time unconscious for no clear reason.
05:59:42 <zzo38> Gregor: Then cut off your fingers if you dislike that.
06:00:30 <Gregor> zzo38: Cutting off MY fingers does not help, I could just as well count in a different base than everyone else, the number of fingers we have has caused a problem that permeates literally all math.
06:02:24 <zzo38> Gregor: Well, that is what you can do; if you do not like it, then do not to do it, please.
06:02:29 <Sgeo> It's not our fingers' fault that we use pi instead of tau=2pi
06:03:01 <Gregor> zzo38: It is merely an argument that we were not created by a being that is both omniscient and benevolent, it is not some bizarre social complaint.
06:03:10 <Sgeo> You don't need the "to" there in "to do"
06:03:25 <Sgeo> Someone please explain to me why?
06:03:33 <zzo38> Sgeo: That is a completely different reason having to do with mathematics. There are some reasons why 2pi is better and sometimes pi, so that is why pi used.
06:03:51 <Gregor> Sgeo: Because it's in imperative, not infinite form ...
06:04:01 <Gregor> Sgeo: "do it" is an imperative, as is "do not do it"
06:04:53 <zzo38> Gregor: It is OK to argue about created by or not, since there is many different opinion based on different reasons. Your opinion argument does work, though, so it is OK.
06:05:20 <Sgeo> Why was I uncertain of that?
06:07:21 <zzo38> I could live with only 2 fingers in each hand (I have tried), but it is difficult and I have no intention to do so. Therefore, I have 5 fingers in each hand (if you count a thumb as a finger (some people don't)) and it is work good.
06:08:18 <Gregor> Six fingers would be great too.
06:08:41 <zzo38> There are a few people with six fingers, I think. But it is very rare.
06:09:01 <Gregor> It's even rarer for it to be a fully-developed and usable finger, rather than just a deformed stump.
06:09:37 <zzo38> Gregor: Yes. But it has happened, even though it is even more very rare.
06:10:40 <zzo38> (Do you want to know why I have tried? It has something to do with D&D game; the way I play it comes up with many strange (and sometimes obscure) questions, some of which I can answer and some of which I cannot answer.)
06:13:19 -!- wareya has quit (Read error: Connection reset by peer).
06:13:54 -!- wareya has joined.
06:17:00 <Sgeo> I feel like I'm acting out an artificial hyperness of http://tvtropes.org/pmwiki/pmwiki.php/Main/DidYouJustHaveSex that sort despite not in fact getting laid
06:17:17 <Sgeo> Ok, that may have been TMI for this channel
06:18:20 -!- oerjan has joined.
06:19:26 -!- zzo38 has quit (Quit: zzo38).
06:55:20 * oerjan gets the brilliant idea to actually _search_ the wiki for "Site maintenance" and "reserve copy page", finds two missed spam pages
07:14:15 * Sgeo googles for a creepy quote
07:14:39 * oerjan also searches for quot, amp and lt
07:15:13 <Sgeo> "However, one could always draw stoic comfort from the possibility that perhaps in the course of time the new vacuum would sustain, if not life as we know it, at least some structures capable of knowing joy. This possibility has now been eliminated."
07:15:21 <oerjan> ...darn the search doesn't include words shorter than 4 letters
07:16:24 <Sgeo> I'm pretty sure that "this possibility" is supposed to mean the idea of vacuum decay, but it looks like it's referring to the possibility of structures that can know joy in the new vacuum
07:16:35 <Sgeo> And how effect-depleting when I explain something
07:17:02 <Sgeo> Actually, I may be wrong and that "this possibility" may be referring to those structures
07:17:52 <Sgeo> Anyone want to read http://www.slac.stanford.edu/pubs/slacpubs/2000/slac-pub-2463.html to help me out?
07:18:46 <Sgeo> Right before that bit in http://blogs.discovermagazine.com/cosmicvariance/2007/11/19/sidney-coleman/
07:19:32 <oerjan> Sgeo: i'd hazard a guess any dual meaning is entirely intentional
07:19:48 <Sgeo> Why is it so bloody impossible to select text in Chrome's PDF reader
07:19:53 <Sgeo> "This is disheartening"
07:19:56 <oerjan> also, i don't seem to be able to revert the Brainfuck Constants page. darn hugeness.
07:21:02 <Sgeo> TL;DR: AFAICT, it's the depressing meaning
07:29:58 * Sgeo needs a mood depressant
07:38:37 -!- Goosey has quit (Remote host closed the connection).
07:50:42 -!- Sgeo has quit (Read error: Connection reset by peer).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:16:26 -!- kar8nga has joined.
09:12:41 <oklopol> "<Gregor> And we spend 1/3rd or more of our time unconscious for no clear reason." <<< i slept 14 hours the night before last, 11 now
09:13:46 <oklopol> "<zzo38> Sgeo: That is a completely different reason having to do with mathematics. There are some reasons why 2pi is better and sometimes pi, so that is why pi used." <<< no, pi is never better
09:23:31 -!- kar8nga has quit (Remote host closed the connection).
09:24:27 -!- MigoMipo has joined.
10:00:03 -!- Phantom_Hoover has joined.
10:20:55 -!- eafkuor has joined.
10:43:37 <Ilari> Both major estimates of IANA IPv4 depletion are now under 100 days...
10:46:10 -!- kar8nga has joined.
10:49:35 <Ilari> And before adress space runs out, it starts to fragment, with maximum allocatable block falling in size. Right now it is still /8.
10:51:11 <Ilari> (VARIOUS, LACNIC and AFRINIC all have free complete /8). And IANA has 11 of those in pool.
10:52:04 <oerjan> well i guess once IANA runs out they'll start counting down for individual NICs...
10:55:11 <Ilari> Or actually, it might be that once the first RIR (APNIC) depletes, allocations diversify to other RIRs (which will then fragment the routing table to hell).
10:59:28 <coppro> no matter what, BAD THINGS will happen
10:59:37 * coppro is at an organization with a /16, so there
11:00:35 <coppro> in fact, due to it having a /16, I have a Real IP Address
11:00:36 -!- MigoMipo has quit (Quit: Quit).
11:12:20 <Ilari> Heh... NIC (GbE) in this new computer supports jumbo, but NIC (fast ethernet) in this old computer doesn't.
11:14:44 -!- Mathnerd314 has quit (Ping timeout: 245 seconds).
12:11:07 -!- cheater99 has joined.
12:19:43 -!- cheater00 has joined.
12:28:07 -!- yorick has joined.
12:37:29 -!- eafkuor has quit (Ping timeout: 272 seconds).
12:40:53 -!- Guest49186 has joined.
12:42:09 -!- Guest49186 has quit (Client Quit).
12:58:18 -!- kar8nga has quit (Remote host closed the connection).
13:35:46 -!- oerjan has quit (Quit: leaving).
13:39:30 -!- fxkr has quit (Quit: leaving).
13:45:56 -!- fxkr has joined.
13:47:01 -!- digger has joined.
13:47:56 -!- digger has quit (Client Quit).
14:19:28 -!- Hiant has joined.
14:24:06 -!- Hiant has quit (Client Quit).
14:36:21 -!- rodgort has quit (Ping timeout: 245 seconds).
14:37:39 -!- rodgort has joined.
14:37:41 -!- rodgort has quit (Client Quit).
14:38:18 -!- rodgort has joined.
15:19:46 -!- sebbu2 has changed nick to sebbu.
15:22:38 -!- elliott has joined.
15:24:46 <elliott> 21:42:50 <zzo38> Gregor: Yes, and that is the divine purpose, of what is supposed to be. The divine purpose of what is supposed to be, is how many fingers your ancestors evolved. It can happen by random, but many things mixed up together and then the probable and supposed to be is the way Universe evolves by quantum uncertainty principle.
15:24:55 <elliott> Gregor: Can you translate this from word soup to English?
15:25:50 <elliott> 21:49:58 <Sgeo> "The Christian God" is a useful definition, with a clear cut answer -- No
15:26:07 <elliott> Actually, the clear cut answer is more like 2^(-(number of claims made in the Bible or thereabouts)).
15:27:10 <elliott> 21:56:50 <Gregor> Well nobody believes that God literally penned the Bible (I think?), everyone believed it was penned by humans with divine intervention.
15:27:11 <elliott> 21:57:01 <Gregor> *believes
15:27:11 <elliott> 21:57:11 <Gregor> And by "everyone" I mean "all relevant people" or something :P
15:27:41 <elliott> 21:59:42 <zzo38> Gregor: Then cut off your fingers if you dislike that.
15:27:43 <elliott> 22:02:24 <zzo38> Gregor: Well, that is what you can do; if you do not like it, then do not to do it, please.
15:28:34 <elliott> 22:17:00 <Sgeo> I feel like I'm acting out an artificial hyperness of http://tvtropes.org/pmwiki/pmwiki.php/Main/DidYouJustHaveSex that sort despite not in fact getting laid
15:28:41 <elliott> I have no idea what you just said, but you're fucked up, dude.
15:36:29 -!- kar8nga has joined.
15:42:55 <elliott> [[Why would someone who refuses to use new technology or follow business requirements or write code that no one else can maintain be a 'real programmer'.]] --proggit; all the replying concurring commands are talking about wasting company money and time. Sigh.
15:43:09 <elliott> Can we just kick out every software company from the universe, please?
15:43:19 <elliott> (It's in the reply to the Story of Mel.)
15:47:00 <elliott> Vorpal: thank you times a gajillion for this synthesis paper, btw
15:47:24 <elliott> i just wish it wasn't in badly-rendered .ps
15:49:56 <Vorpal> elliott, I read a html-ised version
15:50:06 <Vorpal> elliott, the ps one I would like to see
15:50:36 <elliott> Vorpal: I recommend the HTML version! But: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.4871
15:50:43 <elliott> The PDF is just a conversion of the ps and so is even worse.
15:51:32 <elliott> To be honest, http://valerieaurora.org/synthesis/SynthesisOS/ with a bit more LaTeXy CSS would be nicer.
15:57:31 <elliott> Vorpal: i'm not sure i quite understand what a callout is
15:58:07 -!- FireFly has joined.
15:59:21 <elliott> can you try and explain it? he's sort of just glossed over it in three sentences
15:59:22 <Vorpal> elliott, trying to remember. Was over a year ago I read it
15:59:32 <Vorpal> elliott, if you can job my memory a bit.
15:59:48 <elliott> Vorpal: Well I'd copy and paste except the ps doesn't let me.
16:00:05 <Vorpal> elliott, so the html version?
16:00:12 <elliott> The interface to a quaject consists of callentries, callbacks, and callouts. A client uses the services of a quaject by calling a callentry. Normally a callentry invocation simply returns. Exceptional situations return along callbacks. Callouts are places in the quaject where external calls to other quaject's callentries happen. Tables 4.2, 4.3, and 4.4 list the interfaces to the Synthesis basic kernel quajects.
16:00:12 <elliott> Callentries are analogous to methods in object-oriented systems. The other two, callbacks and callouts, have no direct analogue in object-oriented systems. Conceptually, a callout is a function pointer that has been initialized to point to another quaject's callentry; callbacks point back to the invoker. Callouts are an important part of the interface because they specify what type of external call is needed, making it possible to dynamically lin
16:00:13 <elliott> k one of several different quaject's callentries to a particular callout, so long as the type matches. For example, the Synthesis buffer quaject has a flush callout which is invoked when the buffer is full. This enables the same buffer implementation to be used throughout the kernel simply be instantiating a buffer quaject and linking its flush callout to whatever downstream processing is appropriate for the instance.
16:00:39 <elliott> for the BufferIn quaject, get and read are callentries, and fill (replenish the empty buffer) is a callout
16:00:49 <Vorpal> elliott, sounds like delegates?
16:01:04 <elliott> Vorpal: yeah but i have a feeling it's more than that...
16:01:24 <elliott> Vorpal: Also, don't you mean "function pointer"? :)
16:01:46 <Vorpal> elliott, well sure but delegates is more specific than function pointer. It indicates a specific use
16:03:46 <Vorpal> elliott, well, function pointers can be used for stuff like dlopen() while I can't remember having seen delegates used for anything than "subscribing" to an event kind of thingy
16:04:35 <elliott> Vorpal: do you know if this system or at least its entire source is available anywhere?
16:04:37 <Vorpal> elliott, but I'm not completely sure what callout is
16:04:39 <elliott> I would love to emulate it somehow.
16:04:57 <Vorpal> elliott, I think source has been lost. Read someone claiming that somewhere. But I don't know for sure
16:05:26 <elliott> Vorpal: The irritating thing is all these little snippets of 68k assembly -- so much nicer than x86 :P
16:11:46 <elliott> Vorpal: is it bad that i'm just trying to ignore everything even vaguely imperative in this paper?
16:12:46 <Vorpal> elliott, err. How could you possibly do that?
16:12:52 <Vorpal> elliott, it is very imperative
16:13:28 <Vorpal> elliott, would the thing even make sense ignoring the imperative bits?
16:13:35 <Vorpal> elliott, still synthesis?
16:13:53 <elliott> Vorpal: Synthesis is a pure optimisation; f^create(x)(y, z) = f^big(x, y, z)
16:14:06 <elliott> Vorpal: It is known as "specialisation" in functional programming circles.
16:14:23 <elliott> Vorpal: http://blog.sigfpe.com/2009/05/three-projections-of-doctor-futamura.html
16:15:03 <Vorpal> elliott, yes indeed. But the way it is implemented (handcoded asm) is very imperative
16:15:28 <elliott> Vorpal: Well, sure. But you could implement the quajects in a pure, high-level language, I would think.
16:15:32 <elliott> Perhaps modified slightly.
16:15:38 <elliott> Vorpal: (Language designed for this purpose, that is.)
16:16:13 <Vorpal> elliott, functional: certainly. Pure one I'm less certain of
16:17:06 <elliott> Vorpal: Well, we'll have to see.
16:18:42 <Vorpal> elliott, has this completely changed plans for ehirdOS?
16:20:40 <elliott> Vorpal: In fact I was already strongly looking into a functional specialisation-based system.
16:32:25 <elliott> Vorpal: Aww, there's a ByteQueue quaject. It should be a Queue[Byte] instead, and be specialised. :)
16:43:56 <elliott> Vorpal: Very clever how the "self" argument problem is avoided by effectively doing "instance->method = specialise[class->method(instance, ...)]".
16:44:15 <elliott> (For small procedures; and then having larger procedures know what self is, but then call the class method with it as the extra parameter.)
16:44:55 <elliott> Vorpal: How does this fit into the tiny size?!
16:45:40 <elliott> 256 kilobytes of ROM for "the entire Synthesis kernel, monitor, and runtime libraries".
16:52:16 -!- sshc has quit (Ping timeout: 255 seconds).
16:53:24 -!- MigoMipo has joined.
17:07:17 -!- kar8nga has quit (Remote host closed the connection).
17:13:23 <Vorpal> elliott, also 256 KB was large back then
17:13:37 <elliott> Vorpal: run-linking is one of its forms of dynamic linking, that resolves symbols only when they are used
17:14:04 <Vorpal> elliott, I don't think I read that paper from end to end. I read the bits I was interested in
17:14:21 <Vorpal> elliott, anyway linux only resolves symbols when needed iirc
17:14:34 <Vorpal> unless you pass some special linker flags
17:15:15 <elliott> Vorpal: You can't link a program that does
17:15:18 <elliott> if (0) { podkfsdpfjsdiofsd(); }
17:15:30 <elliott> In Synthesis using the run-link system, you can, and it'll run fine because that code path is never executed.
17:16:14 <Vorpal> elliott, I meant in a different sense
17:16:28 <Vorpal> elliott, the sense of relocations in ELF binaries only being resolved when hit
17:22:08 <Vorpal> elliott, minecart system complete btw
17:22:42 <elliott> Vorpal: Oh fuck you, I forgot that game existed until right now.
17:37:48 <elliott> Vorpal: that going-down has led me to discover the source of all MP lag/sync issues.
17:37:56 <elliott> Vorpal: You know how when people walk continuously, you see it as them walking in short spurts?
17:38:13 <elliott> Vorpal: Well, when I was on the cart there, I kept going forwards a bit, and then resetting back to where I was, continuously.
17:38:16 <elliott> Vorpal: What I have discovered is:
17:38:22 <Vorpal> yes I seen that happen
17:38:32 <elliott> Vorpal: The client *runs the game world itself* without the server. It does not do any prediction.
17:38:35 <elliott> So carts move, but people stay still.
17:38:44 <elliott> Vorpal: And then, when the server tells it "what's up", it completely forgets everything it did and updates to that.
17:38:45 <Vorpal> elliott, and you are going to have a hell cleaning up duplicate carts if you timeout while riding one
17:38:54 <elliott> Vorpal: This also goes a long way to explain the double-mining bug.
17:38:58 <Vorpal> elliott, yes this is called "prediction"
17:39:09 <elliott> Vorpal: As I said, it does not do any prediction.
17:39:19 <elliott> It merely simulates the world *without any other actions*.
17:39:29 <elliott> So everything you do takes effect, but it does not even try to predict what another player will do.
17:39:31 <Vorpal> elliott, which is just a sort of prediction
17:39:33 <elliott> If it did, movement would not be in spurts.
17:39:37 <elliott> Vorpal: Ehm, no. Look it up.
17:39:44 <Vorpal> elliott, well a primitive form
17:39:54 <Vorpal> elliott, "I predict everyone else will do nothing" :P
17:56:51 -!- Sasha2 has joined.
17:56:52 -!- Sasha has quit (Ping timeout: 264 seconds).
18:01:22 -!- Sasha2_ has joined.
18:03:28 -!- Sasha2 has quit (Ping timeout: 264 seconds).
18:03:42 -!- MigoMipo has quit (Remote host closed the connection).
18:04:16 -!- MigoMipo has joined.
18:11:08 -!- wareya has quit (Read error: Connection reset by peer).
18:11:24 -!- MigoMipo has quit (Ping timeout: 245 seconds).
18:11:41 -!- wareya has joined.
18:14:43 <elliott> Vorpal: btw there's more cool things in the mine
18:14:45 <elliott> Vorpal: lava lakes for instance
18:15:03 <Vorpal> elliott, mhm. Is that huge one still left?
18:15:14 <Vorpal> elliott, anyway entrance is how water safe
18:16:42 -!- Goosey has joined.
18:23:17 -!- yorick has quit (Ping timeout: 272 seconds).
18:32:50 -!- yorick has joined.
18:37:57 -!- mycroftiv has quit (*.net *.split).
18:37:57 -!- Ilari has quit (*.net *.split).
18:37:57 -!- Ilari_antrcomp has quit (*.net *.split).
18:37:58 -!- Vorpal has quit (*.net *.split).
18:37:58 -!- ttm_ has quit (*.net *.split).
18:37:59 -!- augur has quit (*.net *.split).
18:37:59 -!- Slereah has quit (*.net *.split).
18:37:59 -!- Zuu has quit (*.net *.split).
18:37:59 -!- bsmntbombdood has quit (*.net *.split).
18:38:00 -!- oklopol has quit (*.net *.split).
18:38:00 -!- sebbu has quit (*.net *.split).
18:38:05 -!- Quadlex has quit (*.net *.split).
18:38:05 -!- cal153 has quit (*.net *.split).
18:38:05 -!- SimonRC has quit (*.net *.split).
18:38:05 -!- aloril has quit (*.net *.split).
18:38:05 -!- comex has quit (*.net *.split).
18:38:05 -!- mtve has quit (*.net *.split).
18:38:05 -!- fxkr has quit (*.net *.split).
18:38:05 -!- myndzi\ has quit (*.net *.split).
18:38:05 -!- jcp has quit (*.net *.split).
18:38:06 -!- coppro has quit (*.net *.split).
18:38:06 -!- Goosey has quit (*.net *.split).
18:38:06 -!- Sasha2_ has quit (*.net *.split).
18:38:06 -!- pikhq has quit (*.net *.split).
18:38:06 -!- Wamanuz5 has quit (*.net *.split).
18:38:06 -!- Deewiant has quit (*.net *.split).
18:38:07 -!- rodgort has quit (*.net *.split).
18:38:07 -!- cheater00 has quit (*.net *.split).
18:38:07 -!- Phantom_Hoover has quit (*.net *.split).
18:38:07 -!- poiuy_qwert has quit (*.net *.split).
18:38:07 -!- sftp has quit (*.net *.split).
18:38:07 -!- Gregor has quit (*.net *.split).
18:38:08 -!- Quadrescence has quit (*.net *.split).
18:38:08 -!- ineiros has quit (*.net *.split).
18:38:10 -!- wareya has quit (*.net *.split).
18:38:10 -!- cheater99 has quit (*.net *.split).
18:38:10 -!- EgoBot has quit (*.net *.split).
18:38:10 -!- Leonidas has quit (*.net *.split).
18:38:11 -!- yiyus__ has quit (*.net *.split).
18:38:11 -!- jix has quit (*.net *.split).
18:38:11 -!- dbc has quit (*.net *.split).
18:38:11 -!- lifthrasiir has quit (*.net *.split).
18:38:12 -!- fizzie has quit (*.net *.split).
18:38:12 -!- olsner has quit (*.net *.split).
18:38:12 -!- yiyus has quit (*.net *.split).
18:39:43 -!- Ilari has joined.
18:39:53 -!- sebbu has joined.
18:39:58 -!- Ilari has changed nick to Ilari_.
18:40:18 -!- Ilari_ has changed nick to Ilari.
18:40:26 -!- Gregor has joined.
18:41:29 -!- yiyus_ has joined.
18:41:30 -!- ineiros_ has joined.
18:41:30 -!- Wamanuz has joined.
18:41:30 -!- Goosey has joined.
18:41:30 -!- Phantom_Hoover_ has joined.
18:41:30 -!- coppro_ has joined.
18:41:30 -!- sftp_ has joined.
18:41:30 -!- Sasha2 has joined.
18:41:30 -!- wareya has joined.
18:41:30 -!- rodgort has joined.
18:41:30 -!- fxkr has joined.
18:41:30 -!- cheater99 has joined.
18:41:30 -!- oklopol has joined.
18:41:30 -!- 17SAAIFGN has joined.
18:41:30 -!- dbc has joined.
18:41:30 -!- lifthrasiir has joined.
18:41:30 -!- pikhq has joined.
18:41:30 -!- augur has joined.
18:41:30 -!- Slereah has joined.
18:41:30 -!- myndzi\ has joined.
18:41:30 -!- Vorpal has joined.
18:41:30 -!- EgoBot has joined.
18:41:30 -!- Leonidas has joined.
18:41:30 -!- Zuu has joined.
18:41:30 -!- ttm_ has joined.
18:41:30 -!- cal153 has joined.
18:41:30 -!- SimonRC has joined.
18:41:30 -!- bsmntbombdood has joined.
18:41:30 -!- aloril has joined.
18:41:30 -!- fizzie has joined.
18:41:30 -!- Quadlex has joined.
18:41:30 -!- mycroftiv has joined.
18:41:30 -!- Ilari_antrcomp has joined.
18:41:30 -!- comex has joined.
18:41:30 -!- jix has joined.
18:41:30 -!- olsner has joined.
18:41:30 -!- mtve has joined.
18:41:30 -!- yiyus has joined.
18:41:46 -!- cheater99 has quit (Ping timeout: 240 seconds).
18:41:53 -!- Deewiant has joined.
18:41:56 -!- poiuy_qwert has joined.
18:42:05 -!- Quadrescence has joined.
18:43:06 -!- Quadrescence has quit (Changing host).
18:43:06 -!- Quadrescence has joined.
18:44:06 -!- cheater99 has joined.
18:44:38 -!- cheater00 has joined.
18:44:40 -!- Gregor has changed nick to Guest7321.
18:44:41 -!- 17SAAIFGN has quit (Ping timeout: 255 seconds).
18:45:09 -!- Guest7321 has changed nick to Gregor.
18:45:36 -!- jcp has joined.
18:47:40 -!- yiyus__ has joined.
18:50:49 -!- yiyus_ has quit (Ping timeout: 245 seconds).
18:50:49 -!- poiuy_qwert has quit (Ping timeout: 245 seconds).
18:50:49 -!- rodgort has quit (Ping timeout: 245 seconds).
18:51:10 -!- poiuy_qwert has joined.
18:54:09 <elliott> Vorpal: I'm taking a break :P
18:54:18 <Vorpal> elliott, you will have to /home then
18:54:26 <Vorpal> elliott, I doubt you will find your way out
18:54:44 <Vorpal> elliott, also why did you call me crazy?
18:55:00 <Vorpal> elliott, this is nothing compared to the computer in minecraft. Or Enterprise in it
18:55:17 <Vorpal> elliott, I mean, seriously. Get some perspective
18:55:22 <elliott> Vorpal: Computer is just a bunch of redstone shit. Engineering really.
18:55:27 <elliott> Vorpal: Enterprise was done with an editor
18:55:42 <Vorpal> elliott, there are crazier mines on the forum
18:55:57 <elliott> Vorpal: but none of them are on our server!
18:55:57 <Vorpal> elliott, a whole thread dedicated to density/efficiency calculations
18:56:03 <Vorpal> oklopol, I have no idea
18:56:04 <elliott> oklopol: big enough that i got lost (so like more than 3x3)
18:56:19 <elliott> oklopol: also he uses SHORTHAND on his signs
18:56:21 <oklopol> how many minutes to walk from one end to other
18:56:23 <elliott> oklopol: and has some freaky multi-layer displacement thing
18:56:26 <elliott> oklopol: no ends, it's all... sandwiched
18:56:31 <elliott> oklopol: he calls branches shit like "B1.1+"
18:56:32 -!- rodgort has joined.
18:56:34 -!- Sasha2 has quit (Read error: Connection reset by peer).
18:56:44 <Vorpal> elliott, no that is branch 1.1 "and above"
18:56:56 <Vorpal> elliott, B1.1, B1.2 (and in future 1.3 and so on)
18:56:57 -!- Sasha2 has joined.
18:57:11 <Vorpal> elliott, that is what the + means
18:57:28 <elliott> oklopol: just listen to him!
18:57:39 <elliott> he's planning for B1.3, which means that B2 must be like five years away
18:57:54 <Vorpal> elliott, no. 2 would be one layer higher
18:58:23 <Vorpal> the first number is the vertical index in that section. The second is the horizontal one
18:58:56 <Vorpal> like 1 space from my corridor that I just widened
19:01:43 <Vorpal> elliott, and S0/S1/S2 are "service station <nr>"
19:01:57 <Vorpal> elliott, the system is perfectly sensible
19:02:09 <Vorpal> elliott, considering the size of the signs
19:02:15 <elliott> oklopol: he said "CAV" and "Btlp" because typing "Cavern" and "Boatloop" would, i dunno, get too tedious after doing it 459834758935 times
19:02:18 <Vorpal> elliott, if I typed this out it would require several signs
19:02:38 <Vorpal> elliott, because it fit with the rest of the notation on the signs :P
19:02:45 -!- cheater99 has quit (Ping timeout: 240 seconds).
19:02:45 <Vorpal> elliott, also it should say BTL. Must be a typo
19:02:55 -!- Goosey has quit (Ping timeout: 264 seconds).
19:02:59 -!- cheater00 has quit (Ping timeout: 240 seconds).
19:03:36 <Vorpal> elliott, fixed that sign now
19:03:48 -!- Goosey has joined.
19:03:51 <Vorpal> elliott, another advantage: confusing you
19:04:12 -!- MigoMipo has joined.
19:05:08 <elliott> http://www.randomfactory.com/lfa/doslinux.html
19:05:34 -!- mycroftiv has quit (Write error: Connection reset by peer).
19:05:34 -!- mycroftiv has joined.
19:05:57 <Gregor> elliott: Somebody made a prepack Debootstrap installer for Android.
19:06:27 <elliott> Gregor: NO DON'T LOOK AT IT
19:06:34 <elliott> Gregor: IF YOU KNOW OF PRIOR ART YOUR HACKING FEELS LESS FUN
19:06:47 <Gregor> elliott: It doesn't do the X11 stuff, which is the interesting part anyway :P
19:06:52 <elliott> (I refused to google for any info on putting another distro on the Ubisurfer :P)
19:06:57 <elliott> Although it probably isn't there, it would DESTROY THE FUN ANYWAY.
19:07:08 <elliott> Gregor: I only looked up how to do Windows NT for MIPS in an emulator BEGRUDGINGLY.
19:07:48 <elliott> "thanks for the suggestions no further forward first command said not found second gave me link to the website third said unknown among other things about make and model will keep trying ill get there in the end always do ohh if it helps most off the files in /etc are .d file type"
19:08:28 <Vorpal> elliott, markov chain?
19:08:41 <elliott> Vorpal: no, very confused human
19:08:58 <Goosey> markov chains are fun :D
19:09:06 <elliott> "if it helps most off the files in /etc are .d file type" made that line I think
19:09:15 <Vorpal> elliott, either this means markov chains are sentient or that human isn't.
19:09:50 <Goosey> once, I used a markov chain to convert binary to decimal
19:10:40 <Goosey> but its not the best way :?
19:10:42 <elliott> Gregor: Vorpal: Thanks for the suggestions! I'm no further forward. The first command said "not found". The second gave me a link to the website. The third said "unknown" among other things about make and model. I will keep trying. I'll get there in the end, always do. Oh, if it helps, most of the files in /etc are of the ".d" file type.
19:11:20 <Gregor> That ... is not a decoding.
19:11:29 <Gregor> All you've done is add punctuation, it's still nonsense.
19:11:46 <elliott> Gregor: There were three commands in the previous post to try and deduce what distro the UbiSurfer runs on.
19:11:57 <elliott> The ".d" file type thing is obviously /etc/init.d and the like, thinking directories are files.
19:12:03 <elliott> The website is the ubisurfer website or whatever.
19:12:09 <Vorpal> elliott, I now have 64 + 5 diamonds that I mined myself :D
19:12:11 <elliott> At least you can read it with context and understand it rather than brain crazy :P
19:12:57 <Goosey> What is this doslinux link O_O
19:13:06 <Vorpal> elliott, /etc/shadow.d (I predict this will happen. Some insane distro will make it happen)
19:13:22 <Vorpal> after all I have ld.so.conf.d nowdays
19:16:02 -!- cheater99 has joined.
19:17:14 -!- cheater00 has joined.
19:17:28 <Vorpal> elliott, my tree farm grew
19:17:44 <elliott> oklopol: oh yeah, he has a huge underground tree farm
19:17:48 <elliott> because he is, as i have stated, crazy.
19:17:57 <Vorpal> elliott, that I got from the wiki...
19:18:07 -!- sftp_ has quit (Remote host closed the connection).
19:18:21 -!- sftp_ has joined.
19:18:30 <Vorpal> ah reconnecting fixed the invisible leaves
19:21:24 <Vorpal> elliott, also nailor said "cool" about my tree farm
19:21:29 -!- oklopol has quit (Ping timeout: 255 seconds).
19:21:40 -!- oklopol has joined.
19:21:53 <elliott> The film details the "chronicle of [Holmes's] greatest accomplishment" in which famous detective Sherlock Holmes (Ben Syder, making his film debut) and his companion Dr. Watson (Gareth David Lloyd) investigate a string of unusual "monster" attacks before stumbling on Spring-Heeled Jack's plot to destroy London with the aid of his robotic dinosaurs. The film has recently been shown on the Syfy channel in the United Kingdom. The film is also availa
19:23:35 -!- pikhq_ has joined.
19:23:49 -!- pikhq has quit (Ping timeout: 264 seconds).
19:24:49 <elliott> Vorpal: do you think the synthesis .ps will print nicely
19:25:35 -!- Sgeo has joined.
19:25:54 <Vorpal> elliott, how should I know?
19:26:03 <Vorpal> elliott, besides you don't believe in paper
19:26:08 <Vorpal> elliott, use the html version?
19:26:20 <elliott> <Vorpal> elliott, how should I know?
19:26:24 <elliott> <Vorpal> elliott, besides you don't believe in paper
19:26:29 <elliott> well i do when the .ps is this ugly on screen.
19:29:22 <elliott> WHERE IS OLSNER IS HE IN SPACE
19:30:57 <Vorpal> elliott, can a sapling grow if you are standing on it? And what happens if it does
19:32:43 -!- Goosey has quit (Remote host closed the connection).
19:32:43 -!- zzo38 has joined.
19:32:56 -!- pikhq has joined.
19:34:11 <elliott> Vorpal: How should I know?
19:34:21 <elliott> Vorpal: I doubt it would. Either that or you'd get stuck in the bark.
19:36:26 -!- Leonidas_ has joined.
19:36:34 -!- augur has quit (Ping timeout: 252 seconds).
19:36:34 -!- Sasha2_ has joined.
19:36:35 <Vorpal> elliott, yeah probably one of those
19:36:35 <zzo38> Has anyone ever tried?
19:36:35 <zzo38> I dislike PDF and PostScript, they are both really bad idea, in my opinion.
19:36:35 -!- Leonidas_ has quit (Changing host).
19:36:35 -!- Leonidas_ has joined.
19:36:35 -!- oklopol has quit (Ping timeout: 240 seconds).
19:36:36 -!- coppro_ has quit (Ping timeout: 240 seconds).
19:36:36 -!- coppro has joined.
19:36:36 -!- EgoBot has quit (Ping timeout: 240 seconds).
19:36:36 -!- jix has quit (Ping timeout: 240 seconds).
19:36:37 -!- Leonidas has quit (Ping timeout: 240 seconds).
19:36:41 <elliott> <zzo38> I dislike PDF and PostScript, they are both really bad idea, in my opinion.
19:36:57 <Vorpal> zzo38, so what do you prefer?
19:37:03 -!- Goosey has joined.
19:37:16 <elliott> zzo38: why do you dislike them
19:37:25 -!- oklopol has joined.
19:37:46 -!- jix_ has joined.
19:37:47 -!- HackEgo has joined.
19:37:49 -!- pikhq_ has quit (Ping timeout: 240 seconds).
19:37:49 -!- 84XABBDYY has joined.
19:37:49 -!- Sasha2 has quit (Ping timeout: 240 seconds).
19:37:50 -!- 84XABBDYY has quit (Ping timeout: 240 seconds).
19:38:12 -!- EgoBot has joined.
19:38:22 <zzo38> Vorpal: Yes I prefer DVI. DVI is simpler and more sensible. PDF and PostScript are very complicated and full of really messy stuff that does not make sense, including animations and audio clips, attachments, encryption, so on...
19:39:08 <Vorpal> postscript doesn't have encryption afaik
19:39:27 <elliott> zzo38: Postscript does not have animations or audio clips or attachments.
19:39:37 <zzo38> Yes, PostScript does not have encryption, but PDF has a lot of useless stuff like that, though. PostScript has other problems.
19:39:49 <zzo38> A completely different kind of problems.
19:40:55 <zzo38> Mostly difficulty of parsing the file. Both PDF and PostScript have a lot of complexity.
19:41:12 <elliott> zzo38: Please explain how it is difficult to parse PostScript.
19:41:23 <elliott> zzo38: It is just a stack-based language, like Forth.
19:41:29 <elliott> Forth is not difficult to parse and implement, and neither is PostScript!
19:50:51 -!- Goosey has quit (Read error: Connection reset by peer).
19:50:54 <zzo38> As far as I can tell, PostScript is very complicated, and in my opinion is not suitable as an output format.
19:51:15 -!- Goosey has joined.
19:53:38 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
19:56:39 <zzo38> And both PDF and PostScript use text formats for their files, too.
20:01:32 <elliott> <zzo38> And both PDF and PostScript use text formats for their files, too.
20:04:23 -!- Goosey has quit (Read error: Connection reset by peer).
20:04:49 -!- Goosey has joined.
20:15:07 <Vorpal> elliott, I'm adding a lava fall to my castle I think
20:18:04 <elliott> Vorpal: haha, this paper is destroying my mind
20:18:36 <elliott> Vorpal: I'm writing a boot sector now and instead of making a function that calls another function in a loop, i'm putting the wrapper function before that function, changing the future ret to a jmp back here, and then letting it trail through the main body function
20:18:40 <elliott> restoring the ret at the end
20:19:08 <Vorpal> elliott, I'm trying to make sense of that
20:19:13 <Vorpal> elliott, also it isn't a paper. It is a thesis
20:19:41 <elliott> putstr: ...conditional ret...
20:19:50 <elliott> mov [return_here], *code to jump to putstr*
20:19:54 <elliott> ... code to put a character ...
20:20:08 <elliott> putstr avoids the overhead of a call instruction!
20:20:12 <Vorpal> elliott, how is that relevant to the boot sector?
20:20:23 <elliott> Vorpal: um my boot sector has a putstr function for printing to the console
20:20:37 <elliott> Vorpal: and boot sectors have to be small! and fast. micro-optimisation for the win
20:20:41 -!- Goosey has quit (Ping timeout: 265 seconds).
20:20:43 <Vorpal> elliott, and how is that relevant to the paper in question?
20:20:48 <elliott> Vorpal: self-modifying code
20:21:15 <Vorpal> elliott, see the final conclusions in that thesis
20:22:11 <elliott> Vorpal: what were they, i haven't got that far yet
20:22:47 <Vorpal> elliott, "concerns about future up and coming cpu designs" amongst other things
20:23:19 <Vorpal> a pig just stepped off a mountain
20:23:59 * elliott decides this self-modifying thing isn't going to work out
20:28:29 <elliott> "mov al, byte [cx]" stupid stupid this not working stupid x86 i hate x86
20:28:52 <elliott> actually wait what did i do wrong...
20:29:52 <Vorpal> elliott, I now have a nice lava fall on my house
20:29:55 <Sgeo> What's a good VOY episode?
20:30:26 <Sgeo> What's a good TNG episode?
20:30:34 <elliott> Sgeo: well, maybe Scorpion. MAYBE. but that was ruined by deciding to recruit a borg afterwards
20:30:51 <elliott> well, all post-first-season. :P
20:30:55 <Sgeo> Apparently "Shades of Grey" is not well thought of
20:32:58 <Sgeo> Why don't I go watch Time's Arrow?
20:33:24 <pikhq> elliott: There's bad ones post-first-season.
20:33:41 <elliott> pikhq: Yes, but you can generally pick a TNG episode at random and get consistent quality.
20:33:43 <pikhq> Sgeo: Good VOY episode? The Thaw.
20:33:56 <pikhq> elliott: True, the bad ones are a *minority*.
20:34:14 <elliott> pikhq: Of course what you should do is pick a DS9 episode, non-randomly, pick the first one, and then next time, pick the second one, and then keep going until you pick the last one, and then stop.
20:34:18 <pikhq> Still. It was one of the few genuinely well-written Voyager episodes.
20:34:24 <elliott> That's the most consistent algorithm to get a quality episode :P
20:34:31 <pikhq> elliott: I'm in the process of that, actually.
20:34:39 -!- Goosey has joined.
20:34:44 <pikhq> elliott: Sadly, there has been one bad episode in the run so far.
20:34:56 <pikhq> elliott: But that just confirms that only TNG should be allowed Q.
20:35:15 <Sgeo> A bad Q episode?
20:35:29 <pikhq> Sgeo: If it's not in TNG, it's probably a bad Q episode.
20:35:37 <elliott> Bad Q episode: EVERY SINGLE VOYAGER Q EPISODE EVER
20:36:02 <pikhq> Also, Encounter at Farpoint was kinda a bad episode when Q wasn't on-screen.
20:36:19 <Vorpal> elliott, you could do it the reverse way too
20:36:31 <Vorpal> elliott, or start at a random one and loop around
20:37:19 <elliott> Vorpal: DS9 relies heavily on continuity
20:37:46 <pikhq> DS9 is very much non-episodic.
20:37:50 <pikhq> That's one of its strengths.
20:38:03 <elliott> WHY IS X86 SO NON-ORTHOGONAL
20:38:36 <Sgeo> Maybe I should start watching DS9 then
20:38:38 <Vorpal> elliott, with voy you can watch 9/10 of the episodes out of order (ignoring two-part episodes)
20:38:50 <Sgeo> I like continuity
20:38:56 <elliott> Vorpal: yes, indeed, and they'll all suck
20:39:18 <pikhq> Sgeo: DS9 is quite good.
20:39:42 <pikhq> It's the last good Star Trek series, in fact.
20:41:37 <elliott> Does anyone know x86 here? Ata ll?
20:41:51 <pikhq> Man. Voyager and DS9 ran *simultaneously*.
20:42:58 <pikhq> And Voyager did everything wrong that DS9 did right, pretty much.
20:43:08 <elliott> Phantom_Hoover_: WHY IS [CX] INVALID
20:43:30 <Gregor> Try playing some Star Trek games on SNES :P
20:43:33 <Gregor> They're all really awful :P
20:43:50 <Phantom_Hoover_> Did you know: [sp] is encoded completely differently to [ax].
20:44:14 <Gregor> You've got either "really slow-paced write down every word you see game: The Musical!" or "Prince of Persia IN SPACE with more ridiculous timing constraints"
20:44:22 <Phantom_Hoover_> http://www.posix.nl/linuxassembly/nasmdochtml/nasmdoca.html
20:44:24 <elliott> Phantom_Hoover_: But that's just the thing, [ax] doesn't work either!
20:44:32 <elliott> Gregor: Now blend them both.
20:44:47 <elliott> Gregor: Prince of PERSIA IN SPACE with more ridiculous timing constraints where you have to write down every word you see.
20:44:47 <pikhq> Prince of Persia IN SPACE: The Musical!
20:44:50 <Gregor> pikhq: TNG and DS9 ran simultaneously too, DS9 spanned part of both other series'.
20:44:53 <Phantom_Hoover_> That has a pretty good explanation of both x86-16 and -32.
20:45:04 <pikhq> ... Where can I go to pay for that?
20:45:15 <elliott> pikhq: That would be the worst musical ever :P
20:45:19 <pikhq> Gregor: And TNG→VOY marks good to bad.
20:45:20 -!- cheater00 has quit (Quit: Leaving).
20:45:29 <pikhq> Gregor: Astounding the short transition there.
20:45:40 <Gregor> Eh, Voyager had its moments. I'd say VOY -> ENT marked bad to wtf.
20:46:07 <Gregor> And then ENT -> Star Trek X marked wtf -> Star Wars Trek
20:46:24 <pikhq> Yeah, VOY→ENT was bad to PAIN AND AGONY.
20:47:07 <pikhq> elliott: Though I think he means 11.
20:47:33 <Gregor> Erm, sorry, yes, XI ... I forget the number because they fucked it up.
20:47:38 <elliott> First Contact, Insurrection, Galaxy Quest, Nemesis, Star Trek.
20:47:44 <elliott> (source: http://qntm.org/odd)
20:47:54 <pikhq> Ah, right, Galaxy Quest.
20:47:54 <elliott> Gregor: But I thought (2009) was *good*.
20:47:59 <elliott> Or at least everyone who isn't you has said so :P
20:48:08 <pikhq> I haven't seen it!
20:48:12 <Gregor> It wasn't THAT bad, it just wasn't Star Trek at all.
20:48:43 <pikhq> Gregor: Kinda like The Voyage Home, then.
20:48:43 <Gregor> Then again, I'm defining Star Trek in terms of post-TOS Star Trek, so maybe it's more faithful than I'm making it out to be *shrugs*
20:49:11 <elliott> Gregor: If you're saying "Too much action! Not enough talking!" then thank god because TOS talking bits were awful :P
20:49:15 <elliott> Actually TOS was just awful.
20:49:28 <pikhq> Gregor: Was Kirk a womanising bastard with a gigantic ego?
20:49:32 <elliott> I don't care about anyone who disagrees. It was a terrible TV show and Gene Roddenberry without other people to contain him is a hack.
20:49:39 <elliott> And William Shatner is a terrible actor.
20:49:45 <olsner> elliott: probably you either have to use eax/ecx, or you need some kind of address size override thingy, or you're in real mode and enjoy only being allowed to use e/bx and e/bp in addresses
20:49:52 <pikhq> elliott: I kinda like some of TOS, but yeah, it was corny as hell.
20:49:59 <elliott> olsner: real mode, yes. bleh. wait, what's bp
20:50:03 <pikhq> elliott: And William Shatner is an absolute ham.
20:50:29 <Gregor> elliott: Yeah, TOS really wasn't that great, TNG was the height of the franchise which is why I consider it the beginning of "true" Star Trek :P
20:51:45 <Gregor> Phantom_Hoover_: x86-32 has one! ECX!
20:51:49 <Phantom_Hoover_> In the normal C calling convention it's used to store something in the call process.
20:51:56 <elliott> what's the cmp meant to be
20:52:00 <elliott> i've totally forgetteneren
20:52:15 <pikhq> Gregor: Nope. That's just more general than the others.
20:52:22 <zzo38> Can you do OR AL AL
20:52:24 <elliott> Phantom_Hoover_: so that's really what i have to do?
20:52:34 <elliott> oh, that's probably faster
20:52:49 <Deewiant> mov doesn't set the zero flag.
20:54:04 <elliott> Now to figure out how to write
20:54:15 <elliott> Don't think I can optimise _ptchr itself.
20:54:24 -!- cheater00 has joined.
20:54:49 <elliott> Phantom_Hoover_: Because I'm going to go out on a limb here and say that boot sector code is probably doing things with ds.
20:54:54 <elliott> Seeing as it has to load stuff in and move it around.
20:55:02 -!- Goosey has quit (Ping timeout: 250 seconds).
20:55:02 <elliott> Admittedly it might not be putchring at the same time.
20:55:09 <elliott> Okay, I'll clobber ds and let the caller handlei t.
20:55:14 <zzo38> I have written a bootsector code in case you need to see
20:55:37 <elliott> No, that will be fine, thank you.
20:56:10 -!- Goosey has joined.
20:56:18 <pikhq> Gregor: Actually, TAS is where Trek started getting good. Though the acting and animation there sucked.
20:56:20 <elliott> Phantom_Hoover_: Hmm, there's no ret-if-zero, right? Just jump to a ret... hrmph.
20:56:26 <elliott> Also, wait, holy shit, Deewiant spoke.
20:56:30 <elliott> Deewiant: You haven't spoken in like seven years.
20:56:33 <Gregor> pikhq: Never saw TAS *shrugs*
20:56:41 <pikhq> Vorpal: The Animated Series.
20:56:43 <Gregor> Vorpal: The Animated Series
20:56:47 <elliott> Deewiant: Okay, well, at least a few months.
20:57:22 <elliott> Phantom_Hoover_: Okay! Now to find out why [0xB800:0] is somewhere in the middle of the screen.
20:57:24 <zzo38> I have designed a instruction set that all instructions are conditional, and all instructions are orthogonal.
20:57:40 <Deewiant> Haven't been following the channel much.
20:58:03 <elliott> Deewiant: But all sorts of nothing have happened!
20:58:20 <Vorpal> fizzie, why did you leave the game?
20:58:47 <Phantom_Hoover_> Vorpal, perhaps because he has non-Minecraft things to do?
20:58:49 <Deewiant> I was going to say something sarcastic about Minecraft at some point when I noticed that going on, but decided against it.
20:59:02 <Vorpal> Phantom_Hoover_, no: server error
21:00:06 <elliott> Deewiant: "Glad to see you're all getting into Dwarf Fortress!"
21:00:18 <olsner> elliott: you wouldn't be using string instructions to write to the screen? beware that those write to es, not ds
21:00:55 <elliott> olsner: I was actually just doing it character-by-character, but YES THAT SEEMS LIKE A SANER IDEA WHY DIDN'T I DO THAT.
21:00:58 * pikhq actually hopes for a Star Trek series that has the balls to bring back the Kzin.
21:01:07 <elliott> olsner: Thank you for reminding me those exist :P
21:01:09 <pikhq> ... Sorry, a Star Trek series that *doesn't suck* while doing that.
21:01:18 <pikhq> (ENT wanted to for its 5th season)
21:02:12 <elliott> pikhq: Oh dear god, someone on the internet who does the long s thing like did a while ago.
21:02:14 -!- Goose has joined.
21:02:40 -!- Goose has changed nick to Guest31764.
21:02:42 <pikhq> elliott: Þou muſt punch, þou ſayeſt?
21:03:12 <elliott> olsner: actually, how would the string functions help?
21:03:39 <zzo38> elliott: See my code you learn how the string functions help and how ES segment is used and so on
21:03:43 <elliott> olsner: hmm i guess if i used movsb, but still how would that help?
21:04:11 -!- Goosey has quit (Remote host closed the connection).
21:04:53 <elliott> olsner: i really can't see how that would help :D
21:04:58 <zzo38> http://sprunge.us/GGja Note this just copies a single character multiple times, but you can use another string function easily copy a entire string too
21:04:59 <elliott> zzo38: have you got a link?
21:05:04 <olsner> elliott: the point is mostly that they increment si and/or di automatically
21:05:24 <olsner> but I didn't really suggest using them, was rather asking if you were using them already
21:05:54 <zzo38> Yes it does increment SI/DI automatically and you can add a repeating prefix, which is can be used for repeat to copy a string.
21:06:10 * elliott does strings pascal-style instead, might be simpler
21:06:34 <olsner> also they can make simple loops into single instructions with one of the rep prefixes (of which there are a bunch)
21:06:59 <zzo38> Actually I think there is only two possible repeating prefixes
21:07:01 <elliott> olsner: how does that help when i need to have the 0x07 bytes there, too?
21:07:52 -!- Guest31764 has changed nick to Goosey.
21:09:44 <zzo38> The repeating string commands uses CX register to count how many.
21:10:17 <elliott> zzo38: so would that copy (cx) bytes?
21:11:42 <zzo38> You can see mine as the example
21:12:58 <zzo38> This program is the entire MBR code, including loading the kernel.
21:16:03 <elliott> OK, it works and all, but that still doesn't tell me how I can make it somehow insert the 0x07 byte after every bte.
21:16:45 <elliott> olsner: so did you look at my thing?
21:16:59 <elliott> olsner: http://sprunge.us/gXiR
21:17:29 <zzo38> elliott: Yes you do need to do that, and the repeating string commands in x86 cannot do that, so you would instead make your own loop with these string commands in order to do so.
21:17:39 <elliott> zzo38: But that sort of defeats the point of using them...
21:18:27 <zzo38> You can still use load and then jump if zero and then store and put color and store string next and then repeat over again
21:19:52 <zzo38> However you might still decide to use my code (if you want to) for loading the kernel it is a very simple way to do so.
21:19:52 -!- sebbu2 has joined.
21:20:18 <Vorpal> fizzie, missed line before I lost connection "or service station rather"
21:20:42 <fizzie> "This is quite a system indeed." or some-such from me.
21:20:46 -!- sebbu has quit (Ping timeout: 245 seconds).
21:20:53 <Vorpal> fizzie, you saw those multi-layer mines
21:21:20 <Vorpal> fizzie, like .^.^.^ in multiple layers
21:28:03 <elliott> "mov dword"s aren't any slower in real mode right?
21:34:43 <olsner> the instruction would probably be a byte longer in real-mode because it'd need a 32-bit prefix
21:37:09 -!- sebbu has joined.
21:38:55 -!- sebbu2 has quit (Ping timeout: 264 seconds).
21:42:13 <elliott> olsner: it's upsetting how long these functions are :(
21:42:17 <elliott> i have cls, putstr, nl (newline)
21:42:20 <elliott> nl doesn't work, the other two are long
21:42:28 <elliott> olsner: I might go back to manually munging VGA memory like my last boot sector :P
21:42:49 <elliott> _cls:mov word [es:di], 0x0720
21:43:55 <elliott> ALWAYS GOLFIN' MAH PROGRAMS
21:44:00 <elliott> olsner: now read http://sprunge.us/gXiR already
21:45:11 <olsner> yes, didn't notice you write 0x0720 as a word
21:46:18 <olsner> I think you can just fill vga memory with zeroes btw, then you only need to zero a register - which doesn't require a fancy constant
21:46:37 <elliott> olsner: that gave me weird artefacts last time i tried but ok
21:46:46 <elliott> somehow after executing this,
21:47:05 <elliott> olsner: filling with zeroes does appear to work
21:47:36 <elliott> olsner: for some inexplicable reason though, writing to [0xB800:0] after that doesn't end up in the top-left
21:49:08 <elliott> now why doesn't nl work...
21:51:15 <elliott> olsner: now tell me how to move or disable the vga cursor without going through the bios :-P
21:51:35 <olsner> out x,y ; fill in x and y
21:51:48 <fizzie> With the VGA registers, it's often several outs.
21:59:21 <elliott> olsner: now will you comment on http://sprunge.us/gXiR?!
22:00:27 <olsner> elliott: hmm, yeah, I should comment on that
22:00:50 <elliott> olsner: are you avoiding it :P
22:04:20 <elliott> olsner: okay stop it, at least say "no it's shitty and i hate it"
22:04:29 <elliott> i had to think to write that!
22:05:27 <elliott> olsner: ;_; why do you do this to me
22:06:09 <zzo38> Maybe I can write a program converting ESC/P codes into DVI, with options for enabling specials to indicate such things as half speed mode, and so on?
22:11:47 <elliott> olsner: remind me to never try and tarpit your kernel again :p
22:14:23 <zzo38> Are there such things as printers with Plan 9 protocol?
22:16:41 <Gregor> I've become obsessed with counting WebKit build systems :P
22:17:20 <olsner> elliott: hmm, since that's just a summary of what we discussed last time, I'm not sure if there is anything more I can add... I still don't like that grant/revoke thing and would rather only have "giving" of pages
22:17:36 <elliott> olsner: it is more! mainly the problems to solve section
22:17:43 <elliott> olsner: also, how the heck would you have freeing of memory with only givinf?
22:17:59 <elliott> olsner: also, there's no "revoking" in my system; there's just re-granting except this time with no permissions, which happens to be equivalent
22:18:13 <Gregor> The tally thusfar (keeping in mind that these are build systems, not backends, although the build systems correspond to backends): XCode, Qt (qmake), GTK+ (autotools), EFL (cmake), wx (autotools), Chrome (scons), Android<2.1 (make), Android>=2.2 (make), MingW (make?), Visual Studio, mystery cmake, whateverTF "gyp" is and whateverTF "waf" is.
22:18:39 <olsner> one thing I did realize though, is that block-until-write is a bit awkward since in most cases you have more than one byte to communicate
22:19:00 <elliott> Gregor: waf is http://code.google.com/p/waf/
22:19:03 <olsner> and requiring completely separate signaling-pages seems inefficient
22:19:04 <Vorpal> fizzie, and down again
22:19:12 <elliott> olsner: i was thinking it'd be sort of state-machiney
22:19:17 <elliott> olsner: block-until-write gives a pointer so you'd do like
22:19:22 <elliott> olsner: mypage - block-until-write(page)
22:19:29 <elliott> olsner: 0 is operation, 1 is arg 1, 2 is arg 2, etc.
22:19:34 <fizzie> I think I'll take a break instead of reconnectering all the time.
22:19:42 <elliott> olsner: but the question is, what if multiple processes want to do ipc at the same time...
22:20:43 <Gregor> elliott: Mmmm, maybe that's what Chrome uses now, although there still seem to be vestiges of scons ...
22:20:46 <Vorpal> fizzie, if you VERY far west you will find a huge marker. Should be visible on TOPO map
22:20:57 <Vorpal> fizzie, with a sign at the base saying a nice message
22:21:06 <Vorpal> fizzie, no torch marked path
22:21:18 <fizzie> I haven't even looked at the map in a long time.
22:21:50 <Vorpal> fizzie, do it. It is huge
22:22:03 <olsner> you'd need to use some kind of lock-free data structure in the shared memory I think
22:22:12 <Vorpal> fizzie, red thing at the bottom of the map
22:22:15 <fizzie> There is a giant tower-looking thing in the topo-map, yes.
22:22:28 <Vorpal> fizzie, 1 wide tower with platform at max alt
22:22:39 <Vorpal> fizzie, did it before health was implemented
22:22:48 <Vorpal> would be nearly impossible to get down nowdays
22:23:03 <fizzie> Uh, you just build it one wider than necessary, and then dig down.
22:23:13 <fizzie> Or rather, one block more.
22:23:40 <elliott> <olsner> you'd need to use some kind of lock-free data structure in the shared memory I think
22:23:42 <olsner> you could... have different data and control pages, write something magic to the control page to wake the process up and make it read some IPC:d stuff from the data page
22:23:45 <elliott> olsner: malicious process goes and clobbers the whole page
22:24:58 <fizzie> ineiros_: I doubt it'd hurt.
22:28:12 <elliott> This macro, it is the useful.
22:29:29 <Vorpal> ineiros_, disconnected
22:29:36 <Vorpal> ineiros_, tell me when it is done.
22:29:46 <Vorpal> ineiros_, I was working on terraforming
22:30:39 <fizzie> No, tell me and not him!
22:30:54 <fizzie> (I assume you will only tell one person.)
22:32:04 <Vorpal> Phantom_Hoover_, or gas (I doubt it)
22:32:29 <Phantom_Hoover_> Vorpal, the only person who likes gas is you, and that's because you're a fool.
22:32:47 <Vorpal> Phantom_Hoover_, I presume whoever invented it likes it
22:33:09 <Phantom_Hoover_> Vorpal, the people who invented it meant for it to be a compiler backend..
22:33:11 <Vorpal> Phantom_Hoover_, and the reason I like it is that I'm used to that syntax
22:33:25 <Phantom_Hoover_> It is a good compiler backend. It is a terrible language to write anything in.
22:33:31 <Vorpal> ineiros_, upgrade takes long time?
22:34:00 <Vorpal> Phantom_Hoover_, I more often read asm than I write asm
22:35:35 <Phantom_Hoover_> Vorpal, it's a terrible syntax to read. More so than to write, actually.
22:36:08 <elliott> <Phantom_Hoover_> elliott, what assembler? NASM or YASM?
22:37:05 <elliott> Phantom_Hoover_: wanna SPACE-OPTOMISE my code? :p
22:37:43 -!- kar8nga has joined.
22:37:59 <Phantom_Hoover_> I once got fact down to some very small number of bytes, but that's irrelevant and anyway it only worked when it was 32-bit.
22:38:43 <elliott> Phantom_Hoover_: 16-bit in this case :P
22:39:36 <Phantom_Hoover_> I don't know very much about 16-bit x86, except that its address scheme is insane, as is its segment system.
22:43:19 <elliott> Phantom_Hoover_: Boot sector, take two.
22:43:36 <olsner> elliott: hmm, right, it's probably just a bad idea for more than one process to share the same page for IPC:ing
22:44:27 <elliott> olsner: right. which poses a problem. as in, how do you do that.
22:44:32 <elliott> Phantom_Hoover_: Not hard! But mine's FEATUREFUL.
22:44:52 <Phantom_Hoover_> elliott, if you have features in the boot sector something's badly wrong.
22:45:15 <Phantom_Hoover_> You have 512 bytes. You do not dick around when you have 512 bytes.
22:45:29 <elliott> Phantom_Hoover_: Well, my previous boot sector got into protected mode.
22:45:30 <olsner> you have more like 440 bytes
22:45:34 <elliott> *And* had more than one diagnostic.
22:45:37 <elliott> olsner: you have 510 bytes
22:45:40 <elliott> olsner: nobody said it's going in the mbr
22:48:47 <elliott> olsner: holy shit i just realised you can use cp437
22:49:05 <Phantom_Hoover_> elliott, what diagnostics do you want to do in the boot sector?
22:49:26 <elliott> Phantom_Hoover_: EVERY DIAGNOSTIC
22:49:56 <elliott> Phantom_Hoover_: More seriously, there's little point not going into protected mode in the boot sector.
22:50:14 <elliott> You can do it with plenty (over half) the space left to waste.
22:50:23 <elliott> And it saves you writing what's essentially a pointlessly long boot sector split in two.
22:51:57 <Phantom_Hoover_> elliott, OK. You go into protected mode, load the actual startup code, then run it.
22:52:25 <elliott> Phantom_Hoover_: Diagnostics you need:
22:52:32 <elliott> Phantom_Hoover_: "Oops, something went wrong turning on the A20 line."
22:52:38 <elliott> Phantom_Hoover_: "Oops, something went wrong going into protected mode."
22:52:44 <elliott> Phantom_Hoover_: "Oops, something went wrong reading the floppy."
22:52:56 <Phantom_Hoover_> If something goes wrong in either of those, you just abandon the computer in disgust.
22:53:07 <elliott> Phantom_Hoover_: I think you underestimate floppy failure rates...
22:53:20 <Phantom_Hoover_> Possibly after printing "Dear god, man, get into the 21st century!"
22:53:57 <elliott> Phantom_Hoover_: I see. Where is your OS stored?
22:54:14 <elliott> Phantom_Hoover_: Also note that reading from a floppy takes less code than from an HD...
22:55:03 <Sgeo> For some reason, I thought people disliked DS9
22:56:01 <elliott> Phantom_Hoover_: You really have never written a bootsector.
22:56:19 <elliott> Phantom_Hoover_: (Also, good luck trying to make an OS that fills an entire floppy unless you use C++ or something.)
22:57:13 <zzo38> The MBR code I wrote does not check for disk failure (but maybe it should? At least the MBR code is loadable)
22:57:25 <Phantom_Hoover_> elliott, OK, I'm assuming the floppy isn't a physical floppy disk stuck into a slot on the computer.
22:57:57 <elliott> Phantom_Hoover_: no, it's a virtual floppy disk in qemu.
22:58:07 <elliott> If you're testing it on an actual machine: yes, it is a physical floppy disk stuck into a slot on the computer.
22:58:19 <elliott> zzo38: Well, usually the fisrt floppy read has to be done three times.
22:58:30 <elliott> zzo38: The two usually fail on real hardware due to the floppy drive initialising.
22:59:06 <elliott> Phantom_Hoover_: No, but who tests their experimental OS on a modern computer?
22:59:10 <elliott> That's just asking for a wiped hard disk.
22:59:33 <zzo38> elliott: You will remove the hard disk first, then.
22:59:48 <elliott> zzo38: And boot it from what exactly?
22:59:57 <elliott> In this case the assumption is that it has no floppy drive.
23:00:05 <zzo38> elliott: From the floppy disk or optical drive or USB.
23:00:13 <Phantom_Hoover_> elliott, OK, so you have an experimental OS with a boot sector that's useless for modern computers.
23:00:19 <zzo38> Or else, replace the hard disk with the one for the experimental operating system.
23:00:38 <elliott> Phantom_Hoover_: Not all "modern" computers lack floppy drives.
23:01:50 <elliott> Phantom_Hoover_: So what? It's much less annoying testing in a VM anyway.
23:01:56 <elliott> Adding hard disk support can be done later, much later.
23:02:44 <zzo38> The same MBR code can be used with floppy disk and hard disk, I think. And the codes for accessing the disk is also the same if you use the BIOS to do so.
23:04:16 <elliott> Phantom_Hoover_: You do realise that any hobby OS isn't bloated enough to run slowly when software-emulated?
23:04:24 <zzo38> My MBR code could be modified to make it try again if the read fails.
23:04:26 <elliott> Phantom_Hoover_: You do realise that... what is even your point?
23:04:33 <elliott> Plenty of x86-64 machines have virtualisation.
23:05:20 <elliott> .load:dpstr "Loading kernel...",1
23:05:23 <elliott> it has a smiley face at the end.
23:07:01 <zzo38> I do not know whether or not FreeDOS will load with my MBR code.
23:07:25 -!- Phantom_Hoover_ has quit (Ping timeout: 255 seconds).
23:12:53 <Vorpal> ineiros_, horrible lag
23:13:23 <zzo38> Do you have any ANSI arts to test the anstomzm.w program?
23:14:03 <ineiros_> Vorpal: For some reason, my outbound connections are horribly slow.
23:15:19 <Vorpal> ineiros_, saw the lava fall at my castle of dread?
23:16:35 <Vorpal> ineiros_, looks wonderful during the night (like atm)
23:18:17 -!- Phantom_Hoover_ has joined.
23:20:28 <elliott> Phantom_Hoover_: Anyway boot sectors are a pain because you have to read a bunch of data off whatever, move it elsewhere, and repeat. It's more of a pain than it sounds.
23:21:33 <zzo38> elliott: I do not think so, you do not have to do any of that stuff.
23:21:54 <elliott> zzo38: Yes you do, if the kernel is greater than a certain size, or you want to load it in the higher half of memory.
23:23:49 <zzo38> Actually you can just use unreal mode for that.
23:24:03 <elliott> zzo38: The BIOS still can't load outside the 1 meg area.
23:25:07 <Phantom_Hoover_> Kitten or a part of Mitosis or something even more irrelevant/
23:25:18 <zzo38> elliott: And what happened if you define the segments for unreal mode to write the high memory?
23:27:13 <elliott> Phantom_Hoover_: Why would it be for Kitten? :p
23:27:27 <elliott> zzo38: Uh, that might work. *Might*. I'm pretty sure BIOS calls are always relegated to real-mode style memory.
23:27:43 <elliott> zzo38: Besides, if your kernel is too big you *must* copy it, since the BIOS can't write to more than one segment.
23:27:53 <elliott> Phantom_Hoover_: Let's call it part of Mitosis.
23:28:01 <elliott> It's aimless coding for inspiration.
23:28:57 <zzo38> elliott: You can read the disk and then change the address and then read the disk a second time in a loop until you are finished with loading the kernel?
23:29:28 -!- Phantom_Hoover__ has joined.
23:30:16 <elliott> zzo38: I don't believe the BIOS can write that far.
23:31:40 <olsner> it wouldn't write far, it would just write several time with different bases :) it might actually work too
23:32:10 <elliott> zzo38: indeed: "Boot record loads kernel image (below the 1mb memory mark, because in real mode that's the upper memory limit!)"
23:32:33 <olsner> assuming the bios doesn't assume that it can get the value of es and restore it later, since that would upset the unreal magic
23:32:39 -!- Phantom_Hoover_ has quit (Ping timeout: 245 seconds).
23:33:19 <zzo38> olsner: O, yes, that is it, exactly.
23:34:52 <elliott> olsner: that sounds dangerous to rely on :)
23:40:05 -!- augur has joined.
23:40:11 <Vorpal> elliott, how does linux and grub manage to load a kernel image larger than 1 MB?
23:40:51 <elliott> Vorpal: well who knows with the "advanced" things. the obvious thing to do is either the copying thing or uh
23:40:57 <elliott> talking to the IDE driver manually in protected mode?
23:42:32 <Vorpal> ineiros_, new maps yet?
23:43:31 <Vorpal> good thing elliott will never find that easter egg btw.
23:44:02 <elliott> ineiros_: which easter egg would that be?
23:44:20 <Vorpal> ineiros_, you aren't allowed to tell him any details!
23:44:23 <Vorpal> elliott, something I made
23:44:26 <Vorpal> that is all I'm saying
23:45:05 <elliott> i'll just mine out mount vorpal to find it then
23:45:28 <Vorpal> elliott, well it isn't there :P
23:46:06 <Vorpal> elliott, btw you should put a sign halfway down the falling hole in those stairs saying "if you can read this you are going to die"
23:46:19 <Vorpal> elliott, alternatively: "good luck trying to read this"
23:46:55 <elliott> Or how about "HA HA, YOU'RE FUCKED."
23:47:20 <elliott> Vorpal: The stairs are suspended until I patch health out :P
23:47:31 <elliott> And until I get ineiros_ to edit the map to make the first hole down to level 0, so I can fix the alignment of the two.
23:47:45 <Vorpal> elliott, I like health (except for tools)
23:47:59 <elliott> Vorpal: yeah, but ineiros_ already said he'll probably apply it if i don't change anything else
23:48:36 <Phantom_Hoover__> Someone actually made a font for the Culture's language. I'm not sure whether it's cool or sad.
23:49:27 <Vorpal> Phantom_Hoover__, private use unicode codepoints?
23:49:58 <zzo38> The font needs to be METAFONT if you are going to use it with TeXnicard. (Or some other format that creates GF)
23:50:34 <Phantom_Hoover__> 'Twould appear that it's just one of those ones which maps over the alphabetic codepoints.
23:51:35 <zzo38> Phantom_Hoover__: If it is, then it had better be also the unicode flag is turned off so that it is clearly that is not unicode mode
23:52:11 <Phantom_Hoover__> I am also vaguely irked at the Culture for using 9 bits to encode a character set of 32.
23:53:50 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:54:29 <elliott> Phantom_Hoover__: Have you explored the other cavern I found?
23:55:49 -!- wareya has quit (Read error: Connection reset by peer).
23:56:57 -!- wareya has joined.
23:57:09 <Phantom_Hoover__> Wait, is that the one where I found a lava stream and a load of stuff lying around?