←2010-11-26 2010-11-27 2010-11-28→ ↑2010 ↑all
00:00:29 <cheater99> Sgeo: great
00:01:37 <elliott> elliott@dinky:~/code/pkg$ wc -l pkginfo.c
00:01:38 <elliott> 174 pkginfo.c
00:01:38 <elliott> elliott@dinky:~/code/pkg$ wc -l pkginfo.sh
00:01:38 <elliott> 39 pkginfo.sh
00:01:46 <elliott> pikhq: I think that maybe an sh-based packaging utilities system is a splendid idea.
00:03:19 <Sgeo> <3 this game
00:03:30 <Sgeo> Played the single-player campaign before, but still fun
00:07:49 <pikhq> elliott: Mmm.
00:08:53 <elliott> pikhq: Even though sh is terrible.
00:13:13 <elliott> pikhq:
00:13:13 <elliott> $ busybox sh pkginfo levee | awk '/^Version:/ { print $2 }'
00:13:13 <elliott> 3.5a
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:21 <augur> which color
00:40:53 <elliott> augur: they look uncomfortable, putting form above function, and lookinga t it they probably have terrible audio quality.
00:40:56 <elliott> oh bluetooth?
00:41:03 <elliott> it compresses the audio lossily then
00:41:09 <elliott> have fun with that
00:41:53 <augur> :|
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:46:19 <elliott> same as "until"
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:02 <Sgeo> for,
00:49:02 <Sgeo> foreach,
00:49:02 <Sgeo> while,
00:49:02 <Sgeo> until, or
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:49:15 <elliott> pikhq: ~patches welcome~
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:02 <zzo38> @f unless if
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:34 * Sgeo wants @
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:12 <elliott> pikhq: Are you suuuuure?
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:04:47 <pikhq> Mmkay.
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:02 <elliott> LIES
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:06 <elliott> ha, apparently you do
01:06:09 <elliott> --files-from=/dev/null
01:06:12 <elliott> to stop tar trying to second-guess you
01:06:22 <elliott> what an anti-feature
01:06:39 <elliott> wtf, that just creates a bunch of zeroes
01:06:43 <elliott> 10K of them
01:07:02 <elliott> well, whatever
01:09:31 <elliott> pikhq: Things I hate more than anything: Stuff that remembers its --prefix.
01:11:12 <elliott> pikhq: Holy shit, you know fakeroot?
01:12:08 <pikhq> elliott: Yeah?
01:12:28 <elliott> pikhq: Guess what version control system it uses.
01:12:29 <elliott> pikhq: Wrong!
01:12:35 <pikhq> ...
01:12:36 <elliott> pikhq: The answer is Arch 1, aka tla.
01:12:37 <pikhq> Patch?
01:12:42 <pikhq> *Oh*.
01:12:44 <pikhq> *vomit*
01:12:45 <olsner> flrghl
01:12:45 <elliott> pikhq: *The thing uses Arch. In 2010.*
01:12:50 <elliott> *arch
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:13:28 <elliott> *difficult things
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:24 <elliott> pikhq: *c89
01:16:25 <elliott> in this case
01:16:26 <elliott> Indeed. Still.
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:10 <GreaseMonkey> there should be a #define to disable them
01:17:15 <GreaseMonkey> or an #undef
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:18:43 <elliott> hrfffffffffff gnu lockin
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:25:26 <elliott> $ sudo ./pkginstall levee
01:25:26 <elliott> * Installing foo...
01:25:26 <elliott> * Installing levee...
01:25:28 <elliott> HAHAHA SCIENCE
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:12 <pikhq> Beautiful.
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:50 <pikhq> Naively?
01:28:56 <elliott> if [ -e $1/needs ]; then
01:28:56 <elliott> for dep in $1/needs/*; do
01:28:56 <elliott> install_pkg $(readlink $dep)
01:28:56 <elliott> done
01:28:56 <elliott> fi
01:28:59 <elliott> pikhq: Is that naive enough for you?
01:29:03 <pikhq> Naively.
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:29:40 <elliott> But ... not much really.
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:22 <elliott> Ew.
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:13 <pikhq> Minecraft.
01:34:23 <elliott> pikhq: HOW DID YOU GUESS
01:34:25 <elliott> :p
01:34:36 <pikhq> MAGIC
01:34:46 <olsner> elliott: Java? :/
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:06 <elliott> Thus Java!
01:35:37 <ineiros> Back.
01:35:39 <olsner> well... wtf?
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:40:55 <cheater99> you've never used drupal then
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:32 <cheater99> pikhq: git?
01:41:35 <pikhq> cheater99: No.
01:41:38 <pikhq> cheater99: IRAF.
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:29 <elliott> 2 blocks.
01:42:30 <olsner> pikhq: I am glad we agree :D
01:42:37 <elliott> + 2 blocks.
01:42:46 <elliott> + 2 blocks.
01:42:53 <elliott> + 2 blocks.
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:03 <cheater99> with what now?
01:46:05 <elliott> 8 iron blocks mined.
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:33 <cheater99> ok
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:47:57 <cheater99> ok
01:48:04 <elliott> 6 iron blocks.
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:37 <cheater99> it's actually pretty cool.
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:03 <elliott> 2 iron blocks.
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:12 <pikhq> Sadly, it is.
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:00 <cheater99> olsner: ant works on more 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:28 <cheater99> olsner: no
01:51:29 <elliott> *Server
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:43 <cheater99> or on mac
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:53:41 <cheater99> pikhq: not before osx
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:00 <GreaseMonkey> make vs. shell script, who wins?
01:55:08 <cheater99> elliott: boring, monotnous, etc.
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:15 <cheater99> +o.
01:55:17 <pikhq> And anyways, *nowadays* it is very very easy to make an interoperable build system.
01:55:19 <pikhq> Assume UNIX.
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:25 <olsner> any/ant
01:57:27 <cheater99> still sucks much
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:57:58 <cheater99> yeah
01:58:00 <cheater99> i agree
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:58:38 <cheater99> haha
01:58:40 * GreaseMonkey <3 mingw
01:59:24 <elliott> cheater99: am i meant to feel inferior because i do not yet have to work to sustain myself?
02:00:31 <cheater99> only if you want to
02:05:40 -!- Hiant has joined.
02:05:49 <olsner> good night, and beware of ant
02:06:43 <cheater99> nn
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:12:28 <elliott> 6 irons.
02:13:00 <elliott> More coal. 2 irons.
02:16:12 <elliott> 1 gold; coal.
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:25 <Gregor> More.
02:24:26 <pikhq> Gregor: Not an unholy hybrid of build systems.
02:24:34 <Gregor> And an unholy hybrid.
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:24:45 * elliott interpreter
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:25:57 <pikhq> Gag me.
02:25:59 <elliott> 3 diamond.
02:26:06 <elliott> pikhq: KDE uses cmake.
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:42 <pikhq> elliott: No.
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:17 <elliott> How to become suicidal:
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:34 <elliott> 3. Get lost.
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:35:04 <elliott> 8. End up in the lava.
02:35:08 <elliott> 9. Flail wildly.
02:35:10 <elliott> 10. Burn.
02:35:11 <elliott> 11. Die.
02:35:14 <elliott> 12. Lose everything.
02:40:42 <Sgeo> "Lose everything"?
02:40:52 <elliott> Sgeo: Die -> lose inventory.
02:40:57 <Sgeo> :/
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:04 <Gregor> elliott: Yeah. Don't.
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:23 <elliott> *get on
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:26 <elliott> erm
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:05:29 <elliott> i will read all of 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:27 <Sgeo> Meh
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:24 <Goosey> the same way?
03:16:29 <elliott> Goosey: cls, I don't know.
03:16:36 <elliott> $ clear | cat -v; echo
03:16:36 <elliott> ^[[H^[[2J
03:16:40 <elliott> Goosey: clear, as you can see, uses special control code.
03:16:44 <elliott> there, ^[ = the escape character
03:16:45 <elliott> so that's
03:16:50 <elliott> {ESCAPE}[H{ESCAPE}2J
03:16:59 <elliott> will clear an ANSI-compliant screen
03:17:03 <Goosey> ah
03:17:14 <Goosey> That makes sense
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:06 <Goosey> hmm
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:08 <Goosey> I'll try it
03:18:09 <elliott> but try it and see :P
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:08 <Goosey> hey
03:50:10 <Goosey> so
03:50:19 <Goosey> assuming * are escapes
03:50:31 <Goosey> (I cant send the escapes in this I guess)
03:50:41 <Goosey> *[H*2J
03:50:45 <Goosey> does that look right?
03:51:11 <elliott> Goosey: yes
03:51:19 <Goosey> why is it that
03:51:29 <elliott> Goosey: 'cuz ANSI said so :)
03:51:34 <Goosey> well
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:43 <Goosey> if ^[ is an escape
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:02 <Goosey> and it is ^[[H^[[2J
03:52:04 <Goosey> shouldnt it ibe
03:52:13 <Goosey> *[H*[2J
03:52:17 <Goosey> or is it because
03:52:32 <Goosey> 2J is 2 characters?
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:31 <elliott> erm, not really
03:53:39 <elliott> since it's still likely to use the C stdio
03:53:42 <elliott> which is buffered
03:53:45 <zzo38> I think the 2J (clear screen) does have [ before it
03:53:50 <elliott> oh, indeed it does
03:53:53 <elliott> ^[[H^[[2J
03:53:53 <elliott> so
03:53:54 <Goosey> >.>
03:53:56 <elliott> *[H*[2J
03:54:00 <Goosey> THATS WHAT I WAS SAYING XD
03:54:13 <Goosey> lol
03:54:17 <Goosey> I'll try that then
03:54:22 <elliott> shaddap :D
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:57:53 <Goosey> Lol
03:57:54 <Goosey> Hm
03:58:36 <elliott> anyway something like
03:58:47 <elliott> *[H*[2JHello, world!
03:58:48 <elliott> Foobar!
03:58:51 <elliott> should work just fine
03:58:53 <elliott> but if you do
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:10 <elliott> try it and see
03:59:28 <Goosey> holy shit
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:25 <Goosey> Indeed
04:01:27 <Goosey> It works
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:01:44 <Goosey> which*
04:02:32 <wxl> anyone know where I can find more info on prelude?
04:02:40 <elliott> wxl: define prelude?
04:02:45 <Goosey> haskell?
04:02:46 <elliott> ah, http://esolangs.org/wiki/Prelude?
04:03:05 <wxl> yep
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:23 <wxl> heh, k
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:02 <wxl> right
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:02 <elliott> there's hello world
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:10:31 <wxl> heheh
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:16:52 <elliott> Goosey: "inline"?
04:17:08 <Goosey> it's inside bash
04:17:12 <elliott> not here
04:17:22 <elliott> $ builtin clear
04:17:22 <elliott> bash: builtin: clear: not a shell builtin
04:17:22 <Goosey> Oh, i assumed it was :/
04:17:27 <Goosey> Oh
04:17:29 <Goosey> lol
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:17:59 <elliott> what minimalism!
04:18:23 <zzo38> Why should a implementation of true(1) false(1) need --help or --version or anything else?
04:18:29 <elliott> zzo38: because GNU crazy!
04:18:29 <elliott> http://sprunge.us/jdLP
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:25 <elliott> Or you could just do
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:17 <Goosey> meh
04:27:38 <Goosey> The only compiler I have found for linux seems to crash when I try to use it :/
04:28:00 <elliott> Goosey: Only? Really?
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:06 <Goosey> I got one
04:31:10 <Goosey> well
04:31:12 <Goosey> the one i was using
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:26 <Goosey> not bad
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:07 <Goosey> world*
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:28 <Goosey> or are they? :O
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:05 <Gregor> Per hand.
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:49 <Gregor> "Supposed to"
05:39:49 <Sgeo> "supposed"?
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:07 <Gregor> *sort of
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:06 * Sgeo worships Porn
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:01 <Gregor> *believes
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:09 <Sgeo> Ah
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:04:56 <Sgeo> e^i2pi = 1
06:05:00 <Sgeo> Wait
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:09:46 <Gregor> Sure
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:27 <Sgeo> How chilling
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:36 <Sgeo> Um
07:18:46 <Sgeo> Right before that bit in http://blogs.discovermagazine.com/cosmicvariance/2007/11/19/sidney-coleman/
07:18:59 <Sgeo> "T"
07:19:14 <Sgeo> "T"
07:19:15 <Sgeo> GAH
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:30:00 <Sgeo> Night all
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:52:40 <Ilari> Yup.
10:52:44 <coppro> w/in 25
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:41:48 <Guest49186> i want to identify u darling
12:42:06 <Guest49186> sweatheart
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:12 <elliott> jesus wrote the bible
15:27:15 <elliott> prove me wrong
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:27:48 <elliott> i am laughing so much
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:41:22 <Vorpal> elliott, hi
15:41:34 <elliott> hi
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=
15:50:43 <elliott> The PDF is just a conversion of the ps and so is even worse.
15:51:13 <cheater00> hey olsner
15:51:14 <cheater00> you there?
15:51:32 <elliott> To be honest, http://valerieaurora.org/synthesis/SynthesisOS/ with a bit more LaTeXy CSS would be nicer.
15:54:44 <elliott> olsner: ping
15:57:31 <elliott> Vorpal: i'm not sure i quite understand what a callout is
15:58:07 -!- FireFly has joined.
15:59:08 <Vorpal> elliott, heh
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:00:51 <Vorpal> kind of thingy
16:00:55 <Vorpal> if you know about C#
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:01:53 <elliott> eh?
16:02:30 <elliott> Vorpal: how?
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:03:55 <elliott> ah
16:03:58 <elliott> okay then
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:11 <elliott> :(
16:05:26 <elliott> Vorpal: The irritating thing is all these little snippets of 68k assembly -- so much nicer than x86 :P
16:06:57 <Vorpal> :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:25 <elliott> Vorpal: No it's not.
16:13:28 <Vorpal> elliott, would the thing even make sense ignoring the imperative bits?
16:13:35 <Vorpal> elliott, still synthesis?
16:13:38 <elliott> Vorpal: Of course.
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:22 <elliott> Vorpal: No.
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:41:27 <Vorpal> hah
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:32 <Vorpal> indeed
16:44:55 <elliott> Vorpal: How does this fit into the tiny size?!
16:45:04 <Vorpal> elliott, no clue.
16:45:40 <elliott> 256 kilobytes of ROM for "the entire Synthesis kernel, monitor, and runtime libraries".
16:45:46 <elliott> i.e. the OS.
16:52:16 -!- sshc has quit (Ping timeout: 255 seconds).
16:53:24 -!- MigoMipo has joined.
16:54:20 <elliott> Vorpal: yay run-linking!
16:57:41 <Vorpal> bbl
17:07:17 -!- kar8nga has quit (Remote host closed the connection).
17:13:01 <Vorpal> elliott, hm?
17:13:16 <Vorpal> elliott, run-linking?
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:13:50 <Vorpal> ah
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:20 <elliott> I recommend it!
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:11 <elliott> Vorpal: Umm, no.
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:15:35 <elliott> i.e., late binding.
17:15:40 <Vorpal> ah
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:17:11 <elliott> right
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:23:17 <Vorpal> elliott, :P
17:24:49 <elliott> Vorpal: I seriously did.
17:36:51 <elliott> Vorpal: down?
17:37:12 <Vorpal> ineiros, down?
17:37:28 <Vorpal> elliott, think so
17:37:48 <elliott> Vorpal: that going-down has led me to discover the source of all MP lag/sync issues.
17:37:55 <Vorpal> elliott, oh?
17:37:56 <elliott> Vorpal: You know how when people walk continuously, you see it as them walking in short spurts?
17:38:03 <Vorpal> elliott, yes
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:00 <Vorpal> elliott, it is common
17:39:05 <elliott> Vorpal: No...
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:40:24 <elliott> Server's back up.
17:40:47 <Vorpal> elliott, I know
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:34 <Vorpal> elliott, down?
18:14:34 <elliott> Vorpal: down?
18:14:36 <elliott> :D
18:14:37 <Vorpal> hah
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:15:19 <elliott> how?
18:15:24 <elliott> also: BORING
18:15:26 <Vorpal> server up
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 <Guest7321> Wowsa.
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:52:33 <Vorpal> elliott, down?
18:52:50 <elliott> Vorpal: seems so
18:53:48 <Vorpal> up
18:53:58 <Vorpal> elliott, ^
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:34 <elliott> I plan to.
18:54:38 <elliott> (/home)
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:30 <elliott> Your mines: crazy :P
18:55:35 <Vorpal> a huge bunch
18:55:42 <Vorpal> elliott, there are crazier mines on the forum
18:55:56 <oklopol> how big is Vorpal's?
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:38 <oklopol> :P
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:45 <elliott> (logic!)
18:57:54 <Vorpal> elliott, no. 2 would be one layer higher
18:57:57 <Vorpal> vertically
18:58:02 <Vorpal> 2.1 that is
18:58:23 <Vorpal> the first number is the vertical index in that section. The second is the horizontal one
18:58:45 <Vorpal> diamond
18:58:56 <Vorpal> like 1 space from my corridor that I just widened
18:59:13 <Vorpal> 8 diamond
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:50 <elliott> suuure
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: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:07:51 <elliott> --LinuxForums
19:08:08 <Gregor> *brain axplote*
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:09:51 <Goosey> lol
19:09:59 <elliott> Goosey: heh, cool
19:10:03 <Vorpal> nice
19:10:29 <Goosey> Yeah, it was slick
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:10:44 <elliott> haha! i decoded it
19:10:45 <elliott> ow my brain
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:46 <Vorpal> yay invisible leaves
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:20:17 <Vorpal> ineiros_, there?
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:21:53 <elliott> ble on iTunes.
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:07 <elliott> olsner: ping
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:21 <elliott> cleverly
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:42 <elliott> why
19:36:57 <Vorpal> zzo38, so what do you prefer?
19:37:01 <Vorpal> dvi? if so ugh
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:05 <elliott> zzo38: And what are they?
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:01:33 <elliott> what?
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:18:46 <elliott> FUCK YOU CACHE
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:18 <elliott> thesis = long paper :p
20:19:23 <Vorpal> (if it is synthesis)
20:19:25 <elliott> Vorpal: i'll demonstrate
20:19:41 <elliott> putstr: ...conditional ret...
20:19:50 <elliott> mov [return_here], *code to jump to putstr*
20:19:51 <elliott> putchr:
20:19:54 <elliott> ... code to put a character ...
20:19:56 <elliott> return_here: ret
20:20:03 <elliott> see? :D
20:20:06 <Vorpal> uh
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:19 <Vorpal> hah
20:20:23 <elliott> Vorpal: um my boot sector has a putstr function for printing to the console
20:20:33 <Vorpal> ah
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:20:53 <elliott> for optimisation purposes
20:21:15 <Vorpal> elliott, see the final conclusions in that thesis
20:21:43 <Vorpal> gah
20:22:11 <elliott> Vorpal: what were they, i haven't got that far yet
20:22:13 <elliott> *what are
20:22:17 <elliott> "it isn't worth it?"
20:22:18 <elliott> *it"?
20:22:22 <elliott> :P
20:22:47 <Vorpal> elliott, "concerns about future up and coming cpu designs" amongst other things
20:23:11 <Vorpal> heh
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:21 <elliott> fff
20:28:29 <elliott> "mov al, byte [cx]" stupid stupid this not working stupid x86 i hate x86
20:28:31 <elliott> x86 should die
20:28:33 <elliott> forever
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:00 <elliott> Sgeo: there are none.
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:37 <elliott> good TNG episode?
20:30:38 <elliott> all of them!
20:30:51 <elliott> well, all post-first-season. :P
20:30:55 <Sgeo> Apparently "Shades of Grey" is not well thought of
20:31:38 <elliott> well, it's a clip show...
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:53 <elliott> I liked The Thaw.
20:33:56 <elliott> Bad ending, though :P
20:33:56 <pikhq> elliott: True, the bad ones are a *minority*.
20:33:59 <elliott> They should have ALL DIED
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:45 <pikhq> elliott: Q Less.
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:15 <elliott> Vorpal: no
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:37:57 <elliott> mov al, byte [cx]
20:37:58 <elliott> WHY DOESN'T THIS WORK
20:38:03 <elliott> WHY IS X86 SO NON-ORTHOGONAL
20:38:06 <Vorpal> elliott, ah
20:38:28 <Sgeo> Hm
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:51 <Sgeo> A lot
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:15 <Phantom_Hoover_> elliott, I vaguely do.
20:42:58 <pikhq> And Voyager did everything wrong that DS9 did right, pretty much.
20:43:04 <elliott> mov al, byte [cx]
20:43:08 <elliott> Phantom_Hoover_: WHY IS [CX] INVALID
20:43:19 <Phantom_Hoover_> Pass.
20:43:27 <Phantom_Hoover_> Effective addresses are _insane_.
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:18 <elliott> I'd see it.
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:46:43 <elliott> Gregor: Define X
20:47:00 <pikhq> elliott: 10
20:47:07 <pikhq> elliott: Though I think he means 11.
20:47:16 <elliott> I know what 10 is :P
20:47:25 <elliott> pikhq: No, he means XII.
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:41 <elliott> Duh.
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:50:46 <Phantom_Hoover_> elliott, ebp is another GPR.
20:51:10 <Phantom_Hoover_> Well, inasmuch as x86-¬{64} *has* GPRs.
20:51:45 <Gregor> Phantom_Hoover_: x86-32 has one! ECX!
20:51:49 <elliott> err
20:51:49 <Phantom_Hoover_> In the normal C calling convention it's used to store something in the call process.
20:51:51 <elliott> cmp al, 0
20:51:51 <elliott> jz end
20:51:53 <elliott> this is redundant, right?
20:51:56 <elliott> what's the cmp meant to be
20:52:00 <elliott> i've totally forgetteneren
20:52:12 <Phantom_Hoover_> cmp is subtraction without storage of the result.
20:52:15 <pikhq> Gregor: Nope. That's just more general than the others.
20:52:17 <Phantom_Hoover_> It still sets the flags.
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:27 <Phantom_Hoover_> You can.
20:52:34 <elliott> oh, that's probably faster
20:52:41 <elliott> mov al, byte [bp]
20:52:41 <elliott> jz end
20:52:42 <elliott> will that work?
20:52:49 <Deewiant> mov doesn't set the zero flag.
20:52:54 <elliott> joy
20:52:58 <Phantom_Hoover_> FWIW, 0-testing is normally done with test foo, foo
20:53:10 <elliott> alright then
20:53:14 <Phantom_Hoover_> (test is like cmp but it does a bitwise and)
20:53:26 <Phantom_Hoover_> And then jz.
20:54:04 <elliott> Now to figure out how to write
20:54:08 <elliott> putchr:push ds
20:54:08 <elliott> push 0xB800
20:54:08 <elliott> pop ds
20:54:08 <elliott> call _ptchr
20:54:08 <elliott> pop ds
20:54:09 <elliott> ret
20:54:11 <elliott> shorter.
20:54:15 <elliott> Don't think I can optimise _ptchr itself.
20:54:24 -!- cheater00 has joined.
20:54:31 <Phantom_Hoover_> Why are you saving ds again?
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:03 <elliott> Hrm.
20:55:09 <elliott> Okay, I'll clobber ds and let the caller handlei t.
20:55:11 <elliott> *handle it.
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:55:44 <zzo38> OK
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:37 <Vorpal> pikhq, TAS?
20:56:39 <Deewiant> Inaccurate.
20:56:41 <pikhq> Vorpal: The Animated Series.
20:56:43 <Gregor> Vorpal: The Animated Series
20:56:47 <Vorpal> ah
20:56:47 <elliott> Deewiant: Okay, well, at least a few months.
20:56:57 <olsner> TAS is awesome
20:57:00 <Phantom_Hoover_> elliott, AFAIK there aren't conditional rets.
20:57:12 <Deewiant> A few, yes.
20:57:13 <Phantom_Hoover_> Remember, x86 is a sucky CISC arch.
20:57:20 <Deewiant> About two, I think.
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:25 <elliott> Deewiant: Did you DIE?
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:07 <pikhq> It had Kzinti!
20:58:08 <elliott> Unmissable nothings.
20:58:18 <pikhq> And Slavers!
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:58:50 <pikhq> (thank you Niven)
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:16 <elliott> MUST PUNCH
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:18 <elliott> pikhq: DIE IN A FIRE
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:03:44 <elliott> zzo38: ok
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:00 <elliott> thank you
21:05:04 <olsner> elliott: the point is mostly that they increment si and/or di automatically
21:05:15 <elliott> olsner: that's *it*? :p
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:05:57 <elliott> olsner: i'm not, no
21:06:05 <elliott> hmm
21:06:10 * elliott does strings pascal-style instead, might be simpler
21:06:15 <elliott> or maybe not
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:15 <zzo38> elliott: Yes
21:11:42 <zzo38> You can see mine as the example
21:11:54 <elliott> OK
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:04 <elliott> *byte.
21:16:45 <elliott> olsner: so did you look at my thing?
21:16:49 * elliott gets the link
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:12 <Vorpal> fizzie, is it down?
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:19:57 <Goosey> Hey y'all. Lol
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:20:56 <Vorpal> fizzie, ?
21:21:20 <Vorpal> fizzie, like .^.^.^ in multiple layers
21:21:31 <fizzie> Briefly.
21:21:34 <fizzie> Oh, reconnected.
21:27:55 <elliott> hmm
21:28:03 <elliott> "mov dword"s aren't any slower in real mode right?
21:28:05 <elliott> than in protected
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:36 <olsner> is cls long?
21:42:44 <elliott> olsner: not really
21:42:48 <elliott> ; clobbers es, di
21:42:49 <elliott> cls:push 0xB800
21:42:49 <elliott> pop es
21:42:49 <elliott> mov di, 2000 ; 80*25
21:42:49 <elliott> _cls:mov word [es:di], 0x0720
21:42:49 <elliott> dec di
21:42:51 <elliott> dec di
21:42:53 <elliott> jnz _cls
21:42:55 <elliott> ret
21:43:30 <olsner> that's a rep stosd :)
21:43:46 <elliott> olsner: eff you :P
21:43:55 <elliott> ALWAYS GOLFIN' MAH PROGRAMS
21:44:00 <elliott> olsner: now read http://sprunge.us/gXiR already
21:44:42 <elliott> olsner: also, stosw, no?
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:37 <elliott> ; clobbers es, di
21:46:37 <elliott> cls:push 0xB800
21:46:37 <elliott> pop es
21:46:37 <elliott> xor di, di
21:46:38 <elliott> mov cx, 2000
21:46:40 <elliott> mov ax, 0x0720
21:46:42 <elliott> rep stosw
21:46:44 <elliott> ret
21:46:46 <elliott> somehow after executing this,
21:46:48 <elliott> my putstrs do nothing
21:46:50 <elliott> :|
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:48:23 <elliott> oh wait
21:48:24 <elliott> never mind
21:49:08 <elliott> now why doesn't nl work...
21:51:03 <elliott> ok, cls and nl both 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:16 <elliott> lawl
21:51:35 <olsner> out x,y ; fill in x and y
21:51:38 <olsner> probably!
21:51:48 <fizzie> With the VGA registers, it's often several outs.
21:52:00 <elliott> 97 boot.o
21:52:02 <elliott> time to size-optimise
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:09:56 <elliott> fizzie: stop olsner
22:09:57 <elliott> or uh
22:09:58 <elliott> start him
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:14:42 <elliott> no.
22:16:41 <Gregor> I've become obsessed with counting WebKit build systems :P
22:16:53 <Vorpal> fizzie, down?
22:16:58 <Vorpal> Phantom_Hoover_, ^
22:17:10 <fizzie> Yes.
22:17:18 <elliott> olsner: ping
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:35 <Vorpal> fizzie, up
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:00 <elliott> *giving
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:08 <Vorpal> ineiros_, !
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:31 <elliott> the result is in bytes
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:11 <Vorpal> fizzie, ah that works
22:23:13 <fizzie> Or rather, one block more.
22:23:30 <ineiros_> Should I update the server?
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:23:46 <elliott> what now?
22:24:58 <fizzie> ineiros_: I doubt it'd hurt.
22:28:10 <elliott> %macro dpstr 1
22:28:10 <elliott> .str:db .len, %1
22:28:10 <elliott> .len equ $-.str-1
22:28:10 <elliott> %endmacro
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:31:53 <Phantom_Hoover_> elliott, what assembler? NASM or YASM?
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:34:51 <ineiros_> Ready.
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:36:10 <elliott> basn
22:36:22 <Phantom_Hoover_> *basm?
22:36:30 <elliott> nasm
22:36:41 <Phantom_Hoover_> Ah.
22:37:05 <elliott> Phantom_Hoover_: wanna SPACE-OPTOMISE my code? :p
22:37:18 <Phantom_Hoover_> No.
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:42:54 <Phantom_Hoover_> What's the code for?
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:20 <Phantom_Hoover_> elliott, how hard is a boot sector?
22:44:27 <elliott> olsner: right. which poses a problem. as in, how do you do that.
22:44:29 <Phantom_Hoover_> Note: I have never made a boot sector ever.
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:48:48 <elliott> that means
22:48:50 <elliott> BOOT SECTOR SMILIES
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:34 <Phantom_Hoover_> elliott, ...why
22:49:43 <Phantom_Hoover_> Do them in the code the boot sector calls.
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:29 <Phantom_Hoover_> elliott, wha?
22:53:41 <Phantom_Hoover_> Where does the floppy come in? There is no floppy.
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:54:15 <Phantom_Hoover_> On the hard disk; how old is your computer?
22:55:03 <Sgeo> For some reason, I thought people disliked DS9
22:55:24 <Phantom_Hoover_> Or am I missing some insane bit of PC design?
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:58:39 <elliott> *The first two
22:58:42 <Phantom_Hoover_> elliott, not many computers still have them...
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:05 <Phantom_Hoover_> elliott, large numbers do.
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:11 <Phantom_Hoover_> elliott, you want x86-64, yes?
23:02:16 <elliott> Phantom_Hoover_: Yes?
23:02:41 <Phantom_Hoover_> So you have to suffer without hardware virtualisation?
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:03:56 <elliott> Phantom_Hoover_: ...what?
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:10 <elliott> %macro dpstr 1+
23:05:10 <elliott> %%str:db %%len, %1
23:05:10 <elliott> %%len equ $-%%str-1
23:05:10 <elliott> %endmacro
23:05:13 <elliott> more better this time!
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:13 <Vorpal> ineiros_, down?
23:12:42 <ineiros_> I'm up.
23:12:53 <Vorpal> ineiros_, horrible lag
23:13:05 <Vorpal> ineiros_, timed out
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:15:42 <ineiros_> No.
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:24:35 <Phantom_Hoover_> elliott, what's this the boot sector for?
23:24:41 <elliott> Phantom_Hoover_: OS
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:34 <Phantom_Hoover_> elliott, part of Mitosis or further irrelevancy, then?
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:25 <Phantom_Hoover_> Mitosis: the bootloader.
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:40:58 <elliott> who knows
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:07 <Vorpal> that works too
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:02 <elliott> so sucks to be you :p
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:39 <Phantom_Hoover__> Vorpal, not sure. Haven't tried it.
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:52:23 <ineiros_> New maps are in.
23:52:24 <Phantom_Hoover__> Even including controls, you can't need more than 6.
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:54:32 <elliott> While mining.
23:54:33 <elliott> It's big.
23:54:44 <Phantom_Hoover__> Approximate location?
23:55:49 -!- wareya has quit (Read error: Connection reset by peer).
23:56:44 <Phantom_Hoover__> I mean depth.
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?
23:59:31 <Phantom_Hoover__> Also, it connects to the Great Cavern Off The Tunnel.
←2010-11-26 2010-11-27 2010-11-28→ ↑2010 ↑all