←2010-03-01 2010-03-02 2010-03-03→ ↑2010 ↑all
00:10:06 -!- jcp has joined.
00:14:34 <augur> in ruby, "test".succ.succ.succ (or whatever the term is in ruby; next? whatever) would be tesw
00:16:47 <oerjan> !haskell instance Enum String where succ s = init s ++ [succ (last s)]; main = print . succ . succ . succ $ "test"
00:16:59 <oerjan> grmbl
00:17:12 <oerjan> !haskell instance Enum String where {succ s = init s ++ [succ (last s)]}; main = print . succ . succ . succ $ "test"
00:17:51 <oerjan> !haskell {-# LANGUAGE TypeSynonymInstances #-}instance Enum String where {succ s = init s ++ [succ (last s)]}; main = print . succ . succ . succ $ "test"
00:18:44 <oerjan> *sigh* i guess there is no way to turn off warnings about undefined methods without defining them all :(
00:19:30 <oerjan> !haskell {-# LANGUAGE TypeSynonymInstances #-}instance Enum String where {succ s = init s ++ [succ (last s)]; fromEnum = undefined; toEnum = undefined}; main = print . succ . succ . succ $ "test"
00:19:33 <EgoBot> "tesw"
00:23:41 <alise> succ ['a','b',succ maxBound]
00:23:44 <alise> you need wrapping son
00:24:15 <oerjan> i'd think that should give a carry, actually
00:25:00 <Sgeo_> What does succ a_list supposed to mean?
00:25:19 <Sgeo_> Grammar fail
00:25:50 <oerjan> Sgeo_: i think version strings is one of the intended cases
00:26:00 <oerjan> *use cases
00:26:35 <oerjan> ruby may do something more complicated than just looking at the last character for all i know
00:27:00 <oerjan> like, what is "test9".succ ?
00:27:35 <Sgeo_> I think tryruby.com has a ruby interpreter
00:27:42 <Sgeo_> Or some similar URL
00:27:55 <alise> no, that's why's
00:27:58 <alise> and why killed himself
00:28:07 <Sgeo_> alise, WHAT?
00:28:16 <alise> Sgeo_: person-behind why killed the-persona why.
00:28:22 <Sgeo_> Oh, ok
00:28:23 <alise> (deleted all online accounts, code and websites)
00:28:36 <oerjan> hm
00:28:46 <alise> Sgeo_: i don't find it any less sad, it's not like person-behind-why will be exactly like why, a lot of it will be an act of sorts - or at least a costume
00:28:52 <alise> and we'll never contact them anyway
00:28:54 <alise> irb(main):001:0> "test9".succ
00:28:54 <alise> => "tesu0"
00:28:57 <alise> tesu tesu tesu
00:29:20 <Sgeo_> alise, but it means the person isn't dead.
00:29:39 <MissPiggy> ;_;
00:29:48 <Sgeo_> Although it is upsetting that we'll never speak to Why again, probably [and even that isn't definite, unlike RL death]
00:29:51 <MissPiggy> it's so useless being ill because even though i'm not at school I can't work on my own stuff
00:30:03 <alise> MissPiggy: just lie in bed and chill
00:30:10 <alise> Sgeo_: he's not coming back
00:30:11 <Sgeo_> MissPiggy, severely ill, or known-to-be-temporarily-ill?
00:30:23 <Sgeo_> alise, how do we know this?
00:30:24 <alise> and, do you care about some random person dying that you don't know? don't lie, you don't
00:30:30 <alise> the sad event is that persona why is gone
00:30:39 <MissPiggy> just a bit ill
00:30:42 <alise> Sgeo_: well, the probability is almost 0
00:30:54 <alise> he completely wiped out everything, he had been a bit pessimistic about programming on his twitter just before
00:31:01 <alise> and it was an /utter/ wipeout of EVERYTHING
00:31:04 <oerjan> MissPiggy: famous last words
00:31:11 * oerjan whistles innocently
00:31:33 <alise> It's a little bit of cancer.
00:31:34 <MissPiggy> alise, what's that "a bit pessimistic"
00:31:35 <MissPiggy> ?
00:31:39 <MissPiggy> would love to read what it was
00:32:23 <alise> MissPiggy: wasn't much interesting "blah blah programming is ephemeral the only things that truly survive are games; people will do anything to keep games running; if you want your stuff to last make it a game" which seems... false, but whatever
00:32:43 <cpressey> which means esolangs will outlive all other languages
00:32:44 <cpressey> later
00:32:46 -!- cpressey has left (?).
00:33:12 <MissPiggy> alise huh. well i guess it's lost forever/
00:33:12 <MissPiggy> ?
00:33:32 <alise> not quite
00:33:41 <Sgeo_> There are games, good games, that don't survive
00:34:14 <alise> can't find it. but there is a mirror of most stuff
00:34:15 <Sgeo_> Although that's mostly online games
00:34:26 <alise> http://github.com/whymirror is code, can't remember where the writing stuff is
00:35:22 <MissPiggy> HE LOOKS LIKE JACK BLACK
00:35:40 <alise> he does
00:37:17 <MissPiggy> wugh
00:37:24 <MissPiggy> zed shaws opinions can fuck off
00:38:11 <alise> yeah he's a dick
00:38:18 -!- dev_squid has quit (Ping timeout: 265 seconds).
00:42:34 -!- Azstal has joined.
00:42:42 -!- Asztal has quit (Ping timeout: 268 seconds).
00:48:41 <alise> MissPiggy: join #usys :|
00:49:03 -!- Azstal has quit (Quit: .).
00:50:59 -!- jcp has changed nick to devmarlen.
00:51:23 -!- devmarlen has quit (Changing host).
00:51:23 -!- devmarlen has joined.
00:52:01 -!- devmarlen has quit (Changing host).
00:52:01 -!- devmarlen has joined.
00:52:39 -!- devmarlen has changed nick to multimarlen.
00:52:51 -!- multimarlen has quit (Changing host).
00:52:51 -!- multimarlen has joined.
00:53:21 -!- multimarlen has quit (Changing host).
00:53:22 -!- multimarlen has joined.
00:53:26 -!- multimarlen has changed nick to jcp.
00:57:02 <Sgeo_> http://www.stationv3.com/d/20080319.html
00:58:29 <alise> :D
00:59:10 <alise> http://www.stationv3.com/d/20080322.html
00:59:15 <alise> he stole my alternative universe syntax :(
00:59:16 <alise> (almost)
01:00:06 <oerjan> straight men are so unreliable
01:00:13 <MissPiggy> ^
01:01:26 <Gregor> ...
01:04:42 -!- augur has changed nick to OriginalSyntax.
01:05:33 <Gregor> OriginalSyntax: I can't decide if that nick is clever and hilarious or just stupid.
01:05:46 <OriginalSyntax> someone in ##proggit is OriginalSyn
01:05:49 <OriginalSyntax> so i figured
01:05:51 <OriginalSyntax> lets up the ante
01:05:54 -!- OriginalSyntax has changed nick to augur.
01:06:10 <Gregor> See, now OriginalSyn is clever and hilarious.
01:06:18 <Gregor> Because it's meaningful in both senses.
01:06:32 <Gregor> (If not a particularly useful meaning)
01:06:40 <augur> hows it meaningful in both senses?
01:06:41 <MissPiggy> hello
01:06:44 <oerjan> i find all this Syn a little taxing
01:07:37 <Gregor> augur: In a TCP session, there will be a first (and so "original") SYN.
01:08:07 <augur> i see!
01:08:40 <alise> I have to go now. I may or may not be on tomorrow; if not, probably tomorrow; if not, probably the next day... otherwise on the weekend, maybe, or even later depending.
01:08:42 <alise> But probably not never.
01:08:43 <alise> Bye!
01:08:45 -!- alise has quit (Quit: alise).
01:16:29 -!- dev_squid has joined.
01:34:16 <pikhq> Egobot's o'er here.
01:35:11 <Gregor> Uhhh, yes?
01:35:22 <Gregor> !c printf("Isn't 'e?");
01:35:27 <EgoBot> Isn't 'e?
01:36:13 <Gregor> EgoBot is just a bot anyway :P
01:39:48 <augur> http://filmdrunk.uproxx.com/2010/03/forgotten-classics-white-dog-the-racist-dog
01:39:51 <augur> i have no words
01:40:29 <pikhq> そう。
01:40:48 <MissPiggy> esu
01:41:10 <pikhq> MissPiggy: もっとです?
01:42:49 -!- adu has joined.
01:49:15 <dev_squid> I think APL should be considered an esoteric language. At first, that's what I thought it was.
01:49:30 <MissPiggy> ok
01:49:31 <dev_squid> What paradigm does APL use anyway?
01:49:36 <MissPiggy> array programming
01:49:39 <MissPiggy> vector programming
01:49:41 <dev_squid> Thought so.
01:49:44 <dev_squid> Like Lisp?
01:49:50 <MissPiggy> you can do it in lisp
01:50:17 <dev_squid> I never got around to learning Lisp, but it looks hella fun.
01:50:42 <dev_squid> Structurally, I think the language is genious.
01:50:48 <MissPiggy> you should learn it
01:51:32 <dev_squid> I should!
01:51:36 <dev_squid> That's my next project. :)
01:51:42 <MissPiggy> good D
01:52:12 <dev_squid> Is it practical for software development?
01:54:02 <pikhq> I suggest Haskell.
01:54:03 <MissPiggy> its tits
01:54:18 <pikhq> You will then realise that Haskell is fairly mundane. :P
01:54:21 <pikhq> Erm.
01:54:23 <pikhq> Lisp.
01:54:28 <pikhq> *Lisp* is fairly mundane.
01:54:28 <MissPiggy> haskell is tits
01:54:34 <pikhq> Farking thinkos.
01:59:00 <Quadrescence> pikhq: lisp is genius
01:59:17 <Quadrescence> Haskell is mundane comparatively
01:59:32 <coppro> Haskell is a very different sort of genius
01:59:41 <Quadrescence> No, Haskell isn't genius at all
01:59:47 <Quadrescence> It plays off of the work of previous languages
01:59:53 <Quadrescence> namely Miranda and SML
02:00:07 <Quadrescence> It's like saying that I'm a genius if I write E=mc^2
02:00:22 <Quadrescence> SML gets my genius points
02:00:45 <MissPiggy> haskell is difficult enough that most people who learn it think it's god
02:00:57 <Quadrescence> And what MissPiggy said
02:06:58 <coppro> Originality and genius are not necessarily connected
02:08:22 <lament> the tits, or just tits?
02:08:23 <Quadrescence> In this case they're the same
02:08:46 <Quadrescence> But I appreciate your insight coppro :)
02:09:07 <coppro> Quadrescence: in Lisp's case, I completely agree; it was both genius and original
02:09:10 <lament> haskell is obviously standing on the shoulders of giants
02:09:15 <coppro> right
02:09:38 <lament> you mean both genius and unreadable
02:09:51 <Quadrescence> lament: It's very readable
02:10:03 <Quadrescence> Admittedly, it's more acquired though
02:10:13 <Quadrescence> It's not like python where lol N E 1 CAN REED
02:10:19 <Quadrescence> NO LEARNING REQUIRED
02:10:26 <lament> Quadrescence: if you're repeatedly fucked in the eye socket for years, eventually you learn to tolerate it
02:10:47 <oerjan> !haskell (.)(.) (++) "What" (' ':) "tits?"
02:10:49 <EgoBot> "What tits?"
02:10:49 <lament> lisp pisses me off more than chardonnay
02:10:54 <lament> and chardonnay fucking pisses me off
02:11:02 <Quadrescence> lament: No, honestly, if it's properly indented, it's not bad
02:11:08 <Quadrescence> Also I mean lisps in general, NOT common lisp
02:11:20 <Gregor> For the language implementer it's great, the end user just hands you an AST :P
02:11:23 <Quadrescence> Common lisp is a mess
02:12:16 <lament> Quadrescence: i don't believe you. I looked at Scheme code. I can certainly see that it gets better with practice, but so does everything else, and Lisp after X time spent on practice will still be less pleasant than non-Lisp after X time
02:12:35 <lament> humans work in a certain way which is very much the opposite of what Lisp tries to do.
02:12:49 <Gregor> Even if non-lisp is, in particular, Brainfuck?
02:12:59 <Quadrescence> Gregor: be practical jeez
02:13:03 <Gregor> :P
02:13:51 <Quadrescence> lament: I know what you're saying. I guess I should put it this way: lisp syntax is perfectly suitable for the style of programming it promotes, and trying to replicate this style in other languages would be impossible without sexps
02:14:39 <lament> Quadrescence: duh, obviously. To me this just says the whole style is crap.
02:15:04 <lament> alan perlis, etc.
02:15:12 <pikhq> I prefer Haskell syntax. It actively rewards those who learn it.
02:15:20 <lament> pikhq: with tits.
02:15:26 <MissPiggy> lamentits
02:15:32 <pikhq> lament: Heheh.
02:15:56 <Quadrescence> lament: I think it needs some work. But the style is remarkable. The point is that you can make your own syntax constructs at any time. Programs writing programs writing programs, data is code, etc etc
02:16:06 <lament> MissPiggy: I apologize if my obsession with tits offends you.
02:16:15 <pikhq> Quadrescence: Plof does it better.
02:16:18 <pikhq> :P
02:16:24 <lament> Quadrescence: yeah, it sounds great especially when you just learn about it :D
02:16:30 <Gregor> pikhq: I knew you were going to say that :P
02:16:35 <lament> HOLY SHIT MIND BLOWN
02:16:38 <lament> kind of thing
02:16:39 <pikhq> Gregor: Is true, though.
02:16:45 <Gregor> But of course!
02:17:10 <pikhq> Granted, Plof doesn't have the backing of tons of crazy compilation research to make it efficient.
02:17:12 <lament> Quadrescence: although forth blew my mind more than lisp, even though i learned lisp first
02:17:25 <Quadrescence> Really? Weird
02:17:51 <pikhq> lament: The entire compiler setup *is* mind-blowing, yeah.
02:18:04 <Quadrescence> Forth compilers are really neat, tru dat
02:18:07 <lament> Quadrescence: prolly because lisp is still a language
02:18:09 <MissPiggy> lament forth blew my mind too "How can ANYONE program in this"
02:18:13 <pikhq> Especially when you realise how bloody *simple* it is to do, even in assembly.
02:18:23 <lament> forth is an environment or something
02:18:33 <pikhq> MissPiggy: Same way they do in any other language: abstraction.
02:18:36 <lament> abstraction-creating environment
02:18:47 <lament> bare metal, drunk with power, etc
02:18:51 <lament> tits
02:18:59 <Quadrescence> obligatory http://i.imgur.com/k9YEP.jpg
02:19:04 <pikhq> Forth makes abstraction cheap.
02:19:20 <lament> yes exactly
02:19:22 <pikhq> If you're willing to make the abstraction, of course.
02:19:23 -!- FireFly has quit (Quit: Leaving).
02:19:24 <lament> that picture says all really
02:20:00 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
02:20:16 <Quadrescence> FORTRAN makes abstraction cheap L O L
02:20:41 <Gregor> I do wish I could have made Plof taste a bit more like Forth in some ways.
02:20:45 <Gregor> Not too much though.
02:20:53 <Gregor> Sort of a "Forth with syntax" would be nice :P
02:21:05 <Gregor> (Except not)
02:21:16 <pikhq> Gregor: Well, you did get part of the way there already.
02:21:36 <Quadrescence> Gregor: i don't know anything about plawf plz link me
02:21:41 <pikhq> Still, there is rather a lot of work going into the PUL, compared with Forth.
02:21:44 <Gregor> http://plof.codu.org/
02:21:47 <pikhq> Quadrescence: http://plof.codu.org
02:23:16 <Quadrescence> this LaTeX for the standard needs some work
02:23:17 <Quadrescence> ^______________^
02:23:44 <Gregor> Yes, it does, it was nastily converted from OpenOffice at some point :P
02:24:16 <Gregor> Besides, it changes too often for me to focus on the spec rather than the actual design.
02:24:19 <Quadrescence> lament is a latexpert
02:24:28 <pikhq> I've been too lazy to do it right.
02:24:35 * pikhq <3 \latex
02:24:54 <coppro> Amazingly, the LaTeX still looks somewhat good
02:25:25 <Quadrescence> coppro: actually it looks pretty bad but whatever :(
02:25:56 <coppro> Quadrescence: it's bad for LaTeX
02:26:06 <Quadrescence> period, end of story
02:26:16 <pikhq> Which is still better than everything else. :P
02:26:25 <coppro> but LaTeX starts on top of the heap
02:26:40 <dev_squid> So...
02:26:48 <Gregor> I converted it to LaTeX to have room to expand upwards in quality, I just haven't really done that yet :P
02:26:50 <Quadrescence> Just because you're better than the entire retarded population, doesn't mean you're good
02:26:51 <Quadrescence> :)
02:27:22 <Quadrescence> Gregor: Oh, please don't take my comments about the latex negatively. I realize it can get better. I am just saying it's mediocre at the moment
02:27:24 -!- supperrfreek has joined.
02:27:29 <Quadrescence> Maybe I'll be so nice and make the latex beautiful
02:27:47 <Gregor> Quadrescence: I realize it is, I just don't care that much because my focus isn't the code of the spec, it's the language itself :P
02:28:07 <Quadrescence> I guess I care but that's just because I'm weird and like typography
02:29:34 <Gregor> Anyway, I would appreciate comments on Plof the language more than comments on Plof's specification :P
02:29:36 <pikhq> Most of us do -- note that we learn LaTeX.
02:29:42 <pikhq> :P
02:30:06 <Quadrescence> Gregor: Maybe I'll go through the spec thoroughly.
02:30:19 <Quadrescence> I have been known to be an expert in language design and implementation.
02:30:24 -!- supperrfreek has left (?).
02:33:34 * Sgeo_ is an expert at giving up because no one else cares.
02:33:41 <Gregor> He's a supper freak, supper freak, he's supper freaky.
02:34:05 <pikhq> Sgeo_: Hoot.
02:37:36 <Sgeo_> http://www.stationv3.com/d/20090313.html
02:40:02 <Gregor> Does Station V3 run on Unix V3?
02:41:44 <Sgeo_> If Unix V3 is obsolete junk made by incompetents that tends to cause the generator to fail and the security system to grab everyone and throw them out, probably
02:50:51 -!- MissPiggy has quit (Quit: Lost terminal).
02:56:19 <Sgeo_> "Today's guest strip is from my left hand"
03:19:17 -!- dev_squid has quit (Ping timeout: 246 seconds).
03:38:29 -!- dev_squid has joined.
03:44:07 * Sgeo_ still can't get used to Neap and Morty talking.
03:46:18 <Gregor> (Neap and Morty being Sgeo_'s pet gerbils)
03:46:29 <Sgeo_> lol
03:55:32 -!- coppro has quit (Read error: Connection reset by peer).
03:55:51 * Sgeo_ wants to see Floyd's body again
03:58:21 -!- coppro has joined.
03:58:29 <Sgeo_> wb
04:14:44 <Gregor> (Floyd being Sgeo_'s on-again-off-again gay lover)
04:15:17 <Sgeo_> Floyd being the robot in http://www.stationv3.com/d/20091202.html
04:16:01 * oerjan sees no contradiction in those two statements
04:16:26 <Gregor> oerjan: Sgeo_ was just further clarifying.
04:16:41 <oerjan> ah.
04:37:31 <uorygl> Sgeo_: Floyd died?
04:37:44 <Sgeo_> No
04:37:49 <Sgeo_> He's just bodyless
04:38:06 <uorygl> Whew. I was hoping this would actually make sense.
04:38:10 <Sgeo_> Although the universe did end.
04:38:19 <uorygl> Yeah, I kinda remember that, slightly.
04:38:27 <uorygl> I saw the most recent strip recently.
04:38:38 <uorygl> Hmm. I suddenly want to reread El Goonish Shive.
04:38:44 * Sgeo_ is now in February of this year
04:38:45 <uorygl> Because rereading the whole thing is the best way to catch up.
04:39:01 <uorygl> Unfortunately, that would take a really long time, and I don't have much time.
04:39:04 <uorygl> I'm a very busy man!
04:39:08 * Sgeo_ will soon have read the entire archive, not counting the bonus strips, of Station V3
04:39:09 <uorygl> Or so I've declared myself.
04:39:26 <Sgeo_> Instead of studying, working on an important project, writing a rebuttal
04:39:29 <Sgeo_> Or anything else
04:39:45 <coppro> uorygl: not to mention that you will realize how bad the art was originally and try to stab your eyes out
04:40:01 <uorygl> See, Sgeo_, this is why we take only one class per semester.
04:40:12 <uorygl> It gives us time to do the important things.
04:40:23 <uorygl> coppro: I already want to stab my eyes out just thinking about it.
04:40:25 <Sgeo_> Studying's the only thing in the list that has to do with college
04:40:35 <uorygl> Oh, whew.
04:40:40 <uorygl> What's your important project?
04:41:01 <Sgeo_> It's "classified"
04:41:05 <uorygl> Oh.
04:41:13 <Sgeo_> Which means I've been talking about it here incessantly
04:41:46 <coppro> lol
04:41:50 <uorygl> If it's Normish-related, abandon it and join #sxmc so you can help me with my... also classified project.
04:49:10 <uorygl> So, Sgeo_, as you were saying...
04:49:53 <Sgeo_> uorygl, look up mentions that I may have made about C#
05:23:54 -!- oerjan has quit (Quit: leaving).
06:00:28 -!- adu has quit (Read error: Connection reset by peer).
06:00:53 -!- adu has joined.
06:16:50 -!- uorygl has quit (Read error: Connection reset by peer).
06:17:10 -!- uorygl has joined.
06:18:38 -!- uorygl has quit (Read error: Connection reset by peer).
06:20:25 <dev_squid> Guys.
06:20:27 <dev_squid> Anyone here?
06:20:45 <pikhq> Never.
06:21:11 <dev_squid> Okay, well I came up with an idea for an ugly esolang called Nibble.
06:21:27 <dev_squid> Here are my notes: http://pastie.org/849378
06:21:29 <dev_squid> :|
06:22:09 -!- uorygl has joined.
06:23:25 -!- uorygl has quit (Read error: Connection reset by peer).
06:24:11 <dev_squid> There's a few things I forgot to mention in there so it's okay if it makes no sense whatsoever.
06:27:09 -!- uorygl has joined.
06:30:02 <dev_squid> Whatcha think?
06:40:19 -!- adu has quit (Quit: adu).
06:42:44 -!- adu has joined.
06:42:46 -!- adu has quit (Client Quit).
06:46:50 <dev_squid> Eh?
06:47:52 <coppro> This channel is dead. Please cast a resurrection spell/reboot the server/pray to the gods/start the daemon/plug the channel in/start the devil.
06:49:59 -!- angstrom has quit (Quit: leaving).
06:55:25 <dev_squid> Nice.
06:57:44 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
07:00:56 -!- tombom has joined.
07:03:08 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
07:29:07 <dev_squid> Question.
07:29:21 <dev_squid> Is CoreWar still around?
07:29:27 <dev_squid> i.e. popular?
07:52:21 -!- coppro has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:54:21 <dev_squid> I have a question.
09:00:33 -!- scarf has joined.
09:13:29 <scarf> wow, the Chile earthquake actually made a measurable change to the Earth's rotation
09:13:44 <scarf> days are now 1.26 µs shorter than they were before
09:14:42 <fizzie> And that tsunami quake few years ago shortened them by 6.8 µs. (I happened to be reading the same bit of news at the same time.)
09:16:04 <puzzlet> all of these just to reduce angular momentum by itself?
09:16:22 <scarf> shorter days implies a faster angular momentum
09:16:33 <scarf> although it could also happen due to a change in rotation speed around the sun
09:17:53 <puzzlet> i mean reduce moment of inertia
09:18:04 <scarf> ah, apparently it sped up because the Earth became denser towards the centre and less dense towards the crust as a result
09:19:05 <fizzie> The news article I happened to be reading does note something vague about there being regular larger changes in day-length "due to other causes, such as atmospheric mass moving around on Earth".
09:19:35 <scarf> tidal forces apparently have the largest day-to-day effect
09:19:52 <scarf> it apparently takes 100 days of the Moon going round in circles to produce a similarly-sized change to the earthquake
09:20:22 <fizzie> Yes. That's clearly bad design. A responsible Intelligent Designer would've made things much more orderly.
09:23:19 <fizzie> The word-pair "combat-wombat" keeps going round my head.
09:30:08 <dev_squid> Ohai, gaiz.
09:30:34 <dev_squid> How do you like my idea for a universal brainfuck entension? (http://pastie.org/849477)
09:32:30 <dev_squid> It mimics ideas from pbrain, brainstack, fukyorbrane and some others, but I came up with the data indirection and thought it was pretty neat.
09:32:37 <dev_squid> But it's centralized.
09:35:16 -!- lereah_ has joined.
09:35:28 * scarf looks
09:35:58 <scarf> :;@ work as in fukyourbrane?
09:36:10 <scarf> actually, looks like @ terminates a procedure if it's in one, or a thread if it isn't
09:36:37 <scarf> also, -126 to 127 is a weird range, you probably meant -128 to 127
09:37:46 -!- MissPiggy has joined.
09:42:07 <dev_squid> Yep.
09:42:13 <dev_squid> I sure did. Meh.
09:43:23 <dev_squid> I'd love to implement C-style functions, especially if it had stack support. :)
09:48:02 <dev_squid> So do you like it?
09:51:12 <scarf> it seems reasonable; we get a lot of BF variants of that sort
09:51:20 <scarf> if you can create a compiler from that to regular BF, it would be even more interesting
09:52:41 <dev_squid> Fixed it up. (http://pastie.org/849497)
09:52:45 <dev_squid> Sure would.
09:54:55 <dev_squid> Yerp. I've just never seen one that implemented basic features like this without going overboard. I believe it's still minimal, yet powerful.
09:57:12 <scarf> have you seen Modular SNUSP?
09:58:02 <scarf> http://esolangs.org/wiki/SNUSP
09:58:07 <scarf> it might be interesting to look at for ideas
09:58:13 <coppro> we should just compile LLVM bitcode to BF; at that point you're golden
10:01:11 <dev_squid> Interesting.
10:02:19 <dev_squid> You know what? I've yet to see a BF derivative implement C-compliant functions with stack support.
10:02:23 <dev_squid> Maybe Crainfuck.
10:03:11 <MissPiggy> I have seen that
10:03:26 <MissPiggy> you just host brainfuck inside C
10:03:42 <coppro> I think LLVM -> BF would be the crowning moment in esoteric glory.
10:03:44 <MissPiggy> then you can use whichever is most appropriate for the task
10:07:16 -!- dev_squid has quit (Ping timeout: 276 seconds).
10:27:46 <augur> jesus fucking christ
10:27:54 <MissPiggy> hi augur
10:27:55 <augur> wipeout fusion's tethys league is impossible
10:28:07 <MissPiggy> are you feeling wiped out by it?
10:28:29 <augur> im feeling pissed is what im feeling
10:28:38 <augur> i feel like the computer is cheating
10:30:13 <MissPiggy> you have turned me into jesus
10:40:21 <augur> what XD
10:41:53 <MissPiggy> :)
10:44:01 -!- Gregor has quit (Ping timeout: 264 seconds).
11:08:37 -!- alise has joined.
11:10:36 <alise> Bleh. I'm all uncomfortable.
11:11:12 <alise> scarf: "If it's Normish-related, abandon it" -- uorygl
11:11:24 <alise> sure am glad I didn't rely on it for anything serious :^)
11:11:26 <scarf> ugh
11:11:45 <alise> 01:13:44 <scarf> days are now 1.26 µs shorter than they were before
11:11:45 <alise> 01:14:42 <fizzie> And that tsunami quake few years ago shortened them by 6.8 µs. (I happened to be reading the same bit of news at the same time.)
11:11:45 <alise> wow
11:11:47 <scarf> and I operate under the assumption that Normish is likely to go offline at any moment
11:11:58 <alise> 20:40:40 <uorygl> What's your important project?
11:11:58 <alise> 20:41:01 <Sgeo_> It's "classified"
11:11:58 <alise> 20:41:05 <uorygl> Oh.
11:11:59 <alise> 20:41:13 <Sgeo_> Which means I've been talking about it here incessantly
11:11:59 <alise> 20:41:46 <coppro> lol
11:11:59 <alise> 20:41:50 <uorygl> If it's Normish-related, abandon it and join #sxmc so you can help me with my... also classified project.
11:12:02 <alise> So it's not quite Normish-is-over.
11:12:08 <alise> But it's obviously I-have-a-shiny-new-project-now-Normish-sux.
11:12:29 <scarf> normish, in the end, effectively became a server for helping with nomic things
11:12:36 <scarf> it hosts loggic and blognomicbot, for instance
11:12:54 <alise> over ten years the difference in earth's rotation
11:12:57 <alise> we'll have lost 0.08ms
11:13:24 <alise> blognomicbot?
11:13:38 <scarf> alise: a bot that hangs out in BlogNomic's IRC channel
11:13:43 <alise> Doing?
11:13:58 <scarf> mostly for doing ChanServ duties when ChanServ goes insane, but it also counts votes, and copies the topic and user list to the blognomic server
11:14:36 <scarf> also, prevents the channel being dropped due to lack of active ops)
11:14:39 <scarf> s/\)//
11:15:07 <alise> counts votes on what? like !voteon Excellence mogriband?
11:15:30 <alise> also, as you know the entirety of my current situation - do you think it's irresponsible to reregister for Agora? As in, for who-knows-what-will-happen reasons.
11:15:45 <alise> I find it quite likely that the unit is not over yet.
11:16:10 <scarf> alise: once a week should probably be enough, although it's not quick enough to catch without-objection
11:16:25 <scarf> however, given that contracts were repealed, you can normally rely on someone else to object for you
11:16:39 <alise> Ah, I just meant as in neglecting any obligations or whatever
11:16:52 <scarf> you can avoid taking on obligations that you can't fulfil easily enough
11:17:09 <alise> I don't particularly want to play if I'm still fighting the unit, so I'd probably inactivate if it starts again.
11:17:12 <alise> Is the point.
11:17:57 <scarf> it's pretty quiet atm
11:18:16 <scarf> we repealed most of the interesting rules, presumably this would be a good time to create more
11:18:31 <scarf> although there's been an intriguing discussion about whether the IBA still exists, given that contracts have been repealed
11:18:44 <alise> Well, if there's nothing interesting to do...
11:19:09 <alise> What's RtRW?
11:19:46 <scarf> read the ruleset week, first week of february
11:20:19 <alise> ah
11:20:25 * alise sees a genius idea on reddit
11:20:34 <alise> if a government has national debt, they should just bail themselves out
11:20:44 <MissPiggy> o_o
11:20:51 <alise> :D
11:21:35 <scarf> and charge interest!
11:25:09 <alise> has agora been without contracts before?
11:25:14 <alise> I'm pretty sure they've been around for almost all time...
11:25:20 <alise> (that is, after their first introduction)
11:26:34 <scarf> no idea; I wonder if they were continuously there between the whole SLC mess (years ago) and modern contracts?
11:29:48 <alise> SLC mess? Haven't heard of that one.
11:29:58 <alise> scarf: Regardless, I doubt it's been without them for more than weeks before.
11:30:04 <alise> They've been the backbone of Agora for how long?
11:30:20 <scarf> the power system has been the backbone ever since it was invented
11:30:30 <scarf> contracts have just been a fun thing to mess around with
11:30:33 <alise> Nah, that's just a safeguard.
11:30:41 <alise> The actual non-nomic gameplay, I mean.
11:30:46 <alise> (Most people like that stuff.)
11:38:07 <alise> scarf: Logicnomic!
11:38:14 <alise> You win if you prove a contradiction.
11:38:34 <alise> Formallogicnomic, I should say.
11:38:48 <scarf> thus proving the entire ruleset inconsistent?
11:39:05 <alise> exactly (but there's a metaruleset that says that the game restarts in a certain way after)
11:39:15 <alise> presumably with the contradiction eliminated somehow
11:41:22 <scarf> meh, just have it end after someone wins
11:41:26 <scarf> some nomics have actually ended like that
11:41:31 <scarf> then you can start a new one
11:41:43 <scarf> hmm... /me wonders at lea being used for addition
11:41:46 <alise> but everyone would be trying to subtly introduce contradictions all the time
11:41:50 <scarf> it makes sense on some level, but not on another level
11:41:52 <alise> so i imagine the turnover would be quite high
11:48:18 <fizzie> Given that x86's add (and so many other ops) have the target register fixed to be one of the operands, the popularity of some lea-trickery is not very surprising.
11:48:57 <scarf> it's more a case of, why have two addition instructions which use utterly different syntax?
11:50:10 <fizzie> Yes, I guess it only makes sense if you think about it on the implementation level. (Where you have this pile of logic ready for all kinds of addressing modes, and it's easy to make an instruction that just reads the computed address into a register.)
11:53:42 <scarf> gcc-bf, incidentally, uses lea for pointer computations and add for integer computations
11:53:52 <scarf> pointers and integers are stored utterly different ways, so it makes sense to have two commands
11:54:57 <fizzie> Your "hardware" there is a bit on the strange side, though.
11:58:09 <fizzie> On x86-64 you "need" lea to turn IP-relative offsets into real pointers (if you need to pass it to somewhere, for example), since you can't add the RIP register normally -- it's not general-purpose enough -- but you can LEA reg, [rel offset].
12:03:08 <MissPiggy> alise
12:03:11 <MissPiggy> http://www.inc.com/magazine/20100301/lets-take-this-offline.html
12:03:44 <alise> Joel Spolsky? My bullshit filter just turned up to maximum while the page is loading.
12:04:36 <alise> 503 Service Temporarily Unavailable
12:05:06 <alise> Loaded now.
12:05:18 <alise> Blogging is holding you back? Excellent! Less shit for me to ignore.
12:06:05 <scarf> wow, I've never seen a picture of Joel Spolsky before
12:06:09 <scarf> I didn't realise he looked so smug
12:06:12 <alise> Blog blog you startup masturbate you rock blog huh??? you're WRONGGG nobody cares (oh the irony) BLOG PROPER SHITTERS not worth it lol too much work it's the OVERRRRRRRRRRRR
12:06:21 <alise> ^ summary
12:06:42 <alise> The only thing worse than a Joel Spolsky is a Joel Spolsky & Jeff Atwood.
12:06:49 <alise> (Which is also the only thing worse than a Jeff Atwood.)
12:06:58 <alise> Okay, okay, maybe Spolsky is /marginally/ better than Atwood.
12:06:59 <scarf> which of spolsky & attwood is the one that's at least half-competent?
12:07:06 <alise> Spolsky. Atwood is the codinghorror dude.
12:08:01 <alise> lol wut, apparently north and south korea are still technically at war and have been since 1950
12:08:56 <MissPiggy> he looks retarded
12:09:16 <MissPiggy> I don't mean that in a nasty way just that normal people don't smile in that way
12:10:01 <scarf> alise: they still have weapons pointed at each other
12:10:05 <MissPiggy> I thought it was amusing that he blogged about quitting blogging, and that he gave some tips on how to write a good blog, one of which was: Give tips on how to do X rather than just announcing some event/product/whatever
12:10:11 <scarf> the issue is, neither dares fire, because then the other would fire and they'd both be wiped out
12:10:14 <Quadrescence> wow MissPiggy u r mean
12:10:33 <alise> scarf: yeah but i mean they never actually got around to ending the korean war after stopping all those killing dealies :P
12:10:53 <scarf> they're still at war, it's just a cold war now
12:11:06 <alise> Is it the same war as the Korean War, though?
12:11:14 <scarf> apparently, the south koreans have been dropping informative pamphlets over north korea
12:11:32 <scarf> and the north koreans mostly don't pick them up because the propaganda machine has convinced many of them their hands will drop off if they try
12:12:05 <alise> :-D
12:12:11 <MissPiggy> Joel Spolsky is the Nickelback of computing.
12:12:19 <alise> Kim Jong-il is hilarious
12:12:35 <alise> (If I didn't consider it the best comedy ever created I'd just be depressed)
12:12:42 <alise> I am /convinced/ they are filming all this
12:12:48 <alise> For surveillance? No, for syndication!
12:13:04 <fizzie> There's a bit related but not the same extended-war list at http://en.wikipedia.org/wiki/List_of_wars_extended_by_diplomatic_irregularity
12:13:20 <alise> 431 BC404 BC1994
12:13:22 <alise> now /that/ is impressive
12:13:33 <alise> 1994? This. Is. SPARTA!
12:14:22 <scarf> that first one is ridiculous
12:14:26 <scarf> and possibly not even true
12:14:48 <alise> Shut up! I want to believe it!
12:15:10 <scarf> 335 years for the Dutch Republic vs. the Isles of Scilly is still impressive, though
12:15:14 <scarf> and presumably that one's verifiable
12:15:32 <fizzie> The second one is almost equally ridiculous and even has a citation -- did not check what sort of.
12:15:45 <alise> ^ Saudi Aramco World, (bottom of page)
12:15:48 <alise> http://www.saudiaramcoworld.com/issue/198503/delenda.est.carthago.htm
12:15:50 <alise> Some magazine
12:15:56 <alise> When Carthage and Rome finally signed a peace treaty - in February 1985 - Ugo Vetere, the mayor of Rome, seemed deeply moved by the still existing traces of the catastrophe at Carthage - which he described as "blackened by fire." The catastrophe, he said, "... should be regarded, not just with curiosity, or with a love for archeology, but... with the eyes of those who wish for and... work for peace today."
12:16:15 <alise> Furthermore, it is my opinion that Carthage must be destroyed.
12:16:27 <scarf> also, allegedly one of the peace treaties for the World War was typed backwards
12:16:32 <alise> what
12:16:33 <scarf> due to an accident with putting in carbon paper in the dark
12:16:36 <scarf> and nobody noticed at the time
12:16:43 <alise> didn't they ... read it?
12:16:47 <scarf> so it ended up being typed on the back of the sheet of paper
12:16:52 <scarf> alise: I'm not sure I believe it myself
12:16:54 <alise> :D
12:17:05 <scarf> the urban legend goes that it was dark at the time, and so nobody saw it until later
12:17:25 <alise> "At the time World War II was declared over, there was no single German state that all occupying powers accepted as being the sole representative of the former Reich. Therefore the war technically did not finish until the country was reunified."
12:18:11 <alise> Andorra vs German EmpireWorld War I191419181958[6]Andorra was not invited to the Treaty of Versailles.
12:18:14 <alise> Fuck you, Andorra
12:18:26 <alise> "Montenegro declared war in support of Russia but this was merely a gesture as Montenegro lacked a navy or any other means to engage Japan."
12:18:28 -!- FireFly has joined.
12:19:22 <alise> [[Nevertheless, reportedly in 1966 a Soviet official waited upon the Mayor of Berwick, Councillor Robert Knox, and a peace treaty was formally signed. Knox is reputed to have said "Please tell the Russian people that they can sleep peacefully in their beds."]]
12:19:40 <scarf> alise: that's also apparently a rumour; at least, snopes.com tried to find evidence of that but couldn't
12:19:43 <scarf> it's a fun story though
12:19:45 <alise> [[To complicate the issue, some have noted that Knox did not have any authority with regard to foreign relations, and thus may have exceeded his powers as mayor in concluding a peace treaty.]]
12:19:56 <alise> scarf: the whole signing, or the saying?
12:20:14 <scarf> both, IIRC
12:21:45 -!- augur has quit (Ping timeout: 248 seconds).
12:21:52 <alise> aw
12:26:27 <scarf> I can't find any references to that backwards-treaty thing on Wikipedia or Snopes, not even as debunked rumours
12:26:32 <scarf> so I have no idea where I heard it from
12:28:38 <Quadrescence> hey i have an idea for an esolang
12:29:12 <Quadrescence> here it is: basically everything you type is either pushed onto a stack or applied to a stack, so 1 1 + would push 1 then 1 then apply + and everything follows these rules
12:29:16 <Quadrescence> IS THIS A GOOD IDEA?
12:30:15 <scarf> Quadrescence: concatenative langs!
12:30:20 <scarf> yes, it is
12:30:28 <scarf> http://esolangs.org/wiki/Underload is a bit like that
12:30:40 <scarf> which was my attempt to reduce concatenativeness to a tarpit
12:30:51 <scarf> and there are some "real" languages which work like that too
12:31:05 <alise> See: Joy, Factor, ("almost" Forth) Cat, Underload, ...
12:31:24 <alise> Congratulations: you're intelligent enough to independently invent concatenative languages.
12:31:40 -!- BeholdMyGlory has joined.
12:32:18 <alise> http://en.wikipedia.org/wiki/Kim_Il-sung_University I'm surprised this even _exists_
12:32:41 <alise> and wtf do they teach in history? Or philosophy? Government? Economics? Law? :P
12:32:52 <alise> I wonder how much of their sciences just happen to /conveniently/ tie in with Juche...
12:33:01 <Quadrescence> scarf: I was kidding
12:33:07 <Quadrescence> it's pretty much the worst idea ever
12:33:16 <scarf> why?
12:33:19 <Quadrescence> idk
12:33:27 <scarf> you can even do control flow like that
12:33:30 <alise> Strong intellectual bent in this one I see
12:33:37 <Quadrescence> Only if you have quotations
12:33:44 <scarf> well, yes
12:33:45 <Quadrescence> like fagtor does
12:33:50 <alise> "Fagtor".
12:33:53 <alise> Wow, just go away now.
12:33:55 <Quadrescence> Factor*
12:34:02 <alise> Oh come on, that was clearly intentional
12:34:03 <scarf> actually, I think alise invented a variation which didn't need them directly
12:34:09 <alise> scarf: Well, with your help.
12:34:17 <Quadrescence> alise: Hey, I've been to slava's house before
12:34:20 <alise> I formulated the language, you proved that it was equivalent (ignoring IO).
12:34:26 <Quadrescence> and did some bignum stuff for factor
12:34:29 <Quadrescence> so don't be hatin'
12:34:38 <Quadrescence> then he moved to NZ
12:35:07 <alise> with his gigantic pile of profit from Factor
12:35:27 <scarf> ^ul (!())(~(:)~*(*)*:(*)~^S~(/)S:^):^
12:35:27 <fungot> */**/***/****/*****/******/*******/********/*********/**********/***********/************/*************/**************/***************/****************/*****************/******************/*******************/********************/*********************/**********************/***********************/************************/ ...too much output!
12:35:35 <scarf> and I just wrote that off the top of my head
12:35:51 <Quadrescence> alise: His profit seemed to be spent on large mac displays and stuff
12:35:59 <alise> Don't forget the Mac Pro.
12:36:00 <Quadrescence> and macbooks
12:36:05 <Quadrescence> yeah
12:36:11 <alise> I doubt he actually profits from Factor though :P
12:36:16 <Quadrescence> I doubt it too
12:36:21 <Quadrescence> his place was pretty dumpy
12:36:40 <Quadrescence> but he makes good блины
12:36:46 <alise> wonder what his day jorb is
12:37:05 <alise> Quadrescence: you could have just said "pancakes"
12:37:15 <alise> even though I can type google.com/translate_t in about 0.5 seconds by now
12:37:38 <Quadrescence> alise: No
12:37:42 <Quadrescence> They are not the same
12:38:01 <Quadrescence> It is a rough /American/ translation but they are not at all the same
12:39:27 <alise> Quadrescence: have you been here before under another nick?
12:40:13 <Quadrescence> alise: No
12:40:20 <alise> ok, under the same nick?
12:40:22 <alise> I vaguely recognise you
12:41:18 <Quadrescence> Same nick
12:41:28 <Quadrescence> You might have seen me in other channels
12:41:33 <Quadrescence> scarf: it's 6:30 AM
12:41:34 <alise> hmm... maybe... how long ago?
12:41:39 <Quadrescence> alise: I don't know.
12:41:43 <alise> no, it's 12:41 am
12:41:49 <Quadrescence> [06:38.01] * Received a CTCP TIME from scarf
12:42:11 <scarf> your clock is 3 minutes slow, unless you're in a UTC-6:03 timezone
12:42:20 <alise> :-D
12:42:54 <Quadrescence> It is indeed 3 minutes slow
12:49:24 -!- augur has joined.
12:50:07 <Quadrescence> good morning augur
12:50:15 <augur> moin
12:51:25 <alise> Technical discussion about antelopes.
13:09:43 <Quadrescence> The ant elopes with his fellow queen.
13:31:59 <alise> #usys sure is lonely
13:32:05 <alise> <_< >_>
13:33:34 -!- asiekierka has joined.
13:33:35 <asiekierka> hi alise
13:33:40 <asiekierka> hmm, what should i destroy today
13:33:40 <alise> Hi.
13:33:40 <asiekierka> `ls
13:33:45 <alise> Yourself.
13:33:45 <alise> :P
13:33:46 <asiekierka> i said
13:33:47 <asiekierka> `run ls
13:33:47 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.15927
13:33:49 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.15957
13:33:51 <asiekierka> there we go
13:33:57 <asiekierka> `./test.sh
13:33:58 <HackEgo> No output.
13:34:13 <asiekierka> `ls
13:34:14 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.16082
13:34:33 <asiekierka> `cd / && ls
13:34:34 <HackEgo> No output.
13:34:40 <asiekierka> `run cd / && ls
13:34:40 <HackEgo> bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr
13:34:49 <asiekierka> `run cd /etc && ls
13:34:50 <HackEgo> alternatives
13:34:58 <asiekierka> `cd /lib && ls
13:34:59 <HackEgo> No output.
13:35:04 <asiekierka> `run cd /lib && ls
13:35:05 <HackEgo> cpp \ firmware \ init \ ld-2.9.so \ ld-linux-x86-64.so.2 \ libBrokenLocale-2.9.so \ libBrokenLocale.so.1 \ libSegFault.so \ libacl.so.1 \ libacl.so.1.1.0 \ libanl-2.9.so \ libanl.so.1 \ libattr.so.1 \ libattr.so.1.1.0 \ libblkid.so.1 \ libblkid.so.1.1.0 \ libbsd.so.0 \ libbsd.so.0.1.6 \ libbz2.so.1 \ libbz2.so.1.0
13:35:22 <asiekierka> hmm, is it so sure that this is actually secure
13:35:28 <alise> It is absolutely secure.
13:35:39 <asiekierka> Even if I do `run rm -rf /
13:35:46 <alise> If you break out of the plash sandbox, which overrides every single system call, you will find yourself within an empty chroot.
13:35:56 <alise> From which you then must find a vulnerability in the Linux kernel to escape.
13:36:00 <alise> Good luck.
13:36:16 <alise> asiekierka: One, all changes are revisioned. Two, you can't delete anything that isn't yours.
13:36:18 <alise> `ls
13:36:18 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.16399
13:36:26 <alise> That stuff's ours.
13:36:31 <alise> If you remove it, we'll put it back in one command.
13:36:32 <alise> `help
13:36:33 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
13:36:36 <asiekierka> `run cd .. && ls
13:36:37 <HackEgo> hackenv.16464
13:36:41 <asiekierka> `run cd ../.. && ls
13:36:42 <HackEgo> bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr
13:36:47 <asiekierka> `run cd /tmp && ls
13:36:48 <HackEgo> hackenv.16547
13:36:51 <asiekierka> okay...
13:37:00 <alise> `id
13:37:01 <HackEgo> uid=1856920 gid=1856920
13:37:02 <alise> `id
13:37:03 <HackEgo> uid=1642345 gid=1642345
13:37:05 <asiekierka> `run mkdir /home
13:37:05 <alise> New user each time.
13:37:06 <HackEgo> No output.
13:37:15 <asiekierka> `run cd / && ls
13:37:16 <HackEgo> bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr
13:37:22 <asiekierka> wait, it already existed
13:37:25 <asiekierka> gah, i'm stupid
13:37:28 <asiekierka> `run cd /home && ls
13:37:29 <HackEgo> hackbot
13:37:42 <asiekierka> `mkdir /home/asiekierka && cd /home && ls /home
13:37:43 <HackEgo> No output.
13:37:48 <asiekierka> `run mkdir /home/asiekierka && cd /home && ls
13:37:49 <HackEgo> No output.
13:37:55 <asiekierka> `run mkdir /home/asiekierka
13:37:56 <HackEgo> No output.
13:37:58 <asiekierka> `run cd /home && ls
13:37:59 <HackEgo> hackbot
13:38:03 <asiekierka> ...I don't like you.
13:38:06 <asiekierka> `run cd /home/hackbot && ls
13:38:07 <HackEgo> hackbot.hg
13:38:38 <asiekierka> `run cd $PWD && ls
13:38:39 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.17038
13:38:44 <asiekierka> Oooooookaay...
13:38:45 <alise> cd $PWD; how pointless.
13:38:51 <asiekierka> You're angering me, HackEgo
13:39:08 <alise> try 2>&1 after each command
13:39:10 <alise> to see errors
13:39:17 <alise> `run mkdir /home/asiekierka 2>&1 && cd /home && ls
13:39:18 <HackEgo> /bin/mkdir: cannot create directory `/home/asiekierka': Permission denied
13:39:22 <asiekierka> Oooooh
13:39:26 <asiekierka> not shiny.
13:39:29 <MissPiggy> sh <( cat 'cd $PWD' )
13:39:35 <asiekierka> `run cd /lib && ls
13:39:36 <HackEgo> cpp \ firmware \ init \ ld-2.9.so \ ld-linux-x86-64.so.2 \ libBrokenLocale-2.9.so \ libBrokenLocale.so.1 \ libSegFault.so \ libacl.so.1 \ libacl.so.1.1.0 \ libanl-2.9.so \ libanl.so.1 \ libattr.so.1 \ libattr.so.1.1.0 \ libblkid.so.1 \ libblkid.so.1.1.0 \ libbsd.so.0 \ libbsd.so.0.1.6 \ libbz2.so.1 \ libbz2.so.1.0
13:39:42 <alise> MissPiggy: a file called cd $PWD?
13:40:07 <asiekierka> `run cd / && ls
13:40:08 <HackEgo> bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr
13:40:09 <MissPiggy> alise, http://simple.wikipedia.org/wiki/Fundamental_theorem_of_arithmetic
13:40:11 <asiekierka> `run cd /lib64 && ls
13:40:12 <HackEgo> cpp \ firmware \ init \ ld-2.9.so \ ld-linux-x86-64.so.2 \ libBrokenLocale-2.9.so \ libBrokenLocale.so.1 \ libSegFault.so \ libacl.so.1 \ libacl.so.1.1.0 \ libanl-2.9.so \ libanl.so.1 \ libattr.so.1 \ libattr.so.1.1.0 \ libblkid.so.1 \ libblkid.so.1.1.0 \ libbsd.so.0 \ libbsd.so.0.1.6 \ libbz2.so.1 \ libbz2.so.1.0
13:40:34 <alise> "The Fundamental theorem of arithmethic (also called the unique factorization theorem) is a theorem of number theory. The theorem says that every positive integer greater than 1 can be written as a product of prime numbers (or the integer is itself a prime number)."
13:40:39 <alise> yes, that's absolutely simple english /rolleyes
13:41:58 <asiekierka> `run uname -r
13:41:59 <HackEgo> 2.6.26-1-xen-amd64
13:42:09 <asiekierka> Yay, old linux kernel versions!
13:42:22 <fizzie> libBrokenLocale and libSegFault, the best libraries evar. It's too bad they're not exactly what it says on the tin (tvtropes ref); libBrokenLocale (as far as I can tell) doesn't break locales, and libSegFault doesn't cause segfaults.
13:43:42 <alise> http://pastie.org/849736.txt?key=mp48bw1mgnnh2sbcrtayq an actually simple rewrite of the start of that article
13:44:05 <alise> I guess it depends whether the audience is someone who knows Simple English and no english maths terminology or someone who knows Simple English and english maths terminology
13:44:05 <asiekierka> Guys, a theoretical question
13:44:09 <alise> but I imagine the latter is quite rare
13:44:26 <asiekierka> If I would in fact find a working linux kernel vulnerability (the chance being 1:infinity in our current reality), what would happen?
13:44:34 <asiekierka> (I mean, and used it on HackEgo)
13:44:38 <alise> Well, you can't.
13:44:45 <alise> First you'd have to escape the plash sandbox (VERY hard).
13:44:48 <alise> Then you'd have to use the exploit.
13:45:06 <asiekierka> what if it theoretically happened?
13:45:10 <alise> So you'd need to find a serious vulnerability in Plash (very unlikely), and then a serious vulnerability in Linux's chroot code (almost impossible).
13:45:25 <alise> asiekierka: Then you would find yourself on Gregor's system, as a user with no privileges. All you could do would be to delete HackEgo.
13:45:40 <alise> If you then found a Linux exploit that let you elevate to root, you would then be able to wipe out Gregor's VPS. He probably has backups.
13:45:52 <asiekierka> So nothing would really happen except I'd waste time and get banned?
13:45:59 <alise> Yep.
13:46:11 <asiekierka> And HackEgo would disappear?
13:46:32 <alise> Until the backup was restored; so a few hours.
13:46:37 <alise> It'd probably be set to ignore you afterwards.
13:52:41 <alise> Bah, why isn't anyone interesting online. :P
13:52:53 <fizzie> I don't think you need a vulnerability exactly in the chroot code, you just need a local privilege escalation so that you get root inside it; that thing's not supposed to hold raptors, after all. Still, a combination of plash and linux vulnerabilities isn't exactly trivial, and really, getting access to someone's virtual server can't be worth the trouble.
13:52:54 <asiekierka> Bah, why can't I do anything interesting in Hack(gr)Ego(r)
13:53:54 <alise> Linux local privilege escalation: Even three-year-olds can do it
13:54:04 <alise> A vulnerability in chroot code is more likely than privilege escalation
13:54:13 <alise> But then you'll only be a useless user. But still. It's the outer VPS.
13:54:22 <alise> You could use up all his disk space if he hasn't set a quota (he probably has, though).
13:54:35 <alise> You could jam his network, though you could do that from HackEgo anyway. Pointless, though.
13:54:36 <asiekierka> If he had a Mac, I could run Lose/Lose on it maybe
13:56:26 <alise> "The Royal Standard is never flown at half-mast, as the Sovereign never dies (the new monarch immediately succeeds his or her predecessor)."
13:56:45 <alise> THE QUEEN: Literally immortal
13:57:19 <fizzie> alise: So could you design a faster-than-light information-transfer system based on killing royalty?
13:57:35 <alise> :D
13:58:09 <alise> A. The Queen has four Corgis – Linnet, Monty, Holly, Willow. She also has four Dorgis (cross-breed of Dachshund and Corgi) Cider, Berry, Candy, Vulcan.
13:58:12 <alise> The Queen has a dog called Vulcan.
13:59:24 <asiekierka> anyone knows HackEgo's IP? Just wondering
13:59:29 <alise> whois
14:00:13 <asiekierka> ugh
14:00:18 <asiekierka> i need longer output from HackEgo
14:01:12 <asiekierka> Anyone has any fun idea
14:02:09 <fizzie> Wasn't there some DCC thing, or was that a different bot? Do you remember, fungot?
14:02:10 <fungot> fizzie: an elven cloak: the hitchhiker's guide to the moonlight and the cimmerian. they are found in many places, not surprisingly, are large, dark shape rose from the chaos and gave it to open locked doors.
14:02:30 <asiekierka> alise?
14:03:05 <alise> that's EgoBot
14:03:10 <alise> or maybe HackEgo does it too
14:03:48 <asiekierka> HackEgo Seems To Be Failing
14:03:55 <asiekierka> HESTOBEF
14:04:16 <asiekierka> i'm trying to compile something and ./configure just won't work
14:09:35 <MissPiggy> alise I just got my highest upvoted comment on reddit ever
14:09:53 <alise> MissPiggy: ah, -649 points!
14:09:55 <alise> you're improving! :D
14:10:01 <asiekierka> What?
14:10:04 <asiekierka> what -649 points
14:11:54 <MissPiggy> http://www.reddit.com/r/math/comments/b81mh/what_is_the_style_of_hat_worn_by_david_hilbert_in/
14:11:57 <MissPiggy> this is making me lol
14:12:01 <MissPiggy> "Hilbert's Epsilon Hat.
14:12:01 <MissPiggy> "
14:12:34 <MissPiggy> "My mom wears one when she gardens. I'm sure you could borrow it.
14:12:35 <MissPiggy> "
14:18:01 <MissPiggy> http://kr.img.blog.yahoo.com/ybi/1/9d/96/know_blog/folder/3/img_3_211_3?1141364520.jpg
15:11:06 -!- asiekierk has joined.
15:11:43 -!- asiekierka has quit (Ping timeout: 245 seconds).
15:15:23 -!- lifthrasiir has quit (Ping timeout: 246 seconds).
15:17:15 -!- lifthrasiir has joined.
15:25:48 -!- lereah_ has quit (Quit: Leaving).
15:30:34 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
15:31:48 -!- Sgeo__ has joined.
15:33:56 -!- cpressey has joined.
15:35:03 -!- Sgeo_ has quit (Ping timeout: 268 seconds).
15:45:12 -!- kar8nga has joined.
15:49:55 -!- Asztal has joined.
16:02:26 -!- dev_squid has joined.
16:15:59 -!- cpressey has quit (Ping timeout: 276 seconds).
16:20:36 <alise> MissPiggy: I'm writing that thing i said i would explaining why files suck
16:21:04 <MissPiggy> good
16:23:38 -!- oerjan has joined.
16:24:43 <alise> it will be long
16:26:09 -!- cpressey has joined.
16:26:23 <oerjan> <puzzlet> all of these just to reduce angular momentum by itself?
16:26:30 -!- tombom_ has joined.
16:26:40 <oerjan> angular momentum is a conserved quality. hth.
16:27:20 <oerjan> so an earthquake couldn't change it, since that's just internal to the earth
16:28:33 <scarf> oh, yes
16:28:36 -!- tombom has quit (Ping timeout: 260 seconds).
16:29:10 <oerjan> what changes iirc is the moment of inertia, determined by the mass distribution. and that combined with angular momentum changing the rotation and axis.
16:29:28 <oerjan> *changes
16:31:58 <oerjan> <fizzie> The word-pair "combat-wombat" keeps going round my head.
16:32:06 <oerjan> that sounds somewhat awkward
16:32:53 -!- scarf has quit (Remote host closed the connection).
16:34:17 <alise> Combat Wombat; that could be the latest Pokémon ripoff.
16:34:56 <alise> Kombatto Wombatto
16:35:00 <alise> *Kombattu Wombatto
16:37:09 <Asztal> You mean Battletoads rip-off
16:39:56 <alise> :D
16:40:04 <alise> Combat Wombat vs. Battle Toad
16:40:08 <alise> vs. Altercation Albatross
16:47:50 <alise> MissPiggy: almost finished the article
16:52:28 <oerjan> <alise> If you break out of the plash sandbox, which overrides every single system call, you will find yourself within an empty chroot.
16:52:38 <oerjan> it's the matrix!
16:54:30 <alise> MissPiggy: okay, it's done
16:54:31 <alise> more or less
16:54:55 <alise> Sgeo__: ping
17:12:46 <pikhq> oerjan: Pretty much.
17:13:22 <pikhq> コンバット・ウァンバット!
17:13:44 <alise> Sgeo__: pingping
17:13:54 <alise> pikhq: do you think files are good?
17:13:54 <oerjan> i find your japanese questionable
17:14:03 <oerjan> as in, i just see question marks.
17:15:02 <pikhq> oerjan: Hah.
17:15:22 <pikhq> alise: I think they're a sign of a poor type system in the OS.
17:15:32 <alise> Good!
17:15:35 <alise> Then you will like my article.
17:15:44 <alise> Now if only I had somewhere to put it; I haven't registered usys.org yet.
17:15:50 <pikhq> I mean, really? An associative array of chars?
17:15:54 <pikhq> Erm.
17:15:59 <pikhq> Associative array of char*s.
17:16:36 <oerjan> don't let your characters associate with arrays
17:17:02 <alise> >_<
17:18:40 <alise> pikhq: Guess the language:
17:18:44 <alise> real :: answer = 42
17:18:57 <pikhq> ehird.
17:18:59 <alise> Fortran 90.
17:19:02 <alise> Seriously.
17:19:21 <pikhq> ...
17:20:03 <alise> yeah.
17:21:34 <alise> Sooo.
17:42:34 -!- Gregor has joined.
17:43:55 <alise> Hi Gregor.
17:48:00 -!- augur has quit (Ping timeout: 256 seconds).
17:49:22 -!- kar8nga has quit (Remote host closed the connection).
17:50:19 -!- augur has joined.
17:50:27 -!- oerjan has quit (Quit: leaving).
17:59:42 -!- jcp has joined.
18:03:33 <pikhq> Hail.
18:09:13 -!- kar8nga has joined.
18:10:31 -!- augur has quit (Ping timeout: 265 seconds).
18:16:29 <alise> I started defining an extension of the rationals with n/0, then I ended up having to define 0/n as special too. Now I'm having to define 0 =/= -0.
18:16:36 <alise> I have a sneaking suspicion this is turning into something that isn't anything at all.
18:16:51 <MissPiggy> 0/0 IS EVIL
18:17:37 <alise> I was going to have 0/0 as a special case, I think.
18:17:53 <alise> As a separate weirdtional where 0*(0/0) = 0.
18:19:46 -!- augur has joined.
18:28:35 <MissPiggy> alise ... why
18:29:03 <alise> Because I was going to have a consistent system with 0/n, dammit, no matter what I had to do!
18:33:29 <MissPiggy> <http://en.wikipedia.org/wiki/Nullity>
18:34:35 <alise> Shaddap :)
18:35:50 <pikhq> Hey, "nullity" can be defined in an axiomatic system.
18:35:52 <alise> For one, mine has 0*(n/0) = n.
18:36:07 <alise> And 0*(0/n) = 1, but that's an entirely separate issue :P
18:36:08 <pikhq> This guy just claims that he had added it to the ordinary one used for arithmetic.
18:36:17 <pikhq> Which is... Bullshit.
18:36:36 <pikhq> Erm.
18:36:41 <pikhq> Not added it, "discovered" it.
18:36:46 <pikhq> By making a symbol up for it.
18:38:36 <MissPiggy> alise admit it :!
18:39:08 <MissPiggy> trying to reconsile division by zero is as braindead as these people trying to 'hide from the clutches of godelian incompleteness' it's just fucking stupid
18:39:53 <alise> It's also fun.
18:39:56 <alise> I'm not doing it seriously.
18:40:07 <alise> I'm doing it to see what crazy, crazy things you have to entail to get it working.
18:43:56 -!- kar8nga has quit (Remote host closed the connection).
18:47:09 <alise> "mathematical arithmetic is sociologically invalid" —discoverer of Nullity
18:47:22 <lament> it's 100% true
18:50:04 <Gregor> Yay NULLITY
18:55:06 <MissPiggy> -1*-1 = 1 is EVIL and StUPID
19:01:22 <dev_squid> Hey guys.
19:01:30 <MissPiggy> ohiho
19:02:41 <Gregor> -1 * -1 is the TIME CUBE
19:02:59 <MissPiggy> yes
19:05:22 <Gregor> My cat is being really weird.
19:05:42 <Gregor> She'll sleep on my bed for a while, then get up and meow at me. I look at her, and she goes back to sleep.
19:07:16 <cpressey> 0/0 = pi
19:07:17 <dev_squid> I want to learn an esolang that's fun and makes programming a challenge. Any suggestions?
19:07:19 <dev_squid> :)
19:07:38 <Gregor> BrainFuck then Befunge then 2L then Glass :P
19:07:43 -!- jcp has changed nick to javawizard.
19:07:52 <dev_squid> I've been meaning to try befunge.
19:07:52 <cpressey> dev_squid: Give us some desired weights for "fun" and "challenge"
19:08:05 -!- javawizard has changed nick to javawizard2539.
19:08:12 <alise> dev_squid: Agda
19:08:13 <cpressey> Befunge, somewhat more fun, somewhat less challenge.
19:08:16 <dev_squid> Gregor, I'm pretty don with BF.
19:08:25 <alise> cpressey: Self-promotion ey?!
19:08:33 <alise> We'll have none of that round 'ese parts! :P
19:08:35 -!- javawizard2539 has changed nick to jcp.
19:08:48 <Gregor> FYB!
19:08:52 <cpressey> alise: Pft, it's "not challenging enough" for most here, I would guess.
19:08:57 <alise> cpressey: Well. Yeah.
19:09:02 <pikhq> Glass is a pretty decent language.
19:09:18 <Gregor> Any language with the Gregor Richards stamp of approval! :P
19:09:26 <pikhq> Gregor: Hahah.
19:09:42 <alise> Glass is basically the object-lambda calculus.
19:09:51 <pikhq> Yeah, pretty much.
19:09:56 <Gregor> But with classes.
19:09:56 <dev_squid> Damn, esolangs've been around for a damn long time.
19:10:00 <Gregor> Sort of
19:10:02 <cpressey> Also, I only mentioned it because dev_squid mentioned it first.
19:10:10 <pikhq> Oh, INTERCAL. :)
19:10:23 <dev_squid> cpressey, hey, if Befunge is fun, I'll try it. :)
19:11:02 <cpressey> Also on the "lighter" side is Kipple.
19:11:22 <cpressey> On the "heavier" side, why not try Malbolge?
19:11:24 <dev_squid> Oh balls, Befunge looks interesting. :D
19:12:22 <dev_squid> Hahah! I actually read about Malbolge before; I'm looking for a challenge, but that's a little outside of the definition. That is, impossible. :)
19:12:44 <alise> Don't let cpressey seduce you
19:12:54 <alise> He gave us so many ambiguities in the -98 spec we're still suffering :P
19:13:44 <Gregor> TWELVE YEARS LATER
19:15:08 <cpressey> Not my fault that no one on the committee said "this needs to be more rigorously defined". People preferred to complain about things that really matter, like that my HTML was missing </p> tags.
19:15:37 <alise> :-D
19:15:52 <cpressey> Ooh
19:15:54 <cpressey> Homespring
19:16:04 <cpressey> that was the one i couldn't remember the name of.
19:23:19 <dev_squid> cpressey.
19:23:35 <alise> [[The sequences ‘ . ’ and ‘. .’ are required to cause a causality paradox in all con-
19:23:35 <alise> forming implementations. As such, there are no conforming implementations.]]
19:23:54 <dev_squid> cpressey, Befunge is awesomesauce. Where'd you get the idea?
19:24:06 <alise> Biota; telepathically :P
19:24:50 <cpressey> Hah, no.
19:24:56 <cpressey> AmigaVision
19:24:59 <cpressey> and BASIC
19:25:12 <cpressey> replacing "goto 100" with an ASCII arrow pointing to line 100.
19:25:32 <cpressey> And was exposed to FORTH at the time.
19:26:30 <cpressey> Biota, for all I can tell, is a lot closer to what I'd call a cellular automaton, though not exactly cellular.
19:27:51 <dev_squid> cpressey, did you write an interpreter for Befunge, or didja just idealize it?
19:28:56 <cpressey> dev_squid: I wrote an interpreter for the first version (-93). Being not so much into writing specs at the time, it sort of defined the language, alongside some crude documentation.
19:29:31 <dev_squid> cpressey, what did you write it in?
19:29:32 <cpressey> For -98 I compiled the spec with input from the Befunge mailing list at the time, and wrote a very buggy implementation based on it.
19:29:42 <dev_squid> Oh cool.
19:29:43 <cpressey> dev_squid: C (both of them.)
19:30:02 <dev_squid> I write all my interpreter prototypes in assembly. :)
19:30:02 <cpressey> Um, it was compiled with DICE C on an Amiga 500, originally...
19:30:07 <dev_squid> It's tedious. :|
19:31:00 <cpressey> Assembly's fun, but I tend not to implement languages in it often. I guess Shelta is one, and I did try to implement Befunge in x86 once.
19:31:17 <dev_squid> "Try". LOL.
19:32:05 <cpressey> Yeah, it was an implmentation of Befunge-93 that I *think* *mostly* works, but I remember it failing badly on some example sources.
19:32:33 <cpressey> The executable was only like 4K or something in size though.
19:32:47 <dev_squid> Yep. I remember trying to make a simple BF interpreter in x86 Asm but then failing epicly. To this day, I still don't know what I was doing wrong. >:(
19:33:01 <dev_squid> Yeah.
19:34:03 <dev_squid> Umm...there's this guy that made a 166-byte BF compiler.
19:34:19 <Gregor> For what?
19:34:37 <dev_squid> Which is kittenpunchingly smaller than the 256-byte compiler by Meuller.
19:34:42 <dev_squid> Brainfuck.
19:34:50 <Gregor> For what /system/ X_X
19:34:57 <dev_squid> Linux x86.
19:34:59 <cpressey> TO WHAT END
19:35:14 <dev_squid> (http://www.muppetlabs.com/~breadbox/software/tiny/bf.asm.txt)
19:36:42 <dev_squid> I'm pretty sure it violates every single ELF standard in existence, but it *is* 166 bytes.
19:37:17 <alise> Yeah, ~breadbox is <3.
19:37:22 <dev_squid> I love it.
19:37:32 <alise> He also wrote the CGI INTERCAL game.
19:37:54 <alise> And http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html
19:37:57 <alise> the tiniest ELF executable
19:44:47 -!- Asztal has quit (Ping timeout: 252 seconds).
19:47:32 <dev_squid> cpressey, Befunge interpreter. Where?
19:48:05 -!- pikhq has quit (Read error: Connection reset by peer).
19:49:04 <cpressey> dev_squid: I dunno, there seem to be lots to choose from. I've heard a lot good about http://sourceforge.net/projects/cfunge/
19:49:41 <cpressey> You probably have to build it from that tarball, presumably that is not a problem.
19:50:52 -!- pikhq has joined.
19:51:09 <pikhq> Screw you, X.
19:52:00 <AnMaster> cpressey, Needs POSIX
19:52:05 <AnMaster> (but I assume that is no issue)
19:52:16 <AnMaster> (oh and, it doesn't do 93 really, only 98)
19:56:19 -!- Asztal has joined.
19:57:55 -!- MigoMipo has joined.
19:59:32 <dev_squid> cpressey, how does Befunge handle negative numbers?
20:00:39 <Gregor> Negative numbers are useless.
20:01:10 <cpressey> dev_squid: They're like any other numbers in the language... except negative.
20:01:26 <alise> :-D
20:03:04 <Gregor> They're stored in threes-complement
20:03:51 <AnMaster> Gregor, that would be implementation defined
20:04:05 <AnMaster> as in, befunge doesn't expose the bit representation like that
20:04:11 <AnMaster> (except using some optional fingerprints)
20:04:11 * Gregor bashes AnMaster's head in with a plastic spork
20:04:18 <AnMaster> Gregor, hard hat
20:04:19 <AnMaster> :P
20:04:43 <Gregor> Doesn't take a particularly hard hat to protect against a plastic spork :P
20:04:48 <AnMaster> Gregor, true
20:04:54 <alise> *Main> 1 // (0 // 0)
20:04:55 <alise> 0 % 0
20:04:55 <alise> *Main> 1 // (0 // 1)
20:04:55 <alise> 1 % 0
20:04:55 <alise> *Main> 1 // (0 // 2)
20:04:56 <alise> 2 % 0
20:04:56 <alise> wat
20:05:08 <AnMaster> alise, is that % as in modulo?
20:05:13 <alise> No, % as in fraction
20:05:15 <AnMaster> ah
20:05:17 <alise> As in x/y
20:05:20 <AnMaster> alise, still. that makes no sense
20:05:23 <AnMaster> 2/0...
20:05:29 <alise> It's the weirdtionals, where division by zero is perfectly acceptable because I said it is.
20:05:36 <alise> Which also leads to fun things such as all 0/n being unique.
20:05:42 <AnMaster> heh
20:05:49 <alise> The "real 0" seems to be 0/1, because (n/1)/(0/1) = n/0.
20:06:07 <alise> Apparently (1/2)/0 = 1/0
20:06:11 <alise> Who'da thunk it
20:06:29 <AnMaster> alise, I *somehow* suspect that certain things may break if 0/2 != 0/5 and so on
20:06:34 <AnMaster> I mean, mathematically
20:06:49 <alise> AnMaster: My way of working is: Define something to work. Find a contradiction. Fudge things so that it's no longer a contradiction.
20:06:57 <AnMaster> alise, :D
20:07:01 <alise> I'm losing all sorts of properties of course, addition and multiplication don't even distribute over each other
20:07:26 <AnMaster> alise, oh that follows from 0/x being allowed?
20:07:28 <AnMaster> err
20:07:30 <AnMaster> x/0
20:07:42 <alise> yeah I was finding out the multiplicative inverse for (x/0)s
20:07:51 <alise> 1/(x/0) = swap the two sides = 0/x
20:07:55 <alise> so (0/x)*x = 1
20:08:00 <alise> so we need distinct (0/x) for all x
20:08:07 <AnMaster> ouch
20:08:16 <AnMaster> alise, what is your goal with this
20:08:25 <alise> Make division by zero work.
20:08:32 <AnMaster> ah, good luck
20:09:09 <AnMaster> if you actually made it work sensibly (and in a rigorous way) then you would probably get the Fields medal at least!
20:09:34 <Deewiant> The problem is that the resulting system is not likely to be very usable for anything
20:09:45 <alise> Deewiant: Of course.
20:09:48 <alise> AnMaster: Unlikely.
20:09:48 -!- BlackOut has joined.
20:09:51 -!- MizardX has quit (Read error: Connection reset by peer).
20:09:52 <alise> Distributivity is a rather nice property
20:09:55 <AnMaster> alise, well, depends on how you solve it
20:09:58 <Deewiant> Of course you can define things but since you do lose properties like distributivity of addition it's not really addition any more
20:09:58 <AnMaster> alise, and yes indeed
20:10:09 <Deewiant> And hence not very Fields-worthy, it's just another formal system
20:10:11 -!- MizardX has joined.
20:10:36 -!- BlackOut has left (?).
20:10:39 <uorygl> Hey, alise is here.
20:11:07 <alise> yeh
20:11:27 <AnMaster> Deewiant, hm, don't you lose distributivity somewhere in the Cayley–Dickson construction?
20:11:38 <AnMaster> or was that one of the few properties you didn't loose?
20:12:24 <uorygl> Does that mean alise is out of Britain?
20:12:30 <dev_squid> cpressey, yay! My first Befunge program...sort of. I modified an example. :)
20:12:34 <dev_squid> cpressey, http://pastie.org/850440
20:12:35 <Deewiant> The problem here is that you lose distributivity over addition of fractions, not hypercomplex numbers :-P
20:12:49 <AnMaster> Deewiant, true
20:12:56 <alise> uorygl: No.
20:13:02 <AnMaster> alise, oh wait, this isn't even a ring any more is it?
20:13:02 <alise> Just that a bigger crisis is overriding atm.
20:13:06 <alise> AnMaster: ^_^
20:13:20 <uorygl> Oh, a bigger crisis. Hmm.
20:14:32 <AnMaster> alise, if you managed to solve it without loosing distributivity then you would get the Fields medal I guess ;P
20:14:48 <alise> I'd win the Pigs Can Fly medal because it'd be contradictory and we could derive anything.
20:14:51 <Deewiant> Unless you also lose associativity etc
20:15:06 <Deewiant> I want a Pigs Can Fly medal
20:15:13 <AnMaster> Deewiant, me too!
20:15:32 <Deewiant> What do I need to do to get one?
20:16:00 <alise> The n being irrelevant in (m/n)/0 disturbs me.
20:16:08 <Deewiant> heh
20:16:10 <AnMaster> Deewiant, do something that over-qualifies you for the Ig Nobel price?
20:16:32 <Deewiant> Meh, too much work
20:19:12 <dev_squid> cpressey, would you recommend (http://www.ashleymills.com/?q=befunge_applet_lite)? Most programs it's running makes it throw a "memory cell out of range" error when it hits a 'p'.
20:20:00 <Deewiant> Are you sure you're p'ing into the 80x25 area?
20:20:02 -!- Azstal has joined.
20:20:19 <Deewiant> If you are, then I definitely wouldn't recommend it because it's buggy :-P
20:22:21 <alise> *Main> (1//0)
20:22:22 <alise> 1 % 0
20:22:22 <alise> *Main> (1//0)+(0//0)
20:22:22 <alise> 2 % 0
20:22:28 <dev_squid> cpressey, were you aware that there existed such a website as "www.quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info"?
20:22:48 <alise> The worst thing is, I'm not even sure that doesn't make sense.
20:23:06 -!- Asztal has quit (Ping timeout: 265 seconds).
20:23:25 <AnMaster> dev_squid, I'm pretty sure he does know as we discussed a program on there recently
20:23:28 <uorygl> It makes sense if and only if it's useful or makes sense.
20:23:35 <AnMaster> uorygl, :D
20:25:11 <alise> uorygl: without it I can't seem to stick to one multiplicative identity :(
20:25:46 -!- MaXo2 has joined.
20:26:07 -!- increnaisi has joined.
20:26:09 <uorygl> Whenever you're having trouble doing something, try proving its impossibility.
20:26:15 -!- increnaisi has left (?).
20:26:46 <dev_squid> AnMaster, I didn't know that...anyway, I still can't find a working Befunge interpreter for Win32.
20:26:56 <dev_squid> Might there be an IDE?
20:27:17 <Gregor> WIN32
20:27:18 <Gregor> GET OUT
20:27:19 <Gregor> GET
20:27:19 <Gregor> OUT
20:27:26 <Gregor> We don't want your kind here.
20:27:41 <Gregor> :P
20:27:45 <alise> uorygl: But I don't accept the law of the excluded middle! :P
20:27:51 <dev_squid> Yeah, yeah...I only keep it for the game.
20:27:51 <alise> (Yes, I know, fallacy. Also: Joke.)
20:27:53 <dev_squid> *games
20:27:55 <AnMaster> dev_squid, for windows? No clue
20:27:59 <AnMaster> can't help you there at all
20:27:59 <alise> Constructivism ftw, though.
20:28:06 <Gregor> Such a poor excuse :P
20:28:12 <cpressey> dev_squid: Only recently. (I haven't been involved in Befunge in a long time. I've spent much of my recent time designing weirder, less popular languages.)
20:28:19 <uorygl> Nor do I if the law of the excluded middle is "Every statement has either a proof or a disproof."
20:28:24 <dev_squid> cpressey, like what?
20:28:35 -!- MissPiggy has quit (Quit: Lost terminal).
20:28:55 <Deewiant> dev_squid: If Befunge-98 is fine, my interpreter works on Win32.
20:29:09 <alise> uorygl: LEM = p|(p->false)
20:29:12 <alise> Which, yes.
20:29:27 <AnMaster> <cpressey> Um, it was compiled with DICE C on an Amiga 500, originally... <-- fun. And unexpected.
20:29:44 <dev_squid> Deewiant, what's the difference?
20:30:02 <Deewiant> If you restrict yourself to the Befunge-93 instruction set: not much.
20:30:20 <AnMaster> Deewiant, SGML spaces
20:30:21 <dev_squid> Deewiant, so it's just a superset?
20:30:35 <Deewiant> Division by zero is defined (gives 0), SGML spaces, bigger funge-space
20:30:45 <Deewiant> dev_squid: I said "not much" not "nothing" :-)
20:30:52 <AnMaster> alise, hey! ^
20:31:01 <AnMaster> alise, solved your problem there ;)
20:31:05 <cpressey> dev_squid: Everything >= 1998 on this page: http://catseye.tc/cpressey/languages.html
20:31:34 <Deewiant> dev_squid: SGML spaces means that "x y" pushes the same three characters as "x y"
20:32:13 <Deewiant> And of course, there's the fact that due to more instructions, you can't rely on them reflecting like they did in Befunge-93.
20:32:23 <alise> *Main> (5//6)*(0//3)
20:32:23 <alise> 0 % 18
20:32:52 <alise> I am not sure this means anything at all.
20:33:00 <Deewiant> dev_squid: Anyway, http://iki.fi/deewiant/befunge/ccbi.html has a binary if you're interested.
20:33:00 <fizzie> Deewiant: Also the stack and fungespace cells have the same size.
20:33:02 <uorygl> Hmm.
20:33:09 <fizzie> Deewiant: '93 had 8-bit fungespace.
20:33:11 <Deewiant> Ah yes.
20:33:14 <AnMaster> cpressey, btw, what do you think should happen on EOF on stdout? The way I read the spec, the program should not end, but reflect
20:33:32 <AnMaster> cpressey, same goes for STDIN
20:33:46 <uorygl> So, (a/b)(c/d) = (ac)/(bd), and a/b + c/d = (ad + bc)/(bd)?
20:33:47 <cpressey> AnMaster: Reflect sounds like saner behaviour that just bombing, for sure.
20:33:52 <cpressey> *than
20:33:56 <alise> Frac m1 n1 + Frac m2 0 = ((m1%n1) + (m2%1)) // 0
20:33:56 <alise> Frac m1 0 + Frac m2 n2 = Frac m2 n2 + Frac m1 0
20:33:56 <alise> Frac m1 n1 + Frac m2 n2 = ((m1*n2)+(n1*m2)) % (n1*n2)
20:34:00 <AnMaster> cpressey, this means that ctrl-d doesn't kill the program of course
20:34:01 <alise> Frac m1 0 * Frac 0 n2 = m1 % n2
20:34:01 <alise> Frac m1 n1 * Frac 0 n2 = 0 // ((n2%1)//(m1%n1))
20:34:03 <alise> (//) :: WT -> WT -> WT
20:34:03 <alise> (Frac m1 n1) // (Frac m2 n2) = (m1*n2) % (n1*m2)
20:34:11 <Deewiant> In general everything should reflect, not bomb
20:34:13 <uorygl> There's nothing inconsistent about treating 0/0 and its brethren that way.
20:34:13 <alise> I'm not done with *
20:34:20 <uorygl> Or is there?
20:34:21 <fizzie> Deewiant: Yeah, then we wouldn't have any wars.
20:34:23 <AnMaster> Deewiant, well iirc you didn't catch SIGPIPE?
20:34:28 <dev_squid> Deewiant, thanks.
20:34:33 <AnMaster> fizzie, augh
20:34:34 <Deewiant> fizzie: Exactly!
20:34:46 <fizzie> World peace via Befunge.
20:34:51 <AnMaster> Deewiant, hey there
20:34:51 <Deewiant> AnMaster: Might be, haven't tested.
20:34:54 <AnMaster> Deewiant, wrong url
20:34:57 <AnMaster> Deewiant, you meant "http://iki.fi/matti.niemenmaa/befunge/ccbi.html"
20:34:58 <AnMaster> :P
20:35:06 <alise> uorygl: Who knows?
20:35:16 <AnMaster> Deewiant, see, if you forget that yourself, don't complain when I don't use the perma link :P
20:35:19 <Deewiant> AnMaster: They're equivalent, but no point in giving both alternatives on t he site.
20:35:25 <Deewiant> AnMaster: Both are permalinks.
20:35:27 <uorygl> Well, see if those are associative, commutative, and distributive.
20:35:30 <AnMaster> Deewiant, hrrm
20:36:04 <alise> uorygl: They are not distributive.
20:36:12 <uorygl> No?
20:36:13 <alise> I'm sacrificing that for having "coherent" division-by-zero.
20:36:18 <alise> uorygl: Uh, I don't think so...
20:36:20 <dev_squid> Deewiant, works perfectly. Thanks.
20:36:25 <uorygl> What does the failure of distributivity look like?
20:36:32 <Deewiant> dev_squid: No problem. :-)
20:36:36 <alise> I don't actually remember, I've been banging this out for a whole
20:37:08 <alise> *Main> 0*(1//(3//0))
20:37:08 <alise> 0 % 3
20:37:09 <alise> :(
20:37:15 <alise> Needs to be 1... or, wait, no.
20:37:16 <Deewiant> AnMaster: It's just when I type them by hand, "deewiant" is shorter so I use that.
20:37:23 <alise> *Main> (3//0)*(1//(3//0))
20:37:23 <alise> 1 % 1
20:37:24 <alise> Yay!!
20:37:27 <AnMaster> Deewiant, heh
20:37:32 <alise> *Main> (3//0)*(2//(3//0))
20:37:32 <alise> 1 % 1
20:37:33 <alise> Nay!!
20:37:44 <alise> uorygl: fixem
20:40:15 <alise> Meh
20:43:45 <alise> Sgeo__: ping
20:45:54 <dev_squid> cpressey, beautiful. (http://pastie.org/850514)
20:46:32 <AnMaster> why 00 at the start? Seems pointless
20:46:41 <AnMaster> to push zeros on an empty stack
20:46:51 <AnMaster> after all popping from empty stack yields zero
20:47:36 <cpressey> AnMaster: does cfunge optimize away pushing zero onto an empty stack? :)
20:47:45 <Deewiant> What's with the infinite loop at the bottom
20:47:59 <AnMaster> cpressey, that would take too long checking for!
20:48:02 <Deewiant> Probably not worth optimizing that
20:48:04 <Deewiant> Yeah
20:48:15 <cpressey> BUT THINK OF THE WASTED SPACE etc
20:48:20 <AnMaster> cpressey, in an optimising JIT it might be worth it
20:48:28 <AnMaster> cpressey, also, the stack size in y wouldn't work out
20:48:39 <AnMaster> cpressey, and I just use ip->stack->top for it
20:48:50 <AnMaster> (ip->stack points to TOSS)
20:48:59 <dev_squid> AnMaster, true.
20:49:02 <cpressey> Ah yes, you can check for that can't you. It means zeros at the bottom of the stack have to be recorded somehow.
20:49:15 <alise> Recorded... with LOVE
20:49:24 <AnMaster> cpressey, well yes, and that would mean another 8 bytes wasted!
20:49:27 <Deewiant> Mycology tests that \ on an empty stack increases the stack size to 2
20:49:36 <AnMaster> yes it does
20:49:45 <AnMaster> which broke my optimisation of \
20:49:50 <AnMaster> which was peek, push
20:49:51 <Deewiant> And mine :-)
20:49:56 <AnMaster> instead of pop push push
20:50:39 <AnMaster> cpressey, but cfunge does stuff like only shrink the bounds of funge space in case anyone looks
20:50:42 <Deewiant> if (empty) push zeroes else peek push - might be faster
20:50:51 <dev_squid> Deewiant, it's there because the interpreter doesn't seem to have a pause-at-terminate option.
20:50:57 <AnMaster> Deewiant, I actually do that :P
20:51:06 <Deewiant> AnMaster: :-)
20:51:20 <Deewiant> dev_squid: Well yes, it generally assumes command prompt usage
20:51:29 <Deewiant> dev_squid: You can always use ~ before @
20:51:40 <AnMaster> but that is wrong IMO :P
20:51:50 <AnMaster> because normal usage is from terminal
20:51:53 <Deewiant> Better than an infinite loop IMO
20:51:58 <AnMaster> true
20:52:04 <dev_squid> Deewiant, true. I just drag and drop. I'm lazy.
20:52:17 <AnMaster> that seems like more working than just typing
20:52:21 <Deewiant> Whatever floats your boat :-P
20:52:24 <AnMaster> since you have the terminal open anyway all the time
20:52:36 <Deewiant> I doubt he does
20:52:40 <AnMaster> oh yeah windows
20:52:47 <AnMaster> forgot windows terminal sucks
20:53:01 <alise> AnMaster: Please blow your predictable hot air elsewhere.
20:53:04 <alise> Yes, Windows sucks. We get it.
20:53:09 <AnMaster> alise, I didn't say that.
20:53:12 <alise> But it's really not interesting, that it sucks.
20:53:12 <dev_squid> Deewiant, if you want to get technical, ~ is, itself, and infinite loop.
20:53:17 <AnMaster> alise, what I said was that cmd.exe sucks
20:53:26 <alise> "since you have the terminal open anyway all the time" is obviously just prelude to "OH LOL WINDOWS SUX"
20:53:43 <AnMaster> alise, and if you disagree with that cmd.exe sucks, please explain why
20:53:47 <Deewiant> dev_squid: How's that
20:54:02 <dev_squid> I'm so oldschool, I don't use a desktop environment on my Linux platform. /flex
20:54:17 <Deewiant> AnMaster: command.com is worse
20:54:22 <AnMaster> Deewiant, true
20:54:32 -!- asiekierk has quit (Ping timeout: 240 seconds).
20:54:46 <AnMaster> heh, like the programming teacher at university. He used twm. I was really surprised first time he hooked up his netbook to the projector....
20:55:06 <Deewiant> What's wrong with twm? :-P
20:55:16 <AnMaster> Deewiant, very funny
20:55:22 <dev_squid> Deewiant, well, ~ is an infinite loop that breaks when stdin changes.
20:55:23 <AnMaster> Deewiant, ask alise instead
20:55:28 <AnMaster> dev_squid, what?
20:55:39 <AnMaster> dev_squid, ~ just waits, it doesn't busy loop
20:55:43 <Deewiant> dev_squid: Well, semantically, I suppose you can say that
20:56:05 <Deewiant> It's an argument from convenience, of course
20:56:14 <uorygl> `translate B skal straks se film med C.
20:56:24 <HackEgo> B must immediately watch movies with C.
20:56:35 <AnMaster> uorygl, if that is Swedish, it is extremely confusing...
20:56:41 <uorygl> Oh?
20:56:44 <dev_squid> AnMaster, ~ doesn't halt the program (interpreter). It sends it into a loop that breaks when you input a character.
20:56:57 <dev_squid> AnMaster, execution never halts.
20:57:11 <uorygl> `translate Hva de skal se, vites ikke enda!
20:57:13 <HackEgo> What to see, is not known yet!
20:57:17 <Deewiant> Is "skal" Swedish in that kind of meaning? I think not.
20:57:27 <AnMaster> uorygl, "B shall/bark straks view movie with C"
20:57:33 <AnMaster> uorygl, where "straks" doesn't exist
20:57:58 <Deewiant> From the second example I am convinced that this is Norwegian
20:58:03 <AnMaster> uorygl, wait, it isn't shall or bark
20:58:05 <AnMaster> uorygl, it is "shell"
20:58:11 <AnMaster> uorygl, since there is only one l
20:58:12 <Deewiant> Yep, in Swedish
20:58:15 <uorygl> I guess it's not Swedish, then.
20:58:20 <Deewiant> It's Norwegian.
20:58:29 <AnMaster> Deewiant, probably
20:58:32 <AnMaster> or Danish?
20:58:44 <Deewiant> I'm pretty sure "hva" is only Norwegian.
20:58:54 <AnMaster> <uorygl> `translate Hva de skal se, vites ikke enda! <-- yeah that looks like Norwegian indeed
20:59:35 <uorygl> Jatsu tsappari dikkari dallan tittari tillan titstan dullaa, dipidapi dalaa ruppati rupiran kurikan kukka ja kirikan kuu.
20:59:46 <AnMaster> uorygl, I defer to Deewiant on that one
20:59:48 <AnMaster> :P
20:59:54 <Deewiant> It's from Ievan polkka
21:00:08 <AnMaster> Deewiant, and what is that?
21:00:17 <uorygl> It's Finnish that doesn't mean anything, I think.
21:00:19 <Deewiant> A song
21:00:23 <AnMaster> Deewiant, I see
21:00:27 <uorygl> http://leekspin.com/
21:00:42 <cpressey> <3
21:00:43 <AnMaster> uorygl, ? Missing plugin?
21:00:47 <Deewiant> And yes, it's just onomatopoeic, it doesn't mean anything
21:00:59 <alise> uorygl: <3
21:01:14 <Gregor> uorygl: Nice subversion :P
21:01:15 <alise> LOVEFEST
21:01:19 <Deewiant> The leekspin one is a sped-up version of the Loituma one, IIRC
21:01:38 <Deewiant> Might not be sped up, can't remember.
21:01:41 <uorygl> Is it sped up?
21:01:54 <Deewiant> You want me to check? :-P
21:02:43 <uorygl> It doesn't seem to be sped up.
21:02:45 -!- cmeme has joined.
21:02:51 <Deewiant> That one isn't, at least.
21:03:02 <Deewiant> I seem to recall a version that was but maybe I'm thinking of something else
21:03:16 <uorygl> Nuapurista kuulu se polokan tahti jalakani pohjii kutkutti.
21:03:32 <Deewiant> Ah, I actually think I'm thinking of caramelldansen
21:04:11 <Deewiant> "From the neighbour's sounded the polka's beat the bottoms of my feet were tingling" or something to that effect
21:04:46 <uorygl> The translation I saw was something like ". . . and set my feet a-tapping, oh!"
21:05:02 -!- MigoMipo has quit (Read error: Connection reset by peer).
21:05:17 <Deewiant> That's less direct a translation but equally valid I suppose
21:05:27 * uorygl nods.
21:07:05 -!- cal has joined.
21:07:05 -!- cal has quit (Client Quit).
21:08:55 <alise> Deewiant: you should host an .html file for me. In return, I will grant you: ONE (1) KITTEN UNICORN
21:09:15 <Deewiant> Sounds nifty. What .html?
21:09:46 <alise> It's called files-suck.html and it is about how files suck.
21:09:57 <alise> Yes, I realise that it is itself a file.
21:10:02 <alise> I blame society^Woperating systems.
21:10:28 <Gregor> lawl, I'd love to see this :P
21:10:30 <Deewiant> You want this permanently hosted or why're you asking me?
21:11:17 <alise> Well, because I'm not entirely sure who else to ask. There isn't an htmlpaste.org or anything :P
21:11:29 <alise> Gregor: THEN HOST IT
21:11:40 <pikhq> There should be an htmlpaste.org.
21:11:44 <Deewiant> Does it lose much in plaintext form, then? :-P
21:11:56 <alise> Beautiful typography :|
21:12:05 -!- augur has quit (Read error: Operation timed out).
21:12:13 <alise> And ITALICS
21:12:51 <Deewiant> I'll host it if I get to put a CSS saying * { font-family: monospace } associated with it
21:13:01 <alise> If you do that I verily will cry
21:13:23 <Gregor> How about font-face: Comic Sans
21:13:35 <Deewiant> That works too I suppose
21:13:35 <alise> "Google is working on strong AI in the same way that NASA is working on interplanetary travel. Not yet, but...someday. They're working on the smaller problems that need solving, and eventually they'll put it all together." —Norvig
21:13:35 <alise> I sure hope they know how to make individual components Friendly.
21:13:40 <alise> Gregor: HOST IT
21:13:54 <alise> uorygl: Host it — in SPACE.
21:14:33 <Gregor> Can I host it at http://codu.org/stupid-nonsense/files-suck.html
21:14:40 <uorygl> Host what?
21:15:01 <alise> uorygl: It's an .html file.
21:15:30 <uorygl> Host it on Normish.
21:15:57 <alise> But I forgot every single thing about Normish.
21:16:42 <uorygl> Like its IP address?
21:16:48 <alise> Well, for one.
21:17:00 <uorygl> Its IP address can be found somewhere in #rootnomic.
21:17:28 -!- dev_squid has quit (Ping timeout: 260 seconds).
21:18:15 <AnMaster> why isn't there Comic Sans Mono?
21:18:18 <AnMaster> I mean, combine them
21:18:21 <Gregor> X-D
21:18:25 <Gregor> Best worst idea ever.
21:18:31 <alise> ow
21:18:40 <uorygl> I ostensibly own normish.org and all, but I can't be bothered trying to figure out who I have it registered with.
21:18:48 <AnMaster> Gregor, should be a bitmap font of course
21:18:52 <AnMaster> :D
21:19:06 <Gregor> YES.
21:19:36 <AnMaster> Gregor, and the official name should he the full old style X font string
21:19:45 -!- dev_squid has joined.
21:19:47 <Gregor> YES. YES YES YES.
21:20:00 <Gregor> AnMaster: You are my temporary hero. :P
21:20:09 <AnMaster> Gregor, and we should force alise to actually make this font for us
21:20:14 <AnMaster> in return for hosting that thing
21:20:24 <AnMaster> (and that thing should be forced to use this font)
21:20:34 <AnMaster> of course, it had to be done propertly according to specs
21:20:39 <pikhq> alise: I suggest a data URL.
21:20:40 <Gregor> Because finding a way to host a file is sooooo difficult :P
21:20:41 <dev_squid> Befunge question. What's a good tactic to use when you're trying to print a fixed number of ASCII characters from the stack?
21:20:42 <dev_squid> Fixed.
21:20:46 <alise> pikhq: Way too big
21:20:57 <uorygl> Point a CNAME record at a data URL.
21:21:02 <AnMaster> dev_squid, why fixed? But for 98? k
21:21:07 <uorygl> :P
21:21:15 <Deewiant> dev_squid: Befunge-98: push the number of characters minus one, then use "k," (without the quotes)
21:21:22 <AnMaster> dev_squid, for 93, I would do a 0gnirts instead
21:21:33 <pikhq> alise: Oh, hey. http://pastehtml.com/
21:21:35 <Gregor> uorygl: CNAMEs don't point at URLs
21:21:48 <alise> pikhq: The main person who needs it may technically already have it.
21:21:51 <alise> >_>
21:22:08 <uorygl> Hence the :P
21:22:15 <dev_squid> AnMaster, 0gnirts?
21:22:26 <AnMaster> dev_squid, 0"string goes here"
21:22:29 <pikhq> So, yeah. Pastey?
21:22:29 <Deewiant> dev_squid: 0-terminated string stored last-to-first
21:22:38 <AnMaster> dev_squid, well that is 0"gnirts" of course
21:22:42 <Deewiant> I.e. first character on top, so it's easy to print
21:22:45 <AnMaster> Deewiant, then you can use the common idiom for it
21:22:53 <dev_squid> AnMaster, yep. Okay. :)
21:22:53 <AnMaster> Deerr
21:22:54 <AnMaster> err
21:22:55 <Deewiant> AnMaster: I know this.
21:22:55 <AnMaster> dev_squid, ^
21:22:57 <Deewiant> :-P
21:23:02 <AnMaster> De<tab> :P
21:23:06 <AnMaster> and "last spoke"
21:23:22 <AnMaster> dev_squid, anyway: the idiom being >:#,_
21:23:25 <Deewiant> Maybe you should read what you type
21:23:31 <AnMaster> (mirrored and vertical versions exist)
21:23:37 <dev_squid> AnMaster, oh, I'm so dumb. I was thinking "Crap, if I use >:#,_ then I'll run into my other data"
21:23:45 <dev_squid> I just push a 0 before...*facedesk*
21:23:46 <AnMaster> Deewiant, no, I read what other people say while I'm typing
21:23:46 <dev_squid> :)
21:24:07 <Deewiant> AnMaster: Maybe you should glance over your line on occasion
21:24:15 <Deewiant> I have no trouble reading both at once
21:24:30 <uorygl> Just point one eye at each thing you want to look at.
21:24:31 <AnMaster> Deewiant, well sure, but then you have to disconnect your eyes
21:24:39 <AnMaster> uorygl, hah, beat you to it!
21:24:42 <AnMaster> by half a second
21:24:45 <uorygl> On the contrary.
21:25:01 <Deewiant> AnMaster: You lost from my POV
21:25:05 <AnMaster> uorygl, well, lag means we will never know
21:25:14 <AnMaster> who was truly first
21:25:20 <AnMaster> * Ping reply from uorygl: 1.08 second(s)
21:25:39 <uorygl> I have about a hundred milliseconds of "extra" lag.
21:25:43 <Deewiant> More like there is no "truly first"
21:25:53 <AnMaster> Deewiant, oh?
21:25:56 <alise> Why Files Suck: http://pastehtml.com/view/5tmr7u1.html
21:26:01 <alise> Have at it, you gallery of peanuts.
21:26:12 <AnMaster> alise, why is it like very narrow
21:26:14 <AnMaster> it looks weird
21:26:17 <AnMaster> in my browser
21:26:20 -!- cpressey1 has joined.
21:26:26 <alise> 30em ~= 10 words a line ~= best typographical reading width.
21:26:30 <alise> Look at a book's width sometime.
21:26:34 <AnMaster> alise, why not center it in the window
21:26:40 <AnMaster> rather than have it aligned out at the edge
21:26:50 <AnMaster> that way I have to turn my head slightly to read it
21:26:50 <alise> Dunno. Didn't feel like it. Would look weird with ragged-right text, anyway.
21:27:02 <AnMaster> not comfortable for long sections
21:27:13 <AnMaster> alise, why not adjusted margins?
21:27:33 <alise> Browsers are really, really bad at justified text.
21:27:36 * AnMaster is forced to un-maximise browser window and move it so the text is near the middle
21:27:45 <alise> Oh, the horror.
21:27:46 <AnMaster> alise, why don't they just implement the TeX algo?
21:27:51 <alise> Because that's hard.
21:28:33 <uorygl> "A superior way to represent [a collection of unordered photos] would be as an unordered bag."
21:28:37 <uorygl> How would that be easier for anyone?
21:28:53 <Deewiant> My browser size was already 797x358 or thereabouts
21:28:55 <AnMaster> alise, indeed. You know why Hitchcock never made a horror/thriller about unmaximising the browser window?
21:29:02 <AnMaster> alise, well, because it was too horrible of course
21:29:05 <dev_squid> Just double-checking...if I use a null-terminates string with >:#,_ the 0 will be popped off, right?
21:29:09 <alise> Or because they didn't have browsers then :P
21:29:14 <AnMaster> alise, well that too
21:29:30 <alise> uorygl: No needless arbitrary naming with the disadvantages given; it fundamentally is an unordered bag
21:29:34 <Deewiant> dev_squid: No, it won't.
21:29:41 <AnMaster> dev_squid, well, yes but also duplicated before that
21:29:43 <Deewiant> Append a $ for that
21:29:46 <AnMaster> so there will be one zero at the end
21:29:51 <alise> uorygl: Anyway, I think I come back to that later. Maybe.
21:29:57 <AnMaster> Deewiant, the zero *will* be popped off, just not the last zero
21:30:01 <AnMaster> since it was duplicated
21:30:12 <Deewiant> AnMaster: "the" zero that was there originally is not popped off
21:30:16 -!- cpressey has quit (Ping timeout: 268 seconds).
21:30:27 <uorygl> alise: so the lack of any way to refer to a specific file using a string makes things easier for the user?
21:30:28 <dev_squid> AnMaster, oh I see.
21:30:30 <AnMaster> Deewiant, well, depends on how : is implemented
21:30:31 <AnMaster> :P
21:30:45 <Deewiant> Semantics, not implementation details, please.
21:30:54 <alise> uorygl: Meaningless. My proposed system has no "files".
21:31:06 <uorygl> alise: so the lack of any way to refer to a specific photo using a string makes things easier for the user?
21:31:06 <alise> Anyway read the rest before making a judgement based on the incomplete impression of the proposed system you have
21:31:14 <uorygl> Sure.
21:31:16 <alise> uorygl: I never suggested there was such a lack.
21:31:19 <AnMaster> dev_squid, but Deewiant's answer is actually more useful than mine. Mine is just trying to answer to something else by exploiting loopholes in the question :P
21:31:26 <alise> Anyway, it does not propose a solution.
21:31:33 <alise> It says /why/ we need a solution, and some aspects it should have.
21:32:08 <dev_squid> Okay, so to review, the right-to-left version of >:#,_ is _!,#: right?
21:32:13 -!- cpressey1 has changed nick to cpressey.
21:32:15 <Deewiant> Nope
21:32:41 <AnMaster> alise, photos often have inherent ordering due to "taken before/after"
21:32:49 <Deewiant> dev_squid: It's _,#! #:<
21:32:53 <alise> That's one particular ordering you can give them.
21:33:00 <alise> Not an /inherent/ ordering.
21:33:04 <AnMaster> alise, the one the camera gives them and a rather useful one
21:33:10 <AnMaster> but sure
21:33:51 <dev_squid> Deewiant, yeah, I just found the flaw. :)
21:34:23 <AnMaster> alise, also, for many purposes a directory/file name model fits very well
21:34:43 <alise> AnMaster: Firstly, no it doesn't. Secondly, that doesn't mean there aren't better structures.
21:34:52 <AnMaster> alise, like, "project/{source_data.csv, report.tex}"
21:34:54 <AnMaster> or such
21:35:02 <alise> Sure. That's just a hierarchy.
21:35:10 <AnMaster> of course, the file extension is another matter
21:35:18 <alise> Here it is in OOP: project.source_data is-a Table
21:35:23 <alise> project.report is-a TypesetDocument
21:35:32 <alise> OOP is just one way you could represent that, of course.
21:35:36 <AnMaster> alise, typeset with what system
21:35:42 <alise> It was an example, dammit.
21:35:45 <AnMaster> :P
21:35:59 <uorygl> So, you say that a superior way to represent the collection of photos would be as an unordered bag.
21:36:10 <AnMaster> alise, why not Document.Type.TypesetDocument.TeX.LaTeX? :P
21:36:14 <uorygl> A directory full of files *is* an unordered bag, except that each file has a unique label.
21:36:24 -!- augur has joined.
21:36:31 <uorygl> As far as I know, those labels never get in the way of anything.
21:36:42 <alise> uorygl: Here is an example path — just one of many possible sort of syntaxes — you could use.
21:36:43 <AnMaster> alise, as opposed to Document.Type.TypesetDocument.TeX.ConTeXt or Document.Type.TypesetDocument.roff.nroff
21:36:54 <alise> photos.select {takenAt==exactTimestamp}
21:36:56 <AnMaster> (or should that last one just be troff?)
21:37:00 <alise> Perhaps my example was not the best.
21:37:05 <alise> My other points apply regardless, though.
21:37:06 <AnMaster> alise, ah, object database
21:37:09 <AnMaster> I see what your aim is
21:37:13 <alise> AnMaster: No, that's ONE EXAMPLE.
21:37:14 <alise> I hate OOP.
21:37:16 <alise> I don't want OOP.
21:37:19 <AnMaster> ah okay
21:37:21 <alise> But most people understand OOP.
21:37:33 <alise> Most people wouldn't understand my system without lots of backstory to how it works :P
21:37:34 <AnMaster> alise, anyway the file name isn't used to order the files
21:37:45 <alise> Never said it was.
21:37:54 <uorygl> I guess programs have a reason for storing stuff in databases rather than directly in files.
21:38:04 <alise> In a collection of photos, no photo has an inherent “name” — one must be constructed from some arbitrary properties of the photo. If the properties are not chosen well enough, there might even be conflicts. These are usually resolved by appending a meaningless number to the photo considered later — even though there is no inherent ordering.
21:38:06 <alise> The point is
21:38:11 <alise> we save photos to disk in a certain arbitrary ordering
21:38:23 <alise> we append -1,-2, etc when we've already seen a photo with the same generated name
21:38:28 <AnMaster> uorygl, well, ACID is a pretty good reason for some usages
21:38:35 <alise> but "which ones have -1" is completely arbitrary and stupid
21:38:37 <alise> because there is no ordering
21:38:44 <alise> we're exposing an implementation detail of the disk-saver
21:39:00 <uorygl> Hmm, I like the idea of not exposing implementation details.
21:39:17 -!- MigoMipo has joined.
21:39:26 <AnMaster> alise, there are good reasons to store images as png rather than raw uncompressed bits
21:39:32 <alise> AnMaster: Read on.
21:39:33 <alise> Read on.
21:39:37 <alise> Read the whole section before commenting! Jesus.
21:39:51 <alise> It's not a long article, and it covers that point :P
21:39:55 <AnMaster> alise, also, what is the image format you suggest? What about 32 bit floating point numbers per channel?
21:40:01 <alise> READ
21:40:01 <alise> ON
21:40:16 <uorygl> Reading about Objective-C and how "transparent" it is really made me...
21:40:24 <dev_squid> Just one more question. What if I want to subtract a number and an already-pushed number in the reverse order that - does the job?
21:40:25 <alise> uorygl: ...ontologise?
21:40:30 <uorygl> Think about C and its pointers and how they're really inconvenient for a certain niche purpose.
21:41:03 <alise> Also, although I doubt anyone here will ever want to link to this piece of complete and utter tripe :P, http://catseye.tc/ehird/files-suck.html is now a more permanent home for it. Thanks cpressey!
21:41:40 <AnMaster> alise, if I just dumped some of those panoramas I made to disk I would get images half a GB large. That is why you use deflate on them. Even between the programs used to operate on said files.
21:41:49 <alise> Okay, I will say this one last time.
21:42:04 <AnMaster> I'm at the next section now
21:42:04 <alise> Until you read the entire thing /I will not answer anything more you say about it/ because this is /covered/.
21:42:52 <AnMaster> "Surely the very fact that we so often forget to save our files should set alarm bells off in the mind of anyone who wants to improve user interfaces."?
21:42:54 <AnMaster> that isn't true
21:43:02 <AnMaster> I usually save every half minute or such
21:43:13 <Deewiant> "We" is not "you"
21:43:36 <AnMaster> Deewiant, you forget to save files?
21:43:44 <AnMaster> I never met anyone that had that issue mentioned there really
21:43:46 <Deewiant> "We" is not "me" either
21:44:14 <Deewiant> I've heard of people losing significant amounts of data come power failure or similar
21:45:20 <AnMaster> so I read it all
21:45:31 <AnMaster> alise, how would this transparent compression/parsing work then?
21:45:56 <AnMaster> alise, would it be in the OS?
21:46:00 <AnMaster> alise, now I read it all
21:46:03 <AnMaster> so you have to answer
21:46:25 <Gregor> alise's wording is so hilariously whiny that it's hard to figure out what parts are the actual arguments and which parts are just whining :P
21:46:32 <AnMaster> Gregor, true
21:46:46 <AnMaster> and the whole thing breaks down because there aren't common formats for many purposes
21:47:21 <AnMaster> would there be a OS level supported document.cas for mathematica and maxima?
21:47:34 <AnMaster> (never mind that those aren't compatible in design at all)
21:47:53 <AnMaster> and then, png can't be used for HDR images
21:48:04 <AnMaster> due to a lack of support for such things as floating point values per channel
21:48:44 <AnMaster> and the number of data formats that could be somewhat commonly supported is huge. And should you use lossy or loseless?
21:49:00 <alise> Presumably, mathematica has a data structure it stores notebook files in.
21:49:24 <AnMaster> alise, also png doesn't support layers for example
21:49:36 <AnMaster> would you use xcf or psd? Or something that supported both?
21:49:57 <alise> You assume that there is one single type to represent images for everyone.
21:50:01 <AnMaster> alise, no
21:50:02 <alise> You assume there is only one format per single type.
21:50:03 <AnMaster> I don't
21:50:09 <alise> Yes you do because your arguments are based on that.
21:50:15 <AnMaster> but I point out that apart from common data interchange formats this breaks down
21:50:35 <alise> "[21:47] AnMaster: and then, png can't be used for HDR images"
21:50:40 <alise> So HDRImage doesn't support the PNG backend.
21:50:51 <AnMaster> alise, What exactly is HDRImage?
21:50:55 <AnMaster> that sounds like a single thing
21:50:57 <AnMaster> which it is not
21:51:03 <alise> And if you want to process HDR images in a special way that some standard HDRImage class wouldn't work for, just have your own HDRImage in your thing.
21:51:14 -!- ruhtranayr has joined.
21:52:43 <AnMaster> alise, sorry, but that statement doesn't mean anything until you define what you suggest a "standard HDRImage class" would be able to do
21:52:49 <alise> Not a class.
21:52:59 <AnMaster> alise, I copied that from you
21:53:02 <alise> The vector class in a standard library may not be appropriate for all uses of vectors.
21:53:09 <AnMaster> indeed
21:53:10 <alise> Which is why you make your own if it's not suitable.
21:53:12 <alise> Duh.
21:53:35 <AnMaster> alise, well, but point is then you need to define your own way to serialise it
21:53:41 <alise> No.
21:53:54 <alise> All objects have a common serialisation format. If you want to use the standard image backends, call them according to their interface.
21:53:56 <AnMaster> because what you don't want to do is store any HDR image raw.
21:54:00 <dev_squid> My second Befunge program. :)
21:54:01 <dev_squid> http://pastie.org/850663
21:54:05 <AnMaster> that 500 MB is *after* deflate
21:54:06 <AnMaster> not before
21:54:10 <alise> See above.
21:54:14 <AnMaster> before is several times larger
21:54:25 <AnMaster> alise, then you need to interface with it
21:54:34 <pikhq> AnMaster: Deflate is a piss-poor compression format for most anything. ;)
21:54:48 <alise> AnMaster: Trivial. Defining such a custom representation should not be very common, anyway.
21:54:53 <alise> There will be a library entirely for it, most likely.
21:54:53 <AnMaster> pikhq, you know png uses it? And that works out quite well
21:54:55 <Deewiant> dev_squid: Note that if you don't really have a need to head left after printing, you can also use >:#,_v#: which heads down at the v when it's done
21:55:12 <pikhq> AnMaster: Still crap.
21:55:16 <alise> pikhq: I take it you, being sane, have mostly no objections to the article :P
21:55:23 <AnMaster> pikhq, also, since tiff is the common format here, you have basically packbits, lzw deflate to select from
21:55:30 <pikhq> alise: Eh, it's a bit whiny. But *shrug*.
21:55:31 <AnMaster> pikhq, and there, deflate beats the other ones
21:55:41 <alise> I meant the contents, not the whininess.
21:55:48 <pikhq> Mmm.
21:55:52 <pikhq> Not especially.
21:56:25 <alise> I didn't write it to be whiny, anyway. Maybe it's just because I'm almost certain I'm right :P
21:56:30 <AnMaster> alise, I always found file systems a very nice way to organise data though. *shrug*
21:56:34 <alise> Either that or I'm inherently whiny.
21:56:39 <AnMaster> alise, the latter!
21:56:57 <alise> AnMaster: 1, you don't know any better systems. 2, we've established that you're basically designed for using Unix.
21:56:58 <AnMaster> alise, also, go implement it
21:57:02 <pikhq> AnMaster: I find that file systems work very well for organising very specific forms of data.
21:57:03 <alise> That just makes /you/ faulty. :-)
21:57:04 <alise> AnMaster: I am.
21:57:11 <AnMaster> alise, I do like plan9 though
21:57:12 <pikhq> Anything inherently hierarchical, basically.
21:57:14 <alise> I have to write the principles to create a design to implement it.
21:57:27 <alise> pikhq: Which is no reason to make everything a tree, of course.
21:57:33 <AnMaster> alise, I just don't want to use it for daily use due to the lack for certain things, like supporting my disk controller
21:57:39 <cpressey> I find that hierarchical file systems fail where hierarchies fail.
21:57:40 <pikhq> alise: Yes. Just saying they work very well when a tree is natural. ;)
21:57:45 <AnMaster> (at least last I checked)
21:57:50 <alise> Trees: Good for representing trees.
21:57:54 <AnMaster> pikhq, yes
21:58:00 <pikhq> alise: Yes.
21:58:09 <alise> Yes.
21:58:48 * pikhq would like to see an OS where you just stick values in data structures when you want them to be organised somehow.
21:59:16 <AnMaster> pikhq, that is scheduled to be invented right after the "do what I mean" operation
21:59:19 <dev_squid> What if I "p" a null or non-printable ASCII character to a position? Will the rest of the line shift left?
21:59:19 <alise> Hi, my OS here. I'd ask you to purchase me, but it's free.
21:59:26 <alise> AnMaster: What? You believe serialising data structures is hard?
21:59:28 <AnMaster> pikhq, still a few years off sadly :P
21:59:33 <pikhq> Uh.
21:59:35 <AnMaster> alise, no...
21:59:39 <alise> Orthogonal persistence: Yeah, serialise objects to disk. Easy.
21:59:44 <pikhq> I'm asking for freaking Smalltalk.
21:59:48 <alise> A user interface where you create a data structure: That's what ... most UIs are.
21:59:55 <AnMaster> pikhq, ah, then I misunderstood you
22:00:18 <pikhq> I just want to say "I want these images organised into a single group. I'll stick them into a bag."
22:00:31 <AnMaster> pikhq, I thought you meant like "here are some data structures with values, organise them in a sensible way"
22:00:49 <pikhq> Nope. I want "Here are some values, stick them into this data structure."
22:00:50 <alise> my os is #usys btw, in case i haven't said that enough already
22:01:11 <AnMaster> pikhq, well, try mov ;P (intentional misinterpreting)
22:01:38 <pikhq> "Saving"? Bah. That's sync.
22:01:54 <alise> Saving? Bah. That's done quicker than you can even notice.
22:01:58 <AnMaster> actually saving makes sense sometimes
22:02:02 <alise> By the computer.
22:02:04 <AnMaster> consider a database transaction
22:02:10 <AnMaster> you want things either complete or not done at all
22:02:13 <cpressey> "Saving" is an action derived from my level of interest in the data.
22:02:15 <AnMaster> of course, that isn't the common case
22:02:27 <alise> Incidentally, such an "auto-saving" system of course requires revision history.
22:02:32 <dev_squid> What if I "p" a null or non-printable ASCII character to a position? Will the rest of the line shift left, potentially changing program flow? o.o
22:02:39 <alise> Or just deleting the entire contents of a document would permanently erase it; obviously untenable.
22:02:43 <pikhq> alise: I'm saying "Saving? Isn't that just making 100% sure it's on disk? ... So, sync()."
22:02:46 <alise> So we have everything versioned!
22:02:46 <AnMaster> alise, you know how long saving a 700 MB image in RAM to disk takes?
22:02:47 <alise> Woo hoo
22:02:54 <cpressey> dev_squid: No, you just get a weird character at that location.
22:03:03 <AnMaster> alise, even with no compression
22:03:07 <alise> AnMaster: One, deduplicative storage (plan 9 already does basically what i'm saying and it uses deduplicative storage
22:03:08 <alise> )
22:03:10 <alise> Two, background tasks
22:03:16 <alise> Three, compression if it would work well
22:03:16 <cpressey> dev_squid: You can read it back with "g", or try to execute it (at your peril) :)
22:03:27 <pikhq> AnMaster: More than it takes to record a 10k modification transaction to that image on disk. :P
22:03:41 <AnMaster> alise, 1) doesn't really work well when the data moved inside a block (and you can't do it per byte for obvious reason)
22:03:51 <alise> AnMaster: Yes it does.
22:03:57 <alise> Log storage.
22:04:02 <cpressey> Four, it's stored in the cloud anyway.
22:04:08 <alise> These are solved problems. :)
22:04:13 * alise stabs cpressey to death. Fatally!
22:04:17 <cpressey> Argh!
22:04:29 <AnMaster> pikhq, well sure... that would take long to rerun! That switch from one colour space to another
22:04:33 <AnMaster> changing all the values
22:04:36 <AnMaster> pikhq, :P
22:04:54 <alise> I think it's safe to just assume that for anything even remotely in this vicinity, "AnMaster doesn't get it" is pretty axiomatic
22:05:02 * cpressey tries to regain credibility by explaining it's an actual cloud
22:05:22 <alise> cpressey: I like your thinking.
22:05:23 <AnMaster> alise, I do see how it works for some cases. I just think the problems it solves are less than the new problems it introduces
22:05:26 <alise> You're promoted
22:05:32 <pikhq> AnMaster: So clearly if you want fast access, you then have (in the background) a write of the switched-colour-space file.
22:05:45 <alise> AnMaster: The existence of Plan 9 and its use by people for actual work using venti/fossil prove that this is a solved problem.
22:05:53 <alise> Because it does exactly this method of deduplicative storage.
22:06:03 <AnMaster> alise, I never said venti was bad. On the contrary
22:06:05 <AnMaster> I love venti
22:06:06 <alise> Solved problem. Seriously. Not interesting. No point discussing, because it's solved.
22:06:11 <alise> AnMaster: IT DOES EXACTLY WHAT I'M SAYING!
22:06:13 <AnMaster> I just think there are good and bad usages for it
22:06:17 <pikhq> And if you wish to save space somehow, then you make the previous modification into a modification transaction that undoes that.
22:06:22 <alise> You haven't even used it for serious stuff
22:06:28 <alise> you just read about it on wikipedia, anyway
22:06:38 <dev_squid> cpressey, cool, cool. A VERY neat thing would be being able to "p" a some char to a line, shifting the rest of the line left. That'd make for some very cool SMC. :)
22:06:39 <AnMaster> alise, I have used it in qemu
22:06:45 <AnMaster> and I liked it
22:06:47 <alise> Yeah, to create a hello world file
22:07:01 <AnMaster> alise, ... why do you love making up shit?
22:07:01 <Deewiant> dev_squid: The TOYS fingerprint has instructions for shifting lines and columns
22:07:29 <alise> AnMaster: Because I realised this conversation was fruitless some years ago
22:07:55 <AnMaster> alise, maybe you would get more people interested if you wrote it in a less whiny style
22:08:02 <AnMaster> it shouldn't be hard
22:08:39 <alise> It's only whiny insofar as I've thought about these concepts for ages and ages now so my presentation isn't very gentle
22:08:51 <alise> If I wanted to be a describer I wouldn't be a programmer
22:09:21 <AnMaster> alise, further, yes I agree on *some* points, but far from all. Most importantly that while I agree file systems are suboptimal, they are better than the alternatives I have seen so far (venti is nice for some purposes, but have fun using it a partition with scratch data, like /tmp)
22:09:29 <dev_squid> How are the coordinates calculated for "g" and "p"? 0,0 | 0,1 // 1,0 | 1,1 ?
22:09:32 <dev_squid> :)
22:09:44 <dev_squid> That being the first line, first character. :|
22:09:55 <alise> AnMaster: Of course existing solutions suck, that's why I'm building a better one
22:10:02 <alise> If there was an OS that didn't suck I wouldn't be making one
22:10:04 <AnMaster> alise, describe it
22:10:16 <AnMaster> on a concrete level
22:10:25 <alise> I haven't fully formulated it yet, only several outline designs, some concrete details, and some plans to combine them.
22:10:37 <AnMaster> okay, that's a good start I guess
22:10:43 <alise> So what the fuck am I meant to do, ignore the problem just because I'm not some magician who can pull a fully concrete solution out of thin air? No
22:10:45 <AnMaster> but can you provide the outline
22:10:56 <Gregor> alise: There's a difference between blunt and whiny.
22:10:58 <alise> I do wonder if I'm patient enough but I could explain one.
22:11:02 <alise> Gregor: Yeah, well, I'm whiny.
22:11:04 <AnMaster> Gregor, agreed
22:11:11 <alise> Deal with it. :p
22:11:25 <AnMaster> well, we can whine about you being whiny, can't we?
22:11:29 <AnMaster> that way it evens out at least
22:11:42 <Gregor> alise: If you want our opinion, it is not our job to conform to you, it is your job to conform to us. And if you don't want our opinion, then why did you publish that file in here?
22:11:53 <alise> I wrote it for one person actually per their request
22:11:57 <alise> I posted it because I felt like it.
22:12:13 <alise> Perhaps somebody would be converted.
22:12:17 <alise> AnMaster: Sure.
22:12:57 <alise> I'll only explain the design in #usys because it'll be bad enough dealing with one set of stupid questions (I am a lovely and compassionate person)
22:12:58 <Gregor> If you have any desire to convert anybody, you'll have to write something a hell of a lot more compelling. I have no idea if the actual concepts you espouse are flawed, because I can't find them, I can only find your complaints about files, most of which seem to me to be unfounded and shortsighted.
22:13:15 <alise> Gregor: Just like your mom
22:13:23 <cpressey> "Author does not appear to have defined a reduction for *[a b], which appears to render much of the post meaningless. Too much raw pork & opium?"
22:15:00 <AnMaster> alise, and, most data I need to store tends to form a tree. Even photos. It goes like panoramas/<project-name>/{output/final.tiff,{raw,intermediate}/<exposure>/<number from order taken in, yes this matters for me, otherwise it would be hard to get the images in the panoramas in the right order>}
22:15:16 <alise> so store it in an ordered list
22:15:26 <AnMaster> alise, the last part, sure, that could work for it
22:15:33 <AnMaster> the previous parts form a neat tree
22:15:35 <alise> and so store it as a tree-like structure
22:15:50 <alise> but if trees containing strings are so good, why don't you program in them?
22:15:57 <alise> Why do you use data structures, types, depending on the need?
22:16:04 <AnMaster> alise, but then, why should I have to bother about data types. Which way is fastest for me to do it in?
22:16:21 <alise> So, what, you don't like C and Erlang? They have data structures, you know.
22:16:36 <AnMaster> alise, I don't feel a need to program my file system
22:16:43 <AnMaster> as in, I don't see it as a programming language
22:16:56 <alise> Your data structures in your program are the exact same kind of data as on a filesystem.
22:17:04 <AnMaster> in some ways yes
22:17:10 <alise> In fact I really should heed my realisation that this is fruitless and stop talking.
22:17:11 <AnMaster> alise, but what about taking notes on paper
22:17:18 <AnMaster> do you organise it in data types there?
22:17:24 <AnMaster> or do you just write it down
22:17:24 <alise> >_<
22:17:25 <alise> You're an idiot.
22:17:41 <AnMaster> alise, no, the analogy is just as bad as your one
22:17:46 <AnMaster> well, okay, it is a parody of your
22:17:50 <AnMaster> so somewhat worse
22:17:53 <alise> If writing to paper involved taking all the things you're going to talk about and organising them into one, single-d alphabet with little relation to the actual semantics... sure.
22:17:54 <AnMaster> not much though
22:18:07 <alise> Do you convert a mathematical formula before writing it down? No, you just write it down.
22:18:08 <AnMaster> alise, no I meant, writing down notes during a lecture
22:18:10 <alise> It is structured.
22:19:23 <AnMaster> alise, yes, but hardly in the way you suggest
22:19:29 <AnMaster> now I'm going to sleep
22:19:31 <AnMaster> night →
22:19:41 <alise> Thank god, the tedium is over.
22:19:59 <alise> I should have stuck to keeping everything about the OS private, but that just resulted in "hur where's your os mr project b slo".
22:20:12 <pikhq> alise: Eh, just write some code. :P
22:20:54 <alise> To do what? Until I can answer that question it is hopeless.
22:25:17 <alise> I do have a general idea how the system should be structured
22:25:24 <alise> s/ $/, though./
22:26:05 -!- Oranjer has joined.
22:43:53 -!- MizardX has quit (Ping timeout: 260 seconds).
22:46:33 <alise> Maybe I need to write Why Files Suck 2: Electric Boogaloo^W^WThe Better System
22:48:02 -!- MigoMipo has quit (Remote host closed the connection).
22:48:50 <Oranjer> do it
22:48:59 <alise> no, too much work.
22:50:01 -!- coppro has joined.
22:50:35 <Oranjer> well, don't write it, just sketch it out
22:51:08 -!- tombom_ has quit (Quit: Leaving).
22:54:48 <alise> Meh. I'd prefer to work on the actual system.
22:55:46 <Oranjer> then do that
22:57:28 -!- Asztal has joined.
22:58:39 <alise> I am. Sort of.
22:59:12 <Oranjer> yay
22:59:13 -!- Azstal has quit (Ping timeout: 265 seconds).
23:02:30 -!- Azstal has joined.
23:04:37 -!- Asztal has quit (Ping timeout: 268 seconds).
23:08:57 -!- oerjan has joined.
23:10:11 -!- Gracenotes has joined.
23:10:23 <oerjan> <alise> I started defining an extension of the rationals with n/0, then I ended up having to define 0/n as special too. Now I'm having to define 0 =/= -0.
23:10:37 <oerjan> have you looked at wp:Wheel Theory ?
23:10:39 <Gregor> NULLITY
23:10:55 <oerjan> (essentially the same as nullity, but sane)
23:11:46 <oerjan> iirc about that nullity thing and it's 0/0 != 0/0
23:11:51 <oerjan> *its
23:12:33 <oerjan> although i _think_ it has only 0/0 and 1/0 for the rationals
23:14:31 <oerjan> s/it/wheel theory/
23:16:29 <alise> I assume they satisfy 0*(n/0) = n.
23:16:42 <oerjan> <dev_squid> I want to learn an esolang that's fun and makes programming a challenge. Any suggestions?
23:16:53 <oerjan> no one seems to have mentioned unlambda yet
23:17:31 <oerjan> alise: i guess it's all in what algebraic properties you preserve and which you discard
23:19:49 <oerjan> yours is going to break at least one of associativity and commutativity i think
23:20:46 <oerjan> 0*0 = 0 => n = 0*(n/0) = 0*0*(n/0) = 0*n = 0
23:21:10 <alise> 0*n =/= 0 in general
23:21:25 <oerjan> even for n an ordinary rational?
23:21:28 <alise> in fact there is no real one "0"
23:21:35 <alise> although 0/1 is usually what you think of
23:21:37 <alise> there's 0/n for all n
23:21:40 <oerjan> oh well
23:21:47 <alise> 0/0 is special though... and behaves rather erratically
23:22:47 <oerjan> well something's going to be
23:23:10 <alise> oh, and 0/n != 0
23:23:28 <alise> because (n/0)^-1 = 1/(n/0) = 0/n and so (0/n)*(n/0) = 1
23:23:30 <oerjan> hm i guess that's obvious
23:24:00 <alise> I determined, I think using regular rational addition, that (m/0)+n = (m+n)/0, also
23:24:24 <alise> When you start doing things like (3/0)/(0/0)*(0/3), though, I have no fucking clue what the result is
23:24:45 <oerjan> that sounds like one of the wheel theory axioms
23:25:23 <alise> I derived it :P
23:25:48 <oerjan> hm not quite
23:26:46 <alise> if (x/0) exists then (x/0)^-1 exists. n^-1 = 1/n. 1/(x/y) = y/x. x*(1/x) = 1. therefore (x/0)^-1 = 0/x, and (0/x)*(x/0) = 1
23:27:36 <Gracenotes> what is this about (x/0) existing?
23:27:56 <oerjan> if that's associative and commutative, then everything having an inverse forms a group
23:27:58 <Oranjer> hahah
23:28:27 <alise> Gracenotes: Step 1. Define x/0 to work. Step 2. Find a contradiction. Step 3. Mess with shit until it works. Step 4. Go to step 2.
23:28:53 <alise> Oh, and if you ever end up messing with shit so that 0 =/= -0, you lose. Mess with some other shit.
23:29:02 <Gracenotes> so what is the shit you've messed with
23:29:23 <alise> Well...
23:29:28 <Gracenotes> ℝ \ {0} is a group btw :o
23:29:29 <alise> We'll do it in terms of multiplicative inverse.
23:29:49 <alise> 0^-1 = 1/0
23:30:00 <alise> (1/0)*0 = 1
23:30:13 <alise> (n/0)^-1 = 1/(n/0) = 0/n
23:30:19 <alise> (0/n)*(n/0) = 1
23:30:34 <alise> ((use the definition of rational addition here to derive:))
23:30:45 <alise> (m/0)+n = (m+n)/0
23:30:53 <alise> And so on.
23:33:08 <alise> I'll leave oerjan to find the next contradiction :P
23:33:28 <alise> Oh, and n*(0/n) = 0. Obviously.
23:33:39 <alise> Otherwise it wouldn't be division, would it? :P
23:34:13 <alise> n*(0/n) = 0, 0*(n/0) = n. Plugging in n=0, we get overwhelming support in favour of 0*(0/0) = 0.
23:34:26 <alise> Since we have 0/n for every other n, we have 0/0 too.
23:34:30 <alise> I forget exactly how it's special.
23:34:51 <oerjan> i cannot deduce contradictions without axioms
23:34:52 <alise> (0/0)^-1 = 1/(0/0) = 0/0
23:34:57 <alise> so (0/0)*(0/0) = 1
23:35:05 <alise> oerjan: Infer them sucka :P
23:35:27 <oerjan> i am going to assume that multiplication is an abelian group
23:35:37 <alise> Hey, that gives you 0/0 = 1, pretty trivially.
23:35:44 <oerjan> hm yeah
23:35:45 <alise> But that breaks things so ssssh
23:35:49 <oerjan> oh
23:35:50 <alise> (I think it does, at least.)
23:35:57 <alise> I haven't found any breakage
23:36:01 <alise> so feel free to assume 0/0 = 1 :P
23:36:01 <oerjan> well then i found one didn't i >:)
23:36:19 <alise> Also when I say an integer I mean n/1.
23:36:25 <alise> Obviously. Anything else would be ridiculous.
23:37:03 <oerjan> is 0 + x = x ?
23:37:19 <alise> Which 0 do you mean? 0/1?
23:37:27 <alise> 0/n>1?
23:37:32 <oerjan> hm
23:37:38 <alise> The 0/ns aren't really 0, though.
23:38:02 <alise> (0/n)*(n/0) = 1, whereas (0/1)*(1/0) = 1... er... okay.
23:38:08 <alise> But they aren't 0, so there.
23:38:13 <alise> They're some weird fractional 0.
23:38:19 <oerjan> x/y = x*(1/y) ?
23:38:22 <alise> 0 + x = x, sure.
23:38:31 <alise> oerjan: Yes; I've defined all this in terms of multiplicative inverse.
23:38:45 <alise> Also, no additive inverse. Too Complicated For My Poor Brain.
23:38:55 <alise> (You get 0 =/= -0 pretty easily)
23:38:56 <coppro> 0/0 = everything, obviously
23:39:07 <alise> 0/0 = 1, actually. Has to be in this system.
23:39:25 <alise> 1/(n/0) = 0/n, (0/n)*(n/0) = 1
23:39:36 <alise> so 1/(0/0) = 0/0, and (0/0)*(0/0) = 1
23:39:39 <alise> and 0*(0/0) = 0
23:39:43 <alise> so it's 1
23:39:50 <alise> coppro: remember, 0*x =/= 0 all the time in this
23:40:26 <oerjan> except for x = 1, i assume
23:40:46 <alise> (0/1)*(1/1) = 0, yes.
23:40:52 <alise> But (0/0)*(1/1) = no fucking clue.
23:41:02 <alise> er, wait
23:41:04 <alise> that's 1*1
23:41:13 <alise> (0/0)*(1/1) = (1/1)*(1/1) = 1/1
23:41:20 <alise> (0/2)*(1/1) = beats me
23:41:34 <oerjan> i've seen nothing so far to disprove that multiplication is an abelian group (with 1 as identity)
23:41:49 <alise> i ended up having multiple multiplicative or additive identities iirc at one point
23:41:53 <oerjan> which means the latter is 0/2
23:41:55 <alise> and broke stuff trying to fix that
23:42:10 <Gracenotes> oerjan: it's an abelian group on ℝ\{0}
23:42:18 <oerjan> Gracenotes: shut up :D
23:42:52 <alise> also this is based on the rationals not the reals just so i have convenient notation
23:43:02 <alise> and as soon as my brain sees 0/pi it freezes up
23:43:20 <oerjan> continued fractions, man
23:43:29 <alise> man, man
23:43:30 <Gracenotes> ℚ\{0} too
23:43:58 <alise> (1/0)/(((0/2)+(3/0))*(1/3))
23:44:01 <oerjan> that x/0 + y = (x+y)/0 looks weird, though
23:44:28 <Gracenotes> yeah, especially if you multiply by 0. oh wait
23:44:29 <alise> i'll repeat my derivation
23:45:11 <alise> (a/1)+(c/0)=(a0 + 1c)/(1*0)
23:45:19 <alise> (a/1)+(c/0)=(0 + c)/0
23:45:21 <alise> wait what?
23:46:11 <alise> ok only the denominator matters
23:46:19 <alise> (_/x)+(y/0) = (x*y)/0
23:46:30 <alise> no idea what +(0/n) does for n>1
23:46:41 <Sgeo__> Who pinged me?
23:46:45 <alise> me doesn't matter now
23:47:02 <alise> (a/b)+(0/d) = (ad + b0)/bd
23:47:07 <alise> (a/b)+(0/d) = ad/bd
23:47:15 * Sgeo__ is going to try tryruby again
23:47:23 <alise> it's down
23:47:25 <alise> why is gone
23:47:47 <oerjan> Sgeo__: it's a squatted domain afaict
23:47:54 <alise> so (1/2)+(0/3) = 3/6
23:48:00 <Sgeo__> Unless it's on a delayed disappearance scheme that triggered hours ago, it should be around
23:48:03 <alise> = 1/2
23:48:04 <Sgeo__> I was on it hours ago
23:48:09 <oerjan> huh?
23:48:14 <alise> Sgeo__: ? no you weren't
23:48:15 <Sgeo__> tryruby.org
23:48:18 <alise> tryruby died along with why
23:48:24 <alise> oh i see, a mirror
23:48:43 <alise> no
23:48:46 <alise> recreated from the ground up apparently
23:48:56 <alise> reusing the design strikes me as bad taste
23:49:00 <Sgeo__> With a strangely working backspace
23:49:05 <alise> ruby sucks anyway
23:49:17 <alise> oerjan: so I think x+(0/n) = x
23:49:29 <alise> for all n apart from 0, in which case it's x+(1/1)
23:49:45 <coppro> alise: that sounds correc
23:49:48 <coppro> *correct
23:49:48 <Sgeo__> Howso?
23:49:59 <oerjan> alise: hm that may mean i remembered correctly that someone from tryruby wanted to consolidate things with tryhaskell when the latter was announced
23:49:59 <alise> Of course, when I'm deriving all this I'm assuming the other party isn't a weird 0-fraction monster.
23:50:03 <alise> now go work out what (m/0)+(0/n) is
23:51:28 <coppro> alise: if m is not 0, it's undefined still
23:51:51 <alise> No undefined, coppro.
23:51:55 <alise> We don't accept undefined.
23:52:20 <coppro> Well you haven't defined m/0 where m != 0 yet
23:52:27 <alise> Yes, I have.
23:52:41 <alise> [23:29] alise: 0^-1 = 1/0
23:52:42 <alise> [23:29] alise: (1/0)*0 = 1
23:52:42 <alise> [23:29] alise: (n/0)^-1 = 1/(n/0) = 0/n
23:52:42 <alise> [23:29] alise: (0/n)*(n/0) = 1
23:52:52 <alise> m/0 is the fraction m/0. Rationals.
23:52:59 <coppro> none of those provides an actual definition though
23:53:02 <coppro> merely an identity
23:53:12 <alise> what is the definition of the rational 1/2?
23:53:21 <alise> things are their properties and relations
23:53:33 <coppro> if you accept m/0 as a number in and of itself
23:53:47 <alise> if you accept 1/2 as a number in and of itself
23:53:54 <coppro> 0.5
23:54:01 <alise> that's a decimal representation of the rational 1/2
23:54:04 <oerjan> he doesn't need to define stuff. just take the free algebra of his operations and quotient by whatever equations still hold
23:54:04 <coppro> then m/0 + 0/n is m/0 for non-zero n, and m/0 + 1 for n=0
23:54:05 <alise> you fail
23:54:05 <Sgeo__> alise, how does Ruby suck?
23:54:20 <alise> Sgeo__: "Let me count the ways. Uh, I've run out of tendrils."
23:54:40 <coppro> to alise, every language sucks in too many ways
23:54:44 <Sgeo__> I can count ways that the current tryruby sucks
23:55:39 -!- Asztal has joined.
23:55:57 <Sgeo__> 1) Wonky backspace. 2) Incorrectly interpreted a test as me completing the lesson
23:55:58 <alise> coppro: you do know what the rationals are right?
23:56:19 <coppro> alise: Yes.
23:56:36 <alise> then you accept 1/2 as a number in and of itself, as opposed to "evaluating to 0.5"
23:56:37 <oerjan> alise: is m*n the usual value for every nonzero integer m, n ?
23:56:51 <coppro> alise: I do.
23:56:51 <alise> similarly, n/0 for all n>0 and 0/n for all n>0.
23:56:59 <coppro> n/0 is not a rational
23:57:04 -!- Azstal has quit (Ping timeout: 265 seconds).
23:57:09 <alise> coppro: It's a weirdtional. I'm defining an extension of the rationals.
23:57:21 <alise> oerjan: Rephrase please?
23:57:22 <coppro> ok. In that case, I answered your question
23:57:25 <coppro> [16:53:40]<coppro>then m/0 + 0/n is m/0 for non-zero n, and m/0 + 1 for n=0
23:57:45 <oerjan> coppro: you are completely failing to understand the spirit of this thing. it may be a stupid thing but that is no reason for interpreting it even more stupidly than intended
23:57:51 <dev_squid> Guys.
23:58:15 <alise> of course it is stupid ;)
23:58:16 <alise> *:)
23:58:25 <oerjan> alise: is (m/1)*(n/1) = (mn/1) for m, n ordinary nonzero integers?
23:58:28 <dev_squid> I just made a cool program in Befunge. :)
23:58:28 <dev_squid> http://pastie.org/850853
23:58:40 <alise> oerjan: Yes, purely rational calculations are still rational.
23:58:42 <oerjan> where the mn multiplication is ordinary integer multiplication
23:58:53 <alise> Ones involving 0-fractions are surely irrational and insane to the highest degree.
23:58:54 <coppro> actually, I just realized something
23:59:03 <oerjan> alise: except multiplication by 0
23:59:17 <coppro> division of 0 cannot be considered to equal 0 in all cases
23:59:19 <alise> Only if you involve a 0-fraction
23:59:26 <alise> (0/1)*normal = 0/1
23:59:31 <alise> 0/2 too I think
23:59:34 <alise> except = 0/2
23:59:34 <coppro> you have to have separate zeroes for each 0/n
23:59:39 <alise> er wait has to be 0/1
23:59:48 <alise> no it doesn't
23:59:48 <alise> 0/2
23:59:50 <dev_squid> Who likes it?
←2010-03-01 2010-03-02 2010-03-03→ ↑2010 ↑all