←2008-05-11 2008-05-12 2008-05-13→ ↑2008 ↑all
00:00:06 <ehird> AnMaster has still LeftCanadaInAHuff I see.
00:00:26 <SimonRC> zzzzzzzzzzzzzzzz
00:01:04 -!- Judofyr_ has quit (Read error: 104 (Connection reset by peer)).
00:01:23 -!- Judofyr has joined.
00:01:52 -!- oerjan has quit ("Good night").
00:13:51 <RodgerTheGreat> GregorR: I challenge you to try porting that voxel thing to Javascript.
00:14:31 <ehird> RodgerTheGreat: Okay!
00:14:41 <ehird> I love JS too :D
00:14:47 <RodgerTheGreat> ok, sweet. :D
00:15:02 <RodgerTheGreat> are you going to use a canvas or do something totally crazy?
00:15:13 <Slereah-> A guy tries to teach me javascript
00:15:18 <ehird> RodgerTheGreat: Either canvas, or divs with crazy borders.
00:15:21 <ehird> 'Cause I'm crazy.
00:15:24 <Slereah-> But I'm not in the mood
00:15:26 <RodgerTheGreat> I highly encourage trying to use inline SVG
00:16:02 <ehird> RodgerTheGreat: Inline? I'll just make it an .svg
00:16:04 <ehird> .svg has <script>
00:16:05 <ehird> :DDD
00:16:08 <RodgerTheGreat> Slereah-: I can code in JS, but my HTML and DOM skills aren't that strong, so I can't do too many cool things, and I find it incredibly aggrivating to debug
00:16:09 <ehird> (and the DOM)
00:16:35 <ehird> RodgerTheGreat: I like how your java code is like 2x longer than the qbasic :P
00:16:49 <RodgerTheGreat> ehird: it's pretty much the same as doing an <svg> tag in HTML
00:17:02 <ehird> Still, for java, it has suprisingly little boilerplate
00:17:11 <RodgerTheGreat> ehird: 1- my Java code is clearer, 2- my Java code is faster, 3- my Java code runs on way more computers
00:17:12 <ehird> RodgerTheGreat: but an animated .svg with loads of computation info to the side is cooler than an .html
00:17:30 <RodgerTheGreat> I think a few more lines is a fair tradeoff
00:17:36 <ehird> 1- about the same to me 2- yeah this is probably true 3- a good point
00:17:38 <RodgerTheGreat> I wasn't trying to make it ultra-compact, anyway
00:17:39 <ehird> not sayign that it's bad
00:17:42 <ehird> just that it's kinda funny
00:17:47 <RodgerTheGreat> heh, yeah
00:18:33 <ehird> RodgerTheGreat: I should implement a mini functional language in JS in 10 lines
00:18:40 <ehird> and then write the demo in 5 in that language
00:18:41 <ehird> :DD
00:18:42 <RodgerTheGreat> When I first moved from coding in DarkBASIC to Java, it was really frustrating how much harder graphical applications were, but once I picked up the API and worked out some templates it became much easier
00:19:08 <RodgerTheGreat> ehird: or extend gregor's MIPS thing with graphical output and then write it in MIPS ASM!
00:19:20 <RodgerTheGreat> I'd totally help out with the assembly side of that
00:19:25 <ehird> RodgerTheGreat: hahah
00:19:27 <ehird> maybe
00:19:29 <ehird> ;P
00:20:30 <ehird> RodgerTheGreat: oh and if it's between reading your DarkBASIC and reading your java
00:20:34 <ehird> you know what i want you to use
00:20:35 <ehird> :-)
00:20:40 <ehird> (java!)
00:20:51 <RodgerTheGreat> heh
00:22:08 <RodgerTheGreat> actually, I think a fair amount of the code length difference in the Java version comes from the fact that I have to declare vars before use
00:22:39 <RodgerTheGreat> and many lines where he jams together several expressions I space out one per line
00:22:44 <ehird> RodgerTheGreat: it's the paradigm. Java & basic - poles apart
00:22:58 <RodgerTheGreat> indeed
00:23:07 <RodgerTheGreat> I like both for very different reasons
00:23:23 <ehird> For this, as a purely language matter, BASIC fits. Java is just good because of its delivery potential, for this
00:23:36 <RodgerTheGreat> agreed
00:23:45 -!- timotiis has quit (Read error: 110 (Connection timed out)).
00:24:14 <RodgerTheGreat> although, with appropriate libraries and prebuilt classes, you could probably make Java even better. BASIC is harder to extend and modularize
00:25:10 <ehird> RodgerTheGreat: OMG I could use pprocsesing.js for this
00:25:18 <RodgerTheGreat> ooooo
00:25:28 <ehird> (jreisegs new toy , port of Processing to js)
00:25:35 <ehird> (of jQuery fame)
00:25:40 <RodgerTheGreat> *or* you could use that thing that compiles Java into JS that was on /.
00:25:52 <ehird> RodgerTheGreat: get this - as well as exposing the same API as Processing does to JS,
00:26:00 <ehird> it will even COMPILE bona-fide Processing code into JS
00:26:06 <ehird> unchanged
00:26:09 <RodgerTheGreat> Yeah, I've read about it
00:26:12 <RodgerTheGreat> pretty damn nifty
00:26:29 <RodgerTheGreat> I think it currently uses some hacky regexes and stuff, but it works pretty reliably
00:26:47 <RodgerTheGreat> honestly, I think it makes processing seem a great deal more useful
00:27:59 <RodgerTheGreat> the only real reason I thought it could be useful before was the arduino integration- Processing is basically a slightly dressed up version of the Applet framework with looser syntax restrictions than Java
00:28:00 <ehird> RodgerTheGreat: it's the kind of thing that hackety.org loves
00:28:15 <ehird> (one of my favourite programming blogs - of why the lucky stiff fame)
00:28:43 <RodgerTheGreat> I mostly read Hackaday, and /., and it's been mentioned both places from time to time
00:30:00 <ehird> RodgerTheGreat: me: proggit,hackety,random places
00:30:54 <RodgerTheGreat> I think I'm going to try porting this next: http://www.advsys.net/ken/klab/labdemo2.bas
00:31:19 <RodgerTheGreat> it's supposed to look like this when it runs: http://www.advsys.net/ken/klab/labdemo2.png
00:31:47 <RodgerTheGreat> I've done raytraced 2.5d before, but I've never tried texture-mapping
00:36:24 <ehird> pikhq: Please excuse me or whatver in my cfjs
00:36:27 <ehird> For ducks & platypuses
00:36:28 <ehird> :3
00:37:12 <RodgerTheGreat> ?
00:38:01 <ehird> RodgerTheGreat: Agora nomic.
00:38:08 <RodgerTheGreat> oh
00:48:32 <RodgerTheGreat> haha, great bash quote: < S7L> Would you guess the nationality of the genius behind this code: datapublikacjijava=new Date(przetarg.jakistartpublikacjirok.value, przetarg.jakistartpublikacjimiesiac.value-1, przetarg.jakistartpublikacjidzien.value)
01:11:29 <pikhq> Brilliant.
01:12:04 <pikhq> I'm going to go with either German or something Slavic.
01:12:22 <pikhq> (Serbain perhaps? Only Slavic language I know that's regularly written in Roman letters)
01:12:29 <pikhq> s/Serbain/Serbian/
01:13:00 <lament> it's definitely slavic
01:13:04 <lament> can't tell which one
01:31:54 -!- SimonRC has quit (Read error: 110 (Connection timed out)).
02:18:44 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
02:19:00 -!- Judofyr has joined.
02:45:40 <ehird> Bye for today :-)
02:45:59 -!- ehird has quit (Remote closed the connection).
02:53:53 <pikhq> lament: I'm guessing Serbian.
03:00:40 <lament> well, if that's only because Serbian is the only Slavic language you know that's written in Roman letters, that's not a very good guess :)
03:03:02 <lament> (ie, if you're not aware of Czech, Polish, Belorussian, Slovak...)
03:03:31 <lament> wait, belorussian is cyrillic :)
03:03:54 -!- Tritonio_ has joined.
03:05:07 <lament> whoa: http://en.wikipedia.org/wiki/Belarusian_Arabic_alphabet
03:05:31 <pikhq> Oh, right; can't believe I forgot Czech, Polish, and Slovak.
03:05:53 <pikhq> I'm going to go generalise my guess.
03:05:54 -!- Tritonio has quit (Read error: 113 (No route to host)).
03:06:00 <pikhq> I guess that it is an Indoeuropean language.
03:06:17 <lament> i bet it's a human language!
03:06:32 <pikhq> Is it Germanic? Is it Romantic? Is it Slavic? Is it Celtic?
03:06:42 <pikhq> My guess doesn't say!
03:06:59 <lament> i bet it's spoken in the solar system!
03:07:03 <lament> or used to be spoken!
03:07:13 <lament> or will be spoken!
03:08:02 <pikhq> Let's determine the languages it's *not*.
03:08:10 <pikhq> It's not Afrikaans, for one.
03:08:31 <lament> It's not English!
03:08:42 <pikhq> It could be Old English. :p
03:08:49 <pikhq> It's not Japanese!
03:08:58 <pikhq> (or any Japonic language, for that matter!)
03:08:58 <lament> It could be Old Japanese!
03:09:12 <pikhq> Wrong phonology.
03:09:16 <lament> or Old Afrikaans
03:09:31 <pikhq> Afrikaans ain't very old.
03:09:32 <lament> oh i know
03:09:33 <pikhq> ;)
03:09:41 <lament> i think it's proto-indo-european
03:09:43 <pikhq> It ain't Esperanto.
03:09:59 <lament> ja ne
03:10:00 <pikhq> And I doubt it's an Esperantido.
03:10:17 <pikhq> And what's with that response in Japanese? :p
03:10:18 <lament> but perhaps it's Old Esperanto.
03:10:26 <pikhq> Ne.
03:10:49 <pikhq> Zamenhof's early Esperanto was actually pretty close to the modern language.
03:10:54 <lament> it could be Zamenhof's mother tongue for all we know.
03:11:03 <lament> very easily in fact.
03:11:24 <Slereah-> ...
03:11:33 <Slereah-> SIMOOOOOOOOON!
03:12:46 <pikhq> Zamenhof's mother tongue was Russian, so. . . Yeah.
03:13:02 <pikhq> (he was also a friggin' polyglot)
03:13:24 <pikhq> He was fluent in Russian, Yiddish, Polish, and German, for crissake.
03:15:37 * pikhq laughs
03:15:48 <pikhq> There is a religion which considers Zamenhof a diety.
03:32:23 <bsmntbombdood> guys
04:02:21 <Slereah-> That's me.
04:12:34 <lament> pikhq: that's not very polyglot..ic
04:12:45 <lament> just two closely related language groups!
04:14:49 -!- calamari has quit ("Leaving").
04:15:57 <pikhq> lament: That's just what he was fluent in.
04:16:16 <lament> indeed. Pathetic.
04:16:40 <pikhq> He was competent in another 4, and had a basic grasp of another 4.
04:21:34 <RodgerTheGreat> I am back
05:09:42 <RodgerTheGreat> good night folks
05:13:09 -!- GreaseMonkey has joined.
05:22:13 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
05:53:13 -!- ke5tpy has joined.
06:01:18 -!- olsner has joined.
07:20:30 -!- Slereah- has quit (Read error: 110 (Connection timed out)).
07:38:33 -!- SimonRC has joined.
07:53:58 -!- kar8nga has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:18:10 <lament> holy crap, i'm a genius composer.
08:18:21 <lament> i just need to compose something :(
08:22:57 <Sgeo> G'night all
08:23:03 -!- Sgeo has quit ("Ex-Chat").
08:47:43 -!- GregorR has quit (Read error: 104 (Connection reset by peer)).
08:48:07 -!- olsner has quit (Read error: 110 (Connection timed out)).
08:50:09 -!- GregorR has joined.
09:04:38 -!- Iskr has joined.
09:54:22 -!- oklopol has joined.
10:03:59 -!- kar8nga has left (?).
10:09:02 -!- Corun has joined.
10:40:12 -!- GreaseMonkey has quit ("Unisex.").
10:50:32 -!- Judofyr has joined.
12:50:32 -!- Corun has quit ("This computer has gone to sleep").
12:52:59 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
12:53:17 -!- oklopol has joined.
13:21:23 -!- kar8nga has joined.
13:26:42 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
13:27:44 -!- Judofyr has joined.
13:51:02 -!- ehird has joined.
14:08:51 -!- Slereah_ has joined.
14:25:49 <ehird> Sgeo-log-reading-ping.
14:25:55 <ehird> Slereah_: Hello
14:32:02 <Slereah_> hai
15:05:49 -!- RodgerTheGreat has quit (Read error: 110 (Connection timed out)).
15:27:50 -!- ehird has quit (Remote closed the connection).
15:28:40 -!- ehird has joined.
16:15:10 -!- oklofok has joined.
16:18:30 -!- oklopol has quit (Read error: 110 (Connection timed out)).
16:33:59 -!- RodgerTheGreat has joined.
16:36:22 -!- Slereah- has joined.
16:36:22 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
16:37:34 -!- ke5tpy has left (?).
16:56:25 -!- ais523 has joined.
17:10:51 <ais523> ehird: anyway, a reflective programming language needs everything to be the same to reflect better
17:10:59 <ais523> In Feather, everything is a function
17:11:05 <ehird> * ais523 (n=ais523@chillingi.eee.bham.ac.uk) has joined #esoteric
17:11:05 <ehird> <ais523> ehird: anyway, a reflective programming language needs everything to be the same to reflect better
17:11:06 <ais523> (it compiles into Unlambda, BTW)
17:11:27 <ais523> objects are also functions
17:11:35 <ais523> and messages are curried
17:11:52 <ais523> if you send a message to an object, you get a function back which accepts its arguments and carries out the message's operations
17:12:01 <ais523> oh, and pass-by-reference and pass-by-value are the same thing
17:12:08 <ais523> Java claims not to use pointers, but they're hidden
17:12:16 <ais523> whereas Feather truly has no pointers
17:12:32 <ais523> the way in which this is possible is that no object can be modified after it's created
17:12:47 <ais523> if you want to modify an object, you go back in time and modify it as it was created, or create a copy and modify that
17:12:59 <RodgerTheGreat> in Java, everything is implemented with pass-by-value, but reference semantics make them work for all intents and purposes as if they were pass-by-reference
17:13:22 <ais523> yes, different languages have different solutions to the same problem
17:13:38 <ais523> I don't know of a language that attempted to use time-travel to implement inheritance, though, before Feather
17:13:52 <ais523> unfortunately I don't have an interp or even a written spec
17:13:59 <ais523> although I do have some idea of what the initial syntax will be
17:14:05 <ais523> it's like a cross between Haskell and Smalltalk
17:14:35 <RodgerTheGreat> I'm just clarifying that from a programming perspective, Java's pass-by-reference isn't "fake" or anything like that
17:14:40 <ais523> no, it isn't
17:14:44 <ais523> it's a real pass-by-reference
17:14:54 <ais523> but pass-by-reference is still distinct from pass-by-value
17:14:59 <ais523> in part, that's why both int and Integer exist
17:15:20 <ais523> in Feather, pass-by-value is pass-by-reference, there's no way to distinguish between them
17:15:31 <ais523> (and therefore a sane interp would likely pass references to save on object duplication)
17:15:55 <RodgerTheGreat> well, the primitive wrapper classes are *mostly* for use with the generics system, in my experience
17:16:04 <ais523> yes
17:16:10 <ais523> in Feather, there will be boxed types too
17:16:17 <RodgerTheGreat> hm
17:16:18 <ais523> because primitives aren't objects, just functions
17:16:29 <ais523> unfortunately having everything as an object lead to an infinite regress
17:16:51 <RodgerTheGreat> yeah, but I can see how primitive functions could avoid that problem
17:17:02 <ais523> because even the method by which objects reply to messages is changeable
17:17:17 <ais523> and if it were an object, that object itself would need an object to reply to messages, and nothing would ever get done
17:17:54 <RodgerTheGreat> you can even do a neat bootstrap thing where only a minimal set of primitive operations are built in, and the rest are synthetic (and therefore portable), allowing implementations to make more standard library functions builtin where desired
17:18:05 <ehird> RodgerTheGreat: Feather has no primitives.
17:18:15 <ehird> The only reason it'll even start up is because it creates a time loop.
17:18:20 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
17:18:21 -!- Judofyr_ has joined.
17:18:29 <RodgerTheGreat> uh, that doesn't make much sense
17:18:46 <ais523> well, as far as I can tell removing lambda from the language would be a mistake
17:18:54 <ais523> although it manages to bootstrap that up from thin air too
17:19:01 <RodgerTheGreat> I'm going to guess that "no primitives" means they're actually just hidden in the syntax
17:19:04 <ehird> RodgerTheGreat: no
17:19:08 <ehird> dude, this is #esoteric
17:19:11 <ais523> the syntax is bootstrapped from thin air too
17:19:13 <ehird> it has >no< primitives
17:19:15 <ais523> at least from Feather's point of view
17:19:32 <ais523> the first thing a Feather program does when it starts up is to define its own primitives and syntax
17:19:45 <Deewiant> and how does it do that
17:19:49 <ais523> OFC, they had to exist in the first place so it could do that
17:19:53 <Deewiant> :-)
17:19:55 <ais523> but they come from a previous existence of the program
17:20:09 <Deewiant> what's the god program from which all originate
17:20:12 <ais523> each iteration of the time loop happens simultaneously from Feather's point of view
17:20:24 <ais523> but from an interp's point of view, you just have to start with an image of juist after the loop
17:20:28 <RodgerTheGreat> and what I'm saying is that "no primitives" is like saying "no syntax". It's there, you're just disguising it or making it minimalistic. Even OISC has primitive operations.
17:20:31 <ais523> so it could start up in the first place
17:20:44 <ehird> RodgerTheGreat: No.
17:20:46 <ehird> Normally, yes.
17:20:47 <ais523> RodgerTheGreat: it doesn't have primitive syntax either
17:20:52 <ehird> But through some clever logic, it can have none.
17:20:59 <ehird> A closed mind is not a good thing in #esoteric ;)
17:21:08 <ais523> as in, it defines its own syntax, which is used to parse the program that defined that syntax
17:21:16 <RodgerTheGreat> I will continue to call bullshit on this concept until sufficient evidence is provided to alter my opinion
17:21:23 <ais523> if you think that it's possible for the cause to come after the effect, there's no conceptual problem
17:21:33 <Deewiant> let's see a hello world
17:21:35 <ais523> you just have to realise that Feather's timeline is not the same as the real-life timeline
17:21:44 <RodgerTheGreat> I'm not dogmatic, but I am firm in my disagreement. This isn't the same as closed-mindedness.
17:21:46 <ais523> Deewiant: it could be literally anything
17:21:48 <ais523> even H
17:22:05 <ais523> because Feather can be retroactively transformed into any other language
17:22:08 <Deewiant> and I suppose the compiler does program inference?
17:22:28 <RodgerTheGreat> If the first thing a language does is define it's own syntax, the syntax for defining syntax IS THE SYNTAX.
17:22:31 <ais523> actually, I'm not entirely sure if there's a difference between a compiler and an interp
17:22:38 <RodgerTheGreat> "metasyntax"
17:22:43 <ais523> RodgerTheGreat: except it defines the syntax with the syntax it's about to define
17:23:00 <ais523> in order to actually get this running on a real computer, you obviously have to tell it what the syntax is in some other language first, though
17:23:02 <RodgerTheGreat> that's ridiculous and verging on unimplementable
17:23:02 <ais523> so it can get started
17:23:12 <ais523> but Feather itself is unaware that that's happened
17:23:17 <ehird> RodgerTheGreat hates most non-Java, non-BASIC languages anyway.
17:23:17 <ais523> and thinks it's been in a timeloop forever
17:23:22 <ais523> does that make more sense now?
17:23:32 <ais523> to implement it in real life, you have to start it off somehow
17:23:38 <ehird> ais523: You know what part of emacs sucks? The speedbar.
17:23:55 <ais523> but once you've started it off, there's no way from inside the language that you can't tell it was bootstrapped out of thin air, and it repeatedly bootstraps itself every time you change the syntax
17:24:05 <ais523> not all that unlike CLC-INTERCAL, actually
17:24:06 <RodgerTheGreat> ehird: utterly untrue. I like BF, ///, LOGO, PHP, Postscript, LUA and some of my own languages, in addition to Java and BASIC
17:24:08 <Deewiant> ais523: what part of this is different from "Feather is all programming languages, it just depends on the compiler/interp you use"
17:24:25 <ais523> Deewiant: most compilers aren't self-modifying
17:24:39 <ais523> and the initial image makes a lot of difference
17:24:54 <Deewiant> ais523: so what rules does a Feather program have to obey to be able to be called that
17:24:56 <ais523> for an initial syntax, I'm thinking somewhere between Haskell and Smalltalk, with a few primitives defined
17:25:10 <ais523> Deewiant: it has to start from a standardised intial image that I'm planning
17:25:14 <ais523> or something that acts equivalently
17:25:27 <ais523> which is what makes it Feather rather than HQ9+, for instance
17:25:40 <ehird> ais523: here's some syntax that should work
17:25:47 -!- Judofyr_ has changed nick to Judofyr.
17:25:53 <ais523> and the thing that distinguishes that image from other languages is that it does inheritance by time travel
17:26:02 <ehird> (| a >-> x |) y: _z
17:26:10 <ais523> which is implemented with call/cc
17:26:17 <ais523> ehird: that's ugly, what's that meant to do
17:26:26 <ehird> ais523: I don't know but I like it
17:26:37 <ais523> it has more unique punctuation marks than I was planning for my entire language
17:26:40 <ehird> Self uses (| .. |) for something
17:26:47 <ehird> >-> is just cute, it does something in haskell
17:26:50 <ehird> _z is kinda ugly, though, yeah
17:27:27 <Deewiant> >-> doesn't do anything I'm aware of
17:27:31 <Deewiant> you might be thinking of >=>
17:27:44 <ais523> Deewiant: that came up as a smiley in my client...
17:27:53 <Deewiant> > = >
17:28:00 <Deewiant> and fix your client :-P
17:28:23 <ehird> >-> is in some kinda library
17:28:33 <ehird> -< is definately in some kind of Arrows library
17:28:45 <ais523> looks like monad stuff
17:28:55 <ehird> ais523: arrows
17:29:03 <Deewiant> ehird: -< is part of the do syntax for arrows
17:29:05 <ehird> a generalization of monads and applicative functors
17:29:11 <ehird> I think.
17:29:14 <Deewiant> like <- is for monads (and also arrows)
17:29:31 <ehird> ais523: I came up with a name for the root object, BTW
17:29:31 <ehird> ()
17:30:49 <ais523> ehird: mine has no name
17:31:00 <ais523> it's passed in as a lambda to your program
17:31:08 <ehird> ais523: i know, but () is a nice name
17:31:10 <ehird> () clone: [ ... ]
17:31:29 <ais523> ehird: you can call it whatever you want easily
17:31:38 <ehird> ais523: I meant for prototalk
17:31:39 <ais523> you just assign it as a property of itself
17:31:43 <ehird> Which is drifting into esoness
17:31:44 <ais523> and then everything has access to it
17:31:57 <ais523> oh, and this somehow doesn't cause an infinite regress
17:32:03 <ais523> just a finite regress of arbitrary depth
17:32:13 <ais523> because you have to take steps to avoid a timeloop when doing so
17:32:19 <ehird> talker <- () ++ [#say: <- [:m | ...]]
17:32:36 <ais523> and one way is simply to limit the number of times a command can run, like ONCE in INTERCAL, but more than once
17:45:59 -!- timotiis has joined.
17:50:39 -!- kar8nga has left (?).
18:07:03 -!- ehird has quit (Read error: 110 (Connection timed out)).
18:07:21 -!- oerjan has joined.
18:07:29 -!- ehird has joined.
18:07:38 -!- Corun has joined.
18:23:09 -!- Slereah_ has joined.
18:23:09 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
18:25:33 -!- olsner has joined.
18:27:49 -!- sebbu has joined.
18:51:10 -!- kar8nga has joined.
18:52:00 <ais523> if the limit was too low, you can always go back later and change what it was
18:52:23 <ais523> sort of like bounded depth-first search
18:52:56 <ais523> but used to create the effects of lazy evaluation in a language which has to be strict due to the way it does side effects, like the time travel
18:53:58 <oerjan> lazy time travellers ftw
18:54:36 <ehird> oerjan: 'fuck it, I'll kill hitler TOMORROW'
18:56:00 <oerjan> http://tvtropes.org/pmwiki/pmwiki.php/Main/HitlersTimeTravelExemptionAct
18:56:15 <oerjan> bwahaha, i say
18:57:15 <ais523> it's only after thinking about Feather that I appreciate how it's even possible that a story can have someone go back in time, change a few details, then come back to the present and the world is much like it was when they left with only a few details changed
18:57:49 <ais523> or the sort of time-loop where people go back in time, perform the same actions as they did before they went back in time, and end up getting back into their own time machine, stuck in a loop
18:58:12 <ais523> both of those are common Feather scenarios, the second is something that you have to spend effort avoiding
19:00:37 <ehird> ais523: http://qntm.org/?f16
19:00:40 <ehird> make that possible in feather
19:01:40 <ais523> that page doesn't display in Mozilla 1.4
19:01:43 <ais523> what's on it?
19:03:24 <ehird> ais523: an amusing time-travel diversion
19:03:31 <ehird> how doesn't it display?
19:03:45 <ais523> I see the title and background
19:03:47 <ais523> but no information
19:03:59 <ehird> ais523: OK
19:04:04 <ehird> get prepared for an EPIC FLODD
19:04:05 <ehird> FLOOD
19:04:07 <ehird> --CUT HERE--
19:04:19 <ehird> You will need:
19:04:19 <ehird> * One British penny, dated circa 1900
19:04:19 <ehird> * A 1kg cereal box (unopened, i.e. containing cereal)
19:04:19 <ehird> * A coin-operated time machine
19:04:19 <ehird> * A bank account containing at least £10
19:04:19 <ehird> * 1039 metric tonnes of scotch tape
19:04:21 <ehird> Go to a cash machine and extract £10 from your bank account. Buy something costing around £2.49 from any nearby shop, to obtain some change. Use the money to operate the time machine. (Note: time machine, bank account and the money contained therein will be created at later steps. Therefore the only equipment you ACTUALLY need to find in order to build this F-16 is the scotch tape, the penny and the cereal box. However, you should ensure that all of the
19:04:28 <ehird> above items are present before you begin, or you will not be successful.)
19:04:30 <ehird> Head forwards in time by several thousand years to an era of human history which has invented time travel. Extract some further cash from your account - it will have accumulated a HUGE quantity of interest during this time - and purchase a coin-operated time machine identical in model to your own. Send this back in time on autopilot to several minutes before you started following these instructions. This accounts for the time machine in the above list.
19:04:35 <ehird> Head back to the 1900s or thereabouts and open a bank account with what was your current bank in your home era. Remember, banks go through name changes, so be sure to check up on what its old name used to be. Deposit the old British penny. Compound interest should increase the value of this penny to about £10 by the time you need it in 2003ish. All of your money is now also accounted for, as is your bank account.
19:04:40 <ehird> Take your scotch tape and your box of cereal backwards in time by roughly 14,000,000,000 years and allow the preposterous quantity of scotch tape to undergo gravitational collapse to form a star. This star should be of sufficient mass to go supernova, generating large amounts of iron and other heavy elements. If you picked your spot correctly, this should result in the creation of our Sun and the pl
19:04:45 <ehird> anet Earth, both of which you are therefore directly responsible for.
19:04:47 <ehird> Head down onto the shores of young, sterile, lifeless Earth and empty out the box of cereal onto a randomly-selected stretch of coastline. Mould and bacteria in the cereal should soon begin to munch on the cereal, then the box, gradually evolving and growing until becoming life as we know it. You are now also responsible for the evolution of humanity, and obviously, all things that humanity has ever done, including, for example, the invention of time machi
19:04:56 <ehird> nes, bank accounts, scotch tape, breakfast cereal, and F-16 Fighting Falcons. (Note: even if the bacteria die out and humanity evolves by other means, then you still made Earth and everything on it, so you still get the credit for F-16s. However, the cereal box is not directly involved.)
19:05:00 <ehird> Head to the distant future a second time. Extract millions of pounds from your bank account.
19:05:02 <ehird> Finally, return to the present day. Purchase a real F-16.
19:05:04 <ehird> --CUT HERE--
19:05:07 <ais523> but then, this is the browser that accidentally blanked Wikipedia's main page, and then broke another users's welcome template by inserting newlines into it at random places
19:05:17 <ehird> ais523: has it pasted?
19:05:19 <ehird> if so, read it :P
19:05:26 <ais523> yes, it's pasted
19:05:36 <ehird> ais523: "Top-posting is evil. Quoting the entire message is evil. winmail.dat is evil." -- taral
19:05:45 <ais523> yes, I know
19:05:46 <ehird> "You forgot lines that don't break after ~72 characters. Also evil." -- geoffrey spear
19:05:57 <Deewiant> 72? 78.
19:06:13 <ehird> ais523: Shall I inform them about your rather retarded email client, and justification for top-posting?
19:06:16 <ais523> I should remember to load up Firefox when posting emails, that makes my email cliant slightly less evil
19:06:24 <ais523> and I don't always top-post
19:06:29 <ais523> sometimes I add the > by hand instead
19:06:30 <ehird> ais523: I know.
19:06:32 <ehird> But should I tell them? :P
19:06:36 <ais523> no
19:06:42 <ais523> I might at some point, though
19:11:16 <olsner> Everything is benign in comparison to winmail.dat. Even perl.
19:11:36 <ais523> what's in the file, by the way/
19:11:39 <ais523> s/\//?/
19:11:58 <ais523> I can't find a way to get rid of it when using IE, but luckily there's often a version of Firefox installed nowadays
19:12:05 * ais523 uses public computers when not using eir laptop
19:12:15 <ais523> at least, when simultaneously using the Internet
19:12:27 <olsner> I believe winmail.dat is a way of encoding attachments, much like uuencoding, only more obscure
19:12:51 <ehird> ais523: It appears to be 0 bytes
19:13:02 <ais523> no, it's longer
19:13:02 <RodgerTheGreat> impressive compression
19:13:14 <ais523> you can see it in the mime stuff if you look at a raw message
19:13:39 * ais523 wouldn't be surprised if it somehow managed to lie about its own length, though
19:13:43 <ehird> "for spurious reasons that nobody believes the first time when I tell em."
19:13:46 <ehird> ais523: I am so tempted to tell them
19:13:55 <ehird> 'cause it's so ridiculous
19:13:56 <ais523> ehird: I have
19:14:02 <ais523> well, part of the reason
19:14:04 <ehird> also
19:14:05 <ehird> ehird@debian:~$ cat /home/ehird/Desktop/Downloads/winmail.dat
19:14:05 <ehird> ehird@debian:~$
19:14:13 <ais523> I told them that noboy believes the rest of the reason the first time
19:14:36 <ehird> ais523: I have a solution
19:14:50 <ehird> I'll write a perl script which acts as an email bridge
19:14:53 <ehird> ais523: You use it as an email server
19:14:58 <ehird> and it wraps at 80 columns
19:15:01 <ehird> removes winmail.dat
19:15:03 <ehird> etc
19:15:08 <ais523> ehird: I threatened to do something similar to that
19:15:12 <ehird> ais523: For example:
19:15:19 <ais523> except using JavaScript so I could run it from public computers...
19:15:26 <ehird> ais523: i'd run it on my server
19:15:28 <ehird> anyway:
19:15:38 <ehird> agora-discussion+agoranomic.org@bridge.elliotthird.org
19:15:42 <ehird> hm wait
19:15:45 <ehird> agora-discussion++agoranomic.org@bridge.elliotthird.org
19:15:49 <ehird> ais523: syntax:
19:15:58 <ehird> name+afterplus+domain@bridge.elliotthird.org
19:16:01 <ehird> since + is actually used in stuff
19:16:06 <ehird> so I need to use two to sepreate the domain
19:16:11 <olsner> ehird: that was a quite intriguing little story!
19:16:18 <ehird> olsner: yes
19:16:29 -!- Sgeo has joined.
19:16:50 <olsner> I should write that model of time travel I've been thinking of writing in haskell
19:16:51 <ais523> Douglas Adams thought of the bank account trick
19:17:09 <Sgeo> Hi all
19:17:17 <Sgeo> bank account trick?
19:17:20 <Sgeo> oh
19:17:30 <ehird> ais523: I should write a mailing list manager.
19:17:31 <ehird> :P
19:17:33 <Sgeo> Leaving money to accumulate interest in the future
19:17:40 <ehird> That is ENTIRELY run by email, even the archives!
19:17:43 <ehird> And uses only one address.
19:17:50 <ehird> list+subscribe@foo.com
19:17:54 <ehird> list@foo.com
19:17:58 <ehird> list+post34@foo.com
19:18:00 <ehird> etc
19:18:01 <ais523> why?
19:18:08 <ehird> ais523: Silliness
19:18:10 <Sgeo> ehird, I liked the OS thing you talked about better
19:18:18 <ais523> you should write a purely email-based wiki
19:18:21 <Sgeo> Work on that before working on this mailing list manager please?
19:18:22 <ais523> that would be silly
19:18:30 <ehird> Sgeo: Of course.
19:18:31 <olsner> newState = simulate (oldState <++> timeTravellersTo (timeOf oldState) newState)
19:18:34 <ehird> Sgeo: Speaking of which:
19:19:00 <Sgeo> brb
19:19:13 <ehird> heh
19:20:20 <olsner> the difficult issue here is how a state is somehow augmented with arbitrary data travelling backwards in time
19:20:25 -!- ehird has set topic: Channel { topic = "esoteric programming languages", internationalHub = True, logUrl = "http://tunes.org/~nef/logs/esoteric" }.
19:21:10 <Sgeo> back
19:30:01 <ehird> Sgeo: So. My OS idea.
19:30:13 <ehird> Sgeo: Uh. This belongs in the collective channel.
19:30:14 <ehird> Heh.
19:30:17 <ehird> Which needs a name.
19:30:25 <ais523> ehird: I suggest #esoteric
19:30:33 <Sgeo> PSOX! j/k j/k j/k
19:30:35 <ehird> ais523: Very amusing, but no.
19:30:43 <ehird> I don't get where you are drawing the parallel.
19:31:21 <ehird> ais523: It's like suggesting that TUNES should be #esoteric.
19:31:32 <ehird> Except that, you know, this collective isn't just an os project.
19:31:37 <Sgeo> Maybe it should be?
19:31:40 <ais523> ehird: because what you're suggesting sounds pretty much like what we do anyway
19:31:55 <ehird> ais523: no
19:31:58 <ais523> and your other projects mostly seem to stall after a bit
19:31:58 <ehird> not at all
19:32:04 <ais523> I've done more for eso-std than you have...
19:32:18 <ehird> eso-std is still a project..
19:32:21 <ehird> a lot of the stuff is done
19:32:23 <ehird> just not _live_
19:39:52 <ehird> SO
19:41:53 <ehird> zonk
19:42:50 <ehird> Hmm.,
19:42:55 <ehird> ais523: Sgeo Maybe #zonk? :P
19:43:05 -!- ais523 has quit ("""").
19:48:00 <ehird> bye bye
20:47:12 -!- RedDak has joined.
21:31:52 -!- Iskr has quit ("Leaving").
22:10:50 -!- kar8nga has left (?).
22:14:00 -!- olsner has quit (Read error: 110 (Connection timed out)).
22:14:46 -!- olsner has joined.
22:16:50 -!- timotiis_ has joined.
22:20:54 -!- timotiis has quit (Nick collision from services.).
22:21:12 -!- timotiis_ has changed nick to timotiis.
22:42:40 -!- jix has joined.
22:55:05 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
22:55:29 -!- Slereah- has joined.
23:15:58 -!- jix has quit ("CommandQ").
23:25:54 -!- RedDak has quit (Remote closed the connection).
23:34:28 -!- olsner has quit ("Leaving").
23:49:22 * SimonRC goes to bed. ("You only have power if you work over time.")
23:51:22 <ehird> SimonRC: RUBBISH
23:52:42 * oerjan wonders if ehird is getting the reference
23:53:04 <ehird> oerjan: I dereference all my pointers.
23:57:04 <oerjan> null pointers too? that explains the rubbish
←2008-05-11 2008-05-12 2008-05-13→ ↑2008 ↑all